Zum Inhalt springen

YOLO12: Aufmerksamkeitszentrierte Objekterkennung

Überblick

YOLO12 führt eine auf Aufmerksamkeit ausgerichtete Architektur ein, die von den traditionellen CNN-basierten Ansätzen früherer YOLO-Modelle abweicht, aber dennoch die Echtzeit-Inferenzgeschwindigkeit beibehält, die für viele Anwendungen unerlässlich ist. Dieses Modell erreicht modernste Objekterkennungsgenauigkeit durch neuartige methodische Innovationen in Aufmerksamkeitsmechanismen und der gesamten Netzwerkarchitektur, während die Echtzeit-Performance erhalten bleibt.



Ansehen: Wie man YOLO12 für Objekterkennung mit dem Ultralytics-Paket verwendet | Ist YOLO12 schnell oder langsam? 🚀

Hauptmerkmale

  • Area Attention Mechanism: Ein neuer Self-Attention-Ansatz, der große rezeptive Felder effizient verarbeitet. Er teilt Feature Maps in l gleich große Regionen auf (standardmäßig 4), entweder horizontal oder vertikal, wodurch komplexe Operationen vermieden und ein großes effektives rezeptives Feld erhalten bleibt. Dies reduziert die Rechenkosten im Vergleich zur Standard-Self-Attention erheblich.
  • Residual Efficient Layer Aggregation Networks (R-ELAN): Ein verbessertes Feature Aggregation Modul basierend auf ELAN, das entwickelt wurde, um Optimierungsherausforderungen zu bewältigen, insbesondere bei größeren, auf Aufmerksamkeit ausgerichteten Modellen. R-ELAN führt Folgendes ein:
    • Residual Connections auf Blockebene mit Skalierung (ähnlich der Layer-Skalierung).
    • Eine neu gestaltete Feature-Aggregation-Methode, die eine flaschenhalsartige Struktur erzeugt.
  • Optimierte Aufmerksamkeitsarchitektur: YOLO12 optimiert den Standard-Aufmerksamkeitsmechanismus für mehr Effizienz und Kompatibilität mit dem YOLO-Framework. Dies beinhaltet:
    • Verwendung von FlashAttention zur Minimierung des Speicherzugriffs-Overheads.
    • Entfernen der Positionskodierung für ein schlankeres und schnelleres Modell.
    • Anpassen des MLP-Verhältnisses (von den typischen 4 auf 1,2 oder 2), um die Berechnung zwischen Attention- und Feedforward-Layern besser auszugleichen.
    • Reduzierung der Tiefe gestapelter Blöcke zur Verbesserung der Optimierung.
    • Nutzung von Faltungsoperationen (wo angemessen) aufgrund ihrer Berechnungseffizienz.
    • Hinzufügen einer 7x7 separierbaren Faltung (der "Position Perceiver") zum Aufmerksamkeitsmechanismus, um Positionsinformationen implizit zu kodieren.
  • Comprehensive Task Support: YOLO12 unterstützt eine Reihe von zentralen Computer-Vision-Aufgaben: Objekterkennung, Instanzsegmentierung, Bildklassifizierung, Pose-Schätzung und orientierte Objekterkennung (OBB).
  • Erhöhte Effizienz: Erreicht eine höhere Genauigkeit mit weniger Parametern im Vergleich zu vielen früheren Modellen, was ein verbessertes Gleichgewicht zwischen Geschwindigkeit und Genauigkeit demonstriert.
  • Flexible Bereitstellung: Entwickelt für die Bereitstellung auf verschiedenen Plattformen, von Edge-Geräten bis hin zur Cloud-Infrastruktur.

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):

Modelltyp Aufgabe Inferenz Validierung Training Export
YOLO12 Erkennung
YOLO12-seg Segmentation
YOLO12-pose Pose
YOLO12-cls Klassifizierung
YOLO12-obb OBB

Leistungsmetriken

YOLO12 demonstriert signifikante Genauigkeits-Verbesserungen über alle Modellskalen hinweg, mit einigen Kompromissen in der Geschwindigkeit im Vergleich zu den schnellsten vorherigen YOLO-Modellen. Nachfolgend finden Sie quantitative Ergebnisse für die Objekterkennung auf dem COCO-Validierungsdatensatz:

Erkennungsleistung (COCO val2017)

Performance

Modell Größe
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT
(ms)
Parameter
(M)
FLOPs
(B)
Vergleich
(mAP/Geschwindigkeit)
YOLO12n 640 40.6 - 1.64 2.6 6.5 +2.1% /-9% (vs. YOLOv10n)
YOLO12s 640 48.0 - 2.61 9.3 21.4 +0.1% /+42% (vs. 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% (vs. YOLO11l)
YOLO12x 640 55.2 - 11.79 59.1 199.0 +0.6% /-4% (vs. YOLO11x)
  • Die Inferenzgeschwindigkeit wurde auf einer NVIDIA T4 GPU mit TensorRT FP16 Genauigkeit gemessen.
  • Vergleiche zeigen die relative Verbesserung der mAP und die prozentuale Änderung der Geschwindigkeit (positiv bedeutet schneller; negativ bedeutet langsamer). Die Vergleiche werden mit veröffentlichten Ergebnissen für YOLOv10, YOLO11 und RT-DETR durchgeführt, sofern verfügbar.

Anwendungsbeispiele

Dieser Abschnitt enthält Beispiele für Training und Inferenz mit YOLO12. Für eine umfassendere Dokumentation zu diesen und anderen Modi (einschließlich Validierung und Export) konsultieren Sie die entsprechenden Seiten Predict und Train.

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

Beispiel

Vorab trainiert *.pt Modelle (unter Verwendung von PyTorch) und Konfiguration *.yaml Dateien können an die 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 für die Befehlszeilenschnittstelle (CLI) sind ebenfalls verfügbar:

# Load a COCO-pretrained YOLO12n model and train on the COCO8 example dataset for 100 epochs
yolo train model=yolo12n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLO12n model and run inference on the 'bus.jpg' image
yolo predict model=yolo12n.pt source=path/to/bus.jpg

Wichtige Verbesserungen

  1. Verbesserte Merkmalsextraktion:

    • Area Attention: Verarbeitet große rezeptive Felder effizient und reduziert die Rechenkosten.
    • Optimierte Balance: Verbesserte Balance zwischen Attention- und Feed-Forward-Netzwerkberechnungen.
    • R-ELAN: Verbessert die Feature-Aggregation mithilfe der R-ELAN-Architektur.
  2. Optimierungsinnovationen:

    • Residual Connections: Führt Residual Connections mit Skalierung ein, um das Training zu stabilisieren, insbesondere bei größeren Modellen.
    • Verfeinerte Feature-Integration: Implementiert eine verbesserte Methode zur Feature-Integration innerhalb von R-ELAN.
    • FlashAttention: Integriert FlashAttention, um den Speicherzugriffs-Overhead 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.
    • Optimierte Aufmerksamkeit: Verwendet eine vereinfachte Aufmerksamkeitsimplementierung, die auf Positionskodierung verzichtet.
    • Optimierte MLP-Verhältnisse: Passt die MLP-Verhältnisse an, um die Rechenressourcen effektiver zu verteilen.

Anforderungen

Die Ultralytics YOLO12-Implementierung benötigt 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 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 Objekterkennung in Echtzeit bei gleichzeitig hoher Genauigkeit?

YOLO12 integriert mehrere wichtige Innovationen, um Geschwindigkeit und Genauigkeit auszubalancieren. Der Area Attention-Mechanismus verarbeitet große rezeptive Felder effizient und reduziert die Rechenkosten im Vergleich zur Standard-Selbstaufmerksamkeit. Die Residual Efficient Layer Aggregation Networks (R-ELAN) verbessern die Feature-Aggregation und bewältigen Optimierungsherausforderungen in größeren, auf Aufmerksamkeit ausgerichteten Modellen. Die optimierte Aufmerksamkeitsarchitektur, einschließlich der Verwendung von FlashAttention und dem Entfernen der Positionskodierung, verbessert die Effizienz zusätzlich. Diese Funktionen ermöglichen es YOLO12, modernste Genauigkeit zu erzielen und gleichzeitig die Echtzeit-Inferenzgeschwindigkeit beizubehalten, die für viele Anwendungen entscheidend ist.

Welche Computer Vision-Aufgaben unterstützt YOLO12?

YOLO12 ist ein vielseitiges Modell, das eine breite Palette von zentralen Computer-Vision-Aufgaben unterstützt. Es zeichnet sich aus in Objekterkennung, Instanzsegmentierung, Bildklassifizierung, Pose-Schätzung und orientierter Objekterkennung (OBB) (siehe Details). Diese umfassende Aufgabenunterstützung macht YOLO12 zu einem leistungsstarken Werkzeug für vielfältige 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-Modellen und Wettbewerbern wie RT-DETR ab?

YOLO12 demonstriert 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 Vorgängermodellen. Zum Beispiel erreicht YOLO12n eine +2,1% mAP-Verbesserung gegenüber YOLOv10n und +1,2% gegenüber YOLO11n auf dem COCO val2017-Datensatz. Im Vergleich zu Modellen wie RT-DETR bietet YOLO12s eine +1,5% mAP-Verbesserung und eine erhebliche +42% Geschwindigkeitssteigerung. Diese Metriken unterstreichen die starke Balance zwischen Genauigkeit und Effizienz von YOLO12. Detaillierte Vergleiche finden Sie im Abschnitt Leistungsmetriken.

Welche Hardwareanforderungen gibt es für die Ausführung von YOLO12, insbesondere bei Verwendung von FlashAttention?

Standardmäßig benötigt 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 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 Benutzern, die Vorteile von FlashAttention zu nutzen, wenn die Hardwareressourcen dies zulassen.

Wo finde ich Anwendungsbeispiele und detailliertere Dokumentation für YOLO12?

Diese Seite bietet grundlegende Anwendungsbeispiele für Training und Inferenz. Für eine umfassende Dokumentation zu diesen und anderen Modi, einschließlich Validierung und Export, konsultieren Sie die entsprechenden Seiten Vorhersagen und Trainieren. Für aufgabenspezifische Informationen (Segmentierung, Klassifizierung, orientierte Objekterkennung und Pose-Schätzung) konsultieren Sie die jeweilige Dokumentation: Segment, Classify, OBB und Pose. Diese Ressourcen bieten eine detaillierte Anleitung für die effektive Nutzung von YOLO12 in verschiedenen Szenarien.



📅 Erstellt vor 6 Monaten ✏️ Aktualisiert vor 2 Monaten

Kommentare