Mingxin Liu Peiyuan Zhang Yuan Liu Wei Zhang Yue Zhou Ning Liao Ziyang Gong Junwei Luo Zhirui Wang Yi Yu Xue Yang
We propose the first Partial Weakly-Supervised Oriented Object Detection (PWOOD) framework based on partially weak annotations (horizontal boxes or single points), which can efficiently leverage large amounts of unlabeled data, significantly outperforming weakly supervised algorithms trained with partially weak annotations, and also offers a lower cost solution.
conda create -n mm python==3.8 -y
conda activate mm
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -U openmim
mim install mmcv-full
mim install mmdet\<3.0.0
pip install scikit-learn
pip install prettytable
# For Point branch
cd mmrotate
pip install -v -e .
To divide the DOTA- v1.0/v1.5 dataset into labeled and unlabeled data, please refer to Data preparation of SOOD .
To divide the DOTA- v2.0 into labeled and unlabeled data, please refer to data_list/dotav2.
For details on how to split the DOTA dataset into patches, please refer to the official implementation .
After split, the data folder should be organized as follows:
split_ss_dota_vxx
├── train
│ ├── images
│ └── annfiles
├── val
│ ├── images
│ └── annfiles
├── train_xx_labeled
│ ├── images
│ └── annfiles
└──train_xx_unlabeled
├── images
└── annfiles
To divide the DIOR into labeled and unlabeled data, please refer to data_list/dior.
#2 GPU
CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nnodes=1 \
--node_rank=0 --master_addr="127.0.0.1" --nproc_per_node=2 --master_port=25510 \
train.py configs_dota15/xxx/xxx.py \
--launcher pytorch \
--work-dir work_dir/xxx/
python test.py configs_dota15/xxx/xxx.py work_dir/xxx/xxx.pth
Labeled Data | mAP | Config | Model | Log |
---|---|---|---|---|
20% | 62.93 | semi_h2rv2_adamw_dotav1_20p.py | best_0.629314_mAP.pth | dotav1_20p_log |
30% | 65.42 | semi_h2rv2_adamw_dotav1_30p.py | best_0.654153_mAP.pth | dotav1_30p_log |
Labeled Data | mAP | Config | Model | Log |
---|---|---|---|---|
10% | 52.87 | semi_h2rv2_adamw_dota15_10p.py | best_0.528748_mAP.pth | dotav15_10p_log |
20% | 59.36 | semi_h2rv2_adamw_dota15_20p.py | best_0.593614_mAP.pth | dotav15_20p_log |
30% | 61.58 | semi_h2rv2_adamw_dota15_30p.py | best_0.615836_mAP.pth | dotav15_30p_log |
Labeled Data | mAP | Config | Model | Log |
---|---|---|---|---|
10% | 31.30 | semi_h2rv2_adamw_dota2_10p.py | best_0.310266_mAP.pth | dotav2_10p_log |
20% | 36.39 | semi_h2rv2_adamw_dota2_20p.py | best_0.363926_mAP.pth | dotav2_20p_log |
30% | 40.27 | semi_h2rv2_adamw_dota2_30p.py | best_0.402659_mAP.pth | dotav2_30p_log |
Labeled Data | mAP | Config | Model | Log |
---|---|---|---|---|
10% | 54.33 | semi_h2rv2_adamw_dior_10p.py | best_0.543296_mAP.pth | doir_10p_log |
20% | 57.89 | semi_h2rv2_adamw_dior_20p.py | best_0.578923_mAP.pth | dior_20p_log |
30% | 60.42 | semi_h2rv2_adamw_dior_30p.py | best_0.604248_mAP.pth | dior_30p_log |
If you need Point version, please switch to the Point branch.
@misc{liu2025partialweaklysupervisedorientedobject,
title={Partial Weakly-Supervised Oriented Object Detection},
author={Mingxin Liu and Peiyuan Zhang and Yuan Liu and Wei Zhang and Yue Zhou and Ning Liao and Ziyang Gong and Junwei Luo and Zhirui Wang and Yi Yu and Xue Yang},
year={2025},
eprint={2507.02751},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2507.02751},
}