コンテンツにスキップ

Ultralytics YOLO26モデル向けRockchip RKNNエクスポート

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

Rockchip RKNNのNPUデプロイメント向けエクスポート

このガイドは、Rockchip RK3588をベースとするRadxa Rock 5Bと、Rockchip RK3566をベースとするRadxa Zero 3Wでテストされています。RK3576、RK3568、RK3562、RV1103、RV1106、RV1103B、RV1106B、RK2118、RV1126Bなど、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へのエクスポート: YOLO26モデルの変換

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

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

インストール

必要なパッケージをインストールするには、以下を実行します:

インストール

# 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, rv1103, rv1106, rv1103b, rv1106b, rk2118, rv1126b
model.export(format="rknn", name="rk3588")  # creates '/yolo26n_rknn_model'
# Export a YOLO26n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118, rv1126b
yolo export model=yolo26n.pt format=rknn name=rk3588 # creates '/yolo26n_rknn_model'

エクスポート引数

引数種類デフォルト説明
formatstr'rknn'エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。
imgszint または tuple640モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。
batchint1エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。
namestr'rk3588'Rockchipモデルを指定します (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118, rv1126b)
devicestrNoneエクスポート先のデバイス(GPU(device=0)、CPU (device=cpu)。

ヒント

RKNNにエクスポートする際は、x86 Linuxマシンを使用してください。

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

エクスポートされたYOLO26 RKNNモデルのデプロイ

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

インストール

必要なパッケージをインストールするには、以下を実行します:

インストール

# 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")
# Run inference with the exported model
yolo predict model='./yolo26n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

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

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

現実世界のアプリケーション

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

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

ベンチマーク

以下のYOLO26ベンチマークは、Rockchip RK3588を搭載したRadxa Rock 5B上でUltralyticsチームによって実行されました。 rknn 速度と精度を測定するモデル形式。

パフォーマンス

モデル形式ステータスサイズ(MB)mAP50-95(B)推論時間 (ms/im)
YOLO11nrknn7.40.50571.5
YOLO11srknn20.70.57898.9
YOLO11mrknn41.90.629235.3
YOLO11lrknn53.30.633282.0
YOLO11xrknn114.60.687679.2

ベンチマーク対象 ultralytics 8.3.152

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

概要

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

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

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

また、他のUltralytics YOLO26統合について詳しく知りたい場合は、当社の統合ガイドページをご覧ください。そこには役立つリソースと洞察が豊富にあります。

よくある質問

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("yolo26n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo26n.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、RV1126Bを含む幅広い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形式のYOLO26nが99.5 ms/imageの推論時間を達成し、他の形式よりも大幅に高速であることが示されています。この性能上の利点は、ベンチマークセクションで示されているように、さまざまなYOLO26モデルサイズで一貫しています。専用のNPUハードウェアを活用することで、RKNNモデルはレイテンシを最小限に抑え、スループットを最大化するため、Rockchipベースのエッジデバイスでのリアルタイムアプリケーションに最適です。



📅 1年前に作成 ✏️ 5日前に更新
glenn-jocherlakshanthadlakshanthadLaughing-qRizwanMunawaroDestroyeRoIvorZhu331

コメント