コンテンツへスキップ

Rockchip RKNN Export forUltralytics YOLO11 モデル

組み込み機器、特にRockchipプロセッサを搭載した機器にコンピュータビジョンモデルを展開する場合、互換性のあるモデルフォーマットが不可欠です。モデルを Ultralytics YOLO11モデルを RKNN フォーマットにエクスポートすることで、最適化されたパフォーマンスと Rockchip ハードウェアとの互換性が保証されます。このガイドでは、YOLO11 のモデルを RKNN フォーマットに変換する手順を説明し、Rockchip プラットフォームへの効率的な展開を可能にします。

RKNN

このガイドは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にモデルをエクスポートしてください。

インストール

必要なパッケージをインストールするには

インストール

# 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)を指定します。

エクスポートプロセスの詳細については、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ツールキットのバージョンと一致せず、推論に失敗したことを示すログメッセージが表示された場合は、次のように置き換えてください。 /usr/lib/librknnrt.so 公式の libknnrt.soファイル.

RKNNエクスポートのスクリーンショット

ベンチマーク

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)を活用して推論が加速されます。

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デバイスが提供するハードウェア・アクセラレーションの恩恵は受けられません。他のプラットフォームで最適なパフォーマンスを得るには、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ベースのエッジデバイス上のリアルタイムアプリケーションに最適です。

📅作成 20 日前 ✏️更新 4日前

コメント