Meituan YOLOv6
Übersicht
Meituan YOLOv6 ist ein hochmoderner Objektdetektor, der eine bemerkenswerte Balance zwischen Geschwindigkeit und Genauigkeit bietet, was ihn zu einer beliebten Wahl für Echtzeitanwendungen macht. In diesem Modell wurden mehrere bemerkenswerte Verbesserungen an der Architektur und dem Trainingsschema vorgenommen. Dazu gehören die Implementierung eines Bi-direktionalen Verkettungsmoduls (BiC), eine ankerunterstützte Trainingsstrategie (AAT) und ein verbessertes Backbone- und Neck-Design für modernste Genauigkeit im COCO-Datensatz.
Überblick über YOLOv6. Das Diagramm der Modellarchitektur zeigt die neu gestalteten Netzwerkkomponenten und Trainingsstrategien, die zu erheblichen Leistungsverbesserungen geführt haben. (a) Der Hals von YOLOv6 (N und S sind dargestellt). Beachte, dass RepBlocks für M/L durch CSPStackRep ersetzt wurde. (b) Die Struktur eines BiC-Moduls. (c) Ein SimCSPSPPF-Block. (Quelle).
Hauptmerkmale
- Bidirektionales Verkettungsmodul (BiC): YOLOv6 führt ein BiC-Modul im Nacken des Detektors ein, das die Lokalisierungssignale verbessert und eine Leistungssteigerung bei vernachlässigbarer Geschwindigkeitsverringerung ermöglicht.
- Anchor-Aided Training (AAT) Strategie: In diesem Modell wird AAT vorgeschlagen, um die Vorteile des ankerbasierten und des ankerfreien Paradigmas zu nutzen, ohne die Effizienz der Schlussfolgerungen zu beeinträchtigen.
- Verbessertes Backbone- und Neck-Design: Durch die Vertiefung von YOLOv6 um eine weitere Stufe im Backbone und Neck erreicht dieses Modell die modernste Leistung auf dem COCO-Datensatz bei hochauflösendem Input.
- Selbst-Destillationsstrategie: Um die Leistung kleinerer Modelle von YOLOv6 zu steigern, wurde eine neue Selbstdistillationsstrategie implementiert, die den Hilfsregressionszweig während des Trainings verbessert und ihn bei der Inferenz entfernt, um einen deutlichen Geschwindigkeitsabfall zu vermeiden.
Leistungsmetriken
YOLOv6 bietet verschiedene vortrainierte Modelle mit unterschiedlichen Skalen:
- YOLOv6-N: 37.5% AP on COCO val2017 at 1187 FPS with NVIDIA T4 GPU.
- YOLOv6-S: 45,0% AP bei 484 FPS.
- YOLOv6-M: 50,0% AP bei 226 FPS.
- YOLOv6-L: 52,8% AP bei 116 FPS.
- YOLOv6-L6: Modernste Genauigkeit in Echtzeit.
YOLOv6 also provides quantized models for different precisions and models optimized for mobile platforms.
Verwendungsbeispiele
Dieses Beispiel zeigt einfache YOLOv6-Trainings- und Inferenzbeispiele. Die vollständige Dokumentation zu diesen und anderen Modi findest du auf den Seiten Predict, Train, Val und Export docs.
Beispiel
PyTorch pretrained *.pt
Modelle als auch die Konfiguration *.yaml
Dateien können an den YOLO()
Klasse, um eine Modellinstanz in python zu erstellen:
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 Befehle sind verfügbar, um die Modelle direkt auszuführen:
Unterstützte Aufgaben und Modi
The YOLOv6 series offers a range of models, each optimized for high-performance Object Detection. These models cater to varying computational needs and accuracy requirements, making them versatile for a wide array of applications.
Modell Typ | Vortrainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Ausbildung | exportieren |
---|---|---|---|---|---|---|
YOLOv6-N | yolov6-n.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLOv6-S | yolov6-s.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLOv6-M | yolov6-m.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L | yolov6-l.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L6 | yolov6-l6.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
This table provides a detailed overview of the YOLOv6 model variants, highlighting their capabilities in object detection tasks and their compatibility with various operational modes such as Inference, Validation, Training, and Export. This comprehensive support ensures that users can fully leverage the capabilities of YOLOv6 models in a broad range of object detection scenarios.
Zitate und Danksagungen
Wir möchten den Autoren für ihre bedeutenden Beiträge auf dem Gebiet der Echtzeit-Objekterkennung danken:
Die ursprüngliche YOLOv6-Veröffentlichung ist auf arXiv zu finden. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und die Codebasis kann auf GitHub eingesehen werden. Wir freuen uns über ihre Bemühungen, das Feld voranzubringen und ihre Arbeit einer breiteren Gemeinschaft zugänglich zu machen.
FAQ
Was ist Meituan YOLOv6 und was macht es einzigartig?
Meituan YOLOv6 ist ein hochmoderner Objektdetektor, der ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit bietet und ideal für Echtzeitanwendungen ist. Er verfügt über bemerkenswerte architektonische Verbesserungen wie das Bi-directional Concatenation (BiC) Modul und eine Anchor-Aided Training (AAT) Strategie. Diese Innovationen sorgen für erhebliche Leistungssteigerungen bei minimalen Geschwindigkeitseinbußen und machen YOLOv6 zu einer konkurrenzfähigen Wahl für Objektdetektionsaufgaben.
Wie verbessert das Bi-direktionale Verkettungsmodul (BiC) in YOLOv6 die Leistung?
Das Modul Bi-directional Concatenation (BiC) in YOLOv6 verbessert die Lokalisierungssignale im Nacken des Detektors und sorgt so für Leistungssteigerungen bei vernachlässigbarer Geschwindigkeitsbeeinträchtigung. Dieses Modul kombiniert effektiv verschiedene Feature Maps und erhöht so die Fähigkeit des Modells, Objekte genau zu erkennen. Weitere Einzelheiten zu den Funktionen von YOLOv6 findest du im Abschnitt Hauptfunktionen.
Wie kann ich ein YOLOv6-Modell mit Ultralytics trainieren?
Du kannst ein YOLOv6-Modell mit Ultralytics mit einfachen Python oder CLI Befehlen trainieren. Zum Beispiel:
Beispiel
Weitere Informationen findest du auf der Seite des Zuges.
Was sind die verschiedenen Versionen von YOLOv6 und ihre Leistungskennzahlen?
YOLOv6 bietet mehrere Versionen, die jeweils für unterschiedliche Leistungsanforderungen optimiert sind:
- YOLOv6-N: 37,5% AP bei 1187 FPS
- YOLOv6-S: 45,0% AP bei 484 FPS
- YOLOv6-M: 50,0% AP bei 226 FPS
- YOLOv6-L: 52,8% AP bei 116 FPS
- YOLOv6-L6: Modernste Genauigkeit in Echtzeitszenarien
These models are evaluated on the COCO dataset using an NVIDIA T4 GPU. For more on performance metrics, see the Performance Metrics section.
Wie profitiert YOLOv6 von der Strategie der ankergestützten Ausbildung (AAT)?
Anchor-Aided Training (AAT) in YOLOv6 combines elements of anchor-based and anchor-free approaches, enhancing the model's detection capabilities without compromising inference efficiency. This strategy leverages anchors during training to improve bounding box predictions, making YOLOv6 effective in diverse object detection tasks.
Welche Betriebsmodi werden von den YOLOv6-Modellen in Ultralytics unterstützt?
YOLOv6 unterstützt verschiedene Betriebsmodi wie Inferenz, Validierung, Training und Export. Diese Flexibilität ermöglicht es den Nutzern, die Fähigkeiten des Modells in verschiedenen Szenarien voll auszuschöpfen. Einen detaillierten Überblick über die einzelnen Modi findest du im Abschnitt Unterstützte Aufgaben und Modi.