(57)【要約】【課題】  指標の配置情報をより高精度に求める為の技術を提供すること。【解決手段】  画像取り込み部２２０は、指標が含まれるシーンが撮影された画像を取得する。指標検出同定部２３０は、この画像から指標を検出する。指標位置姿勢サイズ算出部２３５は、検出した指標のシーン中における配置情報を推定する。指標配置条件設定部２４０は、この推定した配置情報のうち少なくとも１つを既知の値に修正する。指標位置姿勢算出部２５０は、この修正した指標配置情報を定数として、指標の配置情報を推定する。【選択図】  図２
2008122109.tif 000002
【特許請求の範囲】
【請求項１】
指標の配置情報を推定する情報処理方法であって、
画像取得手段が、指標が含まれるシーンが撮影された画像を取得する画像取得工程と、
指標検出手段が、前記画像から指標を検出する指標検出工程と、
第１の指標配置情報推定手段が、前記指標検出工程で検出した指標のシーン中における配置情報を推定する第１の指標配置情報推定工程と、
指標情報修正手段が、前記第１の指標配置情報推定工程で推定した配置情報のうち少なくとも１つを既知の値に修正する指標情報修正工程と、
第２の指標配置情報推定手段が、前記指標情報修正工程で修正した指標配置情報を定数として、指標の配置情報を推定する第２の指標配置情報推定工程と
を備えることを特徴とする情報処理方法。
【請求項２】
指標の配置情報を推定する情報処理方法であって、
画像取得手段が、指標が含まれるシーンが撮影された画像を取得する画像取得工程と、
指標検出手段が、前記画像から指標を検出する指標検出工程と、
第１の指標配置情報推定手段が、前記指標検出工程で検出した指標のシーン中における位置、若しくは姿勢、若しくはサイズを推定する第１の指標配置情報推定工程と、
指標情報修正手段が、前記第１の指標配置情報推定工程で推定した位置、若しくは姿勢、若しくはサイズのうちの少なくとも１つを既知の値に修正する指標情報修正工程と、
第２の指標配置情報推定手段が、前記指標情報修正工程で修正した位置、若しくは姿勢、若しくはサイズを定数として、指標の配置情報を推定する第２の指標配置情報推定工程と
を備えることを特徴とする情報処理方法。
【請求項３】
前記指標は、シーン中に複数あることを特徴とする請求項１又は２に記載の情報処理方法。
【請求項４】
前記既知の値とは、あらかじめ定められた離散値の中から選択された値であることを特徴とする請求項１乃至３の何れか１項に記載の情報処理方法。
【請求項５】
前記既知の値とは、前記指標を印刷するための既定サイズであることを特徴とする請求項１乃至３の何れか１項に記載の情報処理方法。
【請求項６】
前記既知の値とは、前記指標を印刷した際に記憶したサイズであることを特徴とする請求項１乃至３の何れか１項に記載の情報処理方法。
【請求項７】
前記既知の値とは、シーン中に配置されたグリッド上の位置であることを特徴とする請求項１乃至３の何れか１項に記載の情報処理方法。
【請求項８】
前記既知の値とは、シーン中の床や壁や天井に対して垂直あるいは水平な姿勢を示す値であることを特徴とする請求項１乃至３の何れか１項に記載の情報処理方法。
【請求項９】
指標の配置情報を推定する情報処理装置であって、
指標が含まれるシーンが撮影された画像を取得する画像取得手段と、
前記画像から指標を検出する指標検出手段と、
前記指標検出手段が検出した指標のシーン中における配置情報を推定する第１の指標配置情報推定手段と、
前記第１の指標配置情報推定手段が推定した配置情報のうち少なくとも１つを既知の値に修正する指標情報修正手段と、
前記指標情報修正手段が修正した指標配置情報を定数として、指標の配置情報を推定する第２の指標配置情報推定手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
指標の配置情報を推定する情報処理装置であって、
指標が含まれるシーンが撮影された画像を取得する画像取得手段と、
前記画像から指標を検出する指標検出手段と、
前記指標検出手段が検出した指標のシーン中における位置、若しくは姿勢、若しくはサイズを推定する第１の指標配置情報推定手段と、
前記第１の指標配置情報推定手段が推定した位置、若しくは姿勢、若しくはサイズのうちの少なくとも１つを既知の値に修正する指標情報修正手段と、
前記指標情報修正手段が修正した位置、若しくは姿勢、若しくはサイズを定数として、指標の配置情報を推定する第２の指標配置情報推定手段と
を備えることを特徴とする情報処理装置。
【請求項１１】
コンピュータに請求項１乃至８の何れか１項に記載の情報処理方法を実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元空間中に配置した指標の配置情報を推定する為の技術に関するものである。
【背景技術】
【０００２】
近年、複合現実感（Mixed Reality; MR）技術の研究が盛んである。MR技術は、現実空間とコンピュータによって作られる仮想空間を継ぎ目なく融合する技術である。MR技術の中でも、現実空間に仮想空間を重ね合わせて表示するAugmented Reality（AR、拡張現実感、増強現実感とも呼ばれる）技術が特に注目を集めている。
【０００３】
ARの画像表示装置は、ビデオシースルー方式か、光学シースルー方式の何れかによって実現される。
【０００４】
前者は、ビデオカメラ等の撮像装置により撮影された現実空間の画像にこの撮像装置の位置及び姿勢に応じて生成された仮想空間（コンピュータグラフィクス（ＣＧ）により描画された仮想物体や文字情報等）の画像を重畳描画した合成画像を表示する方式である。
【０００５】
後者は、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する方式である。
【０００６】
AR技術は、患者の体表面に体内の様子を重畳表示する手術支援や、空き地に仮想のビルを重畳表示する建築シミュレーション、組立作業時に作業手順や配線の様子を重畳表示する組み立て支援等様々な分野への応用が期待される。
【０００７】
AR技術において最も重要な課題の一つは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来より多くの取り組みが行われてきた。ARにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における（すなわち基準座標系における）撮像装置の位置及び姿勢を求める問題に帰結する。一方、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。
【０００８】
前者の問題を解決する方法としては、次のような方法が一般的に用いられている。先ず、シーン中に複数の指標を配置或いは設定する。そして、撮像装置が撮影した画像内における指標の投影位置と指標の基準座標系における位置との対応関係から、基準座標系におけるこの撮像装置の位置及び姿勢を求める。
【０００９】
また、後者の問題を解決する方法としては、次のような方法が一般的に用いられている。計測対象物（すなわち観察者の頭部あるいはディスプレイ）に撮像装置を装着し、前者と同様な方法によってこの撮像装置の位置及び姿勢を求め、それに基づいて計測対象物の位置及び姿勢を求める。
【００１０】
図１は、従来の位置姿勢計測装置の機能構成を示すブロック図である。撮像装置が撮影した画像から検出される指標の２次元座標と、基準座標系における指標の３次元位置とを対応づけることでこの撮像装置の位置及び姿勢を計測する。
【００１１】
図１に示すように、従来の位置姿勢計測装置１００は、指標検出部１１０、位置姿勢算出部１２０により構成されており、指標検出部１１０には、現実空間を撮像する撮像装置１３０が接続されている。
【００１２】
また、現実空間中には、撮像装置１３０の位置姿勢を求めるための指標として、基準座標系における位置が既知であるｋ個の指標Ｑｋ（ｋ＝１，２，・・・，Ｋ）が配置されている。図１の例では、４個の指標Ｑ１、Ｑ２、Ｑ３、Ｑ４が配置されており、そのうちの３個Ｑ１、Ｑ３、Ｑ４が撮像装置１３０の視野内に含まれている状況を示している。
【００１３】
指標Ｑｋは、例えば各々が異なる色を有する円形状のマーカ等、撮影画像内における指標の投影位置が検出可能であって、かつ何れの指標であるのかが同定可能であるような指標であれば何れの形態であってもよい。例えば、３次元空間中の自然特徴点を指標として用い、撮影画像内からテンプレートマッチングによって検出してもよい。
【００１４】
撮像装置１３０により撮像された現実空間の画像は、指標検出部１１０に入力される。指標検出部１１０は、撮像装置１３０から入力された画像上に撮影されている指標Ｑｋの画像座標を検出する。例えば、指標Ｑｋの各々が異なる色を有する円形状のマーカによって構成されている場合には、入力画像上から各々のマーカ色に対応する領域を検出し、検出した領域の重心位置を、この領域に対応する指標の検出座標とする。
【００１５】
そして指標検出部１１０は、検出した各々の指標Ｑｋｎの画像座標uMknとその識別子knを位置姿勢算出部１２０へと出力する。ここで、ｎ（＝１，２，…，Ｐ）は、検出された指標の通し番号を表す変数であり、Ｐは検出された指標の総数を表している。例えば図１の場合には、P=３であり、識別子k１=１、k２=３、k３=４とこれらに対応する画像座標uMk１、uMk２、uMk３、が指標検出部１１０から出力される。
【００１６】
位置姿勢算出部１２０は、検出された各々の指標Qknの画像座標uMknと、既知な情報として予め保持しているこの指標Qknの基準座標系における位置との対応関係に基づいて、撮像装置１３０の位置及び姿勢を算出する。指標の３次元座標と画像座標の組から撮像装置の位置及び姿勢を算出する方法は、コンピュータビジョンや、写真測量の分野において古くから提案されている（非特許文献１、非特許文献２を参照）。位置姿勢算出部１２０は、例えば非特許文献１に記載の手法によって、撮像装置１３０の位置及び姿勢を算出する。
【００１７】
なお、ここでは３次元空間中に存在する複数の点指標を用いる場合について説明したが、例えば非特許文献３、４で開示されているように、大きさが既知の正方形形状の指標（以下、正方形指標）を用いた撮像装置の位置姿勢算出方法が提案されている。
【００１８】
また例えば非特許文献７で開示されているように、正方形指標と点指標とを組み合わせた撮像装置の位置姿勢算出方法も提案されている。点指標には、狭いところにも設定できるというメリットがある。また、正方形指標には、指標上のパターンを認識した結果により同定が簡単である、さらには、一つの指標の情報量が多いため一つの指標だけから撮像装置の位置及び姿勢を求めることができるというメリットがある。このように点指標、正方形指標にはそれぞれメリットがあるため、相補的に利用することができる。
【００１９】
以上の方法によって、撮像装置が撮影した画像に基づいて、この撮像装置の位置及び姿勢を取得することが従来からなされてきた。
【００２０】
一方、例えば特許文献１、２や非特許文献５で開示されているような方法もある。即ち、計測対象である撮像装置に磁気センサや超音波センサ等の６自由度位置姿勢センサを取り付け、前述のような画像処理による指標の検出との併用によって位置及び姿勢を計測することも行われている。センサの出力値は測定範囲によって精度は変わるが安定的に得ることができるため、センサと画像処理とを併用する方法は、画像処理だけによる方法に比べてロバスト性を向上させることができる。
【００２１】
指標を利用した位置合わせ手法では、計測対象である撮像装置の基準座標系における位置及び姿勢を求めるために、点指標の場合は基準座標系における位置、正方形指標の場合は基準座標系における位置及び姿勢及びサイズが既知である必要がある。正方形指標の場合には基準座標系を別途設けることなく、正方形指標そのものを座標系の基準とする場合も多い。しかし、複数の正方形指標を用いる場合には、互いの相対的な位置及び姿勢及びサイズの関係が既知である必要があるため、基準座標系が必要であることに変わりはない。
【００２２】
指標の位置及び姿勢及びサイズの計測は、巻尺や分度器を用いた手作業や、測量器によって行うことが可能である。しかし、精度や手間の問題から、画像を利用した指標の位置及び姿勢の計測が、従来より行われている。点指標の位置計測は、バンドル調整法と呼ばれる方法によって行うことができる。
【００２３】
バンドル調整法とは、点指標を撮像装置によって多方向から撮影し、点指標、点指標の画像上での投影点、撮像装置の視点の３点が同一直線上に存在するという拘束条件に基づくものである。係る拘束条件の下に、指標が実際に画像上で観察される投影位置と撮像装置の位置及び姿勢と指標の位置から計算される投影位置との誤差（投影誤差）が最小化されるように、繰返し演算によって画像を撮影した撮像装置の位置及び姿勢と、点指標の位置を求める。
【００２４】
また、非特許文献６では、３次元空間中に配置された多数の正方形マーカの位置及び姿勢を計測する方法が開示されている。非特許文献６では、３次元空間中に配置された多数の正方形マーカの画像を多数撮影し、投影誤差が最小になるように繰返し演算によって各画像を撮影した撮像装置の位置及び姿勢と、正方形マーカの位置及び姿勢を求めている。
【特許文献１】特開平１１-０８４３０７号公報
【特許文献２】特開２０００-０４１１７３号公報
【非特許文献１】R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: “Review and analysis of solutions of the three point perspective pose estimation problem”, Int’l. J. Computer Vision, vol.１３, no.３, pp.３３１-３５６, １９９４.
【非特許文献２】M. A. Fischler and R. C. Bolles: “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography”, Comm. ACM, vol.２４, no.６, pp.３８１-３９５, １９８１.
【非特許文献３】暦本純一: “２次元マトリックスコードを利用した拡張現実感の構成手法”, インタラクティブシステムとソフトウェア IV, 近代科学社, １９９６.
【非特許文献４】加藤, M. Billinghurst, 浅野, 橘: “マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”, 日本バーチャルリアリティ学会論文誌, vol.４, no.４, pp.６０７-６１６, １９９９.
【非特許文献５】A. State, G. Hirota, D. T. Chen, W. F. Garrett and M. A. Livingston: “Superior augmented reality registration by integrating landmark tracking and magnetic tracking”, Proc. SIGGRAPH’９６, pp.４２９-４３８, １９９６.
【非特許文献６】G. Baratoff, A. Neubeck and H. Regenbrecht: “Interactive multi-marker calibration for augmented reality applications”, Proc. ISMAR２００２, pp.１０７-１１６, ２００２.
【非特許文献７】H. Kato, M. Billinghurst, I. Poupyrev, K. Imamoto and K. Tachibana: “Virtual object manipulation on a table-top AR environment”, Proc. ISAR２０００, pp.１１１-１１９, ２０００.
【発明の開示】
【発明が解決しようとする課題】
【００２５】
従来の、画像を利用する指標の位置及び姿勢の計測手法では、指標の位置及び姿勢の計測に先立って、あらかじめ指標のサイズを巻尺や分度器を用いた手作業や、測量器によって求めていた。しかし、様々なサイズの指標を多数利用する場合、手間の問題から、画像を利用した計測手法が求められていた。
【００２６】
しかし、画像を利用して指標のサイズを求めたとしても、測定誤差が生じる場合がある。すなわち、画像を利用して求めた指標のサイズと、ユーザがプリンタなどで指標を印刷する際に実際に指定した指標のサイズとが異なっている場合がある。このとき、サイズの誤差が原因となり、最終的に得られる指標の位置及び姿勢の計測結果に誤差が生じていた。よって、最終的に指標の位置及び姿勢を求める際に利用する指標のサイズを、実際にユーザが作成した指標のサイズと同じにすることが求められていた。
【００２７】
本発明は以上の問題に鑑みてなされたものであり、本願請求項１記載の発明は、指標の配置情報をより高精度に求めることを目的とする。
【課題を解決するための手段】
【００２８】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００２９】
即ち、指標の配置情報を推定する情報処理方法であって、
画像取得手段が、指標が含まれるシーンが撮影された画像を取得する画像取得工程と、
指標検出手段が、前記画像から指標を検出する指標検出工程と、
第１の指標配置情報推定手段が、前記指標検出工程で検出した指標のシーン中における配置情報を推定する第１の指標配置情報推定工程と、
指標情報修正手段が、前記第１の指標配置情報推定工程で推定した配置情報のうち少なくとも１つを既知の値に修正する指標情報修正工程と、
第２の指標配置情報推定手段が、前記指標情報修正工程で修正した指標配置情報を定数として、指標の配置情報を推定する第２の指標配置情報推定工程と
を備えることを特徴とする。
【発明の効果】
【００３０】
本願請求項１記載の発明によれば、指標の配置情報をより高精度に求めることができる。また、本願請求項２記載の発明によれば、指標の位置、もしくは姿勢もしくはサイズをより高精度に求めることができる。
【発明を実施するための最良の形態】
【００３１】
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
【００３２】
［第１の実施形態］
図２は、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、撮像部２１０と指標位置姿勢推定装置２とで構成されている。
【００３３】
先ず、撮像部２１０について説明する。撮像部２１０は現実空間の動画像／静止画像を撮像するカメラであり、指標が配置された現実空間であるシーンを撮影する。撮影した１以上の画像は、指標位置姿勢推定装置２が有する画像取り込み部２２０に入力される。
【００３４】
次に、指標位置姿勢推定装置２について説明する。同図に示す如く、指標位置姿勢推定装置２は、画像取り込み部２２０、指標検出同定部２３０、指標位置姿勢サイズ算出部２３５、指標配置条件設定部２４０、指標位置姿勢算出部２５０、により構成されている。
【００３５】
画像取り込み部２２０は、撮像部２１０から入力された画像を受け取り、後段の指標検出同定部２３０に送出する。指標検出同定部２３０はこの画像から指標を検出し、検出したそれぞれの指標の同定を行う。指標位置姿勢サイズ算出部２３５は、指標検出同定部２３０による指標検出同定結果に基づいて、指標の位置及び姿勢及びサイズを求める。指標配置条件設定部２４０は、指標の配置に関する拘束条件を設定する。本実施形態では、指標位置姿勢サイズ算出部２３５が求めた指標のサイズを、実際にユーザが作成した指標のサイズに修正する。指標位置姿勢算出部２５０は、指標検出同定部２３０による指標検出同定結果に基づいて、指標配置条件設定部２４０が設定した指標の配置に関する拘束条件を満たすように指標の位置及び姿勢を算出する。
【００３６】
図３は、指標位置姿勢推定装置２に適用可能なコンピュータ３００のハードウェア構成を示すブロック図である。３０１はＣＰＵで、ＲＯＭ３０６やＲＡＭ３０７に格納されているプログラムやデータを用いて本コンピュータ３００全体の制御を行うと共に、指標位置姿勢推定装置２が行う後述の処理を実行する。即ち、図２に示した画像取り込み部２２０、指標検出同定部２３０、指標位置姿勢サイズ算出部２３５、指標配置条件設定部２４０、指標位置姿勢算出部２５０として機能する。従って以下の説明において、これら各部を動作の主体として説明した場合には、何れも、ＣＰＵ３０１がこれらの各部として機能しているものと解釈すべきである。
【００３７】
３０２はグラフィックアクセラレータで、仮想空間の画像を生成するなど、画像処理に係る部分的な処理を行う。処理後の画像は、ＨＭＤ（ヘッドマウントディスプレイ）３０４が有する不図示の表示部に対して出力する。
【００３８】
３１０は画像取り込み器で、撮像部２１０として機能するカメラ３１１から入力された画像をハードディスク３０５やＲＡＭ３０７に対して送出するものである。なお、ここでの説明の趣旨ではないので、余り詳しくは触れないが、画像取り込み器３１０は、カメラ３１１から入力された画像信号に対してＡ／Ｄ変換や、適切な信号処理等を行う。これにより、カメラ３１１により撮像された画像を、適切なフォーマットを有する画像データとしてハードディスク３０５やＲＡＭ３０７に対して送出する。
【００３９】
ハードディスク３０５には、ＯＳ（オペレーティングシステム）や、指標位置姿勢推定装置２が行うものとして説明する後述の各処理をＣＰＵ３０１に実行させるためのプログラムやデータが保存されている。係るプログラムには、画像取り込み部２２０、指標検出同定部２３０、指標位置姿勢サイズ算出部２３５、指標配置条件設定部２４０、指標位置姿勢算出部２５０の各部の機能をＣＰＵ３０１に実行させるためのプログラムも含まれている。また、ハードディスク３０５には、既知の情報として後述するものについても保存されている。このように、ハードディスク３０５に保存されているプログラムやデータは、ＣＰＵ３０１による制御に従って適宜ＲＡＭ３０７にロードされる。ＣＰＵ３０１はこのロードされたプログラムやデータを用いて処理を実行するので、本コンピュータ３００は、指標位置姿勢推定装置２が行うものとして後述する各処理を実行することになる。
【００４０】
ＲＯＭ３０６には、本コンピュータ３００の設定データやブートプログラムなどが格納されている。
【００４１】
ＲＡＭ３０７は、ハードディスク３０５からロードされたプログラムやデータ、画像取り込み器３１０から入力された画像データなどを一時的に記憶する為のエリアを有する。更にＲＡＭ３０７は、ＣＰＵ３０１が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ３０７は、各種のエリアを適宜提供することができる。
【００４２】
３０８，３０９はそれぞれマウス、キーボードで、何れも本コンピュータ３００の操作者が操作することで、各種の指示をＣＰＵ３０１に対して入力することができる。
【００４３】
３８０はＩ／Ｆ（インターフェース）で、プリンタ３１２を本コンピュータ３００に接続するためのもので、プリンタ３１２への印刷データは、このＩ／Ｆ３８０を介して本コンピュータ３００からプリンタ３１２に対して送出される。
【００４４】
３９９は、ＣＰＵ３０１、グラフィックアクセラレータ３０２、画像取り込み器３１０、ハードディスク３０５、ＲＯＭ３０６、ＲＡＭ３０７、マウス３０８、キーボード３０９、Ｉ／Ｆ３８０の各部を繋ぐバスである。
【００４５】
プリンタ３１２は、周知の通り、本コンピュータ３００から送出された印刷データに従って、紙等の記録媒体上に画像や文字などを形成するものである。なお、プリンタ３１２は、印刷機能を有するものであれば、如何なる装置で構成されていても良い。
【００４６】
次に、以上の構成を備えた指標位置姿勢推定装置２の動作の概要について説明する。
【００４７】
先ず、本実施形態で用いる指標について説明する。図４は、本実施形態で用いる指標を説明する図である。図４に示す指標は、配置情報が３次元空間中における位置と姿勢によって表現される平面指標である。本実施形態では、平面指標として正方形指標を用いるが、平面指標は正方形指標に限るものではなく、平面図形の指標であれば何れの形態であってもよい。正方形指標の３次元空間における位置は、正方形の中心、すなわち正方形の２本の対角線の交点であるとする。また、図４に示すように、指標の法線方向をｚ軸とし、ｘ軸、ｙ軸を指標の隣接する二つの辺に平行になるように正方形指標の座標系をとり、基準座標系から見た正方形指標の座標系の姿勢を正方形指標の姿勢とする。本実施形態における正方形指標は画像上で容易に検出可能なように黒枠で囲まれており、黒枠内部の正方形を正方形指標として用いる。
【００４８】
また、正方形指標のサイズは、図４に示すｘ軸、もしくはｙ軸方向の長さであるとする。すなわち、正方形の一辺の長さを指標のサイズとする。指標のサイズとしては、図４では１種類しか示していないが、実際には異なる複数サイズの指標を用いる。なおユーザは、本実施形態の方法を実施する前に、指標をあらかじめ１つ以上印刷し、シーン中の壁や床や天井、シーン中の物体等に貼り付けておくものとする。
【００４９】
＜１．  指標の撮影＞
撮像部２１０は、指標が配置されたシーンの画像を多数撮影し、撮像した画像はそれぞれ、画像取り込み部２２０に対して出力する。画像取り込み部２２０は、受けたそれぞれの画像を後段の指標検出同定部２３０に送出する。
【００５０】
＜２．  指標の検出同定＞
指標検出同定部２３０は、画像取り込み部２２０から受けた画像から指標を検出し、同定を行う。ここで、指標の検出とは、２次元画像上での指標の画像座標を求めることであり、正方形指標の場合、各頂点の画像座標を求めることである。指標の画像座標は、自動で求めてもよいし、ユーザが画像上をマウスでクリックするなどして手動で指定してもよい。正方形指標の各頂点の画像座標を自動で求める場合、例えば画像を二値化し、正方形指標の黒枠領域を検出する。そして、黒枠領域に内接する四角形を求め、求めた四角形の各頂点の画像座標を、正方形指標の各頂点の画像座標として求める。一方、手動で求める場合、ユーザにより指示された画像座標を、指標の画像座標として求める。
【００５１】
指標の同定とは、画像内で検出される指標を一意に特定することである。指標の同定は、自動で行ってもよいし、ユーザが手動で行ってもよい。正方形指標の同定を自動的に行う場合には、例えば指標毎に固有のパターンを持たせ、指標を撮影した画像から各指標が持つパターンを認識することで同定を行う。後者の場合には、ユーザ入力に対応して同定を行う。
【００５２】
なお、指標検出同定部２３０による指標の画像座標の検出処理、及び指標の同定処理については周知の技術であるので、これ以上の詳細な説明は省略する。
【００５３】
＜３．  指標位置姿勢サイズ算出＞
指標位置姿勢サイズ算出部２３５は、シーン中に存在する指標の位置及び姿勢及びサイズを求める。
【００５４】
より詳しくは、指標位置姿勢サイズ算出部２３５は、指標検出同定部２３０による指標の検出同定結果に基づいて、基準座標系における指標の位置及び姿勢及びサイズの算出を行う。以下では、係る処理の詳細について説明する。
【００５５】
先ず始めに透視投影変換について説明する。図６は、カメラ（撮像部２１０）座標系及び画面座標系を説明する図である。画面座標系の原点oiは視軸と画像面との交点にとり、画像面の水平方向をxi軸、垂直方向をyi軸にとる。また、カメラ座標系の原点ocと画像面との距離（焦点距離）をfとする。カメラ座標系のzc軸は撮像部２１０の視軸に沿った視線方向とは反対の方向、xc軸は画像の水平方向と平行に、yc軸は画像の垂直方向と平行にとる。
【００５６】
透視投影変換により、カメラ座標系上の点
【００５７】
【数１】
2008122109.tif 000003
【００５８】
は下記の式（１）に示す如く、画面座標が
【００５９】
【数２】
2008122109.tif 000004
【００６０】
である点に投影される。
【００６１】
【数３】
2008122109.tif 000005
【００６２】
本実施形態では撮像部２１０におけるレンズ歪みは存在しないか、もしくは補正されているものと仮定し、撮像部２１０はピンホールカメラであると想定している。式（１）は図７に示すように、空間中の点７０１と、この点７０１の画像上の投影点７０２と、撮像部２１０（カメラ）位置（視点）７０３と、は同一直線（共線）上に存在することを示しており、共線条件式とも呼ばれる。図７は、共線条件式を説明する図である。
【００６３】
基準座標系における撮像部２１０の位置を
【００６４】
【数４】
2008122109.tif 000006
【００６５】
、撮像部２１０の姿勢（実際には、カメラ座標系に対する基準座標系の姿勢）を
【００６６】
【数５】
2008122109.tif 000007
【００６７】
であるとする。
【００６８】
【数６】
2008122109.tif 000008
【００６９】
は３自由度の姿勢表現方法であり、姿勢を回転軸ベクトル及び回転角で表現している。回転角をraとすると、raは
【００７０】
【数７】
2008122109.tif 000009
【００７１】
によって下記の式（２）のように表される。
【００７２】
【数８】
2008122109.tif 000010
【００７３】
また、回転軸ベクトルを
【００７４】
【数９】
2008122109.tif 000011
【００７５】
とすると、
【００７６】
【数１０】
2008122109.tif 000012
【００７７】
と
【００７８】
【数１１】
2008122109.tif 000013
【００７９】
の関係は式（３）のように表される。
【００８０】
【数１２】
2008122109.tif 000014
【００８１】
【数１３】
2008122109.tif 000015
【００８２】
（回転角ra、回転軸ベクトル
【００８３】
【数１４】
2008122109.tif 000016
【００８４】
）と３×３回転変換行列
【００８５】
【数１５】
2008122109.tif 000017
【００８６】
との関係は下記の式（４）のように表される。
【００８７】
【数１６】
2008122109.tif 000018
【００８８】
基準座標系上の点
【００８９】
【数１７】
2008122109.tif 000019
【００９０】
のカメラ座標
【００９１】
【数１８】
2008122109.tif 000020
【００９２】
は
【００９３】
【数１９】
2008122109.tif 000021
【００９４】
、及び
【００９５】
【数２０】
2008122109.tif 000022
【００９６】
によって下記の式（５）のように表される。
【００９７】
【数２１】
2008122109.tif 000023
【００９８】
式（１）、（５）から、透視投影変換によって、基準座標上の点
【００９９】
【数２２】
2008122109.tif 000024
【０１００】
は下記の式（６）のように画像上の点
【０１０１】
【数２３】
2008122109.tif 000025
【０１０２】
に投影される。
【０１０３】
【数２４】
2008122109.tif 000026
【０１０４】
理想的には、
【０１０５】
【数２５】
2008122109.tif 000027
【０１０６】
、
【０１０７】
【数２６】
2008122109.tif 000028
【０１０８】
、
【０１０９】
【数２７】
2008122109.tif 000029
【０１１０】
をもとに式（６）から計算される投影位置（計算位置）と実際に画像上で観察される位置（観察位置）は一致する。そのため、計算位置と観察位置の画像の水平方向のずれをＦ、垂直方向のずれをＧ、観察位置を
【０１１１】
【数２８】
2008122109.tif 000030
【０１１２】
とすると、下記の式（７）に示すようにＦ、Ｇは０となる。
【０１１３】
【数２９】
2008122109.tif 000031
【０１１４】
Ｆ、Ｇは撮像部２１０位置
【０１１５】
【数３０】
2008122109.tif 000032
【０１１６】
、撮像部２１０姿勢
【０１１７】
【数３１】
2008122109.tif 000033
【０１１８】
、観察対象点の基準座標上での位置
【０１１９】
【数３２】
2008122109.tif 000034
【０１２０】
に関する関数である。正方形指標は、基準座標系における位置
【０１２１】
【数３３】
2008122109.tif 000035
【０１２２】
及び基準座標系に対する姿勢
【０１２３】
【数３４】
2008122109.tif 000036
【０１２４】
（
【０１２５】
【数３５】
2008122109.tif 000037
【０１２６】
に対応した３×３回転変換行列を
【０１２７】
【数３６】
2008122109.tif 000038
【０１２８】
とする）及び基準座標系におけるスケール
【０１２９】
【数３７】
2008122109.tif 000039
【０１３０】
（スケールは、図４に示す指標の中心を基準とした大きさであるため、指標サイズは指標スケールの２倍となる）で表現される。正方形指標の頂点の正方形指標座標系における位置を
【０１３１】
【数３８】
2008122109.tif 000040
【０１３２】
とする。正方形指標の頂点の基準座標系における位置
【０１３３】
【数３９】
2008122109.tif 000041
【０１３４】
は下記の式（８）のように、
【０１３５】
【数４０】
2008122109.tif 000042
【０１３６】
と
【０１３７】
【数４１】
2008122109.tif 000043
【０１３８】
と
【０１３９】
【数４２】
2008122109.tif 000044
【０１４０】
に関する関数となる。
【０１４１】
【数４３】
2008122109.tif 000045
【０１４２】
そのため、下記の式（９）に示すように、Ｆ、Ｇは、撮像部２１０位置
【０１４３】
【数４４】
2008122109.tif 000046
【０１４４】
、撮像部２１０姿勢
【０１４５】
【数４５】
2008122109.tif 000047
【０１４６】
、正方形指標の位置
【０１４７】
【数４６】
2008122109.tif 000048
【０１４８】
及び正方形指標の姿勢
【０１４９】
【数４７】
2008122109.tif 000049
【０１５０】
及び正方形指標のスケール
【０１５１】
【数４８】
2008122109.tif 000050
【０１５２】
の関数となる。
【０１５３】
【数４９】
2008122109.tif 000051
【０１５４】
式（９）は撮像部２１０の位置及び姿勢、指標の位置及び姿勢及びスケールについて非線形な方程式となっている。そこで、１次の項までのテイラー展開を用いて撮像部２１０の位置及び姿勢、指標の位置及び姿勢及びスケールの近似値の近傍で線形化し、繰返し計算によって撮像部２１０の位置及び姿勢、指標の位置及び姿勢及びスケールを求める。
【０１５５】
式（１０）は、それぞれ式（９）を線形化したものである。Δtx、Δty、Δtzは撮像部２１０の位置、Δωx、Δωy、Δωzは撮像部２１０の姿勢である。また、Δtsx、Δtsy、Δtszは正方形指標の位置、Δωsx、Δωsy、Δωszは正方形指標の姿勢、ΔLは正方形指標のスケールの近似値に対する補正量を表す。
【０１５６】
【数５０】
2008122109.tif 000052
【０１５７】
ここで式（１０）のＦ０、Ｇ０は定数であり、撮像部２１０位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値から求まる指標の投影位置（計算位置）と観察位置
【０１５８】
【数５１】
2008122109.tif 000053
【０１５９】
との差である。
【０１６０】
式（１０）は、ある画像上で観察される正方形指標の一個の頂点についての観測方程式である。実際には複数の画像上で正方形指標の各頂点が観察されるため、式（１０）は複数得られる。そこで複数の式（１０）を、撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値に対する補正値についての連立方程式として解き、近似値を補正することを繰り返す。これにより、撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールを求める。
【０１６１】
図８は、指標位置姿勢サイズ算出部２３５によって正方形指標の位置及び姿勢及びサイズ（指標スケールの２倍）を求める処理のフローチャートである。尚、詳しくは後述するが、指標位置姿勢算出部２５０が正方形指標の位置及び姿勢を求める場合にも、図８のフローチャートに従った処理とほぼ同じ処理を行う。
【０１６２】
なお、同図のフローチャートに従った処理を行う前段で、指標を含むシーンの撮影及び撮影画像からの指標抽出及び同定処理については完了しているものとする。
【０１６３】
先ずステップＳ１００では、指標位置姿勢サイズ算出部２３５は、各画像を撮影した撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値の設定を行う。
【０１６４】
そしてステップＳ１１０以降では、ステップＳ１００で設定された近似値を補正するための補正値を求める。
【０１６５】
ステップＳ１１０では、指標位置姿勢サイズ算出部２３５は、撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値から、投影誤差を最小化するような各近似値の補正値を同時に求めるための連立方程式を確定させる処理を行う。
【０１６６】
次にステップＳ１２０では、ステップＳ１１０で確定させた連立方程式を解く数値計算処理を行い、各近似値に対する補正値を求める。
【０１６７】
次にステップＳ１３０では、ステップＳ１２０で求めた補正値を用いて近似値を補正し、新たな近似値とする。
【０１６８】
次にステップＳ１４０では、ステップＳ１３０で補正された撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールが最適値に収束しているか否かの判定を行う。係る判定の結果、収束していない場合には処理をステップＳ１１０に戻し、以降の処理を繰り返す。一方、収束している場合には、同図のフローチャートに従った指標位置姿勢サイズ算出部２３５による処理は終了する。
【０１６９】
次に、図８に示した各ステップにおける処理について、より詳細に説明する。
【０１７０】
先ず、ステップＳ１００について説明する。
【０１７１】
ステップＳ１００において、各画像を撮影した撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値を設定する。ここで、撮影された画像の枚数をＮ枚とし、それぞれの画像を撮影した撮像部２１０の位置を
【０１７２】
【数５２】
2008122109.tif 000054
【０１７３】
、姿勢を
【０１７４】
【数５３】
2008122109.tif 000055
【０１７５】
とする。
【０１７６】
また、位置及び姿勢及びスケールを求める正方形指標の数をＫｓ１個とし、正方形指標の位置を
【０１７７】
【数５４】
2008122109.tif 000056
【０１７８】
とし、姿勢を
【０１７９】
【数５５】
2008122109.tif 000057
【０１８０】
とし、スケールをLi（i=１,・・・, Ks１）とする。
【０１８１】
撮像部２１０の位置及び姿勢の近似値は、撮像部２１０に磁気センサのような６自由度位置姿勢センサを装着し、このセンサの出力値から得てもよいし、基準座標系における位置が既知の点と、この点の画像上での投影位置の対応関係から求めてもよい。また、モーションコントロールカメラのように機械的に撮像部２１０の位置姿勢を係る近似値として得てもよいし、予め位置姿勢がキャリブレーション済みの撮像部２１０を用いて撮影し、そのキャリブレーション結果を係る近似値として用いてもよい。即ち、撮像部２１０の位置及び姿勢の近似値の取得、及び設定については特定の手法に限定するものではない。
【０１８２】
一方、指標の位置及び姿勢及びスケールの近似値は、磁気センサのような６自由度位置姿勢センサを装着した撮像部２１０を用いて複数の位置から撮影し、それら複数枚の画像を元にステレオ計測を行い、概略的に求めた値を用いてもよい。またモーションコントロールカメラのように機械的に位置姿勢を測定可能な撮像部２１０や、予め位置姿勢がキャリブレーション済みの撮像部２１０を用いて複数の位置から撮影し、それら複数枚の画像を元にステレオ計測を行い、概略に求めた値を用いてもよい。また、本実施形態の方法等で一度推定された値を用いてもよい。
【０１８３】
このように、何れの近似値についても、その取得形態については特に限定するものではない。
【０１８４】
なお、ステップＳ１００では、シーン中に貼られたサイズが既知の指標を１つ以上撮影し、基準座標系における指標スケールの基準になるようにしておく。こうすることで、ステップＳ１１０〜ステップＳ１４０で求める指標スケールと、基準座標系のスケールとの関係（即ち、ステップＳ１１０〜ステップＳ１４０で求める指標スケールと、シーン中に存在する指標のサイズとの関係）を対応付けることができる。
【０１８５】
次にステップＳ１１０では、画像上で観察される指標の数だけ式（１０）の観測方程式を確立する。式（１０）は、一台の撮像部２１０の位置及び姿勢の補正値と、一個の正方形指標の位置及び姿勢及びスケールの補正値を未知パラメータとして含む観測方程式である。ここでは、下記の式（１１）に示すように、Ｎ台のカメラの位置及び姿勢、Ks１個の正方形指標の位置及び姿勢及びスケールについての観測方程式を確立する。この場合、未知数となる補正値の数は、(６×Ｎ＋７×Ks１）個である。
【０１８６】
【数５６】
2008122109.tif 000058
【０１８７】
画像i（i=１,・・・,N）から検出される正方形指標の数をdsi個とすると、N枚の画像から検出される正方形指標の数Dsは、下記の式（１２）のようになる。
【０１８８】
【数５７】
2008122109.tif 000059
【０１８９】
N枚の画像から検出される正方形指標の数がDs個である場合、観測方程式（１１）が(４×Ds）組、つまり(２×４×Ds）本の観測方程式が立つ。式（１１）の観測方程式の左辺の定数項F０、G０を右辺に移項し、連立方程式を立てると、この連立方程式は下記の式（１３）に示す如く、行列形式で書くことができる。
【０１９０】
【数５８】
2008122109.tif 000060
【０１９１】
【数５９】
2008122109.tif 000061
【０１９２】
はヤコビ行列と呼ばれ、F、Gの撮像部２１０位置及び姿勢、正方形指標の位置及び姿勢及びスケールについての偏微分係数を並べたものである。ヤコビ行列
【０１９３】
【数６０】
2008122109.tif 000062
【０１９４】
の行数は、観測方程式の数(２×４×Ds）個であり、列数は未知数の数(６×N+７×Ks１）個である。
【０１９５】
【数６１】
2008122109.tif 000063
【０１９６】
は補正値ベクトルである。補正値ベクトルの要素数は未知数の数(６×N+７×Ks１）個である。
【０１９７】
【数６２】
2008122109.tif 000064
【０１９８】
は誤差ベクトルであり、近似値による投影位置の計算位置と観察位置
【０１９９】
【数６３】
2008122109.tif 000065
【０２００】
の差−F０、−G０を要素として持つ。
【０２０１】
【数６４】
2008122109.tif 000066
【０２０２】
の要素数は、観測方程式の数(２×４×Ds）個である。
【０２０３】
なお、基準座標系における位置が既知である点指標、又は位置及び姿勢及びスケールが既知の正方形指標を同時に撮影することによって、基準座標系の原点、スケール、姿勢を明示的に指定することができる。これらの指標についての式（１１）の方程式では、指標の位置及び姿勢及びスケールについての偏微分係数の値はすべて０となる。基準座標系の原点、スケール、姿勢を明示的に指定するためには、点指標であれば位置が既知の同一直線状にない点指標を３個用いればよく、正方形指標であれば位置及び姿勢及びスケールが既知の正方形指標を１個用いればよい。
【０２０４】
次に、ステップＳ１２０では、撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値に対する補正値を求める。補正値は上記式（１３）に基づいて求める。ヤコビ行列
【０２０５】
【数６５】
2008122109.tif 000067
【０２０６】
が正方行列である場合には、式（１３）の両辺に
【０２０７】
【数６６】
2008122109.tif 000068
【０２０８】
の逆行列をかけることで補正値ベクトル
【０２０９】
【数６７】
2008122109.tif 000069
【０２１０】
を求める。
【０２１１】
【数６８】
2008122109.tif 000070
【０２１２】
が正方行列でない場合には、下記の式（１４）に示すように最小二乗法によって補正値ベクトル
【０２１３】
【数６９】
2008122109.tif 000071
【０２１４】
を求める。
【０２１５】
【数７０】
2008122109.tif 000072
【０２１６】
ここで、ヤコビ行列
【０２１７】
【数７１】
2008122109.tif 000073
【０２１８】
の各要素の求め方について説明する。
【０２１９】
まず
【０２２０】
【数７２】
2008122109.tif 000074
【０２２１】
とおく。上記式（６）、（７）よりF、Gは下記の式（１５）のように書ける。F、Gはxc、yc、zcの関数となる。
【０２２２】
【数７３】
2008122109.tif 000075
【０２２３】
F、Gのxc、yc、zcによる偏微分係数を各要素に持つヤコビ行列
【０２２４】
【数７４】
2008122109.tif 000076
【０２２５】
は、下記の式（１６）のように書ける。
【０２２６】
【数７５】
2008122109.tif 000077
【０２２７】
ここで、xc、yc、zcが変数s１、s２、・・・、smの関数であるならば、F、Gもまたs１、s２、・・・、smの関数である。F、Gのs１、s２、・・・、smによる偏微分係数を各要素に持つヤコビ行列
【０２２８】
【数７６】
2008122109.tif 000078
【０２２９】
は、下記の式（１７）のように分解することができる。
【０２３０】
【数７７】
2008122109.tif 000079
【０２３１】
【数７８】
2008122109.tif 000080
【０２３２】
をそれぞれカメラ位置、カメラ姿勢、指標位置、指標姿勢、指標スケールに置き換えて
【０２３３】
【数７９】
2008122109.tif 000081
【０２３４】
を求めることにより、F、Gのカメラ位置、カメラ姿勢、指標位置、指標姿勢、指標スケールについての偏微分係数を求めることができる。
【０２３５】
F、Gのカメラ位置tx、ty、tzによる偏微分係数を各要素に持つヤコビ行列
【０２３６】
【数８０】
2008122109.tif 000082
【０２３７】
は、式（５）より、下記の式（１８）のように書ける。
【０２３８】
【数８１】
2008122109.tif 000083
【０２３９】
ただし、姿勢
【０２４０】
【数８２】
2008122109.tif 000084
【０２４１】
と３×３回転変換行列
【０２４２】
【数８３】
2008122109.tif 000085
【０２４３】
の関係は式（４）で表される。
【０２４４】
F、Gのカメラ姿勢ωx、ωy、ωzによる偏微分係数を各要素に持つヤコビ行列
【０２４５】
【数８４】
2008122109.tif 000086
【０２４６】
は、下記の式（１９）のように分解して書ける。
【０２４７】
【数８５】
2008122109.tif 000087
【０２４８】
ここで、
【０２４９】
【数８６】
2008122109.tif 000088
【０２５０】
は下記の式（２０）に示すようなヤコビ行列である。
【０２５１】
【数８７】
2008122109.tif 000089
【０２５２】
また、
【０２５３】
【数８８】
2008122109.tif 000090
【０２５４】
は下記の式（２１）に示すようなヤコビ行列である。
【０２５５】
【数８９】
2008122109.tif 000091
【０２５６】
また、
【０２５７】
【数９０】
2008122109.tif 000092
【０２５８】
として、
【０２５９】
【数９１】
2008122109.tif 000093
【０２６０】
は下記の式（２２）に示すようなヤコビ行列である。
【０２６１】
【数９２】
2008122109.tif 000094
【０２６２】
さらに、
【０２６３】
【数９３】
2008122109.tif 000095
【０２６４】
は下記の式（２３）に示すようなヤコビ行列である。
【０２６５】
【数９４】
2008122109.tif 000096
【０２６６】
F、Gの正方形指標の位置tsx、tsy、tszによる偏微分係数を各要素に持つヤコビ行列
【０２６７】
【数９５】
2008122109.tif 000097
【０２６８】
は、式（５）、式（８）より、下記の式（２４）のように書ける。
【０２６９】
【数９６】
2008122109.tif 000098
【０２７０】
F、Gの正方形指標の姿勢
【０２７１】
【数９７】
2008122109.tif 000099
【０２７２】
による偏微分係数を各要素に持つヤコビ行列
【０２７３】
【数９８】
2008122109.tif 000100
【０２７４】
は、下記の式（２５）のように分解することができる。
【０２７５】
【数９９】
2008122109.tif 000101
【０２７６】
【数１００】
2008122109.tif 000102
【０２７７】
は、式（２１）〜（２３）と同様にして求めることができる。
【０２７８】
F、Gの正方形指標のスケールLによる偏微分係数を各要素に持つヤコビ行列
【０２７９】
【数１０１】
2008122109.tif 000103
【０２８０】
は、下記の式（２６）のように分解することができる。
【０２８１】
【数１０２】
2008122109.tif 000104
【０２８２】
そしてこのようにして求めた補正値を用いて、ステップＳ１３０では、近似値の更新を行う。
【０２８３】
次にステップＳ１４０では、上述の収束判定を行う。収束判定は、補正値の絶対値が指定した閾値を下回る、投影位置の計算位置と観察位置の差が指定した閾値を下回るなどの条件を判定することにより行う。この例の場合、「下回った」場合には、「収束した」と判定する。
【０２８４】
係る収束判定処理の結果、収束していると判定された場合、指標の位置及び姿勢及びスケール推定を終了し、指標のスケールの値を２倍にした指標サイズを出力する。収束していない場合は、処理をステップＳ１１０に戻し、補正された撮像部２１０の位置及び姿勢、正方形指標の位置及び姿勢及びスケールの近似値をを用いて再度、再度連立方程式を確立し、補正値を求める処理を繰り返し行う。
【０２８５】
＜４．  指標配置条件設定＞
指標配置条件設定部２４０は、指標の配置に関する拘束条件を設定する。本実施形態では、指標の配置に関する拘束条件として、最終的に指標の位置及び姿勢を求める際の指標のサイズを、実際にユーザが作成した指標のサイズと同じにするという拘束条件を与える。
【０２８６】
上記ステップＳ１００〜ステップＳ１４０で求めた正方形指標のサイズ（スケールの２倍）は、あくまで計算上求めたサイズであり、実際にユーザが作成した指標のサイズとは一致せずに誤差が生じている場合がある。そこで、ステップＳ１００〜ステップＳ１４０で求めた少なくとも１つ以上の正方形指標のサイズの各々を、実際にユーザが作成した指標のサイズに修正する。
【０２８７】
実際にユーザが作成した指標のサイズとしては、以下の２つのケースが考えられる。
【０２８８】
・  （ケース１）  本実施形態の方法を実行する前に、プリンタ３１２を利用して指標を印刷する。この印刷することになっている指標のサイズは予め定められた幾つかのサイズのうち、ユーザが指示したものであるとする。
【０２８９】
例えば、予め幾つかの指標サイズを決めておき、決めた幾つかのサイズを登録したテーブルを作成する。そして作成したテーブルのデータをハードディスク３０５に登録しておく。図５（ａ）は、複数種の指標サイズが登録されているテーブルの構成例を示す図である。
【０２９０】
同図に示す如く、テーブルには、１０ｍｍ毎に指標サイズが登録されている。即ち、ここで用いられる指標のサイズとは、既定の離散値（１０ｍｍ刻み）のうち何れかである。そしてユーザは、係るテーブルに登録されている何れか１つのサイズを選択する。選択方法については、例えば、本コンピュータ３００に不図示の表示装置を接続し、この表示装置の表示画面上にこのテーブルに登録されている全てのサイズを表示し、何れか１つをマウス３０８やキーボード３０９を用いて指示するようにする。即ち、選択方法は特に限定するものではない。そして選択したサイズの指標をプリンタ３１２にて印刷する。
【０２９１】
・  （ケース２）  ケース１と同様、本実施形態の方法を実行する前に、プリンタ３１２を利用して指標を印刷する。ただ、ケース１と異なる点は、予め各指標のサイズは定められておらず、ユーザが任意の大きさを指定して印刷したサイズを、ハードディスク３０５等に新たなテーブル値として保存する。
【０２９２】
図５（ｂ）は、ユーザが指定した任意のサイズが登録されているテーブルの構成例を示す図である。同図に示す如く、ユーザが実際に印刷した２３ｍｍ、１２ｍｍ、４５ｍｍ、７３ｍｍといった（任意の）大きさの指標サイズがテーブルに登録されている。
【０２９３】
指標配置条件設定部２４０は、ステップＳ１００〜ステップＳ１４０で求めた１つ以上の正方形指標のサイズ（スケールの２倍）の各々を元に、図５（ａ）、若しくは図５（ｂ）に示すテーブルに登録されているサイズのうち最も近いサイズに修正する。
【０２９４】
例えば、ステップＳ１００〜ステップＳ１４０で求めた正方形指標の一辺のサイズが３２ｍｍである場合、図５（ａ）の例では、最も近いサイズである３０ｍｍに修正する。また、図５（ｂ）の例では、最も近いサイズである２３ｍｍに修正する。
【０２９５】
＜５．  指標の位置姿勢算出
指標位置姿勢算出部２５０は、シーン中に存在する１つ以上の指標各々の位置及び姿勢を求める。このとき、本実施形態では、指標配置条件設定部２４０でサイズを修正した後の正方形指標のスケールを利用する。即ち、上記説明において図５（ａ）のテーブルを用いた場合には、ステップＳ１００〜Ｓ１４０で求めた正方形指標のサイズ３２ｍｍではなく、図５（ａ）のテーブル中の最も近いサイズである３０ｍｍを「修正した指標スケール」として利用する。また、図５（ｂ）のテーブルを用いた場合には、図５（ｂ）のテーブル中の最も近いサイズである２３ｍｍを「修正した指標スケール」として利用する。
【０２９６】
指標位置姿勢算出部２５０は、シーン中に存在する指標の位置及び姿勢を求めるのであるが、基本的には指標位置姿勢サイズ算出部２３５で指標の位置及び姿勢及びサイズを求める方法（式（１）〜（２６）を用いた方法）とほぼ同じ方法によって行う。唯一異なる点は、指標配置条件設定部２４０で修正した指標のサイズを元に換算した指標スケールを定数として、撮像部２１０の位置姿勢と指標の位置及び姿勢を求めるようにすることである。
【０２９７】
以上の説明により、本実施形態によれば、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、先ず、指標の位置及び姿勢及びサイズを求める。そして、求めた指標のサイズを、ユーザがプリンタで指標を印刷する際に実際に指定した指標のサイズに修正し、修正したサイズを用いて指標の位置及び姿勢を求め直す。
【０２９８】
このようにすることで、画像を利用して指標のサイズを求めることができる。また、実際にユーザが作成する指標のサイズを、最終的に指標の位置及び姿勢を求める際の指標のサイズにすることにより、指標の位置及び姿勢を、より高精度に求めることが可能となる。
【０２９９】
［第２の実施形態］
第１の実施形態では、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、まず指標の位置及び姿勢及びサイズを求めた。そして、求めた指標のサイズを、ユーザがプリンタで指標を印刷する際に実際に指定した指標のサイズに修正し、修正したサイズを用いて指標の位置及び姿勢を求め直した。
【０３００】
本実施形態では、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、まず指標の位置及び姿勢及びサイズを求めるところまでは第１の実施形態と同じであり、以降の処理が異なる。本実施形態では次に、求めた指標の位置を、ユーザが実際に指標を配置した位置に修正し、修正した位置を用いて指標の姿勢及びサイズを求めなおす。ここで、「ユーザが実際に指標を配置した位置」とは、例えば指標の配置対象としてグリッドが付されている現実の机を想定し、「机のグリッドに合わせてユーザが指標を配置する場合の位置」である。
【０３０１】
図９は、本実施形態に係るシステムの機能構成を示すブロック図である。なお、同図において図２と同じ部分については同じ番号を付けており、その説明は省略する。
【０３０２】
同図に示す如く、本実施形態に係るシステムは、撮像部２１０と、指標姿勢サイズ推定装置９００とで構成されている。指標姿勢サイズ推定装置９００は、画像取り込み部２２０、指標検出同定部２３０、指標位置姿勢サイズ算出部２３５、指標配置条件設定部２４１、指標姿勢サイズ算出部２５１により構成されている。
【０３０３】
なお、図３に示したコンピュータ３００は、指標姿勢サイズ推定装置９００についても同様に適用することができる。その場合には、指標配置条件設定部２４１、指標姿勢サイズ算出部２５１の機能をＣＰＵ３０１に実行させるためのプログラムやデータをハードディスク３０５に保存しておく。そしてこのプログラムやデータをＲＡＭ３０７にロードし、ＣＰＵ３０１がこのロードされたプログラムやデータを用いて処理を実行すれば、ＣＰＵ３０１は、指標姿勢サイズ推定装置９００が行うものとして後述する各処理を実行することになる。
【０３０４】
以下では、図９における指標配置条件設定部２４１、指標姿勢サイズ算出部２５１についての説明を行う。
【０３０５】
＜４．  指標配置条件設定＞
指標配置条件設定部２４１は、指標の配置に関する拘束条件を設定する。本実施形態では、指標の配置に関する拘束条件として、最終的に指標の姿勢及びサイズを求める際の指標の位置を、ユーザが実際に指標を配置した位置と同じにするという拘束条件を与える。
【０３０６】
指標位置姿勢サイズ算出部２３５が求めた正方形指標の位置（換言すれば、上記ステップＳ１００〜Ｓ１４０で求めた正方形指標の位置）は、あくまで計算上求めた位置であり、ユーザが実際に指標を配置した位置とは一致せずに誤差が生じている場合がある。そこで、ステップＳ１００〜Ｓ１４０で求めた１つ以上の正方形指標の位置の各々を、ユーザが実際に指標を配置した位置に修正する。
【０３０７】
指標配置条件設定部２４１は、ステップＳ１００〜Ｓ１４０で求めた１つ以上の正方形指標の位置の各々を、図１０に示す現実の机上のグリッドのうちの最も近い位置に修正する。例えば、図１０に示す現実の机の上には５０ｍｍ刻みに離散的なグリッドが書かれているとする。
【０３０８】
図１０は、現実物体としての机の上に設けられたグリッドについて説明する図である。そして、ステップＳ１００〜Ｓ１４０で求めた正方形指標の位置が、机座標の原点を基準として（X，Y）＝（１４１ｍｍ、２０３ｍｍ）である場合、最も近いグリッド位置である（X，Y）＝（１５０ｍｍ、２００ｍｍ）に修正する。なお、机座標は、机の法線方向をZ軸とし、X軸、Y軸を机の二つの辺に平行になるようにとっている。そして各グリッド位置に関する情報は予め作成され、ハードディスク３０５に登録されているものとする。
【０３０９】
＜５．  指標の姿勢サイズ算出＞
指標姿勢サイズ算出部２５１は、シーン中に存在する１つ以上の指標各々の姿勢及びサイズを求める。このとき、本実施形態においては、指標配置条件設定部２４１で修正した後の正方形指標の位置を利用する。すなわち上記説明においては、ステップS１００〜S１４０で求めた正方形指標の位置（X，Y）＝（１４１ｍｍ、２０３ｍｍ）ではなく、図１０の机上のグリッドで最も近い位置である（X，Y）＝（１５０ｍｍ、２００ｍｍ）を、修正した位置として利用する。
【０３１０】
指標姿勢サイズ算出部２５１は、シーン中に存在する指標の姿勢及びサイズを求めるのであるが、基本的には指標位置姿勢サイズ算出部２３５で指標の位置及び姿勢及びサイズを求める方法（式（１）〜（２６）を用いた方法）とほぼ同じ方法によって行う。唯一異なる点は、指標配置条件設定部２４１で修正した指標の位置を定数として、撮像部２１０の位置姿勢と指標の姿勢及びサイズを求めるようにすることである。
【０３１１】
以上の説明により、本実施形態によれば、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、まず指標の位置及び姿勢及びサイズを求める。そして、求めた指標の位置を、ユーザが実際に指標を配置した位置に修正し、修正した位置を用いて指標の姿勢及びサイズを求め直す。
【０３１２】
このようにすることで、画像を利用して指標のサイズを求めることができる。また、ユーザが実際に指標を配置した位置を、最終的に指標の姿勢及びサイズを求める際の指標の位置にすることにより、指標の姿勢及びサイズを、より高精度に求めることが可能となる。
【０３１３】
［第３の実施形態］
第１の実施形態では、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、まず指標の位置及び姿勢及びサイズを求めた。そして、求めた指標のサイズを、ユーザがプリンタで指標を印刷する際に実際に指定した指標のサイズに修正し、修正したサイズを用いて指標の位置及び姿勢を求め直した。
【０３１４】
本実施形態では、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、まず指標の位置及び姿勢及びサイズを求めるところまでは第１の実施形態と同じであり、以降の処理が異なる。本実施形態では次に、求めた指標の姿勢を、ユーザが実際に指標を配置した姿勢に修正し、修正した姿勢を用いて指標の位置及びサイズを求めなおす。ここで、「ユーザが実際に指標を配置した姿勢」とは、例えば指標の配置対象として現実の床や壁や天井を想定し、「床や壁や天井に対してユーザが指標を配置する場合の姿勢」である。
【０３１５】
図１１は、本実施形態に係るシステムの機能構成を示すブロック図である。なお、同図において図２と同じ部分については同じ番号を付けており、その説明は省略する。
【０３１６】
同図に示す如く、本実施形態に係るシステムは、撮像部２１０と、指標位置サイズ推定装置１１００とで構成されている。指標位置サイズ推定装置１１００は、画像取り込み部２２０、指標検出同定部２３０、指標位置姿勢サイズ算出部２３５、指標配置条件設定部２４２、指標位置サイズ算出部２５２により構成されている。
【０３１７】
なお、図３に示したコンピュータ３００は、指標姿勢サイズ推定装置１１００についても同様に適用することができる。その場合には、指標配置条件設定部２４２、指標位置サイズ算出部２５２の機能をＣＰＵ３０１に実行させるためのプログラムやデータをハードディスク３０５に保存しておく。そしてこのプログラムやデータをＲＡＭ３０７にロードし、ＣＰＵ３０１がこのロードされたプログラムやデータを用いて処理を実行すれば、ＣＰＵ３０１は、指標位置サイズ推定装置１１００が行うものとして後述する各処理を実行することになる。
【０３１８】
以下では、図１１における指標配置条件設定部２４２、指標位置サイズ算出部２５２についての説明を行う。
【０３１９】
＜４．  指標配置条件設定＞
指標配置条件設定部２４２は、指標の配置に関する拘束条件を設定する。本実施形態では、指標の配置に関する拘束条件として、最終的に指標の位置及びサイズを求める際の指標の姿勢を、ユーザが実際に指標を配置した姿勢と同じにするという拘束条件を与える。
【０３２０】
指標位置姿勢サイズ算出部２３５が求めた正方形指標の姿勢（換言すれば、上記ステップＳ１００〜Ｓ１４０で求めた正方形指標の姿勢）は、あくまで計算上求めた姿勢であり、ユーザが実際に指標を配置した姿勢とは一致せずに誤差が生じている場合がある。そこで、ステップＳ１００〜Ｓ１４０で求めた１つ以上の正方形指標の姿勢の各々を、ユーザが実際に指標を配置した姿勢に修正する。
【０３２１】
指標配置条件設定部２４２は、ステップＳ１００〜Ｓ１４０で求めた１つ以上の正方形指標の姿勢の各々を、図１２に示す現実の床や壁のうちの最も近い姿勢に修正する。例えば、図１２に示す床や壁は、基準座標系の各軸に対して水平もしくは垂直といった離散的な姿勢となっている。そしてステップＳ１００〜Ｓ１４０で求めた正方形指標の姿勢が、基準座標系に対して水平或いは垂直からずれている場合は、基準座標系に対して最も近い水平姿勢或いは垂直姿勢になるように、即ち最も近い床や壁の姿勢と同じになるように修正する。指標のz軸を中心とした回転誤差が生じている場合は、図４に示す指標のx軸、y軸が、基準座標系に対して最も近い水平もしくは垂直方向になるように修正すればよい。図１２は、指標を配置する壁や床を示す図である。なお、指標の姿勢を修正するための基準としては、床や壁に加え、天井を用いても良い。
【０３２２】
＜５．  指標の位置サイズ算出＞
指標位置サイズ算出部２５２は、シーン中に存在する１つ以上の指標各々の位置及びサイズを求める。このとき、本実施形態においては、指標配置条件設定部２４２で修正した後の正方形指標の姿勢を利用する。すなわち上記説明においては、ステップS１００〜S１４０で求めた正方形指標の姿勢ではなく、図１２の床や壁で最も近い姿勢を、修正した姿勢として利用する。
【０３２３】
指標位置サイズ算出部２５２は、シーン中に存在する指標の位置及びサイズを求めるのであるが、基本的には指標位置姿勢サイズ算出部２３５で指標の位置及び姿勢及びサイズを求める方法（式（１）〜（２６）を用いた方法）とほぼ同じ方法によって行う。唯一異なる点は、指標配置条件設定部２４２で修正した指標の姿勢を定数として、撮像部２１０の位置姿勢と、指標の位置及びサイズを求めることである。
【０３２４】
以上の説明により、本実施形態によれば、指標が配置されたシーンの画像を多数撮影し、撮影された画像から指標を検出・同定し、まず指標の位置及び姿勢及びサイズを求める。そして、求めた指標の姿勢を、ユーザが実際に指標を配置した姿勢に修正し、修正した姿勢を用いて指標の位置及びサイズを求め直す。
【０３２５】
このようにすることで、画像を利用して指標のサイズを求めることができる。また、ユーザが実際に指標を配置した姿勢を、最終的に指標の位置及びサイズを求める際の指標の姿勢にすることにより、指標の位置及びサイズを、より高精度に求めることが可能となる。
【０３２６】
＜変形例１＞
第１乃至３の実施形態では、指標の位置、姿勢、サイズのうち１つのパラメータを固定し、残りの２つのパラメータを求めなおしていた。しかし、指標の位置、姿勢、サイズのうち２つのパラメータを固定し、残りの１つのパラメータを求めなおしてもよいことは言うまでもない。
【０３２７】
＜変形例２＞
第１乃至３の実施形態では、指標の位置、姿勢、サイズのうち１つのパラメータを固定する際、ユーザによって物理的に設定したパラメータに最も近いパラメータに修正していた。
【０３２８】
しかし、指標を撮影するシーンの光源環境が劣悪な場合など、特殊なケースにおいては、最も近いパラメータが正しい値とは限らない場合がある。そのようなケースに対処するために、最終的に求めた撮像部２１０の位置姿勢に仮想空間を観察する視点を設定し、設定した視点から見える仮想空間の画像を生成し、現実空間画像に合成する。そして、適切に合成されていないとユーザが判断した場合は、その旨をマウス３０８やキーボード３０９を用いて入力する。この入力がなされた場合には、固定するパラメータの値を、最も近い３個（２以上の整数で表される個数）のパラメータの中から選択可能にし、CGが適切に合成されるまで選択したパラメータを元に計算し直してもよい。
【０３２９】
＜変形例４＞
第２の実施形態では、指標の位置をグリッドのうちの最も近い位置に修正していた。しかしその代わりに、推定した指標の位置を元に、複数の指標間の距離が一定であるという拘束条件を導入し、指標の配置情報を、より高精度に求めてもよい。すなわち、複数の指標間の距離が一定であるという拘束条件を用いることで複数の指標位置を定数とし、指標の姿勢及びサイズを求め直してもよい。
【０３３０】
＜変形例５＞
第１乃至３の実施形態では、指標の配置情報の補正方法として、観測方程式をテイラー展開し、その１次の項までを利用して繰り返し補正していく方法を用いた。これは、ある繰り返しの一過程において、局所的に観測方程式を線形近似し、誤差０となると仮定した場合の未知パラメータの補正量を推定する方法であり、一般にニュートン法と呼ばれている方法と等価な方法である。ニュートン法は非線形方程式を数値演算により求解する代表的な方法であるが、上記実施形態に利用する繰り返し演算方法はこの方法に限ったものではない。
【０３３１】
例えば、ニュートン法と同様に周知の技術として知られているLevenberg-Marquardt法のように、一過程において推定される未知パラメータの補正量のばらつきに基づいて、補正量を動的に変更してもよい。また、テイラー展開した結果をより高次の項まで考慮して、繰り返し演算を行うような方法であっても良い。
【０３３２】
即ち、上記各実施形態の本質は、配置情報量の異なる複数種類の指標が混在して存在している場合であっても、それぞれの種類の指標を有効に利用して最適な解を求めることにある。従って、数値解法としての繰り返し演算の具体的な方法によって本質が失われるものではない。
【０３３３】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０３３４】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３３５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３３６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０３３７】
【図１】従来の位置姿勢計測装置の機能構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図３】指標位置姿勢推定装置２に適用可能なコンピュータ３００のハードウェア構成を示すブロック図である。
【図４】本発明の第１の実施形態で用いる指標を説明する図である。
【図５】（ａ）は、複数種の指標サイズが登録されているテーブルの構成例を示す図、（ｂ）は、ユーザが指定した任意のサイズが登録されているテーブルの構成例を示す図である。
【図６】カメラ（撮像部２１０）座標系及び画面座標系を説明する図である。
【図７】共線条件式を説明する図である。
【図８】指標位置姿勢サイズ算出部２３５によって正方形指標の位置及び姿勢及びサイズ（指標スケールの２倍）を求める処理のフローチャートである。
【図９】本発明の第２の実施形態に係るシステムの機能構成を示すブロック図である。
【図１０】現実物体としての机の上に設けられたグリッドについて説明する図である。
【図１１】本発明の第３の実施形態に係るシステムの機能構成を示すブロック図である。
【図１２】指標を配置する壁や床を示す図である。
【図１】
2008122109.tif 000105
【図２】
2008122109.tif 000106
【図３】
2008122109.tif 000107
【図４】
2008122109.tif 000108
【図５】
2008122109.tif 000109
【図６】
2008122109.tif 000110
【図７】
2008122109.tif 000111
【図８】
2008122109.tif 000112
【図９】
2008122109.tif 000113
【図１０】
2008122109.tif 000114
【図１１】
2008122109.tif 000115
【図１２】
2008122109.tif 000116