(57)【要約】【課題】位置合わせ装置を用いることなく、少ないポインティング操作回数で正確なキャリブレーションを可能にする。【解決手段】オフライン・パラメータ推定部４５は、複数回のポインティング操作により得られる複数組の3D-2D対応とマーカ座標系に対するカメラの位置および姿勢に基づいて、カメラ座標系に対するスクリーン座標系（スクリーン平面）の候補領域を表現するオフライン・パラメータを推定する。オンライン・パラメータ推定部４６は、複数回のポインティング操作により得られる複数組の3D-2D対応、マーカ座標系に対するカメラの位置および姿勢ならびにオフライン・パラメータから、候補領域におけるスクリーン平面の位置とスクリーン座標系に対するユーザの眼の位置との双方を表現するオンライン・パラメータを推定する。キャリブレーション・パラメータ構成部４７は、各パラメータからARシステムのキャリブレーション・パラメータを算出する。【選択図】図２
2014170374.tif 000002
【特許請求の範囲】
【請求項１】
HMDに固定されたカメラでマーカを撮影し、CGが表示される仮想スクリーンの座標系と仮想スクリーンを通して視認される現実環境の座標系とのずれを較正する光学式シースルー型HMDを用いたARシステムにおいて、
カメラ画像からマーカを検出してマーカ座標系とカメラ座標系との対応関係を求めるマーカ検知手段と、
前記マーカ座標系とカメラ画像との対応関係に基づいて、マーカ座標系におけるカメラの位置および姿勢を推定するカメラ位置姿勢推定手段と、
HMDを装着したユーザに、仮想スクリーンを通して視認されるマーカ上の特定の一点を指定させるポインティング操作手段と、
前記カメラの位置および姿勢の推定結果に基づいて、マーカ上の前記一点のカメラ座標系での３次元座標と前記ポインティング操作手段により指定されたスクリーン平面での一点の２次元座標とを対応付ける3D-2D対応を求める3D-2D対応構成手段と、
複数回のポインティング操作により得られる各点の３次元座標および２次元座標の対応関係ならびに前記カメラの位置および姿勢に基づいて、カメラと仮想スクリーンとの相対的な位置関係に固有のオフライン・パラメータを推定する記憶するオフライン・パラメータ推定部と、
複数回のポインティング操作により得られる各点の３次元座標および２次元座標の対応関係、前記カメラの位置および姿勢ならびに前記オフライン・パラメータに基づいて、前記ユーザの眼と仮想スクリーンとの相対的な位置関係に固有のオンライン・パラメータを推定するオンライン・パラメータ推定手段と、
前記オフライン・パラメータおよびオンライン・パラメータに基づいて、カメラ座標系上の一点をスクリーン平面に投影するための射影変換行列をキャリブレーション・パラメータとして求めるキャリブレーション・パラメータ構成手段とを具備したことを特徴とする光学式シースルー型HMDを用いたARシステム。
【請求項２】
前記オフライン・パラメータ推定部は、４回のポインティング操作により得られる４つの３次元座標および２次元座標の対応関係に基づいてオフライン・パラメータを推定することを特徴とする請求項１に記載の光学式シースルー型HMDを用いたARシステム。
【請求項３】
前記オフライン・パラメータが、スクリーン座標系とカメラ座標系との間の変換を表現する３自由度の回転行列、３自由度の並進ベクトルおよび前記オフライン・パラメータ推定手段において用いた３自由度のパラメータであることを特徴とする請求項１または２に記載の光学式シースルー型HMDを用いたARシステム。
【請求項４】
前記３自由度のパラメータが、オフライン・パラメータ推定手段において推定される、仮想スクリーンを画像平面としたピンホールカメラモデルにおける１自由度の焦点距離および２自由度の光軸のずれであることを特徴とする請求項３に記載の光学式シースルー型HMDを用いたARシステム。
【請求項５】
前記ポインティング操作手段は、マウスまたはタッチパネルによりカーソルを仮想スクリーン上で移動させ、前記一点と重なった位置を指定させることを特徴とする請求項１ないし４のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項６】
前記ポインティング操作手段は、ユーザの頭の動きを検知してカーソルを仮想スクリーン上で移動させ、前記複数点のいずれかと重なった位置を指定させることを特徴とする請求項１ないし４のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項７】
前記オンライン・パラメータが、オンライン・パラメータを推定する際の、ユーザの目を光軸中心、ユーザの眼から仮想スクリーンへ下ろした垂線を光軸、仮想スクリーンを画像平面としたピンホールカメラモデルにおける１自由度の焦点距離、２自由度の光軸のずれおよび仮想スクリーンの１自由度のピクセル密度であることを特徴とする請求項１ないし６のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項８】
前記オンライン・パラメータ推定部が、複数の試行により得た複数のマーカのうち、そのマーカ座標系を基準座標軸として使用するマーカを一つ選択することを特徴とする請求項１ないし７のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項９】
前記オンライン・パラメータ推定手段が、複数のマーカの３次元座標を基準座標軸における３次元座標として再計算することを特徴とする請求項１ないし７のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項１０】
前記オンライン・パラメータ推定手段は、光学式シースルー型HMDの仕様に基づいてオンライン・パラメータの初期値を算出することを特徴とする請求項１ないし９のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項１１】
前記オフライン・パラメータ推定手段は、光学式シースルー型HMDの仕様に基づいて算出した値を４自由度の内部パラメータとして用いることを特徴とする請求項１ないし１０のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【請求項１２】
前記オフライン・パラメータが、キャリブレーションの段階のみにおいて前記仮想スクリーンおよびカメラとの位置関係として固定されており、キャリブレーション以後に実施される前記仮想スクリーンへの重畳表示の際に、前記仮想スクリーンとカメラとの位置関係がオフライン・パラメ−タとして計算されることを特徴とする請求項１ないし１１のいずれかに記載の光学式シースルー型HMDを用いたARシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式シースルー型HMDを用いたARシステムに係り、特に、簡単な操作で座標系の較正を行えるARシステムに関する。
【背景技術】
【０００２】
AR（拡張現実感）は、文字やCG等の仮想的な電子情報を現実世界に付加する概念である。カメラ画像上の適切な位置に電子情報を重畳表示するためには、現実世界に存在する基準座標系に対するカメラの位置および姿勢（カメラに対する基準座標系の位置および姿勢）を推定する必要がある。特に、立体的なCGキャラクタを現実世界に重ね合わせて表示するARシステムにおいて、重畳するオブジェクトと現実世界との幾何学的な整合性を維持するためには、より高い推定精度が要求される。この精度が不十分であると、例えばCGキャラクタが現実世界の机の上から離れて浮いて表示されるといった画像破綻が生じ得る。
【０００３】
近年、HMD（ヘッド・マウント・ディスプレイ）を利用したARシステムの構築が盛んに試みられている。HMDとは、頭部に搭載する小型の画像表示装置を備えた眼鏡型装置、またはそれに加えて演算装置を備えた端末の総称であり、日常的に着用可能なウェアラブルコンピュータの一種とも解釈できる。
【０００４】
HMDを用いたARシステムでは、現実世界に存在する対象に関連する情報をHMDの仮想スクリーン上に重畳表示する等の利用シーンが考えられる。例えば、マップ・ナビゲーションにおいては、ハンズフリーの状態で歩道や曲がり角にそって矢印を表示することができるため、携帯電話やスマートフォンによるナビゲーションに対して利便性の向上が期待できる。
【０００５】
HMDは主に２種類に分類できる。一つはビデオシースルー型と呼ばれ、もう一つは光学式シースルー型と呼ばれる。これらを用いてARシステムを構築する場合に生じる両者の違いは、重畳表示のベースとなる現実空間の画像がカメラによって取得されるか否かであり、ビデオシースルー型HMDでは、カメラにより取得されて電気信号に変換された映像が現実空間の画像となり、光学式シースルー型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キャリブレーション手法およびキャリブレーション以降の重畳表示方法を説明するための図であり、カメラ３はマーカを正確に検出できているものとする。
【００１４】
カメラ３の座標系とマーカ６の座標系との変換関係はマーカ位置検出プログラムにより既知なので、ユーザにポインティングさせるマーカ６上の一点をマーカ座標系において事前に定めておいた場合、ユーザが仮想スクリーン上でポインティングした一点に対して、その現実空間上（カメラ座標系）の３次元座標を計算できる。したがって、この一回のポインティング操作により、ユーザがポインティングした仮想スクリーン上の点の２次元座標と、計算された３次元座標との組（対応点）が得られる。非特許文献１では、この試行を少なくとも６回行う必要がある。すなわち、少なくとも６回のポインティング操作がユーザに強いられる。
【００１５】
現実環境内の３次元座標点が仮想スクリーン上の２次元座標点に投影される関係は、ピンホールカメラモデルにより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という射影変換行列により、マーカ座標系における３次元座標点を仮想スクリーン上の、該当点と重なって見える位置へ正確に描画することが可能になる。
【００１８】
特許文献には、非特許文献１にて扱われるキャリブレーション・パラメータに「オンライン・パラメータ」および「オフライン・パラメータ」という概念を導入して２種のパラメータに分類し、事前に計算されたオフライン・パラメータを利用することによりキャリブレーションに必要なポインティング操作回数を減ずる方式が開示されている。
【００１９】
ここで、「オフライン・パラメータ」とは、カメラ座標系[mm]と仮想スクリーンの座標系[mm]との変換関係に固有のパラメータであり、「オンライン・パラメータ」とは、ユーザの目の座標系[mm]と仮想スクリーンの座標系[mm]との変換関係に固有のパラメータである。
【００２０】
しかしながら、オフライン・パラメータがARシステムの製造元等により正確に求められていることを前提としているため、オフライン・パラメータが計算されていない既存のARシステムに対して適用することができないという課題がある。
【００２１】
すなわち、HMDは例えば「５メートル先に設置された５０インチのスクリーンに映像が写る」ようにユーザが知覚できるように設計されるが、この「５メートル先」や「５０インチのスクリーン」が機種毎に異なり、また正確かつ具体的に明示されているとは限らない。また、たとえ仮想スクリーンの表示位置に関して正確な値が開示されていたとしても、カメラとの位置関係にまで言及されているとは限らない。さらに、仮想スクリーンの位置には個人差があり、そもそもオフライン・パラメータはシステム固有の定数値をとらないので、全てのユーザに対して固定的に設定することは難しい。
【００２２】
非特許文献２には、治具（ジグ）と呼ばれる位置合わせ装置を利用して、全てのキャリブレーション・パラメータをオフライン処理により計算する方式が提案されている。ユーザに起因するパラメータに関しては、特許文献と同様に後段のユーザによるポインティング操作により補正を行う。この方式は、オフライン・キャリブレーションがユーザの手動操作を必要とせず機械的に行われるため、より正確に実施できる一方、カメラ以外の装置をキャリブレーション用に別途用意する必要があるという問題がある。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特願２０１２−２５７９１８号
【非特許文献】
【００２４】
【非特許文献１】加藤博一，M.Billinghurst，浅野浩一，橘啓八郎，"マーカー追跡に基づく拡張現実感システムとそのキャリブレーション",日本バーチャルリアリティ学会論文誌，Vol4,No4,pp.607-616,(1999)
【非特許文献２】C. B. Owen, J. Zhou, A. Tang, and F. Xiao, "Display-Relative Calibration for Optical See-Through Head-Mounted Displays," in International Symposium on Mixed and Augmented Reality, 2004, pp. 70-78.
【非特許文献３】Lepetit V, Moreno-Noguer F and Fua P (2008) EPnP: an accurate O(n) solution to the PnP problem. International Journal of Computer Vision 81: 155-166.
【発明の概要】
【発明が解決しようとする課題】
【００２５】
非特許文献１では、少なくとも６回のポインティング操作がユーザに求められるが、光学式シースルー型HMDを利用したARシステムでは、キャリブレーションはユーザごとに、厳密にはユーザがHMDを装着するごとに行う必要がある。また、キャリブレーション以降にHMDの装着位置がずれた場合は、キャリブレーションを一からやり直す必要がある。したがって、キャリブレーションには、より少ない操作回数で完了できることが要望されている。
【００２６】
特許文献では、キャリブレーションを実施する際に必要なオフライン・パラメータが事前に計算されていない既存のARシステムには適用できないという課題がある。また、HMDスクリーンの表示位置に個人差が存在する場合は、オフライン・パラメータがシステム固有の定数値をとらず、その製造元においても事前に求めることができないという課題がある。
【００２７】
非特許文献２では、オフライン・キャリブレーションにおいて専用の位置合わせ装置（治具）を必要としたが、キャリブレーションに特有の装置を利用せずに、より簡易にオフライン・キャリブレーションを実施できることが望まれる。
【００２８】
本発明の目的は、上述の技術課題を解決し、仮想スクリーンの表示位置に個人差が存在し得る光学式シースルー型HMDを搭載したARシステムにおいて、位置合わせ装置を用いることなく、従来よりも少ないポインティング操作回数で、より正確なキャリブレーションを可能にする光学式シースルー型HMDを用いたARシステムを提供することにある。
【課題を解決するための手段】
【００２９】
上記の目的を達成するために、本発明は、HMDに固定されたカメラでマーカを撮影し、CGが表示される仮想スクリーンの座標系（スクリーン平面）と仮想スクリーンを通して視認される現実環境の座標系（マーカ座標系）とのずれを較正する光学式シースルー型HMDを用いたARシステムにおいて、カメラ画像からマーカを検出してマーカ座標系とカメラ座標系との対応関係を求めるマーカ検知手段と、マーカ座標系とカメラ画像との対応関係に基づいて、マーカ座標系におけるカメラの位置および姿勢を推定するカメラ位置姿勢推定手段と、HMDを装着したユーザに、仮想スクリーンを通して視認されるマーカ上の特定の一点を指定させるポインティング操作手段と、カメラの位置および姿勢の推定結果に基づいて、マーカ上の前記一点のカメラ座標系での３次元座標と前記ポインティング操作手段により指定されたスクリーン平面での一点の２次元座標とを対応付ける3D-2D対応を求める3D-2D対応構成手段と、複数回のポインティング操作により得られる各点の３次元座標および２次元座標の対応関係ならびに前記カメラの位置および姿勢に基づいて、カメラ座標系とスクリーン座標系との変換関係に固有のオフライン・パラメータを推定する記憶するオフライン・パラメータ推定部と、複数回のポインティング操作により得られる各点の３次元座標および２次元座標の対応関係、前記カメラの位置および姿勢ならびに前記オフライン・パラメータに基づいて、ユーザの眼の座標系とスクリーン座標系との変換関係に固有のオンライン・パラメータを推定するオンライン・パラメータ推定手段と、オフライン・パラメータおよびオンライン・パラメータに基づいて、カメラ座標系上の一点をスクリーン平面に投影するための射影変換行列をキャリブレーション・パラメータとして求めるキャリブレーション・パラメータ構成手段とを具備した点に特徴がある。
【発明の効果】
【００３０】
本発明によれば、仮想スクリーンの表示位置に個人差を有する光学式シースルー型HMDを搭載したARシステムにおいて、キャリブレーションの実施に際して特有の装置（治具）を用いる必要がなくなるほか、以下のような効果が得られる。
【００３１】
(1)オンライン・キャリブレーションを最少４点から計算できるフレームワークを、従来方式で定義されるオフライン・パラメータが計算されていない既存のARシステムに適用できるようになる。
(2)オフライン・パラメータが仮想スクリーンの表示位置の候補群として定義されるため、ユーザによる仮想スクリーンの表示位置の個人差を吸収できる。そのため、オンライン・キャリブレーションとオフライン・キャリブレーションとを行うユーザは同一である必要がない。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係る光学式シースルー型HMDのブロック図である。
【図２】HMD較正装置４の一実施形態の機能ブロック図である。
【図３】本発明で参照する各座標系と各変換行列との対応関係を説明するための図である。
【図４】オフライン・キャリブレーションとオンライン・キャリブレーションとの関係を示した図である。
【図５】スクリーン平面の候補領域を説明するための図である。
【図６】ARマーカ６として利用可能な正方マーカの一例を示した図である。
【図７】マーカ座標系の一例を示した図である。
【図８】従来の光学式シースルー型HMDの構成を示した模式図である。
【図９】光学式シースルー型HMDを用いたARシステムの較正方法の説明図である。
【図１０】HMDとカメラとの位置関係P21がユーザに依存する様子を示した図である。
【図１１】従来の光学式シースルー型HMDにおけるキャリブレーション方法を模式的に表現した図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明の一実施形態に係る光学式シースルー型HMDの主要部の構成を示したブロック図であり、メガネ状のフレーム１と、メガネ状フレーム１のユーザの目の一方に固定され、実質的に定まった遠方の位置に仮想スクリーンVS上に映像を表示してユーザに知覚させる映像表示装置２と、フレーム１に固定されてARマーカ６を含む現実環境を撮影するカメラ３と、ARマーカ６の写ったカメラ画像に基づいてHMDのキャリブレーションを行うHMD較正装置（演算部）４と、キャリブレーション用のデータやAR用の画像情報を記憶するデータベース５とを主要な構成とする。
【００３４】
前記映像表示装置２は、映像信号を入力して映像を表示する物理的な表示素子および当該表示素子に映し出された映像光をユーザの眼まで光学的に導いて数メートル先の仮想スクリーンVS上で映像として知覚させるレンズやハーフミラー等の光学系を含むが、ここでは各構成の図示を省略している。
【００３５】
前記カメラ３については、焦点距離や光軸のずれ、歪みパラメータ等の内部パラメータが事前のキャリブレーションにより既知であるものとする。なお、ここでのキャリブレーションは、前記HMDのキャリブレーションとは異なり、カメラ３の内部パラメータを求める一般的なカメラ・キャリブレーションを意味している。ARマーカ６は、画像内の点対応を用いて当該マーカ６に対するカメラ３の位置および姿勢を求めるために用いられ、一般的なARシステムで用いられるARマーカの他、事前に特徴を登録した自然画像を用いることができる。
【００３６】
映像表示装置２は、テキスト、動画像もしくはCG等のAR用の電子情報を仮想スクリーン上に表示でき、かつユーザが当該スクリーンを通して背景の実空間を観察できるものであれば、市販の光学式シースルー型HMDやHUD（ヘッド・アップ・ディスプレイ）に搭載されているものや、ホログラムディスプレイなどであっても良い。
【００３７】
データベース５は、ハードディスクやフラッシュメモリ等の不揮発性メモリストレージや、PCの主記憶装置に一般的に使用される揮発性メモリを用いてもよい。本実施形態では、少なくともカメラ３の内部パラメータおよびARマーカ６の形状や大きさ等の特徴が記録されており、加えて重畳表示するCGキャラクタのモデル等の電子情報が記録されていても良い。さらには、後述するオフライン・キャリブレーションやオンライン・キャリブレーションに必要な各種パラメータの初期値が記録されていてもよい。
【００３８】
図２は、前記HMD較正装置４の一実施形態の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。なお、以降の説明を判りやすくするために、ここでは初めに、本実施形態の説明で用いる各座標系について説明する。
【００３９】
(1)カメラ座標系
カメラ３により現実空間の点がカメラ３内の画像平面へ投影される様子をピンホールカメラモデルで表現した際に用いられる、カメラ３の設置位置および向きで定まる３次元座標系である。
【００４０】
(2)マーカ座標系
現実空間の座標系であり、マーカの位置及び向きで定まる３次元座標系である。
【００４１】
(3)スクリーン座標系
虚像が表示される仮想スクリーンの座標系であり、その左上部を原点とし、右方向をX_hmd軸の正方向、下方向をY_hmd軸の正方向とする３次元座標系である。なお、Xhmd Yhmd 平面をピクセル単位[pixel]で表現した２次元座標系をスクリーン平面と表現する。
【００４２】
改めて図２を参照し、カメラ画像取得部４１は、カメラ３からARマーカ６を被写体として含むカメラ画像を取得する。マーカ検出部４２は、前記カメラ画像からARマーカ６を検出し、そのカメラ座標系における座標を後段のカメラ位置姿勢推定部４３へ出力する。カメラ位置姿勢推定部４３は、前記ARマーカ６のカメラ画像での検出位置に基づいてカメラ３の位置および姿勢を推定し、この推定結果を後段の3D-2D対応構成部４４に出力する。
【００４３】
3D-2D対応構成部４４は、ユーザによるポインティング操作を検知するポインティング操作部４４ａを含み、前記カメラ３の位置および姿勢の推定結果に基づいて、マーカ座標系における一点のカメラ座標系における３次元座標を計算する。さらに、これと同時にユーザにポインティング操作を要求して、その一点が仮想スクリーンを通してユーザの目に入力される際の当該スクリーン上の２次元座標を取得する。そして、これら３次元座標（カメラ座標系）と２次元座標（スクリーン平面）との対応関係（3D-2D対応）を一組として構成し、複数の対応関係を後段のオフライン・パラメータ推定部４５およびオンライン・パラメータ推定部４６へ出力する。
【００４４】
前記オフライン・パラメータ推定部４５は、複数回のポインティング操作により得られる複数組の3D-2D対応と、マーカ座標系に対するカメラ３の位置および姿勢に基づいて、カメラ座標系に対するスクリーン座標系（スクリーン平面）の候補領域を表現するオフライン・パラメータを推定し、この推定結果をオンライン・パラメータ推定部４６へ出力する。本実施形態では、オフライン・キャリブレーションの計算に少なくとも４組の3D-2D対応、すなわち４回のポインティング操作を要する。
【００４５】
オンライン・パラメータ推定部４６は、従来技術と同様に、複数回のポインティング操作により得られる複数組の3D-2D対応、前記マーカ座標系に対するカメラ３の位置および姿勢、ならびに事前に求められた前記オフライン・パラメータから、ユーザの身体的特徴や装着具合に起因するオンライン・パラメータを推定し、前記オフライン・パラメータと共に後段のキャリブレーション・パラメータ構成部４７へ出力する。本実施形態では従来技術と同様に、オンライン・キャリブレーションの計算に少なくとも４組の3D-2D対応を要する。
【００４６】
キャリブレーション・パラメータ構成部４７は、入力されたオフライン・パラメータおよびオンライン・パラメータから、カメラ座標系における一点をスクリーン平面に投影するための射影変換行列を、ARシステムのキャリブレーション・パラメータとして算出する。
【００４７】
次いで、前記HMD較正装置４の動作を具体的に説明する前に、本実施形態によるキャリブレーションの基本構想について説明する。具体的には、オフライン・パラメータおよびオンライン・パラメータの計算に必要な座標系、変換行列および数式モデルの詳細について説明する。
【００４８】
図３は、各座標系と各変換行列との対応関係を説明するための図であり、本実施形態では、以下に示す４つの座標系(1)〜(4)を導入する。
【００４９】
(1)スクリーン座標系 (Xhmd [mm]，Yhmd [mm]，Zhmd [mm])
長方形状の仮想スクリーンVSがフレーム１に実質的に固定（定まった位置に表示）されているものと仮定して、仮想スクリーンの左上部を原点とし、右方向をX_hmd軸の正方向、下方向をY_hmd軸の正方向とする３次元座標系である。なお、Xhmd Yhmd 平面をピクセル単位[pixel]で表現した２次元座標系をスクリーン平面と表現する。
【００５０】
(2)カメラ座標系 (Xcam [mm]，Ycam [mm]，Zcam [mm])
カメラ３により現実空間の点がカメラ３内の画像平面へ投影される様子をピンホールカメラモデルで表現した際に用いられる、カメラ３の設置位置および向きで定まる３次元座標系である。
【００５１】
(3)オンライン目座標系 (Xoneye [mm]，Yoneye [mm]，Zoneye [mm])
オンライン・キャリブレーション時のユーザの目の位置(Online eye)が原点であり、Zoneye軸がその原点からスクリーン平面へ下ろした垂線に一致し、各軸の正の方向がスクリーン座標系の各軸の正の方向と一致する３次元座標系である。
【００５２】
(４)オフライン目座標系 (Xoffeye [mm]，Yoffeye [mm]，Zoffeye [mm])
オフライン・キャリブレーション時に求められる座標系であり、詳細は後述するが、オフライン・キャリブレーション時に計算されるユーザの目の"概略"位置(Offline eye)が原点であり、Zoffeye軸がその原点からスクリーン平面へ下ろした垂線に一致し、各軸の正の方向がスクリーン座標系の各軸の正の方向と一致する３次元座標系である。この座標系はあくまでオフライン・キャリブレーション時のユーザの目の"概略"位置であって、実際の位置とは異なる点に注意されたい。
【００５３】
次いで、各座標系間の変換関係を示す変換行列について説明する。第１変換行列Wmar2camは、マーカ座標系（ARマーカ６）に対するカメラ座標系（カメラ３）の位置および姿勢であり、次式(1)で表される４×４の変換行列である。これは既存のマーカ検出を利用したカメラ姿勢計算アルゴリズムにより求めることが可能であり、オフライン・キャリブレーションおよびオンライン・キャリブレーションの双方において計算される。
【００５４】
【数１】
2014170374.tif 000003
【００５５】
第２変換行列Wcam2offeyeは、オフライン・キャリブレーションにおいて計算される、カメラ座標系に対するオフライン目座標系の位置および姿勢を表す４×４の変換行列であり、次式(2)で表現される。
【００５６】
【数２】
2014170374.tif 000004
【００５７】
ここで、オフライン・キャリブレーションに使用する３自由度の内部パラメータ行列Aoffを、ピンホールカメラモデルにおける焦点距離foff [pixel]および光軸のずれcuoff [pixel]，cvoff [pixel]を用いて、次式(3)のように定義する。
【００５８】
【数３】
2014170374.tif 000005
【００５９】
このとき、各変換行列には、現実空間の３次元座標点X1が仮想スクリーンVSの２次元座標点m1に投影される際の３次元座標X1と２次元座標m1との関係により、以下の関係式(4)，(5)が導かれる。なお、sはスケール係数である。
【００６０】
【数４】
2014170374.tif 000006
【００６１】
【数５】
2014170374.tif 000007
【００６２】
上式(5)に対して、適当なAoffを用いてPnP（Perspective-n-Point）解法を適用することにより、変換行列Wmar2camが既知のもとでWcam2offeyeが定まる。なお、この変換行列は、カメラ座標系に対するオフライン・キャリブレーション時のユーザの目座標系の位置および姿勢と位置付けられるが、適当な内部パラメータによりこの変換行列を求めるため、実際のユーザの目の位置とは異なる。
【００６３】
図４は、オフライン・キャリブレーションとオンライン・キャリブレーションとの関係を示した図である。前記Aoffから変換行列Wcam2offeyeを求める計算が、本実施形態におけるオフライン・キャリブレーションであり、本実施形態におけるオフライン・パラメータは、ｆoff，cuoff，cvoff，OffR11，OffR12，OffR13，OffR21，OffR22，OffR23，OffR31，OffR32，OffR33，OffTX，OffTY，OffTZである。なお、これらのオフライン・パラメータによりスクリーン座標系（スクリーン平面）の「候補領域（View Frustum）」が決定する。ここで候補領域と表現しているのは、ピクセル密度であるkの真値が未知であるためである。
【００６４】
図５は、スクリーン平面の候補領域を説明するための図であり、k=αおよびk=βの際の２つのスクリーン平面P1，P2が図示されている。図５におけるスクリーン平面の真の位置P0は、スクリーン座標系 (Xhmd [mm]，Yhmd [mm]，Zhmd [mm])に関連付いて描かれている平面であるが、この平面の場所をとるkの値は未知である。ピクセル密度kの真値は、後段のオンライン・キャリブレーションにおいて求める。
【００６５】
このように、オフライン・キャリブレーションは、スクリーン座標系（スクリーン平面）の候補領域を意味するオフライン・パラメータを推定するものである。例えユーザによりスクリーン平面の位置（スクリーンが結像する位置）が候補領域（View Frustum）内において異なる場合であっても、全てのユーザのスクリーン平面の位置を包含する形でオフライン・パラメータが求まるため、1つのオフライン・パラメータで全てのユーザに対応することが可能である。
【００６６】
続いて、オンライン・キャリブレーションについて述べる。オンライン・キャリブレーションにおける内部パラメータAonは、Aoffと同様に次式(6)で定義される。
【００６７】
【数６】
2014170374.tif 000008
【００６８】
fon [pixel]，cuon [pixel]およびcvon [pixel]は、それぞれオンライン・キャリブレーションにおいて推定されるユーザの眼とスクリーン平面との距離およびユーザの眼からスクリーン平面へ下ろした垂線のスクリーン平面上の位置である。このとき、スクリーン座標系に対するオンライン目座標系の位置および姿勢を表す変換行列Whmd2oneyeは、オンライン目座標系がスクリーン座標系を内部パラメータに従って平行移動させることにより定まるため、仮想スクリーンのピクセル密度kon [pixel/mm]を用いて次式(7)で表される。
【００６９】
【数７】
2014170374.tif 000009
【００７０】
変換行列Woffeye2hmdは、オフライン目座標系に対するスクリーン座標系の位置および姿勢を表す４×４の変換行列であり、オフライン・パラメータであるfoff，cuoffおよびcvoffと、オンライン・パラメータであるkonとを用いて、次式(8)のように定義される。
【００７１】
【数８】
2014170374.tif 000010
【００７２】
以上により、現実空間の３次元座標点X1が仮想スクリーンの２次元座標点m1に投影されるとき、３次元座標X1と２次元座標m1との間には次式(9)，(10)が成り立つ。なお、sはスケール係数である。
【００７３】
【数９】
2014170374.tif 000011
【００７４】
【数１０】
2014170374.tif 000012
【００７５】
従って、本発明におけるキャリブレーション・パラメータは次式(11)のように表現される。
【００７６】
【数１１】
2014170374.tif 000013
【００７７】
本実施形態では、この射影変換行列P3×4をユーザ毎に、厳密にはユーザがHMDを装着するごとに計算することで、カメラ３が検出したARマーカ６に合わせてCGキャラクタ等を仮想スクリーン上に正確に表示することが可能となる。
【００７８】
なお、オンライン・キャリブレーションは上式(10)について、foff、cuoffおよびcvoffが既知のもとでオンライン・パラメータであるfon，cuon，cvonおよびkonを推定する計算に相当する。具体的にはfon，cuonおよびcvonを調整する操作は、スクリーン平面に対するオンライン眼座標系の原点の位置を決定する操作に相当する。また、konを調整する操作は、オフライン・キャリブレーションにおいて推定されたスクリーン平面の候補領域（View Frustum）の中でスクリーン平面の位置を前後させる操作に相当する。
【００７９】
以上にように、オンライン・キャリブレーションでは、候補領域におけるスクリーン平面の位置、およびスクリーン座標系に対するユーザの眼の位置の双方が4つの未知パラメータのもとで決定される。
【００８０】
次いで、図２を改めて参照し、上記の基本構想を実現するための各構成要素の機能について詳細に説明する。前記マーカ検出部４２は、カメラ３から提供されるカメラ画像内に存在する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対応構成部４４は、入力されたカメラ３（カメラ座標系）の位置および姿勢から、マーカ座標系における一点の、カメラ座標系における３次元座標を計算し、それと同時に、ユーザに対してポインティング操作を要求して、当該一点が仮想スクリーンを通してユーザの目に入力される際のスクリーン平面上の２次元座標を取得する。そして、前記一点の３次元座標（カメラ座標系）および２次元座標（スクリーン平面）の対応関係で一組の対応点を構成し、これをオフライン・パラメータ推定部４５およびオンライン・パラメータ推定部４６へ出力する。
【００８９】
マーカ座標系（マーカ６）に対するカメラ座標系（カメラ３）の位置および姿勢は既知、すなわちカメラ座標系に対するマーカ座標系の位置および姿勢が既知であり、かつユーザにポインティングさせる一点をマーカ座標系において事前に定めておくことにより、ユーザが仮想スクリーン上でポインティングした特定の一点に対して、そのカメラ座標系における３次元座標を計算できる。
【００９０】
このような手動のポインティング操作は、マウスやタッチパネルによりカーソルを移動させて特定の一点と重なった位置でクリックまたはタップするといった操作としても良い。もしくは予め仮想スクリーン上の適当な位置に点や十字のマークを表示しておいて、このマークに特定の一点が重なるようにユーザが頭を動かし、重なったタイミングでキーボードやタッチパネルを操作するようにしても良い。
【００９１】
カメラ座標系における３次元座標を簡易に求めるために、本実施形態では、マーカ座標系の原点を特定の一点とする。これにより、マーカiの原点について、カメラ座標系における３次元座標Xicameraはtiとして求めることができる。特定の一点を原点としない場合は、マーカiの当該一点について、マーカ座標系における３次元座標をXmarkeriとすると、カメラ座標系における３次元座標Xicameraは次式(12)により計算できる。
【００９２】
【数１２】
2014170374.tif 000014
【００９３】
以上の処理により、マーカ６上の特定の一点に対して、カメラ座標系における３次元座標(Xi，Yi，Zi)とそれが仮想スクリーンに投影される点の２次元座標(ui，vi)との組が得られる。オンライン・パラメータ推定部４６には、マーカiに関する情報として、３次元座標(Xi，Yi，Zi)、２次元座標(ui，vi)，カメラ位置姿勢Riおよびtiが入力される。
【００９４】
オフライン・パラメータ推定部４５は、複数回のポインティング操作により得られる複数組の3D-2D対応と、マーカ座標系に対するカメラ３の位置および姿勢ならびにカメラ座標系に対するスクリーン座標系（スクリーン平面）の候補領域を表現するオフライン・パラメータを推定してオンライン・パラメータ推定部４６へ出力する。本実施形態におけるオフライン・キャリブレーションは、最少で４組の3D-2D対応から計算できる。
【００９５】
オンライン・パラメータ推定部４６は、複数回のポインティング操作により得られる複数組の3D-2D対応、マーカ座標系に対するカメラ３の位置および姿勢、ならびに事前に求められたオフライン・パラメータから、ユーザの身体的特徴や装着具合に起因するオンライン・パラメータを推定し、オフライン・パラメータと合わせて後段のキャリブレーション・パラメータ構成部４７へ出力する。本実施形態におけるオンライン・キャリブレーションは、オフライン・キャリブレーションと同様最少４組の3D-2D対応から計算できる。
【００９６】
オフライン・パラメータ推定部４５およびオンライン・パラメータ推定部４６は、入力された複数のマーカに関する情報のうち、そのマーカ座標系を基準座標系と設定するマーカを1つ選択する。これはランダムに選択してもよいし、複数のマーカの位置の重心点を計算し、マーカ座標系の原点がその重心点に一番近いものを選択してもよい。マーカの検出精度を尺度として検出精度が一番高いマーカを選択してもよい。
【００９７】
マーカjのマーカ座標系が基準座標系として選択されたものとして、基準座標系における各マーカの位置(X'i，Y'i，Z'i)が計算される。これはつまり、各マーカiのマーカjに対する相対的な位置関係を求めれば良いため、それぞれ次式(13)で計算できる。
【００９８】
【数１３】
2014170374.tif 000015
【００９９】
以上により、オフライン・キャリブレーションおよびオンライン・キャリブレーションに共通の事前処理は完了となる。以後、これまでに求めた情報に基づいて、オフライン・パラメータを計算するための上式(5)と、オンライン・パラメータを計算するための上式(10)について更に言及する
【０１００】
マーカiに関する情報を上式(5)に当てはめることで、オフライン・パラメータについての拘束式を構成することを考える。上式(5)の(u，v)には(ui，vi)を、(X，Y，Z)には(X'i，Y'i，Z'i)を、CamR11〜CamR33，CamTX，CamTYおよびCamTZにはRj，tjの各要素を、foff，cuoffおよびcvoffには適当な近似値を代入する。
【０１０１】
その結果、オフライン・キャリブレーションの段階で未知パラメータとして残っているのは、OffR11〜OffR33，OffTX，OffTYおよびOffTZのみとなる。これは最少で4組の2D-3D対応、つまり最少で４回のポインティング操作により、非特許文献３に開示されているPnP解法により求めることができる。
【０１０２】
未知パラメータをPnP解法により推定した後、foff，cuoff，cvoff，OffR11〜OffT33，OffTX，OffTYおよびOffTZをオフライン・パラメータとしてデータベース５に記録する。
【０１０３】
同様に、マーカiに関する情報を上式(10)に当てはめることで、オンライン・パラメータについての拘束式を構成することを考える。上式(10)の(u，v)には(ui，vi)を、(X，Y，Z)には(X'i，Y'i，Z'i)を、CamR11〜CamR33、CamTX、CamTYおよびCamTZにはRj，tjの各要素を、foff，cuoff，cvoff，koff，OffR11〜OffR33，OffTX，OffTYおよびOffTZにはオフライン・パラメータの各要素を代入する。その結果、オンライン・キャリブレーションの段階で未知パラメータとして残っているのはオンライン・パラメータであるfon，cuon，cvonおよびkonのみとなる。
【０１０４】
このとき、上式(10)に基いて、(u，v)の再投影誤差が最小になるように非線形最小二乗法を適用することにより、少なくとも４組の2D-3D対応、すなわち最少で４回のポインティング操作から未知パラメータを求めることができる。非線形最小二乗法としては、Newton法やGauss-Newton法のほか、Levenberg-Marquardt法を用いてもよい。
【０１０５】
なお、非線形最小二乗法は求めるパラメータの初期値を必要とし、初期値が真値に近い程、少ない点対応のもとで解が安定的に得られる。そのため、仮想スクリーンの大きさや位置に関する情報が仕様として記載されている光学式シースルー型HMDを用いる場合は、その値を参考にして初期値を計算することが望ましい。
【０１０６】
例えば、１m先に800px×600pxのスクリーンが１６インチの大きさで表示される仕様であれば、ユーザの眼から下ろした垂線がスクリーンの中心に位置すると仮定して以下のように初期値を計算してもよい。また、これらの値をオフライン・キャリブレーションで用いる内部パラメータの近似値として用いてもよい。
【０１０７】
・仮想スクリーンの対角線の長さ：16[in]×25.4[mm/in] = 406.4[mm]
・仮想スクリーンの横幅の長さ：406.4[mm] * (4 / 5) = 325.12 [mm]
・ピクセル密度k: 800[pixel] / 325.12 [mm] = 2.46 [pixel/mm]
・焦点距離fon： 1000[mm] * 2.46 [pixel/mm] = 2460.6 [pixel]
・光軸中心の位置cuon: 400 [pixel]
・光軸中心の位置cvon: 300 [pixel]
【０１０８】
キャリブレーション・パラメータ構成部４７は、入力されたオンライン・パラメータからカメラ座標系における一点をスクリーン平面に投影するための射影変換行列をARシステムのキャリブレーション・パラメータとして求める。これは、オフライン・パラメータおよびオンライン・パラメータを上式(11)に代入するだけでよい。
【０１０９】
以上の説明にてキャリブレーション・パラメータの推定は完了となるが、以下にオフライン・パラメータの変更について補足しておく。
【０１１０】
カメラ３がフレーム１に固定された状態で向きや位置を変更できる場合、オフライン・パラメータは常に一定値とはならないが、キャリブレーションを実施する段階さえカメラ３の向きおよび位置が固定であれば本発明の適用対象となる。つまり、カメラ３のフレーム１に対する向きおよび位置が固定された状態でキャリブレーションを実施し、オフライン・パラメータからオンライン・パラメータおよびキャリブレーション・パラメータを求める。オンライン・パラメータが一度求まれば、ユーザと装着したフレーム１との関係が固定である限りキャリブレーション・パラメータは一定値となる。
【０１１１】
以後、カメラ３のフレーム１に対する向きや位置が変更された場合に、変更後のオフライン・パラメータをその都度計算できるのであれば、上記の実施形態で言及した方式により仮想スクリーンに重畳表示することが可能である。
【符号の説明】
【０１１２】
１…メガネ状フレーム，２…透過式スクリーン，３…カメラ，４…HMD較正装置（演算部），５…データベース，６…ARマーカ，４１…カメラ画像取得部，４２…マーカ検出部，４３…カメラ位置姿勢推定部，４４…3D-2D対応構成部，４４ａ…ポインティング操作部，４５…オフライン・パラメータ推定部，４６…オンライン・パラメータ推定部，４７…キャリブレーション・パラメータ構成部
【図１】
2014170374.tif 000016
【図２】
2014170374.tif 000017
【図３】
2014170374.tif 000018
【図４】
2014170374.tif 000019
【図５】
2014170374.tif 000020
【図６】
2014170374.tif 000021
【図７】
2014170374.tif 000022
【図８】
2014170374.tif 000023
【図９】
2014170374.tif 000024
【図１０】
2014170374.tif 000025
【図１１】
2014170374.tif 000026