目次
はじめに
i-PROカメラアプリケーション開発環境の構築が完成していることを前提に説明します。
開発環境の構築が準備できていない場合、こちらを参考に完成させてください。
また、このチュートリアルではSDKのインストールディレクトリを${SDK_DIR}
として記載します。
動作概要
yuv_pose_appはカメラ上のモデルに骨格を描画するサンプルアプリです。
動作に必要な外部ライブラリ
特になし。
サンプルアプリのディレクトリパス
C/C++のソースコードはありません。
Pythonのソースコードは下記に格納されています。
${SDK_DIR}/src/adamapp-py/yuv_pose_app
AIモデル変換ツールの利用
サンプルアプリをビルドする前に、AIモデル変換ツールを利用する必要があります。
下記からAIモデル変換ツールを取得し、環境構築してください。
AIモデル変換ツール - Technology Partner - Confluence (atlassian.net)
お問い合わせからご提供までは数日お時間をいただいております。
環境構築が完了しましたら、下記を参考にサンプルモデルの変換を行ってください。
AIモデル変換ツール:Tensorflow編 - Technology Partner - Confluence (atlassian.net)
変換に利用するsetting.confは下記に格納されています。
${SDK_DIR}/src/adamapp-py/yuv_pose_app/setting.conf
ここでは、モデル変換したファイルを「tf_pose_estimation_cavalry.bin」として説明します。
サンプルアプリのビルド方法(Python)
サンプルアプリのディレクトリに、モデル変換したtf_pose_estimation_cavalry.binファイルを下記の構成で配置します。
${SDK_DIR}/src/adamapp-py/yuv_pose_app/data/cnn/tf_pose_estimation_cavalry.bin
SDKのインストールディレクトリでビルド用環境設定ファイルの読み込みを実施します。
$ cd ${SDK_DIR} $ source setup_env.sh ipro-ambaCV2X
ビルド用環境設定は各環境に合わせて実施してください。
ここでは、ipro-ambaCV2X
を指定します。
次にサンプルアプリのディレクトリに移動し、makeします。
$ cd src/adamapp/yuv_pose_app $ make
${SDK_DIR}/src/adamapp/yuv_pose_app に.extファイルが作成されていれば成功です。
カメラにインストールします(例:下記画像の緑枠からインストール可能)。作成した.extファイルを選択してインストールしてください。
アプリ画面を開きます(下記画像の赤枠ボタン)。
カメラの映像が表示されていれば成功です。
サンプルアプリの使用方法
カメラにて人体の画像を撮影してください。赤い線と丸で骨格を検知していることが確認できます。
顔の周りにモザイク処理を施しています。
補足情報
・設定の変更
このアプリケーションには、ユーザーが変更できるいくつかの設定があります。 一部の設定を変更する場合は、「ADAM OPERATION UI」HTMLページの「AppPrefs」ボタンを押してください。
以下は、ユーザーが現在変更できる設定のリストです。
Resoultion:
YUV 画像を取得するための解像度。HD(1280x720)またはFHD(1920x1080)を指定してください。ただし、カメラの性能によっては指定した値で動作しない場合があります。Frame rate:
YUV画像を取得するためのフレームレート。 1以上を指定してください。 ただし、カメラの性能によっては指定された値で動作しない場合があります。
・AIモデルの変更方法
姿勢推定モデルは以下を使用します。
https://github.com/ZheC/tf-pose-estimationpbファイルをダウンロードしてください。
https://github.com/ZheC/tf-pose-estimation/blob/master/models/graph/mobilenet_thin_432x368/graph_freeze.pbCV ツールを使用して変換します。 変換先フォルダ内のsetting.confをご利用ください。
CVツールの入手方法は以下を参照してください。
https://dev-partner.i-pro.com/space/TPFAQ/961545224変換されたモデル ファイル (.bin) を data/cnn フォルダーに配置します。