P.04Prototype interne
Pr-venx
Détection temps réel de la signalisation routière et des feux tricolores sur flux caméra, avec jeux de données constitués et annotés à la main.
- Période
- Janvier 2026
- Rôle
- Constitution des jeux de données, entraînement, intégration temps réel.
- Stack
- Python
- YOLOv8
- Ultralytics
- OpenCV
- Tkinter
- Pillow
Repères
10
classes détectées
table traffic_signs du code source
3
jeux de données constitués
dataset_stop, dataset_traffic_light, dataset_merged
0,7 s
intervalle d'inférence
constante yolo_interval, ajustée pour tenir la fluidité
Le problème
Reconnaître un panneau sur une photo est un exercice résolu. Le faire sur un flux caméra, sur une machine sans carte graphique dédiée, en gardant une image fluide, ne l'est pas. La difficulté n'est pas le modèle : c'est le budget de calcul par image.
Ce qui a été construit
- 01
Dix classes distinctes : stop, cédez le passage, limitation, sens interdit, priorité, passage piéton, et les quatre états d'un feu tricolore — rouge, orange, vert, éteint.
- 02
Trois jeux de données maintenus séparément : panneaux stop, feux, puis un jeu fusionné pour l'entraînement final.
- 03
Une boucle d'affichage découplée de la boucle d'inférence.
- 04
Une chaîne d'entraînement reproductible : préparation du jeu de données, entraînement, test, documentée pas à pas.
Architecture
Décisions techniques
Découpler l'inférence de l'affichage
Le modèle ne tourne pas à chaque image mais à intervalle fixe, et les dernières boîtes détectées restent affichées entre deux passes. L'œil ne voit pas la différence sur un panneau qui approche, alors que faire tourner le réseau sur chaque image saccade l'image. C'est un compromis de perception, pas de précision.
Le feu éteint est une classe à part entière
Un feu hors service n'est pas l'absence de feu : c'est une situation de conduite précise, avec une règle de priorité différente. La plupart des jeux de données publics ne distinguent pas ce cas. Le traiter comme une classe explicite a demandé de constituer les images correspondantes.
Trois jeux de données plutôt qu'un
Les panneaux et les feux ont des difficultés différentes : forme fixe et couleur variable d'un côté, forme variable et couleur discriminante de l'autre. Les maintenir séparés permet de mesurer où le modèle échoue avant de fusionner, ce qu'un jeu unique rend impossible.
Ce que ça démontre
Vision par ordinateur sous contrainte de temps réel, constitution et annotation de jeux de données, arbitrage entre précision et fluidité.