Passer au contenu

YOLOv9 vs. EfficientDet : Une comparaison technique complète

La sélection du bon modèle de détection d'objets est une décision cruciale dans le développement de la vision par ordinateur, car elle a un impact direct sur la vitesse, la précision et l'efficacité des ressources de votre application. Ce guide fournit une comparaison technique approfondie entre Ultralytics YOLOv9 et EfficientDet, en analysant leurs innovations architecturales, leurs mesures de performance et leur adéquation aux scénarios de déploiement modernes.

Analyse des performances

L'évolution de la détection d'objets a été rapide, les nouvelles architectures étant nettement plus performantes que leurs prédécesseurs. Le tableau ci-dessous présente une comparaison directe des paramètres clés, mettant en évidence les progrès réalisés dans le domaine de la détection d'objets. YOLOv9 en ce qui concerne la vitesse d'inférence et l'efficacité des paramètres par rapport à l'ancienne famille EfficientDet.

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
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

Principaux enseignements :

  • Domination de la vitesse : Les modèles YOLOv9 démontrent des vitesses d'inférence largement supérieures sur le matériel GPU . Par exemple, YOLOv9c (53,0 % mAP) est plus de 12 fois plus rapide que le modèle EfficientDet-d6 (52,6 % mAP), dont la précision est comparable.
  • Efficacité des paramètres : L'architecture de YOLOv9 lui permet d'atteindre une plus grande précision avec moins de paramètres. YOLOv9s atteint 46,8 % de mAP avec seulement 7,1 millions de paramètres, alors qu'EfficientDet nécessite la variante D3 plus importante (12,0 millions de paramètres) pour atteindre un niveau de précision similaire de 47,5 %.
  • Précision de pointe : Le plus grand modèle, YOLOv9e, place la barre très haut avec 55,6 % de mAP, dépassant le modèle EfficientDet-d7 le plus lourd tout en conservant une fraction de la latence.

YOLOv9: une nouvelle ère d'informations programmables sur les gradients

YOLOv9, présenté au début de l'année 2024, représente une avancée significative dans la série YOLO . Développé par Chien-Yao Wang et Hong-Yuan Mark Liao, il s'attaque aux problèmes fondamentaux de l'apprentissage profond liés à la perte d'informations lors de la transmission des caractéristiques.

Détails techniques :

Innovations architecturales

YOLOv9 introduit deux concepts fondamentaux pour résoudre le problème du "goulot d'étranglement de l'information" :

  1. Information de gradient programmable (PGI) : Un cadre de supervision auxiliaire qui génère des gradients fiables pour la mise à jour des poids du réseau, garantissant que le modèle conserve les informations essentielles dans les couches profondes.
  2. Réseau d'agrégation de couches efficace généralisé (GELAN) : Une nouvelle architecture légère qui combine les forces de CSPNet et d'ELAN. Elle donne la priorité à la planification de la trajectoire du gradient, ce qui permet une plus grande efficacité des paramètres et des vitesses d'inférence plus rapides sans sacrifier la précision.

Le saviez-vous ?

L'architecture GELAN est conçue pour être agnostique sur le plan matériel, optimisant l'inférence non seulement pour les GPU haut de gamme, mais aussi pour les appareils périphériques où les ressources de calcul sont limitées.

Points forts et cas d'utilisation

  • Équilibre des performances : YOLOv9 offre un compromis exceptionnel entre vitesse et précision, ce qui le rend idéal pour les applications d'inférence en temps réel telles que la conduite autonome et l'analyse vidéo.
  • L'écosystèmeUltralytics : L'intégration avec Ultralytics fournit une APIPython et une CLI rationalisées, simplifiant la formation, la validation et le déploiement.
  • Efficacité de l'entraînement : Grâce à son architecture efficace, YOLOv9 nécessite généralement moins de mémoire pendant l'entraînement que les solutions basées sur les transformateurs, ce qui facilite l'entraînement personnalisé sur les GPU grand public.

Exemple de code : Utilisation de YOLOv9 avec Ultralytics

Vous pouvez facilement faire de l'inférence ou entraîner YOLOv9 en utilisant le package Ultralytics .

from ultralytics import YOLO

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

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

# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

En savoir plus sur YOLOv9

EfficientDet : Une architecture évolutive pionnière

EfficientDet, publié par Google Research fin 2019, était un modèle révolutionnaire qui a introduit une manière systématique de mettre à l'échelle les détecteurs d'objets. Il se concentre sur l'optimisation de l'efficacité à travers un large spectre de contraintes de ressources.

Détails techniques :

Points forts de l'architecture

EfficientDet s'appuie sur l'épine dorsale d'EfficientNet et présente plusieurs caractéristiques essentielles :

  1. Réseau pyramidal bidirectionnel (BiFPN) : Contrairement aux FPN traditionnels, le BiFPN permet de fusionner facilement des caractéristiques à plusieurs échelles en introduisant des pondérations apprenables pour les différentes caractéristiques d'entrée.
  2. Mise à l'échelle des composés : Cette méthode permet d'échelonner uniformément la résolution, la profondeur et la largeur de l'épine dorsale, du réseau de caractéristiques et des réseaux de prédiction de boîtes/classes, ce qui permet d'obtenir une famille de modèles (D0 à D7) adaptés à différents budgets de ressources.

Points forts et faiblesses

  • Évolutivité : La structure de la famille D0-D7 permet aux utilisateurs de choisir un modèle qui correspond à leur budget spécifique en FLOPs.
  • Importance historique : Il a établi la norme d'efficacité en 2020, influençant fortement les recherches ultérieures en matière d'architecture neuronale.
  • Performances héritées : Bien qu'efficace à l'époque, EfficientDet est aujourd'hui à la traîne des détecteurs modernes comme YOLOv9 en termes de latence sur les GPU. Son utilisation intensive de convolutions séparables en profondeur, bien qu'efficace en termes de FLOP, se traduit souvent par une inférence plus lente sur du matériel comme le NVIDIA T4 par rapport aux convolutions denses optimisées utilisées dans les architectures YOLO .

En savoir plus sur EfficientDet

Analyse comparative détaillée

Lorsqu'il s'agit de choisir entre YOLOv9 et EfficientDet, plusieurs facteurs au-delà du mAP brut entrent en jeu. Voici comment ils se comparent dans des environnements de développement pratiques.

Vitesse et latence

La différence la plus nette réside dans la vitesse d'inférence. YOLOv9 utilise l'architecture GELAN, qui est optimisée pour une parallélisation massive sur les GPU. En revanche, la dépendance d'EfficientDet à la fusion de caractéristiques complexes (BiFPN) et aux convolutions séparables en profondeur peut créer des goulots d'étranglement au niveau de l'accès à la mémoire sur les accélérateurs. Comme le montre le tableau des performances, les modèles YOLOv9 sont systématiquement 2x à 10x plus rapides sur les processeurs TensorRT que leurs homologues EfficientDet de précision similaire.

Ecosystème et facilité d'utilisation

L'écosystèmeUltralytics offre un avantage significatif à YOLOv9. Alors qu'EfficientDet nécessite un environnement TensorFlow et des scripts d'installation souvent complexes, YOLOv9 est intégré dans un package convivial qui prend en charge :

  • Installation en une seule ligne : pip install ultralytics
  • Large soutien à l'exportation : Exportation sans faille vers ONNXTensorRT, CoreML, OpenVINO, et bien d'autres encore, par le biais de l'application model.export() fonction.
  • Maintenance active : Mises à jour fréquentes, soutien de la communauté et guides détaillés sur des tâches telles que le suivi et le déploiement d' objets.

Flexibilité du déploiement

Les modèles YOLOv9 formés avec Ultralytics peuvent être facilement déployés sur des appareils périphériques en utilisant des formats tels que TFLite ou Edge TPU. Consultez notre guide d'intégrationTFLite pour plus de détails.

Efficacité de l'entraînement et mémoire

L'entraînement des modèles modernes de vision par ordinateur peut être gourmand en ressources. Les modèlesYOLO d'Ultralytics sont réputés pour leur utilisation efficace de la mémoireGPU . Cela permet aux développeurs de former des lots plus importants sur du matériel grand public par rapport aux anciennes architectures ou aux modèles lourds basés sur des transformateurs. De plus, Ultralytics fournit des poids pré-entraînés facilement disponibles, permettant un apprentissage par transfert qui converge beaucoup plus rapidement que l'entraînement d'EfficientDet à partir de zéro.

Polyvalence

Alors qu'EfficientDet est strictement un détecteur d'objets, les principes architecturaux qui sous-tendent YOLOv9 (et la famille plus large Ultralytics YOLO ) s'étendent à de multiples tâches. Le cadre Ultralytics prend en charge :

Cette polyvalence permet aux développeurs d'utiliser une API unique et unifiée pour relever divers défis en matière de vision par ordinateur.

Conclusion

Pour la majorité des nouveaux projets, YOLOv9 est le meilleur choix. Il offre une précision de pointe avec des vitesses d'inférence beaucoup plus rapides, ce qui le rend adapté aux applications en temps réel. Son intégration dans l'écosystèmeUltralytics garantit une expérience de développement fluide, de la préparation des données au déploiement du modèle.

EfficientDet reste une référence précieuse pour comprendre la mise à l'échelle des composés et la fusion des caractéristiques, mais il n'est généralement pas à la hauteur des performances par watt et des mesures de latence sur le matériel moderne.

Les développeurs à la recherche de la toute dernière technologie de vision par ordinateur devraient également explorer YOLO11qui s'appuie sur ces avancées pour offrir une efficacité et des performances encore plus grandes.

Explorer d'autres modèles

Si vous êtes intéressé par d'autres comparaisons, vous pouvez explorer ces modèles apparentés :

  • YOLO11 vs. YOLOv9: Découvrez comment la dernière génération améliore YOLOv9.
  • RT-DETR: Un détecteur basé sur un transformateur qui offre une grande précision pour les scénarios en temps réel.
  • YOLOv8: Une famille de modèles très polyvalents permettant la détection, la segmentation et l'estimation de la pose.

Commentaires