Detection Head
Apprends comment une tête de détection permet la détection d’objets en temps réel. Découvre son rôle dans Ultralytics YOLO26 pour prédire les boîtes englobantes et les étiquettes avec une grande précision.
Une tête de détection agit comme la couche décisionnelle finale de l'architecture d'un réseau neuronal de détection d'objets. Alors que les premières couches du modèle sont chargées de comprendre les formes, les textures et les caractéristiques présentes dans une image, la tête de détection est le composant spécifique qui interprète ces informations pour prédire exactement quels objets sont présents et où ils se trouvent. Elle transforme les données abstraites de haut niveau produites par l'extracteur de caractéristiques en résultats exploitables, en générant généralement un ensemble de boîtes englobantes entourant les objets identifiés, ainsi que leurs étiquettes de classe et leurs scores de confiance correspondants.
Distinguer la tête du réseau dorsal et du cou#
Pour bien comprendre la fonction d'une tête de détection, il est utile de visualiser les détecteurs modernes comme étant composés de trois étapes principales, chacune ayant un objectif distinct dans le pipeline de vision par ordinateur (CV) :
- Réseau dorsal : Il s'agit de la partie initiale du réseau, souvent un réseau neuronal convolutif (CNN) comme ResNet ou CSPNet. Il traite l'image d'entrée brute pour créer des cartes de caractéristiques qui représentent les motifs visuels.
- Cou : Situé entre le réseau dorsal et la tête, le cou affine et combine les caractéristiques provenant de différentes échelles. Des architectures comme le réseau pyramidal de caractéristiques (FPN) permettent au modèle de détecter des objets de tailles variées en agrégeant le contexte.
- Tête : Il s'agit du composant final qui exploite les caractéristiques affinées par le cou. Elle effectue la tâche proprement dite de classification (de quoi s'agit-il ?) et de régression (où se trouve-t-il ?).
Évolution : avec ancres ou sans ancres#
La conception des têtes de détection a considérablement évolué pour améliorer la vitesse et la précision, notamment avec la transition des méthodes traditionnelles vers les modèles modernes d'inférence en temps réel.
- Têtes avec ancres : Les détecteurs d'objets en une étape traditionnels reposaient sur des boîtes d'ancrage prédéfinies, c'est-à-dire des formes de référence fixes de différentes tailles. La tête prédisait dans quelle mesure étirer ou déplacer ces ancres pour les ajuster à l'objet. Cette approche est présentée en détail dans les travaux de recherche fondateurs sur Faster R-CNN.
- Têtes sans ancres : Les modèles de pointe, notamment le dernier modèle YOLO26, utilisent des détecteurs sans ancres. Ces têtes prédisent directement les centres et les dimensions des objets à partir des pixels des cartes de caractéristiques, ce qui élimine le besoin d'ajuster manuellement les ancres. Cela simplifie l'architecture et améliore la capacité du modèle à se généraliser à de nouvelles formes d'objets, une technique souvent associée à la détection d'objets en une étape entièrement convolutionnelle (FCOS).
Applications concrètes#
La précision de la tête de détection est essentielle pour déployer l'intelligence artificielle (AI) dans des environnements critiques pour la sécurité et industriels. Tu peux facilement annoter les données et entraîner ces têtes spécialisées à l'aide de la plateforme Ultralytics.
- Conduite autonome : Dans le domaine de l'IA pour l'automobile, la tête de détection est chargée de distinguer les piétons, les feux de circulation et les autres véhicules en temps réel. Une tête hautement optimisée garantit que la latence d'inférence reste suffisamment faible pour que le véhicule puisse réagir instantanément.
- Diagnostics médicaux : Dans l'analyse d'images médicales, les têtes de détection sont ajustées avec précision pour localiser des anomalies telles que des tumeurs sur des scanners IRM. La branche de régression doit être extrêmement précise pour délimiter les contours exacts d'une lésion et aider les médecins grâce à des solutions de santé.
Exemple de code#
L'exemple suivant montre comment charger un modèle YOLO26 et examiner la sortie de sa tête de détection. Lors de l'inférence, la tête traite l'image et renvoie le boxes final contenant les coordonnées et les ID de classe.
from ultralytics import YOLO
# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")
# Run inference on an image to utilize the detection head
results = model("https://ultralytics.com/images/bus.jpg")
# The detection head outputs are stored in results[0].boxes
for box in results[0].boxes:
# Print the bounding box coordinates and the predicted class
print(f"Class: {int(box.cls)}, Coordinates: {box.xywh.numpy()}")Cette interaction montre comment la tête de détection transforme des activations complexes du réseau neuronal en données lisibles que les développeurs peuvent utiliser pour des tâches ultérieures comme le suivi d'objets ou le comptage.









