平成
21
年度 卒業研究論文VR
ネットショッピングのためのセンサー数の少ないデータグローブの補正法
指導教員 舟橋 健司 准教授
名古屋工業大学 工学部 情報工学科 平成
18
年度入学18115129
番濱口 真一
i
目 次
第1章 はじめに 1
第2章 人間の錯覚と触力覚フィードバックの利用 4
2.1 人間の生理と錯覚 . . . . 4
2.2 視覚による他感覚への影響 . . . . 5
2.3 触力覚フィードバックの利用による触覚の再現. . . . 6
2.4 ヒューマンインターフェイス. . . . 7
第3章 VRネットショッピングシステム 9 3.1 少数のセンサーによる仮想手操作 . . . . 9
3.1.1 仮想手関節の基本角度の設定 . . . . 10
3.1.2 指関節角度の再現. . . . 13
3.2 カメラを利用した仮想手の自動選択機能 . . . . 15
3.2.1 色情報の取得 . . . . 16
3.2.2 大きさ情報の取得. . . . 17
3.3 仮想手による物体操作モデル. . . . 26
第4章 実験 27 4.1 システム構成 . . . . 28
4.2 実験I:センサー数の少ないデータグローブによる仮想手操作実験 . . . . 29
4.2.1 実験方法. . . . 29
4.2.2 結果及び考察 . . . . 30
4.3 実験II:カメラによる仮想手自動選択機能の性能実験 . . . . 31
4.3.1 実験方法. . . . 31
4.3.2 結果及び考察 . . . . 32
第5章 むすび 33
謝辞 35
ii
参考文献 36
1
第 1 章 はじめに
テレビやパーソナルコンピュータ、携帯電話等に代表される情報通信メディアの普及率は 年々増加傾向にあり、その重要性はかなり高くなっている。その中でもパーソナルコンピュー タを介したインターネットは2009年現在、日本国内での普及率が国民人口の75.3%に達し ており[1]、既に社会にとってなくてはならないものとなっている。この普及率の高さの理 由には、ソーシャルネットワーキングシステムやブログなどの個人向けネットサービスの充 実や、リアルタイムでの迅速な情報の収集および伝達が可能であるという特性がある。
近年ではこういったメディアの発展・普及に伴って、テレビショッピングやインターネッ トを利用したオンラインショッピングといった通信販売が登場した。通信販売には、通常の 店舗販売に比べてメリットが多い。販売者の立場からみれば、店舗を用意する必要がないた め土地代や店舗の建設費用がかからず、従業員の数を減らすことによる人件費の削減も出来 るため全体的なコストの削減が可能である。さらに商品を店舗におかず、一ヶ所から発送す ることができるので在庫管理も容易になる。消費者の立場からみれば、店舗に赴く必要がな いので時間がかからず、店まで行ったのに商品の在庫がないため購入できないといったこと の心配もない。また、オンラインショッピングであれば自分の欲しい商品に関する情報を即 座に入手できる上、ある販売業者と他の販売業者での商品価格の比較も可能である。さら に、先述したとおり通信販売では販売者側がコストを削減できるので、価格設定が店舗販売 に比べて安くなることが多い。これらのメリットから、通信販売を利用する消費者の数が増 加傾向にある。
しかし、通信販売はメリットばかりというわけではない。店舗での商品購入と違って、商 品の現物を手に取って選ぶというプロセスを踏むことが出来ないために、問題が発生するこ とが少なくない。たとえば、実際に購入した商品が届いてみると、頭の中で想像していた商 品に比べて大きさが違っていたり、色が違っていたり、重かったりといった問題である。こ れらは商品を手に取って調べることのできる店舗販売の場合では発生しない問題であるた め、商品を手に取るという商品選択方法が再現できれば解決できると考えられる。そこで、
オンラインショッピングにおいて、バーチャルリアリティ(Virtual Reality:VR)技術を利用 することを考える。
VRとは、日本語では「仮想現実感」とも言われる。実体はないが本質的には同じである という意味を持ち、ゲーム分野や医療分野、建築分野などで使われるシミュレーションなど
第1章 はじめに 2
はこの考え方に基づいている。コンピュータの上でデータとしての仮想空間とその空間内の 物体を定義し、ユーザーの感覚を刺激することによって、あたかもその場に本当に物体が存 在しているかのように知覚させる技術をVR技術という。このVR技術を取り入れること で、消費者は仮想空間上で、店舗販売と同様の購入プロセスを擬似的に踏むことが出来るよ うになる。このとき商品に対する触覚を再現できれば、これまでの通信販売では視覚と聴覚 のみに頼っていた商品についての情報が触覚からも得られるため、より直感的な情報収集や 購入判断が可能となることが期待できる。
当研究室では仮想空間上で定義された仮想手-仮想物体操作モデルによる実験システムを 構築しており、このモデルを用いて、これまでにもVRネットショッピングに関する研究を 行ってきた。
これまでの研究における実験システムの操作は、データグローブを用いて行っている。デー タグローブは複数のセンサーにより指や手の各部位の曲げ具合を数値として測定することが できるグローブ型の機器である。当研究室で用いているデータグローブは合計18個のセン サーを備えており、細かい動きの情報を検出することができる高価なものである。しかし、
我々が想定しているVRネットショッピングの主な利用者層は一般家庭であり、システムの 普及を考えると使用機器は安価である必要がある。そこで、安価なデータグローブを操作デ バイスとして用いることを考える。現在までに一般家庭向けに販売されたことのあるデータ グローブとしては、パワーグローブやP5などがある。詳細については2.4節を参照された い。こういった家庭で購入できる程度の安価なデータグローブでは、必然的にセンサーの個 数は少なくなるものと考えられる。だが、センサーの個数が少なくなると、仮想手の制御に 問題が発生する。そもそも人間の手にはいくつもの関節があり、それぞれの関節を曲げ伸ば しすることで多様な動きを可能としている。当研究室の実験システムにおいては、データグ ローブ18個のセンサーによってそれらの関節の動きを測定して仮想手の動きに反映してい たが、センサーの個数が少ないデータグローブだと関節の動きの大部分を測定することがで きないため、仮想手モデルに出力する情報パラメータの数が減少してしまい、その結果ユー ザーが仮想手を自分の手のように制御することが困難になってしまう。そのため、一般向け に発売されているような安価なデータグローブを用いる場合では、これらの問題について対 処することが必要になる。
これまでの研究で、振動子を用いた希薄な触力覚フィードバック環境下において、把握動 作によって仮想物体の大きさを認識できることや仮想物体同士の大きさの比較が振動を通し て可能になること[2][3]、このとき使用する仮想手の大きさをユーザーの手の大きさに調整 することで仮想物体の大きさを正確に認識する確率が向上することや、振動の強さが仮想物 体の固さとして認識される傾向があることは実証されている[4]。ただし、これまでの実験 システムで仮想手の大きさをユーザーの手の大きさに調整するためには、実際にユーザーの
第1章 はじめに 3
手の大きさを計測し、その上で事前に準備してある大きさの仮想手のなかから適当な大き さのものを選択する必要がある。ユーザーの視点でシステムを考えると、手の測定は自動的 に、かつ容易に行えることが望ましい。
そこで本研究では、センサー数の少ないデータグローブを使用していても、仮想手へ出力 する情報パラメータを補正することである程度まで自由に人間の手の動きを仮想手で再現す ることのできるモデルと、仮想手の大きさを容易にユーザーに合わせることのできる機能の 実装を目指す。
少数のセンサーを持ったデータグローブによる人間の手の動きの再現については、次のよ うに行う。データグローブのセンサーは、そのセンサーに対応する関節の曲がり具合を数値 として検出して出力する。また、今回用いる安価なデータグローブは指1本に対して1個ず つ、計5個のセンサーを持っている。そこでまず、データグローブにおける5本の指のセン サー出力値を元に、仮想手における5本の指の第三関節曲げ角度を決定する。次に、人間の 指の関節において、関節同士の動きの相関関係を調べる。ここで調べた相関関係と、先程の 第三関節曲げ角度から、残りの仮想手の指関節の曲げ角度を算出する。このようにして、セ ンサー数の少ないデータグローブによって、仮想手の動きを再現することを考える。
また、仮想手の大きさをユーザーに合わせる機能については、PCカメラによって撮影し たユーザーの手の画像から情報を取得することで実現する。このときの取得画像に対して は、カメラの向きや手に対する位置、距離等の情報をもとに、システム側で補正を行うもの とする。この画像からユーザーの手の大きさを計測すれば、最適な仮想手の選択を自動的に 行うことができる。さらに、カメラを用いる場合、ユーザーの手の大きさだけでなく手の表 面色についての情報も同時に取得することができる。仮想手を選択する際、表面色がユー ザーの手の色に近いものを選択すれば、操作時の臨場感がより向上することも期待できる。
以上のことから、PCカメラを用いて手の大きさと色の2つの情報を取得し、仮想手の選択 を行うことを考える。
本稿第二章で人間の生理と、振動子やデータグローブを使う理由について述べ、第三章で 今回のVRネットショッピングシステムのモデルについて述べる。その後、第四章で実験内 容と結果について述べる。
4
第 2 章 人間の錯覚と触力覚フィードバックの 利用
我々人間を含む生物の体には様々な感覚器があり、我々はそれらによってもたらされる
「視覚・聴覚・嗅覚・味覚・触覚」の五感や、その他の感覚によって外界の情報を認識して いる。これらの感覚のうち、実空間に存在する物体の認識には主に触覚と視覚がはたらいて いると考えられる。
VRネットショッピングシステムでは、商品を手に取って操作する行為、つまり実空間での 実物体の認識及び操作を仮想空間上での仮想物体に対して再現することに注目している。そ こで、仮想空間上での仮想物体の認識において、これらの感覚を実物体操作の際の感覚に近 づけられれば、本当に商品を手に持って操作しているように感じることができると考える。
本章では、実際の物体操作を行ったときにより近い感覚をVRネットショッピングシステ ムで再現することを目指し、人間の生理及び錯覚について考える。また、感覚の再現とい う点に関連して、触力覚フィードバックとそれに関連するデバイスについてもこの章で言及 する。
2.1
人間の生理と錯覚人体は外部、内部からの物理的もしくは化学的刺激に対し、受容器と呼ばれる器官でそれ を受け取ることで何らかの反応を返す。感覚とは、この刺激に対する反応のことを指す。感 覚は大きくわけて体性感覚、内臓感覚、特殊感覚の3つに分けることが出来る。
体性感覚とは皮膚感覚と、皮膚と内臓の中間領域である関節や腱の動きによって起こる深 部感覚からなる。内臓感覚とは臓器の痛みや吐き気などの感覚であり、特殊感覚は視覚、聴 覚、味覚、嗅覚、前庭感覚(平衡感覚)など、特殊な器官によってもたらされる感覚をいう。
これらのうち、視覚は前述の通り特殊感覚であり、触覚は物に触れることで物体に押されて 皮膚が歪み、そこにある感覚受容器が刺激されて発生することから皮膚感覚に該当する。こ れらの感覚は常に正しいものではなく、感覚器に異常がないのにもかかわらず、対象物に対 して実際とは異なる知覚を得てしまうことがある。これを錯覚とよぶ。
錯覚のうち、視覚に関するものを錯視という。錯視はさまざまな種類がある。例えば図2.1 の左の図を見ると、二つの扇形のうち、もう一つの扇の内側に相対している扇形、つまり下
第2章 人間の錯覚と触力覚フィードバックの利用 5
の扇Bの方が大きく見える。しかし、右の図を見れば分かる通り、この二つの扇形は同じ大 きさである。これをジャストロー錯視という。このほか、錯視には直線が歪んで見えたり、
静止している物体が動いて見えたりといったものもある。
図 2.1: ジャストロー錯視
錯覚の発生はそれほど珍しいものではなく、人間は脳内において実際とは違うものを認 識してしまいやすい。視覚における錯覚だけでなく、他の様々な部分でも錯覚が発生すると 考えられている。当研究室ではこれまでにもVRネットショッピングに関する研究を行って きたが、その研究過程は人間の錯覚を利用して、実際とは違う感覚を本物の感覚に近づけ、
そこに存在しない商品の認識を行わせることが出来るのではないかという考えに基づいて いる。
2.2
視覚による他感覚への影響我々はひとつの感覚のみで外界を知覚しているわけではない。五感でいえば視覚と聴覚、
視覚と嗅覚など、複数の感覚器から得られる情報を総合して外界の情報を得、周囲の空間を 認識して活動している。その中でも視覚の占める割合は非常に大きなものである。一般に視 覚から得られる情報量は、他の感覚器から得られる情報を合わせた総合的な情報量のうち、
実に80-90%に及ぶといわれている。このため、外界の知覚において、視覚情報は他の感覚
器がもたらす情報に大きな影響を与える。この影響により、最終的な空間の認識にズレが生 じ、結果として錯覚を起こすこともある。
視覚が他の感覚に与える影響を表す現象として、腹話術効果(ventriloquism effect)が有 名である。腹話術師が声を出しているのに、腹話術師の口は動かず、人形の口が動いている ことから、人形が喋っているかのように思ってしまうというものである。これは聴覚で感じ た音源の位置が、視覚の影響によって音源とは別の場所にある対象に引き寄せられて誤認識
第2章 人間の錯覚と触力覚フィードバックの利用 6
されるという現象であり、人間が空間を認識するとき、視覚から得られる情報が認識の基準 となっていることを示すものと考えられる[5]。このように、人間にとって視覚は非常に重 要な知覚手段である。
ここで、本章の導入部で述べたように、実空間に存在する物体の認識には主に視覚と触覚 が働いていると考えられる。腹話術効果の例からも分かるように、視覚はまったく異なる他 の感覚に対しても強い影響を持っており、触覚に対しても同様に何らかの影響を与えるもの だと考えられる。実際にこれまでの研究では、仮想物体の操作を行った場合、触覚の再現が 行えていても、仮想空間上で操作を行っているのが自分の手だという視覚情報の有無によっ て、認識の正確性に差異が発生することが実証されている。そのためVRネットショッピン グにおいて錯覚を利用する上では、「自分の手が操作を行っている」という、視覚的認識の 存在を考慮することが必要である。
2.3
触力覚フィードバックの利用による触覚の再現我々の身近には、何種類もの振動子が存在している。例えばその一部は携帯電話やゲーム 分野における家庭用ゲーム機のコントローラに内臓されており(図2.2)、前者では着信音を 鳴らすべきでない状況で、振動によって着信を知らせたり、後者ではゲームの内容とプレイ 状況に応じてコントローラが振動し、プレイヤーを引きつける迫力ある演出に一役買ってい
たりと[6][7]、現代人との関わりが随所でみられる。このように、すでに振動の存在と効果
は様々な場面で注目され、役立っている。
図2.2: 振動機能付きコントローラ
当研究室で研究しているVRネットショッピングシステムでは、振動子を用いた触力覚 フィードバックを取り入れたデバイスを利用している。振動子を選択する理由は、本節冒頭 に述べた通り一般に普及していることから、誰もが振動を利用した機器に慣れており、抵抗
第2章 人間の錯覚と触力覚フィードバックの利用 7
なく使えると考えられるためである。また、価格も比較的安価であることから、家庭でのシ ステム利用という前提条件にも適していると考えられる。さらに、仮想物体操作において必 要な触覚は、振動子を用いることで再現が出来る。物体への接触と振動とは違う刺激である が、適度な振動を与えることで触覚や圧覚に相当する衝突感等を感知させる研究はこれまで も行われており、実際にその効果が実証されている。これは振動の影響によって手の感覚器 が錯覚を起こし、その錯覚が触覚や圧覚として知覚されているからである。そのため、今回 の研究でも継続して振動を触力覚フィードバックとして用いるものとする。
2.4
ヒューマンインターフェイス人間がコンピュータを操作する際には、キーボードやマウス等、操作を入力するためのイ ンターフェイスデバイスを介している。これまでの実験システムにおいてもそれは例外では ないが、振動による触力覚フィードバックを利用できるデバイスが必要となる。また、VR ネットショッピングシステムでは仮想手モデルを利用するため、ユーザーの手の動きを入力 できるかどうかという点を考慮する。
近年、触力覚フィードバックを搭載したデバイスには様々なものが登場している。たと えば、SensAble technologyから販売されているPHANTOM Omni(図2.3)が挙げられる。
PHANTOM Omniは内臓しているセンサーによってペン型デバイスの位置や向きを感知し、
画面上の物体に触れたり操作したりといったことが出来る。さらに触れたときの反発力、持 ち上がった時の重力などの力を再現することが可能である。この性質を利用して仮想空間上 での「重さ」を認識させることにより、仮想物体を判別する研究が行われている[8]。
図2.3: PHANTOM Omni
ユーザーの手の動きを入力できるデバイスとしては、VRネットショッピングシステムで
第2章 人間の錯覚と触力覚フィードバックの利用 8
も用いているデータグローブが挙げられる。これは人の手の単純な動作から、情報入力を直 感的に行えるセンシング装置として研究が行われてきたものである。データグローブは家 庭用のものも存在しており、最初に登場した家庭用データグローブの一つがパワーグローブ [9](図2.4)である。これはゲーム用のコントローラデバイスとして、1990年に任天堂から発 売された。他にも、家庭で利用できる安価なデータグローブとしては、Essensial Reality社 からP5 Glove[10](図2.5)が発売されている。このP5は元はゲーム分野での使用を視野に 入れて設計されているが、現在は主にコンピュータ向けのインターフェイスとして販売され ている。手を動かすことでカーソルを操作し、指を曲げることでクリックするといったマウ スと同様の操作が可能である。
図2.4: パワーグローブ
図2.5: P5
当研究室でこれまで研究されているVRネットショッピングシステムでは、オンライン ショッピングにおいて商品を手に取って確かめることができるという点から、操作デバイス としてデータグローブを選択している。人間はある物体の大きさや硬さなどについて情報を 得るとき、具体的な数値を教えられるよりも実物に触れてみた方が直感的にその物体につい て理解しやすいと考えられる。そこで、VRネットショッピングシステムに用いるデバイス は普通に手を動かすのに近いイメージで仮想空間上の物体を操作することができるものがよ い。データグローブであれば一般的な手袋と同様の感覚で着脱が可能であり、装着した状態 で手を動かすだけで基本的な仮想手の操作が可能であることから、条件に適している。
9
第 3 章 VR ネットショッピングシステム
これまで当研究室で行われてきたVRネットショッピングに関する研究では、実験システ ムで使用するデバイスが高価なものであった。しかし将来的な普及を考えた場合、一般家庭 でも手の届く程度までデバイスの価格を抑えることが望ましい。今回はデータグローブにつ いて、より安価な物を使うことを考えている。だが安価なデータグローブでは手の動きを検 出するためのセンサー数が減ると考えられ、仮想手操作がうまくいかなくなることが予想さ れる。そこで、本章ではセンサー数の少ないデータグローブを用いて仮想手操作を実現する 手法について述べる。
また、本研究の実験システムではユーザーが仮想空間上において仮想手で仮想物体に触れ たとき、実空間上において自分の手で商品に触れたように認識することに重心を置いてい る。このとき重要なのは、ユーザーが仮想手を自分の手と同じように扱えることである。仮 想手の外見がユーザーの手に近づくことで、ユーザーが感じる臨場感や没入感が増し、仮想 物体を実際にそこにあるように感じやすくなる[4]。そこでユーザーの手の画像情報を元に、
本人の手に近い仮想手をシステムが自動的に選択する機能を実装する。これについてもこの 章で述べる。
最後に、実験システムで使用する仮想手のモデルと仮想物体のモデルについても述べる。
なお、これらの仮想手の基本設計は文献[11]と文献[12]、文献[4]のモデルを用いている。
3.1
少数のセンサーによる仮想手操作人間の手にはいくつもの関節があり、これらの関節のはたらきによって、手は多種多様な 動きをすることができる。物を持ったり押したりといった単純な動きから、じゃんけん等の ジェスチャー、裁縫や工作のように道具を使用した複雑な動きまで、その種類は多岐に渡る。
仮想空間上で定義された仮想手においても、実際の手と同じようにそれらの動作を再現でき ることが理想的である。しかし、そのためには手に存在する多数の関節の曲げ角を測定でき るデータグローブを用意する必要がある。そのような機器は非常に高価なものであり、一般 家庭での利用を想定している当研究室のVRネットショッピングシステムにおいては適して いない。
そこで、比較的安価なデータグローブを用いて仮想手モデルを操作することを考える。こ
第3章 VRネットショッピングシステム 10
の場合、データグローブのセンサー数は少なくなるものと思われる。データグローブのセン サー数が少なくなると手の関節数をカバーできず、正確な手の動きを測定して仮想手モデル に反映することは不可能になる。そこで、あらかじめ仮想手で再現したい手の動きを限定し ておく。本研究の実験モデルでは仮想手による仮想物体操作を行っている。実際の手による 実空間での物体操作には指先で物体を摘むなどの種類があるが、本モデルで想定している動 作は基本的に「物体に合わせて手を握る」というものである。そこで、センサー数の少ない データグローブで再現する動作を「手を握る動き」を中心としたものに限定し、再現方法を 提案する。
3.1.1 仮想手関節の基本角度の設定
今回使用するデータグローブは、指1本につきセンサーが1個で合計5個のセンサーしか 存在していない5DT Data Glove 5 Ultra(図3.1)である。このデータグローブは各指に設置 されたセンサーによって指の曲げを検知し、曲げ具合がどの程度かを0-4095の整数値で出 力することができる。5DT Data Glove 5 Ultraは当研究室でこれまで使用していたデータ グローブに比べると低価格で、その他のデータグローブよりも比較的安く入手することがで きる。ただし、このグローブに設置されているセンサー数は各指に対して1つで合計5個で あり、センサー数が非常に少ないため、計測できる手の動きは限られる。また、5DT Data Glove 5 Ultraのセンサー1個が測定できるのは指1本の関節全ての曲げ具合を総合した値 であり、それぞれの関節についての曲げ具合の数値が測定できるわけではない。そのため、
5DT Data Glove 5 Ultraを装着した状態で手を握っても、仮想手で実際の手のような動き を再現することは不可能である。もしこのデータグローブの出力する値になんの補正も行わ
図3.1: 5DT Data Glove
第3章 VRネットショッピングシステム 11
ない状態で仮想手モデルを操作しようとすると、現実の手の指と仮想手の指とで関節角度 に極端なズレが生じてしまったり、指が思うように曲がらなかったりするなど、実際の手と はかけ離れた不自然な挙動をしてしまうと思われる。そこで、手を握るという動きに注目す る。この動きは親指から小指までの五指を曲げる動きである。これを仮想手で再現するため には、仮想手の指1本に存在する複数の関節に対して、1つのセンサーの出力値から個別の 曲げ角度を算出し、それぞれの関節に設定する必要がある。
仮想手の指には人間の指と同様に、先端から数えて第一関節、第二関節、第三関節の三つ が存在する。これに対してデータグローブのセンサーが出力する値は一つしかないため、こ の値を元に三つの関節の角度を算出する。まず、センサーの値を元に三つの関節のうち第三 関節の曲げ角度を算出する。以後、この曲げ角度を基本の角度とする。今回は仮想手の動き をあらかじめ限定しているので、それぞれの関節もある程度決まった動きをすると思われ る。また、人間の指関節の動きにはある程度の相関関係が見られるため、これを利用して、
基本の角度から他の関節の曲げ角度を求める。ここまでの処理により、指第三関節の角度を 算出出来れば仮想手の関節の角度を決めることができるので、センサー数が少なくても仮想 手を制御することが可能であると考えられる。
第3章 VRネットショッピングシステム 12
第三関節の角度を算出するための式を作成する。まず手にデータグローブをはめた状態で 指を伸ばす操作、第三関節を90度曲げる操作、第三関節を45度曲げる操作を各10回ずつ 行い、データグローブのセンサー出力値を記録した。このとき、センサーは検出した指の曲
げ具合を0-4095の間の整数値として出力する。曲げ具合が大きければ大きいほどセンサー
出力値は大きくなり、逆に小さければ小さいほどセンサー出力値は小さくなる。こうして 出力されたデータのうち、例として指の中でも最も長い第三指に注目し、その値を表3.1に 示す。
表3.1: 指第三関節における関節角度に対するデータグローブのセンサー出力値(中指) 1回 2回 3回 4回 5回 6回 7回 8回 9回 10回 0度 2257 2268 2267 2270 2270 2287 2280 2278 2268 2261 45度 2509 2513 2499 2497 2500 2531 2482 2522 2507 2499 90度 2707 2713 2709 2719 2718 2709 2691 2700 2704 2700
他の指についても同様にデータを取得し、それらの値を元にデータグローブのセンサー出 力値と指の関節角度の関係を求める。例として表3.1の第三指第三関節の各角度のデータの 平均値をとり、その散布図を作ると図3.2のようなグラフが得られる。5本の指について同
図3.2: 手・第三指第三関節の角度に対するグローブのセンサー出力値分布
第3章 VRネットショッピングシステム 13
様にこのような散布図を作成した後、各サンプル点の近傍を通る直線を引く。この直線の方 程式を指の第三関節曲げ角度とグローブのセンサー出力値との関係式とする。この式は、以 下の形の線形方程式(3.1)で表すことができる。
θ=Ag+B (3.1)
θは仮想手の指の第三関節の角度、gはデータグローブの出力値、A、Bは定数である。同 様にして、親指から小指までのセンサー出力値に対する第三関節角度の算出式を設定する。
データグローブの各指のセンサーが出力する値はこの式によって変換され、仮想手の各指の 第三関節の角度として操作モデルに反映される。
3.1.2 指関節角度の再現
前節で得られた指の第三関節の関節角度を基本の角度とし、これをもとに第一から第三関 節までのそれぞれの指関節の動きを設定する。ここで、指の関節の動きには以下の式(3.2) のような比例関係があることが知られている。
θdip= 2
3θpip (3.2)
θdipは指の第一関節の角度、θpipは指の第二関節の角度である。よって、指第一関節と第三 関節の角度の関係を求めれば、センサーが一つしかなくても、そこから導き出した第三関節 の角度情報をもとにして、指の三つの関節角度をすべて求めることができる。その結果、実 際の手の動きと比べて違和感の少ない動きを仮想手で再現できると考えられる。
指の関節角度の関係を求めるため、人間の手の動きのデータを収集した。手の指を伸ばし た状態での各センサーの出力値、手を握った状態での各センサーの出力値を記録する。デー タ収集には、当研究室における従来の実験システムで仮想手操作に使用しているデータグ ローブであるImmersion 社のCyberTouchを用いた。CyberTouchは今回の実験モデルで 使用する5DT Data Glove 5 Ultraよりもセンサー数が多く、計18個のセンサーを備えて いる。だが、センサーの配置部位の問題で、1本の指の根元部分と、指先と根元の中間部分 の2つの出力値しか取ることができない。そこでCyberTouchで何度か数値を計測して経験 的に判断したところ、根元部分のセンサーは第三関節の曲げ具合の値に対応していると思わ れる。指中間部に設置されているセンサーは、第一関節と第二関節の曲げを総合した値を検 出しているものであると思われる。そこで、式(3.2)を用いて後者のセンサーの出力値から 第一関節、第二関節それぞれの曲げ具合の推測値を算出し、これを計算に用いる。
また、CyberTouchのセンサーの値は0-255の値で出力される。指関節の曲げ具合が大き
ければ大きいほど出力値は大きく、小さければ小さいほど出力値は小さくなる。こうして出 力されたデータのうち、例として第三指に注目し、その値を表3.2及び表3.3に示す。
第3章 VRネットショッピングシステム 14
表3.2: 各状態でのデータグローブのセンサー(第三指根元)出力値 状態 指を伸ばした状態 握った状態
1回目 2回目 3回目 1回目 2回目 3回目 1人目 66 69 69 133 135 132 2人目 63 72 69 92 93 89 3人目 54 54 55 121 114 116 4人目 71 69 60 117 127 116 表3.3: 各状態でのデータグローブのセンサー(第三指中間部)出力値
状態 指を伸ばした状態 握った状態 1回目 2回目 3回目 1回目 2回目 3回目 1人目 86 86 84 182 184 181 2人目 86 84 85 154 158 160 3人目 87 87 85 176 172 175 4人目 89 87 87 171 173 165
表3.2に示されているのが根元部分のセンサーの出力値、表3.3で示されているのが指中間 部分のセンサーの出力値である。手を握った状態でのセンサー出力値と指を伸ばした状態で のセンサー出力値との差を、関節がどの程度曲がったかを示す曲げ度値であると考え、これ を∆で表すものとする。すると、それぞれの関節における曲げ度値について、式(3.2)から 式(3.4)-(3.6)が成り立つ。
∆InF = ∆dip+ ∆pip= 2
3∆pip+ ∆pip = 5
3∆pip (3.3)
∆pip = 3
5∆InF, (3.4)
∆dip = 2 3 ·3
5∆InF = 2
5∆InF (3.5)
∆mp = ∆In (3.6)
∆InF はデータグローブのセンサーのうち、指先端部のセンサーが検出した曲げ度値、∆In は指根元のセンサーが検出した指の曲げ度値である。∆dipは第一関節の曲げ度値の推測値 であり、同様に∆pipは第二関節での曲げ度値の推測値、∆mpは第三関節での曲げ度値であ る。これらの値から、第三関節の∆mpと第一関節の∆dipの関係を求める。第三指を例にあ げると、∆mpに対する∆dipの値は以下の図3.3のようになる。
前節と同様に、この散布図に対して各サンプル点の近傍を通る直線を引き、その直線の方 程式が第三関節の曲げ度値と第一関節の曲げ度値の関係を表す式であると考える。各指に対
第3章 VRネットショッピングシステム 15
図3.3: 第三関節の曲げ度値と第一関節の曲げ度値の関係
してこの処理を行うと、以下の式(3.7)のような形の関係式が得られる。
∆dip=C∆mp+D (3.7)
c、dは定数である。得られた関係式を用いて、仮想手の指の第三関節角度を基本の角度と した第一、第二関節の角度計算を行う。結果として仮想手は指の3つの関節の角度情報を得 て、握る動作においては実際の手に比べてかなり違和感の少ない動きができるようになる。
3.2
カメラを利用した仮想手の自動選択機能ディスプレイ上の仮想空間内で動く仮想手をユーザーの実際の手に近づけることは、ユー ザーが仮想物体を本物の物体のように認識できる確率の向上を招き、操作時の臨場感、没入 感といった「物体を操作している実感」を演出するという面でも効果的である。ここでいう
「仮想手を実際の手に近づける」とは、本研究では、仮想手の表面色と大きさを本人のもの に近づけることとした。従来の研究における実験システムでは、3段階の表面色と6段階の 大きさをもつ仮想手を用意している。ユーザーは自分の手の長さを手動で計測し、その結果 に合うように仮想手を手動で選択するという形式で、仮想手を実際の手に近づけている。そ こで今回提案する実験システムでは、PCカメラを用いて直接ユーザーの手の色情報と大き さ情報を取得し、それらの情報からユーザーではなくシステムが自動的に最適な仮想手を選
第3章 VRネットショッピングシステム 16
択する機能について検討する。ただし家庭での利用が容易となるように、カメラは特に固定 することなく、また詳細な位置合わせを不要とする。
3.2.1 色情報の取得
従来研究における実験システムでは、ユーザーの肌の色合いに合わせて表面色を変更でき るように、基本の表面色をもつ仮想手の他に、表面色が濃いもの、表面色が薄いものの合計 三種類の仮想手を候補データとして用意している。そこで、今回もこの候補データを用いる ことを考える。カメラで撮影した画像から手の色情報を取得し、ユーザーの手の表面色に最 も適した色の候補データを仮想手として選択するものとする。
PCカメラは位置を固定せず、自由に動かすことが可能であるとする。ただし、手の撮影 は白い平面をもつ台の上で行うこととし、手以外の背景はすべて白いとする。この画像に 対して、RGB値の一定範囲を指定してマスク処理を行う。マスク処理とは、色情報に注目 して画像全体を走査し、条件を満たす特定の領域を別の新しい画像に抜き出す画像処理の 一手法であり、抜き出された画像をマスク画像という。取得した手とボードの画像の左上 の頂点を原点としたマスク処理を行うと、条件範囲を満たすRGB値を持つ領域が手、そう でない部分が台と判別され、図3.4のようなマスク画像が得られる。ここで、手と判定され
図3.4: マスク画像
た一定領域に注目する。この一定領域に存在するピクセル数をP、ピクセルiにおけるR、 G、Bそれぞれの値をr(i)、g(i)、b(i)、色情報の平均値をRn、Gn、Bnとすると、以下の
第3章 VRネットショッピングシステム 17
式(3.8)-(3.10)が成り立つ。
Rn= Σi=pi=0r(i)
P (3.8)
Gn= Σi=pi=0g(i)
P (3.9)
Bn= Σi=pi=0b(i)
P (3.10)
このRn、Gn、Bnを、ユーザーの手表面のRGB値とする。ここで、任意のピクセルの色 を「RGBを成分とする3次元の色ベクトル」と考える。仮想手の表面色ベクトルには、濃 い色、薄い色、中間色の三種類がある。これら3種の表面色ベクトルとユーザーの手の色ベ クトルとのベクトル間距離に注目し、ユーザーの手の色ベクトルに最も近い表面色ベクトル を決定する。その後、決定した色ベクトルに対応する表面色を持つ仮想手を選択する。
3.2.2 大きさ情報の取得
従来研究における実験システムでは標準サイズの仮想手を含め、大小合わせて6段階の大 きさをもつ仮想手を用意している。そのため、これらの仮想手からユーザーの手の大きさに 合ったサイズのものを選択する機能を考える。ユーザーの手の大きさについての情報は、色 情報のときと同様にPCカメラの撮影画像から取得するものとする。仮想手モデルにおける 仮想手の大きさの違いは、仮想手の指の長さを変更することで表現しているため、画像から 取得するデータも指の長さのデータとする。今回は一般に人間の手の中でもっとも長い指と される第三指に注目し、第三指背面の長さを手の大きさの判断基準とする。また、大きさ判 断のための計算には人体の平均寸法データ[13]を用いる。
カメラの撮影時には、ARToolKitのマーカーを1枚用意する。これは一辺が80mmの長 さをもつ正方形のマーカーである。ARToolKitとは、拡張現実(Augmented Reality:AR)と 呼ばれる現実世界と仮想世界を融合する技術を実現するためのオープンソースのC言語ラ イブラリである[14]。任意の場所に置いたマーカーをカメラでキャプチャし、マーカーの姿 勢や位置の情報を求めて、それに対応した形で3Dキャラクターを表示したりすることが出 来る。
ここで、図3.5にARToolKitにおけるカメラ座標系、ウィンドウ座標系、マーカー座標系 のそれぞれの座標軸を示す。カメラ座標はカメラを原点とした座標系であり、グローバル座 標系とも呼ばれる。ウィンドウ座標系は撮影画像を表示するウィンドウの画面左上を原点と する座標系である。マーカー平面座標系はARToolKitのマーカー平面の延長平面上におけ るの中心部を原点とし、ARToolKitではこれらの座標系の間で座標変換を行うことで、様々 な画像処理を扱っている。
第3章 VRネットショッピングシステム 18
図 3.5: ARToolKitにおける各座標軸
また、ARToolKitのマーカーはカメラ座標系におけるマーカーの中心点座標や向きベク
トル、傾きベクトル、ウインドウ座標系における中心点などの情報を構造体に格納している ため、撮影画像に処理を行う際などに便利である。今回の実験システムでも、カメラの画像 から指の長さを求める前に、画像に対して変換処理を行っている。撮影時のカメラに対する 手の傾き具合などの影響があるため、画像から求めた指の長さは正確ではない。そのため、
ARマーカーの情報を元に撮影時に手が傾いていた角度を算出し、正確な値を求めている。
第3章 VRネットショッピングシステム 19
撮影にあたって、色情報の取得時と同様にカメラは固定せず、自由に動かせるものとする。
また、知りたいのは第三指の長さなので、画面内に手全体を映す必要はない。手とマーカー 以外の背景についても色情報のときと同じく白いものとする。ここで、手首を始点として第 三指先端部に引いた直線を、第三指の方向ベクトルと呼称する。手とマーカーの配置につい ては、図3.6のように第三指の方向ベクトルの向きがカメラ座標系におけるマーカーのY軸 方向ベクトルと一致し、かつマーカーが第三指の方向ベクトルの延長線上かその付近に存在 するように配置する。
図3.6: 手を撮影する際の手とマーカーの配置のイメージ
こうして得られた画像からマスク画像、及び二値画像を生成する。二値画像とは、マスク 画像と同様に色情報に基づく画像の走査を行い、条件を満たす特定の領域を白く、それ以外 の領域を黒く塗りつぶした二色の画像である。二値画像は画像全体の画素の色が白か黒かの 二色しかないため、マスク画像に比べて、撮影する際画像内に手とマーカー以外の余計な情 報が映っていないかどうかを確認しやすい利点がある。このため、第三指の長さを求める処 理は、図3.7のような二値画像をベースに行うようにする。
第3章 VRネットショッピングシステム 20
図3.7: 二値画像
ここで、正方形のマーカーの4辺のうち、第三指の方向ベクトルと平行な辺をマーカーの 注目辺とよぶことにする。手とマーカーを図3.5のような配置にして撮影を行っているため、
第三指の方向ベクトルはカメラ座標系におけるマーカーY軸方向ベクトルと同じ向きであ る。第三指の長さを求める際に使用する二値画像では、後述する処理方法の関係上、マー カーの注目辺とウィンドウ座標系におけるY軸がほぼ平行になっている必要がある。しかし 図3.6の二値画像では、カメラに対するマーカーの位置や向き及び傾きの影響で、マーカー の注目辺とウィンドウのY軸は平行ではない。このままでは第三指の長さ情報を得ること が出来ないため、マーカーの注目辺とウィンドウY軸が平行になるように画像に処理を行 う必要がある。
そこで、ARToolKitにおける各座標軸の関係を利用する。図3.4で、カメラ座標系におけ
るX軸方向ベクトル、Y軸方向ベクトルはウィンドウ座標系におけるX軸方向ベクトル、
Y軸方向ベクトルに等しい。また、カメラ座標系におけるマーカーのX軸方向ベクトル、Y 軸方向ベクトルはそれぞれウィンドウ座標系におけるX軸方向ベクトル、及びY軸方向ベ クトルの逆ベクトルに等しい。これらの座標軸の関係から、ウィンドウ座標系におけるマー カー注目辺のウィンドウY軸に対する傾きAのcosA、sinAの値を求めることが出来る。こ れらの値を元に、図3.8のように画像に対する回転処理を行えば、マーカーの注目辺がウィ ンドウY軸とほぼ平行になっている画像が得られる。
回転処理を行うために、カメラ座標系におけるマーカーのY軸方向ベクトルmと、ウィ ンドウ座標系におけるY軸方向ベクトルの逆ベクトルwとの内積・外積から、式(3-12)及 び式(3-14)によってcosA、sinAを導く。
第3章 VRネットショッピングシステム 21
図3.8: 画像の回転処理イメージ
m·w=|m||w|cosA (3.11)
cosA= m·w
|m||w| (3.12)
m×w=|m||w|sinA (3.13)
sinA= m×w
|m||w| (3.14)
これらのcosA、sinAを用いて、以下の式(3.15)-(3-16)によって画像全体をA◦回転させ る。このときの回転中心は画像の中心点とする。
x2 = (x1−CX)∗cosA−(y1−CY)∗(−sinA) +CX (3.15) y2= (x1−CX)∗(−sinA) + (y1−CY)∗cosA+CY (3.16) x1、y1はそれぞれ回転前の画像のx座標およびy座標、x2、y2はそれぞれ回転後の画像の x座標及びy座標である。CX、CY はそれぞれ画像の中心のx座標、y座標である。回転処
第3章 VRネットショッピングシステム 22
理を行った後の画像は図3.9のようになる。図3.8のイメージ画像のように、第三指の方向 ベクトルがウィンドウ座標系Y軸と平行になっていることが分かる。
図3.9: 回転処理後の二値画像
第3章 VRネットショッピングシステム 23
回転後の二値画像をもとに、第三指の長さを求める。この画像では第三指はウィンドウ座 標Y軸に平行に伸びており、かつ第三指の方向のベクトルはウィンドウ座標X軸方向ベク トルに垂直に交わる。そのため、第三指先端と第三指付け根部分のウィンドウ座標系におけ るy座標の差を第三指の長さと考えることができる。ウィンドウ座標系におけるマーカーの 中心点の座標を(x, y) = (a0, b0)、マーカーの正方形の一辺の長さをLmとすると、撮影時 の手とマーカーの配置条件(図3.6)により、第三指の先端及び付け根部分のy座標の値は必 ずb0+Lmよりも大きくなる。そこで、ウィンドウ座標系X軸に平行な直線y =b0+Lm
よりもy座標が大きい領域について第三指の探索を行う。
図3.10: 第三指先端点の探索イメージ
まず、ウィンドウ座標系における第三指先端部を探索する。探索は図3.10に示すように、
y=n(n > b0+Lm)の直線上において、x= 0のウィンドウ端点から、ウィンドウの逆側端
点までのx座標に存在する画素を順番に調べていくことで行う。探索に使用する画像は二値 画像なので、画素は白か黒かの二通りの色情報をもっている。このことから、探索中の画素 が白であれば手領域、黒であれば背景領域と判断することができる。ここでウィンドウ座標 Xに平行な直線y =b0+Lmを考えると、手領域の中で直線y =b0+Lmとの距離が最も 小さい点が第三指先端である。
次に、ウィンドウ座標系における第三指の付け根を見つけるため、図3.11に示すように 第三指先端部から指の輪郭に沿って探索を行う。回転後の二値画像における第三指先端部に 注目し、ウィンドウ座標X軸における正の側の輪郭に沿って探索する。
最初に第三指先端部の点を通りウィンドウ座標系X軸に平行な直線上でX軸正方向に移 動を行い、移動先の点に注目する。この注目点の画素値を調べ、手領域内の点であればさら にX軸正方向に平行移動を行い、背景領域内の点であればウィンドウ座標Y軸正の方向に 平行移動を行う。移動先の点でも同様に画素値を調べ、手領域であればX軸正方向、背景領
第3章 VRネットショッピングシステム 24
図3.11: 第三指付け根部の探索イメージ
域であればY軸正方向へ平行移動を行う。このようにして注目点を移動していくと、第三 指先端を基準とし、ウィンドウ座標X軸における正の側の輪郭の概形に沿った探索が可能 となる。なお、ここまで述べた指の輪郭に沿った探索方法は、X軸正方向への移動をX軸 負の方向への移動に変更すれば、指の反対側の輪郭に沿った探索方法として使用できる。探 索を繰り返していくと、あるy座標に到達するとY軸正方向へそれ以上移動せず、X軸方 向への移動がしばらく続くようになる。これは、注目点が中指の付け根のy座標に到達した ということを表している。
そこで第三指の先端と付け根のy座標の差を求めると、第三指の長さが得られる。しか し、この値はウィンドウ座標系における1画素を基本単位とする値である。グローバル座標 系での長さの値を求める為には、1画素あたりのグローバル座標系における長さlpicをかけ る必要がある。lpicの値はARToolKitにより求めることができる。ARToolKitは画面内に マーカーが映っているとき、ウィンドウ座標系におけるマーカーの面積を調べることができ る。ここでマーカーは正方形であり、グローバル座標系におけるマーカーの一辺の長さは定 数値なので、式(3.17)によりlpicが求められる。
lpic =
√S
LM (3.17)
Sはウィンドウ座標系におけるマーカーの面積、LM はグローバル座標系におけるマーカー の一辺の長さである。
第3章 VRネットショッピングシステム 25
lpicによって第三指の長さを求めることが出来るが、ここで求められた長さの値は撮影時 のカメラの傾きを考慮していない。実際には撮影時のカメラはマーカーに対してある程度傾 いていると考えられる。このとき撮影画像はカメラ座標系におけるXY平面と平行な平面で あることから、実際の長さはカメラ座標系Z軸の傾きを考慮して算出する必要がある。二値 画像に回転処理を行ったときと同様にして、カメラ座標系におけるマーカーの法線ベクトル とカメラ座標Z軸のなす角の余弦を求める。先ほどlpicをかけた長さの値にこの余弦をかけ れば、グローバル座標系における第三指の長さを求めることができる。
以上の処理により求まったユーザーの第三指の長さから、式(3.18)により拡大率αを算 出する。
α= l
L (3.18)
lはカメラ画像からの情報取得処理によって求めた第三指の長さ、Lは人間の第三指背面長 の全国平均長[13]である。この拡大率αの値がどの程度かによって、用意してある仮想手 のうちもっとも適したものを選択する。
第3章 VRネットショッピングシステム 26
3.3
仮想手による物体操作モデル従来の研究ではユーザーが仮想空間上で仮想手を操作し、仮想物体を認識するという点に 重点を置き、具体的な操作は仮想手によって操作対象に触ることや、握ることで行うものと している。そのため操作物体の大きさは片手で扱える程度に限定している。
図3.12: 仮想手
今回は右手だけで操作する仮想手モデルを想定している(図3.12)。なお、これらのモデル は反転すれば左手用の操作モデルとして転用できる。物体との干渉を判定するために、それ ぞれの指の指先及び各関節に判定点を設定している。これらのうち、関節部分の判定点を以 下便宜的に関節点と呼ぶ。実際の手における手首の位置を仮想手の基準点とし、この点を仮 想空間内の仮想手の位置とする。仮想手の表示の際、基準点におけるベクトル方向とそれを 軸とする回転を手の方向、位置と方向の変化を手の動きとして扱う。なお、仮想手のモデリ ングデータにはフリーのソフトウェアを利用している。仮想手モデルでは、指の動作は人差 し指、中指、薬指、小指は各関節点ごとの曲げに加えて第3関節における指の開閉の2つの 自由度を持つ。親指は曲げと回転、加えて開閉の合計3自由度をもつ。なお、実際の手の開 閉動作においては指の動作によって掌の形状も多少変化するが、このモデルでは考慮しない ものとする。