拡張現実感技術を用いたユーザインタフェースに関する研究
2004MT051 薫田 佳剛

2004MT107 田中 佑樹
指導教員

1 はじめに今日, コンピュータにおけるユーザインタフェース(UI) を 3 次元 (3D) 空間で利用するための技術は多く研究されている. 従来の 2DUI は一定の学習をユーザに要求する問題があり, その UI を扱うコンピュータの今後の発展は難しいと我々は考える. そのような理由から,
3DUI の多くの研究目的は, ユーザに直感的で分かり易いインタフェースを提供することである. それを実現する技術のうちの一つとして拡張現実感 (AR) 技術がある. AR は現実世界に仮想世界をも取り込んだ環境であり, 実時間で 3D 仮想オブジェクトをあたかも現実世界に存在するオブジェクトのように取り扱うことを可能とし, 直感的で初心者にも分かり易い UI を実現できると期待される. また, 人の手による 3D 仮想オブジェクトの操作をコンピュータに取り込むためには画像認識技術が必要である.
そこで本研究では, これらの技術を実現するためにAR 技術を用いた人の手による直感的な操作を行う分かり易い UI の実現を目的としており, その手法として, 現実世界に 3D 仮想オブジェクトを重畳する ARToolKitと, 高度なコンピュータビジョン技術をサポートするOpenCV を用いている.
なお, 薫田は主にシステムの構築を, 田中は主に UI の調査並びに 2DUI と 3DUI の比較及び検討を, 小笠原は主に AR の調査を担当した.

2 3DUI の概要
2.1 UI の概要
UI という概念は, 家電の「電源を入れる」「チャンネルを変える」といった, 人間が機器に対して直接操作することから誕生した [1]. さらに, 情報化社会に入り, 家電のソフトウェア化が進んでいった. 現在の UI の解釈としては, ユーザとコンピュータの間のコミュニケーションが行われるときに用いられるものと捉えられている.
GUI(Graphical User Interface) はウィンドウやアイコンなどをマウスなどのポインティングデバイスにより操作する方法であり, 単純な操作に向いている UI である. 近年, この GUI を 2D から 3D にする研究及び開発が盛んである.
2.2 3D 空間の利点
3DGUI(3DUI) の技術はますます多様化しており, 従来型の WIMP(ウィンドウ・アイコン・メニュー・ポインタ) インタフェースにおける標準的な部品であるマウスやキーボードなどのデバイスに代わって, ユーザやオブジェクトの位置情報を提供するトラッカのような空間入力デバイスや 3D ポインティングデバイスなどの非従2005MT082 小笠原 将也

金 知俊
来型のデバイスは急激に増えている [3]. これらを用いて
3D 空間を利用することにより, 2D 空間では実現しないようなオブジェクトの配置やオブジェクトへの操作が可能となる. さらに, ユーザにリアリティを与えるという効果もあり, 現実世界にいるような感覚を持つことで, 直感的に理解できる表現が可能となる.
ユーザへの直感的で分かりやすいインタフェースを構築するのに有効な技術として, 次章で述べる AR がある.

3 AR
3.1 AR とは
拡張現実感 (augmented reality: AR) とは, 3DUI が使用される技術分野のことであり, 合成されたオブジェクトまたは情報で増強された現実世界の環境のことである [3].
3.2 AR を利用したアプリケーション
現実世界と仮想世界との間でインタラクションを可能とし, 3D 仮想オブジェクトを実時間で現実世界に表示する AR は様々な分野で用いられる [4]. 例えば, 保守や修理作業において説明書に 3D 仮想オブジェクトを重畳し,その内容を補足するために用いられる. また, AR 技術を用いた UI の研究として, 加藤博一ら [2] は, AR 技術を用いたタンジブルインタフェース (Tangible UI:TUI)のプロトタイプシステムの試作及び紹介をしている. このように AR 技術を利用した UI やアプリケーションなどの研究は, 将来我々の日常生活に役立つことが期待できる.

3.3 ARToolKit
本研究では AR を実現するために ARToolKit を使用している.
ARToolKit は C 言語用の AR アプリケーションを開発するためのソフトウェアライブラリ群である [5].
ARToolKit を使用せずに AR アプリケーションを開発することは専門的な知識や技術を必要とする部分があり困難であるが, ARToolKit はその部分をブラックボックス化して, AR アプリケーションの開発をより容易にする.
ARToolKit を使用して作る AR アプリケーションとは, Web カメラを使用して現実世界をキャプチャして,キャプチャ画像の中にあるマーカ位置に 3D 仮想オブジェクトを描画するアプリケーションのことである [5].
図 1 は, その Web カメラとマーカの座標系を示している.
マーカの 3D 位置情報を求めるには, マーカ座標系をカメラ座標系に変換する行列 Tcm を推定しなければならない. マーカ座標系 (Xm , Ym , Zm ) はカメラ座標系(Xc , Yc , Zc ) に変換可能で, マーカ内部のパターンを識Webカメラ
Xc

xc

Yc

yc

Zc

マーカ

カメラ座標系Zm

カメラから見たマーカ

カメラとマーカの位置

理想スクリーン座標系

Ym

３D仮想オブジェクト

Xm

マーカ座標系

図1

システムの座標系

別するために理想スクリーン座標系 (xc , yc ) にマーカ座標系の Xm -Ym 平面内の点 (Xm , Ym , 0) が透視変換モデルにより投影され, これにより画像の正規化が完了し,事前に登録したパターンとのテンプレートマッチングにより, マーカが回転や移動をしてもそのマーカに対応した 3D 仮想オブジェクトを重畳する. また, システムの座標系の説明として, 式 (1) により, まず理想スクリーン座標系にマーカ座標系 Xm -Ym 平面内の点が変換される.
このとき, パラメータ C はマーカのサイズとマーカの 4頂点座標値により求められ, h はスカラーを表している.
次に, 式 (2) によりマーカ座標系はカメラ座標系に変換される. R3×3 と T3×1 はそれぞれ回転移動成分と平行移動成分を示している. さらに, 式 (3) を用いることによりカメラ座標系は理想スクリーン座標系に変換される. これにより 3D 仮想オブジェクトはマーカと結び付いているような感覚をユーザに与える. パラメータ P はカメラキャリブレーションにより求められる. 文献 [6] は, さらに詳しくマーカの 3D 位置情報などについて紹介しているが, ここでは根本的な式のみを用いることとする.

[] [hxc
C11hyc = C21
hC31[ Xc ]Yc
Zc
1[ Xm ]
=Tcm

Ym
Zm
1

C12C22C32C13C23C33"][XmYm
1

R3×3 T3×1=000 1

  P11Xchxc
 Yc   0 hyc  h  = P Z  =  0c011P12P2200P13P2310

図2

画像の２値化

ARToolKit での主な処理画することができない. 例えば, 図 3 のようにマーカの端が少しだけ隠れると描画することができなくなる. このことは AR アプリケーションの一つの問題であると考えられる. 3D 仮想オブジェクトを描画するにはそれに対応するマーカを用意する必要があり手間がかかることもまた問題の一つである.

(1) マーカが隠れていない場合
図3]# [ Xm ]
Ym
Zm
1

拡張現実感

(2) マーカが隠れている場合

マーカを隠した場合の出力画像の変化(1)

4 OpenCV(2) 0 Xc0  Yc 0  Zc 11(3)ARToolKit を使用して作った AR アプリケーションの具体例を示す. 図 2 のように Web カメラがマーカを捕らえると, AR アプリケーションがそのマーカの位置や向きを取得して, 上記で述べた座標変換を経て, 3D 仮想オブジェクトが現実世界に重畳する. また, マーカのサイズによって描画される 3D 仮想オブジェクトのサイズも変わる.
3.4 ARToolKit による AR アプリケーションの問題点
このアプリケーションはカメラがマーカを完全に捕らえていないとそれに対応する 3D 仮想オブジェクトを描

4.1 OpenCV とは
OpenCV は, Intel 社によって開発された画像処理ラ
イブラリ [7] であり, 画像を認識して処理する高度なコンピュータビジョン技術を比較的容易に処理することができる. OpenCV が提供している機能は, 主に画像を用いた処理をすることであるが, 具体的には Web カメラなどを用いて取り込んだ画像に対して処理をして, 画像の2 値化や領域抽出, 形状特徴抽出, そして物体追跡などを実現する.
4.2 OpenCV による画像処理例
OpenCV を用いて, 形状特徴抽出のおおまかな処理の流れを以下に示し, 処理画像を図 4 に示す [7].

1 HSV 表色系を用いた肌色領域抽出
2 欠損領域の補間3 面積が最大の領域を抽出し, その面積を求める
4 手領域の Convex Hull を生成
5 Convex Hull 内の面積を算出
6 グーチョキパーの識別表 1 マーカの各面に対する 3D 仮想オブジェ
クトの描画と操作
１(1) グー(2) チョキ
図4(3) パー

形状特徴抽出

5 本研究のシステム
画像の取得と表示
本研究のシステムは ARToolKit と形状特徴抽出アルゴリズムを組み合わせることにより実現している. したがって, カメラ画像の取得及び表示を ARToolKit で処理しているので, 文献 [8] を参考に, まず取得した画像に対して OpenCV で扱える画像の型に変換する. 次に, 形状特徴抽出アルゴリズムで処理された画像は, ARToolKitで表示できるようにするためにその画像に対して再び画像の型を変換する必要がある. 図 5 は, その一連の処理の流れを示したものである.
現実
世界
カメラ

画像データ

コピー先

ARToolKit の画像ポインタ

図5

画像データ

コンピュータ

画像データ
OpenCV の画像ポインタ

処理

画像データ処理された
画像ポインタ変換

パー
トーラスの拡大

２四角柱の縮小

四角柱の回転四角柱の拡大

３コーンの縮小

コーンの回転コーンの拡大４ティーポットの縮小

ティーポットの回転ティーポットの拡大

５ティーポットの描画

トーラスの描画

立方体の描画

６球体の縮小球体の平行移動

球体の拡大

画像
データ

3 種類の手形状を認識しない場合

マーカ

1234563D 仮想オブジェクト
トーラス
四角柱
コーン
ティーポット
立方体
球体

クトを切り替え及び操作する直感的なインタフェースの実現に成功した. 図 6 では, マーカのパターンが 5 の場合, 手形状に応じて 3D 仮想オブジェクトが切り替わる様子を示す. 次に, パターンが 1 の場合の図 7 及び図 8
は, 手形状に応じて 3D 仮想オブジェクトが縮小及び拡大, さらに x 軸回りに回転していることがわかる. 加えて
図 9 では, 3D 仮想オブジェクトをチョキの手形状に対して x 軸方向に平行移動させることに成功している.

ARToolKit の画像ポインタ

画像の取得と表示

制約条件
本研究のシステムはユーザの手に制約条件を課している. 人間の手には様々な動きが存在し, それらの動きごとに対するフィードバックを提示するのは不可能である.
3D 仮想オブジェクトに対して直接的な操作をするのであれば, ユーザはデータグローブを身に付けたり, 手指による直接的な操作方法を開発しなければならない. そこで, 本研究のシステムではユーザに制約条件を付加しており, ユーザの手形状を形状特徴抽出アルゴリズムを用いて図 4 のように 3 種類で表している. 手形状の変化は3 種類で, サイコロ状マーカの 6 つの各面に重畳する 3D仮想オブジェクトをその 3 種類の手形状で切り替えている (表 1). また, システムがグー, チョキ, パーの範囲内での認識をしない場合は表 2 のようにマーカ上に 3D 仮想オブジェクトを重畳する.
5.3 実行結果と考察
3 章で述べた ARToolKit を用いて AR アプリケーションを実現し, 4 章で述べた OpenCV の形状特徴抽出
アルゴリズムと 5.2 節の制約条件を課したシステムを構築することで, ユーザの手形状により 3D 仮想オブジェ

5.2

チョキ
トーラスの回転

表25.1

画像データ

グー
トーラスの縮小(1) グー
図6(2) チョキ

(3) パー

手形状による 3D 仮想オブジェクトの切り替え

ただし, 今回実現したシステムではユーザの手の認識は不安定である. それを回避するために, 現実世界をキャプチャするカメラに対してユーザが手を明確にグー,チョキ, パーの形にする必要がある. これはユーザの手形状と 3D 仮想オブジェクトは互いに対になっているので,システムの誤った認識を防ぐためでもある. 図 10(1) は手をグーの形にしているときだが, 同じ肌色やその色に類似した部分が, グーでもチョキに対応した 3D 仮想オブジェクトをマーカ上に重畳している. 次に図 10 の (2)は, 右手でチョキの形状を作っているが左手もカメラにキャプチャされてしまっている. したがって, 凸包がその左手も囲もうとしてしまい, 結果としてパーとして認識してしまった. また, 図 10 の (3) はユーザが手形状をパーとしたつもりでもシステムはグーと認識している.
それにより, マーカ上に重畳する 3D 仮想オブジェクトが異なってしまう. さらに, 人でない肌色をしたオブジェ

(1)

(3)

(1)

(2)

図 7 トーラスの回転 (手がチョキの場合)

(2)

図9

球体の平行移動 (手がチョキの場合)(1) ユーザが手をグーに(1) 手がパーの場合
図8(2) 手がグーの場合した場合(3)(2) ユーザが手をチョキにした場合

トーラスの拡大・縮小

クトがカメラにキャプチャされたときもシステムは誤認識してしまう場合を挙げる. 図 10 の (4) は, マーカが辞書の上にあり, システムが辞書の表紙の肌色らしき部分を, ユーザが手形状をパーとしたときのように認識している.

(3) ユーザが手をパーにしたつもりの場合(4) 手以外の肌色らしき部分を抽出した場合

図 10 システムの誤認識

6 おわりに
本研究では, 現実世界に重畳した 3D 仮想オブジェク
トに対し, マウスなどを用いずに現実のユーザの手によって 3D 仮想オブジェクトを操作する直感的なインタフェースを構築することを目的としている. 手法として, まず現実世界と仮想世界との間における実時間でのインタラクションを可能として, 現実世界に 3D 仮想オブジェクトを重畳させることができる ARToolKit を用いて AR インタフェースの構築をした. そして, 3D 仮想オブジェクトの生成は OpenGL を取り入れた. さらに, ユーザの手形状を判定するために OpenCV の形状特徴抽出アルゴリズムを取り入れた. ARToolKit でカメラ画像を取得し, OpenCV で処理できる型にその画像を変換して, 画素の格納順に配慮しながら形状特徴抽出アルゴリズムにより処理された画像に対して逆変換をし, ARToolKit で画像を表示した. これらの手法により,AR 環境でユーザの手形状に応じて 3D 仮想オブジェクトの操作インタフェースが構築できた. 現時点の問題として, ユーザは 3 種類の手形状を作るだけであり, 変化させる 3D 仮想オブジェクトの数が少ないということが挙げられる. 手形状の種類の数と 3D 仮想オブジェクトの動作の数が増加すれば, 本研究のシステムの UI がユーザに直感的な操作をするインタフェースであるということに, より説得力をもたらすことができると考えられる.

謝辞
本研究を進めるにあたり, 熱心なご指導と数々の的確なアドバイスを賜わりました金知俊先生, 互いに切磋琢磨した他研究チームに深く感謝致します.

参考文献[1] 奥田充一, 佐藤啓一郎: モバイル時代のユーザイン
タフェース, シャープ技報第 81 号, pp.36-40(2001).
[2] 加藤博一, Mark Billinghurst, Ivan Poupyrev, 鉄谷信二, 橘啓八郎:拡張現実感技術を用いたタンジブ
ルインタフェース, 芸術科学会論文誌, Vol.1, No.2,
pp.97-104(2002).
[3] Doug A.Bowman, Ernst Kruijﬀ, JosephJ.LaViola,Jr, lvan Poupyrev: 3Dユーザイン
タフェース, 丸善株式会社 (2005).
[4] Ronald T.Azuma: A Survey of Augmented Reality, In Presence: Teleoperators and Virtual Environments 6, 4, pp.355-385, August 1997.
[5] 谷尻豊寿: 拡張現実感を実現する ARToolKit プロ
グラミング, 株式会社 カットシステム (2008).
[6] 加藤博一, Mark Billinghurst, 浅野浩一, 橘啓八郎:
マーカ追跡に基づく拡張現実感システムとそのキャリブレーション, TVRSJ, Vol.4, No.4, 1999.
[7] 奈良先端科学技術大学院大学 OpenCV プログラミ
ングブック制作チーム：OpenCV プログラミング
ブック, 株式会社毎日コミュニケーションズ (2007).
[8] 橋本直: 3D キャラクタ−が現実世界に誕生!ARToolKit 拡張現実感プログラミング入門, 株式会社
アスキー・メディアワークス (2008).