Ai4rs
AI for remote sensing, remote sense, object detection, oriented object detection, computer vision, cv
Install / Use
/learn @wokaikaixinxin/Ai4rsREADME
📘Documentation | 🛠️Installation | 👀Model Zoo
</div>Introduction 👋
We hope to integrate remote sensing related work based on MMLab, especially MMDetection and MMRotate.
Model Zoo 🐅
<details open> <summary><b>Real Time </b></summary>| | | | | | :---: | :---: | :---: | :---: | |Rotated YOLOX (arXiv 2021) |RTMDet (arXiv 2022) | Rotated YOLOMS (TPAMI 2025) | RTDETR (CVPR' 2024) | | O2-RTDETR (TGRS 2026) | | | |
</details> <details open> <summary><b>Oriented Object Detection - Architecture </b></summary>| | | | |
| :---: | :---: | :---: | :---: |
| Rotated RetinaNet-OBB/HBB<br>(ICCV'2017) | Rotated FasterRCNN-OBB<br>(TPAMI'2017) | Rotated RepPoints-OBB<br>(ICCV'2019) | Rotated FCOS<br>(ICCV'2019) |
| RoI Transformer<br>(CVPR'2019) | Gliding Vertex<br>(TPAMI'2020) | Rotated ATSS-OBB<br>(CVPR'2020) | R<sup>3</sup>Det<br>(AAAI'2021) |
| S<sup>2</sup>A-Net<br>(TGRS'2021) | ReDet<br>(CVPR'2021) | Beyond Bounding-Box<br>(CVPR'2021) | Oriented R-CNN<br>(ICCV'2021) |
| Rotated YOLOX <br>(arXiv 2021) | Rotated Deformable DETR <br> (ICLR'2021) |SASM<br>(AAAI'2022) | Oriented RepPoints<br>(CVPR'2022) |
| RTMDet<br>(arXiv 2022) |Rotated DiffusionDet<br>(ICCV'2023) | Rotated DINO<br>(ICLR 2023) | OrientedFormer<br>(TGRS' 2024) |
| RTDETR<br> (CVPR' 2024) | ReDiffDet base<br>(CVPR'2025)| GSDet base<br>(IJCAI'2025)| Rotated YOLOMS<br>(TPAMI 2025) |
| MessDet<br>(ICCV'2025) | AMMBA<br>(TGRS'2025) | RHINO<br>(WACV'2025) | HERO <br>(AAAI'2026) |
| O2-RTDETR<br>(TGRS' 2026) | | | |
| | | | | | :---: | :---: | :---: | :---: | | GWD<br>(ICML'2021) | KLD<br>(NeurIPS'2021) | KFIoU<br>(ICLR'2023) | |
</details> <details open> <summary><b>Oriented Object Detection - Coder</b></summary>| | | | | | | :---: | :---: | :---: | :---: | :---: | | CSL<br>(ECCV'2020) | Oriented R-CNN<br>(ICCV'2021) | PSC<br>(CVPR'2023) | ACM<br>(CVPR'2024) |GauCho<br>(CVPR'2025) |
</details> <details open> <summary><b>Oriented Object Detection - Backbone</b></summary>| | | | | | | :---: | :---: | :---: | :---: | :---: | | ConvNeXt<br>(CVPR'2022)| LSKNet<br>(ICCV'2023) | ARC<br>(ICCV'2023) | PKINet<br>(CVPR'2024) | SARDet 100K<br>(Nips'2024) | | GRA<br>(ECCV'2024) | LEGNet<br>(ICCVW'2025) | Strip R-CNN<br>(AAAI'2026) | LWGANet<br>(AAAI'2026) | Fourier Angle Align<br>(CVPR'2026) |
</details> <details open> <summary><b>Oriented Object Detection - Weakly Supervise</b></summary>| | | | | | | :---: | :---: | :---: | :---: | :---: | | H2RBox<br>(ICLR'2023) | H2RBox-v2<br>(Nips'2023) | Point2Rbox<br>(CVPR'2024) | Point2Rbox-v2<br>(CVPR'2025)| WhollyWOOD<br>(TPAMI'2025) | | ABBSPO<br>(CVPR'2025) | | | | |
</details> <details open> <summary><b>Oriented Object Detection - Semi Supervise</b></summary>Coming soon
</details> <details open> <summary><b>SAR</b></summary>| | | | | | :---: | :---: | :---: | :---: | | SARDet 100K (Nips'2024) | RSAR (CVPR'2025) | | |
</details> <details open> <summary><b>SAM</b></summary>| | | | | | :---: | :---: | :---: | :---: | | MMRotate SAM | | | |
</details> <details open> <summary><b>Scene graph generation (SGG)</b></summary>| | | | | | :---: | :---: | :---: | :---: | | STAR (TPAMI'2025) | ReCon1M (TGRS'2025) | | |
</details> <details open> <summary><b>Change Detection</b></summary>| | | | |
| :---: | :---: | :---: | :---: |
| FC-EF (ICIP'2018) | FC-Siam-conc (ICIP'2018) | FC-Siam-diff (ICIP'2018) | Changer (TGRS'2023) |
| BiT (TGRS' 2021) | IDA-SiamNet (TGRS' 2024) | | |
| | | | | | :---: | :---: | :---: | :---: | | CATNet (TNNLS'2024) | | | |
</details> <details open> <summary><b>RGB Infrared</b></summary>| | | | | | :---: | :---: | :---: | :---: | | DroneVehicle (CSVT'22) | | | |
</details>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:
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu121
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.2.0" -i https://pypi.tuna.tsinghua.edu.cn/simple
Step 5: Install MMDetection and MMSegmentation(for change detection)
mim install 'mmdet>3.0.0rc6, <3.4.0' -i https://pypi.tuna.tsinghua.edu.cn/simple
mim install "mmsegmentation>=1.2.2" -i https://pypi.tuna.tsinghua.edu.cn/simple
Change the version number in the mmdet code.
python -c "import mmdet; print(mmdet.__file__)"
# ...
# File "/root/anaconda3/envs/ai4rs/lib/python3.10/site-packages/mmdet/__init__.py", line 17,
# in <module> and mmcv_version < digit_version(mmcv_maximum_version)), \
# AssertionError: MMCV==2.2.0 is used but incompatible. Please install mmcv>=2.0.0rc4, <2.2.0.
modify /root/anaconda3/envs/ai4rs/lib/python3.10/site-packages/mmdet/__init__.py
vim '/root/anaconda3/envs/ai4rs/lib/python3.10/site-packages/mmdet/__init__.py'
# mmcv_maximum_version = '2.2.0' -> '2.3.0'
Change the version number in the mmseg code.
python -c "import mmseg; print(mmseg.__file__)"
# ...
# File "/root/anaconda3/envs/ai4rs/lib/python3.10/site-packages/mmseg/__init__.py", line 61,
# in <module> assert (mmcv_min_version <= mmcv_version < mmcv_max_version), \
# AssertionError: MMCV==2.2.0 is used but incompatible. Please install mmcv>=2.0.0rc4.
modify /root/anaconda3/envs/ai4rs/lib/python3.10/site-packages/mmseg/__init__.py
vim '/root/anaconda3/envs/ai4rs/lib/python3.10/site-packages/mmseg/__init__.py'
# MMCV_MAX = '2.2.0' -> '2.3.0'
Step 6: Install ai4rs
git clone https://github.com/wokaikaixinxin/ai4rs.git
