指によるコマンド&コントロール 加速度センサーの評価レポート 20150121

26
指指指指 Command & Control - 指指指指指指指指指指指指指指 2015/01/21 指指指指

Upload: yoshiharu-sato

Post on 17-Jul-2015

282 views

Category:

Technology


2 download

TRANSCRIPT

指による Command & Control -

加速度センサーの評価レポート

2015/01/21

佐藤良治

ゴール

生活の邪魔にならずにいつでもどこでも利用でき、目や手を占有することがない、指先動作によるマシンのコマンド&コントロールを実現する。

背景1

• 指+キーボード・マウス・タッチの限界=• デスクトップという限定された環境 and/or• 手や目を占有する

• 指の器用さを、環境に限定されず、目と手を占有せずに、生かしたい。

背景2

• 指+キーボード・マウス・タッチパネル=• 指の機械動作だけに頼っている

• テキスト指示は音声が速い。位置指示は、視線が速い。指の器用さを、それらとともに生かしたい。• 健常者の場合、指は、音声や視線が機能しない状況で

のバックアップや、音声・視線による指示を補うフォールバックとなる。• また、障碍者の場合、目+指(手書き文字)で発声・

聴覚の代替、音+指(指でコントロールされた音声インタラクション)で視覚の代替となりうる。

明らかにしたいこと

• 指をコマンド&コントロールの手段として使うために、指のジェスチャーを安定して検出できるか?• センサーの分解能の違いの影響?• 対象:机、親指、手のひら、空中?• センサー装着場所の影響:人差し指付け根、手首?• ジェスチャーの種類:普及したデバイスの基本動作である

タップ ( クリック)とスワイプ(スクロール)。• 動きと振動の効果?

• スコープ外のこと• ほかの一部製品と異なり、指先の 3D の動きの捕捉をター

ゲットにしていない。• ほかの多くの研究と異なり、人体の行動などの日常の動作

のクラス分けをターゲットにはしていない。

前提

• センサーの装着場所として指先というオプションがあるが、指先の触覚・作用の邪魔になるので、検討オプションとしない。

設定

• Aruduino Duemilanova• ボード設定: Due native USB port

• ボードを Aruduino Duemilanova にするとAnalogReadResolution がコンパイルできないため

• Serial transmission: 9600 baud per sec• Aruduino の AnalogRead の能力からして

115200Baud で行けるはずだが、センサーからの出力取得が安定しないため

• NOTE: TODO -> Data loss していないか、カウントして確認する 10000/sec plot できている?

• 加速度センサー 2 個• KXR94-2050

結果

加速度センサーの分解能の影響

• 設定• 固定

• センサー装着場所:人差し指付け根• ジェスチャー種類:親指に対しタップ

• 比較• Aruduino の AnalogReadResolution で出力を 12bits

指定、ないし、それなしの 10bits

分解能が高いほうが滑らかな反応が得られる

10 bit resolution 12bit resolution

加速度センサーの xyz それぞれの値

加速度センサーの xyz を基準値(初期安定状態での値)からの差分でベクターと見たときのベクター長

ジェスチャー対象

• 設定• 固定

• センサー装着場所:人差し指付け根• ジェスチャー種類:タップ、スワイプ

• 比較• ジェスチャー対象:親指、手のひら、机で比較

Tap は対象にかかわらず類似の振動を指元に伝える

Tap、親指

Tap,手のひら

Tap 、机

加速度センサーの xyz それぞれの値

加速度センサーの xyz を基準値(初期安定状態での値)からの差分でベクターと見たときのベクター長

Swipe による振動は対象によって異なる。それら細かい振動はノイズと紛らわしい。さらに Swipe 動作には移動成分が入り込む。

Swipe、親指

Swipe、手のひら

Swipe、机

加速度センサーの xyz それぞれの値

加速度センサーの xyz を基準値(初期安定状態での値)からの差分でベクターと見たときのベクター長

装着場所

• 設定• 固定

• ジェスチャー種類:タップ、スワイプ• ジェスチャー対象:親指

• 比較• センサー装着場所:人差し指付け根、手首

Tap は、人差し指の付け根の加速度センサーで、捕捉できる

加速度センサーの xyz それぞれの値

加速度センサーの xyz を基準値(初期安定状態での値)からの差分でベクターと見たときのベクター長

手首では、 Tap でも振動が小さくなる

加速度センサーの xyz それぞれの値

加速度センサーの xyz を基準値(初期安定状態での値)からの差分でベクターと見たときのベクター長

手首では、 Swipe の振動は加速度センサーに伝わらない

加速度センサーの xyz それぞれの値

加速度センサーの xyz を基準値(初期安定状態での値)からの差分でベクターと見たときのベクター長

2 点での付加情報

• 設定• 固定

• ジェスチャー種類:タップ• ジェスチャー対象:親指• NOTE: 片方の Z- 軸の値が出ないため、 Plot は Z 軸を

のぞく• 比較

• センサー装着 2 か所:人先指付け根+手首、人差し指付け根+親指付け根、手首上面+下面

人差し指と手首の場合、人差し指の振動が支配的になる

Tap Swipe

人差し指の付け根での XY軸それぞれの値

手首での XY軸それぞれの値

XY軸それぞれの差分値

XY軸それぞれの加算値

人差し指と親指の場合、接触点への距離が違うため振動が微妙にずれるのか、合成波形が微妙に 1 個の場合と変わってくるようだTap Swipe

人差し指の付け根での XY軸それぞれの値

手首での XY軸それぞれの値

XY軸それぞれの差分値

XY軸それぞれの加算値

手首の上と下に装着し加算すると Tap がより明確になる

人差し指の付け根での XY軸それぞれの値

手首での XY軸それぞれの値

XY軸それぞれの差分値

XY軸それぞれの加算値

手首の上と下に装着し加算すると Swipe でも手首で見えてくる

人差し指の付け根での XY軸それぞれの値

手首での XY軸それぞれの値

XY軸それぞれの差分値

XY軸それぞれの加算値

わかったこと

• Tap は対象がなんであれ同じような振動を示すが、 Swipe は対象によって異なる。• ノイズと Swipe の振動は識別しにくく、移動

成分も混ざる。成分の分離が必要である。• 指の付け根であれば Tap も Swipe も捕捉でき

るが、手首では Swipe の捕捉が難しい。ところが、手首に加速度センサーを 2 個装着し信号を合成すると、 Swipe でも手首で捕捉できそうに見える。センサーの種類か、性能を変えれば、 Swipe の捕捉も、手首でできるかもしれない。

次の実験

• 装着場所を手首にして別のセンサーを試す。• マイクロフォーン、圧電素子

• 仮説• 移動成分がなく、振動だけを捕捉できる• Swipe も手首で捕捉できる

• 音+加速度センサーなど合わせ技を試す• NOTE: 近接センサーで使えるものは現状ない。磁気センサーは数ミ

リの距離。光学的なセンサーでは指先が見えにくい。

• ノイズ、移動、振動へデータ成分を分離する。• ジェスチャー検出の安定度や精度をしめす客観的な指標を設

定する。• 複数人数でデータを取り、データにラべリングし、 Feature を設定

し、機械学習 /HMM のクラス分け Task を実行する。そしてRecall 、 Precision 、 Confusion matrix を見る。

• 分類は、時間軸の Feature に注目する。周期性、ピーク、波形など。

発展課題

• タップやスワイプだけだと、コマンド&コントロールはできても、ほかの情報取得がないと用途が完結しにくい。指センサーのみで使えるデバイスにするためには、それだけで完結する魅力的なシナリオをサポートする必要がある。• たとえば、マウスの代替になる、つまみを回すとかの自然界の動作

で遠隔の家電を操作する、指やペンで文字を書いたものを認識するとか。

• そのために、冒頭のゴールを達成し、かつ3D世界座標で指先の動きを捕捉する。• Ring や富士通の指輪型センサーは、加速度センサー+ジャイロ+地磁気セン

サーを利用し、 3D の動きを補足できる。しかし、それらはごっつい形態をしており、生活の邪魔になると思われる。手首バンドなら邪魔にならない。それで、指のジェスチャーだけでなく3D の動きを捕捉できないか? 手首バンドであれば、複数のセンサーを搭載するスペースがある。

• あるいは、音声インタラクションか視線追跡と、組み合わせる。• そのために、シナリオと、コマンド&コントロールのジェスチャー言語の設計、 UI Feedback の設計。

謝辞

• 九州工業大学の斎藤剛史先生のご指導をいただいております。