YOLOv8 vs EfficientDet#
Dans le domaine en évolution rapide de la détection d’objets, le choix de la bonne architecture de réseau neuronal est essentiel pour équilibrer précision, vitesse d’inférence et faisabilité du déploiement. Cette comparaison technique porte sur deux architectures influentes : Ultralytics YOLOv8, une référence polyvalente de l’écosystème moderne de la vision par ordinateur, et EfficientDet, un modèle fondateur de Google connu pour sa stratégie de mise à l’échelle composée.
Que ton déploiement vise des serveurs cloud hautes performances ou des appareils de périphérie aux ressources limitées, comprendre les différences architecturales entre ces modèles t’aidera à faire le bon choix.
Présentation des architectures#
Les deux modèles s’attaquent au problème de l’identification et de la localisation d’objets dans une image à l’aide de réseaux neuronaux convolutifs, mais utilisent des méthodes différentes pour extraire les caractéristiques et régresser les boîtes englobantes.
Ultralytics YOLOv8#
Publié par Ultralytics en janvier 2023, YOLOv8 a marqué une avancée majeure pour la famille YOLO. Créé par Glenn Jocher, Ayush Chaurasia et Jing Qiu, il a été conçu dès le départ pour prendre en charge plusieurs tâches de vision, notamment la détection d’objets, la segmentation d’instances, la classification d’images et l’estimation de pose.
L’architecture introduit une tête de détection sans ancres, qui réduit le nombre de prédictions de boîtes et accélère la suppression non maximale (NMS). Son dorsal utilise un module C2f (goulot d’étranglement Cross-Stage Partial avec deux convolutions) pour améliorer la propagation du gradient pendant l’entraînement tout en conservant une empreinte mémoire réduite. YOLOv8 est ainsi efficace lorsqu’il est compilé dans des formats comme NVIDIA TensorRT ou ONNX.
EfficientDet#
Créé par Mingxing Tan, Ruoming Pang et Quoc V. Le chez Google et publié fin 2019, EfficientDet privilégie une efficacité évolutive. Présenté dans leur article arXiv officiel, le modèle s’appuie sur les recherches AutoML de Google.
La caractéristique distinctive d’EfficientDet est son réseau pyramidal de caractéristiques bidirectionnel (BiFPN), qui permet une fusion de caractéristiques multi-échelle simple et rapide. Associée à un dorsal EfficientNet, l’architecture 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 de tous les réseaux dorsaux, de caractéristiques et de prédiction des boîtes et des classes. Bien que cela lui confère une excellente efficacité en nombre de paramètres, la topologie complexe du réseau tend à s’exécuter plus lentement sur les GPU que ne le laisserait penser son faible nombre d’opérations en virgule flottante.
En savoir plus sur EfficientDet
Comparaison des performances et des métriques#
Pour comparer les détecteurs d’objets, la précision moyenne (mAP) et la latence d’inférence sont les principaux critères. Le tableau ci-dessous montre comment les variantes de YOLOv8 et la famille EfficientDet (d0-d7) se comparent selon les indicateurs standard sur le jeu de données COCO.
| Modèle | taille (pixels) | mAPval50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| EfficientDet-d0 | 512 | 34.6 | - | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | - | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 768 | 43.0 | - | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 896 | 47.5 | - | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 1024 | 49.7 | - | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 1280 | 51.5 | - | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 1280 | 52.6 | - | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 1536 | 53.7 | - | 128.07 | 51.9 | 325.0 |
Bien qu’EfficientDet atteigne une précision compétitive avec moins de FLOPs, Ultralytics YOLOv8 est bien plus rapide sur GPU. Par exemple, YOLOv8x atteint un mAP légèrement supérieur (53,9) à celui d’EfficientDet-d7 (53,7), tout en étant environ 9 fois plus rapide sur un GPU T4 (14,37 ms contre 128,07 ms), ce qui fait de YOLOv8 un excellent choix pour l’analyse vidéo en temps réel.
Méthodes d’entraînement et écosystème#
L’expérience développeur est un facteur déterminant dans le choix d’une architecture d’apprentissage automatique, et le soutien de la communauté ainsi que les outils de l’écosystème varient considérablement entre ces modèles.
EfficientDet dépend fortement de TensorFlow et de pipelines AutoML spécialisés. Bien que cette approche soit efficace pour l’entraînement distribué dans le cloud à grande échelle, la configuration de l’environnement, le réglage des ancres et l’analyse des fichiers de configuration denses du dépôt GitHub d’EfficientDet peuvent demander beaucoup de travail.
À l’inverse, Ultralytics YOLOv8 repose nativement sur PyTorch et est conçu pour être facile à utiliser. Les développeurs peuvent commencer l’entraînement avec une seule ligne de code Python ou une commande CLI. L’utilisation de la mémoire pendant l’entraînement est également optimisée, ce qui permet aux développeurs équipés de GPU grand public modestes d’entraîner des modèles performants et de rencontrer moins d’erreurs de mémoire insuffisante (OOM) que celles souvent causées par les architectures reposant largement sur les Transformer.
Ultralytics Platform propose une interface sans code pour l’annotation des jeux de données, l’entraînement des modèles et le déploiement dans le cloud, tandis que le réglage des hyperparamètres intégré aide à optimiser la précision sur des jeux de données personnalisés.
Exemple de code Python : inférence YOLOv8#
L’entraînement et l’exécution de YOLOv8 à l’aide du dépôt GitHub d’Ultralytics ne nécessitent que quelques lignes de code :
from ultralytics import YOLO
# Initialiser le modèle YOLOv8 nativement dans PyTorch
model = YOLO("yolov8n.pt")
# Entraîner le modèle sur le jeu de données d’exemple COCO8
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Effectuer rapidement une inférence sur l’URL d’une image
inference_results = model("https://ultralytics.com/images/bus.jpg")
# Afficher les boîtes englobantes
inference_results[0].show()La nouvelle génération : passer à Ultralytics YOLO26#
YOLOv8 reste un modèle de production performant, mais les développeurs qui lancent de nouveaux projets devraient évaluer Ultralytics YOLO26, publié en janvier 2026 et désormais recommandé par Ultralytics.
YOLO26 introduit une architecture native de bout en bout sans NMS. Sa tête facultative à correspondance un-à-un (nms=False) supprime le post-traitement NMS, utilisé depuis les premières versions de YOLO, ce qui réduit les variations de latence et simplifie le déploiement sur les appareils à faible consommation.
YOLO26 comprend également plusieurs améliorations de l’entraînement et de l’architecture :
- Optimiseur MuSGD : inspiré des techniques d’entraînement des LLM, cet hybride de SGD et Muon assure un entraînement stable et une convergence plus rapide.
- Inférence CPU jusqu’à 43 % plus rapide : sans NMS ni DFL, YOLO26n s’exécute jusqu’à 43 % plus vite que YOLO11n en inférence ONNX sur CPU, ce qui le rend adapté aux appareils de périphérie fonctionnant uniquement sur CPU et dépourvus de NPU dédié.
- ProgLoss + STAL : la perte progressive et l’assignation des étiquettes adaptée aux petites cibles (STAL) améliorent la détection des petits objets, un atout pour l’imagerie aérienne et les applications de caméras IoT.
- Suppression de DFL : la suppression de Distribution Focal Loss simplifie l’exportation vers des formats comme OpenVINO et CoreML.
Cas d’utilisation et recommandations#
Le choix entre ces architectures dépend en définitive de tes contraintes de déploiement et de tes exigences de compatibilité avec les systèmes existants.
- Choisis Ultralytics YOLOv8 si : tu développes des applications polyvalentes de vision par ordinateur qui exigent une grande précision, une inférence GPU en temps réel et une expérience développeur simple. Ses excellentes performances pour les tâches de détection, de segmentation et de classification en font une solution polyvalente pour l’analyse du commerce de détail, la robotique et les systèmes de sécurité.
- Choisis EfficientDet si : tu es contraint de conserver des flux de travail TensorFlow existants et que ta priorité est de réduire le nombre de paramètres et les FLOPs théoriques, éventuellement pour la recherche plutôt que pour un déploiement industriel strictement en temps réel.
- Choisis Ultralytics YOLO26 si : tu démarres un nouveau projet. YOLO26 est le modèle Ultralytics recommandé actuellement, et son architecture native de bout en bout sans NMS convient aussi bien aux déploiements rapides en périphérie qu’au traitement cloud à grande échelle.
Si tu explores d’autres modèles de l’écosystème Ultralytics, tu peux également envisager Ultralytics YOLO11, qui offre un équilibre éprouvé entre vitesse et précision, ou RT-DETR, qui adopte une approche de la détection en temps réel fondée sur les Transformer.
Commentaires1
extremezero9023(modifié) Great technical breakdown! EfficientDet is known for its excellent accuracy-to-efficiency ratio, especially in resource-constrained environments. However, this YOLOv8 comparison highlights how v8 brings better versatility, faster inference times, and an easier training pipeline. While EfficientDet excels in structured setups, YOLOv8 feels more production-ready for dynamic and real-time use cases.