YOLOv9 vs. YOLOv10: une comparaison technique pour la détection d'objets
Le choix du bon modèle de détection d'objets est une décision cruciale pour les développeurs et les chercheurs, car il s'agit de trouver un équilibre entre la nécessité d'une grande précision et les contraintes liées à l'inférence en temps réel et aux ressources informatiques. Ce guide propose une comparaison technique approfondie entre YOLOv9 et YOLOv10deux architectures de pointe qui ont repoussé les limites des performances de la vision par ordinateur en 2024.
Alors que YOLOv9 se concentre sur les innovations architecturales pour résoudre les goulots d'étranglement de l'apprentissage profond, YOLOv10 introduit un changement de paradigme avec une conception NMS pour une latence minimale. Les deux modèles sont entièrement intégrés dans le packageUltralytics Python , ce qui permet aux utilisateurs de les entraîner, de les valider et de les déployer facilement au sein d'un écosystème unifié.
Mesures et critères de performance
Les compromis de performance entre ces deux modèles sont distincts. YOLOv9 repousse généralement les limites de la précision moyenne (mAP), en particulier avec ses variantes les plus importantes, ce qui le rend adapté aux scénarios dans lesquels la précision est primordiale. À l'inverse, YOLOv10 est conçu pour l'efficacité, réduisant considérablement la latence de l'inférence et le nombre de paramètres, ce qui est idéal pour le déploiement en périphérie.
Le tableau ci-dessous illustre ces différences en utilisant l'ensemble de donnéesCOCO . Notamment, YOLOv10n atteint des vitesses incroyables sur les GPU T4, tandis que YOLOv9e domine en termes de précision de détection.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
YOLOv9: Résoudre le goulot d'étranglement de l'information
Sortie en février 2024, YOLOv9 s'attaque à un problème théorique fondamental dans les réseaux neuronaux profonds : la perte d'informations au fur et à mesure que les données se propagent dans les couches profondes. Ce modèle est conçu pour garantir que le réseau conserve les caractéristiques essentielles requises pour une détection précise des objets.
Détails techniques :
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica
- Date : 2024-02-21
- Arxiv :arXiv:2402.13616
- GitHub :WongKinYiu/yolov9
Architecture : PGI et GELAN
YOLOv9 introduit deux concepts révolutionnaires :
- Information programmable sur le gradient (PGI) : Un cadre de supervision auxiliaire qui empêche la perte d'informations pendant la formation. Il garantit que des gradients fiables sont générés pour mettre à jour les poids du réseau, ce qui résout les problèmes de supervision profonde rencontrés dans les architectures précédentes.
- Réseau d'agrégation de couches efficace généralisé (GELAN) : Une nouvelle architecture qui maximise l'efficacité des paramètres. GELAN permet au modèle d'atteindre une plus grande précision avec moins de paramètres que les modèles conventionnels en optimisant la façon dont les caractéristiques sont agrégées entre les couches.
Points forts et faiblesses
YOLOv9 excelle dans les applications où la précision est essentielle. Sa capacité à préserver des informations détaillées sur les caractéristiques le rend supérieur pour la détection de petits objets ou la navigation dans des scènes complexes. Toutefois, cette sophistication s'accompagne d'un compromis en termes de complexité. Les ajouts architecturaux tels que l'IGP sont principalement destinés à la formation, ce qui signifie qu'ils peuvent être supprimés au cours de l'inférence, mais les ressources de formation peuvent être plus élevées. En outre, bien qu'efficace, sa latence est généralement plus élevée que les conceptions efficaces spécialisées de YOLOv10.
YOLOv10: l'ère de la détection NMS
YOLOv10développé par des chercheurs de l'université de Tsinghua et publié en mai 2024, donne la priorité à la vitesse en temps réel et à la capacité de déploiement de bout en bout. Sa caractéristique principale est l'élimination de la suppression du non-maximum (NMS), une étape de post-traitement qui a traditionnellement été un goulot d'étranglement pour la latence de l'inférence.
Détails techniques :
- 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
Architecture : Attributions doubles cohérentes
L'innovation principale de YOLOv10 est l'assignation double cohérente pendant la formation. Le modèle utilise une stratégie d'affectation un-à-plusieurs pour la supervision riche pendant la formation, mais passe à une affectation un-à-un pour l'inférence. Cette architecture permet au modèle de prédire directement la boîte de délimitation optimale pour chaque objet, ce qui rend obsolète le post-traitement du NMS . Associé à une conception par blocs guidés par le rang, YOLOv10 réduit la redondance et la surcharge de calcul (FLOP).
Points forts et faiblesses
Le principal avantage de YOLOv10 est sa faible latence. En supprimant le NMS, la latence d'inférence devient déterministe et significativement plus faible, ce qui est essentiel pour le traitement vidéo en temps réel. Il se targue également d'une excellente efficacité des paramètres, comme le montre le tableau comparatif où les modèles YOLOv10 atteignent une précision compétitive avec moins de FLOP. Son introduction relativement récente par rapport aux écosystèmes établis constitue une faiblesse potentielle, bien que l'intégration dans Ultralytics permette de l'atténuer. Il est également très spécialisé dans la détection, alors que d'autres modèles de l'écosystème offrent une prise en charge multitâche plus large.
Exportation de bout en bout
YOLOv10 étant conçu NMS, l'exportation vers des formats tels que ONNX ou TensorRT est souvent plus simple et permet d'obtenir des modèles "purs" de bout en bout sans nécessiter de plugins de post-traitement complexes.
Analyse comparative pour les développeurs
Lors de l'intégration de ces modèles dans la production, plusieurs facteurs pratiques entrent en jeu, au-delà des mesures brutes.
Facilité d'utilisation et écosystème
Les deux modèles bénéficient énormément de leur appartenance à l'écosystèmeUltralytics . Cela signifie que les développeurs peuvent passer de YOLOv9 à YOLOv10 en changeant simplement une chaîne de modèle, en utilisant les mêmes pipelines d'entraînement, les mêmes outils de validation et les mêmes formats de déploiement.
- Efficacité de la formation : Les modèles Ultralytics nécessitent généralement moins de mémoire que les détecteurs à base de transformateurs, ce qui permet d'effectuer l'apprentissage sur des GPU grand public standard.
- Polyvalence : Alors que YOLOv9 et YOLOv10 se concentrent sur la détection, l'API Ultralytics prend en charge d'autres tâches telles que la segmentation des instances et l'estimation de la pose grâce à des modèles tels que YOLO11 et YOLOv8, offrant ainsi une boîte à outils complète pour divers projets d'IA visuelle.
Cas d'utilisation idéaux
Choisissez YOLOv9 quand :
- Votre application exige la plus grande précision possible (par exemple, imagerie médicale, détection des défauts dans la fabrication).
- Vous travaillez avec des objets difficiles à detect et la rétention d'informations est cruciale.
- La latence est une préoccupation secondaire par rapport à la précision.
Choisissez YOLOv10 lorsque :
- La vitesse est essentielle. Les applications telles que la conduite autonome, la navigation robotique ou l'analyse vidéo à haute fréquence bénéficient de la conception NMS.
- Déploiement sur des appareils périphériques (tels que NVIDIA Jetson ou Raspberry Pi) où les ressources GPU sont limitées.
- Vous avez besoin d'un temps d'inférence déterministe sans la variabilité introduite par le traitement NMS .
Exemple de code : Exécution des deux modèles
Grâce à l'API unifiée d'Ultralytics , il est facile de comparer ces modèles sur vos propres données. Le code Python suivant montre comment charger et exécuter l'inférence avec les deux architectures.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model_v9 = YOLO("yolov9c.pt")
# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Run inference on an image
results_v9 = model_v9("path/to/image.jpg")
results_v10 = model_v10("path/to/image.jpg")
# Print results
print(f"YOLOv9 Detection: {len(results_v9[0].boxes)}")
print(f"YOLOv10 Detection: {len(results_v10[0].boxes)}")
Conclusion
YOLOv9 et YOLOv10 représentent tous deux des étapes importantes dans le domaine de la vision par ordinateur. YOLOv9 repousse les limites théoriques de la rétention et de la précision des caractéristiques, ce qui en fait un outil puissant pour la recherche et les tâches exigeant une grande précision. YOLOv10 redéfinit l'efficacité en supprimant le goulot d'étranglement du NMS , offrant ainsi une solution rationalisée pour les applications en temps réel.
Pour les utilisateurs qui recherchent le meilleur équilibre entre la précision, la vitesse et la richesse des caractéristiques pour de multiples tâches (y compris la segmentation et la classification), nous recommandons également d'explorer YOLO11. En tant que dernière itération d'Ultralytics, YOLO11 affine les meilleurs attributs de ses prédécesseurs dans un ensemble robuste, prêt pour l'entreprise et adapté à pratiquement toutes les applications d'IA de vision.
Explorer d'autres modèles
L'écosystème Ultralytics est vaste. Si les exigences de votre projet diffèrent, envisagez ces alternatives :
- YOLO11: Le dernier modèle de pointe offrant des performances supérieures et une grande polyvalence dans les domaines de la détection, de la segmentation, de la pose, de l'OBB et de la classification.
- YOLOv8: un modèle très populaire et stable, connu pour sa grande compatibilité et sa prise en charge multitâche.
- RT-DETR: un détecteur basé sur un transformateur qui offre une grande précision sans nécessiter de NMS, servant d'alternative aux architectures YOLO pour des cas d'utilisation spécifiques.
En tirant parti de la plateforme Ultralytics , vous avez accès à l'ensemble de ces modèles, ce qui vous permet d'avoir toujours le bon outil pour votre travail.