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 apporte plusieurs améliorations notables à son architecture et à 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. Schéma de l'architecture du modèle montrant les composants du réseau remaniés et les stratégies d'entraînement qui ont permis d'améliorer considérablement les performances. (a) Le cou de YOLOv6 (N et S sont représentés). Note 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 offrant 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 profiter des avantages des paradigmes basĂ©s sur l'ancrage 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 stimuler 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 le GPU NVIDIA Tesla T4.
  • 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 à l'outil 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 Des commandes 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 Exporter
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. Cette prise en charge complète garantit que les utilisateurs peuvent 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 peut être consulté sur arXiv. Les auteurs ont mis leur travail à la disposition du 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é élargie.



Créé le 2023-11-12, Mis à jour le 2024-01-07
Auteurs : glenn-jocher (5)

Commentaires