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