EfficientDet et YOLOv10#
Dans le domaine en rapide évolution de la vision par ordinateur, le choix de la bonne architecture de détection d'objets est essentiel pour équilibrer précision, latence et efficacité de calcul. Ce guide technique complet compare deux modèles très influents : EfficientDet de Google et YOLOv10 de l'université Tsinghua. Ces deux modèles représentent des avancées majeures en détection d'objets, mais ils abordent la conception architecturale et l'optimisation des modèles de manières très différentes.
Nous examinerons leurs architectures fondamentales, passerons en revue les performances obtenues sur des jeux de données standards comme COCO et verrons comment ces modèles s'intègrent aux pipelines modernes d'apprentissage automatique, en mettant particulièrement en avant les avantages de l'écosystème Ultralytics complet.
EfficientDet : pionnier de la mise à l'échelle composée#
Présenté à la fin de 2019, EfficientDet a établi une nouvelle référence en matière de détection d'objets évolutive et très précise, en introduisant une méthode raisonnée de mise à l'échelle des dimensions des réseaux.
Innovations clés et architecture#
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google Brain
- Date : 2019-11-20
- arXiv : https://arxiv.org/abs/1911.09070
- GitHub : Dépôt EfficientDet
EfficientDet repose sur le backbone EfficientNet et utilise un nouveau réseau pyramidal de caractéristiques bidirectionnel (BiFPN). Contrairement aux réseaux pyramidaux de caractéristiques (FPN) traditionnels, qui additionnent les caractéristiques sans distinguer leur importance, BiFPN utilise des poids apprenables pour fusionner les caractéristiques multi-échelles. Le réseau peut ainsi apprendre efficacement quelles caractéristiques de résolution contribuent le plus à la prédiction finale. De plus, 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/classes.
EfficientDet reste un choix solide pour les anciens systèmes étroitement intégrés à des pipelines TensorFlow antérieurs, mais ses besoins en mémoire pendant l'entraînement sont importants et il dépend d'un ancien écosystème qui peut être encombrant comparé aux frameworks modernes et dynamiques.
En savoir plus sur EfficientDet
YOLOv10 : l'innovateur sans NMS#
Sorti à la mi-2024, YOLOv10 a fondamentalement transformé le paradigme de la détection d'objets en temps réel en éliminant le besoin de suppression non maximale (NMS) lors du post-traitement, réduisant ainsi considérablement la latence d'inférence.
Innovations clés et architecture#
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- 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 pendant l'entraînement une assignation d'étiquettes un-à-plusieurs et un-à-un, le réseau apprend à produire des boîtes englobantes correspondant de manière unique aux objets, sans s'appuyer sur NMS pour éliminer les doublons. Cette conception des modèles, qui privilégie conjointement l'efficacité et la précision, réduit les redondances de calcul et constitue un excellent choix pour l'informatique en périphérie et les applications de diffusion vidéo à faible latence. Son intégration fluide à l'écosystème Ultralytics permet aux développeurs de profiter d'une API Python extrêmement simple.
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, et élimine les pics de latence souvent observés dans les applications de vision par ordinateur en environnement encombré.
Comparaison des performances : précision, vitesse et efficacité#
Lors du déploiement de modèles en conditions réelles, les développeurs doivent comparer la précision moyenne (mAP) au nombre de paramètres et aux opérations de calcul (FLOPs). Le tableau ci-dessous détaille ces indicateurs pour les différentes variantes de mise à l'é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 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
Remarque : la variante YOLOv10n nécessite beaucoup moins de paramètres (2.3M) et atteint des vitesses TensorRT nettement supérieures (1.84ms) à 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 ?#
Les deux modèles ont une importance historique et structurelle, mais leur intégration dans les pipelines modernes peut s'avérer difficile. C'est là que la plateforme Ultralytics se démarque. En fournissant 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'export, remplaçant des centaines de lignes de code standard par des commandes concises.
- Écosystème et polyvalence : alors qu'EfficientDet est fortement spécialisé dans la détection, les modèles YOLO Ultralytics s'étendent naturellement à la segmentation d'instance, 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 traitement 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 modèles Transformer volumineux ou les anciennes architectures TF à branches multiples.
Exemple de code : entraîner YOLOv10#
Le déploiement de 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 depuis l'API Python.
from ultralytics import YOLO
# Charger un modèle YOLOv10 préentraîné (variante nano pour la vitesse en périphérie)
model = YOLO("yolov10n.pt")
# Entraîner le modèle sur le jeu de données COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Évaluer le modèle sur le jeu de validation
metrics = model.val()
# Exporter le modèle vers ONNX pour un déploiement en production
model.export(format="onnx")Cas d’utilisation et recommandations#
Le choix entre EfficientDet et YOLOv10 dépend des exigences propres à 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 YOLOv10#
YOLOv10 est recommandé pour :
- Détection en temps réel sans NMS : les applications qui tirent parti de la détection de bout en bout sans suppression non maximale, ce qui réduit la complexité du déploiement.
- Équilibre entre vitesse et précision : les projets qui nécessitent un bon compromis entre vitesse d’inférence et 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 en robotique ou dans les systèmes autonomes.
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.
Le futur est là : découvrez Ultralytics YOLO26#
YOLOv10 a introduit la conception révolutionnaire sans NMS, mais la technologie a évolué. Sorti en janvier 2026, Ultralytics YOLO26 représente l'état de l'art incontesté en IA de vision. Il réunit les meilleurs atouts 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é et puissant.
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.
Les principales avancées de YOLO26 :
- Conception de bout en bout sans NMS : dans la lignée des innovations de YOLOv10, YOLO26 propose une tête de bout en bout un-à-un facultative (
nms=False) qui ignore NMS, réduisant la logique de déploiement à l'essentiel. - Inférence sur CPU jusqu'à 43 % plus rapide : grâce à la suppression de la perte focale de distribution (DFL), YOLO26 réduit considérablement les surcoûts de calcul et s'impose comme le leader incontesté des 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 associant 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 fonctions de perte supérieures résolvent efficacement les problèmes persistants liés à la détection des petits objets, domaine dans lequel EfficientDet rencontrait traditionnellement des difficultés.
Conclusion : choisir le modèle adapté à chaque cas d'usage#
Le choix entre ces réseaux dépend en définitive de tes contraintes de déploiement :
- EfficientDet reste un sujet d'intérêt académique pour l'étude de la mise à l'échelle composée. Il convient aux chercheurs qui assurent la maintenance de systèmes TensorFlow existants, pour lesquels la taille du poids du modèle (sur disque) est plus importante que la vitesse d'exécution.
- YOLOv10 est remarquable pour les applications exigeant une latence extrêmement faible, comme le suivi multi-objets à grande vitesse et la surveillance du trafic, grâce à son architecture pionnière sans NMS.
- YOLO26 est toutefois le choix ultime pour les projets modernes de vision par ordinateur : il offre le meilleur équilibre performances entre précision, empreinte mémoire minimale et polyvalence multitâche, le tout soutenu par la robustesse de l'écosystème Ultralytics.