This codebase is created to build benchmarks for object detection in aerial images. It is modified from mmdetection. The master branch works with PyTorch 1.1 or higher. If you would like to use PyTorch 0.4.1, please checkout to the pytorch-0.4.1 branch.
To adapt to object detection in aerial images, this repo has several unique and new features compared to the original mmdetection
Support Oriented Object Detection
In aerial images, objects are usually annotated by oriented bounding box (OBB).
To support oriented object detection, we implement OBB Head (OBBRoIHead and OBBDenseHead).
Also, we provide functions to transfer mask predictions to OBBs.
Cython Bbox Overlaps
Since one patch image with the size of 1024 × 1024 may contain over 1000 instances
in DOTA, which make the bbox overlaps memroy consuming.
To avoid out of GPU memory, we calculate the bbox overlaps in cython.
The speed of cython version is close to the GPU version.
Since there are many orientation variations in aerial images, we implement the online rotation augmentation.
Rotated RoI Warping
Currently, we implement two types of rotated RoI Warping (Rotated RoI Align and Rotated Position Sensitive RoI Align).