Intel OpenVINO Export

OpenVINO Intel AI inference toolkit

In diesem Leitfaden behandeln wir den Export von YOLO26-Modellen in das OpenVINO-Format, das eine bis zu dreifache CPU-Beschleunigung bieten kann sowie die YOLO-Inferenz auf Intel GPU- und NPU-Hardware beschleunigt.

OpenVINO, kurz für Open Visual Inference & Neural Network Optimization Toolkit, ist ein umfassendes Toolkit zur Optimierung und Bereitstellung von KI-Inferenzmodellen. Obwohl der Name "Visual" enthält, unterstützt OpenVINO auch verschiedene weitere Aufgaben, einschließlich Sprache, Audio, Zeitreihen usw.



Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀

Anwendungsbeispiele

Exportiere ein YOLO26n-Modell in das OpenVINO-Format und führe die Inferenz mit dem exportierten Modell durch.

Beispiel
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")

# Run inference with specified device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")

Export-Argumente

ArgumentTypStandardwertBeschreibung
formatstr'openvino'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für spezifische Dimensionen sein.
halfboolFalseAktiviert die FP16 (Halbpräzisions-) Quantisierung, reduziert die Modellgröße und beschleunigt möglicherweise die Inferenz auf unterstützter Hardware.
int8boolFalseAktiviert die INT8-Quantisierung, komprimiert das Modell weiter und beschleunigt die Inferenz mit minimalem Genauigkeits-Verlust, hauptsächlich für Edge-Geräte.
dynamicboolFalseErlaubt dynamische Eingabegrößen und verbessert die Flexibilität bei der Handhabung variierender Bilddimensionen.
nmsboolFalseFügt Non-Maximum Suppression (NMS) hinzu, was für eine genaue und effiziente Nachbearbeitung der Erkennung unerlässlich ist.
batchint1Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl an Bildern an, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet.
datastr'coco8.yaml'Pfad zur Dataset-Konfigurationsdatei (Standard: coco8.yaml), unerlässlich für die Quantisierung.
fractionfloat1.0Gibt den Anteil des Datensatzes an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des vollständigen Datensatzes, nützlich für Experimente oder bei begrenzten Ressourcen. Wenn bei aktiviertem INT8 nicht angegeben, wird der gesamte Datensatz verwendet.

Weitere Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Export.

Warnung

OpenVINO™ ist mit den meisten Intel®-Prozessoren kompatibel, aber um eine optimale Leistung zu gewährleisten:

  1. Überprüfe die OpenVINO™-Unterstützung Prüfe, ob dein Intel®-Chip offiziell von OpenVINO™ unterstützt wird, unter Verwendung der Intel-Kompatibilitätsliste.

  2. Identifiziere deinen Beschleuniger Bestimme, ob dein Prozessor eine integrierte NPU (Neural Processing Unit) oder GPU (integrierte GPU) enthält, indem du das Hardware-Handbuch von Intel konsultierst.

  3. Installiere die neuesten Treiber Wenn dein Chip eine NPU oder GPU unterstützt, OpenVINO™ diese jedoch nicht erkennt, musst du möglicherweise die zugehörigen Treiber installieren oder aktualisieren. Folge den Treiber-Installationsanweisungen, um die volle Beschleunigung zu aktivieren.

Indem du diese drei Schritte befolgst, kannst du sicherstellen, dass OpenVINO™ optimal auf deiner Intel®-Hardware läuft.

Vorteile von OpenVINO

  1. Performance: OpenVINO bietet leistungsstarke Inferenz durch die Nutzung der Leistung von Intel CPUs, integrierten und dedizierten GPUs sowie FPGAs.
  2. Unterstützung für heterogene Ausführung: OpenVINO bietet eine API, um einmal zu schreiben und auf jeder unterstützten Intel-Hardware (CPU, GPU, FPGA, VPU usw.) bereitzustellen.
  3. Model Optimizer: OpenVINO bietet einen Model Optimizer, der Modelle aus gängigen Deep Learning-Frameworks wie PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle und Caffe importiert, konvertiert und optimiert.
  4. Benutzerfreundlichkeit: Das Toolkit enthält mehr als 80 Tutorial-Notebooks (einschließlich YOLO26-Optimierung), die verschiedene Aspekte des Toolkits vermitteln.

OpenVINO-Exportstruktur

Wenn du ein Modell in das OpenVINO-Format exportierst, resultiert daraus ein Verzeichnis, das Folgendes enthält:

  1. XML-Datei: Beschreibt die Netzwerktopologie.
  2. BIN-Datei: Enthält die binären Daten der Gewichte und Biases.
  3. Mapping-Datei: Enthält die Zuordnung der ursprünglichen Modellausgabe-Tensoren zu OpenVINO-Tensor-Namen.

Du kannst diese Dateien verwenden, um die Inferenz mit der OpenVINO Inference Engine auszuführen.

Verwendung des OpenVINO-Exports in der Bereitstellung

Sobald dein Modell erfolgreich in das OpenVINO-Format exportiert wurde, hast du zwei Hauptoptionen zur Durchführung der Inferenz:

  1. Verwende das ultralytics-Paket, das eine High-Level-API bietet und die OpenVINO Runtime kapselt.

  2. Verwende das native openvino-Paket für eine fortgeschrittenere oder individuellere Kontrolle über das Inferenzverhalten.

Inferenz mit Ultralytics

Das ultralytics-Paket ermöglicht es dir, die Inferenz einfach über die predict-Methode mit dem exportierten OpenVINO-Modell durchzuführen. Du kannst auch das Zielgerät (z. B. intel:gpu, intel:npu, intel:cpu) über das device-Argument angeben.

from ultralytics import YOLO

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")  # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu")  # specify the device you want to run inference on

Dieser Ansatz ist ideal für schnelles Prototyping oder die Bereitstellung, wenn du keine vollständige Kontrolle über die Inferenz-Pipeline benötigst.

Inferenz mit OpenVINO Runtime

Die OpenVINO Runtime bietet eine einheitliche API für die Inferenz auf aller unterstützten Intel-Hardware. Sie bietet zudem fortgeschrittene Funktionen wie Lastverteilung über Intel-Hardware hinweg und asynchrone Ausführung. Weitere Informationen zur Durchführung der Inferenz findest du in den YOLO26-Notebooks.

Denke daran, dass du die XML- und BIN-Dateien sowie anwendungsspezifische Einstellungen wie Eingabegröße, Skalierungsfaktor für die Normalisierung usw. benötigst, um das Modell mit der Runtime korrekt einzurichten und zu verwenden.

In deiner Bereitstellungsanwendung würdest du typischerweise die folgenden Schritte ausführen:

  1. Initialisiere OpenVINO durch Erstellen von core = Core().
  2. Lade das Modell mit der Methode core.read_model().
  3. Kompiliere das Modell mit der Funktion core.compile_model().
  4. Bereite die Eingabe vor (Bild, Text, Audio usw.).
  5. Führe die Inferenz mit compiled_model(input_data) aus.

Für detailliertere Schritte und Code-Snippets beachte die OpenVINO-Dokumentation oder das API-Tutorial.

OpenVINO YOLO26 Benchmarks

Das Ultralytics-Team hat YOLO26 über verschiedene Modellformate und Präzisionen hinweg gebenchmarkt und dabei Geschwindigkeit und Genauigkeit auf verschiedenen Intel-Geräten bewertet, die mit OpenVINO kompatibel sind.

Hinweis
  • Die unten aufgeführten Benchmark-Ergebnisse dienen als Referenz und können je nach exakter Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Systemauslastung zum Zeitpunkt der Benchmark-Ausführung variieren.

  • Alle Benchmarks wurden mit dem openvino-Python-Paket in der Version 2026.2.0.dev20260501 ausgeführt. Wir werden die Benchmarks mit dem stabilen Build aktualisieren, sobald die Version 2026.2.0 veröffentlicht wurde.

  • YOLO26-Modelle auf NPUs werden nur auf Intel® Core™ Ultra™-Systemen der 2xxV-Serie und 3xx-Serie sowie höher unterstützt.

Intel® Core™ Ultra

Die Intel® Core™ Ultra™-Serie stellt einen neuen Maßstab im Hochleistungsrechnen dar, der entwickelt wurde, um die sich entwickelnden Anforderungen moderner Benutzer zu erfüllen – von Gamern und Kreativen bis hin zu Fachleuten, die KI nutzen. Diese nächste Generation ist mehr als eine traditionelle CPU-Serie; sie kombiniert leistungsstarke CPU-Kerne, integrierte Hochleistungs-GPU-Funktionen und eine dedizierte Neural Processing Unit (NPU) auf einem einzigen Chip und bietet damit eine einheitliche Lösung für vielfältige und intensive Rechenlasten.

Das Herzstück der Intel® Core Ultra™-Architektur ist ein hybrides Design, das außergewöhnliche Leistung bei traditionellen Verarbeitungsaufgaben, GPU-beschleunigten Workloads und KI-gesteuerten Operationen ermöglicht. Die Einbindung der NPU verbessert die On-Device-KI-Inferenz und ermöglicht schnelleres, effizienteres maschinelles Lernen und Datenverarbeitung über eine breite Palette von Anwendungen hinweg.

Die Core Ultra™-Familie umfasst verschiedene Modelle, die auf unterschiedliche Leistungsanforderungen zugeschnitten sind, mit Optionen von energieeffizienten Designs bis hin zu leistungsstarken Varianten mit der Bezeichnung "H" – ideal für Laptops und kompakte Formfaktoren, die ernsthafte Rechenleistung erfordern. Über die gesamte Produktpalette hinweg profitieren Benutzer von der Synergie der CPU-, GPU- und NPU-Integration, die bemerkenswerte Effizienz, Reaktionsfähigkeit und Multitasking-Fähigkeiten liefert.

Als Teil der kontinuierlichen Innovation von Intel setzt die Core Ultra™-Serie einen neuen Standard für zukunftsfähiges Computing. Mit mehreren verfügbaren Modellen und weiteren in der Pipeline unterstreicht diese Serie Intels Engagement, modernste Lösungen für die nächste Generation intelligenter, KI-gestützter Geräte zu liefern.

Die nachfolgenden Benchmarks wurden auf Intel® Core™ Ultra™ 7 258V und Intel® Core™ Ultra™ 7 155H mit FP32-, FP16- und INT8-Präzision ausgeführt.

Intel® Core™ Ultra™ 7 258V

Benchmarks
Intel Core Ultra GPU benchmarks
Detaillierte Benchmark-Ergebnisse
ModellFormatPräzisionStatusGröße (MB)metrics/mAP50-95(B)Inferenzzeit (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476531.43
YOLO26nOpenVINOFP329.60.47623.57
YOLO26nOpenVINOFP165.10.47623.53
YOLO26nOpenVINOINT83.20.46253.65
YOLO26sPyTorch (CPU)FP3219.50.570360.4
YOLO26sOpenVINOFP3236.70.56165.02
YOLO26sOpenVINOFP1618.60.56165.01
YOLO26sOpenVINOINT810.00.5474.31
YOLO26mPyTorch (CPU)FP3242.20.6196173.31
YOLO26mOpenVINOFP3278.30.61919.48
YOLO26mOpenVINOFP1639.50.61689.6
YOLO26mOpenVINOINT820.50.59946.03
YOLO26lPyTorch (CPU)FP3250.70.6173224.52
YOLO26lOpenVINOFP3295.30.372511.88
YOLO26lOpenVINOFP1648.10.620112.0
YOLO26lOpenVINOINT825.20.59998.47
YOLO26xPyTorch (CPU)FP32113.20.6512595.72
YOLO26xOpenVINOFP32213.20.656720.26
YOLO26xOpenVINOFP16107.10.645420.25
YOLO26xOpenVINOINT854.80.637414.77

Intel® Core™ Ultra™ 7 155H

Benchmarks
Intel Core Ultra GPU benchmarks
Detaillierte Benchmark-Ergebnisse
ModellFormatPräzisionStatusGröße (MB)metrics/mAP50-95(B)Inferenzzeit (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476538.77
YOLO26nOpenVINOFP329.60.47749.87
YOLO26nOpenVINOFP165.10.47749.84
YOLO26nOpenVINOINT83.20.47055.86
YOLO26sPyTorch (CPU)FP3219.50.570369.54
YOLO26sOpenVINOFP3236.70.561617.29
YOLO26sOpenVINOFP1618.60.561617.06
YOLO26sOpenVINOINT810.00.545210.33
YOLO26mPyTorch (CPU)FP3242.20.6196192.22
YOLO26mOpenVINOFP3278.30.618734.64
YOLO26mOpenVINOFP1639.50.618734.75
YOLO26mOpenVINOINT820.50.607315.99
YOLO26lPyTorch (CPU)FP3250.70.6215245.62
YOLO26lOpenVINOFP3295.30.620243.7
YOLO26lOpenVINOFP1648.10.620244.65
YOLO26lOpenVINOINT825.20.604820.31
YOLO26xPyTorch (CPU)FP32113.20.6512513.06
YOLO26xOpenVINOFP32213.20.654480.19
YOLO26xOpenVINOFP16107.10.654479.83
YOLO26xOpenVINOINT854.80.639335.16

Unsere Ergebnisse reproduzieren

Um die oben genannten Ultralytics Benchmarks für alle Export-Formate zu reproduzieren, führe diesen Code aus:

Beispiel
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")

Beachte, dass die Benchmark-Ergebnisse je nach exakter Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Systemauslastung zum Zeitpunkt der Benchmark-Ausführung variieren können. Für die zuverlässigsten Ergebnisse verwende einen Datensatz mit einer großen Anzahl von Bildern, z. B. data='coco.yaml' (5000 Val-Bilder).

Fazit

Die Benchmark-Ergebnisse demonstrieren eindeutig die Vorteile des Exports des YOLO26-Modells in das OpenVINO-Format. Über verschiedene Modelle und Hardwareplattformen hinweg übertrifft das OpenVINO-Format andere Formate konsistent hinsichtlich der Inferenzgeschwindigkeit bei gleichzeitig vergleichbarer Genauigkeit.

Die Benchmarks unterstreichen die Effektivität von OpenVINO als Werkzeug für die Bereitstellung von Deep-Learning-Modellen. Durch die Konvertierung von Modellen in das OpenVINO-Format können Entwickler signifikante Leistungsverbesserungen erzielen, was die Bereitstellung dieser Modelle in realen Anwendungen erleichtert.

Weitere detaillierte Informationen und Anleitungen zur Verwendung von OpenVINO findest du in der offiziellen OpenVINO-Dokumentation.

FAQ

Wie exportiere ich YOLO26-Modelle in das OpenVINO-Format?

Der Export von YOLO26-Modellen in das OpenVINO-Format kann die CPU-Geschwindigkeit erheblich steigern und GPU- sowie NPU-Beschleunigungen auf Intel-Hardware ermöglichen. Zum Exportieren kannst du entweder Python oder die CLI verwenden, wie unten gezeigt:

Beispiel
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

Weitere Informationen findest du in der Dokumentation zu Exportformaten.

Welche Vorteile bietet die Verwendung von OpenVINO mit YOLO26-Modellen?

Die Verwendung des Intel OpenVINO Toolkits mit YOLO26-Modellen bietet mehrere Vorteile:

  1. Leistung: Erziele eine bis zu 3-fache Beschleunigung bei der CPU-Inferenz und nutze Intel GPUs und NPUs zur Beschleunigung.
  2. Modelloptimierer: Konvertiere, optimiere und führe Modelle aus gängigen Frameworks wie PyTorch, TensorFlow und ONNX aus.
  3. Benutzerfreundlichkeit: Über 80 Tutorial-Notebooks stehen zur Verfügung, um den Einstieg zu erleichtern, einschließlich solcher für YOLO26.
  4. Heterogene Ausführung: Stelle Modelle auf verschiedener Intel-Hardware mit einer einheitlichen API bereit.

Detaillierte Leistungsvergleiche findest du in unserem Benchmark-Abschnitt.

Wie kann ich eine Inferenz mit einem in OpenVINO exportierten YOLO26-Modell ausführen?

Nachdem du ein YOLO26n-Modell in das OpenVINO-Format exportiert hast, kannst du die Inferenz über Python oder die CLI ausführen:

Beispiel
from ultralytics import YOLO

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")

Weitere Details findest du in unserer Dokumentation zum Vorhersagemodus.

Warum sollte ich mich für Ultralytics YOLO26 gegenüber anderen Modellen für den OpenVINO-Export entscheiden?

Ultralytics YOLO26 ist für die Echtzeit-Objekterkennung mit hoher Genauigkeit und Geschwindigkeit optimiert. Insbesondere in Kombination mit OpenVINO bietet YOLO26:

  • Bis zu 3-fache Geschwindigkeitssteigerung auf Intel CPUs
  • Nahtlose Bereitstellung auf Intel GPUs und NPUs
  • Konsistente und vergleichbare Genauigkeit über verschiedene Exportformate hinweg

Für eine detaillierte Leistungsanalyse schau dir unsere ausführlichen YOLO26-Benchmarks auf verschiedenen Hardware-Plattformen an.

Kann ich YOLO26-Modelle in verschiedenen Formaten wie PyTorch, ONNX und OpenVINO einem Benchmark unterziehen?

Ja, du kannst YOLO26-Modelle in verschiedenen Formaten, einschließlich PyTorch, TorchScript, ONNX und OpenVINO, einem Benchmark unterziehen. Verwende den folgenden Code-Schnipsel, um Benchmarks auf deinem gewählten Datensatz auszuführen:

Beispiel
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats
results = model.benchmark(data="coco8.yaml")

Detaillierte Benchmark-Ergebnisse findest du in unserem Benchmark-Bereich und in der Dokumentation zu den Exportformaten.

Kommentare