Découvrez les architectures de détection d'objets, des structures de base aux têtes. Découvrez comment Ultralytics offre une vitesse et une précision exceptionnelles pour la vision par ordinateur en temps réel.
Les architectures de détection d'objets sont les plans structurels des réseaux neuronaux utilisés pour identifier et localiser des éléments dans des données visuelles. Dans le domaine plus large de la vision par ordinateur (CV), ces architectures définissent la manière dont une machine « voit » en traitant des données brutes de pixels pour en tirer des informations significatives. Contrairement aux modèles de classification de base qui se contentent d'étiqueter une image, une architecture de détection d'objets est conçue pour produire un cadre de sélection ainsi qu'une étiquette de classe et un score de confiance pour chaque objet distinct qu'elle trouve. Cette conception structurelle détermine la vitesse, la précision et l'efficacité computationnelle du modèle, ce qui en fait un facteur essentiel lors du choix d'un modèle pour l' inférence en temps réel ou l'analyse de haute précision.
Bien que les conceptions spécifiques varient, la plupart des architectures modernes partagent trois composants fondamentaux : la colonne vertébrale, le cou et la tête. La colonne vertébrale agit comme le principal extracteur de caractéristiques. Il s'agit généralement d'un réseau neuronal convolutif (CNN) pré-entraîné sur un grand ensemble de données tel que ImageNet, chargé d'identifier les formes, les contours et les textures de base. Parmi les choix populaires pour les dorsales, on trouve ResNet et CSPDarknet.
Le cou relie la colonne vertébrale aux couches de sortie finales. Son rôle est de mélanger et de combiner les caractéristiques des différentes étapes de la colonne vertébrale afin de garantir que le modèle puisse detect de différentes tailles, un concept connu sous le nom de fusion de caractéristiques multi-échelles. Les architectures utilisent souvent un réseau pyramidal de caractéristiques (FPN) ou un réseau d'agrégation de chemins (PANet) à ce stade afin d'enrichir les informations sémantiques transmises aux couches de prédiction. Enfin, la tête de détection traite ces caractéristiques fusionnées afin de prédire la classe spécifique et la position coordonnée de chaque objet.
Historiquement, les architectures étaient divisées en deux catégories principales. Les détecteurs à deux étapes, tels que la famille R-CNN, proposent d'abord des régions d' intérêt (RoI) où des objets pourraient exister, puis classify régions dans un deuxième temps. Bien que généralement précis, ils sont souvent trop lourds en termes de calcul pour les appareils de pointe.
En revanche, les détecteurs à une seule étape traitent la détection comme un simple problème de régression, en mappant directement les pixels de l'image aux coordonnées du cadre de délimitation et aux probabilités de classe en un seul passage. Cette approche, lancée par la famille YOLO (You Only Look Once), a révolutionné le secteur en permettant des performances en temps réel. Les progrès modernes ont abouti à des modèles tels que YOLO26, qui offrent non seulement une vitesse supérieure, mais ont également adopté des architectures de bout en bout, NMS. En supprimant la nécessité d'un post-traitement par suppression non maximale (NMS) , ces nouvelles architectures réduisent la variabilité de la latence, ce qui est crucial pour les systèmes critiques pour la sécurité.
Le choix de l'architecture a un impact direct sur le succès des solutions d'IA dans tous les secteurs.
Il est important de différencier les architectures de détection des tâches similaires de vision par ordinateur :
Les frameworks modernes ont simplifié la complexité de ces architectures, permettant aux développeurs de tirer parti de
conceptions de pointe avec un minimum de code. En utilisant le ultralytics paquet, vous pouvez charger un modèle pré-entraîné
YOLO26 modèle et exécutez immédiatement l'inférence. Pour les équipes
qui cherchent à gérer leurs ensembles de données et à former des architectures personnalisées dans le cloud, le
Plate-forme Ultralytics simplifie l'ensemble du pipeline MLOps.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image source
# This uses the model's architecture to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()