Passer au contenu

YOLO vs. YOLOv9: Comparaison technique

Dans le monde en pleine évolution de la vision par ordinateur, le choix du modèle optimal de détection d'objets est une décision cruciale qui a un impact sur tous les aspects, de la latence du système à la précision de la détection. Ce guide complet fournit une comparaison technique entre YOLO, un détecteur à grande vitesse du groupe Alibaba, et YOLOv9une architecture axée sur la préservation de l'information et l'efficacité. Nous analyserons leurs innovations architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux afin d'aider les développeurs et les chercheurs à faire des choix éclairés.

Les deux modèles offrent des améliorations significatives par rapport à leurs prédécesseurs, YOLOv9en particulier lorsqu'il est utilisé au sein de l'écosystème Ultralytics , offre un mélange convaincant de précision de pointe, d'outils conviviaux pour les développeurs et d'options de déploiement polyvalentes.

YOLO est un cadre de détection d'objets développé par Alibaba, conçu avec une méthodologie "une fois pour toutes". Il privilégie une faible latence et un débit élevé, ce qui en fait un concurrent de taille pour les applications industrielles nécessitant des contraintes de vitesse strictement définies sur du matériel spécifique.

Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
Organisation:Alibaba Group
Date : 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHubYOLO

Innovations architecturales

YOLO se distingue par des processus de conception automatisés et des composants efficaces :

  • Recherche d'architecture neuronale (NAS) : Plutôt que de concevoir manuellement des dorsales, YOLO utilise la recherche d'architecture neuronale (NAS) pour découvrir des structures efficaces (TinyNAS) adaptées à différents budgets de calcul.
  • RepGFPN Neck : Il introduit une variante efficace du Generalized Feature Pyramid Network (GFPN), appelée RepGFPN. Ce composant optimise la fusion des caractéristiques et prend en charge le re-paramétrage, ce qui permet d'accélérer la vitesse d'inférence.
  • ZeroHead : le modèle utilise une tête de détection légère "ZeroHead", qui réduit la charge de calcul généralement associée aux têtes de détection complexes.
  • AlignedOTA : pour améliorer la stabilité et la précision de la formation, il utilise AlignedOTA, une stratégie d'attribution d'étiquettes qui résout les problèmes de désalignement entre les tâches de classification et de régression.

Points forts et limites

La principale force de YOLO réside dans sa vitesse d'inférence. L'architecture est fortement optimisée pour un débit élevé du GPU , ce qui la rend adaptée aux pipelines d'analyse vidéo où le volume de traitement est critique. En outre, l'utilisation de la distillation améliore les performances de ses petits modèles.

Cependant, YOLO est confronté à des défis concernant la maturité de l'écosystème. Par rapport aux outils robustes disponibles pour les modèles Ultralytics , les utilisateurs peuvent trouver moins de ressources pour le déploiement, la conversion de format et le soutien de la communauté. La polyvalence de ses tâches est également généralement limitée à la détection d'objets, alors que les cadres modernes prennent souvent en charge la segmentation et l'estimation de la pose de manière native.

En savoir plus sur DAMO-YOLO

YOLOv9: Des dégradés programmables pour une efficacité maximale

YOLOv9 représente un changement de paradigme dans la détection d'objets en temps réel en s'attaquant au problème fondamental de la perte d'informations dans les réseaux neuronaux profonds. En veillant à ce que les données essentielles soient préservées dans toute la profondeur du réseau, YOLOv9 atteint une précision supérieure avec une efficacité remarquable des paramètres.

Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
Date : 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentationultralytics

Architecture de base : PGI et GELAN

YOLOv9 présente deux technologies révolutionnaires qui le distinguent :

  1. Information de gradient programmable (PGI) : Les réseaux profonds souffrent souvent d'un goulot d'étranglement au niveau de l'information, les données d'entrée étant perdues lorsqu'elles passent à travers les couches. PGI fournit une branche de supervision auxiliaire qui génère des gradients fiables, garantissant que les couches profondes reçoivent des informations complètes pour des mises à jour de poids précises.
  2. Réseau d'agrégation de couches efficace généralisé (GELAN) : Cette nouvelle architecture combine les forces de CSPNet et d'ELAN. GELAN est conçu pour maximiser l'utilisation des paramètres, offrant un modèle à la fois léger et incroyablement puissant.

L'importance de l'IGP

Dans les modèles d'apprentissage profond traditionnels, la fonction de perte de la couche de sortie manque souvent d'informations suffisantes pour guider efficacement les mises à jour des couches peu profondes. L'IGP agit comme une passerelle, en préservant les informations d'entrée et en veillant à ce que l'ensemble du réseau apprenne des caractéristiques robustes, ce qui conduit à une meilleure convergence et à une plus grande précision.

L'avantage Ultralytics

En utilisant YOLOv9 au sein de l'écosystèmeUltralytics , les développeurs bénéficient d'avantages significatifs par rapport aux implémentations autonomes :

  • Facilité d'utilisation : L'APIPython et le CLI Ultralytics simplifient les pipelines de formation complexes en les réduisant à de simples commandes.
  • Efficacité de la formation : Les méthodologies Ultralytics garantissent une utilisation optimale des ressources. YOLOv9 nécessite généralement moins de mémoireCUDA pendant l'entraînement que les détecteurs basés sur les transformateurs, ce qui le rend accessible sur une plus large gamme de matériel.
  • Polyvalence : Alors que le document de base YOLOv9 se concentre sur la détection, le cadre Ultralytics facilite l'extension de ces architectures à d'autres tâches et garantit une exportation transparente vers des formats tels que ONNX, TensorRTet OpenVINO.

En savoir plus sur YOLOv9

Analyse des performances : Précision et efficacité

La comparaison ci-dessous met en évidence les compromis entre YOLO et YOLOv9. Alors que YOLO offre des vitesses compétitives sur du matériel spécifique, YOLOv9 fournit constamment une précision moyenne plus élevée (mAP) avec moins de paramètres, démontrant ainsi une efficacité architecturale supérieure.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

Principaux enseignements :

  • Efficacité des paramètres : YOLOv9s atteint un mAP plus élevé (46,8) que DAMO-YOLOs (46,0) tout en utilisant moins de la moitié des paramètres (7,1M contre 16,3M). YOLOv9 est donc beaucoup plus facile à stocker et à mettre à jour pour les appareils d'intelligence artificielle.
  • Une précision de premier ordre : Les plus grandes variantes de YOLOv9 (c et e) repoussent les limites de précision bien au-delà de celles de YOLO, atteignant 55,6 mAP.
  • Vitesse : Alors que YOLO présente un léger avantage en termes de latence TensorRT brute pour les modèles moyens, YOLOv9t est extrêmement rapide (2,3 ms), ce qui en fait la solution idéale pour les applications mobiles en temps réel.

Méthodologies de formation et convivialité

L'expérience de formation diffère considérablement entre les deux modèles. La dépendance de YOLO à l'égard des NAS implique une phase de recherche complexe pour dériver l'architecture, ou l'utilisation d'épines dorsales présélectionnées. Son approche "une fois pour toutes" peut s'avérer coûteuse en termes de calcul si la personnalisation de la structure de l'épine dorsale est nécessaire.

En revanche, YOLOv9, soutenu par Ultralytics, offre un mode de formation rationalisé. Les utilisateurs peuvent affiner les modèles sur des ensembles de données personnalisés comme Open Images V7 ou des collections spécialisées avec une configuration minimale. L'intégration avec Ultralytics HUB permet une formation basée sur le cloud, une visualisation et un déploiement en un clic, démocratisant ainsi l'accès à l'IA avancée sans nécessiter d'expertise approfondie en NAS ou en réglage d'hyperparamètres.

Exemple de code : Formation YOLOv9

La mise en œuvre de YOLOv9 est simple avec le paquetage Ultralytics Python .

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Cas d'utilisation idéaux

Quand choisir YOLO

  • Traitement vidéo à grande échelle : Si vous traitez des milliers de flux vidéo sur des serveurs GPU spécifiques où chaque milliseconde de latence se traduit par des économies significatives en termes de coûts d'infrastructure, l'optimisation de YOLO pour un débit élevé peut s'avérer bénéfique.
  • Contraintes matérielles fixes : Dans les scénarios où le matériel est connu et statique, les architectures dérivées des NAS peuvent être sélectionnées pour remplir parfaitement le budget de calcul disponible.

Quand choisir YOLOv9

  • Vision par ordinateur à usage général : Pour la majorité des développeurs travaillant sur la robotique, la sécurité ou l'analyse du commerce de détail, YOLOv9 offre le meilleur équilibre entre précision et facilité d'utilisation.
  • Déploiement en périphérie : En raison de l'efficacité supérieure de ses paramètres (par exemple, YOLOv9s), il s'adapte mieux aux appareils limités tels que le Raspberry Pi ou le NVIDIA Jetson, ce qui laisse plus de place pour d'autres applications.
  • Recherche et développement : L'architecture PGI constitue une base fascinante pour la poursuite de la recherche sur l'efficacité de l'apprentissage en profondeur.
  • Besoin d'un écosystème mature : Si votre projet nécessite un suivi fiable, une exportation facile vers CoreML ou TFLite, et un support communautaire actif, l'écosystème Ultralytics autour de YOLOv9 est inégalé.

Conclusion

YOLO et YOLOv9 témoignent de l'innovation rapide dans le domaine de la détection d'objets. YOLO prouve la valeur de la recherche d'architecture neuronale pour obtenir une vitesse maximale. En revanche, YOLOv9 YOLOv9 s'impose comme la solution la plus polyvalente et la plus puissante pour la plupart des utilisateurs.

En résolvant le goulot d'étranglement des informations de supervision profonde avec PGI et en optimisant les couches avec GELAN, YOLOv9 offre une précision de pointe avec une efficacité remarquable. Associé à l'écosystème Ultralytics , il offre une plateforme robuste, bien entretenue et conviviale qui accélère le passage du concept au déploiement. Pour les développeurs qui souhaitent créer des applications de vision de pointe en toute confiance, les modèlesYOLO 'Ultralytics restent le meilleur choix.

Explorer d'autres modèles

Si vous souhaitez explorer d'autres options de pointe au sein de la famille Ultralytics ou comparer davantage, consultez les ressources suivantes :


Commentaires