Rockchip RKNN Export forUltralytics YOLO11 モデル
組み込み機器、特に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社は、民生用電子機器、産業用アプリケーション、AI技術など幅広い分野に対応する先進的なシステムオンチップ(SoC)を設計しています。ARMベースのアーキテクチャ、内蔵NPU(Neural Processing Unit)、高解像度マルチメディアサポートにより、Rockchip社のSoCはタブレット、スマートテレビ、IoTシステム、エッジAIアプリケーションなどのデバイスで最先端の性能を発揮します。Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Piなどの企業は、Rockchip SoCをベースとしたさまざまな製品を提供しており、多様な市場へのリーチと影響力をさらに拡大しています。
RKNNツールキット
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プラットフォームに合わせてカスタマイズできるため、ハードウェア・リソースをより有効に活用できます。
フラッシュOSをロックチップのハードウェアに
Rockchipベースのデバイスを手に入れた後の最初のステップは、OSをフラッシュし、ハードウェアが動作環境に起動できるようにすることだ。このガイドでは、私たちがテストした2つのデバイス(Radxa Rock 5BとRadxa Zero 3W)のスタートガイドを紹介します。
RKNNへのエクスポート:YOLO11 モデルの変換
Ultralytics YOLO11 モデルを RKNN 形式にエクスポートし、エクスポートしたモデルで推論を実行する。
注
Rockchipベースのデバイス(ARM64)でのエクスポートはサポートされていないため、必ずX86ベースのLinux PCを使用してRKNNにモデルをエクスポートしてください。
インストール
必要なパッケージをインストールするには
インストールプロセスに関する詳細な説明とベストプラクティスについては、Ultralytics インストールガイドをご覧ください。YOLO11 に必要なパッケージをインストールする際に、何らかの問題が発生した場合は、解決策やヒントについて、よくある問題ガイドを参照してください。
使用方法
注
エクスポートは現在、検出モデルのみに対応しています。今後、より多くのモデルをサポートする予定です。
使用方法
エクスポートの引数
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
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)を指定します。 |
エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。
エクスポートされたYOLO11 RKNN モデルの展開
Ultralytics YOLO11 モデルのRKNNフォーマットへのエクスポートに成功したら、次のステップは、これらのモデルをRockchipベースのデバイスに展開することです。
インストール
必要なパッケージをインストールするには
使用方法
使用方法
注
RKNNランタイムのバージョンがRKNNツールキットのバージョンと一致せず、推論に失敗したことを示すログメッセージが表示された場合は、次のように置き換えてください。 /usr/lib/librknnrt.so
公式の libknnrt.soファイル.
ベンチマーク
YOLO11 以下のベンチマークは、Rockchip RK3588ベースのRadxa Rock 5B上でUltralytics 。 rknn
スピードと精度を測定するモデル形式。
モデル | フォーマット | ステータス | サイズ (MB) | mAP50-95(B) | 推論時間(ms/im) |
---|---|---|---|---|---|
YOLO11n | rknn |
✅ | 7.4 | 0.61 | 99.5 |
YOLO11s | rknn |
✅ | 20.7 | 0.741 | 122.3 |
YOLO11m | rknn |
✅ | 41.9 | 0.764 | 298.0 |
YOLO11l | rknn |
✅ | 53.3 | 0.72 | 319.6 |
YOLO11x | rknn |
✅ | 114.6 | 0.828 | 632.1 |
注
上記のベンチマークの検証は、coco8データセットを用いて行われた。
概要
このガイドでは、Ultralytics YOLO11 モデルを RKNN フォーマットにエクスポートし、Rockchip プラットフォームへの展開を強化する方法を学びました。また、RKNN ツールキットと、エッジ AI アプリケーションに RKNN モデルを使用する具体的な利点についても紹介しました。
使い方の詳細については、RKNNの公式ドキュメントをご覧ください。
また、その他のUltralytics YOLO11 の統合について詳しくお知りになりたい場合は、統合ガイドのページをご覧ください。有用なリソースや見識がたくさん見つかります。
よくあるご質問
Ultralytics YOLO モデルを RKNN フォーマットにエクスポートするには?
Ultralytics YOLO モデルを RKNN フォーマットにエクスポートするには、次のようにします。 export()
Ultralytics Python メソッドを使用するか、コマンドライン・インターフェイス (CLI) を使用してください。RockchipのようなARM64デバイスはこの操作に対応していないため、エクスポート処理にx86ベースのLinux PCを使用していることを確認してください。ターゲットのRockchipプラットフォームは name
引数 rk3588
, rk3566
などがあります。このプロセスにより、最適化されたRKNNモデルが生成され、Rockchipデバイスへの展開が可能になり、ニューラル・プロセッシング・ユニット(NPU)を活用して推論が加速されます。
例
RockchipデバイスでRKNNモデルを使用する利点は何ですか?
RKNNモデルは、Rockchip社のニューラル・プロセッシング・ユニット(NPU)のハードウェア・アクセラレーション機能を活用するよう特別に設計されています。この最適化により、ONNX やTensorFlow Lite のような一般的なモデル形式を同じハードウェアで実行する場合と比較して、推論速度が大幅に速くなり、待ち時間が短縮されます。RKNNモデルを使用することで、デバイスのリソースをより効率的に使用することができ、消費電力の低減と全体的なパフォーマンスの向上につながります。Ultralytics YOLO モデルをRKNNに変換することで、RK3588、RK3566などのRockchip SoCを搭載したデバイスで最適なパフォーマンスを実現できます。
NVIDIA やGoogle のような他のメーカーのデバイスにRKNNモデルを展開できますか?
RKNNモデルはRockchipプラットフォームとその内蔵NPUに最適化されています。技術的にはソフトウェア・エミュレーションを使って他のプラットフォームでもRKNNモデルを実行できますが、Rockchipデバイスが提供するハードウェア・アクセラレーションの恩恵は受けられません。他のプラットフォームで最適なパフォーマンスを得るには、Ultralytics YOLO モデルを、TensorRT forNVIDIA GPUs やTensorFlow LiteforGoogle's EdgeTPU など、それらのプラットフォーム用に特別に設計されたフォーマットにエクスポートすることをお勧めします。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などのメーカーのデバイスによく搭載されています。この幅広いサポートにより、シングルボードコンピュータから産業用システムまで、さまざまなRockchip搭載デバイスに最適化したRKNNモデルを展開し、AIアクセラレーション機能を最大限に活用して、コンピュータビジョンアプリケーションのパフォーマンスを向上させることができます。
RKNNモデルの性能は、Rockchipデバイス上の他のフォーマットと比較してどうですか?
RKNNモデルは、RockchipのNPU向けに最適化されているため、一般的にRockchipデバイス上では、ONNX やTensorFlow Liteのような他のフォーマットよりも優れています。例えば、Radxa Rock 5B (RK3588)上のベンチマークでは、RKNNフォーマットのYOLO11nは99.5ms/imageの推論時間を達成し、他のフォーマットよりも大幅に高速であることが示されています。この性能の優位性は、ベンチマークのセクションで実証されているように、YOLO11 の様々なモデルサイズで一貫しています。専用のNPUハードウェアを活用することで、RKNNモデルはレイテンシを最小化し、スループットを最大化するため、Rockchipベースのエッジデバイス上のリアルタイムアプリケーションに最適です。