5
3

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 で画像認識と物体検出 三分クッキング

Last updated at Posted at 2021-04-05

目標

node-red-contrib-model-asset-exchange で物体認識した結果を取得します。Node-RED の環境は enebular を使います。

知識材料

利用環境

  • enebular

今回のゴール

node-red-contrib-model-asset-exchange ノードを利用して、「画像の概要」と「物体検出」を体験します。
ゴールイメージ

環境準備

あらかじめ enebular へサインアップして、フローエディターを起動しておいてください。

画面右上の「三(ハンバーガー)」メニューをクリックし、パレットの管理 メニューを選択します。
ハンバーガメニュー

「ユーザ設定画面」にて以下の操作をします。

node-red-contrib-model-asset-exchange 追加

「画像の概要」や「物体検出」を処理するノードを追加します。

  1. 左側メニューから パレット を選択します
  2. 上部 ノードを追加 タブを選択します
  3. ノードを検索 と表示されているテキストエリアに model-asset と入力します
  4. 表示された node-red-contrib-model-asset-exchangeノードを追加 ボタンをクリックします

node-red-contrib-model-asset-exchange追加

画面上部に警告ダイアログが表示されるので 追加 ボタンをクリックします。
警告ダイアログ

node-red-contrib-browser-utils 追加

ブラウザで 「ファイルのアップロード」や「webカメラ」を利用できるノードを追加します。
前項に続いて「ユーザ設定画面」で操作します

  1. ノードを検索 と表示されているテキストエリアに browser-util と入力します
  2. 表示された node-red-contrib-browser-utilsノードを追加 ボタンをクリックします
    browser-Util追加

node-red-contrib-image-output 追加

フローエディタ上でイメージデータの確認することができるノードを追加します。
前項に続いて「ユーザ設定画面」で操作します

  1. ノードを検索 と表示されているテキストエリアに image-output と入力します
  2. 表示された node-red-contrib-image-outputノードを追加 ボタンをクリックします
    browser-Util追加

image-caption-generator (画像概要取得) を試す

サンプル読み込みとデプロイ

画面右上の「三(ハンバーガー)」メニューをクリックし、読み込み メニューを選択します。
読み込み

「フローをクリップボードから読み込み画面」にて以下の操作をします。

  1. 左側メニュから サンプル を選択します
  2. 画面真ん中の「サンプル」ツリーを展開し、image-caption-generator を選択します
  3. 画面下部の「読み込み」ボタンをクリックします。

image-caption-generatorサンプル読み込み

そうすると、下記のフローが展開されます。
image-caption-generatorフロー

画面右上の デプロイ ボタンをクリックし、フローをデプロイします。

デプロイ

サンプルの実行

あらかじめ、enebular 右側の「デバッグウインドウ」を有効にしておきます。
デバッグウインドウ

展開されたフローの file inject ノードの左ボタンをクリックし、画像概要取得したいイメージファイルを選択します。
ファイル選択

正しく処理されると「デバッグウインドウ」に「画像の概要メッセージ」が英語で表示されます。(下記例では、a man in a suit and tie holding a toothbrush . と判定されています)
画像概要結果

object-detector (物体認識) を試す

サンプル読み込みとデプロイ

画面右上の「三(ハンバーガー)」メニューをクリックし、読み込み メニューを選択します。
読み込み

「フローをクリップボードから読み込み画面」にて以下の操作をします。

  1. 左側メニュから サンプル を選択します
  2. 画面真ん中の「サンプル」ツリーを展開し、object-detector を選択します
  3. 画面下部の「読み込み」ボタンをクリックします。

object-detectorサンプル読み込み

そうすると、下記のフローが展開されますので、デプロイ しておいてください。
object-detectorフロー

サンプルの実行

展開されたフローの file inject ノードの左ボタンをクリックし、物体認識取得したいイメージファイルを選択します。
ファイル選択

正しく処理されると、フロー下部の image preview ノードの下に、検出されたオブジェクトが視覚的に分かるように表示されます。まデバッグウインドウに、検出されたオブジェクトが出力されます。

ファイル選択

まとめ

Node-Red を使って画像認識を簡単に試すことができるということがわかりました。今回は既存のファイルを選択して試しましたが、カメラで撮影した画像をそのまま処理することもできるので、PCやスマホのWebカメラや、TJBot のカメラ入力から物体検出して…という何かが作成できる手ごたえを得ました。

5
3
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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?