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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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

Avatar for neonankiti

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の場合スマホがセントラル) ウェアラブルデバイスの例