Гибридный метод обнаружения препятствий и краев дорожного полотна для мультимодальной бортовой системы технического зрения

Автор: Матыкина О.В., Ветошкин Л.Н., Юдин Д.А.

Журнал: Труды Московского физико-технического института @trudy-mipt

Рубрика: Информатика и управление

Статья в выпуске: 3 (67) т.17, 2025 года.

Бесплатный доступ

Обнаружение препятствий движению транспортного средства и краев дорожного полотна важно как для систем помощи водителю, так и для беспилотных автомобилей и интеллектуальных роботов. Существующие решения ориентированы преимущественно на движение по асфальтированным дорогам в городских условиях и работают нестабильно при неблагоприятной погоде и на пересеченной местности. В статье предлагается гибридный метод, объединяющий в себе нейросетевые алгоритмы сегментации дорожного полотна и положительных (камни, машины) и отрицательных (ямы, лужи) препятствий и эвристический алгоритм распознания правого и левого краев дороги с использованием двух модальностей: цветного изображения и карты глубины. Для оценки эффективности алгоритмов собран и размечен набор данных целевого домена, включающий три локации с разнообразными погодными и световыми условиями. Показано, что комплексирование карт глубин и изображений в предлагаемом методе позволяет оценивать расстояние до препятствий и краев дороги. Продемонстрировано, что разработанные алгоритмы могут функционировать с частотой выше 12 фреймов в секунду, что свидетельствует об их применимости в бортовых системах технического зрения.

Еще

Обнаружение препятствий, дефекты дорожного покрытия, края дороги, бездорожье, система помощи водителю, RGB-D-данные

Короткий адрес: https://sciup.org/142245837

IDR: 142245837   |   УДК: 004.93’1

Текст научной статьи Гибридный метод обнаружения препятствий и краев дорожного полотна для мультимодальной бортовой системы технического зрения

Задача обнаружения препятствий, дефектов и краев дорожного полотна является актуальной в контексте разработки системы помощи водителю. Особенно важно наличие такой системы в сложных погоднвж и производственных условиях, когда водитель устал, облака пыли или снегопад мешают обзору. Эта задача особенно критична для водителей тяжелых карьерных грузовиков, работающих в условиях бездорожья, где риск наезда на опасное препятствие крайне высок. Одной из ключевых задач в этом контексте является надежное определение границ проезжей части, поскольку знание положения краев дороги необходимо для удержания автомобиля в пределах безопасной траектории и предотвращения съезда. Кроме того, система должна уметь обнаруживать как положительные препятствия — объекты, расположенные выше поверхности дороги (например, камни), так и отрицательные препятствия — объекты ниже уровня дороги (например, ямы, трещины), что критично для оценки проходимости маршрута [1,2]. Требования, предъявляемые к таким решениям, включают в себя высокую точность обнаружения и скорость работы на уровне реального времени. В данной работе предложен гибридный метод для обнаружения препятствий и краев дорожного полотна, который сочетает нейросетевые алгоритмы сегментации и эвристические подходы и работает с данными двух модальностей: RGB-изображения (в цветовой модели Red-Green-Blue) и карты глубины.

  • 2.    Анализ предметной области

    2.1.    Существующие наборы данных для сегментации и распознавания объектов на дорогах

  • 2.2.    Методы сегментации сцены
  • 3.    Разработка метода обнаружения препятствий и краев дороги

    3.1.    Постановка задачи

В процессе решения задач сегментации и распознавания объектов на дорогах в условиях различной проходимости ключевую роль играют тщательно подобранные и разнообразные датасеты. Существует ряд актуальных датасетов, которые варьируются по степени соответствия требованиям поставленной задачи. Датасет Freiburg Forest [3] содержит обширную разметку неструктурированной лесной среды, однако он не включает проезжую часть и препятствия на тропинке, что делает его мало применимым для решения поставленной задачи. Набор данных NPO [4] содержит разметку положительных и отрицательных препятствий, но не содержит разметки дороги, а предобученные на широко известных наборах данных [5,6] модели [7,8] не справились с разметкой дороги в сложных (заснеженных) сценах. В RUGD [9], несмотря на наличие видеопоследовательностей с движущегося робота и широкое разнообразие типов местности, существует значительная разница между возможностями проезда малых роботов и тяжелой техники, что делает существующую разметку малопригодной. Аналогичная проблема наблюдается и в мультимодальном датасете RELLIS-3D [10], который включает изображения и LiDAR-данные с аннотированной семантикой. Однако, как и в RUGD [9], существующая разметка не учитывает различия в проходимости для малогабаритных роботов и тяжелой техники, что требует дополнительной разметки участков, пригодных для движения грузовиков. В отличие от предыдущих датасетов, YCOR [11] предоставляет разметку, напрямую ориентированную на проходимость: проезжая часть подразделяется на такие области, как неровная тропа, гладкая тропа, проходимая трава, высокая растительность и непроходимая низкая растительность. Такая детализация позволяет адаптировать датасет под различные типы транспорта, гибко агрегируя классы в целевые категории в соответствии с конкретными требованиями задачи. Набор ORFD [12] охватывает различные погодные условия и условия освещенности, но не содержит размеченных препятствий на дороге. Интерес представляет RoadObstacle21 [13], фокусирующийся на аномалиях в пределах проезжей части. Несмотря на то, что дороги в нем асфальтированные, этот датасет может быть использован при решении подобной задачи в будущем. Специализированные датасеты, такие как INSTSnowRoadDetection [14] и Soil [15,16] были включены в работу благодаря их прикладной значимости. INSTSnowRoadDetection [14] охватывает редкий и практически важный домен заснеженных дорог, предоставляя маски проезжей части без присутствия неразмеченнвж препятствий, что позволяет уверенно использовать его в условиях зимнего бездорожья. Датасет Soil [15,16] содержит аннотации земляных и песчаных насыпей, а изображения с участками дорог были вручную доразмечены, поскольку играют ключевую роль в обеспечении корректной работы системы в карьере. Набор данных PotholeMix [17], собранный для сегментации трещин и выбоин на дорожном покрытии, содержит в основном мелкие дефекты, которые не представляют существенной преграды для тяжелой техники.

На фоне разнообразия наборов данных методологии решения задач сегментации также эволюционируют. Среди классических подходов популярны сверточные нейронные сети [18,19] и архитектуры семейства YOLO [20,21], широко используемые в задачах обнаружения дефектов дорожного покрытия. Специализированные модели, такие как InconSeg [4], вводят модули, учитывающие глубину сцены для более точного обнаружения препятствий. В свою очередь, TokenFusion [22] предлагает трансформерную архитектуру для эффективного объединения RGB-изображения и глубинной информации с помощью механизма замены неинформативных токенов на межмодальные признаки.

Современные подходы базируются на универсальных архитектурах трансформеров, таких как Mask2Former [8], позволяющих решать задачи паноптической, инстанс- и семантической сегментации с помощью модулей маскированного внимания. Эта модель легла в основу более комплексных решений, таких как ОпеРеасе [23], BEIT-3 [24] и EVA [25]. Универсальность архитектуры OneFormer [7], в свою очередь, позволяет единожды обучить модель на общем наборе данных и использовать ее в различных подзадачах сегментации, повышая адаптивность и обобщающую способность.

Отдельное направление составляют методы выделения границ проезжей части, однако такие подходы встречаются значительно реже, чем решения, направленные на сегментацию всей дороги. В большинстве случаев границы дороги извлекаются постфактум из маски сегментации, полученной универсальными моделями. Примером прямого подхода является работа [26], где предложена модификация DeepLabv3 [27] с Atrous Spatial Pyramid Pooling (ASPP) для сегментации видимых и частично скрытых границ дороги. Модель обучалась с акцентом на устойчивость к сложной геометрии сцены и переменным условиям съемки. В настоящей работе мы придерживаемся традиционного подхода: сначала выполняем сегментацию дороги, после чего извлекаем границы по результирующей маске.

На вход методу подаются D = { d i, d 2,..., djtf} — трехмерная сцена с облаком точек, полученным из карты глубины Depth, где каждая точка dj имеет ко ординаты (xj ,yj ,Zj ), ii I = { i i, i 2,..., i M} изображение' размерностью M = Wi x Hi.

В общем виде алгоритм сводится к получению масок объектов, масок краев дороги и оценке расстояний до них по следующей формуле:

(Mobs, Medge, Distobs, Distedge) = A(I, D), где Mobs — маски препятствий, Medge — маски краев дороги, Distobs ^ расстояния до препятствий, Distedge - расстояния до краев дороги, A — гибридный алгоритм распознавания. I — изображения. D — карты глубин.

3.2.    Предложенный подход

Схема на рис. 1 иллюстрирует гибридный метод обнаружения краев дороги и препятствий на ней на основе комплексирования сенсорных данных. Изображения поступают в нейросетевой компонент метода, состоящий из двух моделей сегментации. Затем с помощвго эвристических алгоритмов полученные маски сегментации обрабатываются и дополняются оценкой расстояния до препятствий и краев дороги. В резулвтате работы метода формируются маски объектов и краев дороги, а также расстояния до них.

Рис. 1. Схема метода распознавания па основе комплексировапия сенсорных данных

Модуль сегментации RGB-изображений

Модуль сегментации использует изображения I и карты глубины D для получения масок дороги M road II прспгTTCTBIlii M obs.

В качестве основной модели семантической сегментации используется Mask2Former [8], демонстрирующая высокую точность при работе с разнообразными типами поверхностей и мелкими объектами. Эта архитектура отличается универсальностью — она успешно применяется как для семантической, так и для инстанс-сегментации и паноптической сегментации. Благодаря трансформерной архитектуре Mask2Former обеспечивает качественную сегментацию как крупных, так и мелких структур. Это особенно важно в задачах детектирования ландшафтных дефектов и мелких объектов (ям, трещин), а также точного выделения области дороги.

Мы используем Mask2Former в режиме семантической сегментации и выделяем следующие классы объектов:

  • •    отрицательные препятствия (ямы, трещины);

  • •    дорожное покрытие любых типов (грунт, асфальт);

  • •    положительные препятствия (отвалы земли, заборы, здания и временные конструкции).

Дополнительно применяется модель YOLOvll-seg [28], реализующая инстанс-сегментацию с акцентом на объекты, критичные для оценки ситуации на дороге: автомобили, пешеходы, животные. Эта модель выбрана за счет высокой скорости работы и качественного предсказания с использованием предобученных весов. YOLOvll-seg эффективно решает задачу обнаружения подвижных и потенциально опасных объектов, дополняя Mask2Former, которая ориентирована на структурные элементы сцены.

Таким образом, совмещение моделей Mask2Former и YOLOvll-seg позволяет объединить преимущества точной сегментации ландшафта и быстрых предсказаний для подвижных объектов, что повышает надежность метода в условиях реальной дорожной среды.

Алгоритм оценки расстояний до препятствий

В рамках алгоритма постобработки масок препятствий и оценки расстояний до них, маски препятствий Mobs, полученные с помощью SegModule, обрабатываются с использовани- ем алгоритма ObstacleDist. Этот алгоритм позволяет сформировать геометрически непрерывные маски препятствий и оценить расстояния до них по карте глубины D. Алгоритм включает следующие шаги:

  • 1)    Для каждого типа препятствий (положительные, отрицательные) из семантической маски от Mask2Former выделяются непрерывные полигоны, соответствующие отдельным препятствиям.

  • 2)    Маски, полученные от модели инстанс-сегментации YOLOvll-seg, уже являются непрерывными полигонами, поэтому они просто добавляются в массив масок без постобработки.

  • 3)    Полученные на предыдущих шагах полигоны сопоставляются с картой глубины D. Расстояние до препятствия оценивается по формуле:

Distobsi = min(D П Mobsi), где П понимается как поэлементное произведение матрицы глубины и бинарной маски препятствия, в которой нули заменены на большое число (например, 50 000).

  • 4)    Результаты сохраняются в виде множества пар «маска препятствия — расстояние», которые далее используются для отображения.

Модуль определения краев дороги и оценки расстояний до них

На рисунке 2 показана схема предлагаемого подхода распознавания краев дороги и оценки расстояний до них. К изображениям I и картам глубины D, а также к результатам сегментации маски дороги Mroad от обучаемой нейросетевой модели, последовательно применяются два разработанных алгоритма, объединенных в составной модуль RoadEdgeDist.

Рис. 2. Схема модуля RoadEdgeDist для определения краев дороги и расстояния до них

Алгоритм определения левого и правого края дороги с учетом препятствий (Algorithm 1) извлекает координаты краев дороги из бинарной маски сегментации M road, анализируя изображение построчно. Для каждой строки определяются крайние левые и правые пиксели, принадлежащие к дорожной области. Чтобы исключить помехи от объектов, используется информация из положительных и отрицательных масок препятствий M obj. которые предварительно расширяются (операция dilate). Точки, пересекающиеся с расширенными масками, исключаются из результата, что позволяет сформировать очищенные множества координат левого и правого краев дороги.

Алгоритм вычисления расстояния до краев дороги (Algorithm 2) отвечает за определение расстояний Dist edge от передних колес транспортного средства до краев проезжей части. Трехмерные координаты точек краев дороги определяются с помощью камеры глубины, которая позволяет получить пространственную информацию о сцене. Расстояние до края определяется как минимальное евклидово расстояние между точками соответствующего края и координатами колеса. Метод учитывает пространственное положение камеры относительно колес и позволяет точно измерять расстояние до краев дороги.

Алгоритм 2 Алгоритм определения левого и правого края дороги с учетом препятствий

Require: М — бинарная маска дороги (Н, W), Ppos маска препятствий (над дорогой), Рпед — маска препятствий (под дорогой), kernel — ядро для операции dilate

Ensure: L — множество точек левого края, R — множество точек правого края

  • 1:    Ppos cv2.dilate(Ppos, kernel)                              > Расширяем positive маску

  • 2:    Рпед cv2.dilate(Pneg, kernel)                            > Расширяем negative маску

  • 3:    Н — высота маски М

  • 1:    W — ширина, маски М

  • 5:    cutof f — 0.1 • Н                                 > Игнорируем нижние 10% маски

  • 6:    L — 0, R — 0                              > Инициализация множеств для краев

  • 7:    for у — 1 до ( Н cutoff ) do

  • 8:     row | М[у,х] = 1}                   > Найдем все пиксели дороги в строке у

  • 9:     if |row| > 0 then

  • 10:        Xieft — min(row)                                    > Левый край в строке у

  • 11:        xright — max(row)                                  > Правый край в строке у

  • > Проверка препятствий для левого края
  • 12:          if Ppos[y, xleft) 0 И рПед [y,xleft] 0 then

IT            L — L R{(xleft,y)}

  • 14:         end if

> Проверка препятствий для правого края

  • 15:          if Ppos\y, х right] 0 И Pneg [y,Xright] 0 then

11>:             R — R R {(xright, y)}

  • 17:         end if

  • 18:     end if

    • 19:    end for

    • 20:    return L. R


  • 4.    Разработка набора данных

    4.1.    Сбор данных

    Для обучения и валидации моделей машинного зрения был собран обширный набор данных в целевых средах. Сбор проводился в разных регионах России в рамках натурных испытаний в городах Долгопрудный, Чехов и Алдан. В результате было собрано около 2 ТБ данных, включающих изображения в разрешении 1280x720 пикселей, снятые в различных погодных и ландшафтных условиях. На рисунке 3 представлены примеры из различных частей собранного набора данных.

> Координаты левого и правого краев дороги, очищенные от точек, пересекающихся с препятствиями

Алгоритм 3 Алгоритм вычисления расстояния до краев дороги

Require: L —    {(xLi ,yLi ,ZLi )}  — координаты точек левого края дороги,

R {(xRi,yRi,ZRi )} — координаты тонок правого края дороги. C l (xcL,ycL, z C l) — координаты левого переднего колеса относительно систем координат камеры, C r (xcR,ycR, z Cr) — координаты правого переднего колеса относительно систем координат камеры

Ensure: dL — минимальное расстояние до левого края, dR — минимальное расстояние до правого края

VegaDolgoprudny

VegaChekhov

VegaSeligdar

Рис. 3. Примеры изображений из собранного набора данных

Первый поднабор, VegaDolgoprudny, был сформирован в ходе поездок по бездорожью. Целью этого этапа являлось фиксирование дефектов дорожного покрытия, таких как ямы и лужи, для последующего использования данных в задаче оценки состояния дорог. Сбор данных велся в условиях пересеченной местности, что позволило зафиксировать большое разнообразие дорожных дефектов и окружающих объектов.

Второй поднабор, VegaChekhov, был собран на территории завода и прилегающих территориях в городе Чехове. Здесь внимание уделялось наличию специфичных препятствий целевого домена, включая кучи земли, строительные конструкции, заборы и специализированную технику.

Третий поднабор, VegaSeligdar, был собран в зимний период на карьере в городе Алдан (Республика Саха). Основной задачей являлся сбор данных в заснеженной среде и при низких температурах для имитации условий эксплуатации в северных регионах. Данные охватывают как дневные, так и ночные сцены, включая движение техники по карьерным дорогам, обнаружение людей в зоне работ и фиксацию различных типов препятствий.

Благодаря охвату различных типов местности и погодных условий собранный набор данных обеспечивает широкую вариативность сценариев и пригоден для обучения моделей в задачах обнаружения объектов и краев дороги в реальных условиях эксплуатации.

4.2.    Объединение и доразметка наборов данных

В ходе работы для обучения и количественной оценки качества алгоритмов распознавания разработан набор данных VegaFullVl.O, подробное описание структуры которого приведено в табл. 1.

Т а б л и ц а 1

Распределение данных между обучением и валидацией объединенного набора данных VegaFullVl.O

Набор данных

Обучение

Валидация

Общее количество

YCOR [11]

600

151

751

Soil [15,16]

84

14

98

INSTSnowRoadDetection [14]

225

15

240

VegaDolgoprudny

51

19

70

VegaChekhov

97

20

77

VegaSeligdar

81

20

101

Total

1118

239

1357

Рис. 4. Примеры размеченных изображений из открытых и собранных датасетов

Собранные во время натурных экспериментов изображения были размечены с помощью инструмента CVAT [29]. При разметке были выделены три категории:

  • 1)    negative: ямы, лужи;

  • 2)    positive: столбы, заборы, дома, отвалы земли, сугробы снега.

  • 3)    road: дорога.

  • 5.    Результаты

    5.1.    Результаты экспериментов на собранных наборах данных

На рисунке 4 приведены примеры размеченных изображений из открытых и собранных датасетов.

Поскольку определение краев дороги основано на маске дороги, итоговая точность напрямую зависит от ее качества. В таблице 2 приведены результаты оценки семантической сегментации для обучающей выборки, а также для отдельных частей обучающего датасе-та. Метрики по негативным категориям (IoU negative) для VegaSeligdar (ночь и день) не указаны, так как в разметке данного набора данных отсутствуют дефекты дороги, расположенные ниже уровня ее поверхности. Это обусловлено условиями среды в Якутии, где дороги в рассматриваемый период покрыты снегом и льдом, что исключает возможность появления таких дефектов. На валидационной выборке метрика качества mloU ниже достигает 73.47%, fwIoU достигает 92%. Ее улучшение возможно через итеративное расширение и доразметку обучающей выборки.

Таблица2

Результаты оценки качества сегментации SegModule (Mask2Former) дефектов дорожного полотна, положительных препятствий и дороги в различных условиях

Датасет

mloU

fwIoU

loU road

loU negative

loU positive

Условия

VegaFull V1.0-train

94.30

96.82

95.92

88.59

95.17

осень/зима, день/ночь

VegaSeligdar (night)

93.14

95.14

93.06

-

89.38

зима, снег, ночь

VegaSeligdar (day)

96.43

97.90

97.88

-

92.87

зима, снег, день

VegaChekhov

95.85

97.69

97.45

94.39

92.80

осень, асфальт, день

VegaDolgoprudny

89.12

98.27

96.25

69.34

93.96

осень, бездорожье, день

Рис. 5. Результат работы обученной модели Mask2Former на валидационной выборке

Рис. 6. Результат обнаружения препятствий моделями сегментации

Рис. 7. Результат определения краев дороги

На рисунке 5 приведены примеры работы обученной модели Mask2Former на валидационной выборке из собранных датасетов.

На рисунке б приведены примеры обнаружения препятствий обученной на собранном датасете моделью Mask2Former и предобученной на датасете СОСО [30] моделью YOLOvll-seg. На рисунке 7 приведены примеры работы алгоритма определения краев дороги.

5.2.    Результаты тестирования алгоритмов распознавания препятствий и определения краев дороги в бортовой системе

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

Т а б л и ц а 3

Замеры быстродействия компонентов системы

Алгоритм

Оборудование

Время, мс

SegModule (Mask2Former)

NVIDIA RTX 4070

48

SegModule (YOLOvll-seg)

NVIDIA RTX 4070

11

ObstacleDist

Intel Core i7-13700HX

15

RoadEdgeDist

Intel Core i7-13700HX

20

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

6.    Благодарности

Работа выполнена при поддержке ООО «Вега-ГАЗ». Отдельную благодарность выражаем Климову И. А., Панову А. И., Спицыну Н.А. и Павлюченкову Д. М. за помощь в организации и проведении натурных экспериментов и сбора данных. Также выражаем благодарность сотрудникам Центра научного программирования ФПМИ МФТИ за помощь в подготовке оборудования для проведения выездных испытаний.