ビジョンベースデータグローブ
指導教員 舟橋 健司 准教授
名古屋工業大学 大学院工学研究科 情報工学専攻 平成
22年度入学
22417625番
名前 山本 三四郎
目 次
第1章 はじめに 1
第2章 従来のビジョンベースデータグローブシステム 4
2.1
手指の拘束条件
. . . . 52.1.1
各指関節の可動範囲
. . . . 52.1.2
指関節間の依存関係
. . . . 52.2
順運動学
. . . . 62.3
マーカーによる特徴量抽出
. . . . 82.4
指先の三次元位置推定
. . . . 102.5
逆運動学による手の姿勢推定
. . . . 11第3章 指先の隠れを考慮した手の姿勢推定 14 3.1
提案手法の概要
. . . . 153.2
動作が継続していると仮定した場合の隠れ指の姿勢推定
. . . . 153.2.1
過去フレームにおける相関関係を基にした指関節角度の推移
. . . . 163.2.2
過去フレームにおける相関係数が求まらない場合の指関節角度の推移
. 16 3.2.3指関節角度の推移を基にした隠れ指の姿勢推定
. . . . 183.3
陰空間領域での不規則な動作を考慮した隠れ指の姿勢推定
. . . . 193.3.1
陰空間領域
. . . . 203.3.2
継続している動作の速度が変わる場合の隠れ指の姿勢推定
. . . . 223.3.3
動作そのものが変わる場合の隠れ指の姿勢推定
. . . . 253.4
手の向きによる隠れ指の姿勢推定の順序
. . . . 26第4章 実験および評価、考察 29 4.1
実験システム
. . . . 294.2
処理速度に関する評価
. . . . 294.3
隠れ指先が存在する際の手の姿勢推定に関する評価
. . . . 30第5章 むすび 35
謝辞 36
参考文献 37
発表論文リスト 39
第 1 章 はじめに
バーチャルリアリティ
(Virtual Reality:以下
VR)とは、 それがそこにない
(現前していない
)にもかかわらず、観察する者にそこにあると感じさせる
(同一の表象を生じさせる
)もの
[1]である。
VR技術を利用することで人は現実には体験しなくても、現実の体験と同質の体験を することが可能となる。そのため、体験する環境や操作する実物を用意するためのコストの削 減、容易に繰り返し行えることによる訓練効率の向上、実環境下での危険性の回避などの恩恵 を享受することが可能である。近年では
VR技術を利用した教育・訓練シミュレータが多く開 発されている。例として、手術などの医療シミュレータ
[2]や治療、訓練シミュレータ
[3, 4]な どが挙げられる。しかし 、これらの
VR技術を利用したシミュレータでは必要とするインター フェースが巨大、高価なため用いられている分野が限定的であり、一般家庭などの身近な場に は広く普及しているとは言えない。
VR
技術においてよく使用されているインターフェースには、ヘッド マウントディスプレ イ、
ロボットアーム、データグローブ、タッチパネル、
3次元マウスなど 多くの種類がある。本研 究では、人は現実空間において主に手で物体操作を行っているため、仮想空間においても同様 に手で物体操作を行うことが多いと考え、手の動作・姿勢を計測するデータグローブに着目し 考察を行った。ここで手の姿勢とは、各指関節角度によって定まる手指形状である。
データグローブは様々な手法のものが開発されている。一般的のものとしてベンド センサに よって計測を行うデータグローブがある。ベンド センサのデータグローブは、一つのセンサで 一つの曲げ角を計測するため正確な手の姿勢の計測を行うには各指関節にセンサを取り付ける 必要がある。そのため、全体のセンサの数が多くなり、高価なものとなっている。しかし中に は、各指の全体の曲げ角を一つのセンサで計測し 、それぞれの指関節についての計測を省くこ とでセンサの数を少なくした安価なデータグローブも存在する。しかしながら、それぞれの指 関節に対する計測を省いているため、正確な手の姿勢の計測が不可能となっている。また、カ メラ画像
(動画像
)から手の姿勢の推定を行うビジョンベースのデータグローブの手法も存在す る。ビジョンベースのデータグローブには、大まかに分けて二つの手法がある。事前に画像上 の手の見え方に対する手の姿勢のデータベースを構築しておき、入力画像とマッチングを行う ことで手の姿勢を推定する手法と、マーカーや特徴量から指先検出を行い、ジェスチャの認識 を行う手法や手の姿勢推定を行う手法である。
入力画像とのマッチングにより手の姿勢を推定する手法では、手の様々な姿勢をデータベー
スに登録できるためセルフオクルージョンの問題に対応することができる。しかし 、この手法
では手の自由度が高く入力画像に対する探索対象の数が非常に多いため、推定精度と処理速度 のトレード オフとなっている。そこで、島田ら
[5]は手の姿勢は時系列変化していくものであ るため、現時刻の姿勢の探索範囲を前時刻で推定された姿勢の近傍とすることで探索範囲を削 減している。また、藤本ら
[6]はデータベースを木構造とすることで効率的に探索範囲を削減 することで高速化を実現している。島田ら
[5]はシルエット画像を、藤本ら
[6]は輪郭情報を用 いて探索を行っているが 、シルエット画像、輪郭情報はともに手の表裏情報を含まないため手 の回転
(上腕の回旋運動
)に対応できない問題がある。この問題について玉城ら
[7]は、輪郭情 報に爪の位置情報を加えることを提案している。しかしながら、推定精度を高めるためにはよ り多くの手の姿勢に対する各種情報が必要であるが 、シルエット画像や輪郭情報、爪の位置情 報は個人差が大きいことが予想される。そのため、個人個人に合った手の姿勢に対応するシル エット画像や輪郭情報、爪の位置情報のデータベースが必要となるが 、一般家庭などの環境下 においてこれらのデータベースを構築するのは困難である。また、
Wangら
[8]はマルチカラー グローブを用いて入力画像とマッチングを行うことでシルエット画像や輪郭情報よりも定量的 な情報で推定を行っている。しかし 、同じ手の姿勢でも手の大きさの違いにより入力画像が異 なる問題は依然残されている。
一方、ビジョンペースの手法においてマーカーや特徴量から指先検出を行う手法はさらに大 きく二つの手法に分かれる。検出された指先からジェスチャ認識をする手法
[9, 10]と、掌に対す る指先の位置から逆運動学
(Inverse Kinematics: IK)を解いて手の姿勢を推定する手法である。
ジェスチャ認識をする手法では、検出された指先の組み合わせや動きによってジェスチャ認識を 行うものであり、各指関節の角度を推定していない。そのため、インターフェースとしての汎 用性を考えると、物体の把持動作などが可能な手の姿勢を推定する手法が有用であると言える。
手の姿勢を推定する手法では 、藤木ら
[11]はステレオ視と指先のマーカーにより、
Pamplonaら
[12]は指先の
ARマーカーにより、陳ら
[13]はステレオ視と輪郭形状より指先の位置を推定 する。そして逆運動学を解くことで手の姿勢を推定している。これらの手法では、逆運動学を 解く際に必要な情報であるユーザの手の形状情報
(ハンド モデル
)さえ用意できれば手の姿勢推 定を行うことが可能である。一般家庭などの環境下では、ユーザごとの各種情報データベース の作成とハンド モデルの作成を比較するとハンド モデルの作成の方が容易である。しかし 、指 先検出により手の姿勢を行う手法ではセルフオクルージョンにより指先が検出できない場合に は手の姿勢推定が行えない問題がある。陳ら
[13]は複数台のカメラからセルフオクルージョン が少なく手の形状情報が最も多い2枚の画像を用いることを提案しているが 、一般家庭などの 環境下でカメラを複数台設置することは難しい。
マーカーや特徴量からの指先検出手法や、逆運動学による姿勢推定については、前述の通り
様々な研究が行われている。そこで本研究では、指先検出により手の姿勢推定を行う手法にお
いて、セルフオクルージョンにより指先検出ができない場合でも手の姿勢推定を可能とする方
法について述べる。実験、検証のためのシステムは、当研究室でこれまでに構築してきたセル
フオクルージョンには対応していないビジョンベースデータグローブシステムを基に構築する
[14]。このシステムではカメラ画像から色マーカーを基に指先を検出し 、
ARToolKit[15]マー カーにより手全体の
6自由度の挙動を取得する。その上で、各マーカーからの情報と手指の拘 束条件により指先の三次元位置を推定し 、逆運動学を解くことで手の姿勢推定を行う。しかし 、 ある指先が他の指などに隠された場合には 、この指の各指関節角度を求めることができない。
本提案手法ではまず、ある指が隠れた場合
(すなわち、隠れていない状態から隠れている状態 に移動した場合
)にも、しばらくの間はその動作が継続していると考える。この動作
(手の姿 勢、すなわち各指関節角度の時系列変化
)が多項式により表現できると仮定し 、現在の
(隠れて いる
)時刻
(現フレーム
)における姿勢を、指先の位置とは無関係に推定する。しかし必ずしも この推定が正しいとは限らない。そこで順運動学により推定される指先の位置を求め、推定結 果がセルフオクルージョンにより指先が隠れる姿勢であるか否かを判定する。その上で、必要 に応じて隠れる姿勢になるように多項式に従い再推定する。ところで、そもそも指の動きを表 す多項式が途中で変化することも考えられる。このような状況は比較的少ないと考え、直前の 時刻
(前フレーム
)における指先の位置
(これは計測値の場合と、推定値の場合がある
)から簡 易的に求めることとする。この提案手法に基づき、指先検出による手の姿勢推定を行うビジョ ンベースデータグローブにおいて、セルフオクルージョンにより指先検出ができない場合の手 の姿勢推定を実現する。
以下、第
2章において従来のビジョンベースデータグローブシステムについての概要を説明
する。第
3章では指先が検出されなかった指の姿勢を推定する提案手法、第
4章では提案手法
の実験とその結果、第
5章で今後の展望について述べる。
第 2 章 従来のビジョンベースデータグローブシ ステム
本章では、以前に提案してきた従来のビジョンベースデータグローブシステムについて説明 する
[14]。従来のビジョンベースデータグローブシステムでは、色マーカーにより入力画像中 の指先を検出し 、
ARマーカーから得られる手の
6自由度と手指の拘束条件により指先の三次 元座標を推定する。そして、逆運動学を解くことで手の姿勢推定を行う。また、手は本来は非 剛体の物体であるが、手の姿勢推定を優先し 、他の物体との接触を行うことを考慮しないため、
手を各関節点で剛体同士が接続された剛体の物体として近似した骨格モデル
(図
2.1)とそれに 付随する簡単なスキンモデルを使用する。ここで、骨格モデルの指関節には 、母指の
IP関節 と
MP関節にそれぞれ
1自由度、
CM関節に
2自由度の計
4自由度、その他の指には
DIP関節 と
PIP関節にそれぞれ
1自由度、
MP関節に
2自由度の計
4自由度を設定する。なお、本研究 では各関節の名称を表
2.1のように表記する。
図
2.1:骨格モデル
表
2.1:各関節の名称と表記
名称 表記
遠位指節間関節
DIP関節 近位指節間関節
PIP関節 中手指節関節
MP関節 指節間関節
(母指
) IP関節 母指手根中手関節
CM関節
2.1
手指の拘束条件
人間の手には構造上様々な拘束があり、これは拘束条件として知られている。この拘束条件 をモデルに取り込み、手の姿勢を推定する上で活用する。
2.1.1
各指関節の可動範囲
指の関節には文献
[16]にあるようにそれぞれ可動範囲がある。各指に対応する可動範囲を知 識と経験に基づいて設定する。設定した各関節に対応する可動範囲は表
2.2に示す通りである。
表
2.2:設定した各指関節角度の可動範囲
IP MP CM(
掌側内転・外転
) CM(尺側内転・橈側外転
)母指
0◦∼80◦ 0◦ ∼60◦ 0◦ ∼90◦ 0◦∼60◦DIP PIP MP(
屈曲・伸展
) MP(内転・外転
)示指
0◦∼80◦ 0◦ ∼100◦ 0◦ ∼90◦ −25◦ ∼25◦中指
0◦∼80◦ 0◦ ∼100◦ 0◦ ∼90◦ −25◦ ∼25◦環指
0◦∼80◦ 0◦ ∼100◦ 0◦ ∼90◦ −25◦ ∼25◦小指
0◦∼80◦ 0◦ ∼100◦ 0◦ ∼90◦ −25◦ ∼25◦2.1.2
指関節間の依存関係
母指以外の指
i(i= 1∼4)における各指関節角度には次のような依存関係が存在する。ここ で、
i= 1は示指を表し 、
i= 4は子指を表す。また、母指を指
0とする。
• DIP
関節と
PIP関節の関節角度には比例の相関関係がある
[17](図
2.2)。
• PIP
関節と
MP関節
(屈曲・伸展
)の関節角度には
S字型の相関関係がある
[18](図
2.3)。
また、母指にも他の指と同様な以下のような依存関係が見られる。
• IP
関節と
MP関節の関節角度には比例の相関関係がある
(図
2.4)。
• MP
関節と
CM関節
(掌側内転・外転
)の関節角度には逆
S字型の相関関係がある
(図
2.5)。 ここで、指
iの
MP関節は屈曲するほど 内転・外転の可動範囲の中心に向かっていき
[18]、か つ可動範囲が狭くなる性質が見られるため、式
2.1のように
MP関節
(内転・外転
)の可動範囲 を改めて設定する。ここで、
θi3は指
iの
MP関節
(屈曲・伸展
)角度を表し 、
θi4は指
iの
MP関節
(内転・外転
)角度を表す。
0 10 20 30 40 50 60 70 80
0 10 20 30 40 50 60 70 80 90 100
DIP(度)
PIP(度)
図
2.2: DIP関節と
PIP関節の関節角度の相関 関係
0 10 20 30 40 50 60 70 80 90 100
0 10 20 30 40 50 60 70 80 90
PIP(度)
MP(度)
図
2.3: PIP関節と
MP関節
(屈曲・伸展
)の関 節角度の相関関係
0 10 20 30 40 50 60 70 80
0 10 20 30 40 50 60
IP(度)
MP(度)
図
2.4: IP関節と
MP関節の関節角度の相関関係
0 10 20 30 40 50 60
0 10 20 30 40 50 60 70 80 90
MP(度)
CM(掌内転・外転)(度)
図
2.5: MP関節と
CM関節
(掌側内転・外転
)の関節角度の相関関係
{ −(25−0.5∗(θi3−60.0))◦ ≤θi4 ≤(25−0.5∗(θi3−60.0))◦ (θi3≥60◦)
−25◦ ≤θi4 ≤25◦ (θi3<60◦) (2.1)
2.2
順運動学
2.1
節の拘束条件を利用し順運動学
(Forward Kinematics: FK)を求めるために、まず指の構
造の数式化を行う。指の構造を数式化するために 、修正
Denavit-Hartenberg記法
[19]を用い
る。母指以外の指
iの
DHパラメータを表
2.3に、母指の
DHパラメータを表
2.4に示す。表の
変数については図
2.6、図
2.7に示す通りである。ここで、
aはリンクの長さ、
αはリンクのね じれ角、
dはリンク間距離、
θはリンク間角度を表す。
表
2.3:指
iの
DHパラメータ
a α d θ
リンク
1 0 180 0 θi4−90リンク
2 0 −90 0 θi3リンク
3 Li3 0 0 θi2リンク
4 Li2 0 0 θi1リンク
5 Li1 0 0 0表
2.4:母指の
DHパラメータ
a α d θ
リンク
1 0 90 0 θ03リンク
2 0 90 0 θ04−90リンク
3 L03 −90 0 θ02リンク
4 L02 0 0 θ01リンク
5 L01 0 0 0DIP
PIP
MP
屈曲・伸展
DIP
PIP
MP
内転・外転
1Li
2
Li
3
Li 1
θi
2
θi
3
θi θi4
図
2.6:指
iの
DHパラメータの変数
屈曲・伸展
(掌側内転・外転)IP
MP
CM
尺側内転・橈側外転
IPMP
CM
L01
L02
L03
θ01
θ02
θ03 θ04
図
2.7:母指の
DHパラメータの変数
表
2.3に基づき指
iの順運動学
F Ki(θi4, θi3, θi2, θi1)を求めると式
2.2に、表
2.4に基づき母 指の順運動学
F K0(θ04, θ03, θ02, θ01)を求めると式
2.3となる。
F Ki(θi4, θi3, θi2, θi1) =
Li1sinθi4cos(θi3+θi2+θi1)
+Li2sinθi4cos(θi3+θi2) +Li3sinθi4cosθi3 Li1cosθi4cos(θi3+θi2+θi1)
+Li2cosθi4cos(θi3+θi2) +Li3cosθi4cosθi3 Li1sin(θi3+θi2+θi1) +Li2sin(θi3+θi2) +Li3sinθi3
(2.2)
F K0(θ04, θ03, θ02, θ01) =
L01cosθ04sinθ03cos(θ02+θ01)−L01sinθ04sin(θ02+θ01) +L02cosθ04sinθ03cosθ02−L02sinθ04sinθ02
+L03cosθ04sinθ03
L01cosθ03cos(θ02+θ01) +L02cosθ03cosθ02+L03cosθ03 L01sinθ04sinθ03cos(θ02+θ01) +L01cosθ04sin(θ02+θ01)
+L02sinθ04sinθ03cosθ02+L02cosθ04sinθ02 +L03sinθ04sinθ03
(2.3)
ここで 、図
2.2より
DIP関節角度
θi1(= fθi1(θi2))は式
2.4で 、図
2.4より
IP関節角度
θ01(=fθ01(θ02))
は式
2.5で表すことができる。
fθ
i1(θi2) = 2
3θi2 (2.4)
fθ
01(θ02) = 4
3θ02 (2.5)
また、図
2.2と図
2.4の相関関係は比例関係であるため様々な手動作においてこれに近い相関 を保つことが予想される。そこで、式
2.2に式
2.4を、式
2.3に式
2.5を代入し 、式
2.6を指
iの順運動学
F Ki(θi4, θi3, θi2)の式として、式
2.7を母指の順運動学
F K0(θ04, θ03, θ02)の式とし て用いる。
F Ki(θi4, θi3, θi2) =
Li1sinθi4cos(θi3+53θi2) +Li2sinθi4cos(θi3+θi2) +Li3sinθi4cosθi3 Li1cosθi4cos(θi3+53θi2) +Li2cosθi4cos(θi3+θi2) +Li3cosθi4cosθi3 Li1sin(θi3+53θi2) +Li2sin(θi3+θi2) +Li3sinθi3
(2.6)
F K0(θ04, θ03, θ02) =
L01cosθ04sinθ03cos73θ02−L01sinθ04sin73θ02
+L02cosθ04sinθ03cosθ02−L02sinθ04sinθ02+L03cosθ04sinθ03 L01cosθ03cos73θ02+L02cosθ03cosθ02+L03cosθ03
L01sinθ04sinθ03cos73θ02+L01cosθ04sin73θ02
+L02sinθ04sinθ03cosθ02+L02cosθ04sinθ02+L03sinθ04sinθ03
(2.7)
2.3
マーカーによる特徴量抽出
ビジョンベースデータグローブシステムでは、色マーカと
ARToolKitマーカーを使用する。
各指先に一つずつそれぞれ異なった色の色マーカーを指先を覆うように取り付け画像中の指先 の位置を計測する。
CSV色空間でそれぞれの色マーカーに対応する色領域にラベル付けを行い
LUTを作成する。カメラからの入力画像の各画素の
CSV値で
LUTを参照することで色マー カーの対象領域を抜き出したマスク画像を作成する。作成したマスク画像のノイズを取り除く ためモルフォロジー変換の縮退処理によりノイズ除去を行う。ノイズ除去を行ったマスク画像 から各色マーカーの領域の重心点の座標
(xi, yi)を算出し画像中の指先の位置とする。
また、
ARToolKitマーカーを指でマーカーが隠れない位置であること、指を動かす際に邪魔
にならない位置であることなどを考慮して図
2.8の位置に取り付け、手の平の位置・姿勢を計
測し 、手の6自由度を得る。色マーカーにより画像中の指先の位置を、
ARToolKitマーカーに
図
2.8:ビジョンベースデータグローブシステム
より手の6自由度を計測できるが 、指先の
3次元位置を計測できていない。そのため、色マー カーの重心点と手の6自由度との関連付けを行う。
色マーカー領域の重心点
(xi, yi)を画像座標系からカメラ座標系に変換し 、さらに
ARToolKitマーカー座標系
(以下マーカー座標系
)へと変換する。カメラと各色マーカーの重心点
(xi, yi)を結んだ直線
Ltは図
2.9のようになり、式
2.8で表すことができる。
画像 画像 画像
画像座標 座標 座標 座標 マーカー座標 マーカー座標 マーカー座標 マーカー座標 色マーカー領域の重心点
色マーカー領域の重心点 色マーカー領域の重心点 色マーカー領域の重心点
X F
X Y
Z Y
C
) , (xi yi
Lt
図
2.9:カメラと色マーカー領域の重心点とを結んだ直線
Lt=C+te (2.8)
ここで、
tは媒介変数、点
Cはマーカー座標系におけるカメラの位置、
eはマーカー座標系に
おけるカメラから色マーカーの重心点への単位ベクトルを表す。また、図
2.9での点
Fはマー
カー座標系における指先の三次元位置を表す。色マーカーの重心点と手の6自由度によりマー
カー座標系における指先の三次元位置である点
Fを含む直線
Ltを求めることができる。
2.4
指先の三次元位置推定
2.1
節で述べた手指の拘束条件を利用して直線から点への推定を行い、指先の三次元位置で ある点
Fを求める。手の拘束条件として
2.1.2節で述べたように各指関節角度には相関関係が ある。指の運動がこれらの相関関係に基づいて行われると仮定した場合、指先は一定の曲線上 を移動する。この曲線を以後、指先の軌跡と呼ぶことにする。指先は相関関係に基づき指先の 軌跡の近くに存在するものと仮定して推定を行う。
まず母指以外の指
iの指先の軌跡
fli(θi3)を求める。
PIP関節角度
θi2(= fθi2(θi3))は図
2.3の相関関係を利用することで式
2.9で表すことができる。また、
MP関節
(内転・外転
)角度
θi4は
MP関節
(屈曲・伸展
)の屈曲によって可動範囲の中心に向かっていく
[18]ため関節角度を可 動範囲の中心に固定する。
fθi2(θi3) = αiθi33+βiθi32+γiθi3 (2.9)
ここで 、
αi、
βi、
γiは定数である。
F Ki(θi4, θi3, θi2)と
fθi2(θi3)より指
iの指先の軌跡
fli(θi3)は式
2.10で表すことができる。
fli(θi3) =
Li1cosθi4cos{53(αiθi33+βiθi32+γiθi3) +θi3}
+Li2cosθi4cos(αiθi33+βiθi32+γiθi3+θi3) +Li3cosθi4cosθi3 Li1sinθi4cos{53(αiθi33+βiθi32+γiθi3) +θi3}
+Li2sinθi4cos(αiθi33+βiθi32+γiθi3+θi3) +Li3sinθi4cosθi3 Li1sin{53(αiθi33+βiθi32+γiθi3) +θi3}
+Li2sin(αiθi33+βiθi32+γiθi3+θi3) +Li3sinθi3
(2.10)
次に、母指の指先の軌跡
fl0(θ03)
を求める。
MP関節角度
θ02(=fθ02(θ03))
は図
2.5の相関関係 を利用することで式
2.11で表すことができる。また、
CM関節
(尺側内転・橈側外転
)角度
θ04は他の指のような依存関係はないが 、可動範囲の中心付近を通ることが多いため可動範囲の中 心に固定とする。
fθ02(θ03) = α0θ033+β0θ032+γ0θ03 (2.11)
ここで、
α0、
β0、
γ0は定数である。
F K0(θ04, θ03, θ02)と
fθ02(θ03)より母指の指先の軌跡
fl0(θ03)は式
2.12で表すことができる。
fl
0(θ03) =
L01cosθ04sinθ03cos{73(α0θ033+β0θ032+γ0θ03)}
−L01sinθ04sin{73(α0θ033+β0θ032+γ0θ03)} +L02cosθ04sinθ03cos(α0θ033+β0θ032+γ0θ03)
−L02sinθ04sin(α0θ033+β0θ032+γ0θ03) +L03cosθ04sinθ03 L01cosθ03cos{73(α0θ033+β0θ032+γ0θ03)}
+L02cosθ03cos(α0θ033+β0θ032+γ0θ03) +L03cosθ03 L01sinθ04sinθ03cos{73(α0θ033+β0θ032+γ0θ03)}
+L01cosθ04sin{73(α0θ033+β0θ032+γ0θ03)}
+L02sinθ04sinθ03cos(α0θ033+β0θ032+γ0θ03)
+L02cosθ04sin(α0θ033+β0θ032+γ0θ03) +L03sinθ04sinθ03
(2.12)
指先の軌跡
fli(θi3)
と
fl0(θ03)
それぞれと式
2.8の直線
Ltとの間の距離が最短となる直線
Lt上の点を指先の三次元位置として決定する。しかし指先の軌跡は三次元空間における曲線とな るため、三次元空間中における直線と曲線の最短距離問題になってしまい解を求めるのが困難 である。そこで指先の軌跡
fli(θi3)と
fl0(θ03)を複数の線分で近似し 、三次元空間における直 線と線分の最短距離問題を解くこととする。ここで任意の指先の軌跡の近似線分
Lsは式
2.13で表すことができる。
Ls=P+sd (2.13)
ここで、
sは媒介変数を表し 、点
Pは線分の始点の座標、
dは線分の始点から終点へのベクト ルを表す。式
2.8の直線
Lt上の点
Qと任意の軌跡の近似線分
Ls上の点
Rの距離
kQRkを求 める。
QR=R−Qとすると、式
2.8と式
2.13より次のようになる。
QR = (P+sd)−(C+te)
= P−C+sd−te (2.14)
kQRk
が最小のとき、
QR⊥eかつ
QR⊥dとなるから、
QR·e = 0 (2.15)
QR·d = 0 (2.16)
式
2.15と式
2.16を
tと
sについて解くと次のようになる。
t = {kdk2(CP·e)−(e·d)(CP·d)}
kek2kdk2−(e·d)2 (2.17) s = {(e·d)(CP·e)− kek2(CP·d)}
kek2kdk2−(e·d)2 (2.18)
ここで 、
CP =P −Cとする。求めた
tを式
2.8に代入することで直線
Lt上の点
Qが求ま り、求めた
sを式
2.13に代入することで直線
Ls上の点
Rが求まる。また、
Lsは線分なので
0.0≤s≤1.0である。
s <0.0のとき
s= 0.0、
1.0< sのとき
s= 1.0として、
Ls上の点
Rを 求める。
この計算を全ての近似線分で行い距離
kQRkが最小となる直線
Lt上の点
Qを指先の三次 元位置である点
Fとする。
2.5