EMA-attention-module

December 14, 2024 ยท View on GitHub

Results

Training on CIFAR-100 with ResNet for 200 epochs.

  • Train
    CUDA_VISIBLE_DEVICES=0 python train_cifar100.py --b 128
    
NameResolution#ParamsTop-1 Acc.Top-5 Acc.BaiduDrive(models)
ResNet503223.71M77.2693.63-
+ CBAM3226.24M80.5695.34-
+ SA3223.71M79.9295.00-
+ ECA3223.71M79.6895.05-
+ NAM3223.71M80.6295.28-
+ CA3225.57M80.1794.94-
+ SE3226.2M79.7194.82-
+ BAM3224.1M80.0394.97-
+ TAM3223.7M79.8594.87-
+ GAM32149.5M81.3395.46-
+ EMA3223.85M80.6995.59ema
+ SSA-323225.6M80.7695.57ssa
+ SSA-163227.5M81.3295.55ssa
ResNet1013242.70M77.7894.39-
+ CA3246.22M80.0194.78-
+ EMA3242.96M80.8695.75-
+ SSA-323246.3M81.3795.29ssa
+ SSA-163250.0M81.4195.59ssa

Training on ImageNet-1k with MobileNetv2 for 400 epochs.

  • Train
    ./distributed_train.sh 2 ./ILSVRC2012/ --model mobilenetv2_100 -b 256 --sched cosine --epochs 400 --decay-epochs 2.4 --decay-rate .97 --opt-eps .001 -j 16 --weight-decay 1e-5 --drop 0.2 --drop-path 0.2 --model-ema --model-ema-decay 0.9999 --aa rand-m9-mstd0.5 --remode pixel --amp --lr 0.4 --warmup-epochs 5 
    
  • Val
    python validate.py ./ILSVRC2012/ --model mobilenetv2_100 --checkpoint model_best.pth.tar --use-ema
    
NameResolution#ParamsMFLOPsTop-1 Acc.Top-5 Acc.BaiduDrive(models)
MobileNetv22243.50M30072.391.02
+ SE2243.89M30073.5--
+ CBAM2243.89M30073.6--
+ CA2243.95M31074.3--
+ EMA2243.55M30674.3291.82ema

Training on ImageNet-1k with MobileNetv2 for 200 epochs.

  • Train
    python imagenet.py  -a mobilenetv2  -d <path-to-ILSVRC2012-data> --epochs 200 --lr-decay cos --lr 0.05 --wd 4e-5   -c <path-to-save-checkpoints>   --input-size 224 
    
NameResolution#ParamsMFLOPsTop-1 Acc.Top-5 Acc.BaiduDrive(models)
MobileNetv22243.504M300.7972.19290.534-
+ EMA224-30272.5590.89ema

Training on COCO 2017 with YOLOv5s for 300 epochs.

  • Train
    python train.py --data coco.yaml --cfg yolov5s_EMA.yaml --weights yolov5s.pt --batch-size 64 --device 0
    
  • Val
    python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65 --weights yolov5s.pt 
    
NameResolution#ParamsMFLOPsmAP@.5mAP@.5:.95BaiduDrive(models)
YOLOv5s6407.23M16.556.037.2yolov5s(v6.0)
+ CBAM6407.27M16.657.137.7cbam
+ SA6407.23M16.556.837.4sa
+ ECA6407.23M16.557.137.6eca
+ CA6407.26M16.5057.538.1ca
+ EMA6407.24M16.5357.838.4ema
+ SSA-326407.27M058.738.4
+ SSA-166407.31M058.138.5
+ SSA-26408.55M058.338.8
+ SSA-164011.50M058.839.1

Training on VisDrone 2019 with YOLOv5x.

  • Train
    python train.py --data VisDrone.yaml --weights yolov5x.pt --cfg models/accModels/yolov5xP2CBAM.yaml --epochs 300 --batch-size 6 --img 640 --device 0
    
    
  • Val
    python val.py --data VisDrone.yaml --img 640 --weights best.pt
    
NameResolution#ParamsMFLOPsmAP@.5mAP@.5:.95BaiduDrive(models)
YOLOv5x (v6.0)64090.96M314.249.2930.0-
+ CBAM64091.31M315.149.4030.1-
+ CA64091.28M315.249.3030.1-
+ EMA64091.18M315.049.7030.4ema
+ SSA-3264091.18M315.849.8030.7

References

@INPROCEEDINGS{10096516,
  author={Ouyang, Daliang and He, Su and Zhang, Guozhong and Luo, Mingzhu and Guo, Huaiyong and Zhan, Jian and Huang, Zhijie},
  booktitle={ICASSP 2023 - 2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)}, 
  title={Efficient Multi-Scale Attention Module with Cross-Spatial Learning}, 
  year={2023},
  pages={1-5},
  doi={10.1109/ICASSP49357.2023.10096516}}