Skip to content

YOLOv9 Face 🚀 in PyTorch > ONNX > CoreML > TFLite

License

Notifications You must be signed in to change notification settings

akanametov/yolov9-face

 
 

Repository files navigation

YOLOv9

Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

Hugging Face Spaces Hugging Face Spaces Colab arxiv.org

🔥Update

  • ✅ YOLOv9-c (face) trained on WIDERFace [26.02]

Installation

Docker environment (recommended)

Expand
# create the docker container, you can change the share memory size if you have more.
nvidia-docker run --name yolov9 -it -v your_coco_path/:/coco/ -v your_code_path/:/yolov9 --shm-size=64g nvcr.io/nvidia/pytorch:21.11-py3

# apt install required packages
apt update
apt install -y zip htop screen libgl1-mesa-glx

# pip install required packages
pip install seaborn thop

# go to code folder
cd /yolov9

Trained models

yolov9-c-face.pt

YOLOv9-face

Results

PR curve:

Losses and mAP:

Confusion matrix:

Training

Data preparation

Single GPU training

# train model
python train_dual.py --workers 8 --device 0 --batch 12 --data data/widerface.yaml --img 640 --cfg models/detect/yolov9-c.yaml --weights 'yolov9-c.pt' --name yolov9-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 100 --close-mosaic 15

Pretrained models

MS COCO

Model Test Size APval AP50val AP75val Param. FLOPs
YOLOv9-S 640 46.8% 63.4% 50.7% 7.2M 26.7G
YOLOv9-M 640 51.4% 68.1% 56.1% 20.1M 76.8G
YOLOv9-C 640 53.0% 70.2% 57.8% 25.5M 102.8G
YOLOv9-E 640 55.6% 72.8% 60.6% 58.1M 192.5G

Useful Links

Expand

Custom training: WongKinYiu#30 (comment)

ONNX export: WongKinYiu#2 (comment) WongKinYiu#40 (comment)

TensorRT inference: WongKinYiu#34 (comment) WongKinYiu#79 (comment)

Hugging Face demo: WongKinYiu#45 (comment)

CoLab demo: WongKinYiu#18

ONNXSlim export: WongKinYiu#37

YOLOv9 ByteTrack: WongKinYiu#78 (comment)

YOLOv9 counting: WongKinYiu#84 (comment)

AnyLabeling tool: WongKinYiu#48 (comment)

Re-parameterization

See reparameterization.ipynb.

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}
}
@article{chang2023yolor,
  title={{YOLOR}-Based Multi-Task Learning},
  author={Chang, Hung-Shuo and Wang, Chien-Yao and Wang, Richard Robert and Chou, Gene and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2309.16921},
  year={2023}
}

Teaser

Parts of code of YOLOR-Based Multi-Task Learning are released in the repository.

Acknowledgements

Expand

Packages

No packages published

Languages

  • Python 99.5%
  • Other 0.5%