(57)【要約】【課題】  現実空間を撮像するカメラの位置姿勢を測定するための指標を、画像中から簡便に識別する為の技術を提供すること。【解決手段】  指標が配された現実空間の画像から検出した指標の候補領域の明度、及び面積を求め（Ｓ４２０）、求めた明度、面積に基づいて、候補領域が指標に対応する領域であるかを識別する（Ｓ４４０）。【選択図】  図４
2006318096.tif 000002
【特許請求の範囲】
【請求項１】
指標が配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像から、前記指標の候補領域を検出する検出工程と、
前記検出工程で検出した候補領域から複数の情報を求める処理工程と、
前記候補領域が前記指標に対応する領域である場合の複数の情報間の関係式と、前記処理工程で求めた複数の情報とに基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別工程と
を備えることを特徴とする画像処理方法。
【請求項２】
指標が配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像から、前記指標の候補領域を検出する検出工程と、
前記検出工程で検出した候補領域の明度、及び面積を求める処理工程と、
前記処理工程で求めた明度、面積に基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別工程と
を備えることを特徴とする画像処理方法。
【請求項３】
前記識別工程では、前記処理工程で求めた明度と面積との関係が所定の関係を満たすかを判断し、満たす場合には、前記候補領域は前記指標に対応する領域であると識別することを特徴とする請求項２に記載の画像処理方法。
【請求項４】
更に、
１つの指標が配された現実空間の画像であって、当該画像上で当該１つの指標に対応する領域が検出可能な画像を取得する第２の取得工程と、
前記第２の取得工程で取得した画像から、前記１つの指標に対応する領域を検出する第２の検出工程と、
前記第２の検出工程で検出した領域の明度Ｉ、及び面積Ｓを求める第２の処理工程と、
前記第２の処理工程で求めた明度Ｉと面積Ｓとの比Ｓ／Ｉをａとしてメモリに格納する格納工程と
を備え、
前記識別工程では、
前記処理工程で求めた明度Ｉ’と前記ａとの積ａＩ’を求め、前記処理工程で求めたサイズＳ’と当該積ａＩ’との比Ｓ’／ａＩ’が所定範囲内であれば、前記候補領域は前記指標に対応する領域であると識別することを特徴とする請求項３に記載の画像処理方法。
【請求項５】
指標ｉ（ｉ＝１，２，，，Ｎ）が配された現実空間の画像ｉであって、当該画像ｉ上で当該指標ｉが検出可能な画像ｉを取得する処理を第２の取得工程と、
前記第２の取得工程で取得した画像ｉから、前記指標ｉに対応する領域ｉを検出する第２の検出工程と、
前記第２の検出工程で検出した領域ｉの明度Ｉｉ、及び面積Ｓｉを求める第２の処理工程と、
前記第２の処理工程で求めた明度Ｉｉと面積Ｓｉとの比Ｓｉ／Ｉｉをａｉとしてメモリに格納する格納工程と
を備え、
前記検出工程では、前記取得工程で取得した画像から指標の候補領域ｊ（ｊ＝１，２，，，Ｍ）を検出し、
前記処理工程では、候補領域ｊの明度Ｉ’ｊ、及び面積Ｓ’ｊを求め、
前記識別工程では、
ａｉと、明度Ｉ’ｊとの積ａｉ×Ｉ’ｊを求め、面積Ｓ’ｊと当該積との比Ｓ’ｊ／（ａｉ×Ｉ’ｊ）が所定範囲内であれば、候補領域ｊは、指標ｉに対応する領域であると識別することを特徴とする請求項３に記載の画像処理方法。
【請求項６】
前記指標は自発光することを特徴とする請求項１乃至４の何れか１項に記載の画像処理方法。
【請求項７】
前記画像ｉは、前記指標ｉのみが発光した状態の現実空間の画像であることを特徴とする請求項５に記載の画像処理方法。
【請求項８】
指標が配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像から、前記指標の候補領域を検出する検出手段と、
前記検出手段が検出した候補領域から複数の情報を求める処理手段と、
前記候補領域が前記指標に対応する領域である場合の複数の情報間の関係式と、前記処理手段が求めた複数の情報とに基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別手段と
を備えることを特徴とする画像処理装置。
【請求項９】
指標が配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像から、前記指標の候補領域を検出する検出手段と、
前記検出手段が検出した候補領域の明度、及び面積を求める処理手段と、
前記処理手段が求めた明度、面積に基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
コンピュータに請求項１乃至７の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の指標を識別するための技術に関するものである。
【背景技術】
【０００２】
以下に３つの従来技術について説明する。
【０００３】
［従来技術１］
現実空間を撮像するカメラなどの撮像部（以下適宜カメラと言い換える）の位置姿勢計測は、例えば現実空間と仮想空間とを融合表示する複合現実感システムにおいて必要となる。このような従来技術として、特許文献１、２、及び非特許文献１に開示されているように、現実空間に配置した位置が既知のマーカ、または現実空間中の位置が既知の特徴点（以下、マーカと特徴点を合わせて指標という）を用いて、カメラの位置姿勢を測定する位置姿勢センサの計測誤差を補正する方法がある。
【０００４】
言い換えると、これらの方法は、カメラの位置姿勢を測定する位置姿勢センサと、カメラで撮像した指標とを利用して、カメラの位置姿勢を推定する方法である。このような方法で利用される指標としては、色領域の重心や同心円等がある。
【０００５】
また、指標は同時に複数利用されることが多いが、カメラが撮像した画像から検出した指標が、現実空間に複数個配置した指標のどれに対応するのかを求める手段のひとつとして、画像から検出した指標の座標と、指標の絶対位置を位置姿勢センサの計測値を基にして投影して得られる、画像面上での指標の座標との間の関係を利用することが知られている。
【０００６】
［従来技術２］
一方で、非特許文献２、３に開示されているように、位置姿勢センサを用いず、カメラで撮像した指標のみを利用してカメラの位置姿勢推定を行う方法も知られている。そして、これら非特許文献２，３においては、正方形の指標を利用し、正方形の４頂点の座標を基にして、カメラの位置姿勢を推定している。ただし、正方形はその中心点（対角線の交点）を通り、面に垂直な軸を回転軸とした９０°毎の回転対称形であることから、頂点の座標からだけでは正方形の上下左右の判定を行うことができない。
【０００７】
そのため、正方形の指標内部に、上下左右の判定を行うためのさらなる画像特徴が設けられている。さらに、指標を複数利用する場合に、カメラで撮像した画像のみに基づいて複数の指標のどれを捉えているのかを識別する必要があるため、指標の内部にはさらに指標毎に異なる固有のパターンや符号などの図形情報が埋め込まれている。
【０００８】
［従来技術３］
また、特許文献３において開示されているように、現実空間に配置した位置姿勢が既知の複数の撮像部によって、対象物上での位置が既知の複数の指標を撮像して、対象物の位置姿勢を推定する方法が知られている。この特許文献３においては、検出した指標が複数の指標のどれに対応するのかを求める手段として、指標となるＬＥＤ毎に発光タイミングを制御することが行われている。
【特許文献１】特開平１１−０８４３０７号公報
【特許文献２】特開２０００−０４１１７３号公報
【特許文献３】ＵＳＰ５２４９５８１
【非特許文献１】Ａ．  Ｓｔａｔｅ，  Ｇ．  Ｈｉｒｏｔａ，  Ｄ．  Ｔ．  Ｃｈｅｎ，  Ｂ．  Ｇａｒｒｅｔｔ，  ａｎｄ  Ｍ．  Ｌｉｖｉｎｇｓｔｏｎ：  Ｓｕｐｅｒｉｏｒ  ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ  ｒｅｇｉｓｔｒａｔｉｏｎ  ｂｙ  ｉｎｔｅｇｒａｔｉｎｇ  ｌａｎｄｍａｒｋ  ｔｒａｃｋｉｎｇ  ａｎｄ  ｍａｇｎｅｔｉｃ  ｔｒａｃｋｉｎｇ，  Ｐｒｏｃ．  ＳＩＧＧＲＡＰＨ  ’９６，  ｐｐ．４２９−４３８，  Ｊｕｌｙ  １９９６．
【非特許文献２】加藤, Billinghurst, 浅野, 橘: マーカー追跡に基づく拡張現実感システムとそのキャリブレーション, 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-616, Dec. 1999.
【非特許文献３】Ｘ．  Ｚｈａｎｇ，  Ｓ．  Ｆｒｏｎｚ，  Ｎ．  Ｎａｖａｂ：  Ｖｉｓｕａｌ  ｍａｒｋｅｒ  ｄｅｔｅｃｔｉｏｎ  ａｎｄ  ｄｅｃｏｄｉｎｇ  ｉｎ  ＡＲ  ｓｙｓｔｅｍｓ：  Ａ  ｃｏｍｐａｒａｔｉｖｅ  ｓｔｕｄｙ，  Ｐｒｏｃ．  ｏｆ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｍｉｘｅｄ  ａｎｄ  Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ  （ＩＳＭＡＲ’０２），  ２００２．
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記従来技術１として説明したカメラの位置姿勢推定方法において、ある特定の色の小さな円形のシート状の物体を指標とすることができる。この場合、指標のもつ情報は、３次元位置（座標）と色である。位置姿勢センサの計測値を利用し、指標の３次元位置をカメラの画像面へと投影し、一方で、画像からその指標の色を検出する色領域検出処理を行い、画像中での重心位置を計算する。そして、画像面上へ投影した３次元位置と、画像から計算した重心位置を比較し、例えば最も近いものを同じ指標であると判定することによって、画像中の指標を同定することができる。
【００１０】
このように、色領域検出によって画像中から指標を検出する場合、カメラが撮像するであろう現実空間の中に、指標以外に指標と同じ色が存在してはならないという前提がある。
【００１１】
このような問題を防止するため、同心円状に配置した異なる色の組み合わせからなる指標を用い、色領域検出を行った後に色の組み合わせを調べ、組み合わせの正しい領域のみを指標として検出する方法もある。この場合、単色の指標を用いた場合に比べ、背景の一部を誤って指標であると検出してしまう可能性が低くなる。
【００１２】
しかしながら、色領域検出を利用して安定した指標検出を行うために、指標の色は目立つ色に設定されることが多く、さらに同心円上に異なる色を組み合わせる場合には、同心円を安定的に検出するために画像中で十分大きく撮像されねばならない。すなわち、現実空間中に大きく、かつ、見た目を損ねる指標を配置する必要が生じる。しかし、現実空間にそのような指標を配置することが許されない場合があったり、現実空間の見栄えを悪くするという点で依然として問題があった。
【００１３】
一方で、上記従来技術２で利用されている正方形マーカのような図形的な拡がりのある指標を利用する方法がある。しかしながら、従来技術２では完全に画像のみから個々のマーカを識別する必要が生じるため、指標に符号情報やテンプレートとなりうる記号情報などを埋め込む必要があった。図９は、非特許文献２および非特許文献３にて開示されている、従来技術２で利用されている具体的な正方形マーカの一例を示す図である。
【００１４】
同図に示すような複雑な構造をもつ指標を撮像画像から検出しなければならないため、撮像画像面の中で十分に大きな面積を占めるように指標を捉えなければ、指標の認識ができないという問題があった。これは換言すれば、現実空間の広い領域を指標配置のために確保しなければならないこと、あるいは、カメラが指標に十分に近づかなければならないということを意味する。または、指標の配置条件が厳しいという問題と言い換えることができる。
【００１５】
指標の大きさを抑えつつ個々の指標を識別するには、従来技術３で利用されているＬＥＤのように、時分割で発光タイミングを制御することが可能な指標を利用する方法がある。しかしながら、このような方法には、指標の他に発光体や反射体が存在する場合に、それらを指標と誤って判定してしまうという問題があった。
【００１６】
ここで、その一例として、図２に示すように、背景となる空間に指標の他にも発光体が存在する場合を例にして説明する。図２は、指標の他に発光体が存在するような現実空間の例を示す図である。
【００１７】
利用する指標２０５は現実物体２０４上に配置されている。なお、指標２０５は、例えば赤外光を発光する球体であるとする。また、窓２０３からは赤外光を含む光が差し込んでいるとする。この状態で赤外カメラ２０１が可視光カット（赤外光透過）フィルタ２０２を通して撮像した画像が、図３に示すような画像であったとする。
【００１８】
図３は、図２に示す赤外カメラ２０１により撮像された画像を示す図である。同図に示す如く、画像から指標２０５の明度に相当する領域を検出する明度領域検出処理を行うと、指標２０５に対応する領域３０１のみならず、窓２０３に対応する領域３０２もまた指標２０５の明度に相当する領域として検出される可能性がある。このような場合には、指標２０５が領域３０１に対応するのか、それとも領域３０２に対応するのか、判定することができないという問題があった。
【００１９】
このように、撮像される空間内に、指標と同じか又は似通った明度をもつ物体が存在すると、それを指標と誤って認識してしまう場合があるという問題点があった。
【００２０】
また、従来技術３の方法は、複数の指標を識別するために、発光タイミングの制御機構や高速度カメラが必要であるため、コストがかかるという問題があった。
【００２１】
本発明は以上の問題に鑑みて成されたものであり、画像中の指標を簡便に識別する為の技術を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００２３】
即ち、指標が配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像から、前記指標の候補領域を検出する検出工程と、
前記検出工程で検出した候補領域から複数の情報を求める処理工程と、
前記候補領域が前記指標に対応する領域である場合の複数の情報間の関係式と、前記処理工程で求めた複数の情報とに基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別工程と
を備えることを特徴とする。
【００２４】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００２５】
即ち、指標が配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像から、前記指標の候補領域を検出する検出工程と、
前記検出工程で検出した候補領域の明度、及び面積を求める処理工程と、
前記処理工程で求めた明度、面積に基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別工程と
を備えることを特徴とする。
【００２６】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００２７】
即ち、指標が配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像から、前記指標の候補領域を検出する検出手段と、
前記検出手段が検出した候補領域から複数の情報を求める処理手段と、
前記候補領域が前記指標に対応する領域である場合の複数の情報間の関係式と、前記処理手段が求めた複数の情報とに基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別手段と
を備えることを特徴とする。
【００２８】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００２９】
即ち、指標が配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像から、前記指標の候補領域を検出する検出手段と、
前記検出手段が検出した候補領域の明度、及び面積を求める処理手段と、
前記処理手段が求めた明度、面積に基づいて、前記候補領域が前記指標に対応する領域であるかを識別する識別手段と
を備えることを特徴とする。
【発明の効果】
【００３０】
本発明の構成により、指標と、画像中から検出された指標候補領域との対応付けを行う際に、指標と似た明度の領域が現実空間に存在し、その領域が指標候補領域として検出された場合であっても、指標を正しく識別することができる。
【発明を実施するための最良の形態】
【００３１】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００３２】
［第１の実施形態］
本実施形態では、１つの指標が配されている現実空間の画像を取得した場合に、この画像から検出した指標候補領域（指標とおぼしき領域）のうち、指標に対応する領域を同定するのであるが、その同定には、この指標候補領域の明度、及び面積を用いる。以下、この同定処理について詳細に説明する。
【００３３】
図１は、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、カメラ１０１とコンピュータ１００とで構成されている。
【００３４】
先ず、カメラ１０１について説明する。カメラ１０１は、例えばＣＣＤやＣＭＯＳセンサを撮像素子として有するビデオカメラであり、１つの指標が配された現実空間の画像を撮像する。撮像した画像（撮像画像）は、後段のコンピュータ１００に出力する。本実施形態では、図２に示すように、赤外光を撮像できるカメラ２０１に可視光カット（赤外光透過）フィルタ２０２を取り付けて使用する。なお、可視光カット（赤外光透過）フィルタ２０２は取り付けなくてもよい。また、本実施形態で用いる指標には、図２に示すように、赤外光を発光する球形の指標２０３を用いる。
【００３５】
次に、コンピュータ１００について説明する。コンピュータ１００は同図に示す如く、指標検出部１０２、明度・面積計算部１０３、明度・面積関係式算出部１０４、指標情報データ保持部１０５、指標識別部１０６により構成されている。
【００３６】
指標検出部１０２は、カメラ１０１から出力される撮像画像をキャプチャし、撮像画像内で周囲との明度差など、予め定められた指標に関する情報に基づき、撮像画像内で指標が写っているとおぼしき領域（指標候補領域）を検出する。
【００３７】
明度・面積計算部１０３は、指標検出部１０２により検出した指標候補領域の明度と面積を計算する。
【００３８】
明度・面積関係式算出部１０４は、明度・面積計算部１０３が計算した明度と面積の間の関係式を算出する。ここで、明度Ｉはカメラ１０１から指標までの距離ｒの二乗に反比例する（Ｉ∝１／ｒ２）。また、面積Ｓもカメラ１０１から指標までの距離ｒの二乗に反比例する（Ｓ∝１／ｒ２）。したがって、明度Ｉと面積Ｓとの間の関係式はＳ＝ａＩ（ａは定数）となる。このａの値は、例えば、カメラ１０１から任意の距離だけ離されたところに指標を配置し、この指標を含むように現実空間を撮像することでこの現実空間の画像を得、この画像内で指標に対応する領域の明度Ｉと面積Ｓを求め、求めた明度Ｉと面積Ｓとを用いてＳ／Ｉを計算することにより求めることができる。
【００３９】
なお、カメラ１０１の性能などによっては、明度Ｉと面積Ｓとの間の関係式が理想的なＳ＝ａＩとならないような場合も考えられる。そのような場合には、カメラ１０１から様々な距離に指標を配置し、指標に対応する領域の明度と面積を計算して、それらを基に明度と面積の関係式を算出してもよい。即ち、明度Ｉと面積Ｓとの間の関係式はＳ＝ａＩに限定するものではない。また、関係式を明示的に求めるのではなく、明度と面積との対応テーブルを予め作成し、この対応テーブルを、以下の処理において明度と面積の関係式の代わりに用いてもよい。
【００４０】
指標情報データ保持部１０５は、指標検出部１０２が撮像画像から検出した指標候補領域が、確実に指標に対応する領域となるようにセッティングされた場合に、この指標候補領域の明度Ｉと面積Ｓの関係式を、予め記憶しておく。本実施形態では、Ｓ＝ａＩの関係式を用いるので、指標情報データ保持部１０５は、このａの値を示すデータを保持する。なお、指標情報データ保持部１０５に格納するデータ、及びこの格納処理について詳しくは後述する。
【００４１】
なお、ここで挙げた登録項目は単なる例示であり、使用する指標や指標の識別方法に応じて、これ以外の情報を登録することもあれば、より少ない項目で済む場合もある。
【００４２】
指標識別部１０６は、指標情報データ保持部１０５に予め記憶された指標の明度と面積の関係式と、明度・面積計算部１０３で算出した指標候補領域の明度と面積に基づいて、この指標候補領域が指標に対応する領域であるかの識別処理を行う。この処理の詳細については後述する。
【００４３】
図１０は、上記コンピュータ１００のハードウェア構成を示すブロック図である。
【００４４】
１００１はＣＰＵで、ＲＡＭ１００２やＲＯＭ１００３に格納されたプログラムやデータを用いてコンピュータ１００全体の制御を行うと共に、コンピュータ１００が行う後述の各処理を実行する。なお、本実施形態では図１に示した指標検出部１０２、明度・面積計算部１０３、明度・面積関係式算出部１０４、指標識別部１０６はそれぞれＣＰＵ１００１の機能として動作するものであるとするが、これに限定するものではなく、その一部を他のデバイス、例えば、グラフィックアクセラレータ等の一機能として動作させるようにしても良い。
【００４５】
１００２はＲＡＭで、外部記憶装置１００６からロードされたプログラムやデータ、Ｉ／Ｆ１００７を介してカメラ１０１から受信した撮像画像のデータを一時的に記憶するためのエリア、ＣＰＵ１００１が各種の処理を実行する際に用いるワークエリアなど、各種のエリアを適宜提供することができる。
【００４６】
１００３はＲＯＭで、コンピュータ１００の設定データや、ブートプログラムなどを格納する。
【００４７】
１００４は操作部で、キーボードやマウスなどにより構成されており、コンピュータ１００の操作者が操作することで、各種の指示をＣＰＵ１００１に対して入力することができる。
【００４８】
１００５は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１００１による処理結果を画像や文字などでもって表示することができる。
【００４９】
１００６は外部記憶装置で、ハードディスクドライブ装置などに代表される大容量情報記憶装置で、ここにＯＳ（オペレーティングシステム）や、コンピュータ１００が行う後述の各処理をＣＰＵ１００１に実行させるためのプログラムやデータが保存されており、これらはＣＰＵ１００１による制御に従って適宜ＲＡＭ１００２にロードされる。
【００５０】
また、Ｉ／Ｆ１００７を介してカメラ１０１から受信した撮像画像のデータはＲＡＭ１００２ではなく、外部記憶装置１００６に入力するようにしても良い。また、本実施形態では図１に示した指標情報データ保持部１０５は、外部記憶装置１００６の一機能として動作するものとする。
【００５１】
１００７はＩ／Ｆで、ここには上記カメラ１０１が接続され、カメラ１０１から出力される撮像画像のデータがこのＩ／Ｆ１００７を介して順次コンピュータ１００に入力される。
【００５２】
１００８は上述の各部を繋ぐバスである。
【００５３】
次に、上記構成を有するコンピュータ１００が行う処理について、図４のフローチャートを用いて説明する。図４は、１つの指標が配されている現実空間の画像を取得した場合に、この画像から検出した指標候補領域のうち、指標に対応する領域を同定する為の処理のフローチャートである。なお、同図のフローチャートに従った処理をＣＰＵ１００１に実行させるためのプログラムやデータは外部記憶装置１００６に保存されている。そしてこれはＣＰＵ１００１による制御に従って適宜ＲＡＭ１００２にロードされ、ＣＰＵ１００１による処理対象となる。
【００５４】
先ず、撮像画像内に指標に対応する領域が存在する場合に、この領域の明度と面積との関係を示すデータを外部記憶装置１００６に保存しておく必要がある。そこで、先ず、撮像画像から指標候補領域を検出した場合に、検出したこの指標候補領域が確実に指標に対応する領域となるように撮像環境をセッティングする。そして、セッティングされた状況下で、上記システムを動作させる。
【００５５】
システムを動作させると、上述の通り、Ｉ／Ｆ１００７を介してＲＡＭ１００２、若しくは外部記憶装置１００６にはカメラ１０１により撮像された撮像画像のデータが入力されるので、ステップＳ４００では、ＣＰＵ１００１はこの撮像画像から指標候補領域（この場合、指標に対応する領域）を検出し、検出した指標候補領域の明度Ｉ、面積Ｓを求め、関係式を同定する。
【００５６】
関係式はＳ＝ａＩであるので、関係式を同定するということは、このａの値を求めるということである。よって、Ｓ／Ｉを計算し、計算結果を外部記憶装置１００６（指標情報データ保持部１０５）に保存する処理を行う。このステップＳ４００の処理に係るより詳細な説明は図５を用いて後述する。
【００５７】
次に、一般の状況下、即ち、撮像画像から指標候補領域を検出した場合に、検出したこの指標候補領域が確実に指標に対応する領域となるとは限らない状況下（例えば図３用いて説明が成されているように、撮像画像から明度情報のみを用いて検出した指標候補領域が、指標以外にも窓などの領域であり得るような状況下）で、撮像画像から検出される指標候補領域のうち、指標に対応するものを特定する処理を行う。
【００５８】
従って、このような一般の状況下でシステムを動作させると、上述の通り、Ｉ／Ｆ１００７を介してＲＡＭ１００２、若しくは外部記憶装置１００６にはカメラ１０１により撮像された撮像画像のデータが入力されるので、ステップＳ４２０では、ＣＰＵ１００１はこの撮像画像から１以上の指標候補領域（この場合、指標や窓などに対応する領域）を検出し、検出したそれぞれの指標候補領域の明度Ｉ、面積Ｓを求める処理を行う。このステップＳ４２０の処理に係るより詳細な説明は図６を用いて後述する。
【００５９】
そして、ステップＳ４４０では、ステップＳ４００で同定した関係式と、ステップＳ４２０で求めたそれぞれの指標候補領域の明度Ｉ、面積Ｓを用いて、ステップＳ４２０で検出したそれぞれの指標候補領域のうち、指標に対応するものを同定する処理を行う。このステップＳ４４０の処理に係るより詳細な説明は図８を用いて後述する。
【００６０】
次に、図４のステップＳ４００における処理の詳細を、図５に示す同処理のフローチャートを参照して説明する。
【００６１】
先ず、球形指標が配された現実空間の画像をカメラ１０１により撮像するので、ステップＳ４００１では、ＣＰＵ１００１は指標検出部１０２として機能し、この撮像画像をＲＡＭ１００２、若しくは外部記憶装置１００６に取得する。なお、ここでは、撮像画像から指標のみが検出されるようにするために、カメラ１０１に指標と同程度の明度の物体が写らないようにして撮像する。例えば、図２において、カメラ１０１の位置姿勢を調整して窓２０３が写らないようにして撮像する。
【００６２】
次に、ステップＳ４００２では、ＣＰＵ１００１は指標検出部１０２として機能し、ステップＳ４００１で取得した撮像画像から、指標に対応する領域を検出する。指標に対応する領域の検出にはどのような方法を用いても構わないが、例えば、周囲との明度差を有する連続領域を指標に対応する領域として検出する方法がある。
【００６３】
次に、ステップＳ４００３では、ＣＰＵ１００１は明度・面積計算部１０３として機能し、指標に対応する領域の明度Ｉを求める。例えば、検出した領域を構成する各画素の明度の平均値を、この領域の明度Ｉとして求める。
【００６４】
また、ステップＳ４００３における処理を行う一方で、ステップＳ４００４で、ＣＰＵ１００１は明度・面積計算部１０３として機能し、指標に対応する領域の面積Ｓを求める。例えば、検出した領域を構成する画素の数をカウントし、カウントした画素数をもって面積Ｓとする。また、画素数を数える代わりに、検出した領域の外周形状となる画素を通る円を近似計算し、半径の長さを求め、求めた半径ｒを用いてこの円の面積を面積Ｓとして計算してもよい。
【００６５】
そして、ステップＳ４００５では、ＣＰＵ１００１は明度・面積関係式算出部１０４として機能し、ステップＳ４００３，Ｓ４００４で求めた明度Ｉ、面積Ｓを用いて、それぞれの関係式を同定する処理を行う。具体的には、明度Ｉ、面積Ｓに基づいて、明度と面積の関係式Ｓ＝ａＩのａの値を算出する。
【００６６】
最後に、ステップＳ４００６で、外部記憶装置１００６（指標情報データ保持部１０５）に、ステップＳ４００５で同定した関係式のデータ、即ち、ａの値を示すデータを格納する。
【００６７】
以上の処理により、指標の明度と面積の関係式を指標情報データ保持部１０５に予め記憶しておくことができる。
【００６８】
次に、図４のステップＳ４２０における処理の詳細を、図６に示す同処理のフローチャートを参照して説明する。
【００６９】
球形指標が配された現実空間の画像をカメラ１０１により撮像するので、ステップＳ４２０１では、ＣＰＵ１００１は指標検出部１０２として機能し、この撮像画像をＲＡＭ１００２、若しくは外部記憶装置１００６に取得する。図５のステップＳ４００１との違いは、カメラ１０１の視野内に指標と同程度の明度の物体が入る可能性があって、画像から所望の指標のみが検出されるとは限らないという点である。例えば、図２において、カメラ１０１の視野内に窓２０３が入るような場合である。
【００７０】
次に、ステップＳ４２０２では、ＣＰＵ１００１は指標検出部１０２として機能し、ステップＳ４２０１で取得した撮像画像から、指標に対応するとおぼしき領域、即ち、指標候補領域を検出する。
【００７１】
指標候補領域の検出にはどのような方法を用いても構わないが、例えば、周囲との明度差を有する連続領域を指標候補領域として検出する方法がある。また、指標に対応する領域の明度の最小値や最大値などの情報を外部記憶装置１００６（指標情報データ保持部１０５）に予め記憶しておき、撮像画像を構成する各画素のうち、この最小値と最大値との間の明度を有する画素の集合を指標候補領域として検出しても良い。
【００７２】
次に、ステップＳ４２０３では、ＣＰＵ１００１は明度・面積計算部１０３として機能し、それぞれの指標候補領域の明度Ｉ’を求める。例えば、指標候補領域を構成する各画素の明度の平均値をこの領域の明度Ｉ’として求める処理を、検出した指標候補領域毎に行う。
【００７３】
また、ステップＳ４２０３における処理を行う一方で、ステップＳ４２０４で、ＣＰＵ１００１は明度・面積計算部１０３として機能し、それぞれの指標候補領域の面積Ｓ’を求める。例えば、指標候補領域を構成する画素の数をカウントし、カウントした画素数をこの指標候補領域の面積Ｓとする処理を、検出した指標候補領域毎に行う。
【００７４】
また、画素数を数える代わりに、指標候補領域の外周形状となる画素を通る円を近似計算し、半径の長さを求め、求めた半径ｒを用いてこの円の面積をこの指標候補領域の面積Ｓとして計算する処理を、検出した指標候補領域毎に行うようにしても良い。
【００７５】
以上の処理により、検出したそれぞれの指標候補領域について、明度Ｉ’、面積Ｓ’を求めることができる。
【００７６】
ここで、本実施形態にて最終的に行いたいことは、撮像画像から検出した１以上の指標候補領域のうち、どれが指標に対応する領域であるのかを同定することである。この同定処理を行う図４のステップＳ４４０における処理の詳細を、同処理のフローチャートを示す図８を参照して説明する。
【００７７】
同図のフローチャートに従った処理は、それぞれの指標候補領域について、ステップＳ１１０１〜ステップＳ１１０３の処理を行うことにより成されるものである。また、同図のフローチャートに従った処理は、ＣＰＵ１００１が指標識別部１０６として動作することで成されるものである。
【００７８】
先ず、ステップＳ１１０１では、注目指標候補領域についてステップＳ４２０３で計算した明度Ｉ’と、ステップＳ４００６で外部記憶装置１００６に格納したデータが示すａの値との積ａＩ’を求める。
【００７９】
次に、ステップＳ１１０２では、ステップＳ１１０１で求めた積ａＩ’と、ステップＳ４２０４で求めたこの注目指標候補領域の面積Ｓ’との比（Ｓ’／ａＩ’）が所定範囲内（例えば０．５以上２以下）であるかを判断する。
【００８０】
所定範囲内であれば処理をステップＳ１１０３に進め、ステップＳ１１０３では、この注目指標候補領域は指標に対応する領域であると判断し、本処理を終了する。即ち、Ｓ’≒ａＩ’である場合（Ｓ’がａＩ’に所定範囲内で近似している場合）、これは、指標に対応する領域が満たすべき関係式Ｓ＝ａＩをこの注目指標候補領域がほぼ満たしているが故、指標に対応する領域であると判断することができるからである。
【００８１】
一方、所定範囲外の場合には処理をステップＳ１１０４に進め、検出された全ての指標候補領域についてステップＳ１１０１〜Ｓ１１０３の処理を行ったのか否かを判断し、行っているのであれば本処理を終了するのであるが、行っていないのであれば処理をステップＳ１１０１に戻し、未だステップＳ１１０１以降の処理対象となっていない指標候補領域についてステップＳ１１０１以降の処理を行う。
【００８２】
以上の処理により、撮像画像から検出した１以上の指標候補領域のうち、どれが指標に対応する領域であるのかをＳ’とａＩ’との比でもって同定することである。なお、同定の方法はこれ以外にも考えられ、例えば、全ての指標候補領域のうち、面積比が最も１に近いものを選択しても良いし、面積の差異を用いても良い。即ち、同定処理のために用いる指標候補領域に係る情報（本実施形態では明度と面積）はどのようなものでも良く、同定するための基準は用いる情報によって異なる。
【００８３】
以上説明したように、本実施形態によれば、撮像画像から検出した１以上の指標候補領域のうち、どれが指標に対応する領域であるのかをＳ’とａＩ’との比でもって同定することにより、指標と似た明度の領域が現実空間に存在し、その領域が指標候補領域として検出された場合であっても、指標を正しく識別することが可能となる。
【００８４】
例えば、図３において、３０１と３０２が指標候補領域として検出された場合であっても、領域の明度と面積の関係式を用いれば、指標に対応する領域が３０１であると正しく識別することが可能となる。
【００８５】
なお、本実施形態では、赤外光を発光する指標を例に説明したが、赤外光に限らず、様々な光を発光する指標（自発光する指標）であれば良い。例えば、紫外光や可視光などを発光する指標を用いてもよい。その場合、指標を撮像するカメラとしては、紫外光や可視光を撮像できるカメラを使用すればよい。
【００８６】
また、光を発光する指標の代わりに、光を反射する指標を用いてもよい。例えば、表面に再帰性反射素材を貼った指標に向かって、カメラ１０１の近傍から光を照射して、それをカメラ１０１で撮像してもよい。
【００８７】
［第２の実施形態］
第１の実施形態では、指標が１つの場合を想定していたが、指標が複数の場合であっても良い。即ち、画像から検出した指標候補領域（指標とおぼしき領域）が、どの指標に対応する領域であるのかを同定する。本実施形態では説明を簡単にするために、画像から検出した指標候補領域が、２（＝Ｎ）つの指標のうち何れに対応する領域であるのかを同定する。なお、Ｎはこれ以上の数であっても、以下の説明の本質は同じである。また、以下説明する点以外については、第１の実施形態と同じであるとする。
【００８８】
本実施形態においては、好適な指標として、図７に示すように、赤外光を発光する球形の指標２０５、及び指標７０６を用いる。これらの指標は、画像から検出されたときに明度と面積の関係式がお互いに異なるように、明るさ及び／または大きさがお互いに異なるようにしておく。例えば、図７に示すように、指標２０５よりも指標７０６の方が暗くかつ大きくなるようにしておく。図７は、本実施形態で用いる指標を示す図である。
【００８９】
ここで、画像から検出した指標候補領域が、どの指標に対応する領域であるのかを同定する為の処理については、図４に示したフローチャートに従った処理を以下のように変更したものとなる。
【００９０】
先ず、ステップＳ４００の処理を、指標の数だけ繰り返すことにより、指標ｉ（本実施形態の場合、ｉ＝１，２で、指標１は指標２５０、指標２は指標７０６であるとする）の明度Ｉｉと面積Ｓｉとを求め、Ｓｉ／Ｉｉを計算し、計算結果をａｉとして外部記憶装置１００６（指標情報データ保持部１０５）に保存する。
【００９１】
より具体的に説明すると、カメラ１０１による撮像画像から、現実空間中に配される複数の指標のうち１つの指標のみが検出されるようにする為に、カメラ１０１に１つの指標のみが写り、かつ指標と同程度の明度の物体が写らないようにして撮像する。例えば、複数の指標のうち１つの指標のみを発光させる。これにより、撮像画像からは発光した指標のみが検出されることになる。
【００９２】
このような撮像を現実空間中に配される指標の数だけ行う。これにより、コンピュータ１００には、指標の数だけ撮像画像が入力され、且つ撮像画像ｉは指標ｉのみが検出されるように撮像されていることになる。
【００９３】
そしてステップＳ４２０における処理は第１の実施形態と同様にして行う。即ち、撮像画像から１以上の指標候補領域を検出し、それぞれの指標候補領域の明度Ｉ’、面積Ｓ’を求める。
【００９４】
次に、ステップＳ４４０では、それぞれの指標候補領域について、どの指標に対応する領域であるのかの同定処理を行うのであるが、先ず、指標候補領域ｊ（ｊ＝１，２，，，Ｍ）の明度Ｉ’ｊと、ステップＳ４００で外部記憶装置１００６に格納したａｉの値との積ａｉ×Ｉ’ｊを求め、この積と、指標候補領域ｊの面積Ｓ’ｊとの比（Ｓ’ｊ／（ａｉ×Ｉ’ｊ））が所定範囲内（例えば０．５以上２以下）であるかを判断する。その結果、所定範囲内であれば、指標候補領域ｊは、指標ｉに対応する領域であると判断する。このような処理をｉ＝１，２のそれぞれについて行う。
【００９５】
よって、本実施形態ではｉ＝１の場合に、上記比（この場合、Ｓ’ｊ／（ａ１×Ｉ’ｊ））が所定範囲内であれば、指標候補領域ｊは指標１、即ち、指標２５０に対応する領域であると同定できるし、ｉ＝１の場合に、上記比が所定範囲内でなければ、ｉ＝２の場合について同様の処理を行い、その結果、ｉ＝２の場合に、上記比（この場合、Ｓ’ｊ／（ａ２×Ｉ’ｊ））が所定範囲内であれば、指標候補領域ｊは指標２、即ち、指標７０６に対応する領域であると同定できる。
【００９６】
以上説明したように、本実施形態によれば、複数の指標を識別するために、上記［従来技術３］で利用されていたような発光タイミングの制御機構や高速度カメラは不要となるため、コストを低く抑えることが可能となる。
【００９７】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００９８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図２】指標の他に発光体が存在するような現実空間の例を示す図である。
【図３】図２に示す赤外カメラ１０１により撮像された画像を示す図である。
【図４】１つの指標が配されている現実空間の画像を取得した場合に、この画像から検出した指標候補領域のうち、指標に対応する領域を同定する為の処理のフローチャートである。
【図５】図４のステップＳ４００における処理の詳細を示すフローチャートである。
【図６】図４のステップＳ４２０における処理の詳細を示すフローチャートである。
【図７】本発明の第２の実施形態で用いる指標を示す図である。
【図８】図４のステップＳ４４０における処理の詳細を示すフローチャートである。
【図９】非特許文献２および非特許文献３にて開示されている、従来技術２で利用されている具体的な正方形マーカの一例を示す図である。
【図１０】コンピュータ１００のハードウェア構成を示すブロック図である。
【図１】
2006318096.tif 000003
【図２】
2006318096.tif 000004
【図３】
2006318096.tif 000005
【図４】
2006318096.tif 000006
【図５】
2006318096.tif 000007
【図６】
2006318096.tif 000008
【図７】
2006318096.tif 000009
【図８】
2006318096.tif 000010
【図９】
2006318096.tif 000011
【図１０】
2006318096.tif 000012