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.

Main Features

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.

  • Rotation Augmentation

    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).