YOLO12: Aufmerksamkeitszentrierte Objekterkennung
Übersicht
YOLO12 führt eine aufmerksamkeitszentrierte Architektur ein, die von den traditionellen CNN-basierten Ansätzen früherer YOLO abweicht und dennoch die für viele Anwendungen erforderliche Echtzeit-Inferenzgeschwindigkeit beibehält. Dieses Modell erreicht durch neuartige methodische Innovationen bei den Aufmerksamkeitsmechanismen und der gesamten Netzwerkarchitektur eine hochmoderne Objekterkennungsgenauigkeit bei gleichzeitiger Beibehaltung der Echtzeitleistung.
Beobachten: Wie man YOLO12 für die Objekterkennung mit dem Ultralytics verwendet | Ist YOLO12 schnell oder langsam?
Wesentliche Merkmale
- Mechanismus der Bereichsaufmerksamkeit: Ein neuer Selbstaufmerksamkeitsansatz, der große rezeptive Felder effizient verarbeitet. Er unterteilt Merkmalskarten in l gleich große Regionen (standardmäßig 4), entweder horizontal oder vertikal, wodurch komplexe Operationen vermieden werden und ein großes effektives rezeptives Feld erhalten bleibt. Dadurch werden die Rechenkosten im Vergleich zur Standard-Self-Attention erheblich reduziert.
- Resteffiziente Schichtaggregationsnetze (R-ELAN): Ein verbessertes Modul zur Merkmalsaggregation auf der Grundlage von ELAN, das für die Bewältigung von Optimierungsproblemen, insbesondere bei größeren aufmerksamkeitszentrierten Modellen, entwickelt wurde. R-ELAN führt ein:
- Restverbindungen auf Blockebene mit Skalierung (ähnlich der Ebenenskalierung).
- Eine neu gestaltete Methode der Merkmalsaggregation, die eine engpassähnliche Struktur schafft.
- Optimierte Aufmerksamkeitsarchitektur: YOLO12 rationalisiert den Standard-Aufmerksamkeitsmechanismus für mehr Effizienz und Kompatibilität mit dem YOLO . Dies beinhaltet:
- Verwendung von FlashAttention zur Minimierung des Speicherzugriffs-Overheads.
- Entfernen der Positionskodierung für ein saubereres und schnelleres Modell.
- Anpassung des MLP-Verhältnisses (von typischerweise 4 auf 1,2 oder 2), um die Berechnung zwischen Aufmerksamkeits- und Feedforward-Schichten besser auszugleichen.
- Verringerung der Tiefe der gestapelten Blöcke für eine bessere Optimierung.
- Nutzung von Faltungsoperationen (wo angebracht) wegen ihrer Recheneffizienz.
- Hinzufügen einer 7x7 trennbaren Faltung (der "Positionswahrnehmer") zum Aufmerksamkeitsmechanismus, um implizit Positionsinformationen zu kodieren.
- Umfassende Aufgabenunterstützung: YOLO12 unterstützt eine Reihe von Kernaufgaben der Computer Vision: Objekterkennung, Instanzsegmentierung, Bildklassifizierung, Posenschätzung und orientierte Objekterkennung (OBB).
- Verbesserte Effizienz: Erzielt im Vergleich zu vielen früheren Modellen eine höhere Genauigkeit mit weniger Parametern, was ein besseres Gleichgewicht zwischen Geschwindigkeit und Genauigkeit darstellt.
- Flexible Bereitstellung: Entwickelt für den Einsatz auf verschiedenen Plattformen, von Edge-Geräten bis zur Cloud-Infrastruktur.
Unterstützte Aufgaben und Modi
YOLO12 unterstützt eine Vielzahl von Computer Vision Aufgaben. Die folgende Tabelle zeigt die Unterstützung der Aufgaben und die für jede Aufgabe aktivierten Betriebsmodi (Inferenz, Validierung, Training und Export):
Modell Typ | Aufgabe | Inferenz | Validierung | Ausbildung | Exportieren |
---|---|---|---|---|---|
YOLO12 | Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLO12-seg | Segmentierung | ✅ | ✅ | ✅ | ✅ |
YOLO12-Pose | Pose | ✅ | ✅ | ✅ | ✅ |
YOLO12-cls | Klassifizierung | ✅ | ✅ | ✅ | ✅ |
YOLO12-obb | OBB | ✅ | ✅ | ✅ | ✅ |
Leistungsmetriken
YOLO12 zeigt signifikante Genauigkeitsverbesserungen über alle Modellskalen hinweg, mit einigen Abstrichen bei der Geschwindigkeit im Vergleich zu den schnellsten früheren YOLO . Nachfolgend sind die quantitativen Ergebnisse für die Objekterkennung auf dem COCO-Validierungsdatensatz aufgeführt:
Detektionsleistung (COCO val2017)
Leistung
Modell | Größe (Pixel) |
mAPval 50-95 |
Geschwindigkeit CPU ONNX (ms) |
Geschwindigkeit T4 TensorRT (ms) |
params (M) |
FLOPs (B) |
Vergleich (mAP/Geschwindigkeit) |
---|---|---|---|---|---|---|---|
YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 6.5 | +2,1%/-9% (gegenüber YOLOv10n) |
YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +0,1%/+42% (gegenüber RT-DETRv2) |
YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1,0%/-3% (vs. YOLO11m) |
YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0,4%/-8% (gegenüber YOLO11l) |
YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0,6%/-4% (gegenüber YOLO11x) |
- Inferenzgeschwindigkeit gemessen auf einer NVIDIA T4 GPU mit TensorRT FP16 Präzision.
- Die Vergleiche zeigen die relative Verbesserung des mAP und die prozentuale Veränderung der Geschwindigkeit (positiv bedeutet schneller, negativ langsamer). Soweit verfügbar, werden Vergleiche mit veröffentlichten Ergebnissen für YOLOv10, YOLO11 und RT-DETR angestellt.
Beispiele für die Verwendung
Dieser Abschnitt enthält Beispiele für Training und Inferenz mit YOLO12. Eine umfassendere Dokumentation zu diesen und anderen Modi (einschließlich Validierung und Export) finden Sie auf den entsprechenden Seiten zu Predict und Train.
Die folgenden Beispiele konzentrieren sich auf YOLO12 Detect-Modelle (für die Objekterkennung). Für andere unterstützte Aufgaben (Segmentierung, Klassifizierung, orientierte Objekterkennung und Pose-Schätzung) lesen Sie bitte die jeweilige aufgabenspezifische Dokumentation: Segmentieren, Klassifizieren, OBB und Pose.
Beispiel
Vorgeschult *.pt
Modelle (mit PyTorch) und Konfiguration *.yaml
Dateien können an den YOLO()
Klasse, um eine Modellinstanz in Python zu erstellen:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")
# 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 YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Befehle der BefehlszeilenschnittstelleCLI) sind ebenfalls verfügbar:
Wichtige Verbesserungen
-
Verbesserte Merkmalsextraktion:
- Area Attention: Effiziente Handhabung großer rezeptiver Felder, Reduzierung der Rechenkosten.
- Optimiertes Gleichgewicht: Verbessertes Gleichgewicht zwischen Aufmerksamkeit und Feedforward-Netzberechnungen.
- R-ELAN: Verbessert die Feature-Aggregation unter Verwendung der R-ELAN-Architektur.
-
Optimierung von Innovationen:
- Residuale Verknüpfungen: Führt Restverbindungen mit Skalierung ein, um das Training zu stabilisieren, insbesondere bei größeren Modellen.
- Verfeinerte Feature-Integration: Implementiert eine verbesserte Methode zur Integration von Merkmalen in R-ELAN.
- FlashAttention: Enthält FlashAttention zur Reduzierung des Speicherzugriffs-Overheads.
-
Architektonische Effizienz:
- Reduzierte Parameter: Erzielt eine geringere Anzahl von Parametern bei gleichbleibender oder verbesserter Genauigkeit im Vergleich zu vielen früheren Modellen.
- Vereinfachte Aufmerksamkeit: Verwendet eine vereinfachte Aufmerksamkeitsimplementierung und vermeidet Positionskodierung.
- Optimierte MLP-Verhältnisse: Passt die MLP-Verhältnisse an, um die Rechenressourcen effektiver zu nutzen.
Anforderungen
Die Ultralytics YOLO12-Implementierung erfordert standardmäßig kein FlashAttention. FlashAttention kann jedoch optional kompiliert und mit YOLO12 verwendet werden. Zum Kompilieren von FlashAttention ist einer der folgenden NVIDIA erforderlich:
- Turing-GPUs (z. B. T4, Quadro RTX-Serie)
- Ampere-GPUs (z. B. RTX30-Serie, A30/40/100)
- Ada Lovelace-GPUs (z. B. RTX40-Serie)
- Hopper-GPUs (z. B. H100/H200)
Zitate und Danksagungen
Wenn Sie YOLO12 in Ihrer Forschung verwenden, zitieren Sie bitte die Originalarbeit der University at Buffalo und der University of Chinese Academy of Sciences:
@article{tian2025yolov12,
title={YOLOv12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
journal={arXiv preprint arXiv:2502.12524},
year={2025}
}
@software{yolo12,
author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
title = {YOLOv12: Attention-Centric Real-Time Object Detectors},
year = {2025},
url = {https://github.com/sunsmarterjie/yolov12},
license = {AGPL-3.0}
}
FAQ
Wie erreicht YOLO12 die Objekterkennung in Echtzeit bei gleichzeitig hoher Genauigkeit?
YOLO12 enthält mehrere wichtige Innovationen, um Geschwindigkeit und Genauigkeit in Einklang zu bringen. Der Area-Attention-Mechanismus verarbeitet effizient große rezeptive Felder und reduziert so die Rechenkosten im Vergleich zur Standard-Selbstaufmerksamkeit. Die Residual Efficient Layer Aggregation Networks (R-ELAN) verbessern die Feature-Aggregation und lösen Optimierungsprobleme in größeren aufmerksamkeitszentrierten Modellen. Die optimierte Aufmerksamkeitsarchitektur, einschließlich der Verwendung von FlashAttention und der Entfernung der Positionskodierung, erhöht die Effizienz weiter. Dank dieser Merkmale erreicht YOLO12 die modernste Genauigkeit bei gleichzeitiger Beibehaltung der für viele Anwendungen entscheidenden Echtzeit-Inferenzgeschwindigkeit.
Welche Bildverarbeitungsaufgaben werden von YOLO12 unterstützt?
YOLO12 ist ein vielseitiges Modell, das eine breite Palette von Kernaufgaben der Computer Vision unterstützt. Es zeichnet sich durch Objekterkennung, Instanzsegmentierung, Bildklassifizierung, Posenschätzung und orientierte Objekterkennung (OBB) aus(siehe Details). Diese umfassende Aufgabenunterstützung macht YOLO12 zu einem leistungsstarken Werkzeug für verschiedene Anwendungen, von Robotik und autonomem Fahren bis hin zu medizinischer Bildgebung und industrieller Inspektion. Jede dieser Aufgaben kann in den Modi Inferenz, Validierung, Training und Export durchgeführt werden.
Wie schneidet YOLO12 im Vergleich zu anderen YOLO und Wettbewerbern wie RT-DETR ab?
YOLO12 zeigt im Vergleich zu früheren YOLO wie YOLOv10 und YOLO11 signifikante Genauigkeitsverbesserungen über alle Modellskalen hinweg, mit einigen Abstrichen bei der Geschwindigkeit im Vergleich zu den schnellsten früheren Modellen. Zum Beispiel erreicht YOLO12n eine mAP-Verbesserung von +2,1 % gegenüber YOLOv10n und +1,2 % gegenüber YOLO11n auf dem COCO val2017-Datensatz. Im Vergleich zu Modellen wie RT-DETRbietet YOLO12s eine mAP-Verbesserung von +1,5 % und eine erhebliche Geschwindigkeitssteigerung von +42 %. Diese Metriken unterstreichen die Ausgewogenheit von YOLO12s zwischen Genauigkeit und Effizienz. Detaillierte Vergleiche finden Sie im Abschnitt Leistungsmetriken.
Was sind die Hardware-Anforderungen für den Betrieb von YOLO12, insbesondere für die Verwendung von FlashAttention?
Standardmäßig erfordert die Ultralytics YOLO12-Implementierung kein FlashAttention. FlashAttention kann jedoch optional kompiliert und mit YOLO12 verwendet werden, um den Speicherzugriffs-Overhead zu minimieren. Zum Kompilieren von FlashAttention ist einer der folgenden NVIDIA erforderlich: Turing GPUs (z.B. T4, Quadro RTX Serie), Ampere GPUs (z.B. RTX30 Serie, A30/40/100), Ada Lovelace GPUs (z.B. RTX40 Serie) oder Hopper GPUs (z.B. H100/H200). Dank dieser Flexibilität können Anwender die Vorteile von FlashAttention nutzen, wenn es die Hardware-Ressourcen erlauben.
Wo finde ich Anwendungsbeispiele und eine ausführlichere Dokumentation zu YOLO12?
Diese Seite enthält grundlegende Anwendungsbeispiele für Training und Inferenz. Umfassende Dokumentation zu diesen und anderen Modi, einschließlich Validierung und Export, finden Sie auf den speziellen Seiten Predict und Train. Aufgabenspezifische Informationen (Segmentierung, Klassifizierung, orientierte Objekterkennung und Pose-Schätzung) finden Sie in der jeweiligen Dokumentation: Segmentieren, Klassifizieren, OBB und Pose. Diese Ressourcen bieten ausführliche Anleitungen für den effektiven Einsatz von YOLO12 in verschiedenen Szenarien.