3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Node-RED で Watson Visual Recognition を試してみる

Last updated at Posted at 2020-10-24

はじめに

このドキュメントは Node-RED を利用して、IBM Watson Visual Recognition の 画像認識 を体験するための手順を示しています。
ここで利用する Node-RED は、IBM Cloud にデプロイされたものを想定しています。

Node-REDパレット管理

下記のノードを追加します。

  • [node-red-contrib-browser-utils]
    ブラウザでカメラを利用するためのノード

  • [node-red-contrib-image-output]
    Node-RED のフローを流れるイメージを表示するノード
     

ノード追加

右上の「ハンバーガーメニュー」をクリックし、「パレット管理」 をクリックします。

パレット設定画面で 「ノードを追加」 タブをクリックします。

node-red-contrib-browser-utils

ノードを検索 テキストボックスに browser と入力すると候補が表示されます。
node-red-contrib-browser-utils「ノードを追加」 ボタンをクリックします。

確認ダイアログが表示されるので、「追加」 ボタンをクリックします。

しばらくするとノードが追加されたことを表すメッセージが表示されます。

node-red-contrib-image-output

ノードを検索 テキストボックスに image-out と入力すると候補が表示されます。
node-red-contrib-image-output「ノードを追加」 ボタンをクリックします。

確認ダイアログが表示されるので、「追加」 ボタンをクリックします。

しばらくするとノードが追加されたことを表すメッセージが表示されます。

Node-REDフロー作成

Watson の画像認識機能を確認してみます。

cameraノード

パレット中段の「入力 タブ」から camera ノードをワークスペースにドラッグします。

imageノード

パレット中段の「出力 タブ」から image ノードをワークスペースにドラッグします。

visual recognitionノード

パレット下部の「IBM Watson タブ」から visual recognition ノードをワークスペースにドラッグします。

debugノード

パレット上部の「共通 タブ」から debug ノードをワークスペースにドラッグします。

デバッグ設定

画像認識結果をデバッグサイドバーに表示するために、debug ノードの設定を変更します。
debug ノードをダブルクリックし、デバッグの 対象msg.result になるように設定します

ノード接続

[camera][image]
[camera][visual recognition][debug] の順にノードを接続します。

Visual-Recognition-API準備

いったん Node-RED から離れて、IBM Cloud の GUI から Visual Recognition API を準備します。

リソースの作成

IBM Cloud のダッシュボード、もしくはリソース・リストにある 「リソースの作成」ボタンをクリックします。

検索テキストボックスに visual と入力すると、[Visual Recognition] の候補が表示されるのでクリックします。

サービスの設定画面で ライト 無料 となっていることを確認して、「作成」ボタンをクリックします。

API情報表示

作成された API の詳細画面が表示されるので、左メニュの 「管理」 をクリックします。

Node-REDへVisual Recognition組み込み

Node-RED と Watson API を連携させる方法はいくつかあります。

  • API 鍵による連携
  • Cloud Foundry アプリケーションの接続

今回は「API 鍵による連携」で Node-RED と Watson API を連携します。

API鍵の組み込み

Watson API の管理画面から 資格情報「API 鍵」 をコピーします。

Node-RED フローエディタを表示し、ワークスペースに配置してある[visual recognition]ノードをダブルクリックします。
API key を入力する欄があるので、貼り付けます。

EndPoint-URLの組み込み

Watson API の管理画面から 資格情報「URL」 をコピーします。

Node-RED フローエディタを表示し、ワークスペースに配置してある[visual recognition]ノードをダブルクリックします。
Service Endpoint を入力する欄があるので、貼り付けます。

Node-REDでWatson Visual Recognition体験

Node-RED と Visual Recognition の連携は完了したので、Watson の機能を試してみます。

画像認識結果の言語設定

引き続き [Visual Recognition]ノードの設定画面で下記設定をします。

  • LanguageEnglish

デプロイ

いままで設置してきた フローやコーディングを確定して、実際に動作するようにします。画面上部の 「デプロイ」ボタンをクリックします。

Node-RED のサイドバー(右側エリア)上部のデバッグアイコンをクリックし、デバッグサイドバーを表示します。

実行

ワークスペースに配置してある camera ノードの左側のボタンをクリックして、フローを実行します。
するとパソコンのカメラが撮影した写真が imageノード下部に表示されます。また、デバッグサイドバーに画像認識の結果が出力されます。
下の例では、「バナナ」を撮影して画像認識させた結果、bananafruit などの文字列が表示されていることが確認できます。
score は、Watson の回答の自信度を表しています。

カエルのぬいぐるみを撮影して画像認識させたところ、headress などのご認識されました。これは人の目には「カエル」と認識できても、一般的な「カエル」の特徴が無い為と思われます。

終わりに

ノードを接続するだけで、カメラの制御と写真のプレビュー、そして画像認識が簡単に試せることがわかりました。
画像をスマホから送ったり、別のアプリから送信できるようにすることも可能なので、自作アプリやサービスにも気軽に画像認識機能を組み込むことができます。
試してみてはいかがでしょうかっ!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?