Обнаружение дороги на основе преобразования Хафа - PullRequest
1 голос
/ 09 октября 2010

Можно ли обнаружить и отследить дорогу в автономном транспортном средстве с помощью Hough Transform?Если так, есть ли алгоритмы, которые уже реализуют это?Мне бы понравилась ссылка на нее, так как я не смог найти ни одной, которая бы не была у меня над головой.

В частности, я ищу алгоритмы, которые используют точку схода двух прямыхопределить курс автомобиля.Тем не менее, если есть другие более более простые алгоритмы, которые выполняют эту работу, я тоже хочу на них взглянуть.

Ответы [ 2 ]

4 голосов
/ 09 октября 2010

Да, вы могли бы сделать это, но это может не работать с желаемым качеством, если это все, что вы делаете. Задача не простая, нет «простого» алгоритма, который бы просто определял «дорогу» или «курс» на основе изображений. Кроме того, существуют реализации на нескольких языках, вот одна на C ++ .

Одна вещь, которую вы должны учитывать, это то, что дороги не всегда прямые, поэтому точка схода может быть на повороте дороги ...

Стэнфордские машины DARPA Grand Challenge и DARPA Urban Challenge использовали обнаружение на основе цвета для обнаружения управляемой поверхности (например, дороги), а затем использовали какой-то алгоритм обнаружения краев и формирования линий (неясно, был ли он основан на преобразовании Хафа) «прогнозная» оценка направления дороги. Я верю, что они использовали какую-то систему для обнаружения точки схода, и они определенно учитывали повороты на дороге.

Я полагаю, что вам действительно нужно обнаружить кромки дороги, превратить их в линии (не обязательно прямые), а затем найти точки схождения. Это предполагает, что может быть решен ряд других трудных задач: (1) ваши изображения имеют надлежащее качество; (2) вы можете обнаружить дорогу или как минимум ее края; (3) вы можете обрабатывать изображения достаточно быстро, чтобы не отставать от движения автомобиля.

Если все, что вы делаете, это анализирует существующее видео, я бы начал с очень простого подхода:

  1. Определение поверхности дороги в видео - это задача сегментации, найти все пиксели на изображении, которые являются дорогой; здесь будет полезно выделить три класса: дорога, не-дорога и небо.
  2. Найдите горизонт (это примерно то, где ваши классы дороги / не-дороги и неба встречаются
  3. Используйте простой детектор краев (скажем, детектор краев Собеля), чтобы различать грани между дорогой и бездорожьем
  4. Примените преобразование Хафа к краям Собеля, чтобы нарисовать "линии" для края дороги
  5. Найдите, где линии дороги встречаются на горизонте
1 голос
/ 02 октября 2011

Вы могли бы рассмотреть эту проблему в Графиках и гауссовых моделях смесей. Это может работать очень хорошо для вас. OpenCV имеет реализации для обоих этих алгоритмов. Вот пример применения этих двух алгоритмов для сегментации.

...