Passer au contenu

YOLOv10 vs. YOLOv9 : Une comparaison technique complète

Le paysage de la détection d'objets a évolué rapidement, avec des itérations successives de l'architecture YOLO (You Only Look Once) repoussant les limites de la vitesse et de la précision. Deux des contributions récentes les plus importantes dans ce domaine sont YOLOv10 et YOLOv9. Bien que les deux modèles atteignent des performances de pointe sur l'ensemble de données COCO dataset, ils divergent considérablement dans leurs philosophies de conception et leurs objectifs architecturaux.

YOLOv10 privilégie la faible latence et l'efficacité de bout en bout en éliminant le besoin de suppression non maximale (NMS), tandis que YOLOv9 se concentre sur la maximisation de la rétention d'informations et de la précision grâce à l'information de gradient programmable (PGI). Ce guide fournit une comparaison technique détaillée pour aider les développeurs et les chercheurs à sélectionner le modèle optimal pour leurs applications de vision par ordinateur.

YOLOv10 : Le détecteur en temps réel de bout en bout

Lancé en mai 2024 par des chercheurs de l’université Tsinghua, YOLOv10 représente un changement de paradigme dans la lignée YOLO. Son innovation principale est la suppression de l’étape de post-traitement de suppression non maximale (NMS), qui a toujours été un goulot d’étranglement pour la latence d’inférence.

Détails techniques :

Architecture et innovations clés

YOLOv10 atteint son efficacité grâce à une combinaison d'affectations doubles cohérentes et d'une conception de modèle holistique axée sur l'efficacité et la précision.

  1. Entraînement sans NMS : Les modèles YOLO traditionnels reposent sur le NMS pour filtrer les boîtes englobantes en double. YOLOv10 utilise une stratégie d'affectation double pendant l'entraînement du modèle. Une branche un-à-plusieurs fournit des signaux de supervision riches pour l'apprentissage, tandis qu'une branche un-à-un garantit que le modèle génère une seule meilleure prédiction par objet pendant l'inférence. Cela permet de déployer le modèle sans NMS, réduisant considérablement la latence d'inférence.
  2. Optimisation du modèle : L'architecture comprend des têtes de classification légères, un sous-échantillonnage spatial-canal découplé et une conception de bloc guidée par le rang. Ces caractéristiques réduisent la redondance de calcul et l'utilisation de la mémoire, ce qui rend le modèle très efficace sur le matériel avec des ressources limitées.

Avantage en termes d'efficacité

La suppression du NMS dans YOLOv10 est particulièrement bénéfique pour le déploiement en périphérie. Sur les appareils où les ressources de CPU sont rares, le fait d'éviter les coûts de calcul liés au tri et au filtrage de milliers de boîtes candidates peut se traduire par des accélérations substantielles.

En savoir plus sur YOLOv10

YOLOv9 : Maîtriser la rétention d’informations

Introduit en février 2024 par Chien-Yao Wang et Hong-Yuan Mark Liao, YOLOv9 cible le problème du « goulet d'étranglement de l'information » inhérent aux réseaux neuronaux profonds. Lorsque les données traversent des couches successives (extraction de caractéristiques), des informations cruciales peuvent être perdues, entraînant une dégradation de la précision, en particulier pour les objets petits ou difficiles à detect.

Détails techniques :

Architecture et innovations clés

YOLOv9 introduit de nouveaux concepts pour s'assurer que le réseau conserve et utilise autant d'informations d'entrée que possible.

  1. Informations de gradient programmables (PGI) : PGI fournit un framework de supervision auxiliaire qui génère des gradients fiables pour la mise à jour des poids du réseau. Ceci garantit que les couches profondes reçoivent des informations d'entrée complètes, atténuant ainsi le problème de la disparition du gradient et améliorant la convergence.
  2. Generalized Efficient Layer Aggregation Network (GELAN) : Cette nouvelle architecture remplace l’ELAN conventionnel utilisé dans les versions précédentes. GELAN optimise l’utilisation des paramètres et l’efficacité de calcul (FLOPs), permettant à YOLOv9 d’atteindre une plus grande précision avec une taille de modèle comparable à celle de ses prédécesseurs.

Aperçu de l'apprentissage profond

L’accent mis par YOLOv9 sur la conservation des informations le rend exceptionnellement performant pour la détection d’objets dans des scènes complexes où les détails des caractéristiques pourraient autrement être perdus lors des opérations de sous-échantillonnage dans le backbone.

En savoir plus sur YOLOv9

Métriques de performance : vitesse vs. précision

Le choix entre ces deux modèles se résume souvent à un compromis entre la vitesse d'inférence brute et la précision de la détection. Le tableau ci-dessous met en évidence les différences de performance à différentes échelles de modèle.

Analyse :

  • Latence : YOLOv10 surpasse systématiquement YOLOv9 en termes de latence, en particulier dans les plus petites tailles de modèle (N et S). Par exemple, YOLOv10n atteint une vitesse d'inférence de 1,56 ms sur TensorRT, ce qui est nettement plus rapide que les modèles comparables.
  • Précision : YOLOv9 excelle en précision dans le haut du spectre. Le modèle YOLOv9e atteint un mAP de 55,6 % remarquable, ce qui en fait le choix supérieur pour les applications où la précision est primordiale.
  • Efficacité : YOLOv10 offre un excellent rapport précision/paramètre. YOLOv10b atteint 52,7 % de mAP avec une latence inférieure à celle de YOLOv9c, ce qui démontre l'efficacité de sa conception holistique.
ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
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

Cas d'utilisation idéaux

Comprendre les forces de chaque modèle aide à sélectionner le bon outil pour vos objectifs de projet spécifiques.

Quand choisir YOLOv10

  • Déploiement de l’IA en périphérie : Les applications s’exécutant sur des appareils tels que NVIDIA Jetson ou Raspberry Pi bénéficient de la conception sans NMS, ce qui réduit la surcharge du CPU.
  • Analyse vidéo à haute fréquence : Scénarios nécessitant le traitement de flux vidéo à haute fréquence d’images, tels que la surveillance du trafic ou l’analyse sportive.
  • Robotique en temps réel : Systèmes autonomes qui reposent sur des boucles de rétroaction à faible latence pour la navigation et l’évitement d’obstacles.

Quand choisir YOLOv9

  • Inspection de haute précision : Contrôle qualité industriel où le fait de manquer un défaut (faux négatif) est coûteux.
  • Détection de petits objets : Applications impliquant l'analyse d'imagerie satellite ou l'imagerie médicale où les objets sont petits et pauvres en caractéristiques.
  • Scènes complexes : Environnements avec une occlusion ou un encombrement élevé où une rétention maximale d'informations est nécessaire pour distinguer les objets.

Utilisation avec Ultralytics

L'un des avantages importants de l'utilisation de ces modèles est leur intégration dans l'écosystème Ultralytics. YOLOv10 et YOLOv9 peuvent être utilisés via la même API python unifiée et l'interface de ligne de commande (CLI), ce qui simplifie le flux de travail de l'entraînement au déploiement.

Exemple Python

Le code suivant montre comment charger et exécuter l'inférence avec les deux modèles en utilisant le ultralytics package.

from ultralytics import YOLO

# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")

# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")

# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")

# Print results
for r in results_v10:
    print(f"YOLOv10 Detections: {r.boxes.shape[0]}")

for r in results_v9:
    print(f"YOLOv9 Detections: {r.boxes.shape[0]}")

L'avantage Ultralytics

Choisir Ultralytics pour vos projets de vision par ordinateur offre plusieurs avantages qui vont au-delà de la simple architecture de modèle :

  • Facilité d'utilisation : L'API conviviale vous permet de basculer entre YOLOv9, YOLOv10 et d'autres modèles comme YOLO11 en changeant simplement le nom du fichier de poids.
  • Équilibre des performances : Les implémentations Ultralytics sont optimisées pour des performances réelles, équilibrant vitesse et précision.
  • Efficacité de l'entraînement : Le framework prend en charge des fonctionnalités telles que la précision mixte automatique (AMP) et l'entraînement multi-GPU, ce qui facilite l'entraînement de modèles personnalisés sur vos propres ensembles de données.
  • Exigences de mémoire : Les modèles Ultralytics présentent généralement une utilisation de la mémoire plus faible par rapport aux alternatives basées sur des transformateurs, ce qui facilite l’entraînement sur les GPU grand public.

Conclusion

YOLOv10 et YOLOv9 représentent tous deux des étapes importantes dans la détection d'objets. YOLOv10 est le grand gagnant pour les applications qui privilégient la vitesse et l'efficacité, grâce à son architecture innovante sans NMS. Inversement, YOLOv9 reste un choix robuste pour les scénarios exigeant la plus grande précision possible et la conservation de l'information.

Pour les développeurs à la recherche de la solution la plus récente et la plus polyvalente, nous recommandons également d'explorer YOLO11. YOLO11 s'appuie sur les forces de ses prédécesseurs, offrant un équilibre raffiné de vitesse, de précision et de fonctionnalités pour les tâches de détection, de segmentation et d'estimation de pose.

Explorer d'autres modèles

  • Ultralytics YOLO11 : le dernier modèle à la pointe de la technologie.
  • Ultralytics YOLOv8 : un modèle polyvalent et mature pour diverses tâches de vision.
  • RT-DETR - Un détecteur basé sur les transformateurs pour les applications de haute précision.

Commentaires