Skip to content

wokaikaixinxin/ai4rs

Repository files navigation

Introduction

We hope to integrate remote sensing related work based on MMLab, especially MMDetection and MMRotate.

Model Zoo

Oriented Object Detection - Architecture
Rotated RetinaNet-OBB/HBB
(ICCV'2017)
Rotated FasterRCNN-OBB
(TPAMI'2017)
Rotated RepPoints-OBB
(ICCV'2019)
Rotated FCOS
(ICCV'2019)
RoI Transformer
(CVPR'2019)
Gliding Vertex
(TPAMI'2020)
Rotated ATSS-OBB
(CVPR'2020)
R3Det
(AAAI'2021)
S2A-Net
(TGRS'2021)
ReDet
(CVPR'2021)
Beyond Bounding-Box
(CVPR'2021)
Oriented R-CNN
(ICCV'2021)
Rotated YOLOX
(arXiv 2021)
SASM
(AAAI'2022)
Oriented RepPoints
(CVPR'2022)
RTMDet
(arXiv 2022)
OrientedFormer
(TGRS' 2024)
ReDiffDet base
(CVPR'2025)
GSDet base
(IJCAI'2025)
Rotated DiffusionDet
(ICCV'2023)
Oriented Object Detection - Loss
GWD
(ICML'2021)
KLD
(NeurIPS'2021)
KFIoU
(ICLR'2023)
Oriented Object Detection - Coder
CSL
(ECCV'2020)
Oriented R-CNN
(ICCV'2021)
PSC
(CVPR'2023)
ACM
(CVPR'2024)
GauCho
(CVPR'2025)
Oriented Object Detection - Backbone
ConvNeXt
(CVPR'2022)
LSKNet
(ICCV'2023)
ARC
(ICCV'2023)
PKINet
(CVPR'2024)
SARDet 100K
(Nips'2024)
Strip R-CNN
(Arxiv'2025)
LEGNet
(ICCVW'2025)
LWGANet
(Arxiv'2025)
Oriented Object Detection - Weakly Supervise
H2RBox
(ICLR'2023)
H2RBox-v2
(Nips'2023)
Point2Rbox
(CVPR'2024)
Point2Rbox-v2
(CVPR'2025)
WhollyWOOD
(TPAMI'2025)
SAR
SARDet 100K
(Nips'2024)
RSAR
(CVPR'2025)
SAM
MMRotate SAM

Installation

To support H2rbox_v2, point2rbox, and mamba, we use pytorch-2.x

Step 1: Install Anaconda or Miniconda

Step 2: Create a virtual environment

conda create --name ai4rs python=3.10 -y
conda activate ai4rs

Step 3: Install Pytorch according to official instructions. For example:

conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia

Verify whether pytorch supports cuda

python -c "import torch; print(torch.cuda.is_available())"

Step 4: Install MMEngine and MMCV, and we recommend using MIM to complete the installation

pip install -U openmim -i https://pypi.tuna.tsinghua.edu.cn/simple
mim install mmengine -i https://pypi.tuna.tsinghua.edu.cn/simple
mim install "mmcv>2.0.0rc4, <2.2.0" -i https://pypi.tuna.tsinghua.edu.cn/simple

Step 5: Install MMDetection

mim install 'mmdet>3.0.0rc6, <3.4.0' -i https://pypi.tuna.tsinghua.edu.cn/simple

Step 6: Install ai4rs

git clone https://github.com/wokaikaixinxin/ai4rs.git
cd ai4rs
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,
# thus any local modifications made to the code will take effect without reinstallation.

Step 7: Version of NumPy

If the NumPy version is incompatible, downgrade the NumPy version to 1.x.

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
pip install "numpy<2" -i https://pypi.tuna.tsinghua.edu.cn/simple

Data Preparation

Please refer to data_preparation.md to prepare the data

DOTA DIOR SSDD HRSC
HRSID SRSDD RSDD ICDAR2015
SARDet 100K RSAR FAIR1M

Train

Single-node single-GPU

python tools/train.py config_path

For example:

python tools/train.py projects/GSDet_baseline/configs/GSDet_r50_b900_h2h4_h2r1_r2r1_2x_dior.py

Single-node multi-GPU

bash tools/dist_train.sh config_path num_gpus

For example:

bash tools/dist_train.sh projects/GSDet_baseline/configs/GSDet_r50_b900_h2h4_h2r1_r2r1_2x_dior.py 2

Test

Single-node single-GPU

python tools/test.py config_path checkpoint_path

For example:

python tools/test.py configs/h2rbox_v2/h2rbox_v2-le90_r50_fpn-1x_dota.py work_dirs/h2rbox_v2-le90_r50_fpn-1x_dota-fa5ad1d2.pth

Single-node multi-GPU

bash tools/dist_test.sh config_path checkpoint_path num_gpus

For example:

bash tools/dist_test.sh configs/h2rbox_v2/h2rbox_v2-le90_r50_fpn-1x_dota.py work_dirs/h2rbox_v2-le90_r50_fpn-1x_dota-fa5ad1d2.pth 2

Getting Started

Please see Overview for the general introduction of Openmmlab.

For detailed user guides and advanced guides, please refer to our documentation:

FAQ

Please refer to FAQ for frequently asked questions.

Acknowledgement

OpenMMLab

OpenMMLab platform

MMDetection

MMRotate

Citation

If you use this toolbox or benchmark in your research, please cite this project ai4rs