С развитием самоуправляемых автомобилей мы видим большой толчок в области компьютерного зрения для таких приложений, как обнаружение возражений (2D / 3D), отслеживание объектов, 3D-реконструкция, понимание поведения дорожного движения, анализ 3D-сцены и т. Д. попытайтесь осветить некоторые из последних достижений в одной из этих технологий, а именно в 3D-обнаружении. LiDAR и датчики глубины предоставляют трехмерную информацию об окружающем мире, которую невозможно напрямую зафиксировать с помощью пассивной 2D-камеры. Методы, которые мы обсуждаем сегодня, пытаются обнаружить объекты в необработанных облаках точек без какой-либо информации о текстуре (только с представлением положения (x, y, z).

Есть несколько причин, по которым рекомендуется изучить 3D-обнаружение непосредственно в облаке точек:

  1. Нет единого компактного датчика, как у нас есть датчик Kinect (в помещении) для беспилотных автомобилей (из-за проблемы с дальностью действия).
  2. По вышеуказанной причине нам пришлось использовать камеру с двумя отдельными датчиками и LiDAR. Когда автомобиль движется, а лидар вращается, облако точек, которое регистрируется для одного вращения, искажается из-за движения автомобиля.
  3. Если вы хотите спроецировать эту информацию о глубине LiDAR на камеру, она должна быть точно синхронизирована с камерой (временная метка должна быть почти одинаковой, должны быть общие часы для обоих датчиков).
  4. Затем его можно проецировать на камеру после исправления искажения движения в облаке точек с помощью других датчиков, таких как GPS / IMU.

Поэтому по указанным выше причинам стоит обратить внимание на автономное обнаружение объектов в облаке точек.

Pointnet:

Исследователи из Стэнфорда [1] предложили pointnet с идеей напрямую обрабатывать информацию о точках (x, y, z) в глубокой нейронной сети для сегментирования объекта. Это приятно, но он использовался только для небольших объектов с меньшим количеством точек, поскольку у нас нет суперкомпьютеров для обработки миллионов точек (проблема масштабируемости вычислений). Чтобы распространить его на приложение для самоуправляемых автомобилей, они предложили использовать обнаружение с камеры, чтобы сначала обнаруживать объекты и выбирать точки в этой ограничивающей рамке (усеченная пирамида) и передавать это меньшее количество точек в сеть точек (CNN) для обнаружения объектов.

Хорошо, но у него есть свои проблемы, как описано выше. Но новая часть этой статьи заключается в том, что они представили концепцию сегментирования / обнаружения объектов непосредственно на неупорядоченных наборах точек. В статье [1] упоминается, что можно использовать ядро, которое является симметричным для выдачи одного и того же вывода независимо от того, как вы вводите ввод (неупорядоченный). В статье [1] говорится, что по этой причине используется max-pooling.

Voxelnet:

Apple Inc. опубликовала статью об алгоритме обнаружения 3D под названием VoxelNet [2]. Несмотря на то, что были некоторые статьи о вокселизации и обработке облака точек для обнаружения. Он [2] был первым, кто реализовал сквозное соединение путем вокселизации облака точек. По сути, воксель - это не что иное, как кубы / сетки (например, другая структура данных, представляющая облако точек), где в этой статье каждый воксель представлен медианой и указывает отклонение от этой локальной медианы в этом вокселе.

Он использует ту же идею max-pooling, что и в pointnet. Новинкой в ​​этой статье был уровень кодирования воксельных функций, на котором он может изучать представления локальных функций с помощью поэлементного максимального объединения и представления глобальных функций с помощью пропуска соединений и средних слоев свертки.

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

Комплекс YOLO:

YOLO (вы посмотрите только один раз), он хорошо известен своей быстрой работой. Комплекс YOLO был представлен исследователями из Нью-Йоркского университета, а не теми же авторами, что и YOLO для 2D-обнаружения. Этот алгоритм использует архитектуру MV3D (multi view 3D), которая была старше, чем pointnet. Здесь используется архитектура YOLO-V2, но входными данными являются максимальная интенсивность, нормализованная плотность и максимальная высота для каналов RGB, где высота дискретна (не непрерывна).

Здесь вращение не представлено числом от -pi до пи радиан, скорее оно представлено как комплексное число, как показано ниже (с действительными и мнимыми компонентами вектора).

Тогда функция потерь ориентации принимает вид:

В статье [3] также упоминается, что прямое использование среднеквадратической ошибки (MSE) не дает большей точности.

Сравнение:

При Intersection of Union (IOU) = 0,5 и использовании NVIDIA Jetson TX2 сравнение методов 3D-обнаружения представлено в статье с комплексным yolo.

Для алгоритмов только для лидара сложный yolo работает со скоростью около 50 кадров в секунду (в 12 раз быстрее, чем воксельная сеть) с точностью, близкой к воксельной сети. Это лучше для пешеходов и велосипедистов, чем вокселнет. Эта сравнительная таблица предназначена для набора данных KITTI, который собирается с помощью Velodyne HDL-64 E LIDAR, который сравнительно является плотным облаком точек. При обнаружении на Velodyne HDL-32E, который очень редок, пешеходы будут более сложными, так как на пешеходах будет очень мало точек.

Заявление об ограничении ответственности для набора данных KITTI: "Легкий", "Умеренный", "Жесткий" создаются с использованием процентного соотношения окклюзии.

Известные недавние работы:

Fast and Furious, CVPR 2018 [4]: ​​Обнаружение, отслеживание и прогнозирование движения осуществляется сквозным образом в одной сети.

Ссылки:

[1] Ци, Чарльз Р. и др. «Pointnet: глубокое обучение по наборам точек для трехмерной классификации и сегментации». Proc. Компьютерное зрение и распознавание образов (CVPR), IEEE 1.2 (2017): 4.

[2] Чжоу, Инь и Онел Тузель. «VoxelNet: сквозное обучение для обнаружения трехмерных объектов на основе облака точек». Препринт arXiv arXiv: 1711.06396 (2017).

[3] Саймон, Мартин и др. «Complex-YOLO: обнаружение трехмерных объектов в облаках точек в реальном времени». Препринт arXiv arXiv: 1803.06199 (2018).

[4] Ло, Вэньцзе, Бинь Ян и Ракель Уртасун. «Форсаж: сквозное трехмерное обнаружение, отслеживание и прогнозирование движения в реальном времени с помощью единой сверточной сети». Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2018.