(57)【要約】【課題】光学式シースルー型HMDを用いたARシステムにおいて、少ないポインティング操作回数で正確なキャリブレーションを可能にする。【解決手段】カメラ位置姿勢推定部４３はカメラ３の位置および姿勢を推定する。3D-2D対応構成部４４は、カメラ３の位置、姿勢に基づいて、マーカ座標系における一点のカメラ座標系における３次元座標を計算する。さらに、ユーザにポインティング操作を要求して、その一点がスクリーン２を通してユーザの目に入力される際の当該スクリーン平面上の２次元座標を取得し、これら３次元座標と２次元座標との対応を一組として構成してオンライン・パラメータ推定部４５へ出力する。オンライン・パラメータ推定部４５は、従来技術では６つの3D-2D対応点から演算していたキャリブレーション・パラメータを、より少ない3D-2D対応点のみで推定すべく、不足する情報を、予め取得されているオフライン・パラメータで補う。【選択図】図２
2014106642.tif 000002
【特許請求の範囲】
【請求項１】
HMDに固定されたカメラでマーカを撮影し、スクリーンに表示される仮想環境の座標系とスクリーンを通して視認される現実環境の座標系とのずれを較正する光学式シースルー型HMDを用いたARシステムにおいて、
カメラ画像からマーカを検出してマーカ座標系とカメラ座標系との対応関係を求めるマーカ検知手段と、
前記マーカ座標系とカメラ画像平面との対応関係に基づいて、マーカ座標系におけるカメラの位置および姿勢を推定するカメラ位置姿勢推定手段と、
HMDを装着したユーザに、スクリーンを通して視認されるマーカ上の特定の一点を指定させるポインティング操作手段と、
前記カメラの位置および姿勢の推定結果に基づいて、マーカ上の前記一点のカメラ座標系での３次元座標を、前記ポインティング操作手段により指定されたスクリーン平面での一点の２次元座標と対応付ける3D-2D対応構成手段と、
前記カメラ座標系とスクリーン座標系との相対的な位置関係に固有のオフライン・パラメータを記憶する手段と
前記複数回のポインティング操作により得られる各点の３次元座標および２次元座標の対応関係、前記カメラの位置および姿勢、ならびに前記オフライン・パラメータに基づいて、前記ユーザとHMDとの相対的な位置関係に固有のオンライン・パラメータを推定するオンライン・パラメータ推定手段と、
前記オンライン・パラメータに基づいて、カメラ座標系上の一点をスクリーン平面に投影するための射影変換行列をキャリブレーション・パラメータとして求めるキャリブレーション・パラメータ構成手段とを具備したことを特徴とする光学式シースルー型HMDを用いたARシステム。
【請求項２】
前記オフライン・パラメータが、スクリーン座標系とカメラ座標系との間の変換を表現する３自由度の回転行列および３自由度の並進ベクトルであることを特徴とする請求項１に記載の光学式シースルー型HMDを用いたARシステム。
【請求項３】
前記オフライン・パラメータが、前記スクリーンのピクセル密度を更に含むことを特徴とする請求項２に記載の光学式シースルー型HMDを用いたARシステム。
【請求項４】
前記ポインティング操作手段は、マウスまたはタッチパネルによりカーソルをスクリーン上で移動させ、前記一点と重なった位置を指定させることを特徴とする請求項１ないし３のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項５】
前記ポインティング操作手段は、ユーザの頭の動きを検知してカーソルをスクリーン上で移動させ、前記複数点のいずれかと重なった位置を指定させることを特徴とする請求項１ないし３のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項６】
前記オンライン・パラメータが、ユーザとスクリーンとの位置関係に起因する３自由度のパラメータであることを特徴とする請求項１ないし５のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項７】
前記オンライン・パラメータが、ユーザの目とスクリーンとの距離を示す１自由度のパラメータ、およびユーザが正面を向いた際のスクリーン上の視線の位置を示す２自由度のパラメータを含むことを特徴とする請求項１ないし５のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項８】
前記オンライン・パラメータが、スクリーンの１自由度のピクセル密度を更に含むことを特徴とする請求項６に記載の光学式シースルー型HMDを用いたARシステム。
【請求項９】
前記オンライン・パラメータが、ユーザの目を光軸中心、視線を光軸、スクリーンを画像平面としたピンホールカメラモデルにおける１自由度の焦点距離と２自由度の光軸のずれであることを特徴とする請求項１ないし５のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項１０】
前記オンライン・パラメータ推定部が、複数の試行により得た複数のマーカのうち、そのマーカ座標系を基準座標軸として使用するマーカを一つ選択することを特徴とする請求項１ないし９のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項１１】
前記オンライン・パラメータ推定手段が、複数のマーカの３次元座標を基準座標軸における３次元座標として再計算することを特徴とする請求項１ないし９のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項１２】
前記オフライン・パラメータが、キャリブレーションの段階のみにおいて前記スクリーンおよびカメラとの位置関係として固定されており、キャリブレーション以後に実施される前記スクリーンへの重畳表示の際に、前記スクリーンとカメラとの位置関係がオフライン・パラメ−タとして計算されることを特徴とする請求項１ないし１１のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式シースルー型HMDを用いたARシステムに係り、特に、簡単な操作で座標系の較正を行えるARシステムに関する。
【背景技術】
【０００２】
AR（拡張現実感）は、文字やCG等の仮想的な電子情報を現実世界に付加する概念である。カメラ画像上の適切な位置に電子情報を重畳表示するためには、現実世界に存在する基準座標系に対するカメラの位置および姿勢（カメラに対する基準座標系の位置および姿勢）を推定する必要がある。特に、立体的なCGキャラクタを現実世界に重ね合わせて表示するARシステムにおいて、重畳するオブジェクトと現実世界との幾何学的な整合性を維持するためには、より高い推定精度が要求される。この精度が不十分であると、例えばCGキャラクタが現実世界の机の上から離れて浮いて表示されるといった画像破綻が生じ得る。
【０００３】
近年、HMD（ヘッド・マウント・ディスプレイ）を利用したARシステムの構築が盛んに試みられている。HMDとは、頭部に搭載する小型の画像表示装置（スクリーン）を備えた眼鏡型装置、またはそれに加えて演算装置を備えた端末の総称であり、日常的に着用可能なウェアラブルコンピュータの一種とも解釈できる。
【０００４】
HMDを用いたARシステムでは、現実世界に存在する対象に関連する情報をHMDのスクリーンに重畳表示する等の利用シーンが考えられる。例えば、マップ・ナビゲーションにおいては、ハンズフリーの状態で歩道や曲がり角にそって矢印を表示することができるため、携帯電話やスマートフォンによるナビゲーションに対して利便性の向上が期待できる。
【０００５】
HMDは主に２種類に分類できる。一つはビデオシースルー型と呼ばれ、もう一つは光学式シースルー型と呼ばれる。これらを用いてARシステムを構築する場合に生じる両者の違いは、重畳表示のベースとなる現実空間の画像がカメラによって取得されるか否かであり、ビデオシースルー型HMDでは、カメラにより取得されて電気信号に変換された映像が現実空間の画像となり、光学式シースルー型HMDでは、現実空間そのものが透過型のスクリーンを通してユーザの目に直接入力される。
【０００６】
画像処理の観点から各方式を比較すると、ビデオシースルー型の場合は現実空間の画像が電子情報として演算部に入力されるため、その画像を解析することにより現実空間にあわせて情報を重畳することは容易である。
【０００７】
なお、ここで言及する「容易」とは、従来から議論されているARシステムのための基本的なアルゴリズムをそのまま適用することができるという意味であり、例えば、現実空間にARマーカを用意することで、入力された画像からマーカの位置および姿勢を計算し、適切な位置および向きでCGキャラクタを配置することで、現実空間においてCGキャラクタがマーカの上にあたかも乗っているかのような画像をユーザに見せることができる。
【０００８】
これに対して、光学式シースルー型HMDの場合には、ユーザの目に入る画像を電子的に取得することができないので上記の方法は適用できない。したがって、このような光学式シースルー型HMDを用いたARシステムにおいて、上記のように現実空間のマーカの上にCGキャラクタを乗せることを目的とするのであれば、カメラをHMDのフレーム等に固定して、あたかもCGキャラクタがマーカの上に乗っているかのように見える、スクリーン上の適切な位置を、カメラが取得した画像から推定するアルゴリズムが必要になる。
【０００９】
図６は、光学式シースルー型HMDの代表的な構成を示した模式図であり、メガネ状のフレーム１と、メガネ状フレーム１の一方のレンズ位置に設けられた透過式のスクリーン２と、フレーム１に固定されてARマーカ６を含む現実環境を撮影するカメラ３とを主要な構成とする。図７は、このような光学式シースルー型HMDを用いたARシステムにおける座標系の較正方法を説明するための図である。
【００１０】
光学式シースルー型HMDにARを表示するためには、マーカ６に対するスクリーンへの投影関係P2が必要となる。しかしながら、光学式シースルー型HMDでは、ユーザがスクリーンを通して実際に見ている映像を取得できないので、投影関係P2は、スクリーン２上のARマーカ６の位置をポインティングするといった、ユーザの協力無しには計測できない。
【００１１】
これに対して、マーカ６に対するカメラ３の姿勢W1は、カメラ３が取得した映像から周知のマーカ位置検出プログラムにより自動的に計算できる。したがって、カメラ３に対するスクリーン２への投影関係P21が判れば、当該投影関係P21およびカメラ姿勢W1に基づいてHMDスクリーン投影P2を計算できる。
【００１２】
なお、ここでの投影関係P21とは、厳密には、カメラ３により取得されるカメラ画像の現実環境での３次元座標系（カメラ座標系）と、この現実環境がHMDのスクリーン２を通してユーザの目に入力される際のスクリーン２上の投影位置を示す２次元座標系（スクリーン座標系）との相対的な関係である。
【００１３】
しかしながら、図８に示したように、カメラ３に対するHMDスクリーンへの投影関係P21は、例えばユーザの鼻と目との間隔やユーザの目とHMDスクリーンとの間隔に依存するので、ユーザごとに較正しなければならない。また、同一ユーザであっても、メガネのかけ方が都度変わるような場合には、メガネをかけるごとに較正しなければならない。このような、カメラ３に対するHMDへの投影位置関係P21の較正は、一般に「HMDのキャリブレーション」と呼ばれる。
【００１４】
非特許文献１には、カメラ３が検出したマーカ６のカメラ画像上での２次元位置と、スクリーン２を通してユーザの目に入力されるスクリーン上でのマーカの２次元位置との違いを補正する平面射影変換行列を、ユーザが少なくとも４点をポインティング操作により指定することによりキャリブレーションする方式が開示されている。
【００１５】
マーカを利用したキャリブレーションでは、ユーザの目に入力される画像におけるマーカに関する情報を得るためにポインティング操作等の手動入力が必要となり、この方式では比較的少ない回数（最低４回）のポインティング操作によりキャリブレーションを実施できる。但し、ポインティング操作中はユーザを頭の位置を固定（ヘッド・ロック）しておく必要があるほか、正確な位置で重畳表示できるオブジェクトがマーカと同一平面上に存在するものに限られる。
【００１６】
非特許文献２には、上述の２つの技術課題を解決する方式が開示されており、非特許文献１と同様に複数回のポインティング操作によりキャリブレーションを実施する方式である。しかしながら、ポインティング操作中でもヘッド・ロックは不要であり、またマーカ座標系の全ての点が重畳表示の対象となっている。
【００１７】
次いで、非特許文献２に開示されており、本発明のベースとなるキャリブレーション手法およびキャリブレーション以降の重畳表示方法について説明する。なお、カメラ３はマーカを正確に検出できているものとする。
【００１８】
図９は、非特許文献２に開示された光学式シースルー型HMDのキャリブレーション方法を模式的に表現した図である。
【００１９】
カメラ３とマーカ６の座標系との相対的な位置関係はマーカ位置検出プログラムにより既知なので、ユーザにポインティングさせるマーカ６上の一点を事前に定めておいた場合、ユーザがスクリーン上でポインティングした一点に対して、その現実空間上（マーカ座標系）の３次元座標を計算できる。したがって、この一回のポインティング操作により、ユーザがポインティングしたスクリーン上の点の２次元座標と、計算された３次元座標との組（対応点）が得られる。非特許文献２では、この試行を少なくとも６回行う必要がある。すなわち、少なくとも6回のポインティング操作がユーザに強いられる。
【００２０】
現実環境内の３次元座標点がスクリーン上の２次元座標点に投影される関係は、ピンホールカメラモデルにより3×4行列の射影行列P3×4を用いて表現でき、この射影行列P3×4の要素を少なくとも６組の点対応から計算するアルゴリズムは、DLT（Direct Linear Transformation）解法として知られている。
【００２１】
その後は、前記図６に示したように、DLT解法により得られた射影変換行列P3×4と、このときに得られるマーカ６に対するカメラ３の位置および姿勢を表す4×4行列の外部パラメータ行列W4×4とからP3×4・W-14×4が計算される。このP3×4・W-14×4は、カメラ３に関連するカメラ座標系における３次元座標点がスクリーン２へ投影される関係を表現しており、マーカ６が現実空間内のどこに存在していたとしても一定値として得られる。すなわち、この3×4行列の各要素が、事前に求めるべきHMDのキャリブレーション・パラメータとなる。
【００２２】
そして、キャリブレーション以降は、キャリブレーション・パラメータを利用することで手動入力なしにスクリーン２への重畳表示を実現できるようになる。具体的には、その都度得られているマーカ６に対するカメラ３の位置および姿勢をW1とすると、(P3×4・W-14×4)・W1という射影変換行列により、マーカ座標系における３次元座標点をスクリーン２へ正確に投影することが可能になる。
【先行技術文献】
【非特許文献】
【００２３】
【非特許文献１】G. Klinker, D. Stricker, D. Reiners, "Augmented Reality: A Balancing Act Between High Quality and Real-Time Constraints", Mixed Reality - Merging Real and Virtual Worlds (Ed. by Y. Ohta and H. Tamura), Ohmsha and Springer-Verlag, pp.325-346, 1999.
【非特許文献２】加藤博一,M.Billinghurst,浅野浩一,橘啓八郎，"マーカー追跡に基づく拡張現実感システムとそのキャリブレーション",日本バーチャルリアリティ学会論文誌，Vol4,No4,pp.607-616,(1999)
【発明の概要】
【発明が解決しようとする課題】
【００２４】
非特許文献１では、ポインティング操作中、ユーザは頭の位置を固定しておく必要があり、また、重畳表示できるオブジェクトがマーカと同一平面上に存在するものに限られるという技術課題があった。
【００２５】
非特許文献２では、少なくとも６回のポインティング操作がユーザに求められる。光学式シースルー型HMDを利用したARシステムでは、キャリブレーションはユーザごとに、厳密にはユーザがHMDを装着するごとに行う必要がある。また、キャリブレーション以降にHMDの装着位置がずれた場合は、キャリブレーションを一からやり直す必要がある。したがって、キャリブレーションには、より少ない操作回数が要望されている。
【００２６】
本発明の目的は、上述の技術課題を解決し、光学式シースルー型HMDを搭載したARシステムにおいて、従来よりも少ないポインティング操作回数で、より正確なキャリブレーションを可能にするHMDを利用したARシステムを提供することにある。
【課題を解決するための手段】
【００２７】
上記の目的を達成するために、本発明は、HMDに固定されたカメラでマーカを撮影し、スクリーンに表示される仮想環境の座標系とスクリーンを通して視認される現実環境の座標系とのずれを較正する光学式シースルー型HMDにおいて、以下のような構成を具備した点に特徴がある。
【００２８】
すなわち、カメラ画像からマーカを検出してマーカ座標系とカメラ座標系との対応関係を求めるマーカ検知手段と、マーカ座標系とカメラ座標系との対応関係に基づいて、マーカ座標系におけるカメラの位置および姿勢を推定するカメラ位置姿勢推定手段と、HMDを装着したユーザに、スクリーンを通して視認されるマーカ上の特定の一点を指定させるポインティング操作手段と、カメラの位置および姿勢の推定結果に基づいて、マーカ上の一点のカメラ座標系での３次元座標を、前記ポインティング操作手段により指定された各点のスクリーン平面（単位は[pixel]、以下同様）での一点の２次元座標と対応付ける3D-2D対応構成手段と、カメラ座標系[mm]とスクリーン座標系[mm]との相対的な位置関係に固有のオフライン・パラメータを記憶する手段と、複数回のポインティング操作により得られる各点の３次元座標および２次元座標の対応関係、前記カメラの位置および姿勢、ならびに前記オフライン・パラメータに基づいて、前記ユーザとHMDとの相対的な位置関係に固有のオンライン・パラメータを推定するオンライン・パラメータ推定手段と、オンライン・パラメータに基づいて、カメラ座標系上の一点をスクリーン平面に投影するための射影変換行列をキャリブレーション・パラメータとして求めるキャリブレーション・パラメータ構成手段とを具備した。
【発明の効果】
【００２９】
本発明によれば、以下のような効果が達成される。
(1)光学式シースルー型HMDを搭載したARシステムのキャリブレーションに必要なポインティング操作回数を従来技術に較べて大幅に減じることができる。
【００３０】
すなわち、これまでユーザがHMDを装着した状態で計測していた多数のパラメータに「オンライン・パラメータ」および「オフライン・パラメータ」という概念を導入して２種のパラメータに分類し、オフライン・パラメータは予め求めることにより、キャリブレーションに必要なポインティング操作回数が減ぜられる。より具体的には、キャリブレーションに必要なポインティング操作回数を、従来技術の６回から２回に減じることができる。
【００３１】
(2)オフライン・パラメータは、ARシステムの製造元等において正確に求められるので、より正確なキャリブレーションが可能になる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係る光学式シースルー型HMDのブロック図である。
【図２】HMD較正装置４の一実施形態の機能ブロック図である。
【図３】本発明のキャリブレーション方法を数式モデルで説明するための図である。
【図４】ARマーカ６として利用可能な正方マーカの一例を示した図である。
【図５】マーカ座標系の一例を示した図である。
【図６】従来の光学式シースルー型HMDの構成を示した模式図である。
【図７】光学式シースルー型HMDを用いたARシステムの較正方法の説明図である。
【図８】HMDとカメラとの位置関係P21がユーザに依存する様子を示した図である。
【図９】従来の光学式シースルー型HMDにおけるキャリブレーション方法を模式的に表現した図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明の一実施形態に係る光学式シースルー型HMDの主要部の構成を示したブロック図であり、メガネ状のフレーム１と、メガネ状フレーム１の一方のレンズ位置に設けられ、実質的に固定されて当該フレームとの相対位置が維持される透過式スクリーン２と、フレーム１に固定されてARマーカ６を含む現実環境を撮影するカメラ３と、ARマーカ６の写ったカメラ画像に基づいてHMDのキャリブレーションを行うHMD較正装置（演算部）４と、キャリブレーション用のデータやAR用の画像情報を記憶するデータベース５とを主要な構成とする。
【００３４】
前記カメラ３については、焦点距離や光軸のずれ、歪みパラメータ等の内部パラメータが事前のキャリブレーションにより既知であるものとする。なお、ここでのキャリブレーションは、前記HMDのキャリブレーションとは異なり、カメラ３の内部パラメータを求める一般的なカメラ・キャリブレーションを意味している。ARマーカ６は、画像内の点対応を用いて当該マーカ６に対するカメラ３の位置および姿勢を求めるために用いられ、一般的なARシステムで用いられるARマーカの他、事前に特徴を登録した自然画像を用いることができる。
【００３５】
透過型スクリーン２は、テキスト、動画像もしくはＣＧ等のAR用の電子情報を表示でき、かつユーザがスクリーン２を通して背景の実空間を観察できるものであれば、市販の光学式シースルー型HMDやHUD（ヘッド・アップ・ディスプレイ）に搭載されているものや、ホログラムディスプレイなどであっても良い。
【００３６】
データベース５は、ハードディスクやフラッシュメモリ等の不揮発性メモリストレージや、ＰＣの主記憶装置に一般的に使用される揮発性メモリを用いてもよい。本実施形態では、少なくともカメラ３の内部パラメータおよびARマーカ６の形状や大きさ等の特徴が記録されており、加えて重畳表示するＣＧキャラクタのモデル等の電子情報が記録されていても良い。
【００３７】
図２は、前記HMD較正装置４の一実施形態の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【００３８】
カメラ画像取得部４１は、カメラ３からARマーカ６を被写体として含むカメラ画像を取得する。マーカ検出部４２は、前記カメラ画像からARマーカ６を検出し、その座標を後段のカメラ位置姿勢推定部４３へ出力する。カメラ位置姿勢推定部４３は、前記ARマーカ６のカメラ画像平面での検出位置に基づいてカメラ３の位置および姿勢を推定し、この推定結果を後段の3D-2D対応構成部４４に出力する。
【００３９】
3D-2D対応構成部４４は、ユーザによるポインティング操作を検知するポインティング操作部４４ａを含み、前記カメラ３の位置および姿勢の推定結果に基づいて、マーカ座標系における一点のカメラ座標系における３次元座標を計算する。
【００４０】
さらに、これと同時にユーザにポインティング操作を要求して、その一点がスクリーン２を通してユーザの目に入力される際の当該スクリーン上の２次元座標を取得し、これら３次元座標（カメラ座標系）と２次元座標（スクリーン平面）との対応関係を一組として構成し、この対応関係を後段のオンライン・パラメータ推定部４５へ出力する。
【００４１】
このとき、従来技術ではユーザに対して少なくとも６回のポインティング操作が要求され、これにより６つの3D-2D対応点が得られたのに対して、本実施形態では、ユーザに対して２回のポインティング操作しか要求されず、したがって、２つの3D-2D対応点が得られるのみである。
【００４２】
オンライン・パラメータ推定部４５は、従来技術では６つの3D-2D対応点から演算していたオンライン・パラメータを２つの3D-2D対応点のみで推定すべく、不足する情報を、予め取得されているオフライン・パラメータで補うようにしている。
【００４３】
すなわち、複数回（本実施形態では、少なくとも２回）のポインティング操作により得られる複数組の3D-2D対応、マーカ座標系に対するカメラ３の位置および姿勢、ならびに事前に求められたARシステムに固有のオフライン・パラメータから、ユーザの身体的特徴や装着具合に起因するオンライン・パラメータを推定し、これを後段のキャリブレーション・パラメータ構成部４６へ出力する。
【００４４】
キャリブレーション・パラメータ構成部４６は、従来技術と同様に、入力されたオンライン・パラメータから、カメラ座標系における一点をスクリーン平面に投影するための射影変換行列を、ARシステムのキャリブレーション・パラメータとして算出する。
【００４５】
次いで、前記HMD較正装置４の構成および動作を具体的に説明する前に、本発明によるキャリブレーションの基本構想について説明する。
【００４６】
図３は、本発明のキャリブレーション方法を数式モデルで説明するための図であり、ここでは、現実空間の３次元座標X1が、メガネ状フレーム１に固定されたカメラ３により撮影され、そのカメラ画像がHMDの透過式スクリーン２に表示され、かつユーザの目１０にスクリーン２を透過して入力される様子が図示されている。
【００４７】
スクリーン２に対してユーザの視線が垂直に保たれると仮定すれば、現実空間の３次元座標X1がスクリーン２へ投影されるモデルは、目１０を光軸中心、視線を光軸、スクリーン２を画像平面としたピンホールカメラモデルとして表現できる。このとき、ピンホールカメラモデルの焦点距離は、目１０とスクリーン２との距離であり、ここではfZ[mm]で表現される。また、光軸のX方向およびY方向へのずれは、それぞれcX[mm]、cY[mm]と表現される。
【００４８】
焦点距離fZをピクセルの単位に変換したものをf[pixel]、スクリーン２の座標系（u[pixel]，v[pixel]）上での光軸の位置をcu[pixel]，cv[pixel]と表現すれば、これらはそれぞれ、スクリーン２のピクセル密度k[pixel/mm]を用いて、次式(1)，(2)，(3)のように表現できる。
【００４９】
【数１】
2014106642.tif 000003
【００５０】
このとき、ピンホールカメラモデルの内部パラメータ行列Ahmd4eyeは、次式(4)で表現される。
【００５１】
【数２】
2014106642.tif 000004
【００５２】
上述の数式モデルを元に、ここでは以下に示す3つの座標系の関係を考える。
(a) 目座標系 (Xeye [mm]，Yeye [mm]，Zeye [mm])
ユーザの目１０が原点であり、Zeye軸がユーザの視線に一致し、Zeye軸の正の方向が視線の方向となる座標系である。
【００５３】
(b) スクリーン座標系 (Xhmd [mm]，Yhmd [mm]，Zhmd [mm])
長方形形状のスクリーン２がフレーム１に対して平行に固定されており、かつユーザがフレーム１を頭部に平行に装着しているものと仮定して、スクリーン２の左上部が原点であり、Zhmd軸の正の方向をユーザの視線とする座標系である。
【００５４】
(c) カメラ座標系 (Xcam [mm]，Ycam [mm]，Zcam [mm])
カメラ３により現実空間の点がカメラ３内の画像平面へ投影される様子をピンホールカメラモデルで表現した際に用いられる、カメラ３の設置位置および向きで定まる座標系である。
【００５５】
カメラ座標系からスクリーン座標系への変換行列Wcam2hmdは、スクリーン２およびカメラ３が共にフレーム１に固定されているため、ユーザの目の位置や装着具合にかかわらず常に一定値となる。そこで、Wcam2hmdに含まれる回転行列Rcam2hmdおよび並進ベクトルtcam2hmdを、定数を用いて次式(5)，(6)で表現する。ここで、ConstRは3×3の定数行列、Const1，Const2，Const3は、いずれもスカラー定数である。
【００５６】
【数３】
2014106642.tif 000005
【００５７】
また、スクリーン座標系から目座標系への変換行列Whmd2eyeに関して、Whmd2eyeに含まれる回転行列Rhmd2eyeは、座標系の定義により単位行列Iであることが分かる。一方、Whmd2eyeに含まれる並進ベクトルthmd2eyeは、焦点距離fZ[mm]およびディスプレイ座標系における光軸のずれcX[mm]，cY[mm]を用いて次式(7)で表現できる。
【００５８】
【数４】
2014106642.tif 000006
【００５９】
さらに、カメラ座標系から目座標系への変換行列Wcam2eyeに含まれる回転行列Rcam2eyeおよび並進ベクトルtcam2eyeは、前記変換行列Wcam2hmd，Whmd2eyeを用いて次式(8)，(9)で表現できる。
【００６０】
【数５】
2014106642.tif 000007
【００６１】
以上により、現実空間の３次元座標点X1がスクリーン２の２次元座標点m1に投影されるとき、３次元座標X1と２次元座標m1との間には、ARマーカ６に対するカメラ３の位置および姿勢である変換行列Wmar2camを用いれば、以下の関係式(10)，(11)が成り立つ。
【００６２】
【数６】
2014106642.tif 000008
【００６３】
上式(11)の右辺において、スクリーン２に重畳表示されるCGモデルの各頂点の３次元座標であるX，Y，Zを除くと、定数を含む各変数（パラメータ）は、以下の3種類(i)，(ii)，(iii)に分類できる。
【００６４】
(i) ユーザあるいはHMDの装着状態に固有のパラメータ（fZ，cX，cY）
(ii) スクリーン２およびカメラ３の相対的な位置関係に固有のパラメータ（ConstR11，ConstR12，ConstR13，ConstR21，ConstR22，ConstR23，ConstR31，ConstR32，ConstR33，Const1，Const2，Const3，k）
(iii) カメラ３がARマーカ６を検出することでオンライン入力されるパラメータ（r11，r12，r13，r21，r22，r23，r31，r32，r33，tX，tY，tZ）。
【００６５】
前記(i)のパラメータ群は、本実施形態ではオンライン・パラメータに分類され、ユーザに要求されるキャリブレーションは、この３つのオンライン・パラメータfZ，cX，cYを求める処理となる。
【００６６】
前記(ii)のパラメータ群は、スクリーン２およびカメラ３の相対的な位置関係であり、両者がフレーム１に固定されている限り定数となるのでオフライン・パラメータに分類される。そして、これらのオフライン・パラメータは、予め求めることが可能である。なお、ピクセル密度kはスクリーン２に固有のパラメータであるが、便宜上、オンライン・パラメータに含めてオンライン・パラメータの数を４つとしてもよい。その場合、ピクセル密度kをオフライン・パラメータとして事前に求める必要はない。
【００６７】
前記(iii)のパラメータ群は、一般的なARシステムにおいて計算されるARマーカ６に対するカメラ３の位置および姿勢であり、カメラ３がARマーカ６を検出できている限りは公知の手法により自動的に求まる。
【００６８】
このようなパラメータ構成では、前記(ii)のオフライン・パラメータを予め計測した上で、本発明のHMD較正装置４により、前記(i)のオンライン・パラメータを求めるようにすれば、次式(12)により表現される射影変換行列P3×4は、HMDの装着位置がずれない限り定数となる。これ以降、前記射影変換行列P3×4の各要素を「HMDのキャリブレーション・パラメータ」と表現する場合もある。
【００６９】
【数７】
2014106642.tif 000009
【００７０】
本実施形態では、この射影変換行列P3×4をユーザ毎に、厳密にはユーザがHMDを装着するごとに計算することで、カメラ３が検出したARマーカ６に合わせてCGキャラクタ等をスクリーン２上に正確に表示することが可能となる。
【００７１】
ここで、前記非特許文献２で開示されているキャリブレーション方式では、射影変換行列P3×4の各要素を全て未知パラメータとして、１１自由度(11DoF)の問題として扱ったため、解を得るために多くの点対応を必要とした。これに対して、本実施形態のHMD較正装置４では、前記(ii)のパラメータ群を予め求めておく事により、射影変換行列P3×4を３自由度(3DoF)、またkを未知とした場合でも４自由度(4DoF)の問題として扱えるため、従来技術よりも少ない点対応によりキャリブレーションを完了できる。
【００７２】
次いで、図２を改めて参照し、上記の基本構想を実現するための各構成要素の機能について詳細に説明する。前記マーカ検出部４２は、カメラ３から提供されるカメラ画像内に存在するARマーカ６を検出し、その座標をカメラ位置姿勢推定部４３へ出力する。
【００７３】
なお、カメラ画像に前記カメラ３に固有のレンズ歪みが生じている場合は、ARマーカ６を検出する前段の処理として、カメラ・キャリブレーションにより予め求めた歪みベクトルにより補正する。カメラ３に安価なWEBカメラを用いた場合、カメラレンズの半径方向や円周方向の歪みが顕著に見られることがあり、この補正を行わないとマーカ６の位置が正しく検出できず、結果として後段のカメラ３の位置および姿勢が正しく計算できない。
【００７４】
このような歪みを補正するための歪みベクトルおよび当該歪みベクトルの補正方法については、例えば「詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識」（Gary Bradski, Adrian Kaehler 著 松田晃一 訳、オライリージャパン，2009）に示されている。
【００７５】
ARマーカ６として利用できるオブジェクトは、大きさおよび配置が既知の検出点を少なくとも４つ以上有し（この状態を形状が既知であると表現する）、各検出点をカメラ画像において特定できるものであればよい。また、点ではなく線分の対応が求まるものでもよい。さらには、事前に特徴を学習した自然画像をマーカとして用いてもよい。
【００７６】
図４は、ARマーカ６として利用可能な正方マーカの一例を示した図であり、カメラ画像に２値化処理を施すことでマーカ領域を抽出し、さらに内部の模様を認識することで、４つの頂点Ａ、Ｂ、Ｃ、Ｄの各対応点を検出できる。
【００７７】
ARマーカ６における点または線分の配置は、マーカ６に任意の位置と向きとに設定したマーカ座標系により指定することが可能である。ARマーカ６が正方マーカであれば、図５に示したように、正方マーカの重心をマーカ座標系の原点としてもよい。これにより４頂点の座標が定まり、マーカ座標系(Xmar，Ymar，Zmar)における一つの頂点の座標とそれに対応するカメラ画像中の頂点の座標とを１組の対応点とし、少なくとも４組の対応点をカメラ位置姿勢部４３へ出力できる。
【００７８】
カメラ位置姿勢推定部４３は、入力された４組の対応点を利用してカメラ３（カメラ座標系）の位置および姿勢を推定し、これを3D-2D対応構成部４４へ出力する。マーカ座標系に対するカメラ３（カメラ座標系）の位置および姿勢は、マーカ上の少なくとも４点に関する対応点または線分の対応から平面射影変換行列を求める計算により求めることができる。
【００７９】
なお、このような複数の対応点から平面射影変換行列を計算する方法は、CGを重畳表示するARシステムにおいては周知なので、ここでは説明を省略する。また、これ以降、マーカi（同一のマーカに対してi番目の試行で用いたマーカ）に対して求めたカメラ３の位置姿勢をWiと、このうち回転行列をRi、並進ベクトルをtiと表現する。
【００８０】
3D-2D対応構成部４４は、入力されたカメラ３（カメラ座標系）の位置および姿勢から、マーカ座標系における一点の、カメラ座標系における３次元座標を計算し、それと同時に、ユーザに対してポインティング操作を要求して、当該一点がスクリーン２を通してユーザの目に入力される際のスクリーン平面上の２次元座標を取得する。そして、前記一点の３次元座標（カメラ座標系）および２次元座標（スクリーン平面）の対応関係で一組の対応点を構成し、これをオンライン・パラメータ推定部４５へ出力する。
【００８１】
マーカ座標系に対するカメラ３の位置および姿勢は既知、すなわちマーカ座標系とカメラ３との位置関係は既知なので、ユーザがスクリーン２上でポインティングした特定の一点に対して、その現実空間上（マーカ座標系）の３次元座標を計算できる。
【００８２】
このような手動のポインティング操作は、マウスやタッチパネルによりカーソルを移動させて特定の一点と重なった位置でクリックまたはタップするといった操作としても良い。もしくは予めスクリーン２上の適当な位置に点や十字のマークを表示しておいて、このマークに特定の一点が重なるようにユーザが頭を動かし、重なったタイミングでキーボードやタッチパネルを操作するようにしても良い。
【００８３】
カメラ座標系における３次元座標を簡易に求めるために、本実施形態では、マーカ座標系の原点を特定の一点とする。これにより、カメラ座標系における３次元座標ti_cameraはtiとして求めることができる。特定の一点を原点としない場合は、そのマーカ座標系における３次元座標をti_markeriとすると、カメラ座標系における３次元座標ti_cameraは次式(13)により計算できる。
【００８４】
【数８】
2014106642.tif 000010
【００８５】
以上の処理により、マーカ６上の特定の一点に対して、カメラ座標系における３次元座標(Xi，Yi，Zi)とそれがスクリーン２に投影される点の２次元座標(ui，vi)との組が得られる。オンライン・パラメータ推定部４５には、マーカiに関する情報として、３次元座標(Xi，Yi，Zi)、２次元座標(ui，vi)ならびにカメラ位置姿勢Riおよびtiが入力される。
【００８６】
オンライン・パラメータ推定部４５は、複数回（本実施形態では、少なくとも２回）のポインティング操作により得られる複数組の3D-2D対応、マーカ座標系に対するカメラ３の位置および姿勢ならびに事前に求めたARシステムに特有なオフライン・パラメータから、ユーザの身体的特徴や装着具合に起因するオンライン・パラメータを推定し、これをキャリブレーション・パラメータ構成部４６へ出力する。
【００８７】
オンライン・パラメータ構成部４６は、入力された複数のマーカに関する情報のうち、そのマーカ座標系を基準座標系と設定するマーカを1つ選択する。これはランダムに選択してもよいし、複数のマーカの位置の重心点を計算し、マーカ座標系の原点がその重心点に一番近いものを選択してもよい。マーカの検出精度を尺度として検出精度が一番高いマーカを選択してもよい。
【００８８】
マーカjのマーカ座標系が基準座標系として選択されたものとして、基準座標系における各マーカの位置(X'i，Y'i，Z'i)が計算される。これはつまり、各マーカiのマーカjに対する相対的な位置関係を求めれば良いため、それぞれ次式(14)で計算できる。
【００８９】
【数９】
2014106642.tif 000011
【００９０】
以上により、オンライン・パラメータを求めるための事前処理は完了となる。以後、これまでに求めた情報に基づいてオンライン・パラメータを計算するための式（11）について更に言及する。
【００９１】
ここでは、マーカiに関する情報を上式(11)に当てはめることで、オンライン・パラメータについての拘束式を構成することを考える。上式(11)の(u，v)には(ui，vi)を、(X，Y，Z)には(X'i，Y'i，Z'i)を、r11〜r33、tX、tYおよびtZにはRjおよびtjの各要素を代入する。その結果、現段階で未知パラメータとして残っているのはオンライン・パラメータのみとなる。このとき、上式(11)を左辺のu，vについてそれぞれ展開することで、オンライン・パラメータに関する２つの拘束式(15)，(16)を得ることができる。
【００９２】
【数１０】
2014106642.tif 000012
【００９３】
ここで、α=kcX、β=kcY、γ=kfZ、δ=fZと置くと、４つのパラメータ(α、β、γ、δ)に対して２つの線形方程式が得られる。つまり、これを２組取得することで４つの方程式を構築できるため、４つのパラメータを線形最小二乗法により求めることができる。４つのパラメータが求まれば、次式(17)，(18)，(19)，(20)によりオンライン・パラメータの計算が完了となる。
【００９４】
【数１１】
2014106642.tif 000013
【００９５】
以上より、オンライン・パラメータを求めるためには少なくも2点のポインティング操作でよいことが分かる。
【００９６】
キャリブレーション・パラメータ構成部４６は、入力されたオンライン・パラメータからカメラ座標系における一点をスクリーン平面に投影するための射影変換行列をARシステムのキャリブレーション・パラメータとして求める。これは、オフライン・パラメータおよびオンライン・パラメータを上式(11)に代入するだけでよい。
【００９７】
以上の説明にてキャリブレーション・パラメータの推定は完了となるが、以下にオフライン・パラメータの変更について補足しておく。
【００９８】
カメラ３がフレーム１に固定された状態で向きや位置を変更できる場合、オフライン・パラメータは常に一定値とはならないが、キャリブレーションを実施する段階さえカメラ３の向きおよび位置が固定であれば本発明の適用対象となる。つまり、カメラ３のフレーム１に対する向きおよび位置が固定された状態でキャリブレーションを実施し、オフライン・パラメータからオンライン・パラメータおよびキャリブレーション・パラメータを求める。オンライン・パラメータが一度求まれば、ユーザと装着したフレーム１との関係が固定である限り一定値となる。
【００９９】
以後、カメラ３のフレーム１に対する向きや位置が変更された場合に、変更後のオフライン・パラメータをその都度計算できるのであれば、上記の実施形態で言及した方式によりスクリーンに重畳表示することが可能である。
【符号の説明】
【０１００】
１…メガネ状フレーム，２…透過式スクリーン，３…カメラ，４…HMD較正装置（演算部），５…データベース，６…ARマーカ，４１…カメラ画像取得部，４２…マーカ検出部，４３…カメラ位置姿勢推定部，４４…3D-2D対応構成部，４４ａ…ポインティング操作部，４５…オンライン・パラメータ推定部，４６…キャリブレーション・パラメータ構成部
【図１】
2014106642.tif 000014
【図２】
2014106642.tif 000015
【図３】
2014106642.tif 000016
【図４】
2014106642.tif 000017
【図５】
2014106642.tif 000018
【図６】
2014106642.tif 000019
【図７】
2014106642.tif 000020
【図８】
2014106642.tif 000021
【図９】
2014106642.tif 000022