EfficientDet vs YOLOv10#
Dans le domaine en évolution rapide de la computer vision, choisir la bonne architecture de détection d'objets est crucial pour équilibrer la précision, la latence et l'efficacité de calcul. Ce guide technique complet compare deux modèles très influents : EfficientDet de Google et YOLOv10 de l'Université de Tsinghua. Bien que les deux modèles représentent des avancées significatives en matière de détection d'objets, ils abordent la conception architecturale et l'optimisation des modèles sous des angles très différents.
Nous explorerons leurs architectures de base, examinerons les benchmarks de performance sur des jeux de données standard comme COCO et discuterons de leur intégration dans les pipelines de machine learning modernes, en soulignant particulièrement les avantages de l'écosystème Ultralytics complet.
EfficientDet : Le pionnier de la mise à l'échelle composée#
Introduit fin 2019, EfficientDet a établi une nouvelle référence pour la détection d'objets évolutive et très précise en introduisant une approche fondée sur la mise à l'échelle des dimensions du réseau.
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 la structure EfficientNet, en exploitant un nouveau réseau pyramidal de caractéristiques bidirectionnel (BiFPN). Contrairement aux Feature Pyramid Networks (FPN) traditionnels qui additionnent les caractéristiques sans distinguer leur importance, BiFPN utilise des poids ajustables pour fusionner les caractéristiques multi-échelles. Cela permet au réseau d'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 composite qui ajuste uniformément la résolution, la profondeur et la largeur pour le réseau de base, le réseau de caractéristiques et les réseaux de prédiction de boîtes/classes simultanément.
Bien qu'EfficientDet reste un choix solide pour les systèmes hérités profondément intégrés aux anciens pipelines TensorFlow, il présente des besoins en mémoire considérables lors de l'entraînement et s'appuie sur un écosystème plus ancien qui peut s'avérer lourd par rapport aux frameworks modernes et dynamiques.
En savoir plus sur EfficientDet
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 le besoin de la suppression des non-maximales (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 : Tsinghua University
- Date : 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: YOLOv10 Repository
YOLOv10 introduit une stratégie d'attribution double cohérente pour l'entraînement sans NMS. En utilisant à la fois des attributions d'étiquettes de un-à-plusieurs et de un-à-un pendant l'entraînement, le réseau apprend à produire des boîtes englobantes uniques correspondantes sans dépendre du NMS pour filtrer les doublons. Cette conception de modèle axée sur l'efficacité et la précision globale réduit la redondance de calcul, ce qui en fait un excellent candidat pour l'edge computing et les applications de streaming vidéo à faible latence. Il s'intègre de manière transparente dans l'écosystème Ultralytics, donnant aux développeurs accès à 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, éliminant ainsi les pics de latence souvent observés dans les applications de computer vision encombrées.
Comparaison des performances : Précision, vitesse et efficacité#
Lors du déploiement de modèles dans des scénarios réels, tu dois 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 métriques pour les variantes de mise à l'échelle des deux modèles.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (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 nettement moins de paramètres (2,3M) et atteint des vitesses TensorRT largement supérieures (1,56ms) par rapport aux premières versions d'EfficientDet, ce qui la rend beaucoup plus viable pour 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, les intégrer dans des pipelines modernes peut s'avérer difficile. C'est là que la plateforme Ultralytics se distingue. En fournissant un écosystème unifié, Ultralytics simplifie l'ensemble du cycle de vie, de l'annotation des données au déploiement.
- Simplicité 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 boilerplate par des commandes concises.
- Écosystème et polyvalence : Alors qu'EfficientDet est fortement spécialisé dans la détection, les modèles Ultralytics YOLO s'étendent naturellement à la segmentation d'instances, l'estimation de pose, les boîtes englobantes orientées (OBB) et la classification.
- Efficacité de l'entraînement : En tirant parti de techniques de pointe comme l'auto-batching et l'entraînement distribué, les modèles Ultralytics s'entraînent plus rapidement et consomment beaucoup moins de mémoire CUDA que les lourdes architectures Transformer ou les anciennes architectures TF multi-branches.
Exemple de code : Entraîner YOLOv10#
Déployer YOLOv10 avec Ultralytics est incroyablement simple. L'extrait de code suivant montre comment initialiser, entraîner et évaluer un réseau YOLOv10 entièrement au sein de 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 besoins 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 solide pour :
- Pipelines Google Cloud et TPU : Systèmes profondément intégrés aux API Google Cloud Vision ou à l'infrastructure TPU, où EfficientDet bénéficie d'une optimisation native.
- Recherche sur le Compound Scaling : Analyse comparative académique axée sur l'étude des effets de l'équilibre entre la profondeur, la largeur et la résolution du réseau.
- Déploiement mobile via TFLite : Les projets qui nécessitent spécifiquement une exportation TensorFlow Lite pour Android ou des appareils Linux embarqués.
Quand choisir YOLOv10#
YOLOv10 est recommandé pour :
- Détection temps réel sans NMS : Applications bénéficiant d'une détection de bout en bout sans NMS (Non-Maximum Suppression), ce qui réduit la complexité du déploiement.
- Compromis vitesse-précision équilibré : Projets nécessitant un bon équilibre 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, tels que la robotique ou les systèmes autonomes.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre la meilleure combinaison de performance et d'expérience développeur :
- Déploiement en périphérie sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par Non-Maximum Suppression.
- Environnements CPU uniquement : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : Les scénarios complexes tels que l'imagerie par drone aérien ou l'analyse par capteurs IoT où ProgLoss et STAL améliorent considérablement la précision sur les minuscules objets.
L'avenir est là : découvre Ultralytics YOLO26#
Bien que YOLOv10 ait introduit la conception révolutionnaire sans NMS, la technologie a évolué. Sorti en janvier 2026, Ultralytics YOLO26 représente l'état de l'art absolu pour la vision par IA. Il unifie les meilleurs aspects des architectures précédentes — telles que les capacités multi-tâches de YOLO11 et la stabilité de RT-DETR — en une seule centrale hautement optimisée.
Si tu commences un nouveau projet, nous te recommandons vivement de passer à YOLO26. Il offre une flexibilité et une simplicité d'utilisation inégalées via la plateforme Ultralytics.
Avancées clés dans YOLO26 :
- Conception end-to-end sans NMS : En s'appuyant sur les bases posées par YOLOv10, YOLO26 est nativement de bout en bout, simplifiant la logique de déploiement au strict minimum.
- Jusqu'à 43 % d'inférence CPU plus rapide : Avec la suppression de la perte focale de distribution (DFL), YOLO26 réduit considérablement la charge de calcul, en faisant le roi incontesté pour les appareils edge AI.
- Optimiseur MuSGD : YOLO26 emprunte des innovations issues de l'entraînement des modèles de langage (LLM). En fusionnant la stabilité de SGD avec 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 perte supérieures résolvent efficacement les problèmes persistants liés à la détection de petits objets, un domaine où EfficientDet peinait traditionnellement.
Conclusion : faire correspondre 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 concernant la mise à l'échelle composite et convient aux chercheurs qui maintiennent des systèmes TensorFlow existants où la taille des poids du modèle (sur disque) est plus critique que la vitesse d'exécution.
- YOLOv10 est phénoménal pour les applications exigeant une latence ultra-faible, telles que le suivi multi-objets à haute vitesse et la surveillance du trafic, grâce à son architecture pionnière sans NMS.
- YOLO26, cependant, est la recommandation ultime pour les projets de computer vision modernes, offrant le meilleur équilibre de performance absolu en matière de précision, d'empreinte mémoire minimale et de polyvalence multi-tâches prise en charge par le robuste écosystème Ultralytics.