Home

Awesome

BRNet

fig_overview-c2

Introduction

This is a release of the code of our paper Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds, CVPR 2021.

Authors: Bowen Cheng, Lu Sheng*, Shaoshuai Shi, Ming Yang, Dong Xu (*corresponding author)

[arxiv]

In this repository, we reimplement BRNet based on mmdetection3d for easier usage.

Citation

If you find our work useful in your research, please consider citing:

@inproceedings{cheng2021brnet,
  title={Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds},
  author={Cheng, Bowen and Sheng, Lu and Shi, Shaoshuai and Yang, Ming and Xu, Dong},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2021}
}

Installation

This repo is built based on mmdetection3d (V0.11.0), please follow the getting_started.md for installation.

The code is tested under the following environment:

And we provide the conda env config file here.

Datasets

ScanNet

Please follow the instruction here to prepare ScanNet Data.

SUN RGB-D

Please follow the instruction here to prepare SUN RGB-D Data.

Download Trained Models

We provide the trained models of ScanNet and SUN RGB-D with per-class performances.

ScanNet V2AP_0.25AR_0.25AP_0.50AR_0.50
cabinet0.48980.76340.28000.5349
bed0.88490.95060.79150.8642
chair0.91490.93570.83540.8604
sofa0.90490.97940.80270.9278
table0.68020.84860.61460.7600
door0.59550.74300.37210.5418
window0.48140.70920.24050.4078
bookshelf0.58760.87010.50320.7532
picture0.17160.32430.06870.1396
counter0.60850.88460.35450.5385
desk0.75380.95280.54810.7874
curtain0.62750.79100.41260.5224
refrigerator0.54670.94740.48820.8070
showercurtrain0.73490.96430.51890.6786
toilet0.98961.00000.92270.9310
sink0.59010.67350.35210.4490
bathtub0.86050.93550.85650.9032
garbagebin0.47260.71510.31690.5170
Overall0.66080.83270.51550.6624
SUN RGB-DAP_0.25AR_0.25AP_0.50AR_0.50
bed0.86330.95530.65440.7592
table0.51360.85520.29810.5268
sofa0.67540.89310.58300.7193
chair0.78640.87230.63010.7137
toilet0.86990.97930.71250.8345
desk0.29290.80820.11340.4017
dresser0.32370.76150.20580.4954
night_stand0.59330.86270.44900.6588
bookshelf0.33940.71990.15740.3652
bathtub0.75050.87760.53830.6531
Overall0.60080.85850.43420.6128

Note: Due to the detection results are unstable and fluctuate within 1~2 mAP points, the results here are slightly different from those in the paper.

Training

For ScanNet V2, please run:

CUDA_VISIBLE_DEVICES=0 python tools/train.py configs/brnet/brnet_8x1_scannet-3d-18class.py --seed 42

For SUN RGB-D, please run:

CUDA_VISIBLE_DEVICES=0 python tools/train.py configs/brnet/brnet_8x1_sunrgbd-3d-10class.py --seed 42

Demo

To test a 3D detector on point cloud data, please refer to Single modality demo and Point cloud demo in MMDetection3D docs.

Here, we provide a demo on SUN RGB-D dataset.

CUDA_VISIBLE_DEVICES=0 python demo/pcd_demo.py sunrgbd_000094.bin demo/brnet_8x1_sunrgbd-3d-10class.py checkpoints/brnet_8x1_sunrgbd-3d-10class_trained.pth

Visualization results

ScanNet

SUN RGB-D

Acknowledgments

Our code is heavily based on mmdetection3d. Thanks mmdetection3d Development Team for their awesome codebase.