Transport YOLO Robot — Pipeline de vision par ordinateur
Pipeline Python de préparation de données, d’entraînement et de détection d’objets pour un système de transport robotique.
Transport YOLO Robot est un projet de vision par ordinateur permettant de fusionner plusieurs jeux de données au format YOLO et d’entraîner des détecteurs personnalisés. Il reconnaît des panneaux routiers, des feux de circulation et la classe supplémentaire Bart Simpson, tout en conservant les poids, métriques et graphiques d’entraînement.




Problème traité
Les données nécessaires à la détection sont réparties dans plusieurs jeux de données utilisant des classes et des identifiants différents. Le projet doit les uniformiser afin d’entraîner un détecteur unique capable de reconnaître plusieurs éléments routiers et une classe visuelle supplémentaire.
Objectifs
Architecture
Le projet utilise deux scripts Python pour fusionner les images et annotations provenant de plusieurs jeux de données. fusionner_datasets.py génère dataset_final avec les classes stop, vitesse_80 et feux_rouge. fusionner_v2.py génère dataset_v2 avec les classes stop, vitesse_80, feux_rouge, feux_vert, feux_orange et bart_simpson. Les scripts entrainer.py et entrainer_v2.py entraînent ensuite deux détecteurs personnalisés pendant respectivement 50 et 80 époques. Les poids, métriques, matrices de confusion et courbes sont enregistrés dans runs/detect/. L’application locale pc_main.py réalise l’inférence visuelle, détecte les QR codes avec OpenCV et utilise la synthèse vocale. Toutefois, elle charge actuellement le modèle générique yolov8n.pt et non le poids personnalisé runs/detect/best_2/weights/best.pt.