Я пишу приложение, которое может обнаруживать полосы движения в симуляторе вождения. Окружающая среда относительно проста, в основном это прямые многополосные дороги и почти нет искривления. В настоящее время я могу успешно обнаруживать линии, используя (классическое) преобразование Хафа, но проблема в том, что HT, естественно, также обнаруживает линии, которые не являются дорожками.
Как я могу быть более избирательным? Я уже не рисую горизонтальные линии, но все же некоторые линии закрадываются. В идеале я хотел бы определить границы полос движения, по которым движется транспортное средство. Ниже приведено типичное изображение окружающей среды
Вот что я делаю до сих пор:
Причина пороговой визуализации заключается в следующем. Если вы посмотрите на фотографию окружения, связанную выше, вы увидите сероватую линию, проходящую параллельно дороге. Поскольку это непрерывная линия - в отличие от маркеров полосы движения - HT в конечном итоге обнаруживает ее. Я не могу исключить его на основе градиента, поскольку он имеет тот же градиент, что и маркеры полосы движения. С помощью порогового значения я могу удалить это и, следовательно, обнаруживать только те строки, которые являются фактическими маркерами линии.
Вот результат вышеуказанных операций
Я понимаю, что есть много решений этой проблемы, и я прочитал бесчисленные статьи по этому вопросу, но все они, кажется, имеют дело со средами, намного более сложными, чем это, и / или просто находятся над моей головой. Что бы это ни стоило, чуть более месяца назад, у меня не было опыта работы с ComputerVision, поэтому все это очень для меня ново.
ОБНОВЛЕНИЕ 1:
Полагаю, лучше сказать, я ищу способ моделирования линий, чтобы не включались линии, которые не соответствуют модели. К сожалению, я понятия не имею, с чего начать с моделей. Есть предложения?
Для чего это стоило, мне удалось идентифицировать полосы, по которым движется транспортное средство, и могу исключить дополнительные линии, которые, так сказать, не являются частью "активной" полосы. Надеюсь, это фото поможет
Это не идеально, но это что-то, я думаю. Моя конечная цель после моделирования - создать курс / положение транспортного средства. Но сначала я хочу получить относительно надежное обнаружение полосы. Я надеюсь, что есть относительно простой метод, который может помочь достичь этого (что не зависит от параметров системы, таких как фокусное расстояние поля зрения).