APIは、画像ファイルや動画ファイルを渡すだけで、そこに映っている人がどんな感情を持っているかを簡単に判定してくれる。Servicesが提供するAPIの1つで、画像に含まれている人の表情を解析し、怒り、恐怖、喜び、悲しみなどの感情が現れているかを判断してくれる。APIは以下のAPIを提供している。Result最初の2つは、画像に含まれている人の表情を解析するもの。APIを呼び出して顔がどこにあるかを示す領域情報を取得している場合に、それをクエリパラメーターに含めて呼び出せる(実際にはこれら2つのAPIのリクエストURLは同一で、クエリパラメーターのfaceRectanglesを指定するかどうかが異なるだけである)。残り2つは動画に含まれる人の表情を解析するAPIと、その進捗状態を取得するAPIである(本稿では取り上げない)。APIのサブスクリプションを追加し、APIにアクセスするためのキーをあらかじめ取得しておく必要がある。APIで行っているトークンの作成は必要ない)。アクセスキーを取得しているところ(赤枠内)また、価格についてはFree、Basic、Standardの3つのプランがある。API」ページをご覧いただくとして、無償で使えるFreeプランでは月に3万点の画像のトランザクション、300本のビデオアップロード(1分に1本まで)、月に3000回のステータス問い合わせ(1分に5回まで)を使用可能となっている。BasicとStandardでは、1000トランザクション当たりの価格が異なることと、Basicではビデオのアップロードとステータスクエリがサポートされていない点が異なるようだ。APIはプレビュー段階のサービスであり、利用可能なリージョンも米国西部だけとなっている。今後、仕様変更される可能性がある点については留意していただきたい。APIを使用して、感情の解析を行ってみよう。Recognitionのドキュメントを開くと、これを呼び出すには以下の情報が必要なことが分かる(リクエストURLを見ると、米国西部のリージョン決め打ちになっているが、これは今後変更されるか、他のリージョンに対応するリクエストURLが追加される可能性がある点には注意しておきたい)。画像ファイルのURLもしくは画像ファイル自体また、戻り値は次のような形式のJSONデータとなる。このAPIが解析してくれる感情はanger(怒り)、contempt(軽蔑)、disgust(嫌悪)、fear(恐怖)、happiness(喜び)、neutral(中立)、sadness(悲しみ)、surprise(驚き)であり、これらを0〜1の範囲の数値で返してくれる。画像内で顔がある領域を示す領域情報も同時に返される。......}}]戻り値の形式このAPIをJavaScriptから呼び出すコードは以下のようになる(NPMのrequestパッケージを使用)。APIを呼び出すコード(JavaScript)このコードでは、リクエストボディーに画像のURLと画像自体を含めた呼び出しの両方を行っている。やっていることは、画像ファイルのURLもしくは画像ファイル自体とアクセスキー、リクエストURLを用いて、呼び出しに必要なパラメーターを組み立てて、APIを呼び出し、その結果をコンソールに出力しているだけである。以下の画像を使用して、実際に画像を呼び出してみよう(以下の画像はぼかしが入っているが実際にはぼかしなしの画像を使用している)。実行結果を以下に示す(同じファイルを渡しているので、結果は同様だ)。]実行結果この結果を見ると、neutral値が0.99723と非常に高く、その他の値が非常に低い。このことから、この画像ファイルに映っている人はその時点で特に怒りや悲しみ、驚きといった感情がなく、ごく普通の状態にあることが分かる。console]ボタンをクリックして、アクセスキーと画像のURLを指定することでこのAPIをテストできる(ここではコンソールの使い方については説明しない。素直に使えるので、興味のある方は自分で試してみてほしい)。APIを呼び出すコードを示しておく。APIを連携して呼び出すコード例このコードでは2つのAPI呼び出しをPromiseオブジェクトを返送する関数にパッケージングしている。各関数ではそれぞれのAPI呼び出しで必要なURLとアクセスキー、パラメーター(画像ファイルのURLや顔がある領域など)を指定して、APIを呼び出し、それをthenメソッドのチェーンで利用できるようにしているだけだ。API呼び出しで得られた情報のうち、faceRectangle情報だけをresolve関数に渡していることがある。APIを呼び出している。実行結果は同様なので割愛する。APIは、画像ファイルを渡すだけで、そこに映っている人がどんな感情を持っているかを簡単に判定してくれる。本稿では使用しなかったが、動画に対しても利用可能なので、これを使うことで、静止画や動画に感情をベースとしたタグ付けを行うといった使い方が考えられる。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。