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 jalons importants dans l'histoire de l'intelligence artificielle, pourtant ils adoptent des approches fondamentalement différentes pour résoudre les défis de 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 de l'Université Tsinghua, YOLOv10 a été publié le 23 mai 2024. Comme détaillé dans sa publication arxiv et le dépôt GitHub de Tsinghua, ce modèle élimine un goulot d'étranglement 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 excelle dans les environnements très complexes. Des cas d'utilisation tels que la surveillance du flux de trafic dans les zones urbaines denses, l'analyse d'images satellites ou l'identification de défauts dans l'automatisation de la fabrication lourde bénéficient de sa re-paramétrisation structurelle robuste. Il est également fortement privilégié dans les environnements existants déjà profondément intégrés à des pipelines PyTorch 1.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 : L'API Python Ultralytics offre une interface unifiée. Vous pouvez entraîner, valider et exporter des modèles avec seulement quelques lignes de code, évitant ainsi les cauchemars de dépendances complexes associés aux dépôts académiques typiques.
- Écosystème bien entretenu : Ultralytics garantit que le code sous-jacent est activement développé. Les utilisateurs bénéficient d'intégrations fluides avec des outils ML populaires comme Weights & Biases pour la journalisation, ou Hugging Face pour des démos web rapides.
- Exigences de mémoire : Les détecteurs d'objets basés sur des transformeurs consomment souvent d'énormes quantités de mémoire CUDA pendant l'entraînement. En revanche, les modèles Ultralytics YOLO nécessitent beaucoup moins de mémoire, ce qui permet d'utiliser des tailles de lot beaucoup plus importantes sur du matériel grand public.
- Polyvalence : Le pipeline 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 sur l'ensemble des familles de modèles prises 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 et YOLOv10 dépend des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de l'écosystème.
Quand choisir YOLOv7
YOLOv7 un excellent choix pour :
- Étalonnage Académique : Pour la reproduction de résultats de pointe de l'ère 2022 ou l'étude des effets des techniques E-ELAN et des « bag-of-freebies » entraînables.
- Recherche sur la reparamétrisation : Investigation des convolutions reparamétrées planifiées et des stratégies de mise à l'échelle de modèles composés.
- Pipelines personnalisés existants : Projets avec des pipelines fortement personnalisés conçus autour de l'architecture spécifique de YOLOv7 qui ne peuvent pas être facilement refactorisés.
Quand choisir YOLOv10
YOLOv10 recommandé pour :
- Détection en temps réel sans NMS : Applications qui bénéficient d'une détection de bout en bout sans Non-Maximum Suppression, réduisant ainsi la complexité du déploiement.
- Compromis équilibrés vitesse-précision: Projets nécessitant un équilibre solide entre la vitesse d'inférence et la précision de détection sur diverses échelles de modèles.
- Applications à latence constante : Scénarios de déploiement où des temps d'inférence prévisibles sont critiques, 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éploiement Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence, sans la complexité du post-traitement de la Non-Maximum Suppression.
- Environnements uniquement CPU : Les appareils sans accélération GPU dédiée, où l'inférence CPU de YOLO26, jusqu'à 43 % plus rapide, offre un avantage décisif.
- Détection de petits objets: Scénarios difficiles comme l'imagerie aérienne par drone ou l'analyse de capteurs IoT où ProgLoss et STAL augmentent significativement 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 de bout en bout sans NMS : S'inspirant de YOLOv10, YOLO26 élimine nativement le post-traitement NMS, assurant une inférence à très faible latence pour une robotique temps réel déterministe.
- Inférence CPU jusqu'à 43 % plus rapide : En supprimant stratégiquement le module Distribution Focal Loss (DFL), YOLO26 accélère drastiquement l'exécution sur le matériel d'edge computing sans GPU, ce qui en fait une solution puissante pour les appareils IoT.
- Optimiseur MuSGD : Inspiré par les récentes innovations en matière d'entraînement des grands modèles de langage, YOLO26 intègre un hybride de SGD et Muon, stabilisant les parcours d'entraînement et garantissant une convergence plus rapide.
- ProgLoss + STAL: Ces fonctions de perte avancées apportent des améliorations notables à la reconnaissance des petits objets, surmontant une faiblesse historique des anciennes générations de YOLO.
- Polyvalence inégalée : YOLO26 intègre des optimisations natives spécifiques aux tâches, telles que l'estimation du log-vraisemblance résiduel (RLE) pour le track 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.