(57)【要約】【課題】  指標の位置姿勢を求めるために用いる該指標の撮像画像をより確実且つ簡便に収集するための技術を提供すること。【解決手段】  撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する。撮像装置が姿勢を変更するたびに撮像した撮像画像を取得し、該撮像画像に含まれている指標に関する情報を登録する。同じ指標について情報を２回以上登録した場合には、該指標の撮像時における撮像装置の位置姿勢を取得する。それぞれの撮像画像について登録した指標の情報と、取得した撮像装置の位置姿勢と、を用いて１以上の指標のそれぞれの位置姿勢を算出する。【選択図】  図１
2016065830.tif 000002
【特許請求の範囲】
【請求項１】
１以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する制御手段と、
前記撮像装置が姿勢を変更するたびに撮像した前記現実空間の撮像画像を取得する第１の取得手段と、
前記第１の取得手段が取得した撮像画像に含まれている指標に関する情報を登録する登録手段と、
前記登録手段が同じ指標について情報を２回以上登録した場合には、該指標の撮像時における前記撮像装置の位置姿勢を取得する第２の取得手段と、
前記第１の取得手段が取得したそれぞれの撮像画像について前記登録手段が登録した情報と、前記第２の取得手段が取得した位置姿勢と、を用いて前記１以上の指標のそれぞれの位置姿勢を算出する算出手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記算出手段は、前記撮像装置が取り得る姿勢の範囲内におけるそれぞれの姿勢で該撮像装置が撮像した撮像画像を前記第１の取得手段が取得し終わってから、前記１以上の指標のそれぞれの位置姿勢を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の取得手段は、前記撮像装置がパン角、チルト角、画角のうち１以上を変更するたびに撮像した、１以上の指標を含む現実空間の撮像画像を取得することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記登録手段は、前記撮像画像に含まれている指標の識別子、該指標の該撮像画像中における画像座標、のセットを、該指標に関する情報として登録することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
更に、
前記第１の取得手段が取得した撮像画像を表示する表示手段を備えることを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記表示手段は更に、前記登録手段が同じ指標について情報を２回以上登録した場合には、該登録の回数を表示することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の制御手段が、１以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する制御工程と、
前記画像処理装置の第１の取得手段が、前記撮像装置が姿勢を変更するたびに撮像した前記現実空間の撮像画像を取得する第１の取得工程と、
前記画像処理装置の登録手段が、前記第１の取得工程で取得した撮像画像に含まれている指標に関する情報を登録する登録工程と、
前記画像処理装置の第２の取得手段が、前記登録工程で同じ指標について情報を２回以上登録した場合には、該指標の撮像時における前記撮像装置の位置姿勢を取得する第２の取得工程と、
前記画像処理装置の算出手段が、前記第１の取得工程で取得したそれぞれの撮像画像について前記登録工程で登録した情報と、前記第２の取得工程で取得した位置姿勢と、を用いて前記１以上の指標のそれぞれの位置姿勢を算出する算出工程と
を備えることを特徴とする画像処理方法。
【請求項８】
コンピュータを、請求項１乃至６の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間中に配されている指標の位置姿勢を求めるための技術に関するものである。
【背景技術】
【０００２】
近年、複合現実感（Mixed Reality：MR）技術の研究が盛んである。ＭＲ技術とは、現実空間と、コンピュータによって作られる仮想空間と、を継ぎ目なく融合する技術である。
【０００３】
MR技術における画像表示装置は、ビデオシースルー方式か、光学シースルー方式によって実現される。ビデオシースルー方式とは、ビデオカメラ等の撮像装置によって撮像された現実空間の画像に、該撮像装置の位置及び姿勢に応じて生成された仮想空間の画像を重畳描画した合成画像を表示する方式である。仮想空間の画像は、コンピュータグラフィクスにより描画された仮想物体や文字情報等により構成されている。また、光学シースルー方式とは、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する方式である。
【０００４】
MR技術は、患者の体表面に体内の様子を重畳表示する手術支援や、空き地に仮想のビルを重畳表示する建築シミュレーション、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援等様々な分野への応用が期待される。
【０００５】
MR技術において最も重要な課題の一つは、現実空間と仮想空間との間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。MRにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における（すなわちシーン中に規定された基準座標系における）撮像装置の位置及び姿勢を求める問題に帰結する。同様に、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。
【０００６】
前者の問題を解決する方法としては次のようなものが一般的である。即ち、シーン中に複数の指標を配置あるいは設定し、撮像装置が撮像した画像内における指標の投影位置と、既知の情報である指標の基準座標系における位置と、の対応関係から、基準座標系における撮像装置の位置及び姿勢を求める。また、後者の問題を解決する方法としては次のようなものが一般的である。即ち、計測対象物（すなわち観察者の頭部あるいはディスプレイ）に撮像装置を装着し、前者と同様の方法によって撮像装置の位置及び姿勢を求め、それに基づいて計測対象物の位置及び姿勢を求めることが一般的に行われている。
【０００７】
画像上の指標の投影像と該指標の３次元位置との対応関係に基づいて撮像装置の位置及び姿勢を求める方法は、写真測量の分野において古くから提案されている（非特許文献１）。
【０００８】
また、非特許文献２には次のようなことが提案されている。即ち、前述の画像上の指標の投影像に基づいて求めた撮像装置の位置及び姿勢を初期値とし、画像上での指標の投影像の実際の観察位置と投影像の計算位置との誤差が最小になるように反復演算によって撮像装置の位置及び姿勢を最適化することが行われている。ここで、投影像の計算位置とは、指標の３次元位置と撮像装置の位置及び姿勢から計算される投影像の位置のことである。
【０００９】
以上の方法によって、撮像装置が撮像した画像に基づいて、撮像装置の位置及び姿勢を求めることが従来からなされてきた。
【００１０】
一方、例えば特許文献１、２や非特許文献３で開示されているようなことも従来からなされてきた。即ち、計測対象である撮像装置に磁気センサや超音波センサ等の６自由度位置姿勢センサを取り付け、前述のような画像処理による指標の検出との併用によって位置及び姿勢を計測することも行われている。センサの出力値は測定範囲によって精度は変わるが安定的に得ることができるため、センサと画像処理を併用する方法は、画像処理だけによる方法に比べてロバスト性を向上させることができる。
【００１１】
特許文献２に開示されている技術では、６自由度位置姿勢センサから得られる撮像装置の位置及び姿勢を初期値とし、前述の画像上での指標の投影像の観察位置と計算位置との誤差を反復演算によって最小化することによって撮像装置の位置及び姿勢を得ている。
【００１２】
以上で述べた指標を利用した位置合わせ手法では、計測対象である撮像装置の基準座標系における位置及び姿勢を求める為には次のような情報が既知である必要がある。即ち、空間中に存在する同一色の円領域といった点形状の指標（点指標）の場合にはその重心の基準座標系における位置、基準座標系に対する指標の姿勢、が既知である必要がある。また、三角形や正方形といった多角形形状の指標の場合にはその重心の基準座標系における位置が既知である必要がある。正方形指標などの多角形形状の指標の場合には、基準座標系を別途設けることなく、指標そのものを座標系の基準とする場合が多い。しかし、複数の指標を用いる場合には、互いの位置及び姿勢の関係が既知である必要があるため、基準座標系が必要であることに変わりはない。
【００１３】
指標の位置及び姿勢の計測は、巻尺や分度器を用いた手作業や、測量器によって行うことが可能であるが、精度や手間の問題から、画像を利用した計測が行われている。点指標の位置計測は、バンドル調整法と呼ばれる方法で行うことができる。
【００１４】
バンドル調整法とは、次のような手法である。即ち、撮像装置によって点指標の画像を複数枚撮像し、画像上での点指標の投影像の観察位置を求める。そして求めた観察位置と、点指標の３次元位置及び撮像装置の位置姿勢をもとに計算される点指標の投影像の計算位置と、の誤差（投影誤差）が最小になるように、繰返し演算によって点指標の位置と撮像装置の位置姿勢の補正を繰り返し行う。これにより、点指標の位置を求める。
【００１５】
また、非特許文献４では、３次元空間中に配置された多数の正方形指標の位置及び姿勢を計測する方法が開示されている。非特許文献４では、３次元空間中に配置された多数の正方形指標の画像を多数撮像し、投影誤差が最小になるように、繰返し演算によって各画像を撮像した撮像装置の位置及び姿勢と、正方形指標の位置及び姿勢を求めている。
【００１６】
また、現実空間中に配した指標を複数の撮像装置によって撮像することで得られる複数枚の画像を用いて、この指標の位置を計算する「指標キャリブレーションツール」が提案されている（非特許文献５）。係る指標キャリブレーションツールを使用することにより、簡便に現実空間における指標の位置を測定することができる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開平11-084307号公報
【特許文献２】特開2000-041173号公報
【非特許文献】
【００１８】
【非特許文献１】R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: “Review andanalysis 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 multimarker 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.
【発明の概要】
【発明が解決しようとする課題】
【００１９】
前述したバンドル調整法を用いた点指標の位置計測手法では、一つの指標について最低二枚以上の画像を撮像しないと、正確な計測を行うことができない。点指標の場合、一枚の画像にしか撮像されない場合には、点指標が３次元空間中に存在する直線が決定されるだけで、撮像装置の奥行き方向の位置が不定になる。そのため位置計測に最低限必要な画像が取得できているかどうかという情報は重要である。さらに全ての指標に対して二枚以上の画像の撮像が必要になるので、ユーザにとっては手間のかかる作業となる。
【００２０】
従来のシステムでは、ユーザが撮像装置を移動させて指標を撮像していた。そのためユーザは指標を撮像する際には、個々の指標ついて既に二枚以上撮像されているかどうかを覚えている必要があった。指標の数が多数になるとユーザがどの指標を撮像したか覚えなくてはならないし、実際に撮像を行う手間が生じる。
【００２１】
本発明はこのような問題に鑑みてなされたものであり、指標の位置姿勢を求めるために用いる該指標の撮像画像をより確実且つ簡便に収集するための技術を提供する。
【課題を解決するための手段】
【００２２】
本発明の一様態は、１以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する制御手段と、前記撮像装置が姿勢を変更するたびに撮像した前記現実空間の撮像画像を取得する第１の取得手段と、前記第１の取得手段が取得した撮像画像に含まれている指標に関する情報を登録する登録手段と、前記登録手段が同じ指標について情報を２回以上登録した場合には、該指標の撮像時における前記撮像装置の位置姿勢を取得する第２の取得手段と、前記第１の取得手段が取得したそれぞれの撮像画像について前記登録手段が登録した情報と、前記第２の取得手段が取得した位置姿勢と、を用いて前記１以上の指標のそれぞれの位置姿勢を算出する算出手段とを備えることを特徴とする。
【発明の効果】
【００２３】
本発明の構成によれば、指標の位置姿勢を求めるために用いる該指標の撮像画像をより確実且つ簡便に収集することができる。
【図面の簡単な説明】
【００２４】
【図１】システムの機能構成例を示すブロック図。
【図２】指標１００を説明する図。
【図３】コンピュータのハードウェア構成例を示すブロック図。
【図４】画像処理装置１が行う処理のフローチャート。
【図５】指標管理テーブルの構成例を示す図。
【図６】パン角の変更を説明する図。
【図７】チルト角の変更を説明する図。
【発明を実施するための形態】
【００２５】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００２６】
［第１の実施形態］
本実施形態では、現実空間中に配されている（若しくは設定されている）１以上の指標の位置姿勢を算出する画像処理装置について説明する。先ず、本実施形態に係る画像処理装置を含むシステムの機能構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、撮像部１１０，撮像部１１１，画像処理装置１、を含む。
【００２７】
先ず、撮像部１１０について説明する。撮像部１１０は、複数の指標１００が配されている現実空間の画像を撮像する撮像装置である。撮像部１１０のパン角、チルト角、ズーム（画角）は、画像処理装置１によって制御され、撮像部１１０は、画像処理装置１によって制御されたパン角、チルト角、画角に基づいて現実空間の画像を撮像する。
【００２８】
撮像部１１１は撮像部１１０と同様の機能部であり、画像処理装置１によって制御されたパン角、チルト角、画角に基づいて、複数の指標１００が配されている現実空間の画像を撮像する撮像装置である。
【００２９】
次に、画像処理装置１について説明する。図１に示す如く、画像処理装置１は、画像入力部１２０、指標検出同定部１３０、データ管理部１４０、操作部１５０、データ保存部１６０、表示部１７０、指標位置姿勢算出部１８０、撮像部制御部１９０、を有する。
【００３０】
画像入力部１２０は、撮像部１１０及び撮像部１１１がパン角、チルト角、画角を変更するたびに撮像した撮像画像を受け、該撮像画像を指標検出同定部１３０及び表示部１７０に対して送出する。これにより、表示部１７０の表示画面上には、撮像部１１０による撮像画像及び撮像部１１１による撮像画像が表示されることになる。
【００３１】
指標検出同定部１３０は、画像入力部１２０から受けた撮像画像中に指標が含まれている場合には、該指標について同定を行い、該同定の結果を後段のデータ管理部１４０に送出する。
【００３２】
データ管理部１４０は、指標検出同定部１３０から受けた同定結果のデータを管理する。データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力したことを検知すると、指標検出同定部１３０から受けた同定結果のデータをデータ保存部１６０に登録する。
【００３３】
また、データ管理部１４０は、指標検出同定部１３０から受けた最新の同定結果のデータとデータ保存部１６０に既に登録されている同定結果のデータとを比較し、過去に複数回同定されている指標についての情報を表示部１７０に送出する。係る処理について詳しくは後述する。
【００３４】
また、データ管理部１４０は、撮像部制御部１９０から撮像部１１０及び撮像部１１１による撮像が完了した旨の通知を受けると、データ保存部１６０から撮像部１１０及び撮像部１１１の位置姿勢や同定結果のデータを読み出して、指標位置姿勢算出部１８０に送出する。
【００３５】
指標位置姿勢算出部１８０は、データ管理部１４０から受けたデータを用いて、指標の位置姿勢を計算する。
【００３６】
なお、図１には、指標位置姿勢算出部１８０が求めた指標の位置姿勢のデータの出力先については特に図示していないが、出力先については、ここでの主眼とするところではないので示していない。しかし、一般に、撮像画像から求めた指標の位置姿勢のデータの利用方法については周知のものであるので、ここでの説明、及び図示は省略する。
【００３７】
撮像部制御部１９０は、撮像部１１０及び撮像部１１１のパン角、チルト角、画角を制御する。
【００３８】
次に、上記の指標１００について、図２を用いて説明する。本実施形態では、図２（ａ）に示されるような正方形形状の指標（以下、正方形指標）を、位置姿勢の計算対象とする。正方形指標は、図２（ａ）に示すように、指標領域であることを示すための境界領域（黒枠）と内部領域とからなる。内部領域は、縦と横がそれぞれ５等分されており、内側の３×３領域が正方形指標の向き及び固有の識別子（識別情報）を表す。３×３領域の四隅（図２（ａ）において丸で囲まれている領域）が正方形指標の向きを表す領域（向き決め領域）である。四隅のうちの三つは黒く塗りつぶされており、残る一つは白く塗りつぶされている。これによって正方形指標の向きを表す。正方形指標の識別子は、３×３領域の四隅を除いた５つの領域（ビット領域）によって現される（図２（ａ）において斜線で示されている領域）。５つの領域のそれぞれは、白く塗りつぶされている場合は０、黒く塗りつぶされている場合は１を表すとすると、５ビット、すなわち３２通りの識別子を表すことができる。
【００３９】
また、正方形指標の位置姿勢は、図２（ｂ）に示す如く、基準座標系に対する位置姿勢で表現される。基準座標系とは、例えば、現実空間中の１点を原点とし、該原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系のことである。本実施形態では、正方形指標の位置は正方形の中心（対角線の交点）の位置であり、基準座標系に対する３次元ベクトルtwmによって表す。正方形指標の姿勢は、図２（ｂ）に示すように、基準座標系に対する正方形指標の座標系（指標座標系）の姿勢であるとする。姿勢の自由度は３であるので、３次元ベクトルωwmによって表す。指標座標系とは、例えば、正方形指標の中心を原点とし、正方形指標の一辺に沿った方向をｘ軸、該一辺に隣接する辺に沿った方向をｙ軸、正方形指標の法線方向をｚ軸とする座標系のことである。
【００４０】
次に、本実施形態に係るシステムの動作について、より詳細に説明する。
【００４１】
撮像部１１０及び撮像部１１１は上述の通り、撮像部制御部１９０によって制御されたパン角、チルト角、画角に基づいて、複数の指標１００（正方形指標）が配されている現実空間の画像を、ユーザによる操作とは無関係に撮像する。以下では一例として、撮像部１１０（撮像部１１１）のパン角の制御可能範囲を３６０度、チルト角の制御可能範囲を１００度とする。
【００４２】
このような例における撮像部１１０による画像撮像について説明する。なお、以下の説明は撮像部１１１についても同様である。ここで、撮像部１１０の水平画角αの最大値をαｍａｘ、最小値をαｍｉｎ、垂直画角の最小値をβｍｉｎ、ａ＝（αｍａｘ−αｍｉｎ）／ｎ（ｎは２以上の整数）とする。
【００４３】
先ず撮像部制御部１９０は、撮像部１１０の水平画角αをαｍｉｎ、チルト角を０に固定したまま、パン角＝０、α／２、α、…、３６０のそれぞれについて画像撮像を行わせる（図６）。これにより、撮像部１１０は、水平画角α＝αｍｉｎ、チルト角＝０の状態で、パン方向に一周分の画像撮像を行うことができる。この撮像により得られる撮像画像の枚数は（７２０／α）である。撮像部制御部１９０は、このような撮像動作を、水平画角α＝αｍｉｎ＋ａ、αｍｉｎ＋２ａ、…、αｍｉｎ＋（ｎ−１）ａのそれぞれについて行わせる。このような撮像動作により、水平画角α＝αｍｉｎで得られる（７２０／α）枚の撮像画像列、水平画角α＝αｍｉｎ＋ａで得られる（７２０／α）枚の撮像画像列、…、水平画角α＝αｍａｘで得られる（７２０／α）枚の撮像画像列、というように、（ｎ＋１）セットの撮像画像列が得られる。
【００４４】
そして更に撮像部制御部１９０は、撮像部１１０に、このような（ｎ＋１）セットの撮像画像列を得るための撮像動作を、チルト角＝βｍｉｎ／２、…、１００のそれぞれについて行わせる（図７）。
【００４５】
以上のような撮像制御により、撮像部制御部１９０は、水平画角α＝αｍｉｎ、αｍｉｎ＋ａ、…、αｍｉｎ＋（ｎ−１）ａのそれぞれに対する「パン角＝０、α／２、α、…、３６０のそれぞれに対する画像撮像」を、チルト角＝０、βｍｉｎ／２、…、１００のそれぞれについて行わせることができ、これにより撮像部１１０は、（ｎ＋１）×２００／βｍｉｎ回の撮像を行うことになり、結果として同数の枚数の撮像画像を撮像することになる。上記のとおり、これは撮像部１１１についても同様である。然るに撮像部１１０及び撮像部１１１は、上記のように姿勢を変更するたびに撮像した撮像画像を順次、後段の画像入力部１２０に対して送出する。
【００４６】
画像入力部１２０は、撮像部１１０から順次送出される撮像画像及び撮像部１１１から順次送出される撮像画像、を表示部１７０に対して送出すると共に、指標検出同定部１３０に対しても送出する。
【００４７】
指標検出同定部１３０は上述の通り、画像入力部１２０から受けた撮像画像中に指標１００が存在する場合には、該指標１００を同定する処理を行う。正方形指標としての指標１００を撮像画像から検出するために、指標検出同定部１３０は撮像画像について二値化及び連結領域のラベリングを行い、正方形指標の境界領域である黒枠で囲まれた内部領域を抽出する。更に指標検出同定部１３０は、正方形指標の内部領域について直線フィッティングを行い、内部領域の正方形の４頂点の画像座標を求める。そして、２次元射影変換によって撮像画像上の正方形指標を正射影画像に変換し、向き決め領域及びビット領域を読み取ることにより、正方形指標の識別子を読み出し、同定を行う。なお、指標１００の同定については、どのような指標１００を用いるのかに応じて変わるものであり、指標１００の同定方法は、指標１００に応じて適宜対応すればよい。
【００４８】
指標検出同定部１３０は、撮像画像中に指標１００が含まれている場合には、指標１００の抽出元の撮像画像を撮像した撮像部の識別子（撮像部１１０若しくは撮像部１１１の識別子）、該撮像画像のフレーム番号、指標１００の識別子、指標１００の内部領域の４隅の画像座標、のセット（抽出指標セット）を求める。抽出指標セットは、撮像画像中の指標１００毎に求めるものである。撮像画像を撮像した撮像部の識別子については、例えば、撮像部が撮像画像に自身の識別子を添付して送出し、指標検出同定部１３０が撮像画像からこの識別子を取得する。フレーム番号については、画像入力部１２０が各フレームの撮像画像を入力する毎にカウントするカウント値を用いればよい。もちろん、フレーム番号に限定するものではなく、各フレームの撮像画像を一意に特定できるものであれば、如何なるものを用いても良い。
【００４９】
指標検出同定部１３０は、撮像画像中に含まれる指標１００毎の上記抽出指標セットを後段のデータ管理部１４０に送出する。
【００５０】
データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力したことを検知すると、指標検出同定部１３０が撮像画像から検出した各指標１００についての抽出指標セットをデータ保存部１６０に登録する。即ち、データ保存部１６０には、「画像保存」の指示が入力される毎に、「指標１００の抽出元の撮像画像を撮像した撮像部の識別子、該撮像画像のフレーム番号、指標１００の識別子、指標１００の内部領域の４隅の画像座標」のセットが登録されることになる。
【００５１】
また、この登録処理の際には、図５に例示するような指標管理テーブルもデータ保存部１６０内に作成する。指標管理テーブルには各指標１００について、該指標１００の識別子（指標ＩＤ）、対応する抽出指標セットが画像から指標１００を同定することで得られたものか、ユーザが手動で入力したものかを示す情報（入力種別）、撮像部１１０による撮像画像及び撮像部１１１による撮像画像のそれぞれから該指標１００が検出された回数（それぞれ撮像部Ａ及び撮像部Ｂ）、位置姿勢を求めたのか否かを示す情報等を登録する。
【００５２】
図５において「指標ＩＤ」の列には、指標の識別子を登録する。「入力種別」の列には、対応する識別子の指標（同じ行に登録されている識別子の指標）が撮像画像から求めたもの（自動検出）であるのか、手動でユーザが登録したもの（ユーザ定義）であるのかを示す情報を登録する。「撮像部Ａ」の列には、対応する識別子の指標が過去に撮像部１１０による撮像画像から検出された回数を登録する。「撮像部Ｂ」の列には、対応する識別子の指標が過去に撮像部１１１による撮像画像から検出された回数を登録する。「較正状態」の列には、対応する識別子の指標の位置姿勢を求めたのか否かを示す情報を登録する。
【００５３】
例えば、図５では、指標ＩＤ（識別子）＝１の指標についての抽出指標セットはユーザが手動でデータ保存部１６０に登録したものであり、該指標は過去に撮像部１１０による撮像画像から１回検出されており、該指標は過去に撮像部１１１による撮像画像から１回検出されており、且つ該指標は位置姿勢が既知の基準指標である。
【００５４】
即ち、データ管理部１４０は、撮像部１１０による撮像画像から検出された指標の抽出指標セット（注目抽出指標セット）をデータ保存部１６０に登録する際には先ず、注目抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されているのかをチェックする。そして該チェックの結果、登録されていない場合には、「指標ＩＤ」の最後の行に注目抽出指標セット中の識別子を登録し、「入力種別」の最後の行に「自動検出」を登録し、「撮像部Ａ」の最後の行に「１」を登録し、「撮像部Ｂ」の最後の行に「０」を登録し、「較正状態」の最後の行に「未推定」を登録する。もちろん、注目抽出指標セットが、撮像部１１１による撮像画像から検出された指標の抽出指標セットである場合には、「撮像部Ａ」の最後の行に「０」を登録し、「撮像部Ｂ」の最後の行に「１」を登録することになる。一方、該チェックの結果、登録されている場合には、注目抽出指標セット中の識別子を登録している行における「撮像部Ａ」の欄における数値に１を加算する。もちろん、注目抽出指標セットが、撮像部１１１による撮像画像から検出された指標の抽出指標セットである場合には、注目抽出指標セット中の識別子を登録している行における「撮像部Ｂ」の欄における数値に１を加算する。
【００５５】
そして「撮像部Ａ」の欄における値及び「撮像部Ｂ」の欄における値が共に閾値（例えば１）以上であれば、撮像部１１０及び撮像部１１１の位置姿勢を求めてデータ保存部１６０に格納すると共に、対応する「較正状態」の欄に「概略計算済み」を登録する。
【００５６】
またデータ管理部１４０は、上記の注目抽出指標セットをデータ保存部１６０に登録する際、注目抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されている場合には、次の処理を行う。即ち、注目抽出指標セットについて、図５に示した指標管理テーブルに登録した情報を表示部１７０に送出する。例えば、注目抽出指標セット中の識別子＝１２である場合には、指標ＩＤ＝１２に対応する「入力種別」＝「自動検出」、「撮像部Ａ」＝「３」、「撮像部Ｂ」＝「１」、「較正状態」＝「概略計算済み」を表示部１７０の表示画面上に追加表示する。
【００５７】
なお、撮像部制御部１９０は、撮像部１１０及び撮像部１１１によって（ｎ＋１）×２００／βｍｉｎ回の撮像を行ったことを検知すると、その旨をデータ管理部１４０に対して通知する。すなわち、撮像部制御部１９０は、撮像部１１０及び撮像部１１１によって全ての撮像画像の撮像が完了した場合には、その旨をデータ管理部１４０に通知する。
【００５８】
データ管理部１４０は、このような通知を受けると、指標管理テーブルに登録されている各識別子に対応する抽出指標セットと、撮像部１１０及び撮像部１１１の位置姿勢と、をデータ保存部１６０から読み出して、指標位置姿勢算出部１８０に送出する。指標位置姿勢算出部１８０は、撮像部１１０及び撮像部１１１の位置姿勢、各抽出指標セット、を用いて、各指標１００の基準座標系における位置姿勢を計算する。計算方法については後述する。
【００５９】
次に、画像処理装置１が、現実空間中に配されているそれぞれの指標１００の基準座標系における位置姿勢を算出するために行う処理について、同処理のフローチャートを示す図４を用いて説明する。
【００６０】
＜ステップＳ４０００＞
撮像部制御部１９０は、撮像部１１０及び撮像部１１１のそれぞれの水平画角、チルト角、パン角を設定して画像撮像を行わせる。上記の通り、水平画角の初期値はαｍｉｎ、チルト角の初期値は０、パン角の初期値は０である。そして、本ステップにおける処理を実行するたびにパン角、チルト角、画角を上記のようにして変更し、これにより、水平画角α＝αｍｉｎ、αｍｉｎ＋ａ、…、αｍｉｎ＋（ｎ−１）ａのそれぞれに対する「パン角＝０、α／２、α、…、３６０のそれぞれに対する画像撮像」を、チルト角＝０、βｍｉｎ／２、…、１００のそれぞれについて行うことを実現する。
【００６１】
＜ステップＳ４０１０＞
画像入力部１２０は、撮像部１１０及び撮像部１１１のそれぞれによる撮像画像を表示部１７０及び指標検出同定部１３０に対して送出する。
【００６２】
＜ステップＳ４０２０＞
指標検出同定部１３０は、画像入力部１２０から受けた撮像画像中に指標１００が存在するか否かを判断する。この判断の結果、存在する場合には処理はステップＳ４０３０に進み、存在しない場合には、処理はステップＳ４０００に戻る。
【００６３】
＜ステップＳ４０３０＞
指標検出同定部１３０は、画像入力部１２０から受けた撮像画像中に存在する指標１００を同定する処理を行って、該指標１００の抽出指標セットを求め、該抽出指標セットを後段のデータ管理部１４０に送出する。データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力したことを検知すると、指標１００の抽出指標セットをデータ保存部１６０に登録する。
【００６４】
＜ステップＳ４０４０＞
データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力したことを検知すると、指標１００の抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが、すでに指標管理テーブルに登録されているのか否かを判断する。この判断の結果、登録されている場合には、処理はステップＳ４０６０に進み、登録されていない場合には、処理はステップＳ４０５０に進む。
【００６５】
＜ステップＳ４０５０＞
データ管理部１４０は、指標管理テーブルにおいて「指標ＩＤ」の最後の行に指標１００の抽出指標セット中の識別子を登録し、「入力種別」の最後の行に「自動検出」を登録する。ここで、データ管理部１４０は、指標１００の抽出指標セット中の「指標１００の抽出元の撮像画像を撮像した撮像部の識別子」を参照して、指標１００の抽出元の撮像画像を撮像した撮像部が撮像部１１０及び撮像部１１１の何れであるのかを判断する。そして、指標１００が撮像部１１０による撮像画像から検出されたものである場合には、「撮像部Ａ」の最後の行に「１」を登録し、「撮像部Ｂ」の最後の行に「０」を登録する。一方、指標１００が撮像部１１１による撮像画像から検出されたものである場合には、「撮像部Ａ」の最後の行に「０」を登録し、「撮像部Ｂ」の最後の行に「１」を登録する。そして更に、「較正状態」の最後の行に「未推定」を登録する。
【００６６】
＜ステップＳ４０６０＞
データ管理部１４０は、指標１００の抽出指標セット中の「指標１００の抽出元の撮像画像を撮像した撮像部の識別子」を参照して、指標１００の抽出元の撮像画像を撮像した撮像部が撮像部１１０及び撮像部１１１の何れであるのかを判断する。
【００６７】
そして、指標１００が撮像部１１０による撮像画像から検出されたものである場合には、指標管理テーブルにおいて指標１００の抽出指標セット中の識別子を登録している行における「撮像部Ａ」の欄における数値に１を加算する。一方、指標１００が撮像部１１１による撮像画像から検出されたものである場合には、指標管理テーブルにおいて指標１００の抽出指標セット中の識別子を登録している行における「撮像部Ｂ」の欄における数値に１を加算する。
【００６８】
＜ステップＳ４０７０＞
データ管理部１４０は、ステップＳ４０５０で登録を行った行若しくはステップＳ４０６０で数値加算を行った行における「撮像部Ａ」の欄における値及び「撮像部Ｂ」の欄における値が共に閾値以上であるか否かを判断する。この判断の結果、共に閾値以上であれば、処理はステップＳ４０８０に進み、何れか一方でも閾値未満であれば、処理はステップＳ４０９０に進む。
【００６９】
＜ステップＳ４０８０＞
データ管理部１４０は、撮像部１１０及び撮像部１１１の初期位置姿勢を取得する。撮像部１１０及び撮像部１１１の初期位置姿勢の取得方法については様々な方法が考えられ、特定の取得方法に限るものではない。
【００７０】
例えば、基準座標系における位置姿勢が既知の指標を撮像した撮像画像を利用してDLT（Direct Linear Transform）法などの公知の手法を利用して求めても構わない。また、撮像部１１０及び撮像部１１１に磁気式、光学式、超音波式等の６自由度位置姿勢センサを装着し、該センサによる計測値から求めても構わない。
【００７１】
そしてデータ管理部１４０は、このようにして取得した撮像部１１０及び撮像部１１１の初期位置姿勢をデータ管理部１４０に保存すると共に、ステップＳ４０５０で登録を行った行若しくはステップＳ４０６０で数値加算を行った行における「較正状態」を、「概略計算済み」に変更する。
【００７２】
＜ステップＳ４０９０＞
データ管理部１４０は、指標１００の抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが、すでに指標管理テーブルに登録されている場合には、該抽出指標セットについて、図５に示した指標管理テーブルに登録した情報を表示部１７０に送出する。
【００７３】
＜ステップＳ４１００＞
撮像部制御部１９０は、撮像部１１０及び撮像部１１１によって（ｎ＋１）×２００／βｍｉｎ回の撮像を行ったか否かを判断する。この判断の結果、撮像部１１０及び撮像部１１１によって（ｎ＋１）×２００／βｍｉｎ回の撮像を行った場合には処理はステップＳ４１１０に進み、行っていない場合には、処理はステップＳ４０００に戻る。
【００７４】
撮像部制御部１９０は、撮像部１１０及び撮像部１１１によって（ｎ＋１）×２００／βｍｉｎ回の撮像を行ったことを検知すると、その旨をデータ管理部１４０に対して通知する。
【００７５】
＜ステップＳ４１１０＞
データ管理部１４０は、撮像部制御部１９０から上記の通知を受けると、指標管理テーブルに登録されている「ステップＳ４０８０でデータ保存部１６０に保存した撮像部１１０及び撮像部１１１の初期位置姿勢」、「各識別子に対応する抽出指標セット」をデータ保存部１６０から読み出し、指標位置姿勢算出部１８０に送出する。
【００７６】
指標位置姿勢算出部１８０は、データ管理部１４０から受けた撮像部１１０及び撮像部１１１の位置姿勢、各抽出指標セット、を用いて、各指標１００の基準座標系における位置姿勢を計算する。
【００７７】
位置姿勢を求める指標の数をＮとし、撮像された画像の枚数をＭとする。Ｍは、データ保存部１６０に保存されている各抽出指標セット中の画像番号のうち最大値を用いればよい。また、指標ｉ（ｉ＝１，２，…，Ｎ）の位置姿勢を表す６次元ベクトルをai、画像j（j=1,2,…,M）を撮像した撮像部の位置姿勢を表す６次元ベクトルをsjと表す。指標の位置姿勢を表す６次元ベクトルaは、指標の基準座標系における位置ｔｗｍ＝［ｔｗｍｘ  ｔｗｍｙ  ｔｗｍｚ］ｔ、基準座標系に対する姿勢ωｗｍ＝［ωｗｍｘ  ωｗｍｙ  ωｗｍｚ］ｔの各成分からなるベクトルであり、ａ＝［ｔｗｍｘ  ｔｗｍｙ  ｔｗｍｚ  ωｗｍｘ  ωｗｍｙ  ωｗｍｚ］ｔのように表すことができる。撮像部の基準座標系における位置をｔｗｃ＝［ｔｗｃｘ  ｔｗｃｙ  ｔｗｃｚ］ｔ、基準座標系に対する姿勢ωｗｃ＝［ωｗｃｘ  ωｗｃｙ  ωｗｃｚ］ｔとすると、撮像部の位置姿勢を示す６次元ベクトルｓは、ｓ＝［ｔｗｃｘ  ｔｗｃｙ  ｔｗｃｚ  ωｗｃｘ  ωｗｃｙ  ωｗｃｚ］ｔのように表すことができる。
【００７８】
正方形指標の各頂点の指標座標系における座標ｘｍｋ＝［ｘｍｋ  ｙｍｋ  ｚｍｋ］ｔ  （k=1,2,3,4）は、正方形の一辺の長さをeとして、例えば（式１）のように表すことができ、正方形の一辺の長さがわかる場合には既知の値となる。
【００７９】
【数１】
2016065830.tif 000003
【００８０】
基準座標系に対する位置姿勢がtwm、ωwmである指標の指標座標がxmである頂点の基準座標系に対する位置姿勢がtwc、ωwcである撮像部のカメラ座標xcは（式２）のように表すことができる。
【００８１】
【数２】
2016065830.tif 000004
【００８２】
但し、Ｒ（ωｗｃ）、Ｒ（ωｗｍ）はそれぞれωwc、ωwmで表される姿勢を表す３×３回転変換行列である。また、カメラ座標がＸｃ＝［ｘｃ  ｙｃ  ｚｃ］ｔである点が焦点距離がfであるピンホールカメラ（本実施形態では撮像部１１０及び撮像部１１１）によって画像上に投影される位置ｕ＝［ｕｘ  ｕｙ］ｔは、（式３）のように表すことができる。
【００８３】
【数３】
2016065830.tif 000005
【００８４】
すなわち、uは指標の位置姿勢twm、ωwm、撮像部の位置姿勢twc、ωwcの関数となる。よって、指標iの頂点k（k=1,2,3,4）の画像j上における投影像の位置を表す2次元ベクトルui,j,kは、（式４）に示すように、ai、sjの関数となる。
【００８５】
【数４】
2016065830.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）は、（式５）のように１次近似することができる。
【００８７】
【数５】
2016065830.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）を求める。
【００９０】
そして、指標位置姿勢算出部１８０は、求めた位置姿勢を示す情報（位置姿勢情報）を、適当な出力先に対して出力するのであるが、指標管理テーブルにおいて位置姿勢を求めた指標についての「較正状態」を「最適計算済み」に更新する。
【００９１】
＜ステップＳ４１２０＞
データ管理部１４０は、現在表示部１７０の表示画面上に表示している「較正状態」のうち、位置姿勢を求めた指標についての「較正状態」を「最適計算済み」に更新する。なお、上記計算処理において、計算結果が収束しない、指標の誤認識、等により、位置姿勢が求められない指標については、「較正状態」には「エラー」を登録する。
【００９２】
このように、本実施形態によれば、撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更するたびに該撮像装置が撮像した、１以上の指標を含む現実空間の撮像画像を取得することができるために、撮像画像に含まれている指標の位置姿勢を算出することが可能となる。なお、計算結果が収束せずに位置姿勢が求められなかった指標については、その指標とその周辺の指標だけ撮像し直して同様に再計算することで求めることが出来る。
【００９３】
なお、指標１００には上述のような正方形指標だけでなく、他のタイプの指標、例えば、点形状の指標を用いても良い。その場合、指標の同定方法については、その指標のタイプに応じて適宜異ならせる。なお、各指標のタイプに応じた指標同定は、周知の技術でもってなし得る。
【００９４】
また、本実施形態では、現実空間を撮像する撮像部の数を２（撮像部１１０及び撮像部１１１）とした。しかし、撮像部の数は２に限るものではなく、１でも構わないし、３以上であっても構わない。
【００９５】
また、本実施形態では、データ管理部１４０は、ユーザが操作部１５０を用いて「画像保存」の指示を入力した場合に、データ保存部１６０への保存等の処理を行った。しかし、しかし、この指示は、ユーザが操作部１５０を操作して入力することに限るものではなく、撮像部制御部１９０が入力しても構わない。また、データ管理部１４０は、このような指示の入力なしに動作しても構わない。
【００９６】
また、図１に示した画像処理装置１を構成する各機能部は、図１に示す如く１つの装置内に納めても構わないが、複数台の装置に分散させても構わない。また、上記の説明で表示部１７０に表示するものとして説明した情報は、その全てを表示することに限るものではなく、その一部を表示するようにしても構わない。表示対象とする情報については予め設定しておいても構わないし、ユーザが操作部１５０を操作して選択しても構わない。
【００９７】
また、抽出指標セットに含まれるべき情報についても、上記で説明した情報に限るものではなく、対応する指標の位置姿勢を算出するために必要な情報が含まれているのであれば、抽出指標セットには如何なる情報が含まれていても構わない。
【００９８】
すなわち、本実施形態は、その変形例も含めて、次のような構成の一例に過ぎない。すなわち、１以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更（制御）し、該撮像装置が姿勢を変更するたびに撮像した現実空間の撮像画像を取得する。そして該取得した撮像画像に含まれている指標に関する情報を登録し、同じ指標について情報を２回以上登録した場合には、該指標の撮像時における撮像装置の位置姿勢を取得する。そして、それぞれの撮像画像について登録した指標の情報と、取得した撮像装置の位置姿勢と、を用いて上記の１以上の指標のそれぞれの位置姿勢を算出する。
【００９９】
［第２の実施形態］
図１に示した画像処理装置１を構成する各機能部は、ハードウェアで構成しても構わないし、画像入力部１２０、データ保存部１６０、操作部１５０、表示部１７０を除く各機能部をソフトウェア（コンピュータプログラム）で構成しても構わない。後者の場合、このソフトウェアは、ＰＣ（パーソナルコンピュータ）などのコンピュータ上で実行されることになり、これにより、該コンピュータは、画像処理装置１が行うものとして説明した上記各処理を実行することになる。画像処理装置１に適用可能なコンピュータのハードウェア構成例について、図３のブロック図を用いて説明する。
【０１００】
ＣＰＵ３０１は、ＲＡＭ３０２やＲＯＭ３０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行することで、本コンピュータ全体の動作制御を行うと共に、画像処理装置１が行うものとして上述した各処理を実行する。
【０１０１】
ＲＡＭ３０２は、外部記憶装置３０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）３０７を介して撮像部１１０及び撮像部１１１から受信した撮像画像を記憶するためのエリアを有する。更に、ＲＡＭ３０２は、ＣＰＵ３０１が各種の処理を実行する際に用いるワークエリアも備える。即ち、ＲＡＭ３０２は、各種のエリアを適宜提供することができる。
【０１０２】
ＲＯＭ３０３には、ブートプログラムや本コンピュータの設定データなどが格納されている。
【０１０３】
操作部３０４は、上記操作部１５０として機能するものであり、キーボードやマウスなどにより構成されている。本コンピュータの操作者は、この操作部３０４を操作することで各種の指示をＣＰＵ３０１に対して入力することができる。
【０１０４】
表示部３０５は、上記表示部１７０として機能するものであり、ＣＲＴや液晶画面等により構成されている。表示部３０５は、ＣＰＵ３０１による処理結果を画像や文字などでもって表示することができる。
【０１０５】
外部記憶装置３０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置であって、上記データ保存部１６０として機能するものである。外部記憶装置３０６には、ＯＳ（オペレーティングシステム）や、画像処理装置１が行うものとして上述した各処理をＣＰＵ３０１に実行させるためのコンピュータプログラムやデータなどが保存されている。このコンピュータプログラムには、撮像部制御部１９０、指標検出同定部１３０、データ管理部１４０、指標位置姿勢算出部１８０の各機能部が行うものとして上述した各処理をＣＰＵ３０１に実行させるためのコンピュータプログラムが含まれている。また、このデータには、上記の処理において既知の情報として取り扱ったものが含まれている。外部記憶装置３０６に保存されているコンピュータプログラムやデータは、ＣＰＵ３０１による制御に従って適宜ＲＡＭ３０２にロードされ、ＣＰＵ３０１による処理対象となる。
【０１０６】
Ｉ／Ｆ３０７は、上記画像入力部１２０として機能するものであり、撮像部１１０及び撮像部１１１を本コンピュータに接続するためのインターフェースとして機能するものである。撮像部１１０及び撮像部１１１による撮像画像のデータは、このＩ／Ｆ３０７を介して、ＲＡＭ３０２や外部記憶装置３０６に対して送出される。３０８は上述の各部を繋ぐバスである。
【０１０７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０８】
１９０：撮像部制御部  １２０：画像入力部  １３０：指標検出同定部  １４０：データ管理部  １８０：指標位置姿勢算出部
【図１】
2016065830.tif 000008
【図２】
2016065830.tif 000009
【図３】
2016065830.tif 000010
【図４】
2016065830.tif 000011
【図５】
2016065830.tif 000012
【図６】
2016065830.tif 000013
【図７】
2016065830.tif 000014