Ultralytics YOLO27 : Rejoins la liste d’attente.
Commencer

YOLOv7 vs YOLOX#

L’évolution de la vision par ordinateur a été marquée par des avancées rapides dans la détection d’objets en temps réel. YOLOv7 et YOLOX en sont deux jalons importants. Bien que les deux modèles aient amélioré la vitesse et la précision, ils adoptent des approches architecturales différentes. Ce guide propose une comparaison technique des deux modèles pour t’aider à choisir l’architecture adaptée à tes projets de vision par ordinateur.

Présentation des modèles#

Comprendre les origines de ces modèles et leurs principaux choix de conception est important pour les déployer efficacement dans les opérations modernes d’apprentissage automatique.

Détails sur YOLOv7#

Développé par les chercheurs à l’origine des architectures CSPNet et Scaled-YOLOv4, YOLOv7 a introduit une approche de « bag-of-freebies entraînable » afin de maximiser la précision sans augmenter le coût de l’inférence.

En savoir plus sur YOLOv7

Détails sur YOLOX#

YOLOX a emprunté une voie différente en revenant à la détection sans ancres, simplifiant l’architecture de la tête tout en conservant de bonnes performances.

En savoir plus sur YOLOX

Différences et innovations architecturales#

Les principales différences entre YOLOv7 et YOLOX concernent leurs approches de l’extraction des caractéristiques, de la prédiction des boîtes englobantes et de l’affectation des étiquettes.

YOLOX : le pionnier des modèles sans ancres#

YOLOX a introduit une conception sans ancres dans la famille YOLO. Les détecteurs traditionnels à ancres nécessitent un réglage heuristique du regroupement des boîtes d’ancrage, qui peut fortement dépendre du jeu de données. En éliminant les boîtes d’ancrage, YOLOX a considérablement réduit le nombre de paramètres de conception. YOLOX utilise également une tête découplée, qui sépare les tâches de classification et de localisation en branches distinctes du réseau. Cela réduit le conflit entre la classification d’un objet et la régression de ses coordonnées spatiales. YOLOX intègre aussi des stratégies avancées d’assignation d’étiquettes comme SimOTA, qui alloue dynamiquement les échantillons positifs pendant l’entraînement.

YOLOv7 : agrégation étendue et efficace des couches#

YOLOv7, lancé un an plus tard, a conservé une conception à ancres, mais a introduit l’Extended Efficient Layer Aggregation Network (E-ELAN). E-ELAN optimise la longueur du chemin de gradient afin que le réseau apprenne efficacement à différentes profondeurs. L’architecture repose fortement sur la reparamétrisation, qui fusionne les couches de convolution pendant l’inférence afin d’accroître la vitesse sans sacrifier la précision. La stratégie des « atouts gratuits » de YOLOv7 inclut des convolutions reparamétrées planifiées et une assignation d’étiquettes guidée par des prédictions principales, des plus grossières aux plus fines, ce qui augmente la précision moyenne (mAP) du modèle.

Avec ancres ou sans ancres

YOLOX a simplifié les pipelines de déploiement grâce à sa configuration sans ancres, mais les architectures modernes d’Ultralytics ont depuis perfectionné cette approche en éliminant le besoin de boîtes prédéfinies dans les générations récentes.

Comparaison des performances#

Pour évaluer ces modèles en vue d’une utilisation en production, il est essentiel d’équilibrer précision et efficacité de calcul. Le tableau ci-dessous illustre les compromis et met en gras les meilleurs indicateurs.

Modèletaille
(pixels)
mAPval50-95Vitesse
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

Comme indiqué ci-dessus, YOLOv7x obtient le mAP le plus élevé dans cette comparaison, ce qui en fait l’option la plus précise pour les jeux de données complexes. YOLOX-Nano, en revanche, cible les appareils soumis à de très fortes contraintes de ressources. Les deux familles de modèles peuvent nécessiter davantage de mémoire d’entraînement que les architectures Ultralytics plus récentes.

Méthodes d’entraînement et écosystème#

La facilité de mise en œuvre est un facteur essentiel pour les chercheurs et les développeurs. Historiquement, les anciennes versions de YOLO nécessitaient des scripts d’entraînement personnalisés et une gestion complexe des dépendances.

Les avantages de l’écosystème Ultralytics#

YOLOv7 et YOLOX ne sont pas pris en charge nativement par le paquet Python Ultralytics. Pour les nouveaux projets, l’approche la plus efficace consiste à utiliser un modèle Ultralytics YOLO au sein de l’écosystème Ultralytics, bien entretenu. Ultralytics fournit une API Python unifiée qui simplifie l’entraînement, la validation et le déploiement.

  • Facilité d’utilisation : Quelques lignes de code suffisent pour lancer un entraînement, ce qui réduit la courbe d’apprentissage par rapport aux implémentations PyTorch brutes.
  • Efficacité de l’entraînement : Les modèles Ultralytics YOLO utilisent généralement moins de mémoire pendant l’entraînement que les modèles transformeurs comme RT-DETR, ce qui permet d’utiliser des tailles de lot plus importantes sur du matériel grand public.
  • Polyvalence : Au-delà des boîtes englobantes, la même API prend en charge des tâches comme la segmentation d’instances et l’estimation de pose.

L’exemple exécutable suivant entraîne et exporte un modèle avec l’API Ultralytics :

from ultralytics import YOLO

# Charger un modèle préentraîné
model = YOLO("yolov8n.pt")  # Des poids immédiatement disponibles pour un apprentissage par transfert rapide

# Entraîner efficacement le modèle sur tes données personnalisées
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    batch=16,
    device="0",  # Utiliser le premier GPU CUDA
)

# Exporter vers ONNX ou TensorRT
model.export(format="onnx")

Grâce à un pipeline d’exportation standardisé, les développeurs peuvent convertir leurs poids vers des formats comme TensorRT ou ONNX afin d’obtenir une inférence rapide sur le matériel cible.

Cas d’utilisation idéaux et applications concrètes#

Le choix entre YOLOX et YOLOv7 dépend en grande partie des cibles de déploiement :

  • YOLOX pour l’IA en périphérie : Les variantes YOLOX-Nano et YOLOX-Tiny sont particulièrement adaptées au déploiement sur des appareils à faible consommation. Si tu construis une caméra de sécurité intelligente sur Raspberry Pi, les convolutions simples sans ancres de YOLOX se transposent facilement aux accélérateurs en périphérie.
  • YOLOv7 pour l’analyse haute fidélité : Si tu traites des images satellite haute résolution ou effectues un contrôle qualité complexe dans le secteur manufacturier, le mAP élevé de YOLOv7x sur les GPU NVIDIA haut de gamme aide à détecter les petites anomalies.

L’avenir : passer à Ultralytics YOLO26#

YOLOv7 et YOLOX ont eu une influence importante à leur lancement, mais le domaine a considérablement progressé depuis. Pour les nouveaux déploiements, Ultralytics recommande Ultralytics YOLO26, lancé en janvier 2026, qui s’appuie sur ces enseignements architecturaux dans un modèle prêt pour la production.

Les principales améliorations comprennent :

  • Conception de bout en bout sans NMS : la tête facultative à correspondance un-à-un de YOLO26 (nms=False) élimine la suppression non maximale (NMS) lors du post-traitement. Introduite dans les modèles YOLO par YOLOv10, cette approche maintient une latence constamment faible et simplifie le déploiement sur les appareils qui ne prennent pas efficacement en charge NMS.
  • Suppression de la DFL : La suppression de la perte focale de distribution améliore la compatibilité avec les appareils périphériques à faible consommation et simplifie l’exportation vers ONNX.
  • Optimiseur MuSGD : Inspiré de l’entraînement des LLM, YOLO26 utilise MuSGD, une combinaison de SGD et de Muon, pour accélérer la convergence et stabiliser l’entraînement.
  • Inférence sur CPU jusqu’à 43 % plus rapide : En inférence ONNX sur CPU, YOLO26n fonctionne jusqu’à 43 % plus vite que YOLO11n. Il offre ainsi de bonnes performances sur les CPU standard, sans infrastructure GPU dédiée.
  • ProgLoss + STAL : La perte progressive et l’assignation d’étiquettes adaptée aux petits objets améliorent la détection des petits objets, essentielle pour l’imagerie aérienne, comme celle du jeu de données VisDrone, et pour les réseaux de caméras IoT.

Pour les équipes qui travaillent sur la détection d’objets, la segmentation et d’autres tâches, la plateforme Ultralytics offre un espace unique pour annoter les données, entraîner et déployer les modèles.

Conclusion#

YOLOX et YOLOv7 ont tous deux introduit des techniques qui ont façonné l’IA open source pour la vision. YOLOX a démontré la viabilité des têtes découplées sans ancres, tandis que YOLOv7 a mis en évidence la valeur de la conception des chemins de gradient et de la reparamétrisation. Aujourd’hui, l’écosystème Ultralytics te permet de t’appuyer sur ces idées avec les modèles Ultralytics YOLO modernes, YOLO26 étant le choix recommandé pour les nouvelles applications de vision par ordinateur.

Contributeurs

Commentaires

Pose une question, partage tes résultats ou aide quelqu’un d’autre.