3. 拡張現実感のための直感的クリックインタフェース
3.4. 拡張現実のためのクリック動作認識
3.4.3. 急減速によるクリック動作検出
第3.4.2項では4つの状態遷移の変化により,クリック動作を検出するアルゴリズム
を提案した.次にクリック動作の特徴的な動作であるSudden SD状態に注目する.急 減速する動作であるSudden SD状態を検出することでクリック動作を検出できる可能 性が第3.3節の予備実験より示唆された.そこで,速度の絶対値である速さ‖𝑣𝑡‖ から,
そのフレーム間差分𝑎̃𝑡 を求めることで急減速を検出し,クリック動作を検出すること を目指す.‖𝑣𝑡‖ と𝑎̃𝑡 は式(3-5),式(3-6)から求める.
‖𝑣
𝑡‖ = ‖(𝑥
𝑡, 𝑦
𝑡, 𝑧
𝑡) − (𝑥
𝑡−1, 𝑦
𝑡−1, 𝑧
𝑡−1)‖
(3-5)𝑎̃
𝑡= ‖𝑣
𝑡‖ − ‖𝑣
𝑡−1‖
(3-6)このときに問題となるのが,1 台のカメラの映像からは奥行き位置が求まらないこ とである.そこで我々は,指先の見た目の太さを奥行き位置の代わりに利用すること でこれを解決する.図3.4.5に示すように,指先の位置からある一定の半径の円を設定 し,その円と手指領域の交わる領域の2つの端点を指の太さ𝑤𝑡 とし,𝑤𝑡 を奥行き位 置の代わりに利用する.𝑤𝑡 は奥行き位置の変化に応じて変化する値となる.よって式
(3-5)を式(3-7)に変換する.また,図3.4.6にクリック動作検出の擬似コードを示す.
‖𝑣
𝑡‖ = ‖(𝑥
𝑡, 𝑦
𝑡, 𝑤
𝑡) − (𝑥
𝑡−1, 𝑦
𝑡−1, 𝑤
𝑡−1)‖
(3-7)図3.4.5 指先の太さ推定
-36-
図3.4.6 急減速によるクリック動作認識の疑似コード
提案手法によるクリック動作の指先の位置x,y と指の太さw,速度‖𝑣𝑡‖ とそのフ レーム間差分𝑎̃𝑡 の被験者2人の結果をそれぞれ図3.4.7,図3.4.8に示す.アルゴリズ ムに従い, 𝑎̃𝑡 が閾値𝑡ℎ𝑎 を下回るときに,急減速が観測されたとして,クリック動作 が起こったと判定する.閾値𝑡ℎ𝑎はシステムでの使用経験により𝑡ℎ𝑎= −0.5と設定した.
空間中の奥行き位置𝑧𝑡 と指の太さ𝑤𝑡 の間には相関があるだけで,必ずしも比例す るような関係にはないことに注意されたい.しかしながら,図3.4.7,図3.4.8に示す𝑥𝑡, 𝑦𝑡,𝑤𝑡 の遷移からは𝑥𝑡,𝑦𝑡,𝑤𝑡 のいずれかが大きく変異するときにクリック動作が 起こっており,いずれもゆるやかにしか変化しないときにクリック動作がないことを 読み取ることができる.よって,𝑥𝑡,𝑦𝑡,𝑤𝑡 の変位の二乗和の平方根として求められ る速さ‖𝑣𝑡‖ から,クリック動作が検出できると考えることができる.𝑥𝑡,𝑦𝑡 の変数 と𝑤𝑡 の変数の大きさは,物理的な意味が異なるので係数を掛けて足し合わせる必要が あるが,この係数はカメラと指の関係,カメラの解像度との関係によって決まる.本 研究では,係数を単純に1 として評価実験を行った.この係数を環境によって調整す ることによって,さらに高い検出率が得られる可能性がある.
また,上述のアルゴリズムでは,仮想ボタンを急速に押し込む動作だけでなく,指 先を急速に引き戻す動作も検出される.これは図3.3.5(b)に示す動作に相当し,利用者 によってはこれもクリック動作を意図している可能性がある.このことから,ボタン を押し込む動作と区別する必要はないため,クリック動作検出のアルゴリズムとして 問題とならない.
-37-
(a) 指先の位置と太さの変化
(b) 指先の速さとフレーム間差分
図3.4.7 被験者Aのクリック動作における指先の速度と位置の変化
[Differential Value]
[Coordinate Value]
-38-
(a) 指先の位置と太さの変化
(b) 指先の速さとフレーム間差分
図3.4.8 被験者Bのクリック動作におけるの速度と位置の変化
[Differential Value]
[Coordinate Value]
-39-