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. Tous 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 YOLO , YOLOv7 le concept de « bag-of-freebies » (sac de cadeaux) entraînable afin d'améliorer considérablement la précision sans augmenter le coût de l'inférence.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation :Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv :https://arxiv.org/abs/2207.02696
- GitHub :https://github.com/WongKinYiu/yolov7
- Docs :https://docs.ultralytics.com/models/yolov7/
YOLO
Créé par des chercheurs du groupe Alibaba,YOLO fortementYOLO sur la recherche d'architecture neuronale (NAS) et la distillation avancée des connaissances afin de construire des modèles hautement efficaces pour divers matériels.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation :Alibaba Group
- Date : 2022-11-23
- Arxiv :https://arxiv.org/abs/2211.15444v2
- GitHub :https://github.com/tinyvision/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.
YOLO: Recherche d'architecture neuronale et RepGFPN
YOLO en exploitant largement la recherche d'architecture neuronale (NAS) dans le cadre de contraintes de latence. Il utilise un cadre appelé MAE-NAS pour découvrir des structures optimales adaptées à des matériels spécifiques, tels que les appareils mobiles ou certains accélérateurs de pointe. Pour son col, il introduit un réseau RepGFPN (Rep-parameterized Generalized Feature Pyramid Network) efficace et utilise une conception ZeroHead afin de minimiser la charge de calcul 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èle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.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 différence majeure entre les deux architectures réside dans leurs méthodologies d'entraînement. Le recours à la distillationYOLO signifie que l'entraînement d'un nouveau modèle à partir de zéro ou le réglage fin sur un ensemble de données de vision par ordinateur personnalisé nécessite souvent beaucoup plus de VRAM et de temps 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 : lePython Ultralytics offre une API unifiée et simple. Vous pouvez rapidement passer d'une architecture de modèle à une autre, lancer des boucles d'entraînement ou exécuter des inférences à l'aide de quelques lignes de code.
- Écosystème bien entretenu : Ultralytics des mises à jour fréquentes, garantissant une compatibilité native avec la dernière version de PyTorch et CUDA . Il simplifie également l'exportation de modèles vers des formats tels que ONNX, TensorRTet OpenVINO.
- Polyvalence : contrairement àYOLO, qui est strictement un détecteur d'objets, Ultralytics prend en charge diverses tâches de manière native. Les modèles de la Ultralytics peuvent effectuer la détection standard de cadres de sélection, l'estimation de pose, la segmentation d'instances et les cadres de sélection orientés (OBB).
Exemple de code : Démarrer rapidement
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 NMS de bout en bout : lancée pour la première fois dans YOLOv10, YOLO26 élimine nativement le post-traitement de suppression non maximale (NMS). Cela garantit une inférence déterministe à très faible latence, essentielle pour la robotique et les technologies de conduite autonome.
- Optimiseur MuSGD : inspiré des techniques avancées d'entraînement LLM (comme Kimi K2 de Moonshot AI), cet optimiseur hybride combine SGD Muon pour offrir un entraînement très stable et une convergence plus rapide entre les ensembles de données.
- CPU jusqu'à 43 % plus rapide : en supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 améliore considérablement les performances sur les plateformes informatiques de pointe et les CPU.
- ProgLoss + STAL : ces fonctions de perte avancées permettent d'améliorer considérablement la détection des petits objets, ce qui rend YOLO26 particulièrement adapté à l'imagerie aérienne et à la surveillance détaillée.
Cas d'utilisation idéaux
Quand choisir DAMO-YOLO
- Recherche universitaire dans le domaine de la NAS : si votre organisation investit massivement dans l'étude des méthodologies de recherche d'architecture neuronale.
- Latence hyper-contrainte sur un matériel spécifique : si vous disposez des ressources nécessaires pour effectuer des recherches NAS exhaustives afin de trouver une dorsale sur mesure pour une puce d'accélérateur IA personnalisée.
Quand choisir YOLOv7
- GPU existants : pour les équipes qui maintiennent des pipelines de production hérités profondément optimisés autour de l'architecture E-ELAN spécifique YOLOv7 sur 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.