Passer au contenu

YOLOv5 vs. EfficientDet : Une Comparaison Technique Détaillée

Dans le paysage évolutif de la vision par ordinateur, le choix de la bonne architecture de détection d'objets est essentiel pour la réussite d'un projet. Cette comparaison explore deux modèles très influents : Ultralytics YOLOv5, connu pour son équilibre entre vitesse et facilité d'utilisation, et EfficientDet de Google, réputé pour son évolutivité et son efficacité en termes de paramètres. En examinant leurs architectures, leurs mesures de performance et leurs capacités de déploiement, les développeurs peuvent prendre des décisions éclairées adaptées aux besoins spécifiques de leur application.

Analyse des performances : rapidité vs. efficacité

La distinction principale entre ces deux architectures réside dans leur philosophie de conception concernant les ressources de calcul par rapport à la latence d'inférence. EfficientDet optimise pour les FLOPs théoriques (opérations en virgule flottante), ce qui le rend attrayant pour les benchmarks académiques. Inversement, YOLOv5 privilégie une faible latence sur le matériel pratique, en particulier les GPU, offrant des vitesses d'inférence en temps réel essentielles pour les environnements de production.

Le tableau ci-dessous illustre ce compromis sur l'ensemble de données COCO val2017. Bien que les modèles EfficientDet atteignent un mAP élevé avec moins de paramètres, YOLOv5 démontre des temps d'inférence considérablement plus rapides sur les GPU NVIDIA T4 à l'aide de TensorRT.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

Comme indiqué, YOLOv5n atteint une latence fulgurante de 1,12 ms sur GPU, dépassant significativement la plus petite variante d'EfficientDet. Pour les applications où les millisecondes comptent, comme les véhicules autonomes ou les chaînes de fabrication à haute vitesse, cet avantage de vitesse est essentiel.

Différences architecturales

Comprendre la conception structurelle de chaque modèle aide à clarifier leurs caractéristiques de performance.

Ultralytics YOLOv5

YOLOv5 utilise un backbone CSPDarknet couplé à un neck PANet. Cette architecture est conçue pour maximiser le flux de gradient et l’efficacité de l’extraction des caractéristiques.

  • Backbone : Utilise des connexions Cross Stage Partial (CSP) pour réduire les informations de gradient redondantes, améliorant ainsi la capacité d’apprentissage tout en réduisant les paramètres.
  • Neck : Comporte un Path Aggregation Network (PANet) pour une fusion fiable des fonctionnalités multi-échelles, améliorant la détection des objets de différentes tailles.
  • Tête : Une tête de détection standard basée sur les ancres YOLO prédit directement les classes et les boîtes englobantes.

En savoir plus sur YOLOv5

EfficientDet

EfficientDet est basé sur le backbone EfficientNet et introduit un réseau de pyramides de caractéristiques bidirectionnel pondéré (BiFPN).

  • Backbone : Utilise EfficientNet, qui ajuste uniformément la profondeur, la largeur et la résolution à l’aide d’un coefficient composé.
  • Neck (BiFPN) : Une couche d'intégration de fonctionnalités complexe qui permet à l'information de circuler à la fois de haut en bas et de bas en haut, en appliquant des poids à différentes fonctionnalités d'entrée pour souligner leur importance.
  • Mise à l’échelle composite : Une innovation clé où le backbone, BiFPN et les réseaux de prédiction de boîte/classe sont tous mis à l’échelle ensemble.

En savoir plus sur EfficientDet

L'avantage Ultralytics : écosystème et convivialité

Bien que les mesures brutes soient importantes, l'expérience du développeur dicte souvent le succès d'un projet. Ultralytics YOLOv5 excelle en fournissant un environnement soigné et centré sur l'utilisateur qui réduit considérablement le temps de développement.

Facilité d'utilisation et intégration

YOLOv5 est réputé pour sa convivialité « prête à l'emploi ». Le modèle peut être installé via une simple commande pip et utilisé avec un minimum de code. En revanche, les implémentations EfficientDet nécessitent souvent une configuration plus complexe au sein de l'écosystème TensorFlow ou de référentiels de recherche spécifiques.

Flux de travail simplifié

Avec Ultralytics, vous pouvez passer de l’ensemble de données au modèle entraîné en quelques minutes. L’intégration avec des outils tels que Ultralytics HUB permet une gestion, une visualisation et un déploiement transparents des modèles sans code passe-partout étendu.

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

Les modèles Ultralytics sont optimisés pour l'efficacité de l'entraînement. Ils convergent généralement plus rapidement et nécessitent moins de mémoire CUDA par rapport aux architectures complexes comme les niveaux de mise à l'échelle supérieurs d'EfficientDet ou les modèles basés sur des transformateurs. Cette barrière à l'entrée plus faible permet aux développeurs d'entraîner des modèles de pointe sur du matériel grand public ou des instances cloud standard comme Google Colab.

Polyvalence et multitâche

Contrairement à l'implémentation standard d'EfficientDet, qui est principalement un détecteur d'objets, le framework Ultralytics prend en charge un large éventail de tâches. Les développeurs peuvent exploiter la même API pour la segmentation d'instance et la classification d'images, offrant ainsi une solution unifiée pour divers défis de vision par ordinateur.

Cas d'utilisation idéaux

Le choix entre YOLOv5 et EfficientDet dépend largement des contraintes et des objectifs de déploiement.

Quand choisir Ultralytics YOLOv5

  • Applications en temps réel : Projets nécessitant une faible latence, tels que la vidéosurveillance, la robotique ou l’analyse sportive en direct.
  • Déploiement Edge : Fonctionnement sur des appareils tels que NVIDIA Jetson ou Raspberry Pi où l’utilisation efficace du GPU/NPU est essentielle.
  • Prototypage rapide : Lorsque des cycles d’itération rapides et la facilité d’utilisation sont privilégiés pour démontrer rapidement la valeur.
  • Systèmes de production : Pour des déploiements robustes et maintenables pris en charge par une vaste communauté open source.

Quand choisir EfficientDet

  • Recherche et évaluation comparative : Études universitaires axées sur l’efficacité des FLOP ou les lois d’échelle architecturales.
  • Traitement hors ligne : Scénarios où une latence élevée est acceptable, et où l’objectif est d’extraire les derniers points de pourcentage de précision sur des images statiques.
  • Inférence CPU à faible consommation d'énergie : Dans des environnements CPU uniquement très spécifiques où les opérations BiFPN sont hautement optimisées pour le jeu d'instructions matérielles spécifique.

Origines et détails du modèle

Comprendre le contexte de ces modèles donne un aperçu de leurs objectifs de conception.

Ultralytics YOLOv5

EfficientDet

Exemple de code : Démarrage avec YOLOv5

Ultralytics rend l'inférence incroyablement simple. Vous trouverez ci-dessous un exemple valide et exécutable utilisant l'API python pour detect des objets dans une image.

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image URL
img_url = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img_url)

# Display results
results.show()

# Print detection data (coordinates, confidence, class)
print(results.pandas().xyxy[0])

Ce simple extrait de code gère le téléchargement du modèle, le prétraitement de l'image, l'exécution du passage direct et le décodage de la sortie—des tâches qui nécessiteraient beaucoup plus de code avec les implémentations EfficientDet brutes.

Conclusion

Bien que EfficientDet ait contribué de manière significative à la recherche sur la mise à l'échelle des modèles et l'efficacité des paramètres, Ultralytics YOLOv5 reste le choix supérieur pour un déploiement pratique et réel. Son équilibre exceptionnel entre vitesse et précision, combiné à un écosystème bien maintenu et florissant, garantit que les développeurs peuvent créer, former et déployer des solutions efficacement.

Pour ceux qui cherchent à tirer parti des toutes dernières technologies en matière de vision par ordinateur, Ultralytics a continué d'innover au-delà de YOLOv5. Des modèles comme YOLOv8 et le YOLO11 de pointe offrent d'autres améliorations en termes d'architecture, prenant en charge encore plus de tâches comme l'estimation de pose et la détection d'objets orientés, tout en conservant la facilité d'utilisation caractéristique qui définit l'expérience Ultralytics.

Explorer d'autres modèles

Si vous souhaitez explorer d'autres comparaisons pour trouver le modèle parfait pour vos besoins, considérez ces ressources :


Commentaires