Skip to content

Latest commit

 

History

168 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RC-SODet

Implementation of paper - [Article Title]{RC-SODet: A Re-parameterized Multi-scale Compact Feature Extraction Model for Small Object Detection](-)

arxiv.org Hugging Face Spaces Hugging Face Spaces

Performance

MS VisDrone

Model Test Size APval AP50val AP50-95val Param. FLOPs
RC-SODet-T 640 46.3% 33.3% 34.5% 4.2M 21.5G
RC-SODet-S 640 52.6% 39.5% 41.3% 16.0M 80.1G
RC-SODet-M 640 57.9% 43.5% 46.1% 40.30M 179.2G
RC-SODet-C 640 59.2% 45.7% 48.1% 65.7M 355.1G

Installation

conda create -n RC-SODet python=3.11

conda activate RC-SODet

pip install -r requirements.txt

Evaluation

RC-SODet-T.pt RC-SODet-S.pt RC-SODet-M.pt RC-SODet-C.pt

# evaluate converted yolov9 models
python val_dual.py --data data/VisDrone.yaml --img 640 --batch 32 --conf 0.001 --iou 0.7 --device 0 --weights '.RC-SODet-C.pt' --save-json --name RC-SODet-C_640_val

# evaluate yolov9 models
# python val_dual.py --data data/VisDrone.yaml --img 640 --batch 4 --conf 0.001 --iou 0.7 --device 0 --weights '.RC-SODet-C.pt' --save-json --name RC-SODet-C_640_val


## Training

Data preparation
https://docs.ultralytics.com/datasets/detect/visdrone/#what-are-the-main-subsets-of-the-visdrone-dataset-and-their-applications


Single GPU training

``` shell
# train SDO-RepCIN models
python train_dual.py --workers 8 --device 0 --batch 4 --data data/VisDrone.yaml --img 640 --cfg models/detect/RC-SODett.yaml --weights '' --name RC-SODett --hyp hyp.scratch-high.yaml --min-items 0 --epochs 200 --close-mosaic 15

# train gelan models
# python train.py --workers 8 --device 0 --batch 32 --data data/coco.yaml --img 640 --cfg models/detect/gelan-c.yaml --weights '' --name gelan-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 500 --close-mosaic 15

Multiple GPU training

# train RC-SODetc models
python -m torch.distributed.launch --nproc_per_node 8 --master_port 9527 train_dual.py --workers 8 --device 0,1,2,3,4,5,6,7 --sync-bn --batch 128 --data data/VisDrone.yaml --img 640 --cfg models/detect/RC-SODetc.yaml --weights '' --name RC-SODetc --hyp hyp.scratch-high.yaml --min-items 0 --epochs 200 --close-mosaic 15

Inference

# inference yolov9 models
python detect_dual.py --source '.data/images/9999970_00000_d_0000012.jpg' --img 640 --device 0 --weights './RC-SODet-C.pt' --name RC-SODet-C.pt_640_detect

# inference gelan models
# python detect.py --source './data/images/horses.jpg' --img 640 --device 0 --weights './gelan-c.pt' --name gelan_c_c_640_detect

Citation

-
@article{wang2024yolov9,
  title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

Acknowledgements

Expand

About

A Re-parameterized Multi-scale Compact Feature Extraction Model for Small Object Detection

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages