目次
はじめに
i-PROカメラアプリケーション開発環境の構築が完成していることを前提に説明します。
開発環境の構築が準備できていない場合、こちらを参考に完成させてください。
また、このチュートリアルではSDKのインストールディレクトリを${SDK_DIR}
として記載します。
動作概要
yuv_yolov5_appはカメラ上のモデルにオブジェクト名と枠を描画するサンプルアプリです。
動作に必要な外部ライブラリ
Pythonでビルドする場合は下記が必要です。
numpy
OpenCV
外部ライブラリの利用については、後ほど説明します。
サンプルアプリのディレクトリパス
C/C++のソースコードは下記に格納されています。
${SDK_DIR}/src/adamapp/yuv_yolov5_app
Pythonのソースコードは下記に格納されています。
${SDK_DIR}/src/adamapp-py/yuv_yolov5_app
AIモデル変換ツールの利用
サンプルアプリをビルドする前に、AIモデル変換ツールを利用する必要があります。
下記からAIモデル変換ツールを取得し、環境構築してください。
AIモデル変換ツール - Technology Partner - Confluence (atlassian.net)
お問い合わせからご提供までは数日お時間をいただいております。
環境構築が完了しましたら、下記を参考にyolov5サンプルモデルの変換を行ってください。
AIモデル変換ツール:ONNX(PyTorch)編 - Technology Partner - Confluence (atlassian.net)
ここでは、モデル変換したファイルを「yolov5_cavalry.bin」として説明します。
サンプルアプリのビルド方法(C/C++)
SDKのインストールディレクトリでビルド用環境設定ファイルの読み込みを実施します。
$ cd ${SDK_DIR} $ source setup_env.sh ipro-ambaCV2X
ビルド用環境設定は各環境に合わせて実施してください。
ここでは、ipro-ambaCV2X
を指定します。
次にサンプルアプリのディレクトリに、モデル変換したyolov5_cavalry.binファイルを下記の構成で配置します。
${SDK_DIR}/src/adamapp/yuv_yolov5_app/data/cnn/yolov5_cavalry.bin
makeします。
$ cd src/adamapp/yuv_yolov5_app $ make
${SDK_DIR}/src/adamapp/yuv_yolov5_app に.extファイルが作成されていれば成功です。
カメラにインストールします(例:下記画像の緑枠からインストール可能)。作成した.extファイルを選択してインストールしてください。
アプリ画面を開きます(下記画像の赤枠ボタン)。
カメラの映像が表示されていれば成功です。
サンプルアプリのビルド方法(Python)
サンプルアプリのディレクトリに、モデル変換したyolov5_cavalry.binファイルを下記の構成で配置します。
${SDK_DIR}/src/adamapp-py/yuv_yolov5_app/data/cnn/yolov5_cavalry.bin
Pythonでビルドする場合はこちらを参照してください。
サンプルアプリの使用方法
サンプルアプリの解像度初期値は1920×1080です。カメラの解像度設定が1920×1080でない場合は動作しません。詳細は下記を確認ください。
ADAM_DevYcVideo_Create()の呼び出しに失敗する - Technology Partner - Confluence (atlassian.net)
カメラにて何らかのモデルを撮影してください。下記の例ではモデル(手と指)が枠で囲まれ、オブジェクト名(person)が表示されていることが確認できます。