Passer au contenu

YOLOv9 vs. EfficientDet : une comparaison technique complète

Le choix du bon modèle de détection d'objets est une décision essentielle dans le développement de la vision par ordinateur, qui 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, avec des architectures plus récentes surpassant considérablement leurs prédécesseurs. Le tableau ci-dessous présente une comparaison directe des métriques clés, soulignant les avancées de 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 points à retenir :

  • 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 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 grande (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 haute avec un mAP de 55,6 %, surpassant le modèle EfficientDet-d7 le plus lourd tout en conservant une fraction de la latence.

YOLOv9 : Une nouvelle ère d’informations de gradient programmables

YOLOv9, introduit début 2024, représente un bond en avant significatif 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 clés pour résoudre le problème du "goulot d'étranglement de l'information" :

  1. Informations de gradient programmables (PGI) : Un framework 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 critiques dans les couches profondes.
  2. Generalized Efficient Layer Aggregation Network (GELAN) : Une nouvelle architecture légère qui combine les forces de CSPNet et d’ELAN. Elle priorise la planification du chemin de gradient, permettant 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 au 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.

Forces 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.
  • Écosystème Ultralytics : L'intégration avec Ultralytics fournit une API python et une CLI simplifiées, ce qui simplifie l'entraînement, 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 par rapport aux alternatives basées sur des transformateurs, ce qui facilite l'entraînement personnalisé sur les GPU grand public.

Exemple de code : Utilisation de YOLOv9 avec Ultralytics

Vous pouvez facilement exécuter l'inference 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 : Pionnier de l’architecture évolutive

EfficientDet, publié par Google Research fin 2019, était un modèle révolutionnaire qui a introduit une façon systématique de mettre à l’échelle les détecteurs d’objets. Il se concentre sur l’optimisation de l’efficacité dans un large éventail de contraintes de ressources.

Détails techniques :

Points forts architecturaux

EfficientDet est basé sur le backbone EfficientNet et introduit plusieurs caractéristiques clés :

  1. Réseau de pyramide de caractéristiques bidirectionnel (BiFPN) : Contrairement aux FPN traditionnels, BiFPN permet une fusion facile des caractéristiques multi-échelles en introduisant des poids apprenables aux différentes caractéristiques d’entrée.
  2. Scaling composite : Cette méthode ajuste uniformément la résolution, la profondeur et la largeur du backbone, du réseau de caractéristiques et des réseaux de prédiction de boîtes/classes, permettant ainsi une famille de modèles (D0 à D7) adaptés à différents budgets de ressources.

Points forts et faiblesses

  • Scalabilité : La structure de la famille D0-D7 permet aux utilisateurs de choisir un modèle adapté à leur budget FLOPs spécifique.
  • Importance historique : Il a établi la norme en matière d’efficacité en 2020, influençant fortement la recherche ultérieure dans la recherche d’architecture neuronale.
  • Performances existantes : Bien qu’EfficientDet ait été efficace à son époque, il est désormais à la traîne par rapport aux 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, entraîne souvent 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

Lors du choix entre YOLOv9 et EfficientDet, plusieurs facteurs autres que le mAP brut entrent en jeu. Voici une ventilation de la façon dont ils se comparent dans les environnements de développement pratiques.

Vitesse et latence

La différence la plus notable 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 à l'égard de la fusion de caractéristiques complexes (BiFPN) et des convolutions séparables en profondeur peut créer des goulots d'étranglement d'accès à la mémoire sur les accélérateurs. Comme le montre le tableau des performances, les modèles YOLOv9 sont systématiquement 2 à 10 fois plus rapides sur TensorRT que leurs homologues EfficientDet d'une précision similaire.

Écosystème et facilité d'utilisation

L'écosystème Ultralytics offre un avantage significatif pour YOLOv9. Alors qu'EfficientDet nécessite un environnement TensorFlow et souvent des scripts de configuration complexes, YOLOv9 est intégré dans un package convivial qui prend en charge :

  • Installation en une ligne : pip install ultralytics
  • Prise en charge étendue de l'exportation : Exportation transparente vers ONNX, TensorRT, CoreML, OpenVINO, et plus encore via le model.export() fonction.
  • Maintenance active : Mises à jour fréquentes, assistance de la communauté et guides complets sur des tâches telles que le suivi d’objets et le déploiement.

Flexibilité de déploiement

Les modèles YOLOv9 entraînés avec Ultralytics peuvent être facilement déployés sur des appareils edge en utilisant des formats tels que TFLite ou Edge TPU. Consultez notre guide d'intégration TFLite pour plus de détails.

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

L'entraînement des modèles de vision par ordinateur modernes peut nécessiter beaucoup de ressources. Les modèles Ultralytics YOLO sont réputés pour leur utilisation efficace de la mémoire GPU. Cela permet aux développeurs d'entraîner des tailles de lots plus importantes sur du matériel grand public par rapport aux architectures plus anciennes 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

Bien qu'EfficientDet soit strictement un détecteur d'objets, les principes architecturaux derrière YOLOv9 (et la famille Ultralytics YOLO au sens large) s'étendent à de multiples tâches. Le framework Ultralytics prend en charge :

Cette polyvalence permet aux développeurs d'utiliser une seule API unifiée pour divers défis de vision par ordinateur.

Conclusion

Pour la majorité des nouveaux projets, YOLOv9 est le choix supérieur. Il offre une précision de pointe avec des vitesses d'inférence considérablement plus rapides, ce qui le rend adapté aux applications en temps réel. Son intégration dans l'écosystème Ultralytics 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 le scaling composé et la fusion de caractéristiques, mais il est généralement insuffisant en termes de performance par watt et de latence sur le matériel moderne.

Les développeurs à la recherche des dernières technologies en matière de vision par ordinateur devraient également explorer YOLO11, qui s'appuie sur ces avancées pour offrir une efficacité et des performances encore supérieures.

Explorer d'autres modèles

Si vous souhaitez d'autres comparaisons, envisagez d'explorer ces modèles connexes :

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

Commentaires