こんにちは。年度末ですね。いかがお過ごしですか。
最近なんだか人工知能という言葉が流行ってますよね。自分は大学生の時に自然言語処理付近の研究をしていたのですが、こうして会社に入ってからこの言葉を聞くとは思っていませんでした。人工知能による画像加工だとか画像認識も話題にありますよね。今日はIBMのコグニティブテクノロジーを触ってみたいと思います。
Watsonのサービス
IBM Watsonについてはこちらをご覧ください。2017年3月現在では下記の8つのAPIが日本語化されているみたいです。
今日は Visual Recognition(画像認識)の機能を試してみます。
Watsonは登録から30日間はフリープランを使えますので、まずはIBM Bluemixに登録してみましょう。
APIキーが発行できるようになります。
Visual Recognition
概要を引用します。
Visual Recognitionによって、イメージやビデオ・フレームの内容を理解できます。イメージをサービスに送信すると、対象物、場面、環境などを表す関連種別のスコアが返されます。業務に関連するイメージにはどのような種類のイメージがあるのでしょうか。イメージの内容を把握し、その内容に基づいて整理すると、どのようなメリットが生まれるでしょうか。Visual Recognitionは、イメージに含まれる対象や物体を自動的に識別して、論理的なカテゴリーに分類します。また、特定のコンテンツやカスタム・コンテンツについてVisual Recognitionをトレーニングすることも可能です。サンプルを送信して新しい種別のトレーニングを行うことで、カスタム・イメージを簡単に認識できるようになります。
(引用元: https://www.ibm.com/smarterplanet/jp/ja/ibmwatson/developercloud/visual-recognition.html)
画像の中にどんなものが写っているのかを識別できるんですね。
Visual RecognitionはAPIキーがあればすぐに使えました。簡単なPHPプログラムを紹介します。
1 2 3 4 5 6 7 8 9 |
$url = 'http://********************'; $api_response = watson_visual_recognition($url); function watson_visual_recognition($url) { $api_key = '****************************************'; //IBM Bluemixで取得 $api_url = 'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classify'; $response = file_get_contents($api_url.'?api_key='.$api_key.'&url='.$url.'&version=2016-05-19'); return json_decode($response, true); } |
こんなかんじです。
$urlとしてこの画像を使うと認識結果は
tomcat(0.606pt)/domestic cat(0.808pt)/cat(0.901pt)/feline(0.928pt)/carnivore(0.929pt)/mammal(0.929pt)/animal(0.931pt)/Manx cat(0.595pt)/sand cat(0.554pt)/wildcat(0.568pt)/beige color(0.933pt)/ tan color(0.632pt)/
と返って来ました。0.9pt以上のスコアの単語を見ると、猫、猫科、肉食動物、哺乳類、動物、ベージュ色とどれも的確そうに見えますね。
$urlとしてこの画像を使うと認識結果は
restaurant(0.839pt)/building(0.839pt)/brasserie(0.654pt)/playroom(0.587pt)/room(0.591pt)/espresso shop(0.554pt)/reddish brown color(0.962pt)/
と返って来ました。色系のレスポンスは強いんでしょうか。喫茶店ですが、おしゃれすぎてレストランになりました。Watsonの学習データの影響かもしれないですね。
$urlとしてこの画像を使うと認識結果は
city(0.922pt)/crowd(0.554pt)/azure color(0.944pt)/blue color(0.861pt)/
と返って来ました。横浜シティ、淡い青色です。そうです。
・IBM Watson Visual Recognition
・Google Cloud Vision API
・Microsoft Cognitive Services Computer Vision API
は、どれも画像認識系のサービスなので他のも後々使ってみたいですね(゜-゜)