Passer au contenu

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 essentielle pour les développeurs et les chercheurs, qui doivent trouver un équilibre entre la nécessité d'une haute précision et les contraintes de l'inférence en temps réel et des ressources de calcul. Ce guide fournit une comparaison technique approfondie entre YOLOv9 et YOLOv10, deux 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'information dans l'apprentissage profond, YOLOv10 introduit un changement de paradigme avec une conception sans NMS pour une latence minimale. Les deux modèles sont entièrement intégrés dans le package Ultralytics Python, permettant aux utilisateurs de les entraîner, de les valider et de les déployer facilement au sein d'un écosystème unifié.

Métriques de performance et benchmarks

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 plus grandes, ce qui le rend adapté aux scénarios où la précision est primordiale. Inversement, YOLOv10 est conçu pour l'efficacité, réduisant considérablement la latence d'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 à l'aide de l'ensemble de données COCO. Notamment, YOLOv10n atteint des vitesses incroyables sur les GPU T4, tandis que YOLOv9e domine en précision de détection.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

YOLOv9 : Résoudre le goulot d’étranglement de l’information

Lancé en février 2024, YOLOv9 cible un défi théorique fondamental dans les réseaux neuronaux profonds : la perte d'informations à mesure que les données se propagent à travers 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 d'objets précise.

Détails techniques :

Architecture : PGI et GELAN

YOLOv9 introduit deux concepts révolutionnaires :

  1. Informations de gradient programmables (PGI) : Un framework de supervision auxiliaire qui empêche la perte d'informations pendant l'entraînement. Il garantit que des gradients fiables sont générés pour la mise à jour des poids du réseau, résolvant ainsi les problèmes de supervision profonde rencontrés dans les architectures précédentes.
  2. Generalized Efficient Layer Aggregation Network (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 conceptions classiques 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. Cependant, cette sophistication s'accompagne d'un compromis en termes de complexité. Les ajouts architecturaux comme le PGI sont principalement destinés à l'entraînement, ce qui signifie qu'ils peuvent être supprimés pendant l'inférence, mais les ressources d'entraînement peuvent être plus importantes. De plus, bien qu'efficace, sa latence est généralement plus élevée que celle des conceptions efficaces spécialisées de YOLOv10.

En savoir plus sur YOLOv9

YOLOv10 : L'ère de la détection sans NMS

YOLOv10, développé par des chercheurs de l'université de Tsinghua et publié en mai 2024, privilégie la vitesse en temps réel et la déployabilité de bout en bout. Sa caractéristique principale est l'élimination de la suppression non maximale (NMS), une étape de post-traitement qui a traditionnellement constitué un goulot d'étranglement pour la latence d'inférence.

Détails techniques :

Architecture : Affectations doubles cohérentes

L'innovation principale de YOLOv10 est l'attribution double cohérente pendant l'entraînement. Le modèle utilise une stratégie d'attribution un-à-plusieurs pour une supervision riche pendant l'entraînement, mais passe à une attribution un-à-un pour l'inférence. Cette architecture permet au modèle de prédire directement la boîte englobante optimale pour chaque objet, rendant le post-traitement NMS obsolète. Couplé à une conception de bloc guidée par le rang, YOLOv10 réduit la redondance et la surcharge de calcul (FLOPs).

Points forts et faiblesses

L'avantage principal de YOLOv10 est sa faible latence. En supprimant 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 offre également une excellente efficacité des paramètres, comme on le voit dans le tableau de comparaison où les modèles YOLOv10 atteignent une précision compétitive avec moins de FLOPs. Une faiblesse potentielle est son introduction relativement récente par rapport aux écosystèmes établis, bien que l'intégration dans Ultralytics atténue cela. Il est également hautement spécialisé pour 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

Étant donné que YOLOv10 est sans NMS par conception, son exportation vers des formats tels que ONNX ou TensorRT est souvent plus simple et produit des modèles "purs" de bout en bout sans nécessiter de plugins de post-traitement complexes.

En savoir plus sur YOLOv10

Analyse comparative pour les développeurs

Lors de l'intégration de ces modèles en 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ème Ultralytics. 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 outils de validation et les formats de déploiement.

  • Efficacité de l'entraînement : Les modèles Ultralytics nécessitent généralement moins de mémoire que les détecteurs basés sur des transformateurs, ce qui permet de s'entraîner sur des GPU grand public standard.
  • Polyvalence : Bien que YOLOv9 et YOLOv10 soient axés sur la détection, l’API Ultralytics prend en charge d’autres tâches telles que la segmentation d’instance et l’estimation de pose grâce à des modèles tels que YOLO11 et YOLOv8, offrant une boîte à outils complète pour divers projets d’IA de vision.

Cas d'utilisation idéaux

  • Choisissez YOLOv9 lorsque :

    • Votre application exige la plus haute précision possible (par exemple, l'imagerie médicale, la détection de défauts dans la fabrication).
    • Vous travaillez avec des objets difficiles à détecter où la conservation de l'information 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 d’images bénéficient de la conception sans NMS.
    • Déploiement sur des appareils périphériques (comme NVIDIA Jetson ou Raspberry Pi) où les ressources CPU/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 Ultralytics unifiée, il est simple 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 une centrale pour la recherche et les tâches nécessitant une grande précision. YOLOv10 redéfinit l'efficacité en supprimant le goulot d'étranglement NMS, offrant ainsi une solution rationalisée pour les applications en temps réel.

Pour les utilisateurs qui recherchent le meilleur équilibre entre précision, vitesse et richesse fonctionnelle dans 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 en un ensemble robuste et prêt pour l'entreprise, 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 à la pointe de la technologie offrant des performances et une polyvalence supérieures dans les domaines de la Détection, la Segmentation, la Pose, l'OBB et la Classification.
  • YOLOv8: Un modèle très populaire et stable, connu pour sa large compatibilité et sa prise en charge multi-tâches.
  • RT-DETR : Un détecteur basé sur un transformateur qui offre une haute précision sans avoir besoin de NMS, servant d'alternative aux architectures YOLO pour des cas d'utilisation spécifiques.

En tirant parti de la plateforme Ultralytics, vous accédez à l'ensemble de cette suite de modèles, ce qui vous garantit d'avoir toujours le bon outil pour le travail.


Commentaires