コンテンツへスキップ

Ultralytics YOLO11 モデルの RKNN エクスポート

組み込み機器、特に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ベースのデバイスでも動作することが期待されます。

RKNN

ロックチップとは?

多用途で電力効率の高いソリューションの提供で知られる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
# Here name can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", args={"name": "rk3588"})  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# Here 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'

エクスポートプロセスの詳細については、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'

ベンチマーク

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 の統合について詳しくお知りになりたい場合は、統合ガイドのページをご覧ください。有用なリソースや見識がたくさん見つかります。

📅作成 0 日前 ✏️更新 0日前

コメント