Ultralytics YOLO27:

Intel OpenVINO Dışa Aktarma#

OpenVINO Intel AI inference toolkit

Bu kılavuzda, OpenVINO biçimine YOLO26 modellerinin nasıl dışa aktarılacağını ele alıyoruz. Bu işlem, CPU hızını 3 kata kadar artırabilir ve Intel GPU ile NPU donanımlarında YOLO çıkarımını hızlandırabilir.

OpenVINO, Open Visual Inference & Neural Network Optimization Toolkit ifadesinin kısaltmasıdır ve yapay zekâ çıkarım modellerini optimize edip dağıtmak için kapsamlı bir araç setidir. Adında Visual ifadesi geçmesine rağmen OpenVINO; dil, ses, zaman serileri ve diğer çeşitli görevleri de destekler.



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

Desteklenen Görevler#

OpenVINO dışa aktarma, yedi Ultralytics görevinin tamamını destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıkları içeren tek aile olan YOLO26 ile kullanılabilir.

GörevYOLOv8YOLO11YOLO26
Algılama
Segmentasyon
Semantik
Derinlik
Sınıflandırma
Poz
OBB

Kurulum#

OpenVINO dışa aktarma bağımlılıklarını şununla yükle:

pip install "ultralytics[export-openvino]"

Bu bağımlılıklar ayrıca ultralytics[export] içinde yer alır ve bir dışa aktarma işlemi tarafından gerektiğinde otomatik olarak yüklenir.

Kullanım Örnekleri#

OpenVINO biçimi Export, Predict ve Validate modlarını destekler. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu Intel CPU, tümleşik/harici GPU ya da NPU üzerinde doğrulamak için dışa aktarılan modeli yükle.

Dışa aktarma
from ultralytics import YOLO

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

# Export the model to OpenVINO format
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'
Tahmin
from ultralytics import YOLO

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

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

# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")
Doğrula
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Dışa Aktarma Bağımsız Değişkenleri#

Bağımsız değişkenTürVarsayılanAçıklama
formatstr'openvino'Dışa aktarılan model için hedef formatı belirtir ve çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar.
imgszint veya tuple640Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı veya belirli boyutlar için (height, width) tuple'ı olabilir.
quantizeint veya strNoneNicemleme hassasiyeti: 16 (FP16) veya 8 (INT8/PTQ; kalibrasyon için data/fraction gerekir); 32/ayarlanmamış değer FP32'dir. Kullanımdan kaldırılan half/int8 işaretlerinin yerini alır.
dynamicboolFalseDinamik giriş boyutlarına izin vererek farklı görüntü boyutlarının işlenmesinde esnekliği artırır.
nmsbool, isteğe bağlıNoneHam çıktıyı (None, varsayılan), gömülü NMS'yi (True) veya NMS'siz kafayı (False) seç.
batchint1Dışa aktarma modelinin toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir.
datastrNoneNicemleme için gerekli dataset YAML dosyasının yolu; sınıflandırmada bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. quantize=8 ile birlikte belirtilmezse Ultralytics, model görevi için varsayılan kalibrasyon veri kümesini seçer.
fractionfloat, int veya list1.0Oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak kalibrasyon alt kümesi. İki öğeli listelerde test tam bırakılırken 0 atlanır.

Dışa aktarma süreci hakkında daha fazla ayrıntı için Ultralytics'in dışa aktarma dokümantasyonu sayfasını ziyaret et.

Uyarı

OpenVINO™ çoğu Intel® işlemciyle uyumludur; ancak en iyi performansı sağlamak için:

  1. OpenVINO™ desteğini doğrula Intel® çipinin OpenVINO™ tarafından resmî olarak desteklenip desteklenmediğini Intel uyumluluk listesini kullanarak kontrol et.

  2. Hızlandırıcını belirle Intel donanım kılavuzuna başvurarak işlemcinin tümleşik bir NPU (Nöral İşlem Birimi) veya GPU (tümleşik GPU) içerip içermediğini belirle.

  3. En güncel sürücüleri yükle Çipin bir NPU veya GPU destekliyor ancak OpenVINO™ bunu algılamıyorsa ilgili sürücüleri yüklemen ya da güncellemen gerekebilir. Tam hızlandırmayı etkinleştirmek için sürücü yükleme talimatlarını izle.

Bu üç adımı izleyerek OpenVINO™'nun Intel® donanımında en iyi şekilde çalışmasını sağlayabilirsin.

OpenVINO'nun Avantajları#

  1. Performans: OpenVINO, Intel CPU'larının, tümleşik ve harici GPU'ların ve FPGA'ların gücünden yararlanarak yüksek performanslı çıkarım sunar.
  2. Heterojen Yürütme Desteği: OpenVINO, bir kez yazıp desteklenen herhangi bir Intel donanımında (CPU, GPU, FPGA, VPU vb.) dağıtım yapmanı sağlayan bir API sunar.
  3. Model Optimizer: OpenVINO; PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle ve Caffe gibi popüler deep learning çerçevelerindeki modelleri içe aktaran, dönüştüren ve optimize eden bir Model Optimizer sunar.
  4. Kullanım Kolaylığı: Araç seti, araç setinin farklı yönlerini öğreten geniş bir öğretici not defteri koleksiyonuyla ( YOLO26 optimizasyonu dahil) birlikte gelir.

OpenVINO Dışa Aktarma Yapısı#

Bir modeli OpenVINO biçimine dışa aktardığında, aşağıdakileri içeren bir dizin oluşturulur:

  1. XML dosyası: Ağ topolojisini açıklar.
  2. BIN dosyası: Ağırlıkların ve bias'ların ikili verilerini içerir.
  3. Eşleme dosyası: Özgün model çıktı tensörlerinin OpenVINO tensör adlarıyla eşlemesini içerir.

OpenVINO Inference Engine ile çıkarım yapmak için bu dosyaları kullanabilirsin.

Dağıtımda OpenVINO Dışa Aktarmayı Kullanma#

Modelin OpenVINO biçimine başarıyla aktarıldıktan sonra çıkarım yapmak için iki temel seçeneğin vardır:

  1. Üst düzey bir API sunan ve OpenVINO Runtime'ı sarmalayan ultralytics paketini kullan.

  2. Çıkarım davranışı üzerinde daha gelişmiş veya özelleştirilmiş denetim için yerel openvino paketini kullan.

Ultralytics ile Çıkarım#

ultralytics paketi, dışa aktarılan OpenVINO modelini predict yöntemiyle kolayca kullanarak çıkarım yapmanı sağlar. Ayrıca device bağımsız değişkenini kullanarak hedef cihazı (ör. intel:gpu, intel:npu, intel:cpu) belirtebilirsin.

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

Bu yaklaşım, çıkarım işlem hattı üzerinde tam denetime ihtiyaç duymadığın hızlı prototipleme veya dağıtım senaryoları için idealdir.

OpenVINO Runtime ile Çıkarım#

OpenVINO Runtime, desteklenen tüm Intel donanımlarında çıkarım için birleşik bir API sunar. Ayrıca Intel donanımları arasında yük dengeleme ve eşzamansız yürütme gibi gelişmiş özellikler sağlar. Çıkarım yapma hakkında daha fazla bilgi için YOLO26 not defterlerine başvur.

Modeli Runtime ile doğru şekilde kurup kullanmak için XML ve BIN dosyalarının yanı sıra giriş boyutu, normalleştirme ölçek faktörü gibi uygulamaya özgü ayarlara da ihtiyacın olacağını unutma.

Dağıtım uygulamanda genellikle şu adımları izlersin:

  1. core = Core() oluşturarak OpenVINO'yu başlat.
  2. Modeli core.read_model() yöntemiyle yükle.
  3. Modeli core.compile_model() işlevini kullanarak derle.
  4. Girdiyi (görüntü, metin, ses vb.) hazırla.
  5. compiled_model(input_data) kullanarak çıkarım yap.

Daha ayrıntılı adımlar ve kod parçacıkları için OpenVINO belgelerine veya API öğreticisine başvur.

OpenVINO YOLO26 Karşılaştırmaları#

Ultralytics ekibi, çeşitli model biçimleri ve hassasiyetler genelinde YOLO26'yı karşılaştırdı; OpenVINO ile uyumlu farklı Intel cihazlarında hız ve doğruluğu değerlendirdi.

Not
  • Aşağıdaki karşılaştırma sonuçları referans amaçlıdır ve bir sistemin tam donanım ve yazılım yapılandırmasının yanı sıra karşılaştırmaların çalıştırıldığı andaki mevcut sistem yüküne bağlı olarak değişebilir.

  • Tüm karşılaştırmalar openvino Python paketinin 2026.2.1 sürümüyle çalıştırıldı.

  • NPU üzerindeki YOLO26 modelleri yalnızca 2xxV serisine ve 3xx serisi veya üzeri modellere sahip Intel® Core™ Ultra™ sistemlerinde desteklenir.

Intel® Core™ Ultra#

Intel® Core™ Ultra™ serisi; oyunculardan içerik üreticilerine, yapay zekâdan yararlanan profesyonellere kadar modern kullanıcıların değişen ihtiyaçlarını karşılamak üzere tasarlanmış, yüksek performanslı bilgi işlemde yeni bir ölçütü temsil eder. Bu yeni nesil ürün ailesi geleneksel bir CPU serisinden fazlasıdır; güçlü CPU çekirdeklerini, tümleşik yüksek performanslı GPU özelliklerini ve özel bir Nöral İşlem Birimini (NPU) tek bir çipte birleştirerek çeşitli ve yoğun bilgi işlem iş yükleri için birleşik bir çözüm sunar.

Intel® Core Ultra™ mimarisinin merkezinde, geleneksel işleme görevleri, GPU hızlandırmalı iş yükleri ve yapay zekâ destekli işlemler genelinde olağanüstü performans sağlayan hibrit bir tasarım bulunur. NPU'nun eklenmesi, cihaz üzerinde yapay zekâ çıkarımını geliştirerek çok çeşitli uygulamalarda daha hızlı ve verimli makine öğrenimi ile veri işleme olanağı sunar.

Core Ultra™ ailesi, farklı performans ihtiyaçlarına göre uyarlanmış çeşitli modeller içerir. Enerji verimli tasarımlardan, "H" tanımıyla belirtilen yüksek güçlü varyantlara kadar seçenekler sunar; bu varyantlar ciddi bilgi işlem gücü gerektiren dizüstü bilgisayarlar ve kompakt form faktörleri için idealdir. Ürün ailesi genelinde kullanıcılar, CPU, GPU ve NPU entegrasyonunun sinerjisinden yararlanarak dikkat çekici verimlilik, yanıt verebilirlik ve çoklu görev özellikleri elde eder.

Intel'in devam eden inovasyonunun bir parçası olarak Core Ultra™ serisi, geleceğe hazır bilgi işlem için yeni bir standart belirler. Kullanıma sunulmuş ve yolda olan birden fazla modelle bu seri, Intel'in yeni nesil akıllı ve yapay zekâ ile güçlendirilmiş cihazlar için en gelişmiş çözümleri sunma taahhüdünü vurgular.

Aşağıdaki karşılaştırmalar Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V ve Intel® Core™ Ultra™ 7 155H üzerinde FP32, FP16 ve INT8 hassasiyetlerinde çalıştırılmıştır.

Intel® Core™ Ultra™ X7 358H#

Karşılaştırmalı Testler
Intel Core Ultra GPU benchmarks
Ayrıntılı Karşılaştırma Sonuçları
ModelBiçimPrecisionDurumBoyut (MB)metrics/mAP50-95(B)Çıkarım süresi (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476529.28
YOLO26nOpenVINOFP329.70.47624.09
YOLO26nOpenVINOFP165.10.47624.03
YOLO26nOpenVINOINT83.20.46344.24
YOLO26sPyTorch (CPU)FP3219.50.570359.32
YOLO26sOpenVINOFP3236.70.56165.08
YOLO26sOpenVINOFP1618.70.56165.14
YOLO26sOpenVINOINT810.00.54624.47
YOLO26mPyTorch (CPU)FP3242.20.6196143.21
YOLO26mOpenVINOFP3278.40.61667.1
YOLO26mOpenVINOFP1639.50.61667.06
YOLO26mOpenVINOINT820.60.60555.61
YOLO26lPyTorch (CPU)FP3250.70.6215181.16
YOLO26lOpenVINOFP3295.30.62058.45
YOLO26lOpenVINOFP1648.10.62058.49
YOLO26lOpenVINOINT825.20.59386.25
YOLO26xPyTorch (CPU)FP32113.20.6512379.75
YOLO26xOpenVINOFP32213.30.656813.03
YOLO26xOpenVINOFP16107.10.656812.98
YOLO26xOpenVINOINT854.80.63858.74

Intel® Core™ Ultra™ 7 258V#

Karşılaştırmalı Testler
Intel Core Ultra GPU benchmarks
Ayrıntılı Karşılaştırma Sonuçları
ModelBiçimPrecisionDurumBoyut (MB)metrics/mAP50-95(B)Çıkarım süresi (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476527.33
YOLO26nOpenVINOFP329.60.47643.33
YOLO26nOpenVINOFP165.10.47643.34
YOLO26nOpenVINOINT83.20.46343.46
YOLO26sPyTorch (CPU)FP3219.50.570360.2
YOLO26sOpenVINOFP3236.70.56164.66
YOLO26sOpenVINOFP1618.60.56164.65
YOLO26sOpenVINOINT810.00.54623.99
YOLO26mPyTorch (CPU)FP3242.20.6196152.87
YOLO26mOpenVINOFP3278.40.61689.03
YOLO26mOpenVINOFP1639.50.61688.98
YOLO26mOpenVINOINT820.60.60555.7
YOLO26lPyTorch (CPU)FP3250.70.6215201.57
YOLO26lOpenVINOFP3295.30.620311.32
YOLO26lOpenVINOFP1648.10.620311.36
YOLO26lOpenVINOINT825.20.59387.45
YOLO26xPyTorch (CPU)FP32113.20.6512431.04
YOLO26xOpenVINOFP32213.20.656819.08
YOLO26xOpenVINOFP16107.10.656819.63
YOLO26xOpenVINOINT854.80.638513.69

Intel® Core™ Ultra™ 7 155H#

Karşılaştırmalı Testler
Intel Core Ultra GPU benchmarks
Ayrıntılı Karşılaştırma Sonuçları
ModelBiçimPrecisionDurumBoyut (MB)metrics/mAP50-95(B)Çıkarım süresi (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476533.19
YOLO26nOpenVINOFP329.60.47589.13
YOLO26nOpenVINOFP165.10.47589.07
YOLO26nOpenVINOINT83.20.45735.79
YOLO26sPyTorch (CPU)FP3219.50.570370.92
YOLO26sOpenVINOFP3236.70.561616.37
YOLO26sOpenVINOFP1618.60.561616.65
YOLO26sOpenVINOINT810.00.5459.27
YOLO26mPyTorch (CPU)FP3242.20.6196192.45
YOLO26mOpenVINOFP3278.40.616734.47
YOLO26mOpenVINOFP1639.50.616735.71
YOLO26mOpenVINOINT820.60.603915.46
YOLO26lPyTorch (CPU)FP3250.70.6215239.19
YOLO26lOpenVINOFP3295.30.62143.24
YOLO26lOpenVINOFP1648.10.62143.4
YOLO26lOpenVINOINT825.20.599919.72
YOLO26xPyTorch (CPU)FP32113.20.6512511.89
YOLO26xOpenVINOFP32213.20.655279.49
YOLO26xOpenVINOFP16107.10.655279.45
YOLO26xOpenVINOINT854.80.64234.66

Sonuçlarımızı Yeniden Üretme#

Yukarıdaki Ultralytics karşılaştırmalarını tüm dışa aktarma biçimlerinde yeniden oluşturmak için bu kodu çalıştır:

Örnek
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")

Karşılaştırma sonuçlarının bir sistemin tam donanım ve yazılım yapılandırmasının yanı sıra karşılaştırmaların çalıştırıldığı andaki mevcut sistem yüküne bağlı olarak değişebileceğini unutma. En güvenilir sonuçlar için çok sayıda görüntü içeren bir veri kümesi kullan; örneğin data='coco.yaml' (5000 doğrulama görüntüsü).

Sonuç#

Karşılaştırma sonuçları, YOLO26 modelini OpenVINO biçimine aktarmanın avantajlarını açıkça gösterir. Farklı modeller ve donanım platformları genelinde OpenVINO biçimi, benzer doğruluğu korurken çıkarım hızı açısından diğer biçimlerden sürekli olarak daha iyi performans gösterir.

Karşılaştırmalar, OpenVINO'nun deep learning modellerini dağıtmak için bir araç olarak ne kadar etkili olduğunu ortaya koyar. Modelleri OpenVINO biçimine dönüştüren geliştiriciler, önemli performans artışları elde ederek bu modelleri gerçek dünya uygulamalarında dağıtmayı kolaylaştırabilir.

OpenVINO'yu kullanma hakkında daha ayrıntılı bilgi ve talimatlar için resmî OpenVINO belgelerine başvur.

SSS#

  • YOLO26 modellerini OpenVINO biçimine aktarmak CPU hızını önemli ölçüde artırabilir ve Intel donanımında GPU ile NPU hızlandırmasını etkinleştirebilir. Dışa aktarma işlemi için aşağıda gösterildiği gibi Python veya CLI kullanabilirsin:

    Örnek
    from ultralytics import YOLO
    
    # Load a YOLO26n PyTorch model
    model = YOLO("yolo26n.pt")
    
    # Export the model
    model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

    Daha fazla bilgi için dışa aktarma biçimleri belgelerine başvur.

  • Intel'in OpenVINO araç setini YOLO26 modelleriyle kullanmak çeşitli avantajlar sunar:

    1. Performans: CPU çıkarımında 3 kata kadar hız artışı elde et ve hızlandırma için Intel GPU'larından ve NPU'larından yararlan.
    2. Model Optimizer: PyTorch, TensorFlow ve ONNX gibi popüler çerçevelerdeki modelleri dönüştür, optimize et ve çalıştır.
    3. Kullanım Kolaylığı: Kullanıcıların, YOLO26 için olanlar da dahil olmak üzere, başlamasına yardımcı olacak geniş bir öğretici not defteri koleksiyonu mevcuttur.
    4. Heterojen Yürütme: Modelleri birleşik bir API ile çeşitli Intel donanımlarında dağıt.

    Ayrıntılı performans karşılaştırmaları için karşılaştırmalar bölümümüzü ziyaret et.

  • Bir YOLO26n modelini OpenVINO biçimine aktardıktan sonra Python veya CLI kullanarak çıkarım yapabilirsin:

    Örnek
    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")

    Daha fazla ayrıntı için predict modu belgelerimize başvur.

  • Ultralytics YOLO26, yüksek doğruluk ve hızla gerçek zamanlı nesne algılama için optimize edilmiştir. Özellikle OpenVINO ile birlikte kullanıldığında YOLO26 şunları sunar:

    • Intel CPU'larında 3 kata kadar hız artışı
    • Intel GPU'larında ve NPU'larında sorunsuz dağıtım
    • Çeşitli dışa aktarma biçimleri genelinde tutarlı ve benzer doğruluk

    Derinlemesine performans analizi için farklı donanımlardaki ayrıntılı YOLO26 karşılaştırmalarımıza göz at.

  • Evet, YOLO26 modellerini PyTorch, TorchScript, ONNX ve OpenVINO dahil olmak üzere çeşitli biçimlerde karşılaştırabilirsin. Seçtiğin veri kümesinde karşılaştırmaları çalıştırmak için aşağıdaki kod parçacığını kullan:

    Örnek
    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")

    Ayrıntılı karşılaştırma sonuçları için karşılaştırmalar bölümümüze ve dışa aktarma biçimleri belgelerimize başvur.

Yorumlar