YOLO Vision 2026:

Ultralytics YOLO26 Modelleri için Rockchip RKNN Dışa Aktarımı#

Gömülü cihazlarda bilgisayarlı görü modelleri dağıtılırken, özellikle Rockchip işlemcileriyle çalışanlarda, uyumlu bir model formatına sahip olmak çok önemlidir. Ultralytics YOLO26 modellerini RKNN formatına dışarı aktarmak, optimize edilmiş performans ve Rockchip donanımıyla uyumluluk sağlar. Bu kılavuz, kayan noktalı ve INT8 nicemlenmiş dışa aktarımlar dahil olmak üzere YOLO26 modellerini RKNN formatına dönüştürme sürecinde sana rehberlik ederek Rockchip platformlarında verimli dağıtım yapmanı sağlar.

Rockchip RKNN export for NPU deployment

Not

Bu kılavuz, Rockchip RK3588 tabanlı Radxa Rock 5B ve Rockchip RK3566 tabanlı Radxa Zero 3W ile test edilmiştir. RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B ve RV1106B gibi rknn-toolkit2 destekleyen diğer Rockchip tabanlı cihazlarda da çalışması beklenmektedir. RV1103 ve RV1106 gibi yalnızca INT8 hedefleyen cihazlar quantize=8 gerektirir.

Rockchip nedir?#

Çok yönlü ve güç açısından verimli çözümler sunmasıyla tanınan Rockchip; çok çeşitli tüketici elektroniği, endüstriyel uygulama ve yapay zeka teknolojilerine güç veren gelişmiş Çip Üzerinde Sistemler (SoC'ler) tasarlar. ARM tabanlı mimarisi, yerleşik Sinirsel İşleme Birimleri (NPU'lar) ve yüksek çözünürlüklü multimedya desteği ile Rockchip SoC'ler; tabletler, akıllı TV'ler, IoT sistemleri ve uç yapay zeka uygulamaları gibi cihazlar için son teknoloji performans sağlar. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi şirketler, Rockchip SoC'lere dayalı çeşitli ürünler sunarak bunların farklı pazarlardaki erişimini ve etkisini daha da artırmaktadır.

RKNN Araç Kiti#

RKNN Toolkit, derin öğrenme modellerinin donanım platformlarında dağıtımını kolaylaştırmak için Rockchip tarafından sağlanan bir araç ve kütüphane setidir. RKNN veya Rockchip Neural Network, bu araçlar tarafından kullanılan tescilli formatdır. RKNN modelleri, RK3588, RK3566, RV1103, RV1106 ve diğer Rockchip destekli sistemler gibi cihazlarda yapay zeka görevlerinde yüksek performans sağlamak üzere Rockchip NPU'sunun (Sinirsel İşleme Birimi) sağladığı donanım hızlandırmasından tam olarak yararlanacak şekilde tasarlanmıştır.

RKNN Modellerinin Temel Özellikleri#

RKNN modelleri, Rockchip platformlarında dağıtım için birçok avantaj sunar:

  • NPU için Optimize Edilmiştir: RKNN modelleri, maksimum performans ve verimlilik sağlamak üzere özel olarak Rockchip NPU'larında çalışacak şekilde optimize edilmiştir.
  • Düşük Gecikme: RKNN formatı, uç cihazlardaki gerçek zamanlı uygulamalar için kritik öneme sahip olan çıkarım gecikmesini en aza indirir.
  • Platforma Özel Özelleştirme: RKNN modelleri, belirli Rockchip platformlarına göre uyarlanabilir ve böylece donanım kaynaklarından daha iyi yararlanılmasını sağlar.
  • Güç Verimliliği: RKNN modelleri, özel NPU donanımından yararlanarak CPU veya GPU tabanlı işleme süreçlerine göre daha az güç tüketir ve taşınabilir cihazların pil ömrünü uzatır.

Rockchip donanımına işletim sistemi yükleme#

Rockchip tabanlı bir cihazı eline aldığında yapman gereken ilk adım, donanımın çalışan bir ortamda önyükleme yapabilmesi için bir işletim sistemi yüklemektir. Bu kılavuzda, test ettiğimiz iki cihaz olan Radxa Rock 5B ve Radxa Zero 3W'nun başlangıç kılavuzlarına yönlendirme yapacağız.

Desteklenen Görevler#

RKNN dışa aktarımı, yedi Ultralytics görevinin tümünü destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca, bu başlıklarla gelen tek aile olan YOLO26 ile kullanılabilir.

GörevYOLOv8YOLO11YOLO26
Algıla
Segmentlere Ayır
Anlamsal
Derinlik
Sınıflandır
Poz
OBB

RKNN'ye Dışa Aktarım: YOLO26 Modelini Dönüştürme#

Bir Ultralytics YOLO26 modelini RKNN formatına aktar ve dışa aktarılan modelle çıkarım yap.

Not

Modeli RKNN'ye aktarmak için X86 tabanlı bir Linux bilgisayar kullandığından emin ol; çünkü Rockchip tabanlı cihazlarda (ARM64) dışa aktarma işlemi desteklenmemektedir.

Kurulum#

Gerekli paketleri kurmak için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum sürecine ilişkin ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLO26 için gerekli paketleri kurarken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Yaygın Sorunlar kılavuzumuza danış.

Kullanım#

Not

FP16 dışa aktarımı tüm görevler için desteklenir. INT8 dışa aktarımı şu anda yalnızca algılama modelleri için desteklenmektedir, gelecekte daha fazla görev desteği gelecektir.

RKNN formatı Export, Predict ve Validate modlarını destekler. Çıkarım ve doğrulama Rockchip NPU donanımında çalışır. Modelini dışarı aktar, ardından çıkarım yapmak veya doğruluğunu test etmek için dışarı aktarılan modeli yükle. Varsayılan olarak RKNN dışa aktarımı, FP16 destekli Rockchip hedefleri için kayan nokta derleme yolunu (quantize=16) kullanır. Kalibrasyon verileriyle INT8 nicemlenmiş bir RKNN modeli oluşturmak için quantize=8 kullan. RKNN dışa aktarımı ayrı bir FP32 modu sunmaz; FP16 varsayılanı FP32 talep etmez.

Dışa Aktar (Export)
from ultralytics import YOLO

# Load a YOLO26 model (replace with any supported task model)
model = YOLO("yolo26n-obb.pt")

# Export the model to RKNN format
model.export(format="rknn", name="rk3588")  # creates '/yolo26n-obb_rknn_model'

# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")
Tahmin Et (Predict)
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")

# Run inference
results = model("https://ultralytics.com/images/boats.jpg")
Doğrula
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")

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

Dışa Aktarma Argümanları#

ArgümanTipVarsayılanAçıklama
formatstr'rknn'Dışa aktarılan model için hedef format, Rockchip dağıtım ortamlarıyla uyumluluğu tanımlar.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya belirli boyutlar için bir (height, width) demeti (tuple) olabilir.
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir.
namestr'rk3588'Rockchip hedefini belirtir. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 ve rv1126b, FP16 (quantize=16 veya ayarlanmamış) ve INT8 (quantize=8) desteği sağlar; rv1103, rv1106, rv1103b ve rv1106b yalnızca INT8 içindir (quantize=8 veya ayarlanmamış).
quantizeint veya strNoneNicemleme hassasiyeti: ayarlanmamış veya 16, FP16 destekli hedefler için FP16 derler; ayarlanmamış olması, yalnızca INT8 destekleyen hedefler için INT8'i otomatik olarak etkinleştirir; 8, INT8 derler. RKNN dışa aktarımının ayrı bir FP32 modu yoktur. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır.
simplifyboolTrueAra ONNX grafiğini onnxslim ile basitleştirir.
opsetintNoneAra ONNX grafiği için ONNX opset sürümünü belirtir. Ayarlanmadığı takdirde varsayılan olarak 19 değerini alır ve 19'un üzerindeki değerler 19'a indirgenir.
datastrNoneINT8 kalibrasyonu için kullanılan Veri Kümesi YAML'si; sınıflandırma ise bunun yerine bir veri kümesi dizini veya yerleşik bir veri kümesi adı alır. quantize=8 ile atlanırsa, Ultralytics model görevi için varsayılan kalibrasyon veri kümesini seçer.
fractionfloat, int veya list1.0Kalibrasyon alt kümesi oran, görüntü sayısı veya [train, val] oranları/sayıları olarak; bir liste train veya val sınırlandırırken, test tam kalır.
devicestrNoneDışa aktarım için kullanılacak cihazı belirtir: GPU (device=0), CPU (device=cpu).
İpucu

RKNN'ye dışa aktarırken lütfen x86 Linux makinesi kullandığından emin ol.

Dışa aktarım süreci hakkında daha fazla ayrıntı için Ultralytics documentation page on exporting sayfasını ziyaret edin.

Dışa Aktarılan YOLO26 RKNN Modellerini Dağıtma#

Ultralytics YOLO26 modellerini RKNN formatına başarıyla dışa aktardıktan sonra, bir sonraki adım bu modelleri Rockchip tabanlı cihazlarda dağıtmaktır.

Kurulum#

Gerekli paketleri kurmak için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Yüklendikten sonra, yukarıdaki Kullanım bölümünde gösterildiği gibi çıkarım ve doğrulamayı doğrudan Rockchip cihazında çalıştır — dışa aktarılan _rknn_model, doğrudan YOLO(...) ile yüklenir.

Not

RKNN çalışma zamanı sürümünün RKNN Toolkit sürümüyle eşleşmediğini belirten bir günlük mesajıyla karşılaşırsan ve çıkarım başarısız olursa, lütfen /usr/lib/librknnrt.so ifadesini resmi librknnrt.so dosyası ile değiştir.

RKNN dışa aktarım ekran görüntüsü

Gerçek Dünya Uygulamaları#

YOLO26 RKNN modellerine sahip Rockchip destekli cihazlar çeşitli uygulamalarda kullanılabilir:

  • Akıllı Gözetim: Düşük güç tüketimiyle güvenlik izleme için verimli nesne tespit sistemleri dağıt.
  • Endüstriyel Otomasyon: Kalite kontrol ve hata tespiti süreçlerini doğrudan gömülü cihazlarda uygula.
  • Perakende Analitiği: Bulut bağımlılığı olmadan müşteri davranışlarını ve envanter yönetimini gerçek zamanlı takip et.
  • Akıllı Tarım: Tarımda bilgisayarlı görü kullanarak ürün sağlığını izle ve zararlıları tespit et.
  • Otonom Robotik: Kaynak kısıtlı platformlarda görüntü tabanlı navigasyonu ve engel algılamayı etkinleştir.

Kıyaslamalar#

Aşağıdaki YOLO26 kıyaslamaları, Ultralytics ekibi tarafından rknn model formatı kullanılarak hız ve doğruluğu ölçmek amacıyla Rockchip RK3588 tabanlı Radxa Rock 5B üzerinde çalıştırılmıştır.

Performans
ModelFormatPrecisionDurumBoyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
YOLO26nrknnFP167.20.47758.5
YOLO26nrknnINT84.10.46341.2
YOLO26srknnFP1621.00.56993.8
YOLO26srknnINT812.00.55461.9
YOLO26mrknnFP1643.00.608226.3
YOLO26mrknnINT822.00.603122.0
YOLO26lrknnFP1653.00.628264.7
YOLO26lrknnINT828.00.617145.3
YOLO26xrknnFP16113.00.664655.4
YOLO26xrknnINT858.00.649287.4

ultralytics 8.4.60 ile kıyaslanmıştır

Not

Yukarıdaki kıyaslamaların doğrulanması COCO128 veri seti kullanılarak yapılmıştır. Çıkarım süresine ön/son işleme dahil değildir.

Özet#

Bu kılavuzda, Ultralytics YOLO26 modellerini Rockchip platformlarındaki dağıtımlarını iyileştirmek için RKNN formatına nasıl aktaracağını öğrendin. Ayrıca RKNN Araç Kiti ve RKNN modellerini uç yapay zeka uygulamalarında kullanmanın sağladığı özel avantajlarla tanıştın.

Ultralytics YOLO26 ve Rockchip'in NPU teknolojisinin birleşimi, gömülü cihazlarda gelişmiş bilgisayarlı görü görevlerini çalıştırmak için verimli bir çözüm sağlar. Bu yaklaşım, minimum güç tüketimi ve yüksek performansla gerçek zamanlı nesne tespiti ve diğer görü yapay zeka uygulamalarını mümkün kılar.

Kullanım hakkında daha fazla ayrıntı için RKNN resmi belgelerini ziyaret et.

Ayrıca, diğer Ultralytics YOLO26 entegrasyonları hakkında daha fazla bilgi edinmek istiyorsan entegrasyon kılavuzu sayfamızı ziyaret et. Orada pek çok yararlı kaynak ve fikir bulacaksın.

SSS#

  • Ultralytics Python paketindeki export() yöntemini kullanarak veya komut satırı arayüzü (CLI) aracılığıyla Ultralytics YOLO modelini kolayca RKNN formatına aktarabilirsin. Dışa aktarma işlemi için Rockchip gibi ARM64 cihazlar bu işlem için desteklenmediğinden x86 tabanlı bir Linux PC kullandığından emin ol. rk3588, rk3566 veya diğerleri gibi name argümanını kullanarak hedef Rockchip platformunu belirtebilirsin. Bu işlem, hızlandırılmış çıkarım için Sinirsel İşleme Birimi'nden (NPU) yararlanarak Rockchip cihazında dağıtıma hazır, optimize edilmiş bir RKNN modeli üretir.

    Örnek
    from ultralytics import YOLO
    
    # Load your YOLO model
    model = YOLO("yolo26n.pt")
    
    # Export to RKNN format for a specific Rockchip platform
    model.export(format="rknn", name="rk3588")
  • RKNN modelleri, Rockchip'in Sinir İşleme Birimlerinin (NPU'lar) donanım hızlandırma yeteneklerinden yararlanmak için özel olarak tasarlanmıştır. Bu optimizasyon, aynı donanım üzerinde ONNX veya LiteRT gibi genel model formatlarını çalıştırmaya kıyasla önemli ölçüde daha hızlı çıkarım hızları ve daha düşük gecikme süresi sağlar. RKNN modellerini kullanmak, cihazın kaynaklarının daha verimli kullanılmasını sağlayarak, özellikle uç cihazlardaki gerçek zamanlı uygulamalar için kritik olan daha düşük güç tüketimi ve daha iyi genel performans elde etmene yardımcı olur. Ultralytics YOLO modellerini RKNN'ye dönüştürerek, RK3588, RK3566 ve diğerleri gibi Rockchip SoC'ler tarafından desteklenen cihazlarda optimum performans elde edebilirsin.

  • RKNN modelleri, Rockchip platformları ve onların entegre NPU'ları için özel olarak optimize edilmiştir. Teknik olarak yazılım emülasyonu kullanarak bir RKNN modelini diğer platformlarda çalıştırabilsen de, Rockchip cihazlarının sağladığı donanım hızlandırmasından yararlanamazsın. Diğer platformlarda en iyi performans için Ultralytics YOLO modellerini NVIDIA GPU'lar için TensorRT veya Google'ın Coral cihazları için Edge TPU gibi bu platformlar için özel olarak tasarlanmış formatlara dışarı aktarman önerilir. Ultralytics, geniş bir format yelpazesine dışa aktarmayı destekleyerek çeşitli donanım hızlandırıcılarıyla uyumluluk sağlar.

  • Ultralytics YOLO'nun RKNN formatına dışa aktarımı, RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 ve RV1126B dahil olmak üzere kayan noktalı RKNN derlemelerine sahip Rockchip platformlarını destekler. Ayrıca, RV1103, RV1106, RV1103B ve RV1106B gibi yalnızca INT8 hedefleri için gereken quantize=8 ile INT8 nicemlenmiş RKNN dışa aktarımını da destekler. Bu platformlar genellikle Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi üreticilerin cihazlarında bulunur; bu sayede optimize edilmiş RKNN modellerini tek kartlı bilgisayarlardan endüstriyel sistemlere kadar çeşitli Rockchip destekli cihazlarda dağıtabilirsin.

  • RKNN modelleri, Rockchip NPU'ları için yapılan optimizasyonlar sayesinde genellikle Rockchip cihazlarında ONNX veya LiteRT gibi diğer formatlardan daha iyi performans gösterir. Örneğin, Radxa Rock 5B (RK3588) üzerindeki kıyaslamalar, RKNN formatındaki YOLO26n modelinin FP16'da 58,5 ms/görüntü ve INT8'de 41,2 ms/görüntü çıkarım süresine ulaştığını, bunun diğer formatlardan belirgin şekilde daha hızlı olduğunu gösterir. Kıyaslamalar bölümünde gösterildiği gibi, bu performans avantajı çeşitli YOLO26 model boyutlarında tutarlıdır. RKNN modelleri, özel NPU donanımından yararlanarak gecikmeyi en aza indirir ve iş hacmini en üst düzeye çıkarır; bu da onları Rockchip tabanlı uç cihazlarda gerçek zamanlı uygulamalar için ideal kılar.

Yorumlar