Ultralytics YOLO26 Modelleri için Rockchip RKNN Dışa Aktarımı#
Bilgisayarlı görü modellerini, özellikle Rockchip işlemcilerle çalışan gömülü 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, kayan noktalı ve INT8 nicemlenmiş dışa aktarımlar da dahil olmak üzere YOLO26 modellerini RKNN biçimine dönüştürerek Rockchip platformlarında verimli dağıtımı nasıl etkinleştireceğin gösterilir.
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 desteğine sahip diğer Rockchip tabanlı cihazlarda da çalışması beklenir. RV1103 ve RV1106 gibi yalnızca INT8 destekleyen hedefler için quantize=8 gerekir.
Rockchip nedir?#
Çok yönlü ve enerji verimli çö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ş Çip Üzerinde Sistemler (SoCs) tasarlar. ARM tabanlı mimarisi, yerleşik Sinirsel İşlem Birimleri (NPUs) ve yüksek çözünürlüklü çoklu ortam desteği sayesinde Rockchip SoC'leri tabletler, akıllı TV'ler, IoT sistemleri ve uç yapay zekâ uygulamaları gibi cihazlar için son teknoloji performans sağlar. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi şirketler Rockchip SoC'lerini temel alan çeşitli ürünler sunarak bu teknolojilerin farklı pazarlardaki erişimini ve etkisini daha da genişletir.
RKNN Araç Seti#
RKNN Araç Seti, derin öğrenme modellerinin donanım platformlarında dağıtımını kolaylaştırmak için Rockchip tarafından sağlanan araç ve kitaplıklar kümesidir. RKNN veya Rockchip Sinir Ağı, bu araçların kullandığı özel biçimdir. RKNN modelleri, Rockchip'in NPU'su (Sinirsel İşlem Birimi) tarafından sağlanan donanım hızlandırmasından tam olarak yararlanacak şekilde tasarlanır ve RK3588, RK3566, RV1103, RV1106 ve Rockchip destekli diğer sistemler gibi cihazlarda yapay zekâ görevleri için yüksek performans sağlar.
RKNN Modellerinin Temel Özellikleri#
RKNN modelleri, Rockchip platformlarında dağıtım için çeşitli avantajlar sunar:
- NPU için Optimize Edilmiştir: RKNN modelleri, Rockchip'in NPU'larında çalışmak üzere özel olarak optimize edilir ve en yüksek performans ile verimliliği sağlar.
- Düşük Gecikme: RKNN biçimi, uç cihazlardaki gerçek zamanlı uygulamalar için kritik olan çıkarım gecikmesini en aza indirir.
- Platforma Özel Özelleştirme: RKNN modelleri, belirli Rockchip platformlarına uyarlanabilir ve donanım kaynaklarının daha iyi kullanılmasını sağlar.
- Enerji Verimliliği: Özel NPU donanımından yararlanan RKNN modelleri, CPU veya GPU tabanlı işlemlere kıyasla 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ışan bir ortama önyüklenebilmesi için bir 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ö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 birlikte sunulan tek aile olan YOLO26 ile kullanılabilir.
| Görev | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Algılama | ✅ | ✅ | ✅ |
| Segmentasyon | ✅ | ✅ | ✅ |
| Semantik | ❌ | ❌ | ✅ |
| 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 yap.
Modeli RKNN'ye aktarmak için X86 tabanlı bir Linux bilgisayar kullandığından emin ol; Rockchip tabanlı cihazlarda (ARM64) dışa aktarma desteklenmez.
Kurulum#
Gerekli paketleri yüklemek için şunu çalıştır:
# Install the required package for YOLO26
pip install ultralyticsKurulum 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 herhangi bir zorlukla karşılaşırsan çözüm ve ipuçları için Yaygın Sorunlar kılavuzumuza başvur.
Kullanım#
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; bu nedenle RV1103 ve RV1106 gibi yalnızca INT8 hedefleyen donanımlar yalnızca algılama modellerini dışa aktarı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 destekli Rockchip hedefleri için kayan noktalı 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.
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 (detection models only)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'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")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 Bağımsız Değişkenleri#
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'rknn' | Rockchip dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan modelin hedef biçimi. |
imgsz | int veya tuple | 640 | Model 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. |
batch | int | 1 | Dış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. |
name | str | 'rk3588' | Rockchip hedefini belirtir. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 ve rv1126b, FP16'yı (quantize=16 veya ayarlanmamış) ve INT8'i (quantize=8) destekler; rv1103, rv1106, rv1103b ve rv1106b yalnızca INT8 destekler (quantize=8 veya ayarlanmamış). |
quantize | int veya str | None | Kuantizasyon hassasiyeti: ayarlanmamış veya 16 parametresi FP16 destekleyen hedefler için FP16 derler; ayarlanmamış durum, yalnızca INT8 destekleyen hedefler için INT8'i otomatik olarak etkinleştirir; 8 parametresi ise yalnızca algılama modelleri için desteklenen INT8'i 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. |
simplify | bool | True | Ara ONNX grafiğini onnxslim ile basitleştirir. |
opset | int | None | Ara ONNX grafiği için ONNX opset sürümünü belirtir. Ayarlanmamışsa varsayılan değer 19'dur ve 19'un üzerindeki değerler 19'a düşürülür. |
data | str | None | INT8 kalibrasyonu için kullanılan veri kümesi YAML dosyası. quantize=8 ile belirtilmediğinde, Ultralytics varsayılan algılama kalibrasyon veri kümesini (coco8.yaml) seçer. |
fraction | float, int veya list | 1.0 | Oran, 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. |
device | str | None | Dışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu). |
RKNN'ye dışa aktarırken x86 Linux makinesi kullandığından lütfen emin ol.
Dışa aktarma süreci hakkında daha fazla ayrıntı için Ultralytics'in dışa aktarma dokümantasyonu sayfasını ziyaret et.
Dışa Aktarılan YOLO26 RKNN Modellerini Dağıtma#
Ultralytics YOLO26 modellerini RKNN biçimine başarıyla aktardıktan sonra sıradaki adım, bu modelleri Rockchip tabanlı cihazlarda dağıtmaktır.
Kurulum#
Gerekli paketleri yüklemek için şunu çalıştır:
# Install the required package for YOLO26
pip install ultralyticsKurulumdan sonra, yukarıdaki Kullanım bölümünde gösterildiği şekilde Rockchip cihazında çıkarım ve doğrulama çalıştır — dışa aktarılan _rknn_model, YOLO(...) ile doğrudan yüklenir.
RKNN çalışma zamanı sürümünün RKNN Araç Seti 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ı ile değiştir.

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 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ğımlı olmadan müşteri davranışı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ı sınırlı platformlarda görüntü tabanlı navigasyonu ve engel algılamayı etkinleştir.
Karşılaştırmalı Testler#
Aşağıdaki YOLO26 kıyaslamaları, hız ve doğruluğu ölçmek amacıyla Ultralytics ekibi tarafından rknn model biçimi kullanılarak Rockchip RK3588 tabanlı Radxa Rock 5B üzerinde gerçekleştirilmiştir.
| Model | Biçim | Precision | Durum | Boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | rknn | FP16 | ✅ | 7.2 | 0.477 | 58.5 |
| YOLO26n | rknn | INT8 | ✅ | 4.1 | 0.463 | 41.2 |
| YOLO26s | rknn | FP16 | ✅ | 21.0 | 0.569 | 93.8 |
| YOLO26s | rknn | INT8 | ✅ | 12.0 | 0.554 | 61.9 |
| YOLO26m | rknn | FP16 | ✅ | 43.0 | 0.608 | 226.3 |
| YOLO26m | rknn | INT8 | ✅ | 22.0 | 0.603 | 122.0 |
| YOLO26l | rknn | FP16 | ✅ | 53.0 | 0.628 | 264.7 |
| YOLO26l | rknn | INT8 | ✅ | 28.0 | 0.617 | 145.3 |
| YOLO26x | rknn | FP16 | ✅ | 113.0 | 0.664 | 655.4 |
| YOLO26x | rknn | INT8 | ✅ | 58.0 | 0.649 | 287.4 |
ultralytics 8.4.60 ile kıyaslandı
Yukarıdaki kıyaslamalar için doğrulama, COCO128 veri seti kullanılarak gerçekleştirilmiştir. Çıkarım süresi ön/son işleme aşamalarını içermez.
Özet#
Bu kılavuzda, Rockchip platformlarında dağıtımı geliştirmek için Ultralytics YOLO26 modellerini RKNN biçimine nasıl aktaracağını öğrendin. Ayrıca RKNN Araç Seti ve uç yapay zekâ uygulamalarında RKNN modelleri kullanmanın kendine özgü avantajlarıyla tanıştın.
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, en düşük güç tüketimi ve yüksek performansla gerçek zamanlı nesne algılamayı ve diğer görüntü tabanlı yapay zekâ uygulamalarını mümkün kılar.
Kullanım hakkında daha fazla bilgi için RKNN resmi belgelerini ziyaret et.
Ayrıca 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 içgörü bulacaksın.
SSS#
Ultralytics Python paketindeki
export()yöntemini kullanarak veya komut satırı arayüzü (CLI) üzerinden Ultralytics YOLO modelini RKNN biçimine kolayca aktarabilirsin. Dışa aktarma işlemi için x86 tabanlı bir Linux bilgisayarı kullandığından emin ol; Rockchip gibi ARM64 cihazları bu işlem için desteklenmez.namebağımsız değişkenini, örneğinrk3588,rk3566veya diğer değerleri kullanarak hedef Rockchip platformunu belirtebilirsin. Bu işlem, hızlandırılmış çıkarım için Sinirsel İşlem Biriminden (NPU) yararlanarak Rockchip cihazında dağıtıma hazır, optimize edilmiş bir RKNN modeli oluşturur.Örnekfrom 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 Sinirsel İş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 çok daha hızlı çıkarım ve daha düşük gecikme sağlar. RKNN modellerini kullanmak, cihaz kaynaklarının daha verimli kullanılmasını sağlayarak daha düşük güç tüketimi ve genel olarak daha iyi performans sunar; bu durum ö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 SoC'leriyle çalışan cihazlarda en iyi performansı elde edebilirsin.
RKNN modelleri, Rockchip platformları ve bunların tümleşik NPU'ları için özel olarak optimize edilmiştir. Bir RKNN modelini yazılım öykünmesi kullanarak teknik olarak 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 Coral cihazları için Edge TPU gibi bu platformlar için özel olarak tasarlanmış biçimlere aktarman önerilir. Ultralytics, çeşitli donanım hızlandırıcılarla uyumluluk sağlamak amacıyla çok çeşitli biçimlere dışa aktarımı destekler.
Ultralytics YOLO'nun RKNN biçimine 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 destekleyen hedefler için gereken
quantize=8ile INT8 nicemlenmiş RKNN dışa aktarımını da destekler. Bu platformlar Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi üreticilerin cihazlarında yaygın olarak bulunur ve optimize edilmiş RKNN modellerini tek kartlı bilgisayarlardan endüstriyel sistemlere kadar çeşitli Rockchip destekli cihazlarda dağıtmana olanak tanır.RKNN modelleri, Rockchip'in NPU'ları için optimize edildikleri için Rockchip cihazlarında genellikle 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 ile görüntü başına 58,5 ms, INT8 ile 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österir. Bu performans avantajı, kıyaslamalar bölümünde gösterildiği üzere çeşitli YOLO26 model boyutlarında tutarlıdır. Özel NPU donanımından yararlanan RKNN modelleri gecikmeyi en aza indirir ve aktarım hızını en üst düzeye çıkarır; bu da onları Rockchip tabanlı uç cihazlardaki gerçek zamanlı uygulamalar için ideal kılar.