Ultralytics YOLO26 Modelleri için Rockchip RKNN Dışa Aktarma
Özellikle Rockchip işlemcilerle güçlendirilmiş gömülü cihazlarda bilgisayarlı görü modellerini dağıtırken, uyumlu bir model formatına sahip olmak çok önemlidir. Ultralytics YOLO26 modellerini RKNN formatına aktarmak, optimize edilmiş performans ve Rockchip donanımı ile uyumluluk sağlar. Bu kılavuz, YOLO26 modellerini RKNN formatına dönüştürme sürecinde sana yol gösterecek ve Rockchip platformlarında verimli bir şekilde dağıtım yapmanı sağlayacaktır.
Bu kılavuz, Rockchip RK3588 tabanlı Radxa Rock 5B ve Rockchip RK3566 tabanlı Radxa Zero 3W üzerinde test edilmiştir. RK3576, RK3568, RK3562, RK2118 ve RV1126B gibi rknn-toolkit2 desteği olan diğer Rockchip tabanlı cihazlarda da çalışması beklenmektedir. Yalnızca INT8 çıkarımını destekleyen hedefler (RV1103, RV1106, RV1103B, RV1106B) henüz desteklenmemektedir çünkü Ultralytics RKNN dışa aktarma işlemi şu anda yalnızca FP16 modeller üretmektedir.
Rockchip nedir?
Çok yönlü ve güç tasarruflu çözümler sunmasıyla tanınan Rockchip, çok çeşitli tüketici elektroniği, endüstriyel uygulamalar 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 en son teknoloji performansını mümkün kı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 genişletmektedir.
RKNN Toolkit
RKNN Toolkit, Rockchip'in kendi donanım platformlarında derin öğrenme modellerinin dağıtımını kolaylaştırmak için sağladığı araçlar ve kütüphaneler setidir. RKNN veya Rockchip Sinir Ağı, bu araçlar tarafından kullanılan tescilli formattır. RKNN modelleri, Rockchip'in NPU'sunun (Sinirsel İşleme Birimi) sağladığı donanım hızlandırmasından tam olarak yararlanacak şekilde tasarlanmıştır ve RK3588, RK3566, RV1103, RV1106 ve diğer Rockchip destekli sistemler gibi cihazlarda yapay zeka görevlerinde 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 edilmiştir, bu da maksimum performans ve verimlilik sağlar.
- Düşük Gecikme Süresi: RKNN formatı, uç cihazlarda 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ının daha iyi kullanılması sağlanır.
- Güç Verimliliği: Özel NPU donanımından yararlanarak, RKNN modelleri CPU veya GPU tabanlı işlemlere göre daha az güç tüketir ve taşınabilir cihazların pil ömrünü uzatır.
Rockchip donanımına İşletim Sistemi yükleme
Rockchip tabanlı bir cihazı eline aldığında yapman gereken ilk adım, donanımın çalışır bir ortama ö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'nin başlangıç kılavuzlarına yönlendirme yapacağız.
RKNN'e Dışa Aktarma: YOLO26 Modelini Dönüştürme
Bir Ultralytics YOLO26 modelini RKNN formatına aktar ve dışa aktarılan model ile çıkarım çalıştır.
Modeli RKNN'e aktarmak için X86 tabanlı bir Linux PC kullandığından emin ol, çünkü Rockchip tabanlı cihazlarda (ARM64) dışa aktarma desteklenmemektedir.
Kurulum
Gerekli paketleri yüklemek için şunu çalıştır:
!!! İpucu "Kurulum"
# 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ümler ve ipuçları için Yaygın Sorunlar kılavuzumuza danış.
Kullanım
Dışa aktarma şu anda yalnızca tespit modelleri için desteklenmektedir. Gelecekte daha fazla model desteği eklenecektir.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b (FP16). INT8-only targets rv1103, rv1106, rv1103b, rv1106b are not yet supported.
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'Dışa Aktarma Argümanları
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'rknn' | Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için hedef format. |
imgsz | int veya tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
batch | int | 1 | Modelin dışa aktarılan 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 belirler. FP16 destekleyenler: rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b. Yalnızca INT8 destekleyen hedefler (rv1103, rv1106, rv1103b, rv1106b) henüz desteklenmemektedir. |
device | str | None | Dışa aktarma için cihazı belirler: GPU (device=0), CPU (device=cpu). |
RKNN'e aktarırken lütfen x86 Linux makinesi kullandığından emin ol.
Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma ile ilgili Ultralytics dokümantasyon sayfasını ziyaret et.
Dışa Aktarılan YOLO26 RKNN Modellerini Dağıtma
Ultralytics YOLO26 modellerini RKNN formatına başarıyla aktardıktan sonra, bir sonraki adım bu modelleri Rockchip tabanlı cihazlarda dağıtmaktır.
Kurulum
Gerekli paketleri yüklemek için şunu çalıştır:
!!! İpucu "Kurulum"
# Install the required package for YOLO26
pip install ultralyticsKullanım
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo26n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")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ı görürsen ve çıkarım başarısız olursa, lütfen /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 tespit sistemleri kur.
- Endüstriyel Otomasyon: Doğrudan gömülü cihazlarda kalite kontrol ve kusur tespiti uygula.
- Perakende Analitiği: Bulut bağımlı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 ürün sağlığını izle ve zararlıları tespit et.
- Otonom Robotik: Kaynak kısıtlı platformlarda görüş tabanlı navigasyonu ve engel tespitini etkinleştir.
Kıyaslamalar
Aşağıdaki YOLO26 kıyaslamaları, Ultralytics ekibi tarafından Rockchip RK3588 tabanlı Radxa Rock 5B üzerinde rknn model formatı kullanılarak hız ve doğruluk ölçümü ile gerçekleştirilmiştir.
| Model | Format | Durum | Boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/görüntü) |
|---|---|---|---|---|---|
| YOLO26n | rknn | ✅ | 7.1 | 0.479 | 65.7 |
| YOLO26s | rknn | ✅ | 20.9 | 0.571 | 99.2 |
| YOLO26m | rknn | ✅ | 42.5 | 0.610 | 235.3 |
| YOLO26l | rknn | ✅ | 52.1 | 0.630 | 280.5 |
| YOLO26x | rknn | ✅ | 112.2 | 0.666 | 669.1 |
ultralytics 8.4.23 ile kıyaslandı
Yukarıdaki kıyaslamalar için doğrulama 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 RKNN formatına nasıl aktaracağını ve Rockchip platformlarındaki dağıtımlarını nasıl iyileştireceğini öğrendin. Ayrıca RKNN Toolkit ile tanıştın ve uç yapay zeka uygulamaları için RKNN modellerini kullanmanın sağladığı belirli avantajları gördün.
Ultralytics YOLO26 ile 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 sunar. Bu yaklaşım, minimum güç tüketimi ve yüksek performansla gerçek zamanlı nesne tespiti ve diğer yapay zeka görüş 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 istersen, entegrasyon rehberi sayfamızı ziyaret et. Orada pek çok yararlı kaynak ve içgörü bulacaksın.
SSS
Ultralytics YOLO modelimi RKNN formatına nasıl aktarırım?
You can easily export your Ultralytics YOLO model to RKNN format using the export() method in the Ultralytics Python package or via the command-line interface (CLI). Ensure you are using an x86-based Linux PC for the export process, as ARM64 devices like Rockchip are not supported for this operation. You can specify the target Rockchip platform using the name argument, such as rk3588, rk3566, or others. This process generates an optimized RKNN model ready for deployment on your Rockchip device, taking advantage of its Neural Processing Unit (NPU) for accelerated inference.
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")Rockchip cihazlarda RKNN modellerini kullanmanın faydaları nelerdir?
RKNN modelleri, Rockchip'in Sinirsel İş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 TensorFlow Lite gibi genel model formatlarını çalıştırmaya kıyasla önemli ölçüde daha hızlı çıkarım hızları ve azaltılmış gecikme süresi sağlar. RKNN modellerini kullanmak, cihazın kaynaklarının daha verimli kullanılmasına olanak tanır, bu da daha düşük güç tüketimi ve uç cihazlarda gerçek zamanlı uygulamalar için kritik olan daha iyi genel performans ile sonuçlanır. Ultralytics YOLO modellerini RKNN'e dönüştürerek, RK3588, RK3566 ve diğerleri gibi Rockchip SoC'lerle güçlendirilmiş cihazlarda optimum performans elde edebilirsin.
RKNN modellerini NVIDIA veya Google gibi diğer üreticilerin cihazlarında dağıtabilir miyim?
RKNN modelleri, Rockchip platformları ve bunların entegre NPU'ları için özel olarak optimize edilmiştir. Yazılım öykünmesi kullanarak teknik olarak başka bir platformda bir RKNN modeli çalıştırabilsen de, Rockchip cihazlarının sağladığı donanım hızlandırmasından yararlanamazsın. Diğer platformlarda optimum performans için, Ultralytics YOLO modellerini NVIDIA GPU'lar için TensorRT veya Google'ın Edge TPU'su için TensorFlow Lite gibi o platformlar için özel olarak tasarlanmış formatlara aktarman önerilir. Ultralytics, çeşitli donanım hızlandırıcılarıyla uyumluluk sağlamak için geniş bir format yelpazesine dışa aktarmayı destekler.
RKNN model dağıtımı için hangi Rockchip platformları desteklenmektedir?
Ultralytics YOLO'nun RKNN formatına dışa aktarımı, şu anda FP16 çıkarımına sahip Rockchip platformlarını desteklemektedir: RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 ve RV1126B. Yalnızca INT8 destekleyen hedefler (RV1103, RV1106, RV1103B, RV1106B) henüz desteklenmemektedir çünkü bu modellerin NPU'ları nicelleştirme gerektirir ve bu özellik yol haritasındadır. 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 modellerinin performansı Rockchip cihazlardaki diğer formatlarla nasıl karşılaştırılır?
RKNN modelleri, Rockchip'in NPU'ları için sağladıkları optimizasyon sayesinde Rockchip cihazlarda genellikle ONNX veya TensorFlow Lite gibi diğer formatlardan daha iyi performans gösterir. Örneğin, Radxa Rock 5B (RK3588) üzerindeki kıyaslamalar, RKNN formatındaki YOLO26n modelinin görüntü başına 99.5 ms'lik bir çıkarım süresine ulaştığını ve diğer formatlardan önemli ölçüde daha hızlı olduğunu göstermektedir. Bu performans avantajı, kıyaslamalar bölümünde gösterildiği gibi çeşitli YOLO26 model boyutlarında tutarlıdır. Özel NPU donanımından yararlanan RKNN modelleri, 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.