YOLOv8は、その速度と効率性から、エッジ・デバイスやリアルタイム・アプリケーションへの展開に適している。このチュートリアルでは rknn_model_zoo で、YOLOv8をMixtile Edge 2 Kit(以下、Edge 2)にデプロイし、推論を行う方法を説明する。
前提条件
始める前に、あなたが持っていることを確認してください:
- Edge 2にLinuxディストリビューションをインストールする。 Mixtile Edge 2キットへのオペレーティングシステムのインストール).
- Edge 2をインターネットに接続。
このガイドは Debian 11.
依存関係をインストールする
sudo apt update
sudo apt install -y libopencv-dev cmake build-essential
デモとモデルのダウンロード
-
デモをEdge 2の任意のディレクトリ(ホームディレクトリとします)にダウンロードします:
cd ~ git clone https://github.com/airockchip/rknn_model_zoo
-
ダウンロード
yolov8n.rknn
モデルである:cd rknn_model_zoo/examples/yolov8/model wget https://downloads.mixtile.com/doc-files/yolov8/rk3568/yolov8n.rknn
について
yolov8n.rknn
上記のモデルはyolov8n.onnx
をご覧ください。 RKNNに変換).必要に応じて他のモデルを使うこともできる。
デモをコンパイルする
# rknn_model_zooディレクトリに移動します。
cd ~/rknn_model_zoo
# build-linux.shにパーミッションを与えます。
chmod 777 build-linux.sh
#デモをコンパイルする
./build-linux.sh -t rk3568 -a aarch64 -d yolov8
デモがコンパイルされると、実行ファイル RKNN_YOLOV8_DEMO
に出力される。 rknn_model_zoo/install/rk356x_linux_aarch64/rknn_yolov8_demo
:
インストール
└── rk356x_linux_aarch64
└── rknn_yolov8_demo
├── lib
├── librga.so
├── librknnrt.so
モデル
│ ├── bus.jpg
│ ├── coco_80_labels_list.txt
│ └── yolov8n.rknn
├── rknn_yolov8_demo
└──rknn_yolov8_demo_zero_copy
推論を行う
使い方:
./rknn_yolov8_demo <入力イメージ
例
以下の例は、以下の推論を実行する。 モデル/バス.jpg
入力画像を model/yolov8n.rknn
モデルである:
# 実行ファイルのディレクトリに移動します。
cd ~/rknn_model_zoo/install/rk356x_linux_aarch64/rknn_yolov8_demo/ ディレクトリに移動します。
# set LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./lib
#推論を実行する
./rknn_yolov8_demo model/yolov8n.rknn model/bus.jpg
期待される結果
出力には、ラベル、座標、対応するスコアなど、以下のような情報が含まれる:
人@ (211 241 282 506) 0.864
バス@ (96 136 549 449) 0.864
人@ (109 235 225 535) 0.860
人@ (477 226 560 522) 0.848
人@ (79 327 116 513) 0.306
出力画像は rknn_model_zoo/install/rk356x_linux_aarch64/rknn_yolov8_demo/out.png
: