SlideShare a Scribd company logo
2019-07-11 Code and Response Day Tokyo #2
Hand-on material
Node-RED・IBM Cloudant・Watson Visual Recognition
1
作るもの
目的
• 机の片付け具合を判定するカスタム画像分類モデルを用いた、判定アプリを実装する。
ロジック
1. Node-REDに実装したWebフォームにアクセス。
2. 対象物の識別名を入力
3. 画像分類モデルを選択
4. 写真を選択。
5. アップロード
6. Watson Visual Recognitionが判定。
7. 判定結果とスコアが表示される。
8. IBM Cloudantに、識別名や判定結果、スコア、画像データが添付され、記録として参照できる。
令和1年7月10日 2
準備するもの
IBM Cloud ライトアカウント
• https://ibm.biz/BdzMNG << ここから登録。要メールアドレス
Watson Studioを用いて、Watson Visual Recognitionのカスタム画像分類モデルを用意。
• 前セッションの内容です。
セッションを見てない方向けの参考資料
https://www.slideshare.net/kolinz/watson-visual-recognition-nodered
Node-RED Starter
1. IBM Cloud ライトアカウント取得後、ログイン。https://cloud.ibm.com
2. IBM Cloud ダッシュボード、画面右上の「カタログ」をクリック。
3. 画面左下の「スターター・キット」をクリック。
4. 「Node-RED Starter」をクリック。
5. 英数字でアプリ名を入力。ホスト名も自動入力される。
6. 画面右下の「作成」ボタンをクリック。
7. 「このアプリは稼働中です。」または「実行中」と表示されるまで待機します。5~10分くらい必要。
8. 「アプリURLにアクセス」をクリックし、Node-REDにアクセスします。
令和1年7月10日 3
Node-RED初期設定.1
令和1年7月10日 4
Node-REDにアクセスすると最初にアクセス制限のためのパス
ワードを設定することを求められます。
画面下の「Next」をクリックします。
Node-REDを使用するための「Username」と「Password」
を入力、画面下の「Next」をクリックします。
Passwordを忘れた場合は、アプリを作り直す必要があります
ので、忘れないでください。
Node-RED初期設定.2
令和1年7月10日 5
Node-REDで使用できるサンプルや追記機能等の説明が
表示されます。特に追加しなくても良いので、今回は、画面
下の「Next」をクリックします。
「Finish the install」の画面が表示されましたら、
「Finish」ボタンをクリックして終了です。
Node-REDログイン
令和1年7月10日 6
「Go to your Node-RED flow
editor」をクリックし、先ほど設定した
「Username」と「Password」でログイン
します。
Node-RED画面の簡単な画面説明
令和1年7月10日 7
左図のように表示されます。画面左側の
アイテム(ノードと呼びます)を画面中央に、
ドラッグ&ドロップし、線で繋いだり、ノー
ド内でコードを記述することで、データ連
携やアプリケーションを作ることができま
す。
画面右上の「虫」のアイコンが表示される
タブをクリックすることで「デバッグ」画面
を利用することができます。「デバッグ」は
よく使います。
「デバッグ」を表示する
「虫」型のアイコンとタブ
箱1つ1つが小さな機能を
持つ。「ノード」と呼ぶ。
カテゴリ。ノードはカテゴ
リ別に分けられている。
「タブ」
「デプロイ」ボタン
画面補助
令和1年7月10日 8
「三」をクリック
します。
「設定」をクリック
します。
「ノードの配置を補助」にチェックを
入れます。方眼紙のようにグリッド線
が欲しい場合は、「グリッドを表示」
にもチェックを入れます。
Node-REDでは、ノードと呼ばれる箱を並べ、線でつなぎます。配置の際にて、グリッド線(マス目)や配置操作
の補助が必要なときは、「User Settings」の「View」で設定しましょう。
ノードの追加
令和1年7月10日 9
Node-RED画面を開
き、Webブラウザ上で、
ノードを追加します。
authで検索
「ノードを追加」を
クリック
サンプルの画像分類アプリでは、Node-RED上のWebフォームに認証をかけるために、「node-red-contrib-
httpauth」ノードを使用しますので、追加します。
サンプル読み込み
令和1年7月10日 10
下記にアクセスし、「flows_web_form_image_recognition.json」というファイル名をクリックします。ダウン
ロードが始まりますので、ダウンロードしたJSON形式のファイルを、Node-REDで読み込みます。
URL https://bitbucket.org/kolinzlabs/watson-dojyo/downloads/
サンプルフロー
令和1年7月10日 11
読み込み(インポート)
により、下図のように
Node-RED上に表示
されます。とりあえず
動かすために、枠部分
のノードを設定する必
要があります。
設定:Select Custome Model ID
令和1年7月10日 12
この設定は、カスタム画像モデルを作成している場合に有効です。「Select Custome Model ID」をダブル
クリックし、「functionノードを編集」画面を表示します。
画面内の「Model ID」をカスタム画像分類モデルの「Model ID」に置き換えます。
設定:Visual Recognition
令和1年7月10日 13
この設定は、カスタム画像分類モデルの作成済みの有無にかからず必須です。「visual recognition」をダブ
ルクリックし、「visual recognitionノードを編集」画面を表示します。
画面内の「API Key」の入力と、「Service Endpoint」を選択します。
設定:Insert to Cloudant
令和1年7月10日 14
この設定は、カスタム画像分類モデルの作成済みの有無にかからず必須です。「Insert to Cloudant」をダブ
ルクリックし、「cloudant outノードを編集」画面を表示します。
画面内の「Service」と「Database」で、画像分類結果を保管する先のデータベースを設定します。
「Only store msg.payload object?」にチェックが入っていることを確認します。
動作確認
令和1年7月10日 15
設定後、画面右上の「デプロイ」をクリックし、画像アップロードフォームにアクセスします。
画像アップロードフォームのURLは、下記のようになります。
Node-REDのURLが、 https://courceapp1808.mybluemix.net/red/ のとき、redの箇所を
uploadに書き換え、 https://courceapp1808.mybluemix.net/upload となります。
ベーシック認証のユーザー名とパスワードは、と
もに「user」になっています。Node-REDの
「http auth」ノードで変更することが可能です。
カスタマイズ例:Cloudantに画像データを保存
令和1年7月10日 16
判別結果と画像データをCloudantに格納できる
ようにしてみましょう。
たとえば、functionノードの「Output Save
Recognition data」を開き、
recogdate: dateの後に、カンマを入れ、続けて
下記のように追記します。
これで、Cloudantに、画像データが保存されるよ
うになります。
attachments: {
A001: {
content_type: imagefiletype,
data: msg.payload.toString('base64')
}
}
その他カスタマイズ
令和1年7月10日 17
全体的にカスタマイズしても良いですが、触りやすい箇所をいくつか紹介します。
1. 「switch」ノードの前後
• 画像アップロードフォーム画面で「標準」と「カスタム」で、Visual Recognitionにおける画像分類モデルを切り替え
ています。
• Visual Recognitionのカスタム画像分類モデルを増やしたり、Visual Recognition以外の、Microsoft
AzureやGoogle GCPなどの画像分類サービスを組み合わせることが考えられます。
2. 「class & score」ノードの前後
• 画像分類結果から、エンドユーザー側の結果表示画面に表示する項目を制御しています。
3. 「template」ノード
• 2つあり、エンドユーザー側で、画像ファイルのアップロードフォームや画像分類結果を表示するためのHTMLを定義
しています。
• 画像アップロード時に画像サイズを圧縮し、容量を小さくする処理を、javascriptなどで書き、機能を追加すると使
いやすくなります。Visual Recognitionでは2MB未満の画像であることが望ましいです。
4. 判定結果を、「Atlassian Jira」や「Trello」、「Redmine」などのタスク管理ツールにREST APIでPOSTし、セキュリ
ティ担当者に要注意社員のIDと証拠画像を転送、記録する。
書いた人
令和1年7月10日 18
2019 IBM Champions
勤務先:リックソフト株式会社
Twitter: kolinz
Facebook: kohei.nishikawa
その他
• NPO法人広域連携医療福祉システム
支援機構 研究員
• 可視化情報学会などに参加。
• WatsonやNode-REDを用いて、医
療機関と連携した研究プロジェクトを
進行中。

More Related Content

Similar to 無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料

Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Akira Inoue
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Akira Inoue
 

Similar to 無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料 (20)

Visual Studio を使った Windows Azure アプリケーション開発概要
Visual Studio を使った Windows Azure アプリケーション開発概要Visual Studio を使った Windows Azure アプリケーション開発概要
Visual Studio を使った Windows Azure アプリケーション開発概要
 
A12  坂井研究室 澤田純礼
A12  坂井研究室 澤田純礼A12  坂井研究室 澤田純礼
A12  坂井研究室 澤田純礼
 
Windows10の展開手法
Windows10の展開手法Windows10の展開手法
Windows10の展開手法
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 
Switch VisionⓇ Lite / Module 操作マニュアル
Switch VisionⓇ Lite / Module  操作マニュアルSwitch VisionⓇ Lite / Module  操作マニュアル
Switch VisionⓇ Lite / Module 操作マニュアル
 
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
ARコンテンツ作成勉強会:使ってみようSmartAR  基礎から支援ツール活用までARコンテンツ作成勉強会:使ってみようSmartAR  基礎から支援ツール活用まで
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
 
Neural Network Console delta_tokyo_#3
Neural Network Console delta_tokyo_#3Neural Network Console delta_tokyo_#3
Neural Network Console delta_tokyo_#3
 
AWS Lambda ハンズオン 2-Tier アーキテクチャで未来へ
AWS Lambda ハンズオン 2-Tier アーキテクチャで未来へAWS Lambda ハンズオン 2-Tier アーキテクチャで未来へ
AWS Lambda ハンズオン 2-Tier アーキテクチャで未来へ
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
Azure Antenna AI 概要
Azure Antenna AI 概要Azure Antenna AI 概要
Azure Antenna AI 概要
 
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationMicrosoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
AWS Lookout For Vision
AWS Lookout For VisionAWS Lookout For Vision
AWS Lookout For Vision
 
サーバレスアプリケーション構築入門
サーバレスアプリケーション構築入門サーバレスアプリケーション構築入門
サーバレスアプリケーション構築入門
 
SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWS
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 

More from Kohei Nishikawa

More from Kohei Nishikawa (20)

水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」
水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」
水曜ワトソンカフェvol.22「 医療方面でのWatson活用の検討」
 
Drupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティング
Drupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティングDrupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティング
Drupal Meetup 羽田 #22 Drupalの新しい仲間『Mautic』を活かしたBtoBマーケティング
 
BMXUG ブロックチェーンハンズオン 20190622
BMXUG ブロックチェーンハンズオン 20190622BMXUG ブロックチェーンハンズオン 20190622
BMXUG ブロックチェーンハンズオン 20190622
 
Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発
Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発
Watson Visual Recognition カスタム画像分類モデル作成とNode-REDによる画像判定プログラム開発
 
Raspberry Pi しかないときのIoTハンズオンチュートリアル
Raspberry Pi しかないときのIoTハンズオンチュートリアルRaspberry Pi しかないときのIoTハンズオンチュートリアル
Raspberry Pi しかないときのIoTハンズオンチュートリアル
 
無料のIBM Cloudライトアカウントで始めるIoTのHello World
無料のIBM Cloudライトアカウントで始めるIoTのHello World無料のIBM Cloudライトアカウントで始めるIoTのHello World
無料のIBM Cloudライトアカウントで始めるIoTのHello World
 
Idea : Task of Things Concept
Idea : Task of Things ConceptIdea : Task of Things Concept
Idea : Task of Things Concept
 
ブロックチェーンハンズオン 2019/01/26
ブロックチェーンハンズオン 2019/01/26ブロックチェーンハンズオン 2019/01/26
ブロックチェーンハンズオン 2019/01/26
 
Node-REDで生体情報測定するIoTデバイス試作
Node-REDで生体情報測定するIoTデバイス試作Node-REDで生体情報測定するIoTデバイス試作
Node-REDで生体情報測定するIoTデバイス試作
 
SpO2と心拍センサー、クラウド対応の試作
SpO2と心拍センサー、クラウド対応の試作SpO2と心拍センサー、クラウド対応の試作
SpO2と心拍センサー、クラウド対応の試作
 
Mattermost インストールハンズオン 2018年8月時点
Mattermost インストールハンズオン 2018年8月時点Mattermost インストールハンズオン 2018年8月時点
Mattermost インストールハンズオン 2018年8月時点
 
IBM Cloud x Lineボットハンズオン 2018年7月14日
IBM Cloud x Lineボットハンズオン 2018年7月14日IBM Cloud x Lineボットハンズオン 2018年7月14日
IBM Cloud x Lineボットハンズオン 2018年7月14日
 
GCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システム
GCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システムGCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システム
GCM15:ウェアラブル端末とブロックチェーンを用いた生体情報 共有システム
 
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
 
PostgreSQLをWatson Discoveryに接続する方法
PostgreSQLをWatson Discoveryに接続する方法PostgreSQLをWatson Discoveryに接続する方法
PostgreSQLをWatson Discoveryに接続する方法
 
[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント
[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント
[配布版] OSC2017 Enterprise : オープンソースMa mauticの事例と活用ポイント
 
eBook:Mauticはじめ方ガイド vol.0
eBook:Mauticはじめ方ガイド vol.0eBook:Mauticはじめ方ガイド vol.0
eBook:Mauticはじめ方ガイド vol.0
 
Mautic x Dynamics 365 (CRM) 連携やってみた
Mautic x Dynamics 365 (CRM) 連携やってみたMautic x Dynamics 365 (CRM) 連携やってみた
Mautic x Dynamics 365 (CRM) 連携やってみた
 
Mautic Zapier Integration を使って、Slack通知やってみる
Mautic Zapier Integration を使って、Slack通知やってみるMautic Zapier Integration を使って、Slack通知やってみる
Mautic Zapier Integration を使って、Slack通知やってみる
 
CMSにMauticのDynamic Content を設置してみた
CMSにMauticのDynamic Content を設置してみたCMSにMauticのDynamic Content を設置してみた
CMSにMauticのDynamic Content を設置してみた
 

無料の「IBM Cloud ライトアカウント」を用いた画像判定アプリハンズオン資料