Описание
Репозиторий nutonomy/second.pytorch на GitHub предлагает конкретную реализацию PointPillars для обнаружения объектов в наборе данных KITTI. Этот проект служит демонстрацией для воспроизведения результатов, представленных в статье «PointPillars: Fast Encoders for Object Detection from Point Clouds», предназначенной для публикации на CVPR 2019. Это достигается путем внесения минимальных изменений в существующую открытую кодовую базу SECOND.
Этот репозиторий является форком оригинальной кодовой базы SECOND, адаптированным для задач обнаружения объектов на KITTI. Важно отметить, что этот код не является официальной кодовой базой nuTonomy, хотя он разработан в соответствии с опубликованными результатами PointPillars. Проект был заархивирован его владельцем 13 октября 2021 года и теперь находится в состоянии только для чтения. Для активно поддерживаемого кода, который также может воспроизводить результаты PointPillars на наборе данных nuScenes, пользователям рекомендуется обратиться к репозиторию SECOND.
Начало работы с этим проектом включает клонирование репозитория, установку необходимых пакетов Python (включая PyTorch, Anaconda и конкретные библиотеки, такие как shapely, pybind11, protobuf, scikit-image, numba, pillow, google-sparsehash, fire и tensorboardX), а также настройку CUDA для Numba. Процесс установки также включает инструкции для SparseConvNet, который должен быть правильно сконфигурирован общей кодовой базой SECOND, и, возможно, Boost geometry. Также подробно описаны переменные среды для Numba и конфигурация PYTHONPATH.
Подготовка набора данных является критически важным шагом, требующим загрузки набора данных KITTI и создания определенных структур каталогов. Затем пользователи должны сгенерировать файлы информации KITTI, создать уменьшенные облака точек и сгенерировать информацию базы данных groundtruth с использованием предоставленных скриптов Python. Наконец, необходимо отредактировать конфигурационные файлы, чтобы они указывали на подготовленные наборы данных. Репозиторий описывает процедуры обучения и оценки, включая команды для обучения на одной GPU и возобновления с контрольных точек, а также как сохранять результаты обнаружения в официальном формате меток KITTI.
Главное о PointPillars для KITTI
Обнаружение объектов из облаков точек
Реализация алгоритма PointPillars
Совместимость с набором данных KITTI
Форк кодовой базы SECOND
Воспроизводит опубликованные результаты PointPillars
Кодовая база поддерживает Python 3.6+
Требуется PyTorch 0.4.1+
Протестировано на Ubuntu 16.04/18.04
Включает скрипты подготовки набора данных
Предоставляет скрипты обучения и оценки
Поддержка обучения на одной GPU
Размер пакета 2 для обучения
Заархивированный репозиторий только для чтения
Начало работы с PointPillars для KITTI
Клонировать код: git clone https://github.com/nutonomy/second.pytorch.git
Установить пакеты Python: Использовать Anaconda для основных пакетов, затем pip для остальных.
Настроить CUDA для Numba: Настроить переменные среды в ~/.bashrc.
Добавить в PYTHONPATH: Включить second.pytorch/ в ваш PYTHONPATH.
Подготовить набор данных: Загрузить KITTI, создать каталоги и запустить скрипты подготовки данных.
Изменить конфигурационный файл: Обновить пути к наборам данных в конфигурационных файлах.
Обучить модель: Запустить скрипт обучения с указанием конфигурационного файла и каталогов моделей.
Оценить модель: Выполнить скрипт оценки для определения производительности модели.
Варианты использования PointPillars для KITTI
- Обнаружение объектов
- Исследования в области автономного вождения
- Анализ облаков точек
- Бенчмаркинг компьютерного зрения
- Академические исследования








