EfficientDet vs YOLOv8#
Le domaine de la vision par ordinateur évolue constamment, et de nouvelles architectures repoussent régulièrement les limites du possible. Choisir la bonne architecture de réseau neuronal est essentiel pour équilibrer précision, latence et consommation de ressources. Dans cette analyse technique approfondie, nous comparerons deux modèles phares de la détection d’objets : EfficientDet de Google et Ultralytics YOLOv8.
Que ton objectif soit de déployer des modèles sur des appareils d’informatique en périphérie aux ressources très limitées ou d’exécuter des analyses à grande échelle sur des serveurs cloud, comprendre les nuances entre ces modèles t’aidera à faire le meilleur choix.
Présentation des modèles et origines#
Comprendre la philosophie architecturale de chaque modèle fournit un contexte essentiel pour interpréter ses caractéristiques de performance.
EfficientDet : une précision évolutive#
Développé par des chercheurs de Google, EfficientDet a été présenté comme un framework de détection d’objets hautement évolutif. Il vise à maximiser la précision tout en gérant soigneusement les opérations en virgule flottante (FLOPs) et le nombre de paramètres.
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google Research
- Date : 2019-11-20
- Arxiv : 1911.09070
- GitHub : google/automl
En savoir plus sur EfficientDet
EfficientDet s’appuie sur le backbone EfficientNet et introduit un réseau pyramidal de caractéristiques bidirectionnel (BiFPN). Celui-ci permet une fusion facile et rapide des caractéristiques à plusieurs échelles. De plus, une méthode de mise à l’échelle composée ajuste uniformément et simultanément la résolution, la profondeur et la largeur de tous les backbones, réseaux de caractéristiques et réseaux de prédiction des boîtes/classes. Bien qu’efficace, sa forte dépendance à l’écosystème TensorFlow peut parfois compliquer le déploiement dans les environnements centrés sur PyTorch.
Ultralytics YOLOv8 : la référence polyvalente#
Sorti au début de 2023, Ultralytics YOLOv8 a marqué un changement de paradigme dans la famille YOLO. Il a été conçu non seulement pour la détection par boîtes englobantes, mais aussi comme un framework unifié capable de prendre en charge de nombreuses tâches de vision.
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation : Ultralytics
- Date : 2023-01-10
- GitHub : ultralytics/ultralytics
YOLOv8 a introduit une tête de détection sans ancres, éliminant la nécessité de configurer manuellement les boîtes d’ancrage en fonction de la distribution des jeux de données. Cela simplifie considérablement l’entraînement. Son architecture intègre un module C2f hautement optimisé qui améliore le flux de gradient et permet au modèle d’apprendre des représentations de caractéristiques plus riches. Point essentiel, YOLOv8 nécessite beaucoup moins de mémoire GPU à l’entraînement que les modèles reposant largement sur des transformers, démocratisant ainsi l’accès à la recherche en IA de pointe.
Contrairement à EfficientDet, conçu exclusivement pour les boîtes englobantes, YOLOv8 se distingue par son extrême polyvalence. Dès son installation, il prend en charge la détection d’objets, la segmentation d’instances, la classification d’images, l’estimation de pose et les boîtes englobantes orientées (OBB).
Performances et benchmarks#
Lorsqu’on évalue ces modèles sur des benchmarks standard comme le jeu de données COCO, les compromis entre vitesse et précision deviennent évidents. Le tableau ci-dessous compare la famille EfficientDet (d0-d7) à la série YOLOv8 (n-x).
| 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 |
| 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 |
Analyse des données#
Les données de benchmark mettent en évidence l’équilibre des performances intégré par les ingénieurs Ultralytics à leurs architectures. Alors qu’EfficientDet-d0 offre une latence CPU ONNX très faible, YOLOv8 domine dans les environnements accélérés par GPU. YOLOv8n s’exécute en seulement 1.47 ms sur une NVIDIA T4 avec TensorRT, ce qui le rend nettement supérieur pour les flux d’analyse vidéo en temps réel.
De plus, YOLOv8x atteint la meilleure précision globale avec une mAP de 53.9, surpassant EfficientDet-d7, pourtant beaucoup plus volumineux, tout en nécessitant beaucoup moins de FLOPs (257.8B contre 325.0B). Cette efficacité de calcul se traduit directement par des besoins en mémoire moindres et des coûts énergétiques réduits lors du déploiement en entreprise.
Écosystème et facilité d'utilisation#
Pour de nombreuses équipes d’ingénierie modernes, le véritable facteur différenciant n’est pas seulement la vitesse brute d’un modèle, mais aussi l’écosystème qui l’entoure.
L’implémentation d’EfficientDet s’appuie fortement sur d’anciennes bibliothèques AutoML, qui peuvent entraîner une courbe d’apprentissage abrupte et des chaînes de dépendances fragiles pour les développeurs habitués aux workflows PyTorch modernes.
À l’inverse, Ultralytics offre une facilité d’utilisation inégalée. Son écosystème bien maintenu fournit une API Python cohérente qui simplifie considérablement le cycle de vie du machine learning. Il s’intègre parfaitement à la robuste plateforme Ultralytics, qui prend en charge toutes les étapes, de l’annotation automatique à l’entraînement dans le cloud et à la surveillance en temps réel.
Exemple de code : entraînement et inférence avec YOLOv8#
L’efficacité de l’entraînement de l’écosystème Ultralytics se démontre parfaitement avec du code. Pour commencer, quelques lignes de Python suffisent :
from ultralytics import YOLO
# Charger un modèle YOLOv8 nano préentraîné
model = YOLO("yolov8n.pt")
# Entraîner le modèle sur le jeu de données COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Exécuter l’inférence sur une image distante
predictions = model("https://ultralytics.com/images/bus.jpg")
# Exporter au format ONNX pour un déploiement en production
export_path = model.export(format="onnx")Cette approche simplifiée gère automatiquement le téléchargement des jeux de données, l’augmentation des données et l’allocation du matériel, ce qui permet aux chercheurs de se concentrer sur les résultats plutôt que sur le code passe-partout.
Cas d’utilisation et recommandations#
Le choix entre EfficientDet et YOLOv8 dépend des exigences spécifiques de ton projet, des contraintes de déploiement et de tes préférences en matière d’écosystème.
Quand choisir EfficientDet#
EfficientDet est un bon choix pour :
- Pipelines Google Cloud et TPU : systèmes étroitement intégrés aux API Google Cloud Vision ou à l’infrastructure TPU, où EfficientDet bénéficie d’une optimisation native.
- Recherche sur la mise à l’échelle composée : évaluation comparative universitaire axée sur l’étude des effets d’une mise à l’échelle équilibrée de la profondeur, de la largeur et de la résolution du réseau.
- Déploiement mobile avec LiteRT : projets nécessitant spécifiquement l’exportation vers LiteRT (anciennement TensorFlow Lite) pour Android ou les appareils Linux embarqués.
Quand choisir YOLOv8#
YOLOv8 est recommandé pour :
- Déploiement polyvalent multi-tâches : les projets qui nécessitent un modèle éprouvé pour la détection, la segmentation, la classification et l’estimation de pose dans l’écosystème Ultralytics.
- Systèmes de production établis : les environnements de production existants déjà basés sur l’architecture YOLOv8 et dotés de pipelines de déploiement stables et bien testés.
- Large soutien de la communauté et de l’écosystème : les applications qui tirent parti des nombreux tutoriels, intégrations tierces et ressources communautaires actives de YOLOv8.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur équilibre entre performances et expérience développeur :
- Déploiement en périphérie sans NMS : les applications qui exigent des inférences à faible latence et constantes, sans la complexité du post-traitement par suppression non maximale.
- Environnements exclusivement CPU : les appareils dépourvus d’accélération GPU dédiée, où l’inférence CPU jusqu’à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les situations difficiles, comme l’imagerie aérienne par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision pour les objets minuscules.
Perspectives : l’avantage de YOLO26#
Bien que YOLOv8 soit un excellent modèle polyvalent, le domaine de la vision par ordinateur a continué d’évoluer. Pour les utilisateurs qui évaluent des architectures aujourd’hui, il est vivement recommandé d’explorer le tout nouveau Ultralytics YOLO26, qui représente le summum de la détection d’objets moderne.
Sorti en janvier 2026, YOLO26 s’appuie sur les réussites de ses prédécesseurs (notamment YOLO11 et YOLOv10) et propose des fonctionnalités révolutionnaires :
- Conception de bout en bout sans NMS : la tête facultative un-à-un de YOLO26 (
nms=False) supprime le besoin de post-traitement par suppression non maximale (NMS), simplifiant considérablement la logique de déploiement et réduisant la variabilité de la latence. - Optimiseur MuSGD : en intégrant les innovations de l’entraînement des grands modèles de langage (LLM), cet optimiseur hybride garantit un entraînement plus stable et une convergence rapide.
- Inférence CPU jusqu’à 43 % plus rapide : YOLO26 est entièrement optimisé pour les scénarios d’IA en périphérie dépourvus de GPU dédiés.
- ProgLoss + STAL : ces fonctions de perte avancées améliorent nettement la reconnaissance des petits objets, un point faible historique de nombreux détecteurs en temps réel.
Conclusion#
EfficientDet reste une architecture mathématiquement élégante qui a ouvert la voie aux techniques de mise à l’échelle composée. Cependant, pour les applications prêtes pour la production, Ultralytics YOLOv8 offre une meilleure expérience développeur, une plus grande polyvalence pour les tâches de vision et des vitesses d’inférence inégalées sur le matériel GPU moderne.
Pour les équipes qui démarrent de nouveaux projets, l’écosystème Ultralytics garantit l’accès à un développement actif, à une documentation complète et à une voie de mise à niveau claire vers des modèles de pointe comme YOLO26.