PointPillars является методом для 3-D обнаружения объектов с помощью 2D сверточных слоев. Сеть PointPillars имеет learnable энкодер, который использует PointNets, чтобы изучить представление облаков точек, организованных в столбах (вертикальные столбцы). Сеть затем запускает 2D сверточную нейронную сеть (CNN), чтобы произвести сетевые предсказания, декодирует предсказания и генерирует 3-D ограничительные рамки для различных классов объектов, таких как автомобили, грузовики и пешеходы.
Сеть PointPillars имеет эти основные этапы.
Используйте энкодер функции, чтобы преобразовать облако точек в разреженное псевдоизображение.
Обработайте псевдоизображение в высокоуровневое представление с помощью 2D магистрали свертки.
Обнаружьте и регрессируйте 3D ограничительные рамки с помощью голов обнаружения.
Сеть PointPillars требует двух входных параметров: индексы столба как P-by-2 и столб показывают как P-by-N-by-K матрица. P является количеством столбов в сети, N является числом точек на столб, и K является размерностью признаков.
Сеть начинается с энкодера функции, который является упрощенным PointNet. Это содержит серию свертки, пакетной нормы и relu слоев, сопровождаемых макс. слоем объединения. Поля точек слой в конце сопоставляет извлеченные функции в 2D пробел с помощью индексов столба.
Затем сеть имеет 2D магистраль CNN, которая состоит из блоков декодера энкодера. Каждый блок энкодера состоит из свертки, пакетной нормы и relu слоев, чтобы извлечь функции при различных пространственных разрешениях. Каждый блок декодера состоит из, транспонируют свертку, пакетную норму и relu слои.
Сеть затем конкатенирует выходные функции в конце каждого блока декодера и передает эти функции через шесть голов обнаружения со сверточными и сигмоидальными слоями, чтобы предсказать заполнение, местоположение, размер, угол, заголовок и класс.
Можно использовать приложение Deep Network Designer (Deep Learning Toolbox), чтобы в интерактивном режиме создать нейронную сеть для глубокого обучения PointPillars. Чтобы программно создать сеть PointPillars, используйте pointPillarsObjectDetector
объект.
Реконфигурируйте предварительно обученную сеть PointPillars при помощи pointPillarsObjectDetector
объект использовать обучение с переносом. Задайте новые классы объектов и соответствующие поля привязки, чтобы обучить сеть на новом наборе данных.
Используйте trainPointPillarsObjectDetector
функция, чтобы обучить сеть PointPillars. Чтобы выполнить обнаружение объектов в обученной сети PointPillars, используйте detect
функция. Для получения дополнительной информации о том, как обучить сеть PointPillars, смотрите Лидар 3-D Обнаружение объектов Используя Глубокое обучение PointPillars.
Чтобы изучить, как сгенерировать код CUDA® для Сети PointPillars, смотрите Генерацию кода Для Обнаружения объектов Лидара Используя Глубокое обучение PointPillars.
[1] Ленг, Алекс Х., Sourabh Vora, Хольгер Цезарь, Лубин Чжоу, Цзюн Ян и Оскар Бейджбом. “PointPillars: Быстрые Энкодеры для Обнаружения объектов От Облака точек” На 2019 Конференциях IEEE/CVF по Компьютерному зрению и Распознаванию образов (CVPR), 12689–97. Лонг-Бич, CA, США: IEEE, 2019. https://doi.org/10.1109/CVPR.2019.01298.
[2] Hesai и Scale. PandaSet. https://scale.com/open-datasets/pandaset.