(57)【要約】【課題】  現実空間中に配された指標の位置姿勢をこの現実空間を撮像することで得られる画像から求める為にユーザが次に行うべき操作内容を、このユーザに分かり易く提示する為の技術を提供すること。また、指標の位置を求めるための手間を軽減させるための技術を提供すること。【解決手段】  撮像画像中に含まれている指標について同定処理を行うことで、識別子、画像座標、画像番号、のセットを、指標毎に取得し、取得したセットをデータ保存部１６０に登録する。データ保存部１６０は、識別子毎に、過去に同定された回数を管理する。表示部１７０は、セットを登録する毎に、登録するセット中の識別子について管理している回数を表示する。指標位置姿勢算出部１８０は、メモリに登録されているセット群を用いて、セット群に対応する指標の位置姿勢を計算する。【選択図】  図１
2008249407.tif 000002
【特許請求の範囲】
【請求項１】
複数の指標が配された現実空間の画像を複数枚撮像する撮像装置から、撮像画像を取得する取得手段と、
前記取得手段が取得した撮像画像中に含まれている指標について同定処理を行うことで得られる、当該指標に固有の指標識別情報、当該指標の当該撮像画像中における画像座標、及び当該撮像画像に固有の画像識別情報、のセットを、当該撮像画像中の指標毎に取得し、取得したセットをメモリに登録する登録手段と、
前記登録手段が同定処理を行った指標の指標識別情報毎に、過去に同定された回数を管理する管理手段と、
前記登録手段が前記セットを登録する毎に、当該登録するセット中の指標識別情報について前記管理手段が管理している回数を表示する表示手段と、
前記メモリに登録されているセット群を用いて、当該セット群に対応する指標の位置姿勢を計算する計算手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記登録手段は、ユーザから登録の指示を受ける毎に登録処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示手段は更に、前記取得手段が取得した撮像画像を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記表示手段は、前記撮像画像中の指標を、当該指標について前記管理手段が管理している回数に応じた表示形態でもって表示することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記表示手段は更に、
前記登録手段が前記セットを登録する毎に、前記メモリに登録されているセット群のうち当該取得したセットと同じ指標識別情報を含むセットに対応する指標の位置姿勢が既に求められているのかを示す情報を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記計算手段は、ユーザからの指示に応じて前記計算を開始することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記計算手段は、前記管理手段が管理する全ての回数が閾値以上であれば、前記計算を開始することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
更に、
前記管理手段が管理しているそれぞれの回数を予め設定された条件に従ってソートした結果を一覧表示する第２の表示手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記第２の表示手段は、前記一覧表示するそれぞれの回数の表示を、その回数に応じた色で行うことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
複数の指標が配された現実空間の画像を複数枚撮像する撮像装置から、撮像画像を取得する取得工程と、
前記取得工程で取得した撮像画像中に含まれている指標について同定処理を行うことで得られる、当該指標に固有の指標識別情報、当該指標の当該撮像画像中における画像座標、及び当該撮像画像に固有の画像識別情報、のセットを、当該撮像画像中の指標毎に取得し、取得したセットをメモリに登録する登録工程と、
前記登録工程で同定処理を行った指標の指標識別情報毎に、過去に同定された回数を管理する管理工程と、
前記登録工程で前記セットを登録する毎に、当該登録するセット中の指標識別情報について前記管理工程で管理している回数を表示する表示工程と、
前記メモリに登録されているセット群を用いて、当該セット群に対応する指標の位置姿勢を計算する計算工程と
を備えることを特徴とする画像処理方法。
【請求項１１】
コンピュータに請求項１０に記載の画像処理方法を実行させるためのコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間中に配されている指標の位置姿勢を求めるための技術に関するものである。
【背景技術】
【０００２】
近年、複合現実感（Mixed Reality; MR）技術の研究が盛んである。MR技術は、現実空間とコンピュータによって作られる仮想空間とを継ぎ目なく融合する技術である。MR技術の中でも、現実空間に仮想空間を重ね合わせて表示するAugmented Reality（AR、拡張現実感、増強現実感とも呼ばれる）技術が特に注目を集めている。
【０００３】
AR技術における画像表示装置は、ビデオシースルー方式か、光学シースルー方式によって実現される。ビデオシースルー方式とは、ビデオカメラ等の撮像装置によって撮像された現実空間の画像に、この撮像装置の位置及び姿勢に応じて生成された仮想空間の画像を重畳描画した合成画像を表示する方式である。ここで、仮想空間の画像は、コンピュータグラフィクスにより描画された仮想物体や文字情報等により構成されている。また、光学シースルー方式とは、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する方式である。
【０００４】
AR技術は、患者の体表面に体内の様子を重畳表示する手術支援や、空き地に仮想のビルを重畳表示する建築シミュレーション、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援等様々な分野への応用が期待される。
【０００５】
AR技術において最も重要な課題の一つは、現実空間と仮想空間との間の位置合わせをいかに正確に行うかということであり、従来より多くの取り組みが行われてきた。ARにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における（すなわちシーン中に規定された基準座標系における）撮像装置の位置及び姿勢を求める問題に帰結する。同様に、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。
【０００６】
前者の問題を解決する方法としては次のようなものが一般的である。即ち、シーン中に複数の指標を配置あるいは設定し、撮像装置が撮像した画像内における指標の投影位置と、既知の情報である指標の基準座標系における位置との対応関係から、基準座標系における撮像装置の位置及び姿勢を求める。また、後者の問題を解決する方法としては次のようなものが一般的である。即ち、計測対象物（すなわち観察者の頭部あるいはディスプレイ）に撮像装置を装着し、前者と同様な方法によって撮像装置の位置及び姿勢を求め、それに基づいて計測対象物の位置及び姿勢を求めることが一般的に行われている。
【０００７】
画像上の指標の投影像とその指標の３次元位置との対応関係に基づいて撮像装置の位置及び姿勢を求める方法は、写真測量の分野において古くから提案されている（非特許文献１を参照）。
【０００８】
また、非特許文献２には次のようなことが提案されている。即ち、前述の画像上の指標の投影像に基づいて求めた撮像装置の位置及び姿勢を初期値とし、画像上での指標の投影像の実際の観察位置と投影像の計算位置との誤差が最小になるように反復演算によって撮像装置の位置及び姿勢を最適化することが行われている。ここで、投影像の計算位置とは、指標の３次元位置と撮像装置の位置及び姿勢から計算される投影像の位置のことである。
【０００９】
以上の方法によって、撮像装置が撮像した画像に基づいて、撮像装置の位置及び姿勢を求めることが従来からなされてきた。
【００１０】
一方、例えば特許文献１、２や非特許文献３で開示されているよなことも従来からなされてきた。即ち、計測対象である撮像装置に磁気センサや超音波センサ等の６自由度位置姿勢センサを取り付け、前述のような画像処理による指標の検出との併用によって位置及び姿勢を計測することも行われている。センサの出力値は測定範囲によって精度は変わるが安定的に得ることができるため、センサと画像処理を併用する方法は、画像処理だけによる方法に比べてロバスト性を向上させることができる。
【００１１】
特許文献２では、６自由度位置姿勢センサから得られる撮像装置の位置及び姿勢を初期値とし、前述の画像上での指標の投影像の観察位置と計算位置との誤差を反復演算によって最小化することによって、撮像装置の位置及び姿勢を得ている。
【００１２】
以上で述べた指標を利用した位置合わせ手法では、計測対象である撮像装置の基準座標系における位置及び姿勢を求める為には次のような情報が既知である必要がある。即ち、空間中に存在する同一色の円領域といった点形状の指標（点指標）の場合にはその重心の基準座標系における位置、基準座標系に対する指標の姿勢、が既知である必要がある。また、三角形や正方形といった多角形形状の指標の場合にはその重心の基準座標系における位置が既知である必要がある。正方形指標などの多角形形状の指標の場合には、基準座標系を別途設けることなく、指標そのものを座標系の基準とする場合が多い。しかし、複数の指標を用いる場合には、互いの位置及び姿勢の関係が既知である必要があるため、基準座標系が必要であることに変わりはない。
【００１３】
指標の位置及び姿勢の計測は、巻尺や分度器を用いた手作業や、測量器によって行うことが可能であるが、精度や手間の問題から、画像を利用した計測が行われている。点指標の位置計測は、バンドル調整法と呼ばれる方法で行うことができる。
【００１４】
バンドル調整法とは、次のような手法である。即ち、撮像装置によって点指標の画像を多数撮像し、画像上での点指標の投影像の観察位置を求める。そして求めた観察位置と、点指標の3次元位置及び撮像装置の位置姿勢をもとに計算される点指標の投影像の計算位置と、の誤差（投影誤差）が最小になるように、繰返し演算によって点指標の位置と撮像装置の位置姿勢の補正を繰り返し行う。これにより、点指標の位置を求める。
【００１５】
また、非特許文献４では、3次元空間中に配置された多数の正方形指標の位置及び姿勢を計測する方法が開示されている。非特許文献４では、3次元空間中に配置された多数の正方形指標の画像を多数撮像し、投影誤差が最小になるように、繰返し演算によって各画像を撮像した撮像装置の位置及び姿勢と、正方形指標の位置及び姿勢を求めている。
【００１６】
また、上記ＭＲやＡＲを実現するためには、撮像装置の位置姿勢を測定する必要がある。撮像装置の位置姿勢を測定するための１つの技術としては、現実空間中で位置が既知の指標を撮像装置によって撮像し、撮像した画像を用いる方法がある。
【００１７】
しかし「現実空間中の位置が既知の指標」を現実空間中に配置する際には当然、その位置を計測する必要があるが、その計測には手間がかかる。そこで、現実空間中に配した指標を複数の撮像装置によって撮像することで得られる複数枚の画像を用いて、この指標の位置を計算する「指標キャリブレーションツール」が提案されている（非特許文献５を参照）。係る指標キャリブレーションツールを使用することにより、簡便に現実空間における指標の位置を測定することができる。
【特許文献１】特開平11-084307号公報
【特許文献２】特開2000-041173号公報
【非特許文献１】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.13, no.3, pp.331-356, 1994.
【非特許文献２】加藤, M. Billinghurst, 浅野, 橘: “マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”, 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-616, 1999.
【非特許文献３】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’96, pp.429-438, 1996.
【非特許文献４】G. Baratoff, A. Neubeck and H. Regenbrecht: “Interactive multi-marker calibration for augmented reality applications”, Proc. ISMAR2002, pp.107-116, 2002.
【非特許文献５】D. Kotake, S. Uchiyama, and H. Yamamoto: "A marker calibration method utilizing a priori knowledge on marker arrangement," Proc. 3rd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2004), pp.89-98, November 2004.
【発明の開示】
【発明が解決しようとする課題】
【００１８】
前述したバンドル調整法を用いた点指標の位置計測手法では、一つの指標について最低二枚以上の画像を撮像しないと、正確な位置姿勢を求めることができない。点指標の場合、一枚の画像にしか撮像されない場合には、点指標が３次元空間中に存在する直線が決定されるだけで、撮像装置の奥行き方向の位置が不定になる。そのため位置計測に最低限必要な画像が取得できているかどうかという情報は重要である。
【００１９】
また撮像する上では、各々の指標が基準となる指標であるか、較正の対象となる指標であるかを示す情報が重要である。
【００２０】
また、較正を行った結果として、特定の指標の較正ができない場合がある。その場合は計算の障害となった画像を削除しない限りは、計算のエラーは解消しない場合が多く、どの画像が障害であるのかを示す情報が必要である。
【００２１】
また較正を行った後に画像データを追加して再度較正を行う場合には、どの指標がすでに較正済かという情報が必要になる。
【００２２】
また、正方形指標などの多角形形状の指標の場合には、指標自体が固有のIDを持っており、予め較正対象として指定されていない場合でも、画像から指標が認識された時点で、自動的に較正対象として追加する事が可能である。しかし、自動追加された指標は、本来較正対象に加えたくない指標である可能性もあるため、自動追加された指標が予め指定されていた指標か否かを示す情報は必要である。
【００２３】
また、指標が撮像される画像の枚数が多ければ多いほど、誤差が多数の画像に分散されることによって、少ない画像枚数の場合に比べてより精度の高い位置姿勢を得ることができる。そのため、位置姿勢を求めたい指標が撮像される回数がなるべく多くなるように指標を撮影することが望ましい。そのため各指標の撮像回数の情報を提示する必要がある。しかし、上述のように、較正用の画像の取得に対しては、さまざまな条件を考慮する必要があり、それらの条件を組み合わせて、操作者が次に何をすればよいかを判断するのが難しかった。
【００２４】
本発明は以上の問題に鑑みてなされたものであり、現実空間中に配された指標の位置姿勢をこの現実空間を撮像することで得られる画像から求める為にユーザが次に行うべき操作内容を、このユーザに分かり易く提示する為の技術を提供することを目的とする。
【００２５】
また、上記指標キャリブレーションツールを用いて現実空間中における指標の位置を効率よく取得するには、すべての指標をまんべんなく撮像する必要がある。これは、各指標に関して均等に位置情報を蓄積することが必要であるといえる。
【００２６】
しかし、従来のシステムでは、どの指標が既に撮像されたかの情報は提供されていなかった。そのため利用者は指標を撮像する際には、個々の指標ついて既に撮像されているかどうかを覚えている必要があった。また撮像し忘れた指標がある際には撮像しなおさなければならず、指標の位置を求めるためには手間がかかっていた。
【００２７】
本発明の別の目的は、指標の位置を求めるための手間を軽減させるための技術を提供することにある。
【課題を解決するための手段】
【００２８】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００２９】
即ち、複数の指標が配された現実空間の画像を複数枚撮像する撮像装置から、撮像画像を取得する取得手段と、
前記取得手段が取得した撮像画像中に含まれている指標について同定処理を行うことで得られる、当該指標に固有の指標識別情報、当該指標の当該撮像画像中における画像座標、及び当該撮像画像に固有の画像識別情報、のセットを、当該撮像画像中の指標毎に取得し、取得したセットをメモリに登録する登録手段と、
前記登録手段が同定処理を行った指標の指標識別情報毎に、過去に同定された回数を管理する管理手段と、
前記登録手段が前記セットを登録する毎に、当該登録するセット中の指標識別情報について前記管理手段が管理している回数を表示する表示手段と、
前記メモリに登録されているセット群を用いて、当該セット群に対応する指標の位置姿勢を計算する計算手段と
を備えることを特徴とする。
【００３０】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００３１】
即ち、複数の指標が配された現実空間の画像を複数枚撮像する撮像装置から、撮像画像を取得する取得工程と、
前記取得工程で取得した撮像画像中に含まれている指標について同定処理を行うことで得られる、当該指標に固有の指標識別情報、当該指標の当該撮像画像中における画像座標、及び当該撮像画像に固有の画像識別情報、のセットを、当該撮像画像中の指標毎に取得し、取得したセットをメモリに登録する登録工程と、
前記登録工程で同定処理を行った指標の指標識別情報毎に、過去に同定された回数を管理する管理工程と、
前記登録工程で前記セットを登録する毎に、当該登録するセット中の指標識別情報について前記管理工程で管理している回数を表示する表示工程と、
前記メモリに登録されているセット群を用いて、当該セット群に対応する指標の位置姿勢を計算する計算工程と
を備えることを特徴とする。
【発明の効果】
【００３２】
本発明の構成によれば、現実空間中に配された指標の位置姿勢をこの現実空間を撮像することで得られる画像から求める為にユーザが次に行うべき操作内容を、このユーザに分かり易く提示することができる。
【００３３】
また、指標の位置を求めるための手間を軽減させることもできる。
【発明を実施するための最良の形態】
【００３４】
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。
【００３５】
［第１の実施形態］
図１は、現実空間中に配されている指標の位置姿勢を求めるための、本実施形態に係るシステムの機能構成を示すブロック図である。図１に示す如く、本実施形態に係るシステムは、撮像部１１０と画像処理装置１とで構成されている。
【００３６】
先ず、撮像部１１０について説明する。撮像部１１０は、複数の指標１００が配されている現実空間の画像を複数枚撮像する装置であり、例えば、現実空間の動画像を撮像するビデオカメラである。撮像部１１０が撮像した各フレームの画像（現実空間画像、撮像画像）は順次、後段の画像処理装置１に入力される。
【００３７】
次に、画像処理装置１について説明する。図１に示す如く、画像処理装置１は、画像入力部１２０、指標検出同定部１３０、データ管理部１４０、操作部１５０、データ保存部１６０、表示部１７０、指標位置姿勢算出部１８０により構成されている。
【００３８】
画像入力部１２０は、撮像部１１０から順次送出される撮像画像を受けると、受けた順に後段の指標検出同定部１３０、表示部１７０に送出する。これにより、表示部１７０の表示画面上には、撮像部１１０が撮像している現実空間の動画像が表示されていることになる。
【００３９】
指標検出同定部１３０は、画像入力部１２０から受けた撮像画像中に指標が含まれている場合には、この指標についての同定を行い、その同定結果のデータは後段のデータ管理部１４０に送出する。
【００４０】
データ管理部１４０は、指標検出同定部１３０から受けた同定結果のデータを管理するものである。データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力したことを検知すると、指標検出同定部１３０から受けた同定結果のデータをデータ保存部１６０に登録する。
【００４１】
また、データ管理部１４０は、指標検出同定部１３０から受けた最新の同定結果のデータとデータ保存部１６０に既に登録されている同定結果のデータとを比較し、過去に複数回同定されている指標についての情報を表示部１７０に送出する。係る処理について詳しくは後述する。
【００４２】
また、データ管理部１４０は、ユーザが操作部１５０を用いて「指標の位置姿勢計算」の指示を入力したことを検知すると、データ保存部１６０から適宜同定結果のデータを読み出し、指標位置姿勢算出部１８０に送出する。
【００４３】
指標位置姿勢算出部１８０は、データ管理部１４０から受けた同定結果のデータを用いて、指標の位置姿勢を計算する。
【００４４】
なお、図１には、指標位置姿勢算出部１８０が求めた指標の位置姿勢のデータの出力先については特に図示していないが、出力先については、ここでの主眼とするところではないので示していない。しかし、一般に、撮像画像から求めた指標の位置姿勢のデータの利用方法については周知のものであるので、ここでの説明、及び図示は省略する。
【００４５】
次に、本実施形態で用いる指標について説明する。図２は、本実施形態で用いる指標を説明する図である。本実施形態では、図２（ａ）に示されるような正方形形状の指標（以下、正方形指標）を、位置姿勢の計算対象とする。正方形指標は、図２（ａ）に示すように、指標領域であることを示すための境界領域（黒枠）と内部領域からなる。内部領域は、縦と横がそれぞれ５等分されており、内側の３×３領域が正方形指標の向き、及び固有の識別子（識別情報）を表す。３×３領域の四隅（図２（ａ）において丸で囲まれている領域）が正方形指標の向きを表す領域（向き決め領域）である。四隅のうちの三つは黒く塗りつぶされており、残る一つは白く塗りつぶされている。これによって正方形指標の向きを表す。正方形指標の識別子は、３×３領域の四隅を除いた５つの領域（ビット領域）によって現される（図２（ａ）において斜線で示されている領域）。５つの領域のそれぞれは、白く塗りつぶされている場合は０、黒く塗りつぶされている場合は１を表すとすると、５ビット、すなわち３２通りの識別子を表すことができる。
【００４６】
図２（ｂ）は正方形指標の配置情報を説明する図である。正方形指標の配置情報は基準座標系に対する位置及び姿勢で表現される。本実施形態では、正方形指標の位置は正方形の中心（対角線の交点）の位置であり、基準座標系に対する３次元ベクトルtwmによって表す。正方形指標の姿勢は、図２（ｂ）に示すように、基準座標系に対する正方形指標の座標系（指標座標系）の姿勢であるとする。姿勢の自由度は３であるので、３次元ベクトルωwmによって表す。
【００４７】
ここで、基準座標系とは、例えば、現実空間中の１点を原点とし、係る原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系のことである。また、指標座標系とは、例えば、正方形指標の中心を原点とし、正方形指標の一辺に沿った方向をｘ軸、係る一辺に隣接する辺に沿った方向をｙ軸、正方形指標の法線方向をｚ軸とする座標系のことである。
【００４８】
次に、本実施形態に係るシステムの動作について、より詳細に説明する。
【００４９】
撮像部１１０は上述の通り、複数の指標１００（正方形指標）が配されている現実空間の画像を、ユーザによる操作とは無関係に複数枚撮像するものである。以下の説明では、撮像部１１０は動画像を撮像するビデオカメラであるとする。撮像部１１０が撮像した各フレームの撮像画像は画像入力部１２０に入力される。
【００５０】
画像入力部１２０は、撮像部１１０から順次送出される撮像画像をそのまま表示部１７０に転送する。これにより、表示部１７０の表示画面上には、撮像部１１０が撮像した撮像画像、即ち、複数の指標１００が配された現実空間の動画像が表示されることになる。従って、ユーザは、表示部１７０の表示画面上に表示されている動画像を確認しながら、位置姿勢を求める対象となる指標１００が撮像部１１０によって撮像されるように、撮像部１１０の位置や姿勢を動かすことができる。
【００５１】
一方、画像入力部１２０は、撮像部１１０から受けた各フレームの撮像画像を指標検出同定部１３０にも送出する。
【００５２】
指標検出同定部１３０は上述の通り、画像入力部１２０から受けた撮像画像中に指標１００が存在する場合には、係る指標１００を同定する処理を行う。正方形指標としての指標１００を撮像画像から検出するために、指標検出同定部１３０は撮像画像について二値化、及び連結領域のラベリングを行い、正方形指標の境界領域である黒枠で囲まれた内部領域を抽出する。更に指標検出同定部１３０は、正方形指標の内部領域について直線フィッティングを行い、内部領域の正方形の４頂点の画像座標を求める。そして、２次元射影変換によって撮像画像上の正方形指標を正射影画像に変換し、向き決め領域及びビット領域を読み取ることにより、正方形指標の識別子を読み出し、同定を行う。なお、指標１００の同定については、どのような指標１００を用いるのかに応じて変わるものであり、指標１００の同定方法は、指標１００に応じて適宜対応すればよい。
【００５３】
指標検出同定部１３０は、撮像画像中に指標１００が含まれている場合には、係る指標１００について、指標１００の抽出元の撮像画像のフレーム番号、指標１００の識別子、指標１００の内部領域の４隅の画像座標、のセット（抽出指標セット）を求める。係る抽出指標セットは、撮像画像中の指標１００毎（指標毎）に求めるものである。フレーム番号については、画像入力部１２０が各フレームの撮像画像を入力する毎にカウントするカウント値を用いればよい。もちろん、フレーム番号に限定するものではなく、各フレームの撮像画像を一意に特定できるものであれば、如何なるものを画像識別情報として用いても良い。
【００５４】
指標検出同定部１３０は、撮像画像中に含まれる指標１００毎の上記抽出指標セットを後段のデータ管理部１４０に送出する。
【００５５】
そして、データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力したことを検知すると、指標検出同定部１３０が撮像画像から検出した各指標１００についての抽出指標セットをデータ保存部１６０に登録する。即ち、データ保存部１６０には、「画像保存」の指示が入力される毎に、「指標１００の抽出元の撮像画像のフレーム番号、指標１００の識別子、指標１００の内部領域の４隅の画像座標」のセットが登録されることになる。
【００５６】
また、係る登録処理の際には、図５に例示するような指標管理テーブルもデータ保存部１６０内に作成する。図５は、指標管理テーブルの構成例を示す図である。指標管理テーブルには各指標１００について、撮像画像から検出された回数、対応する抽出指標セットが画像から指標１００を同定することで得られたものか、ユーザが手動で入力したものかを示す情報、位置姿勢を求めたのか否かを示す情報等を登録する。
【００５７】
図５において「指標ＩＤ」の列には、指標の識別子を登録する。「入力種別」の列には、対応する識別子の指標（同じ行に登録されている識別子の指標）が撮像画像から求めたもの（自動検出）であるのか、手動でユーザが登録したもの（ユーザ定義）であるのかを示す情報を登録する。「撮影回数」の列には、対応する識別子の指標が過去に撮像画像から検出された回数を登録する。「較正状態」の列には、対応する識別子の指標の位置姿勢を求めたのか否かを示す情報を登録する。
【００５８】
例えば、図５では、指標ＩＤ（識別子）＝１の指標についての抽出指標セットはユーザが手動でデータ保存部１６０に登録したものであり、係る指標は過去に２回撮像画像から検出されており、且つ係る指標は位置姿勢が既知の基準指標である。
【００５９】
即ち、データ管理部１４０はある抽出指標セット（注目抽出指標セット）をデータ保存部１６０に登録する際には先ず、注目抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されているのかをチェックする。係るチェックの結果、登録されていない場合、「指標ＩＤ」の最後の行に注目抽出指標セット中の識別子を登録し、「入力種別」の最後の行に「自動検出」を登録し、「撮影回数」の最後の行に「１」を登録し、「較正状態」の最後の行に「未推定」を登録する。一方、係るチェックの結果、登録されている場合には、注目抽出指標セット中の識別子を登録している行における「撮影回数」の欄における数値に１を加算する。そして加算した結果が予め設定された値（例えば２）以上であれば、係る指標を用いて撮像部１１０の位置姿勢を求める処理を行い、対応する「較正状態」の欄に「概略計算済み」を登録する。
【００６０】
またデータ管理部１４０は、注目抽出指標セットをデータ保存部１６０に登録する際、注目抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されている場合には、次の処理を行う。即ち、注目抽出指標セットについて、図５に示した指標管理テーブルに登録した情報を表示部１７０に送出する。例えば、注目抽出指標セット中の識別子＝１３である場合には、指標ＩＤ＝１３に対応する「入力種別」＝「自動検出」、「撮影回数」＝「４」、「較正状態」＝「概略計算済み」を表示部１７０の表示画面上に追加表示する。
【００６１】
ここで、表示部１７０の表示画面上に表示されている全ての指標について撮影回数が２以上である等、指標１００の位置姿勢を計算するために十分な画像を撮像したとユーザが判断した場合には、操作部１５０を用いて「指標の位置姿勢計算」の指示を入力する。
【００６２】
データ管理部１４０は係る指示の入力を検知すると、指標管理テーブルに登録されている各識別子に対応する抽出指標セットをデータ保存部１６０から読み出し、指標位置姿勢算出部１８０に送出する。
【００６３】
指標位置姿勢算出部１８０は、受けた各抽出指標セットを用いて、各指標１００の基準座標系における位置姿勢を計算する。計算方法については後述する。
【００６４】
図４は、画像処理装置１が指標１００の基準座標系における位置姿勢を計算するための処理のフローチャートである。
【００６５】
ステップＳ４０００では、画像入力部１２０は、撮像部１１０から順次送出される撮像画像をそのまま表示部１７０に転送すると共に、指標検出同定部１３０にも送出する。
【００６６】
次にステップＳ４０１０では、指標検出同定部１３０は上述の通り、画像入力部１２０から受けた撮像画像中に指標１００が存在する場合には、係る指標１００を同定する処理を行う。そして係る指標１００について、指標１００の抽出元の撮像画像のフレーム番号、指標１００の識別子、指標１００の内部領域の４隅の画像座標、のセット（抽出指標セット）を求める。そして指標検出同定部１３０は、撮像画像中に含まれる指標１００毎の抽出指標セットを後段のデータ管理部１４０に送出する。
【００６７】
次にステップＳ４０２０では、データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示が入力されたか否かをチェックする。係るチェックの結果、入力されていない場合には処理をステップＳ４０００に戻す。一方、入力されている場合には処理をステップＳ４０３０に進める。
【００６８】
ステップＳ４０３０では、データ管理部１４０は、指標検出同定部１３０から受けた各抽出指標セットをデータ保存部１６０に登録する。
【００６９】
次にステップＳ４０４０では、データ管理部１４０はステップＳ４０３０で登録した抽出指標セット（注目抽出指標セット）中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されているのかをチェックする。係るチェックの結果、登録されていない場合には、処理をステップＳ４０５０に進める。
【００７０】
ステップＳ４０５０ではデータ管理部１４０は「指標ＩＤ」の最後の行に注目抽出指標セット中の識別子を登録し、「入力種別」の最後の行に「自動検出」を登録し、「撮影回数」の最後の行に「１」を登録し、「較正状態」の最後の行に「未推定」を登録する。一方、係るチェックの結果、登録されている場合には、処理をステップＳ４０６０に進める。
【００７１】
ステップＳ４０６０では、データ管理部１４０は、注目抽出指標セット中の識別子を登録している行における「撮影回数」の欄における数値に１を加算する。
【００７２】
次にステップＳ４０７０では、「撮影回数」が予め設定された閾値（例えば２）以上である指標があるのかをチェックする。係るチェックの結果、「撮影回数」が予め設定された閾値（例えば２）以上である指標がある場合には処理をステップＳ４０８０に進め、ない場合には処理をステップＳ４０９０に進める。
【００７３】
ステップＳ４０８０では、撮像部１１０の位置姿勢の初期値を、基準座標系における位置姿勢が既知の指標を撮像した撮像画像を利用してDLT（Direct Linear Transform）法などの公知の手法を利用して求める。そしてステップＳ４０７０で存在が確認された指標１００に対応する「較正状態」を「概略計算済み」に変更する。なお、撮像部１１０の位置姿勢の初期値は、撮像部１１０に磁気式、光学式、超音波式等の６自由度位置姿勢センサを装着し、係るセンサによる計測値から得てもよい。
【００７４】
次にステップＳ４０９０では、データ管理部１４０はステップＳ４０３０で登録した抽出指標セット（注目抽出指標セット）中の識別子と同じ識別子を含む抽出指標セットについて、「入力種別」、「撮影回数」、「較正状態」を表示部１７０に送出する。これにより、表示部１７０の表示画面上には、この送出された「入力種別」、「撮影回数」、「較正状態」が表示されることになる。ここで、「撮影回数」の表示とは、換言すれば、注目抽出指標セットを登録する際に、データ保存部１６０に既に登録されている抽出指標セット群のうち、注目抽出指標セットと同じ識別子を含むセットの個数を表示することでもある。
【００７５】
次に、ステップＳ４１００ではデータ管理部１４０は、操作部１５０を用いて「指標の位置姿勢計算」の指示が入力されたか否かをチェックする。係るチェックの結果、係る指示が入力されていない場合には処理をステップＳ４１３０に進める。一方、入力されている場合には処理をステップＳ４１１０に進める。
【００７６】
ステップＳ４１１０では、データ管理部１４０は、指標管理テーブルに登録されている各識別子に対応する指標の抽出指標セットをデータ保存部１６０から読み出し、指標位置姿勢算出部１８０に送出する。そして指標位置姿勢算出部１８０は、受けた各抽出指標セットを用いて、各指標１００の基準座標系における位置姿勢を計算する。
【００７７】
以下では、ステップＳ４１１０における処理の詳細について説明する。
【００７８】
位置姿勢を求める指標の数をＮとし、撮像された画像の枚数をＭとする。Ｍは、データ保存部１６０に保存されている各抽出指標セット中の画像番号のうち最大値を用いればよい。また、指標ｉ（ｉ＝１，２，…，Ｎ）の位置姿勢を表す６次元ベクトルをai、画像j（j=1,2,…,M）を撮像した撮像部１１０の位置姿勢を表す６次元ベクトルをsjと表す。指標の位置姿勢を表す６次元ベクトルaは、指標の基準座標系における位置ｔｗｍ＝［ｔｗｍｘ  ｔｗｍｙ  ｔｗｍｚ］ｔ、基準座標系に対する姿勢ωｗｍ＝［ωｗｍｘ  ωｗｍｙ  ωｗｍｚ］ｔの各成分からなるベクトルであり、ａ＝［ｔｗｍｘ  ｔｗｍｙ  ｔｗｍｚ  ωｗｍｘ  ωｗｍｙ  ωｗｍｚ］ｔのように表すことができる。撮像部１１０の基準座標系における位置をｔｗｃ＝［ｔｗｃｘ  ｔｗｃｙ  ｔｗｃｚ］ｔ、基準座標系に対する姿勢ωｗｃ＝［ωｗｃｘ  ωｗｃｙ  ωｗｃｚ］ｔとすると、撮像部１１０の位置姿勢を示す６次元ベクトルｓは、ｓ＝［ｔｗｃｘ  ｔｗｃｙ  ｔｗｃｚ  ωｗｃｘ  ωｗｃｙ  ωｗｃｚ］ｔのように表すことができる。
【００７９】
正方形指標の各頂点の指標座標系における座標ｘｍｋ＝［ｘｍｋ  ｙｍｋ  ｚｍｋ］ｔ  （k=1,2,3,4）は、正方形の一辺の長さをeとして、例えば（式１）のように表すことができ、正方形の一辺の長さがわかる場合には既知の値となる。
【００８０】
【数１】
2008249407.tif 000003
【００８１】
基準座標系に対する位置姿勢がtwm、ωwmである指標の指標座標がxmである頂点の基準座標系に対する位置姿勢がtwc、ωwcである撮像部１１０のカメラ座標xcは（式２）のように表すことができる。
【００８２】
【数２】
2008249407.tif 000004
【００８３】
但し、Ｒ（ωｗｃ）、Ｒ（ωｗｍ）はそれぞれωwc、ωwmで表される姿勢を表す３×３回転変換行列である。また、カメラ座標がＸｃ＝［ｘｃ  ｙｃ  ｚｃ］ｔである点が焦点距離がfであるピンホールカメラ（本実施形態では撮像部１１０）によって画像上に投影される位置ｕ＝［ｕｘ  ｕｙ］ｔは、（式３）のように表すことができる。
【００８４】
【数３】
2008249407.tif 000005
【００８５】
すなわち、uは指標の位置姿勢twm、ωwm、撮像部１１０の位置姿勢twc、ωwcの関数となる。よって、指標iの頂点k（k=1,2,3,4）の画像j上における投影像の位置を表す2次元ベクトルui,j,kは、（式４）に示すように、ai、sjの関数となる。
【００８６】
【数４】
2008249407.tif 000006
【００８７】
指標iの頂点kの画像j上における投影像の実際の画像上での観察位置をui,j,k＾と表すと、ui,j,k＾と、観察位置ui,j,k＾とai、sjから計算されるui,j,kとの誤差Δui,j,k（＝ui,j,k＾−ui,j,k）は、（式５）のように１次近似することができる。
【００８８】
【数５】
2008249407.tif 000007
【００８９】
∂ui,j,k／∂ａｉ、∂ui,j,k／∂ｓｊは（式４）において、ui,j,kをそれぞれai、sjの各成分によって偏微分したときの偏微分係数を並べたヤコビ行列である。
【００９０】
（式５）を各画像中で検出同定された各指標の各頂点について立て、全てのΔａｉ  （i=1,2,…,N）、Δｓｊ  （j=1,2,…,M）を共通の未知変数として連立方程式として解くことにより、Δａｉ  （i=1,2,…,N）、Δｓｊ  （j=1,2,…,M）を得ることができる。予め、ai、sjには初期値を与えておき、Δａｉ  （i=1,2,…,N）、Δｓｊ  （j=1,2,…,M）を求めて、ａｉ＝ａｉ＋Δａｉ、ｓｊ＝ｓｊ＋Δｓｊという補正を行う操作を繰り返すことで、指標の位置姿勢ａｉ  （i=1,2,…,N）を求める。
【００９１】
そして、求めた位置姿勢を示す情報（位置姿勢情報）を、データ保存部１６０に登録するのであるが、指標管理テーブルにおいて位置姿勢を求めた指標についての「較正状態」を「最適計算済み」に更新する。図６は、ステップＳ４１１０による更新済みの指標管理テーブルの一例を示す図である。
【００９２】
次にステップＳ４１２０では、現在表示部１７０の表示画面上に表示している「較正状態」のうち、位置姿勢を求めた指標についての「較正状態」を「最適計算済み」に更新する。なお、上記計算処理において、計算結果が収束しない、指標の誤認識、等により、位置姿勢が求められない指標については、「較正状態」には「エラー」を登録する。
【００９３】
次に、ステップＳ４１３０では、データ管理部１４０は、操作部１５０から、処理終了指示が入力されたか否かをチェックする。係るチェックの結果、入力されていない場合には処理をステップＳ４０００に戻し、入力されている場合には、本処理を終了する。
【００９４】
以上の説明により、本実施形態によれば、撮像画像上で検知された指標のそれぞれについて、位置姿勢を求めたのか否か、これまでに何回撮像されたのか、位置姿勢算出のために使用できるのか否か、等の状態をユーザが確認することができる。これにより、ユーザは、各指標の位置姿勢を計算する処理を開始するタイミングや、未だ位置姿勢を求めていない指標等を把握することができるので、全ての指標についてより高精度に位置姿勢を求めることができる。
【００９５】
＜変形例１＞
指標１００を表示部１７０の表示画面上に表示する際には、過去に同定された回数に応じた色でもってこの指標１００を表示しても良い。例えば、「２」以上の回数に対応する指標１００については位置姿勢の計算対象しても良いことをユーザに通知するために、「２」以上の指標１００を赤で表示し、「２」未満の指標１００を白で表示する。
【００９６】
もちろん、指標１００の表示形態についてはこれに限定するものではなく、様々な形態が考えられる。例えば、正方形指標の外枠部分だけを色を変えて描画し、内部領域全体を塗りつぶさなくてもよい。また、色を変えるのではなく、過去に同定された回数が閾値以上である指標は透明度を大きく、閾値未満である指標は透明度を小さくしてもよいし、その逆であってもよい。さらに、過去に同定された回数が閾値以上である指標には何も情報を提示せず、閾値未満である指標にのみ情報を提示してもよいし、その逆であってもよい。係る情報については特に限定するものではなく、例えば、「入力種別」、「撮影回数」、「較正状態」であっても良い。
【００９７】
また、「撮影回数」を表示する文字の色や透明度を同様に制御しても良い。
【００９８】
また、過去に同定された回数ではなく、後何回同定すれば、対応する指標を位置姿勢の計算対象としても良いのかをユーザに通知するために、残りの同定回数を用いても良い。
【００９９】
＜変形例２＞
指標１００には上述のような正方形指標だけでなく、他のタイプの指標、例えば、点形状の指標を用いても良い。その場合、指標の同定方法については、その指標のタイプに応じて適宜異ならせる。なお、各指標のタイプに応じた指標同定は、周知の技術でもってなし得る。
【０１００】
＜変形例３＞
上記説明では、ステップＳ４１００において、ユーザからの指示を検知すると、指標の位置姿勢を計算する処理を開始していた。しかし、現在の指標管理テーブルに登録されている全ての撮影回数が閾値（例えば「２」）以上であれば、ユーザからの指示を受け付けることなく、ステップＳ４１００以降の処理を開始しても良い。その場合、ステップＳ４１００では、現在の指標管理テーブルに登録されている全ての撮影回数が閾値以上であるか否かをチェックする。そして、閾値以上であれば処理をステップＳ４１１０に進め、閾値未満である場合には処理をステップＳ４１３０に進める。
【０１０１】
［第２の実施形態］
図１に示した画像処理装置１を構成する各部について、第１の実施形態では、ハードウェアでもって実装しているものとして説明した。しかし、係る各部のうち、幾つかについてはソフトウェアでもって実装しても良い。この場合、係るソフトウェアは、ＰＣ（パーソナルコンピュータ）などのコンピュータ上で実行され、これにより、係るコンピュータは、画像処理装置１が行うものとして説明した上記各処理を実行することになる。
【０１０２】
図３は、画像処理装置１に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【０１０３】
ＣＰＵ３０１は、ＲＡＭ３０２やＲＯＭ３０３に格納されているプログラム（コンピュータプログラム）やデータを用いてコンピュータ全体の制御を行うと共に、画像処理装置１が行うものとして説明した上記各処理を実行する。
【０１０４】
ＲＡＭ３０２は、外部記憶装置３０６からロードされたプログラムやデータ、Ｉ／Ｆ（インターフェース）３０７を介して撮像部１１０から受信した各フレームの撮像画像のデータを一時的に記憶するためのエリアを有する。更に、ＲＡＭ３０２は、ＣＰＵ３０１が各種の処理を実行する際に用いるワークエリアも備える。即ち、ＲＡＭ３０２は、各種のエリアを適宜提供することができる。
【０１０５】
ＲＯＭ３０３には、ブートプログラムやコンピュータの設定データなどを格納する。
【０１０６】
操作部３０４は、上記操作部１５０として機能するものであり、キーボードやマウスなどにより構成されている。本コンピュータの操作者は、この操作部３０４を用いて各種の指示をＣＰＵ３０１に対して入力することができる。
【０１０７】
表示部３０５は、上記表示部１７０として機能するものであり、ＣＲＴや液晶画面等により構成されている。表示部３０５は、ＣＰＵ３０１による処理結果を画像や文字などでもって表示することができる。
【０１０８】
外部記憶装置３０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置であって、上記データ保存部１６０として機能するものである。外部記憶装置３０６には、ＯＳ（オペレーティングシステム）や、画像処理装置１が行うものとして上述した各処理をＣＰＵ３０１に実行させるためのプログラムやデータなどが保存されている。また、既知の情報として上述したものについても、この外部記憶装置３０６に保存されている。外部記憶装置３０６に保存されているプログラムやデータは、ＣＰＵ３０１による制御に従って適宜ＲＡＭ３０２にロードされ、ＣＰＵ３０１による処理対象となる。
【０１０９】
Ｉ／Ｆ３０７は、上記撮像部１１０を本コンピュータに接続するためのインターフェースとして機能するものであり、撮像部１１０が撮像した各フレームの撮像画像のデータは、このＩ／Ｆ３０７を介して、ＲＡＭ３０２や外部記憶装置３０６に送出される。
【０１１０】
３０８は上述の各部を繋ぐバスである。
【０１１１】
［第３の実施形態］
本実施形態では、第１の実施形態で説明したような、指標を撮像した撮像画像から、係る指標の基準座標系（世界座標系）における位置を求めるためのツール（マーカキャリブレーションツール）について説明する。本実施形態では、指標をマーカと呼称する。
【０１１２】
図７は、マーカキャリブレーションツールのＧＵＩ（グラフィカルユーザインターフェース）の表示例を示す図である。図８は、本実施形態に係るシステム、及び係るシステムが設置される環境の例を示す図である。
【０１１３】
本実施形態で取り扱うマーカキャリブレーションツールは、コンピュータシステム８００上で動作するものであり、コンピュータシステム８００には、現実空間の動画像を撮像する撮像装置８０１が接続されている。撮像装置８０１が撮像した各フレームの画像（撮像画像）のデータは順次、コンピュータシステム８００に入力される。本実施形態では、コンピュータシステム８００として、図３に示すハードウェア構成を有するコンピュータを用いるものとして説明する。
【０１１４】
従って、以下の説明において、コンピュータシステム８００が行うものとして説明する各処理をＣＰＵ３０１に実行させるためのプログラムやデータは外部記憶装置３０６に保存されているものとする。そして、係るプログラムやデータは、ＣＰＵ３０１による制御に従って適宜ＲＡＭ３０２にロードされ、ＣＰＵ３０１による処理対象となる。
【０１１５】
机１２００や壁１３００には、マーカ１４００〜１４７０が貼り付けられている。撮像装置８０１はこれらマーカ１４００〜１４７０を含む現実空間の動画像を撮像し、撮像した各フレームの撮像画像のデータをコンピュータシステム８００に送出する。なお、本実施形態では、マーカ１４００の基準座標系における位置は既知であるとする。
【０１１６】
次に、図７に例示したＧＵＩについて説明する。図７において７００はＧＵＩのウィンドウで、係るウィンドウ７００内には以下のような表示領域、ボタン画像が設けられている。
【０１１７】
７０１はプレビュー表示領域で、撮像装置８０１から送出される各フレームの撮像画像を表示するための表示領域である。ここで、プレビュー表示領域７０１を観察しているユーザがボタン画像７０２を上記操作部３０４等を用いて指示すると、ＣＰＵ３０１は係る指示を検知したタイミングで撮像装置８０１から取得した撮像画像を外部記憶装置３０６に登録する。そして、登録する撮像画像中にマーカが含まれている場合には、係るマーカについての同定処理を行う。更に、この登録する撮像画像のサムネイル画像を生成し、領域７０４内に追加表示する。
【０１１８】
図９は、本実施形態で用いるマーカ（マーカ１４００〜１４７０）の一例を示す図である。図９に示す如く、本実施形態で用いるマーカは、第１の実施形態と同様に、枠領域の中に、２次元バーコードが記されている。係る２次元バーコードは、マーカに固有の識別子（指標識別情報の一例）をコード化したものである。従って、係るマーカを撮像した画像から、この２次元バーコードを読み取り、エンコードすることで、係るマーカが、マーカ１４００〜１４７０の何れであるのかを特定することができる。
【０１１９】
なお、２次元バーコードが記されたマーカを撮像画像から検出するための技術については、例えば、「加藤博一, Mark Billinghurst, 浅野浩一, 橘啓八郎: マーカー追跡に基づく拡張現実感システムとそのキャリブレーション, 日本バーチャルリアリティ学会論文誌, Vol.4, No.4, pp.607-616 (1999)」に記されているように、公知の技術である。
【０１２０】
ここで、外部記憶装置３０６には、過去に撮像画像から検出し、同定したマーカの識別子毎（指標識別情報毎）に、その検出回数（頻度）が登録されている。即ち、マーカの識別子と、この識別子のマーカが過去に撮像画像から検出された検出回数と、のセットが、識別子毎に外部記憶装置３０６内に登録されている。
【０１２１】
従って、マーカの同定処理を行うと、係る同定処理で特定した識別子（注目識別子）が、外部記憶装置３０６に登録されているか否かをチェックする。係るチェックの結果、登録されていない場合には、このマーカは初めて撮像画像から検出されたものであるから、このマーカの識別子（注目識別子）と、検出回数＝１のセットを外部記憶装置３０６に登録する。一方、登録されていた場合には、注目識別子とセットになって外部記憶装置３０６に登録されている検出回数を１つインクリメントする。
【０１２２】
なお、同定したマーカについて、係る同定処理で求めた他の情報（例えば、マーカを検出した撮像画像に固有の情報や、検出した画像座標など）についても、外部記憶装置３０６に登録するものとする。
【０１２３】
そして、ＣＰＵ３０１は、外部記憶装置３０６内に登録されている各セットを、検出回数の少ない順にソートしたものを表示領域７０５内に表示する。
【０１２４】
図１２は、外部記憶装置３０６内に登録されている各セットを、検出回数の少ない順にソートする様子を示す図である。例えば、外部記憶装置３０６内に図１２の左側に示す如く、各セットが登録されていた場合には、図１２の右側に示す如く、各セットが検出回数の少ない順にソートされる。
【０１２５】
図１０は、表示領域７０５内の表示例を示す図である。図１０に示す如く、各マーカのＩＤは、対応する回数の少ない順にソートされた状態で表示されている。更に、図１０では、各マーカのＩＤは、対応する回数に応じた色でもって表示されている。図１０では、回数が平均以下であるマーカＩＤは赤で表示し、回数が２／３以下であるマーカＩＤは黄色で表示し、残りのマーカＩＤは緑で表示している。なお、ソートする為の条件や、表示色についてはこれに限定するものではない。また、表示色の代わりに、表示文字サイズを変化させても良い。即ち、撮像画像から検出された回数が少ない程、マーカのマーカＩＤの表示文字サイズを大きくする。
【０１２６】
このように、撮像画像から検出された回数が比較的少ないマーカは、未だ位置姿勢を求めるためには不十分であるので、係る点をユーザに分かり易く報知するために、係るマーカのマーカＩＤについては、比較的目立つ色で表示する。これにより、ユーザは、更に撮像すべくマーカを知ることができる。
【０１２７】
図７に戻って、ボタン画像７０６は、指示することで、現在検出されているマーカについて、基準座標系における位置を求める処理を開始する。撮像画像中のマーカを用いてその位置を求めるための処理についてはここでの主眼ではないので、これについての説明は省略する。
【０１２８】
図１１は、マーカキャリブレーションツールが有する機能のうち、各マーカのマーカＩＤを、各マーカの検出回数でソートした順に、その検出回数に応じた色でもって表示する機能を実行することで行われる処理のフローチャートである。係る処理は、コンピュータシステム８００、即ち、図３に示したハードウェア構成を有するコンピュータが行うものとする。従って、以下説明する各ステップにおける処理の主体は、ＣＰＵ３０１である。
【０１２９】
先ず、ステップＳ１１０１では、撮像装置８０１から送出される各フレームの画像をＲＡＭ３０２に取得し、取得した画像をプレビュー表示領域７０１に表示する。
【０１３０】
次にステップＳ１１０２では、ボタン画像７０２指示されたことにより、「画像取得」指示が入力されたか否かをチェックする。係るチェックの結果、入力されていない場合には処理をステップＳ１１０１に戻す。一方、入力されている場合には、処理をステップＳ１１０３に進める。
【０１３１】
ステップＳ１１０３では、係る指示を検知したタイミングで撮像装置８０１から取得した撮像画像を外部記憶装置３０６に登録する。
【０１３２】
ステップＳ１１０４では、この登録する撮像画像のサムネイル画像を生成し、領域７０４内に追加表示する。
【０１３３】
ステップＳ１１０５では、登録する撮像画像中にマーカが含まれている場合には、係るマーカについての同定処理を行う。
【０１３４】
ステップＳ１１０６では、ステップＳ１１０５における同定処理で特定した識別子（注目識別子）が、外部記憶装置３０６に登録されているか否かをチェックする。係るチェックの結果、登録されていない場合には、処理をステップＳ１１０８に進める。
【０１３５】
ステップＳ１１０８では、注目識別子と、検出回数＝１のセットを外部記憶装置３０６に登録する。一方、登録されていた場合には、処理をステップＳ１１０７に進める。
【０１３６】
ステップＳ１１０７では、注目識別子とセットになって外部記憶装置３０６に登録されている検出回数を１つインクリメントする。
【０１３７】
そしてステップＳ１１０９では、外部記憶装置３０６内に登録されている各セットを、検出回数の少ない順にソートしたものを表示領域７０５内に表示する。その際、各セットを、検出回数に応じて予め定められた色でもって表示する。
【０１３８】
なお、本実施形態で説明した処理、即ち、指標の検出回数を識別子毎に管理しておき、各識別子を検出回数の少ない順に、検出回数に応じた色でもって一覧表示する処理は、第１の実施形態で説明した処理に加えても良い。
【０１３９】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１４０】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４２】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１４３】
【図１】現実空間中に配されている指標の位置姿勢を求めるための、本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図２】本発明の第１の実施形態で用いる指標を説明する図である。
【図３】画像処理装置１に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【図４】画像処理装置１が指標１００の基準座標系における位置姿勢を計算するための処理のフローチャートである。
【図５】指標管理テーブルの構成例を示す図である。
【図６】ステップＳ４１１０による更新済みの指標管理テーブルの一例を示す図である。
【図７】マーカキャリブレーションツールのＧＵＩ（グラフィカルユーザインターフェース）の表示例を示す図である。
【図８】本発明の第３の実施形態に係るシステム、及び係るシステムが設置される環境の例を示す図である。
【図９】本発明の第３の実施形態で用いるマーカ（マーカ１４００〜１４７０）の一例を示す図である。
【図１０】表示領域７０５内の表示例を示す図である。
【図１１】マーカキャリブレーションツールが有する機能のうち、各マーカのマーカＩＤを、各マーカの検出回数でソートした順に、その検出回数に応じた色でもって表示する機能を実行することで行われる処理のフローチャートである。
【図１２】外部記憶装置３０６内に登録されている各セットを、検出回数の少ない順にソートする様子を示す図である。
【図１】
2008249407.tif 000008
【図２】
2008249407.tif 000009
【図３】
2008249407.tif 000010
【図４】
2008249407.tif 000011
【図５】
2008249407.tif 000012
【図６】
2008249407.tif 000013
【図７】
2008249407.tif 000014
【図８】
2008249407.tif 000015
【図９】
2008249407.tif 000016
【図１０】
2008249407.tif 000017
【図１１】
2008249407.tif 000018
【図１２】
2008249407.tif 000019