Passer au contenu

EfficientDet vs. YOLOv8: Une comparaison technique des géants de la détection d'objets

Dans le paysage en évolution rapide de la vision par ordinateur, le choix de la bonne architecture est essentiel à la réussite du projet. Cette analyse compare deux modèles influents : EfficientDet, un jalon de recherche de Google axé sur l'efficacité des paramètres, et YOLOv8un modèle de pointe d'Ultralytics conçu pour les applications en temps réel et la facilité d'utilisation.

Alors qu'EfficientDet a introduit des concepts révolutionnaires dans la mise à l'échelle des modèles, des architectures plus récentes comme YOLOv8 et l'architecture de pointe YOLO11 ont depuis redéfini les normes en matière de vitesse, de précision et de souplesse de déploiement.

Mesures de performance : Vitesse, précision et efficacité

Lors de la sélection d'un modèle pour la production, les développeurs doivent peser les compromis entre la latence de l'inférence et la précision de la détection. Le tableau ci-dessous fournit une comparaison directe des mesures de performance sur l'ensemble de donnéesCOCO .

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Analyse des données

Les mesures mettent en évidence une nette divergence dans la philosophie de conception. EfficientDet minimise les opérations en virgule flottante ( FLOP ), ce qui est historiquement lié à l'efficacité théorique. Cependant, dans les scénarios pratiques d'inférence en temps réel, en particulier sur les YOLOv8 , YOLOv8 présente un avantage significatif.

  • Temps de latence duGPU : YOLOv8n est environ 2,6 fois plus rapide qu'EfficientDet-d0 sur un GPU T4 avec la technologie TensorRTmalgré des FLOPs légèrement plus élevés. Cela s'explique par le fait que l'architecture de YOLOv8 est optimisée pour le parallélisme matériel, alors que les convolutions séparables par profondeur d'EfficientDet peuvent être limitées par la mémoire des accélérateurs.
  • Précision à l'échelle : À l'extrémité supérieure, YOLOv8x atteint une précision supérieure à la mAP de 53,9 avec une vitesse d'inférence de 14,37 ms, ce qui est nettement supérieur à EfficientDet-d7, qui est à la traîne avec 128,07 ms pour une précision similaire.
  • Taille du modèle : YOLOv8n nécessite moins de paramètres (3,2M) que le plus petit EfficientDet (3,9M), ce qui le rend très efficace en termes de stockage pour les applications mobiles.

Efficacité vs. latence

Un faible nombre de FLOP n'est pas toujours synonyme d'exécution rapide. EfficientDet est hautement optimisé pour le coût de calcul théorique, mais YOLOv8 exploite plus efficacement les capacités de traitement parallèle des GPU modernes (tels que NVIDIA T4/A100), ce qui se traduit par une latence plus faible dans le monde réel.

Philosophie de l'architecture et du design

La compréhension des nuances architecturales explique les différences de performance observées ci-dessus.

EfficaceDétails

EfficientDet a été conçu sur le principe de la mise à l'échelle composée, qui permet d'échelonner uniformément la résolution, la profondeur et la largeur du réseau. Il utilise une épine dorsale EfficientNet et introduit le BiFPN (Bidirectional Feature Pyramid Network). Le BiFPN permet une fusion pondérée des caractéristiques, en apprenant quelles sont les caractéristiques les plus importantes. Bien que cela permette d'obtenir une grande efficacité des paramètres, les connexions complexes et irrégulières du BiFPN peuvent être coûteuses en termes de calcul à exécuter sur du matériel qui favorise les schémas d'accès réguliers à la mémoire.

En savoir plus sur EfficientDet

Détails YOLOv8

YOLOv8 représente un passage à un mécanisme de détection sans ancrage, simplifiant le processus de formation en supprimant le besoin de calculer manuellement la boîte d'ancrage. Il dispose d'une épine dorsale CSPDarknet modifiée par des modules C2f, qui améliorent le flux de gradient et la richesse des caractéristiques par rapport aux versions précédentes. La tête utilise une structure découplée, traitant les tâches de classification et de régression de manière indépendante, et utilise Task Aligned Assign pour l'attribution dynamique des étiquettes. Cette architecture est spécialement conçue pour maximiser le débit sur le matériel GPU .

En savoir plus sur YOLOv8

L'avantage Ultralytics

Si EfficientDet est une réussite académique remarquable, l'écosystème Ultralytics qui entoure YOLOv8 et YOLO11 offre des avantages tangibles aux développeurs qui se concentrent sur la livraison de produits et les MLOps.

1. Facilité d'utilisation et de mise en œuvre

La mise en œuvre d'EfficientDet nécessite souvent de naviguer dans des fichiers de configuration et des dépendances complexes au sein de l'écosystème TensorFlow . En revanche, les modèles Ultralytics donnent la priorité à l'expérience des développeurs. Un modèle peut être chargé, entraîné et déployé en quelques lignes de Python.

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
detection = model("https://ultralytics.com/images/bus.jpg")

2. Polyvalence des tâches

EfficientDet est avant tout une architecture de détection d'objets. Ultralytics YOLOv8 va bien au-delà des simples boîtes de délimitation. Dans le même cadre, les utilisateurs peuvent effectuer :

3. Entraînement et efficacité de la mémoire

La formation de transformateurs modernes ou d'architectures complexes à plusieurs échelles peut être gourmande en ressources. Les modèlesYOLO d'Ultralytics sont réputés pour leur efficacité en matière de mémoire.

  • Utilisation réduite de la VRAM : Les modules C2f efficaces et les fonctions de perte optimisées permettent à YOLOv8 de s'entraîner sur des GPU grand public alors que d'autres modèles pourraient être confrontés à des erreurs d'utilisation de la mémoire (OOM).
  • Convergence rapide : Des techniques d'augmentation avancées telles que Mosaic accélèrent l'apprentissage, réduisant le nombre d'époques nécessaires pour atteindre une grande précision.

Écosystème intégré

Les modèles Ultralytics s'intègrent parfaitement à des outils tels que Weights & Biases, Cometet ClearML pour le suivi des expériences, ainsi que Roboflow pour la gestion des ensembles de données.

Applications concrètes

Le choix entre ces modèles détermine souvent la faisabilité du déploiement dans des environnements spécifiques.

  • Cas d'utilisation d'EfficientDet : Sa grande efficacité en termes de paramètres le rend intéressant pour la recherche universitaire sur les lois de mise à l'échelle ou les systèmes hérités strictement CPU où les FLOP sont la contrainte la plus forte, bien que la latence puisse encore être plus élevée que celle de YOLOv8n.
  • Cas d'utilisation de YOLOv8 :
    • Systèmes autonomes : Le nombre élevé d'images par seconde (FPS) sur les appareils Edge AI tels que NVIDIA Jetson fait de YOLOv8 un outil idéal pour les drones et la robotique.
    • Fabrication : Utilisé pour la détection des défauts en temps réel sur les chaînes de montage où les millisecondes comptent.
    • Commerce de détail intelligent : Des fonctionnalités telles que le comptage et le suivi des objets permettent une analyse avancée de l'agencement des magasins et de la gestion des files d'attente.

Conclusion

EfficientDet reste une contribution significative au domaine de l'apprentissage profond, prouvant qu'une mise à l'échelle intelligente peut produire des modèles compacts. Cependant, pour la grande majorité des applications pratiques d'aujourd'hui, Ultralytics YOLOv8 d'Ultralytics (et la version plus récente de YOLO11) offrent une solution supérieure.

La combinaison de vitesses d'inférence ultra-rapides sur du matériel moderne, d'un SDK Python complet et de la capacité à gérer des tâches de vision multiples fait des modèles Ultralytics le choix recommandé pour les développeurs. Que vous construisiez un système d'alarme de sécurité ou que vous analysiez l'imagerie satellite, l'écosystème Ultralytics fournit les outils nécessaires pour mener efficacement votre projet de la conception à la production.

Explorer d'autres modèles

Pour une perspective plus large sur les choix en matière de détection d'objets, examinez les comparaisons suivantes :


Commentaires