意図した形で顔認識を成功できました。Azure custom vision とtensorflow.js でobject detectionを利用

先日意図していない結果が帰ってきていたのは、間違って「classification」のサンプルを利用していたからだった。

代わりにobjectdetectionの結果から、顔の位置や精度を取得するの事が出来た。

以下、手順のメモ

やりたかった事

顔画像の抽出と位置情報をJSで実行

問題

マスク無しであればface-api.jsが使えたが、マスク着用すると検知してくれなかった。その代わり、Azure custom visionからモデルをトレーニングさせて(簡単!)、その結果のモデルをJSから読み込ませて判断。

流れ

Azureのアカウント作成(無料範囲)クレジット登録は必要

Azureのプロジェクト登録。以下サイトを参考にさせていただきました。Custom vision のサンプル

画像(マスクあり、マスクなし、どちらも)を画像保存して訓練。画像はKaggleからダウンロードできた(データセットは既にそろっている)

トレーニングさせた後に、tensorflow.js様にエクスポード

Azureのサンプル「objectdetection」を元に実装

ウェブにアップする際は、model.Jsonのパス変更。デフォルトだと、pathはセットされてないので、ドメイン直下を読み込んでしまう。(ローカルでnpx などでサーバー立ち上げて試すなら不要)

完成。やっとちゃんと読み込んでくれた、、、。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です