Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aim-uofa/AdelaiDet
AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
https://github.com/aim-uofa/AdelaiDet
abcnet adelaidet blendmask boxinst condinst densecl fcos instance-segmentation meinst object-detection ocr solo solov2 text-detection text-recognition
Last synced: 10 days ago
JSON representation
AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
- Host: GitHub
- URL: https://github.com/aim-uofa/AdelaiDet
- Owner: aim-uofa
- License: other
- Created: 2020-01-23T03:48:55.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-23T00:56:57.000Z (3 months ago)
- Last Synced: 2024-10-29T14:57:12.580Z (15 days ago)
- Topics: abcnet, adelaidet, blendmask, boxinst, condinst, densecl, fcos, instance-segmentation, meinst, object-detection, ocr, solo, solov2, text-detection, text-recognition
- Language: Python
- Homepage: https://git.io/AdelaiDet
- Size: 663 KB
- Stars: 3,377
- Watchers: 83
- Forks: 648
- Open Issues: 306
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AdelaiDet
As of Jan. 2024, the CloudStor server is dead. Model files are hosted on huggingface:
- https://huggingface.co/ZjuCv/AdelaiDet/tree/main
- https://huggingface.co/tianzhi/AdelaiDet-FCOS/tree/main
- https://huggingface.co/tianzhi/AdelaiDet-CondInst/tree/main
- https://huggingface.co/tianzhi/AdelaiDet-BoxInst/tree/main*AdelaiDet* is an open source toolbox for multiple instance-level recognition tasks on top of [Detectron2](https://github.com/facebookresearch/detectron2).
All instance-level recognition works from our group are open-sourced here.To date, AdelaiDet implements the following algorithms:
* [FCOS](configs/FCOS-Detection/README.md)
* [BlendMask](configs/BlendMask/README.md)
* [MEInst](configs/MEInst-InstanceSegmentation/README.md)
* [ABCNet](configs/BAText/README.md)
* [ABCNetv2](configs/BAText#quick-start-abcnetv2)
* [CondInst](configs/CondInst/README.md)
* [SOLO](https://arxiv.org/abs/1912.04488) ([mmdet version](https://github.com/WXinlong/SOLO))
* [SOLOv2](configs/SOLOv2/README.md)
* [BoxInst](configs/BoxInst/README.md) ([video demo](https://www.youtube.com/watch?v=NuF8NAYf5L8))
* [DenseCL](configs/DenseCL/README.md)
* [FCPose](configs/FCPose/README.md)## Models
### COCO Object Detecton Baselines with [FCOS](https://arxiv.org/abs/1904.01355)
Name | inf. time | box AP | download
--- |:---:|:---:|:---
[FCOS_R_50_1x](configs/FCOS-Detection/R_50_1x.yaml) | 16 FPS | 38.7 | [model](https://huggingface.co/tianzhi/AdelaiDet-FCOS/resolve/main/FCOS_R_50_1x.pth?download=true)
[FCOS_MS_R_101_2x](configs/FCOS-Detection/MS_R_101_2x.yaml) | 12 FPS | 43.1 | [model](https://huggingface.co/tianzhi/AdelaiDet-FCOS/resolve/main/FCOS_MS_R_101_2x.pth?download=true)
[FCOS_MS_X_101_32x8d_2x](configs/FCOS-Detection/MS_X_101_32x8d_2x.yaml) | 6.6 FPS | 43.9 | [model](https://huggingface.co/tianzhi/AdelaiDet-FCOS/resolve/main/FCOS_MS_X_101_32x8d_2x.pth?download=true)
[FCOS_MS_X_101_32x8d_dcnv2_2x](configs/FCOS-Detection/MS_X_101_32x8d_2x_dcnv2.yaml) | 4.6 FPS | 46.6 | [model](https://huggingface.co/tianzhi/AdelaiDet-FCOS/resolve/main/FCOS_MS_X_101_32x8d_dcnv2_2x.pth?download=true)
[FCOS_RT_MS_DLA_34_4x_shtw](configs/FCOS-Detection/FCOS_RT/MS_DLA_34_4x_syncbn_shared_towers.yaml) | 52 FPS | 39.1 | [model](https://huggingface.co/tianzhi/AdelaiDet-FCOS/resolve/main/FCOS_RT_MS_DLA_34_4x_syncbn_shared_towers.pth?download=true)More models can be found in FCOS [README.md](configs/FCOS-Detection/README.md).
### COCO Instance Segmentation Baselines with [BlendMask](https://arxiv.org/abs/2001.00309)
Model | Name |inf. time | box AP | mask AP | download
--- |:---:|:---:|:---:|:---:|:---:
Mask R-CNN | [R_101_3x](https://github.com/facebookresearch/detectron2/blob/master/configs/COCO-InstanceSegmentation/mask_rcnn_R_101_FPN_3x.yaml) | 10 FPS | 42.9 | 38.6 |
BlendMask | [R_101_3x](configs/BlendMask/R_101_3x.yaml) | 11 FPS | 44.8 | 39.5 | [model](https://huggingface.co/ZjuCv/AdelaiDet/blob/main/R_101_3x.pth)
BlendMask | [R_101_dcni3_5x](configs/BlendMask/R_101_dcni3_5x.yaml) | 10 FPS | 46.8 | 41.1 | [model](https://huggingface.co/ZjuCv/AdelaiDet/blob/main/R_101_dcni3_5x.pth)For more models and information, please refer to BlendMask [README.md](configs/BlendMask/README.md).
### COCO Instance Segmentation Baselines with [MEInst](https://arxiv.org/abs/2003.11712)
Name | inf. time | box AP | mask AP | download
--- |:---:|:---:|:---:|:---:
[MEInst_R_50_3x](https://github.com/aim-uofa/AdelaiDet/configs/MEInst-InstanceSegmentation/MEInst_R_50_3x.yaml) | 12 FPS | 43.6 | 34.5 | [model](https://huggingface.co/ZjuCv/AdelaiDet/blob/main/MEInst_R_50_3x.pth)For more models and information, please refer to MEInst [README.md](configs/MEInst-InstanceSegmentation/README.md).
### Total_Text results with [ABCNet](configs/BAText/README.md)
Name | inf. time | e2e-hmean | det-hmean | download
--- |:---------:|:---------:|:---------:|:---:
[v1-totaltext](configs/BAText/TotalText/attn_R_50.yaml) | 11 FPS | 67.1 | 86.0 | [model](https://huggingface.co/ZjuCv/AdelaiDet/blob/main/tt_e2e_attn_R_50.pth)
[v2-totaltext](configs/BAText/TotalText/v2_attn_R_50.yaml) | 7.7 FPS | 71.8 | 87.2 | [model](https://huggingface.co/ZjuCv/AdelaiDet/blob/main/model_v2_totaltext.pth)For more models and information, please refer to ABCNet [README.md](configs/BAText/README.md).
### COCO Instance Segmentation Baselines with [CondInst](https://arxiv.org/abs/2003.05664)
Name | inf. time | box AP | mask AP | download
--- |:---:|:---:|:---:|:---:
[CondInst_MS_R_50_1x](configs/CondInst/MS_R_50_1x.yaml) | 14 FPS | 39.7 | 35.7 | [model](https://huggingface.co/tianzhi/AdelaiDet-CondInst/resolve/main/CondInst_MS_R_50_1x.pth?download=true)
[CondInst_MS_R_50_BiFPN_3x_sem](configs/CondInst/MS_R_50_BiFPN_3x_sem.yaml) | 13 FPS | 44.7 | 39.4 | [model](https://huggingface.co/tianzhi/AdelaiDet-CondInst/resolve/main/CondInst_MS_R_50_BiFPN_3x_sem.pth?download=true)
[CondInst_MS_R_101_3x](configs/CondInst/MS_R_101_3x.yaml) | 11 FPS | 43.3 | 38.6 | [model](https://huggingface.co/tianzhi/AdelaiDet-CondInst/resolve/main/CondInst_MS_R_101_3x.pth?download=true)
[CondInst_MS_R_101_BiFPN_3x_sem](configs/CondInst/MS_R_101_BiFPN_3x_sem.yaml) | 10 FPS | 45.7 | 40.2 | [model](https://huggingface.co/tianzhi/AdelaiDet-CondInst/resolve/main/CondInst_R_101_BiFPN_3x_sem.pth?download=true)For more models and information, please refer to CondInst [README.md](configs/CondInst/README.md).
Note that:
- Inference time for all projects is measured on a NVIDIA 1080Ti with batch size 1.
- APs are evaluated on COCO2017 val split unless specified.## Installation
First install Detectron2 following the official guide: [INSTALL.md](https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md).
*Please use Detectron2 with commit id [9eb4831](https://github.com/facebookresearch/detectron2/commit/9eb4831f742ae6a13b8edb61d07b619392fb6543) if you have any issues related to Detectron2.*
Then build AdelaiDet with:
```
git clone https://github.com/aim-uofa/AdelaiDet.git
cd AdelaiDet
python setup.py build develop
```If you are using docker, a pre-built image can be pulled with:
```
docker pull tianzhi0549/adet:latest
```Some projects may require special setup, please follow their own `README.md` in [configs](configs).
## Quick Start
### Inference with Pre-trained Models
1. Pick a model and its config file, for example, `fcos_R_50_1x.yaml`.
2. Download the model `wget https://huggingface.co/tianzhi/AdelaiDet-FCOS/resolve/main/FCOS_R_50_1x.pth?download=true -O fcos_R_50_1x.pth`
3. Run the demo with
```
python demo/demo.py \
--config-file configs/FCOS-Detection/R_50_1x.yaml \
--input input1.jpg input2.jpg \
--opts MODEL.WEIGHTS fcos_R_50_1x.pth
```### Train Your Own Models
To train a model with "train_net.py", first
setup the corresponding datasets following
[datasets/README.md](https://github.com/facebookresearch/detectron2/blob/master/datasets/README.md),
then run:```
OMP_NUM_THREADS=1 python tools/train_net.py \
--config-file configs/FCOS-Detection/R_50_1x.yaml \
--num-gpus 8 \
OUTPUT_DIR training_dir/fcos_R_50_1x
```
To evaluate the model after training, run:```
OMP_NUM_THREADS=1 python tools/train_net.py \
--config-file configs/FCOS-Detection/R_50_1x.yaml \
--eval-only \
--num-gpus 8 \
OUTPUT_DIR training_dir/fcos_R_50_1x \
MODEL.WEIGHTS training_dir/fcos_R_50_1x/model_final.pth
```
Note that:
- The configs are made for 8-GPU training. To train on another number of GPUs, change the `--num-gpus`.
- If you want to measure the inference time, please change `--num-gpus` to 1.
- We set `OMP_NUM_THREADS=1` by default, which achieves the best speed on our machines, please change it as needed.
- This quick start is made for FCOS. If you are using other projects, please check the projects' own `README.md` in [configs](configs).## Acknowledgements
The authors are grateful to
Nvidia, Huawei Noah's Ark Lab, ByteDance, Adobe who generously donated GPU computing in the past a few years.## Citing AdelaiDet
If you use this toolbox in your research or wish to refer to the baseline results published here, please use the following BibTeX entries:
```BibTeX
@misc{tian2019adelaidet,
author = {Tian, Zhi and Chen, Hao and Wang, Xinlong and Liu, Yuliang and Shen, Chunhua},
title = {{AdelaiDet}: A Toolbox for Instance-level Recognition Tasks},
howpublished = {\url{https://git.io/adelaidet}},
year = {2019}
}
```
and relevant publications:
```BibTeX@inproceedings{tian2019fcos,
title = {{FCOS}: Fully Convolutional One-Stage Object Detection},
author = {Tian, Zhi and Shen, Chunhua and Chen, Hao and He, Tong},
booktitle = {Proc. Int. Conf. Computer Vision (ICCV)},
year = {2019}
}@article{tian2021fcos,
title = {{FCOS}: A Simple and Strong Anchor-free Object Detector},
author = {Tian, Zhi and Shen, Chunhua and Chen, Hao and He, Tong},
journal = {IEEE T. Pattern Analysis and Machine Intelligence (TPAMI)},
year = {2021}
}@inproceedings{chen2020blendmask,
title = {{BlendMask}: Top-Down Meets Bottom-Up for Instance Segmentation},
author = {Chen, Hao and Sun, Kunyang and Tian, Zhi and Shen, Chunhua and Huang, Yongming and Yan, Youliang},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2020}
}@inproceedings{zhang2020MEInst,
title = {Mask Encoding for Single Shot Instance Segmentation},
author = {Zhang, Rufeng and Tian, Zhi and Shen, Chunhua and You, Mingyu and Yan, Youliang},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2020}
}@inproceedings{liu2020abcnet,
title = {{ABCNet}: Real-time Scene Text Spotting with Adaptive {B}ezier-Curve Network},
author = {Liu, Yuliang and Chen, Hao and Shen, Chunhua and He, Tong and Jin, Lianwen and Wang, Liangwei},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2020}
}@ARTICLE{9525302,
author={Liu, Yuliang and Shen, Chunhua and Jin, Lianwen and He, Tong and Chen, Peng and Liu, Chongyu and Chen, Hao},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={ABCNet v2: Adaptive Bezier-Curve Network for Real-time End-to-end Text Spotting},
year={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TPAMI.2021.3107437}
}@inproceedings{wang2020solo,
title = {{SOLO}: Segmenting Objects by Locations},
author = {Wang, Xinlong and Kong, Tao and Shen, Chunhua and Jiang, Yuning and Li, Lei},
booktitle = {Proc. Eur. Conf. Computer Vision (ECCV)},
year = {2020}
}@inproceedings{wang2020solov2,
title = {{SOLOv2}: Dynamic and Fast Instance Segmentation},
author = {Wang, Xinlong and Zhang, Rufeng and Kong, Tao and Li, Lei and Shen, Chunhua},
booktitle = {Proc. Advances in Neural Information Processing Systems (NeurIPS)},
year = {2020}
}@article{wang2021solo,
title = {{SOLO}: A Simple Framework for Instance Segmentation},
author = {Wang, Xinlong and Zhang, Rufeng and Shen, Chunhua and Kong, Tao and Li, Lei},
journal = {IEEE T. Pattern Analysis and Machine Intelligence (TPAMI)},
year = {2021}
}@article{tian2019directpose,
title = {{DirectPose}: Direct End-to-End Multi-Person Pose Estimation},
author = {Tian, Zhi and Chen, Hao and Shen, Chunhua},
journal = {arXiv preprint arXiv:1911.07451},
year = {2019}
}@inproceedings{tian2020conditional,
title = {Conditional Convolutions for Instance Segmentation},
author = {Tian, Zhi and Shen, Chunhua and Chen, Hao},
booktitle = {Proc. Eur. Conf. Computer Vision (ECCV)},
year = {2020}
}@article{CondInst2022Tian,
title = {Instance and Panoptic Segmentation Using Conditional Convolutions},
author = {Tian, Zhi and Zhang, Bowen and Chen, Hao and Shen, Chunhua},
journal = {IEEE T. Pattern Analysis and Machine Intelligence (TPAMI)},
year = {2022}
}@inproceedings{tian2021boxinst,
title = {{BoxInst}: High-Performance Instance Segmentation with Box Annotations},
author = {Tian, Zhi and Shen, Chunhua and Wang, Xinlong and Chen, Hao},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2021}
}@inproceedings{wang2021densecl,
title = {Dense Contrastive Learning for Self-Supervised Visual Pre-Training},
author = {Wang, Xinlong and Zhang, Rufeng and Shen, Chunhua and Kong, Tao and Li, Lei},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2021}
}@inproceedings{Mao2021pose,
title = {{FCPose}: Fully Convolutional Multi-Person Pose Estimation With Dynamic Instance-Aware Convolutions},
author = {Mao, Weian and Tian, Zhi and Wang, Xinlong and Shen, Chunhua},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2021}
}
```## License
For academic use, this project is licensed under the 2-clause BSD License - see the LICENSE file for details. For commercial use, please contact [Chunhua Shen](mailto:[email protected]).