Окрашивание разреженного 2D-изображения LIDAR в изображение с высокой глубиной - PullRequest
1 голос
/ 05 июня 2019

Я работаю над проблемой классификации (классификация объектов для автономного транспортного средства). Я использую набор данных из KITTI, который предоставляет данные Лидара и камеры, и хочу использовать обе эти данные для выполнения задачи.

Данные 3D LIDAR проецируются на систему координат изображения RGB, что приводит к разреженному изображению LIDAR:

sparse

original_image

Каждый пиксель кодируется с использованием глубины (расстояние до точки: sqrt (X² + Y²), масштабирование от 0 до 255).

Чтобы получить лучшие результаты для моего CNN, мне нужно плотное лидарное изображение, кто-нибудь знает, как это сделать с помощью python?

Я бы хотел получить что-то вроде этого

goal

Заранее спасибо

1 Ответ

1 голос
/ 07 июня 2019

Раньше я никогда не работал с данными облака точек / LIDAR, но, поскольку никто еще не ответил, я сделаю это наилучшим образом.Я не уверен насчет подходов к окраске, хотя я думаю, что они могут работать не очень хорошо (за исключением, может быть, вариационного метода, который, я полагаю, будет довольно медленным).Но если ваша цель состоит в том, чтобы проецировать показания 3D LIDAR (когда они сопровождаются кольцевыми идентификаторами и показаниями интенсивности лазера) в плотную 2D матрицу (для использования в CNN), следующий справочник может оказаться полезным.Кроме того, в этой статье они ссылаются на предыдущую работу ( Сегменты воротниковой линии для быстрой оценки одометрии из облаков точек Велодина ), которая более подробно описывает метод полярного биннинга, и имеет код C ++ .Ознакомьтесь с документами, но я постараюсь обобщить метод здесь:

Кодирование разреженных 3D-данных с помощью полярного биннинга

CNN для очень быстрой сегментации грунта в велодинных данных LiDAR - Описывает свою методику предварительной обработки в разделе III.A ( Кодирование разреженных 3D-данных в плотную 2D-матрицу ).enter image description here

  • 1) Пусть P представляет ваше исходное облако точек, а M - многоканальную плотную матрицу, которую вы надеетесь вывести.Размер M зависит от количества лазерных лучей, используемых при сканировании, и горизонтального углового разрешения сканера.
  • 2) Объедините данные облака точек в полярные бины b (r, c), где r представляетидентификатор кольца и c = floor ((R * atan (x / z) + 180) / 360).
  • 3) Используйте следующее отображение для сопоставления бина b (r, c) с соответствующим значением вматрица M, m (r, c), где p ^ i - показание интенсивности лазера:

enter image description here

  • 4)В случае пустых контейнеров линейно интерполируйте значение m (r, c) из его окрестности.

Улучшение производительности разреженного отображения

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

Обнаружение транспортных средств с помощью 3D-лидара с использованием полностью сверточной сети - Описывает методику предварительной обработки в разделе III.A ( Подготовка данных ).

Кодирование данных диапазона в виде 2-канального изображения

  • 1) Инициализация 2-канальной матрицы I;Заполните нулями
  • 2) Учитывая координаты (x, y, z), пусть theta = atan2 (y, x) и пусть phi = arcsin (z / sqrt (x ^ 2 + y ^ 2 + z ^)2))
  • 3) Пусть delta_theta, delta_phi равны среднему горизонтальному и вертикальному разрешению между последовательными излучателями луча соответственно.
  • 4) Пусть r = floor (theta / delta_theta);Пусть c = floor (phi / delta_phi)
  • 5) Пусть d = sqrt (x ^ 2 + y ^ 2)
  • 6) Пусть I (r, c) = (d, z);если две точки проецируются в одну и ту же позицию (редко), держите одну ближе к наблюдателю

Неравная выборка (вверх / вниз)

  • В первом сверточном слое авторы сокращают на 4 по горизонтали и 2 по вертикали;Это связано с тем, что для карт точек Velodyne точки плотнее в горизонтальном слое.Этим же фактором они увеличивают в своих окончательных деконволюционных слоях (которые одновременно предсказывают «объектность» транспортного средства и его ограничивающую рамку).

Все методы реализованы в отношении набора данных KITTI / Velodyne LIDAR, поэтомуЯ полагаю, что они могут работать (возможно, с некоторыми изменениями) для вашего конкретного варианта использования.

...