Versions Compared

Key

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

...

Info

yuv_ssd_appサンプルアプリには下記ファイルを用意しているので、AIモデル変換ツールを利用しなくても動作確認は可能です。

[ambaCV2Xアプリの場合]
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV2X/cnn/mobilenet_priorbox_fp32.bin
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV2X/cnn/mobilenetv1_ssd_cavalry.bin
[ambaCV5Xアプリの場合]
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV5X/cnn/mobilenet_priorbox_fp32.bin
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV5X/cnn/mobilenetv1_ssd_cavalry.bin

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

...

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

[ambaCV2Xアプリの場合]
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV2X/cnn/mobilenet_priorbox_fp32.bin
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV2X/cnn/mobilenetv1_ssd_cavalry.bin
[ambaCV5Xアプリの場合]
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV5X/cnn/mobilenet_priorbox_fp32.bin
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV5X/cnn/mobilenetv1_ssd_cavalry.bin

makeします。

Code Block
$ cd src/adamapp/yuv_ssd_app
$ make

...

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

[ambaCV2Xアプリの場合]
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV2X/cnn/mobilenet_priorbox_fp32.bin
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV2X/cnn/mobilenetv1_ssd_cavalry.bin
[ambaCV5Xアプリの場合]
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV5X/cnn/mobilenet_priorbox_fp32.bin
${SDK_DIR}/src/adamapp/yuv_ssd_app/data_CV5X/cnn/mobilenetv1_ssd_cavalry.bin

...

Resoultion:
YUV 画像を取得するための解像度。HD(1280x720)またはFHD(1920x1080)を指定してください。ただし、カメラの性能によっては指定した値で動作しない場合があります。

Frame rate:
YUV画像を取得するためのフレームレート。 1以上を指定してください。 ただし、カメラの性能によっては指定された値で動作しない場合があります。

・AIモデルの変更方法

  1. data_CV2X/cnn/mobilenetv1_ssd_cavalry.bin
    data_CV5X/cnn/mobilenetv1_ssd_cavalry.bin
    および
    data_CV2X/cnn/mobilenet_priorbox_fp32.bin
    data_CV5X/cnn/mobilenet_priorbox_fp32.bin
    をご使用のモデルに置き換えてください。

  2. main.cppの以下の部分を機種に合わせて変更してください。
    #define OUTSIZE_HEIGHT <モデルの入力高さ>
    #define OUTSIZE_WIDTH <モデルの入力幅>

    #define NETNAME <モデルのファイル名>
    #define PRIORBOXFILE <前のボックスのファイル名>
    #define LAYERNAMEIN <モデルのレイヤー名を入力>
    #define LAYERNAMEOUT_MBOX_LOC <境界ボックスの位置を示すモデルの出力レイヤー名>
    #define LAYERNAMEOUT_MBOX_CONF_FLATTEN <境界ボックスの信頼性を示すモデルの出力レイヤー名>
    #define PROPERTY_NUMCLASSES <背景ラベルを含むクラスの数>
    #define PROPERTY_MBOXLOCSIZE <境界ボックスの数 * 4> : 4 は (x,y,w,h) を意味します
    #define PROPERTY_BACKGROUND_LABEL_ID <背景ラベル ID>

    次のパラメータは、tensorflow SSD に対してのみ有効です。 caffe SSD の場合は、これらの値を 0 に設定してください。
    #define X_SCALE <X スケール値>
    #define Y_SCALE <Yスケール値>
    #define WIDTH_SCALE <幅スケール値>
    #define HEIGHT_SCALE <高さスケール値>

  3. モデルに応じて"objectname" (label-objectname matrix)を記述してください。

...