先日意図していない結果が帰ってきていたのは、間違って「classification」のサンプルを利用していたからだった。
代わりにobjectdetectionの結果から、顔の位置や精度を取得するの事が出来た。
以下、手順のメモ
やりたかった事
顔画像の抽出と位置情報をJSで実行
問題
マスク無しであればface-api.jsが使えたが、マスク着用すると検知してくれなかった。その代わり、Azure custom visionからモデルをトレーニングさせて(簡単!)、その結果のモデルをJSから読み込ませて判断。
流れ
Azureのアカウント作成(無料範囲)クレジット登録は必要
Azureのプロジェクト登録。以下サイトを参考にさせていただきました。Custom vision のサンプル
画像(マスクあり、マスクなし、どちらも)を画像保存して訓練。画像はKaggleからダウンロードできた(データセットは既にそろっている)
トレーニングさせた後に、tensorflow.js様にエクスポード
Azureのサンプル「objectdetection」を元に実装
ウェブにアップする際は、model.Jsonのパス変更。デフォルトだと、pathはセットされてないので、ドメイン直下を読み込んでしまう。(ローカルでnpx などでサーバー立ち上げて試すなら不要)
完成。やっとちゃんと読み込んでくれた、、、。
最近のコメント