(57)【特許請求の範囲】
【請求項１】
入力画像に仮想物体を合成する情報処理装置であって、
前記仮想物体のデータを取得するデータ取得手段と、
現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得手段と、
前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定手段と、
前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御手段と、を備え、
前記表示制御手段は、前記位置姿勢と、前記指標の周期性の有無とに基づいて、前記画像的特性を制御することを特徴とする情報処理装置。
【請求項２】
入力画像に仮想物体を合成する情報処理装置であって、
前記仮想物体のデータを取得するデータ取得手段と、
現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得手段と、
前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定手段と、
前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御手段と、を備え、
前記表示制御手段は、前記指標の周期性がある方向に沿って前記画像的特性を増減させることを特徴とする情報処理装置。
【請求項３】
入力画像に仮想物体を合成する情報処理装置であって、
前記仮想物体のデータを取得するデータ取得手段と、
現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得手段と、
前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定手段と、
前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御手段と、
前記現実空間に分布する、物体が動作する動的領域の配置情報を取得する動的領域取得手段と、を備え、
前記表示制御手段は、前記位置姿勢と前記動的領域の配置情報とに基づいて、前記仮想物体の画像的特性を制御することを特徴とする情報処理装置。
【請求項４】
入力画像に仮想物体を合成する情報処理装置であって、
前記仮想物体のデータを取得するデータ取得手段と、
現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得手段と、
前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定手段と、
前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御手段と、
前記現実空間に分布する、時間的に輝度が変化する輝度変化領域の配置情報を取得する変化領域取得手段と、を備え、
前記表示制御手段は、前記位置姿勢と前記輝度変化領域の配置情報とに基づいて、前記仮想物体の画像的特性を制御することを特徴とする情報処理装置。
【請求項５】
入力画像に仮想物体を合成する情報処理装置であって、
前記仮想物体のデータを取得するデータ取得手段と、
現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得手段と、
前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定手段と、
前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御手段と、
前記撮像装置の位置姿勢の履歴を格納する格納手段と、備え、
前記表示制御手段は、前記履歴に含まれる各位置姿勢と、前記推定手段により推定された位置姿勢との類似度を取得し、前記類似度が所定値以上の位置姿勢が前記履歴に含まれる場合、前記仮想物体の画像的特性を制御することを特徴とする情報処理装置。
【請求項６】
前記表示制御手段は、前記位置姿勢と、前記指標の疎密とに基づいて、前記画像的特性を制御することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記指標が疎な方向に沿って前記画像的特性を増減させることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記表示制御手段は、前記位置姿勢と、前記指標の分布の偏りとに基づいて、前記画像的特性を制御することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項９】
前記表示制御手段は、前記指標の分布の偏りが大きい方向に沿って前記画像的特性を増減させることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記表示制御手段は、前記入力画像の周囲に所定のサイズに設定した画像を複数の領域に分割し、各領域に含まれる前記指標の数に基づいて前記画像的特性の制御方向及び制御量を決定することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項１１】
前記推定手段は、前記入力画像と、前記指標マップ取得手段により取得された第１の指標マップとに基づいて、前記位置姿勢を推定し、
前記表示制御手段は、前記位置姿勢と、前記指標マップ取得手段により予め取得された第２の指標マップとに基づいて、前記仮想物体の画像的特性を制御する
ことを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記表示制御手段は、前記画像的特性の制御として前記仮想物体の透明度を制御することを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記表示制御手段は、前記画像的特性の制御として画像フィルタ処理を行うことを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１４】
前記撮像装置をさらに備え、
前記入力画像は前記撮像装置を用いて撮影された画像であることを特徴とする請求項１乃至１３の何れか１項に記載の情報処理装置。
【請求項１５】
前記表示制御手段により生成された前記合成画像を表示する表示手段をさらに備えることを特徴とする請求項１乃至１４の何れか１項に記載の情報処理装置。
【請求項１６】
入力画像に仮想物体を合成する情報処理装置の制御方法であって、
データ取得手段が、前記仮想物体のデータを取得するデータ取得工程と、
指標マップ取得手段が、現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得工程と、
推定手段が、前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定工程と、
表示制御手段が、前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御工程と、を有し、
前記表示制御工程では、前記位置姿勢と、前記指標の周期性の有無とに基づいて、前記画像的特性を制御することを特徴とする情報処理装置の制御方法。
【請求項１７】
入力画像に仮想物体を合成する情報処理装置の制御方法であって、
データ取得手段が、前記仮想物体のデータを取得するデータ取得工程と、
指標マップ取得手段が、現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得工程と、
推定手段が、前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定工程と、
表示制御手段が、前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御工程と、
動的領域取得手段が、前記現実空間に分布する、物体が動作する動的領域の配置情報を取得する動的領域取得工程と、を有し、
前記表示制御工程では、前記位置姿勢と前記動的領域の配置情報とに基づいて、前記仮想物体の画像的特性を制御することを特徴とする情報処理装置の制御方法。
【請求項１８】
請求項１６又は１７に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関し、特に、カメラで撮影した画像上に仮想物体を重畳表示する技術に関する。
【背景技術】
【０００２】
近年、現実空間に仮想空間や仮想物体を重畳表示してユーザに提示する複合現実感（MR：Mixed Reality）に関する技術が注目されている。MR技術の一例では、ユーザはHMD（Head Mounted Display）を装着し、HMDに搭載されるカメラで撮影した画像に対して仮想空間（CGなど）を重畳レンダリングした合成画像をユーザに提示する。
【０００３】
仮想空間の重畳レンダリングは、通常、現実空間内に分布する指標をカメラで撮影・画像上から検出することでカメラの３次元位置と姿勢を推定し、それらを用いた座標変換をすることによって行われる。しかしながら、推定が不安定な状況、例えば指標が少ない（疎な）現実空間内の領域においては、カメラの３次元位置と姿勢の推定結果がばらつくため、仮想物体が画像上でばらつく「ジッタ」と呼ばれる現象が生じ、MRアプリケーションの利用に支障を及ぼす。
【０００４】
これに対して、特許文献１では、特徴点の分布に基づき、分布が疎な空間を避けるようにユーザを誘導するテキストや動作型エージェントなどの誘導オブジェクトを画像に追加して重畳表示する方法が開示されている。特許文献１では、カメラの３次元位置と姿勢の推定が不安定にならないようユーザを誘導するための誘導オブジェクトを画面内に追加して表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２２５２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法では、仮想物体が工業部品のような動作をしない静止物体である場合は、動作やテキストによる誘導は直感的でないという課題がある。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、直感的にユーザを誘導する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明の一態様による情報処理装置は以下の構成を備える。即ち、
入力画像に仮想物体を合成する情報処理装置であって、
前記仮想物体のデータを取得するデータ取得手段と、
現実空間に分布する指標群の配置情報を指標マップとして取得する指標マップ取得手段と、
前記入力画像と前記指標マップとに基づいて、前記入力画像を撮影した際の撮像装置の位置姿勢を推定する推定手段と、
前記位置姿勢と前記指標マップとに基づいて、前記仮想物体の画像的特性を制御して表示用の合成画像を生成する表示制御手段と、を備え、
前記表示制御手段は、前記位置姿勢と、前記指標の周期性の有無とに基づいて、前記画像的特性を制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、直感的にユーザを誘導することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る情報処理装置100の構成例を示す図。
【図２】実施形態１に係る情報処理装置100が実施する処理の手順を示すフローチャート。
【図３】実施形態１に係るS1150の処理の詳細な処理手順を示すフローチャート。
【図４】実施形態１に係る表示制御の制御方向算出処理を説明するための図。
【図５】実施形態１の変形例２に係る表示制御の処理を説明するための図。
【図６】実施形態１の変形例６に係る制御方向、制御量の算出方法を説明するための図。
【図７】実施形態２に係る情報処理装置200の構成例を示す図。
【図８】実施形態２に係る情報処理装置200が実施する処理の手順を示すフローチャート。
【図９】実施形態４に係る情報処理装置100が実施する処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
（実施形態１：特徴点の分布が疎な空間の方向に基づきCGの一部を透明化）
実施形態１では、本発明における仮想物体の表示方法を、HMD（Head Mounted Display）およびHMDに固定配置された２台のカメラで構成されるMR（Mixed Reality）システムに対して適用する場合について説明する。
【００１３】
HMDを頭部に装着したMRシステムのユーザが、現実空間中の後述する指標の分布が疎な（少ない）空間の方を向いた際に、仮想物体の表示が画面内でばらつく「ジッタ」と呼ばれる現象が生じ、ユーザ体験に悪影響を及ぼすという課題がある。この課題に対して本実施形態では、指標の分布が疎な空間の方向へ仮想物体が段々と透明になるように描画することで、仮想物体が透明にならないように疎な空間を避けるようユーザを暗に誘導することができる。
【００１４】
図1は、本実施形態に係る情報処理装置100の概略構成を示した図である。情報処理装置100は、画像取得部110、CGデータ取得部120、指標マップ取得部130、撮影位置姿勢推定部140、及び表示制御部150を備えている。情報処理装置100は、第１の撮像部101a、第２の撮像部101b、第１の表示部102a、及び第２の表示部102bと映像ケーブル（USBケーブルなど）を介して接続されている。
【００１５】
第１の撮像部101a、第２の撮像部101bは、それぞれ外部の撮像装置（例えばカラーカメラ）であり、同期撮像した画像データを画像取得部110へ転送する。画像取得部110は、第1の撮像部101aおよび第2の撮像部101bから転送された画像データをそれぞれ入力画像として取得し、図示しない内部のメモリに格納する。
【００１６】
CGデータ取得部120は、重畳表示する対象となる仮想物体のCGの属性データ（形状、テクスチャなど）を、図示しない外部の記憶媒体から読み込んで図示しない内部のメモリに格納する。指標マップ取得部130は、撮影位置姿勢推定部140および表示制御部150で用いる、現実空間中に分布する後述の指標群の座標及びその特徴量等、配置情報を、図示しない外部の記憶媒体から読み込んで指標マップとして図示しない内部のメモリに格納する。
【００１７】
撮影位置姿勢推定部140は、第1の撮像部101aの現実空間における位置姿勢を、画像取得部110で取得した2枚の入力画像から検出した指標と、指標マップ取得部130で取得した指標の座標及びその特徴量とを用いて演算処理により推定する。そして、それをベクトルデータとして表示制御部150へ出力する。
【００１８】
表示制御部150は、画像取得部110で取得した入力画像と、CGデータ取得部120で取得したCGデータと、指標マップ取得部130で取得した指標の分布と、撮影位置姿勢推定部140で出力されたベクトルデータとを取得する。そして、仮想物体の透明度が画像空間で段々と変化するように制御しながら描画をして画像合成する。その後、合成画像を第1の表示部102a、第２の表示部102bに出力する。第1の表示部102a、第２の表示部102bは外部のディスプレイ装置であり、表示制御部150の出力を入力としてディスプレイに表示する。
【００１９】
続いて、図2のフローチャートを参照して、本実施形態に係る情報処理装置100が実施する表示制御処理の手順を説明する。情報処理装置100は、画像取得処理（S1110）、CGデータ取得処理（S1120）、指標マップ取得処理（S1130）、撮影位置姿勢推定処理（S1140）、表示制御処理（S1150）の順に処理を実行する。
【００２０】
（S1110：画像取得処理）
S1110では、画像取得部110は、第1の撮像部101aおよび第2の撮像部101bにより同期撮像される画像データをそれぞれ入力画像として取得し、内部メモリに格納する。画像データはRGBそれぞれのチャネルの画素毎の輝度値を記述したものである。
【００２１】
（S1120：CGデータ取得処理）
S1120では、CGデータ取得部120は、S1110で取得された入力画像上に重畳表示する対象となる仮想物体の、ポリゴンモデルで記述される属性データをCGデータとして外部の記憶媒体から読み込んで取得する。
【００２２】
（S1130：指標マップ取得処理）
MRシステムにおいて、仮想物体が現実空間に存在するように入力画像上に仮想物体を重畳表示するためには、現実空間と情報処理装置100（第1の撮像部101aまたは第2の撮像部101b）との間の相対的な位置及び姿勢の情報を取得する必要がある。本実施形態ではS1140で説明するSLAM（Simultaneous Localization And Mapping）と呼ばれる方法に基づき情報処理装置100の位置及び姿勢を推定する。
【００２３】
そのためS1130では、指標マップ取得部130が、位置及び姿勢の推定に必要な、現実空間中に分布する指標の座標（3次元ベクトル）および特徴量（多次元ベクトル）を、まとめて指標マップとして外部の記憶媒体から読み込んで取得する。
【００２４】
（S1140：撮影位置姿勢推定処理）
カメラの自己位置および姿勢を画像から推定するための技術としてSLAMが知られている。SLAMの基本的な原理は、現実空間中に分布する特徴点（机の角やエッジ上の点、壁の模様のコーナー部など）と、入力画像から公知のアルゴリズムで検出される画像上特徴点のセットとを照合して対応付ける。そして、対応付けることにより自己位置姿勢を推定（Localization）すると同時に（Simultaneous）、時系列もしくは同期撮影した複数の視点から三角測量の原理に基づき指標マップ中の特徴点の座標を追加・更新（Mapping）するものである。公知のアルゴリズムとしてE. Rosten and T. Drummond (May 2006). "Machine learning for high-speed corner detection". European Conference on Computer Vision.を用いることができる。
【００２５】
S1140では、撮影位置姿勢推定部140は、S1130で読み込んだ指標マップの現実空間中に分布する特徴点を指標として、SLAMによって現実空間と情報処理装置100（第1の撮像部101aまたは第2の撮像部）との間の相対的な位置姿勢（撮影位置姿勢）の６自由度を推定する。推定結果の６次元ベクトルデータは表示制御部150へ出力する。
【００２６】
（S1150：表示制御処理）
S1150では、表示制御部150は、S1140で推定した位置姿勢と、S1130で取得した指標マップとに基づいて、仮想物体の透明度が画像空間で段々と変化するように制御する。そして、表示用の合成画像を各入力画像に対して作成し、第１の表示部102a及び第２の表示部102bへ出力する。
【００２７】
（S1160：表示処理）
S1160では、第１の表示部102a及び第２の表示部102bは、表示制御部150の制御に基づいて合成画像を表示する。
【００２８】
以下、図3のフローチャートを参照して、S1150の表示制御処理の詳細な処理手順を説明する。
【００２９】
（S11501：制御方向算出処理）
S11501では、表示制御部150は、仮想物体の描画を制御する際の画面内の２次元空間における制御方向を算出する。図4(a)及び図4(b)は本実施形態に係る表示制御処理を説明するための図である。図4(a)の例では、まず入力画像Im11aの周囲、外側（画角外）に所定のサイズに設定した画像oIm11aに仮想的に投影される指標の画像座標（図4(a)中の★）を算出する。そしてoIm11aを複数のグリッドに分割し、各グリッド内に含まれる指標数が基準値以下、もしくは最小となるグリッドを求める。図4(a)の例ではg11である。さらにグリッドg11の中心座標へ画像中心から向かうベクトルv11を制御方向として算出する。
【００３０】
なお、図4(b)の例では、画像oIm12aに仮想的に投影される指標の画像座標（図4(b)中の★）を算出する。そしてoIm12aを複数のグリッドに分割し、各グリッド内に含まれる指標数が基準値以下、もしくは最小となるグリッドを求める。図4(b)の例ではg120、g121である。図4(b)に示すように、指標数の少ないグリッドg120、g121のように複数選ばれた場合は、それぞれグリッドの中心へ向かうベクトルv120、v121を制御方向として算出する。
【００３１】
（S11502：制御量算出処理）
S11502では、表示制御部150は、S11501で用いた指標数に基づき、仮想物体の描画を制御する際の画面内の２次元空間における制御の程度（制御量）を算出する。
【００３２】
例えば、S11501で算出した制御方向v11について、S11501で用いたグリッドg11内の指標数の逆数（指標数０の時は１とする）をv11の制御量として算出する。制御方向が複数の場合はそれぞれ制御量を算出する。S11501で算出した制御方向が図４（ｂ）に示すように複数の場合、v120、v121について、S11501で用いたグリッドg120、g121内の指標数の逆数（指標数０の時は１とする）をv120、v121の制御量として算出する。
【００３３】
（S11503：描画処理）
S11503では、表示制御部150は、S11501とS11502において算出した制御方向およびその制御量に従って制御対象である仮想物体の描画を制御しながら、表示用の２つの入力画像それぞれに対して制御対象を描画して合成画像を作成する。そして、合成画像を第1の表示部102a、第２の表示部102bへ出力する。
【００３４】
本実施形態では仮想物体を制御対象としているため、まずは入力画像をそのまま描画する。次に仮想空間に存在する仮想物体を、そのCGデータとS1140で推定した撮影位置姿勢とに基づいて公知の座標変換により入力画像に投影する。
【００３５】
図4(a)の例では、投影された仮想物体を包含する制御方向v11に沿った矩形領域30中を、制御方向v11の方向に沿って透明度を0からS11502で算出した制御量まで増加させて仮想物体を描画する。図4(b)の例のように制御方向が複数の場合は図4(b)に示すように複数の矩形領域31, 32を重ね合わせ、画素ごとに透明度の最大値を用いて描画する。以上の処理により、表示制御された２枚の出力画像が第1の表示部102a、第２の表示部102bへと出力される。
【００３６】
以上の構成、処理フローによって、指標の分布が疎な空間の方向へ仮想物体が段々と透明になるように描画する方法を説明した。本実施形態によれば、指標の分布が疎な空間の方向へ仮想物体が段々と透明になるように描画することで、ユーザが疎な空間を避けるように誘導することができる。
【００３７】
[変形例１：制御方向を全て用いた表示制御の方法]
実施形態１では入力画像の投影面に投影される特徴点をグリッドに分け、含まれる特徴点数が基準値以下、もしくは最小のグリッドのみを用いて制御方向および制御量を求めた。しかしながら、全てのグリッドの制御方向・制御量を描画に反映させてもよい。反映の方法は実施形態１の制御方向が複数の場合と同一であるため省略する。
【００３８】
[変形例２：画角内の指標が疎な場合には密な方向へ透明度を下げる]
実施形態１では、画角外の画像中の指標の分布に基づき、指標の分布が疎な空間の方向へ仮想物体が段々と透明になる描画方法について説明した。しかしながら、画角内（入力画像中）の指標の分布も加えて用いることで、指標の分布が密な空間の方向へ段々と不透明になるように描画することでユーザを密な空間に近づくように誘導してもよい。
【００３９】
図5は、本変形例に係る表示制御処理を説明するための図である。実施形態１と同様に入力画像Im13aの画角外（oIm13a）の疎なグリッドg13とそれに対応する制御方向v13を求める。さらに画角内の疎なグリッドg14に対して画角外のグリッドから向かう制御方向v14を求める。画角内の他のグリッドについても同様に制御方向v15、v16、v17を求める。制御量は、実施形態１と同様にグリッド内の指標数の逆数（指標数０の時は１とする）として算出する。仮想物体の描画は実施形態１と同様に複数の制御方向に沿った矩形領域33, 34, 35, 36, 37を重ね合わせ、画素ごとに透明度の最大値を用いて描画する。
【００４０】
[変形例３：画角内の指標が疎な場合には仮想物体を全体的に透明にする]
変形例２では、画角内の指標の分布が疎な場合には指標の分布が密な方向へ向かって仮想物体の透明度を段々と下げるように描画する方法について説明した。しかしながら、この場合、画角内の指標の分布が疎であるため撮影位置姿勢推定が不安定になり、仮想物体の描画にあたりジッタが生じる可能性がある。そのため、画角内の指標の分布が疎な場合は仮想物体の透明度を最大（＝１）として完全に透明、つまり仮想物体を描画しないように制御してもよい。
【００４１】
[変形例４：指標の偏りのある方向へ透明度を上げる]
実施形態１では指標の疎密に応じて制御を行っていた。しかしながら、指標の分布が密であっても、偏りがある場合、例えば１か所に集中していたり、同一線上に分布していたりする場合は位置姿勢推定が不安定になる。このような場合は入力画像から検出した特徴点の所定の範囲内での分布密度を画像内で計算し、分布密度が所定の値より高い場合は、偏在領域として定める。そして、当該領域を含むグリッドから制御方向を求め、所定の制御量によって実施形態１と同様に仮想物体を段々と偏在領域に向かって透明になるように描画する。
【００４２】
[変形例５：繰り返しパターンのある方向へ透明度を上げる]
変形例３では指標の偏りを検出して制御を行っていた。しかしながら、類似した指標が規則的に並んでいる（繰り返しパターン）場合も、SLAMの性質上、S1140の撮影位置姿勢推定処理が不安定になる。これは現実空間の指標と入力画像上の指標とが一意に対応付けられないためである。このような場合は変形例３と同様に入力画像から検出した特徴点の所定の範囲内での特徴点の類似度を算出し、類似度が所定の値より高い特徴点の数が所定の数より多ければ、その範囲を繰り返し領域として定める。そして、変形例３と同様に所定の制御量によって仮想物体を繰り返し領域に向かって段々と透明になるように描画する。
【００４３】
また制御方向および制御量の算出は、実施形態１で述べた指標の多さ（疎密）および変形例４で述べた指標の偏りおよび本変形例で述べた繰り返しパターン（周期性）の有無を所定の組み合わせで併用して用いてもよい。
【００４４】
[変形例６：表示制御時の特徴点の分布の使い方のバリエーション]
実施形態１では指標を画像上に投影した２次元空間での分布に基づき制御方向及び制御量を算出したが、指標の分布が疎な領域の3次元座標を取得した上で、その領域の座標と情報処理装置100との幾何関係から制御方向、制御量を算出してもよい。例えば、図6に示すように、現実空間11中に指標の分布が疎な領域Ar11の座標が取得されている場合、Ar11の座標を入力画像に投影した座標へ画像中心から向かう制御方向iv01を求める。そして、第1の撮像部101aの座標から領域Ar11の座標へ向かうベクトルv01と第1の撮像部101aの光軸方向ベクトルv02とのなす角の大きさθ（0＜θ＜π）に基づいて、式１によって仮想物体の透明度（透過率）αCGを算出する。
【００４５】
【数１】
0006704712.tif 000002
【００４６】
ここで、θMIN、θMAXは閾値であり、それぞれ例えば第１の撮像部101aの画角の4分の1、2分の1として定義する。これにより、カメラが疎な領域の方へ向くに従って段々と仮想物体が透明になる効果が実施形態１の効果に追加して得られる。
【００４７】
[変形例７：HMD以外の装置構成]
実施形態１ではHMDにカメラ2台を固定配置したMRシステムにおける本発明の適用方法を説明したが、MRシステムは上記に限定されるものではなく、１つ以上の撮像部と1つ以上の表示部を有するものであれば装置構成は問わない。
【００４８】
[変形例８：マーカを使った方法]
実施形態１では指標として現実空間内に分布する特徴点を用いたが、所定の識別子をコーディングしたマーカを指標として現実空間内に貼付し、入力画像内でデコードすることで撮影位置姿勢を推定する公知の手法を用いてもよい。この場合、入力画像に映るマーカ中の一意に識別できる所定の個数のマーカ内位置を指標として利用して実施形態１と同様に、指標の疎な領域に向かって段々と仮想物体が透明になるように表示制御を行う。
【００４９】
[変形例９：表示制御対象のバリエーション：入力画像の透明度を変更]
実施形態１では、表示制御部150による表示制御処理において仮想物体の制御について説明した。しかしながら、入力画像を制御対象としてもよい。すなわち、描画時に入力画像を制御方向に段々と透明になるように描画し、その上に仮想物体を重畳的に描画してもよい。
【００５０】
[変形例１０：表示制御対象のバリエーション：特徴点の透明度を変更]
実施形態１では、仮想物体を制御対象として説明した。しかしながら、入力画像中で検出した指標を制御対象としてもよい。すなわち、特徴点を疎な領域に近づくほど不透明に描画する。具体的には入力画像と仮想物体を実施形態１と同様に描画したのち、入力画像中で検出された特徴点の座標に、所定の記号と色（例えば赤色の「＋」記号）を用いて「１−（制御量）」の一様な透明度で描画する。
【００５１】
これにより、撮影位置姿勢推定が安定な場合は特徴点の分布をユーザに半透明で提示し、撮影位置姿勢推定が不安定な場合には変形例３で述べた特徴点の分布の偏りや変形例４で述べた繰り返しパターンをユーザに直接提示することができる。
【００５２】
[変形例１１：制御方法のバリエーション：色の変更、段々とぼかす、鮮鋭性を下げる]
実施形態１では、制御対象である仮想物体の透明度を変化させて描画した。しかしながら、制御方法は透明度に限らず、色や画像フィルタ処理を変化させながら描画してもよい。
【００５３】
色の制御については、仮想物体を描画する際に、仮想物体の持つ色のうち、所定のチャネル（例えばRチャネル）の輝度値または明度を、疎な領域へ向かう方向に段々と赤みが増すように制御して描画する。また、仮想物体の持つ色をRGBからHSV表色系に変換して、疎な領域へ向かう方向に段々と彩度が低下するように制御して描画してもよい。
【００５４】
画像フィルタ処理については、公知のぼけフィルタを用いて、疎な領域へ向かう方向に段々とぼけるように仮想物体を描画する。他にも、段々と画像のSN比が低下するように公知のガウスノイズフィルタを適用したり、段々と鮮鋭性が低下するように鮮鋭化フィルタを適用したりしてもよい。
【００５５】
[変形例１２：モノクロカメラの場合]
以上の実施形態１では、撮像装置としてカラーカメラを用いることを前提に説明した。しかしながら、撮像装置はモノクロカメラを用いてもよい。その場合、仮想物体の描画の際に、疎な領域へ向かう方向に輝度値と明度が低下するように描画する。
【００５６】
[変形例１３：表示方法のバリエーション：制御対象の形状・大きさを制御する]
実施形態１では制御対象である仮想物体を、透明度を変化させて描画した。しかしながら、疎な領域へ向かう方向に段々と仮想物体の形状を湾曲させる、描画サイズを拡大するなどして制御対象の形状・大きさを制御してもよい。
【００５７】
[変形例１４：過去に撮影した画像の特徴点数を用いる]
実施形態１では、現実空間中に分布する指標を入力画像の画像面上に投影して制御方向および制御量の算出を行った。しかしながら、入力画像の撮影位置姿勢の周辺の視点で撮影した画像があれば、それを利用して制御方向および制御量を算出してもよい。すなわち、周辺の視点で撮影した画像の撮影位置姿勢と画像中の特徴点の数を予め第２の指標マップとして取得しておき、入力画像の撮影位置姿勢の所定の範囲内にある視点のうち、最も特徴点の数が少ない視点を選択する。そして、入力画像の撮影位置姿勢から当該視点へ向かう方向を座標変換により求め、制御方向として算出する。制御量は当該視点の画像中の特徴点の数の逆数（特徴点数が０のときは制御量１）として決定する。制御方向及び制御量が算出されると、実施形態１と同様に最も特徴点数の少ない視点へ向かう方向へ段々と透明になるように仮想物体を描画する。
【００５８】
また、特徴点数の最も少ない視点ではなく、所定の範囲内にある視点を全て用いて複数の制御方向及び制御量を求め、実施形態１と同様に仮想物体を描画する矩形領域を複数重ね合わせた上で透明度の最大値を適用しながら描画してもよい。
【００５９】
（実施形態２：動的空間を避ける）
実施形態１では現実空間が静的な環境、つまり空間内に座標が変化する物体が存在しないことを前提としていた。しかし、ユーザの身体やユーザ以外の人または動く物体が入り込んだり、風でカーテンがなびいたりすることによって、指標マップ中の特徴点の座標と現実空間内の特徴点の座標との整合性がとれなくなることがある。その場合、位置姿勢推定が不安定になり仮想物体の表示にジッタが生じる可能性がある。
【００６０】
本実施形態では、特徴点の配置情報とは別に座標が変更しうる領域、つまり動的な領域の配置情報を取得することで、上記のような状況においても実施形態１と同様の効果を得ることができるように、表示制御する方法について説明する。
【００６１】
図7は、本実施形態に係る情報処理装置200の概略構成を示した図である。動的領域取得部210が追加されている点を除いて実施形態１に係る情報処理装置100と同様の構成である。なお、撮影位置姿勢推定部140、表示制御部150に代えて、撮影位置姿勢推定部220、表示制御部230を備えている。
【００６２】
以下、実施形態１と重複する内容については説明を省略し、差異について説明する。
【００６３】
動的領域取得部210は、図示しない外部の記憶媒体から動的領域の配置情報を取得し、図示しない内部のメモリに格納する。
【００６４】
撮影位置姿勢推定部220は、第1の撮像部101aの現実空間における位置および姿勢を、画像取得部110で取得した2枚の入力画像から検出する指標と、指標マップ取得部130で取得した指標のうち動的領域取得部210で取得した動的領域以外に分布する指標の座標及びその特徴量とを用いて演算処理により推定し、ベクトルデータとして表示制御部230へ出力する。
【００６５】
表示制御部230は、画像取得部110で取得した入力画像、CGデータ取得部120で取得したデータ、指標マップ取得部130で取得した指標分布、動的領域取得部210で取得した動的領域、撮影位置姿勢推定部220で取得したベクトルデータを取得する。そして、これらを入力として、それぞれの描画を制御して画像合成したのち、合成画像を第1の表示部102a、第２の表示部102bに出力する。
【００６６】
続いて、図8のフローチャートを参照して、本実施形態に係る情報処理装置200が実施する表示制御処理の手順を説明する。なお、実施形態１と重複する処理については説明を省略する。S2110〜S2130の各処理はS1110〜S1130の各処理と同様である。
【００６７】
（S2210：動的領域取得処理）
S2210では、動的領域取得部210は、図示しない外部の記憶媒体から動的領域の配置情報（矩形領域の3軸方向の長さおよび動的領域の中心座標）のデータを取得し、図示しない内部のメモリに格納する。動的領域が複数あれば複数取得し、それぞれ格納する。
【００６８】
（S2220：撮影位置姿勢推定処理）
S2220では、撮影位置姿勢推定部220は、S2210で取得した動的領域内の指標を利用せずに、実施形態１と同様に撮影位置姿勢を推定する。
【００６９】
（S2230：表示制御処理）
S2230では、表示制御部230は、S2210で取得した動的領域の配置情報と、S2220で推定した撮影位置姿勢とから実施形態１の変形例１と同様に制御方向、制御量を求め、制御対象を制御する。
【００７０】
以上説明したように、本実施形態によれば、現実空間内に動的な領域が分布している場合において、動的な領域を避けるようにユーザを誘導することができる。
【００７１】
（実施形態３：輝度の変化のある空間を避ける）
実施形態２では、現実空間内で人や物が動くことで指標マップの特徴点の座標が動的に変化する空間について説明した。しかし、人や物が動かなくても、光源の位置変化による影の位置・濃さの変化やテレビモニターの表示の変化などによりカメラ観測上での輝度の変化がある場合においては、特徴点の有無や座標が変化するため撮影位置姿勢推定処理が正常に動作しないことがある。このような股間的に輝度変化のある空間も、実施形態２と同様に動的空間を事前に取得しておくことによって同様の効果を得ることができる。
【００７２】
すなわち、現実空間に分布する、時間的に輝度が変化する輝度変化領域の配置情報を不図示の変化領域取得部により取得し、取得した撮影位置姿勢と輝度変化領域の配置情報とに基づいて、仮想物体の画像的特性を制御することで、同様の効果を得ることができる。。
【００７３】
以上説明したように、本実施形態によれば、現実空間内に輝度の変化する領域が分布している場合において、輝度の変化する領域を避けるようにユーザを誘導することができる。
【００７４】
（実施形態４：SLAM限定、撮影したことのある現実空間内で制御）
実施形態１ではSLAMに基づき撮影位置姿勢を推定することを前提としており、SLAMでは指標マップをリアルタイムで作成するため、撮影したことのない空間は指標マップが未作成である。そのため、実際には初めて撮影した現実空間内に指標が存在するにもかかわらず、仮想物体を透明にするよう処理をしてしまう。
【００７５】
そこで、SLAMに基づきリアルタイムで指標マップを更新する場合において、指標マップが作成済みかどうかを判定する。撮像装置の位置姿勢の履歴に含まれる各位置姿勢と、推定された位置姿勢との類似度を取得し、類似度が所定値以上の位置姿勢が履歴に含まれる場合に、仮想物体の画像的特性を制御する。これにより、指標マップが未作成な空間に関しては表示制御を行わずに仮想物体を描画することができる。
【００７６】
図9のフローチャートを参照して、本実施形態に係る情報処理装置100が実施する表示制御処理の手順を説明する。実施形態１と同様の処理については説明を省略する。S1140の撮影位置姿勢推定処理で求めた撮影位置姿勢をS1141の撮影位置姿勢履歴保持処理で最新履歴として内部のメモリに格納するとともに、格納済みの撮影位置姿勢の履歴を複数参照する。S1142の表示制御判断処理において、入力画像の撮影位置姿勢と近いものが履歴の中にあるかどうかを判定する。すなわち、類似視点があるか否かを判定する。
【００７７】
2つの撮影位置姿勢の近さを計算する具体的な方法としては、画像検索などに用いられるBag of Words(BoF)（J. Sivic and A. Zisserman. "Video google: A text retrieval approach to object matching in videos", Proc. ICCV2003, Vol.2, pp.1470-1477, 2003）を用いた2画像間の類似度算出方法を用いる。
【００７８】
すなわち2画像中に映る特徴点を特徴ごとに振り分けて生成されるヒストグラムが類似していれば、2つの撮影位置姿勢は近いと判断する。入力画像と近い撮影位置姿勢がある場合、入力画像を撮影した位置姿勢での指標マップはすでに更新済みであり、未作成の指標マップは周辺に存在しないため、S1150の表示制御処理へと進む。そうでない場合は表示制御を行わずにS1143の指標マップ更新処理およびS1160の表示処理へと続く。S1143の指標マップ更新処理はS1130と同様である。
【００７９】
以上説明したように、本実施形態によれば、SLAMに基づきリアルタイムで指標マップを更新する場合において、指標マップが作成済みかどうかを判定することで指標マップが未作成な空間に関しては表示制御を行わずに仮想物体を描画することができる。
【００８０】
＜定義＞
本発明の実施形態に係る撮像装置はカラーもしくはモノクロ画像の得られるカメラであれば何でも良い。例えばデジタルカメラでも監視カメラでも産業用カメラでも良い。本発明の実施形態に係る指標は3次元座標と入力画像中の2次元座標が一意に対応付けられるものであれば何でも良い。例えば所定の識別子をコーディングしたマーカでも現実空間に分布する物体のコーナー部などの特徴点でも良い。
【００８１】
本発明の実施形態に係る指標の分布とは、撮影位置姿勢推定の安定性に関する要素のうち、指標の配置に関するものであれば何でも良い。例えば指標の疎密でも指標の周期性でも指標の偏りでもよい。
【００８２】
本発明の実施形態に係る表示制御部の処理は、撮影位置姿勢の安定性に関する方向を画像的特性の変化によって表現できるものであれば何でも良い。例えば指標が疎な方向へ仮想物体の画像的特性を変化、増減させる制御でも、カメラの撮影方向が指標の疎な領域へ近づくほど仮想物体の画像的特性を変化する制御でも、指標が密な方向へ仮想物体の画像的特性を変化する制御でもよい。
【００８３】
本発明の実施形態に係る画像的特性は、撮影位置姿勢推定が安定するようにユーザを誘導する方向を表現できるものであれば何でも良い。例えば不安定になる方向へ仮想物体の赤色成分を増加させる方法でも透明度を増加させる方法でもぼけ量を増加する方法でも仮想物体の大きさを拡大する方法でもよい。
【００８４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
100：情報処理装置、110：画像取得部、120：CGデータ取得部、130：指標マップ取得部、140：撮影位置姿勢推定部、150：表示制御部、101a：第1の撮像部、101b：第2の撮像部、102a：第1の表示部、102b：第2の表示部
【図１】
0006704712.tif 000003
【図２】
0006704712.tif 000004
【図３】
0006704712.tif 000005
【図４】
0006704712.tif 000006
【図５】
0006704712.tif 000007
【図６】
0006704712.tif 000008
【図７】
0006704712.tif 000009
【図８】
0006704712.tif 000010
【図９】
0006704712.tif 000011