Ultralytics YOLO11'i OpenVINO™ ile sorunsuzca dağıt
Ultralytics YOLO11'i OpenVINO™ biçimine aktarmayı ve Python ya da OpenVINO Runtime ile Intel CPU, GPU ve NPU'larında daha hızlı çıkarım çalıştırmayı öğren.
Abirami Vina8 dakikalık okuma
Yapay zekânın benimsenmesi, yapay zekâ çözümlerinin erişilebilir olmasına bağlıdır ve bunun önemli bir kısmı, çözümlerin insanların hâlihazırda sahip olduğu donanımlara kolayca dağıtılmasını sağlamaktır. Yapay zekâ modellerini GPU'larda (grafik işlem birimleri) çalıştırmak, performans ve paralel işlem gücü açısından harika bir seçenektir.
Ancak gerçekte, özellikle uç ortamlarda veya günlük kullanılan dizüstü bilgisayarlarda herkesin üst düzey GPU'lara erişimi yoktur. Bu nedenle modelleri merkezi işlem birimleri (CPUs), tümleşik GPU'lar ve sinir işleme birimleri (NPUs) gibi daha yaygın olarak bulunan donanımlarda verimli çalışacak şekilde optimize etmek çok önemlidir.
Örneğin bilgisayarlı görü, makinelerin görüntüleri ve video akışlarını gerçek zamanlı olarak analiz edip anlamasını sağlayan bir yapay zekâ dalıdır. Ultralytics YOLO11 gibi görsel yapay zekâ modelleri, perakende analitiğinden tıbbi tanıya kadar çeşitli uygulamaların temelini oluşturan nesne algılama ve örnek segmentasyonu gibi önemli görevleri destekler.

Şekil 1. Bir perakende mağazasındaki nesneleri algılamak ve segmentlere ayırmak için Ultralytics YOLO11 kullanımı.
Bilgisayarlı görüye daha geniş kesimlerin erişebilmesi için Ultralytics, CPU'larda, GPU'larda ve NPU'larda yapay zekâ çıkarımını optimize etmeye ve çalıştırmaya yönelik bir açık kaynak projesi olan OpenVINO araç setiyle güncellenmiş bir entegrasyon yayımladı.
Bu entegrasyonla YOLO11 modellerini dışa aktarmak ve dağıtmak daha kolaydır; CPU'larda 3 kata kadar daha hızlı çıkarım ve Intel GPU'lar ile NPU'larda hızlandırılmış performans elde edebilirsin. Bu makalede, Ultralytics Python paketini kullanarak YOLO11 modellerini OpenVINO biçimine nasıl dışa aktaracağını ve çıkarım için nasıl kullanacağını anlatacağız.
Ultralytics YOLO11'e genel bakış#
Ultralytics tarafından desteklenen OpenVINO entegrasyonunun ayrıntılarına girmeden önce, YOLO11'i güvenilir ve etkili bir bilgisayarlı görü modeli yapan özelliklere daha yakından bakalım. Yazının yazıldığı sırada YOLO11, Ultralytics YOLO serisinin en yeni modeliydi (daha sonra yerini Ultralytics YOLO26 aldı) ve hem hız hem de doğruluk açısından önemli iyileştirmeler sunuyordu.
Öne çıkan özelliklerinden biri verimliliğidir. Örneğin Ultralytics YOLO11m, Ultralytics YOLOv8m'den %22 daha az parametreye sahip olmasına rağmen COCO veri kümesinde daha yüksek ortalama hassasiyet (mAP) elde eder. Bu, daha hızlı çalıştığı ve nesneleri daha doğru algıladığı anlamına gelir; böylece performansın ve yanıt verme hızının kritik olduğu gerçek zamanlı uygulamalar için ideal hâle gelir.

Şekil 2. Ultralytics YOLO11 performans kıyaslamaları.
YOLO11, nesne algılamanın yanı sıra örnek segmentasyonu, görüntü sınıflandırma, poz tahmini, yönlendirilmiş sınırlayıcı kutu algılama ve nesne izleme gibi çeşitli gelişmiş bilgisayarlı görü görevlerini destekler. Ultralytics Python paketiyle modelleri eğitmek, değerlendirmek ve dağıtmak için basit ve tutarlı bir arayüz sunan YOLO11, geliştiriciler için de kullanışlıdır.
Buna ek olarak Ultralytics Python paketi, OpenVINO, ONNX ve TorchScript dâhil olmak üzere çeşitli entegrasyonları ve birden fazla dışa aktarma biçimini destekler; böylece YOLO11'i çeşitli dağıtım işlem hatlarına kolayca entegre edebilirsin. Bulut altyapısını, uç cihazları veya gömülü sistemleri hedefliyor olman fark etmez; dışa aktarma süreci kolay ve donanım ihtiyaçlarına uyarlanabilir.
OpenVINO™ nedir?#
OpenVINO™ (Açık Görsel Çıkarım ve Sinir Ağı Optimizasyonu), çok çeşitli donanımlarda yapay zekâ çıkarımını optimize etmeye ve dağıtmaya yönelik açık kaynaklı bir araç setidir. Geliştiricilerin CPU'lar, tümleşik ve ayrık GPU'lar, NPU'lar ve alan programlanabilir kapı dizileri (FPGAs) dâhil çeşitli Intel platformlarında yüksek performanslı çıkarım uygulamalarını verimli biçimde çalıştırmasını sağlar.
OpenVINO, donanıma özgü eklentiler aracılığıyla donanım farklılıklarını soyutlayan birleşik bir çalışma zamanı arayüzü sunar. Böylece geliştiriciler kodu bir kez yazıp tutarlı bir API kullanarak birden fazla Intel donanım hedefinde dağıtabilir.
OpenVINO'yu dağıtım için harika bir seçenek yapan temel özelliklerden bazıları şunlar:
- Model dönüştürücü: Bu araç, PyTorch, ONNX, TensorFlow ve PaddlePaddle gibi popüler çerçevelerden gelen modelleri dönüştürüp hazırlar; böylece modeller Intel donanımlarında verimli çıkarım için optimize edilebilir.
- Heterojen yürütme: Farklı Intel donanımları için kodunu yeniden yazman gerekmez. OpenVINO, aynı modeli CPU'lardan GPU'lara kadar desteklenen tüm donanımlarda kolayca çalıştırmanı sağlar.
- Niceleme desteği: Araç seti, model boyutunu küçültmeye ve doğruluğu önemli ölçüde etkilemeden çıkarımı hızlandırmaya yardımcı olan FP16 (varsayılan) ve INT8 gibi düşük duyarlıklı biçimleri destekler.

Şekil 3. OpenVINO, çeşitli dağıtım seçenekleri sunuyor.
Ultralytics x OpenVINO entegrasyonunu inceleme#
OpenVINO'nun ne olduğunu ve neden önemli olduğunu ele aldığımıza göre, Ultralytics YOLO11 modellerini OpenVINO biçimine nasıl aktaracağını ve Intel donanımlarında verimli çıkarımı nasıl çalıştıracağını inceleyelim.
Adım 1: Ultralytics Python paketini yükleme#
Bir modeli OpenVINO biçimine aktarmak için önce Ultralytics Python paketini yüklemen gerekir. Bu paket, YOLO11 dâhil YOLO modellerini eğitmek, değerlendirmek ve dışa aktarmak için ihtiyacın olan her şeyi sunar.
Terminalinde veya komut isteminde pip install ultralytics komutunu çalıştırarak yükleyebilirsin. Jupyter Notebook veya Google Colab gibi etkileşimli bir ortamda çalışıyorsan komutun başına ünlem işareti eklemen yeterli.
Yükleme sırasında veya dışa aktarma esnasında bir sorunla karşılaşırsan Ultralytics belgeleri ve sorun giderme kılavuzları, tekrar yoluna devam etmene yardımcı olacak harika kaynaklardır.
Adım 2: Ultralytics YOLO11 modelini OpenVINO biçimine aktarma#
Ultralytics paketini kurduktan sonraki adım, YOLO11 modelini yükleyip OpenVINO ile uyumlu bir biçime dönüştürmektir.
Aşağıdaki örnekte önceden eğitilmiş bir YOLO11 modeli ("yolo11n.pt") kullanıyoruz. Dışa aktarma işlevi, modeli OpenVINO biçimine dönüştürmek için kullanılıyor. Bu kodu çalıştırdıktan sonra dönüştürülen model, "yolo11n_openvino_model" adlı yeni bir dizine kaydedilir.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="openvino")Adım 3: Dışa aktarılan modelle çıkarım çalıştırma#
YOLO11 modelini OpenVINO biçimine aktardıktan sonra iki şekilde çıkarım çalıştırabilirsin: Ultralytics Python paketini veya yerel OpenVINO Runtime'ı kullanarak.
Ultralytics Python paketini kullanma#
Aşağıdaki kod parçasında gösterildiği gibi, dışa aktarılan YOLO11 modelini Ultralytics Python paketini kullanarak kolayca dağıtabilirsin. Bu yöntem, hızlı denemeler ve Intel donanımlarında kolaylaştırılmış dağıtım için idealdir.
Sisteminde bulunan Intel donanımına bağlı olarak çıkarım için "intel:cpu", "intel:gpu" veya "intel:npu" gibi kullanılacak cihazı da belirtebilirsin.
ov_model = YOLO("yolo11n_openvino_model/")
results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")Açıklama eklenmiş çıkış görüntüsünü "runs/detect/predict" dizinine kaydetmek için çıkarım çağrısına save=True ekle.

Şekil 4. Dışa aktarılan Ultralytics YOLO11 modelini kullanarak bir görüntüdeki nesneleri algılama.
Yerel OpenVINO Runtime'ı kullanma#
Özellikle üretim ortamlarında çıkarımı özelleştirilebilir bir şekilde çalıştırmak istiyorsan OpenVINO Runtime, modelinin nasıl yürütüleceği konusunda sana daha fazla kontrol sağlar. Eşzamansız yürütme (birden çok çıkarım isteğini paralel çalıştırma) ve yük dengeleme (çıkarım iş yüklerini Intel donanımları arasında verimli biçimde dağıtma) gibi gelişmiş özellikleri destekler.
Yerel çalışma zamanını kullanmak için dışa aktarılan model dosyalarına ihtiyacın olacak: ağ mimarisini tanımlayan bir .xml dosyası ve modelin eğitilmiş ağırlıklarını içeren bir .bin dosyası. Uygulamana bağlı olarak giriş boyutları veya ön işleme adımları gibi ek parametreleri de yapılandırabilirsin.
Tipik bir dağıtım akışında OpenVINO çekirdeğini başlatma, modelin yüklenip hedef cihaz için derlenmesi, girdinin hazırlanması ve çıkarımın yürütülmesi yer alır. Ayrıntılı örnekler ve adım adım yönergeler için resmî Ultralytics OpenVINO belgelerine veya OpenVINO'yu CPU'da çalıştırma konulu Ultralytics Academy dersine başvur.
Neden Ultralytics x OpenVINO entegrasyonunu seçmelisin?#
Ultralytics entegrasyonlarını incelerken Ultralytics Python paketinin YOLO11 modellerini TorchScript, CoreML, TensorRT ve ONNX gibi çeşitli biçimlere aktarmayı desteklediğini fark edeceksin. Öyleyse neden OpenVINO entegrasyonunu seçmelisin?
OpenVINO dışa aktarma biçiminin Intel donanımlarında model dağıtımı için neden harika bir seçenek olduğuna dair bazı gerekçeler şunlar:
- Performans artışı: Intel CPU'larda 3 kata kadar daha hızlı çıkarım elde edebilir, tümleşik GPU'larda ve NPU'larda ise ek hızlandırmadan yararlanabilirsin.
- Yeniden eğitim gerekmez: Mevcut Ultralytics YOLO11 modellerini değiştirmeden veya yeniden eğitmeden doğrudan OpenVINO biçimine aktarabilirsin.
- Ölçeklenebilirlik için tasarlandı: Aynı dışa aktarılmış modeli düşük güç tüketimli uç cihazlardan büyük ölçekli bulut altyapısına kadar dağıtabilir, böylece ölçeklenebilir yapay zekâ dağıtımını kolaylaştırabilirsin.
OpenVINO™ Model Hub'da Ultralytics YOLO11 modelinin çeşitli Intel® platformlarındaki performans kıyaslamalarını da değerlendirebilirsin. OpenVINO Model Hub, geliştiricilerin Intel donanımlarındaki yapay zekâ modellerini değerlendirmesine ve OpenVINO'nun Intel CPU'larda, yerleşik GPU'larda, NPU'larda ve ayrık grafik birimlerinde sunduğu performans avantajını keşfetmesine yönelik bir kaynaktır.

Şekil 5. OpenVINO™ Model Hub: Ultralytics YOLO11 modelinin çeşitli Intel® platformlarındaki performans kıyaslamaları.
Ultralytics YOLO11 ve OpenVINO dışa aktarma biçiminin uygulamaları#
OpenVINO entegrasyonu sayesinde Ultralytics YOLO11 modellerini gerçek dünyadaki durumlarda Intel donanımlarına dağıtmak çok daha kolay hale geliyor.
Akıllı perakende bunun harika bir örneği. Ultralytics YOLO11, boş rafları gerçek zamanlı olarak algılamaya, azalan stoktaki ürünleri takip etmeye ve müşterilerin mağazada nasıl hareket ettiğini analiz etmeye yardımcı olabilir. Bu sayede perakendeciler stok yönetimini iyileştirebilir ve müşterilerin mağazayla etkileşimini artırmak için mağaza düzenlerini optimize edebilir.
Benzer şekilde akıllı şehirlerde YOLO11; araçları sayarak, yayaları takip ederek ve kırmızı ışık ihlallerini gerçek zamanlı olarak algılayarak trafiği izlemek için kullanılabilir. Bu bilgiler trafik akışını optimize etmeye, yol güvenliğini artırmaya ve otomatik denetim sistemlerine yardımcı olabilir.

Şekil 6. YOLO11 kullanarak araçları sayma.
Bir başka ilginç kullanım alanı da endüstriyel denetimdir. Ultralytics YOLO11, üretim hatlarında eksik bileşenler, hizalama hataları veya yüzey hasarı gibi görsel kusurları otomatik olarak algılamak için kullanılabilir. Bu, verimliliği artırır, maliyetleri düşürür ve ürün kalitesinin iyileştirilmesini destekler.
OpenVINO araç setini kullanırken göz önünde bulundurman gereken temel noktalar#
Ultralytics YOLO11 modellerini OpenVINO ile dağıtırken en iyi sonuçları almak için aklında bulundurman gereken birkaç önemli nokta var:
- Donanım uyumluluğunu kontrol et: Modelin verimli çalışabilmesi için CPU, tümleşik GPU veya NPU fark etmeksizin Intel donanımının OpenVINO tarafından desteklendiğinden emin ol.
- Doğru sürücüleri yükle: Intel GPU veya NPU kullanıyorsan gerekli tüm sürücülerin doğru şekilde yüklendiğini ve güncel olduğunu bir kez daha kontrol et.
- Hassasiyet ödünleşimlerini anla: OpenVINO, FP32, FP16 ve INT8 model hassasiyetlerini destekler; bunları dışa aktarma sırasında
quantizebağımsız değişkeniyle seçebilirsin (örneğin,quantize="int8"). Her seçenekte hız ve doğruluk arasında bir ödünleşim vardır; bu nedenle performans hedeflerine ve mevcut donanıma göre doğru seçeneği belirlemek önemlidir.
Önemli çıkarımlar#
Ultralytics YOLO11'i OpenVINO biçimine aktarmak, Intel donanımlarında hızlı ve verimli görüntü işleme yapay zekâ modelleri çalıştırmayı kolaylaştırır. Yeniden eğitim yapmana veya kodunu değiştirmen gerekmeden CPU'lara, GPU'lara ve NPU'lara dağıtım yapabilirsin. Bu, işleri basit ve ölçeklenebilir tutarken performansı artırmanın harika bir yoludur.
Ultralytics Python paketine yerleşik destek sayesinde OpenVINO ile dışa aktarma ve çıkarım çalıştırma işlemleri kolaydır. Birkaç adımda modelini optimize edip çeşitli Intel platformlarında çalıştırabilirsin. Akıllı perakende, trafik izleme veya endüstriyel denetim üzerinde çalışıyor olman fark etmez; bu iş akışı geliştirmeden dağıtıma hızlı ve güvenli biçimde geçmene yardımcı olur.
Ultralytics tarafından desteklenen entegrasyonlar hakkında daha fazla bilgi edinmek için YOLO topluluğuna katıl ve Ultralytics'in GitHub deposuna göz at. Ayrıca bugün bilgisayarlı görüyle çalışmaya başlamak için Ultralytics lisans seçeneklerini incele!
Yapay zekâyı ölçekli biçimde optimize etmeye ve dağıtmaya yönelik araçları keşfetmek için OpenVINO web sitesini ziyaret et.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










