📷
Face APIのRecognition04モデルを使ってマスクをつけた顔認識を試してみる
この記事はAzureのカレンダー | Advent Calendar 2021 - Qiitaの 25 日目の記事です。
はじめに
こんにちは。@mitsuoka0423です。
Face API の新機能として、今年の 2 月にRecognition04モデル
が公開され、マスク付きの顔識別の性能が上がっているとのことだったので試してみました。
実験方法
学習方法
Azure Face API の Person Group を利用し、スマホで正面から撮影した画像を 5 枚ずつ学習させました。
学習させた人数は 2 人です。
利用した API と学習手順は以下のスクラップに記載しています。
学習に用いた画像
# | 画像 | 画像 | 画像 | 画像 | 画像 |
---|---|---|---|---|---|
Aさん | |||||
Bさん |
検証結果
学習させた画像とは別に、マスクを着用した状態の画像を撮影し推論しました。
結果に含まれる候補者と信頼度は、Face APIのレスポンスに含まれるcandidates.personId
とcandidates.confidence
に対応しています。
信頼度は、1 に近いほど候補者である確率が高いです。
静止した状態で撮影した画像の推論結果
# | パターン1 | パターン2 | パターン3 | パターン4 |
---|---|---|---|---|
画像 | ||||
結果:候補者 | Aさん | Aさん | Aさん | Aさん |
結果:信頼度 | 0.82848 | 0.82989 | 0.84204 | 0.73857 |
歩いている状態を撮影した画像の推論結果
# | パターン5 | パターン6 | パターン7 | パターン8 |
---|---|---|---|---|
画像 | ||||
結果:候補者 | Aさん | Aさん | Aさん | Aさん |
結果:信頼度 | 0.77256 | 0.86084 | 0.65705 | 0.70921 |
# | パターン9 | パターン10 | パターン11 | パターン12 |
---|---|---|---|---|
画像 | ||||
結果:候補者 | Bさん | 候補者なし | Bさん | Bさん |
結果:信頼度 | 0.5043 | -- | 0.63694 | 0.57666 |
結果まとめ
- 今回試した画像では、2 人の識別を間違えることはなかった。
- 歩いている状態を撮影した多少ブレがある画像でも 2 人の識別は可能であった。
- 静止している状態を撮影した画像と比べると、信頼度は下がる。
- 候補者なしになるケースもあった
- 信頼度は高くても 0.8 ほど。
- 照明やブレが入ると、識別できなかったり、信頼度が 0.5 程度まで低くなる。
- マスクの色や形は結果に大きく影響しない。
感想
1 人 5 枚の画像だけの学習で、マスクを付けた顔写真の識別ができた。すごい。
顔の半分以上が隠れているため、さすがに信頼度は低くなる。
しかし、2 人のうちのどちらかを誤って識別することはなく、実用的なレベルであると感じた。
Discussion