Passer au contenu

YOLOv7 YOLO: comparaison technique complète

Le domaine de la détection d'objets en temps réel est en constante évolution, les chercheurs et les ingénieurs s'efforçant de trouver le juste équilibre entre vitesse et précision. Dans cette comparaison technique, nous allons nous intéresser de près à deux architectures remarquables de 2022 : YOLOv7 et YOLO. Ces deux modèles ont introduit des concepts novateurs dans le domaine de la vision par ordinateur, répondant à différents défis en matière de formation des modèles, de conception architecturale et de déploiement.

Contexte du modèle et détails techniques

Avant d'approfondir leurs architectures, il est essentiel de comprendre les origines de ces deux modèles. Les deux ont été développés par des groupes de recherche de premier plan et ont introduit des méthodologies avancées pour repousser les limites de la détection d'objets en temps réel.

YOLOv7

Développé dans la continuité de la famille YOLO, YOLOv7 a introduit le concept de « bag-of-freebies » entraînable pour améliorer significativement la précision sans augmenter le coût d'inférence.

En savoir plus sur YOLOv7

YOLO

Créé par des chercheurs d'Alibaba Group, DAMO-YOLO s'est fortement concentré sur la recherche d'architecture neuronale (NAS) et la distillation avancée des connaissances pour construire des modèles très efficaces pour divers types de matériel.

En savoir plus sur DAMO-YOLO

Innovations architecturales

YOLOv7: analyse du chemin du gradient et reparamétrage

YOLOv7 principalement sur les réseaux d'agrégation de couches efficaces étendus (E-ELAN). Les auteurs ont conçu E-ELAN en analysant les chemins de gradient du réseau, garantissant ainsi que le réseau puisse continuer à apprendre sans dégrader le chemin de gradient d'origine. De plus, YOLOv7 utilise YOLOv7 la reparamétrisation du modèle pendant l'inférence, fusionnant de manière transparente les couches afin de réduire les FLOP et d'accélérer les temps d'exécution. Cela le rend très performant pour l'inférence en temps réel sur les GPU modernes.

DAMO-YOLO: Recherche d'architecture neuronale et RepGFPN

DAMO-YOLO se distingue en tirant fortement parti de la recherche d'architecture neuronale (NAS) sous contraintes de latence. Il utilise un cadre appelé MAE-NAS pour découvrir des backbones optimaux adaptés à des matériels spécifiques, tels que les appareils mobiles ou des accélérateurs de périphérie spécifiques. Pour son neck, il introduit un RepGFPN (Rep-parameterized Generalized Feature Pyramid Network) efficace, et il utilise une conception ZeroHead pour minimiser la charge computationnelle dans les têtes de prédiction.

Différences de distillation

Alors que YOLOv7 sur de solides optimisations architecturales inhérentes,YOLO fortement d'un processus complexe de distillation des connaissances en plusieurs étapes. Il nécessite l'entraînement d'un grand modèle enseignant afin de distiller les connaissances dans un modèle élève plus petit, ce qui peut s'avérer coûteux en termes de calcul pendant la phase d'entraînement.

Comparaison des performances et des indicateurs

Lorsque l'on compare ces modèles, il est essentiel de tenir compte de la précision moyennemAP ), de la vitesse d'inférence et de la complexité du modèle.

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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Le tableau ci-dessus montre que YOLOv7 bien aux domaines nécessitant une grande précision (YOLOv7x), tandis queYOLO des modèles miniatures hautement optimisés pour les environnements contraints.

Efficacité de la formation et exigences en matière de mémoire

Une distinction majeure entre les deux architectures réside dans leurs méthodologies d'entraînement. La dépendance de DAMO-YOLO à la distillation signifie que l'entraînement d'un nouveau modèle à partir de zéro ou le réglage fin sur un jeu de données de vision par ordinateur personnalisé exige souvent beaucoup plus de VRAM et de temps de calcul GPU.

En revanche, les modèles intégrés à Ultralytics , tels que YOLOv7 les versions ultérieures, sont fortement optimisés pour les besoins en mémoire. Ils permettent aux développeurs d'utiliser des lots plus volumineux sur du matériel grand public sans rencontrer d'erreurs de mémoire insuffisante, ce qui simplifie le suivi des expériences et le processus d'itération.

L'avantage Ultralytics

Si YOLOv7 YOLO tous deux des fonctionnalités intéressantes, le déploiement de modèles au sein de Ultralytics offre une expérience de développement inégalée.

  • Facilité d'utilisation : Le package Python Ultralytics offre une API unifiée et simple. Vous pouvez rapidement basculer entre les architectures de modèles, démarrer des boucles d'entraînement ou exécuter l'inférence avec quelques lignes de code.
  • Écosystème bien entretenu : Ultralytics propose des mises à jour fréquentes, assurant une compatibilité native avec les dernières versions de PyTorch et les pilotes CUDA. Il simplifie également l'exportation de modèles vers des formats comme ONNX, TensorRT et OpenVINO.
  • Polyvalence : Contrairement à DAMO-YOLO, qui est strictement un détecteur d'objets, l'écosystème Ultralytics prend en charge nativement diverses tâches. Les modèles de la famille Ultralytics peuvent effectuer la détection de boîtes englobantes standard, l'estimation de pose, la segmentation d'instances et les boîtes englobantes orientées (OBB).

Exemple de code : Démarrage rapide

Voici à quel point il est facile de charger, d'entraîner et d'exécuter des inférences à l'aide Ultralytics :

from ultralytics import YOLO

# Load a pre-trained YOLOv7 model (or newer models like yolo26n.pt)
model = YOLO("yolov7.pt")

# Train the model on the COCO8 dataset with automated hyperparameter handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX format for deployment
model.export(format="onnx")

Exportation de modèles

Avec Ultralytics, l'exportation de vos poids entraînés vers divers formats accélérés par le matériel (tels que TensorRT CoreML) s'effectue à l'aide d'un seul argument dans la commande d'exportation, ce qui vous évite des heures de configuration complexe de scripts.

La prochaine génération : YOLO26

Si YOLOv7 une architecture héritée performante, le domaine a connu des avancées rapides. Pour les nouveaux déploiements, Ultralytics (sorti en janvier 2026) est la norme recommandée, surpassant les générations précédentes dans presque tous les domaines.

  • Conception de bout en bout sans NMS : Initié pour la première fois dans YOLOv10, YOLO26 élimine nativement le post-traitement de la suppression non maximale (NMS). Cela garantit une inférence déterministe à ultra-faible latence, essentielle pour la robotique et les technologies de conduite autonome.
  • Optimiseur MuSGD : Inspiré par des techniques d'entraînement avancées des LLM (comme Kimi K2 de Moonshot AI), cet optimiseur hybride combine SGD et Muon pour offrir un entraînement très stable et une convergence plus rapide sur l'ensemble des jeux de données.
  • Inférence CPU jusqu'à 43 % plus rapide : En supprimant stratégiquement la Distribution Focal Loss (DFL), YOLO26 améliore significativement les performances sur les plateformes d'edge computing et les CPU.
  • ProgLoss + STAL: Ces fonctions de perte avancées apportent des améliorations substantielles à la détection des petits objets, rendant YOLO26 exceptionnellement bien adapté à l'imagerie aérienne et à la surveillance détaillée.

En savoir plus sur YOLO26

Cas d'utilisation idéaux

Quand choisir DAMO-YOLO

  • Recherche Académique en NAS : Si votre organisation est fortement investie dans l'étude des méthodologies de recherche d'architecture neuronale.
  • Latence hyper-contrainte sur du matériel spécifique : Si vous disposez des ressources pour effectuer des recherches NAS exhaustives afin de trouver un backbone adapté à une puce d'accélérateur IA personnalisée.

Quand choisir YOLOv7

  • Pipelines GPU existants : Pour les équipes gérant des pipelines de production hérités profondément optimisés autour de l'architecture E-ELAN spécifique de YOLOv7 sur du matériel NVIDIA haut de gamme.

Pourquoi migrer vers Ultralytics modernes (YOLO11 YOLO26) ?

Pour la grande majorité des applications d'entreprise, de l'analyse commerciale à la fabrication intelligente en passant par les soins de santé, Ultralytics modernes sont inégalés. L'intégration à la Ultralytics fournit un pipeline ML complet, offrant une facilité d'utilisation, une documentation supérieure, un soutien communautaire solide et une polyvalence multitâche. Qu'il s'agisse de suivre les stocks sur un Raspberry Pi ou d'effectuer des analyses lourdes dans le cloud, des modèles tels que YOLO26 offrent l'équilibre idéal en termes de performances pour l'avenir de la vision par ordinateur.


Commentaires