EfficientDet vs YOLOv5: équilibre entre évolutivité et performances en temps réel
Pour choisir la bonne architecture de détection d'objets, il faut trouver le bon équilibre entre précision, vitesse d'inférence et complexité de déploiement. Ce guide propose une comparaison technique approfondie entre EfficientDet, une architecture évolutive développée par Google , et YOLOv5, le détecteur en temps réel largement adopté d'Ultralytics.
Alors qu'EfficientDet a introduit des concepts révolutionnaires dans le domaine du scaling des composés, YOLOv5 le secteur en rendant la vision par ordinateur haute performance accessible grâce à une API simplifiée et un écosystème robuste.
Aperçu du modèle
Google EfficientDet
EfficientDet s'appuie sur l'architecture EfficientNet, en appliquant une méthode de mise à l'échelle composite qui adapte uniformément la résolution, la profondeur et la largeur. Il a introduit le réseau pyramidal bidirectionnel (BiFPN) afin de permettre une fusion facile et rapide des caractéristiques à plusieurs échelles.
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation :Google
- Date : 2019-11-20
- Arxiv :EfficientDet : detect d’objets évolutive et efficace
- GitHub :Référentiel EfficientDet
Ultralytics YOLOv5
YOLOv5 met l'accent sur la facilité d'utilisation et la rapidité dans le monde réel. Il utilise une infrastructure CSPDarknet et est conçu pour faciliter la formation et le déploiement sur divers matériels. Il reste l'un des modèles les plus populaires en raison de son équilibre entre performances et efficacité.
- Auteur : Glenn Jocher
- Organisation :Ultralytics
- Date : 2020-06-26
- Docs :Documentation YOLOv5
- GitHub :Dépôt YOLOv5
Comparaison des architectures techniques
Les philosophies architecturales de ces deux modèles divergent considérablement, ce qui influe sur leur adéquation à différentes tâches.
EfficientDet : Compound Scaling et BiFPN
L'innovation principale d'EfficientDet réside dans le BiFPN (réseau pyramidal bidirectionnel pondéré). Contrairement aux FPN standard qui additionnent les caractéristiques sans distinction, le BiFPN introduit des pondérations apprenables afin de comprendre l'importance des différentes caractéristiques d'entrée. Cela permet au réseau de donner la priorité aux caractéristiques les plus informatives lors de la fusion.
De plus, EfficientDet utilise le Compound Scaling, qui augmente simultanément la résolution, la profondeur et la largeur du backbone, du réseau de caractéristiques et du réseau de prédiction. Cela permet aux utilisateurs de choisir parmi une famille de modèles (D0 à D7) en fonction de leurs contraintes en matière de ressources. Cependant, cette complexité peut entraîner une latence plus élevée sur les appareils périphériques qui ne disposent pas d'un support spécialisé pour ces opérations.
YOLOv5: CSPDarknet et PANet
YOLOv5 une structure CSPDarknet, qui intègre des réseaux Cross Stage Partial. Cette conception réduit le nombre de paramètres et de FLOPS tout en conservant la précision grâce à la division de la carte de caractéristiques au niveau de la couche de base.
Pour l'agrégation des caractéristiques, YOLOv5 un réseau d'agrégation de chemins (PANet). Cette structure améliore le flux d'informations des couches inférieures vers le haut, ce qui améliore la localisation des objets, essentielle pour obtenir des cadres de sélection précis. La tête est basée sur des ancrages, prédisant les décalages à partir de cadres d'ancrage prédéfinis. Cette architecture est hautement optimisée pour GPU , ce qui se traduit par des temps d'inférence plus rapides par rapport aux opérations de mise à l'échelle complexes d'EfficientDet.
L'avantage de l'écosystème Ultralytics
Le choix YOLOv5 accès à Ultralytics , garantissant une intégration transparente avec des outils d'annotation de données, de suivi des expériences et de formation dans le cloud via la Ultralytics . Cette structure de soutien fait souvent défaut dans les référentiels axés sur la recherche tels qu'EfficientDet.
Mesures de performance
Lors de l'évaluation des performances, il est essentiel d'examiner à la fois la précision (mAP) et la vitesse (latence). Si EfficientDet offre une précision supérieure grâce à ses variantes plus grandes (D7), il subit souvent une perte de vitesse significative par rapport aux YOLOv5 de taille comparable.
Le tableau ci-dessous met en évidence les différences de performances. Notez que YOLOv5 CPU nettement plus rapides, ce qui le rend beaucoup plus pratique pour un déploiement sans accélérateurs spécialisés.
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analyse
- Vitesse vs précision : EfficientDet-d0 est très efficace en termes de FLOP, mais dans la pratique, YOLOv5n et YOLOv5s fonctionnent souvent plus rapidement sur les GPU standard grâce à des opérations plus adaptées au matériel (en évitant les convolutions séparables en profondeur qui peuvent être lentes sur certains CUDA plus anciens).
- Efficacité mémoire : YOLOv5 nécessite YOLOv5 moins de VRAM pendant l'entraînement, ce qui permet d'utiliser des lots plus volumineux sur du matériel grand public. Les connexions complexes d'EfficientDet peuvent augmenter la charge mémoire.
- Optimisation : EfficientDet s'appuie fortement sur les recherches AutoML pour l'architecture, qui peuvent être difficiles à modifier. YOLOv5 une personnalisation plus facile des multiples de profondeur et de largeur directement dans la configuration YAML.
Entraînement et convivialité
Efficacité de l'entraînement
Ultralytics YOLOv5 réputé pour sa capacité « train-out-of-the-box » (entraînement prêt à l'emploi). Le référentiel comprend l'augmentation des données Mosaic, le calcul automatique des ancrages et l'évolution des hyperparamètres. Cela signifie que les utilisateurs peuvent obtenir d'excellents résultats sur des ensembles de données personnalisés sans avoir à procéder à des réglages approfondis. Les implémentations EfficientDet nécessitent souvent une configuration manuelle plus poussée TensorFlow et une planification minutieuse du taux d'apprentissage.
Polyvalence de déploiement
Alors qu'EfficientDet est principalement un modèle de détection d'objets, YOLOv5 ses successeurs dans la Ultralytics prennent en charge un éventail plus large de tâches. Vous pouvez passer de manière transparente à la segmentation d'instances ou à la classification d'images en utilisant la même structure d'API.
De plus, le déploiement YOLOv5 simplifié grâce au mode d'exportation, qui prend en charge la conversion en un clic vers ONNX, TensorRT, CoreML et TFLite.
from ultralytics import YOLO
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train the model on a custom dataset
model.train(data="coco128.yaml", epochs=100)
# Export to ONNX format for deployment
model.export(format="onnx")
Préparer l'avenir : les arguments en faveur de YOLO26
Si YOLOv5 un choix solide, le domaine a évolué. Pour les développeurs à la recherche d'une technologie de pointe, YOLO26 s'appuie sur l'héritage de YOLOv5 des améliorations architecturales significatives.
YOLO26 introduit une conception de bout en bout NMS, éliminant ainsi le besoin d'un post-traitement par suppression non maximale. Cela réduit la latence et simplifie le pipeline de déploiement, ce qui constitue un avantage majeur par rapport à EfficientDet et YOLOv5. De plus, YOLO26 utilise l'optimiseur MuSGD, inspiré de la formation LLM, qui garantit une convergence plus rapide et une formation stable, même sur des ensembles de données difficiles.
Si votre projet implique l'IA de pointe, YOLO26 est spécialement optimisé pour CPU , offrant des vitesses jusqu'à 43 % plus rapides que les générations précédentes.
Cas d'utilisation idéaux
Quand choisir EfficientDet
- Contraintes de recherche : lorsque l'objectif principal est d'étudier les lois d'échelle des composés ou de reproduire des références académiques spécifiques.
- Régimes à faible FLOP : dans les scénarios théoriques où le nombre de FLOP est le seul indicateur pris en compte, sans tenir compte des coûts d'accès à la mémoire ou de la latence réelle du matériel.
Quand choisir Ultralytics YOLOv5 ou YOLO26)
- Applications en temps réel : conduite autonome, analyse vidéo et robotique, où une faible latence est indispensable.
- Déploiement périphérique : fonctionne sur Raspberry Pi, NVIDIA ou des appareils mobiles où l'efficacité de la mémoire etTensorRT sont essentielles.
- Développement rapide : projets nécessitant des cycles d'itération rapides, une gestion facile des ensembles de données et des poids pré-entraînés fiables.
- Tâches diverses : si votre projet est susceptible de s'étendre à l'estimation de pose ou à la détection d'objets orientés (OBB), le Ultralytics prend en charge ces fonctionnalités de manière native.
Résumé
EfficientDet et YOLOv5 tous deux apporté une contribution significative à la vision par ordinateur. EfficientDet a démontré la puissance du dimensionnement systématique, tandis que YOLOv5 la détection haute performance. Pour la plupart des applications pratiques actuelles, Ultralytics , représenté par YOLOv5 le très performant YOLO26, offre un équilibre supérieur entre vitesse, précision et facilité d'utilisation, soutenu par une base de code continuellement mise à jour et une communauté dynamique.
Pour en savoir plus sur les comparaisons de modèles, découvrez comment YOLO se comparent à d'autres modèles tels que YOLOv8 EfficientDet ou le modèle basé sur un transformateur RT-DETR.