paint-brush
Лидарная аннотация — это все, что вам нужноby@skprot
771
771

Лидарная аннотация — это все, что вам нужно

Sayan Protasov6m2024/04/27
Read on Terminal Reader

Объединение облака точек и данных изображения для точной сегментации дорожного покрытия на изображениях с камеры.
featured image - Лидарная аннотация — это все, что вам нужно
Sayan Protasov HackerNoon profile picture
0-item
1-item


Сегментация изображения играет решающую роль в точной идентификации и определении границ интересующих объектов на изображении. В автономном вождении для решения задачи сегментации дорожного покрытия применяются алгоритмы компьютерного зрения. Эта задача сложна, поскольку нельзя полагаться только на один тип изображений — и камеры, и лидары имеют свои сильные и слабые стороны. Например, LiDAR предоставляют точную информацию о глубине, но обычно они генерируют разреженные облака точек, поэтому не могут точно сегментировать объекты внутри сцены. И они могут создавать искаженные облака, когда сталкиваются с прозрачными или отражающими поверхностями. Камеры не фиксируют глубину, но предоставляют полную информацию о форме, текстуре и цвете объектов. Это приводит нас к простой идее, что эффективное объединение облаков точек и изображений при обучении сегментации 2D-дорог может использовать преимущества каждой области данных. Проблема в том, что такое объединение требует трудоемкой аннотации обоих наборов данных. Итак, можем ли мы сделать аннотацию данных более эффективной, чтобы воспользоваться преимуществами мультисенсорной установки для сегментации дорог?


В настоящее время я работаю в Эвокарго . Эта компания предоставляет услуги грузоперевозок и производит собственные автономные электромобили. Как инженер глубокого обучения, я специализируюсь на разработке 3D-систем обнаружения для автопилота беспилотных транспортных средств. Поэтому в Evocargo мы решили найти способ повысить эффективность сегментации дорожного покрытия, который позволил бы сохранить высокое качество прогнозирования и снизить затраты на аннотации. После некоторого времени исследований и экспериментов мы с коллегами создали подход, который эффективно использует лидарные аннотации для обучения моделей сегментации изображений непосредственно на изображениях RGB . Таким образом, лидарные точки, проецируемые на изображение и используемые при дальнейшем обучении в качестве наземных масок истинности, обеспечивают сопоставимое качество сегментации изображения и позволяют обучать модели без стандартных аннотированных 2D-масок.



В этом посте я шаг за шагом опишу наш подход и покажу некоторые результаты тестов. Если вы хотите глубже погрузиться в нашу работу, исследования других методов и результаты наших испытаний, обратитесь к нашей статье. «Лидарная аннотация — это все, что вам нужно» в журнале IEEE Access. Эта статья поддерживается опубликованным репозиторием GitHub с реализацией метода, обработанными наборами данных и базой кода для будущих исследований. Если вы считаете нашу работу полезной для вашего исследования, поставьте ей звездочку ⭐ и процитируйте статью.


Обучение моделей сегментации в 4 шага

Общий конвейер нашего подхода состоит из четырех основных частей: аннотации дорог в виде облака точек, подготовка данных, маскированные потери и сама модель сегментации.


Общая схема нашего подхода


Во-первых, мы получаем данные с дорожными аннотациями в области облака точек. После этого мы проецируем точки, используя однородные преобразования и параметры камеры. Затем, используя проецируемые точки, мы получаем маску истинности дорожного покрытия для расчета потерь с добавленным случайным шумом. Изображения с камеры обрабатываются моделью сегментации. Прогнозы и маски из предыдущего шага используются в маскированной потере, что позволяет обучать модель, используя разреженные наземные данные. Наконец, после обучения модели мы получаем изображение с сегментированной дорогой. Процедура обучения, а также маскированные потери позволяют смешивать прогнозируемые наземные данные с традиционными 2D-масками, что делает подход гибким с точки зрения данных.


Теперь давайте внимательно рассмотрим каждую из частей.


1 Аннотация к данным облака точек


Чтобы использовать данные лидара во время обучения, нам нужны аннотации семантической сегментации для облаков точек. Это можно сделать либо вручную, используя инструмент аннотации облака точек с открытым исходным кодом, например Редактор семантической сегментации , или используя некоторые алгоритмические подходы. Один из таких подходов к обнаружению дорожного покрытия мой коллега описал в своем пошаговом руководстве.Как аннотировать 100 лидарных сканирований за 1 час . Алгоритмический подход, особенно для дорожных аннотаций, мог бы вообще обойтись без ручных аннотаций, но требует тонкой настройки для конкретных данных. В Evocargo мы используем оба подхода. Для простых участков дорога аннотируется алгоритмически, а для сложных участков – вручную.


2 Подготовка данных


Полученное облако точек проецируется на плоскость изображения с помощью однородных преобразований, чтобы получить маску сегментации изображения с необходимой нам меткой класса, в нашем случае это дорога. Для такой проекции мы используем синхронизированные кадры камеры и лидара, сопровождаемые параметрами камеры, а также матрицу преобразования лидара в кадр камеры. Чтобы спроецировать однородную точку x = (x, y, z, 1)ᵀ в координатах кадра лидара в точку y = (u, v, 1)ᵀ на плоскости изображения, мы используем уравнение:


После преобразования мы получаем точки на изображении в виде маски пикселей, как для класса дороги, так и для всех остальных точек лидарного сканирования. Нам нужны другие точки лидарного сканирования, поскольку точки лидара в основном расположены внизу изображения, а верхняя часть изображения вообще не имеет точек, что потенциально может привести к неточным прогнозам в этой области. Чтобы устранить этот эффект, мы добавляем случайные точки в верхнюю половину маски (отрицательный класс), чтобы сбалансировать распределение точек, по которым мы будем рассчитывать потери.


Прогнозируемые точки дороги и маска расчета потерь


3 Маскированная потеря


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

Ставни в очках, вид на улицу


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

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


4 Обучение модели


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


Многообещающие результаты испытаний

Мы протестировали наш подход на различных наборах данных, включая наборы с открытым исходным кодом, такие как открытый набор данных Perception Waymo и набор данных KITTI-360. Каждый раз мы проводили серию из трех экспериментов: используя только 2D-наземные данные, только проецируемые точки в качестве наземных данных и смесь этих типов наземных данных. Результаты сегментации дорог (% от IoU) выглядят многообещающе:


Эксперимент

Обучение на наборе данных KITTI-360.

Обучение на наборе данных Waymo

Только 2D (базовый уровень)

92,3

96,1

Только проецируемое 3D

89,6

94,7

сочетание 2D + проецируемого 3D

92,7

96,3


Эти цифры означают, что если у вас есть только лидарная сегментация и вы не хотите тратить дополнительные ресурсы на аннотации 2D-изображений, все в порядке. Падение качества по сравнению с обучением только на масках 2D-изображений может быть незначительным. Если у вас есть ресурсы для аннотирования данных с обоих датчиков, то просто объедините эти два типа аннотаций в процессе обучения и получите прирост показателей.


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


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


Точная сегментация дороги с препятствиями разного размера и другими транспортными средствами. Эти результаты получены на основе модели, обученной на собственных данных.


Авторы подхода