Microsoft Azureが提供するFaceAPIというサービス
皆さん、FaceAPIをご存知でしょうか。
Microsoft Azureが提供しているサービスです。
FaceAPIは画像内の顔を検出し、様々な特徴を抽出することができるという素晴らしいサービスです。
こちらのサイトで試すことが出来ます。
参照から画像をアップロードしてみてください。
右側にJSON形式で検出結果が表示されます。
まずは私が一番好きな声優である雨宮天さんで検証してみます。
恐らく一番二番くらいに重要な情報であろう「gender(性別)」と「age(年齢)」を確認します。
genderはちゃんと「female(女性)」となっていますね。
ageは「23.0」です。
雨宮天さんは7月28日現在で24歳なので1歳違い。ニアピンですね。
最初に年齢の数字を見たときは正直「マジか」と思いました。
まさかここまで精度良く当ててくるとは。
追加で何十件か試してみたのですが、かなりの精度のようです。
性別の判定は95%は超えているでしょう。
ただ、私たちが見ても分からないレベルの女装、男装の場合はさすがに間違えます。当然といえば当然なのですが。
年齢は±5歳ぐらいを誤差とすれば90%は超えそうな感じです。
人間が見ても20代、30代とかアバウトにしか判断できないと思うので、それを考慮するとかなりすごいのではないのでしょうか。
検証中に一人面白い方を見つけました。
将棋界のレジェンド、ひふみんこと加藤一二三さんです。
性別は問題無く男性となっていますが、年齢に注目してください。
まさかの9歳です。
ひふみんの別の画像でも試しましたが、どれも実際の年齢とはかなり離れていました。
最初は髪の量とかが影響しているのかなと思ったのですが、ほかに髪が薄い方で試してみると±5歳ぐらいに収まっていました。
どうやら髪の量は年齢にはあまり関係がないようです。
それでJSONをよく見てみたら「hair」のところに「bald」という項目がありました。
私は英語力が乏しいのでgoogle先生に聞いてみます。
なんと、「ハゲ」です。
FaceAPIはハゲ率まで出してくれるんですよ!!
すごいですね!!ハゲ率!!!
さて、ひふみんのハゲ率を見てみると0.28です。
どうやらFaceAPI的にはひふみんはハゲではないようです。
確かに78歳であることを考えると髪はかなりあるように思います。
では、ハゲでないとしたらどこで9歳を判断したのか、もう一度JSONを見てみます。
「facialHair」とかあるのでヒゲの有無などで若く判定しそうです。
顔のパーツの場所とかかなり細かく出てるのでそれらの位置を考慮して年齢を出しているのでしょう。
つまり、ひふみんの顔のパーツの位置は9歳児と似ているということでしょうか。
JSONの座標の値は画像の相対位置でしかないのでこれ以上調べることは無理そうです。
最後に、Aqoursの声優さんたちの画像から顔を検出してもらい、それをAqoursに詳しい友人にFaceAPIが出した年齢が実際の年齢とどれぐらい違うか聞いてみました。
画像はこちら。
私はちょっと誰が誰なのか分からないのですが、±5歳を誤差とすればやはり精度は高いようです。
ちなみに会員登録すれば1か月に3万回までは無料で利用することできます。
PythonでFaceAPIを使う方法はこちらから。