Passer au contenu

YOLOv5 EfficientDet : évaluation des architectures de détection d'objets en temps réel

Lorsque vous vous lancez dans un nouveau projet de vision par ordinateur, le choix de l'architecture de réseau neuronal appropriée est l'une des décisions les plus importantes que vous aurez à prendre. Ce guide fournit une comparaison technique approfondie entre Ultralytics YOLOv5 et EfficientDet Google. En analysant leurs architectures, leurs mesures de performance et leurs écosystèmes de formation, nous souhaitons aider les développeurs et les chercheurs à identifier le meilleur modèle de détection d'objets pour leurs environnements de déploiement spécifiques.

Alors qu'EfficientDet a introduit des concepts novateurs en matière de mise à l'échelle des composés et de fusion des caractéristiques, YOLOv5 a révolutionné le secteur en démocratisant l'accès à l'IA haute performance grâce à son PyTorch , son expérience utilisateur simplifiée et son équilibre inégalé entre vitesse et précision.

Ultralytics YOLOv5: la norme industrielle en matière d'accessibilité

Sorti à l'été 2020, YOLOv5 un tournant décisif dans la YOLO . Passant du framework Darknet basé sur C à PyTorch natif, il est devenu l'architecture de référence pour les développeurs cherchant à créer, former et déployer rapidement des modèles.

Innovations architecturales

YOLOv5 réputé pour son architecture hautement optimisée qui privilégie un cycle de vie fluide de l'apprentissage automatique. Il utilise une structure CSPDarknet53 modifiée associée à un cou de réseau d'agrégation de chemins (PANet), ce qui améliore considérablement la propagation des caractéristiques à travers plusieurs échelles spatiales.

Les avancées clés incluent :

  • Augmentation des données mosaïque : cette technique d'entraînement combine quatre images d'entraînement distinctes en une seule mosaïque. Cela oblige le modèle à apprendre à identifier des objets dans des contextes spatiaux complexes et améliore considérablement sa capacité à detect cibles.
  • Boîtes d'ancrage à apprentissage automatique : avant le début de l'entraînement, YOLOv5 vos données d'entraînement personnalisées et calcule automatiquement les dimensions optimales des boîtes d'ancrage à l'aide du clustering k-means.
  • Efficacité mémoire : par rapport aux modèles lourds basés sur des transformateurs, YOLOv5 une empreinte mémoire nettement inférieure pendant l'entraînement et l'inférence, ce qui lui permet de fonctionner sans problème sur du matériel grand public.

En savoir plus sur YOLOv5

EfficientDet : détection d'objets évolutive

Présenté par Google en 2019, EfficientDet visait à fournir une famille de détecteurs d'objets évolutifs. Il s'appuie sur la structure de classification d'images EfficientNet et introduit un nouveau mécanisme de fusion des caractéristiques.

Innovations architecturales

La proposition principale d'EfficientDet réside dans son approche systématique de la mise à l'échelle et de l'agrégation des fonctionnalités :

  • BiFPN (Bi-directional Feature Pyramid Network) : contrairement aux FPN traditionnels qui ne transmettent les informations que de haut en bas, le BiFPN permet une fusion rapide et facile des caractéristiques à plusieurs échelles en introduisant des poids apprenables pour apprendre l'importance des différentes caractéristiques d'entrée.
  • Mise à l'échelle composée : EfficientDet augmente conjointement la résolution, la profondeur et la largeur de tous les réseaux dorsaux, réseaux de caractéristiques et réseaux de prédiction de boîtes/classes, ce qui donne des modèles allant du D0 léger au D7 massif.

En savoir plus sur EfficientDet

Différences entre les cadres

Alors qu'EfficientDet s'appuie fortement sur le TensorFlow et aux bibliothèques AutoML, YOLOv5 de manière native dans PyTorch, offrant ce que de nombreux développeurs considèrent comme un flux de travail plus intuitif, plus pythonesque et plus facile à déboguer.

Comparaison des performances et des indicateurs

Lorsqu'on compare ces modèles, il est essentiel d'évaluer leurs performances à l'aide de benchmarks standard tels que COCO . Le tableau ci-dessous met en évidence les compromis entre la taille, la puissance de calcul requise (FLOP) et la vitesse d'inférence.

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

Analyse équilibrée

YOLOv5 se distingue par sa flexibilité de déploiement et sa compatibilité avec l'accélération matérielle brute. Notez les TensorRT fulgurantes TensorRT sur le GPU T4. Cela rend YOLOv5 bien adapté à l'analyse vidéo à haut débit et aux pipelines d'inférence en temps réel. De plus, Ultralytics facilite l'exportation vers des formats tels que ONNX, CoreMLet TensorRT une commande d'une seule ligne.

EfficientDet offre une excellente efficacité des paramètres. Pour un nombre donné de paramètres, il extrait souvent une précision moyenne élevée (mAP). Cependant, cette efficacité théorique ne se traduit pas toujours par des temps d'inférence plus rapides sur les GPU de pointe en raison du routage complexe de la couche BiFPN, qui peut être limité par la bande passante mémoire plutôt que par la puissance de calcul.

Écosystème et facilité d'utilisation

L'avantage déterminant du choix d'un Ultralytics réside dans l'écosystème qui l'entoure. YOLOv5 partie d'un référentiel très bien entretenu, activement développé et bénéficiant d'un soutien massif de la communauté.

Avec l'introduction de la Ultralytics , les utilisateurs peuvent passer de manière transparente de la collecte de données au déploiement. Cette plateforme prend en charge l'annotation automatique, la formation dans le cloud et la surveillance des modèles dès son installation. En revanche, la formation d'EfficientDet nécessite souvent de naviguer dans les complexités des anciennes API de détection TensorFlow , ce qui peut représenter une courbe d'apprentissage abrupte pour le prototypage rapide.

De plus, la polyvalence YOLOv5 va au-delà des boîtes englobantes. Grâce à des mises à jour continues, le Ultralytics prend en charge nativement la segmentation d'instances et la classification d'images, fournissant une API unifiée pour plusieurs tâches de vision par ordinateur.

Cas d'utilisation idéaux

  • Choisissez YOLOv5 : vous avez besoin d'un prototypage rapide, d'une expérience d'entraînement fluide et d'un déploiement en périphérie hautement optimisé. Il est idéal pour les drones, l'analyse commerciale et les applications mobiles où une faible latence est essentielle.
  • Choisissez EfficientDet lorsque : vous travaillez exclusivement dans un environnement Google TensorFlow et que vous avez besoin d'une précision maximale par paramètre sans contraintes strictes en matière de latence en temps réel.

La prochaine génération : adopter YOLO26

Si YOLOv5 un outil fiable, le domaine de la vision par ordinateur a évolué. Pour les développeurs à la recherche de la technologie la plus avancée en 2026, YOLO26 représente le nouveau summum de la Ultralytics .

S'appuyant sur l'héritage de ses prédécesseurs (comme YOLOv8 et YOLO11), YOLO26 introduit des innovations révolutionnaires :

  • Conception NMS de bout en bout : YOLO26 élimine nativement le besoin d'un post-traitement par suppression non maximale. Cela réduit considérablement la variance de latence et simplifie l'architecture de déploiement.
  • CPU jusqu'à 43 % plus rapide : fortement optimisé pour l'IA en périphérie, il offre des vitesses sans précédent aux appareils en périphérie à faible consommation d'énergie et aux CPU standard sans GPU dédiés.
  • Optimiseur MuSGD : inspiré des techniques d'entraînement des grands modèles linguistiques (LLM), cet hybride de SGD Muon garantit un entraînement très stable et une convergence rapide.
  • Fonctions de perte avancées : l'intégration de ProgLoss et STAL améliore considérablement la reconnaissance des petites cibles, ce qui est essentiel pour l'imagerie par drone à haute altitude et la robotique.
  • Suppression de la perte focale de distribution (DFL) : la suppression de la perte focale de distribution permet de rationaliser le processus d'exportation du modèle, améliorant ainsi la compatibilité entre divers accélérateurs matériels.

Les utilisateurs intéressés par la découverte d'autres architectures récentes au sein de Ultralytics peuvent également comparer des modèles tels que YOLOv10 ou RT-DETR.

La migration, c'est facile

Python Ultralytics est conçue pour être compatible en amont et en aval. La mise à niveau de YOLOv5 YOLO26 est aussi simple que de modifier la chaîne de poids du modèle dans votre code !

Exemple de code : apprentissage et inférence

Pour démontrer la facilité d'utilisation inégalée de Ultralytics , voici comment vous pouvez entraîner et exécuter une inférence à l'aide d'un YOLO moderne. Ce code est 100 % exécutable et gère automatiquement le téléchargement des ensembles de données, les boucles d'entraînement et la validation.

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

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

# Display the image with bounding boxes
inference_results[0].show()

En accordant la priorité à l'expérience utilisateur, en maintenant un écosystème robuste et en repoussant sans cesse les limites du possible grâce à des mises à jour telles que YOLO26, Ultralytics ce que les développeurs disposent toujours des meilleurs outils pour relever les défis concrets liés à l'intelligence visuelle.


Commentaires