Description
The nutonomy/second.pytorch repository on GitHub offers a specific implementation of PointPillars for object detection within the KITTI dataset. This project serves as a demonstration to reproduce the findings presented in the paper 'PointPillars: Fast Encoders for Object Detection from Point Clouds,' intended for publication at CVPR 2019. It achieves this by making minimal modifications to the existing open-source codebase, SECOND.
This repository is a fork of the original SECOND codebase, tailored for KITTI object detection tasks. It is important to note that this code is not an official nuTonomy codebase, though it is designed to align with the published PointPillars results. The project has been archived by its owner as of October 13, 2021, and is now in a read-only state. For actively maintained code that can also reproduce PointPillars results on the nuScenes dataset, users are directed to the SECOND repository.
Getting started with this project involves cloning the repository, installing necessary Python packages (including PyTorch, Anaconda, and specific libraries like shapely, pybind11, protobuf, scikit-image, numba, pillow, google-sparsehash, fire, and tensorboardX), and setting up CUDA for Numba. The installation process also includes instructions for SparseConvNet, which is expected to be configured correctly by the general SECOND codebase, and potentially Boost geometry. Environment variables for Numba and PYTHONPATH configuration are also detailed.
Dataset preparation is a crucial step, requiring the download of the KITTI dataset and the creation of specific directory structures. Users must then generate KITTI information files, create reduced point clouds, and generate groundtruth database information using provided Python scripts. Finally, configuration files need to be edited to point to the prepared datasets. The repository outlines the training and evaluation procedures, including commands for single-GPU training and resuming from checkpoints, as well as how to save detection results in official KITTI label format.
PointPillars for KITTI Highlights
Object detection from point clouds
Implementation of PointPillars algorithm
KITTI dataset compatibility
Fork of the SECOND codebase
Reproduces published PointPillars results
Codebase supports Python 3.6+
Requires PyTorch 0.4.1+
Tested on Ubuntu 16.04/18.04
Includes dataset preparation scripts
Provides training and evaluation scripts
Single GPU training support
Batch size of 2 for training
Archived and read-only repository
Getting Started with PointPillars for KITTI
Clone code: git clone https://github.com/nutonomy/second.pytorch.git
Install Python packages: Use Anaconda for core packages, then pip for others.
Setup CUDA for Numba: Configure environment variables in ~/.bashrc.
Add to PYTHONPATH: Include second.pytorch/ in your PYTHONPATH.
Prepare dataset: Download KITTI, create directories, and run data preparation scripts.
Modify config file: Update paths to datasets in configuration files.
Train model: Run the training script with specified config and model directories.
Evaluate model: Execute the evaluation script to assess model performance.
PointPillars for KITTI's Use Cases
- Object Detection
- Autonomous Driving Research
- Point Cloud Analysis
- Computer Vision Benchmarking
- Academic Research








