- Script inference.py in DOTA_Devkit to inference just refer from labelTxt
- dataset_json.py in tools can generate json without labeltxt, Just For Inference(test/val)
- When I load different/same model in a script more than one time, the inference will have errors, fix it in mmdet folder.
ReDet: A Rotation-equivariant Detector for Aerial Object Detection (CVPR2021),
Jiaming Han*, Jian Ding*, Nan Xue, Gui-Song Xia†,
arXiv preprint (arXiv:2103.07733) / CVPR Open access.
The repo is based on AerialDetection and mmdetection. AerialDetection is a powerful framework for object detection in aerial images, which contains a lot of useful algorithms and tools.
Recently, object detection in aerial images has gained much attention in computer vision. Different from objects in natural images, aerial objects are often distributed with arbitrary orientation. Therefore, the detector requires more parameters to encode the orientation information, which are often highly redundant and inefficient. Moreover, as ordinary CNNs do not explicitly model the orientation variation, large amounts of rotation augmented data is needed to train an accurate object detector. In this paper, we propose a Rotation-equivariant Detector (ReDet) to address these issues, which explicitly encodes rotation equivariance and rotation invariance. More precisely, we incorporate rotation-equivariant networks into the detector to extract rotation-equivariant features, which can accurately predict the orientation and lead to a huge reduction of model size. Based on the rotation-equivariant features, we also present Rotation-invariant RoI Align (RiRoI Align), which adaptively extracts rotation-invariant features from equivariant features according to the orientation of RoI. Extensive experiments on several challenging aerial image datasets DOTA-v1.0, DOTA-v1.5 and HRSC2016, show that our method can achieve state-of-the-art performance on the task of aerial object detection. Compared with previous best results, our ReDet gains 1.2, 3.5 and 2.6 mAP on DOTA-v1.0, DOTA-v1.5 and HRSC2016 respectively while reducing the number of parameters by 60% (313 Mb vs. 121 Mb).
- 2022-03-28. Speed up ReDet now! We convert the pre-trained weights of ReResNet+ReFPN to standard pytorch layers (see GETTING_STARTED.md). In the testing phase, you can directly use ResNet+FPN as the backbone of ReDet without compromising its rotation equivariance. Besides, you can also convert ReResNet to standard ResNet with this script.
- 2021-04-13. Update our pretrained ReResNet and fix by this commit. If you cannot reach the reported mAP, please download it and try again.
- 2021-03-09. Code released.
- ImageNet pretrain
We pretrain our ReResNet on the ImageNet-1K. Related codes can be found at the ReDet_mmcls branch. Here we provide our pretrained ReResNet-50 model for convenience. If you want to train and use ReResNet in your own project, please check out ReDet_mmcls for the installation and basic usage.
Model | Group | Top-1 (%) | Top-5 (%) | Download |
---|---|---|---|---|
ReR50 | C8 | 71.20 | 90.28 | model | log |
ReR101 | C8 | 74.92 | 92.22 | model | log |
- Object Detection
Model | Data | Backbone | MS | Rotate | Lr schd | box AP | Download |
---|---|---|---|---|---|---|---|
ReDet | DOTA-v1.0 | ReR50-ReFPN | - | - | 1x | 76.25 | cfg model log |
ReDet | DOTA-v1.0 | ReR50-ReFPN | ✓ | ✓ | 1x | 80.10 | cfg model log |
ReDet | DOTA-v1.5 | ReR50-ReFPN | - | - | 1x | 66.86 | cfg model log |
ReDet | DOTA-v1.5 | ReR101-ReFPN | - | - | 1x | 67.62 | cfg model log |
ReDet | DOTA-v1.5 | ReR50-ReFPN | ✓ | ✓ | 1x | 76.80 | cfg model log |
ReDet | HRSC2016 | ReR50-ReFPN | - | - | 3x | 90.46 | cfg model log |
Note:
- All our models are trained on 4GPUs with a learning rate 0.01. If you train your model with more/fewer GPUs, remember to change the learning rate, e.g., 0.02lr=0.0025lr*8GPU, 0.0025lr=0.0025lr*1GPU.
- If you cannot get access to Google Drive, BaiduYun download link can be found here with extracting code ABCD.
Please refer to INSTALL.md for installation and dataset preparation.
Please see GETTING_STARTED.md for the basic usage.
@InProceedings{han2021ReDet,
author = {Han, Jiaming and Ding, Jian and Xue, Nan and Xia, Gui-Song},
title = {ReDet: A Rotation-equivariant Detector for Aerial Object Detection},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021},
pages = {2786-2795}
}