REST API を介した年齢と性別の認識

ここでは、OpenVINO™ モデルサーバーを使用して、REST API インターフェイス経由で送信された推論要求を実行する方法について説明します。デモでは、Open Model Zoo リポジトリーの事前トレーニング済みモデルを使用します。

年齢と性別を認識するための事前トレーニング済みモデルをダウンロード

model ディレクトリーで curl を使用して、モデルの両方のコンポーネント (xml ファイルと bin ファイル) をダウンロードします。

curl --create-dirs https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/age-gender-recognition-retail-0013/FP32/age-gender-recognition-retail-0013.bin https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/age-gender-recognition-retail-0013/FP32/age-gender-recognition-retail-0013.xml -o model/1/age-gender-recognition-retail-0013.bin -o model/1/age-gender-recognition-retail-0013.xml

ダウンロードしたモデルで OVMS Docker コンテナを起動

前の手順で取得したイメージを使用して OVMS コンテナを起動し、model ディレクトリーをマウントします。

docker run --rm -d -u $(id -u):$(id -g) -v $(pwd)/model:/models/age_gender -p 9000:9000 -p 8000:8000 openvino/model_server:latest --model_path /models/age_gender --model_name age_gender --port 9000 --rest_port 8000

サービスの要求

リポジトリーのクローンを作成します。

git clone https://github.com/openvinotoolkit/model_server.git

age_gender_recognition Python デモ・ディレクトリーを入力します。

cd model_server/demos/age_gender_recognition/python

コマンドを使用してサンプルイメージをダウンロードします。

wget https://raw.githubusercontent.com/openvinotoolkit/open_model_zoo/2022.1.0/models/intel/age-gender-recognition-retail-0013/assets/age-gender-recognition-retail-0001.jpg

Python の依存関係をインストールします。

pip3 install -r requirements.txt

age_gender_recognition.py スクリプトを実行して推論を行います。

python3 age_gender_recognition.py --image_input_path age-gender-recognition-retail-0001.jpg --rest_port 8000

サンプルの出力 :

age-gender-recognition-retail-0001.jpg (1, 3, 62, 62) ; data range: 0 : 239
{'outputs': {'prob': [[[[0.9874807]], [[0.0125193456]]]], 'age_conv3': [[[[0.25190413]]]]}}

出力形式 :

出力名

形状

説明

age_conv3

[1, 1, 1, 1]

推定年齢を 100 で割った値

プロブ

[1, 2, 1, 1]

2 つのタイプクラスのソフトマックス出力 [female、male]