Ultralytics YOLO11モデルのRockchip RKNNエクスポート
組み込みデバイス、特にRockchipプロセッサを搭載したデバイスにコンピュータビジョンモデルをデプロイする場合、互換性のあるモデル形式を持つことが不可欠です。Ultralytics YOLO11モデルをRKNN形式にエクスポートすると、Rockchipのハードウェアとの最適化されたパフォーマンスと互換性が保証されます。このガイドでは、YOLO11モデルをRKNN形式に変換し、Rockchipプラットフォームへの効率的なデプロイメントを可能にする手順を説明します。
注
このガイドは、Rockchip RK3588をベースにしたRadxa Rock 5Bと、Rockchip RK3566をベースにしたRadxa Zero 3Wでテストされています。RK3576、RK3568、RK3562、RV1103、RV1106、RV1103B、RV1106B、RK2118など、rknn-toolkit2をサポートする他のRockchipベースのデバイスでも動作することが期待されます。
Rockchipとは何ですか?
汎用性と電力効率に優れたソリューションを提供することで知られるRockchipは、幅広い家電製品、産業用アプリケーション、およびAI技術を強化する高度なSystem-on-Chips(SoC)を設計しています。ARMベースのアーキテクチャ、内蔵のニューラルプロセッシングユニット(NPU)、および高解像度マルチメディアのサポートにより、Rockchip SoCは、タブレット、スマートTV、IoTシステム、およびエッジAIアプリケーションなどのデバイスに最先端のパフォーマンスを提供します。Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Piなどの企業は、Rockchip SoCに基づくさまざまな製品を提供し、多様な市場でのリーチと影響力をさらに拡大しています。
RKNN Toolkit
<a href="https://github.com/airockchip/rknn-toolkit2">RKNN Toolkitは、Rockchipが提供するツールとライブラリのセットであり、深層学習モデルをハードウェアプラットフォームに簡単にデプロイできるようにします。RKNN(Rockchip Neural Network)は、これらのツールで使用される独自の形式です。RKNNモデルは、RockchipのNPU(Neural Processing Unit)によって提供されるハードウェアアクセラレーションを最大限に活用するように設計されており、RK3588、RK3566、RV1103、RV1106、およびその他のRockchip搭載システムでのAIタスクで高いパフォーマンスを保証します。
RKNNモデルの主な機能
RKNNモデルは、Rockchipプラットフォームへのデプロイにおいていくつかの利点があります。
- NPU向けに最適化: RKNNモデルは、RockchipのNPU上で実行されるように特別に最適化されており、最大限のパフォーマンスと効率を保証します。
- 低レイテンシー: RKNN形式は推論レイテンシーを最小限に抑え、エッジデバイスでのリアルタイムアプリケーションに不可欠です。
- プラットフォーム固有のカスタマイズ: RKNNモデルは、特定のRockchipプラットフォームに合わせて調整でき、ハードウェアリソースのより有効な活用を可能にします。
- 電力効率: 専用のNPUハードウェアを活用することで、RKNNモデルはCPUまたはGPUベースの処理よりも消費電力が少なく、ポータブルデバイスのバッテリー寿命を延ばします。
RockchipハードウェアへのフラッシュOS
Rockchipベースのデバイスを入手した後の最初のステップは、ハードウェアが動作環境で起動できるようにOSをフラッシュすることです。このガイドでは、Radxa Rock 5BとRadxa Zero 3Wという、私たちがテストした2つのデバイスの入門ガイドを紹介します。
RKNN へのエクスポート: YOLO11 モデルの変換
Ultralytics YOLO11モデルをRKNN形式にエクスポートし、エクスポートされたモデルで推論を実行します。
注
Rockchipベースのデバイス(ARM64)でのエクスポートはサポートされていないため、モデルをRKNNにエクスポートするには、X86ベースのLinux PCを使用してください。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO11
pip install ultralytics
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO11に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドで解決策とヒントを参照してください。
使用法
注
現在、エクスポートは検出モデルでのみサポートされています。今後、より多くのモデルのサポートが追加される予定です。
使用法
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'
エクスポート引数
引数 | 種類 | デフォルト | 説明 |
---|---|---|---|
format |
str |
'rknn' |
エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。 |
batch |
int |
1 |
エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。 |
name |
str |
'rk3588' |
Rockchipモデル(rk3588、rk3576、rk3566、rk3568、rk3562、rv1103、rv1106、rv1103b、rv1106b、rk2118)を指定します |
device |
str |
None |
エクスポート先のデバイス(GPU(device=0 )、CPU (device=cpu )。 |
ヒント
RKNNにエクスポートする際は、x86 Linuxマシンを使用してください。
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされたYOLO11 RKNNモデルのデプロイ
Ultralytics YOLO11モデルをRKNN形式に正常にエクスポートしたら、次のステップは、これらのモデルをRockchipベースのデバイスにデプロイすることです。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO11
pip install ultralytics
使用法
使用法
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'
注
RKNNランタイムのバージョンがRKNN Toolkitのバージョンと一致しないことを示すログメッセージが表示され、推論が失敗する場合は、以下を置き換えてください。 /usr/lib/librknnrt.so
公式の librknnrt.soファイル.
現実世界のアプリケーション
YOLO11 RKNNモデルを搭載したRockchipデバイスは、さまざまなアプリケーションで使用できます。
- スマート監視: 低消費電力でセキュリティ監視用の効率的なオブジェクト検出システムをデプロイします。
- 産業オートメーション:組み込みデバイス上で直接、品質管理と欠陥検出を実装。
- 小売分析: クラウドに依存せず、リアルタイムで顧客行動と在庫管理を追跡します。
- スマート農業: 農業におけるコンピュータビジョンを使用して、作物の健康状態を監視し、害虫を検出します。
- 自律ロボティクス: リソース制約のあるプラットフォーム上で、ビジョンベースのナビゲーションと障害物検出を可能にします。
ベンチマーク
以下のYOLO11のベンチマークは、UltralyticsチームがRockchip RK3588ベースのRadxa Rock 5Bで実行したものです。 rknn
速度と精度を測定するモデル形式。
パフォーマンス
モデル | 形式 | ステータス | サイズ(MB) | mAP50-95(B) | 推論時間 (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 |
ベンチマーク対象 ultralytics 8.3.152
注
上記のベンチマークの検証は、COCO128 データセットを使用して行われました。推論時間には、プリ/ポスト処理は含まれていません。
概要
このガイドでは、Ultralytics YOLO11モデルをRKNN形式にエクスポートして、Rockchipプラットフォームでのデプロイメントを強化する方法を学びました。また、RKNN Toolkitと、エッジAIアプリケーションにRKNNモデルを使用することの具体的な利点についても紹介しました。
Ultralytics YOLO11とRockchipのNPUテクノロジーの組み合わせは、組み込みデバイス上で高度なコンピュータビジョンタスクを実行するための効率的なソリューションを提供します。このアプローチにより、最小限の消費電力と高いパフォーマンスで、リアルタイムの物体検出やその他のビジョンAIアプリケーションが可能になります。
使用方法の詳細については、RKNNの公式ドキュメントをご覧ください。
また、Ultralytics YOLO11のその他の統合について詳しく知りたい場合は、統合ガイドページをご覧ください。役立つリソースや洞察が多数掲載されています。
よくある質問
Ultralytics YOLOモデルをRKNN形式にエクスポートするにはどうすればよいですか?
Ultralytics YOLOモデルをRKNN形式にエクスポートするには、 export()
Ultralytics Python パッケージのメソッドまたはコマンドラインインターフェース(CLI)経由で実行します。エクスポート処理には、x86ベースのLinux PCを使用してください。RockchipなどのARM64デバイスはこの操作に対応していません。特定のRockchipプラットフォームを指定するには、 name
引数(など)。 rk3588
, rk3566
など。このプロセスにより、Rockchipデバイスでの展開に対応した最適化されたRKNNモデルが生成され、高速推論のためにニューラルプロセッシングユニット(NPU)が活用されます。
例
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 デバイスで RKNN モデルを使用する利点は何ですか?
RKNNモデルは、Rockchipのニューラルプロセッシングユニット(NPU)のハードウェアアクセラレーション機能を活用するように特別に設計されています。この最適化により、同じハードウェア上でONNXやTensorFlow Liteのような汎用モデル形式を実行するよりも、推論速度が大幅に向上し、レイテンシが短縮されます。RKNNモデルを使用すると、デバイスのリソースをより効率的に使用でき、消費電力が削減され、全体的なパフォーマンスが向上します。これは、エッジデバイスでのリアルタイムアプリケーションにとって特に重要です。Ultralytics YOLOモデルをRKNNに変換することで、RK3588、RK3566などのRockchip SoCを搭載したデバイスで最適なパフォーマンスを実現できます。
NVIDIAやGoogleなどの他のメーカーのデバイスにRKNNモデルをデプロイできますか?
RKNNモデルは、Rockchipプラットフォームおよびその統合NPU向けに特別に最適化されています。ソフトウェアエミュレーションを使用して他のプラットフォームでRKNNモデルを実行することも技術的には可能ですが、Rockchipデバイスが提供するハードウェアアクセラレーションの恩恵を受けることはできません。他のプラットフォームで最適なパフォーマンスを得るには、NVIDIA GPU用のTensorRTやGoogleのEdge TPU用のTensorFlow Liteなど、それらのプラットフォーム向けに特別に設計された形式にUltralytics YOLOモデルをエクスポートすることをお勧めします。Ultralyticsは、さまざまなハードウェアアクセラレータとの互換性を確保するために、幅広い形式へのエクスポートをサポートしています。
RKNN モデルのデプロイでサポートされている Rockchip プラットフォームは何ですか?
Ultralytics YOLOをRKNN形式にエクスポートすると、一般的なRK3588、RK3576、RK3566、RK3568、RK3562、RV1103、RV1106、RV1103B、RV1106B、RK2118を含む、広範なRockchipプラットフォームがサポートされます。これらのプラットフォームは、Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Piなどのメーカーのデバイスで一般的に見られます。この幅広いサポートにより、最適化されたRKNNモデルを、シングルボードコンピューターから産業用システムまで、さまざまなRockchip搭載デバイスにデプロイし、AIアクセラレーション機能を最大限に活用して、コンピュータービジョンアプリケーションのパフォーマンスを向上させることができます。
RKNNモデルのパフォーマンスは、Rockchipデバイス上の他のフォーマットと比べてどうですか?
RKNNモデルは、RockchipのNPU向けに最適化されているため、通常、Rockchipデバイス上のONNXやTensorFlow Liteなどの他の形式よりも優れたパフォーマンスを発揮します。たとえば、Radxa Rock 5B(RK3588)でのベンチマークでは、RKNN形式のYOLO11nが99.5 ms/imageの推論時間を達成しており、他の形式よりも大幅に高速であることが示されています。このパフォーマンスの優位性は、ベンチマークセクションで示されているように、さまざまなYOLO11モデルサイズで一貫しています。専用のNPUハードウェアを活用することで、RKNNモデルはレイテンシを最小限に抑え、スループットを最大化するため、Rockchipベースのエッジデバイスでのリアルタイムアプリケーションに最適です。