Skip to content

wokaikaixinxin/ai4rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Introduction ๐Ÿ‘‹

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

Model Zoo ๐Ÿ…

Real Time
Rotated YOLOX (arXiv 2021) RTMDet (arXiv 2022) Rotated YOLOMS (TPAMI 2025) RTDETR (CVPR' 2024)
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)
Rotated Deformable DETR
(ICLR'2021)
SASM
(AAAI'2022)
Oriented RepPoints
(CVPR'2022)
RTMDet
(arXiv 2022)
Rotated DiffusionDet
(ICCV'2023)
OrientedFormer
(TGRS' 2024)
RTDETR
(CVPR' 2024)
ReDiffDet base
(CVPR'2025)
GSDet base
(IJCAI'2025)
Rotated YOLOMS
(TPAMI 2025)
MessDet
(ICCV'2025)
HERO
(AAAI2026)
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)
GRA
(ECCV'2024)
LEGNet
(ICCVW'2025)
Strip R-CNN
(AAAI'2026)
LWGANet
(AAAI'2026)
Oriented Object Detection - Weakly Supervise
H2RBox
(ICLR'2023)
H2RBox-v2
(Nips'2023)
Point2Rbox
(CVPR'2024)
Point2Rbox-v2
(CVPR'2025)
WhollyWOOD
(TPAMI'2025)
Oriented Object Detection - Semi Supervise

Coming soon

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.

Project Plan ๐Ÿ—“๏ธ

Acknowledgement ๐Ÿ™

OpenMMLab

OpenMMLab platform

MMDetection

MMRotate

Citation ๐ŸŒŸ

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

Releases

No releases published

Packages

No packages published

Languages