Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

yuv_pose_appはカメラ上のモデルに骨格を描画するサンプルアプリです。

動作に必要な外部ライブラリ

...

特になし。Pythonでビルドする場合は下記が必要です。

Numpy

OpenCV

Info

外部ライブラリの利用については、後ほど説明します。

サンプルアプリのディレクトリパス

...

C/C++のソースコードはありません。

...

下記からAIモデル変換ツールを取得し、環境構築してください。

AIモデル変換ツール - Technology Partner - Confluence (atlassian.net)

Info

お問い合わせからご提供までは数日お時間をいただいております。

 環境構築が完了しましたら、下記を参考にサンプルモデルの変換を行ってください。

AIモデル変換ツール:Tensorflow編 - Technology Partner - Confluence (atlassian.net)

変換に利用するsetting.confは下記に格納されています。

...

ここでは、モデル変換したファイルを「tf_pose_estimation_cavalry.bin」として説明します。

サンプルアプリのビルド方法(Python)

...

Info

ここでは、AdamAppとしてビルドする方法を記載しています。

Container AdamApp for Azure IoT Edgeとしてビルドする場合は下記を参照ください。

チュートリアル(Container AdamApp for Azure IoT Edge編) - Technology Partner - Confluence (atlassian.net)

サンプルアプリのディレクトリに、モデル変換したtf_pose_estimation_cavalry.binファイルを下記の構成で配置します。

[ambaCV2Xアプリの場合]
${SDK_DIR}/src/adamapp-py/yuv_pose_app/data_CV2X/cnn/tf_pose_estimation_cavalry.bin

SDKのインストールディレクトリでビルド用環境設定ファイルの読み込みを実施します。

...

[ambaCV5Xアプリの場合]
${SDK_DIR}

...

Info

ビルド用環境設定は各環境に合わせて実施してください。
ここでは、ipro-ambaCV2X を指定します。

 

次にサンプルアプリのディレクトリに移動し、makeします。

...

/src/adamapp-py/yuv_pose_app

...

${SDK_DIR}/src/adamapp/yuv_pose_app に.extファイルが作成されていれば成功です。

 

カメラにインストールします(例:下記画像の緑枠からインストール可能)。作成した.extファイルを選択してインストールしてください。
アプリ画面を開きます(下記画像の赤枠ボタン)。

...

 

カメラの映像が表示されていれば成功です。

/data_CV5X/cnn/tf_pose_estimation_cavalry.bin

以降のビルド方法はこちらを参照してください。
サンプルアプリを起動してカメラの映像が映っていれば成功です。

サンプルアプリの使用方法

...

カメラにて人体の画像を撮影してください。赤い線と丸で骨格を検知していることが確認できます。

...

  1. 姿勢推定モデルは以下を使用します。
    https://github.com/ZheC/tf-pose-estimation

  2. pbファイルをダウンロードしてください。
    https://github.com/ZheC/tf-pose-estimation/blob/master/models/graph/mobilenet_thin_432x368/graph_freeze.pb

  3. CV ツールを使用して変換します。 変換先フォルダ内のsetting.confをご利用ください。
    CVツールの入手方法は以下を参照してください。
    https://dev-partner.i-pro.com/space/TPFAQ/961545224

  4. 変換されたモデル ファイル (.bin) を
    data_CV2X/cnn
    および
    data_CV5X/cnn
    フォルダーに配置します。