EfficientDet et YOLO11#
Le choix de l'architecture de réseau neuronal optimale est le fondement de toute application de vision par ordinateur réussie. Ce guide complet propose une comparaison technique approfondie entre EfficientDet de Google et Ultralytics YOLO11, en analysant leurs différences architecturales, leurs indicateurs de performance et leurs scénarios de déploiement idéaux.
Que tu vises une latence de quelques millisecondes sur des appareils d'IA en périphérie ou que tu aies besoin d'une précision évolutive pour l'inférence dans le cloud, il est essentiel de comprendre les nuances de ces modèles.
Profils des modèles et détails techniques#
Comprendre la lignée et la philosophie de conception sous-jacente à chaque architecture permet de mieux contextualiser ses performances dans les tâches de détection d'objets en conditions réelles.
EfficientDet#
Développé par des chercheurs de Google Brain, EfficientDet a introduit une approche raisonnée de la mise à l'échelle des réseaux de détection d'objets, ainsi que le nouveau BiFPN (réseau pyramidal de caractéristiques bidirectionnel).
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google
- Date : 2019-11-20
- arXiv : https://arxiv.org/abs/1911.09070
- GitHub : https://github.com/google/automl/tree/master/efficientdet
- Documentation : https://github.com/google/automl/tree/master/efficientdet#readme
En savoir plus sur EfficientDet
YOLO11#
YOLO11 représente une évolution majeure de l'écosystème Ultralytics, repoussant les limites des performances en temps réel, de l'efficacité en paramètres et de l'apprentissage multitâche.
- Auteurs : Glenn Jocher et Jing Qiu
- Organisation : Ultralytics
- Date : 2024-09-27
- GitHub : https://github.com/ultralytics/ultralytics
- Documentation : https://docs.ultralytics.com/models/yolo11
Comparaison des architectures#
Les différences architecturales entre ces deux modèles mettent en évidence la divergence de leurs stratégies de conception au fil des ans.
EfficientDet s'appuie sur le backbone EfficientNet et introduit BiFPN, qui permet la fusion de caractéristiques multi-échelles de haut en bas et de bas en haut. Il utilise une méthode de mise à l'échelle composée qui ajuste uniformément et simultanément la résolution, la profondeur et la largeur du backbone, du réseau de caractéristiques et des réseaux de prédiction des boîtes/classes. Bien que cette approche soit très efficace pour maximiser la précision moyenne (mAP), le routage complexe de BiFPN peut parfois limiter la bande passante mémoire pendant l'inférence.
YOLO11, en revanche, utilise un module C3k2 optimisé et une tête de détection avancée sans ancres. Cette approche simplifiée minimise la surcharge lors de l'extraction des caractéristiques. Ultralytics a conçu YOLO11 pour maximiser l'utilisation du matériel GPU, ce qui se traduit par des besoins en mémoire nettement plus faibles pendant l'entraînement et l'inférence que ceux des architectures plus anciennes ou des modèles Transformer lourds.
Alors qu'EfficientDet est exclusivement un détecteur d'objets, YOLO11 est extrêmement polyvalent. Une seule architecture YOLO11 prend nativement en charge la segmentation d'instance, la classification d'images, l'estimation de pose et les boîtes englobantes orientées (OBB).
Bancs d’essai de performances#
Le tableau ci-dessous compare les performances des deux familles de modèles à différentes échelles sur le jeu de données COCO.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Analyse équilibrée : points forts et points faibles#
Accélération GPU : YOLO11 domine dans les environnements GPU. Par exemple, YOLO11m atteint un mAP de 51.5 % en un temps remarquable de 4.7 ms sur un GPU T4 avec TensorRT. Pour atteindre une précision comparable, EfficientDet-d5 nécessite 67.86 ms, soit plus de 14 fois plus longtemps. Cela souligne l'équilibre supérieur entre performances des modèles Ultralytics pour les applications en temps réel.
Environnements CPU : les variantes les plus petites d'EfficientDet (comme d0 et d1) offrent des vitesses d'inférence sur CPU très optimisées avec ONNX. Toutefois, leur précision évolue mal sans entraîner d'importantes pénalités de latence GPU dans les variantes plus grandes comme d7.
Méthodologie d'entraînement et écosystème#
L'expérience des développeurs est souvent aussi cruciale que les capacités théoriques du modèle. C'est là que l'écosystème Ultralytics se démarque.
EfficientDet dépend fortement de l'écosystème TensorFlow historique et de bibliothèques AutoML complexes. La mise en place d'un pipeline d'entraînement personnalisé implique une courbe d'apprentissage abrupte, une gestion complexe des dépendances et une configuration manuelle des ancres et des fonctions de perte.
À l'inverse, Ultralytics offre une facilité d'utilisation inégalée. Grâce à un écosystème PyTorch bien entretenu, l'entraînement d'un modèle YOLO ne nécessite que quelques lignes de code. Le framework gère automatiquement les augmentations avancées des données et la planification du taux d'apprentissage dès l'installation, et comprend une fonctionnalité intégrée de réglage des hyperparamètres.
Exemple de code : démarrer avec Ultralytics#
Cet extrait de code robuste et prêt pour la production montre à quel point l'entraînement et l'inférence sont simples avec l'API Python.
from ultralytics import YOLO
# Charge un petit modèle YOLO11 préentraîné
model = YOLO("yolo11s.pt")
# Entraîner le modèle sur ton jeu de données personnalisé
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Effectuer une inférence rapide sur une image
results = model.predict("https://ultralytics.com/images/bus.jpg")
results[0].show()Cas d’utilisation idéaux#
Quand utiliser EfficientDet : EfficientDet reste une option viable pour les environnements de recherche fortement ancrés dans les pipelines TensorFlow ou soumis à des contraintes spécifiques liées au CPU, où les premières architectures comme d0 offrent des performances suffisantes.
Quand utiliser YOLO11 : YOLO11 est le choix par excellence pour les déploiements d'entreprise modernes. Sa vitesse exceptionnelle en fait un modèle idéal pour les véhicules autonomes, l'analyse sportive en temps réel et la détection de défauts de fabrication à haut débit. De plus, sa faible consommation mémoire permet un déploiement flexible sur du matériel aux ressources limitées, comme le NVIDIA Jetson.
Perspectives : passer à YOLO26#
YOLO11 est extrêmement performant, mais les développeurs qui démarrent de nouveaux projets devraient évaluer d'autres architectures Ultralytics éprouvées, comme YOLOv8 ou la toute nouvelle version YOLO26. Sorti au début de 2026, YOLO26 reprend les fondements de YOLO11 et introduit plusieurs innovations révolutionnaires :
- Conception de bout en bout sans NMS : Dans la lignée de YOLOv10, YOLO26 peut entièrement ignorer le post-traitement par suppression non maximale (NMS) grâce à sa tête facultative un-à-un (
nms=False), ce qui réduit la latence et simplifie les pipelines de déploiement. - Optimiseur MuSGD : Un optimiseur hybride qui combine le SGD standard avec Muon (inspiré de l'entraînement des grands modèles de langage), améliorant considérablement la stabilité de l'entraînement.
- Inférence sur CPU jusqu'à 43 % plus rapide : des optimisations spécifiques rendent YOLO26 extrêmement performant sur les appareils de périphérie dépourvus de GPU dédié.
- ProgLoss + STAL : des fonctions de perte avancées qui améliorent considérablement la détection des petits objets, essentielle pour l'imagerie aérienne et la robotique.
Découvre l'éventail plus large des architectures de vision, notamment les détecteurs basés sur des Transformer comme RT-DETR, dans notre documentation Ultralytics complète.