Passer au contenu

EfficientDet vs. YOLOv9 : L’évolution de l’efficacité de la détection d’objets

Dans le monde trépidant de la vision par ordinateur, le choix de la bonne architecture de modèle est essentiel pour équilibrer les performances, la vitesse et les ressources de calcul. Ce guide fournit une comparaison technique complète entre EfficientDet, un modèle phare développé par Google Research, et YOLOv9, le détecteur de pointe intégré à l'écosystème Ultralytics. Nous analyserons leurs innovations architecturales, les mesures de performance de référence et déterminerons quel modèle est le mieux adapté aux applications modernes de détection d'objets en temps réel.

EfficientDet : Pionnier de l’efficacité évolutive

EfficientDet, publié fin 2019, a introduit une approche systématique de la mise à l’échelle des modèles qui a influencé des années de recherche ultérieures. Développé par l’équipe de Google Research, il visait à optimiser l’efficacité sans compromettre la précision.

Détails techniques :

Architecture et principales fonctionnalités

EfficientDet est basé sur le backbone EfficientNet et introduit le Bi-directional Feature Pyramid Network (BiFPN). Contrairement aux FPN traditionnels, BiFPN permet une fusion de caractéristiques multi-échelles facile et rapide en introduisant des poids apprenables pour apprendre l'importance des différentes caractéristiques d'entrée. Le modèle utilise une méthode de scaling composé qui met à l'échelle uniformément la résolution, la profondeur et la largeur pour tous les réseaux de backbone, de caractéristiques et de prédiction de boîtes/classes simultanément.

Points forts et faiblesses

EfficientDet était révolutionnaire pour sa capacité à atteindre une grande précision avec moins de paramètres que ses contemporains comme YOLOv3. Sa principale force réside dans sa scalabilité ; la famille de modèles (D0 à D7) permet aux utilisateurs de choisir un compromis de ressources spécifique.

Cependant, selon les normes modernes, EfficientDet souffre de vitesses d'inférence plus lentes, en particulier sur le matériel GPU. Ses couches de fusion de caractéristiques complexes, bien que précises, ne sont pas aussi conviviales pour le matériel que les architectures plus récentes. De plus, l'implémentation d'origine ne dispose pas des outils conviviaux que l'on trouve dans les frameworks modernes, ce qui rend l'entraînement et le déploiement plus laborieux.

Cas d'utilisation

EfficientDet reste pertinent pour :

  • Recherche académique : Comprendre les principes de la mise à l’échelle composée et de la fusion de caractéristiques.
  • Systèmes existants : Maintenance des pipelines existants construits au sein de l’écosystème TensorFlow.
  • Environnements avec CPU uniquement : Où son efficacité de paramètre peut encore offrir des performances raisonnables pour les applications à faible FPS.

En savoir plus sur EfficientDet

YOLOv9 : Redéfinir les performances en temps réel

Introduit début 2024, YOLOv9 représente un bond en avant dans la série YOLO, s'attaquant aux goulets d'étranglement de l'information de l'apprentissage profond pour atteindre une efficacité supérieure. Il est entièrement pris en charge dans le package python Ultralytics, assurant une expérience transparente pour les développeurs.

Détails techniques :

Architecture et principales fonctionnalités

YOLOv9 introduit deux concepts révolutionnaires : l'Information de Gradient Programmable (PGI) et le Réseau d'Agrégation de Couches Efficace Généralisé (GELAN).

  • PGI résout le problème de la perte d'informations qui se produit lorsque les données traversent les couches profondes d'un réseau neuronal, en veillant à ce que les gradients utilisés pour mettre à jour les poids du modèle soient fiables.
  • GELAN est une architecture légère qui privilégie l’efficacité du calcul. Il permet au modèle d’atteindre une plus grande précision avec moins de paramètres et de coûts de calcul (FLOP) par rapport aux méthodes basées sur la convolution depth-wise.

Forces et avantages

  • Compromis vitesse-précision supérieur : Comme le montrent les analyses comparatives, YOLOv9 surpasse considérablement EfficientDet en termes de latence d’inférence tout en maintenant ou en dépassant la précision.
  • Écosystème Ultralytics : L'intégration avec Ultralytics signifie l'accès à une simple API python, à des outils CLI et à une exportation facile vers des formats comme ONNX, TensorRT et CoreML.
  • Efficacité de l'entraînement : Les modèles YOLOv9 nécessitent généralement moins de mémoire pendant l'entraînement et convergent plus rapidement que les architectures plus anciennes, bénéficiant ainsi du pipeline d'entraînement Ultralytics optimisé.
  • Polyvalence : Au-delà de la détection standard, l’architecture prend en charge les tâches complexes, ouvrant la voie à la segmentation avancée et à l’apprentissage multi-tâches.

En savoir plus sur YOLOv9

Le saviez-vous ?

L’architecture GELAN de YOLOv9 est conçue pour être agnostique au matériel, ce qui signifie qu’elle fonctionne efficacement sur une grande variété d’appareils d’inférence, des TPU périphériques aux GPU NVIDIA haut de gamme, sans nécessiter d’optimisations matérielles spécifiques comme certains modèles basés sur des transformateurs.

Analyse des performances

La comparaison suivante met en évidence les améliorations spectaculaires de la vitesse d'inférence et de l'efficacité que YOLOv9 apporte par rapport à la famille EfficientDet.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
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

Aperçus critiques des benchmarks

  1. Avantage de vitesse considérable : Le modèle YOLOv9c atteint un mAP de 53,0 avec une vitesse d'inférence de seulement 7,16 ms sur un GPU T4. En revanche, le EfficientDet-d6 comparable (52,6 mAP) se traîne à 89,29 ms. Cela rend YOLOv9 plus de 12 fois plus rapide pour une précision similaire, un facteur essentiel pour les applications en temps réel comme les véhicules autonomes ou la surveillance du trafic.
  2. Efficacité des paramètres : Dans le bas du spectre, YOLOv9t offre un solide mAP de 38,3 avec seulement 2,0 millions de paramètres, surpassant la base de référence EfficientDet-d0 en précision tout en utilisant près de la moitié des paramètres et en s’exécutant beaucoup plus rapidement.
  3. Précision haut de gamme : Pour les tâches nécessitant une précision maximale, YOLOv9e repousse les limites avec 55,6 mAP, surpassant le plus grand modèle EfficientDet-d7 tout en conservant une latence (16,77 ms) qui convient toujours au traitement vidéo, contrairement aux 128 ms prohibitifs de D7.

Intégration et facilité d'utilisation

L'une des différences les plus importantes entre ces deux modèles est l'écosystème qui les entoure. Alors que EfficientDet s'appuie sur d'anciens référentiels TensorFlow, YOLOv9 est un citoyen de première classe dans la bibliothèque Ultralytics.

L'avantage Ultralytics

L'utilisation de YOLOv9 avec Ultralytics offre un écosystème bien maintenu qui simplifie l'ensemble du cycle de vie de l'apprentissage automatique. De l'annotation des ensembles de données au déploiement sur des appareils périphériques, le flux de travail est rationalisé.

  • API simple : Vous pouvez entraîner, valider et déployer des modèles avec seulement quelques lignes de code python.
  • Large compatibilité : Exportez vos modèles sans effort vers ONNX, TensorRT, OpenVINO et CoreML en utilisant le mode d’exportation.
  • Support de la communauté : Une documentation complète et une communauté active garantissent que les solutions aux problèmes courants sont facilement disponibles.

Voici un exemple pratique de la facilité avec laquelle il est possible d'exécuter l'inférence avec YOLOv9 en utilisant l'API Python Ultralytics :

from ultralytics import YOLO

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

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

# Process results
for result in results:
    result.show()  # Display predictions
    result.save()  # Save image to disk

Polyvalence dans l'application

Bien qu'EfficientDet soit strictement un détecteur d'objets, les principes architecturaux derrière YOLOv9 et le framework Ultralytics prennent en charge un éventail plus large de tâches de vision. Les utilisateurs peuvent facilement basculer entre la détection d'objets, la segmentation d'instances et l'estimation de pose au sein du même code base, ce qui réduit la dette technique pour les projets complexes.

Conclusion

Lorsque l'on compare EfficientDet et YOLOv9, le choix pour le développement moderne de la vision par ordinateur est clair. Bien qu'EfficientDet ait joué un rôle historique dans la définition de l'efficacité de la mise à l'échelle des modèles, YOLOv9 le remplace dans pratiquement toutes les mesures pertinentes pour les développeurs aujourd'hui.

YOLOv9 offre une précision par paramètre supérieure, des vitesses d'inférence considérablement plus rapides et un écosystème robuste et convivial pour les développeurs. Que vous déployiez sur des périphériques edge contraints ou que vous traitiez des flux vidéo à haut débit dans le cloud, YOLOv9 offre l'équilibre de performances nécessaire au succès.

Pour ceux qui démarrent de nouveaux projets, nous vous recommandons vivement d'utiliser YOLOv9 ou le dernier YOLO11 afin de garantir que votre application bénéficie des dernières avancées en matière d'efficacité de l'apprentissage profond.

Explorer d'autres modèles

Si vous souhaitez explorer davantage d'options au sein de la famille Ultralytics, considérez ces modèles :

  • YOLO11: La dernière évolution de la série YOLO, offrant des performances de pointe dans les tâches de detect, de segmentation et de classification.
  • YOLOv10: Un détecteur de bout en bout en temps réel qui élimine le besoin de suppression non maximale (NMS).
  • RT-DETR : Un détecteur basé sur un transformateur qui excelle en précision, offrant une alternative moderne aux architectures basées sur CNN.

Commentaires