IBM Bluemix から使える Node-RED 環境内には AlchemyAPI の画像解析機能を持ったノードがあります。analysis カテゴリ内にある "Image Analysis" と書かれたノードがそれです:
2015120810


このノードを Node-RED 内で使うと比較的簡単に画像認識機能を実装することができます。実際に使ってみましょう。まずはこのノードをキャンバスにドラッグ&ドロップします:
2015120817


同様にして input カテゴリの inject ノードと、output カテゴリの debug ノードをドラッグ&ドロップでキャンバスに貼り付け、以下のように線で結びます:
2015120811


各ノードの属性を順に指定していきます。まずは inject ノードです。ここでは画像解析する画像の URL を文字列で指定します。というわけで種類には "string" を選択し、その下のフィールドには解析したい画像の URL を指定します。ここでは以下の画像(の URL)を指定することにしましょう:
http://news-de-smile.com/wp-content/uploads/2015/02/america-obama.jpg

↑これが何の画像なのか、は普通の人間であればわかるはず。これがコンピュータにわかるか??


"Payload" の種類に "string" を、その下に画像 URL を入力します:
2015120812


次に Image Analysis ノードの属性を指定します。ここでは AlchemyAPI を使うため、AlchemyAPI の API Key を指定します(未取得の方はここから登録して取得してください、無料です)。また解析内容は顔認識機能を使うことにしましょう。Detect の種類には "Faces" を選択します:
2015120813


最後に debug ノードの属性を指定します。この Image Analysis ノードの結果はメッセージ内に "result" という名前が付いた状態で返されます(一般的な "payload" ではありません)。というわけで、debug ノードでは debug タブに msg.result を表示するよう指定します:
2015120814


これで準備は完了です。右上の "Deploy" ボタンでデプロイします。また解析結果は debug タブに出力されるため、debug タブが表示されるよう選択しておきます:
2015120815


では解析を実行してみましょう。inject ノードの左にあるボタン部分をクリックすると、指定した画像 URL が AlchemyAPI の FaceDetection API によって解析され、その解析結果が debug タブに出力されるはずです:
2015120816


おそらくこんな感じの JSON テキストが実行結果として得られるはずです:
[
 {
  "age": {
   "ageRange": "55-64",
   "score": "0.447907"
  }, 
  "gender": {
   "gender": "MALE",
   "score": "0.993307"
  },
  "height": "389",
  "identity": {
   "disambiguated": {
    "dbpedia": "http://dbpedia.org/resource/Barack_Obama",
    "freebase": "http://rdf.freebase.com/ns/m.02mjmr",
    "name": "Barack Obama",
    "subType": [ "Person", "Politician", "President", "Appointer", "AwardWinner", "Celebrity", "PoliticalAppointer", "U.S.Congressperson", "USPresident", "TVActor" ],
    "website": "http://www.whitehouse.gov/",
    "yago": "http://yago-knowledge.org/resource/Barack_Obama"
   },
   "name": "Barack Obama",
   "score": "0.960834"
  },
  "positionX": "223",
  "positionY": "125",
  "width": "389"
 }
]

この中を見ると、画像に写っているのは1人の男性でその確率は 99.3307% 、年齢層は 55-64 歳でその確率は 44.7907%。そしてその人が "Barak Obama" である確率が 96.0834% である、という結果になっていることがわかります。それ以外の情報も含まれていますが、ともあれ Node-RED と Image Analysis ノードを使って簡単に画像認識 API を呼び出すアプリが作れてしまいました。