YOLOv7 YOLOv10: l'évolution de la détection d'objets en temps réel
Le domaine de la vision par ordinateur a connu des avancées remarquables au cours des dernières années, la famille de modèles YOLO You Only Look Once) étant à la pointe de la détection d'objets en temps réel. Choisir l'architecture adaptée à vos projets de vision par ordinateur nécessite une compréhension approfondie des options disponibles. Dans cette comparaison technique exhaustive, nous explorerons les principales différences entre deux architectures phares : YOLOv7 et YOLOv10.
Introduction aux modèles
Ces deux modèles représentent des étapes importantes dans l'histoire de l'intelligence artificielle, mais ils adoptent des approches fondamentalement différentes pour résoudre les défis liés à la détection d'objets.
YOLOv7: le pionnier du « Bag-of-Freebies »
Publié le 6 juillet 2022 par les chercheurs Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao de l'Institut des sciences de l'information de l'Academia Sinica, YOLOv7 un changement de paradigme dans la manière dont les réseaux neuronaux sont optimisés. La recherche originale, détaillée dans leur article universitaire et hébergée sur leur dépôt GitHub officiel, s'est fortement concentrée sur la reparamétrisation architecturale et un « bag-of-freebies » entraînable.
YOLOv7 un réseau d'agrégation de couches efficace étendu (E-ELAN) pour guider le réseau dans l'apprentissage de diverses fonctionnalités sans détruire le chemin de gradient d'origine. Cela en fait un choix robuste pour les benchmarks de recherche universitaire et les systèmes fortement dépendants des GPU haut de gamme standard.
YOLOv10 : Détection de bout en bout en temps réel
Développé par Ao Wang et son équipe à l'université Tsinghua, YOLOv10 lancé le 23 mai 2024. Comme détaillé dans sa publication arxiv et le référentiel GitHub de Tsinghua, ce modèle élimine un obstacle de longue date dans la détection d'objets : la suppression non maximale (NMS).
YOLOv10 des attributions doubles cohérentes pour un entraînement NMS, modifiant fondamentalement le pipeline de post-traitement. En déployant une stratégie de conception de modèle holistique axée sur l'efficacité et la précision, YOLOv10 la redondance computationnelle. Il en résulte une architecture spécialement adaptée aux appareils périphériques nécessitant une latence extrêmement faible.
Architecture NMS
La suppression de la suppression non maximale (NMS) dans YOLOv10 d'exporter l'ensemble du modèle sous la forme d'un seul graphe de calcul. Cela simplifie considérablement le déploiement à l'aide de moteurs d'exécution tels que TensorRT ou OpenVINO.
Comparaison des performances et des indicateurs
Lors de l'analyse des performances d'un modèle, il est essentiel d'évaluer les compromis entre précision, vitesse et poids computationnel. Le tableau suivant montre comment les différentes tailles de ces modèles se comparent les unes aux autres.
| 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 |
Analyse des compromis
Les mesures ci-dessus révèlent un fossé générationnel marqué. Alors que YOLOv7x offre unmAPval très élevé de 53,1 %, il nécessite 71,3 millions de paramètres et 189,9 milliards de FLOP. En revanche, YOLOv10l dépasse cette précision (53,3 % mAP) tout en nécessitant moins de la moitié des paramètres (29,5 millions) et nettement moins de FLOP (120,3 milliards). De plus, le YOLOv10n hautement optimisé offre une vitesse d'inférence étonnante de 1,56 ms, ce qui le rend idéal pour l'analyse vidéo en temps réel et les applications mobiles.
Cas d'utilisation concrets
Les différences architecturales entre ces modèles déterminent leurs cas d'utilisation optimaux.
Quand utiliser YOLOv7
Grâce à sa riche représentation des caractéristiques, YOLOv7 dans les environnements très complexes. Des cas d'utilisation tels que la surveillance du flux de trafic dans les zones urbaines densément peuplées, l'analyse d'images satellites ou l'identification de défauts dans l'automatisation de la fabrication lourde bénéficient de sa robuste reparamétrisation structurelle. Il est également très apprécié dans les environnements hérités déjà profondément intégrés à des pipelines PyTorch .12 spécifiques.
Quand utiliser YOLOv10
La conception légère et NMS de YOLOv10 aux environnements contraints. Elle est fortement recommandée pour les appareils informatiques de pointe tels que NVIDIA Nano ou Raspberry Pi. Ses performances à faible latence en font l'outil idéal pour les applications à mouvement rapide telles que l'analyse sportive, la navigation autonome par drone et le tri robotisé à grande vitesse sur des bandes transporteuses.
L'avantage de l'écosystème Ultralytics
Bien que ces deux modèles aient de solides fondements académiques, leur véritable potentiel se révèle lorsqu'ils sont utilisés dans le cadre de Ultralytics unifiée Ultralytics . Développer des modèles de vision par ordinateur à partir de zéro est notoirement difficile, mais Ultralytics offre une expérience inégalée aux ingénieurs en apprentissage automatique.
- Facilité d'utilisation :Python Ultralytics fournit une interface unifiée. Vous pouvez former, valider et exporter des modèles en quelques lignes de code seulement, évitant ainsi les cauchemars liés aux dépendances complexes associées aux référentiels universitaires classiques.
- Écosystème bien entretenu : Ultralytics que le code sous-jacent est activement développé. Les utilisateurs bénéficient d'intégrations transparentes avec des outils ML populaires tels que Weights & Biases pour la journalisation, ou Hugging Face pour des démonstrations Web rapides.
- Exigences en matière de mémoire : les détecteurs d'objets basés sur des transformateurs consomment souvent d'énormes quantités de CUDA pendant l'entraînement. En revanche,YOLO Ultralytics nécessitent beaucoup moins de mémoire, ce qui permet d'utiliser des lots beaucoup plus volumineux sur du matériel grand public.
- Polyvalence : le Ultralytics ne se limite pas aux boîtes englobantes standard. Il prend en charge de manière transparente l'estimation de pose, la segmentation d'instances et les boîtes englobantes orientées dans toutes les familles de modèles pris en charge, telles que YOLO11 et YOLOv8.
Exemple de formation simplifiée
La mise en place d'un pipeline de formation avec Ultralytics remarquablement simple. Que vous tiriez parti de la robustesse historique de YOLOv7 de la vitesse NMS de YOLOv10, la syntaxe reste la même :
from ultralytics import YOLO
# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export to an edge-friendly format like ONNX
model.export(format="onnx")
Cas d'utilisation et recommandations
Le choix entre YOLOv7 YOLOv10 des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.
Quand choisir YOLOv7
YOLOv7 un excellent choix pour :
- Benchmarking académique : reproduction des résultats de pointe de 2022 ou étude des effets des techniques E-ELAN et trainable bag-of-freebies.
- Recherche sur la reparamétrisation : étude des convolutions reparamétrisées planifiées et des stratégies de mise à l'échelle des modèles composites.
- Pipelines personnalisés existants : projets avec des pipelines fortement personnalisés, construits autour de l'architecture spécifique YOLOv7, qui ne peuvent pas être facilement refactorisés.
Quand choisir YOLOv10
YOLOv10 recommandé pour :
- Détection en temps réelNMS: applications bénéficiant d'une détection de bout en bout sans suppression non maximale, réduisant ainsi la complexité du déploiement.
- Compromis équilibré entre vitesse et précision : projets nécessitant un équilibre solide entre la vitesse d'inférence et la précision de détection à différentes échelles de modèle.
- Applications à latence constante : scénarios de déploiement où des temps d'inférence prévisibles sont essentiels, tels que la robotique ou les systèmes autonomes.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
L'avenir : présentation de YOLO26
Si YOLOv7 YOLOv10 des avancées impressionnantes, les frontières de l'IA ne cessent de progresser. Lancé en janvier 2026, Ultralytics est la nouvelle référence incontestée en matière d'efficacité et de précision pour tous les scénarios de déploiement en périphérie et dans le cloud.
Si vous démarrez aujourd'hui un nouveau projet de vision par ordinateur, YOLO26 est l'architecture recommandée. Elle s'appuie sur l'héritage de ses prédécesseurs en intégrant plusieurs innovations révolutionnaires :
- Conception NMS de bout en bout : s'inspirant de YOLOv10, YOLO26 élimine nativement NMS , garantissant une inférence à très faible latence pour une robotique déterministe en temps réel.
- CPU jusqu'à 43 % plus rapide : en supprimant stratégiquement le module Distribution Focal Loss (DFL), YOLO26 accélère considérablement l'exécution sur le matériel informatiqueGPU , ce qui en fait une véritable centrale électrique pour les appareils IoT.
- Optimiseur MuSGD : inspiré par les récentes innovations en matière d'entraînement des grands modèles linguistiques, YOLO26 intègre un hybride de SGD Muon, stabilisant les voies d'entraînement et garantissant une convergence plus rapide.
- ProgLoss + STAL : ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance des petits objets, surmontant ainsi une faiblesse historique des anciennes YOLO .
- Polyvalence inégalée : YOLO26 propose des optimisations natives spécifiques à certaines tâches, telles que l'estimation de la vraisemblance logarithmique résiduelle (RLE) pour le suivi de pose et des pertes angulaires spécialisées pour une détection OBB précise dans l'imagerie aérienne.
Pour les ingénieurs qui recherchent l'équilibre parfait entre vitesse, précision et simplicité de déploiement, passer des modèles traditionnels à YOLO26 offre un avantage concurrentiel immédiat et mesurable.