Passer au contenu

EfficientDet vs. YOLO11 : Équilibrer efficacité et performance en temps réel

Le paysage de la object detection a évolué rapidement, sous l'impulsion du besoin de modèles non seulement précis, mais aussi suffisamment efficaces pour un déploiement dans le monde réel. EfficientDet de Google et Ultralytics YOLO11 sont deux étapes importantes de cette évolution. Bien que les deux architectures visent à optimiser le compromis entre la vitesse et la précision, elles abordent le problème avec des philosophies de conception différentes et ciblent différents cas d'utilisation principaux.

EfficientDet a révolutionné le domaine en introduisant une méthode systématique de mise à l'échelle des dimensions du modèle, en se concentrant intensément sur l'efficacité des paramètres et les coûts de calcul théoriques (FLOPs). En revanche, YOLO11 représente la pointe de la vision par ordinateur en temps réel, privilégiant la vitesse d'inférence pratique sur le matériel moderne, la polyvalence à travers les tâches et une expérience centrée sur le développeur. Cette comparaison complète se penche sur leurs spécifications techniques, leurs innovations architecturales et leurs benchmarks de performance pour vous aider à choisir le bon outil pour votre projet.

EfficientDet de Google

EfficientDet est une famille de modèles de détection d'objets développée par l'équipe Google Brain. Sorti fin 2019, il a été conçu pour remédier à l'inefficacité des détecteurs de pointe précédents qui reposaient souvent sur des backbones massifs ou des réseaux de fusion de caractéristiques non optimisés.

Détails techniques :

Architecture et innovations clés

Le succès d'EfficientDet repose sur deux contributions architecturales principales qui fonctionnent en tandem pour maximiser l'efficacité :

  1. BiFPN (Réseau de pyramide de caractéristiques bidirectionnel) : Les réseaux de pyramide de caractéristiques (FPN) traditionnels fusionnaient les caractéristiques de différentes échelles de manière descendante. EfficientDet a introduit BiFPN, qui permet à l’information de circuler à la fois de haut en bas et de bas en haut. De plus, il emploie un mécanisme de fusion de caractéristiques pondéré, apprenant l’importance de chaque caractéristique d’entrée, ce qui permet au réseau de prioriser les signaux plus informatifs.
  2. Mise à l’échelle composite : Inspirée d’EfficientNet, cette méthode crée une famille de modèles (D0 à D7) en mettant à l’échelle 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. Cela garantit que, à mesure que le modèle se développe, il maintient un équilibre entre ses différents composants, optimisant ainsi les FLOPs et le nombre de paramètres.

Le Backbone EfficientNet

EfficientDet utilise EfficientNet comme backbone, un réseau de classification également développé par Google. EfficientNet a été optimisé à l'aide de la recherche d'architecture neuronale (NAS) pour trouver la structure de réseau la plus efficace, en utilisant massivement des convolutions séparables en profondeur pour réduire le calcul.

Points forts et faiblesses

EfficientDet est réputé pour sa haute efficacité de paramétrage, atteignant des scores de mAPval compétitifs avec beaucoup moins de paramètres que nombre de ses contemporains. Sa nature évolutive permet aux chercheurs de sélectionner une taille de modèle qui correspond précisément à leur budget de calcul théorique.

Cependant, l'efficacité théorique ne se traduit pas toujours par une vitesse pratique. L'utilisation intensive de convolutions séparables en profondeur et la connectivité complexe du BiFPN peuvent entraîner une utilisation moindre du GPU. Par conséquent, la latence d'inférence sur les GPU est souvent plus élevée par rapport aux modèles optimisés pour le traitement parallèle comme la série YOLO. De plus, EfficientDet est strictement un détecteur d'objets, sans prise en charge native d'autres tâches de vision par ordinateur telles que la segmentation d'instance ou l'estimation de pose dans le même code.

Cas d'utilisation idéaux

  • IA en périphérie sur les CPU : Appareils où la mémoire est la contrainte matérielle et où l’accélération du GPU n’est pas disponible.
  • Recherche académique : Études axées sur l’efficacité des réseaux neuronaux et les lois d’échelle.
  • Applications à faible consommation d'énergie : Scénarios où la minimisation de la consommation de la batterie (liée aux FLOPs) est plus critique que la latence brute.

En savoir plus sur EfficientDet

Ultralytics YOLO11

Ultralytics YOLO11 est la dernière itération de la célèbre série YOLO (You Only Look Once). Elle s’appuie sur un héritage de performances en temps réel, en introduisant des améliorations architecturales qui repoussent les limites de la précision tout en conservant les vitesses d’inférence ultra-rapides attendues par les développeurs.

Détails techniques :

Architecture et fonctionnalités

YOLO11 utilise une tête de détection sans ancres à la pointe de la technologie, éliminant ainsi le besoin de configuration manuelle des boîtes d'ancrage et simplifiant le processus d'entraînement. Ses architectures de backbone et de neck ont été optimisées pour améliorer les capacités d'extraction de caractéristiques, améliorant ainsi les performances sur des tâches difficiles telles que la détection de petits objets et les scènes encombrées.

Contrairement à l'objectif principal d'EfficientDet qui est la réduction des FLOPs, YOLO11 est conçu pour une efficacité tenant compte du matériel. Cela signifie que ses couches et ses opérations sont sélectionnées pour maximiser le débit sur les GPU et les accélérateurs NPU.

La polyvalence libérée

Une seule architecture de modèle YOLO11 prend en charge un large éventail de tâches de vision. Au sein du même framework, vous pouvez effectuer la Détection d'Objets, la Segmentation d'Instance, la Classification d'Images, l'Estimation de Pose et la détection de Boîtes Englobantes Orientées (OBB).

Points forts et faiblesses

La principale force de YOLO11 est son équilibre exceptionnel entre vitesse et précision. Il offre une précision de pointe qui rivalise avec les modèles plus volumineux, voire les surpasse, tout en fonctionnant avec une latence moindre. Cela le rend idéal pour les applications d'inférence en temps réel. De plus, l'écosystème Ultralytics assure une facilité d'utilisation grâce à une API unifiée, rendant la formation et le déploiement transparents.

Il faut tenir compte du fait que les plus petites variantes de YOLO11, bien qu'incroyablement rapides, peuvent sacrifier une petite marge de précision par rapport aux très grands modèles disponibles dans le milieu universitaire, qui sont gourmands en calcul. Cependant, pour un déploiement pratique, ce compromis est presque toujours favorable.

Cas d'utilisation idéaux

En savoir plus sur YOLO11

Comparaison des performances

Lorsque l'on compare EfficientDet et YOLO11, la différence la plus frappante réside dans la vitesse d'inférence, en particulier sur le matériel GPU. Bien que les modèles EfficientDet (D0-D7) présentent une bonne efficacité des paramètres, leurs opérations complexes (comme BiFPN) les empêchent d'utiliser pleinement les capacités de traitement parallèle.

Comme le montre le tableau ci-dessous, YOLO11n atteint un mAP plus élevé (39,5) que EfficientDet-d0 (34,6) tout en étant significativement plus rapide. Plus impressionnant encore, YOLO11m égale la précision du beaucoup plus lourd EfficientDet-d5 (51,5 mAP) mais s'exécute environ 14 fois plus vite sur un GPU T4 (4,7 ms contre 67,86 ms). Cet avantage de vitesse considérable permet à YOLO11 de traiter des flux vidéo haute résolution en temps réel, un exploit qui est difficile pour les modèles EfficientDet de niveau supérieur.

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
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9

L'avantage Ultralytics

Bien que les mesures techniques soient cruciales, l'expérience du développeur et le support de l'écosystème sont tout aussi importants pour le succès du projet. Ultralytics fournit une suite complète d'outils qui simplifie l'ensemble du cycle de vie MLOps, offrant des avantages distincts par rapport au référentiel EfficientDet axé sur la recherche.

  • Facilité d'utilisation : L'API Python et la CLI Ultralytics sont conçues pour la simplicité. Vous pouvez charger, entraîner et déployer un modèle de pointe avec seulement quelques lignes de code, alors qu'EfficientDet nécessite souvent des fichiers de configuration complexes et une gestion des dépendances dans TensorFlow.
  • Écosystème bien maintenu : Les modèles Ultralytics bénéficient d'une communauté active et de mises à jour fréquentes. Du dépôt GitHub à la documentation exhaustive, les développeurs ont accès à une multitude de ressources, de tutoriels et de canaux de support.
  • Efficacité de l'entraînement : YOLO11 est optimisé pour une convergence rapide. Il prend en charge des stratégies efficaces de chargement et d'augmentation des données qui réduisent le temps d'entraînement. De plus, ses besoins en mémoire moins élevés par rapport aux anciennes architectures ou aux modèles basés sur des transformateurs permettent de s'entraîner sur des GPU grand public sans manquer de mémoire CUDA.
  • Flexibilité de déploiement : Le framework prend en charge nativement l'exportation de modèles vers différents formats, notamment ONNX, TensorRT, CoreML et OpenVINO. Cela garantit que votre modèle YOLO11 peut être déployé n'importe où, des serveurs cloud aux appareils périphériques comme le Raspberry Pi.

Prise en main de YOLO11

Découvrez la simplicité de l'API Ultralytics. L'exemple suivant montre comment charger un modèle YOLO11 pré-entraîné et exécuter l'inférence sur une image :

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

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

# Display the results
results[0].show()

Conclusion

EfficientDet et YOLO11 sont tous deux des réalisations marquantes en vision par ordinateur. EfficientDet reste une référence précieuse pour la conception d'architectures évolutives et convient aux applications de niche où les FLOPs théoriques sont la principale contrainte.

Cependant, pour la grande majorité des applications modernes de vision par ordinateur, Ultralytics YOLO11 est le choix supérieur. Son architecture offre un bien meilleur équilibre entre précision et vitesse, en particulier sur le matériel GPU utilisé dans la plupart des environnements de production. Combiné à un framework multitâche polyvalent, un écosystème robuste et une facilité d'utilisation inégalée, YOLO11 permet aux développeurs de créer et de déployer des solutions d'IA haute performance en toute confiance.

Explorer d’autres comparaisons

Pour mieux comprendre le paysage des modèles de détection d'objets, vous pouvez explorer ces comparaisons supplémentaires :


Commentaires