Упрощенное преобразование Хафа основано на вычислении про-
екции значений яркости в каждом столбце бинаризованного и от-
фильтрованного изображений. Затем полученная проекция сглажи-
вается фильтром Гаусса, вычисляются локальные максимумы, чтобы
получить координаты строк, и далее корректируются до достижения
приемлемой точности подгонкой параболы локальных максимумов и
пары их ближайших соседей. Наконец, близкорасположенные линии
объединяются, чтобы исключить дублирование близкорасположенных
линий.
Следующим шагом является более точная подгонка линий с ис-
пользованием RANSAC. Вдоль каждой из линий, найденных на преды-
дущем шаге, выделяются ближайшие точки краев дороги с заданным
шагом, которые становятся входными данными алгоритма подгонки
линий до субпиксельной точности.
Пример работы алгоритма приведен на рис. 6.
Сегментация облака 3D точек.
Для выделения дорожного полот-
на в светолокационных данных облако 3D точек фильтруется, преобра-
зуется в плоскость горизонта и сегментируется. Алгоритмы обработки
3D облака во многом аналогичны алгоритмам сегментации изображе-
ния и являются их обобщением на трехмерное пространство.
Для фильтрации выбросов и предварительной обработки использу-
ется инструментарий библиотеки Point Cloud library (PCL) [6]. Выбро-
сы фильтруются с помощью метода pcl::removeNaNFromPointCloud( ).
Следующим этапом является преобразование координат в плоскость
горизонта абсолютно аналогично описанному ранее способу IPM.
Пример преобразованного облака точек изображен на рис. 7.
Параллельно с преобразованием координат применяется метод
pcl::extractEuclideanClusters( ) для кластеризации облака по значению
Рис. 6. Выделение границ дороги:
a
— исходное изображение;
б
— сегментированное изображение;
в
— выделенные и
подогнанные края дороги
ISSN 0236-3941. Вестник МГТУ им. Н.Э. Баумана. Сер. “Машиностроение”. 2012
155