modele de detection des pieces de cfa
Fichier README.md (résumé, commandes, how-to)
# Coin Recognition — YOLOv8 + Roboflow + Streamlit
## But
Détecter et classifier les pièces CFA (5f, 10f, 25f, 50f, 100f, 200f, 500f) avec YOLOv8 entraîné sur un dataset annoté via Roboflow. Fournir une interface Streamlit pour tester l'inférence.
## Pré-requis
- Python 3.9+
- (GPU recommandé pour l'entraînement)
- Compte Roboflow + API key (si tu utilises Roboflow)
## Installation
```bash
python -m venv .venv
source .venv/bin/activate # ou .venv\\Scripts\\activate sur Windows
pip install -r requirements.txt
Workflow rapide
Uploader & annoter le dataset sur Roboflow (interface web).
Créer une version avec augmentations et exporter en YOLO format.
Télécharger et placer le dataset dans data/yolo_dataset/ (ou utiliser data.yaml fourni par Roboflow).
Entraîner YOLOv8 :
yolo detect train model=yolov8n.pt data=data.yaml epochs=50 imgsz=640 batch=16 name=coin_yolov8n
Lancer l'app Streamlit (inférence locale) :
streamlit run streamlit_app/app_yolo.py
Fichiers & dossiers
data/ : datasets (raw et exports YOLO)
models/yolov8/ : modèles entraînés (.pt)
scripts/ : utilitaires (resize, download)
src/ : fonctions d'inférence (Ultralytics et Roboflow)
streamlit_app/ : apps Streamlit (local et Roboflow)
notebooks/ : notebooks d'expérimentation
requirements.txt : dépendances
README.md : ce fichier
Roboflow tips
Choisir Object Detection pour YOLO.
Augmentations recommandées : rotation ±15°, brightness/contrast, gaussian noise, gaussian blur (faible), flips.
Exporter en YOLOv8 et télécharger data.yaml.
Notes
Pour production, packager dans Docker.
Pour performance, utiliser GPU (CUDA + PyTorch compatible).
---
# 13. `requirements.txt` minimal
numpy
opencv-python
Pillow
ultralytics
streamlit
roboflow
matplotlib
seaborn
tqdm