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 YOLOv5, une norme industrielle adoptée dans le monde entier, connue pour sa fiabilité et sa vitesse, et DAMO-YOLO, un modèle axé sur la recherche d'Alibaba Group qui introduit de nouvelles techniques de recherche architecturale.

Bien que les deux modèles visent à résoudre les 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 DAMO-YOLO se concentre sur le dépassement des limites académiques avec la recherche d'architecture neuronale (NAS) et les mécanismes de fusion de caractéristiques lourds.

Métriques de performance et benchmarks

Comprendre les compromis entre la vitesse d’inférence et la précision de la detection est essentiel lors du choix d’un modèle pour la production. Les données suivantes mettent en évidence les performances de ces modèles sur l’ensemble de données COCO dataset, une référence standard pour la 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 dichotomie distincte 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 GPU et des performances CPU largement accessibles. Cela le rend idéal pour les applications d'IA en périphérie où une faible latence est non négociable.

Les modèles DAMO-YOLO, tels que les DAMO-YOLOl, atteignent des valeurs légèrement supérieures précision moyenne (mAP), culminant à 50.8, mais au prix d’une opacité dans les mesures de performance du CPU. L’absence de vitesses de CPU signalées pour DAMO-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 comme les applications mobiles ou les systèmes embarqués.

Ultralytics YOLOv5 : La norme industrielle polyvalente

Auteur: Glenn Jocher
Organisation:Ultralytics
Date: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Documentation:https://docs.ultralytics.com/models/yolov5/

Depuis sa sortie, YOLOv5 s'est imposé comme une pierre angulaire de la communauté de la vision par ordinateur. Construit nativement en PyTorch, il équilibre la complexité et la facilité d'utilisation, offrant une expérience "batteries incluses". Son architecture utilise un backbone CSPDarknet et un neck PANet, qui agrège efficacement les caractéristiques à différentes échelles pour detecter des objets de différentes tailles.

Principaux atouts

  • Facilité d'utilisation : Ultralytics privilégie l'expérience développeur (DX). Avec une simple API python et des commandes CLI intuitives, les utilisateurs peuvent entraîner et déployer des modèles en quelques minutes.
  • Écosystème bien maintenu : Soutenu par une communauté active et des mises à jour fréquentes, YOLOv5 assure la compatibilité avec les derniers outils, 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 d’instance et la classification d’images, permettant aux développeurs de s’attaquer à plusieurs tâches de vision avec un seul framework.
  • 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 simplifié

YOLOv5 s'intègre parfaitement aux outils MLOps populaires. Vous pouvez suivre vos expériences à l'aide de Weights & Biases ou de Comet avec une seule commande, garantissant ainsi que vos exécutions d'entraînement sont reproductibles et faciles à analyser.

DAMO-YOLO : Précision axé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
GitHub :https://github.com/tinyvision/DAMO-YOLO

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

Principales caractéristiques

  • 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 : Elle emploie une stratégie d’attribution d’étiquettes dynamique appelée AlignedOTA pour résoudre les désalignements entre les tâches de classification et de régression.
  • Priorité à la précision : L’objectif principal de DAMO-YOLO est de maximiser le mAP sur l’ensemble de données COCO, ce qui en fait un concurrent de taille pour les compétitions ou la recherche universitaire où chaque fraction de pour cent compte.

En savoir plus sur DAMO-YOLO

Différences architecturales et opérationnelles

La divergence entre YOLOv5 et DAMO-YOLO s'étend au-delà des simples métriques pour englober leurs philosophies de conception fondamentales et leurs exigences opérationnelles.

Architecture : Simplicité vs. complexité

YOLOv5 utilise une architecture intuitive et artisanale. Son approche anchor-based est bien comprise et facile à déboguer. En revanche, DAMO-YOLO s’appuie sur une reparamétrisation lourde et une recherche automatisée (NAS). Bien que la NAS puisse donner des structures efficaces, elle aboutit souvent à des modèles de type « boîte noire » qu’il est difficile pour les développeurs de personnaliser ou d’interpréter. De plus, le neck lourd (RepGFPN) de DAMO-YOLO augmente la charge de calcul pendant l’entraînement, nécessitant plus de GPU memory 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é de l'entraînement. YOLOv5 nécessite généralement moins de mémoire CUDA, ce qui permet de l'entraîner sur des GPU grand public. DAMO-YOLO, avec ses processus complexes de reparamétrage et de distillation, exige souvent du matériel haut de gamme pour s'entraîner efficacement. De plus, Ultralytics fournit une vaste bibliothèque de poids pré-entraînés et un réglage des hyperparamètres automatisé pour accélérer le chemin vers la convergence.

Écosystème et facilité d'utilisation

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

  • Documentation : Ultralytics maintient une documentation multilingue exhaustive qui guide les utilisateurs de la collecte de données au déploiement.
  • Communauté : Une vaste communauté mondiale garantit que les problèmes sont résolus rapidement et que des tutoriels sont facilement disponibles.
  • Intégrations : Le support natif des ensembles de données Roboflow et des cibles de déploiement telles que NVIDIA Jetson simplifie l'ensemble du pipeline.

DAMO-YOLO, principalement un référentiel de recherche, ne dispose pas de ce niveau de support soigné, ce qui rend l'intégration dans les 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.

Où YOLOv5 excelle

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

Où DAMO-YOLO excelle

  • Recherche académique : Les chercheurs qui étudient l’efficacité des techniques RepGFPN ou NAS trouveront que DAMO-YOLO est une base de référence précieuse.
  • Surveillance haut de gamme : Dans les scénarios avec des GPU dédiés de qualité serveur où la précision est priorisée par rapport à la latence, DAMO-YOLO peut fournir une détection précise dans des scènes complexes.

Exemple de code : Démarrage 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 exécuter 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 DAMO-YOLO contribuent tous deux de manière significative au domaine de la détection d'objets. DAMO-YOLO met en évidence le potentiel de la recherche d'architecture neuronale et de la fusion avancée de caractéristiques pour atteindre des benchmarks de haute précision.

Cependant, pour la grande majorité des développeurs, des ingénieurs et des entreprises, Ultralytics YOLOv5 reste le choix supérieur. Sa facilité d'utilisation inégalée, son équilibre des performances robuste et la sécurité d'un écosystème bien entretenu garantissent que les projets passent du prototype à la production avec un minimum de frictions. La capacité de se déployer efficacement sur les CPU et les GPU, combinée à des besoins en mémoire plus faibles 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 en matière de vision par ordinateur, Ultralytics a continué d'innover avec YOLOv8 et le YOLO11 à la pointe de la technologie. Ces modèles plus récents s'appuient sur les bases solides de YOLOv5, offrant une vitesse, une précision et une polyvalence encore plus grandes.

Explorer d’autres comparaisons

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


Commentaires