Meet YOLO26: next-gen vision AI.

Link to this sectionRockchip RKNNモデルのUltralytics YOLO26エクスポート#

コンピュータビジョンモデル、特にRockchipプロセッサを搭載した組み込みデバイスにデプロイする場合、互換性のあるモデル形式が不可欠です。Ultralytics YOLO26モデルをRKNN形式にエクスポートすることで、Rockchipのハードウェアに対して最適化されたパフォーマンスと互換性が保証されます。本ガイドでは、YOLO26モデルをRKNN形式に変換する方法を、浮動小数点およびINT8量子化エクスポートを含めて解説し、Rockchipプラットフォーム上での効率的なデプロイを実現します。

Rockchip RKNN export for NPU deployment

注意

本ガイドは、Rockchip RK3588をベースとするRadxa Rock 5BおよびRockchip RK3566をベースとするRadxa Zero 3Wでテストされています。RK3576、RK3568、RK3562、RK2118、RV1126B、RV1103、RV1106、RV1103B、RV1106Bなど、rknn-toolkit2をサポートする他のRockchipベースのデバイスでも動作することが期待されます。RV1103やRV1106のようなINT8専用ターゲットにはquantize=8が必要です。

Link to this sectionRockchipとは#

多機能で電力効率の高いソリューションを提供するRockchipは、家電製品、産業用途、AI技術など幅広い分野を支える高度なSystem-on-Chip (SoC) を設計しています。ARMベースのアーキテクチャ、内蔵のNeural Processing Unit (NPU)、高解像度マルチメディアサポートにより、Rockchip SoCはタブレット、スマートTV、IoTシステム、そしてエッジAIアプリケーションなどのデバイスにおいて最先端のパフォーマンスを実現します。Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Piといった企業がRockchip SoCベースの様々な製品を提供しており、多様な市場全体でその影響力を広げています。

Link to this sectionRKNN Toolkit#

RKNN Toolkitは、Rockchipが提供するツールおよびライブラリのセットであり、同社のハードウェアプラットフォーム上でのディープラーニングモデルのデプロイを容易にします。RKNN(Rockchip Neural Network)は、これらのツールで使用される独自形式です。RKNNモデルは、RockchipのNPU (Neural Processing Unit) が提供するハードウェアアクセラレーションを最大限に活用するように設計されており、RK3588、RK3566、RV1103、RV1106などのRockchip搭載システムにおいてAIタスクの高性能を実現します。

Link to this sectionRKNNモデルの主な特長#

RKNNモデルは、Rockchipプラットフォームへのデプロイにおいていくつかの利点を提供します。

  • NPU向け最適化: RKNNモデルはRockchipのNPUで動作するように特化して最適化されており、最大限のパフォーマンスと効率を保証します。
  • 低レイテンシ: RKNN形式は推論レイテンシを最小限に抑えるため、エッジデバイスでのリアルタイムアプリケーションに不可欠です。
  • プラットフォーム固有のカスタマイズ: RKNNモデルは特定のRockchipプラットフォームに合わせて調整可能であり、ハードウェアリソースをより有効に活用できます。
  • 電力効率: 専用のNPUハードウェアを活用することで、RKNNモデルはCPUやGPUベースの処理よりも消費電力を抑え、ポータブルデバイスのバッテリー寿命を延ばします。

Link to this sectionRockchipハードウェアへのOSフラッシュ#

Rockchipベースのデバイスを入手した後の最初のステップは、ハードウェアが動作環境で起動できるようにOSをフラッシュすることです。本ガイドでは、テストに使用したRadxa Rock 5BとRadxa Zero 3Wの2つのデバイスの入門ガイドを紹介します。

Link to this sectionRKNNへのエクスポート: YOLO26モデルの変換#

Ultralytics YOLO26モデルをRKNN形式にエクスポートし、エクスポートされたモデルで推論を実行します。

注意

Rockchipベースのデバイス (ARM64) でのエクスポートはサポートされていないため、モデルをRKNNにエクスポートするには必ずX86ベースのLinux PCを使用してください。

Link to this sectionインストール#

必要なパッケージをインストールするには、以下を実行してください。

インストール
# Install the required package for YOLO26
pip install ultralytics

インストールプロセスの詳細およびベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについて共通の問題ガイドを参照してください。

Link to this section使用方法#

注意

現在、エクスポートは検出モデルのみサポートされています。その他のモデルサポートは今後追加される予定です。

RKNN形式はExportPredict、およびValidateモードをサポートしています。推論とバリデーションはRockchip NPUハードウェア上で実行されます。モデルをエクスポートし、エクスポートされたモデルを読み込んで推論を実行するか、精度を検証してください。デフォルトでは、RKNNエクスポートはFP16対応のRockchipターゲットに対して浮動小数点ビルドパス(quantize=16)を使用します。キャリブレーションデータを使用してINT8量子化されたRKNNモデルを構築するには、quantize=8を使用してください。RKNNエクスポートは個別のFP32モードを公開しておらず、FP16のデフォルト設定ではFP32は要求されません。

エクスポート
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to RKNN format
model.export(format="rknn", name="rk3588")  # creates '/yolo26n_rknn_model'

# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml")
予測
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
検証
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionエクスポートの引数#

引数タイプデフォルト説明
formatstr'rknn'エクスポートされたモデルのターゲット形式であり、Rockchipデプロイ環境との互換性を定義します。
imgszintまたはtuple640モデル入力用の希望する画像サイズ。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。
batchint1エクスポートされたモデルのバッチ推論サイズ、あるいはpredictモードで同時に処理する画像の最大数を指定します。
namestr'rk3588'Rockchipのターゲットを指定します。rk3588rk3576rk3566rk3568rk3562rk2118rv1126bはFP16(quantize=16または指定なし)とINT8(quantize=8)をサポートしており、rv1103rv1106rv1103brv1106bはINT8専用(quantize=8または指定なし)です。
quantizeint または strNone量子化精度について:指定なしまたは16は、FP16対応ターゲット用にFP16をビルドします。指定なしの場合、INT8専用ターゲットには自動的にINT8が有効になります。8はINT8をビルドします。RKNNのエクスポートには、独立したFP32モードはありません。非推奨となったhalf/int8フラグに代わるものです。
datastrNoneINT8キャリブレーションに使用するデータセットのYAML。quantize=8で省略された場合、Ultralyticsはモデルタスクのデフォルトのキャリブレーションデータセットを選択します。
fractionfloat1.0INT8量子化に使用するキャリブレーション画像の割合。
devicestrNoneエクスポート用のデバイスを指定します:GPU (device=0)、CPU (device=cpu)。
ヒント

RKNNへのエクスポート時には、必ずx86 Linuxマシンを使用してください。

エクスポートプロセスの詳細については、Ultralyticsのエクスポートに関するドキュメントページを参照してください。

Link to this sectionエクスポートされたYOLO26 RKNNモデルのデプロイ#

Ultralytics YOLO26モデルをRKNN形式に正常にエクスポートしたら、次はRockchipベースのデバイスにこれらのモデルをデプロイします。

Link to this sectionインストール#

必要なパッケージをインストールするには、以下を実行してください。

インストール
# Install the required package for YOLO26
pip install ultralytics

インストール後、上記のUsageセクションに示されている通りにRockchipデバイスで推論と検証を実行します。エクスポートされた_rknn_modelYOLO(...)で直接読み込まれます。

注意

RKNNランタイムのバージョンがRKNN Toolkitのバージョンと一致しないというログメッセージが表示され、推論が失敗する場合は、/usr/lib/librknnrt.soを公式のlibrknnrt.soファイルに置き換えてください。

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

Link to this section実際のアプリケーション#

YOLO26 RKNNモデルを搭載したRockchipデバイスは、さまざまなアプリケーションで使用できます。

  • スマート監視: 低消費電力でセキュリティ監視のための効率的なオブジェクト検出システムをデプロイします。
  • 産業オートメーション: 組み込みデバイス上で品質管理と欠陥検出を直接実行します。
  • リテール分析: クラウドに依存せず、リアルタイムで顧客の行動や在庫管理を追跡します。
  • スマート農業: 農業用コンピュータビジョンを使用して作物の健康状態を監視し、害虫を検出します。
  • 自律型ロボット: リソースが限られたプラットフォーム上で、ビジョンベースのナビゲーションと障害物検出を可能にします。

Link to this sectionベンチマーク#

以下のYOLO26ベンチマークは、UltralyticsチームがRockchip RK3588ベースのRadxa Rock 5B上で、rknnモデル形式を使用して速度と精度を測定したものです。

性能
モデル形式ステータスサイズ (MB)mAP50-95(B)推論時間 (ms/im)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

ultralytics 8.4.23でベンチマークを実施

注意

上記のベンチマークの検証はCOCO128データセットを使用して行われました。推論時間には前処理/後処理は含まれていません。

Link to this section要約#

本ガイドでは、Ultralytics YOLO26モデルをRKNN形式にエクスポートし、Rockchipプラットフォーム上でのデプロイを強化する方法を学びました。また、RKNN Toolkitと、エッジAIアプリケーションにRKNNモデルを使用する具体的な利点についても紹介しました。

Ultralytics YOLO26とRockchipのNPU技術の組み合わせは、組み込みデバイス上で高度なコンピュータビジョンタスクを実行するための効率的なソリューションを提供します。このアプローチにより、最小限の消費電力と高いパフォーマンスで、リアルタイムのオブジェクト検出やその他のビジョンAIアプリケーションが可能になります。

使用方法の詳細については、RKNN公式ドキュメントをご覧ください。

また、その他のUltralytics YOLO26インテグレーションについて知りたい場合は、インテグレーションガイドページをご覧ください。そこには役立つリソースや洞察が多数掲載されています。

Link to this sectionよくある質問 (FAQ)#

Link to this sectionUltralytics YOLOモデルをRKNN形式にエクスポートするにはどうすればよいですか?#

Ultralytics Pythonパッケージのexport()メソッドまたはコマンドラインインターフェース (CLI) を使用して、Ultralytics YOLOモデルを簡単にRKNN形式にエクスポートできます。エクスポートプロセスにはx86ベースのLinux PCを使用してください。RockchipのようなARM64デバイスでは、この操作はサポートされていません。name引数(rk3588rk3566など)を使用して、ターゲットとなるRockchipプラットフォームを指定できます。このプロセスにより、Rockchipデバイスへのデプロイ準備が整った最適化済みのRKNNモデルが生成され、そのNeural Processing Unit (NPU) を活用して推論が加速されます。

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")

Link to this sectionRockchipデバイスでRKNNモデルを使用する利点は何ですか?#

RKNNモデルは、RockchipのNPU(Neural Processing Unit)のハードウェアアクセラレーション機能を活用するために特別に設計されています。この最適化により、ONNXやLiteRTのような汎用モデルフォーマットを同じハードウェアで実行する場合と比較して、推論速度が大幅に向上し、レイテンシが短縮されます。RKNNモデルを使用することでデバイスのリソースをより効率的に利用できるため、消費電力が抑えられ、全体的なパフォーマンスが向上します。これはエッジデバイスでのリアルタイムアプリケーションにおいて特に重要です。UltralyticsのYOLOモデルをRKNNに変換することで、RK3588やRK3566などを搭載したRockchip SoCデバイス上で最適なパフォーマンスを実現できます。

Link to this sectionNVIDIAやGoogleなどの他メーカーのデバイスにRKNNモデルをデプロイできますか?#

RKNNモデルは、Rockchipプラットフォームとその統合NPU向けに特別に最適化されています。技術的にはソフトウェアエミュレーションを使用して他のプラットフォームでRKNNモデルを実行することも可能ですが、Rockchipデバイスが提供するハードウェアアクセラレーションの恩恵を受けることはできません。他のプラットフォームで最適なパフォーマンスを得るには、NVIDIA GPU向けのTensorRTやGoogleのCoralデバイス向けのEdge TPUなど、それらのプラットフォーム専用に設計されたフォーマットにUltralyticsのYOLOモデルをエクスポートすることを推奨します。Ultralyticsは幅広いフォーマットへのエクスポートをサポートしており、様々なハードウェアアクセラレータとの互換性を確保しています。

Link to this sectionRKNNモデルのデプロイでサポートされているRockchipプラットフォームは何ですか?#

Ultralytics YOLOからRKNN形式へのエクスポートは、RK3588、RK3576、RK3566、RK3568、RK3562、RK2118、RV1126Bを含む、浮動小数点RKNNビルドをサポートするRockchipプラットフォームに対応しています。また、quantize=8を使用したINT8量子化RKNNエクスポートもサポートしており、これはRV1103、RV1106、RV1103B、RV1106BといったINT8専用ターゲットに必要です。これらのプラットフォームは、Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas、Banana Piなどのメーカー製デバイスで一般的に使用されており、シングルボードコンピュータから産業用システムまで、幅広いRockchip搭載デバイス上で最適化されたRKNNモデルをデプロイ可能です。

Link to this sectionRockchipデバイスにおけるRKNNモデルのパフォーマンスは、他の形式と比較してどうですか?#

RKNNモデルは、RockchipのNPU向けに最適化されているため、一般的にRockchipデバイス上ではONNXやLiteRTなどの他のフォーマットよりも優れた性能を発揮します。例えば、Radxa Rock 5B(RK3588)でのベンチマークでは、RKNNフォーマットのYOLO26nは、1画像あたり65.7msという推論時間を達成しており、他のフォーマットよりも大幅に高速です。このパフォーマンス上の利点は、ベンチマークセクションで示されているように、すべてのYOLO26モデルサイズで一貫しています。専用のNPUハードウェアを活用することで、RKNNモデルはレイテンシを最小限に抑えスループットを最大化するため、Rockchipベースのエッジデバイスにおけるリアルタイムアプリケーションに最適です。

コメント