(57)【要約】【課題】  指標の認識色をより簡便に設定する為の技術を提供すること。【解決手段】  領域２６０に現実空間の画像を表示する。現実空間の画像の全部、若しくは一部における色領域を示す色領域画像２５４を領域２５０に表示する。現実空間の画像から、色領域画像２５４のうち選択された部分に相当する色領域内の色を有する画素を抽出し、抽出した画素群を領域２７０に表示する。【選択図】  図２
2006285790.tif 000002
【特許請求の範囲】
【請求項１】
現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像を表示する第１の表示工程と、
前記第１の表示工程で表示した画像の全部、若しくは一部における色領域を示す色領域画像を表示する第２の表示工程と、
前記第１の表示工程で表示した画像から、前記色領域画像のうち選択された部分に相当する色領域内の色を有する画素を抽出する抽出工程と、
前記抽出工程で抽出した画素群を表示する第３の表示工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記取得工程で取得した画像に対して選択領域を設定した場合には、前記第１の表示工程では、当該画像上に当該選択領域の枠を重畳表示し、
前記第２の表示工程では、前記第１の表示工程で表示した画像の選択領域内における色領域を示す色領域画像を表示し、
前記第３の表示工程では、前記第３の表示工程で表示に用いる領域内の前記選択領域に相当する部分に枠を表示することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第３の表示工程で表示に用いる領域内に選択領域を設定した場合には、前記第３の表示工程では、当該領域内に当該選択領域の枠を重畳表示し、
前記第１の表示工程では、前記取得工程で取得した画像上で、前記第３の表示工程で表示に用いる領域内の前記選択領域に相当する部分に枠を重畳表示することを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記取得工程で取得した画像に対して選択領域を設定した場合には、
前記抽出工程では、前記第１の表示工程で表示した画像から、当該選択領域の中心位置に位置する画素の色に基づいて前記色領域画像のうち選択された部分に相当する色領域内の色を有する画素を抽出することを特徴とする請求項１乃至３の何れか１項に記載の画像処理方法。
【請求項５】
前記第３の表示工程では、前記抽出工程で抽出した画素群を、前記色領域に対応する代表色でもって表示することを特徴とする請求項１乃至４の何れか１項に記載の画像処理方法。
【請求項６】
現実空間の画像を取得する取得手段と、
前記取得手段で取得した画像を表示する第１の表示手段と、
前記第１の表示手段が表示した画像の全部、若しくは一部における色領域を示す色領域画像を表示する第２の表示手段と、
前記第１の表示手段が表示した画像から、前記色領域画像のうち選択された部分に相当する色領域内の色を有する画素を抽出する抽出手段と、
前記抽出手段によって抽出した画素群を表示する第３の表示手段と
を備えることを特徴とする画像処理装置。
【請求項７】
コンピュータに請求項１乃至５の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間中に配されるそれぞれの指標に係る情報を管理するための技術に関するものである。
【背景技術】
【０００２】
カメラの焦点距離、主点、レンズ歪みなどのカメラ固有にカメラの内部に存在するカメラ内部パラメータ、もしくは、カメラの位置姿勢といったカメラが外界に対してどのように存在しているかを表すカメラ外部パラメータを校正するために、３次元現実空間内に置かれた１つ以上の指標（現実指標：３次元現実空間中の空間座標値は既知）をカメラで撮像して指標画像を取得し、各指標の３次元現実空間中の空間座標値（指標空間座標値）とこの指標の画像上の座標値（指標画像位置）とを用いて、カメラ校正アルゴリズムに基づき推定する方法がある。
【０００３】
指標画像位置を求めるためには、指標画像から既知の特徴を抽出する処理を行い、指標部分を抽出する必要がある。既知の特徴には実際の指標の形状（指標形状）や、指標を撮像装置で撮影して得られる指標画像上の指標の色（指標画像色）が利用される。
【特許文献１】特開２００３−２７９３１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
指標色は、撮影時の光源の種類、位置、光量、視点位置姿勢、指標の材質などの光学的条件によって様々に変化する。このため、指標色を特徴として指標画像から指標部分を抽出して指標位置を求める場合、撮影時の光学的条件が変わる毎に、指標位置推定に先立って指標色を再取得し、処理系に指標として認識する色（認識色）として設定する初期設定作業が必要になる。
【０００５】
また、指標全体が物理的には同色であっても、光学的条件によって指標の部分部分によって指標色が異なることが多いため、指標色は色空間における一点ではなく、ある程度の領域（指標色領域）を有する。また、同じ条件であっても、蛍光灯のフリッカーや撮像素子のノイズにより、撮像を時系列的に見た場合、各撮像における指標色領域は異なってくる。
【０００６】
このように、光学的条件や撮像のタイミングによって変化する指標色領域をすべて包含するように認識色の領域（認識色領域）を設定しないと、指標画像中の指標の一部分が認識されず、指標位置を正確に推定することができない。逆に、指標色領域を余裕を持って包含するように認識色領域を大きく設定すると、指標画像中の指標以外の被写体の色を指標色領域として誤認識し、指標位置を正確に推定することができない。
【０００７】
さらには、指標画像中に指標と同じ色領域を持つ被写体が存在すると、それを指標として誤認識して指標の位置を求めることができない場合もありうる。
【０００８】
以上より、認識色領域の設定においては、作業者の経験・慣れを必要とする上、十分経験を積んだ作業者であって、繰り返し作業が必要となることが多く、時間と労力がかかるものであった。
【０００９】
本発明は以上の問題に鑑みてなされたものであり、指標の認識色をより簡便に設定する為の技術を提供することを目的とする。
【００１０】
また、光学的条件や撮像タイミングによって変化する指標色領域に対して、十分かつ誤認識の少ない認識色領域を設定することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１２】
即ち、現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像を表示する第１の表示工程と、
前記第１の表示工程で表示した画像の全部、若しくは一部における色領域を示す色領域画像を表示する第２の表示工程と、
前記第１の表示工程で表示した画像から、前記色領域画像のうち選択された部分に相当する色領域内の色を有する画素を抽出する抽出工程と、
前記抽出工程で抽出した画素群を表示する第３の表示工程と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１４】
即ち、現実空間の画像を取得する取得手段と、
前記取得手段で取得した画像を表示する第１の表示手段と、
前記第１の表示手段が表示した画像の全部、若しくは一部における色領域を示す色領域画像を表示する第２の表示手段と、
前記第１の表示手段が表示した画像から、前記色領域画像のうち選択された部分に相当する色領域内の色を有する画素を抽出する抽出手段と、
前記抽出手段によって抽出した画素群を表示する第３の表示手段と
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明の構成によれば、指標の認識色をより簡便に設定することができる。
【発明を実施するための最良の形態】
【００１６】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１７】
［第１の実施形態］
先ず、マーカに基づく位置姿勢校正の処理の概略について説明する。
【００１８】
図２８は、位置・姿勢情報算出処理の概略構成を示すブロック図である。
【００１９】
画像認識部３１０は画像情報１０５から位置の指標（例えば予め定めた色や形を有する領域）を検出する。位置姿勢計測部３２０は、センシング部から受けた計測情報１０６（少なくとも計測対象物の位置及び／又は姿勢に関する情報を含み、必要に応じて実写映像、マスク情報を含む）を基準座標系における位置姿勢を表す４ｘ４の行列に変換する。位置姿勢補正部３３０は、画像認識部３１０が出力する指標情報１１２に応じて計測情報１０６を補正し、位置・姿勢情報として出力する。
【００２０】
ここで、センシング部として磁気センサ（例えばPolhemus社の3SPCACE FASTRAKやAscension Technology社のFlock of Birdsなど）を利用した場合の動作を記述する。このような６自由度センサの計測値を、そのまま計測対象物（ここではＨＭＤに内蔵されたカメラ）の位置姿勢として仮想物体を描画、合成すると、センサの誤差が原因となって、実写映像と、計測値を元に計算した仮想物体の位置とが大きくずれて、合成画像の現実感が失われてしまう場合がある。例えば、位置姿勢計測用のセンサとして磁気センサを用いた場合、計測値は周囲の磁場に影響されるので、計測部（ＨＭＤ）近辺に金属があると誤差が大きくなり、位置ずれ量も増える。
【００２１】
このようなセンサ計測値の誤差を補正し、位置合わせ精度を向上させるため、現実空間中に存在する、或いは現実空間中に配置した指標を画像認識部３１０で認識し、その情報を用いて位置姿勢補正部３３０が補正された位置姿勢計測情報を求める。
【００２２】
ここでは、既知の座標に配置された特定色の領域を指標として用いる場合の画像認識部３１０の動作について説明する。
【００２３】
画像認識部３１０は、撮像部により撮像された画像中から特定色の領域を検出する。検出された特徴領域は、個々にラベル付けされる。ラベル付けされた領域の重心位置を指標の２次元位置とし、観測画像座標系における指標位置（ｘj、ｙj）が算出される。ただし、撮像画像の中に指標以外の赤い物体が存在していたり、カメラノイズが生じたりすることで、指標だと誤判断する場合もある。ゆえに、ここで算出する指標位置（ｘj、ｙj）は指標候補位置とし、指標の判別は位置姿勢補正部３３０で行う。
【００２４】
図２９は、図２８における位置姿勢補正処理を説明するフローチャートである。
【００２５】
まず、ステップＳ１０００では、位置姿勢計測部３２０から撮像部の位置姿勢を取得し、基準座標系上の原点との相対関係からカメラのビューイング変換行列Msを求める。次に、ステップＳ１０１０において、画像認識部３１０によって得られた各指標の基準座標系上での３次元位置と、既知であるカメラの理想的透視変換行列と、ステップＳ１０００で求めたビューイング変換行列Msを用いて各指標の観測座標における２次元位置（ｘi’、ｙi’）を求める。この２次元位置（ｘi’、ｙi’）はセンシング部の出力である指示部の位置姿勢から求めた各指標の３次元位置を観測画像座標系に変換した予測値である。
【００２６】
次に、ステップＳ１０２０では、画像認識部３１０で検出された指標候補位置（ｘj、ｙj）とセンシング部による観測画像座標系での予測値（ｘi’、ｙi’）との２次元平面上での距離を計算し、個々の予測値に一番近い指標候補位置を予測値に対応する２次元指標位置だと判断し、指標検出により得た指標の２次元位置（ｘi、ｙi）とする。
【００２７】
ステップＳ１０３０ではこの予測値と検出値とのずれを解消するための補正行列ΔMaを算出する。このΔMaは各指標予測位置（ｘi’、ｙi’）が撮像画像上での各指標位置に一致するようにセンシング部の出力値を３次元空間上で補正する補正行列である。
【００２８】
例えば、この補正行列ΔMaは以下のように算出する。まず、撮像面上での指標１を特定しｐ１とし、センシング部の出力値から算出した撮像面上での指標１’の位置ｐ１’とする。ここで、観測座標系の原点Ｃからｐ１、ｐ１’を終点とするベクトルをそれぞれｖ１、ｖ１’とする。このとき、２次元の撮像画像上でｐ１’がｐ１に重なるような３次元空間である観測座標系上での変換は、ｖ１とｖ１’とをそれぞれ単位ベクトルに変換したあと、２つの単位ベクトルの外積によって求められるベクトルｘ１(ｕｘ,ｕｙ,ｕｚ)を回転軸とし、ｖ１とｖ１’の内積によって求められる、２つのベクトルがなす角θ１によってセンシング部の出力を回転補正する変換となる。すなわちこの回転変換が補正行列ΔMaとなる。補正行列ΔMaは以下の式で表される。
【００２９】
【数１】
2006285790.tif 000003
【００３０】
最後に、ステップＳ１０４０で、ステップＳ１０３０で求めた補正行列ΔMaとステップＳ１０００で求めたカメラのビューイング変換行列Msとを積算することにより、基準座標系上における補正後の位置姿勢Ma（位置姿勢情報）を求める。関係式を以下に示す。
【００３１】
Ｍａ＝ΔＭａ・Ｍｓ
ここで、撮像画像上に指標１が検出できない場合は、補正処理を終了し、センシング部の出力から得られた位置姿勢を最終的な位置姿勢情報とする。この位置姿勢Maを用いて仮想物体を描画することで、意図する位置に仮想物体を表示することができ、センシング部の計測のみを用いる場合よりも高精度に計測対象物（ここではＨＭＤ）の位置姿勢を求めることができる。
【００３２】
＜システム構成＞
先ず、本実施形態に係るシステムの構成について説明する。図１は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、画像処理装置１００、撮像装置１６０、表示装置１７０により構成されている。以下、各装置について説明する。
【００３３】
先ず、画像処理装置１００について説明する。画像処理装置１００は、例えば一般のＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）などにより構成されており、同図に示す如く、ＣＰＵ１１０、メモリ１２０、ＨＤＤ（ハードディスクドライブ装置）１３０、画像取得部１４０、画像生成部１５０、キーボード１８０、マウス１９０により構成されている。
【００３４】
ＣＰＵ１１０は、メモリ１２０にロードされたプログラムやデータを用いて画像処理装置１００全体の制御を行うと共に、画像処理装置１００が行う後述の各処理を実行する。
【００３５】
メモリ１２０は、ＨＤＤ１３０からロードされたプログラムやデータを一時的に記憶するためのエリア、画像取得部１４０によって撮像装置１６０から取得した画像データを一時的に記憶するためのエリア、ＣＰＵ１１０が各種の処理を実行する際に用いるワークエリアなど、各種のエリアを適宜提供することができる。
【００３６】
ＨＤＤ１３０は、ＯＳ（オペレーティングシステム）や、認識色領域設定プログラム２００、認識色領域設定プログラム２００を動作させるために必要なデータ群等を保存するものであり、これらはＣＰＵ１１０による制御に従って適宜メモリ１２０にロードされ、ＣＰＵ１１０による処理対象となる。認識色領域設定プログラム２００については後述する。
【００３７】
キーボード１８０、マウス１９０は、画像処理装置１００を操作するユーザが操作することで、各種の指示をＣＰＵ１１０に対して入力するためのものである。
【００３８】
画像取得部１４０は、撮像装置１６０から順次送出される各フレームの画像（現実空間画像）を受け、これを認識色領域設定プログラム２００で扱うことのできるデータ形式に変換して、順次メモリ１２０、若しくはＨＤＤ１３０に転送する。
【００３９】
画像生成部１５０は、表示装置１７０に表示するための画面を生成するものであり、例えば、ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで表示装置１７０に表示されるＧＵＩの画面もまた、この画像生成部１５０によって生成される。
【００４０】
次に、撮像装置１６０について説明する。撮像装置１６０は、複数の指標が配された現実空間の動画像を撮像するものであり、撮像した各フレームの画像は画像処理装置１００が有する画像取得部１４０に送出する。
【００４１】
次に、表示装置１７０について説明する。表示装置１７０は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１１０による処理結果を画像や文字などでもって表示することができる。例えば、ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで表示される後述のＧＵＩ画面を表示する。
【００４２】
＜認識色領域設定プログラム２００について＞
次に、認識色領域設定プログラム２００について説明する。認識色領域設定プログラム２００は、指標の所属する座標系、位置、認識色領域といった指標情報を編集し、編集結果を所定の書式のファイル（指標情報ファイル）として生成したり、既存の指標情報ファイルを読み出したりするためのプログラムである。以下の説明では、本実施形態の主旨である認識色領域設定の部分について重点をおいて説明し、それ以外の編集機能については軽く触れる程度に止めるものとする。
【００４３】
指標情報ファイルは、ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで画像生成部１５０が生成し、表示装置１７０に表示されるＧＵＩを、ユーザがキーボード１８０やマウス１９０を用いて操作することで編集することができる。
【００４４】
そして、編集された指標情報ファイルは、ユーザがキーボード１８０やマウス１９０を用いてＣＰＵ１１０に対して指示することで、ＣＰＵ１１０によってＨＤＤ１３０に保存される。また、上記ＧＵＩを介して使用する指標情報ファイルを指示すると、ＣＰＵ１１０は指示された指標情報ファイルをＨＤＤ１３０からメモリ１２０に読み出す。
【００４５】
図２は、上記ＧＵＩの表示例を示す図である。同図のＧＵＩは上述の通り、ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで画像生成部１５０が生成し、表示装置１７０に表示されるものである。なお、以下の説明では特に説明しない限りは、ＧＵＩに対する操作は、ユーザがキーボード１８０やマウス１９０を用いて行うものとし、この操作によって行われる処理は、ＣＰＵ１１０がこの操作を検知し、検知した操作内容に応じた処理を実行することにより成されるものとする。
【００４６】
同図において２１０、２２０はメニューであり、それぞれマウス１９０を用いてクリックすることで、図３、図４のようなメニューリストが表示される。
【００４７】
図３は、「ファイル」メニュー２１０をクリックすることで、表示装置１７０の表示画面上に表示されるメニューの表示例を示す図である。同図において「開く」メニュー２１２は、マウス１９０でもって指示することで、ＨＤＤ１３０に保存されている指標情報ファイルを開き、後述するツリービュー２８０などに展開表示する処理をＣＰＵ１１０に指示するための項目である。「保存」メニュー２１４は、マウス１９０でもって指示することで、編集中の指標情報を指標情報ファイルとしてＨＤＤ１３０に保存する処理をＣＰＵ１１０に指示するための項目である。「終了」メニュー２１６は、マウス１９０でもって指示することで、認識色領域設定プログラム２００を終了する処理をＣＰＵ１１０に指示するための項目である。
【００４８】
図４は、「編集」メニュー２２０をクリックすることで、表示装置１７０の表示画面上に表示されるメニューの表示例を示す図である。同図において「座標系の新規作成」メニュー２２２は、マウス１９０でもって指示することで、ツリービュー２８０でマウスクリックにより選択され反転色となっている座標系の子座標系を新たに作成する処理を、ＣＰＵ１１０に指示するための項目である。ツリービュー２８０では、座標系を示すノード（座標系アイコンおよび座標系の名前）が追加される。
【００４９】
例えば、ツリービュー２８０が図１４に示す如く、座標系ｗｏｒｌｄが選択されている状態であった場合に、「座標系の新規作成」メニュー２２２を指示すると、図１５に示す如く、座標系ｗｏｒｌｄの子座標系として新しく座標系「ＮｅｗＣｏｏｒｄＳｙｓ」が作成され、ツリービュー２８０に表示される。図１４，１５は、座標系を示すノードの追加を説明する図である。
【００５０】
この子座標系をツリービューで選択して親座標系から見た位置姿勢を入力する必要があるが、それについては以下の説明の趣旨ではないので、説明は割愛する。
【００５１】
図４に戻って、「指標の新規作成」メニュー２２４は、マウス１９０でもって指示することで、ツリービュー２８０でマウスクリックにより選択され反転色となっている座標系に所属する指標を新規作成する処理を、ＣＰＵ１１０に指示するための項目である。ツリービュー２８０には指標を示すノード（指標アイコンおよび指標の名前）が追加される。指標の名前、位置、認識色領域の設定方法は後述する説明から理解可能と考える。
【００５２】
「削除」メニュー２２８は、マウス１９０でもって指示することで、マウスクリックにより選択され反転色となっている座標系や指標を削除する処理をＣＰＵ１１０に指示するための項目である。削除指示されたノードはツリービュー２８０から削除され、座標系が削除された場合は、その座標系に所属するすべての座標系、指標も同時に削除される。
【００５３】
図２に戻って、２８０は、上記指標情報ファイルで管理されている座標系、指標のツリー構造をグラフィカルに表示するツリービューである。同図では、定義されている座標系と指標が、ツリー構造により階層的に表示されている。より詳しくは、ｗｏｒｌｄという名前の座標系（＝世界座標系）と、Ｍａｒｋｅｒ０１という名前の指標が定義されており、座標系ｗｏｒｌｄの下に、指標Ｍａｒｋｅｒ０１が所属している。
【００５４】
２３０〜２３８はツリービュー２８０で選択されている指標の指標情報を入出力するテキストボックスである。指標名２３０は指標の名前であり、指標を識別するために使用される識別情報である。なお、指標名には任意の名前を用いてよいことは言うまでもない。指標位置２３２は指標の所属する座標系における三次元位置である。
【００５５】
輝度２３４、中心２３６、直径２３８は、後述する楕円カーソル２５２を定義するパラメータである。本実施形態では、撮像装置１６０によって取得された画像中に写っている指標を抽出するために認識すべき色域（認識色領域）を、ＹＣｂＣｒ色空間（輝度Ｙが８ビット、色差Ｃｂが８ビット、色差Ｃｒが８ビット）におけるＹ軸方向を高さ、ＣｂＣｒ平面上の楕円（楕円カーソル２５２）を底面とする楕円柱でもって決定する。この楕円（楕円カーソル２５２）の長径は、その延長線が必ずＣｂＣｒ平面中心（Ｃｂ＝１２７，Ｃｒ＝１２７）を通るように拘束される。
【００５６】
輝度２３４はＹの最小値、最大値、中心２３６は楕円（楕円カーソル２５２）中心位置、直径２３８は楕円（楕円カーソル２５２）の長径と短径を示している。
【００５７】
ユーザがマウス１９０を用いてこれらの指標情報を編集し、「保存」メニュー２１４を指示すると、ＣＰＵ１１０はこれを検知して、編集された指標情報を指標情報ファイルに反映し、ＨＤＤ１３０に保存する。
【００５８】
２５０は色空間画像表示領域であり、実写画像全体を構成するそれぞれの画素の色の分布、若しくは実写画像の選択領域を構成するそれぞれの画素の色の分布をＹＣｂＣｒ色空間で表現し、輝度２３４で設定されている範囲の輝度Ｙを持つ画素を輝度Ｙ＝１２８のＣｂＣｒ平面への射影した色空間画像２５４が表示される。横軸が色差Ｃｂ、縦軸が色差Ｃｒである。
【００５９】
色空間画像表示領域２５０はまた、認識色領域の設定用の領域でもある。認識色領域の一部の指定（Ｃｂ値とＣｒ値の範囲）を楕円カーソル２５２で囲まれた領域で行うことができる。楕円カーソル２５２の中心と円周上の制御点をマウス１９０でドラッグすることで、位置、形状、寸法を変更することが可能である。また中心２３６、直径２３８と同期しており、楕円カーソル２５２を操作すると、中心２３６、直径２３８の値が変化し、中心２３６、直径２３８の値を変更すると楕円カーソル２５２の位置、形状、寸法が変化する。
【００６０】
２６０は実写画像表示領域であり、撮像装置１６０が撮影した各フレームの画像が順次表示される領域である。実写画像表示領域２６０はまた、実写画像選択領域を設定する領域でもある。実写画像表示領域２６０内に表示されている画像上の選択したい領域をマウス１９０でドラッグすることで領域が選択される。選択された領域の枠線は図５に示す如く、実写画像表示領域上に重畳表示される。同図では、５０１が枠線を示す。図５は、実写画像表示領域２６０内の所望の領域を選択した場合の表示例を示す図である。
【００６１】
２７０は抽出画像表示領域であり、実写画像表示領域２６０内に表示されている実写画像全体、若しくは実写画像の選択領域において認識色領域の色で示される画素を検出し、検出した画素を認識色領域の代表色で表示する。なお認識色領域における輝度の範囲は、輝度２３４によって設定される。また認識色領域の代表色は、輝度（Ｙ）が１２８の時の、認識色領域を示す楕円カーソル２５２の中心の色（色差Ｃｂ、色差Ｃｒ）である。
【００６２】
図６〜８にその様子を示す。図６は実写画像表示領域２６０、図７は図６の実写画像表示領域２６０内の実写画像に対する色空間画像表示領域２５０を示す図で、図７に示す如く、図６の実写画像に対する色空間画像２５４と認識色領域設定用の楕円カーソル２５２とが重畳表示されている。図８は、図７に示す設定内容に基づいて図６に示した実写画像から抽出した抽出画像を示す図で、より詳しくは、図６の実写画像から、楕円カーソル２５２と輝度２３４で決定される楕円柱が占める部分の色を有する画素群を抽出したものが、抽出画像として抽出画像表示領域２７０内に表示されている。
【００６３】
また、抽出画像表示領域２７０を用いて、実写画像表示領域２６０と同様に、実写画像選択領域を設定することができる。
実写画像表示領域２６０または抽出画像表示領域２７０において選択された選択領域の枠は、図９に示されるように、実写画像表示領域２６０および抽出画像表示領域２７０の両方に表示される。
【００６４】
色空間画像２５４は、実写画像選択領域内の画像データに基づき計算される。図１０は、図９に示したように領域選択した場合の色空間画像２５４の様子を示す図である。なお、領域が選択されて無い場合は実写画像全体が入力として計算される。図１１は、図９で示される実写画像の撮影時において領域を選択して無い場合の色空間画像２５４の様子を示す図である。
【００６５】
次に、ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで行われる処理、即ち、指標の認識色領域を設定する処理を含む一連の処理について、同処理のフローチャートを示す図１２を用いて以下説明する。
【００６６】
なお、同図のフローチャートに従った処理をＣＰＵ１１０に実行させるためのプログラムやデータはＨＤＤ１３０に保存されており、これは適宜ＣＰＵ１１０による制御に従ってメモリ１２０にロードされ、ＣＰＵ１１０がこれを用いて処理を実行することで、画像処理装置１００は以下説明する各処理を実行することになる。
【００６７】
なお、以下説明する処理の前段では、メモリ１２０には認識色領域設定プログラム２００がロードされていると共に、表示装置１７０の表示画面上には、図２に例示するようなＧＵＩが表示されているものとする。
【００６８】
ユーザがキーボード１８０やマウス１９０を用いてツリービュー２８０内に表示されている所望の指標を選択すると、ＣＰＵ１１０はその旨を検知し、メモリ１２０に記憶されていたその指標の名前、位置、輝度、色領域を示す楕円の中心座標位置、楕円の長径および短径の情報を読み出し、それぞれテキストボックス２３０〜２３８に出力する。また楕円カーソル２５２の表示が中心２３６、直径２３８に従って更新される。
【００６９】
このような場合に、ステップＳ１５０２では、ユーザによって、キーボード１８０やマウス１９０を用いて、楕円の中心位置２３６、直径２３８に対する入力が行われたか否かをチェックする。入力が行われた場合は処理をステップＳ１５０４に進め、中心位置２３６、直径２３８を入力された値に更新する。そして処理をステップＳ１５０８に進め、認識色領域の表示、即ち、楕円カーソル２５２の中心位置や形状といった表示を更新する。
【００７０】
一方、楕円の中心位置２３６、直径２３８に対する入力を行っていない場合には処理をステップＳ１５０６に進め、ユーザがキーボード１８０やマウス１９０を用いて、認識色領域の輝度２３４に対する入力を行ったか否かをチェックする。チェックの結果、入力が成されている場合には処理をステップＳ１５０８に進め、認識色領域を入力された値に従って更新する。
【００７１】
そしてステップＳ１５０８における処理が終了すると、若しくはユーザがキーボード１８０やマウス１９０を用いて、認識色領域の輝度２３４に対する入力を行っていない場合には処理をステップＳ１５１０に進める。
【００７２】
ステップＳ１５１０では、色空間表示領域２５０上の楕円カーソル２５２の中心や円周上の制御点が、マウス１９０によってドラッグされたかをチェックする。ドラッグされていない場合には処理をステップＳ１５１４に進めるのであるが、ドラッグされた場合は処理をステップＳ１５１２に進め、中心２３６、直径２３８を更新する。
【００７３】
ステップＳ１５１４では、実写画像表示領域２６０、抽出画像表示領域２７０がマウス１９０でクリックされたか否かをチェックする。クリックされていない場合は処理をステップＳ１５１８に進める。クリックされている場合には処理をステップＳ１５１６に進め、画像選択領域を解除する。そして処理をステップＳ１５２２に進める。
【００７４】
ステップＳ１５１８では、実写画像表示領域２６０、抽出画像表示領域２７０がマウス１９０でドラッグされたか否かをチェックする。ドラッグされていない場合には処理をステップＳ１５２２に進める。ドラッグされている場合には処理をステップＳ１５２０に進め、ドラッグ開始点と終了点位置とを結ぶ線分を対角線とする四角形を選択領域として設定する。
【００７５】
ステップＳ１５２２では、画像取得部１４０が撮像装置１６０から取得した現実空間の画像を、認識色領域設定プログラム２００の管理するメモリ１２０上に取り込み、続いてステップＳ１５２４で、メモリ１２０上に取り込んだ画像を実写画像表示領域２６０に表示する。
【００７６】
次に、ステップＳ１５２６では、ステップＳ１５２０で選択領域が設定されているか否かをチェックする。選択領域が設定されていない場合は、処理をステップＳ１５３０に進める。ステップＳ１５３０では、選択領域が設定されていないので、選択表示枠は重畳表示せず、実写画像全体に対する色分布をＰＹＣｂＣｒ上で計算することにより、色空間画像２５４を生成する。
【００７７】
選択領域が設定されている場合は、処理をステップＳ１５２８に進め、実写画像表示領域２６０と抽出画像表示領域２７０に選択領域枠を重畳表示する。そして処理をステップＳ１５３２に進め、選択領域枠内に相当する実写画像の部分の色分布をＹＣｂＣｒ上で計算することにより、色空間画像２５４を生成する。
【００７８】
ステップＳ１５３４では、ステップＳ１５３０またはステップＳ１５３２で生成された色空間画像２５４を用いて、色空間画像表示領域２５０を更新する。
【００７９】
ステップＳ１５３６では、色空間画像表示領域２５０上に、更に、上記ステップＳ１５０２〜Ｓ１５１２で設定された認識色領域に関する条件に基づく楕円カーソル２５２を重畳表示する。
【００８０】
次に、ステップＳ１５３８では先ず、選択領域枠内に相当する実写画像の部分、若しくは実写画像全体について、認識色領域の色を持つ画素（選択領域枠内に相当する実写画像の部分を構成する画素、若しくは実写画像全体を構成する画素のうち、色空間画像２５４のうち楕円カーソル２５２が占める部分に相当する色域の色を有する画素群）が存在するかをチェックし、存在する場合はその画素を抽出すると共に、認識色領域の代表色を求める。認識色領域の代表色は、輝度（Ｙ）が１２８の時の、認識色領域を示す楕円カーソル２５２の中心の色（色差Ｃｂ、色差Ｃｒ）である。そして、抽出した画素を、求めた認識色領域の代表色でもって描画した抽出画像を作成する。そしてステップＳ１５４０では、ステップＳ１５３８で作成した抽出画像を抽出画像表示領域２７０に表示することで、抽出画像表示領域２７０を更新する。
【００８１】
なお、選択領域枠内に相当する実写画像の部分、若しくは実写画像全体について、認識色領域の色を持つ画素が存在する場合に、この画素の表示色については代表色に限定するものではない。
【００８２】
そしてユーザがキーボード１８０やマウス１９０を用いて認識色領域設定プログラム２００の動作終了指示を入力しない限りは（「終了」メニュー２１６がマウス１９０で選択されない限りは）、ステップＳ１５４２を介してステップＳ１５０２に戻り、以降の処理を繰り返す。
【００８３】
なお、ツリービュー２８０で別の指標アイコンをマウスクリックすると、選択された指標アイコンに対応する指標情報２３０〜２３８、２５０〜２５４、２７０が更新され、以後その指標アイコンに対して上記ステップＳ１５０２〜ステップＳ１５４０の一連の処理が実施される。
【００８４】
＜認識色領域の設定について＞
次に、上記認識色領域設定プログラム２００を実行することにより成される、認識色領域を設定する処理について、図１６〜図１８、図１９〜図２２、図２３〜図２７を用いて説明する。なお各々の図は、同じ時間での色空間画像表示領域２５０、実写画像表示領域２６０、抽出画像表示領域２７０の状態の組合せを示す図である。
【００８５】
図１６〜図１８は、実写画像表示領域２６０での指標色領域選択を行って、認識色領域が設定できた場合の例を示す図である。
【００８６】
図１６は、認識色領域を設定したい指標を撮影した場合の色空間画像表示領域２５０、実写画像表示領域２６０、抽出画像表示領域２７０の表示例を示す図である。実写画像表示領域２６０内には５つの指標が存在するが、ここでは、実写画像中の左上の指標の認識色領域を設定する。
【００８７】
まず、図１７に示す如く、実写画像表示領域２６０から対象となる指標を領域選択する。すると実写画像表示領域２６０内には選択した領域を示す選択枠２３００が重畳表示されると共に、色空間画像表示領域２５０には、領域選択された実写部分を構成する各画素の色の色領域を示す色空間画像２３０１が表示される。また抽出画像表示領域２７０には、実写画像表示領域の選択領域に同期して対応部分に選択枠２３０２が表示される。
【００８８】
続いて、図１８に示す如く、色空間画像表示領域２５０内に表示されている楕円カーソル２３０４をマウス１９０でもってドラッグすることより位置、長径、短径を変更し、色空間画像２３０１を包含するようにする。ここで色空間画像表示領域２５０の中心に近いほど無彩色になるため、中心付近は楕円に含まれないようにしている。すると、抽出画像表示領域２７０には、実写画像に存在する楕円カーソル２３０４で設定される認識色領域が抽出される。結果として領域選択された実写部分の色が抽出画像として抽出画像表示領域２７０内に表示される。
【００８９】
ここで、抽出画像の有色な画素が、実写画像の選択部分内（選択枠２３００内）にのみ存在し、かつ実写画像の対象とする指標部分と一致しているため、対象となる指標の指標色領域（実写画像選択部分）と認識色領域（楕円カーソル）とは一致したと判断し、作業を完了することができる。
【００９０】
なお、色空間画像表示領域２５０は、輝度Ｙ＝１２８のＣｂＣｒ平面への射影をとった領域であるため、抽出画像表示領域２７０に抽出された指標の認識色領域の代表色は、現実指標の色と若干異なっている場合がある。すなわち、ツリービュー２８０上の指標アイコンと、現実指標の色とが若干異なるように見える場合がある。そのような場合は、抽出画像表示領域２７０に抽出された指標の認識色領域の代表色を、現実指標の色に近づけるような色変換処理を施して指標アイコンの色として表示すればよいことは言うまでもない。
【００９１】
また、あらかじめルックアップテーブル（ＬＵＴ）を用意しておき、認識色領域の代表色に対応する色をＬＵＴから検索し、指標アイコンの色として表示すればよいことは言うまでもない。一方、色空間をＹＣｂＣｒの３次元で定義した場合は、ＹｃｂＣｒ空間の中心の色を、指標の認識色領域の代表色、指標アイコンの色として表示すればよいことは言うまでもない。
【００９２】
図１９〜図２２は、実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合の例を示す図である。
【００９３】
図１９は、認識色領域を設定したい指標を撮影した場合の色空間画像表示領域２５０、実写画像表示領域２６０、抽出画像表示領域２７０の表示例を示す図である。ここでは３つの指標が実写画像中に存在するが、実写画像中の下の指標の認識色領域を設定する。
【００９４】
先ず、図２０に示す如く、実写画像表示領域２６０から対象となる指標を領域選択すると、選択した領域には選択枠２６００が表示されると共に、抽出画像表示領域２７０内の対応する領域には選択枠２６０１が表示され、更に、領域選択された実写部分のみが色空間画像２６０２に反映される。
【００９５】
続いて図２１に示す如く、色空間画像表示領域２５０内に表示されている楕円カーソル２６０５をマウス１９０を用いてドラッグすることより、位置、長径、短径を変更し、色空間画像２６０２を包含するようにする。しかし同図に示す如く、色空間画像２６０２のうち、楕円カーソル２６０５が包含する部分が小さいため、対象となる指標の指標色領域（実写画像選択部分）と認識色領域（楕円カーソル）が完全に一致せず、抽出画像が若干欠けてしまっている。
【００９６】
このような場合、図２２に示す如く、対象となる指標の指標色領域と抽出画像領域が一致するように見えるまで楕円カーソル２６０５を試行錯誤的に操作したり、輝度２３４を再設定することを繰り返し行う。
【００９７】
図２３〜図２７は、実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合のもうひとつの例を示す図である。
【００９８】
図２３は、認識色領域を設定したい指標を撮影した場合の色空間画像表示領域２５０、実写画像表示領域２６０、抽出画像表示領域２７０の表示例を示す図である。ここでは３つの指標が実写画像中に存在するが、実写画像中の左の指標の認識色領域を設定する。また、実写画像中には指標以外の物体も含まれており、画像的に外乱の多い環境と言える。
【００９９】
先ず、図２４に示す如く、実写画像表示領域２６０から対象となる指標を領域選択すると、選択した領域には選択枠３０００が表示されると共に、抽出画像表示領域２７０内の対応する領域には選択枠２７０１が表示され、更に、領域選択された実写部分のみが色空間画像３００２に反映される。
【０１００】
続いて図２５に示す如く、色空間画像表示領域２５０内に表示されている楕円カーソル３００５をマウス１９０を用いてドラッグすることより、位置、長径、短径を変更し、色空間画像３００２を包含するようにする。しかし同図に示す如く、実写画像中にＹＣｂＣｒ色空間における指標色領域付近の色が存在するため、抽出画像の有色な画素が、実写画像の選択部分外にも多数存在している。
【０１０１】
このような状態で認識色領域を確定すると、抽出画像の有色な画素を指標として誤認識してしまうため、楕円カーソル３００５を操作して認識色領域を設定しなくてはならない。
【０１０２】
図２６に、楕円カーソル３００５および輝度２３４を操作して、抽出画像において選択部分外に存在する有色な画素を少なくした状態を示す。楕円カーソル３００５を試行錯誤的に操作して、最終的には図１８、図２２に示すように選択部分内にのみ存在しかつ実写画像の対象とする指標部分と一致するようにしなくてはならないが、楕円カーソル３００５の操作のみでは難しい場合もある。
【０１０３】
このような場合には、現実空間に存在する物体を除去して、外乱を実写画像に含まれないようにすることも有効な手段である。しかし人間にとっては実写画像中の何が認識色領域設定のための外乱になるのか、判断することは難しい。それを特定するためには、図２７に示す如く、抽出画像において選択部分外に存在する有色な画素群３０１１を、抽出画像上で領域選択すればよい。実写画像上の選択領域枠と、抽出画像上の選択領域枠は同期しているため、抽出画像上の有色な画素を選択枠３０１０でもって領域選択すれば、抽出元の実写画像部分が領域枠３０１５で囲われる。この実写画像の領域枠３０１５を補助的な情報として、外乱となる現実物体を特定することが容易になる。
【０１０４】
以上の作業を繰り返し行うことで、外乱のない認識色領域の設定を行うことができる。
【０１０５】
以上の説明により、本実施形態によれば、設置場所や光学的条件が変わる際の認識色領域設定作業を容易にし、さらには作業者の指標設置現場での作業工数を減らし、現場の占有時間を短くすることができる。
【０１０６】
また、光学的条件や撮像タイミングによって変化する指標色領域に対し十分かつ誤認識の少ない認識色領域を設定することができる。
【０１０７】
［第２の実施形態］
本実施形態では、認識色領域の決定方法のみが第１の実施形態とは異なる。即ち、本実施形態では、実写画像表示領域２６０内で領域を選択すると、選択領域の中心にある画素の色を求め、その色をＹＣｂＣｒ色空間で表現したときの色差Ｃｂ、色差Ｃｒを楕円カーソル２５２の中心とすることで、楕円カーソル２５２の位置を半自動的に決定する。
【０１０８】
その場合、ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで行われる処理を含む一連の処理のフローチャートは、図１３に示すフローチャートとなる。図１３に示すフローチャートは、図１２に示したフローチャートにおいて、ステップＳ１５２０の次に、以下説明するステップＳ１６２１を加えたのみである。従って、以下では、このステップＳ１６２１における処理のみについて説明する。
【０１０９】
ステップＳ１６２１では、ステップＳ１５２０で選択された領域の中心位置にある画素の色を参照し、参照した色をＹＣｂＣｒ色空間で表現したときの色差Ｃｂ、色差Ｃｒを求め、これを楕円カーソル２５２の中心位置にセットする。
【０１１０】
これにより、より認識色設定の負荷を軽減することができる。
【０１１１】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１１２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施形態に係るシステムのハードウェア構成を示すブロック図である。
【図２】ＧＵＩの表示例を示す図である。
【図３】「ファイル」メニュー２１０をクリックすることで、表示装置１７０の表示画面上に表示されるメニューの表示例を示す図である。
【図４】「編集」メニュー２２０をクリックすることで、表示装置１７０の表示画面上に表示されるメニューの表示例を示す図である。
【図５】実写画像表示領域２６０内の所望の領域を選択した場合の表示例を示す図である。
【図６】実写画像表示領域２６０を示す図である。
【図７】図６の実写画像表示領域２６０内の実写画像に対する色空間画像表示領域２５０を示す図である。
【図８】図７に示す設定内容に基づいて図６に示した実写画像から抽出した抽出画像を示す図である。
【図９】一方の領域の選択に同期して、他方の領域に選択枠が表示される場合の表示例を示す図である。
【図１０】図９に示したように領域選択した場合の色空間画像２５４の様子を示す図である。
【図１１】図９で示される実写画像の撮影時において領域を選択して無い場合の色空間画像２５４の様子を示す図である。
【図１２】指標の認識色領域を設定する処理を含む一連の処理のフローチャートである。
【図１３】ＣＰＵ１１０が認識色領域設定プログラム２００を実行することで行われる処理を含む一連の処理のフローチャートである。
【図１４】座標系を示すノードの追加を説明する図である。
【図１５】座標系を示すノードの追加を説明する図である。
【図１６】実写画像表示領域２６０での指標色領域選択を行って、問題なく認識色領域が設定できた場合の例を示す図である。
【図１７】実写画像表示領域２６０での指標色領域選択を行って、問題なく認識色領域が設定できた場合の例を示す図である。
【図１８】実写画像表示領域２６０での指標色領域選択を行って、問題なく認識色領域が設定できた場合の例を示す図である。
【図１９】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合の例を示す図である。
【図２０】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合の例を示す図である。
【図２１】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合の例を示す図である。
【図２２】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合の例を示す図である。
【図２３】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合のもうひとつの例を示す図である。
【図２４】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合のもうひとつの例を示す図である。
【図２５】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合のもうひとつの例を示す図である。
【図２６】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合のもうひとつの例を示す図である。
【図２７】実写画像表示領域２６０での指標色領域選択を行って、認識色領域の設定に試行錯誤をした場合のもうひとつの例を示す図である。
【図２８】位置・姿勢情報算出処理の概略構成を示すブロック図である。
【図２９】図２８における位置姿勢補正処理を説明するフローチャートである。
【図１】
2006285790.tif 000004
【図２】
2006285790.tif 000005
【図３】
2006285790.tif 000006
【図４】
2006285790.tif 000007
【図５】
2006285790.tif 000008
【図６】
2006285790.tif 000009
【図７】
2006285790.tif 000010
【図８】
2006285790.tif 000011
【図９】
2006285790.tif 000012
【図１０】
2006285790.tif 000013
【図１１】
2006285790.tif 000014
【図１２】
2006285790.tif 000015
【図１３】
2006285790.tif 000016
【図１４】
2006285790.tif 000017
【図１５】
2006285790.tif 000018
【図１６】
2006285790.tif 000019
【図１７】
2006285790.tif 000020
【図１８】
2006285790.tif 000021
【図１９】
2006285790.tif 000022
【図２０】
2006285790.tif 000023
【図２１】
2006285790.tif 000024
【図２２】
2006285790.tif 000025
【図２３】
2006285790.tif 000026
【図２４】
2006285790.tif 000027
【図２５】
2006285790.tif 000028
【図２６】
2006285790.tif 000029
【図２７】
2006285790.tif 000030
【図２８】
2006285790.tif 000031
【図２９】
2006285790.tif 000032