2022年02月3日
Vieureka QuickData機能ご紹介
Vieurekaチーム開発担当の志村です。
先日Vieureka Managerのアップデートを行い、新機能Vieureka QuickDataがリリースされました。この機能は、カメラ内で動作する画像解析アプリの解析データをJSON形式でクラウドに送信すると、Vieureka Managerが管理するクラウド領域に蓄積し、そのデータを簡単にグラフ表示できる機能です。
QuickDataは、画像解析アプリからデータ送信API(QuickData API)を呼び出すだけで、利用できます。QuickDataをご利用いただくことで、自前でデータ収集や可視化の仕組みを用意することなく画像解析アプリの動作確認やPoCが実施できるので、開発コストを大幅に削減できます。
今回は、実際の画像解析アプリでQuickDataを利用し、解析データを可視化する様子をご紹介したいと思います。
検証に用いたアプリ
利用するのは画像分類を行うアプリです。深層学習フレームワークTensorFlowLiteを利用しており、取得した画像を1000クラスに分類し、分類結果と予測信頼度を出力します。こちらはサンプルアプリとしてSDKにも同梱されています。
このアプリに、推論結果をJSON形式でVieureka Managerに送信する処理を追加します。データ送信処理はQuickData APIを呼び出すだけですので、SDKを利用して簡単に実装できます。
以下はQuickDataの利用に必要な実装のイメージです。
import adam
# アプリ起動時、QuickDataに接続
adam.QuickData.connect()
# json形式のデータを送信
adam.QuickData.send(json_data)
# アプリ終了時、QuickDataから切断
adam.QuickData.disconnect()
QuickData有効化と物体認識
開発したアプリをVieureka Managerに登録し、カメラへインストールします。QuickDataを利用するためには、まずアプリに対してQuickDataを有効化します。有効化すると、アプリ名の横にQuickDataのアイコンが表示されます。
これでアプリからVieureka Managerにデータを送信する準備ができたので、アプリをRUN状態に更新し、実際にカメラを動かして物体を認識させてみます。今回は、モニター、マウス、マグカップを順にカメラで撮影しました。
認識結果の確認
次に、QuickDataの画面で認識結果を確認してみます。
QuickDataの画面を開くと、先ほどの認識結果が棒グラフで表示されました。
画面下部には、カメラから送信されたデータとその属性情報が表形式で表示されています。表内の「Rawデータ」列を見ると、カメラから{“認識結果”: (信頼度)}の形式でjsonデータが送信されていることが分かります。
グラフは縦軸が信頼度、横軸が時間を表しており、左から時系列順にモニター、マウス、マグカップを撮影した認識結果を表示しています。
グラフを見ると、モニターはscreenとmonitorとして認識されていますが、概ね正しい結果となっていそうです。マウスはmouseとjoystick(操縦レバー)として認識されています。私の使用しているマウスがトラックボール型なのが関係しているのか、認識ミスがありそうです。最後のマグカップは一貫してcoffee mugと認識されていて、平均して信頼度も高そうです。
また、蓄積されたデータはjson/csv形式でダウンロードが可能です。こちらは近いバージョンでWebAPIによる取得も可能になる予定です。
まとめ
今回は、画像分類を行うアプリの認識結果を、QuickData機能を用いて簡単に可視化する様子をご紹介しました。
上でご紹介した機能以外にも、「グラフの種類変更」、「データの表示期間/表示件数/最大値・最小値のカスタム」、「複数アプリのデータ表示」、「jsonデータから特定の項目をフィルター表示」など、様々な機能が利用できます。
また、自動更新モードにすることで、アプリから送信されるデータをリアルタイムに表示できます。これによって、実際にカメラを動かしながら、解析データの変化を確認することも可能です。
是非QuickDataをご利用頂いて、皆様のアプリ開発やサービス開発に役立てて頂ければ幸いです。
関連記事: