yjh0410 ec10144a0e update all README files před 2 roky
..
README.md ec10144a0e update all README files před 2 roky
build.py 2259ef87f2 update před 2 roky
loss.py be12f940f2 update před 2 roky
matcher.py 222a4fadd1 debug AlignedSimOTA for RTCDet-M před 2 roky
rtcdet.py 2259ef87f2 update před 2 roky
rtcdet_backbone.py 4e429e1847 train RTCDet-S on COCO před 2 roky
rtcdet_basic.py ae03c10fc1 train RTCDet-M with 320-960 před 2 roky
rtcdet_head.py 578dc295f4 redesign RTCDet před 2 roky
rtcdet_neck.py 578dc295f4 redesign RTCDet před 2 roky
rtcdet_pafpn.py 62a5b79e6a update před 2 roky
rtcdet_pred.py f6753b0e9b train RTCDet-S před 2 roky

README.md

RTCDet: My Empirical Study of Real-Time Convolutional Object Detectors.

Model Scale Batch APtest
0.5:0.95
APtest
0.5
APval
0.5:0.95
APval
0.5
FLOPs
(G)
Params
(M)
Weight
RTCDet-N 640 8xb16
RTCDet-T 640 8xb16
RTCDet-S 640 8xb16 30.9 8.5
RTCDet-M 640 8xb16 48.7 67.6 80.3 22.6 ckpt
RTCDet-L 640 8xb16
RTCDet-X 640 8xb16
  • For training, we train my RTCDet series series with 300 epochs on COCO.
  • For data augmentation, we use the large scale jitter (LSJ), Mosaic augmentation and Mixup augmentation, following the setting of YOLOX, but we remove the rotation transformation which is used in YOLOX's strong augmentation.
  • For optimizer, we use AdamW with weight decay 0.05 and base per image lr 0.001 / 64.
  • For learning rate scheduler, we use linear decay scheduler.
  • Due to my limited computing resources, I can not train RTCDet-X with the setting of batch size=128.

Train RTCDet

Single GPU

Taking training RTCDet-S on COCO as the example,

python train.py --cuda -d coco --root path/to/coco -m rtcdet_s -bs 16 -size 640 --wp_epoch 3 --max_epoch 300 --eval_epoch 10 --no_aug_epoch 20 --ema --fp16 --multi_scale 

Multi GPU

Taking training RTCDet-S on COCO as the example,

python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco --root /data/datasets/ -m rtcdet_s -bs 128 -size 640 --wp_epoch 3 --max_epoch 300  --eval_epoch 10 --no_aug_epoch 20 --ema --fp16 --sybn --multi_scale --save_folder weights/ 

Test RTCDet

Taking testing RTCDet-S on COCO-val as the example,

python test.py --cuda -d coco --root path/to/coco -m rtcdet_s --weight path/to/rtcdet_s.pth -size 640 -vt 0.4 --show 

Evaluate RTCDet

Taking evaluating RTCDet-S on COCO-val as the example,

python eval.py --cuda -d coco-val --root path/to/coco -m rtcdet_s --weight path/to/rtcdet_s.pth 

Demo

Detect with Image

python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m rtcdet_s --weight path/to/weight -size 640 -vt 0.4 --show

Detect with Video

python demo.py --mode video --path_to_vid path/to/video --cuda -m rtcdet_s --weight path/to/weight -size 640 -vt 0.4 --show --gif

Detect with Camera

python demo.py --mode camera --cuda -m rtcdet_s --weight path/to/weight -size 640 -vt 0.4 --show --gif
Model Scale Batch APval
0.5:0.95
APval
0.5
FLOPs
(G)
Params
(M)
Weight
RTCDet-P 320 8xb16 -
RTCDet-P 416 8xb16 -
RTCDet-P 512 8xb16 -
RTCDet-P 640 8xb16 -