wokaikaixinxin/ai4rs

AI for remote sensing, remote sense, object detection, oriented object detection, computer vision, cv

Python

158

801 commits

updated Oct 6, 2026

See the code

README

visitors GitHub Repo stars

Introduction 👋

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

Model Zoo 🐅

Real Time
Oriented Object Detection - Architecture
Oriented Object Detection - Loss
Oriented Object Detection - Coder
Oriented Object Detection - Backbone
Oriented Object Detection - Weakly Supervise
Oriented Object Detection - Semi Supervise

Coming soon

SAR
SAM
Scene graph generation (SGG)
Change Detection
Instance Segmentation
Semantic Segmentation
RGB Infrared
Vison Language Model
Visual Grounding
Universal Proposals

Installation ⚙️ Bilibili

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
cd ai4rs

Option 1: Basic Installation
Use this for a lightweight setup with only the core functional dependencies.

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.

Option 2: Full Installation (Recommended)
Use this if you want all features and dependencies (e.g., change detection).

pip install -v -e .[all] -i https://pypi.tuna.tsinghua.edu.cn/simple

Data Preparation 🗃️

Please refer to data_preparation.md to prepare the data

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 🙏

Citation 🌟

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

⭐ If you find this project helpful, please give us a star! ⭐
ai-for-remote-sensing
ai-for-science
change-detection
cv
detr
instance-segmentation
mmdetection
mmlab
mmrotate
obb
object-detection
oriented-bounding-box
oriented-object-detection
real-time
remote-sense
remote-sensing
rotated-object-detection
rt-detr
segmentation
transformer

wokaikaixinxin/ai4rs

AI for remote sensing, remote sense, object detection, oriented object detection, computer vision, cv

Python

158

801 commits

updated Oct 6, 2026

See the code

README

visitors GitHub Repo stars

Introduction 👋

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

Model Zoo 🐅

Real Time
Oriented Object Detection - Architecture
Oriented Object Detection - Loss
Oriented Object Detection - Coder
Oriented Object Detection - Backbone
Oriented Object Detection - Weakly Supervise
Oriented Object Detection - Semi Supervise

Coming soon

SAR
SAM
Scene graph generation (SGG)
Change Detection
Instance Segmentation
Semantic Segmentation
RGB Infrared
Vison Language Model
Visual Grounding
Universal Proposals

Installation ⚙️ Bilibili

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
cd ai4rs

Option 1: Basic Installation
Use this for a lightweight setup with only the core functional dependencies.

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.

Option 2: Full Installation (Recommended)
Use this if you want all features and dependencies (e.g., change detection).

pip install -v -e .[all] -i https://pypi.tuna.tsinghua.edu.cn/simple

Data Preparation 🗃️

Please refer to data_preparation.md to prepare the data

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 🙏

Citation 🌟

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

⭐ If you find this project helpful, please give us a star! ⭐
ai-for-remote-sensing
ai-for-science
change-detection
cv
detr
instance-segmentation
mmdetection
mmlab
mmrotate
obb
object-detection
oriented-bounding-box
oriented-object-detection
real-time
remote-sense
remote-sensing
rotated-object-detection
rt-detr
segmentation
transformer