masato-ka's diary

日々思ったこととか、やったことの備忘録。

WioLTEとTensorFlowで加速度センサの値を分析、SORACOM で可視化する。

1. この記事について

 加速度センサを使い、機器の状態を遠隔で監視することはIoTの一般的なユースケースの一つだ。ソラコムのサービスとWioLTEを利用することでそのようなユースケースを爆速で実装することができる。このユースケースを実現する際の課題の一つは加速度データの処理方法にある。この記事ではWioLTE上にディープラーニングによるAIを実装し、加速度からメタ情報を抽出する。抽出した加速度のメタ情報をSORACOM Harvestで可視化させてみる。

2. 時系列の加速度データ活用の課題

 加速度のような時系列のデータをモバイル回線を使ってクラウドへ転送すると通信量が高くなる。そこで、エッジ側で加速度の振動の変化や特定の動きといったユースケースに応じた「イベント」を検知して、必要なデータ、またはイベントをクラウドで通知する方法が取られる。  ユースケースに応じたイベントを検知するロジックはイベントが複雑になるにつれ、ルール作成の難易度が高くなる。さらにWioLTEのようなプロトタイピング用のマイコンへの実行も難しくなる。

3. WioLTEへのディープラーニング実装による課題の解決

 今回はWioLTEへディープラーニングによる加速度のイベント検知機能の実装を行った。

3.1 なぜディープラーニングなのか?

ディープラーニングを利用した理由は以下の3点になる。

1.ルール作成を自動化できる

 収集したセンサーデータを直接ディープラーニングへ学習させることで、期待するルールを高い精度で取得することが可能になる。もちろん、ディープラーニング特有の試行錯誤は必要になるが、複雑なイベントを検知する場合は人が人がルールを考える工程を省くことができる。

2.ディープラーニングコモディティ化

 TensorFlowといったディープラーニングの開発環境が成熟することによりライブラリの部品を組み合わせるビルディングブロックにより実装が容易になった。基礎知識の習得は必要だが、必要な情報もWEB上で簡単に入手できる。

3.Edge AIのコモディティ化

 マイコンディープラーニングを利用するためには別途マイコンへその計算処理を実装する必要があった。TensorFlow lite for Microcontrollers(以下TF Lite Microと略す)の登場により、クラウドで学習した結果を機械的マイコンへインポートするためのツールセットが整った。これによりWioLTEでのディープラーニング利用が可能になった。

3.2 EdgeAIを実現するTensorFlow Lite for microcontrollers

 TF Lite Microはマイコンディープラーニングモデルを読み込み実行するライブラリだ。現在はARM系のチップを対象としている。ESP32やSTM系のチップが載ったWioLTEなどのボードでArduinoのライブラリとして利用できる。

 TF Lite Microの仕組みは下図のようになっている。TensorFlowを使いクラウドで学習させたモデルをTensorFlow Lite形式に変換した後、xxdコマンドによりC言語のヘッダファイル形式としてモデルのバイナリデータを取得する。マイコン側のプログラムではTL Lite Microで出力したヘッダファイルを読み込み推論を実行するコードを記述する。

f:id:masato-ka:20200830113913p:plain
TF Lite Microを使ったEdge AI

 一般的にモデルのパラメータ数(=モデルのサイズ)が大きければ複雑なルールを学習できるが、TF Lite Microではモデルのサイズをマイコンのメモリ容量に収める必要がある。TensorFlow Lite形式への変換でモデルは圧縮されるが、元のパラメータ数が大きすぎるとTF Lite Microで動かすことができない。学習ではモデルパラメータ数を抑える形で目標とする推論結果の精度が出るように調整を加えていく必要がある。

実際の動作

 実際にWioLTEとTF Lite Microを使って加速度によるイベント検知機能を実装した。ブザーと加速度センサを貼り合わせてブザーON時とブザーOFF時の振動の違いをイベントとして検知する。振動を検知した場合はWioLTEのLEDが点灯する。

      

 動画の後半では手による不規則な振動を加えた場合でもLEDはブザーON/OFFに合わせて点灯している様子がわかる。事前にディープラーニングに学習させるデータにはブザーの振動以外の振動を混ぜている。そのためブザー以外の振動が入力されてもブザーのON/OFFを検知することができる。    検出したブザーのON/OFFをSORACOM Harvestに送ることでクラウド側で可視化させることができるようになる。

まとめ

 TF Lite Microを使い、WioLTE上にディープラーニングインポートして、加速度センサの情報から観測する対象の状態を認識させることができた。LTE回線でHarvest Dataを送ることで、クラウドでの可視化を行っている。機械の動作状態、歩行や姿勢などの人の状態など単純なセンサによるセンシングでは可視化が難しい。TF Lite Microのような低リソースなEdge AIを容易に実現できる環境が整い始めたことで可視化の難しい事象をSORACOMサービスで簡単に可視化できるようになる。