diff --git a/.dev_scripts/gather_models.py b/.dev_scripts/gather_models.py index c6d2508098..cd189b3e27 100644 --- a/.dev_scripts/gather_models.py +++ b/.dev_scripts/gather_models.py @@ -25,7 +25,8 @@ '_50e_': 50, '_80e_': 80, '_200e_': 200, - '_250e_': 250 + '_250e_': 250, + '_400e_': 400 } # TODO: add support for lyft dataset @@ -40,8 +41,8 @@ 'lyft': ['score'], 'scannet_seg': ['miou'], 's3dis_seg': ['miou'], - 'scannet': ['mAR_0.50'], - 'sunrgbd': ['mAR_0.50'] + 'scannet': ['mAP_0.50'], + 'sunrgbd': ['mAP_0.50'] } diff --git a/README.md b/README.md index 27ae10d603..b8c65703ed 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ Support methods - [x] [ImVoteNet (CVPR'2020)](configs/imvotenet/README.md) - [x] [FCOS3D (Arxiv'2021)](configs/fcos3d/README.md) - [x] [PointNet++ (NeurIPS'2017)](configs/pointnet2/README.md) +- [x] [Group-Free-3D (Arxiv'2021)](configs/groupfree3d/README.md) | | ResNet | ResNeXt | SENet |PointNet++ | HRNet | RegNetX | Res2Net | |--------------------|:--------:|:--------:|:--------:|:---------:|:-----:|:--------:|:-----:| @@ -107,6 +108,7 @@ Support methods | ImVoteNet | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | | FCOS3D | ✓ | ☐ | ☐ | ✗ | ☐ | ☐ | ☐ | | PointNet++ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | +| Group-Free-3D | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Other features - [x] [Dynamic Voxelization](configs/dynamic_voxelization/README.md) diff --git a/configs/groupfree3d/README.md b/configs/groupfree3d/README.md new file mode 100644 index 0000000000..8bd4238245 --- /dev/null +++ b/configs/groupfree3d/README.md @@ -0,0 +1,32 @@ +# Group-Free 3D Object Detection via Transformers + +## Introduction + + + +We implement Group-Free-3D and provide the result and checkpoints on ScanNet datasets. + +``` +@article{liu2021, + title={Group-Free 3D Object Detection via Transformers}, + author={Liu, Ze and Zhang, Zheng and Cao, Yue and Hu, Han and Tong, Xin}, + journal={arXiv preprint arXiv:2104.00678}, + year={2021} +} +``` + +## Results + +### ScanNet + +| Method | Backbone | Lr schd | Mem (GB) | Inf time (fps) | AP@0.25 |AP@0.5| Download | +| :------: | :---------: | :-----: | :------: | :------------: | :----: |:----: | :------: | +| [L6, O256](./groupfree3d_8x4_scannet-3d-18class-L6-O256.py ) | PointNet++ | 3x |6.7||65.59 (65.67*)|48.43 (47.74*)|[model](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L6-O256/groupfree3d_8x4_scannet-3d-18class-L6-O256_20210702_145347-3499eb55.pth) | [log](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L6-O256/groupfree3d_8x4_scannet-3d-18class-L6-O256_20210702_145347.log.json)| +| [L12, O256](./groupfree3d_8x4_scannet-3d-18class-L12-O256.py ) | PointNet++ | 3x |9.4||67.68 (66.22*)|49.30 (48.95*)|[model](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L12-O256/groupfree3d_8x4_scannet-3d-18class-L12-O256_20210702_150907-1c5551ad.pth) | [log](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L12-O256/groupfree3d_8x4_scannet-3d-18class-L12-O256_20210702_150907.log.json)| +| [L12, O256](./groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256.py ) | PointNet++w2x | 3x |13.3||67.09 (67.30*)|50.76 (50.44*)|[model](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256_20210702_200301-944f0ac0.pth) | [log](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256_20210702_200301.log.json)| +| [L12, O512](./groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512.py ) | PointNet++w2x | 3x |18.8||68.31 (68.20*)|51.73 (51.31*)|[model](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512_20210702_220204-187b71c7.pth) | [log](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512_20210702_220204.log.json)| + +**Notes:** + +- We report the best results (AP@0.50) on validation set during each training. * means the evaluation method in the paper: we train each setting 5 times and test each training trial 5 times, then the average performance of these 25 trials is reported to account for algorithm randomness. +- We use 4 GPUs for training by default as the original code. diff --git a/configs/groupfree3d/metafile.yml b/configs/groupfree3d/metafile.yml new file mode 100644 index 0000000000..d0f94cca27 --- /dev/null +++ b/configs/groupfree3d/metafile.yml @@ -0,0 +1,67 @@ +Collections: + - Name: Group-Free-3D + Metadata: + Training Techniques: + - AdamW + Training Resources: 4x V100 GPUs + Architecture: + - PointNet++ + Paper: https://arxiv.org/abs/2104.00678 + README: configs/groupfree3d/README.md + +Models: + - Name: groupfree3d_8x4_scannet-3d-18class-L6-O256.py + In Collection: Group-Free-3D + Config: configs/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L6-O256.py + Metadata: + Training Data: ScanNet + Training Memory (GB): 6.7 + Results: + - Task: 3D Object Detection + Dataset: ScanNet + Metrics: + AP@0.25: 65.59 + AP@0.5: 48.43 + Weights: https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L6-O256/groupfree3d_8x4_scannet-3d-18class-L6-O256_20210702_145347-3499eb55.pth + + - Name: groupfree3d_8x4_scannet-3d-18class-L12-O256.py + In Collection: Group-Free-3D + Config: configs/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L12-O256.py + Metadata: + Training Data: ScanNet + Training Memory (GB): 9.4 + Results: + - Task: 3D Object Detection + Dataset: ScanNet + Metrics: + AP@0.25: 67.68 + AP@0.5: 49.30 + Weights: https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-L12-O256/groupfree3d_8x4_scannet-3d-18class-L12-O256_20210702_150907-1c5551ad.pth + + - Name: groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256.py + In Collection: Group-Free-3D + Config: configs/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256.py + Metadata: + Training Data: ScanNet + Training Memory (GB): 13.3 + Results: + - Task: 3D Object Detection + Dataset: ScanNet + Metrics: + AP@0.25: 67.09 + AP@0.5: 50.76 + Weights: https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O256_20210702_200301-944f0ac0.pth + + - Name: groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512.py + In Collection: Group-Free-3D + Config: configs/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512.py + Metadata: + Training Data: ScanNet + Training Memory (GB): 18.8 + Results: + - Task: 3D Object Detection + Dataset: ScanNet + Metrics: + AP@0.25: 68.31 + AP@0.5: 51.73 + Weights: https://download.openmmlab.com/mmdetection3d/v0.1.0_models/groupfree3d/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512/groupfree3d_8x4_scannet-3d-18class-w2x-L12-O512_20210702_220204-187b71c7.pth diff --git a/docs/model_zoo.md b/docs/model_zoo.md index a4da2dbbc0..e7f3494c62 100644 --- a/docs/model_zoo.md +++ b/docs/model_zoo.md @@ -65,3 +65,7 @@ Please refer to [FCOS3D](https://github.com/open-mmlab/mmdetection3d/blob/master ### PointNet++ Please refer to [PointNet++](https://github.com/open-mmlab/mmdetection3d/blob/master/configs/pointnet2) for details. We provide PointNet++ baselines on ScanNet and S3DIS datasets. + +### Group-Free-3D + +Please refer to [Group-Free-3D](https://github.com/open-mmlab/mmdetection3d/blob/master/configs/groupfree3d) for details. We provide Group-Free-3D baselines on ScanNet datasets.