はじめての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
日本人の大腸がん、約半数に“腸内細菌の毒素”が関与 40歳以下の発症は7割 東大・阪大が200人を全ゲノム解析
-
2
「コミューン」不正アクセスでLINEヤフー、Sansan、パナソニックでも会員情報漏えいの可能性
-
3
「お前たちのクラウドはわれわれのもの」 IDCFクラウドの管理画面に出た攻撃者のメッセージ 内容に運営元は
-
4
「男は狩り、女は採集」はどこまで本当? 約8割で女性も狩り、乳児連れの例も 過去100年の狩猟採集社会を調査
-
5
新作映画「バイオハザード」公開で原作ゲームも大盛り上がり? 劇場でマンガ家が頷いた、その理由とは
-
6
AnthropicのAI、未解決殺人事件で警察に虚偽の情報提供 米政権は「通知と是正は義務」と警告
-
7
農水省の“クソダサ”ポスター話題 「AIよりよっぽど良い」の声も 担当者に狙いを聞いた
-
8
JR東日本、「えきねっと」「ビューカード」などで漏えいか メルアドなど最大609万件 IDCFへの不正アクセスで【追記あり】
-
9
IDCFクラウド障害、親会社のソフトバンクが顧客窓口に 調査・復旧も支援
-
10
OpenAI、安全性研究者3人を解雇 本人らは「安全性を優先したため」と主張、同社は「機密情報の扱いに関する規定違反」と説明
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR