Successfully reported this slideshow.
Your SlideShare is downloading. ×

Senstickを利用したペン動作の解析

Ad

プロジェクト実習報告
博士前期課程1年
1651125 与那嶺俊
1651052	佐藤哲朗

Ad

内容
lSenstickを用いて取り組んだことについて
Ø目的
Ø実験
Ø考察
2

Ad

目的
lセンサーデータの扱い(データマイニング)
Ø(テーマ)ペン動作のセンサーデータの特徴
• 無造作に振る
• ペン先をつつく
Ø特徴や傾向を数値化
Ø可能なら文字を認識したい
3

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
PenStickの開発
PenStickの開発
Loading in …3
×

Check these out next

1 of 24 Ad
1 of 24 Ad

More Related Content

More from Ubi NAIST (20)

Senstickを利用したペン動作の解析

  1. 1. プロジェクト実習報告 博士前期課程1年 1651125 与那嶺俊 1651052 佐藤哲朗
  2. 2. 内容 lSenstickを用いて取り組んだことについて Ø目的 Ø実験 Ø考察 2
  3. 3. 目的 lセンサーデータの扱い(データマイニング) Ø(テーマ)ペン動作のセンサーデータの特徴 • 無造作に振る • ペン先をつつく Ø特徴や傾向を数値化 Ø可能なら文字を認識したい 3
  4. 4. 実験 Øデータの収集 Øグラフへプロット Øデータマイニング • 相関係数の計算 4
  5. 5. データの収集 Ø以下のペン型ケースを振る 5
  6. 6. データの収集 6 Øロギング用ツールlogger_rtsensor.jsを作成 • コマンドラインからログを取得したい • 手早くPythonスクリプトへ回すため • サンプルコードtest_rtsensor.jsを編集 • 置き場所https://
  7. 7. 7 コマンドラインからテキストファイルwritetest.txtへ出力
  8. 8. 8 ファイルへの出力結果
  9. 9. データ収集の結果 Øグラフへのプロットを通して Øペン動作で違いが出るのは • acceleromete(振ると加速) • gyroscope(振ると空気を受ける) • magneticfield(ペン先をトントン叩いた時上下に変動) Øペンの場合チェックするのはこれら3つで十分 9
  10. 10. 実験(グラフへプロット) Ø2つのsenstickの加速度センサー(3次元空間へのプロット) 10
  11. 11. 実験(グラフへプロット) Ø加速度センサー(senstick片方の z軸要素, z方向に振ってたらしい) 11
  12. 12. 実験(グラフへプロット) Ø加速度センサー(senstick片方の z軸要素) Ø(後に詳細)振ってる3秒間ほど、繰り返しパターンが存在していると 計算できる 12
  13. 13. 実験(グラフへプロット) Ø加速度センサー(senstick片方の x軸要素) • 一定のリズムで波が動く • 「周期性」がありそう • 挙動の特徴「周期性」を数値化したい -> 自己相関関数 13 左右に振るから波がx軸方向にリズミカルに流れる
  14. 14. 実験(相関係数の計算) Ø自身の周期性を測る「自己相関係数」の計算 Ø「振る」、「つつく」などのリズミカルな挙動 Ø時間軸方向にシフトした自身のベクトルと相関係数が一致するかも • 参考サイト「相関係数を求める http://d.hatena.ne.jp/natsutan/20111017/1318867267 14 加速度センサーのx軸(一部切り抜き)
  15. 15. 実験(自己相関係数) Ø自己相関係数 • 信号処理で使われる • ある配列を自身をシフトさせたバージョンとの相関 • 自己相関係数が高い -> その信号(配列)には周期性がある • (今回は相関の正負は考慮しない、絶対値から相関の大きさのみを考慮) 15 通常の相関関数(2つの配列x,yを比較) x, yの共分散をそれぞれの標準偏差の積で割る 自己相関関数(配列xとxをdシフトした 配列との相関, μはxの要素の平均)
  16. 16. 実験(相関係数:作成したコード) Øpencorrelate.py • 必要なもの üPython üNumpy • 置き場所url • https:// 16
  17. 17. 実験(相関係数の計算) 17
  18. 18. 実験(相関係数の計算) 18 パターンがありそうな部分800秒-1200秒のところ
  19. 19. 実験(相関関数の計算) Ø指定した範囲から相関が高い(70%より高い)ものを検知 Ø周期パターンがある配列を並べる 19
  20. 20. 実験(実装のアルゴリズム) Ø下図のデータがあるとする ØPython上の処理は以下のようにシンプルに計算 x = data[3*i:] // i はスライドの幅 y = data[:(-3)*i] corr = numpy.corrcoef(x, y) // 相関係数の計算 20 加速度センサーのx軸(一部切り抜き)
  21. 21. 実験(相関係数の計算) Øpencorrelate.py • 必要なもの üPython ünumpy • https://www.dropbox.com/s/lpdp6x2uep8hn5o/pencorrelate.py?dl= 0 21
  22. 22. 実験(まとめ) Øペン特有のリズムのある振る動作のとき • 自己相関関数を通して、繰り返しの箇所を特定できる Ø相関係数は正負(-1.0 ~ 1.0)の間なので、どの範囲での相関が欲しい のか、どの大きさから相関が高いとするか、で閾値を決める • 使うときに柔軟に切り替える Ø今回は70%を閾値として相関係数からペンを振るパターンと定義 • ペンを持ち直すときにリズムがみだれるが、時間の範囲を指定 22
  23. 23. 考察 Øペンの動きに影響をうけるセンサーは以下 Ø振ったときの影響 • Accelerometer, Gyroscope Øどちらがペンの上か下かが分かる • senstickを2つ使用時 • Magneticfield Øペンの机との接触が分かる ØPressure Ø強く机を「トン」と叩くと数値が変動 Ø文字を書く際の辺と辺の間の区別に使える(例: 平仮名「い」 2本の辺の識別) 23
  24. 24. まとめ Øマイニングを統計的な手法で行う • コマンドラインでデータを収集 • センシングデータの周期性(自己相関係数)の計測 • 相関係数の値も教師データへ応用できそう Øツールの作成 • logger_rtsensor.js • pencorrelate.py Ø繰り返しパターンを数値に変えて特徴データへの変換 Øペンの空に書いた文字の識別 • エントロピーなど、センサーデータを組み合わせて特徴量を作ろうとした • ラベリングが難しい • 「あ」と書いてどのモーションからどのモーションまでを「あ」とするか 24

×