İçeriğe geç

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

Bilgisayar görüşü modellerini gömülü cihazlarda, özellikle Rockchip işlemcileriyle çalışanlarda dağıtırken, uyumlu bir model formatına sahip olmak önemlidir. Ultralytics YOLO11 modellerini RKNN formatına aktarmak, Rockchip'in donanımıyla optimize edilmiş performans ve uyumluluk sağlar. Bu kılavuz, YOLO11 modellerinizi RKNN formatına dönüştürme konusunda size yol gösterecek ve Rockchip platformlarında verimli dağıtım sağlayacaktır.

RKNN

Not

Bu kılavuz, Rockchip RK3588 tabanlı Radxa Rock 5B ve Rockchip RK3566 tabanlı Radxa Zero 3W ile test edilmiştir. RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B ve RK2118 gibi rknn-toolkit2'yi destekleyen diğer Rockchip tabanlı cihazlarda da çalışması beklenmektedir.

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 uygulamalar ve yapay zeka teknolojilerine güç sağlayan gelişmiş Çip Üzerinde Sistemler (SoC'ler) tasarlar. ARM tabanlı mimarisi, yerleşik Nöral İşleme Birimleri (NPB'ler) 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 performansı sağlar. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi şirketler, Rockchip SoC'lere dayalı çeşitli ürünler sunarak, çeşitli pazarlarda erişimlerini ve etkilerini daha da genişletmektedir.

RKNN Araç Seti

RKNN Toolkit, Rockchip tarafından donanım platformlarında derin öğrenme modellerinin dağıtımını kolaylaştırmak için sağlanan bir araç ve kütüphane setidir. RKNN veya Rockchip Neural Network, bu araçlar tarafından kullanılan tescilli formattır. RKNN modelleri, Rockchip'in NPU'su (Neural Processing Unit) tarafından sağlanan donanım hızlandırmasından tam olarak yararlanmak üzere 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ş: RKNN modelleri, maksimum performans ve verimlilik sağlamak için özellikle Rockchip'in NPU'larında çalışacak şekilde optimize edilmiştir.
  • Düşük Gecikme: RKNN formatı, 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 göre uyarlanabilir ve donanım kaynaklarının daha iyi kullanılmasını sağlar.
  • Güç Verimliliği: Özel NPU donanımından yararlanarak, RKNN modelleri CPU veya GPU tabanlı işlemeye göre daha az güç tüketir ve taşınabilir cihazlar için pil ömrünü uzatır.

Flash OS'yi Rockchip donanımına yükleyin

Rockchip tabanlı bir cihaza sahip olduktan sonraki 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 işaret edeceğiz.

RKNN'ye Aktar: YOLO11 Modelinizi Dönüştürme

Bir Ultralytics YOLO11 modelini RKNN formatına aktarın ve aktarılan modelle çıkarım yapın.

Not

Modeli RKNN'ye aktarmak için X86 tabanlı bir Linux PC kullandığınızdan emin olun, çünkü Rockchip tabanlı cihazlarda (ARM64) dışa aktarma desteklenmemektedir.

Kurulum

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

Kurulum

# Install the required package for YOLO11
pip install ultralytics

Yükleme süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza bakın. YOLO11 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Sık Karşılaşılan Sorunlar kılavuzumuza başvurun.

Kullanım

Not

Dışa aktarma şu anda yalnızca algılama modelleri için desteklenmektedir. Gelecekte daha fazla model desteği gelecektir.

Kullanım

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588")  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_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 modelin hedef formatı.
imgsz int veya tuple 640 Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya bir demet olabilir (height, width) belirli boyutlar için.
batch int 1 Dışa aktarma modeli toplu çıkarım boyutunu veya dışa aktarılan modelin aynı anda işleyeceği maksimum görüntü sayısını belirtir. predict modu.
name str 'rk3588' Rockchip modelini belirtir (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118).
device str None Dışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu).

İpucu

RKNN'ye aktarırken lütfen bir x86 Linux makinesi kullandığınızdan emin olun.

Dışa aktarma süreci hakkında daha fazla bilgi için Ultralytics'in dışa aktarma hakkındaki dokümantasyon sayfasını ziyaret edin.

Dışa Aktarılan YOLO11 RKNN Modellerini Dağıtma

Ultralytics YOLO11 modellerinizi RKNN formatına başarıyla aktardıktan sonra, bir sonraki adım bu modelleri Rockchip tabanlı cihazlara dağıtmaktır.

Kurulum

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

Kurulum

# Install the required package for YOLO11
pip install ultralytics

Kullanım

Kullanım

from ultralytics import YOLO

# Load the exported RKNN model
rknn_model = YOLO("./yolo11n_rknn_model")

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

Not

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

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

Gerçek Dünya Uygulamaları

YOLO11 RKNN modelleriyle güçlendirilmiş Rockchip cihazları çeşitli uygulamalarda kullanılabilir:

  • Akıllı Gözetim: Düşük güç tüketimiyle güvenlik izlemesi için verimli nesne algılama sistemleri dağıtın.
  • Endüstriyel Otomasyon: Kalite kontrolünü ve kusur tespitini doğrudan gömülü cihazlarda uygulayın.
  • Perakende Analitiği: Bulut bağımlılığı olmadan müşteri davranışını ve envanter yönetimini gerçek zamanlı olarak izleyin.
  • Akıllı Tarım: Tarımda bilgisayarlı görü kullanarak ürün sağlığını izleyin ve zararlıları tespit edin.
  • Otonom Robotik: Kaynak kısıtlı platformlarda vizyon tabanlı navigasyon ve engel tespitini etkinleştirin.

Kıyaslamalar

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

Performans

Model Format Durum Boyut (MB) mAP50-95(B) Çıkarım süresi (ms/im)
YOLO11n rknn 7.4 0.505 71.5
YOLO11s rknn 20.7 0.578 98.9
YOLO11m rknn 41.9 0.629 235.3
YOLO11l rknn 53.3 0.633 282.0
YOLO11x rknn 114.6 0.687 679.2

ile kıyaslandı ultralytics 8.3.152

Not

Yukarıdaki kıyaslamalar için doğrulama, COCO128 veri kümesi kullanılarak yapılmıştır. Çıkarım süresi, ön/son işlemeyi içermez.

Özet

Bu kılavuzda, Ultralytics YOLO11 modellerini Rockchip platformlarındaki dağıtımlarını iyileştirmek için RKNN formatına nasıl aktaracağınızı öğrendiniz. Ayrıca, RKNN Araç Seti ve uç AI uygulamaları için RKNN modellerini kullanmanın özel avantajları ile tanıştınız.

Ultralytics YOLO11 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 sunar. Bu yaklaşım, minimum güç tüketimi ve yüksek performansla gerçek zamanlı nesne algılama ve diğer görme yapay zeka uygulamalarını mümkün kılar.

Kullanım hakkında daha fazla bilgi için RKNN resmi belgelerini ziyaret edin.

Ayrıca, diğer Ultralytics YOLO11 entegrasyonları hakkında daha fazla bilgi edinmek isterseniz, entegrasyon kılavuzu sayfamızı ziyaret edin. Orada birçok faydalı kaynak ve içgörü bulacaksınız.

SSS

Ultralytics YOLO modelimi RKNN formatına nasıl aktarabilirim?

Ultralytics YOLO modelinizi, kullanarak kolayca RKNN biçimine aktarabilirsiniz export() yöntemini Ultralytics python paketinde veya komut satırı arayüzü (CLI) aracılığıyla kullanın. Dışa aktarma işlemi için x86 tabanlı bir Linux PC kullandığınızdan emin olun, çünkü Rockchip gibi ARM64 cihazları bu işlem için desteklenmemektedir. Hedef Rockchip platformunu kullanarak belirtebilirsiniz name gibi argüman rk3588, rk3566, veya diğerleri. Bu işlem, hızlandırılmış çıkarım için Nöral İşleme Biriminden (NPU) yararlanarak Rockchip cihazınızda dağıtıma hazır optimize edilmiş bir RKNN modeli oluşturur.

Örnek

from ultralytics import YOLO

# Load your YOLO model
model = YOLO("yolo11n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588

Rockchip cihazlarında RKNN modellerini kullanmanın faydaları nelerdir?

RKNN modelleri, özellikle Rockchip'in Nöral İşleme Birimlerinin (NPU'lar) donanım hızlandırma özelliklerinden yararlanmak için tasarlanmıştır. Bu optimizasyon, aynı donanımda 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 sağlar. RKNN modellerini kullanmak, cihazın kaynaklarının daha verimli kullanılmasını sağlayarak daha düşük güç tüketimi ve daha iyi genel performans sağlar; bu da özellikle uç cihazlardaki gerçek zamanlı uygulamalar için kritiktir. Ultralytics YOLO modellerinizi RKNN'ye dönüştürerek, RK3588, RK3566 ve diğerleri gibi Rockchip SoC'ler tarafından desteklenen cihazlarda optimum performans elde edebilirsiniz.

NVIDIA veya Google gibi diğer üreticilerin cihazlarında RKNN modellerini dağıtabilir miyim?

RKNN modelleri, özellikle Rockchip platformları ve entegre NPU'ları için optimize edilmiştir. Bir RKNN modelini teknik olarak yazılım emülasyonu kullanarak diğer platformlarda çalıştırabilseniz de, Rockchip cihazları tarafından sağlanan donanım hızlandırmasından yararlanamazsınız. Diğer platformlarda optimum performans için, Ultralytics YOLO modellerinizi NVIDIA GPU'lar için TensorRT veya Google'ın Edge TPU'su için TensorFlow Lite gibi bu platformlar için özel olarak tasarlanmış formatlara aktarmanız önerilir. Ultralytics, çeşitli donanım hızlandırıcılarıyla uyumluluk sağlayarak çok çeşitli formatlara dışa aktarmayı destekler.

RKNN model dağıtımı için hangi Rockchip platformları desteklenmektedir?

Ultralytics YOLO'nun RKNN formatına aktarımı, popüler RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B ve RK2118 dahil olmak üzere çok çeşitli Rockchip platformlarını destekler. Bu platformlar genellikle Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas ve Banana Pi gibi üreticilerin cihazlarında bulunur. Bu geniş destek, optimize edilmiş RKNN modellerinizi tek kartlı bilgisayarlardan endüstriyel sistemlere kadar çeşitli Rockchip destekli cihazlara dağıtabilmenizi ve bilgisayarlı görü uygulamalarınızda gelişmiş performans için yapay zeka hızlandırma yeteneklerinden tam olarak yararlanabilmenizi sağlar.

RKNN modellerinin performansı, Rockchip cihazlarında diğer formatlarla nasıl karşılaştırılır?

RKNN modelleri, Rockchip'in NPU'ları için optimizasyonları nedeniyle genellikle Rockchip cihazlarında 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 YOLO11n'in 99,5 ms/görüntü çıkarım süresine ulaştığını ve bunun diğer formatlardan önemli ölçüde daha hızlı olduğunu göstermektedir. Bu performans avantajı, kıyaslama bölümünde gösterildiği gibi, çeşitli YOLO11 model boyutlarında tutarlıdır. Özel NPU donanımından yararlanarak, RKNN modelleri gecikmeyi en aza indirir ve verimi en üst düzeye çıkarır, bu da onları Rockchip tabanlı uç cihazlardaki gerçek zamanlı uygulamalar için ideal hale getirir.



📅 6 ay önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar