この記事を読むのに必要な時間は約 9 分です。
以前にGoogleのCloud Vision APIで画像に含まれる文字を解析するOCR技術について解説しました。
【Google Cloud Vision API】無料で使える機械学習を使用したAPIの利用方法
今回はMicrosoft Azureが提供しているAPIの一つ「Face API」を用いて画像に含まれる顔を認識して特徴を抽出する方法について解説していきます。
Microsoft Face APIとは
Microsoft Azureから提供されているCognitive Servicesに含まれる一つのサービスです。(ややこしいですね。)
Cognitive Servicesは機械学習を利用した画像解析のサービス群でFace API以外に光学式文字認識(OCR)、ランドマーク認識、感情認識など様々なAPIが用意されています。
Face APIはその名の通り、画像に含まれる人物の顔を認識することができるサービスになります。
また、認識した顔の特徴を抽出することも可能となっており、以下のような情報の抽出が可能です。
- 年齢
- 性別
- 顔の向き
- 笑顔
- 髭(口髭、あご髭、頬髭)
- メガネの有無
- 感情(怒り、軽蔑、嫌悪、恐れ、幸福、無感情、悲しみ、驚き)
- 髪(ハゲ度合い、髪色)
- 化粧の有無
- 顔の一部が隠れているか
- アクセサリー装着有無
- 霞み具合
- 笑顔判定アプリ
- ハゲ度診断アプリ
とかとか
実際にFace APIで利用可能な一部の情報を利用してLINEボットを作成しています。
以下のQRコードで友達追加して顔が写っている画像を送って見てください。
また、APIの詳細については以下の公式サイトを参考にしてください。
Face APIの利用方法・準備
Face APIを利用するにはAzureのアカウントを作成して、APIキーを発行する必要があります。
Azureアカウントを作成する
アカウントの作成自体は無料となっています。
アカウント作成時に時にクレジットカード情報の入力が必要となりますが、意図的に有料プランに変更しない限りは勝手に料金が発生することはないので安心してください。
登録は以下の公式サイトから行えます。

すると、アカウント登録画面になります。
ここで以下の4つの情報を入力することで登録が完了します。
- 個人情報
- 電話番号認証
- クレジットカード登録
- 同意
登録が完了したら、ポータル画面へ遷移してください。
1.個人情報
国と名前、名字、メールアドレス、電話番号、名前の読み仮名を入力して「Next」をクリックします。
※上記のページから登録したら普通に日本語で表示されるかもしれません。僕はなぜか英語。。
2.電話番号認証
電話番号による認証が必要になります。
電話番号を入力した上で「Text me」か「Call me」をクリックしてください。
「Text me」の場合はSMSで認証コード(数字6桁)が送られてきます。
「Call me」の場合は機械音声の電話がかかってきます。
認証コードを入力したら、「Verify code」をクリックしてください。
3.クレジットカード登録
続いてクレジットカードの情報を入力します。
これを入力したからといって自動で料金が請求されることはありません。
スパム対策で入力が必要となっており、有料プランに切り替えない限りは無料で利用可能です。
情報の入力が完了したら「Next」をクリックしてください。
4.利用規約の同意
両方ともチェックをつけて「Sign up」をクリックすればOKです。
以上でAzureアカウントの作成は完了です。
ポータル画面へと移動してください。
Face APIのキーを発行する
Azureのアカウント作成が完了したら次にFace APIを利用するためのAPIキーを発行します。
Face APIのキー取得は以下の手順です。
- 「リソースの作成 > AI + Machine Learning > Face」をクリック
- リソースをCreateする
- 「Keys」からAPIキーを取得
1.「リソースの作成 > AI + Machine Learning > Face」をクリック
ポータル画面から「リソースの作成」をクリックします。
Marketplaceから「Face」で検索するか、「AI + Machine Learning > Face」をクリックしてFaceのリソースを作成します。
2.リソースをCreateする
「Name」や「Resource group」の名前は各自適当につけて、それ以外は以下の画像と同様に設定して「作成」をクリックする。
3.「Keys」からAPIキーを取得
リソースを作成すると、クイックスタート画面が表示されるので、その中から「Keys」をクリックしてAPIキーを取得します。
APIキーは2つ表示されるが、どちらかのみの利用でOKです。
Face APIの使い方
ある程度WebAPIに慣れている人は公式のマニュアルを見るとわかりやすいです。
リージョンを指定すると、実際にWeb上からAPIを投げることができます。
- APIキーの指定
- 解析する画像のURL指定
APIキーの指定はHeadersに指定します。
解析する画像のURLはbodyに指定します。
※テスト用の画像はフリー素材を利用すると良いです。
人物・モデルのフリー(無料)写真素材-ぱくたそ
上記を指定して「SEND」をクリックすると実際に指定した画像に対して顔が写っているか、写っている場合にその顔を特徴が表示されます。
また、Parameterに以下を指定してあげると、Face APIで利用可能な特徴認識も全て利用することが可能です。
age,gender,headPose,smile,facialHair,glasses,emotion,hair,makeup,occlusion,accessories,blur,exposure,noise
指定するのは以下の「returnFaceAttributes」の部分です。
このようにお手軽に試して見ることが可能です。
それぞれパラメーターやヘッダー、ボディーに必要な値も確認ができるためPythonやJavascriptから投げる場合もそれぞれ指定してあげれば実行が可能です。
実際にFace APIを利用したLINEボットの作成手順とソースを以下のnoteで公開しているので興味がある方は参考にして見てください。