(57)【要約】【課題】  撮像装置の位置姿勢を推定するため等に利用される指標を現実空間中に配する際の配置支援を行うための技術を提供すること。【解決手段】  複数の指標のそれぞれに対して予め設定されている、現実空間中の配置位置を取得する。現実空間の画像内に写っている指標のうち規定の条件を満たす指標を対象指標として特定する。対象指標の配置位置を通知する。【選択図】  図１
2015219590.tif 000002
【特許請求の範囲】
【請求項１】
複数の指標のそれぞれに対して予め設定されている、現実空間中の配置位置を取得する手段と、
前記現実空間の画像内に写っている指標のうち規定の条件を満たす指標を対象指標として特定する特定手段と、
前記対象指標の配置位置を通知する通知手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記特定手段は、前記画像内に写っている指標のうち該画像内における動き量が規定の閾値より大きい指標を前記対象指標として特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記画像内に写っている指標のうち、該画像上における該指標の位置と該指標の配置位置に対応する該画像上の対応位置との差が規定値以上となる指標を前記対象指標として特定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記通知手段は、前記現実空間の画像を撮像する撮像装置の位置姿勢に基づいて、前記対象指標の配置位置を前記画像上に投影した位置を投影位置として求め、前記画像上の該投影位置若しくはその近傍に前記対象指標に関する情報を合成して表示することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
更に、
前記投影位置が前記画像から外れた位置となった場合には、該位置が前記画像内の位置となるように前記撮像装置のパン、チルト、ズームの１以上を制御する手段を備えることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記通知手段は投影装置であり、該投影装置の位置姿勢に基づいて、前記対象指標の配置位置を該投影装置内の画像表示面上に投影した位置を投影位置として求め、該投影位置を示す情報を投影することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項７】
更に、
前記投影位置が前記画像表示面から外れた位置となった場合には、該位置が前記画像表示面内の位置となるように前記投影装置のパン、チルト、ズームの１以上を制御する手段を備えることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の取得手段が、複数の指標のそれぞれに対して予め設定されている、現実空間中の配置位置を取得する工程と、
前記情報処理装置の特定手段が、前記現実空間の画像内に写っている指標のうち規定の条件を満たす指標を対象指標として特定する特定工程と、
前記情報処理装置の通知手段が、前記対象指標の配置位置を通知する通知工程と
を備えることを特徴とする情報処理方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指標の配置支援技術に関するものである。
【背景技術】
【０００２】
現実世界と仮想世界とをリアルタイムに融合させる技術として、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）技術や拡張現実感（ＡＲ：Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）技術が知られている。これらの技術は、現実空間とコンピュータによって作られる仮想空間とを繋ぎ目なく融合する技術である。これらは、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援、患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野への応用が期待される。
【０００３】
ＭＲ技術を実現する上で解決しなければならない大きな問題の一つとして、位置合わせの問題がある。仮想物体が現実空間に実在するように利用者が感じるためには、仮想物体と現実空間との間の幾何学的な整合性が取れている必要がある。即ち、仮想物体は現実空間中に存在するべき位置に存在しているように常に利用者から観察されなければならない。
【０００４】
また、観察者が、仮想物体を現実空間に実在するように感じるための装置の一つとして、ビデオシースルー型の情報処理装置がある。これは、ビデオカメラで現実世界を撮影し、その撮影画像に仮想物体を重畳した合成画像を、リアルタイムにディスプレイ等の表示部に表示させ、観察者に提示する装置である。一般にこのような情報処理装置としては、背面にビデオカメラを有するタブレット端末と呼ばれる携帯型情報端末や、頭部搭載型のビデオシースルー型HMD（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）などが用いられる。
【０００５】
ビデオシースルー型HMDを利用するＭＲでは、HMDに内蔵されているカメラから画像が入力される毎に、画像撮影時のカメラの現実空間における位置及び姿勢を計測する。そしてこのカメラの位置及び姿勢と、焦点距離などのカメラの固有パラメータと、に基づいてＣＧを描画し、該ＣＧを現実空間の画像上に重畳するという処理が一般的に行われる。そのため、ビデオシースルー型HMDを利用するＭＲの場合、位置合わせの問題は、HMDに内蔵したカメラの現実空間における位置及び姿勢を計測することに係る問題となる。これまでに、カメラの位置と姿勢を計測する種々の研究報告が行われている（非特許文献１）。
【０００６】
カメラの位置及び姿勢は、例えば磁気センサや超音波センサ、光学式センサなど6自由度の物理センサによって計測することが可能である。一方で、ビデオシースルー型HMDを利用する場合には、ビデオシースルー型HMDに内蔵されているカメラからの画像情報を位置合わせのために利用することが可能である。画像情報を利用する位置合わせ方法は、物理センサを利用する方法に比べて手軽且つ低コストであるため、広く利用されている。画像情報を利用する位置合わせ手法では、現実空間中における3次元位置が既知の指標をカメラで撮影し、指標の撮影画像上での位置と3次元位置との対応をもとにカメラの位置及び姿勢を推定することが行われている。指標としては、現実空間中に人為的に配置したマーカを用いる場合や、現実空間中に元来存在するコーナー点やエッジなどの自然特徴を利用する場合がある。
【０００７】
カメラの位置姿勢によっては撮影範囲内にある指標の画像特徴が十分撮影できない場合がある。例えば、ＭＲ体験者がＣＧに近づいて観察する場合に、指標がカメラの画角内に入らず撮影できなくなることがある。また、指標が平面的な場合、その平面の法線に対して、直交する方向から撮影する場合には、指標を十分に撮影することができない。したがって、任意の位置姿勢からでも指標の画像特徴が十分に撮影されるように指標を配置することが重要である。ただし、多数の指標を配置した場合には、指標検出の負荷が高くなりリアルタイム性を損なう可能性がある。また、現実空間とＣＧを合成するＭＲにおいて、景観の美観を損なうなど、不都合が生じる。
【０００８】
そこで、従来では、指標は、適度に分布し且つ適度な大きさで撮影されるように、経験に基づいた何らかの知見から生まれた指針に従って配置されている。さらに、指標の数が多い場合には、現実空間中で、どこにどのような指標を配置すればよいかを記載した設計図を作成する。
【０００９】
特許文献１に記載の技術では、ＭＲ体験者が適切な指標の配置が行えるように、すでに配置されている指標を用いて、新たな指標を配置すべき場所を、指標配置者に提示する。特許文献１に記載の技術では、すでに配置されている指標を用いて精度のよい位置合わせが行えていることを前提としている。配置済みの指標によって決定される「高精度な位置合わせ領域」と、配置しようとしている領域が隙間なく重なり過ぎないような位置を、新たに追加すべき指標の配置情報として、現実空間に重ねあわせて提示する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第４６８９３８０号
【非特許文献】
【００１１】
【非特許文献１】佐藤, 内山, 田村, “複合現実感における位置合わせ手法”, 日本ＶＲ学会論文誌，Ｖｏｌ．８，ｎｏ．２，ｐｐ．１７１−１８０，２００３．
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１では、予め配置した指標によって精度のよい位置合わせが実現されていることを前提としており、新たに配置する指標を追加することを目的としている。そのため、指標を配置する前の状態では、配置すべき位置を提示することができない。
【００１３】
また、何らかの指針に基づいて作成された指標の配置の設計図があっても、カメラで認識するための指標は、コンピュータが識別しやすいように設計されているため、人が見てもすぐに識別しにくい。そのため、印刷された設計図やモニタに表示された配置情報のみを見ても、現実空間において、指標をどこに配置すればよいかわかりにくいという課題があった。
【００１４】
本発明はこのような問題に鑑みてなされたものであり、撮像装置の位置姿勢を推定するため等に利用される指標を現実空間中に配する際の配置支援を行うための技術を提供する。
【課題を解決するための手段】
【００１５】
本発明の一様態は、複数の指標のそれぞれに対して予め設定されている、現実空間中の配置位置を取得する手段と、前記現実空間の画像内に写っている指標のうち規定の条件を満たす指標を対象指標として特定する特定手段と、前記対象指標の配置位置を通知する通知手段とを備えることを特徴とする。
【発明の効果】
【００１６】
本発明の構成によれば、撮像装置の位置姿勢を推定するため等に利用される指標を現実空間中に配する際の配置支援を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】システムの構成例を示すブロック図。
【図２】システムの外観及びその環境を示す図。
【図３Ａ】四角形指標の配置例を説明する図。
【図３Ｂ】四角形指標を説明する図。
【図３Ｃ】点指標を説明する図。
【図４】情報処理装置１０００が行う処理のフローチャート。
【図５】ステップＳ２０５０における処理の詳細を示すフローチャート。
【図６】透視投影変換を説明する図。
【図７】システムの構成例を示すブロック図。
【図８】情報処理装置２０００が行う処理のフローチャート。
【図９】コンピュータのハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１９】
［第１の実施形態］
本実施形態では、これから現実空間に配する複数の指標のそれぞれについて、その配置位置は予め決まっているものの、該配置位置が実際に現実空間中のどの位置であるのかをユーザに通知するシステムについて説明する。本実施形態に係るシステムの外観例及びその環境について、図２を用いて説明する。
【００２０】
ユーザ９００は指標５００ｃを手に持ち、これからこの指標５００ｃを現実空間中に配しようとしている。この指標５００ｃを配すべき位置（配置位置）は５００ａで示す如く予め決まっており、データとして情報処理装置１０００に登録されている。しかし、指標５００ｃの配置位置がいくらデータとして情報処理装置１０００に登録されていたとしても、ユーザ９００は、その配置位置が実際に現実空間のどこに相当するのかが分からない。
【００２１】
そこで本実施形態では、現実空間の様子は撮像装置１００によって撮像され、その撮像画像は情報処理装置１０００を介して表示部４００に表示されるのであるが、この撮像画像中に、ユーザがこれから配しようとしている指標５００ｃが写っていた場合には、情報処理装置１０００は、自身が保持している「指標５００ｃの配置位置」に相当する撮像画像上の箇所を通知することを特徴とする。図２では、この箇所に指標５００ｃを表す画像５００ｂが合成表示されており、ユーザはこの合成画像を見ることで、現実空間において５００ａで表す位置を把握することができる。
【００２２】
次に、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、撮像装置１００、表示部４００、配置情報入力部２００、位置姿勢入力部３００、情報処理装置１０００、を有する。
【００２３】
先ず、撮像装置１００について説明する。撮像装置１００は、現実空間の動画像（連続静止画像を含む）を撮像する装置であり、本実施形態では、撮像装置１００は、天井など現実空間中に固定して配置されているものとする。すなわち、歪み補正係数や焦点距離などの内部パラメータや、位置姿勢などの外部パラメータは、全て予め校正されて固定されているものとする。しかし、実施形態によってはこれに限るものではなく、これらのパラメータが変化しようとも、その時々のパラメータが取得可能であれば構わない。
【００２４】
次に、表示部４００について説明する。表示部４００は、ＣＲＴや液晶画面などにより構成されており、情報処理装置１０００による処理結果を画像や文字などでもって表示することができる。なお、表示部４００は、現実空間中に固定して配置される表示装置であっても構わないし、頭部装着型表示装置が有する表示装置であっても構わない。
【００２５】
次に、配置情報入力部２００について説明する。配置情報入力部２００は、これから現実空間中に配置する各指標について、該指標の配置位置、該指標に固有の識別子、を含む配置情報を情報処理装置１０００に入力するためのものである。配置情報入力部２００は、ユーザが各指標の配置情報を入力するために操作するユーザインターフェース（キーボードやマウス）であっても構わないし、予め各指標の配置情報が登録された装置（ハードディスクドライブ装置やサーバ装置）であっても構わない。すなわち、情報処理装置１０００に各指標の配置情報を供給可能な装置であれば、如何なる装置であっても構わない。換言すれば、情報処理装置１０００に各指標の配置情報を入力する方法には様々な方法があり、特定の入力方法に限るものではない。
【００２６】
次に、位置姿勢入力部３００について説明する。位置姿勢入力部３００は、撮像装置１００の位置姿勢を情報処理装置１０００に入力するためのものである。位置姿勢入力部３００は、ユーザが撮像装置１００の位置姿勢を入力するために操作するユーザインターフェース（キーボードやマウス）であっても構わないし、予め撮像装置１００の位置姿勢が登録された装置（ハードディスクドライブ装置やサーバ装置）であっても構わない。また、位置姿勢入力部３００は、撮像装置１００の位置姿勢を計測するセンサであっても構わない。この場合、撮像装置１００とセンサとの間の位置姿勢関係は予め校正されており、センサによる計測値を撮像装置１００の位置姿勢としても構わないし、センサによる計測値に適当な変換を施すことで得られる位置姿勢を撮像装置１００の位置姿勢としても構わない。このように、情報処理装置１０００に撮像装置１００の位置姿勢を供給可能な装置であれば、如何なる装置であっても構わない。換言すれば、情報処理装置１０００に撮像装置１００の位置姿勢を入力する方法には様々な方法があり、特定の入力方法に限るものではない。
【００２７】
次に、情報処理装置１０００について説明する。画像取得部１０１０は、撮像装置１００から順次送出される各フレームの画像を取得し、該取得した画像を後段のデータ記憶部１０２０に格納する。
【００２８】
なお、データ記憶部１０２０に現実空間の画像を取り込む方法は上記の方法に限るものではなく、例えば、ハードディスク装置等の外部メモリに予め格納されている現実空間の動画像をデータ記憶部１０２０に読み出しても構わない。また、ネットワークを介して本装置に接続されている機器から送信される各フレームの現実空間の画像を取得してデータ記憶部１０２０に取り込んでも構わない。
【００２９】
配置情報取得部１０３０は、配置情報入力部２００にて入力された各指標の配置情報を取得し、該取得した配置情報を後段のデータ記憶部１０２０に格納する。位置姿勢取得部１０４０は、位置姿勢入力部３００にて入力された撮像装置１００の位置姿勢を取得し、該取得した位置姿勢を後段のデータ記憶部１０２０に格納する。
【００３０】
指標検出部１０５０は、データ記憶部１０２０に格納されている各フレームの画像を順次読み出し、該読み出した画像から指標の検出を行う。ここで、指標及び該指標の検出について、図３Ａ〜３Ｃを用いて説明する。
【００３１】
図３Ａには、四角形の指標（四角形指標）が３つ（Ｐ１，Ｐ２，Ｐ３）現実空間中に配されている様子を示している。この四角形指標は、図３Ｂに示す如く（図３Ｂでは指標Ｐ２を例にとっている）、その内部に自身に固有の識別子を表すパターンが記されており、且つ頂点Ｐ２１、Ｐ２２、Ｐ２３、Ｐ２４を有する。
【００３２】
このような指標を画像から検出する場合、指標検出部１０５０は、画像に対して２値化処理を施した後にラベリング処理を行い、一定面積以上の領域の中から４つの直線によって形成されている領域を候補領域として抽出する。そして指標検出部１０５０は、抽出したそれぞれの候補領域に対し、該候補領域の中に特定のパターン（指標の識別子を表すパターン）があるか否かを判定することによって該候補領域が指標の領域であるかを判定する。そして指標検出部１０５０は、指標が写っていると判定した候補領域からパターンを読み出し、該読み出したパターンに基づいて該指標の識別子及び該画像内における該指標の位置を検出する。そして指標検出部１０５０は、画像から検出したそれぞれの指標について、該指標の識別子、該指標の画像内における位置、をセットにしてデータ記憶部１０２０に登録する。
【００３３】
もちろん、指標の形状は四角形に限るものではなく、ｎ角形（ｎは５以上の整数）であっても構わない。また、図３Ｃに示す如く、それぞれが異なる色を有する円形状の指標のような点指標であってもよい。この場合、指標検出部１０５０は、画像から各々の指標の色に対応する領域を検出し、検出した領域の重心位置を指標の検出座標とする。
【００３４】
また、それぞれが異なるテクスチャ特徴を有する特徴点（自然特徴点）を点指標としてもよい。この場合、指標検出部１０５０は、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを画像上に施すことにより、画像から指標を抽出する。これに限らず、空間中に固定される指標であってそれを撮影した画像から検出可能なものであればどのような指標であってもかまわない。
【００３５】
このように、本実施形態で用いることができる指標は、画像から検出可能で且つその識別子と画像内における位置（画像座標）が検出可能であれば、如何なる指標であっても構わない。
【００３６】
対象指標判定部１０６０は、指標検出部１０５０が画像から検出した指標のうち規定の条件を満たす指標を対象指標として特定する。対象指標の特定方法には様々な方法があり、これについては以下で詳しく説明する。そして対象指標判定部１０６０は、データ記憶部１０２０に格納されている指標毎のセット（識別子と画像座標のセット）のうち対象指標のセットを、他のセットとは識別可能にデータ記憶部１０２０内で管理する。
【００３７】
対象指標投影部１０７０は、データ記憶部１０２０に登録されている対象指標の配置情報中の配置位置を、データ記憶部１０２０から読み出した画像上に投影した投影位置（対応位置）を求め、該求めた投影位置を該画像と共に画像出力部１０８０に対して送出する。
【００３８】
画像出力部１０８０は、対象指標投影部１０７０から画像及び投影位置を受けると、該画像上に「該投影位置が対象指標を配置する位置である」ことを示す情報を合成した合成画像を生成し、該生成した合成画像を表示部４００に対して送出する。
【００３９】
次に、情報処理装置１０００が、撮像装置１００による撮像画像上に、対象指標を配する位置を示す情報を合成して出力するために行う一連の処理について、図４のフローチャートを用いて説明する。なお、図４のフローチャートに従った処理は、撮像装置１００から送出される各フレームの画像に対して行われる。
【００４０】
＜ステップＳ２０１０＞
配置情報取得部１０３０は、配置情報入力部２００によって入力された各指標の配置情報を取得し、該取得した配置情報をデータ記憶部１０２０に格納する。なお、以下では、各指標の配置位置は、世界座標系（現実空間中の１点を原点とし、該原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系）におけるものとするが、処理の内容によっては、他の座標系における配置位置としても構わない。
【００４１】
＜ステップＳ２０２０＞
位置姿勢取得部１０４０は、位置姿勢入力部３００によって入力された撮像装置１００の位置姿勢を取得し、該取得した位置姿勢をデータ記憶部１０２０に格納する。なお、撮像装置１００の位置姿勢は、世界座標系におけるものとするが、処理の内容によっては、他の座標系における位置姿勢としても構わない。また、データ記憶部１０２０には、撮像装置１００の上記内部パラメータが予め登録されているものとする。もちろん、この内部パラメータは、位置姿勢入力部３００によってデータ記憶部１０２０に入力されても構わない。
【００４２】
＜ステップＳ２０３０＞
画像取得部１０１０は、撮像装置１００から送出された現実空間の撮像画像を取得し、該取得した撮像画像をデータ記憶部１０２０に格納する。
【００４３】
＜ステップＳ２０４０＞
指標検出部１０５０は、ステップＳ２０３０でデータ記憶部１０２０に格納した撮像画像（若しくはデータ記憶部１０２０に最も過去に登録された、指標検出を未だ行っていない画像）を対象画像とし、該対象画像から指標を検出する処理を行う。
【００４４】
対象画像中にＮ個の四角形指標Ｐｋｎ（ｎ＝１、…、Ｎ）が含まれている場合、指標検出部１０５０は、Ｎ個の四角形指標Ｐｋｎのそれぞれについて、識別子ｋｎと、４つの頂点ｐｋｎｉ（ｉ＝１，２，３，４）の画像座標ｕｐｋｎｉから計算される１点の画像座標と、をセットにしてデータ記憶部１０２０に格納する。４つの頂点の画像座標から計算される１点の画像座標は、４つの頂点の画像座標の平均画像座標であっても良いし、４つの頂点の画像座標のうちの１つであっても構わない。
【００４５】
図３Ａの場合には、３つの指標が撮像画像中に含まれることになり、以下の３セットがデータ記憶部１０２０に格納されることになる
・  ｛識別子ｋ１＝１、ｕPｋ１１及びｕPｋ１２及びｕPｋ１３及びｕPｋ１４から計算される１点の画像座標｝
・  ｛識別子ｋ２＝２、ｕPｋ２１及びｕPｋ２２及びｕPｋ２３及びｕPｋ２４から計算される１点の画像座標｝
・  ｛識別子ｋ３＝３、ｕPｋ３１及びｕPｋ３２及びｕPｋ３３及びｕPｋ３４から計算される１点の画像座標｝
＜ステップＳ２０５０＞
対象指標判定部１０６０は、対象画像と、該対象画像の１フレーム過去の撮像画像（過去撮像画像）と、を用いて、該対象画像から検出した指標のうち規定の条件を満たす指標を対象指標として特定する。そして対象指標判定部１０６０は、データ記憶部１０２０に格納されている指標毎のセットのうち対象指標のセットを、他のセットとは識別可能にデータ記憶部１０２０内で管理する。これは少なくとも、対象指標の識別子が非対象指標の識別子と識別可能に管理されていればよい。
【００４６】
ステップＳ２０５０における処理の詳細について、図５のフローチャートを用いて説明する。なお、図５のフローチャートに従った処理は、対象画像から検出したそれぞれの指標について行われる。以下の説明では、対象画像から検出したそれぞれの指標のうち着目指標について行われる処理を例にとり説明するが、他の指標についても同様の処理を行うことになる。
【００４７】
＜ステップＳ２０５１＞
先ず、過去撮像画像から検出したそれぞれの指標の識別子のうち、対象画像から検出した着目指標と同じ識別子を特定し、該特定した識別子と同セット中の画像座標を取得する。そして、該取得した画像座標と、対象画像から検出した着目指標の画像座標と、の差分Δｕを求める。
【００４８】
＜ステップＳ２０５３＞
差分Δｕが規定の閾値Ｔよりも大きいか否かを判断する。この判断の結果、Δｕ＞Ｔであれば処理はステップＳ２０５４に進み、Δｕ≦Ｔであれば、着目指標に係る図５のフローチャートに従った処理は終了する。
【００４９】
＜ステップＳ２０５４＞
着目指標についてデータ記憶部１０２０に登録したセットを対象指標のセットとし、該対象指標のセットを、非対象指標のセットと識別可能に管理する。即ち、図５のフローチャートに従った処理を、対象画像から検出したそれぞれの指標について行うことで、対象画像から検出したそれぞれの指標のうち、画像内で閾値よりも大きく動いた指標を対象指標として検出することができ、例えば、ユーザが、これから指標を配置しようとして手に持ってる場合などに、この手に持っている「これから配置しようとしている指標」を対象指標として判定することができる。
【００５０】
＜ステップＳ２０６０＞
対象指標投影部１０７０は先ず、データ記憶部１０２０内に格納されている各指標の配置情報のうち、ステップＳ２０５０にて特定した対象指標の識別子を含む配置情報を、対象指標の配置情報として特定する。そして対象指標投影部１０７０は、この特定した配置情報中の配置位置を、撮像装置１００の位置姿勢を用いて対象画像上に投影した投影位置（ｕｘ、ｕｙ）を求める。ここで、この投影位置（ｕｘ、ｕｙ）を求める為の処理について説明する。
【００５１】
はじめに透視投影変換について説明する。図６はカメラ座標系（例えば撮像装置１００のレンズ位置を原点とし、該原点で直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系）及び画面座標系（撮像装置１００の撮像面内で定義される座標系）を説明する図である。画面座標系の原点ｏｉは視軸と画像面の交点にとり、画像の水平方向をｘｉ軸、垂直方向をｙｉ軸にとる。また、カメラ座標系の原点ｏｃと画像面との距離（焦点距離）をｆとし、カメラ座標系のｚｃ軸は視軸の反対方向、ｘｃ軸は画像の水平方向と平行に、ｙｃ軸は画像の垂直方向と平行にとる。
【００５２】
透視投影変換により、カメラ座標系上の点ｘｃ＝［ｘｃ  ｙｃ  ｚｃ］ｔは、以下の式（１）のように画面座標がｕ＝［ｕｘ  ｕｙ］ｔである点に投影される。
【００５３】
【数１】
2015219590.tif 000003
【００５４】
式（１）は、図６に示すように、空間中の点と該点の画像上の投影点とカメラ位置（視点）は同一直線上に存在することを示しており、共線条件式とも呼ばれる。世界座標系における撮像装置の位置をｔ＝［ｔｘ  ｔｙ  ｔｚ］ｔ、撮像装置の姿勢（実際には、カメラ座標系に対する世界座標系の姿勢）をω＝［ωｘ  ωｙ  ωｚ］であるとする。ωは３自由度の姿勢表現方法であり、姿勢を回転軸ベクトル及び回転角で表現している。回転角をｒａとすると、ｒａはωによって、以下の式（２）のように表される。
【００５５】
【数２】
2015219590.tif 000004
【００５６】
また、回転軸ベクトルをｒ＝［ｒｘ  ｒｙ  ｒｚ］ｔとすると、ｒとωの関係は、以下の式（３）のように表される。
【００５７】
【数３】
2015219590.tif 000005
【００５８】
ω（回転角ｒａ、回転軸ベクトルｒ）と３×３回転変換行列Ｒとの関係は、以下の式（４）のように表される。
【００５９】
【数４】
2015219590.tif 000006
【００６０】
世界座標系上の点ｘｗ＝［ｘｗ  ｙｗ  ｚｗ］ｔのカメラ座標ｘｃはｔ、Ｒによって、以下の式（５）のように表される。
【００６１】
【数５】
2015219590.tif 000007
【００６２】
以上の式（１）、（５）から、透視投影変換によって、世界座標上の点ｘｗ＝［ｘｗ  ｙｗ  ｚｗ］ｔは、以下の式（６）のように画像上の点ｕ＝［ｕｘ  ｕｙ］ｔに投影される。
【００６３】
【数６】
2015219590.tif 000008
【００６４】
以上により、撮像装置の位置及び姿勢と対象指標の配置位置から、対象指標の投影座標（ｕｘ，ｕｙ）を推定することができる。そして対象指標投影部１０７０は、このようにして求めた投影位置を、対象画像と共に画像出力部１０８０に対して送出する。
【００６５】
＜ステップＳ２０７０＞
画像出力部１０８０は、対象画像上の投影位置を指し示すような情報を該対象画像上に合成した合成画像を生成する。例えば、対象画像上の投影位置に指標を表すマーカ画像を合成しても構わないし、該投影位置を指し示す矢印を該対象画像上に合成しても構わない。要するに、この対象画像上の投影位置を表す情報を見たユーザが、現実空間において対応する箇所が分かるのであれば、この情報として採用可能なものは如何なるものであっても構わない。
【００６６】
このように、本実施形態によれば、指標を現実空間に配置する際に、これから配置しようとしている指標を対象指標として判定し、撮像装置の位置姿勢と対象指標の配置情報から、対象指標の投影位置を推定してユーザに提示するので、現実空間に配置すべき位置を通知することができる。これにより、ユーザが、コンピュータが識別しやすいように設計されているために人が見てもすぐに識別しにくい指標を配置する際に、簡単かつ短時間で指標を配置するための提示を行うことが可能になる。
【００６７】
＜変形例＞
上記の説明では、フレーム間で動き量が大きい指標を対象指標として特定したが、上記の通り、対象指標の特定方法はこれに限るものではない。例えば、撮像画像中に写っているそれぞれの指標のうち、該指標の検出画像座標と、該指標の配置情報中の配置位置を撮像画像上に投影（第１の実施形態と同様の投影方法で投影）した投影座標と、の間の差が規定値以上である指標を対象指標として特定しても構わない。すなわち、配置位置が予め定められているにもかかわらず、未だユーザが手に持っていたり、すでに間違った位置に配置してしまったりして、指標が該配置位置にはない場合には、この指標については対象指標として特定し、ユーザに配置位置を通知する。
【００６８】
［第２の実施形態］
第１の実施形態では、対象指標の配置位置を、撮像装置１００の位置姿勢に基づいて撮像画像上に投影した投影位置若しくはその近傍に何らかの情報を表示していた。しかし、この投影位置が撮像画像外の位置になってしまった場合、この撮像画像上には投影位置を通知するための情報が合成されなくなる。そこで本実施形態ではこのようなケースが発生した場合には、投影位置が含まれるような撮像画像を撮像できるように撮像装置１００のパン・チルト・ズームを制御する。然るに本実施形態の場合、撮像装置１００は、情報処理装置１０００からの制御信号により、パン・チルト・ズームが制御可能な撮像装置である。このような撮像装置としては、例えば、遠隔からパンまたはチルトまたはズームを制御可能なネットワークカメラがある。また、他にも、USBカメラや1394カメラなどのカメラであっても構わない。
【００６９】
パンまたはチルトを制御すると、撮像装置１００の位置及び姿勢が変化する。また、ズームを制御すると、レンズ歪み補正のためのパラメータや、焦点距離などのカメラ固有のパラメータが変化する。そこで、撮像装置１００のパンまたはチルトまたはズームを変化させた変化量にあわせて、カメラパラメータを変更すればよい。パンまたはチルト量が、撮像の回転となるように予め、キャリブレーションしておく。キャリブレーションの方法は、公知の何れの方法であってもよい。また、ズーム量にあわせて変換する焦点距離や歪み補正係数などのカメラパラメータも、予め、ズーム値ごとのカメラパラメータを求めておき、参照テーブル（Ｌｏｏｋ  ｕｐ  ｔａｂｌｅ）を作成しておく。それを参照することで、ズーム値ごとのカメラパラメータを利用することができる。
【００７０】
このような構成において、対象指標投影部１０７０は、投影位置が撮像画像上の画像座標から外れた位置にあると判断した場合には、パン・チルト・ズームの１以上を制御するための制御信号を撮像装置１００に送出するので、撮像装置１００はこの制御信号に応じてパン・チルト・ズームの１以上を制御することになる。そして以降は、この制御後のカメラパラメータを用いる以外は第１の実施形態と同様の処理を行う。そして未だ投影位置が撮像画像上の画像座標から外れた位置にある場合には、更にパン・チルト・ズームの１以上を制御する。これにより最終的には、投影位置が撮像画像上の画像座標となる。
【００７１】
このように、本実施形態によれば、指標を現実空間に配置する際に、これから配置しようとしている指標を対象指標として判定し、撮像装置の位置姿勢と対象指標の配置情報から推定した対象指標の投影位置が撮像装置の画角内に入っていない場合であっても、該投影位置が該画角に入るように撮像装置のパン・チルト・ズームの１以上を制御することで、画角内に投影位置を納めることができる。
【００７２】
［第３の実施形態］
第１，２の実施形態では、表示部４００に表示する画像上に、対象指標の配置位置を示す情報を合成していたが、対象指標の配置位置をユーザに提示することができるのであれば、他の方法を採用しても構わない。本実施形態では、対象指標の配置位置に、該配置位置が該対象指標を配置すべき位置であることを示す情報を投影（投射）する。
【００７３】
先ず、本実施形態に係るシステムの構成例について、図７のブロック図を用いて説明する。なお、図７において図１に示した機能部と同じ機能部には同じ参照番号を付しており、この機能部に係る説明は省略する。また、以下では、第１の実施形態との相違点について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。
【００７４】
また、本実施形態では、情報処理装置１０００の代わりに情報処理装置２０００を用いており且つ、情報処理装置２０００に位置姿勢入力部５００が接続されている点が、第１の実施形態に係るシステムと異なる。
【００７５】
本実施形態では、表示部４００は画像出力部１０８０から出力される画像や文字をスクリーンや壁面などに投影する投影装置（プロジェクタ）である。
【００７６】
位置姿勢入力部５００は、表示部４００の位置姿勢を情報処理装置１０００に入力するためのものである。位置姿勢入力部５００は、ユーザが表示部４００の位置姿勢を入力するために操作するユーザインターフェース（キーボードやマウス）であっても構わないし、予め表示部４００の位置姿勢が登録された装置（ハードディスクドライブ装置やサーバ装置）であっても構わない。また、位置姿勢入力部５００は、表示部４００の位置姿勢を計測するセンサであっても構わない。この場合、表示部４００とセンサとの間の位置姿勢関係は予め校正されており、センサによる計測値を表示部４００の位置姿勢としても構わないし、センサによる計測値に適当な変換を施すことで得られる位置姿勢を表示部４００の位置姿勢としても構わない。また、市松模様などのパターンを表示部４００によって平面板に投影し、位置姿勢が既知で且つ外部パラメータ及び内部パラメータが校正された撮像装置で撮影した画像から市松模様を検出し、対応点を求めることで表示部４００の位置姿勢を推定しても構わない。なお、表示部４００の焦点距離や画像中心やレンズ歪みといった機器固有の内部パラメータは予め公知の方法で求めておき、データ記憶部１０２０に登録しておく。
【００７７】
このように、情報処理装置１０００に表示部４００の位置姿勢を供給可能な装置であれば、如何なる装置であっても構わない。換言すれば、情報処理装置１０００に表示部４００の位置姿勢を入力する方法には様々な方法があり、特定の入力方法に限るものではない。
【００７８】
位置姿勢取得部１０９０は、位置姿勢入力部５００により入力された表示部４００の位置姿勢を取得すると、該取得した位置姿勢をデータ記憶部１０２０に格納する。
【００７９】
対象指標投影部１０７０は第１の実施形態と同様にして、対象指標の配置位置を表示部４００の位置姿勢に基づいて、表示部４００内（投影装置内）で投影像を表示する表示面（画像表示面）上に投影した投影位置を求めると、該投影位置を画像出力部１０８０に送出する。
【００８０】
画像出力部１０８０は、対象指標投影部１０７０から投影位置を受けると、該表示部４００内の表示面上（画像表示面上）に「該投影位置が対象指標を配置する位置である」ことを示す情報を表示するような表示画像を生成し、該生成した表示画像を表示部４００に対して送出する。
【００８１】
次に、本実施形態に係る情報処理装置２０００が、対象指標の配置位置に、該配置位置が該対象指標を配置すべき位置であることを投影させるために行う一連の処理について、図８のフローチャートを用いて説明する。なお、図８のフローチャートに従った処理は、撮像装置１００から送出される各フレームの画像に対して行われる。
【００８２】
ステップＳ３０１０及びＳ３０２０のそれぞれのステップにおける処理は、上記のステップＳ２０１０及びＳ２０２０における処理と同様であるために、これらのステップに係る説明は省略する。
【００８３】
＜ステップＳ３０２５＞
位置姿勢取得部１０９０は、位置姿勢入力部５００によって入力された表示部４００の位置姿勢を取得し、該取得した位置姿勢をデータ記憶部１０２０に格納する。
【００８４】
ステップＳ３０３０〜Ｓ３０５０のそれぞれのステップにおける処理は、上記のステップＳ２０３０〜Ｓ２０５０における処理と同様であるために、これらのステップに係る説明は省略する。
【００８５】
＜ステップＳ３０６５＞
対象指標投影部１０７０は、第１の実施形態と同様にして、表示部４００の位置姿勢に基づいて、対象指標の配置位置を表示部４００内の表示面上に投影した投影位置を求める。より詳しくは、世界座標系における表示部４００の位置をｔ＝［ｔｘ  ｔｙ  ｔｚ］ｔ、表示部４００の姿勢（実際には、表示部４００に固有の座標系に対する世界座標系の姿勢）をω＝［ωｘ  ωｙ  ωｚ］として、上記のステップＳ２０６０における処理と同様の処理を行う。このように、撮像装置の位置及び姿勢と対象指標の配置情報から、対象指標の投影座標（ｕｘ，ｕｙ）を推定する処理と、表示部４００の位置及び姿勢と対象指標の配置情報から、対象指標の投影座標を推定する処理と、は同様である。そして対象指標投影部１０７０は、このようにして求めた投影位置を、画像出力部１０８０に対して送出する。
【００８６】
＜ステップＳ３０７０＞
画像出力部１０８０は、表示部４００が有する表示面上の投影位置に指標を表すマーカ画像を配置した画像を生成しても構わないし、該投影位置を指し示す矢印を該表示面上に配置した画像を生成しても構わない。要するに、表示部４００による投射結果を見たユーザが、現実空間において対象指標の配置位置が分かるのであれば、投射する情報として採用可能なものは如何なるものであっても構わない。
【００８７】
このように、現実空間に重ね合わせるように投影位置を示す情報を投射することで、ユーザは、簡単かつ短時間で指標を配置することができる。
【００８８】
［第４の実施形態］
第３の実施形態では、対象指標の配置位置を表示部４００の位置姿勢に基づいて該表示部４００の表示面上に投影した投影位置を求めているが、この求めた投影位置が表示面外の位置になってしまった場合、投影位置を示す情報を投射することはできない。そこで本実施形態ではこのようなケースが発生した場合には、投影位置が表示部４００の画角内に収まるように表示部４００のパン・チルト・ズームを制御する。然るに本実施形態の場合、表示部４００は、情報処理装置１０００からの制御信号により、パン・チルト・ズームが制御可能な投影装置である。
【００８９】
パンまたはチルトを制御すると、表示部４００の位置及び姿勢が変化する。また、ズームを制御すると、レンズ歪み補正のためのパラメータや、焦点距離などの投影装置固有のパラメータが変化する。そこで、表示部４００のパンまたはチルトまたはズームを変化させた変化量にあわせて、投影装置パラメータを変更すればよい。パンまたはチルト量が、投射の回転となるように予め、キャリブレーションしておく。これにより、表示部４００の回転中心とパンまたはチルトの回転中心のオフセット量を求めておき、そのオフセット量を、パンまたはチルト量に加えることで、表示部４００の姿勢を求める。キャリブレーションの方法は、公知の何れの方法であってもよい。また、ズーム量にあわせて変換する焦点距離や歪み補正係数などの投影装置パラメータも、予め、ズーム値ごとの投影装置パラメータを求めておき、参照テーブル（Ｌｏｏｋ  ｕｐ  ｔａｂｌｅ）を作成しておく。それを参照することで、ズーム値ごとの投影装置パラメータを利用することができる。
【００９０】
このような構成において、対象指標投影部１０７０は、投影位置が表示面から外れた位置にあると判断した場合には、パン・チルト・ズームの１以上を制御するための制御信号を表示部４００に送出するので、表示部４００はこの制御信号に応じてパン・チルト・ズームの１以上を制御することになる。そして以降は、この制御後の投影装置パラメータを用いる以外は第３の実施形態と同様の処理を行う。そして未だ投影位置が表示面から外れた位置にある場合には、更にパン・チルト・ズームの１以上を制御する。これにより最終的には、投影位置が表示面上（画像表示面内）の画像座標となる。
【００９１】
このように、本実施形態によれば、投影装置の位置姿勢と対象指標の配置情報から推定した対象指標の投影位置が投影装置の画角内に入っていない場合であっても、該投影位置が該画角に入るように投影装置のパン・チルト・ズームの１以上を制御することで、画角内に投影位置を納めることができる。
【００９２】
［第５の実施形態］
図１，２のそれぞれに示した情報処理装置１０００を構成する各機能部、情報処理装置２０００を構成する各機能部は何れもハードウェアで構成しても構わないが、データ記憶部１０２０をメモリ装置で構成し、それ以外の機能部をソフトウェア（コンピュータプログラム）で構成しても構わない。この場合、このようなメモリ装置を有し、且つこのコンピュータプログラムを実行可能なコンピュータであれば、情報処理装置１０００や情報処理装置２０００に適用することができる。
【００９３】
このようなコンピュータのハードウェア構成例について、図９を用いて説明する。なお、図９に示した構成は、このようなコンピュータのハードウェア構成の一例に過ぎず、このような構成に限るものではない。
【００９４】
ＣＰＵ４００１は、ＲＡＭ４００２やＲＯＭ４００３に格納されているコンピュータプログラムやデータを用いて処理を実行することで、本コンピュータ全体の動作制御を行うと共に、本コンピュータを適用する情報処理装置１０００や情報処理装置２０００が実行するものとして上述した各処理を実行する。
【００９５】
ＲＡＭ４００２は、外部記憶装置４００７や記憶媒体ドライブ４００８からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。また、ＲＡＭ４００２は、Ｉ／Ｆ（インターフェース）４００９を介して外部（撮像装置１００、配置情報入力部２００、位置姿勢入力部３００、５００等）から入力されたデータを格納するためのエリアも有する。また、ＲＡＭ４００２は、ＣＰＵ４００１が各種の処理を実行する際に用いるワークエリアも有する。このように、ＲＡＭ４００２は、各種のエリアを適宜提供することができる。ＲＡＭ４００２は、例えば、図１，２のデータ記憶部１０２０としても機能することができる。ＲＯＭ４００３には、本コンピュータの設定データやブートプログラムなど、書き換え不要のコンピュータプログラムやデータが格納されている。
【００９６】
キーボード４００４やマウス４００５は、本コンピュータのユーザが各種の指示やデータを入力するために操作するユーザインターフェースの一例であり、ユーザはこのようなユーザインターフェースを操作することで、各種の指示やデータをコンピュータに対して入力することができる。
【００９７】
外部記憶装置４００７は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置４００７には、ＯＳ（オペレーティングシステム）や、情報処理装置１０００や情報処理装置２０００においてデータ記憶部１０２０以外の各機能部が実行するものとして上述した各処理をＣＰＵ４００１に実行させるためのコンピュータプログラムやデータが保存されている。このデータには、上記の説明において既知の情報として取り扱ったものも含まれている。外部記憶装置４００７に保存されているコンピュータプログラムやデータは、ＣＰＵ４００１による制御に従って適宜ＲＡＭ４００２にロードされ、ＣＰＵ４００１による処理対象となる。
【００９８】
記憶媒体ドライブ４００８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記憶媒体に記録されているコンピュータプログラムやデータを読み出し、該読み出したコンピュータプログラムやデータをＲＡＭ４００２や外部記憶装置４００７に出力するものである。なお、外部記憶装置４００７に保存されているものとして上述したもののうち一部をこの記憶媒体に記録しておいても構わない。
【００９９】
Ｉ／Ｆ４００９は、上記の撮像装置１００、配置情報入力部２００、位置姿勢入力部３００、位置姿勢入力部５００、等の機器を本コンピュータに接続するためのインターフェースである。図９では模式的に１つのＩ／Ｆしか示していないが、実際には本コンピュータに接続する機器毎にＩ／Ｆが設けられている。例えば、本コンピュータに撮像装置１００を接続するためのＩ／Ｆは、撮像装置１００の出力がＩＥＥＥ１３９４などのデジタル出力であれば、例えば、ＩＥＥＥ１３９４インターフェースボードによって実現される。また、撮像装置１００の出力がＮＴＳＣ信号などのアナログ出力であれば、本コンピュータに撮像装置１００を接続するためのＩ／Ｆは、アナログビデオキャプチャーボードによって実現される。
【０１００】
上記の各部は何れも共通のバス４０１０に接続されている。また、情報処理装置１０００や情報処理装置２０００を１つのコンピュータでもって構成することに限らず、２台以上のコンピュータで構成しても構わない。
【０１０１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０２】
１０３０：配置情報取得部  １０６０：対象指標判定部  １０７０：対象指標投影部  １０８０：画像出力部  ４００：表示部
【図１】
2015219590.tif 000009
【図２】
2015219590.tif 000010
【図３Ａ】
2015219590.tif 000011
【図３Ｂ】
2015219590.tif 000012
【図３Ｃ】
2015219590.tif 000013
【図４】
2015219590.tif 000014
【図５】
2015219590.tif 000015
【図６】
2015219590.tif 000016
【図７】
2015219590.tif 000017
【図８】
2015219590.tif 000018
【図９】
2015219590.tif 000019