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 pour la réussite d'un projet. Cette analyse compare deux modèles influents : EfficientDet, une étape importante de la recherche de Google axée sur l'efficacité des paramètres, et YOLOv8, un modèle de pointe d'Ultralytics conçu pour les applications en temps réel et la facilité d'utilisation.

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

Métriques 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 d'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ées COCO.

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 métriques mettent en évidence une divergence distincte dans la philosophie de conception. EfficientDet minimise les FLOPs (Floating Point Operations), qui étaient historiquement corrélés à l'efficacité théorique. Cependant, dans les scénarios pratiques d'inférence en temps réel — en particulier sur les GPU — YOLOv8 démontre un avantage significatif.

  • Latence du GPU : YOLOv8n est environ 2,6x plus rapide qu'EfficientDet-d0 sur un GPU T4 avec TensorRT, bien qu'il ait des FLOP légèrement plus élevés. En effet, l'architecture de YOLOv8 est optimisée pour le parallélisme matériel, tandis que les convolutions séparables en profondeur d'EfficientDet peuvent être liées à la mémoire sur les accélérateurs.
  • Précision à l’échelle : À l’extrémité supérieure, YOLOv8x atteint un mAP supérieur de 53,9 avec une vitesse d’inférence de 14,37 ms, surpassant considérablement EfficientDet-d7, qui est à la traîne à 128,07 ms pour une précision similaire.
  • Taille du modèle : YOLOv8n nécessite moins de paramètres (3,2 millions) que le plus petit EfficientDet (3,9 millions), ce qui le rend très efficace en termes de stockage pour les applications mobiles.

Efficacité vs. Latence

Un faible nombre de FLOPs 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 (comme NVIDIA T4/A100), ce qui réduit la latence réelle.

Architecture et philosophie de conception

Comprendre les nuances architecturales explique les différences de performance observées ci-dessus.

Détails d'EfficientDet

EfficientDet a été conçu sur le principe du Compound Scaling, qui met à l’échelle uniformément la résolution, la profondeur et la largeur du réseau. Il utilise un backbone EfficientNet et introduit le BiFPN (Bidirectional Feature Pyramid Network). Le BiFPN permet la fusion pondérée des caractéristiques, en apprenant quelles sont les caractéristiques les plus importantes. Bien que cela produise une efficacité de paramètre élevée, les connexions irrégulières complexes du BiFPN peuvent être coûteuses en calcul à exécuter sur du matériel qui privilégie les schémas d’accès à la mémoire réguliers.

En savoir plus sur EfficientDet

Détails de YOLOv8

YOLOv8 représente un passage à un mécanisme de détection sans ancrage, simplifiant le processus d'entraînement en supprimant le besoin de calcul manuel des boîtes d'ancrage. Il dispose d'un backbone CSPDarknet modifié avec 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 indépendamment, et emploie Task Aligned Assign pour l'attribution dynamique des étiquettes. Cette architecture est spécifiquement conçue pour maximiser le débit sur le matériel GPU.

En savoir plus sur YOLOv8

L'avantage Ultralytics

Bien qu'EfficientDet soit une réalisation académique remarquable, l'écosystème Ultralytics entourant YOLOv8 et YOLO11 offre des avantages tangibles aux développeurs qui se concentrent sur la livraison de produits et le MLOps.

1. Facilité d'utilisation et d'implémentation

L'implémentation d'EfficientDet nécessite souvent de naviguer dans des fichiers de configuration complexes et des dépendances au sein de l'écosystème TensorFlow. En revanche, les modèles Ultralytics privilégient l'expérience du développeur. 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 entre les tâches

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

3. Efficacité de l'entraînement et mémoire

L'entraînement des Transformateurs modernes ou des architectures multi-échelles complexes peut nécessiter beaucoup de ressources. Les modèles Ultralytics YOLO sont réputés pour leur efficacité 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 : Les techniques d’augmentation avancées comme Mosaic accélèrent l’apprentissage, réduisant ainsi 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 dicte souvent la faisabilité du déploiement dans des environnements spécifiques.

  • Cas d’utilisation d’EfficientDet : Son efficacité élevée en matière 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 liés au CPU où les FLOPs sont la contrainte difficile, bien que la latence puisse toujours être plus élevée que YOLOv8n.
  • Cas d'utilisation de YOLOv8 :
    • Systèmes autonomes : Le nombre élevé d’images par seconde (FPS) sur les appareils Edge AI comme NVIDIA Jetson fait de YOLOv8 une solution idéale pour les drones et la robotique.
    • Fabrication : Utilisé pour la détection de défauts en temps réel sur les chaînes de montage où chaque milliseconde compte.
    • Vente au détail intelligente : Des capacités telles que le comptage d'objets et le suivi permettent des analyses avancées pour la disposition des magasins et la gestion des files d'attente.

Conclusion

EfficientDet reste une contribution importante dans le domaine du Deep Learning, prouvant qu'un scaling intelligent peut produire des modèles compacts. Cependant, pour la grande majorité des applications pratiques actuelles, Ultralytics YOLOv8 (et le plus récent YOLO11) offre 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 plusieurs tâches de vision 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 faire passer votre projet du concept à la production de manière efficace.

Explorer d'autres modèles

Pour une perspective plus large sur les choix de détection d'objets, considérez ces comparaisons :


Commentaires