YOLO12: Auf Attention-zentrierte Objekterkennung

Übersicht

YOLO12, veröffentlicht Anfang 2025, führt eine Attention-zentrierte Architektur ein, die von den herkömmlichen CNN-basierten Ansätzen früherer YOLO-Modelle abweicht, dabei jedoch die für viele Anwendungen unerlässliche Echtzeit-Inferenzgeschwindigkeit beibehält. Dieses Modell erreicht durch neuartige methodische Innovationen bei Attention-Mechanismen und der gesamten Netzwerkarchitektur eine hohe Genauigkeit bei der Objekterkennung, während die Echtzeit-Performance gewahrt bleibt. Trotz dieser Vorteile bleibt YOLO12 ein von der Community gesteuertes Release, das aufgrund seiner schweren Attention-Blöcke Instabilitäten beim Training, einen erhöhten Speicherverbrauch und einen langsameren CPU-Durchsatz aufweisen kann. Daher empfiehlt Ultralytics für die meisten Produktions-Workloads YOLO11 oder YOLO26.

Community-Modell

YOLO12 wird primär für Benchmarking und Forschung gepflegt. Wenn du stabiles Training, vorhersehbare Speicherauslastung und optimierte CPU-Inferenz benötigst, wähle für den Einsatz YOLO11 oder YOLO26.



Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀

Hauptmerkmale

  • Area Attention-Mechanismus: Ein neuer Self-Attention-Ansatz, der große rezeptive Felder effizient verarbeitet. Er unterteilt feature maps 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. Dies reduziert den Rechenaufwand im Vergleich zu Standard-Self-Attention erheblich.
  • Residual Efficient Layer Aggregation Networks (R-ELAN): Ein verbessertes Feature-Aggregationsmodul basierend auf ELAN, das darauf ausgelegt ist, Optimierungsherausforderungen anzugehen, insbesondere in größeren, Attention-zentrierten Modellen. R-ELAN führt Folgendes ein:
    • Block-Level Residual Connections mit Skalierung (ähnlich wie Layer-Skalierung).
    • Eine neu gestaltete Feature-Aggregationsmethode, die eine Bottleneck-ähnliche Struktur erzeugt.
  • Optimierte Attention-Architektur: YOLO12 rationalisiert den Standard-Attention-Mechanismus für mehr Effizienz und Kompatibilität mit dem YOLO-Framework. Dies beinhaltet:
    • Nutzung von FlashAttention zur Minimierung des Overheads beim Speicherzugriff.
    • Entfernung von positional encoding für ein saubereres und schnelleres Modell.
    • Anpassung des MLP-Verhältnisses (von typischerweise 4 auf 1,2 oder 2), um die Berechnung zwischen Attention- und Feed-Forward-Layern besser auszubalancieren.
    • Reduzierung der Tiefe gestapelter Blöcke für eine verbesserte Optimierung.
    • Nutzung von Faltungsoperationen (wo angemessen) aufgrund ihrer Recheneffizienz.
    • Hinzufügen einer 7x7 separablen Faltung (der "Position Perceiver") zum Attention-Mechanismus, um Positionsinformationen implizit zu kodieren.
  • Umfassende Aufgabenunterstützung: YOLO12 unterstützt eine Reihe von grundlegenden Computer-Vision-Aufgaben: Objekterkennung, instance segmentation, image classification, Pose-Schätzung und orientierte Objekterkennung (OBB).
  • Verbesserte Effizienz: Erreicht im Vergleich zu vielen früheren Modellen eine höhere Genauigkeit mit weniger Parametern, was ein verbessertes Gleichgewicht zwischen Geschwindigkeit und Genauigkeit zeigt.
  • Flexible Bereitstellung: Konzipiert für die Bereitstellung auf diversen Plattformen, von Edge-Geräten bis hin zu Cloud-Infrastrukturen.

YOLO12 Vergleichsvisualisierung

Unterstützte Aufgaben und Modi

YOLO12 unterstützt eine Vielzahl von Computer-Vision-Aufgaben. Die folgende Tabelle zeigt die Aufgabenunterstützung und die für jede Aufgabe aktivierten Betriebsmodi (Inferenz, Validierung, Training und Export):

Verfügbarkeit von vortrainierten Gewichten

Nur Erkennungsgewichte (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) werden auf ultralytics/assets veröffentlicht. Segmentierungs-, Klassifizierungs-, Pose- und OBB-Architekturen sind in ultralytics/cfg/models/12/ definiert, sodass diese Varianten das Training von Grund auf mit der .yaml-Konfiguration unterstützen, aber derzeit keine vortrainierten .pt-Dateien für sie verfügbar sind. Für vortrainierte Segmentierungs-, Pose-, Klassifizierungs- oder OBB-Checkpoints empfiehlt Ultralytics YOLO11 oder YOLO26.

ModelltypAufgabeVortrainierte GewichteInferenzValidierungTrainingExportieren
YOLO12Detection
YOLO12-segSegmentierung
YOLO12-posePose
YOLO12-clsClassification
YOLO12-obbOBB

Alle YOLO12-Architekturen unterstützen jeden Modus, sobald ein trainierter Checkpoint verfügbar ist. Die Spalte Pretrained Weights gibt nur an, ob Ultralytics ein offizielles vortrainiertes .pt auf ultralytics/assets veröffentlicht: Für Segmentierung, Pose, Klassifizierung und OBB musst du deinen eigenen Checkpoint aus der entsprechenden .yaml trainieren, bevor du Inferenz, Validierung oder Export ausführst.

Leistungskennzahlen

YOLO12 zeigt signifikante Genauigkeits-Verbesserungen über alle Modellskalen hinweg, mit einigen Kompromissen bei der Geschwindigkeit im Vergleich zu den schnellsten früheren YOLO-Modellen. Unten sind die quantitativen Ergebnisse für Objekterkennung auf dem COCO-Validierungsdatensatz:

Erkennungsleistung (COCO val2017)

Leistung
ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT
(ms)
Params
(M)
FLOPs
(B)
Vergleich
(mAP/Geschwindigkeit)
YOLO12n64040.6-1.642.66.5+2.1%/-9% (vs. YOLOv10n)
YOLO12s64048.0-2.619.321.4+0.1%/+42% (vs. RT-DETRv2)
YOLO12m64052.5-4.8620.267.5+1.0%/-3% (vs. YOLO11m)
YOLO12l64053.7-6.7726.488.9+0.4%/-8% (vs. YOLO11l)
YOLO12x64055.2-11.7959,1199.0+0.6%/-4% (vs. YOLO11x)
  • Inferenzgeschwindigkeit gemessen auf einer NVIDIA T4 GPU mit TensorRT FP16 Präzision.
  • Vergleiche zeigen die relative Verbesserung des mAP und die prozentuale Änderung der Geschwindigkeit (positiv bedeutet schneller; negativ bedeutet langsamer). Die Vergleiche werden, sofern verfügbar, mit veröffentlichten Ergebnissen für YOLOv10, YOLO11 und RT-DETR angestellt.

Anwendungsbeispiele

Dieser Abschnitt bietet Beispiele für Training und Inferenz mit YOLO12. Für umfassendere Dokumentationen zu diesen und anderen Modi (einschließlich Validierung und Export), konsultiere die dedizierten Vorhersage- und Training-Seiten.

Die folgenden Beispiele konzentrieren sich auf YOLO12 Detect-Modelle (für Objekterkennung). Für andere unterstützte Aufgaben (Segmentierung, Klassifizierung, orientierte Objekterkennung und Pose-Schätzung), siehe die jeweilige aufgabenspezifische Dokumentation: Segment, Klassifizieren, OBB und Pose.

Beispiel

Vortrainierte *.pt-Modelle (unter Verwendung von PyTorch) und Konfigurations-*.yaml-Dateien können an die YOLO()-Klasse übergeben werden, 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")

Wichtige Verbesserungen

  1. Verbesserte Feature-Extraktion:

    • Area Attention: Handhabt effizient große rezeptive Felder und reduziert den Rechenaufwand.
    • Optimiertes Gleichgewicht: Verbessertes Gleichgewicht zwischen Berechnungen von Attention- und Feed-Forward-Netzwerken.
    • R-ELAN: Verbessert die Feature-Aggregation durch die R-ELAN-Architektur.
  2. Optimierungsinnovationen:

    • Residual Connections: Führt Residual Connections mit Skalierung ein, um das Training zu stabilisieren, insbesondere in größeren Modellen.
    • Verfeinerte Feature-Integration: Implementiert eine verbesserte Methode für die Feature-Integration innerhalb von R-ELAN.
    • FlashAttention: Integriert FlashAttention, um den Overhead beim Speicherzugriff zu reduzieren.
  3. Architektonische Effizienz:

    • Reduzierte Parameter: Erreicht eine geringere Parameteranzahl bei gleichzeitiger Beibehaltung oder Verbesserung der Genauigkeit im Vergleich zu vielen früheren Modellen.
    • Rationalisierte Attention: Verwendet eine vereinfachte Attention-Implementierung, wobei positional encoding vermieden wird.
    • Optimierte MLP-Verhältnisse: Passt MLP-Verhältnisse an, um Rechenressourcen effektiver zuzuweisen.

Anforderungen

Die Ultralytics YOLO12-Implementierung erfordert standardmäßig kein FlashAttention. FlashAttention kann jedoch optional kompiliert und mit YOLO12 verwendet werden. Um FlashAttention zu kompilieren, wird eine der folgenden NVIDIA-GPUs benötigt:

Zitate und Danksagungen

Wenn du YOLO12 in deiner Forschung verwendest, zitiere bitte die Originalarbeit der University at Buffalo und der University of Chinese Academy of Sciences:

Zitat
@article{tian2025yolo12,
  title={YOLO12: 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 = {YOLO12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

FAQ

Wie erreicht YOLO12 Echtzeit-Objekterkennung bei gleichzeitig hoher Genauigkeit?

YOLO12 enthält mehrere wichtige Innovationen, um Geschwindigkeit und Genauigkeit auszubalancieren. Der Area Attention-Mechanismus verarbeitet effizient große rezeptive Felder und reduziert den Rechenaufwand im Vergleich zu Standard-Self-Attention. Die Residual Efficient Layer Aggregation Networks (R-ELAN) verbessern die Feature-Aggregation und adressieren Optimierungsherausforderungen in größeren, Attention-zentrierten Modellen. Eine optimierte Attention-Architektur, einschließlich der Verwendung von FlashAttention und dem Entfernen von positional encoding, verbessert die Effizienz weiter. Diese Funktionen ermöglichen es YOLO12, eine erstklassige Genauigkeit zu erreichen und gleichzeitig die für viele Anwendungen entscheidende Echtzeit-Inferenzgeschwindigkeit beizubehalten.

Welche Computer-Vision-Aufgaben unterstützt YOLO12?

YOLO12 ist ein vielseitiges Modell, das eine breite Palette grundlegender Computer-Vision-Aufgaben unterstützt. Es zeichnet sich aus bei Objekterkennung, Instanzsegmentierung, Bildklassifizierung, Pose-Schätzung und orientierter Objekterkennung (OBB) (Details siehe). Diese umfassende Aufgabenunterstützung macht YOLO12 zu einem leistungsstarken Werkzeug für diverse Anwendungen, von Robotik und autonomem Fahren bis hin zu medizinischer Bildgebung und industrieller Inspektion. Beachte, dass vortrainierte .pt-Gewichte derzeit nur für die Erkennung veröffentlicht werden; die Architekturen für Segmentierung, Pose, Klassifizierung und OBB werden als .yaml-Konfigurationen für ein Training von Grund auf bereitgestellt.

Wie schneidet YOLO12 im Vergleich zu anderen YOLO-Modellen und Wettbewerbern wie RT-DETR ab?

YOLO12 zeigt signifikante Genauigkeitsverbesserungen über alle Modellskalen hinweg im Vergleich zu früheren YOLO-Modellen wie YOLOv10 und YOLO11, mit einigen Kompromissen bei der Geschwindigkeit im Vergleich zu den schnellsten früheren Modellen. Beispielsweise 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-DETR bietet YOLO12s eine mAP-Verbesserung von +1,5 % und eine beträchtliche Geschwindigkeitssteigerung von +42 %. Diese Kennzahlen unterstreichen das starke Gleichgewicht von YOLO12 zwischen Genauigkeit und Effizienz. Siehe den Abschnitt Leistungsmetriken für detaillierte Vergleiche.

Was sind die Hardwareanforderungen für die Ausführung von YOLO12, insbesondere für die Nutzung von FlashAttention?

Die Ultralytics YOLO12-Implementierung erfordert standardmäßig kein FlashAttention. FlashAttention kann jedoch optional kompiliert und mit YOLO12 verwendet werden, um den Overhead beim Speicherzugriff zu minimieren. Um FlashAttention zu kompilieren, ist eine der folgenden NVIDIA-GPUs 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). Diese Flexibilität ermöglicht es Nutzern, die Vorteile von FlashAttention zu nutzen, wenn die Hardwareressourcen dies zulassen.

Wo finde ich Nutzungsbeispiele und detailliertere Dokumentationen für YOLO12?

Diese Seite bietet grundlegende Nutzungsbeispiele für Training und Inferenz. Für eine umfassende Dokumentation zu diesen und anderen Modi, einschließlich Validierung und Export, konsultiere die dedizierten Vorhersage- und Training-Seiten. Für aufgabenspezifische Informationen (Segmentierung, Klassifizierung, orientierte Objekterkennung und Pose-Schätzung), siehe die jeweilige Dokumentation: Segment, Klassifizieren, OBB und Pose. Diese Ressourcen bieten tiefgehende Anleitungen für den effektiven Einsatz von YOLO12 in verschiedenen Szenarien.

Kommentare