はじめてのAI
30分でAIが使えるようになる 写真から年齢と性別を認識する「Face API」を試してみた
※本記事はアフィリエイトプログラムによる収益を得ています
いよいよAIを使ってみることに挑戦です。今回も教えてくれるのは、日本マイクロソフトテクニカルエバンジェリスト大田昌幸(おおたまさゆき)先生。APIを使って、初めて「AIを使う」体験をしてみます。使うのは、Microsoftが公開している「Face API」。これを使えば、写真から年齢と性別が認識できるようになるそうです。
連載一覧
第1回:AIってなぁに?
第2回:Amazon、Google、IBM、Microsoftが公開する「AIを使うための手段」一覧
第3回(今回):30分でAIが使えるようになる 写真から年齢と性別を認識する「Face API」を試してみた
第4回(予定):Emotion APIを使って、感情を認識してみよう!
「Postman」をダウンロード
APIを使う前に、まず「Postman」をダウンロードします。Postmanは、APIを試したいときに便利なツール。REST API Call用のプログラムを自分で書かなくて済むし、試したあとに各言語用のサンプルプログラムを自動生成してくれるのでとても便利です。インストールしたPostmanを起動したら準備は完了です。
「Face API」を使ってみる
「Face API」の公式ページを見ると、「API Reference」と書かれたボタンがあります。これをクリックすると、APIを使うための仕様や操作方法などが書かれたページに行きます。そのページで少しスクロールしたところに「APIを使うために必要な作業」が全て書かれています。ここに書かれているRequest URL、ヘッダー情報(Request headers)、ボディ情報(Request body)などをPostmanに入れていきます。
まず、「Request URL」の「https://westus.api.cognitive.microsoft.com/face/v1.0/detect」を、PostmanのURL記入用の場所にコピー&ペーストします。このとき、「[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes]」この部分はコピーしなくて大丈夫です。[]で囲われている部分はそのあとに続く記述例なので、必要になったときに入れましょう。その部分の詳細は、「Request parameters」のカ所に書かれているのでのちほど見ていきます。
POST MethodなのでPOSTを指定し、URLを入れて実行すると以下のような画面になります。
「Request parameters」の「returnFaceId」は、検出された顔のIDを返すというものです。デフォルト値はtrueになっていて、写真に何人か映っていた場合1人1人の顔にIDを振ります。例えば、ある写真に複数人映っていた場合、右に映っている女性はID「001」、左に映っている男性はID「002」といった形でIDが振られ、そのIDが返ってきます。これを利用すると、「同じ人かどうか」が判断できるようになりますが、今回は使いません。
「returnFaceLandmarks」は、写真の中のどこに顔があるか、目や口の位置はどこかといった「位置情報」を返してくれます。ただ、こちらも今回は使いません。
今回使うのは「returnFaceAttributes」。returnFaceAttributesは、指定された1つ以上の顔属性(年齢・性別・髪型・表情など)を分析するパラメーターで、例えば年齢と性別を認識したければ「returnFaceAttributes=age,gender」のように記載すると年齢と性別が返ってきます。Postmanで先ほど記載したRequest URLの後ろに「?」を付け、そのあとに「returnFaceAttributes=age,gender」と書きます。
https://westus.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceAttributes=age,gender
returnFaceAttributesでは、年齢と性別以外にも、髪型「headPose」、笑顔「smile」、髭「facialHair」、眼鏡「glasses」がサポートされており、年齢・性別と同様に「returnFaceAttributes=」のあと「headPose」「smile」とカンマで区切って並べれば、それぞれほしいデータが返ってきます。
続いて、「Request headers」のリファレンスを見ます。「Ocp-Apim-Subscription-Key」は、APIにアクセスするためのサブスクリプションキーを作って入力してくださいという項目です。サブスクリプションキーとは、利用に応じて料金を払うためのキー。ガッツリ使うのであれば(2万件以上が目安)有償版が必要になりますが、とりあえずは無償版でOKです。
無償版のサブスクリプションキーを作りたい場合には、まず、Cognitive Servicesのページ右上にある「Get started for free」ボタンをクリックして、GitHubのアカウントなどでログインします(GitHubアカウントの場合、E-mailが公開されている必要があるみたいです)。有料版を使いたい人は、AzureとCognitive Servicesのアカウントを作ります。
ログインが完了すると、メールアドレスの右側に「unverified」という記載があります。その右側に「Send email verification」というボタンがあるのでそれをクリックします。すると登録メールアドレス宛にメールが来るので、リンクを踏んで「Get started for free」をクリック。「Face - Preview」の項目のチェックボックスと利用規約にチェックを入れて「Subscribe」を押します。キーの一覧(「Key 1:XXXXXXXXXXXXXXXXXXXXXXXXXXX」など)が出てくるので、その隣にあるCopyをクリックします。
キーを作ったら、PostmanのHeadersの「Ocp-Apim-Subscription-Key」と書かれている横の欄にペーストします。「Content-Type」には、送信するBodyのデータがJSON形式なので「application/json」と入れます。ここまでの操作をするとこんな画面になるはずです。
最後にPostmanの「Body」をクリックし、ラジオボタンで「raw」を選び、認識したい画像のURLをJSON形式で入れます。今回はこの写真( /news/articles/1702/15/l_tomomi_3000profile00.jpg )を使ってみます。「Send」を押すと、写真のどこに顔があるのかと、その顔の年齢と性別情報が返ってきます。
Face APIは一番シンプルです。Computer Vision APIの場合は、写真に何が映っているのかという情報を全部返してくれます。例えば、海が映っている、犬が建物の前でご飯を食べているといった情報も返してくれるのがComputer Vision APIです。そのためFace APIをまず触ってみて、慣れてきたらComputer Vison APIを触れるといった順序で勉強していくといいかもしれません。
ちなみに、PostmanはAPIコール用のコードを自動生成してくれるので、ハッカソンなどチームメンバーとの言語が違うときにも便利。codeをクリックして、プルダウンメニューから言語を選ぶと、Postmanが自動でその言語のコードに書き変えてくれます。コピペすれば動くのでとてもありがたい機能です。
ということで、30分ではじめてのAI、使えるようになりました! 次回は感情認識を行う「Emotion API」に挑戦します。
【次回予告】感情認識APIを使って、年齢・性別を認識してみよう!
(太田智美)
筆者プロフィール:太田智美
小学3年生より国立音楽大学附属小学校に編入。小・中・高とピアノを専攻し、大学では音楽学と音楽教育(教員免許取得)を専攻し卒業。その後、慶應義塾大学大学院メディアデザイン研究科に入学。人と人とのコミュニケーションで発生するイベントに対して偶然性の音楽を生成するアルゴリズム「おところりん」を生み出し修了した。
大学院を修了後、2011年にアイティメディアに入社。営業配属を経て、2012年より@IT統括部に所属し、技術者コミュニティ支援やイベント運営・記事執筆などに携わり、2014年4月から2016年3月までねとらぼ編集部に所属。2016年4月よりITmedia ニュースに配属。プライベートでは2014年11月から、ロボット「Pepper」と生活を共にし、ロボットパートナーとして活動している。2016年4月21日にヒトとロボットの音楽ユニット「mirai capsule」を結成。
まさゆき先生のおすすめ図書
今回説明に出てきたヘッダーとかBodyとかの用語が分からない人は、「HTTPの教科書」を読んでみるといいです。
Copyright © ITmedia, Inc. All Rights Reserved.
はじめてのAI
AIの基礎的な知識から自分でAI技術を活用できるまで勉強していきます。
この記事の著者
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
防衛省の「クーラー300台」投稿動画でビックカメラのトラックが注目を集める 同社「販売用の在庫を迅速に提供」
-
2
「文スト」スマホゲーム、きょう告知→あす終了 突然のサ終にユーザー混乱 運営元の廃業で
-
3
ドコモ、ahamoを30→40GBに増量 8月1日から 料金据え置きの新キャンペーン
-
4
「楽天ドライブ」アプリから「データ漏洩」「ハッキングした」通知? 運営元「緊急調査中」「通知を開かないで」
-
5
“ダサい”不評の「ドコモの銀行」、従来のアプリアイコン選択可能に 「ご意見・ご要望も踏まえ」
-
6
イオンモール熊本のドローン捜索、状況を現場キーマンに聞いた 撮影を阻んだのは……
-
7
農水省の“クソダサ”ポスター話題 「AIよりよっぽど良い」の声も 担当者に狙いを聞いた
-
8
“脳のゴミ”は鼻から捨てられていた? 老化で詰まる排出路、薬を鼻から投与で改善 韓国主導チーム研究
-
9
光学25倍ズームのソニー「RX10 V」はもう“レンズ一体型α” 1台で何でも撮れそうな万能感に浸れるぞ
-
10
タムロン、ソニーからの買収提案認める 特別委員会を設置して検討
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR