Passer au contenu

YOLOv7 YOLOX : une analyse approfondie des architectures de détection d'objets en temps réel

Dans le domaine en constante évolution de la vision par ordinateur, choisir le bon modèle de détection d'objets est essentiel pour réussir. Deux étapes importantes dans cette aventure sont YOLOv7 et YOLOX. Si ces deux architectures ont repoussé les limites de la vitesse et de la précision lors de leur lancement, elles ont adopté des approches fondamentalement différentes pour résoudre le problème de la détection. Ce guide fournit une comparaison technique détaillée afin d'aider les développeurs, les chercheurs et les ingénieurs à prendre des décisions éclairées pour leurs cas d'utilisation spécifiques.

Aperçu et origines des modèles

Comprendre la généalogie de ces modèles permet de mieux comprendre les choix architecturaux qui ont été faits.

YOLOv7 : La puissance des « Bag-of-Freebies »

Sorti en juillet 2022, YOLOv7 conçu pour être le détecteur d'objets en temps réel le plus rapide et le plus précis à l'époque. Il s'est fortement concentré sur les optimisations architecturales telles que E-ELAN (Extended Efficient Layer Aggregation Networks) et un « bag-of-freebies » entraînable afin d'améliorer la précision sans augmenter le coût de l'inférence.

En savoir plus sur YOLOv7

YOLOX : L’évolution sans ancrage

YOLOX, lancé par Megvii en 2021, a marqué un tournant important en s'éloignant du mécanisme basé sur les ancres qui dominait YOLO précédentes YOLO (comme YOLOv3 et YOLOv5). En intégrant une tête découplée et une conception sans ancres, YOLOX a simplifié le processus d'entraînement et amélioré les performances, comblant ainsi le fossé entre la recherche et l'application industrielle.

Comparaison technique des performances

Le tableau suivant met en évidence les mesures de performance de modèles comparables sur l'ensemble COCO .

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Différences architecturales clés

  1. Mécanismes d'ancrage :

    • YOLOv7: utilise une approche basée sur des ancres. Elle nécessite des boîtes d'ancrage prédéfinies, qui peuvent être sensibles au réglage des hyperparamètres, mais qui fonctionnent souvent de manière robuste sur des ensembles de données standard tels que MS COCO.
    • YOLOX : adoption d'une conception sans ancrage. Cela élimine le besoin de regrouper des boîtes d'ancrage (comme K-means) et réduit le nombre de paramètres de conception, simplifiant ainsi la configuration du modèle.
  2. Conception du réseau :

    • YOLOv7: Intègre l'architecture E-ELAN, qui guide les chemins de gradient afin d'apprendre efficacement diverses caractéristiques. Il utilise également la « reparamétrisation planifiée » pour fusionner les couches pendant l'inférence, ce qui augmente la vitesse sans sacrifier la précision de l'entraînement.
    • YOLOX : utilise une tête découplée, séparant les tâches de classification et de régression. Cela conduit généralement à une convergence plus rapide et à une meilleure précision, mais peut légèrement augmenter le nombre de paramètres par rapport à une tête couplée.
  3. Attribution d'étiquettes :

    • YOLOv7: utilise une stratégie d'attribution d'étiquettes guidée par des indices, allant du plus grossier au plus précis.
    • YOLOX : introduction de SimOTA (Simplified Optimal Transport Assignment), une stratégie d'attribution dynamique d'étiquettes qui traite le problème d'attribution comme une tâche de transport optimal, améliorant ainsi la stabilité de l'entraînement.

La norme moderne : YOLO26

Si YOLOv7 YOLOX ont été révolutionnaires, le domaine a continué à progresser. Le nouveau YOLO26, sorti en janvier 2026, combine le meilleur des deux mondes. Il présente une conception native de bout en bout NMS (similaire à la philosophie sans ancrage de YOLOX, mais encore plus évoluée) et supprime la perte focale de distribution (DFL) pour CPU jusqu'à 43 % plus rapide.

En savoir plus sur YOLO26

Formation et écosystème

L'expérience développeur est souvent aussi importante que les mesures de performance brutes. C'est là que Ultralytics se démarque considérablement.

Facilité d'utilisation et intégration

La formation YOLOX nécessite généralement de naviguer dans le code source Megvii qui, bien que robuste, peut présenter une courbe d'apprentissage plus raide pour les utilisateurs habitués aux API de haut niveau. À l'inverse, l'exécution YOLOv7 Ultralytics une expérience fluide.

Python Ultralytics unifie le flux de travail. Vous pouvez basculer entre YOLOv7, YOLOv10ou même YOLO11 en modifiant simplement la chaîne de caractères du nom du modèle. Cette flexibilité est essentielle pour le prototypage rapide et l'analyse comparative.

Exemple de code : interface cohérente

Voici comment vous pouvez entraîner un YOLOv7 à l'aide du Ultralytics . La structure du code est exactement la même pour les modèles plus récents tels que YOLO26.

from ultralytics import YOLO

# Load a YOLOv7 model (or swap to "yolo26n.pt" for the latest)
model = YOLO("yolov7.pt")

# Train on a custom dataset
# Ultralytics automatically handles data augmentation and logging
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Mémoire et efficacité

Ultralytics sont réputés pour leur utilisation efficace des ressources.

  • Efficacité de l'entraînement : YOLOv7 le Ultralytics est optimisé pour utiliser moins CUDA par rapport aux implémentations brutes ou aux modèles basés sur des transformateurs tels que RT-DETR, ce qui permet d'utiliser des lots plus importants sur du matériel grand public.
  • Déploiement : L'exportation des modèles vers des formats de production s'effectue à l'aide d'une seule commande. Que ce soit pour ONNX, TensorRT, ou CoreML, l'Ultralytics export Le mode gère la complexité de la conversion des graphes.

Cas d'utilisation idéaux

Le choix entre ces modèles dépend souvent des contraintes spécifiques de votre environnement de déploiement.

Quand choisir YOLOv7

YOLOv7 un concurrent sérieux pour GPU haute performance où une précision maximale est requise.

  • Surveillance haut de gamme : idéal pour les systèmes d'alarme de sécurité où la détection de petits objets à distance est cruciale.
  • Inspection industrielle : ses capacités robustes d'extraction de caractéristiques le rendent adapté aux tâches de fabrication complexes, telles que la détection de défauts sur les chaînes de montage.
  • GPU en périphérie : les appareils tels que ceux de la série NVIDIA Orin peuvent exploiter efficacement l'architecture reparamétrée YOLOv7.

Quand choisir YOLOX

YOLOX est souvent préféré dans les environnements de recherche ou dans certains scénarios spécifiques liés à l'héritage.

  • Recherche universitaire : grâce à sa conception sans ancrage et à son code source épuré, YOLOX constitue une excellente base de référence pour les chercheurs qui expérimentent de nouvelles têtes de détection ou stratégies d'affectation.
  • Déploiement mobile (Nano/Tiny) : les variantes YOLOX-Nano et Tiny sont hautement optimisées pour les processeurs mobiles, à l'instar des objectifs d'efficacité du YOLOv6 Lite.
  • Bases de code héritées : les équipes déjà profondément intégrées à MegEngine ou à PyTorch spécifiques pourraient trouver YOLOX plus facile à maintenir.

L'avenir : passage à YOLO26

Si YOLOv7 YOLOX remplissent leur fonction, YOLO26 représente une avancée majeure. Il pallie les limites de ses deux prédécesseurs :

  1. NMS: contrairement à YOLOv7 qui nécessite NMS) et YOLOX (qui simplifie les ancres mais utilise toujours NMS), YOLO26 utilise une conception native de bout en bout. Cela élimine complètement le goulot d'étranglement lié à la latence du post-traitement.
  2. Optimiseur MuSGD : inspiré de la formation LLM, cet optimiseur stabilise la formation pour les tâches de vision par ordinateur, surpassant SGD standard SGD dans YOLO anciennes YOLO .
  3. Polyvalence des tâches : alors que YOLOX se concentre principalement sur la détection, YOLO26 offre des performances de pointe dans les domaines de la segmentation d'instances, de l'estimation de pose et des boîtes englobantes orientées (OBB).

Conclusion

YOLOv7 YOLOX ont tous deux contribué de manière significative à l'avancement de la détection d'objets. YOLOv7 a prouvé que les méthodes basées sur les ancrages pouvaient encore dominer en termes de précision grâce à une architecture intelligente telle que E-ELAN. YOLOX a réussi à remettre en question le statu quo en popularisant la détection sans ancrage dans la YOLO .

Pour les développeurs qui lancent aujourd'hui de nouveaux projets, tirer parti de Ultralytics est le choix le plus stratégique. Il permet d'accéder à YOLOv7 effectuer des comparaisons avec les anciens modèles, tout en offrant un accès direct à la vitesse et à la précision supérieures de YOLO26. La facilité de changement de modèle, associée à une documentation complète et au soutien de la communauté, garantit la pérennité de vos projets de vision par ordinateur.

Lectures complémentaires


Commentaires