YOLOv8 vs YOLOv10: une comparaison technique complète
Le choix du bon modèle de détection d'objets est essentiel pour la réussite de tout projet de vision par ordinateur. Ce guide fournit une comparaison technique détaillée entre Ultralytics YOLOv8 et YOLOv10en analysant les innovations architecturales, les mesures de performance et les cas d'utilisation idéaux. Alors que YOLOv10 introduit de nouvelles optimisations de l'efficacité, Ultralytics YOLOv8 reste une force dominante en raison de son écosystème robuste, de sa polyvalence inégalée et de sa fiabilité éprouvée dans divers scénarios de déploiement.
Ultralytics YOLOv8: La norme polyvalente
Sortie en janvier 2023, Ultralytics YOLOv8 représente une avancée significative dans la sérieYOLO , conçue non seulement comme un modèle mais aussi comme un cadre complet pour l'IA visionnaire. Il privilégie la convivialité et la flexibilité, ce qui en fait le choix privilégié des développeurs, qu'il s'agisse d'amateurs ou d'ingénieurs d'entreprise.
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :ultralytics
- Docs :DocumentationYOLOv8
Architecture et capacités
YOLOv8 utilise un mécanisme de détection sans ancrage, qui simplifie le processus de formation en éliminant la nécessité de spécifier manuellement la boîte d'ancrage. Cette approche améliore la généralisation à différentes formes d'objets. Son architecture se caractérise par une tête découplée et une colonne vertébrale de pointe qui permet d'équilibrer le coût de calcul avec une grande précision.
L'une des caractéristiques de YOLOv8 est sa prise en charge native des tâches multiples. Contrairement à de nombreux modèles spécialisés, YOLOv8 offre des capacités prêtes à l'emploi pour :
- Détection d'objets
- Segmentation d'instance
- Classification d'images
- Estimation de pose
- Boîtes englobantes orientées (OBB)
Principaux avantages
L'écosystème bien entretenu qui entoure YOLOv8 est un avantage considérable. Il s'intègre de manière transparente avec le HUBUltralytics pour l'entraînement et la gestion des modèles, et offre des options d'exportation étendues vers des formats tels que ONNX, TensorRT et CoreML. De plus, ses besoins en mémoire lors de l'apprentissage et de l'inférence sont nettement inférieurs à ceux des architectures basées sur les transformateurs, ce qui lui permet de fonctionner efficacement sur du matériel standard.
YOLOv10: Repousser les limites de l'efficacité
YOLOv10développé par des chercheurs de l'Université de Tsinghua, se concentre fortement sur l'optimisation du pipeline d'inférence en éliminant les goulets d'étranglement associés au post-traitement.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Université de Tsinghua
- Date : 2024-05-23
- Arxiv :arXiv:2405.14458
- GitHub :THU-MIG/yolov10
- Docs :DocumentationYOLOv10
Innovations architecturales
La caractéristique principale de YOLOv10 est sa stratégie d'apprentissageNMS. Les détecteurs d'objets traditionnels s'appuient sur la suppression non maximale (NMS) pour filtrer les boîtes de délimitation qui se chevauchent pendant l'inférence, ce qui peut entraîner des temps de latence. YOLOv10 utilise des affectations doubles cohérentes au cours de la formation, en combinant la supervision un-à-plusieurs pour des signaux de supervision riches avec l'appariement un-à-un pour une inférence efficace. Cela permet au modèle de prédire des boîtes de délimitation exactes sans avoir besoin de NMS, réduisant ainsi la latence de bout en bout.
L'architecture comprend également une conception holistique de l'efficacité et de la précision, avec des têtes de classification légères et un sous-échantillonnage découplé des canaux spatiaux pour réduire la redondance de calcul (FLOP) et le nombre de paramètres.
Mesure et analyse des performances
Lorsque l'on compare ces deux modèles, il est essentiel d'aller au-delà des chiffres de précision pure. Alors que YOLOv10 fait preuve d'une efficacité impressionnante en termes de paramètres, YOLOv8 conserve des performances solides sur une plus grande variété de matériel et de tâches.
Tableau comparatif
Le tableau ci-dessous met en évidence les performances sur l'ensemble de donnéesCOCO . Dans certains cas, YOLOv10 atteint un mAP plus élevé avec moins de paramètres, mais YOLOv8 reste très compétitif en termes de vitesse d'inférence, en particulier sur les benchmarks CPU et GPU standard.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 critique
- Équilibre des performances : YOLOv8 offre un excellent compromis entre vitesse et précision. Ses vitesses sur le CPU (via ONNX) sont bien documentées et optimisées, ce qui en fait un choix fiable pour les déploiements ne disposant pas de matériel GPU spécialisé.
- Efficacité de la formation : Les modèles Ultralytics sont réputés pour l'efficacité de leurs processus de formation. Les utilisateurs peuvent souvent atteindre la convergence plus rapidement grâce aux hyperparamètres optimisés de YOLOv8 et aux poids pré-entraînés facilement disponibles.
- Maturité de l'écosystème : Alors que YOLOv10 offre des gains d'efficacité théoriques, YOLOv8 bénéficie d'années de perfectionnement dans l'écosystème Ultralytics . Cela inclut un support étendu pour l'augmentation des données, un débogage actif de la communauté, et des intégrations avec des outils tels que Weights & Biases et Comet.
L'importance de la polyvalence
Si votre projet nécessite plus que de simples boîtes de délimitation, comme la compréhension du langage corporel via l'estimation de la pose ou la délimitation précise des frontières via la YOLOv8 , YOLOv8est le grand gagnant, car YOLOv10 est actuellement spécialisé principalement dans la détection d'objets.
Cas d'utilisation idéaux
Quand choisir Ultralytics YOLOv8
YOLOv8 est le choix recommandé pour la grande majorité des applications réelles en raison de sa polyvalence et de sa facilité d'utilisation.
- Solutions d'IA à multiples facettes : Parfaites pour les projets nécessitant une segmentation ou une classification des instances en plus de la détection.
- Déploiement en entreprise : Idéal pour les entreprises qui ont besoin d'un cadre stable et soutenu avec des options de licence claires et une intégration dans les pipelines MLOps existants.
- Commerce de détail intelligent : Sa capacité à gérer des tâches multiples en fait un outil adapté à l'analyse complexe du commerce de détail, comme la surveillance des rayons et l'analyse du comportement des clients.
- Prototypage rapide : L'API Python simple permet aux développeurs de passer d'un concept à un modèle formé en quelques minutes.
Quand choisir YOLOv10
YOLOv10 est plutôt réservé à des niches spécifiques où les contraintes matérielles sont extrêmes.
- Edge AI à latence critique : applications sur microcontrôleurs ou systèmes intégrés hérités où chaque milliseconde de latence d'inférence compte.
- Traitement vidéo à haut débit : Scénarios tels que la gestion du trafic où la réduction du temps de post-traitement par image peut permettre d'économiser d'importantes ressources informatiques.
Mise en œuvre du code
L'une des caractéristiques de l'écosystème d'Ultralytics est le système de gestion des données de l'entreprise. facilité d'utilisation. Les deux modèles sont accessibles par l'intermédiaire de l'interface unifiée ultralytics Python , ce qui garantit une expérience cohérente pour les développeurs.
Vous trouverez ci-dessous un exemple de la manière dont l'inférence peut être exécutée avec YOLOv8démontrant la simplicité de l'API.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Perform object detection on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
De même, comme Ultralytics prend en charge un écosystème plus large, il est souvent facile de changer de poids pour expérimenter d'autres architectures, à condition qu'elles soient prises en charge par la bibliothèque.
Exportation sans soudure
Ultralytics fournit une commande en une ligne pour exporter vos modèles entraînés dans des formats faciles à déployer. Cette commande fonctionne parfaitement avec YOLOv8 pour générer des modèles optimisés pour la production :
# Export YOLOv8 model to ONNX format
model.export(format="onnx")
Conclusion
YOLOv8 et YOLOv10 sont des prouesses impressionnantes en matière d'ingénierie de la vision par ordinateur. YOLOv10 repousse les limites de l'efficacité architecturale grâce à sa conception NMS, ce qui en fait un concurrent de taille pour les tâches de détection hautement spécialisées et sensibles à la latence.
Cependant, pour un développement robuste, polyvalent et à l'épreuve du temps, Ultralytics YOLOv8 reste le meilleur choix. Sa capacité à gérer la classification, la segmentation et l'estimation de la pose dans un cadre unique offre une valeur inégalée. Associé à une documentation complète, à un support communautaire actif et à une intégration transparente avec Ultralytics HUB, YOLOv8 permet aux développeurs de créer des solutions d'IA complètes plus rapidement et de manière plus fiable.
Pour ceux qui recherchent le nec plus ultra en matière de performance, nous recommandons également d'explorer YOLO11qui s'appuie sur les points forts de YOLOv8 pour offrir encore plus de précision et de rapidité.
Lectures complémentaires
- Comparaison entre YOLO11 et YOLOv10
- Comparaison entre YOLOv8 et YOLOv9
- Guide de la détection d'objets