Passer au contenu

YOLOv5 vs DAMO-YOLO : Une Comparaison Technique Détaillée

Dans le paysage en évolution rapide 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 importants : Ultralytics YOLOv5un standard industriel mondialement adopté et connu pour sa fiabilité et sa rapidité, et YOLO, un modèle axé sur la recherche du groupe Alibaba qui introduit de nouvelles techniques de recherche architecturale.

Bien que les deux modèles visent à résoudre des tâches de détection d'objets, ils répondent à des besoins différents. YOLOv5 privilégie la facilité d'utilisation, la polyvalence du déploiement et l'équilibre des performances dans le monde réel, tandis que YOLO s'attache à repousser les limites académiques grâce à la recherche d'architecture neuronale (NAS) et à de lourds mécanismes de fusion des caractéristiques.

Mesures et critères de performance

Il est essentiel de comprendre les compromis entre la vitesse d'inférence et la précision de détection lors du choix d'un modèle pour la production. Les données suivantes illustrent les performances de ces modèles sur l'ensemble de donnéesCOCO , une référence standard en matière de détection d'objets.

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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Analyse des résultats

Les données révèlent une nette dichotomie dans la philosophie de conception. YOLOv5n (Nano) est le champion incontesté de la vitesse et de l'efficacité, offrant un temps d'inférence incroyable de 1,12 ms sur le GPU et des performances largement accessibles sur le CPU . Il est donc idéal pour les applications d'intelligence artificielle de pointe où une faible latence n'est pas négociable.

Les modèles YOLO , tels que le DAMO-YOLOlLes résultats sont légèrement plus élevés. précision moyennemAP, avec un pic à 50.8mais au prix de l'opacité des mesures de performance de l'CPU . L'absence de rapports sur la vitesse du CPU pour YOLO suggère qu'il est principalement optimisé pour les environnements GPU haut de gamme, ce qui limite sa flexibilité pour des scénarios de déploiement plus larges tels que les applications mobiles ou les systèmes embarqués.

Ultralytics YOLOv5: la norme polyvalente de l'industrie

Auteur : Glenn Jocher
Organisation :Ultralytics
Date : 2020-06-26
GitHubyolov5
Documentationyolov5

Depuis sa sortie, YOLOv5 s'est imposé comme une pierre angulaire dans la communauté de la vision par ordinateur. Construit nativement en PyTorchil concilie complexité et convivialité, offrant une expérience "batteries incluses". Son architecture utilise un backbone CSPDarknet et un cou PANet, qui agrège efficacement des caractéristiques à différentes échelles pour detect objets de différentes tailles.

Principaux points forts

  • Facilité d'utilisation : Ultralytics donne la priorité à l'expérience des développeurs (DX). Grâce à une API Python simple et à des commandesCLI intuitives, les utilisateurs peuvent former et déployer des modèles en quelques minutes.
  • Un écosystème bien entretenu : Soutenu par une communauté active et des mises à jour fréquentes, YOLOv5 assure la compatibilité avec les outils les plus récents, y compris Ultralytics HUB pour une gestion transparente des modèles.
  • Polyvalence : Au-delà de la détection standard, YOLOv5 prend en charge la segmentation des instances et la classification des images, ce qui permet aux développeurs de s'attaquer à de multiples tâches de vision à l'aide d'un seul et même cadre.
  • Flexibilité de déploiement : De l'exportation vers ONNX et TensorRT à l'exécution sur iOS et Android, YOLOv5 est conçu pour fonctionner partout.

En savoir plus sur YOLOv5

Flux de travail rationalisé

YOLOv5 s'intègre parfaitement aux outils MLOps les plus courants. Vous pouvez track vos expériences en utilisant Weights & Biases ou Comet à l'aide d'une seule commande, garantissant ainsi la reproductibilité et la facilité d'analyse de vos cycles d'entraînement.

YOLO: Une précision basée sur la recherche

Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, et Xiuyu Sun
Organisation : Alibaba Group
Date : 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO

YOLO est une méthode développée par l'Académie DAMO d'Alibaba. Elle introduit une série de technologies avancées, notamment la recherche d'architecture neuronale (NAS) pour concevoir automatiquement des dorsales efficaces (MAE-NAS), une structure de cou lourde connue sous le nom de RepGFPN (Reparameterized Generalized Feature Pyramid Network), et une tête légère appelée ZeroHead.

Caractéristiques principales

  • Réseau MAE-NAS : Utilise une méthode appelée MAE-NAS pour trouver une structure de réseau optimale en fonction de contraintes de latence spécifiques, bien que cela puisse rendre l'architecture plus complexe à modifier manuellement.
  • Attribution d'étiquettes AlignedOTA : Il utilise une stratégie dynamique d'attribution d'étiquettes appelée AlignedOTA pour résoudre les problèmes d'alignement entre les tâches de classification et de régression.
  • L'accent mis sur la précision : L'objectif principal de YOLO est de maximiser le mAP sur l'ensemble de données COCO , ce qui en fait un concurrent de choix pour les concours ou la recherche universitaire où chaque fraction de pourcentage compte.

En savoir plus sur DAMO-YOLO

Différences architecturales et opérationnelles

La divergence entre YOLOv5 et YOLO s'étend au-delà des simples mesures, à leurs philosophies de conception et à leurs exigences opérationnelles.

Architecture : Simplicité ou complexité

YOLOv5 utilise une architecture artisanale et intuitive. Son approche basée sur les ancres est bien comprise et facile à déboguer. En revanche, YOLO s'appuie sur un important travail de re-paramétrage et de recherche automatisée (NAS). Bien que la NAS puisse produire des structures efficaces, elle aboutit souvent à des modèles "boîte noire" que les développeurs ont du mal à personnaliser ou à interpréter. En outre, le cou lourd (RepGFPN) dans YOLO augmente la charge de calcul pendant l'entraînement, nécessitant plus de mémoireGPU par rapport à la conception CSP efficace de YOLOv5.

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

Les modèles Ultralytics sont réputés pour leur efficacité en matière de formation. YOLOv5 nécessite généralement moins de mémoire CUDA , ce qui permet de l'entraîner sur des GPU grand public. YOLO, avec ses processus complexes de re-paramétrage et de distillation, nécessite souvent du matériel haut de gamme pour être entraîné efficacement. De plus, Ultralytics fournit une vaste bibliothèque de poids pré-entraînés et un réglage automatisé des hyperparamètres pour accélérer le chemin vers la convergence.

Ecosystème et facilité d'utilisation

La différence la plus importante réside peut-être dans l'écosystème. YOLOv5 n'est pas seulement un modèle ; il fait partie d'une suite complète d'outils.

  • Documentation : Ultralytics dispose d'une documentation complète et multilingue qui guide les utilisateurs de la collecte des données au déploiement.
  • Communauté : Une communauté mondiale massive garantit que les problèmes sont résolus rapidement et que des tutoriels sont facilement disponibles.
  • Intégrations : Prise en charge native de Roboflow et les cibles de déploiement comme NVIDIA Jetson simplifie l'ensemble du pipeline.

YOLO, qui est avant tout un référentiel de recherche, ne dispose pas de ce niveau de support perfectionné, ce qui rend l'intégration dans des produits commerciaux beaucoup plus difficile.

Cas d'utilisation concrets

Le choix entre ces modèles dépend souvent de l'environnement de déploiement spécifique.

Les points forts de YOLOv5

  • Agriculture intelligente : Ses faibles besoins en ressources la rendent idéale pour fonctionner sur des drones ou des tracteurs autonomes afin de détecter les maladies des cultures.
  • Fabrication : Dans le domaine de l'automatisation industrielle, la vitesse élevée de YOLOv5 permet de détecter les défauts en temps réel sur les bandes transporteuses en mouvement rapide.
  • Analyse de la vente au détail : Pour le comptage d'objets et la gestion des files d'attente, les performances de l'CPU YOLOv5 permettent un déploiement rentable sur le matériel existant des magasins.

Les points forts de YOLO

  • Recherche universitaire : Les chercheurs qui étudient l'efficacité des techniques RepGFPN ou NAS trouveront en YOLO une base de référence précieuse.
  • Surveillance haut de gamme : Dans les scénarios avec des GPU dédiés de niveau serveur où la précision est prioritaire sur la latence, YOLO peut fournir une détection précise dans des scènes complexes.

Exemple de code : Démarrer avec YOLOv5

L'exécution de YOLOv5 est simple grâce au package Ultralytics Python . L'exemple suivant montre comment charger un modèle pré-entraîné et lancer l'inférence sur une image.

import torch

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

# Define an image URL or local path
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results to the console
results.print()

# Show the image with bounding boxes
results.show()

Conclusion

YOLOv5 et YOLO apportent tous deux une contribution significative au domaine de la détection d'objets. YOLO illustre le potentiel de la recherche par architecture neuronale et de la fusion de caractéristiques avancées pour atteindre des niveaux de précision élevés.

Cependant, pour la grande majorité des développeurs, des ingénieurs et des entreprises, Ultralytics YOLOv5 reste le meilleur choix. Sa facilité d'utilisation inégalée, son solide équilibre des performances et la sécurité d'un écosystème bien entretenu garantissent que les projets passent du prototype à la production avec un minimum de friction. La capacité à se déployer efficacement sur les CPU et les GPU, combinée à des besoins de mémoire réduits pour la formation, fait de YOLOv5 une solution très pratique pour les applications du monde réel.

Pour ceux qui cherchent à tirer parti des toutes dernières technologies de vision par ordinateur, Ultralytics a continué d'innover avec YOLOv8 et le logiciel de pointe YOLO11. Ces nouveaux modèles s'appuient sur les solides fondations de YOLOv5, offrant encore plus de vitesse, de précision et de polyvalence.

Explorer d’autres comparaisons

Pour mieux comprendre comment ces modèles s'intègrent dans un écosystème plus large, consultez ces comparaisons détaillées :


Commentaires