Passer au contenu

YOLOv6.0 vs YOLOv5: une comparaison technique pour la détection d'objets

Le choix de la bonne architecture pour votre projet de vision par ordinateur est une décision cruciale qui a un impact sur les performances, la facilité de déploiement et la maintenance à long terme. Les deux principaux concurrents dans le domaine de la détection d'objets en temps réel sont YOLOv6.0 de Meituan et YOLOv6 d'Ultralytics. YOLOv5. Ce guide fournit une comparaison technique détaillée pour aider les développeurs et les chercheurs à choisir le modèle qui correspond le mieux à leurs besoins spécifiques, qu'ils privilégient le débit brut du GPU ou un écosystème polyvalent et facile à utiliser.

Analyse des paramètres de performance

Le tableau ci-dessous présente une comparaison directe des mesures de performance sur l'ensemble de donnéesCOCO . YOLOv6.0 repousse les limites de la précision maximale sur les dispositifs GPU , Ultralytics YOLOv5 conserve sa réputation d'efficacité exceptionnelle, en particulier sur l'CPU, et de complexité de modèle significativement plus faible (paramètres et FLOPs) pour ses variantes légères.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7
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

Analyse : Les données montrent que le modèle YOLOv5n (Nano) se distingue dans les environnements à ressources limitées, avec le plus petit nombre de paramètres (2,6 millions) et de FLOP (7,7 milliards), ce qui se traduit par des vitesses d'inférence supérieures pour CPU . Il convient donc parfaitement aux applications d'intelligence artificielle en périphérie où la mémoire et l'énergie sont rares. À l'inverse, YOLOv6.0 vise une mAPval plus élevée au prix d'une augmentation de la taille du modèle, ce qui en fait un candidat de choix pour les installations industrielles dotées d'un matériel GPU dédié.

Meituan YOLOv6.0 : Précision industrielle

Auteurs: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu et Xiangxiang Chu
Organisation: Meituan
Date: 2023-01-13
Arxiv :https://arxiv.org/abs/2301.05586
GitHub YOLOv6https://github.com/meituan/YOLOv6
Docs :ultralytics

Développé par Meituan, YOLOv6.0 est un cadre de détection d'objets adapté aux applications industrielles. Il se concentre sur l'obtention d'un compromis favorable entre la vitesse d'inférence et la précision, en optimisant spécifiquement les performances matérielles sur les GPU.

Architecture et principales fonctionnalités

YOLOv6 incorpore une conception efficace de l'épine dorsale et une structure reparamétrable (style RepVGG) qui simplifie le modèle pendant l'inférence tout en conservant des capacités d'extraction de caractéristiques complexes pendant l'apprentissage. La version 3.0 a introduit des techniques telles que l'autodistillation et une stratégie de formation assistée par ancrage pour améliorer encore les performances.

Points forts et faiblesses

  • Précision élevée du GPU : Il fournit des scores mAP compétitifs sur l'ensemble de donnéesCOCO , ce qui le rend adapté aux tâches de contrôle de la qualité dans le secteur de la fabrication.
  • Prise en charge de la quantification : Offre un support spécifique pour la quantification des modèles afin d'accélérer le déploiement.
  • Polyvalence limitée : Conçu principalement pour la détection d'objets, il ne prend pas en charge les tâches plus larges telles que la segmentation d'instances ou l'estimation de la pose que l'on trouve dans d'autres cadres.
  • Frais généraux de ressources plus élevés : Les variantes les plus grandes nécessitent plus de mémoire et de puissance de calcul que les modèles légers équivalents de YOLOv5 .

En savoir plus sur YOLOv6

Ultralytics YOLOv5: La norme de l'écosystème

Auteurs: Glenn Jocher
Organisation: Ultralytics
Date: 2020-06-26
GitHub yolov5https://github.com/ultralytics/yolov5
Docs :yolov5

Ultralytics YOLOv5 est un modèle légendaire dans le domaine de la vision par ordinateur, célèbre pour sa conception centrée sur l'utilisateur, sa fiabilité et l'écosystème complet qui l'entoure. Il reste l'un des modèles les plus déployés dans le monde en raison de son équilibre entre vitesse, précision et facilité d'utilisation.

Architecture et principales fonctionnalités

YOLOv5 utilise une épine dorsale CSPDarknet couplée à un cou PANet pour une fusion robuste des caractéristiques. Il utilise un mécanisme de détection basé sur l'ancrage, qui s'est avéré très stable dans divers ensembles de données. L'architecture est très modulaire, offrant cinq échelles (n, s, m, l, x) pour s'adapter à tous les types d'appareils, des dispositifs embarqués aux serveurs en nuage.

Pourquoi choisir YOLOv5?

  • Facilité d'utilisation : Ultralytics privilégie l'expérience du développeur avec une API Python simple, une configuration automatique de l'environnement et une documentation complète.
  • Polyvalence : Contrairement à de nombreux concurrents, YOLOv5 prend en charge la classification d'images et la segmentation d'instances.
  • Efficacité de la formation : Connu pour sa convergence rapide et sa faible utilisation de la mémoire pendant l'apprentissage, ce qui permet de réduire les coûts des ressources informatiques.
  • Flexibilité de déploiement : Exportation transparente vers des formats tels que ONNX, TensorRTCoreML et TFLite pour une intégration matérielle diversifiée.

Écosystème intégré

L'un des plus grands avantages de l'utilisation de YOLOv5 est l'écosystème Ultralytics . L'intégration avec des outils comme Ultralytics HUB permet de former et de prévisualiser des modèles sans code, tandis que la prise en charge intégrée du suivi des expériences par l'intermédiaire de Comet et MLflow rationalise le flux de travail de MLOps.

En savoir plus sur YOLOv5

Comparaison détaillée

Philosophie de l'architecture et du design

YOLOv6.0 s'appuie fortement sur la recherche d'architecture neuronale et le reparamétrage en fonction du matériel pour maximiser le débit sur des architectures GPU spécifiques (comme Tesla T4). En revanche, YOLOv5 se concentre sur une conception universelle qui fonctionne de manière fiable sur les CPU, les GPU et les NPU. Le détecteur de YOLOv5 basé sur l'ancrage est souvent plus facile à régler pour les ensembles de données personnalisés avec de petits objets par rapport à certaines approches sans ancrage.

Méthodologie d'utilisation et de formation

Les modèles Ultralytics sont conçus pour être "prêts à être entraînés". Avec YOLOv5, des fonctionnalités comme AutoAnchor ajustent automatiquement les boîtes d'ancrage aux étiquettes de votre jeu de données, et l'évolution intelligente des hyperparamètres aide à trouver les paramètres d'entraînement optimaux. YOLOv6 nécessite une configuration plus manuelle, caractéristique des référentiels de recherche traditionnels, ce qui peut représenter une courbe d'apprentissage plus abrupte pour les nouveaux utilisateurs.

Cas d'utilisation concrets

  • Ultralytics YOLOv5: idéal pour le prototypage rapide et les déploiements divers. Son modèle léger "Nano" est parfait pour la surveillance par drone ou les applications mobiles nécessitant une inférence en temps réel sur l'CPU. Sa prise en charge de la segmentation le rend également utile pour les tâches d'imagerie médicale telles que la segmentation cellulaire.
  • YOLOv6.0 : Convient le mieux aux environnements industriels fixes où des GPU haut de gamme sont disponibles et où la mesure principale est le mAP. Les exemples incluent l'inspection optique automatisée (AOI) dans la fabrication électronique.

Exemple de code : Exécution de YOLOv5

La simplicité de YOLOv5 est mieux démontrée par sa capacité à exécuter l'inférence avec seulement quelques lignes de code en utilisant PyTorch Hub. Cela élimine les étapes d'installation complexes et permet aux développeurs de tester le modèle immédiatement.

import torch

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

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

# Perform inference
results = model(img)

# Display results
results.show()

# Print detailed results regarding detected objects
results.print()

Cette facilité d'accès est l'une des caractéristiques de la philosophie d'Ultralytics , qui permet aux praticiens de la vision par ordinateur de se concentrer sur la résolution des problèmes plutôt que sur le débogage des questions liées à l'environnement.

Conclusion

Les deux architectures jouent un rôle important dans le paysage moderne de la vision. Meituan YOLOv6.0 offre une option convaincante pour les utilisateurs qui souhaitent maximiser la précision de la détection sur le matériel GPU .

Cependant, Ultralytics YOLOv5 reste le meilleur choix pour la plupart des développeurs en raison de sa polyvalence inégalée, de son efficacité en matière de formation et de son écosystème robuste. La capacité à se déployer facilement sur les appareils périphériques, associée à la prise en charge de la segmentation et de la classification, fait de YOLOv5 une solution complète pour relever les défis de l'IA dans le monde réel.

Pour ceux qui recherchent le nec plus ultra en matière de performances de pointe, nous recommandons d'explorer Ultralytics YOLO11. YOLO11 s'appuie sur l'héritage de YOLOv5 avec encore plus de précision, de vitesse et de fonctionnalités, représentant ainsi l'avenir de l'IA visuelle. D'autres modèles spécialisés comme RT-DETR sont également disponibles pour les applications basées sur des transformateurs.

Explorez la gamme complète d'outils et de modèles dans la documentation sur les modèlesUltralytics .


Commentaires