YOLOv7 YOLOv10: comparaison des architectures pour la détection en temps réel
L'évolution des modèles de détection d'objets s'est caractérisée par une recherche constante d'une plus grande précision et d'une latence plus faible. Deux étapes importantes dans cette évolution sont YOLOv7, sorti mi-2022, et YOLOv10, introduit mi-2024. Si ces deux architectures ont fait progresser l'état de l'art lors de leur sortie, elles représentent des philosophies de conception fondamentalement différentes. YOLOv7 sur l'optimisation du processus d'entraînement grâce à un « bag-of-freebies », tandis que YOLOv10 d'une approche de bout en bout qui élimine le besoin de suppression non maximale (NMS).
Ce guide fournit une comparaison technique détaillée afin d'aider les chercheurs et les ingénieurs à choisir l'outil adapté à leurs projets de vision par ordinateur. Nous analysons l'architecture, les indicateurs de performance et les workflows de déploiement, en mettant en avant les raisons pour lesquelles les itérations modernes telles que YOLOv10et la nouvelle version YOLO26, sont souvent privilégiées pour les solutions d'IA évolutives.
Comparaison des performances des modèles
Le tableau ci-dessous met en évidence les différences de performances entre les deux modèles. YOLOv10 offre YOLOv10 une latence plus faible et une efficacité supérieure (moins de paramètres et de FLOP) par rapport à YOLOv7, en particulier dans les variantes de modèles plus petits.
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
YOLOv7 : La puissance des « Bag-of-Freebies »
Sorti en juillet 2022, YOLOv7 a été développé pour optimiser le processus d'entraînement sans augmenter les coûts d'inférence. Les auteurs ont introduit un concept appelé « trainable bag-of-freebies », qui fait référence à des méthodes d'optimisation qui améliorent la précision pendant l'entraînement mais sont abandonnées pendant l'inférence, ce qui permet de conserver la rapidité du modèle.
Détails techniques clés :
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- Liens :Article ArXiv | Dépôt GitHub
YOLOv7 le réseau E-ELAN (Extended Efficient Layer Aggregation Network). Cette architecture permet au modèle d'apprendre des caractéristiques plus diverses en contrôlant efficacement les chemins de gradient les plus courts et les plus longs. De plus, il a utilisé des techniques de mise à l'échelle du modèle qui modifient simultanément les attributs de l'architecture (tels que la profondeur et la largeur), garantissant ainsi des performances optimales pour différentes tailles. Malgré ses performances élevées sur COCO , YOLOv7 avant tout un détecteur basé sur des ancrages, ce qui peut parfois compliquer le réglage des hyperparamètres par rapport aux alternatives modernes sans ancrage.
YOLOv10 : Détection d'objets de bout en bout en temps réel
Publié en mai 2024 par des chercheurs de l'université Tsinghua, YOLOv10 a marqué un tournant important dans la YOLO en introduisant l'entraînement NMS.
Détails techniques clés :
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Tsinghua University
- Date : 2024-05-23
- Liens :Article ArXiv | Dépôt GitHub
YOLOv10 un problème de longue date dans la détection en temps réel : la dépendance à la suppression non maximale (NMS) pour le post-traitement. En utilisant des attributions doubles cohérentes, YOLOv10 un apprentissage de bout en bout, ce qui permet au modèle de produire directement des prédictions finales. La suppression de NMS réduit NMS la latence d'inférence et simplifie les pipelines de déploiement, en particulier sur les appareils périphériques où le surcoût du post-traitement est élevé. De plus, sa conception holistique axée sur l'efficacité et la précision optimise divers composants, tels que la tête de classification légère et le sous-échantillonnage découplé des canaux spatiaux, afin de réduire la redondance computationnelle.
Comparaison critique : architecture et convivialité
Bien que les deux modèles soient puissants, leurs différences architecturales déterminent leurs cas d'utilisation idéaux.
Sans NMS vs. Basé sur des ancres
La différence la plus marquante réside dans les exigences en matière de post-traitement. YOLOv7 sur NMS filtrer les cadres de sélection qui se chevauchent. Bien qu'efficace, NMS une latence qui varie en fonction du nombre d'objets détectés, ce qui rend le temps de prédiction variable. En revanche, la conception de bout en bout YOLOv10 offre des temps d'inférence déterministes, ce qui est crucial pour les applications en temps réel critiques pour la sécurité, telles que les véhicules autonomes.
Efficacité et utilisation des ressources
YOLOv10 une efficacité supérieure. Comme le montre le tableau comparatif, YOLOv10b atteint une précision comparable à YOLOv7, mais avec environ 65 % de paramètres en moins. Cette réduction drastique de la taille du modèle se traduit par une consommation de mémoire moindre, ce qui rend YOLOv10 adapté aux environnements à mémoire limitée, tels que les applications mobiles ou les appareils IoT.
Efficacité de la mémoire
Pour les développeurs qui ciblent les appareils périphériques, la réduction du nombre de paramètres de YOLOv10 une utilisation nettement moindre de la mémoire vive (RAM) pendant l'inférence. Cela permet d'exécuter des lots plus volumineux ou d'effectuer plusieurs tâches simultanément avec d'autres modèles d'IA sur le même matériel.
Formation et écosystème
L'écosystème qui entoure un modèle détermine son utilité pratique pour les développeurs. C'est là que Ultralytics prend tout son sens. Les deux modèles sont accessibles via lePython Ultralytics , qui unifie l'expérience utilisateur.
- Facilité d'utilisation : Vous pouvez passer d'un modèle à l'autre en modifiant une seule chaîne (par exemple,
model = YOLO("yolov10n.pt")). - Modes unifiés : Ultralytics les commandes pour l'entraînement, la validation et l'exportation vers des formats tels que ONNX, TensorRT et CoreML.
- Efficacité de la formation : Ultralytics sont optimisées pour une utilisation réduite CUDA par rapport PyTorch bruts, ce qui permet des tailles de lots plus importantes sur les GPU grand public.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (swappable with YOLOv7)
model = YOLO("yolov10n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
L'avenir : YOLO26
Bien que YOLOv7 YOLOv10 excellents, le domaine évolue rapidement. Le tout nouveau YOLO26 (janvier 2026) s'appuie sur la base NMS de YOLOv10 introduit de nouvelles innovations pour une vitesse et une précision encore plus grandes.
- NMS de bout en bout : tout comme YOLOv10, YOLO26 est nativement de bout en bout, garantissant une latence déterministe.
- Optimiseur MuSGD : Inspiré par l'entraînement des LLM, cet optimiseur hybride assure un entraînement stable et une convergence plus rapide.
- Optimisation de la périphérie : grâce à la suppression de la perte focale de distribution (DFL), YOLO26 est jusqu'à 43 % plus rapide sur CPU, ce qui en fait le choix idéal pour l'informatique de périphérie.
- Polyvalence : YOLO26 prend en charge toutes les tâches, y compris OBB, l'estimation de pose et la segmentation.
Conclusion
Le choix entre YOLOv7 YOLOv10 de vos contraintes spécifiques.
- Choisissez YOLOv7 si vous gérez des systèmes hérités optimisés pour son architecture spécifique ou si vous avez besoin des fonctionnalités spécifiques « bag-of-freebies » à des fins de comparaison dans le cadre de recherches.
- Choisissez YOLOv10 pour les nouveaux déploiements nécessitant une faible latence et une efficacité élevée. Sa conception NMS et son nombre réduit de paramètres le rendent idéal pour les applications en temps réel.
Cependant, pour obtenir le meilleur équilibre entre vitesse, précision et facilité d'utilisation, nous vous recommandons de vous tourner vers la dernière version de YOLO26. Soutenue par la Ultralytics robuste Ultralytics , elle offre la solution la plus pérenne pour le développement de la vision par ordinateur.
Lectures complémentaires
- Tâches de détection d'objets
- Explication des métriques de performance YOLO
- Guide d'exportation de modèles