Passer au contenu

YOLOv5 vs YOLOv6.0 : Équilibrer la maturité de l'écosystème et la précision industrielle

Dans le paysage en évolution rapide de la vision par ordinateur, le choix de la bonne architecture de détection d'objets est une décision cruciale pour les développeurs et les chercheurs. Cette comparaison se penche sur les distinctions techniques entre Ultralytics YOLOv5un modèle légendaire réputé pour son accessibilité et son écosystème robuste, et Meituan YOLOv6.0, un cadre conçu spécifiquement pour les applications industrielles. Bien que les deux modèles excellent dans la détection d'objets, ils répondent à des besoins de déploiement et à des préférences de flux de travail différents.

Ultralytics YOLOv5

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

Depuis sa sortie en 2020, le YOLOv5 s'est imposé comme l'un des modèles d'IA les plus populaires et les plus fiables au monde. Construit sur le modèle PyTorch il a donné la priorité à la facilité d'utilisation, à l'exportabilité et aux performances "prêtes à l'emploi", démocratisant ainsi l'accès à l'IA visionnaire de pointe.

Architecture et écosystème

YOLOv5 utilise une épine dorsale CSPDarknet combinée à un cou PANet et à une tête de type YOLOv3. Son architecture est basée sur l'ancrage, utilisant des boîtes d'ancrage pour prédire l'emplacement des objets. Son intégration dans un écosystème mature constitue un élément clé de différenciation. Contrairement à de nombreuses bases de code de recherche, YOLOv5 a été conçu comme un produit pour les ingénieurs, avec une exportation transparente vers des formats tels que ONNXCoreML et TFLite, ce qui le rend exceptionnellement polyvalent pour un déploiement mobile et en périphérie.

Principaux points forts

  • Facilité d'utilisation: l'expérienceYOLOv5 se définit par sa simplicité. De l'entraînement des ensembles de données personnalisés à l'exécution de l'inférence, les flux de travail sont rationalisés et bien documentés.
  • Un écosystème bien entretenu: Les utilisateurs bénéficient d'une maintenance active, de mises à jour fréquentes et d'une communauté massive. Intégrations avec des outils MLOps tels que Weights & Biases et Comet sont natives.
  • Polyvalence: Au-delà de la détection standard, le référentiel prend en charge la segmentation des instances et la classification des images, offrant ainsi une solution multitâche dans une base de code unique.
  • Efficacité de la mémoire: YOLOv5 est connu pour son empreinte mémoire relativement faible lors de l'entraînement par rapport aux modèles basés sur les transformateurs, ce qui le rend accessible aux GPU grand public.

Déploiement en douceur

L'accent mis par YOLOv5 sur l'exportabilité permet aux développeurs de déployer sans effort des modèles dans divers environnements, depuis les serveurs en nuage jusqu'aux appareils périphériques tels que le Raspberry Pi ou le NVIDIA Jetson.

En savoir plus sur YOLOv5

Meituan YOLOv6.0

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

YOLOv6.0, développé par l'équipe Vision AI de Meituan, se positionne comme un concurrent industriel visant à équilibrer la vitesse et la précision, en particulier pour les applications matérielles. Il a été conçu pour maximiser le débit sur les GPU en utilisant la technologie TensorRT pour maximiser le débit sur les GPU.

Architecture et orientation industrielle

YOLOv6 utilise une épine dorsale EfficientRep et un cou Rep-PAN, en s'appuyant sur des techniques de reparamétrage (style RepVGG) pour améliorer la vitesse d'inférence sans sacrifier la précision. Pendant l'apprentissage, le modèle utilise une structure multi-branches, qui se réduit à une structure mono-branche pendant l'inférence. La version 3.0 a introduit des stratégies telles que l'autodistillation pour améliorer encore la précision moyenne (mAP).

Points forts et faiblesses

  • Optimisation duGPU : L'architecture est fortement optimisée pour l'inférence GPU standard, ce qui permet souvent d'obtenir des benchmarks FPS élevés sur les cartes NVIDIA T4 lors de l'utilisation de TensorRT.
  • Prise en charge de la quantification: Meituan offre un soutien spécifique à la quantification post-entraînement (PTQ) et à l'entraînement tenant compte de la quantification (QAT), ce qui est crucial pour certains scénarios de déploiement industriel.
  • Polyvalence limitée: Bien qu'excellent en matière de détection, YOLOv6 ne dispose pas de la prise en charge multi-tâches native (comme Pose Estimation ou OBB) que l'on trouve dans la suite complète Ultralytics .
  • Complexité: Les étapes de reparamétrage et les pipelines de formation spécifiques peuvent introduire de la complexité par rapport à la nature "plug-and-play" des modèles Ultralytics .

En savoir plus sur YOLOv6

Comparaison directe des performances

La comparaison ci-dessous met en évidence les compromis en matière de performances. YOLOv6.0 vise une précision maximale sur du matériel puissant, en sacrifiant souvent l'efficacité des paramètres. En revanche, Ultralytics YOLOv5 maintient un équilibre remarquable, offrant des modèles légers qui excellent dans les environnements CPU et l'inférence en temps réel sur les appareils périphériques.

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
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

Analyse

YOLOv5n se distingue comme une solution extrêmement efficace pour les applications mobiles, nécessitant beaucoup moins de paramètres (2,6 millions) que la plus petite variante de YOLOv6 (4,7 millions). Bien que YOLOv6.0 atteigne un pic mAP plus élevé dans des tailles plus importantes, il le fait au prix d'une augmentation de la taille du modèle (FLOPs et paramètres). Pour les développeurs qui visent le déploiement de l'CPU (courant en robotique ou en surveillance à faible consommation), les vitesses de l'CPU de YOLOv5 sont explicitement évaluées et optimisées, alors que YOLOv6 se concentre fortement sur l'accélération du GPU .

Méthodes de formation et expérience

L'expérience de formation diffère considérablement entre les deux écosystèmes. Ultralytics privilégie une approche à faible code et à grande flexibilité.

Workflow Ultralytics

YOLOv5 peut être intégré directement via PyTorch Hub, ce qui permet aux utilisateurs de charger et d'exécuter des modèles avec un minimum de code de base. Le script d'entraînement gère tout, de l'augmentation des données à la journalisation, automatiquement.

import torch

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

# Perform inference
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
results.print()

Flux de travail industriel

YOLOv6 nécessite généralement une installation plus manuelle impliquant le clonage du référentiel, la mise en place de fichiers de configuration spécifiques pour la colonne vertébrale de reparamétrage, et l'exécution de scripts qui sont moins intégrés avec des outils MLOps externes prêts à l'emploi. Bien que puissant, il exige une compréhension plus approfondie des contraintes architecturales spécifiques (telles que les paramètres d'autodistillation) pour atteindre les valeurs de référence indiquées.

Cas d'utilisation idéaux

Le choix entre ces modèles dépend de vos contraintes spécifiques en matière de matériel, de précision et de vitesse de développement.

  • Ultralytics YOLOv5: Le choix par excellence pour le prototypage rapide, le déploiement en périphérie et le soutien de la communauté. Si vous avez besoin d'un déploiement sur un Raspberry Pi, un téléphone portable ou un serveur CPU , la légèreté de YOLOv5 et son support à l'exportation sont inégalés. Il est également idéal pour les chercheurs qui ont besoin d'une base de code polyvalente prenant en charge la segmentation et la classification en plus de la détection.
  • Meituan YOLOv6.0: Convient le mieux aux environnements industriels fixes où des GPU haut de gamme sont disponibles et où la maximisation du mAP est la seule priorité. Si vous construisez un système d'assurance qualité en usine fonctionnant sur des serveurs NVIDIA T4/A10 et que vous disposez des ressources techniques nécessaires pour affiner les modèles reparamétrés, YOLOv6 est un candidat de choix.

Conclusion

Ultralytics YOLOv5 reste une pierre angulaire de la communauté de la vision par ordinateur, célébrée pour l'équilibre de ses performances, sa facilité d'utilisation et son écosystème florissant. Sa capacité à fournir des résultats fiables sur une vaste gamme de matériel - de la périphérie au cloud - en fait un choix supérieur pour la plupart des développeurs qui privilégient la polyvalence et le temps de mise sur le marché.

Bien que YOLOv6.0 présente des innovations architecturales impressionnantes pour l'inférence GPU industrielle, il ne dispose pas de l'écosystème complet et de l'adaptabilité multiplateforme des modèles Ultralytics . Pour ceux qui recherchent ce qui se fait de mieux en matière de performance et d'efficacité, nous recommandons d'explorer les modèles d Ultralytics YOLO11qui surpasse à la fois YOLOv5 et YOLOv6 en termes de précision et de vitesse, tout en conservant l'API conviviale d'Ultralytics .

Pour les tâches spécialisées, les développeurs peuvent également envisager d'autres modèles dans la documentation Ultralytics , tels que YOLOv8, YOLOv9, YOLOv10ou l'outil de transformation RT-DETR.

Explorez tout le potentiel de l'IA visionnaire lors de la documentation sur les modèlesUltralytics .


Commentaires