Skip to content

VisionXLab/PWOOD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Partial Weakly-Supervised Oriented Object Detection

Mingxin LiuPeiyuan ZhangYuan LiuWei ZhangYue ZhouNing LiaoZiyang GongJunwei LuoZhirui WangYi YuXue Yang

Introduction

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.

framework

Installation

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 .

Data Preparation

DOTA

1. Labeled/Unlabeled Data Division

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.

2. Data Split

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

DIOR

To divide the DIOR into labeled and unlabeled data, please refer to data_list/dior.

Train

#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/

Test

python test.py configs_dota15/xxx/xxx.py work_dir/xxx/xxx.pth 

Weight

DOTA- v1.0

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

DOTA- v1.5

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

DOTA- v2.0

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

DIOR

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

Guide

If you need Point version, please switch to the Point branch.

Citation

@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}, 
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages