Ultralytics YOLO26 モデルの Rockchip RKNN エクスポート
組み込みデバイス、特に Rockchip プロセッサを搭載したデバイス上でコンピュータビジョンモデルをデプロイする場合、互換性のあるモデル形式が不可欠です。Ultralytics YOLO26 モデルを RKNN 形式にエクスポートすることで、最適化されたパフォーマンスと Rockchip ハードウェアとの互換性を確保できます。本ガイドでは、YOLO26 モデルを RKNN 形式に変換し、Rockchip プラットフォーム上で効率的にデプロイする方法を解説します。
本ガイドは、Rockchip RK3588 ベースの Radxa Rock 5B および Rockchip RK3566 ベースの Radxa Zero 3W でテスト済みです。RK3576、RK3568、RK3562、RK2118、RV1126B など、rknn-toolkit2 をサポートする他の Rockchip ベースデバイスでも動作する見込みです。INT8 推論のみをサポートするターゲット (RV1103、RV1106、RV1103B、RV1106B) は、現在の Ultralytics RKNN エクスポートが FP16 モデルのみを生成するため、現時点ではサポートされていません。
Rockchip とは
多用途で電力効率の高いソリューションを提供する Rockchip は、幅広い消費者向け電子機器、産業用アプリケーション、AI テクノロジーを支える高度なシステムオンチップ (SoC) を設計しています。ARM ベースのアーキテクチャ、内蔵ニューラル・プロセッシング・ユニット (NPU)、高解像度マルチメディアサポートにより、Rockchip SoC はタブレット、スマート TV、IoT システム、エッジ AI アプリケーション などのデバイスに最先端のパフォーマンスをもたらします。Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Pi などの企業が Rockchip SoC ベースの多様な製品を提供しており、さまざまな市場でその影響力とリーチを広げています。
RKNN Toolkit
RKNN Toolkit は、Rockchip が提供するツールおよびライブラリのセットであり、同社のハードウェアプラットフォーム上でのディープラーニングモデルのデプロイを容易にします。RKNN (Rockchip Neural Network) は、これらのツールで使用される独自のフォーマットです。RKNN モデルは、RK3588、RK3566、RV1103、RV1106 などの Rockchip 搭載システム上で、Rockchip の NPU (Neural Processing Unit) によるハードウェアアクセラレーションを最大限に活用し、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 へのエクスポート: YOLO26 モデルの変換
Ultralytics YOLO26 モデルを RKNN 形式にエクスポートし、エクスポートしたモデルで推論を実行します。
Rockchip ベースのデバイス (ARM64) でのエクスポートはサポートされていないため、必ず X86 ベースの Linux PC を使用して RKNN にエクスポートしてください。
インストール
必要なパッケージをインストールするには、以下のコマンドを実行します:
!!! Tip "インストール"
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドを確認してください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、共通の問題ガイドで解決策とヒントを参照してください。
使用方法
現在、エクスポートは検出モデルのみサポートされています。その他のモデルのサポートも順次追加される予定です。
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'エクスポート引数
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'rknn' | エクスポートされたモデルのターゲットフォーマット。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | int または tuple | 640 | モデル入力に希望する画像サイズ。正方形の画像の場合は整数、特定の寸法のタプル (height, width) で指定できます。 |
batch | int | 1 | エクスポートされたモデルのバッチ推論サイズ、または predict モードでモデルが同時に処理する画像の最大数を指定します。 |
name | str | 'rk3588' | Rockchip ターゲットを指定します。FP16 対応: rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b。INT8 専用ターゲット (rv1103, rv1106, rv1103b, rv1106b) は現時点ではサポートされていません。 |
device | str | None | エクスポート用のデバイスを指定します: GPU (device=0)、CPU (device=cpu)。 |
RKNN へのエクスポート時には、必ず x86 Linux マシンを使用してください。
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートした YOLO26 RKNN モデルのデプロイ
Ultralytics YOLO26 モデルを RKNN 形式に正常にエクスポートできたら、次はこれらのモデルを Rockchip ベースのデバイスにデプロイします。
インストール
必要なパッケージをインストールするには、以下のコマンドを実行します:
!!! Tip "インストール"
# Install the required package for YOLO26
pip install ultralytics使用方法
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 ランタイムのバージョンが RKNN Toolkit のバージョンと一致せず推論が失敗するというログメッセージが表示された場合は、/usr/lib/librknnrt.so を公式の librknnrt.so ファイル に置き換えてください。

実世界の応用例
YOLO26 RKNN モデルを搭載した Rockchip デバイスは、さまざまなアプリケーションで使用できます。
- スマート監視: 低消費電力でセキュリティ監視を行う、効率的な物体検出システムをデプロイします。
- 産業オートメーション: 組み込みデバイス上で直接、品質管理や欠陥検出を実装します。
- リテールアナリティクス: クラウドに依存することなく、リアルタイムで顧客の行動や在庫管理を追跡します。
- スマート農業: 農業用コンピュータビジョン を使用して、作物の健康状態の監視や害虫の検出を行います。
- 自律型ロボティクス: リソースが制限されたプラットフォーム上で、ビジョンベースのナビゲーションや障害物検出を可能にします。
ベンチマーク
以下の YOLO26 ベンチマークは、Ultralytics チームが Rockchip RK3588 ベースの Radxa Rock 5B 上で rknn モデル形式を使用して速度と精度を測定したものです。
| モデル | 形式 | ステータス | サイズ (MB) | mAP50-95(B) | 推論時間 (ms/im) |
|---|---|---|---|---|---|
| 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 でベンチマークを実施
上記のベンチマークの検証には COCO128 データセットを使用しました。推論時間には前処理・後処理の時間は含まれていません。
まとめ
本ガイドでは、Rockchip プラットフォームでのデプロイを強化するために、Ultralytics YOLO26 モデルを RKNN 形式にエクスポートする方法を学びました。また、RKNN Toolkit と、エッジ AI アプリケーションで RKNN モデルを使用する具体的な利点についても説明しました。
Ultralytics YOLO26 と Rockchip の NPU テクノロジーを組み合わせることで、組み込みデバイス上で高度なコンピュータビジョンタスクを実行するための効率的なソリューションが提供されます。このアプローチにより、最小限の消費電力で高いパフォーマンスを実現するリアルタイムの 物体検出 やその他のビジョン AI アプリケーションが可能になります。
使用方法の詳細については、RKNN 公式ドキュメント を参照してください。
また、他のUltralytics YOLO26インテグレーションについて詳しく知りたい場合は、インテグレーションガイドページをご覧ください。そこには有益なリソースや洞察が多数記載されています。
FAQ
Ultralytics YOLO モデルを RKNN 形式にエクスポートするにはどうすればよいですか?
Ultralytics Python パッケージの export() メソッド、またはコマンドラインインターフェース (CLI) を使用して、Ultralytics YOLO モデルを簡単に RKNN 形式にエクスポートできます。この操作は Rockchip などの ARM64 デバイスではサポートされていないため、必ず x86 ベースの Linux PC を使用してください。name 引数を使用して rk3588、rk3566 などのターゲットの Rockchip プラットフォームを指定できます。このプロセスにより、Rockchip デバイスのニューラル・プロセッシング・ユニット (NPU) を活用して推論を高速化できる、最適化された RKNN モデルが生成されます。
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 デバイスで RKNN モデルを使用する利点は何ですか?
RKNN モデルは、Rockchip のニューラル・プロセッシング・ユニット (NPU) のハードウェアアクセラレーション能力を活用するように特別に設計されています。この最適化により、同じハードウェア上で ONNX や TensorFlow Lite などの一般的なモデル形式を実行するよりも、推論速度が大幅に向上し、レイテンシが短縮されます。RKNN モデルを使用するとデバイスのリソースをより効率的に利用でき、消費電力の低下と全体的なパフォーマンスの向上が実現します。これは、エッジデバイスでのリアルタイムアプリケーションにとって特に重要です。Ultralytics YOLO モデルを RKNN に変換することで、RK3588 や RK3566 などの Rockchip SoC を搭載したデバイス上で最適なパフォーマンスを達成できます。
RKNN モデルを NVIDIA や Google などの他メーカーのデバイスにデプロイできますか?
RKNN モデルは、Rockchip プラットフォームとその統合 NPU に合わせて最適化されています。ソフトウェアエミュレーションを使用して他のプラットフォーム上で RKNN モデルを実行することは理論上可能ですが、Rockchip デバイスが提供するハードウェアアクセラレーションのメリットは得られません。他のプラットフォームで最適なパフォーマンスを得るには、NVIDIA GPU 用の TensorRT や Google の Edge TPU 用の TensorFlow Lite など、そのプラットフォーム専用に設計された形式に Ultralytics YOLO モデルをエクスポートすることを推奨します。Ultralytics は幅広い形式へのエクスポートをサポートしており、さまざまなハードウェアアクセラレータとの互換性を確保しています。
RKNN モデルのデプロイでサポートされている Rockchip プラットフォームは何ですか?
Ultralytics YOLO の RKNN 形式へのエクスポートは、現在 FP16 推論が可能な Rockchip プラットフォーム (RK3588、RK3576、RK3566、RK3568、RK3562、RK2118、RV1126B) をサポートしています。INT8 専用のターゲット (RV1103、RV1106、RV1103B、RV1106B) は、NPU に量子化が必要であり、現在ロードマップ上にあるためサポートされていません。これらのプラットフォームは Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Pi などのメーカーのデバイスに一般的に搭載されており、シングルボードコンピュータから産業用システムまで、幅広い Rockchip 搭載デバイスに最適化された RKNN モデルをデプロイできます。
Rockchip デバイスにおける RKNN モデルのパフォーマンスは、他の形式と比較してどうですか?
RKNN モデルは Rockchip の NPU に最適化されているため、一般的に Rockchip デバイス上では ONNX や TensorFlow Lite などの他の形式よりも高いパフォーマンスを発揮します。例えば、Radxa Rock 5B (RK3588) 上のベンチマークでは、RKNN 形式の YOLO26n は推論時間が 99.5 ms/画像となり、他の形式より大幅に高速です。このパフォーマンス上の優位性は、ベンチマークセクション で示すように、さまざまな YOLO26 モデルサイズで一貫しています。専用の NPU ハードウェアを活用することで、RKNN モデルはレイテンシを最小限に抑え、スループットを最大化します。これは、Rockchip ベースのエッジデバイスでのリアルタイムアプリケーションに最適です。