Ultralytics YOLO27:
Get Started

Ultralytics YOLO26 Modellerini Rockchip RKNN Biçiminde Dışa Aktarma#

Bilgisayarlı görü modellerini gömülü cihazlarda, özellikle Rockchip işlemcilerle çalışan cihazlarda dağıtırken uyumlu bir model biçimine sahip olmak çok önemlidir. Ultralytics YOLO26 modellerini RKNN biçimine aktarmak, Rockchip donanımıyla optimize edilmiş performans ve uyumluluk sağlar. Bu kılavuzda, YOLO26 modellerini kayan nokta ve INT8 nicemlemeli dışa aktarımlar dahil RKNN biçimine dönüştürme adımları anlatılır; böylece Rockchip platformlarında verimli dağıtım mümkün olur.

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 destekli diğer Rockchip tabanlı cihazlarda da çalışması beklenir. RV1103 ve RV1106 gibi yalnızca INT8'i destekleyen hedefler quantize=8 gerektirir.

Rockchip nedir?#

Çok yönlü ve enerji tasarruflu çözümler sunmasıyla tanınan Rockchip, çok çeşitli tüketici elektroniğine, endüstriyel uygulamalara ve yapay zekâ teknolojilerine güç veren gelişmiş yonga sistemleri (SoCs) tasarlar. ARM tabanlı mimarileri, yerleşik Sinir İşlem Birimleri (NPUs) ve yüksek çözünürlüklü multimedya desteğiyle Rockchip SoCs; tabletler, akıllı TV'ler, IoT sistemleri ve uç yapay zekâ uygulamaları gibi cihazlarda en yeni performans olanaklarını sunar. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi şirketler Rockchip SoCs tabanlı çeşitli ürünler sunarak bu teknolojilerin farklı pazarlardaki erişimini ve etkisini daha da artırır.

RKNN Toolkit#

RKNN Toolkit, derin öğrenme modellerinin donanım platformlarında dağıtımını kolaylaştırmak için Rockchip tarafından sunulan bir araç ve kitaplık koleksiyonudur. Rockchip Neural Network'ün kısaltması olan RKNN, bu araçların kullandığı özel biçimdir. RKNN modelleri; RK3588, RK3566, RV1103, RV1106 ve Rockchip destekli diğer sistemlerdeki yapay zekâ görevlerinde yüksek performans sağlayarak Rockchip NPU'sunun (Sinir İşlem Birimi) sunduğu donanım hızlandırmasından tam olarak yararlanacak şekilde tasarlanmıştır.

RKNN Modellerinin Önemli Özellikleri#

RKNN modelleri, Rockchip platformlarında dağıtım için çeşitli avantajlar sunar:

  • NPU için Optimize Edildi: RKNN modelleri, maksimum performans ve verimlilik sağlamak için özellikle Rockchip NPU'larında çalışacak şekilde optimize edilmiştir.
  • Düşük Gecikme: RKNN biçimi, uç cihazlardaki gerçek zamanlı uygulamalar için kritik öneme sahip çıkarım gecikmesini en aza indirir.
  • Platforma Özel Özelleştirme: RKNN modelleri, donanım kaynaklarının daha iyi kullanılmasını sağlayacak şekilde belirli Rockchip platformlarına göre uyarlanabilir.
  • Enerji Verimliliği: Özel NPU donanımından yararlanan RKNN modelleri, CPU veya GPU tabanlı işlemeden daha az güç tüketerek taşınabilir cihazların pil ömrünü uzatır.

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

Rockchip tabanlı bir cihazı edindikten sonraki ilk adım, donanımın çalışır bir ortama önyükleme yapabilmesi için işletim sistemi yüklemektir. Bu kılavuzda, test ettiğimiz iki cihaz olan Radxa Rock 5B ve Radxa Zero 3W için başlangıç kılavuzlarına yönlendireceğiz.

Desteklenen Görevler#

RKNN dışa aktarımı, Ultralytics'in yedi görevinin tümü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✅✅✅
Anlamsal❌❌✅
Derinlik❌❌✅
Sınıflandırma✅✅✅
Poz✅✅✅
OBB✅✅✅

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

Bir Ultralytics YOLO26 modelini RKNN biçimine aktar ve dışa aktarılan modelle çıkarım çalıştır.

Not

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

Kurulum#

Gerekli paketleri yüklemek için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLO26 için gerekli paketleri yüklerken zorluk yaşarsan çözüm ve ipuçları için Yaygın Sorunlar kılavuzumuza başvur.

Kullanım#

Not

FP16 dışa aktarımı tüm görevlerde desteklenir. INT8 dışa aktarımı şu anda yalnızca algılama modellerinde destekleniyor; diğer görevlere yönelik destek ileride eklenecek. Bu nedenle RV1103 ve RV1106 gibi yalnızca INT8 destekleyen hedeflere sadece algılama modelleri aktarılır.

RKNN biçimi Dışa Aktar, Tahmin ve Doğrula modlarını destekler. Çıkarım ve doğrulama Rockchip NPU donanımında çalışır. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu doğrulamak için dışa aktarılan modeli yükle. Varsayılan olarak RKNN dışa aktarımı, FP16 destekleyen Rockchip hedeflerinde kayan noktalı derleme yolunu (quantize=16) kullanır. Kalibrasyon verileriyle INT8 nicemlemeli bir RKNN modeli oluşturmak için quantize=8 kullan. RKNN dışa aktarımında ayrı bir FP32 modu yoktur; varsayılan FP16 seçeneği FP32 istemez.

Dışa aktar
from ultralytics import YOLO

# Bir YOLO26 modeli yükle (desteklenen herhangi bir görev modelini kullanabilirsin)
model = YOLO("yolo26n-obb.pt")

# Modeli RKNN biçimine aktar
model.export(format="rknn", name="rk3588")  # creates 'yolo26n-obb_rknn_model'

# Kalibrasyon verileriyle INT8 nicemlemeli bir RKNN modeli dışa aktar (yalnızca algılama modelleri)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml")  # creates 'yolo26n_rknn_model'
Tahmin
from ultralytics import YOLO

# Dışa aktarılan RKNN modelini yükle
model = YOLO("./yolo26n-obb_rknn_model")

# Çıkarımı çalıştır
results = model("https://ultralytics.com/images/boats.jpg")
Doğrula
from ultralytics import YOLO

# Dışa aktarılan RKNN modelini yükle
model = YOLO("./yolo26n-obb_rknn_model")

# DOTA8 veri kümesinde doğruluğu doğrula
metrics = model.val(data="dota8.yaml")

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

Bağımsız değişkenTürVarsayılanAçıklama
formatstr'rknn'Dışa aktarılan modelin Rockchip dağıtım ortamlarıyla uyumluluğunu belirleyen hedef biçim.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı, belirli boyutlar içinse (height, width) demeti kullanılabilir.
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya predict kipinde eşzamanlı işleyeceği en fazla 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'i (quantize=8) destekler; rv1103, rv1106, rv1103b ve rv1106b yalnızca INT8'i (quantize=8 veya ayarlanmamış) destekler.
quantizeint veya strNoneNicemleme hassasiyeti: ayarlanmadığında veya 16 olarak ayarlandığında, FP16 destekleyen hedefler için FP16 derler; yalnızca INT8 destekleyen hedeflerde INT8'i otomatik etkinleştirir. 8, yalnızca algılama modellerinde desteklenen INT8'i derler. RKNN dışa aktarımında ayrı bir FP32 modu yoktur. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır.
simplifyboolTrueAra ONNX grafiğini onnxslim ile sadeleştirir.
opsetintNoneAra ONNX grafiği için ONNX opset sürümünü belirtir. Ayarlanmazsa varsayılan değer 19'dur; 19'un üzerindeki değerler 19'a düşürülür.
datastrNoneINT8 kalibrasyonu için kullanılan veri kümesi YAML dosyası. quantize=8 ile birlikte verilmezse Ultralytics varsayılan algılama kalibrasyon veri kümesini (coco8.yaml) 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 kalır; 0 ise onu atlar.
devicestrNoneDışa aktarma cihazını belirtir: GPU (device=0), CPU (device=cpu).
İpucu

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

Dışa aktarma süreci hakkında daha fazla bilgi için Ultralytics dışa aktarma belgeleri sayfasını ziyaret et.

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

Ultralytics YOLO26 modellerini RKNN biçimine başarıyla aktardıktan sonraki adım, bu modelleri Rockchip tabanlı cihazlarda dağıtmaktır.

Kurulum#

Gerekli paketleri yüklemek için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum tamamlandıktan sonra, yukarıdaki Kullanım bölümünde gösterildiği gibi Rockchip cihazında çıkarım ve doğrulama ç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 iletisiyle karşılaşırsan ve çıkarım başarısız olursa, /usr/lib/librknnrt.so dosyasını resmi librknnrt.so dosyasıyla değiştir.

RKNN dışa aktarma 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 takibi için verimli nesne algılama sistemleri dağıt.
  • Endüstriyel Otomasyon: Kalite kontrolü ve kusur algılamayı doğrudan gömülü cihazlarda uygula.
  • Perakende Analitiği: Buluta bağlı olmadan müşteri davranışlarını ve envanter yönetimini gerçek zamanlı olarak takip et.
  • Akıllı Tarım: Tarımda bilgisayarlı görü kullanarak mahsul sağlığını izle ve zararlıları algıla.
  • Otonom Robotik: Kaynakları kısıtlı platformlarda görüntü tabanlı navigasyon ve engel algılamayı mümkün kıl.

Kıyaslamalar#

Aşağıdaki YOLO26 kıyaslamaları, hız ve doğruluk ölçümleri için Rockchip RK3588 tabanlı Radxa Rock 5B üzerinde rknn model biçimi kullanılarak Ultralytics ekibi tarafından gerçekleştirildi.

Performans
ModelBiçimKesinlikDurumBoyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
YOLO26nrknnFP16✅7.20.47758.5
YOLO26nrknnINT8✅4.10.46341.2
YOLO26srknnFP16✅21.00.56993.8
YOLO26srknnINT8✅12.00.55461.9
YOLO26mrknnFP16✅43.00.608226.3
YOLO26mrknnINT8✅22.00.603122.0
YOLO26lrknnFP16✅53.00.628264.7
YOLO26lrknnINT8✅28.00.617145.3
YOLO26xrknnFP16✅113.00.664655.4
YOLO26xrknnINT8✅58.00.649287.4

ultralytics 8.4.60 ile kıyaslandı

Not

Yukarıdaki kıyaslamaların doğrulaması COCO128 veri kümesi kullanılarak yapıldı. Çıkarım süresine ön işleme ve son işleme dâhil değildir.

Özet#

Bu kılavuzda, Rockchip platformlarında dağıtımı iyileştirmek için Ultralytics YOLO26 modellerini RKNN biçimine nasıl aktaracağını öğrendin. Ayrıca RKNN Toolkit'i ve uç yapay zekâ uygulamalarında RKNN modelleri kullanmanın belirli avantajlarını da öğrendin.

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

Kullanım hakkında daha fazla bilgi için resmî RKNN belgelerini ziyaret et.

Diğer Ultralytics YOLO26 entegrasyonları hakkında daha fazla bilgi edinmek istersen entegrasyon kılavuzu sayfamızı ziyaret et. Orada birçok yararlı kaynak ve bilgi bulabilirsin.

Sık Sorulan Sorular#

  • Ultralytics Python paketindeki export() yöntemini veya komut satırı arayüzünü (CLI) kullanarak Ultralytics YOLO modelini kolayca RKNN biçimine aktarabilirsin. Dışa aktarma işlemi için x86 tabanlı bir Linux PC kullandığından emin ol; Rockchip gibi ARM64 cihazlarda bu işlem desteklenmez. name bağımsız değişkenini kullanarak hedef Rockchip platformunu belirtebilirsin; örneğin rk3588, rk3566 veya başka bir değer. Bu işlem, hızlandırılmış çıkarım için Sinir İşlem Biriminden (NPU) yararlanan ve Rockchip cihazında dağıtılmaya hazır, optimize edilmiş bir RKNN modeli oluşturur.

    Örnek
    from ultralytics import YOLO
    
    # YOLO modelini yükle
    model = YOLO("yolo26n.pt")
    
    # Belirli bir Rockchip platformu için RKNN biçimine aktar
    model.export(format="rknn", name="rk3588")
  • RKNN modelleri, Rockchip'in Sinir İşlem Birimlerinin (NPUs) donanım hızlandırma özelliklerinden yararlanmak üzere özel olarak tasarlanmıştır. Bu optimizasyon, aynı donanımda ONNX veya LiteRT gibi genel model biçimlerini çalıştırmaya kıyasla çıkarım hızını önemli ölçüde artırır ve gecikmeyi azaltır. RKNN modelleri, cihaz kaynaklarının daha verimli kullanılmasını sağlayarak güç tüketimini düşürür ve genel performansı iyileştirir; bu avantajlar özellikle uç cihazlardaki gerçek zamanlı uygulamalar için kritiktir. Ultralytics YOLO modellerini RKNN'ye dönüştürerek RK3588, RK3566 ve diğerleri gibi Rockchip SoCs kullanan cihazlarda en iyi performansı elde edebilirsin.

  • RKNN modelleri özellikle Rockchip platformları ve tümleşik NPU'ları için optimize edilmiştir. Bir RKNN modelini yazılım öykünmesi kullanarak teknik olarak başka 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ı elde etmek için Ultralytics YOLO modellerini bu platformlara özel biçimlere aktarman önerilir; örneğin NVIDIA GPU'lar için TensorRT veya Google Coral cihazları için Edge TPU. Ultralytics çok çeşitli biçimlere dışa aktarımı destekleyerek farklı donanım hızlandırıcılarıyla uyumluluk sağlar.

  • Ultralytics YOLO modelinin RKNN biçimine dışa aktarımı; RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 ve RV1126B dâhil olmak üzere kayan noktalı RKNN derlemelerini destekleyen Rockchip platformlarını destekler. Ayrıca quantize=8 ile INT8 nicemlemeli RKNN dışa aktarımını da destekler. Bu özellik, RV1103, RV1106, RV1103B ve RV1106B gibi yalnızca INT8 destekleyen hedefler için gereklidir. Bu platformlar genellikle Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi üreticilerin cihazlarında bulunur; böylece 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 optimize edildiklerinden genellikle Rockchip cihazlarında ONNX veya LiteRT gibi diğer biçimlerden daha iyi performans gösterir. Örneğin Radxa Rock 5B (RK3588) üzerindeki kıyaslamalar, RKNN biçimindeki YOLO26n modelinin FP16'da görüntü başına 58,5 ms, INT8'de ise görüntü başına 41,2 ms çıkarım süresine ulaştığını ve diğer biçimlerden önemli ölçüde daha hızlı olduğunu gösteriyor. Kıyaslama bölümünde gösterildiği gibi bu performans avantajı, farklı YOLO26 model boyutlarında da tutarlıdır. Özel NPU donanımından yararlanan RKNN modelleri gecikmeyi en aza indirip veri aktarım hızını en üst düzeye çıkararak Rockchip tabanlı uç cihazlardaki gerçek zamanlı uygulamalar için ideal hâle gelir.

Yorumlar