Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

HASCとWekaを使って行動認識

631 views

Published on

2016/10/12(水)にIoTビジネスブーストアッププログラム「AIDOR」のIoTサービス編で使用したハンズオンスライドです
https://www.sansokan.jp/events/eve_detail.san?H_A_NO=21644

Published in: Engineering
  • Be the first to comment

HASCとWekaを使って行動認識

  1. 1. プロトタイピング基礎(I) AIDOR - IoTビジネスブートアッププログラム ハンズオン・HASCとWekaを使って行動認識 2016/10/12(水)
  2. 2. プロトタイピング基礎(I) 概要 • 機械学習を使用した行動認識の流れを体験 • スマートフォンを用いて行動のロギング • PC上で行動認識を行う 2 行動データ 識別
  3. 3. プロトタイピング基礎(I) 手順 3 行動データ の計測 行動データ をPCに移動 特徴量を抽出 データをマージ データを学習 モデルの評価
  4. 4. プロトタイピング基礎(I) 使用するツール • HASC – Human Activity Sensing Consortium – HASC Logger 動作をロギングするスマホアプリ. 加速度, ジャイロ, 地磁気等様々なセンサ データを同時計測可能 – HASC Tool HASC Loggerで計測したデータを処理するためのツール. 特徴量の抽出や機 械学習, GUIベースで処理を組める • Weka 機械学習やデータマイニングができるソフトウェア. Javaベースで開発. 色んな 分類器を試すことができる. 4
  5. 5. プロトタイピング基礎(I) HASC Loggerでのデータ取得 • 好きな動作を計測してみましょう • 計測した動作を識別します • 最低3種類決めてください 動作の例 – 動かない, 歩く, ジョギング, スキップ, ジャンプ, 階段の上り・下り など 5
  6. 6. プロトタイピング基礎(I) 計測の方法 • HASC Loggerを使用 • ポケットに入れて計測を行います • 1動作×10秒×3回 (10秒間同じ動作を続ける) • 計測時間の指定方法 Android : Settings > Logging Duration(sec) iOS : 設定 > HascLogger > LOGGING OPTION > Logging Duration(sec) • Start Sensing After Delayで始めると5秒後に計測開始 – 5秒の間にポケットに入れて動作を始めておく – 動作をしている途中で計測が始まるのが良い • MetadataのTagsに何の動作か残しておきましょう(日本語 ×) 6
  7. 7. プロトタイピング基礎(I) HASC Toolの準備 • 新規のプロジェクトを作成 「AIDORProject」 • 用意したファイルをプロジェクトにコピー – ドラッグ&ペースト もしくは インポート 7 • Data – 計測したデータの置き場 • HASCXBD – 特徴量の抽出処理 • mergy.py – ファイルをマージするPythonスクリプト
  8. 8. プロトタイピング基礎(I) 計測したデータの取り込み⑴ • アプリのデータはネットワーク経由で受け渡し – データを送るフォルダをクリック – 図のボタンをクリック – ポートを選択 (8080) • PCのIPアドレスを調べる – Mac : terminalでifconfig – Win : コマンドプロンプトでipconfig • IPアドレスをアプリに設定 例 「http://192.168.0.2:8080」 – Android : Settings > Server URL – iOS : 設定 > HascLogger > UPLOAD LOGS > Server URL 8 ここを押す
  9. 9. プロトタイピング基礎(I) 計測したデータの取り込み⑵ • データをUpload – アプリ側からUploadする – うまくいけば右のようにデータが 取り込まれる • データを行動別に整理 – フォルダ名が行動名となります – .metaファイルを参考に – ***-acc.csvファイルのみ必要 9
  10. 10. プロトタイピング基礎(I) 特徴量の抽出 • HASCXBD > xbdExe_CSVFileSelect.hascxbdを実行 – 特徴量は平均, 分散, 周波数スペクトル(4帯域)のノルム • Featureフォルダが作成され, 特徴量が保存される • merge.pyを実行 ( python merge.py ) • weka-data.csvが出力される 10
  11. 11. プロトタイピング基礎(I) Wekaでのデータの読み込み • Wekaを起動 – 「Explorer」を選択 11 • ファイルの読み込み – 「Open file..」を選択 – weka-data.csvを読み込む
  12. 12. プロトタイピング基礎(I) 決定木による行動識別 • Classify > Classifier > Choose • 学習器の選択 – weka > classifiers > trees > J48 – Test options > Use training set > start – Result list > tree.J48 > 右クリック > Visualize tree 12
  13. 13. プロトタイピング基礎(I) 学習と評価のオプション • Use training set – 学習データとテストデータが一緒 • Supplied test set – 別ファイルに用意したテストデータを識別 • Cross-validation – データをm個に分割 – m - 1個を学習, 1個をテストに使用 – テスト用のデータを交換してm回行う • Percentage split – 指定した割合のデータを学習 13
  14. 14. プロトタイピング基礎(I) モデルの評価 14 stUpをwalkと誤識別 正答率
  15. 15. プロトタイピング基礎(I) 他の学習器 • ベイジアンネットワーク – weka > classifiers > bayes > BayesNet • ナイーブベイズ – weka > classifiers > bayes > NaiveBayes • ロジスティック – weka > classifiers > functions > SimpleLogistic • サポートベクターマシン – weka > classifiers > functions > SMO • ランダムフォレスト – weka > classifiers > trees > RandomForest 15

×