reCameraではじめるNode-RED:映像・画像・AIを組み合わせた基本フロー入門

reCameraは、カメラ機能とNode-REDが一体になったエッジデバイスです。プログラミングの知識がなくても、ノードを繋ぐだけで「映像の確認」「動画の保存」「画像のキャプチャ」「AIによる物体検出」などが実現できます。この記事では、基本のフローをご紹介します。

reCameraとNode-REDの関係

Node-REDはフローベースのプログラミングツールで、処理のまとまり(ノード)を線で繋ぐだけでロジックを構築できます。reCameraでは node-red-contrib-sscma というパッケージが用意されており、カメラ操作・AI推論・保存といった機能がそれぞれ専用ノードとして提供されています。

フローを作る前に、まず接続設定(sscmaノード)を済ませておきます。ホスト・ポート・クライアントIDを設定するだけで、以後はすべてのノードが同じ接続を共有できます。

ライブ映像のプレビューと画像キャプチャ

動作確認やカメラのアングル調整に使うフローです。

cameraノードはデバイスから映像ストリームを取得し、previewノードはその映像をNode-REDのダッシュボード上に表示します。音声・フレームレート・ミラーリングの設定はcameraノードのプロパティから変更できます。

injectノードにcaptureという文字列を入れてcapture imageノードに送ると撮影画像を保存できます。定期的に撮影した画像を保存することも可能です。画像は、管理画面からダウンロード可能です。

トリガーで動画の録画

録画の開始と停止を手動で制御するフローです。

saveノードには msg.enabled プロパティがあり、true を送ると録画開始、false を送ると停止します。録画時間・スライス間隔・保存先(ローカルなど)はノードのプロパティで設定できます。

injectノードを使った手動トリガーのほか、タイマーや外部センサーからのメッセージで自動化することも可能です。動体検知と組み合わせれば「検知したときだけ録画する」といった応用もできます。動画は管理画面からダウンロード可能です。

AIモデルでの画像解析

AI推論と画像キャプチャを組み合わせたフローです。

modelノードにはAIモデルを設定します。どのような機能を持つAIモデル化を選択できます。検出スコアのしきい値やIoUも調整可能です。推論結果はpreviewノードで確認できます。

フローの保存

作ったフローは、デプロイボタンをクリックしたタイミングでreCamera内部で保存されます。このとき、クラウドサービスのSenseCraftにログインしていれば、クラウドにもフローが保存されています。

注意事項

  • フローを作る時、cameraノードは1個しか配置できません。
  • 公開されているノードをインストールするときは、reCamera自体がインターネットに接続している必要があります。Wi-FiモデルであればWi-Fiの設定を先に済ませておくとよいです。

まとめ

  • reCameraのNode-REDフローは、ノードを繋ぐだけでカメラ制御からAI推論まで完結します。
  • カスタムノードにある様々なクラウドサービスやenebularのクラウド実行環境などに推論結果を連携することも可能です。
  • enebularを使わなくても単体でアプリケーションが簡単に作れるので、試してみてはいかでしょうか。