Comparaison entre EfficientDet et YOLOv10#
Dans le domaine en évolution rapide de la vision par ordinateur, choisir la bonne architecture de détection d'objets est essentiel pour équilibrer précision, latence et efficacité computationnelle. Ce guide technique complet compare deux modèles particulièrement influents : EfficientDet de Google et YOLOv10 de l'université Tsinghua. Bien que ces deux modèles représentent des avancées majeures en détection d'objets, ils abordent la conception architecturale et l'optimisation des modèles sous des angles très différents.
Nous examinerons leurs architectures fondamentales, analyserons les benchmarks de performances sur des jeux de données standard comme COCO et verrons comment ils s'intègrent aux pipelines modernes de machine learning, en mettant particulièrement en évidence les avantages de l'écosystème Ultralytics complet.
EfficientDet : le pionnier du changement d'échelle composé#
Introduit fin 2019, EfficientDet a établi une nouvelle référence en matière de détection d'objets évolutive et très précise en proposant une approche méthodique de la mise à l'échelle des dimensions du réseau.
Principales innovations et architecture#
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google Brain
- Date : 20/11/2019
- Arxiv : https://arxiv.org/abs/1911.09070
- GitHub : Dépôt EfficientDet
EfficientDet repose sur le backbone EfficientNet et exploite un nouveau réseau pyramidal de caractéristiques bidirectionnel (BiFPN). Contrairement aux réseaux pyramidaux de caractéristiques traditionnels (FPN) qui additionnent les caractéristiques sans distinguer leur importance, BiFPN utilise des poids apprenables pour fusionner les caractéristiques à plusieurs échelles. Le réseau peut ainsi apprendre efficacement quelles caractéristiques de résolution contribuent le plus à la prédiction finale. En outre, EfficientDet 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 et des classes.
Bien qu'EfficientDet reste un choix solide pour les systèmes existants fortement intégrés à d'anciens pipelines TensorFlow, il nécessite beaucoup de mémoire pendant l'entraînement et dépend d'un écosystème plus ancien qui peut s'avérer encombrant par rapport aux frameworks modernes et dynamiques.
YOLOv10 : l'innovateur sans NMS#
Sorti mi-2024, YOLOv10 a fondamentalement transformé le paradigme de la détection d'objets en temps réel en éliminant la nécessité de la suppression des maxima non maximaux (NMS) lors du post-traitement, ce qui réduit considérablement la latence d'inférence.
Principales innovations et architecture#
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Tsinghua University
- Date : 2024-05-23
- Arxiv : https://arxiv.org/abs/2405.14458
- GitHub : Dépôt YOLOv10
YOLOv10 introduit une stratégie cohérente de double assignation pour l'entraînement sans NMS. En utilisant à la fois des assignations d'étiquettes un-vers-plusieurs et un-vers-un pendant l'entraînement, le réseau apprend à produire des boîtes englobantes à correspondance unique sans dépendre de NMS pour éliminer les doublons. Cette conception globale axée sur l'efficacité et la précision réduit la redondance computationnelle, ce qui en fait un excellent candidat pour l'informatique en périphérie et les applications de streaming vidéo à faible latence. Elle s'intègre parfaitement à l'écosystème Ultralytics et donne aux développeurs accès à une API Python extrêmement simple.
En apprendre davantage sur YOLOv10
En supprimant l'étape NMS, YOLOv10 garantit des vitesses d'inférence constantes quel que soit le nombre d'objets détectés dans une scène, éliminant ainsi les pics de latence souvent observés dans les applications de vision par ordinateur comportant de nombreux objets.
Comparaison des performances : précision, vitesse et efficacité#
Lors du déploiement de modèles dans des scénarios réels, les développeurs doivent mettre en balance la précision moyenne (mAP), le nombre de paramètres et les opérations computationnelles (FLOPs). Le tableau ci-dessous détaille ces métriques pour les variantes d'échelle des deux modèles.
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Remarque : la variante YOLOv10n nécessite beaucoup moins de paramètres (2.3M) et atteint des vitesses TensorRT largement supérieures (1.56ms) à celles des premières versions d'EfficientDet, ce qui la rend bien plus adaptée à l'inférence en temps réel en production.
Pourquoi choisir Ultralytics pour le déploiement de modèles ?#
Bien que les deux modèles aient une importance historique et structurelle, leur intégration dans des pipelines modernes peut s'avérer difficile. C'est là que la plateforme Ultralytics se distingue. En proposant un écosystème unifié, Ultralytics simplifie l'ensemble du cycle de vie, de l'annotation des données au déploiement.
- Facilité d'utilisation : le package Python Ultralytics offre une interface unique pour l'entraînement des modèles, la validation et l'exportation, remplaçant des centaines de lignes de code répétitif par des commandes concises.
- Écosystème et polyvalence : alors qu'EfficientDet est fortement spécialisé dans la détection, les modèles YOLO d'Ultralytics s'étendent naturellement à la segmentation d'instances, à l'estimation de pose, aux boîtes englobantes orientées (OBB) et à la classification.
- Efficacité de l'entraînement : grâce à des techniques de pointe comme le regroupement automatique par lots et l'entraînement distribué, les modèles Ultralytics s'entraînent plus rapidement et consomment beaucoup moins de mémoire CUDA que les architectures Transformer lourdes ou les anciennes architectures TF à branches multiples.
Exemple de code : entraînement de YOLOv10#
Déployer YOLOv10 avec Ultralytics est extrêmement simple. L'extrait de code suivant montre comment initialiser, entraîner et évaluer un réseau YOLOv10 entièrement via l'API Python.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (nano variant for edge speed)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Evaluate the model on the validation set
metrics = model.val()
# Export the model to ONNX for production deployment
model.export(format="onnx")Cas d'utilisation et recommandations#
Le choix entre EfficientDet et YOLOv10 dépend des exigences spécifiques de ton projet, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Quand choisir EfficientDet#
EfficientDet est un choix pertinent pour :
- Pipelines Google Cloud et TPU : Les systèmes profondément intégrés aux API Google Cloud Vision ou à une infrastructure TPU, où EfficientDet bénéficie d’une optimisation native.
- Recherche sur la mise à l’échelle composée : Les évaluations universitaires axées sur l’étude des effets de la mise à l’échelle équilibrée de la profondeur, de la largeur et de la résolution des réseaux.
- Déploiement mobile via TFLite : Les projets qui nécessitent spécifiquement un export TensorFlow Lite pour Android ou les appareils Linux embarqués.
Quand choisir YOLOv10#
YOLOv10 est recommandé pour :
- Détection en temps réel sans NMS : les applications qui bénéficient d’une détection de bout en bout sans suppression des non-maxima, réduisant ainsi la complexité du déploiement.
- Compromis équilibré entre vitesse et précision : les projets nécessitant un équilibre solide entre la vitesse d’inférence et la précision de détection pour différentes tailles de modèles.
- Applications à latence constante : les scénarios de déploiement où des temps d’inférence prévisibles sont essentiels, comme la robotique ou les systèmes autonomes.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur compromis entre performance et expérience développeur :
- Déploiement edge sans NMS : les applications nécessitant une inférence cohérente à faible latence, 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 scénarios difficiles comme les images aériennes prises par drone ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
Le futur est là : voici Ultralytics YOLO26#
Alors que YOLOv10 a introduit la conception révolutionnaire sans NMS, la technologie a évolué. Sorti en janvier 2026, Ultralytics YOLO26 représente l'état de l'art définitif en IA pour la vision. Il réunit les meilleurs aspects des architectures précédentes, comme les capacités multitâches de YOLO11 et la stabilité de RT-DETR, au sein d'un modèle unique extrêmement optimisé.
Si tu démarres un nouveau projet, nous te recommandons vivement de passer à YOLO26. Il offre une flexibilité et une facilité d'utilisation inégalées via la plateforme Ultralytics.
Principales avancées de YOLO26 :
- Conception de bout en bout sans NMS : s'appuyant sur les fondations posées par YOLOv10, YOLO26 est nativement de bout en bout et réduit la logique de déploiement à son strict minimum.
- Inférence sur CPU jusqu'à 43 % plus rapide : grâce à la suppression de la perte focale de distribution (DFL), YOLO26 réduit considérablement la surcharge computationnelle, ce qui en fait le modèle incontesté pour les appareils d'IA en périphérie.
- Optimiseur MuSGD : YOLO26 reprend des innovations issues de l'entraînement des grands modèles de langage (LLM). En combinant la stabilité de SGD à la vitesse de Muon, il converge plus rapidement et de manière plus fiable que tous ses prédécesseurs.
- ProgLoss + STAL : des formulations de fonction de perte supérieures résolvent efficacement les problèmes persistants liés à la détection de petits objets, un domaine dans lequel EfficientDet rencontrait traditionnellement des difficultés.
Conclusion : associer les modèles aux cas d'utilisation#
Le choix entre ces réseaux dépend en fin de compte de tes contraintes de déploiement :
- EfficientDet reste un sujet d'intérêt académique pour la mise à l'échelle composée et convient aux chercheurs qui maintiennent des systèmes TensorFlow existants, lorsque la taille des poids du modèle (sur le disque) est plus importante que la vitesse d'exécution.
- YOLOv10 est exceptionnel pour les applications exigeant une latence extrêmement faible, comme le suivi de plusieurs objets à grande vitesse et la surveillance du trafic, grâce à son architecture pionnière sans NMS.
- YOLO26, en revanche, est la recommandation ultime pour les projets modernes de vision par ordinateur, car il offre le meilleur équilibre des performances possible entre précision, empreinte mémoire minimale et polyvalence multitâche, le tout soutenu par l'écosystème Ultralytics robuste.