(57)【要約】【課題】  情景中に配置された指標の画像座標に関する情報を利用して撮影視点の位置および／または姿勢を算出する場合において、より正確な位置および姿勢の算出が実現されるような指標の配置場所をユーザが簡単に判断できるようにすること。【解決手段】  現実空間に配置されている指標の情報を取得し、指標の情報に基づき現実空間画像と仮想空間画像との重ね合わせ精度に関する領域情報を取得し、領域情報に応じた仮想空間画像を生成する。【選択図】  図１
2006127468.tif 000002
【特許請求の範囲】
【請求項１】
現実空間と仮想空間とを重ね合わせて表示する情報処理方法であって、
前記現実空間に配置されている指標の情報を取得する取得工程と、
視点の位置および姿勢を算出する位置姿勢算出工程と、
前記指標の情報に基づき、現実空間と仮想空間との重ね合わせ精度に関する領域情報を算出する領域算出工程と、
前記位置および姿勢に基づき、前記領域情報を視覚的に表現し、現実空間に重ね合わせて表示する画像表示工程とを備えることを特徴とする情報処理方法。
【請求項２】
前記取得工程は、現実空間に配置されている指標の位置情報を取得し、前記領域算出工程は、前記指標の位置情報に基づいて前記領域情報を算出することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記取得工程は、現実空間に配置されている指標の位置情報と法線ベクトルを取得し、前記領域算出工程は、前記指標の位置情報および法線ベクトルに基づいて前記領域情報を算出することを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記位置姿勢算出工程は、
前記視点位置からの撮影画像から指標位置を検出する検出工程と、
前記撮影画像における指標位置と前記指標の位置情報とから前記視点位置の位置および／または姿勢を算出する算出工程とを有することを特徴とする請求項２乃至３記載の情報処理方法。
【請求項５】
前記領域算出工程は、前記視点位置と前記指標の領域情報とに基づき前記領域情報を算出することを特徴とする請求項１乃至４記載の情報処理方法。
【請求項６】
前記領域算出工程は、前記現実空間画像に含まれる指標の数に応じて前記領域情報を算出することを特徴とする請求項１乃至５記載の情報処理方法。
【請求項７】
前記領域算出工程は、前記現実空間画像に含まれる指標の数と、該現実空間画像に含まれる指標との現実空間における距離が一定範囲内である指標の数に応じて前記領域情報を算出することを特徴とする請求項１乃至５記載の情報処理方法。
【請求項８】
前記取得工程は追加される指標の情報を取得し、
前記領域算出工程は、前記追加される指標の情報を用いて、前記領域情報を算出することを特徴とする請求項１記載の情報処理方法。
【請求項９】
前記画像表示工程は、前記追加される指標の現実空間画像に前記領域情報を重ねて表示することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
追加する指標の種類を決定する指標種決定工程を有し、
前記領域算出工程は、前記指標種決定工程によって決定された指標の種類に応じた前記領域情報を算出することを特徴とする請求項８乃至９に記載の情報処理方法。
【請求項１１】
前記指標の情報は前記現実空間画像における指標領域情報であり、
前記取得工程は前記現実空間画像から指標領域を検出し、
前記領域算出工程は、前記指標領域情報に基づき、現実空間画像における指標の位置と大きさに応じた領域情報を算出することを特徴とする請求項１記載の情報処理方法。
【請求項１２】
視点の位置および姿勢を算出するための指標の現実空間における配置を補助するための情報処理方法であって、
現実空間の撮影画像から現実空間に配置されている指標領域を検出する検出工程と、
前記指標領域に基づき、現実空間と仮想空間との重ね合わせ精度に関する領域情報を算出する領域算出工程と、
前記領域情報を視覚的に表現し、現実空間に重ね合わせて表示する画像表示工程とを有することを特徴とする情報処理方法。
【請求項１３】
現実空間に配置されている指標を選択する指標選択工程を有し、
前記領域算出工程は、前記指標選択工程が選択した指標以外の指標の情報に基づいて前記領域情報を算出することを特徴とする請求項１乃至１２に記載の情報処理方法。
【請求項１４】
前記領域算出工程は、前記指標の情報が、指標の追加、指標の削除、情報の変更の少なくとも一つが行われた場合にのみ、前記領域を算出することを特徴とする請求項１乃至１２記載の情報処理方法。
【請求項１５】
請求項１乃至１４のいずれかに記載の情報処理方法をコンピュータにて実現するためのプログラム。
【請求項１６】
請求項１５記載のプログラムを記録するための記録媒体。
【請求項１７】
現実空間と仮想空間とを重ね合わせて表示する情報処理装置であって、
前記現実空間に配置されている指標の情報を取得する取得手段と、
視点の位置および姿勢を算出する位置姿勢算出手段と、
前記指標の情報に基づき、現実空間と仮想空間との重ね合わせ精度に関する領域情報を算出する領域算出手段と、
前記位置および姿勢に基づき、前記領域情報を視覚的に表現し、現実空間に重ね合わせて表示する画像表示手段とを備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情景中に配置（もしくは設定；以降では「配置」は「設定」の意味を含む）された指標の撮影画像中における画像座標に関する情報を利用して撮影視点の位置および姿勢を算出する場合において、指標を情景中に配置および／または情景中より削除する装置および方法に関するものである。
【背景技術】
【０００２】
近年、現実空間と仮想空間の繋ぎ目のない結合を目的とした、複合現実感に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、ビデオカメラなどの撮像部によって撮影された現実空間の画像に、撮像部の視点の位置および姿勢に応じて生成した仮想空間（たとえばコンピュータ・グラフィックスにより描画された仮想物体や文字情報など）の画像を重畳描画してそれを表示するビデオシースルー方式によって実現される。
【０００３】
このような画像表示装置の応用としては、患者の体表面に体内の様子を重畳表示する手術支援や、現実空間に浮遊する仮想の敵と戦う複合現実感ゲームなど、今までのバーチャルリアリティとは異なった新たな分野が期待されている。
【０００４】
これらの応用に対して共通に要求されるのは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。複合現実感における位置合わせの問題は、情景中における（すなわち、世界座標系における）撮像視点の位置および姿勢を求める問題に帰結される。
【０００５】
この問題を解決する方法として、情景中に複数の指標を配置し、その指標の世界座標系における座標と、撮像部が撮像した画像内における投影座標とを利用して、情景中における撮像視点の位置および姿勢を求めることが一般的に行われている。
【０００６】
情景中の指標の世界座標系における座標と撮影画像内の投影座標の組から撮像視点の位置および姿勢を算出する方法は、コンピュータビジョン等の分野において古くから提案されている（例えば、非特許文献１、非特許文献２を参照）。
【０００７】
非特許文献３はそうした方法を複合現実感における位置合わせに応用した例である。そこでは、センサによる計測によって得た誤差を含む撮像視点の位置および姿勢を基に指標の世界座標系における座標を撮影画像に投影した座標と実際に撮影画像に写っている指標の画像座標が一致するように、撮像視点の位置および姿勢を非特許文献２に示された方法で補正する方法が示されている。
【０００８】
ところで、上記のような方法による位置合わせの精度（現実空間と仮想空間の位置の一致度）を決定する要因の一つに、「情景中への指標の配置の仕方」がある。
【０００９】
例えば、非特許文献３に示されたような方法では、指標が撮影できなければ、誤差を含む撮像視点の位置および姿勢を補正することができないので、位置合わせ精度が低下する。よって、想定される撮影地点から常に１つ以上の指標が撮影できるように指標が配置されているかどうかが、位置合わせ精度を決定する一つの要因となっている。
【００１０】
同じく非特許文献３に示されたような方法では、指標の世界座標系における座標値や指標の投影座標値に少なからず含まれる誤差により撮影視点の「姿勢」に誤差が含まれてしまう場合、その指標よりも撮影視点から遠い空間における位置合わせ精度は、指標付近よりも大きく低下する（図３参照：三次元的に現実空間と仮想空間が大きくずれる）。逆に、指標の世界座標系における座標値や指標の投影座標値の誤差により撮影視点の「位置」に誤差が含まれてしまう場合、その指標よりも撮影視点に近い空間における位置合わせ精度は、指標付近よりも大きく低下する（図４参照：二次元的に現実空間の画像と仮想空間の画像が大きくずれる）。よって、ある空間の付近に指標が配置されているかどうかは、その空間における位置合わせ精度を決定する一つの要因となっている。
【００１１】
以上を鑑みると、より精度の高い位置合わせを実現するためには、情景中に満遍なく指標を配置することが効果的であるとわかる。
【００１２】
なお、撮影視点の位置姿勢によっては撮影範囲にある指標の画像特徴が十分に撮影されない場合がある。例えば、指標が平面的である場合には、その平面の法線に対して直交する方向から撮影する場合には指標の画像特徴は十分に撮影されないし、指標が何らかの物体に隠蔽されて見えない位置からでは当然指標の画像特徴は撮影されない。よって、「満遍なく指標を配置する」際には、単に情景中に広く平均的に指標を配置するだけでなく、任意の位置姿勢からでも画像特徴が十分に撮影される指標が必要数以上撮影されるように指標の向き等も考慮して指標を配置することも重要である。
【００１３】
ただし、情景中に闇雲に指標を配置もしくは設定してしまうと、指標検出負荷の増加や景観の美感劣化など、位置合わせ精度以外の点で不都合が生じる。後者は、複合現実感が仮想空間だけではなく現実空間も体験者の観察対象であるため、見た目を損ねる指標をあまり多く現実空間中に配置したくない場合があるためである。そのため、「適度に」満遍なく指標を配置することが望ましい。
【００１４】
そこでこれまでには、何らかの知見から生まれた指針に従うことで、適度に満遍なく指標を配置することが行われている。例えば特許文献１には、撮影視点から遠方の指標分布密度は低くし、撮影視点付近の指標分布密度は高めることで、適度に満遍なく指標を配置する方法が示されている。
【特許文献１】特開平１１−１３６７０６号公報
【非特許文献１】Ｒ．Ｍ．Ｈａｒａｌｉｃｋ，Ｃ．Ｌｅｅ，Ｋ．Ｏｔｔｅｎｂｅｒｇ，ａｎｄ  Ｍ．Ｎｏｌｌｅ：Ｒｅｖｉｅｗ  ａｎｄ  ａｎａｌｙｓｉｓ  ｏｆ  ｓｏｌｕｔｉｏｎｓ  ｏｆ  ｔｈｅ  ｔｈｒｅｅ  ｐｏｉｎｔ  ｐｅｒｓｐｅｃｔｉｖｅ  ｐｏｓｅ  ｅｓｔｉｍａｔｉｏｎ  ｐｒｏｂｌｅｍ，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，ｖｏｌ．１３，ｎｏ．３，ｐｐ．３３１−３５６，１９９４．
【非特許文献２】Ｄ．Ｇ．Ｌｏｗｅ：Ｆｉｔｔｉｎｇ  ｐａｒａｍｅｔｅｒｉｚｅｄ  ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｍｏｄｅｌｓ  ｔｏ  ｉｍａｇｅｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＰＡＭＩ，ｖｏｌ．１３，ｎｏ．５，ｐｐ．４４１−４５０，１９９１．
【非特許文献３】内山，山本，田村：複合現実感のためのハイブリッド位置合わせ手法−６自由度センサとビジョン手法の併用−，ＴＶＲＳＪ，Ｖｏｌ．１，ｐｐ．１１９−１２６，２００３．
【非特許文献４】Ｇ．Ｂａｒａｔｏｆｆ，Ａ．Ｎｅｕｂｅｃｋ，ａｎｄ  Ｈ．Ｒｅｇｅｎｂｒｅｃｈｔ：Ｉｎｔｅｒａｃｔｉｖｅ  ｍｕｌｔｉ−ｍａｒｋｅｒ  ｃａｌｉｂｒａｔｉｏｎ  ｆｏｒ  ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ  ａｐｐｌｉｃａｔｉｏｎｓ，Ｐｒｏｃ．ＩＳＭＡＲ２００２，ｐｐ．１０７−１１６，２００２．
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、「何らかの知見から生まれた指針」は指標配置のあるべき傾向を示すのみである。ゆえに、たとえ指標配置に関する指針が与えられていたとしても、指標を配置すべき具体的な場所がどこであるかは不明なままである。つまり今に至るまで、位置合わせ精度を左右する指標配置の仕方は、依然として指標を配置する人（配置者）の裁量にゆだねられたままであった。
【００１６】
そこで、本発明は、位置を算出するために使用する指標を、ユーザが適切に配置することを簡単にできるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明は以下の構成を有する。
【００１８】
請求項１記載の情報処理方法は、現実空間と仮想空間とを重ね合わせて表示する情報処理方法であって、前記現実空間に配置されている指標の情報を取得する取得工程と、視点の位置および姿勢を算出する位置姿勢算出工程と、前記指標の情報に基づき、現実空間と仮想空間との重ね合わせ精度に関する領域情報を算出する領域算出工程と、前記位置および姿勢に基づき、前記領域情報を視覚的に表現し、現実空間に重ね合わせて表示する画像表示工程とを備えることを特徴とする。
【００１９】
請求項１２記載の情報処理方法は、視点の位置および姿勢を算出するための指標の現実空間における配置を補助するための情報処理方法であって、現実空間の撮影画像から現実空間に配置されている指標領域を検出する検出工程と、  前記指標領域に基づき、現実空間と仮想空間との重ね合わせ精度に関する領域情報を算出する領域算出工程と、前記領域情報を視覚的に表現し、現実空間に重ね合わせて表示する画像表示工程とを有することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、位置を算出するために使用する指標を、ユーザが適切に配置することを簡単にできるようにすることができる。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面を参照して本発明の好適な実施例について詳細に説明する。
【００２２】
［第１の実施例］
本実施例に係る指標設置装置および指標設置方法は、すでに配置された指標によって高精度な位置合わせが実現される可能性が高い領域もしくは低い領域を視覚的に示すことで、新たに指標を配置すべき場所を配置者に提示する。さらには、配置済みの指標を削除することが位置合わせ精度に与える影響を配置者に提示する。以下、本実施例に係る指標設置装置について説明する。
【００２３】
図１は、本実施例に係る指標配置装置の概略を示す図である。図１に示したように、本実施例に係る指標配置装置は、撮像部１００、指標検出部１２０、位置姿勢算出部１３０、指標情報保持部１４０、指示部１５０、高精度領域算出部１６０、画像生成部１７０、画像合成部１８０、および画像表示部１９０とから構成されている。また場合により、本実施例に係る指標配置装置は位置姿勢計測部１１０も含んでいる。
【００２４】
撮像部１００は現実空間を撮影する。撮像部１００が撮影した画像（以下、これを撮影画像と呼ぶ）は、指標検出部１２０および画像合成部１８０に入力される。場合により、撮像部１００には、その撮影視点の位置および／または姿勢を計測する位置姿勢計測部１１０が付属していてもよい。
【００２５】
（本実施例に係る指標配置装置にとって必須ではない）位置姿勢計測部１１０は、世界座標系（現実空間の１点を原点として定義し、更に互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系）における撮像部１００の撮影視点の位置および／または姿勢を計測する。位置姿勢計測部１１０の計測値は、位置姿勢算出部１３０に入力される。
【００２６】
現実空間中の複数の位置には、撮像部１００によって撮影するための指標として、世界座標系における位置ｘＷＱｋが既知である複数個の指標Ｑｋ（ｋ＝１，，，Ｋ）が配置されている、もしくは、本実施例に係る指標配置装置を使って配置されていく。指標Ｑｋは、例えば、それぞれが異なる色を有する円形状のマーカによって構成してもよいし、それぞれが異なるテクスチャ特徴を有する自然特徴等の特徴点によって構成してもよい。また、ある程度の面積を有する四角形の単色領域によって形成されるような、四角形形状の指標（以下、四角形指標）を用いることも可能である。撮影画像上における投影像の画像座標が検出可能であって、かつ何れの指標であるかが識別可能であるような指標であれば、何れの形態であってもよい。
【００２７】
指標検出部１２０は、撮像部１００より撮影画像を入力し、入力した撮影画像中に撮影されている指標Ｑｋの画像座標を検出する。例えば、指標Ｑｋの各々が異なる色を有するマーカによって構成されている場合には、撮影画像上から各々のマーカ色に対応する領域を検出し、その重心位置を指標の検出座標とする。また、指標Ｑｋの各々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを撮影画像上に施すことにより、指標の位置を検出する。また、指標として四角形指標を用いる場合は、画像に２値化処理を施した後にラベリングを行い、一定面積以上の領域の中から４つの直線によって形成されているものを指標候補として検出する。さらに、候補領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除し、また、指標の識別子を取得する。なお、このようにして検出される四角形指標は、本実施例では、４つの頂点の個々によって形成される４つの指標であると考える。
【００２８】
検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎは、位置姿勢算出部１３０へと出力される。また、識別子ｋｎは、要求に応じて高精度領域算出部１６０へも出力される。ここで、ｎ（ｎ＝１，，，Ｎ）は検出された指標夫々に対するインデックスであり、Ｎは検出された指標の総数を表している。例えば図１の場合には、Ｎ＝３であり、識別子ｋ１＝１，ｋ２＝３，ｋ３＝４とこれらに対応する画像座標ｕＱｋ１，ｕＱｋ２，ｕＱｋ３が出力される。なお、指標が１つも検出されない場合には、当然何も出力されない
また、指標検出部１２０は、配置者により配置済みの指標が削除されたことにより、それまで検出していた指標が検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出できなくなった場合には、その指標に関する情報の削除を意味する「指定指標情報削除」の指示を指標情報保持部１４０に送信しても良い。
【００２９】
位置姿勢算出部１３０は、指標検出部１２０で検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと、既知な情報として予め指標情報保持部１４０に保持されている識別子ｋｎを用いて参照される指標Ｑｋｎの世界座標ｘＷＱｋｎとの対応関係に基づいて、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。指標の世界座標と画像座標の組から撮像部の撮影視点の位置および姿勢を算出する方法は、コンピュータビジョン等の分野において古くから提案されている（例えば、非特許文献１、非特許文献２を参照）。例えば、指標が同一平面上に配置されている場合には、４点以上の指標を検出することで、２次元ホモグラフィの計算に基づいて撮像部の視点の位置および姿勢を得ることができる。また、同一平面上にない６点以上の指標を用いて撮像部の視点の位置および姿勢を用いる方法も良く知られている。原理的には、一直線上にない３点以上の点があれば撮像装置の位置姿勢を推定することができる。
【００３０】
撮像部１００に位置姿勢計測部１１０が付属する場合には、位置姿勢算出部１３０は位置姿勢計測部１１０の計測値も利用して、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出してもよい。例えば、撮像部１００の撮影視点の位置および姿勢の計測値から算出される指標の画像座標の理論値と指標の画像座標の実測値との誤差を、画像ヤコビアンを用いたガウス・ニュートン法のような繰り返し計算によって最小化することにより、撮影視点の位置および姿勢の計測値を最適化し、その最適化された値を算出結果とする方法などを用いることができる。
【００３１】
また位置姿勢計測部１１０が計測する位置もしくは姿勢を算出値としてそのまま利用し、計測されなかった他方の姿勢もしくは位置のみを、指標検出部１２０で検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと、既知な情報として予め指標情報保持部１４０に保持されている指標の世界座標ｘＷＱｋｎとの対応関係に基づいて算出しても良い。その算出は、位置および姿勢を算出する方法において未知数である位置および姿勢のうちの一方を、位置姿勢計測部１１０が計測する位置もしくは姿勢、あるいは、位置姿勢算出部１３０の内部に既知な情報として予め保持されている位置もしくは姿勢を代入して行う。
【００３２】
また、位置姿勢算出部１３０の内部に既知な情報として予め保持されている位置もしくは姿勢をそのまま算出結果として利用し、残りは指標を基に算出しても良い。
【００３３】
算出した世界座標系における撮像部１００の撮影視点の位置および姿勢は、画像生成部１７０へと出力される。
【００３４】
また、位置姿勢算出部１３０は、高精度領域算出部１６０に対しても、高精度領域算出部１６０からの要求に応じて世界座標系における撮像部１００の撮影視点の位置および姿勢を出力する。
【００３５】
指標情報保持部１４０は、既に現実空間中に配置されている指標Ｑｋの世界座標系における位置ｘＷＱｋと識別子ｋを保持している。また、指示部１５０を介して配置者により新たに入力される指標ＱＫ＋ｋ’（ｋ’＝１，，，）の世界座標系における位置ｘＷＱＫ＋ｋ’と識別子Ｋ＋ｋ’を、内部に追加して保持する。さらにまた指標情報保持部１４０は、指標検出部１２０もしくは指示部１５０からの「指定指標情報削除」の指示に従って、指定された指標の情報を削除する。
【００３６】
指標情報保持部１４０が保持している位置ｘＷＱｋは、位置姿勢算出部１３０および高精度領域算出部１６０に対して出力される。
【００３７】
指示部１５０は、配置者から配置ガイダンス実施コマンドが入力された時には、「高精度位置合わせ領域算出」の指示を高精度領域算出部１６０に送信する。
【００３８】
また、配置者から新たに指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’と識別子Ｋ＋ｋ’を示す情報を入力された場合には、その情報を指標情報保持部１４０に送信する。この位置ｘＷＱＫ＋ｋ’を示す情報は、配置者が定規等で実測したものでも良いし、非特許文献４などに開示されているような、多数の画像で指標を撮像した結果から指標の位置姿勢をキャリブレーションする手法によって求めたものでも良い。
【００３９】
また、配置者から配置済指標削除コマンドおよび配置対象指標の識別子が入力された時には、その識別子に対応する指標に関する情報の削除を意味する「指定指標情報削除」の指示を、指標情報保持部１４０に送信する。
【００４０】
指示部１５０へのコマンド入力は、例えばキーボードを用いて、特定のコマンドを割り当てたキーを押すことによって行うことができる。また、コマンドの入力は、ディスプレイ上に表示されたＧＵＩで行うなどの、何れの方法で行ってもよい。指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’と識別子Ｋ＋ｋ’を示す情報の入力も、同様にキーボード等を介して行うことができる。
【００４１】
高精度領域算出部１６０は、指示部１５０より「高精度位置合わせ領域算出」の指示を受け取った場合に、指標検出部１２０から撮影画像中で検出された指標Ｑｋｎの識別子ｋｎを受け取り、指標の位置姿勢算出部１３０から世界座標系における撮像部１００の撮影視点の位置および姿勢を受け取り、指標情報保持部１４０から撮影画像中で検出された指標Ｑｋｎの世界座標系における位置ｘＷＱｋｎを受け取る。そして受け取った情報から、高精度な位置合わせが実現される可能性が高い領域（以下、場合により「高精度位置合わせ領域」と呼ぶ）を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【００４２】
本実施例に係る指標配置装置における高精度領域算出部１６０においては、例えば「ある１つの指標によって実現される複合現実空間上のある位置における位置合わせ精度は、検出されているその指標からの複合現実空間における距離に応じて減少する」というルールに従って「高精度位置合わせ領域」を算出する。このルールは、前述した「ある空間の付近に指標が配置されているかどうかは、その空間における位置合わせ精度を決定する一つの要因となっている」ことをふまえている。このルールに従うと、ある距離ｒを閾値として、ある１つの指標Ｑｋ０が存在する位置を中心とし距離ｒを半径とした球領域が「高精度位置合わせ領域」となる。ゆえに高精度領域算出部１６０は、その領域を示す情報として球の中心位置ｘＷＱｋ０と半径ｒＱｋ０を画像生成部１７０へ出力する。ここで距離ｒＱｋ０は「撮影部１１０の撮影視点と指標間の距離ＲＱｋ０に比例する」として算出されるものとする。例えば、ｒＱｋ０＝０．３（定数）×ＲＱｋ０などとして算出される。ＲＱｋ０は、指標情報保持部１４０から受け取る撮影画像中で検出された指標Ｑｋの位置ｘＷＱｋｎと、位置姿勢算出部１３０から受け取る撮影視点の位置とから算出することができる。このように距離ｒＱｋ０を算出することで、複合現実空間において撮影視点が高精度領域に含まれてしまい、空間のどの部分が高精度領域なのかが確認できなくなることを防ぐ。なお、ｒは他の方法で決定しても良い。例えば、ｒ＝１０ｃｍといった固定値に設定してもよい。
【００４３】
複数の指標が同時に位置合わせに利用される場合、上記のルールは次のように拡張される。すなわち、
２つの指標が位置合わせに利用される場合には、ある位置における位置合わせ精度はその指標間を結ぶ線分からの距離に応じて減少する。
３つ以上の指標が位置合わせに利用される場合には、ある位置における位置合わせ精度はそのうちの３つの指標間を結ぶ線分によって囲まれる平面のうちの、最も近い平面からの距離に応じて減少する。
【００４４】
これらの場合の「高精度位置合わせ領域」の算出は、１つの指標に対して行う算出方法における「指標が存在する位置」を「線分上の全ての点が存在する位置」もしくは「平面上の全ての点が存在する位置」と読み変えて行う。
【００４５】
２つの指標Ｑｋ０とＱｋ１が位置合わせに利用される場合には、その指標間を結ぶ線分上の任意の点ＰＱｋ０Ｑｋ１が存在する位置ｘＷＱｋ０ｋ１を中心とし、撮影部１１０の視点位置と点ＰＱｋ０Ｑｋ１間の距離ＲＱｋ０Ｑｋ１から決定される距離ｒＱｋ０Ｑｋ１を半径とした球領域が「高精度位置合わせ領域」の一部となり、線分上の全ての点から決定される球領域を足し合わせた領域が、「高精度位置あわせ領域」の全体となる。この場合の「高精度位置合わせ領域」は、円錐領域を底面に平行な面で分割した底面側の領域と、その領域の底面および切断面に面側で接する同じ半径を持った半球領域とを合わせた領域である。高精度領域算出部は、この領域を示す情報（例えば、前述した円錐、切断面、２つの半球を示す情報）を算出し、画像生成部１７０へと出力する。図５は、２つの指標が撮影画像に写った場合に算出される「高精度位置合わせ領域」を示すイメージ図である。
【００４６】
３つ以上の指標が位置合わせに利用される場合には、位置合わせに利用される指標のうちの、任意の３つの指標Ｑｋ０とＱｋ１とＱｋ２のそれぞれを結んで決定される平面閉領域内の任意の点ＰＱｋ０Ｑｋ１Ｑｋ２が存在する位置ｘＷＱｋ０ｋ１ｋ２を中心とし、その点と撮像部１１０の視点位置との距離ＲＱｋ０Ｑｋ１Ｑｋ２によって決定される距離ｒＱｋ０Ｑｋ１Ｑｋ２を半径とした球領域が「高精度位置合わせ領域」の一部となる。そして位置合わせに利用される指標から選ぶことができる３指標全ての組み合わせから決定される平面閉領域上の全ての点から決定される球領域を足し合わせた領域が、求めるべき「高精度位置あわせ領域」となる。
【００４７】
また、本実施例に係る指標配置装置における高精度領域算出部１６０においては、例えば「複合現実空間上のある位置における位置合わせ精度は、その位置に最も近い指標の法線ベクトルもしくはその指標が配置されている面の法線ベクトルと、複合現実空間を観察する視線ベクトルのなす角度に応じて変化し、それらが直交に近いほど精度が減少し、平行に近いほど精度が向上する」というルールに従って「高精度位置合わせ領域」を算出してもよい。このルールは、指標がより正面から撮影されるほうが、より大きく指標の画像特徴を観察することができ、より正確に指標の画像投影位置を特定することができるので、より正確な位置合わせが行うことができることをふまえている。このルールに従うと、ただ１つの指標のみが撮影されている場合には、ある角度θを閾値として、視線ベクトルとその指標の法線ベクトルのなす角が閾値θよりも小さくなる時には、その時点で観察されている空間の全領域が「高精度位置合わせ領域」となり、閾値θよりも大きくなる時には、その時点で観察されている空間の全領域が「高精度位置合わせ領域」とならないこととなる。２つ以上の指標が撮影されている場合には、それらの指標のうち、どれにもっとも近いかによって空間が部分領域に分割され、それぞれの部分領域内が「高精度位置合わせ領域」であるか否かが、視線ベクトルとその領域内の指標の法線ベクトルとのなす角によって決定される。
【００４８】
さらにまた、本実施例に係る指標配置装置における高精度領域算出部１６０においては、上記に挙げた２つのルールを合わせて「高精度位置合わせ領域」を算出しても良いし、ユーザの指示などに応じてルールを使い分けて「高精度位置合わせ領域」を算出しても、もちろん良い。
【００４９】
さらに、本実施例に係る指標配置装置における高精度領域算出部１６０においては、「高精度位置合わせ領域」の算出のためのルールとして、上記２つ以外のルールを用いてももちろん良い。
【００５０】
高精度領域算出部１６０が算出する「高精度位置合わせ領域」を示す情報は、画像生成部１７０へと出力される。
【００５１】
画像生成部１７０は、位置姿勢算出部１３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。その方法は一般に良く知られているので、ここでは詳しく述べない。なお、予め保持している仮想空間情報の中に、現実空間に存在する物体やその一部に形状および位置および姿勢が完全に一致する仮想物体に関する情報が含まれていても良い。
【００５２】
また、高精度領域算出部１６０より、「高精度位置合わせ領域」を示す情報が入力された場合には、その情報に応じて、高精度な位置合わせが実現される可能性が高い領域もしくは低い領域を表現する仮想物体情報を生成し、それも含む仮想空間画像を生成する。高精度な位置合わせが実現される可能性が低い領域とは、検出されている全ての指標から決定された「高精度位置合わせ領域」に含まれない領域である。
【００５３】
画像生成部１７０が生成した仮想空間画像は、画像合成部１８０へと出力される。
【００５４】
画像合成部１８０は、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は画像表示部１９０へと出力される。
【００５５】
画像表示部１９０は、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。その複合現実空間には、新たに指標を配置すべき場所が提示されている。すなわち、複合現実空間画像に高精度な位置合わせが実現される可能性が高い領域を表現する仮想物体が含まれている場合には、その領域以外の領域内が新たに指標を配置すべき場所（の候補）である。複合現実空間画像に高精度な位置合わせが実現される可能性が低い領域を表現する仮想物体が含まれている場合には、その領域の内部が新たに指標を配置すべき場所（の候補）である。
【００５６】
また、複合現実空間画像に高精度な位置合わせが実現される可能性が高い／低い領域を表現する仮想物体が含まれていなくとも、現実空間に存在する物体やその一部に形状および位置および姿勢が完全に一致する仮想物体が含まれていれば、その複合現実感画像には、新たに指標を配置すべき場所が提示されていることとなる。すなわち、現実の物体（の一部）と、その物体（の一部）に対応する仮想物体とが、複合現実感画像上においてずれている場所があれば、その場所付近の領域が新たに指標を配置すべき場所（の候補）である。
【００５７】
なお、画像表示部１９０は、撮像部１００と一体化した構成になっていても良い。その場合の、撮像部１００および画像表示部１９０は、いわゆる頭部装着型ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）となりうる。
【００５８】
続いて、図２に示したフローチャートを用いて、本実施例に係る指標配置装置が行う処理について説明する。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【００５９】
処理がスタートすると、ステップＳ２００において、撮像部１００が、現実空間を撮影し撮影画像を指標検出部１２０および画像合成部１８０へ出力する。続いて指標検出部１２０が撮影画像中から指標の検出処理を行い、検出結果である指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎを位置姿勢算出部１３０および高精度領域算出部１６０に出力する。
【００６０】
続いてステップＳ２１０において、指標設定装置に位置姿勢計測部１１０が含まれる場合には、位置姿勢計測部１１０が撮像部１００の撮影視点の位置および／または姿勢を計測する。続いて、位置姿勢計測部１１０の有無に関わらず、位置姿勢算出部１３０が世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。算出された撮影視点の位置および姿勢は、位置姿勢算出部１３０が高精度領域算出部１６０および画像生成部１７０へと出力する。
ステップＳ２３０では、このステップに至るまでに指示部１５０に対して配置ガイダンス実施コマンドが入力されたどうかの確認がなされる。配置ガイダンス実施コマンドが入力されており、かつ、その入力が取り消されていなければ、処理はステップＳ２４０へと進む。逆に、配置ガイダンス実施コマンドが入力されていない、もしくは、その入力が取り消されていれば、処理はステップＳ２５５へと進む。なお、配置ガイダンス実施コマンドの入力およびその入力の取消しは、配置者により指示部１５０を介して任意のタイミングで行われる。
【００６１】
ステップＳ２４０では、高精度領域算出部１６０が、指標検出部１２０から撮影画像中で検出された指標Ｑｋｎの識別子ｋｎを受け取り、指標の位置姿勢算出部１３０から世界座標系における撮像部１００の撮影視点の位置および姿勢を受け取り、指標情報保持部１４０から撮影画像中で検出された指標Ｑｋｎの世界座標系における位置ｘＷＱｋｎを受け取る。そして得た情報から「高精度位置合わせ領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【００６２】
続いてステップＳ２５５において、画像生成部１７０が、位置姿勢算出部１３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。先にも述べたように、予め保持している仮想空間情報の中に、現実空間に存在する物体やその一部に形状および位置および姿勢が完全に一致する仮想物体に関する情報が含まれていても良い。また、ステップＳ２３０において指示部１５０に対して配置ガイダンス実施コマンドが入力されたと判定された場合には、高精度領域算出部１６０より入力した「高精度位置合わせ領域」を示す情報も利用して、高精度な位置合わせが実現される可能性が高い領域もしくは低い領域を表現する仮想物体も含む仮想空間画像を生成する。生成された仮想空間画像は、画像合成部１８０へと出力される。画像合成部１８０では、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は、画像表示部１９０へと出力される。画像表示部１９０では、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。複合現実空間画像が配置者に提示されている状態で、処理はステップＳ２６０へと進む。
【００６３】
ステップＳ２６０では、画像表示部１９０によって提示される複合現実空間画像を見て、配置者が、新たに指標を追加、もしくは、すでに配置された指標を削除するかの指示を、指示部１５０に入力したか判断する。例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が高い領域を表現する仮想物体が含まれている場合、配置者はその領域が事前に定められる観察対象領域全体を覆っていなければ、新たに指標を追加すると指示する。逆にその領域が観察対象領域全体を覆っていれば、配置者は新たな指標の追加しない。またこの場合、配置済みの指標を削除すると指示してもよい。また例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が低い領域を表現する仮想物体が含まれている場合、配置者はその領域が観察対象領域全体を覆っていれば、新たに指標を追加すると指示する。逆にその領域が観察対象領域全体を覆っていなければ、配置者は新たな指標を追加しない。またこの場合、配置済みの指標を削除すると指示してもよい。さらに例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が高い領域もしくは低い領域を表現する仮想物体が含まれておらず、かつ、現実空間に存在する物体やその一部に形状および位置および姿勢が完全に一致する仮想物体が含まれている場合、配置者は複合現実空間画像の中に現実空間に存在する物体やその一部の位置および姿勢とそれに対応する仮想物体の位置および姿勢にずれが生じている場所があれば、新たに指標を追加すると指示する。逆に両者にずれが生じている場所がなければ、配置者は新たな指標を追加しない。またこの場合、配置済みの指標を削除すると指示してもよい。
【００６４】
なお、新たに指標を追加するかどうか、および、すでに配置された指標を削除するかどうかは、配置者が事前に定められる移動範囲内を動きながら判断する。理想的には、移動範囲内の全ての位置からの観察対象領域に対して指標の追加／削除の判断が行われることが望ましい。
【００６５】
配置者が指標の配置もしくは削除を行うと指示した場合には、処理はステップＳ２７０へと進む。そうでなければ、処理はステップＳ２９０へと進む。
【００６６】
ステップＳ２７０では、配置者が画像表示部１９０によって提示される複合現実空間画像を見ながら追加または削除したいと判断した指標の追加または削除を実行する。
【００６７】
どこに指標を配置するかは、画像表示部１９０によって提示される複合現実空間を基に配置者が決定する。例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が高い領域を表現する仮想物体が含まれている場合には、配置者はその領域に覆われていない場所を配置場所とする。また例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が低い領域を表現する仮想物体が含まれている場合には、配置者はその領域で覆われている場所を配置場所とする。さらに例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が高い領域もしくは低い領域を表現する仮想物体が含まれておらず、かつ、現実空間に存在する物体やその一部に形状および位置および姿勢が完全に一致する仮想物体が含まれている場合には、配置者は複合現実空間画像の中に現実空間に存在する物体やその一部の位置および姿勢とそれに対応する仮想物体の位置および姿勢にずれが生じている場所付近を配置場所とする。
【００６８】
一方、配置済み指標のうちのどれを削除するかは、指標の配置分布をもとに配置者が決定する。例えば、複合現実空間画像上において、最も指標が密集している領域から、一部の指標を削除する。削除により、高精度な位置合わせが実現される可能性が高い領域が減少したり、高精度な位置合わせが実現される可能性が低い領域が増加したりする場合には、その削除を取り消せばよい。
【００６９】
なお、指標の追加もしくは削除は、一度に複数回行っても良いし、追加と削除を同じ処理内で行っても良い。
【００７０】
配置者が指標の追加および／もしくは削除を終えると、処理はステップＳ２８０へと進む。
【００７１】
ステップＳ２７０において指標の追加が行われた場合には、ステップＳ２８０において、指標情報保持部１４０に新たに追加された指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’と識別子Ｋ＋ｋ’を示す情報が追加される。先に述べたように、この位置ｘＷＱＫ＋ｋ’を示す情報は、配置者が定規等で実測したものでも良いし、非特許文献４などに開示されているようなキャリブレーションツールによって求めたものでも良い。この情報は、配置者が指示部１５０を介して指標情報保持部１４０に追加する。もしくは、指示部１５０もしくは指標情報保持部１４０に不図示のキャリブレーションツールが接続され、配置者の作業なしに、自動的に情報の追加が行われる。
【００７２】
ステップＳ２７０において指標の削除が行われた場合には、同じくステップＳ２８０において、情景中から削除された指標Ｑｋの世界座標系における位置ｘＷＱｋと識別子ｋを示す情報が指標情報保持部１４０から削除される。削除される情報は、配置者の指定に基づく指示部１５０からの「指定指標情報削除」の指示に従って決定される。もしくは、指標検出部１２０において検出されていた指標が削除により検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出されなくなったことに基づいて送信される、指標検出部１２０からの「指定指標情報削除」によって決定される。
【００７３】
追加された指標の情報追加もしくは削除された指標の情報削除が終了すると、処理はステップＳ２９０へと進む。
【００７４】
ステップＳ２９０では、本実施例の指標配置装置が行う処理を終了するか否かの判定が行われる。配置者が指標配置装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ２００へと戻る。ステップＳ２００に戻ると、情景中の指標の配置状況が変更された状態で処理が始まる。
【００７５】
以上の処理により、本実施例に係る指標配置装置は、新たに指標を配置すべき場所を配置者に提示する。さらには、配置済みの指標の削除することが位置合わせ精度に与える影響を配置者に提示する。
【００７６】
［変形例１−１］
第１の実施例では、指標の削除を行う際に、指標の配置分布をもとに配置者がどの指標を削除するかを決定して削除を行い、削除した結果得られる高精度領域が減少する場合には、入力した削除コマンドを取り消すことで指標の削除操作を取り消していた。しかしながら、配置者が指示部１５０を介して削除候補の指標を選択し、選択された指標以外の指標から高精度領域算出部１６０が高精度領域を算出するようにすることによって、削除コマンドを入力せずに高精度領域の変化を観察することができる。これによって、削除コマンドの取り消しといった操作を必要とせずに、効率的に指標の削除を行うことが可能になる。削除候補の指標の選択は、例えばキーボードの特定のキーを押すことによって、指標のインデックスｋをインクリメンタルに変更することにより行う。
【００７７】
［変形例１−２］
第１の実施例では、高精度領域算出部１６０が高精度領域を算出する際に、撮影画像上で検出・同定された指標を用いて高精度領域の算出を行っていた。しかしながら、高精度領域の算出に用いられる指標はこれに限られるものではなく、情景中に存在するすべての指標に基づいて高精度領域を算出してもよいし、撮影画像上で検出・同定された指標にある程度近いすべての指標に基づいて算出してもよい。
【００７８】
［変形例１−３］
第１の実施例では、指標が２個存在する場合には２個の指標を結ぶ線分からの距離をもとにして高精度領域を算出し、指標が３個存在する場合には３個の指標から構成される平面からの距離をもとにして高精度領域を算出するというルールを用いていた。高精度領域の算出はこれに限るものではなく、複数の指標が存在する場合でも個々の指標についてそれぞれ高精度領域（球領域）を算出し、それらの個々の球領域を表す仮想物体を複合現実空間に提示してもよい。
【００７９】
［変形例１−４］
第１の実施例では、情景中に存在する指標の画像上での投影像をもとに撮像視点の位置および姿勢の算出を行っていた。しかしながら、撮像視点の位置および姿勢の算出方法はこれに限るものではなく、他の方法を用いてもよい。例えば、撮像部に磁気式や超音波式、または光学式の６自由度位置姿勢センサを装着し、センサの計測値によって撮像視点の位置および姿勢を求めてもよい。
【００８０】
［第２の実施例］
本実施例に係る指標設置装置および指標設置方法は、新たに配置する指標によって高精度な位置合わせが実現される可能性が高い領域を、配置および配置位置情報の入力を行う前から視覚的に示すことで、よりわかりやすく配置すべき場所を配置者に提示する。以下、本実施例に係る指標設置装置について説明する。
【００８１】
図６は、本実施例に係る指標配置装置の概略構成を示す図である。図１と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。図６に示したように、本実施例に係る指標配置装置は、撮像部１００、指標検出部６２０、位置姿勢算出部１３０、指標情報保持部６４０、指示部１５０、高精度領域算出部６６０、画像生成部１７０、画像合成部１８０、および画像表示部１９０とから構成されている。また場合により、本実施例に係る指標配置装置は位置姿勢計測部１１０も含んでいる。
【００８２】
撮像部１００は現実空間を撮影する。撮像部１００が撮影した画像は、指標検出部６２０および画像合成部１８０に入力される。場合により、撮像部１００には、その撮影視点の位置および／または姿勢を計測する位置姿勢計測部１１０が付属していてもよい。
【００８３】
（本実施例に係る指標配置装置にとって必須ではない）位置姿勢計測部１１０は、世界座標系における撮像部１００の撮影視点の位置および／または姿勢を計測する。位置姿勢計測部１１０の計測値は、位置姿勢算出部１３０に入力される。
【００８４】
現実空間中の複数の位置には、撮像部１００によって撮影するための指標として、世界座標系における位置ｘＷＱｋが既知である複数個の指標Ｑｋ（ｋ＝１，，，Ｋ）が配置されている。指標Ｑｋの形態は、第１の実施例と同様である。ただし、新たに現実空間に配置する指標ＱＫ＋ｋ’は、ある程度の面積を有する三角形を除く多角形の単色領域によって形成されるような、形状と大きさが既知の多角形指標を用いる。例えば、四角形指標である。先に述べたように、このような多角形指標は、本実施例では多角形の頂点の個々によって形成される複数個の指標であると考える。
【００８５】
指標検出部６２０は、撮像部１００より撮影画像を入力し、入力した撮影画像中に撮影されている指標の画像座標を検出する。この指標には、すでに現実空間中に配置されている指標Ｑｋと、配置者によって保持されこれより配置されようとしている指標ＱＫ＋ｋ’とが含まれている。前者の指標Ｑｋについては、その世界座標ｘＷＱｋと識別子ｋｎが指標情報保持部６４０に保持されている。後者の指標ＱＫ＋ｋ’については、その識別子Ｋ＋ｋ’は指標情報保持部６４０に保持されているが、世界座標ｘＷＱｋは指標情報保持部６４０に保持されていない。
【００８６】
検出された配置済み指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎは、位置姿勢算出部１３０へと出力される。一方、検出されたこれより配置されようとしている指標ＱＫ＋ｋ’の画像座標ｕＱＫ＋ｋ’と識別子Ｋ＋ｋ’は、高精度領域算出部６６０へと出力される。
【００８７】
また、指標検出部６２０は、配置者により配置済みの指標が削除されたことにより、それまで検出していた指標が検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出できなくなった場合には、その指標に関する情報の削除を意味する「指定指標情報削除」の指示を指標情報保持部６４０に送信しても良い。
【００８８】
位置姿勢算出部１３０は、指標検出部６２０で検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと、既知な情報として予め指標情報保持部６４０に保持されている識別子ｋｎを用いて参照される指標の世界座標ｘＷＱｋｎとの対応関係に基づいて、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。
【００８９】
撮像部１００に位置姿勢計測部１１０が付属する場合には、位置姿勢算出部１３０は位置姿勢計測部１１０の計測値も利用して、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出してもよい。例えば、位置姿勢計測部１１０で計測された撮影視点の位置もしくは姿勢の計測値をそのまま算出結果として利用し、残りは指標を基に算出しても良い。また、位置姿勢算出部１３０の内部に既知な情報として予め保持されている位置もしくは姿勢をそのまま算出結果として利用し、残りは指標を基に算出しても良い。
【００９０】
算出した世界座標系における撮像部１００の撮影視点の位置および姿勢は、画像生成部１７０へと出力される。
【００９１】
また、位置姿勢算出部１３０は、高精度領域算出部６６０に対しても、高精度領域算出部６６０からの要求に応じて世界座標系における撮像部１００の撮影視点の位置および姿勢を出力する。
【００９２】
指標情報保持部６４０は、既に現実空間中に配置されている指標Ｑｋの世界座標系における位置ｘＷＱｋと識別子ｋを保持している。また、指示部１５０を介して配置者により新たに入力される指標ＱＫ＋ｋ’（ｋ’＝１，，，）の世界座標系における位置ｘＷＱＫ＋ｋ’を、内部に追加して保持する。さらにまた指標情報保持部６４０は、指標検出部６２０もしくは指示部１５０からの「指定指標情報削除」の指示に従って、指定された指標の情報を削除する。
【００９３】
指標情報保持部６４０が保持している位置ｘＷＱｋは、位置姿勢算出部１３０に対して出力される。
【００９４】
先に述べたように、新たに配置される指標は全て三角形を除く形状と大きさが既知の多角形指標である。よって指標情報保持部６４０は、第１の実施例に係る指標配置装置における指標情報保持部１４０と異なり、まだ現実空間中に配置されていない指標ＱＫ＋ｋ’の識別子Ｋ＋ｋ’を、１つの多角形指標を構成する組みごとに保持している。さらに、それらの指標の相対位置関係情報も保持している。指標ＱＫ＋ｋ’が多角形指標を構成する際の識別子の組み合わせ情報、および、それらの相対位置関係情報は、高精度領域算出部６６０に対して出力される。
【００９５】
指示部１５０は、配置者から配置ガイダンス実施コマンドが入力された時には、「高精度位置合わせ領域算出」の指示を高精度領域算出部６６０に送信する。
【００９６】
また、配置者から新たに指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’を示す情報を入力された場合には、その情報を指標情報保持部６４０に送信する。
【００９７】
また、配置者から配置済指標削除コマンドおよび配置対象指標の識別子が入力された時には、その識別子に対応する指標に関する情報の削除を意味する「指定指標情報削除」の指示を、指標情報保持部６４０に送信する。
【００９８】
高精度領域算出部６６０は、第１の実施例に係る指標配置装置における高精度領域算出部１６０と同様に、指示部１５０より「高精度位置合わせ領域算出」の指示を受け取った場合に、指標検出部６２０から撮影画像中で検出された指標Ｑｋｎの識別子ｋｎを受け取り、指標の位置姿勢算出部１３０から世界座標系における撮像部１００の撮影視点の位置および姿勢を受け取り、指標情報保持部６４０から撮影画像中で検出された配置済み指標Ｑｋｎの世界座標系における位置ｘＷＱｋｎを受け取る。そして受け取った情報から、高精度な位置合わせが実現される可能性が高い領域（「高精度位置合わせ領域」）を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【００９９】
上記に加えて、高精度領域算出部６６０は、以下のような方法でも「高精度位置合わせ領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。すなわち、指示部１５０より「高精度位置合わせ領域算出」の指示を受け取った場合に、指標検出部６２０から撮影画像中で検出されたこれより配置されようとしている指標ＱＫ＋ｋ’の画像座標ｕＱＫ＋ｋ’と識別子Ｋ＋ｋ’を受け取り、指標情報保持部６４０から撮影画像中で検出された指標ＱＫ＋ｋ’が多角形指標を構成する際の組み合わせ情報とそれらの相対位置関係情報を受け取る。そして受け取った情報から、「高精度位置合わせ領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。以下、詳しく説明する。
【０１００】
三角形以外の多角形指標が撮影画像に写る場合は、同一平面上に配置されている４点以上の指標を検出したことに相当する。すると、その指標の検出結果だけから、２次元ホモグラフィの計算に基づいて撮像視点の位置および姿勢を得ることができる。このとき、その多角形指標が現実空間に配置されていなければ、世界座標系における撮像視点の位置および姿勢は算出されないが、多角形指標と撮影視点との相対的な位置および姿勢は算出することができる。これはつまり、多角形指標上の１点を原点として定義し、更に互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系（多角形指標座標系と呼ぶ）上における撮像視点の位置および姿勢が、指標の世界座標系における位置が未知でも求められることに相当する。多角形指標座標系上の撮像視点の位置および姿勢がわかれば、多角形指標座標系上に仮想物体画像を表示することが可能である。
【０１０１】
このことを利用し、高精度領域算出部６６０は、配置者に保持されている、これより配置されようとしている多角形指標に関して、その多角形指標座標系上での「高精度位置合わせ領域」を算出する。世界座標系上で観察する場合、この「高精度位置合わせ領域」は多角形指標の周囲を常に覆い、配置者が多角形指標を動かすとそれに合わせて「高精度位置合わせ領域」の位置も動いていくように観察される。すると、配置者は、多角形指標を配置する前から、その多角形指標によって高精度な位置合わせが実現される範囲を見ることができる。すでに配置されている指標によって高精度な位置合わせが実現される範囲も見ることができるので、配置者は、その両者の重なり具合等を鑑みながら多角形指標の配置場所を決めることができる。
【０１０２】
配置前の多角形指標の「高精度位置合わせ領域」を算出方法は、配置済みの指標の「高精度位置合わせ領域」の算出方法に倣う。例えば、多角形指標全体を１つの指標と捉えて、「ある位置における位置合わせ精度は検出されている指標からの距離に応じて減少する」や「複合現実空間上のある位置における位置合わせ精度は、その位置に最も近い指標の法線ベクトルもしくはその指標が配置されている面の法線ベクトルと、複合現実空間を観察する視線ベクトルのなす角度に応じて変化し、それらが直交に近いほど精度が減少し、平行に近いほど精度が向上する」などというルールに従って「高精度位置合わせ領域」を算出してもよいし、多角形指標を１つの平面と捉えて、１つの指標に対して行う算出方法における「指標が存在する位置」を「平面上の全ての点が存在する位置」と読み変えて行っても良い。
【０１０３】
高精度領域算出部６６０が算出する「高精度位置合わせ領域」を示す情報は、画像生成部１７０へと出力される。
【０１０４】
画像生成部１７０は、位置姿勢算出部１３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。
【０１０５】
また、高精度領域算出部１６０より、「高精度位置合わせ領域」を示す情報が入力された場合には、その情報に応じて、高精度な位置合わせが実現される可能性が高い領域を表現する仮想物体情報を生成し、それも含む仮想空間画像を生成する。
【０１０６】
画像生成部１７０が生成した仮想空間画像は、画像合成部１８０へと出力される。
【０１０７】
画像合成部１８０は、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は画像表示部１９０へと出力される。
【０１０８】
画像表示部１９０は、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。その複合現実空間には、新たに指標を配置すべき場所が提示されている。すなわち、複合現実空間画像に高精度な位置合わせが実現される可能性が高い領域が示されているので、その領域以外の領域内が新たに指標を配置すべき場所（の候補）となる。
【０１０９】
なお、画像表示部１９０は、撮像部１００と一体化した構成になっていても良い。その場合の、撮像部１００および画像表示部１９０は、いわゆる頭部装着型ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）となりうる。
【０１１０】
続いて、図７に示したフローチャートを用いて、本実施例に係る指標配置装置が行う処理について説明する。図２と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【０１１１】
処理がスタートすると、ステップＳ７００において、撮像部１００が、現実空間を撮影し撮影画像を指標検出部６２０および画像合成部１８０へ出力する。続いて指標検出部６２０が撮影画像中から指標の検出処理を行い、検出結果のうちの、配置済み指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎを位置姿勢算出部１３０へと出力する。残りの検出結果である、これより配置されようとしている指標ＱＫ＋ｋ’の画像座標ｕＱＫ＋ｋ’と識別子Ｋ＋ｋ’を高精度領域算出部６６０へと出力する。
【０１１２】
続いてステップＳ２１０において、指標設定装置に位置姿勢計測部１１０が含まれる場合には、位置姿勢計測部１１０が撮像部１００の撮影視点の位置および／または姿勢を計測する。続いて、位置姿勢計測部１１０の有無に関わらず、位置姿勢算出部１３０が世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。算出された撮影視点の位置および姿勢は、位置姿勢算出部１３０が高精度領域算出部６６０および画像生成部１７０へと出力する。
【０１１３】
ステップＳ２３０では、このステップに至るまでに指示部１５０に対して配置ガイダンス実施コマンドが入力されたどうかの確認がなされる。配置ガイダンス実施コマンドが入力されており、かつ、その入力が取り消されていなければ、処理はステップＳ７４０へと進む。逆に、配置ガイダンス実施コマンドが入力されていない、もしくは、その入力が取り消されていれば、処理はステップＳ７５５へと進む。
【０１１４】
なお、配置ガイダンス実施コマンドの入力およびその入力の取消しは、配置者により指示部１５０を介して任意のタイミングで行われる。
【０１１５】
ステップＳ７４０では、高精度領域算出部６６０が、指標検出部６２０から撮影画像中で検出された指標Ｑｋｎの識別子ｋｎを受け取り、指標の位置姿勢算出部１３０から世界座標系における撮像部１００の撮影視点の位置および姿勢を受け取り、指標情報保持部６４０から撮影画像中で検出された指標Ｑｋｎの世界座標系における位置ｘＷＱｋｎを受け取る。そして得た情報から「高精度位置合わせ領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【０１１６】
次にステップＳ７２０において、撮影画像上でこれより配置されようとしている指標ＱＫ＋ｋ’が検出されているかどうかの判断を行う。検出されている場合にはステップＳ７１１に進み、検出されていない場合にはステップＳ７５５に進む。
【０１１７】
ステップＳ７１１では、撮影画像上で検出された指標ＱＫ＋ｋ’と撮像部１００との相対的な位置および姿勢を、ステップＳ２１０と同様の処理によって求める。さらに、ステップＳ７４１では、高精度領域算出部６６０が、指標検出部６２０から撮影画像中で検出されたこれより配置されようとしている指標ＱＫ＋ｋ’の画像座標ｕＱＫ＋ｋ’と識別子Ｋ＋ｋ’を受け取り、指標情報保持部６４０から撮影画像中で検出された指標ＱＫ＋ｋ’が多角形指標を構成する際の組み合わせ情報とそれらの相対位置関係情報を受け取る。そして受け取った情報から、「高精度位置合わせ領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。続いてステップＳ７５５において、画像生成部１７０が、位置姿勢算出部１３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。さらに、ステップＳ２３０でガイダンス実施と判定されている場合には、高精度領域算出部６６０より入力した「高精度位置合わせ領域」を示す情報も利用して、高精度な位置合わせが実現される可能性が高い領域を表現する仮想物体も含む仮想空間画像を生成する。生成された仮想空間画像は、画像合成部１８０へと出力される。画像合成部１８０では、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は、画像表示部１９０へと出力される。画像表示部１９０では、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。複合現実空間画像が配置者に提示されている状態で、処理はステップＳ７６０へと進む。
【０１１８】
ステップＳ７６０では、配置者が、新たに多角形指標を追加、もしくは、すでに配置された指標を削除することを指示部１５０によって指示したかどうかを、判定する。画像表示部１９０によって提示される複合現実空間には「高精度位置合わせ領域」が仮想物体によって表示されているので、配置者はその領域が事前に定められる観察対象領域全体を覆っていなければ、新たに多角形指標を追加すると判断する。逆にその領域が観察対象領域全体を覆っていれば、配置者は新たな多角形指標の追加しないと判断する。またこの場合、配置済みの指標を削除すると判断してもよい。
【０１１９】
なお、新たに多角形指標を追加するかどうか、および、すでに配置された指標を削除するかどうかは、事前に定められる移動範囲内を動きながら判断する。理想的には、移動範囲内の全ての位置からの観察対象領域に対して指標の追加／削除の判断が行われることが望ましい。
【０１２０】
配置者が多角形指標の配置もしくは指標の削除を行うと指示した場合には、処理はステップＳ７７０へと進む。そうでなければ、処理はステップＳ２９０へと進む。
【０１２１】
ステップＳ７７０では、配置者が画像表示部１９０によって提示される複合現実空間画像を見ながら追加または削除したいと判断した指標の追加または削除を実行する。
【０１２２】
どこに多角形指標を配置するかは、画像表示部１９０によって提示される複合現実感を基に配置者が決定する。画像表示部１９０によって提示される複合現実空間には「高精度位置合わせ領域」が仮想物体によって表示されているので、配置者はその領域に覆われていない場所を配置場所とする。このとき、配置者が保持し、これから配置しようとしている多角形指標の周囲にも「高精度位置合わせ領域」を表現する仮想物体が表示されていることを利用し、配置済みの指標によって決定される「高精度位置合わせ領域」と、配置しようとしている多角形指標による「高精度位置合わせ領域」が、隙間なくかつ重なり過ぎないような位置に、新たな多角形指標を配置する。
【０１２３】
多角形指標をしかるべき位置に配置するために配置者は多角形指標の移動を行うが、その移動中にも複合現実空間画像は配置者に提示されつづけ、かつ、その画像は撮像部１００の撮像視点の位置および姿勢、ならびに、多角形指標の位置に応じて変化する。
【０１２４】
ステップＳ７７０において指標の追加が行われた場合には、ステップＳ２８０において、指標情報保持部６４０に新たに追加された指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’を示す情報が追加される。この情報は、配置者が指示部１５０を介して指標情報保持部６４０に追加される。もしくは、指示部１５０もしくは指標情報保持部６４０に不図示のキャリブレーションツールが接続され、配置者の作業なしに、自動的に情報の追加が行われる。
【０１２５】
ステップＳ７７０以降において指標の削除が行われた場合には、同じくステップＳ２８０において、情景中から削除された指標Ｑｋの世界座標系における位置ｘＷＱｋを示す情報が指標情報保持部６４０から削除される。削除される情報は、配置者の指定に基づく指示部１５０からの「指定指標情報削除」の指示に従って決定される。もしくは、指標検出部６２０において検出されていた指標が削除により検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出されなくなったことに基づいて送信される、指標検出部６２０からの「指定指標情報削除」によって決定される。
【０１２６】
追加された指標の情報追加もしくは削除された指標の情報削除が終了すると、処理はステップＳ２９０へと進む。
【０１２７】
ステップＳ２９０では、本実施例の指標配置装置が行う処理を終了するか否かの判定が行われる。配置者が指標配置装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ２００へと戻る。ステップＳ２００に戻ると、情景中の指標の配置状況が変更された状態で処理が始まる。
【０１２８】
以上の処理により、本実施例に係る指標配置装置は、新たに配置する指標によって高精度な位置合わせが実現される可能性が高い領域を、配置および配置位置情報の入力を行う前から視覚的に示すことで、よりわかりやすく配置すべき場所を配置者に提示する。
【０１２９】
［変形例２−１］
第２の実施例では、新たに追加する指標を多角形指標とし、多角形指標の撮影画像上での投影像から多角形指標と撮像部の相対的な位置および姿勢を求め、移動する多角形指標上に高精度位置合わせ領域を表示し、すでに配置されている指標による高精度位置合わせ領域と併せて観察することで、どこに指標を配置すべきかを配置者に提示していた。しかしながら、配置者が把持する多角形指標上に表示する高精度位置合わせ領域を、把持している多角形指標のものではなく、異なる種類の指標（例えば、それぞれが異なる色を有する円形状のマーカ）の高精度位置合わせ領域を表示させ、その異なる種類の指標を配置したときに高精度領域がどのように変化するかを配置者に提示するようにしてもよい。このとき、配置者は、指示部１５０を用いて、多角形指標上に表示する高精度位置合わせ領域を切替を行う。このようにすることで、一台のカメラによる投影像からは世界座標系における位置を求めることの出来ない指標でも、第２の実施例のように、配置する前から高精度位置合わせ領域を配置者に提示することが可能になる。
【０１３０】
［変形例２−２］
第２の実施例では、指標の投影像から撮像部と指標との相対的な位置および姿勢を算出可能な多角形指標を用いていた。しかしながら、指標の世界座標における位置または位置および姿勢を求めることができればこれに限るものではなく、例えば指標に磁気センサなどの６自由度位置姿勢センサを装着し、世界座標系における指標の位置および姿勢を計測してもよい。また、世界座標系における位置および姿勢が既知である複数のカメラの撮影画像をもとに、公知の方法によって指標の位置または位置および姿勢を求めてもよい。
【０１３１】
［変形例２−３］
第２の実施例では、情景中に存在する指標の画像上での投影像をもとに世界座標系における撮像視点の位置および姿勢の算出を行っていた。しかしながら、撮像視点の位置および姿勢の算出方法はこれに限るものではなく、他の方法を用いてもよい。例えば、撮像部に磁気式や超音波式、または光学式の６自由度位置姿勢センサを装着し、センサの計測値によって撮像視点の位置および姿勢を求めてもよい。
【０１３２】
［第３の実施例］
本実施例に係る指標設置装置および指標設置方法は、高精度な位置合わせが実現される可能性が高い領域を、より簡便な方法で配置者に提示する。以下、本実施例に係る指標設置装置について説明する。
【０１３３】
図８は、本実施例に係る指標配置装置の概略構成を示す図である。図１と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。図８に示したように、本実施例に係る指標配置装置は、撮像部１００、指標検出部８２０、位置姿勢算出部８３０、指標情報保持部８４０、指示部１５０、高精度領域算出部８６０、画像生成部１７０、画像合成部１８０、および画像表示部１９０とから構成されている。また場合により、本実施例に係る指標配置装置は位置姿勢計測部１１０も含んでいる。
【０１３４】
撮像部１００は現実空間を撮影する。撮像部１００が撮影した画像は、指標検出部８２０および画像合成部１８０に入力される。場合により、撮像部１００には、その撮影視点の位置および／または姿勢を計測する位置姿勢計測部１１０が付属していてもよい。
【０１３５】
（本実施例に係る指標配置装置にとって必須ではない）位置姿勢計測部１１０は、世界座標系における撮像部１００の撮影視点の位置および／または姿勢を計測する。位置姿勢計測部１１０の計測値は、位置姿勢算出部８３０に入力される。
【０１３６】
現実空間中の複数の位置には、撮像部１００によって撮影するための指標として、世界座標系における位置ｘＷＱｋが既知である複数個の指標Ｑｋ（ｋ＝１，，，Ｋ）が配置されている。指標Ｑｋの形態は、第１の実施例と同様である。
【０１３７】
指標検出部８２０は、撮像部１００より撮影画像を入力し、入力した撮影画像中に撮影されている指標Ｑｋの画像座標を検出する。
【０１３８】
検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎは、位置姿勢算出部８３０へ出力される。また、検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎは高精度領域算出部８６０へも出力される。
【０１３９】
また、指標検出部８２０は、配置者により配置済みの指標が削除されたことにより、それまで検出していた指標が検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出できなくなった場合には、その指標に関する情報の削除を意味する「指定指標情報削除」の指示を指標情報保持部８４０に送信しても良い。
【０１４０】
位置姿勢算出部８３０は、指標検出部８２０で検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと、既知な情報として予め指標情報保持部６４０に保持されている識別子ｋｎを用いて参照される指標の世界座標ｘＷＱｋｎとの対応関係に基づいて、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。
【０１４１】
撮像部１００に位置姿勢計測部１１０が付属する場合には、位置姿勢算出部８３０は位置姿勢計測部１１０の計測値も利用して、世界座標系における撮像部１００の撮影視点の位置および／または姿勢を算出してもよい。例えば、位置姿勢計測部１１０で計測された撮影視点の位置もしくは姿勢の計測値をそのまま算出結果として利用し、残りは指標を基に算出しても良い。また、位置姿勢算出部８３０の内部に既知な情報として予め保持されている位置もしくは姿勢をそのまま算出結果として利用し、残りは指標を基に算出しても良い。
【０１４２】
算出した世界座標系における撮像部１００の撮影視点の位置および姿勢は、画像生成部１７０へと出力される。
【０１４３】
指標情報保持部８４０は、既に現実空間中に配置されている指標Ｑｋの世界座標系における位置ｘＷＱｋと識別子ｋを保持している。また、指示部１５０を介して配置者により新たに入力される指標ＱＫ＋ｋ’（ｋ’＝１，，，）の世界座標系における位置ｘＷＱＫ＋ｋ’と識別子Ｋ＋ｋ’を、内部に追加して保持する。さらにまた指標情報保持部８４０は、指標検出部８２０もしくは指示部１５０からの「指定指標情報削除」の指示に従って、指定された指標の情報を削除する。
【０１４４】
指標情報保持部８４０が保持している位置ｘＷＱｋは、位置姿勢算出部８３０に対して出力される。
【０１４５】
指示部１５０は、配置者から配置ガイダンス実施コマンドが入力された時には、「高精度位置合わせ領域算出」の指示を高精度領域算出部８６０に送信する。
【０１４６】
また、配置者から新たに指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’を示す情報を入力された場合には、その情報を指標情報保持部８４０に送信する。
【０１４７】
また、配置者から配置済指標削除コマンドおよび配置対象指標の識別子が入力された時には、その識別子に対応する指標に関する情報の削除を意味する「指定指標情報削除」の指示を、指標情報保持部８４０に送信する。
【０１４８】
高精度領域算出部８６０は、第１の実施例に係る指標配置装置における高精度領域算出部１６０と同様に、指示部１５０より「高精度位置合わせ領域算出」の指示を受け取った場合に、指標検出部８２０から撮影画像中で検出された指標Ｑｋｎの画像座標ｕＱｋｎを受け取る。そして受け取った情報から、高精度な位置合わせが実現される可能性が高い領域（「高精度位置合わせ領域」）を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【０１４９】
本実施例に係る指標配置装置における高精度領域算出部８６０においては、「複合現実空間画像上のある位置における位置合わせ精度は、検出されている指標からの複合現実空間画像上での距離に応じて減少する」というルールに従って「高精度位置合わせ領域」を算出する。このルールは、前述した「ある空間の付近に指標が配置されているかどうかは、その空間における位置合わせ精度を決定する一つの要因となっている」ことをふまえている。このルールに従うと、ある距離ｒを閾値として、ある１つの指標Ｑｋ０が検出された画像上の位置を中心とし距離ｒを半径とした複合現実空間画像上の円領域が「高精度位置合わせ領域」となる。ゆえに高精度領域算出部８６０は、その領域を示す情報として円の中心画像座標ｕＱｋｎと半径ｒを画像生成部１７０へ出力する。ここで距離ｒは「検出された指標の撮影画像上での大きさに比例する」として算出されるものとする。これは、より大きく撮影された指標の方が、その位置がより正確に特定できるからである。例えば、ｒ＝５（定数）×（検出指標の撮影画像上での外接円の半径）などとして算出される。図１０は、本実施例に係る指標配置装置における高精度領域算出部８６０が算出する「高精度位置合わせ領域」を示すイメージ図である。なお、ｒは他の方法で決定しても良い。
【０１５０】
なお、撮影画像上における指標の画像座標の検出は、世界座標系におけるその指標の位置が未知でも実現できる。このことを利用し、高精度領域算出部８６０は、配置者に保持されている、これより配置されようとしている指標に関しても「高精度位置合わせ領域」を算出する。この場合、「高精度位置合わせ領域」は配置前の指標の周囲を常に覆い、配置者が指標を動かすとそれに合わせて「高精度位置合わせ領域」の位置も動いていくように観察される。すると、配置者は、指標を配置する前から、その指標によって高精度な位置合わせが実現される範囲を見ることができる。すでに配置されている指標によって高精度な位置合わせが実現される範囲も見ることができるので、配置者は、その両者の重なり具合等を鑑みながら指標の配置場所を決めることができる。
【０１５１】
また、本実施例に係る指標配置装置における高精度領域算出部８６０においては、例えば「複合現実空間上のある位置における位置合わせ精度は、その位置に最も近い指標の法線ベクトルもしくはその指標が配置されている面の法線ベクトルと、複合現実空間を観察する視線ベクトルのなす角度に応じて変化し、それらが直交に近いほど精度が減少し、平行に近いほど精度が向上する」というルールに従って「高精度位置合わせ領域」を算出してもよい。このルールは、指標がより正面から撮影されるほうが、より大きく指標の画像特徴を観察することができ、より正確に指標の画像投影位置を特定することができるので、より正確な位置合わせが行うことができることをふまえている。このルールに従うと、ただ１つの指標のみが撮影されている場合には、ある角度θを閾値として、視線ベクトルとその指標の法線ベクトルのなす角が閾値θよりも小さくなる時には、撮影画像の全領域が「高精度位置合わせ領域」となり、閾値θよりも大きくなる時には、撮影画像の全領域が「高精度位置合わせ領域」とならないこととなる。２つ以上の指標が撮影されている場合には、それらの指標のうち、どれにもっとも近いかによって撮影画像が部分領域に分割され、それぞれの部分領域内が「高精度位置合わせ領域」であるか否かが、視線ベクトルとその領域内の指標の法線ベクトルとのなす角によって決定される。
【０１５２】
さらにまた、本実施例に係る指標配置装置における高精度領域算出部８６０においては、上記に挙げた２つのルールを合わせて「高精度位置合わせ領域」を算出しても良いし、ユーザの指示などに応じてルールを使い分けて「高精度位置合わせ領域」を算出しても、もちろん良い。
【０１５３】
さらに、本実施例に係る指標配置装置における高精度領域算出部８６０においては、「高精度位置合わせ領域」の算出のためのルールとして、上記２つ以外のルールを用いてももちろん良い。
【０１５４】
高精度領域算出部８６０が算出する「高精度位置合わせ領域」を示す情報は、画像生成部１７０へと出力される。
【０１５５】
画像生成部１７０は、位置姿勢算出部８３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。
【０１５６】
また、高精度領域算出部８６０より、「高精度位置合わせ領域」を示す情報が入力された場合には、その情報に応じて、高精度な位置合わせが実現される可能性が高い領域もしくは低い領域を表現する仮想画像情報を生成し、それも含む仮想空間画像を生成する。高精度な位置合わせが実現される可能性が低い領域とは、検出されている全ての指標から決定された「高精度位置合わせ領域」に含まれない領域である。
【０１５７】
画像生成部１７０が生成した仮想空間画像は、画像合成部１８０へと出力される。
【０１５８】
画像合成部１８０は、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は画像表示部１９０へと出力される。
【０１５９】
画像表示部１９０は、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。その複合現実空間には、新たに指標を配置すべき場所が提示されている。すなわち、複合現実空間画像に高精度な位置合わせが実現される可能性が高い領域を表現する仮想画像が含まれている場合には、その仮想画像に覆われていない領域内が新たに指標を配置すべき場所（の候補）である。複合現実空間画像に高精度な位置合わせが実現される可能性が低い領域を表現する仮想画像が含まれている場合には、その仮想画像に覆われている領域の内部が新たに指標を配置すべき場所（の候補）である。
【０１６０】
続いて、図９に示したフローチャートを用いて、本実施例に係る指標配置装置が行う処理について説明する。図７と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【０１６１】
処理がスタートすると、ステップＳ７００において、撮像部１００が、現実空間を撮影し撮影画像を指標検出部８２０および画像合成部１８０へ出力する。続いて指標検出部８２０が撮影画像中から指標の検出処理を行い、検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎを位置姿勢算出部８３０へ出力する。また、検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎを、高精度領域算出部８６０へも出力する。
【０１６２】
続いてステップＳ２１０において、指標設定装置に位置姿勢計測部１１０が含まれる場合には、位置姿勢計測部１１０が撮像部１００の撮影視点の位置および／または姿勢を計測する。続いて、位置姿勢計測部１１０の有無に関わらず、位置姿勢算出部８３０が世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。算出された撮影視点の位置および姿勢は、位置姿勢算出部８３０が画像生成部１７０へと出力する。
【０１６３】
ステップＳ２３０では、このステップに至るまでに指示部１５０に対して配置ガイダンス実施コマンドが入力されたどうかの確認がなされる。配置ガイダンス実施コマンドが入力されており、かつ、その入力が取り消されていなければ、処理はステップＳ９４０へと進む。逆に、配置ガイダンス実施コマンドが入力されていない、もしくは、その入力が取り消されていれば、処理はステップＳ７５５へと進む。
【０１６４】
なお、配置ガイダンス実施コマンドの入力およびその入力の取消しは、配置者により指示部１５０を介して任意のタイミングで行われる。
【０１６５】
ステップＳ９４０では、高精度領域算出部８６０が、指標検出部８２０から撮影画像中で検出された指標Ｑｋｎの識別子ｋｎを受け取り、指標の位置姿勢算出部１３０から世界座標系における撮像部１００の撮影視点の位置および姿勢を受け取り、指標情報保持部６４０から撮影画像中で検出された指標Ｑｋｎの世界座標系における位置ｘＷＱｋｎを受け取る。そして得た情報から「高精度位置合わせ領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【０１６６】
次にステップＳ７２０において、撮影画像上でこれより配置されようとしている指標ＱＫ＋ｋ’が検出されているかどうかの判断を行う。検出されている場合にはステップＳ９４１に進み、検出されていない場合にはステップＳ７５５に進む。
ステップＳ９４１では、高精度領域算出部６６０によって、指標ＱＫ＋ｋ’の高精度領域を、ステップＳ９４０と同様な方法で算出し、その領域を示す情報を画像生成部１７０に出力する。
【０１６７】
続いてステップＳ７５５において、画像生成部１７０が、位置姿勢算出部８３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。さらに、ステップＳ２３０でガイダンス実施と判定されている場合には、高精度領域算出部８６０より入力した「高精度位置合わせ領域」を示す情報も利用して、高精度な位置合わせが実現される可能性が高い領域を表現する仮想物体も含む仮想空間画像を生成する。生成された仮想空間画像は、画像合成部１８０へと出力される。画像合成部１８０では、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は、画像表示部１９０へと出力される。画像表示部１９０では、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。複合現実空間画像が配置者に提示されている状態で、処理はステップＳ７６０へと進む。
【０１６８】
ステップＳ９６０では、配置者が、新たに指標を追加、もしくは、すでに配置された指標を削除することを指示部１５０によって指示したかどうかを、判定する。例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が高い領域を表現する仮想画像が含まれている場合、配置者はその領域が事前に定められる観察対象領域全体を覆っていなければ、新たに指標を追加すると判断する。逆にその領域が観察対象領域全体を覆っていれば、配置者は新たな指標の追加しないと判断する。またこの場合、配置済みの指標を削除すると判断してもよい。また例えば、画像表示部１９０によって提示される複合現実感に、高精度な位置合わせが実現される可能性が低い領域を表現する仮想画像が含まれている場合、配置者はその領域が観察対象領域全体を覆っていれば、新たに指標を追加すると判断する。逆にその領域が観察対象領域全体を覆っていなければ、配置者は新たな指標の追加しないと判断する。またこの場合、配置済みの指標を削除すると判断してもよい。
【０１６９】
なお、新たに指標を追加するかどうか、および、すでに配置された指標を削除するかどうかは、事前に定められる移動範囲内を動きながら判断する。理想的には、移動範囲内の全ての位置からの観察対象領域に対して指標の追加／削除の判断が行われることが望ましい。
【０１７０】
配置者が指標の配置もしくは削除を行うと指示した場合には、処理はステップＳ９７０へと進む。そうでなければ、処理はステップＳ２９０へと進む。
【０１７１】
ステップＳ９７０では、配置者が画像表示部１９０によって提示される複合現実空間画像を見ながら、情景中に追加、もしくは、情景中から削除すると指示した指標の追加／削除を実行する。
【０１７２】
どこに指標を配置するかは、画像表示部１９０によって提示される複合現実感を基に配置者が決定する。例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が高い領域を表現する仮想画像が含まれている場合には、配置者はその領域に覆われていない場所を配置場所とする。また例えば、画像表示部１９０によって提示される複合現実空間に、高精度な位置合わせが実現される可能性が低い領域を表現する仮想画像が含まれている場合には、配置者はその領域で覆われている場所を配置場所とする。このとき、配置者が保持し、これから配置しようとしている指標の周囲にも「高精度位置合わせ領域」を表現する仮想画像が表示されていることを利用し、配置済みの指標によって決定される「高精度位置合わせ領域」と、配置しようとしている指標による「高精度位置合わせ領域」が、隙間なくかつ重なり過ぎないような位置に、新たな指標を配置する。
【０１７３】
ステップＳ９７０において指標の追加が行われた場合には、ステップＳ２８０において、指標情報保持部８４０に新たに追加された指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’を示す情報が追加される。この情報は、配置者が指示部１５０を介して指標情報保持部８４０に追加される。もしくは、指示部１５０もしくは指標情報保持部８４０に不図示のキャリブレーションツールが接続され、配置者の作業なしに、自動的に情報の追加が行われる。
【０１７４】
ステップＳ９７０において指標の削除が行われた場合には、同じくステップＳ２８０において、情景中から削除された指標Ｑｋの世界座標系における位置ｘＷＱｋを示す情報が指標情報保持部８４０から削除される。削除される情報は、配置者の指定に基づく指示部１５０からの「指定指標情報削除」の指示に従って決定される。もしくは、指標検出部８２０において検出されていた指標が削除により検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出されなくなったことに基づいて送信される、指標検出部８２０からの「指定指標情報削除」によって決定される。
【０１７５】
追加された指標の情報追加もしくは削除された指標の情報削除が終了すると、処理はステップＳ２９０へと進む。
【０１７６】
ステップＳ２９０では、本実施例の指標配置装置が行う処理を終了するか否かの判定が行われる。配置者が指標配置装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ７００へと戻る。ステップＳ７００に戻ると、情景中の指標の配置状況が変更された状態で処理が始まる。
【０１７７】
以上の処理により、本実施例に係る指標配置装置は、高精度な位置合わせが実現される可能性が高い領域を、より簡便な方法で配置者に提示する。
【０１７８】
［第４の実施例］
本実施例に係る指標設置装置および指標設置方法は、第１から第３の実施例と異なり、高精度な位置合わせを観察できる可能性が高い領域を配置者に提示する。以下、本実施例に係る指標設置装置について説明する。
【０１７９】
図１１は、本実施例に係る指標配置装置の概略構成を示す図である。図１もしくは図８と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。図１１に示したように、本実施例に係る指標配置装置は、撮像部１００、指標検出部１１２０、位置姿勢算出部８３０、指標情報保持部１１４０、指示部１５０、高精度領域算出部１１６０、画像生成部１７０、画像合成部１８０、および画像表示部１９０とから構成されている。また場合により、本実施例に係る指標配置装置は位置姿勢計測部１１０も含んでいる。
【０１８０】
撮像部１００は現実空間を撮影する。撮像部１００が撮影した画像は、指標検出部１１２０および画像合成部１８０に入力される。場合により、撮像部１００には、その撮影視点の位置および／または姿勢を計測する位置姿勢計測部１１０が付属していてもよい。
【０１８１】
（本実施例に係る指標配置装置にとって必須ではない）位置姿勢計測部１１０は、世界座標系における撮像部１００の撮影視点の位置および／または姿勢を計測する。位置姿勢計測部１１０の計測値は、位置姿勢算出部８３０に入力される。
【０１８２】
現実空間中の複数の位置には、撮像部１００によって撮影するための指標として、世界座標系における位置ｘＷＱｋが既知である複数個の指標Ｑｋ（ｋ＝１，，，Ｋ）が配置されている。指標Ｑｋの形態は、第１の実施例と同様である。
【０１８３】
指標検出部１１２０は、撮像部１００より撮影画像を入力し、入力した撮影画像中に撮影されている指標Ｑｋの画像座標を検出する。
【０１８４】
検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎは、位置姿勢算出部８３０へ出力される。
【０１８５】
また、指標検出部１１２０は、配置者により配置済みの指標が削除されたことにより、それまで検出していた指標が検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出できなくなった場合には、その指標に関する情報の削除を意味する「指定指標情報削除」の指示を指標情報保持部１１４０に送信しても良い。
【０１８６】
位置姿勢算出部８３０は、指標検出部１１２０で検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと、既知な情報として予め指標情報保持部１１４０に保持されている識別子ｋｎを用いて参照される指標の世界座標ｘＷＱｋｎとの対応関係に基づいて、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。
【０１８７】
撮像部１００に位置姿勢計測部１１０が付属する場合には、位置姿勢算出部８３０は位置姿勢計測部１１０の計測値も利用して、世界座標系における撮像部１００の撮影視点の位置および姿勢を算出してもよい。例えば、位置姿勢計測部１１０で計測された撮影視点の位置もしくは姿勢の計測値をそのまま算出結果として利用し、残りは指標を基に算出しても良い。また、位置姿勢算出部８３０の内部に既知な情報として予め保持されている位置もしくは姿勢をそのまま算出結果として利用し、残りは指標を基に算出しても良い。
【０１８８】
算出した世界座標系における撮像部１００の撮影視点の位置および姿勢は、画像生成部１７０へと出力される。
【０１８９】
指標情報保持部１１４０は、既に現実空間中に配置されている指標Ｑｋの世界座標系における位置ｘＷＱｋと識別子ｋを保持している。
【０１９０】
ところで、指標Ｑｋは空間中の１点であるが、実際には紙や板などの平面特徴であったり、壁や机などの平面上に存在する特徴であったりするので、法線ベクトルを定義することができる。そこで、指標情報保持部１１４０は、さらに、指標Ｑｋの世界座標系における法線方向ベクトルｎＷＱｋも保持する。この法線ベクトルは、指標Ｑｋが持つ、もしくは、存在する面の法線ベクトルである。
【０１９１】
また、指示部１５０を介して配置者により新たに入力される指標ＱＫ＋ｋ’（ｋ’＝１，，，）の世界座標系における位置ｘＷＱＫ＋ｋ’と識別子Ｋ＋ｋ’と法線ベクトルｎＷＱＫ＋ｋ’を、内部に追加して保持する。さらにまた指標情報保持部１１４０は、指標検出部１１２０もしくは指示部１５０からの「指定指標情報削除」の指示に従って、指定された指標の情報を削除する。
【０１９２】
指標情報保持部１１４０が保持している位置ｘＷＱｋは、位置姿勢算出部８３０および高精度領域算出部１１６０に対して出力される。さらに指標情報保持部１１４０が保持している法線方向ベクトルｎＷＱｋは、高精度領域算出部１１６０に対して出力される。
【０１９３】
指示部１５０は、配置者から配置ガイダンス実施コマンドが入力された時には、「高精度位置合わせ領域算出」の指示を高精度領域算出部１１６０に送信する。
【０１９４】
また、配置者から新たに指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’および法線方向ベクトルｎＷＱｋを示す情報を入力された場合には、その情報を指標情報保持部１１４０に送信する。
【０１９５】
また、配置者から配置済指標削除コマンドおよび配置対象指標の識別子が入力された時には、その識別子に対応する指標に関する情報の削除を意味する「指定指標情報削除」の指示を、指標情報保持部１１４０に送信する。
【０１９６】
高精度領域算出部１１６０は、指示部１５０より「高精度位置合わせ領域算出」の指示を受け取った場合に、指標情報保持部１１４０から撮影画像中で検出された指標Ｑｋｎの世界座標系における位置ｘＷＱｋｎを受け取る。そして受け取った情報から、高精度な位置合わせを観察できる可能性が高い領域（以下、場合により「高精度位置合わせ観察視点領域」と呼ぶ）を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【０１９７】
本実施例に係る指標配置装置における高精度領域算出部１１６０においては、「高精度な位置合わせを観察できる可能性は、検出されている指標の法線ベクトルもしくは指標が配置されている面の法線ベクトルと、撮影視線ベクトルのなす角度に応じて変化し、それらが直交に近いほど精度が減少し、平行に近いほど精度が向上する」というルールに従って「高精度位置合わせ観察視点領域」を算出する。このルールは、指標がより正面から撮影されるほうが、より大きく指標の画像特徴を観察することができ、より正確に指標の画像投影位置を特定することができるので、より正確な位置合わせが行うことができることをふまえている。このルールに従うと、ある角度θを閾値として、ある１つの指標を観察するときの視線ベクトルとその指標の法線ベクトルのなす角が閾値θよりも小さくなるような領域が「高精度位置合わせ観察視点領域」となる。図１３は、１つの指標から決定される「高精度位置合わせ観察視点領域」を示すイメージ図である。ゆえに高精度領域算出部１１６０は、その領域を示す情報として指標の位置ｘＷＱｋ０および法線ベクトルｎＷＱｋ０と閾値角度θＱｋ０を画像生成部１７０へ出力する。ここで角度θＱｋ０は「指標の物理的な大きさに応じて大きくなる」として算出されるものとする。例えば、θＱｋ０＝ｍａｘ｛４５°、１０°×指標の外接円の半径（ｃｍ）｝などとして算出される。もちろん、θは他の方法で決定しても良い。また、本実施例に係る指標配置装置における高精度領域算出部１１６０においては、「高精度な位置合わせを観察できる可能性は、検出されている指標からの複合現実空間における距離に応じて減少する」というルールに従って「高精度位置合わせ観察視点領域」を算出してもよい。このルールは、指標をより近くから撮影できるほうが、より大きく指標の画像特徴を観察することができ、より正確に指標の画像投影位置を特定することができるので、より正確な位置合わせが行うことができることをふまえている。このルールに従うと、ある距離ｒを閾値として、ある１つの指標Ｑｋ０が存在する位置を中心とし距離ｒを半径とした球領域が「高精度位置合わせ観察視点領域」となる。ゆえに高精度領域算出部１１６０は、その領域を示す情報として球の中心位置ｘＷＱｋ０と半径ｒＱｋ０を画像生成部１７０へ出力する。ここで距離ｒＱｋ０は「撮影部１１０の撮影視点と指標間の距離ＲＱｋ０に比例する」として算出されるものとする。例えば、ｒＱｋ０＝０．３（定数）×ＲＱｋ０などとして算出される。ＲＱｋ０は、指標情報保持部１１４０から受け取る撮影画像中で検出された指標Ｑｋの位置ｘＷＱｋｎと、位置姿勢算出部８３０から受け取る撮影視点の位置とから算出することができる。なお、ｒは他の方法で決定しても良い。
【０１９８】
さらにまた、本実施例に係る指標配置装置における高精度領域算出部１１６０においては、上記に挙げた２つのルールを合わせて「高精度位置合わせ領域」を算出しても良いし、ユーザの指示などに応じてルールを使い分けて「高精度位置合わせ観察視点領域」を算出しても、もちろん良い。
【０１９９】
さらに、本実施例に係る指標配置装置における高精度領域算出部１１６０においては、「高精度位置合わせ観察視点領域」の算出のためのルールとして、上記２つ以外のルールを用いてももちろん良い。
【０２００】
高精度領域算出部１１６０が算出する「高精度位置合わせ観察視点領域」を示す情報は、画像生成部１７０へと出力される。
【０２０１】
画像生成部１７０は、位置姿勢算出部８３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。
【０２０２】
また、高精度領域算出部１１６０より、「高精度位置合わせ観察視点領域」を示す情報が入力された場合には、その情報に応じて、高精度な位置合わせを観察できる可能性が高い領域を表現する仮想物体情報を生成し、それも含む仮想空間画像を生成する。
【０２０３】
画像生成部１７０が生成した仮想空間画像は、画像合成部１８０へと出力される。
【０２０４】
画像合成部１８０は、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は画像表示部１９０へと出力される。
【０２０５】
画像表示部１９０は、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実空間を提示する。その複合現実空間には、高精度な位置合わせを観察できる可能性が高い領域が提示されている。配置者は、事前に定められている観察視点領域全体が高精度な位置合わせを観察できる可能性が高い領域となるように、指標を追加していく。
【０２０６】
続いて、図１２に示したフローチャートを用いて、本実施例に係る指標配置装置が行う処理について説明する。図２と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【０２０７】
処理がスタートすると、ステップＳ１２００において、撮像部１００が、現実空間を撮影し撮影画像を指標検出部１１２０および画像合成部１８０へ出力する。続いて指標検出部１１２０が撮影画像中から指標の検出処理を行い、検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと識別子ｋｎを位置姿勢算出部８３０へ出力する。
【０２０８】
続いてステップＳ２１０において、指標設定装置に位置姿勢計測部１１０が含まれる場合には、位置姿勢計測部１１０が撮像部１００の撮影視点の位置および／または姿勢を計測する。続いて、位置姿勢計測部１１０の有無に関わらず、位置姿勢算出部８３０が世界座標系における撮像部１００の撮影視点の位置および姿勢を算出する。算出された撮影視点の位置および姿勢は、位置姿勢算出部８３０が画像生成部１７０へと出力する。
ステップＳ２３０では、このステップに至るまでに指示部１５０に対して配置ガイダンス実施コマンドが入力されたどうかの確認がなされる。配置ガイダンス実施コマンドが入力されており、かつ、その入力が取り消されていなければ、処理はステップＳ２４０へと進む。逆に、配置ガイダンス実施コマンドが入力されていない、もしくは、その入力が取り消されていれば、処理はステップＳ２５５へと進む。なお、配置ガイダンス実施コマンドの入力およびその入力の取消しは、配置者により指示部１５０を介して任意のタイミングで行われる。
【０２０９】
ステップＳ１２４０では、高精度領域算出部１１６０が、指標検出部１１２０から撮影画像中で検出された指標Ｑｋｎの画像座標ｕＱｋｎを受け取る。そして受け取った情報から、「高精度位置合わせ観察視点領域」を算出し、その領域を示す情報を画像生成部１７０へと出力する。
【０２１０】
続いてステップＳ２５５において、画像生成部１７０が、位置姿勢算出部８３０より入力した世界座標系における撮像部１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。また、ステップＳ２３０において指示部１５０に対して配置ガイダンス実施コマンドが入力されたと判定された場合には、高精度領域算出部１１６０より入力した「高精度位置合わせ観察視点領域」を示す情報も利用して、高精度な位置合わせを観察できる可能性が高い領域を表現する仮想画像も含む仮想空間画像を生成する。生成された仮想空間画像は、画像合成部１８０へと出力される。画像合成部１８０では、撮像部１００から入力する撮影画像と画像生成部１７０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は、画像表示部１９０へと出力される。画像表示部１９０では、画像合成部１８０から入力する複合現実空間画像を表示することで、配置者に複合現実感を提示する。複合現実空間画像が配置者に提示されている状態で、処理はステップＳ２６０へと進む。
【０２１１】
ステップＳ２６０では、配置者が、新たに指標を追加、もしくは、すでに配置された指標を削除するかの指示を、指示部１５０に入力したか判断する。画像表示部１９０によって提示される複合現実空間には、「高精度位置合わせ観察視点領域」が仮想物体によって表示されているので、配置者はその領域が事前に定められる観察視点領域全体を覆っていなければ、新たに指標を追加すると判断する。逆にその領域が観察視点領域全体を覆っていれば、配置者は新たな指標の追加しないと判断する。またこの場合、配置済みの指標を削除すると判断してもよい。
【０２１２】
どこに指標を配置するかは、画像表示部１９０によって提示される複合現実空間を基に配置者が決定する。画像表示部１９０によって提示される複合現実空間には「高精度位置合わせ観察視点領域」が仮想物体によって表示されているので、配置者は事前に定められる観察視点領域全体のうちで、まだ「高精度位置合わせ観察視点領域」で覆われていない部分が、指標を追加することによって「高精度位置合わせ観察視点領域」で覆われるような場所を配置場所とする。
【０２１３】
一方、配置済み指標のうちのどれを削除するかは、指標の配置分布をもとに配置者が決定する。例えば、複合現実空間画像上において、最も指標が密集している領域から、一部の指標を削除する。削除により、「高精度位置合わせ観察視点領域」が減少する場合には、その削除を取り消せばよい。
【０２１４】
なお、指標の追加もしくは削除は、一度の複数回行っても良し、追加と削除を同じ処理内で行っても良い。
【０２１５】
配置者が指標の配置もしくは削除を行うと指示した場合には、処理はステップＳ１２７０へと進む。そうでなければ、処理はステップＳ２９０へと進む。
【０２１６】
ステップＳ１２７０では、配置者が画像表示部１９０によって提示される複合現実画像を見ながら追加または削除したいと判断した、指標の追加または削除を実行する。
【０２１７】
配置者が指標の追加および／もしくは削除を終えると、処理はステップＳ２８０へと進む。
【０２１８】
ステップＳ１２７０以降において指標の追加が行われた場合には、ステップＳ２８０において、指標情報保持部１４０に新たに追加された指標ＱＫ＋ｋ’の世界座標系における位置ｘＷＱＫ＋ｋ’を示す情報が追加される。この情報は、配置者が指示部１５０を介して指標情報保持部１４０に追加する。もしくは、指示部１５０もしくは指標情報保持部１４０に不図示のキャリブレーションツールが接続され、配置者の作業なしに、自動的に情報の追加が行われる。
【０２１９】
ステップＳ１２７０以降において指標の削除が行われた場合には、同じくステップＳ２８０において、情景中から削除された指標Ｑｋの世界座標系における位置ｘＷＱｋを示す情報が指標情報保持部１４０から削除される。削除される情報は、配置者の指定に基づく指示部１５０からの「指定指標情報削除」の指示に従って決定される。もしくは、指標検出部１１２０において検出されていた指標が削除により検出されるべき時に（撮影画像にその指標が含まれるべき時に）検出されなくなったことに基づいて送信される、指標検出部１１２０からの「指定指標情報削除」によって決定される。
【０２２０】
追加された指標の情報追加もしくは削除された指標の情報削除が終了すると、処理はステップＳ２９０へと進む。
【０２２１】
ステップＳ２９０では、本実施例の指標配置装置が行う処理を終了するか否かの判定が行われる。配置者が指標配置装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ１２００へと戻る。ステップＳ１２００に戻ると、情景中の指標の配置状況が変更された状態で処理が始まる。
【０２２２】
以上の処理により、本実施例に係る指標配置装置は、高精度な位置合わせを観察できる可能性が高い領域を配置者に提示する。
【０２２３】
［変形例４−１］
第４の実施例では、高精度位置合わせ観察視点領域の算出を、撮像部が画像を撮影し、画像上で指標が検出されるたびに行っていた。しかし、高精度位置合わせ観察視点領域の算出は必ずしもそのように行う必要はない。高精度位置合わせ観察視点領域は、現在の撮像部の位置および姿勢に関係なく決定されるものであり、指標情報保持部１４０に保持されている指標が追加／削除された場合または指標の世界座標系における位置が変更された場合に高精度位置合わせ観察視点領域は変化する。そのため、そのような場合にのみ高精度位置合わせ観察視点領域を算出してもよい。また、変更があった場合ではなく、一定の時間間隔（例えば３０秒に１回）で算出するようにしてもよい。この変形例により、高精度位置合わせ観察視点領域の算出の計算コストが大きい場合には、複合現実空間画像の提示のリアルタイム性を失うことなく配置者に高精度位置合わせ領域の提示を行うことが可能になる。
【０２２４】
［第５の実施例］
第４の実施例では、指標が三次元空間中の点であることを想定していた。第５の実施例では、指標が頂点数が４以上の多角形指標である場合に指標の性質にあった高精度位置合わせ観察視点領域の提示を行う。
【０２２５】
頂点数が４以上の多角形指標は、４つ以上の頂点が同一平面上に存在する。そのため、画像中で１個の多角形指標を検出すれば、２次元ホモグラフィを利用して撮像部の位置および姿勢を求めることができる。本実施例では、多角形指標の各頂点をそれぞれ個別の指標としないで、多角形指標そのものを一個の指標とする場合の高精度位置合わせ観察視点領域の算出を行う。
【０２２６】
図１４は本実施例における高精度位置合わせ観察視点領域算出のフローチャートである。
【０２２７】
まずステップＳ２０００において、全サンプル点について高精度位置合わせ観察可能であるとセットする。ここでサンプル点とは、指標が配置されている空間中において、撮像部が存在可能な位置である。サンプル点は、空間全体に存在していてもよいし、空間の中のある一部の空間に存在していてもよい。また、サンプル点のサンプリング間隔は、任意の間隔を取り得るが、計算コストを考慮して、例えば空間を一辺が３ｃｍの立方体で分割した場合の、立方体の重心をサンプル点として利用する。
【０２２８】
次にステップＳ２０１０において、最初のサンプル点の三次元座標を入力する。
【０２２９】
さらにステップＳ２０２０において、該サンプル点において、対象の多角形指標が撮影可能であるかを判別する。多角形指標は空間に広がりのある指標であるため、視点、つまりサンプル点が指標に近すぎる場合には観察することができない。そのため、各サンプル点から指標の中心を見た場合に、指標が画角に入りきるかどうかを算出することで、撮影可能かどうかを判定する。また、画像解像度は有限であるため、指標と視点の距離が遠すぎる場合にも指標を検出することができない。そのため、予め指標が画像上で撮影されたと判定できる画像上での最小指標サイズ（例えば、画像上での指標の面積が１００画素以上）を定めておき、該サンプル点から指標を撮影したときの画像上での指標サイズを算出し、最小指標サイズと比較して撮影可能かどうかを判定する。ステップＳ２０２０において撮影可能だと判定された場合にはステップＳ２０３０に進み、そうでなければステップＳ２０４０に進む。
【０２３０】
ステップＳ２０３０では、「高精度な位置合わせを観察できる可能性は、検出されている指標の法線ベクトルと、撮影視線ベクトルのなす角度に応じて変化し、それらが直交に近いほど精度が減少し、平行に近いほど精度が向上する」というルールに従って、該サンプル点において高精度な位置合わせを観察可能かどうか判定する。判定は、該サンプル点と指標中心を結ぶ線分と、指標の法線ベクトルとのなす角度とあらかじめ定めた閾値θを比較することにより行う。両者のなす角度がθより大きければ高精度な位置合わせの観察が不可能であるとしてステップＳ２０４０に進み、θ以下であれば高精度な位置合わせの観察が可能だとしてステップＳ２０５０に進む。
【０２３１】
ステップＳ２０４０では、該サンプル点においては高精度な位置合わせが観察不可能であるとセットする。
【０２３２】
次にステップＳ２０５０において、すべてのサンプル点において高精度位置合わせが観察可能かどうかの判定を行ったかどうかの判定を行い、終了していなければステップＳ２０６０において次のサンプル点の三次元座標を入力し、ステップＳ２０２０に再度進む。
【０２３３】
以上のようにして算出された高精度位置合わせ観察視点領域は、高精度な位置合わせが観察可能なサンプル点をすべて内包し、観察不可能なサンプル点は含まない仮想物体として配置者に提示される。図１５は、配置者に提示される高精度位置合わせ観察視点領域の一例を示す図である。図１５は指標を真横から見た場合の高精度位置合わせ観察視点領域を示している。図１５に示すように、高精度位置合わせ観察視点領域は、扇形を３６０度回転させて生成される三次元物体から、その物体に相似な物体を削除した物体となる。
【０２３４】
以上の処理によって、多角形指標が情景中に配置されている場合に、多角形指標に特有な高精度位置合わせ観察視点領域を算出し指標配置者に提示することが可能になる。
【０２３５】
［変形例５−１］
第４の実施例および第５の実施例では、高精度位置合わせ観察視点領域として、その領域を包含する仮想物体を複合現実空間に表示していた。しかしながら、高精度位置合わせ観察視点領域の提示方法はこれに限るものではない。例えば、図１６に示すように、第５の実施例におけるサンプル点について、高精度な位置合わせの観察が可能なサンプル点の位置に小球の仮想物体を表示することによって配置者に提示することも可能である。また、高精度な位置合わせの観察が不可能なサンプル点の位置に小球の仮想物体を表示したり、小球の色や大きさ、透明度などによって高精度な位置合わせの観察が可能かどうかを提示してもよい。また、図１７に示すように、位置を示す小球だけでなく、どの方向を観察すれば高精度な位置合わせが可能かどうかを示す仮想物体（例えば、円錐形状の物体）も同時に提示してもよい。
【０２３６】
［変形例５−２］
第４の実施例および第５の実施例では、情景中に存在する指標の画像上での投影像をもとに世界座標系における撮像視点の位置および姿勢の算出を行っていた。しかしながら、撮像視点の位置および姿勢の算出方法はこれに限るものではなく、他の方法を用いてもよい。例えば、撮像部に磁気式や超音波式、または光学式の６自由度位置姿勢センサを装着し、センサの計測値によって撮像視点の位置および姿勢を求めてもよい。
【０２３７】
［他の実施例］
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０２３８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０２３９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には先に説明した（図２および／または図７および／または図９および／または図１２に示す）フローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０２４０】
【図１】第１の実施例に係る指標設置装置の概略構成を示す図である。
【図２】第１の実施例に係る指標設置装置が行う概略処理を示すフローチャートである。
【図３】撮影視点の姿勢に誤差が含まれてしまう場合に、その指標よりも撮影視点から遠い空間における位置合わせ精度が、指標付近よりも大きく低下することを示す図である。
【図４】撮影視点の位置に誤差が含まれてしまう場合に、その指標よりも撮影視点に近い空間における位置合わせ精度が、指標付近よりも大きく低下することを示す図である。
【図５】第１の実施例に係る指標設置装置において、２つの指標が撮影画像に写った場合に算出される「高精度位置合わせ領域」を示すイメージ図である。
【図６】第２の実施例に係る指標設置装置の概略構成を示す図である。
【図７】第２の実施例に係る指標設置装置が行う概略処理を示すフローチャートである。
【図８】第３の実施例に係る指標設置装置の概略構成を示す図である。
【図９】第３の実施例に係る指標設置装置が行う概略処理を示すフローチャートである。
【図１０】第３の実施例に係る指標設置装置において算出される「高精度位置合わせ領域」を示すイメージ図である。
【図１１】第４の実施例に係る指標設置装置の概略構成を示す図である。
【図１２】第４の実施例に係る指標設置装置が行う概略処理を示すフローチャートである。
【図１３】第４の実施例に係る指標設置装置において、１つの指標から決定される「高精度位置合わせ観察視点領域」を示すイメージ図である。
【図１４】第５の実施例に係る指標設置装置が行う概略処理を示すフローチャートである。
【図１５】第５の実施例に係る「高精度位置合わせ観察視点領域」の提示方法を示す図である。
【図１６】変形例５−１に係る「高精度位置合わせ観察視点領域」の提示方法を示す図である。
【図１７】変形例５−１に係る「高精度位置合わせ観察視点領域」の提示方法を示す図である。
【図１】
2006127468.tif 000003
【図２】
2006127468.tif 000004
【図３】
2006127468.tif 000005
【図４】
2006127468.tif 000006
【図５】
2006127468.tif 000007
【図６】
2006127468.tif 000008
【図７】
2006127468.tif 000009
【図８】
2006127468.tif 000010
【図９】
2006127468.tif 000011
【図１０】
2006127468.tif 000012
【図１１】
2006127468.tif 000013
【図１２】
2006127468.tif 000014
【図１３】
2006127468.tif 000015
【図１４】
2006127468.tif 000016
【図１５】
2006127468.tif 000017
【図１６】
2006127468.tif 000018
【図１７】
2006127468.tif 000019