YOLO (You Only Look Once) Series
La série YOLO (You Only Look Once) désigne une famille d’algorithmes d’apprentissage profond spécialisée dans la détection d’objets en temps réel au sein d’images ou de flux vidéo. Il s’agit d’une approche unifiée qui traite la détection d’objets comme un problème de régression unique, prédisant simultanément les boîtes englobantes (bounding boxes) et les probabilités de classe directement à partir de l’image entière en une seule passe du réseau neuronal.
Les concepts fondamentaux de YOLO reposent sur une philosophie distincte des méthodes de détection d’objets précédentes, dites en deux étapes (comme la famille R-CNN). Au lieu de proposer des régions d’intérêt potentielles puis de les classer, YOLO divise l’image d’entrée en une grille de cellules (par exemple, S x S). Chaque cellule de cette grille est responsable de la détection des objets dont le centre tombe dans cette cellule. Pour chaque cellule, le modèle prédit un certain nombre de boîtes englobantes potentielles, chacune associée à un score de confiance indiquant la probabilité que la boîte contienne un objet et la précision de la prédiction de la boîte. Simultanément, chaque cellule prédit les probabilités conditionnelles de classe pour chaque objet détecté (quelle est la probabilité que l’objet détecté appartienne à la classe C, étant donné qu’un objet est présent). Ces prédictions (coordonnées de la boîte, score de confiance, probabilités de classe) sont générées en une seule évaluation du réseau, d’où le nom « You Only Look Once ». L’architecture utilise généralement un réseau neuronal convolutif (CNN) comme extracteur de caractéristiques, suivi de couches entièrement connectées pour effectuer les prédictions finales. La suppression non maximale (NMS) est ensuite appliquée pour éliminer les détections redondantes pour le même objet.
L’importance de la série YOLO dans le domaine de la vision par ordinateur est considérable, principalement en raison de sa vitesse exceptionnelle qui permet des applications en temps réel, une capacité qui était difficile à atteindre avec les modèles précédents sans compromis majeurs sur la précision. Cette rapidité a ouvert la voie à l’intégration de la détection d’objets sophistiquée dans des systèmes embarqués, des robots mobiles, des drones et des applications nécessitant une faible latence. YOLO a également influencé la recherche en proposant une alternative élégante et efficace aux approches en deux étapes, stimulant le développement de nombreux autres détecteurs d’objets en une seule étape (one-stage detectors). Son impact se mesure aussi par sa popularité dans les communautés académiques et industrielles, devenant souvent un standard de facto pour les tâches de détection rapide.
Les applications pratiques de la série YOLO sont vastes et variées. Dans le domaine de la conduite autonome, elle est utilisée pour détecter en temps réel les piétons, les cyclistes, les autres véhicules et les panneaux de signalisation. En robotique, elle permet aux robots de percevoir leur environnement, de localiser et de manipuler des objets. Les systèmes de surveillance vidéo l’emploient pour la détection d’intrusions, le comptage de personnes, le suivi d’objets ou l’analyse de comportements. Dans le secteur médical, elle peut aider à identifier des anomalies dans l’imagerie médicale. D’autres applications incluent le contrôle qualité dans l’industrie, la modération de contenu sur les plateformes en ligne (détection d’objets inappropriés), l’agriculture de précision (détection de maladies des plantes ou comptage de fruits) et même l’analyse sportive (suivi des joueurs et du ballon).
La série YOLO n’est pas un algorithme unique mais une lignée évolutive avec de nombreuses variations. La version initiale (YOLOv1) a établi le concept de base mais souffrait de limitations, notamment dans la détection d’objets petits ou groupés et dans la précision de la localisation. YOLOv2 (ou YOLO9000) a introduit des améliorations significatives comme les boîtes d’ancrage (anchor boxes) pour mieux prédire les formes d’objets variées, et la capacité à détecter plus de 9000 catégories d’objets. YOLOv3 a encore amélioré la précision, notamment pour les petits objets, en utilisant des prédictions à différentes échelles et un extracteur de caractéristiques plus profond (Darknet-53). Par la suite, une divergence est apparue : YOLOv4 et YOLOv5 (développé par Ultralytics) ont intégré des « sacs d’astuces » (bag of freebies, bag of specials) – des techniques d’entraînement et des améliorations architecturales (comme CSPNet) pour optimiser le compromis vitesse/précision. Des versions ultérieures comme YOLOv6, YOLOv7, YOLOv8, YOLOR, YOLOX, YOLO-NAS et YOLO-World ont continué à repousser les limites en termes de performance, de facilité d’utilisation, d’efficacité de déploiement, ou en explorant de nouvelles architectures (comme des approches sans ancres ou basées sur les Transformers pour certaines composantes) et des capacités de détection en vocabulaire ouvert (YOLO-World). Chaque version offre souvent différents modèles pré-entraînés (nano, small, medium, large, xlarge) pour s’adapter à diverses contraintes matérielles et exigences de performance.
Plusieurs concepts sont étroitement liés à la série YOLO. Elle s’inscrit dans les domaines plus larges de la Vision par Ordinateur (Computer Vision) et de l’Apprentissage Profond (Deep Learning), utilisant massivement les Réseaux de Neurones Convolutifs (CNN). Les termes clés associés incluent : Détection d’Objets (Object Detection), Boîte Englobante (Bounding Box), Score de Confiance (Confidence Score), Probabilité de Classe (Class Probability), Suppression Non Maximale (NMS), Boîtes d’Ancrage (Anchor Boxes). Des termes synonymes ou alternatifs pour des approches similaires incluent les détecteurs en une étape (one-stage detectors). Les antonymes conceptuels seraient les détecteurs en deux étapes (two-stage detectors) comme Faster R-CNN ou Mask R-CNN, qui séparent la proposition de région de la classification. D’autres familles de détecteurs comparables mais distinctes incluent SSD (Single Shot MultiBox Detector) et RetinaNet (qui a introduit la perte focale pour mieux gérer le déséquilibre des classes dans les détecteurs one-stage), ainsi que des approches plus récentes comme DETR (DEtection TRansformer).
L’origine de la série YOLO remonte à l’article « You Only Look Once: Unified, Real-Time Object Detection » présenté par Joseph Redmon, Santosh Divvala, Ross Girshick et Ali Farhadi en 2015 (publié en 2016). L’objectif initial était explicitement de créer un détecteur d’objets extrêmement rapide, capable de traiter des vidéos en temps réel, tout en maintenant une précision raisonnable. Les premières versions (v1 à v3) ont été principalement développées par Joseph Redmon. L’évolution ultérieure (à partir de v4) a été portée par d’autres chercheurs et la communauté open-source après que Redmon ait annoncé son retrait de la recherche en vision par ordinateur pour des raisons éthiques liées à l’impact potentiel de ces technologies. Cette transition a conduit à une diversification des approches et des implémentations sous la bannière « YOLO ».
Les avantages principaux de la série YOLO résident dans sa vitesse de traitement, qui permet une inférence en temps réel sur des GPU, voire des CPU pour les versions plus légères. Le fait de traiter l’image entière en une seule fois lui confère une meilleure compréhension du contexte global, ce qui réduit les erreurs de détection sur le fond (moins de faux positifs sur l’arrière-plan). Les modèles YOLO apprennent également des représentations d’objets très généralisables, performantes sur de nouveaux domaines. La pipeline de détection est relativement simple et peut être entraînée de bout en bout (end-to-end). La disponibilité de nombreux modèles pré-entraînés et de code open-source a largement contribué à son adoption.
Cependant, la série YOLO présente aussi des inconvénients et des défis. Historiquement (surtout les premières versions), sa précision de localisation était inférieure à celle des méthodes en deux étapes. Elle peut avoir des difficultés à détecter des objets très petits ou des groupes d’objets très proches, car chaque cellule de la grille ne prédit qu’un nombre limité de boîtes et une seule classe par cellule (pour les versions initiales). Les objets ayant des formes ou des rapports d’aspect inhabituels peuvent également poser problème, bien que les versions ultérieures aient atténué ces limitations. Il existe toujours un compromis inhérent entre vitesse et précision : les modèles plus rapides sont généralement moins précis, et vice-versa. L’entraînement de ces modèles nécessite de grandes quantités de données annotées et des ressources de calcul importantes. Enfin, comme pour toute technologie de surveillance ou d’analyse d’images, des préoccupations éthiques subsistent quant à son utilisation potentielle, notamment en matière de vie privée et de surveillance de masse.