Я работаю над проектом автономного транспортного средства. Я хочу определить угол поворота автомобиля на трассе. Но для этого конкретного сценария нет никаких линий полосы движения или какой-либо границы полосы движения, только сам асфальт. Я предполагаю, что окружение не будет содержать цвета, достаточно близкие к цвету асфальта.
(Предположим, что в середине нет белой линии, все, что я вижу, если асфальт)
Процесс выполняется в режиме реального времени (на Raspberry Pi), и кадры снимаются с помощью камеры.
Для этой проблемы я предложил конвейер следующим образом (OpenCV 4.0 с C ++):
- Denoise -> BGR2HSV -> HSV Filter -> Обнаружение Canny Edge -> Crop to ROI -> Hough Line Detection -> Технологические линии
Этот трубопровод четко показывает мне, как должна двигаться машина, чтобы оставаться в середине полосы с односторонним движением. Я могу фильтровать асфальтовую секцию с помощью HSV. Проблема в том, что на полосе есть препятствия. Там могут быть коробки, размещенные на стороне или в середине переулка. В этом случае фильтр HSV создает большой черный ящик на полосе движения. Несмотря на то, что обнаружение линий преобразует края поля в ложные линии дорожек. В конечном итоге это приводит к неправильному прогнозированию рулевого управления. На самом деле, я разработал алгоритм для решения этой проблемы, наблюдая наклоны неровных линий, однако он не всегда стабилен.
(красная коробка на боковой полосе движения)
Моя точка зрения: не могли бы вы предложить какие-либо улучшения в этом процессе, чтобы устранить возможные препятствия при фильтрации изображений? Препятствия на полосе движения приводят к появлению фальшивых линий и влияют на выбор руля. Я думал, что улучшение заключается в том, что обнаружение индексов максимального количества белых пикселей слева и справа от изображения (в области интереса), а затем установка каждого пикселя между белыми. Это сметает препятствия, которые находятся в середине дороги (транспортное средство может попасть в препятствие), но в любом случае оставляет их в стороне от полосы движения. Но если дорога изгибается, это не будет практично, потому что улучшение приведет к потере данных об изгибе на изображении.
(источник изображения: https://www.masterbuilder.co.in/wp-content/uploads/2018/03/Rs-46000-cr-initiative-taken-for-new-express-highways-elevated-roads-Govt.png)
EDIT:
Когда я использую ConvexHull , как в документации OpenCV , я получаю следующий неожиданный результат.