hustvl / AziNorm

AziNorm: Exploiting the Radial Symmetry of Point Cloud for Azimuth-Normalized 3D Perception, CVPR 2022.
MIT License
53 stars 2 forks source link

Azimuth Normalization

AziNorm: Exploiting the Radial Symmetry of Point Cloud
for Azimuth-Normalized 3D Perception [CVPR 2022]

by
Shaoyu Chen, Xinggang Wang, Tianheng Cheng, Wenqiang Zhang, Qian Zhang, Chang Huang, Wenyu Liu
(: corresponding author)
Paper: [arXiv version] [CVPR version]

Highlight

framework

Introduction

Studying the inherent symmetry of data is of great importance in machine learning. Point cloud, the most important data format for 3D environmental perception, is naturally endowed with strong radial symmetry. In this work, we exploit this radial symmetry via a divide-and-conquer strategy to boost 3D perception performance and ease optimization. We propose Azimuth Normalization (AziNorm), which normalizes the point clouds along the radial direction and eliminates the variability brought by the difference of azimuth. AziNorm can be flexibly incorporated into most LiDAR-based perception methods. To validate its effectiveness and generalization ability, we apply AziNorm in both object detection and semantic segmentation. For detection, we integrate AziNorm into two representative detection methods, the one-stage SECOND detector and the state-of-the-art two-stage PV-RCNN detector. Experiments on Waymo Open Dataset demonstrate that AziNorm improves SECOND and PV-RCNN by 7.03 mAPH and 3.01 mAPH respectively. For segmentation, we integrate AziNorm into KPConv. On SemanticKitti dataset, AziNorm improves KPConv by 1.6/1.1 mIoU on val/test set. Besides, AziNorm remarkably improves data efficiency and accelerates convergence, reducing the requirement of data amounts or training epochs by an order of magnitude. SECOND w/ AziNorm can significantly outperform fully trained vanilla SECOND, even trained with only 10\% data or 10\% epochs.

Usage

The code is fully based on OpenPCDet-v0.3.0 toolbox. Please refer to INSTALLATION.md and GETTING_STARTED.md of OpenPCDet-v0.3.0 for the instructions of data/environment preparation.

Test and evaluate the pretrained models

or

sh scripts/slurm_test_mgpu.sh ${PARTITION} ${NUM_GPUS} \ --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE}


### Train a model
* Train with multiple GPUs or multiple machines:
```shell script
sh scripts/dist_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}

# or 

sh scripts/slurm_train.sh ${PARTITION} ${JOB_NAME} ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
Model Training Data Epoch Veh_L1 Veh_L2 Ped_L1 Ped_L2 Cyc_L1 Cyc_L2 Download
SECOND 16k (10%) 5 58.50/57.59 51.35/50.53 47.68/25.56 40.56/21.74 39.44/25.76 38.10/24.89 ckpt
AziNorm-based SECOND 16k (10%) 5 63.85/63.17 55.60/55.00 58.17/44.70 49.95/38.35 57.95/54.99 56.01/53.15 ckpt
SECOND 32k (20%) 5 62.95/62.21 54.71/54.06 51.79/37.61 44.69/32.40 44.27/39.87 42.78/38.53 ckpt
AziNorm-based SECOND 32k (20%) 5 67.24/66.62 58.79/58.24 62.20/50.77 53.80/43.85 60.86/59.62 58.70/57.50 ckpt
SECOND 160k (100%) 5 68.29/67.67 59.71/59.16 58.80/48.41 51.32/42.17 52.82/51.64 51.11/49.96 ckpt
AziNorm-based SECOND 160k (100%) 5 70.01/69.47 62.22/61.72 65.76/54.89 57.15/47.62 64.05/62.79 61.72/60.51 ckpt

Citing AziNorm

If you find AziNorm is useful in your research or applications, please consider giving us a star 🌟 and citing AziNorm by the following BibTeX entry.

@InProceedings{Chen_2022_CVPR,
    author    = {Chen, Shaoyu and Wang, Xinggang and Cheng, Tianheng and Zhang, Wenqiang and Zhang, Qian and Huang, Chang and Liu, Wenyu},
    title     = {AziNorm: Exploiting the Radial Symmetry of Point Cloud for Azimuth-Normalized 3D Perception},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    year      = {2022},
}