EfficientDet vs YOLOv10 : Analyse de l'évolution des modèles de détection d'objets
Dans le domaine en évolution rapide de la vision par ordinateur, choisir la bonne architecture de détection d'objets est crucial pour équilibrer précision, latence et efficacité computationnelle. Ce guide technique complet compare deux modèles très influents : EfficientDet de Google et YOLOv10 de l'université Tsinghua. Bien que les deux modèles représentent des avancées significatives dans la détection d'objets, ils abordent la conception architecturale et l'optimisation de modèles sous des angles très différents.
Nous explorerons leurs architectures fondamentales, examinerons les benchmarks de performance sur des jeux de données standards comme COCO, et discuterons de la manière dont ils s'intègrent dans les pipelines modernes d'apprentissage automatique, en soulignant spécifiquement les avantages de l'écosystème complet Ultralytics.
EfficientDet : Le pionnier du compound scaling
Introduit fin 2019, EfficientDet a établi une nouvelle référence pour une détection d'objets évolutive et très précise en introduisant une approche fondée sur le changement d'é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 est construit sur le backbone EfficientNet, tirant parti d'un nouveau Bi-directional Feature Pyramid Network (BiFPN). Contrairement aux Feature Pyramid Networks (FPN) traditionnels qui additionnent les caractéristiques sans distinguer leur importance, le BiFPN utilise des poids apprenables pour fusionner les caractéristiques multi-échelles. Cela permet au réseau d'apprendre efficacement quelles résolutions contribuent le plus à la prédiction finale. De plus, EfficientDet utilise une méthode de compound scaling qui ajuste uniformément la résolution, la profondeur et la largeur du backbone, du réseau de caractéristiques et des 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 avec d'anciens pipelines TensorFlow, il s'accompagne de besoins en mémoire considérables pendant l'entraînement et repose sur un écosystème plus ancien qui peut être encombrant par rapport aux frameworks modernes et dynamiques.
En savoir plus sur EfficientDet
YOLOv10 : L'innovateur sans NMS
Lancé mi-2024, YOLOv10 a fondamentalement changé le paradigme de la détection d'objets en temps réel en éliminant le besoin de Non-Maximum Suppression (NMS) lors du post-traitement, réduisant 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 : 23/05/2024
- Arxiv : https://arxiv.org/abs/2405.14458
- GitHub : Dépôt YOLOv10
YOLOv10 introduit une stratégie d'assignation double cohérente pour l'entraînement sans NMS. En utilisant des assignations d'étiquettes un-à-plusieurs et un-à-un pendant l'entraînement, le réseau apprend à produire des boîtes englobantes correspondant de manière unique sans compter sur le NMS pour filtrer les doublons. Cette conception de modèle holistique axée sur l'efficacité et la précision réduit la redondance computationnelle, ce qui en fait un excellent candidat pour l'edge computing et les applications de streaming vidéo à faible latence. Il s'intègre parfaitement 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 les pics de latence souvent observés dans les applications de vision par ordinateur encombrées.
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 peser la mean Average Precision (mAP) par rapport au nombre de paramètres et aux opérations computationnelles (FLOPs). Le tableau ci-dessous détaille ces mesures à travers les variantes d'é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 |
Note : La variante YOLOv10n nécessite beaucoup moins de paramètres (2.3M) et atteint des vitesses TensorRT nettement supérieures (1.56ms) par rapport aux premières itérations d'EfficientDet, ce qui le 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 être un défi. C'est là que la plateforme Ultralytics excelle. En fournissant un écosystème unifié, Ultralytics simplifie tout le cycle de vie, de l'annotation de données au déploiement.
- Facilité d'utilisation : Le package Python Ultralytics offre une interface unique pour l'entraînement de modèle, 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, les Oriented Bounding Boxes (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 architectures lourdes type Transformer ou les anciennes architectures TF multi-branches.
Exemple de code : Entraînement de 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 de tes besoins spécifiques en matière de projet, des contraintes de déploiement et des préférences concernant l'é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 la mise à l'échelle composée : Benchmarking académique axé 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 via TFLite : Projets qui nécessitent spécifiquement l'exportation TensorFlow Lite pour Android ou des appareils Linux embarqués.
Quand choisir YOLOv10
YOLOv10 est recommandé pour :
- Détection en temps réel sans NMS : Applications bénéficiant d'une détection de bout en bout sans suppression des non-maximums, réduisant la complexité de déploiement.
- Compromis vitesse-précision équilibrés : Projets nécessitant un bon équilibre entre la vitesse d'inférence et la précision de détection sur différentes échelles de modèles.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
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 Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression des non-maximums.
- Environnements 100 % CPU : 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 : Scénarios difficiles comme l'imagerie par drone aérien ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
Le futur est arrivé : Voici 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 définitif pour l'IA visuelle. Il unifie les meilleurs aspects des architectures précédentes, comme les capacités multi-tâches de YOLO11 et la stabilité de RT-DETR, en une puissance unique et hautement optimisée.
Si tu commences 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.
Percées clés dans YOLO26 :
- Conception end-to-end sans NMS : 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.
- Inférence CPU jusqu'à 43 % plus rapide : Avec la suppression de la Distribution Focal Loss (DFL), YOLO26 réduit drastiquement la charge computationnelle, en faisant le roi incontesté pour les dispositifs Edge AI.
- Optimiseur MuSGD : YOLO26 emprunte des innovations à 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 plus fiablement que n'importe quel prédécesseur.
- 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'usage
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 le compound scaling et convient aux chercheurs qui maintiennent des systèmes TensorFlow existants où la taille des poids du modèle (sur le disque) est plus critique que la vitesse d'exécution.
- YOLOv10 est phénoménal pour les applications exigeant une très faible latence, comme 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 vision par ordinateur modernes, offrant l'équilibre de performance Performance Balance absolu entre précision, empreinte mémoire minimale et polyvalence multi-tâches, le tout soutenu par le robuste écosystème Ultralytics.