Upgrade to Pro — share decks privately, control downloads, hide ads and more …

分散処理システム(IoT)によるトレーサビリティの向上

 分散処理システム(IoT)によるトレーサビリティの向上

neonankiti

March 08, 2022
Tweet

More Decks by neonankiti

Other Decks in Technology

Transcript

  1. 7 ✔ネットワークを 通じたクラウド環 境への同期 従来のスマホ/PCによるデータパイプラインで満たせない収集のニーズ をIoTによって解決する。 一方で、収集以外のプロセスは発展途上である。 新たなデータパイプラインのニーズ 収集 蓄積

    整形 集約 スマホ/PC IoT 画一的なセンサ ✔多様なセンシ ングシステム ✔大きいメモリ/ ストレージ量 少ないメモリ/ス トレージ量 ✔大きい計算処理 能力とメモリ空間 小さい計算処理能 力とメモリ空間
  2. 12 ・正規化 ・API連携 各プロセスにおけるIoTデータパイプラインの特徴とアプローチ ※) 分析→改善プロセスは除く ネットワークを通じた クラウド環境への同 期 IoTデータパイプラインの概観

    収集 蓄積 整形 集約 多様なセンシング システム 少ないメモリ/ス トレージ量 小さい計算処理能 力とメモリ空間 ポイント 特徴 ・小型化 ・分散化 ・完全性 ・機密性 ・可用性 ・バッチ処理 ・エラーハンドリン グ
  3. 13 • HW(HardWare)の小型化 ◦ スマホ/PCのようなオールインパッケージではなく、収集し たいデータに合わせセンシングシステム(センサ + 処理系 統 +

    パッケージ)をHW単位で分割する。 ◦ Input IFは多様なため実現可能 ▪ 物理的/化学的情報を処理する。例) 圧、加速度、 ジャイロ、照度、湿度、ガス、pH etc. • システム系でのセンサの分散化 ◦ センサのOutput IFが標準化されているため、分散したデ ータの収集が可。(データ同期は後述) ◦ ユビキタスコンピューティング的な環境の認知 データ収集とdevOps https://crirc.jp/jigyonaiyou/research/jishu/pdf/project/h29-1.pdf
  4. 14 データ蓄積とdevOps • 完全性 ◦ スマホ/PCと比較して、不揮発性メモリへのI/Oはよりセンシティブ。 ◦ マルチスレッド/キューイング処理による整合性の担保。また、メモリ領域が少ないため、データが欠損 しやすいので注意する。 •

    機密性 ◦ 脆弱性、認証、フィルタリング、アンチウイルスなど。 ◦ 「IoT 開発におけるセキュリティ設計の手引き」for開発者 • 可用性 ◦ i18n: 特に頻出である「時間」はunixtimeで持つ。 ◦ ファームウェアアップデート機能 ◦ アトミック性の担保 参照: https://www.ipa.go.jp/files/000052459.pdf
  5. 15 データ整形とdevOps • クリーニングと正規化 ◦ センサーデータは大量になるため、クリーニングは必ず必要。 ◦ 独自ロジック or ML/DLによるエッジコンピューティングでの正規化

    ▪ 計算処理的にロースペックであるため、精度とバランスを取る。 • 外部システムへのAPI連携 ◦ スマホ/PCでの利用頻度が高いJSON形式は冗長でデータ量が多くなるため、IoTに適さないこと がある。 ▪ データサイズの上限を設定し、フォーマットを決定する必要がある。 ▪ スペックが低いため、処理速度にも要件を設定する。
  6. 16 • バッチ処理(センサー) ◦ センサ毎のデータ同期タイミングは非同期的なので、集約タイミングではバッチ処理を検討し、消費電力 効率を高める。 • エラーハンドリングによる完全性の担保 ◦ SSOT(Single

    Source Of Ttruth)に従ったデータ同期の実施。 ▪ IoTデータは消える前提で、同期したデータのタイムスタンプを持ち管理する。 ◦ ネットワークの帯域が低い&メモリのオーバーフローが起きやすいため、エラー時にはレスポンス、リトライ 処理などを入れる。 ◦ エラーコードはデータ容量上、説明的に出来ないためドキュメント整備を整える。 データ集約とdevOps
  7. 17 PoseNetを利用したPoseEstimationの例 • PoseNetよる姿勢推定 ◦ 17箇所を特定し、特定の位置を線で結ぶ。 ◦ 出力ストライドにより、速度と精度のトレードオフが起こ る。 •

    データ処理(カメラデバイス) ◦ 収集) CameraによるBitmap(RGB)取得 ◦ 蓄積) モデル精度を高める場合。 ▪ スレッド処理、サンプリングが必要 ◦ 整形) クロップ/スケール作業/ヒートマップ処理 ◦ 集約) クラウド上にデータ同期 ▪ バッチ処理 参照) https://medium.com/tensorflow/track-human-poses-in-real-time-on-android-with-tensorflow-lite-e66d0f3e6f9e
  8. 18 • ウェアラブルデバイスによるデータ同期 ◦ ウェアラブルデバイスによるアクティビティトラッキング ◦ WiFi、BLEモジュールによる連携 • データ処理(ウェアラブルデバイス) ◦

    収集) 加速度、ジャイロ、心拍センサなど ◦ 蓄積) データによりサンプリングレートを調整 ▪ 歩数(数秒)、心拍数(数秒)、睡眠(数分) ◦ 整形) 時系列データとして処理 ▪ パッケージによるがJSON形式は要検討 ▪ 歩数 from, toでデータ範囲を指定(1時間、30分などアプリ仕様で異な る) ◦ 集約) 外部システムにデータ同期 ▪ スマホ or クラウドの二箇所ある ▪ 定期的なバッチ処理(BLEの場合スマホがセントラル) ウェアラブルデバイスの例