(57)【要約】【課題】  撮像装置の位置姿勢計測を、簡便な構成により広範囲で行えるようにする。【解決手段】  予め定めた符号列を、連続する複数の指標で表す様に指標を配置する。指標列を構成する指標は画像処理で識別可能な特徴が異なる少なくとも２種類の指標を含む。そして、撮像画像中に検出された指標を数値情報に変換し、数値情報と予め定めた符号列とから、撮像画像中に検出された指標の同定を行う。そして、予め登録された基準となる指標の座標情報を用いて、同定された指標の座標情報を求める。この座標情報と、別途取得した撮像装置の姿勢情報とを用い、撮像装置の位置姿勢を求める。【選択図】  図１
2007271563.tif 000002
【特許請求の範囲】
【請求項１】
複数の指標が一次元的に布設された現実空間、を撮像する撮像装置の位置姿勢を計測する位置姿勢計測方法であって、
前記撮像装置の姿勢情報を取得する姿勢情報取得工程と、
撮像画像中の前記複数の指標を検出する指標検出工程と、
前記指標検出工程で検出された複数の指標を、対応する数値情報に変換する変換工程と、
予め定めた符号列中における、前記数値情報と合致する部分を検出する照合工程と、
前記数値情報の前記符号列中における位置と、指標の配置に関する既知の情報とを用いて前記検出された指標の各々の現実空間における座標値を求める座標算出工程と、
前記姿勢情報と前記座標値とを用いて、前記撮像装置の位置姿勢を算出する位置姿勢算出工程とを有することを特徴とする位置姿勢計測方法。
【請求項２】
前記指標検出工程で検出された前記複数の指標が含まれる画像領域の歪みを補正する補正工程をさらに有し、
前記変換工程が、前記補正を行った後の画像を用いて前記変換を行うことを特徴とする請求項１記載の位置姿勢計測方法。
【請求項３】
前記変換工程が、前記複数の指標の各々の種類を識別することによって前記変換を行うことを特徴とする請求項１又は請求項２に記載の位置姿勢計測方法。
【請求項４】
前記変換工程が、前記複数の指標の各々の種類を分類し、分類毎に数値情報に変換することを特徴とする請求項３記載の位置姿勢計測方法。
【請求項５】
前記指標の配置に関する既知の情報が、指標の配置方向に関する情報、指標の間隔に関する情報、基準となる指標の座標の少なくとも１つを含むことを特徴とする請求項１乃至請求項４のいずれか１項に記載の位置姿勢計測方法。
【請求項６】
前記姿勢情報検出工程が、重力方向に対する前記撮像装置の姿勢を検出する姿勢検出装置から前記姿勢情報を取得することを特徴とする請求項１乃至請求項５のいずれか１項に記載の位置姿勢計測方法。
【請求項７】
前記所定の符号列が、自己相関関数が周期内で１となるものが１つしかない符号列であることを特徴とする請求項１乃至請求項６のいずれか１項に記載の位置姿勢計測方法。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の位置姿勢計測方法における各工程をコンピュータ装置に実行させるためのプログラム。
の座標と
【請求項９】
請求項８記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
複数の指標が一次元的に布設された現実空間、を撮像する撮像装置の位置姿勢を計測する位置姿勢計測装置であって、
前記撮像装置の姿勢情報を取得する姿勢情報取得手段と、
撮像画像中の前記複数の指標を検出する指標検出手段と、
前記指標検出手段で検出された複数の指標を、対応する数値情報に変換する変換手段と、
予め定めた符号列中における、前記数値情報と合致する部分を検出する照合手段と、
前記数値情報の前記符号列中における位置と、指標の配置に関する既知の情報とを用いて前記検出された指標の各々の現実空間における座標値を求める座標算出手段と、
前記姿勢情報と前記座標値とを用いて、前記撮像装置の位置姿勢を算出する位置姿勢算出手段とを有することを特徴とする位置姿勢計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置姿勢計測技術に関し、特に現実空間の撮像画像と指標を用いて位置姿勢を計測する位置姿勢計測技術に関するものである。
【背景技術】
【０００２】
現実空間を撮像するカメラなどの撮像部（以下適宜カメラと言い換える）の位置姿勢計測は、例えば現実空間と仮想空間とを融合表示する複合現実感(Mixed Reality:MR)システムにおいて必要となる。
【０００３】
現実空間におけるカメラの位置姿勢を計測する方法として、例えば磁気センサ等の位置姿勢センサをカメラに取り付ける方法がある（以下、方法１と呼ぶ）。
複合現実感技術では、現実空間に存在する物体（現実物体）の位置関係と、コンピュータグラフィックス等で描画される物体（仮想物体）との間に幾何学的なずれが生じていないことが望ましい。そこで、現実空間を撮像した画像を用いて、方法１で用いる位置姿勢センサの測定誤差を補正する技術が特許文献１乃至２において開示されている。
【０００４】
特許文献１乃至２で開示されている方法は、計算原理や手段、工程が異なるものの、位置が既知である指標（マーカ）を現実空間中に配置し、カメラが撮影した画像に含まれる指標の情報を用いてセンサの誤差を補正する点で共通する。具体的には、カメラの位置姿勢を測定するための６自由度の位置姿勢センサから得られた情報と、現実空間に配置した指標の情報及びこれら指標をカメラで捉えた情報を基にして、カメラの位置姿勢を求める（以下、方法２と呼ぶ）。
【０００５】
また、非特許文献１乃至３などに開示されるように、現実空間に存在する指標をカメラで撮像して得られる情報のみから、このカメラの位置姿勢を求める方法が数多く実施されている。画像情報のみからカメラの位置姿勢を求めるには、特許文献２で述べられているように、直線上にない３点以上の指標が必要である。以下、同一直線上にない３点以上の指標をカメラで撮像し、撮像画面中の検出された指標の座標を元にカメラの位置姿勢を求めるという手法をまとめて、方法３と呼ぶ。
【０００６】
方法３は、高価な６自由度の位置・姿勢センサを用いることなく、カメラのみを用いるためコストの面で有利である。ただし、カメラの位置姿勢を計測するためには同一直線上にない３点以上の指標が撮像される必要がある。
【０００７】
特許文献３では、姿勢検出センサと、画像中に検出された指標の情報とを用い、カメラの位置姿勢を推定する方法が開示されている。特許文献３記載の方法では、３点以上の指標が検出された場合、繰り返し演算により高精度にカメラの位置姿勢を求めることができる。また、２点もしくは１点の指標が検出された場合は、過去の位置姿勢推定結果を用いて、位置姿勢の平行移動成分もしくは回転成分を補正する。これにより、検出された指標が３点未満であったとしても、姿勢検出センサの情報を有効に利用して精度の良い位置姿勢計測を継続することができる。
【０００８】
近年はジャイロセンサ又は加速度センサの性能が向上し、姿勢検出が精度良く行えるようになってきた。従って、これらのセンサにより、重力方向に対する傾斜と地軸方向に対する方位角が正確に求められる。方法３では、カメラのみを用いて位置姿勢を測定するため、現実空間において同一直線上に配置されていない３点以上が撮像画像にて検出されている必要があった。しかし、カメラの姿勢をセンサによって検出して、位置のみを指標から求める場合には、２点の指標が検出されればよい。また、２点とは線分の両端でも構わない。撮像された指標と、実際の指標との対応を容易に検出するため、指標には異なる色やパターンが用いられるのが一般的である。
【０００９】
指標の対応を検出するためには、指標を構成する要素に符号化された情報を用いることで、個々の指標を識別するための情報を複数導入することができる。このような符号化情報としては、一般にはバーコードやＱＲコードなどが知られているが、直線的に連続して構成することができる方法としてＭ系列で発生する疑似乱数系列（ＰＮ系列）を用いることが知られている。さらに、Ｍ系列を用いて相対位置を求める方法が位置検出方法として多く提案されている。Ｍ系列は、疑似乱数の信号で発生する系列の相関が最大になる点を用いて疑似乱数発生回数の値を求めることができる。よって、Ｍ系列を生成する基準長さ以上の系列が得られれば相対位置を求めることができる。
【００１０】
【特許文献１】特開平１１―０８４３０７号公報
【特許文献２】特開２０００−０４１１７３号公報
【特許文献３】特開２００５−３３３１９号公報
【非特許文献１】W. A. Hoff and K. Nguyen, “Computer vision-based registration techniques for augmented reality”, Proc. SPIE, vol.2904, pp.538―548, Nov. 1996.
【非特許文献２】U. Neumann and Y. Cho, “A self-tracking augmented reality system”, Proc. VRST ‘96,pp.109-115, July 1996.
【非特許文献３】暦本  純一、「２次元マトリックスコードを利用した拡張現実感システムの構成手法」、インタラクティブシステムとソフトウェアＩＶ、近代科学社、pp. 199-208、Dec. 1996.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
複合現実感技術を構内移動におけるナビゲーションなどへ応用することを考えた場合、次へ進むべき方向を現実空間の画像に重畳表示することが一般的と考えられる。この場合、カメラの姿勢計測精度が低いと、方向を指示する画像が正しい方向を示さなくなってしまう可能性があるため、姿勢計測精度を高めることは重要である。
【００１２】
さらに、地下やビル内においてはＧＰＳが利用できないことから、カーナビゲーションの仕組みを、そのまま地下、ビル内における広範囲の構内移動におけるナビゲーションに適用することは難しい。
【００１３】
磁気を検出することで位置姿勢を検出する６自由度センサは、金属などの干渉物の影響で、広い範囲で十分な精度を得ることが難しく、種々の精度を向上する手段が提案されている。その中でも実際の撮像画像との位置ズレを最小限にすることで誤差を最小化する手段として手法２が提案されている。６自由度センサは一般的に計測範囲が限られているため、計測対象が広い範囲を動く場合などに対応していない。また、センサ自体が高価であるので、手法１および手法２とも一般に普及させるためには６自由度センサ自体の価格を下げる必要がある。
【００１４】
方法３は、６自由度センサを用いないため、指標が存在する範囲であればカメラの位置姿勢を計測することが可能である。また、カメラのみを用いるため、汎用的なＣＣＤカメラを用いれば６自由度センサを用いる計測装置よりも低価格である。ただし、カメラの位置姿勢を求めるには、現実空間において位置が既知である指標が撮像画像中に検出されている必要がある。
【００１５】
方法３で姿勢を精度良く求めるためには指標が撮像画面中に大きく撮像されている必要がある。現実空間に指標を配置する際、大きく写るように、かつ複数配置することで、広範囲で安定した位置姿勢計測が可能となる。指標には、画像処理により精度良く検出できるよう、現実空間の照明状態に影響されにくいことが要求される。そのため、一般的には、白と黒の領域を有するものとして構成されることが多い。
【００１６】
このように、方法３に用いる指標は、大きく、また白黒パターンを有するものとなる傾向にある。そのため、現空間内に大きい位置姿勢計測用の指標、例えば非特許文献３で述べられているような四角形の黒と白の指標が複数設置されている場合、カメラの位置姿勢計測を利用しない人にとっては目障りとなる場合がある。また、指標が何を意味するかも不明な人の中には、現実空間の美観を損ねる要因として受け止められてしまう可能性もある。
【００１７】
２次元の大きな指標が貼付された壁面は、壁面の材質や構造体が隠蔽されてしまうばかりでなく、既存のデザインとは調和しづらい。さらに、壁面や構造体に位置姿勢計測用の黒や白の大きな指標を点在させることは、例えば公共の場では難しい。廊下や通路など、移動距離が長い場所で撮像装置の位置姿勢計測を精度良く行うためには、２次元の指標をカメラが撮像しうる範囲に多数、かつ連続的に布設する必要がある。例えば地下道などの公共の空間に多くの指標を設置するには、社会的なコンセンサスも必要となり、実際には容易でないと思われる。つまり、公共の空間の壁面のあちこちに、大きな四角形の指標を貼りつけることは、一般的な感覚では好ましくないと感じるものと思われる。
【００１８】
指標のみを用いるのではなく、ジャイロ・加速度センサを利用した姿勢センサを併用してカメラの姿勢を推定して、カメラの位置を２点の指標から求める方法を用いれば、大きな指標を用いる必要が無くなる。この場合、２点が識別できるように指標を設置すればよい。従来、色を利用して指標を識別する方法が一般的であった。しかし、色は環境光の影響を受けて変化するため、安定した識別が難しい。そのため，利用できる色数には制限があるので、カメラを広範囲に移動させる場合には、複数の色を識別をすることが難しい。検出された指標を簡単に識別するための情報として、指標の形状の違いを用いることも考えられる。しかし、この場合、形状の種類が増えると形状の差異が小さくなり、指標が大きく撮像されないと識別が難しくなる。これは、結局、方法３で用いる指標と同じ問題を生じる。
【００１９】
指標に情報を持たせる方法としては、１つの指標の中に情報を詰め込む手段と、複数の指標の組み合わせに情報を持たせる方法が考えられる。後者の方法の代表として、Ｍ系列による信号を用いて相対位置を求める技術が多く存在する。Ｍ系列では指標が持つ情報量が０もしくは１の２ビットで構成されている場合が多く、単純なセンサで２ビットのデータを読み込む構成が多い。広い範囲を対象とすると、系列の生成に必要な基準長さもまた大きくなる。撮像する領域は比較的狭い場合が多く、多くの指標を一度に撮像しないと位置姿勢計測が出来ないとすると、利用の範囲を狭めることになる。
【００２０】
このように、位置姿勢の検出対象であるカメラが広範囲に移動するような用途において、カメラの移動範囲の美観を大きく損なうことなく、かつ精度の良い位置姿勢の計測を実現するための指標はいままで存在しなかった。
【００２１】
本発明はこのような問題を鑑みてなされたものであり、広範囲での配置が可能で、２次元的な大きさの制約が少ない指標と、この指標を用いたカメラの位置姿勢計測を実現することを目的とする。
【課題を解決するための手段】
【００２２】
上述の目的は、複数の指標が一次元的に布設された現実空間、を撮像する撮像装置の位置姿勢を計測する位置姿勢計測方法であって、撮像装置の姿勢情報を取得する姿勢情報取得工程と、撮像画像中の複数の指標を検出する指標検出工程と、指標検出工程で検出された複数の指標を、対応する数値情報に変換する変換工程と、予め定めた符号列中における、数値情報と合致する部分を検出する照合工程と、数値情報の符号列中における位置と、指標の配置に関する既知の情報とを用いて検出された指標の各々の現実空間における座標値を求める座標算出工程と、姿勢情報と座標値とを用いて、撮像装置の位置姿勢を算出する位置姿勢算出工程とを有することを特徴とする位置姿勢計測方法によって達成される。
【００２３】
また、上述の目的は、複数の指標が一次元的に布設された現実空間、を撮像する撮像装置の位置姿勢を計測する位置姿勢計測装置であって、撮像装置の姿勢情報を取得する姿勢情報取得手段と、撮像画像中の複数の指標を検出する指標検出手段と、指標検出手段で検出された複数の指標を、対応する数値情報に変換する変換手段と、予め定めた符号列中における、数値情報と合致する部分を検出する照合手段と、数値情報の符号列中における位置と、指標の配置に関する既知の情報とを用いて検出された指標の各々の現実空間における座標値を求める座標算出手段と、姿勢情報と座標値とを用いて、撮像装置の位置姿勢を算出する位置姿勢算出手段とを有することを特徴とする位置姿勢計測装置によっても達成される。
【００２４】
また、上述の目的は、本発明の位置姿勢計測方法をコンピュータ装置に実現されるためのコンピュータプログラム及び、このコンピュータプログラムを記録したコンピュータ装置読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００２５】
このような構成により、本発明によれば、広範囲での配置が可能で、２次元的な大きさの制約が少ない指標を実現することができる。
【発明を実施するための最良の形態】
【００２６】
以下、添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
図１は、本発明の一実施形態に係る位置姿勢計測装置１００を頭部装着型表示装置(HMD: Head Mounted Display)１０１に適用した際の使用形態例を示す模式図である。
【００２７】
ＨＭＤ１０１は、例えばＣＣＤセンサやＣＭＯＳセンサを撮像素子に用いたビデオカメラであるカメラ１０２と、姿勢検出センサ１０３を有し、現実空間内を移動可能である。ＨＭＤ１０１は、右目用及び左目用の一対の表示器１０４を有し、ＨＭＤ１０１の装着者は表示器１０４に映し出された画像を観察する。
【００２８】
カメラ１０２はその撮影方向がＨＭＤ１０１の装着者の視線方向に略一致するようにＨＭＤ１０１に取り付けられ、現実空間を撮像して、撮像した画像を表す信号を後述する撮像画像取得部１０５へ出力する。姿勢センサ１０３は、振動ジャイロなどの原理に基づいて、ＨＭＤ１０１の重力方向に対する傾斜角を計測する。
【００２９】
このように、図１に示すＨＭＤ１０１は、表示器１０４を内蔵し、カメラ１０２が取り付けられ、またカメラ１０２には姿勢センサ１０３が固定されている。このＨＭＤ１０１は現実空間内で自由に移動することが可能であり、観察対象となる現実空間には、指標（マーカ）２００が配置されている。
【００３０】
なお、本実施形態においては、カメラ１０２、姿勢センサ１０３及び表示器１０４の３つを内蔵又は取り付けられたＨＭＤ１０１を用いている。しかし、カメラ１０２と姿勢センサ１０３とが固定された位置関係を有して現実空間内を移動可能でありさえすれば、表示器１０４は他の２つに対して固定されていなくてもよいし、ＨＭＤ１０１内に内蔵されていなくてもよい。
【００３１】
図２は、本実施形態に係る位置姿勢計測装置１００と、図１に示したＨＭＤ１０１との機能構成例を示すブロック図である。位置姿勢計測装置１００とＨＭＤ１０１とは、例えば無線又は有線通信可能に接続されても良いし、位置姿勢計測装置１００をＨＭＤ１０１に内蔵してもよい。
【００３２】
カメラ１０２から送られた、現実空間を撮像した画像を表す信号は撮像画像取得部１０５に送られ、例えばビデオキャプチャボードである撮像画像取得部１０５で画像データとして再構成される。得られた画像データは、特徴点検出部１０６に送られると共に、後述の撮像画像描画部１１３へ送られる。特徴点検出部１０６は、入力された画像データに含まれる、現実空間中の指標を検出する機能を有する。このとき、画像中の指標の位置（画像中の２次元座標）も検出される。
【００３３】
撮像画像取得部１０５には、現実空間に布設された１次元の指標列２００の一部が撮像された画像が入力されているものとする。
特徴点検出部１０６は画像データから特徴量検出を利用して指標を検出するが、特徴量としては指標の大きさ、色などの情報を利用して実現することができる。その具体的な特徴量については後述する。また、１次元に配置されているという先験的な情報を利用して、撮像画面中から指標列が存在する部分を推定する処理を効率的に行うことが可能になる。
【００３４】
特徴点検出部１０６により検出された指標の情報は、系列情報変換部１０７に及びカメラ位置姿勢推定演算部１１２に与えられる。系列情報変換部１０７では、指標から数値情報を求める。この数値情報は系列情報照合部１０８で参照用の系列情報と比較され、一致する部分が検出される。起点情報取得部１０９は、系列情報の符号化の起点に関する情報として、現実空間での起点の座標などを取得する。系列指標相対座標演算部１１０では、この現実空間での座標情報を基に、画像データに含まれる指標列の座標を、現実空間での座標へ変換する演算を行う。
本実施形態では、参照用の系列情報（符号列）として、Ｍ系列のような、自己相関関数が周期内で１となるものが１つしかない符号列を用いる。
【００３５】
カメラ姿勢計測部１１１は、図示しない入出力ポートに接続された姿勢センサ１０３の出力信号から、重力方向に対する傾斜角を算出する。なお、姿勢センサ１０３の機械的特性による誤差や初期値は既知としているが、加速度センサを利用して重力方向を検出する場合は積分回路と平滑化回路を用いて姿勢センサとして利用することも可能である。
【００３６】
カメラ位置姿勢推定演算部１１２は、
・特徴点検出部１０６により得られる指標の画像中の座標情報
・系列指標座標演算部１１０により得られる指標列の現実空間における座標
・カメラ姿勢計測部１１１により得られるカメラ１０２の姿勢に関する情報
を利用し、連立方程式を解くことによりカメラ１０２の位置姿勢を推定する。
【００３７】
このような構成を有する位置姿勢計測装置１００は、汎用コンピュータ装置により実現可能であり、少なくともその一部の構成要素をＣＰＵが制御ソフトウェアを実施することにより実現可能である。
【００３８】
なお、図２において、撮像画像描画部１１３と仮想空間融合描画部１１４は、本実施形態に係る位置姿勢測定装置１００の出力するカメラ位置姿勢を利用して実写画像（現時物体画像）とＣＧ画像（仮想物体画像）とを合成した画像を生成するための構成である。これらは、位置姿勢計測の結果を利用する構成の一例であり、位置計測処理とは無関係であるため、別の構成として記載してある。
【００３９】
撮像画像描画部１１３は、特徴点検出部１０６と同様に、画像取得部１０５にて得られた画像データを受け取る。そして、現実空間の撮像結果そのものであるこの画像データを、例えば仮想空間融合描画部１１４が有する、表示器１０４の表示用描画領域（ビデオメモリ）に描画する。
【００４０】
仮想空間融合描画部１１４は、表示器１０４の表示用描画領域に、仮想空間（仮想物体画像）を上書き描画することによって、現実物体画像に対して仮想物体画像を融合描画する。より具体的には、カメラ１０２で撮像した現実空間画像に、予め定められた仮想空間モデルをカメラ位置推定演算部１１２で求めたカメラの位置姿勢に基づいて描画して得られた仮想空間画像（仮想物体画像）を合成する。これにより、現実空間と仮想空間とが融合した複合現実空間を表す画像（複合現実空間画像）が生成される。
仮想空間融合描画部１１４は、この複合現実空間画像を、ＨＭＤ１０１に内蔵されている表示器１０４へ送信する。これにより表示器１０４では融合描画結果が表示される。
【００４１】
上述の通り、本実施形態の位置姿勢計測装置１００は、ＨＭＤ１０１のカメラ１０２からの映像信号及び、姿勢センサ１０３からの検出信号を受信可能であれば、ＨＭＤ１０１が移動する範囲とは無関係に任意の場所に設置可能である。従って、例えば磁気を利用した６自由度センサのように、計測可能な範囲に制限がある構成とは大きく異なり、広範囲での位置姿勢計測に適している。
【００４２】
次に、図３を用いて、指標列から系列情報を求める動作について説明する。
指標列は、符号化により位置情報などがコード化された情報列を用いるが、その符号化の起点２０１が指標列には存在し、そこから一連の指標が等間隔で並んでいるものとする。撮像画像取得部１０５が取得した画像データ中には、このような指標列のうち、指標２０２から２０３までの直線上に並んでいる指標が撮像されているものとする。なお、ここでは、指標全体が撮像されている場合に”指標が撮像されている”と言う。
【００４３】
特徴点検出部１０６では、画像データ中から指標の特徴量検出を用いて指標の領域を推定する。例として、指標の形状や色などをその特徴とすることも可能である。撮像画面中の各指標の位置は、特徴検出部１０６において、指標の特徴情報を用いて検出した領域の重心を取ることによって１つの点として検出することが可能である。また、指標として検出された領域の外形枠を求め、外形枠の重心もしくは中心を求めても良い。さらに、指標を１次元に並べたときのデザイン（配置）が予め情報として分かっている場合には、指標列のベースラインからの相対値を特徴検出部１０６が利用して指標の座標値を補正する方法でも構わない。
【００４４】
系列情報変換部１０７には、符号と指標の図形との対応が予め登録されており、特徴検出部１０６から得られた指標の１つ１つに対して比較を行い、符号化に用いた時の位置情報に関連する数値情報へと変換する。例として、図３においては大きな円を数値情報”１”、小さな円を数値情報”０”にそれぞれ変換している。
【００４５】
カメラの撮像方向と指標列が布設されている壁面とが正対している環境においては、撮像画像中の指標列と参照用の図形（基準図形）との比較が容易に行える。しかし、一般的なカメラの位置姿勢計測においては、カメラの撮影方向と指標列が設けられた壁面との位置関係は任意であるため、指標列を斜めから撮影する場合が多い。
【００４６】
図４（ａ）は、カメラ１０２が指標列２００を斜めから撮影した状態を模式的に示す上面図である。カメラ１０２と指標列２００を見下ろした状態を示し、指標列２００が見えるように記載している。
【００４７】
図４（ａ）において、カメラ１０２は、北東の方角に向かって指標列２００を撮影している。この場合、撮像画像１０５ａには、図４（ｂ）に示すように、指標列２００が歪んで撮影される。この状態においては、指標列を構成する要素として大きさの異なる円を用いている場合は、それぞれの指標を区別することが難しい。そこで、指標列が外接する、頂点１６０乃至１６３で囲まれた領域に対して台形歪み補正を行うことにより、指標列の形状を安定して区別し、数値情報（系列情報）に変換することが可能となる。
【００４８】
頂点１６０乃至１６３で囲まれた台形領域は元々長方形であり、指標列の布設方向における頂点１６２乃至１６１を結ぶ直線と頂点１６３乃至る１６０を結ぶ直線の２本の直線は平行である。さらに領域に含まれる指標列の個数を、直線に対して垂直方向への射影とする射影特徴から推定することで、物理的な指標列の間隔が既知であるため、長方形の長辺方向の長さと短辺方向の長さの比が求まる。長さの比が求められれば台形歪み補正を行うことができる。そのため、図４（ｃ）の１０７ａに示すように、撮像画像中の領域を長方形に補正することで、指標列を斜めから撮影した場合でも系列情報への変換が可能となる。
【００４９】
さらに、撮像装置の光軸方向１５０と、指標列２００が布設されている壁面の法線方向１５１と、指標列を構成する各指標の面積とが既知である。そのため、これらの情報を用いて指標列の領域を高精度に補正することも可能である。
【００５０】
得られた数値情報と符号化系列の情報との照合を行う系列情報照合部１０８において、照合位置を検出する。例として、符号化の基準長（Ｌ）が４である場合、指標２０２から２０３までに４点以上の指標が得られれば、変換された数値情報から符号列の照合が可能となる。基点からの照合開始位置をｎとすると、終了位置はｎ＋Ｌ−１となる。なお、Ｍ系列による符号化方法を用いれば、基準長Ｌが一致する周期を最大に取ることができるため、広範囲に指標列を布設する場合には有効である。Ｍ系列は、符号化の基準長（Ｌ）のシフトレジスタと、レジスタ出力のフィードバックによって周期が最大になるように構成される。
【００５１】
なお、前述の系列情報照合部１０８は広範囲に対応するためにＭ系列を用いた場合を説明したが、指標列を布設する領域が狭い場合などは、符号列を格納したテーブルを参照して、数値情報をテーブル中で検出するようにしてもよい。
【００５２】
図５を用いて、起点情報取得部１０９及び系列指標相対座標演算部１１０の処理について説明する。
指標列の起点２０１に関する起点情報としては、現実空間における起点の座標位置（Ｐｘ，Ｐｙ，Ｐｚ）および指標列の起点からの方向成分（Ｖｘ，Ｖｙ，Ｖｚ）、さらに指標間の現実空間での長さ（ｄ）が考えられる。なお、ここでは、方向成分（Ｖｘ，Ｖｙ，Ｖｚ）は現実空間での長さ（ｄ）と同じ座標系で正規化しているものとする。
【００５３】
起点情報取得部１０９は、系列情報照合部１０８で得られた情報から、関連する起点情報を得ることになるが、起点情報は予めテーブルなどに保持していてもよいし、起点情報を管理しているサーバなどに無線もしくは有線のネットワークを利用して問い合わせして取得しても構わない。
【００５４】
起点情報取得部１０９から得られた起点情報から、系列指標相対座標演算部１１０では、カメラで撮影した画像に含まれる指標列の、現実空間での座標を計算する。例として、図３における指標２０２の現実空間での座標は、起点２０１の現実空間での座標（Ｐｘ，Ｐｙ，Ｐｚ）から（ｎ）番目の指標として、指標間隔（ｄ）の長さと起点からの方向（Ｖｘ，Ｖｙ，Ｖｚ）に配置されているものであるから、指標２０２の現実空間での座標は、（Ｐｘ＋ｄ×ｎ×Ｖｘ，Ｐｙ＋ｄ×ｎ×Ｖｙ，Ｐｚ＋ｄ×ｎ×Ｖｚ）として求められる。
【００５５】
起点２０１からの方向成分（Ｖｘ，Ｖｙ，Ｖｚ）に対する（ｎ）番目の指標を、（Ｖｘ（ｎ），Ｖｙ（ｎ），Ｖｚ（ｎ））と表現しても良い。方向成分に例えば正弦波を含めることで、指標列を正弦波状に設置すること（正弦波状に配置された指標列に対する座標を求めること）が可能となる。また、ｎ番目の指標の座標を予めテーブルに登録しておき、テーブルを参照して座標を求めることも可能である。
【００５６】
起点情報取得部１０９では、一般的な環境での実施形態を説明したが、系列情報照合部１０８での照合位置と指標列の現実空間の座標値を保持する１つ以上のテーブルとの対応を取ることにより、座標値を効率的に求めることも可能である。この場合は、系列指標相対座標演算部１１０の処理を省くことができる。
【００５７】
図６に指標列の例を示す。指標列３０１は基本的な図形を円として、例えば、大きい円＝”１”、小さい円＝”０”のように、大きさに応じた値を割り当てたものである。あるいは、”１”や”０”という値を、指標列の大きさで表現した指標列であると考えることもできる。
このように、本実施形態では、画像処理により識別可能な特徴において異なる複数種の指標を用い、符号列のような数値情報を画像情報に変換する。
【００５８】
指標列３０２は、基本的な図形を円として、色の違う指標を用いた例である。指標列３０３は、基本的な図形が円と四角の指標を用いた例である。指標列３０４は、基本的な図形を三角形とし、その方向が異なる指標を用いた例である。指標列３０５は、異なる２つの特徴を有する指標を用いた例であり、基本的な図形を円とし、大きさ又は色とが異なる指標を用いた例である。
【００５９】
指標列３０５は、白い円形で大きさの異なる２種類の指標（分類１）と、黒い円形で大きさの異なる２種類の指標（分類２）の、２つの指標分類が混在したものと考えることができる。従って、分類１と分類２とで異なる情報を表すように構成することも可能である。この場合、数値情報への変換時に分類１と分類２を別個に取り扱うことで、指標列３０５には分類１が表す情報（例えば本来の数値情報）と分類２が表す情報（例えば誤り訂正情報）とが多重化されているものとして処理可能である。もちろん、指標列３０５で１つの情報を表すようにしてもよい。その場合、４種類の指標が含まれることから、１種類当たりの情報量を１ビット（”１”又は”０”）から２ビット（”００”、”０１”、”１０”、”１１”のいずれか）とすることができる。そのため、同じ数値情報を表すのに必要な指標の数を減らすことが可能となる。
【００６０】
指標列３０６は、指標の種類は指標列３０１と共通であるが、直線状ではなく規則的な三角波状に配置させたものである。予め三角波の形状（角度や一辺の長さ）を登録しておくことで、このような非直線状の配置も可能となる。指標列３０７は基本的な図形（外形）が異なる指標という点では指標列３０３と共通であるが、外形をより複雑な形状としたものである。
【００６１】
これらの例のように、本実施形態では、少なくも画像処理により識別可能な特徴が異なる２種類以上の指標から構成すればよい。そのため、従来用いられていた、バーコードなどの２次元パターンを有する大型の指標よりも小型の指標を用いることができる。また、見た目にも違和感のない指標が使用できる。
【００６２】
多重化は、必要な基準長（Ｌ）が長くなった場合に、実際に検出しなくてはならない指標列を短くする効果がある。なお、図に示す指標は理論的に画像処理で識別可能な特徴を異ならせた指標の例を示したものである。実際に用いる指標についての基本的な図形の大きさ、色や濃度などは、実環境（特に光源の種類や明るさ）、撮像部並びに画像処理の性能などを考慮に入れて決定する必要がある。
【００６３】
さらに、符号化の基準長（Ｌ）が１つのまとまりとして撮像されれば、その開始、終了位置の２点が求まることから、全ての指標が等間隔で連続して配置されている必要はない。つまり、基準長（Ｌ）に対応する１つの指標列から、別の指標列までの間に、空白の部分や他の符号化による指標列が入っていたとしても構わない。
【００６４】
また、指標によって表す符号列には、複数の情報を持たせても良い（多重符号化系列）。具体的には、現実空間の指標列の基準点や起点の参照点に関する情報を多重符号化して指標列で表すことで、前述の起点情報取得部１０９での情報として使うことができる。また、画像処理での検出誤りが発生する場合もあるので、誤りを訂正もしくは検出する情報を多重符号化して指標列の情報に含めることで、情報の検出を安定させる効果がある。
【００６５】
さらに、指標列の周辺の地理的な情報、例えば地名や公共施設の場所などに関する情報を符号化情報に持たせることで、撮像装置の位置姿勢を検出した後にナビゲーションの工程などに利用することも可能である。
【００６６】
引き続いて、図７に示すフローチャートを参照して、本実施形態に係る位置姿勢計測装置１００の動作について説明する。
ステップＳ１０１とステップＳ１０２は並列に実行される。ステップＳ１０１では、姿勢センサ１０３からカメラ１０２の姿勢を取得する。姿勢センサ１０３は、位置姿勢計測装置１００とは独立して情報が更新されているため、ステップＳ１０１にて最新の更新状態を取得する。
【００６７】
ステップＳ１０２では、カメラ１０２から映像を撮像画像取得部１０５にて取得する処理を実行する。カメラ１０２は、所定のフレームレート（例えば３０フレーム／秒）で動画像を撮像しつづけている。そして、撮像画像取得部１０５は、ステップＳ１０２で、この連続したフレームの１フレーム分の画像信号を取得し、デジタルデータへの変換などを行い画像データを生成する。
【００６８】
ステップＳ１０３では、特徴検出部１０６にて、ステップＳ１０２で生成された画像データ中に指標列が含まれているかどうかを検出する。検出の結果、画像データ中に指標列が含まれていない場合（ステップＳ１０４，Ｎｏ）は、指標の現実空間における座標が求まらないため、カメラ１０２の位置姿勢推定が出来ない。そこで、過去の複数の検出結果から、カメラ姿勢の変化分を推定して、姿勢回転による補正のみを行う（ステップＳ１１２）。例えば、直近の２つ以上の検出結果から、カメラ姿勢の変化を推定することができる。
【００６９】
一方、画像データ中に指標列が検出された場合（ステップＳ１０４，Ｙｅｓ）は、図４に示したような台形歪み補正処理を行う。（ステップＳ１０５）。台形歪み補正は、姿勢センサ１０３で検出されるカメラ１０２の姿勢から求まる撮影方向と、指標列が配置された壁面の法線が既知であることを利用して行うことができる。なお、指標が設けられた壁面の法線が未知の場合や、カメラ１０２の撮影方向が未知であっても、撮像された指標列の外接四角形が長方形となるように補正を行うことで台形歪み補正処理を行うことが可能である。なお、指標列が直線状に配置されていない場合でも、既知の配置情報と指標の外接形状とを用いて補正を行うことが可能である。
【００７０】
台形歪み補正処理を行った撮像画像を用い、ステップＳ１０６では、系列情報変換部１０７により、指標列から数値情報への変換を行う。そして、ステップＳ１０７で、系列情報照合部１０８により、予め定めた符号列（系列情報）と、数値情報（数値列）との照合を行う。具体的には、数値列が符号列中に存在するかどうか、存在する場合にはその位置はどこかを検出する。なお、図６の指標列の例として示したように、画像処理により検出可能な指標の特徴を複数の組み合わせた指標列を用い、指標列に複数の符号化情報を持たせる多重符号化技術を用いることができる。そして、符号化に関する誤り検出もしくは誤り訂正などの情報を付加情報として指標列が表す情報に付加することにより、系列情報照合部１０８における処理の検出精度を向上することも可能である。
【００７１】
ステップＳ１０７での照合の結果、数値情報が系列情報に合致したかどうかを判別する（ステップＳ１０８）。合致部分が無い場合は、利用する範囲の指標列では無い場合か、もしくは指標列の誤検出による場合などがある。照合が不成功に終わった場合は、ステップＳ１０４で指標列が検出されなかった場合と同様に、ステップＳ１１２で過去の検出結果から姿勢の変化分を推定し、補正を行う。
【００７２】
一方、数値情報が系列情報中で合致する部分が検出されたら（ステップＳ１０８、Ｙｅｓ）、起点情報取得部１０９で符号化の起点情報（起点位置の現実空間における座標値等）を取得する（ステップＳ１０９）。起点情報取得部１０９では、ネットワーク上のサーバに対して、参照点および位置に関する情報を問い合わせも良いし、指標列に多重化された符号化情報を用いて、起点に関する情報を取得しても良い。
【００７３】
ステップＳ１１０では、系列指標相対座標演算部１１０が、ステップＳ１０３にて検出された指標列の現実空間での座標を演算する。すなわち、指標の配置に関する既知の情報（ここでは、起点情報取得部１０９から得た起点情報と、指標の配置方向及び指標間隔に関する情報）と、数値情報が系列情報中で現れる位置の情報とを用いて上述のように各指標の座標を計算する。なお、指標が設けられた壁面の法線についての情報や、画像処理により識別可能な指標の特徴（形状や色など）も指標の配置に関する既知の情報に含まれる。
【００７４】
起点からの指標列の方向を示すベクトル（Ｖｘ、Ｖｙ、Ｖｚ）および指標間の距離（ｄ）は、照合位置（ｎ）に関する関数として扱うこともできる。この場合、方向成分として（Ｖｘ（ｎ）、Ｖｙ（ｎ）、Ｖｚ（ｎ））および距離（ｄ（ｎ））として表現される。上述のように、関数表記を用いる場合には、方向成分に三角関数などを導入することで、指標列を曲線状に配置することも可能となる。また、起点２０１の現実空間での座標は必ずしも絶対位置である必要はなく、他の指標からの相対位置でも構わないし、位置姿勢推定を行う領域で既知の位置としても良い。
【００７５】
ステップＳ１１１では、
・ステップＳ１１０で現実空間での位置が求められた２点以上の指標に関する現実空間での座標
・これら２点以上の指標の画像画面上の座標（ステップＳ１０２で検出済み）
・姿勢センサ１０３で検出されたカメラの姿勢（ステップＳ１０１で検出済み）
を用いて、カメラの位置情報を未知数とする線形連立方程式を解法して、カメラの位置姿勢を推定する。
【００７６】
ここで、線形連立方程式からカメラの位置姿勢を求める工程を説明する。まず、指標列が設置されている現実空間を示す世界座標系（Ｘとする）と、カメラ１０２を中心としたカメラ座標系（ｘとする）との関係について述べる。世界座標系Ｘの座標からカメラ座標系ｘの座標への座標変換は、カメラ座標系ｘから見た世界座標系Ｘの原点の位置を表す３次元ベクトルｔ、およびカメラ座標系ｘから見た世界座標系Ｘの姿勢を表す回転変換行列Ｒを用いて、
ｘ＝ＲＸ＋ｔ  ・・・（１）
と表せる。
【００７７】
カメラ座標系ｘでの指標位置から、カメラの撮像面へ投影された指標位置を求める変換を透視変換と呼ぶ。ここで、カメラの光軸と撮像面の中心が一致しているとして、水平方向の焦点距離をｆｘ、垂直方向の焦点距離をｆｙとすると、カメラ座標系ｘでの指標の位置ｘ＝［ｘc,ｙc,ｚc］tは、透視変換によって撮像面の２次元画像座標ｕ＝［ｕx,ｕy］に投影される。
【００７８】
【数１】
2007271563.tif 000003
【００７９】
ここで、カメラ座標系ｘにおける世界座標系Ｗの位置をｔ＝［ｔx,ｔy,ｔz］tとおき、回転変換行列Ｒを３×３の行列式として
【００８０】
【数２】
2007271563.tif 000004
【００８１】
とおくと、式（１）、（２）、（３）より、世界座標系での位置がＸ＝［ｘw,ｙw,ｚw］tである点は、透視投影変換によって２次元画像座標ｕ＝［ｕx,ｕy］に投影されるので、以下の式を満たす。
【００８２】
【数３】
2007271563.tif 000005
【００８３】
さらに、ｕ'x＝−ｕx／ｆx，ｕ'y＝−ｕy／ｆyとおくと、式（４）は
【００８４】
【数４】
2007271563.tif 000006
【００８５】
と表せる。カメラの姿勢計測で重力軸方向に対する２方向の傾斜および地軸に対する方位成分の３つの成分が得られた場合、世界座標系におけるカメラの姿勢を既知とすることができるので、回転変換行列Ｒも同様に既知となる。よって、式（５）からカメラの位置であるｔ＝［ｔx,ｔy,ｔz］tに関して左辺にまとめると、
【００８６】
【数５】
2007271563.tif 000007
【００８７】
と表せる。
未知変数はｔ＝［ｔx,ｔy,ｔz］tであるので、撮像画像における指標の２次元画像座標ｕ'＝［ｕ'x,ｕ'y］が２個以上あれば式（６）の連立方程式を解くことによってｔ＝［ｔx,ｔy,ｔz］tが求まる。さらに式（７）よりカメラの世界座標系での位置ｔw＝［ｔwx,ｔwy,ｔwz］が得られる。
【００８８】
【数６】
2007271563.tif 000008
【００８９】
以上説明したように、本実施形態によれば、予め定めた符号列を、連続する複数の指標で表す様に指標を配置する。指標列を構成する指標は画像処理で識別可能な特徴が異なる少なくとも２種類の指標を含む。そして、撮像画像中に検出された指標を数値情報に変換し、数値情報と予め定めた符号列とから、撮像画像中に検出された指標の同定を行う。そして、予め登録された基準となる指標の座標情報を用いて、同定された指標の座標情報を求める。この座標情報と、別途取得したカメラの姿勢情報とを用い、カメラの位置姿勢を求める。
【００９０】
本実施形態では指標の種別が画像から特定できれば良いため、バーコードなど複雑な２次元画像パターンを指標に持たせ、それを認識する必要がある場合と比べると、小型の指標を用いることが可能であり、現実空間に布設した際の違和感を低減することが可能となる。また、指標が壁面の模様として認識される可能性が高くなり、やはり違和感を低減することが可能となる。
【００９１】
さらに、位置姿勢計測装置のみで撮像装置の位置姿勢を計測することが可能となり、広範囲でのカメラの位置姿勢を求めることができる。加えて、６自由度センサを用いる必要がないため、６自由度センサの計測範囲の問題、設置の問題、価格の問題を解決することができる。
【００９２】
（他の実施形態）
上述の実施形態においては、１つの機器から構成される位置姿勢計測装置についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによっても実現しても良い。
【００９３】
上述の実施形態においては、本発明による位置姿勢計測装置をＨＭＤに設けたカメラの位置姿勢検出に適用した場合のみを説明した。しかし、本発明による位置姿勢計測装置は、現実空間の指標列を撮像する装置と撮像装置の姿勢を検出する装置の２つの装置があり、互いの位置が固定されていれば良い。例としては、カメラと姿勢センサを有する携帯電話等に本発明を実施するプログラムを実行させても同じ効果が得られる。
【００９４】
また、上述の実施形態においては、検出対象となる撮像装置の姿勢を検出する姿勢センサを用いた場合のみを説明したが、姿勢を直接検出する必要はない。少なくとも過去に求めた位置姿勢から現時点の位置姿勢を推定可能な情報（例えば姿勢の変化量）が得られれば、姿勢センサに限らず任意のセンサを利用しうる。これら情報を姿勢情報と呼ぶ。
【００９５】
例として、位置関係が固定の別の撮像装置により、撮像装置に鉛直方向もしくは、その方向が既知の指標を撮影してその位置からカメラの姿勢を求めることも可能である。同様に、撮像装置１０２が撮像した画像中にその指標が含まれている場合も、同じように処理することが可能である。
【００９６】
また、撮像装置の姿勢を検出する、現実空間に設置された別の装置を用いて、撮像装置の姿勢だけを検出することも可能である。例として、撮像装置の光軸との対応が既知の指標（姿勢検出用指標）を設置し、その指標を現実空間に設置された別の撮像装置で撮像して、画像処理を用いて姿勢を求めることが可能である。
【００９７】
また、撮像装置がアームなどで支持されている場合は、アームの関節角度の値から撮像装置の姿勢を求めることもできる。さらに、複数の姿勢検出結果を組み合わせて姿勢の測定精度を向上させることも可能である。
【００９８】
さらに、上述の実施形態において、より精度が必要となる固定された領域と、移動中でのそれほど精度が必要でない領域とで、精度の異なる複数の位置姿勢計測方法を切り替えて使用する構成でも構わない。
【００９９】
上述の実施形態においては指標列が１列のみ配置されている条件で説明したが、環境中に複数列設置してもよい。さらに、撮像装置により、それらの指標列が複数検出された場合、それらを複数用いて処理を行っても位置姿勢計測を実現することができる。
【０１００】
また、上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【０１０１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０２】
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１０３】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【０１０４】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
【０１０５】
また、本発明のコンピュータプログラムを暗号化して格納した記憶媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【０１０６】
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するＯＳの機能を利用して実現しても良い。
【０１０７】
さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるＣＰＵを利用して上述の実施形態の機能を実現しても良い。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施形態に係る位置姿勢計測装置１００を頭部装着型表示装置(HMD: Head Mounted Display)１０１に適用した際の使用形態例を示す模式図である。
【図２】本実施形態に係る位置姿勢計測装置１００と、図１に示したＨＭＤ１０１との機能構成例を示すブロック図である。
【図３】指標列から系列情報を求める動作について説明する図である。
【図４】（ａ）はカメラ１０２が指標列２００を斜めから撮影した状態を模式的に示す上面図、（ｂ）及び（ｃ）は台形歪み補正について説明する図である。
【図５】起点情報取得部１０９及び系列指標相対座標演算部１１０の処理について説明する図である。
【図６】本実施形態で利用可能な指標列の例を示す図である。
【図７】本実施形態に係る位置姿勢計測装置１００の動作について説明するフローチャートである。
【図１】
2007271563.tif 000009
【図２】
2007271563.tif 000010
【図３】
2007271563.tif 000011
【図４】
2007271563.tif 000012
【図５】
2007271563.tif 000013
【図６】
2007271563.tif 000014
【図７】
2007271563.tif 000015