Link to this sectionMeituan YOLOv6#
Link to this sectionÜbersicht#
Meituan YOLOv6, das 2022 veröffentlicht wurde, bietet ein starkes Gleichgewicht zwischen Geschwindigkeit und Genauigkeit und ist damit eine beliebte Wahl für Echtzeitanwendungen. Dieses Modell führt mehrere bemerkenswerte Verbesserungen an seiner Architektur und seinem Trainingsschema ein, einschließlich der Implementierung eines Bi-directional Concatenation (BiC)-Moduls, einer anchor-aided training (AAT)-Strategie sowie eines verbesserten Backbone- und Neck-Designs für hohe Genauigkeit auf dem COCO-Datensatz.
Übersicht über YOLOv6. Architekturdiagramm des Modells, das die überarbeiteten Netzwerkkomponenten und Trainingsstrategien zeigt, die zu signifikanten Leistungssteigerungen geführt haben. (a) Der Neck von YOLOv6 (N und S sind dargestellt). Hinweis: Bei M/L wird RepBlocks durch CSPStackRep ersetzt. (b) Die Struktur eines BiC-Moduls. (c) Ein SimCSPSPPF-Block. (Quelle).
Link to this sectionHauptfunktionen#
- Bidirectional Concatenation (BiC) Modul: YOLOv6 führt ein BiC-Modul im Neck des Detektors ein, das Lokalisierungssignale verbessert und Leistungszuwächse bei vernachlässigbarem Geschwindigkeitsverlust liefert.
- Anchor-Aided Training (AAT) Strategie: Dieses Modell schlägt AAT vor, um die Vorteile von sowohl anchor-based als auch anchor-free Paradigmen zu nutzen, ohne die Inferenz-Effizienz zu beeinträchtigen.
- Verbessertes Backbone- und Neck-Design: Durch die Erweiterung von YOLOv6 um eine weitere Stufe im Backbone und Neck erreichte dieses Modell zum Zeitpunkt seiner Veröffentlichung eine starke Leistung auf dem COCO dataset bei hochauflösendem Input.
- Self-Distillation-Strategie: Eine neue Self-Distillation-Strategie wurde implementiert, um die Leistung kleinerer YOLOv6-Modelle zu steigern. Dabei wird der Hilfs-Regressionszweig während des Trainings verstärkt und bei der Inferenz entfernt, um einen deutlichen Geschwindigkeitsabfall zu vermeiden.
Link to this sectionLeistungsmetriken#
YOLOv6 bietet verschiedene vortrainierte Modelle in unterschiedlichen Skalierungen:
- YOLOv6-N: 37,5 % AP auf COCO val2017 bei 1187 FPS mit einer 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: Stand der Technik bei der Genauigkeit in Echtzeit.
YOLOv6 bietet auch quantisierte Modelle für verschiedene Präzisionen sowie Modelle, die für mobile Plattformen optimiert sind.
Link to this sectionAnwendungsbeispiele#
Dieses Beispiel enthält einfache Trainings- und Inferenzbeispiele für YOLOv6. Für die vollständige Dokumentation zu diesen und anderen Modi, siehe die Dokumentationsseiten zu Predict, Train, Val und Export.
YOLOv6 *.yaml Dateien können an die YOLO() Klasse übergeben werden, um das entsprechende Modell 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")Link to this sectionUnterstützte Aufgaben und Modi#
Die YOLOv6-Serie bietet eine Reihe von Modellen, die jeweils für eine hochleistungsfähige Object Detection optimiert sind. Diese Modelle decken unterschiedliche Rechenanforderungen und Genauigkeitsansprüche ab, wodurch sie vielseitig für eine breite Palette von Anwendungen einsetzbar sind.
| Modell | Dateinamen | Aufgaben | Inference | Validation | Training | Exportieren |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | Objekterkennung | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | Objekterkennung | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | Objekterkennung | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | Objekterkennung | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | Objekterkennung | ✅ | ✅ | ✅ | ✅ |
Diese Tabelle bietet einen detaillierten Überblick über die YOLOv6-Modellvarianten und hebt ihre Fähigkeiten bei object detection-Aufgaben sowie ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export hervor. Diese umfassende Unterstützung stellt sicher, dass Benutzer die Fähigkeiten von YOLOv6-Modellen in einer Vielzahl von Objekterkennungsszenarien voll ausschöpfen können.
Link to this sectionZitate und Danksagungen#
Wir möchten den Autoren für ihre bedeutenden Beiträge im Bereich der Echtzeit-Objekterkennung danken:
@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}
}Das ursprüngliche YOLOv6-Paper ist auf arXiv zu finden. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und die Codebasis kann auf GitHub eingesehen werden. Wir schätzen ihre Bemühungen, das Feld voranzubringen und ihre Arbeit der breiteren Community zugänglich zu machen.
Link to this sectionFAQ#
Link to this sectionWas ist Meituan YOLOv6 und was macht es einzigartig?#
Meituan YOLOv6, veröffentlicht im Jahr 2022, ist ein Objektdetektor, der Geschwindigkeit und Genauigkeit ausbalanciert und für Echtzeitanwendungen konzipiert wurde. Es bietet bemerkenswerte architektonische Verbesserungen wie das Bi-directional Concatenation (BiC)-Modul und eine Anchor-Aided Training (AAT)-Strategie. Diese Innovationen liefern erhebliche Leistungszuwächse bei minimalem Geschwindigkeitsverlust, was YOLOv6 zu einer wettbewerbsfähigen Wahl für Objekterkennungsaufgaben macht.
Link to this sectionWie verbessert das Bi-directional Concatenation (BiC)-Modul in YOLOv6 die Leistung?#
Das Bi-directional Concatenation (BiC)-Modul in YOLOv6 verbessert Lokalisierungssignale im Neck des Detektors und liefert Leistungsverbesserungen bei vernachlässigbarem Geschwindigkeitseinfluss. Dieses Modul kombiniert effektiv verschiedene feature maps und erhöht die Fähigkeit des Modells, Objekte präzise zu erkennen. Weitere Details zu den Funktionen von YOLOv6 finden Sie im Abschnitt Key Features.
Link to this sectionWie kann ich ein YOLOv6-Modell mit Ultralytics trainieren?#
Du kannst ein YOLOv6-Modell mit Ultralytics über einfache Python- oder CLI-Befehle trainieren. Zum Beispiel:
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)Weitere Informationen findest du auf der Seite Train.
Link to this sectionWas 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: Stand der Technik bei der Genauigkeit in Echtzeitszenarien
Diese Modelle werden auf dem COCO dataset mit einer NVIDIA T4 GPU evaluiert. Mehr zu den Leistungskennzahlen findest du im Abschnitt Performance Metrics.
Link to this sectionWelchen Nutzen bietet die Anchor-Aided Training (AAT)-Strategie für YOLOv6?#
Anchor-Aided Training (AAT) in YOLOv6 kombiniert Elemente von anchor-based und anchor-free Ansätzen und verbessert die Erkennungsfähigkeiten des Modells, ohne die Inferenz-Effizienz zu beeinträchtigen. Diese Strategie nutzt Anker während des Trainings, um bounding box-Vorhersagen zu verbessern, was YOLOv6 bei vielfältigen Objekterkennungsaufgaben effektiv macht.
Link to this sectionWelche Betriebsmodi werden von YOLOv6-Modellen in Ultralytics unterstützt?#
YOLOv6 unterstützt verschiedene Betriebsmodi, einschließlich Inference, Validation, Training und Export. Diese Flexibilität erlaubt es Benutzern, die Fähigkeiten des Modells in verschiedenen Szenarien voll auszuschöpfen. Schau dir den Abschnitt Supported Tasks and Modes für einen detaillierten Überblick über jeden Modus an.