IoT時代のアナリティクス ~センサーデータからの価値発見~

IoT時代のアナリティクス
~センサーデータからの価値発見~
MathWorks Japan
アプリケーション・エンジニアリング部 (テクニカルコンピューティング)
部長
大谷卓也
© 2015 The MathWorks, Inc.1
Agenda

IoT時代のセンサーデータ解析
– ウェラブル、インフラ、環境、自動車

センサー信号IoT / アナリティクス構築のChallenge

IoT システム開発フロー

MATLABでのデータアナリティクス
2
IoT 時代のセンサーデータ技術
ウェアラブル・
メディカル
 バイタルサインモニター
 在宅ケア・遠隔医療
気象・環境
モニタリング
 気象、電力、災害予測
 電力需要予測(EMS、電力取引)
インフラ・プラント設備
 ヘルスモニタリング
 プロセス監視
自動車・航空宇宙
 テレマティクス、ヘルスモニタリング
 走行安全・ADAS
3
ウェアラブル・メディカル
遠隔モニタリング、診断
•
•
喘息の発生及び、
COPD(慢性閉塞性肺疾患) 検知
スマートフォン側の処理と、クラウドベース
処理の組み合わせによる、診断
http://www.mathworks.com/tagteam/84870_92152v01_iSonea_UserStory_2015.pdf
遠隔地の患者の
ECGデータの取得
デバイス側でのデータ前処理
•
トレンド、ノイズ除去
サーバー・クラウドによる、各種統計
値測定、機械学習による、診断
4
インフラ・プラント設備
リモートセンシング、異常検知例
異常・変化点検知
!!!
遠隔地の構造物や機器
の異常
観測データの異常
製造物/生成物の異常
工場での生産工程の最適化
機器の健康状態、異常の
リモート診断、モニタリング
5
気象・環境
モニタリング
•
•
•
HVAC(冷暖房、換気システム) に向けたクラウドベースの
リアルタイム・アナリティクス
気象データ、電力消費量を元に、機械学習、最適化
ビルの電力消費量を15-20%削減
http://www.mathworks.com/tagteam/82631_92267v00_BuildingIQ_UserStory_final.pdf
過去のデータと様々なパラメータを使い未来の予測
10/22
10/23
10/24
10/25
10/26
10/27
10/28
10/29
6
自動車・航空宇宙
各車両のチャージ量(電源)のマッピング
走行データ解析
ヘルスモニタリング
http://www.mathworks.com/tagteam/52469_91597v00_daimler_upd.pdf
自動車のアクセル・ブレーキパターンの解析
•
•
•
社内ITシステムと統合した解析システム
コンポーネントのパフォーマンス予測
メンテナンスコストの最小化
7
Agenda

IoT時代のセンサーデータ解析
– ウェラブル、インフラ、環境、自動車

センサー信号IoT 構築のChallenge

IoT システム開発フロー

MATLABでのデータアナリティクス
8
センサー信号IoT 構築のChallenge

膨大なデータのハンドリング
– 大量のセンサーデバイス、限られた転送帯域
– コンピューティングリソース、消費電力の全体最適化
(デバイス側での処理と、サーバー・クラウド側処理のパーティショニング)

高度なアナリティクスの開発
– 非同期、サンプル速度の違い、欠損データの対応
– 高度な機械学習、時系列予測、最適化アルゴリズムの実装
– ITインフラとの統合
9
IoT 構築のチャレンジ
データ転送
データアグリゲータ
• データの前処理、同期処理
• データベースアクセス
• 並列計算による高速化
ネットワークのバンド幅
V.S
センサー
消費電力
V.S
エッジデバイス コンピューティングパワー
• 信号処理、画像処理、データ圧縮 V.S
• 組み込みシステム(マイコン、FPGA)
開発時間・工数
データ解析/可視化
• トレンド解析・異常検出
• データ可視化・レポーティング
10
IoTを使った遠隔診断DEMO
~心電図のリモート(Cloud)診断~
生体信号モニタリング・デバイス
Amazon
EC2
MATLAB
Kinesis JAVA
Client
心拍データのキャプチャ
Amazon
Kinesis
MATLAB
ニューラルネットワークによる
機械学習(MATLABからの実装)
特徴の抽出
11
情報の圧縮 (時系列センサー例)
(特徴量の抽出クラウドへ送信)
全データ送信 @1k/s
4bytes x 1,000points = 4KB/s
特徴データ(QRS例)のみ送信
4bytes x 10points x 2(タイムスタンプ)
= 80B/s
必要な特徴量のみ送信することで、必要データ帯域を最小限に
デバイス10万台の例: 400MB/s  8MB/s
12
アナリティクスの処理負荷とデータ量
入力
データ量:大
処理負荷:小
特徴抽出
データ量:中
処理負荷:中
特徴量
データ量:小
処理負荷:中
分類・解析
(機械学習など)
データ量:小
処理負荷:大
出力
13
情報の圧縮 (監視カメラ・イメージセンサー例)
ストリーミングでのコンピュータビジョン処理
時刻+検出結果
メタデータのみ
メガバイト単位
Database
ビデオデータ(保存用)
ギガバイト、テラバイト単位
入力データをリアルタイム処理し、メタデータを同時生成することに
より、後処理時間、データ転送時間を削減
14
アナリティクスフロー
アクション
意思決定 & 設計
• レポート & Apps
• 拡張性のある展開
• 設計最適化
知識
理解
•
•
•
•
分析
周波数 & 時間領域
予測分析
推定
情報
MPG
Displacement Acceleration
フィルタリング
信号解析
データ処理
プロット
Weight
•
•
•
•
40
20
20
10
400
200
4000
2000
Horsepower
整理
200
150
100
50
20
MPG
データ
40
10
20
Acceleration
200
400 2000
Displacement
4000
Weight
50 100150200
Horsepow er
観測
計測器
•
•
•
•
検出
収集
状態
データ取得
15
Agenda

IoT時代のセンサーデータ解析
– ウェラブル、インフラ、環境、自動車

センサー信号IoT / アナリティクス構築のChallenge

IoT システム開発フロー

MATLABでのデータアナリティクス
16
IoT / M2M 全体像
データアグリゲータ
• データの前処理、同期処理
• データベースアクセス
センサー
エッジデバイス
• 信号処理、画像処理、データ圧縮
• 組み込みシステム(マイコン、FPGA)
データ解析/可視化
• トレンド解析・異常検出
• データ可視化・レポーティング
17
IoT / M2M 開発フロー
①MATLABによる、アルゴリズム開発、全体システム設計
Weight
Displacement Acceleration
MPG
40
20
20
10
400
200
4000
Horsepower
2000
200
150
100
50
20
MPG
40
10
20
Acceleration
200
400 2000
Displacement
4000
Weight
50 100150200
Horsepow er
HWをダイレクト接続
(I2C, SPI, CAN, 測定機器類)
センサー
全体システムの動き確認・検討
• データの同期方法検討
• 特徴抽出・機械学習の検討
• トレンド解析、イベント・異常検出
大規模高速演算
• HPC利用による、並列処理の検討
• GPGPUによる高速処理
18
IoT / M2M 開発フロー
②MATLAB/Simulinkによる、組み込み開発
Weight
Displacement Acceleration
MPG
40
20
20
10
400
200
4000
Horsepower
2000
200
150
100
50
20
MPG
40
10
20
Acceleration
200
400 2000
Displacement
4000
Weight
50 100150200
Horsepow er
MATLABへHWをダイレクト接続
(I2C, SPI, CAN, 測定機器類)
センサー
アルゴリズムの開発
• データの同期方法検討
• 特徴抽出・機械学習の検討
• トレンド解析、イベント・異常検出
19
IoT / M2M 開発フロー
②MATLAB/Simulinkによる、組み込み開発
アルゴリズム
要求仕様
設計
システムモデル
ハードウェア
モデル
ソフトウェア
モデル
生
成
Cコード
アルゴリズムのパーティショニング
• アナログ vs. デジタル
• スピード vs. 容量/面積
• FPGA vs. CPU
実装
生
成
生成
HDLコード
実
装
統合
プログラマブル SoCなど
モデルベースデザインフロー
20
IoT / M2M 開発フロー
③エッジデバイス、アグリゲータへのコードの配置・Deploy
MATLABコードの
Deploy (C, Java, .NET)
データアグリゲータ
• データの前処理、同期処理
• データベースアクセス
C/HDLコード生成 / 実装
エッジデバイス
• 信号処理、画像処理、データ圧縮
• 組み込みシステム(マイコン、FPGA)
システムの最適化/バランス配置
• エッジデバイス vs. サーバー
• ストリーミング vs. オフライン
21
IoT / M2M 全体像
RESTful API
(JSON、XML、画像、テキスト)
TCP/IP
データアグリゲータ
• データの前処理、同期処理
• データベースアクセス
全体のシステムレベルで検討し、
パフォーマンスとコストの最適化
エッジデバイス
• 信号処理、画像処理、データ圧縮
• 組み込みシステム(マイコン、FPGA)
データ解析/可視化
• トレンド解析・異常検出
• データ可視化・レポーティング
22
Agenda

IoT時代のセンサーデータ解析
– ウェラブル、インフラ、環境、自動車

センサー信号IoT / アナリティクス構築のChallenge

IoT システム開発フロー

MATLABでのデータアナリティクス
23
MATLAB
複雑な事をシンプルに
1970 Stanford Ph.D. thesis,
with thousands of lines of
Fortran code
24
MATLAB
複雑な事をシンプルに
1970 Stanford Ph.D. thesis,
with thousands of lines of
Fortran code
25
MATLAB
テクニカルコンピューティングを
効率的に行うためのプログラミング環境
– アルゴリズム開発向けに対話的な
プログラミング環境を提供
– 強力なデータ解析、可視化機能
– 信号処理、画像処理、統計、最適化、
数式処理など適用分野に特化した
アドオン製品群-“Toolbox”
– 外部のデータ、アプリケーション、機器との入出力
– MathWorks製品の基盤
26
MATLABの適用分野
業界












航空宇宙 / 防衛
自動車
医療 / 創薬
化学 / 石油
通信
コンピュータ / オフィス機器
教育
電機 / 半導体
金融
工業オートメーション
計測
エネルギー
27
プログラミング言語としてのMATLAB
2014年7月
IEEE Spectrumによる、
プログラミング言語の人気調査
(12種類の項目での結果)
結果: MATLABがC, C++,
Javaなどの従来からの汎用言語
と並び、10位にランクイン
Data sources: Google, CareerBuilder,
IEEE Xplore, Github, and more.
28
アナリティクス向け各種ツール
Statistics and Machine Learning
Toolbox




多変量統計
確率分布
回帰と分散分析
機械学習
Signal Processing Toolbox™
 信号生成、時間領域解析
 フィルタ設計解析

アナログフィルタ

ディジタルフィルタ
 実験計画
 スペクトル解析
 線形予測
Optimization Toolbox
Computer Vision System Toolbox™
 滑らかな目的関数の最適化
 さまざまな最適化問題に対応する関数の
提供
 最適化計算の並列処理
 最適化のためのGUI環境
 カメラキャリブレーション
 機械学習による物体認識
 動画ストリーミング処理
 トラッキング
 ステレオビジョン・3D表示
29
各種HW/SW連携ツール
Parallel Computing Toolbox
Instrument Control Toolbox
 MATLAB & Simulink と
連携した並列処理
 最大512並列をサポート
 GPU 計算
 測定器へのアクセス
 対話的な並列計算実行
 ジョブおよびタスクの制御
デスクトップコンピュータ
ローカル

オシロスコープ

信号発生器

スペアナ
:
MATLAB
デスクトップ
 シリアル通信(RS-232など)
Database Toolbox
Mapping Toolbox
 各種データベースへの
アクセス
 2D/3D地図表示
 WebMapService
サーバへのアクセス

ODBC

JDBC
 GUIを用いた対話的な
アクセスとSQLの作成
 デジタル地形の分析
 地図フォーマット変換
 Web Map の表示
30
Big Data に対する対応
メモリとデータへのアクセス
 64-bit プロセッササポート
 メモリ/Diskマップド変数
 データベースアクセス
 大規模テキストサポート
プログラミング手法
 ストリーミング
 ブロック処理
 CPU/GPUを使った並列処理
 MapReduce
プラットフォームサポート
 マルチコア、GPU
 クラスタへの対応
 クラウドコンピューティング
 Hadoop
31
Hadoopとの連携、MapReduceの実装
MATLAB
Distributed
Computing
Server
Datastore
HDFS
MATLAB
MapReduce
Code
Node
Data
Node
Data
Node
Data
Map
Reduce
Map
Reduce
Map
Reduce
Hadoop
複雑なJAVAコードを書く必要なく、MATLABコードをそのまま、
mapreduce, Hadoop環境に持って行き、並列化オプション(MATLAB
Distributed Computing Server)併用で、大規模並列処理が可能
32
AWS EC2へのスケールアウト
MATLAB + Parallel Computing ToolboxR
デスクトップクライアントにて
マルチコアを使った
MATLAB/Simulinkの
並列コンピューティング
JOBスケジューラ
処理が重い演算・シミュレーション時、
EC2上にクラスタ環境を構築し、
大規模並列コンピューティングへ拡張
MATLAB Distributed Computing ServerR
33
ITシステムとの統合
MATLAB
Compiler
Webアプリケーション
MATLAB Production Server
Web
サーバ
Portfolio
Optimization
Pricing
デスクトップアプリケーション
アプリケー
ション
サーバ
Risk
Analytics
バッチアプリケーション
データベースサーバ
MATLAB Production Serverを使い、様々なITサーバ環境の中に、
MATLABを組み込むことが可能です
34
MATLAB for Data Analytics / IoT
チャレンジ
MATLABソリューション
IoT システム設計・最適化 思考を止めない統合環境
アイデアから組み込みデバイス、
アプリケーション開発までの統合環境
データの理解
機械学習、音声・画像処理、時系列解析
深く・広い分野に対して、多数の解析手法の提供
大規模演算
スケーラブルなコンピューティング環境
並列CPU,GPUを使った高速処理
IT環境への展開、
インテグレーション
デスクトップからIT環境への展開まで同じ環境で対応
テクノロジーリスク
テクニカルサポート付きのハイクオリティなライブラリ
作り直しが発生しないスムーズなプロダクションへの移行
プロダクションに使える、業界標準ライブラリ
サポート、トレーニング、アドバイザリも提供
35
© 2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of
additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.
36