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.
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 NVIDIA Tesla 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 Ă 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 :
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 :
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.
FAQ
Qu'est-ce que le Meituan YOLOv6 et qu'est-ce qui le rend unique ?
Meituan YOLOv6 est un détecteur d'objets de pointe qui équilibre vitesse et précision, idéal pour les applications en temps réel. Il présente des améliorations architecturales notables comme 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, reporte-toi à la section Principales caractéristiques.
Comment puis-je entraîner un modèle YOLOv6 à l'aide de Ultralytics?
Tu peux entraîner un modèle YOLOv6 à l'aide de Ultralytics avec de simples commandes Python ou CLI . Par exemple :
Exemple
Pour plus d'informations, visite la page du 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 Tesla T4 GPU. Pour en savoir plus 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 la formation 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 pris en charge 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. Consulte la section Tâches et modes pris en charge pour obtenir un aperçu détaillé de chaque mode.