gt-sec.com

Projet · Computer vision · YOLO11

Détection automatique des EPI sur chantier

Un système de vision par ordinateur qui vérifie le port du casque et du gilet sur images et flux vidéo, et déclenche une alerte de non-conformité en temps réel. Entraîné sur le dataset SH17, du nettoyage des données jusqu'au tableau de bord de supervision.

YOLO11 SH17 · 17 classes Streamlit Python
17
classes détectées (personne, tête, casque, gilet…)
~8 000
images du dataset SH17, nettoyées et re-splittées
0.667 mAP@50
modèle retenu (yolo11l fine-tuné, jeu de test)
768 px
résolution d'entrée, choisie pour les petits objets

Le problème

Le contrôle des EPI ne passe pas à l'échelle d'un chantier

Sur un grand chantier, le contrôle du port des équipements de protection individuelle reste un contrôle humain ponctuel : visuel, le matin, jamais exhaustif. Or l'EPI le plus critique (le casque) protège du risque le plus grave, le traumatisme crânien.

Ce projet transforme les caméras déjà présentes sur site en supervision continue : détection des équipements sur chaque image, décision de conformité, et alerte immédiate quand une tête nue est repérée.

La règle de conformité. Une tête détectée qui n'est pas coiffée d'un casque déclenche l'alerte. L'association casque/tête est géométrique (recouvrement spatial des boîtes, fonction helmet_covers_head) : la décision n'est pas une sortie brute du modèle, ce qui la rend explicable. Le gilet est affiché comme indice mais ne déclenche pas d'alerte ferme tant que son rappel reste insuffisant. En sécurité, on n'automatise pas une décision qu'on ne peut pas tenir.

La méthode

Un pipeline reproductible, de la donnée brute à l'alerte

Chaque étape est justifiée et rejouable (graines fixées, notebook de bout en bout).

Données & exploration

Réorganisation du dataset SH17 en train/val/test, statistiques par classe, analyse des biais : les classes EPI critiques sont rares (652 casques en entraînement) et les petits objets dominent.

Nettoyage & préparation

Détection des images floues (variance du Laplacien) et des annotations invalides (boîtes hors image, doublons, dimensions nulles), puis pré-traitement et augmentation justifiés par l'exploration.

Entraînement & choix du modèle

YOLO11 retenu pour le compromis vitesse/précision, comparé à RT-DETR. Le fine-tuning de yolo11l l'emporte pour son rappel supérieur sur les classes EPI rares, le critère qui compte en sécurité.

Optimisation

Recherche d'hyperparamètres concentrée sur ce qui rapporte : un taux d'apprentissage abaissé préserve le transfer learning et améliore le rappel du casque.

Évaluation honnête

Métriques par classe sur jeu de test, mesure de l'empreinte énergétique (GFLOPs, puissance GPU) et de la robustesse en conditions dégradées : faible luminosité, occlusions.

Inférence & alerte

Image annotée avec bandeau de conformité, vidéo traitée image par image, journalisation de chaque analyse pour alimenter le tableau de bord.

Résultats

Ce que le modèle sait faire, et ce qu'on ne lui confie pas

Modèle retenu : yolo11l fine-tuné. mAP@50-95 global de 0.441 sur le jeu de test. La performance par classe dicte directement la logique d'alerte.

ClassemAP@50-95Rôle dans l'alerte
head 0.730
Base de la décision
helmet 0.499
Alerte ferme (seuil bas)
safety-vest 0.307
Indicatif seulement

Axe A · Architectures

yolo11l domine RT-DETR en mAP tout en restant plus léger et plus rapide. L'extension mesure aussi l'empreinte énergétique réelle (nvidia-smi) et la robustesse : −0.133 de mAP en conditions dégradées, une limite documentée plutôt que cachée.

Axe B · Résultat contre-intuitif

Restreindre l'entraînement aux 3 classes de conformité dégrade leurs performances (−0.037 en moyenne, −0.087 sur le casque) : les 17 classes partagent des représentations utiles. La spécialisation naïve n'est pas un raccourci.

Parti pris · Sécurité d'abord

Une alerte manquée coûte plus cher qu'une fausse alerte : seuil de confiance bas sur le casque, rappel priorisé sur les classes rares, et aucune décision automatique fondée sur une classe dont le rappel est insuffisant.

Démonstrateur

Une interface pensée pour le responsable sécurité, pas pour le data scientist

L'application Streamlit charge une image ou une vidéo, affiche les détections et l'indicateur global de conformité, et laisse l'utilisateur régler le seuil de confiance. Chaque traitement est journalisé et alimente un tableau de bord de conformité qui objective la tendance dans le temps.

Pas de géolocalisation ni d'identification individuelle : la zone est déclarée par l'utilisateur et l'alerte porte sur une situation, pas sur une personne.

  • Analyse image & vidéo avec bandeau d'alerte et détections annotées
  • Tableau de bord : taux de conformité, alertes du jour et tendance
  • Heatmap des non-conformités par zone et par jour, timeline des alertes
  • Filtres zone / période / statut sur l'historique journalisé
  • Bilingue FR/EN avec guide d'utilisation intégré

Au-delà du modèle

Une stratégie d'intégration en trois phases

Un modèle ne sert à rien sans plan de déploiement : cas d'usage priorisés, freins d'adoption identifiés (acceptabilité, RGPD, infrastructure chantier) et feuille de route jalonnée d'indicateurs de succès.

Phase 1 · 0–2 mois

Test sur chantier pilote

Une seule zone couverte, alerte casque uniquement, validation manuelle systématique des alertes par le responsable sécurité pour mesurer les faux positifs en conditions réelles.

Phase 2 · 2–5 mois

Généralisation

Extension à toutes les zones à risque puis à un second chantier de profil différent, réintégration du gilet en indice affiché, mise en service du tableau de bord de suivi.

Phase 3 · 5–9 mois

Optimisation

Ré-entraînement avec les données terrain collectées, étude du tracking multi-frame pour une alerte par individu plutôt que par image, et piste d'un modèle allégé pour le déploiement edge.

Stack

Sous le capot

Python Ultralytics YOLO11 RT-DETR (comparaison) OpenCV Streamlit Plotly Pandas Dataset SH17

Pipeline complet dans un notebook reproductible (seed fixée), script d'entraînement autonome, rapport technique et stratégie d'intégration documentée. Tout est sur le dépôt.