LoginSignup
4
3

More than 5 years have passed since last update.

カメラの画像から写っている人数を推論し、その結果をLametric TIMEに表示してみた

Last updated at Posted at 2018-12-07

カメラ画像から人数推論→結果をLametric TIMEに表示を5分で作ってみました!
image.png

準備するものと今回試した環境

・ノートPC
 -Windows 10 バージョン1803
 -カメラ搭載パソコン(インカメラのみのPCを使用しました)

Gravio
 -Gravio Studio Version.2.0.2065
 -Gravio Server Version.2.0.2153
   ※先日(2018年12月4日)バージョンアップしました!

・電光表示機器
 -LaMetric Time
   http://amzn.asia/d/7kSUmNp

Gravioの設定

Gravioのインストール方法はこちらを御覧ください!
Gravioのインストール方法

STEP1 センサーの設定

カメラの画像を認識して数値化する、ソフトウェアセンサーを設定します。

1.エリア・レイヤーを登録する

画面右上の”+”ボタンをクリックし、エリアを作成します。
エリアを作成すると自動的にレイヤーが作成され、SENSING DEVICE TYPEに"BuildAndUSBCamera"を選択します。

2.レイヤーにデバイスを登録する

一番右のデバイスウィンドウの”⊕”ボタンを選択し、デバイスを追加します。

3.デバイスの設定

デバイスをダブルクリックし、カメラからのデータ収集について設定します。
今回は、電光表示するLaMetric Timeが通知を受けて表示が終わるまでおおよそ7秒かかるので、カメラの画像収集間隔を10秒で設定します。
画像推論モデルは、”NumberOfPeople-Lite”を設定します。

項目 設定値
キャプチャー形式 Picture
キャプチャー間隔 10
画像推論の実行 NumberOfPeople-Lite
画像の保存 チェックなし
検出フレームの描画 チェックなし

image.png

STEP2 動作の設定

表示する動作を設定します。

1.動作(アクション)の作成

サーバ管理画面より、アクションボタンをクリックし、アクション管理画面を表示します。
アクション管理画面の右上の”+”をクリックし新しいアクションカードを作成します。
作成したアクションカードをダブルクリックし、アクションを設定します。

2.アイコン(コンポーネント)を並べて設定する

今回は、"HTTPPost"コンポーネントを使用します。
追加したコンポーネントのプロパティに以下を設定します。

項目 設定値
URL http://[IPアドレス]:8080/api/v2/device/notifications
HTTP METHOD POST
Content-Type application/json
Query String null
Body "{\"model\":{\"frames\":[{\"text\":\""+av.Data + "名\",\"icon\":\"i23532\"}]}}"
Authorization Type Basic
Authorization Value Base64でエンコードした鍵

■■【2/26追記】■■■■■■■■■■■■■■■■
Authorization Valueですが、Gravio Serverのバージョンアップに伴いBase64エンコードが不要になりました。
Gravio Server Version:2.1.2301以降では、以下の設定で動作します。

項目 設定値
Authorization Value dev:[Api key]

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Bodyに設定する、iconですが、こちらは今回はGravioのロゴをアイコンを設定しています。
アイコン例としては、#3061でマリオや#1589でモンスターボールを表示できます。
image.png
また、textの設定では、トリガー実行時のデータを可変数として使用することができます。検知した人数データを使用する場合は、av.Dataを使用します。また、データと定型文を組み合わせる際は、データと定型文を”+”でつなぎます。

LaMetric Timeの設定に必要な情報の取得については、
LaMetric TIMEにAPIを使ってテキストを表示してみた
を参考にしてください。

3.動作確認

右上に表示されている”▷”をクリックし、動作を実行します。
実行すると"名"と表示されることを確認します。
(センサーからのデータをもとにしていない動作のため、数字が表示されません)

STEP3 動作タイミングの設定

1人以上検知した際にメッセージを表示するために必要となる動作タイミング(トリガー)の設定をします。

項目 設定値
エリア 設定したカメラのレイヤー
レイヤー 設定したカメラのレイヤー
アクション名 作成したアクションカード
Interval 10
Classic/Threshold Trigger Classic Trigger
NumberOfPeople-Lite >=1

image.png

トリガーを有効にすると、人数がLaMetricTimeに表示されます!

動作画像

動作している様子を撮影してみました!
https://youtu.be/e9Y151GGj9I
電光表示

あとがき

HTTPが使えるので、APIを使用して様々な連携が簡単にできます!
これから、コンポーネント化される動作も増えていくので、乞うご期待ください!

参考

Gravioとは?

温度センサーのデータをエクセルで簡単に表示

Slackとボタンスイッチセンサーで「呼び出しシステム」を作ってみた!

温度データSlack投稿システムを「5分」で作ってみた!

LaMetric TIMEにAPIを使ってテキストを表示してみた

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