Skip to content

Meituan YOLOv6

Vue d'ensemble

Meituan YOLOv6 est un détecteur d'objets de pointe qui offre un équilibre remarquable entre vitesse et précision, ce qui en fait un choix populaire pour les applications en temps réel. Ce modèle présente plusieurs améliorations notables de son architecture et de son schéma de formation, notamment la mise en œuvre d'un module de concaténation bidirectionnelle (BiC), d'une stratégie de formation assistée par ancrage (AAT) et d'une conception améliorée de l'épine dorsale et du cou pour une précision de pointe sur l'ensemble de données COCO.

Meituan YOLOv6 Modèle exemple image Vue d'ensemble de YOLOv6. Diagramme de l'architecture du modèle montrant les composants du réseau remaniés et les stratégies de formation qui ont conduit à des améliorations significatives des performances. (a) Le cou de YOLOv6 (N et S sont représentés). Notez que pour M/L, RepBlocks est remplacé par CSPStackRep. (b) La structure d'un module BiC. (c) Un bloc SimCSPSPPF. (source).

Caractéristiques principales

  • Module de concatĂ©nation bidirectionnelle (BiC) : YOLOv6 introduit un module BiC dans le cou du dĂ©tecteur, amĂ©liorant les signaux de localisation et apportant des gains de performance avec une dĂ©gradation nĂ©gligeable de la vitesse.
  • StratĂ©gie de formation assistĂ©e par ancrage (AAT) : Ce modèle propose l'AAT pour bĂ©nĂ©ficier des avantages des paradigmes avec et sans ancrage sans compromettre l'efficacitĂ© de l'infĂ©rence.
  • Conception amĂ©liorĂ©e de l'Ă©pine dorsale et du cou : En approfondissant YOLOv6 pour inclure une autre Ă©tape dans la colonne vertĂ©brale et le cou, ce modèle atteint des performances de pointe sur l'ensemble de donnĂ©es COCO avec une entrĂ©e Ă  haute rĂ©solution.
  • StratĂ©gie d'autodistillation : Une nouvelle stratĂ©gie d'autodistillation est mise en Ĺ“uvre pour amĂ©liorer les performances des petits modèles de YOLOv6, en amĂ©liorant la branche de rĂ©gression auxiliaire pendant la formation et en la supprimant lors de l'infĂ©rence afin d'Ă©viter une baisse marquĂ©e de la vitesse.

Mesures de performance

YOLOv6 propose plusieurs modèles pré-entraînés avec des échelles différentes :

  • YOLOv6-N : 37.5% AP sur COCO val2017 Ă  1187 FPS avec NVIDIA T4 GPU.
  • YOLOv6-S : 45,0% AP Ă  484 FPS.
  • YOLOv6-M : 50,0% AP Ă  226 FPS.
  • YOLOv6-L : 52,8% AP Ă  116 FPS.
  • YOLOv6-L6 : une prĂ©cision de pointe en temps rĂ©el.

YOLOv6 fournit également des modèles quantifiés pour différentes précisions et des modèles optimisés pour les plateformes mobiles.

Exemples d'utilisation

Cet exemple fournit des exemples simples de formation et d'inférence de YOLOv6. Pour une documentation complète sur ces modes et d'autres, voir les pages Predict, Train, Val et Export docs.

Exemple

PyTorch préformé *.pt ainsi que la configuration *.yaml peuvent être transmis à la fonction YOLO() pour créer une instance de modèle dans python:

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# Display model information (optional)
model.info()

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

# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI sont disponibles pour exécuter directement les modèles :

# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg

Tâches et modes pris en charge

La série YOLOv6 offre une gamme de modèles, chacun optimisé pour la détection d'objets de haute performance. Ces modèles répondent à des besoins de calcul et à des exigences de précision variables, ce qui les rend polyvalents pour un large éventail d'applications.

Type de modèle Poids pré-entraînés Tâches prises en charge Inférence Validation Formation Exportation
YOLOv6-N yolov6-n.pt DĂ©tection d'objets âś… âś… âś… âś…
YOLOv6-S yolov6-s.pt DĂ©tection d'objets âś… âś… âś… âś…
YOLOv6-M yolov6-m.pt DĂ©tection d'objets âś… âś… âś… âś…
YOLOv6-L yolov6-l.pt DĂ©tection d'objets âś… âś… âś… âś…
YOLOv6-L6 yolov6-l6.pt DĂ©tection d'objets âś… âś… âś… âś…

Ce tableau fournit un aperçu détaillé des variantes du modèle YOLOv6, en soulignant leurs capacités dans les tâches de détection d'objets et leur compatibilité avec divers modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Ce support complet permet aux utilisateurs d'exploiter pleinement les capacités des modèles YOLOv6 dans un large éventail de scénarios de détection d'objets.

Citations et remerciements

Nous tenons à remercier les auteurs pour leurs contributions significatives dans le domaine de la détection d'objets en temps réel :

@misc{li2023yolov6,
      title={YOLOv6 v3.0: A Full-Scale Reloading},
      author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
      year={2023},
      eprint={2301.05586},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

L'article original sur YOLOv6 est disponible sur arXiv. Les auteurs ont rendu leur travail public et la base de code est accessible sur GitHub. Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté au sens large.

FAQ

Qu'est-ce que Meituan YOLOv6 et qu'est-ce qui le rend unique ?

Meituan YOLOv6 est un détecteur d'objets de pointe qui allie vitesse et précision, idéal pour les applications en temps réel. Il présente des améliorations architecturales notables telles que le module de concaténation bidirectionnelle (BiC) et une stratégie de formation assistée par l'ancrage (AAT). Ces innovations permettent des gains de performance substantiels avec une dégradation minimale de la vitesse, ce qui fait de YOLOv6 un choix compétitif pour les tâches de détection d'objets.

Comment le module de concaténation bidirectionnelle (BiC) de YOLOv6 améliore-t-il les performances ?

Le module Bi-directional Concatenation (BiC) de YOLOv6 améliore les signaux de localisation dans le cou du détecteur, ce qui permet d'améliorer les performances avec un impact négligeable sur la vitesse. Ce module combine efficacement différentes cartes de caractéristiques, augmentant ainsi la capacité du modèle à détecter des objets avec précision. Pour plus de détails sur les caractéristiques de YOLOv6, reportez-vous à la section Caractéristiques principales.

Comment puis-je entraîner un modèle YOLOv6 en utilisant Ultralytics?

Vous pouvez entraîner un modèle YOLOv6 en utilisant Ultralytics avec de simples commandes Python ou CLI . Par exemple :

Exemple

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

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

Pour plus d'informations, consultez la page Train.

Quelles sont les différentes versions de YOLOv6 et leurs performances ?

YOLOv6 propose plusieurs versions, chacune optimisée pour des exigences de performance différentes :

  • YOLOv6-N : 37,5% AP Ă  1187 FPS
  • YOLOv6-S : 45,0% AP Ă  484 FPS
  • YOLOv6-M : 50,0% AP Ă  226 FPS
  • YOLOv6-L : 52,8% AP Ă  116 FPS
  • YOLOv6-L6 : une prĂ©cision de pointe dans des scĂ©narios en temps rĂ©el

Ces modèles sont évalués sur l'ensemble de données COCO à l'aide d'un ordinateur NVIDIA T4 GPU. Pour plus d'informations sur les mesures de performance, voir la section Mesures de performance.

Comment la stratégie de formation assistée par ancrage (AAT) profite-t-elle à YOLOv6 ?

La formation assistée par ancrage (AAT) dans YOLOv6 combine des éléments d'approches basées sur l'ancrage et sans ancrage, améliorant les capacités de détection du modèle sans compromettre l'efficacité de l'inférence. Cette stratégie exploite les ancres pendant l'apprentissage pour améliorer les prédictions de la boîte englobante, ce qui rend YOLOv6 efficace dans diverses tâches de détection d'objets.

Quels sont les modes opérationnels supportés par les modèles YOLOv6 sur Ultralytics?

YOLOv6 prend en charge différents modes opérationnels, notamment l'inférence, la validation, la formation et l'exportation. Cette flexibilité permet aux utilisateurs d'exploiter pleinement les capacités du modèle dans différents scénarios. Consultez la section Tâches et modes pris en charge pour un aperçu détaillé de chaque mode.

📅C réé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires