Advertisement
Advertisement

More Related Content

Viewers also liked(20)

Similar to HASCとWekaを使って行動認識(20)

Advertisement
Advertisement

HASCとWekaを使って行動認識

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