Awesome
OBBDetection
note: If you have questions or good suggestions, feel free to propose issues and contact me.
introduction
OBBDetection is an oriented object detection toolbox modified from MMdetection v2.2.
Major features
-
MMdetection feature inheritance
OBBDetection doesn't change the structure and codes of original MMdetection and the additive codes are under MMdetection logic. Therefore, our OBBDetection inherits all features from MMdetection.
-
Support of multiple frameworks out of box
We implement multiple oriented object detectors in this toolbox (e.g. RoI Transformer, Gliding Vertex). Attributing to moudlar design of MMdetection, Many parts of detectors (e.g. backbone, RPN, sampler and assigner) have multiple options.
-
Flexible representation of oriented boxes
Horizontal bounding boxes (HBB), oriented bounding boxes (OBB) and 4 point boxes (POLY) are supported in this toolbox. The program will confirm the type of bounding box by the tensor shape or the default setting.
We develop BboxToolkit to support oriented bounding boxes operations, which is heavily depended on by this toolbox.
License
This project is released under the Apache 2.0 license.
Update
- (2022-03-15) Support oriented mask. Open source Oriented R-CNN and Beyond.
- (2021-12-14) Thanks liuyanyi for reimplementing S2ANet in OBBDetection.
- (2021-11-29) Discard mmcv-0.6.2 and support mmcv-full.
- (2021-09-18) Implement Double Head OBB in the OBBDetection.
- (2021-09-01) Implement FCOS OBB in the OBBDetection.
- (2021-08-21) Reimplement the PolyIoULoss.
Benchmark and model zoo
Results and models are available in the model zoo.
Supported backbones:
- ResNet
- ResNeXt
- VGG
- HRNet
- RegNet
- Res2Net
Supported oriented detection methods:
- S2ANet (TGRS)
- Oriented R-CNN (ICCV'2021)
- Oriented R-CNN and Beyond (IJCV 2024)
- Poly IoU Loss
- Faster R-CNN OBB
- Double Head OBB
- RetinaNet OBB
- Gliding Vertex
- RoI Transformer
- FCOS OBB
Supported horizontal detection methods:
- RPN
- Fast R-CNN
- Faster R-CNN
- Mask R-CNN
- Cascade R-CNN
- Cascade Mask R-CNN
- SSD
- RetinaNet
- GHM
- Mask Scoring R-CNN
- Double-Head R-CNN
- Hybrid Task Cascade
- Libra R-CNN
- Guided Anchoring
- FCOS
- RepPoints
- Foveabox
- FreeAnchor
- NAS-FPN
- ATSS
- FSAF
- PAFPN
- Dynamic R-CNN
- PointRend
- CARAFE
- DCNv2
- Group Normalization
- Weight Standardization
- OHEM
- Soft-NMS
- Generalized Attention
- GCNet
- Mixed Precision (FP16) Training
- InstaBoost
- GRoIE
- DetectoRS
- Generalized Focal Loss
Installation
Please refer to install.md for installation and dataset preparation.
Get Started
Oriented models training and testing
If you want to train or test a oriented model, please refer to oriented_model_starting.md.
How to use MMDetection
If you are not familiar with MMdetection, please see getting_started.md for the basic usage of MMDetection. There are also tutorials for finetuning models, adding new dataset, designing data pipeline, and adding new modules.
Acknowledgement
We refered S2ANet and AerialDetection when develping OBBDetection.
This toolbox is modified from MMdetection. If you use this toolbox or benchmark in your research, please cite the following information.
@article{mmdetection,
title = {{MMDetection}: Open MMLab Detection Toolbox and Benchmark},
author = {Chen, Kai and Wang, Jiaqi and Pang, Jiangmiao and Cao, Yuhang and
Xiong, Yu and Li, Xiaoxiao and Sun, Shuyang and Feng, Wansen and
Liu, Ziwei and Xu, Jiarui and Zhang, Zheng and Cheng, Dazhi and
Zhu, Chenchen and Cheng, Tianheng and Zhao, Qijie and Li, Buyu and
Lu, Xin and Zhu, Rui and Wu, Yue and Dai, Jifeng and Wang, Jingdong
and Shi, Jianping and Ouyang, Wanli and Loy, Chen Change and Lin, Dahua},
journal = {arXiv preprint arXiv:1906.07155},
year={2019}
}
This is the official implement of Oriented R-CNN. if it is used in your research, please cite the following information.
@InProceedings{Xie_2021_ICCV,
author = {Xie, Xingxing and Cheng, Gong and Wang, Jiabao and Yao, Xiwen and Han, Junwei},
title = {Oriented R-CNN for Object Detection},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2021},
pages = {3520-3529} }
@ARTICLE{orcnn_beyond,
author={Xie, Xingxing and Cheng, Gong and Wang, Jiabao and Li, Ke and Han, Junwei},
journal={International Journal of Computer Vision},
title={Oriented R-CNN and Beyond},
year={2024},
pages={1-23},
doi={https://doi.org/10.1007/s11263-024-01989-w}
}