Skip to content

Xuyihaoby/rotate_detection

Repository files navigation

Introduction

Rotate Detection is an open source rotated object detection toolbox based on PyTorch.

License

This project is released under the Apache 2.0 license.

Benchmark and model zoo

Results and models are available in the model zoo.

Supported backbones:

  • ResNet
  • ResNeXt
  • VGG
  • HRNet
  • RegNet
  • Res2Net
  • ResNeSt
  • [boat_]Swin(v1\v2)
  • CSwin
  • ReResNet
  • MobileNet_v2
  • RepVGG
  • ConvNeXt(v1\v2)
  • RepLK
  • SLaK
  • HorNet
  • FocalNet
  • PVT(v1\v2)
  • metaformer(v1\v2)
  • efficientformer
  • COC
  • SSA
  • rednet
  • edgenext
  • LSK
  • ARC
  • VITAE

Supported methods(rotate):

  • RFaster R-CNN(hbb+obb)
  • HSP
  • RCascade RCNN(hbb proposal&hbb+obb)
  • RRetinanet(obb)
  • RHTC(hbb proposal&hbb+obb)
  • Oriented RCNN(obb/obb+hbb)
  • RoITrans(1st hbb+obb 2nd obb)
  • Double head(obb+hbb rf&oriented)
  • ReDet
  • s2anet
  • GWD
  • KLD
  • r3det
  • rreppoints(vanilla, OrientedReppoints, cfa)
  • RFCOS
  • RDETR(not converge)
  • GRep(vanilla)
  • KFIoU
  • RGFL(vanilla)
  • radamixer(vanilla)
  • rsparse_rcnn(vanilla)
  • rpaa(vanilla,atss)
  • centernet

Angle version

$v1(oc):cv2.minAreaRect$

$v2(le135):-\pi/4\rightarrow\pi 3/4$

$v3(le90):-\pi/2\rightarrow\pi/2$

You can find more details in About angle definition

Installation

create virtual environment

conda create -n open-mmlab python=3.8 -y
conda activate open-mmlab

install pytorch

pip3 install torch==1.7.0+cu110{cuda_version} torchvision==0.8.1+cu110{cuda_version} torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

manually install mmdetection/mmcv

pip install mmcv-full==1.2.5 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
cd rotate_detection
pip install -r requirements/build.txt
pip install -v -e . # or "python setup.py develop"

Install DOTA_devkit

cd DOTA_devkit
sudo apt-get install swig
swig -c++ -python polyiou.i
python setup.py build_ext --inplace

Parse result

python tools/rotate/parse_results.py {configs} {pkl} {nms}
                              --[type]
                              --[eval]
  • configs:the model config you design
  • pkl:model inference result
  • nms:whether to merge result [Y/N]
  • type:if you want to merge, merge rotate or horizon [HBB/OBB/ALL]
  • eval: whether to eval result

Reference

open-mmlab/mmdetection

open-mmlab/mmrotate

open-mmlab/mmclassification

jbwang1997/OBBDetection

Releases

No releases published

Packages

No packages published