(57)【要約】【課題】  本発明は、ユーザーに対して、カメラの位置または姿勢の推定を高精度に行える空間を可視化することを目的とする。【解決手段】  本発明は、現実空間を撮影する撮像装置から画像を取得する取得手段と、前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、少なくとも１つ以上のキーフレームを含むマップを作成する作成手段と、ユーザーの観察空間を設定する設定手段と、前記設定手段によって設定された前記観察空間と前記作成手段によって作成された前記マップとの関係を解析し、モデルを生成する生成手段と、前記生成された前記モデルに応じた画像と、前記画像との合成の画像を表示手段に表示させる制御手段と、を有することを特徴とする。【選択図】  図１
2020052790.tif 000002
【特許請求の範囲】
【請求項１】
現実空間を撮影する撮像装置から画像を取得する取得手段と、
前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、
少なくとも１つ以上のキーフレームを含むマップを作成する作成手段と、
ユーザーの観察空間を設定する設定手段と、
前記設定手段によって設定された前記観察空間と前記作成手段によって作成された前記マップとの関係を解析し、モデルを生成する生成手段と、
前記生成された前記モデルに応じた画像と、前記画像との合成の画像を表示手段に表示させる制御手段と、を有し、
前記キーフレームには、
前記キーフレームの画像と、
前記キーフレームの画像を撮影した撮像装置の位置または姿勢と、
前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする情報処理装置。
【請求項２】
前記生成手段が生成する前記モデルは、前記観察空間と前記マップに含まれる前記キーフレームの情報に応じた色または形状である特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記観察空間に対して、少なくとも１つ以上の立ち位置の領域を設定する第二の設定手段を有し、
前記生成手段は、前記観察空間と前記マップと前記立ち位置の領域との関係を解析することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記設定手段は、ユーザーの視点位置を中心として、予め設定された、位置、大きさ、または位置と大きさで前記観察空間を設定し、
前記ユーザーの視点位置は、前記推定手段で推定された位置または姿勢に基づいて設定されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、ユーザーの視線を入力として前記観察したい空間の位置および大きさを設定し、
前記ユーザーの視線は、前記推定手段で推定された位置または姿勢に基づいて設定されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記設定手段は、ユーザーが観察する仮想物体の形状、位置、大きさの少なくともいずれかに応じて、前記観察空間を設定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項７】
現実空間を撮影する撮像装置から画像を取得する取得工程と、
前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定工程と、
少なくとも１つ以上のキーフレームを含むマップを作成する作成工程と、
ユーザーの観察空間を設定する設定工程と、
前記設定工程で設定された前記観察空間と前記作成工程で作成された前記マップとの関係を解析し、モデルを生成する生成工程と、
前記生成された前記モデルに応じた画像と、前記画像との合成の画像を表示手段に表示させる制御工程と、を有し、
前記キーフレームには、
前記キーフレームの画像と、
前記キーフレームの画像を撮影した撮像装置の位置または姿勢と、
前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする情報処理方法。
【請求項８】
コンピュータを、
現実空間を撮影する撮像装置から画像を取得する取得手段と、
前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、
少なくとも１つ以上のキーフレームを含むマップを作成する作成手段と、
ユーザーの観察空間を設定する設定手段と、
前記設定手段によって設定された前記観察空間と前記作成手段によって作成された前記マップとの関係を解析し、モデルを生成する生成手段と、
前記生成された前記モデルに応じた画像と、前記画像との合成の画像を表示手段に表示させる制御手段と、を有し、
前記キーフレームには、
前記キーフレームの画像と、
前記キーフレームの画像を撮影した撮像装置の位置または姿勢と、
前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元空間のマップを作成するシステムにおいて、マップ作成済みの領域を可視化するための情報処理装置に関する。
【背景技術】
【０００２】
近年、設計・製造分野においてプロトタイプを用いた評価の期間短縮、費用削減が求められている。ＣＡＤ（コンピュータ支援設計）システムで作成した設計（形状・デザイン）データを用いて、組み立てやすさやメンテナンス性の評価をするための複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）システムが導入されている。
【０００３】
ＭＲシステムの画像表示装置には、ビデオシースルー方式と光学シースルー方式とがある。ビデオシースルー方式の画像表示装置は、撮像装置によって撮影された現実空間の画像に、該撮像装置の位置及び姿勢に応じて生成された仮想空間（コンピュータグラフィクスにより描画された仮想物体や文字情報等）の画像を重畳描画した合成画像を表示する。光学シースルー方式の画像表示装置は、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する。
【０００４】
ＭＲ技術において最も重要な課題の一つは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来より多くの取り組みが行われてきた。ＭＲにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における（すなわちシーン中に規定された基準座標系における）撮像装置の位置及び姿勢を求める問題に帰結する。同様に、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。ビデオシースルー方式の問題を解決する方法の一つとして、現実空間のマップを構築し、そのマップに基づいて計測対象物の位置及び姿勢を求める方法がある。その一例として、Ｖｉｓｕａｌ  ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）と呼ばれる手法がある（例えば、非特許文献１を参照）。
【０００５】
また、光学シースルー方式の問題を解決する方法として、計測対象物（すなわち観察者の頭部あるいはディスプレイ）に撮像装置を装着する。そして、ビデオシースルー方式と同様な方法によって該撮像装置の位置及び姿勢を求める。
【０００６】
Ｖｉｓｕａｌ  ＳＬＡＭは、カメラで撮影された画像から現実空間におけるカメラの位置姿勢を求めると同時に、必要に応じてその画像からキーフレームの情報を抽出し、その情報を蓄積したマップを構築する手法である。キーフレームの情報には、画像と、その画像を撮影したカメラの位置姿勢、およびその画像から抽出された特徴点の三次元情報が含まれる。この技術では、キーフレームで撮影された空間と同じ空間を撮影した画像であれば、カメラ位置姿勢を高精度に求めることができる。一方で、カメラの撮影範囲と、マップに蓄積されたキーフレームの画像の撮影範囲が異なっていて、画像間の対応関係が得られない場合には、カメラの位置姿勢の推定精度が低下する恐れがある。
【０００７】
そのため、カメラ位置姿勢の高精度な推定を求めるＭＲシステムのユーザーに対しては、カメラ位置姿勢を高精度に推定できる空間になっていることを通知することが望ましい。その方法の一つとして、現実空間中のどの空間がキーフレームとして撮影されていて、どの空間が撮影されていないのかを可視化する方法がある。
【０００８】
マップ済みの領域をユーザーに通知する方法として、非特許文献１のＦｉｇｕｒｅ３に図示されているように、マップに蓄積されたキーフレームの位置姿勢と、抽出された特徴点の三次元座標を描画した仮想空間の画像を提示する方式がある。この方式では、ユーザーに提示されるのは仮想空間の画像のみなので、現実空間と仮想空間との対応関係はユーザー自身が考えて理解しなければならない。
【０００９】
一方、ＭＲ技術を利用してユーザーが見ている現実空間の画像上で撮影済みの方向を示すことで、上記の対応付けを理解しやすくする方法がある。
【００１０】
例えば、非特許文献２では、現実空間に置かれた現実物を様々な方向から撮影することで現実物の形状復元を行う装置において、撮影済みの個所と未撮影の個所を可視化する方法が用いられている。具体的には、現実物を囲うようにポリゴンメッシュを構築し、撮影済みの領域に相当するポリゴンメッシュを、それ以外のポリゴンメッシュとは異なる色で塗りつぶすことによって、撮影済みの領域をユーザーに通知する。
【００１１】
また、特許文献１では、現実空間中に配置した指標に対し、撮影済みの方向・距離を可視化する装置を提案している。その具体例の一つとして、指標を囲うように半球形状のオブジェクトを塗りつぶす方式が提案されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００８−６５８０７公報
【非特許文献】
【００１３】
【非特許文献１】“Ｐａｒａｌｌｅｌ  Ｔｒａｃｋｉｎｇ  ａｎｄ  Ｍａｐｐｉｎｇ  ｆｏｒ  Ｓｍａｌｌ  ＡＲ  Ｗｏｒｋｓｐａｃｅｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｓｉｘｔｈ  ＩＥＥＥ  ａｎｄ  ＡＣＭＩｎｔｅｒｎａｔｉｏｎａｌ．
【非特許文献２】Ｖｕｆｏｒｉａ  Ｏｂｊｅｃｔ  Ｓｃａｎｎｅｒ＜：ｈｔｔｐｓ：／／ｌｉｂｒａｒｙ．ｖｕｆｏｒｉａ．ｃｏｍ／ａｒｔｉｃｌｅｓ／Ｔｒａｉｎｉｎｇ／Ｖｕｆｏｒｉａ−Ｏｂｊｅｃｔ−Ｓｃａｎｎｅｒ−Ｕｓｅｒｓ−Ｇｕｉｄｅ＞
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記特許文献１および非特許文献２では、特定の現実物を中心とした撮影範囲の可視化が実現されている。しかし、ＭＲシステムのユーザーは、特定の現実物を観察するだけでなく、ユーザー自身を中心に周りを見渡す動きや、現実物が何もない空間に仮想物体を配置して様々な方向から観察するという動きを行うことが想定される。そのため、ユーザーが観察したい空間に対してマップ済みの空間を可視化する方法が求められている。
【００１５】
本発明は、上記課題を鑑みてなされたものであり、ユーザーに対して、カメラの位置または姿勢の推定を高精度に行える空間を可視化することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、現実空間を撮影する撮像装置から画像を取得する取得手段と、前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、少なくとも１つ以上のキーフレームを含むマップを作成する作成手段と、ユーザーの観察空間を設定する設定手段と、前記設定手段によって設定された前記観察空間と前記作成手段によって作成された前記マップとの関係を解析し、モデルを生成する生成手段と、前記生成された前記モデルに応じた画像と、前記画像との合成の画像を表示手段に表示させる制御手段と、を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザーに対して、カメラの位置または姿勢の推定を高精度に行える空間を可視化することが出来る。
【図面の簡単な説明】
【００１８】
【図１】第一の実施形態における情報処理装置の構成を示すブロック図である。
【図２】情報処理装置のハードウェア構成を示すブロック図である。
【図３】観察空間設定部１０５が保持する観察する空間の例を示す模式図である。
【図４】解析部１０４の処理する対象を示す模式図である。
【図５】情報処理装置の処理を示すフローチャートである。
【図６】第二の実施形態における情報処理装置の構成を示すブロック図である。
【図７】第二の実施形態における立ち位置領域の設定部６０１が保持する立ち位置領域の例を示す図である。
【図８】第二の実施形態における解析部１０４の処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
（第一の実施形態）
以下、添付図面を参照して、本実施形態を詳細に説明する。図１は本実施形態に係る情報処理装置の機能構成を示すブロック図である。情報処理装置１は、カメラ１００、画像取得部１０１、マップ作成部１０２、位置姿勢推定部１０３、解析部１０４、観察空間設定部１０５、表示部１０６からなるＭＲシステムである。本実施形態では、カメラ１００と表示部１０６が１つずつ備わっている構成として説明するが、それぞれを左目用と右目用に用意したステレオ構成としてもよい。また、本実施形態では、情報処理装置１は、カメラ１００と表示部１０６をユーザーの目の付近に配置した頭部装着型として説明するが、各部の物理的な配置はこれに限定されるものではなく、タブレットやスマートフォン等のハンドヘルド型であってもよい。
【００２０】
本実施形態では、画像のみを用いてカメラ１００の位置姿勢推定とマップ作成を行う情報処理装置として説明する。ただし、本発明においては位置姿勢推定とマップ作成には、加速度センサ、角速度センサ、超音波センサ、磁気センサ、奥行画像センサ、レーザー距離センサなどの情報を用いてもよい。
【００２１】
情報処理装置１のハードウェア構成について、図２を用いて説明する。同図において、２０１はＣＰＵであり、装置全体を制御する。２０２はＲＡＭであり、ＣＰＵ２０１が各部を制御しながら処理を行う時に作業領域として用いられる。２０３はＲＯＭであり、制御プログラム、各種アプリケーションプログラム、データなどを記憶する。ＣＰＵ２０１がＲＯＭ２０３に記憶する制御プログラムをＲＡＭ２０２に展開して実行することにより、図１の画像取得部１０１、マップ作成部１０２、位置姿勢推定部１０３、解析部１０４、観察空間設定部１０５等が実現される。また、入力Ｉ／Ｆ２０４は、カメラ１００から情報処理装置１で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ２０５は外部装置へ外部装置が処理可能な形式で出力信号として出力する。例えば、上記外部装置が表示装置である場合、出力Ｉ／Ｆ２０５は、表示装置へ表示部１０６から出力されたＭＲ画像を出力する。上述したように、図１に示す情報処理装置１の各部の機能は、ＣＰＵ２０１がプログラムを実行することで実現することができる。ただし、図１に示す情報処理装置１の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ２０１の制御に基づいて動作する。
【００２２】
情報処理装置１について説明する。図１における画像取得部１０１は、カメラ１００で撮影した現実空間の画像を取得する。位置姿勢推定部１０３は、画像取得部１０１で取得した画像と、マップ作成部１０２で作成されたマップから、カメラ１００の位置姿勢を推定する。その具体的な手順の一例を示す。まず、マップ作成部１０２で作成されたマップに含まれる１つ以上のキーフレームを取得する。キーフレームには、少なくとも現実空間を撮影した画像と、その画像を撮影したカメラの位置姿勢、その画像から抽出される特徴に関する情報が含まれる。本実施形態では、画像から抽出される特徴に関する情報として、画像中の特徴点と、その特徴点の二次元座標及び三次元座標の情報が含まれるものとして説明する。また、キーフレームの画像は、過去にカメラ１００で撮影されたものでもよいし、事前に他のカメラによって撮影されたものでもよい。
【００２３】
次に、画像取得部１０１で取得した画像と、キーフレームの画像との特徴点の対応付けを行う。画像の特徴点を特徴点の対応付けの方法としては、例えば画像からコーナー点を検出し、コーナー点周辺の局所画像の類似度を計算する方式があるが、本発明における特徴点の対応付け方法はこれに限らない。
【００２４】
画像中の特徴点の対応が得られることで、キーフレームに含まれる特徴点の三次元座標と、画像取得部１０１で取得した画像の特徴点の二次元座標との対応が得られる。この対応を用いてＰｎＰ（Ｐｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔ）問題と呼ばれる連立方程式を解くことで、カメラの位置と姿勢を６自由度で求めることができる。ＰｎＰ問題を解くために必要な、カメラの内部パラメータは予め求めているものとする。
【００２５】
なお、マップ作成部１０２からキーフレームが得られない場合、その時点におけるカメラ１００の位置姿勢を初期位置姿勢として設定してもよいし、現実空間中に配置したマーカーなどの指標を用いた位置姿勢推定を行うなどしてもよい。
【００２６】
以上の手順により、位置姿勢推定部１０３におけるカメラ１００の位置姿勢推定は実現できるが、本発明による位置姿勢推定部の処理はこれに限らない。
【００２７】
マップ作成部１０２は、画像取得部１０１で得られた画像および位置姿勢推定部１０３で得られたカメラ１００の位置姿勢からマップを作成する。マップは、１つ以上のキーフレームと、キーフレームから抽出された特徴点の集合である。
【００２８】
マップ作成の具体的手順を例示する。まず、画像取得部１０１で得られた画像が、キーフレームとして好適であるか否かを判定する。その判定条件の一例として、位置姿勢推定部１０３にて位置姿勢が正しく得られており、かつ、画像の撮影範囲のうちマップ中のキーフレームの画像の撮影範囲と重複する領域が一定以下であることが挙げられるが、これに限らない。
【００２９】
画像取得部１０１で得られた画像がキーフレームとして好適であると判定された場合、特徴点の抽出を行う。その抽出した特徴点と、過去のキーフレームから抽出された特徴点との対応付けを行う。これにより、１つの特徴点に対して複数の視点の位置姿勢が得られる。そのため、三角測量の原理を用いることで、特徴点の三次元座標を求めることができる。特徴点の三次元座標は、キーフレームの一部として蓄積される。
【００３０】
観察空間設定部１０５は、情報処理装置１の予め設定されたユーザーが観察したい空間の設定を、ユーザーの観察空間の設定として保持する。観察したい空間の具体例について図３を参照して説明する。例えば、ユーザー３００がある仮想物体３０１を現実空間中のある場所に配置して観察したい場合、その仮想物体３０１が現実空間中で占める空間が、ユーザー３００が観察したい空間となる。さらに、仮想物体３０１の近似形状４０１も観察したい空間として考えられる。例えば、仮想物体３０１を内包する楕円体や直方体を観察したい空間として設定してもよい。仮想物体３０１の形状が正確に定まっていない場合には、おおよその位置・大きさを元に作成した単純な幾何形状３０２を観察したい空間としてもよい。また、特定の仮想物体ではなく、周囲の空間を見まわしたい場合には、ユーザー３００を囲う３０３のような形状を観察空間として設定してもよい。観察したい空間の定義はユーザーが目的に応じて設定するものであり、本発明においては、これらの例に限定されるものではない。
【００３１】
解析部１０４は、観察空間設定部１０５で保持されている観察したい空間の設定と、マップ作成部１０３で作成されたマップの関係とを解析し、ユーザーが観察したい空間に対し、マップ済みの空間を可視化するためのＣＧモデルを作成する。マップ済みの空間とは、観察空間設定部１０５に保持されている観察したい空間のうち、少なくとも１つのキーフレームによって撮影されている空間を指す。
【００３２】
解析部１０４の具体的な手順について、図４を参照して説明する。観察空間設定部１０５で保持されている観察したい空間は仮想物体３０１とする。
【００３３】
まず、観察したい空間の近似形状であるポリゴンメッシュ４０１を生成する。ポリゴンメッシュ４０１の全ての頂点の色は設定色１とする。
【００３４】
次に、ポリゴンメッシュ４０１の各頂点がマップ済みであるか否かを判定する。これは、マップ作成部１０３で作成されたマップ中の全てのキーフレームに対し、頂点の可視判定を行うことで実現できる。頂点の可視判定は以下の手順で行う。あるキーフレームＫを取得したカメラを図中の４０２とし、ポリゴンメッシュ４０１の頂点を頂点Ｖ、カメラ４０２の光学中心から頂点Ｖ（図中の４０３）に至る線分を視線Ｅとする。視線Ｅ（図中の４０５）がポリゴンメッシュ４０１やその他の仮想物体と交差せず、かつ、視線Ｅと頂点Ｖの法線Ｎ（図中の４０４）とのなす角が一定以下の場合、頂点ＶはキーフレームＫのカメラ４０２によって可視である。すなわち、マップ済みであると判定できる。
【００３５】
頂点Ｖがマップ済みの場合、頂点Ｖの頂点色を設定色２とする。これにより、図４（ｂ）に図示したように、頂点Ｖを含むポリゴンは設定色２で描画されるため、ユーザーはその部分が、キーフレームの画像に含まれているということを知ることができる。また、視線Ｅと法線Ｎとのなす角が一定以下であるという条件があるため、例えば視線Ｅと向きが異なる法線を持つ頂点（図中の４０６）は、カメラ４０２からは可視であると判定されない。この性質により、ユーザーは、設定色２で描画されるポリゴンが占有する空間は、その正面方向からマップ済みであるということも確認することができる。
【００３６】
なお、設定色１および設定色２はあらかじめ設定されているものとする。また、本実施形態では、ポリゴンメッシュとその頂点に対する処理を用いて説明したが、サーフェスまたはボリュームを表現するモデルと、その特定領域に色を付ける方式についてはポリゴンメッシュに限らない。
【００３７】
表示部１０６は、位置姿勢推定部１０３で推定されたカメラ１００の位置姿勢およびカメラ１００の内部パラメータに基づいて、ポリゴンメッシュ４０１を描画した仮想画像を生成する。その際、観察空間設定部１０５で保持されている観察したい空間の設定と、解析部１０４で設定された頂点色の情報を反映して描画する。描画は、光源やテクスチャなど、頂点色以外の情報も考慮してもよい。生成した仮想画像を、画像取得部１０１で取得した現実空間の画像を合成することで、複合現実画像を生成し、出力する。なお、生成される複合現実画像には、上記以外の情報が付与・描画されていてもよい。ユーザー３００は、表示部１０６に表示された「マップ済みの空間を可視化するためのＣＧモデル」を観察することで、どの空間にキーフレームが足りないかを判断することができる。
【００３８】
図５は、情報処理装置１が複合現実画像を生成し、出力するために行う処理のフローチャートである。ステップＳ５０１では、画像取得部１０１の処理が行われる。カメラ１００で撮影された現実空間の画像を入力Ｉ／Ｆ２０４を通して取り込む。ステップＳ５０２では、位置姿勢推定部１０３で処理される。マップ作成部１０２で作成されたマップを読み込むステップである。ステップＳ５０３では、位置姿勢推定部１０３の処理が行われる。ステップＳ５０２で読み込んだマップの情報と、ステップＳ５０１で取り込んだ現実空間の画像から、現実空間におけるカメラ１００の位置姿勢を推定するステップである。ステップＳ５０４では、マップ作成部１０２で処理される、ステップＳ５０１で取り込んだ画像がキーフレームとして好適であるか否かの判定ステップである。キーフレームとして好適である条件の一例としては、次の二つの条件を満たす場合が挙げられるが、本発明においてはこれに限らない。条件１．ステップＳ５０３におけるカメラ１００の位置姿勢の推定に成功していること。条件２．撮影範囲のうち、マップに保持されたキーフレームと重複する領域が一定以下であること。ステップＳ５０５では、マップ作成部１０２の処理を行う。ステップＳ５０４にて、ステップＳ５０１で取り込んだ画像がキーフレームとして好適であると判定された場合、その画像をキーフレームとしてマップに追加する。その際、画像から特徴点を抽出し、その三次元座標を推定する。これは、マップ中のキーフレームの画像から抽出した特徴点との対応付けと三角測量を用いることで実現する。
【００３９】
ステップＳ５０６は、観察空間設定部１０５から、観察したい空間の情報を取得するステップであり、解析部１０４にて処理される。ステップＳ５０７では、解析部１０４の処理が行われる。ステップＳ５０６で取得した観察したい空間の情報から、ポリゴンメッシュ４０１の生成を行う。ポリゴンメッシュの全ての頂点の頂点色は、予め設定された設定色１とする。ステップＳ５０８では、解析部１０４の処理を行う。ステップＳ５０７で生成したポリゴンメッシュ４０１に対し、各頂点がマップ済みであるか否かを判定し、マップ済みであった頂点の頂点色は予め設定された設定色２を設定する。マップ済みであるか否かの判定は、キーフレームに対する頂点の可視判定に基づく。ステップＳ５０９では、表示部１０６の処理を行う。ステップＳ５０８で処理されたポリゴンメッシュ４０１を、仮想画像として描画し、ステップＳ５０１で取り込んだ現実空間の画像と合成する。また、そのようにして生成された複合現実画像を出力する。ポリゴンメッシュ４０１を仮想画像として描画する際には、予め推定されたカメラ１００の内部パラメータと、ステップＳ５０３で求められたカメラ１００の位置姿勢を用いる。
【００４０】
（変形例１）
第一の実施形態では、解析部１０４にて実施されるステップＳ５０８の処理について、ポリゴンメッシュ４０１のマップ済みの頂点の頂点色を予め設定された設定色２にする方法について説明した。しかし、本発明における頂点の頂点色の設定はこれに限るものではなく、マップに含まれるキーフレームの情報が反映された形式であればよい。
【００４１】
例えば、解析部１０４にて実施されるステップＳ５０８の処理にて、マップ中の全てのキーフレームに対し頂点の可視判定を行い、可視と判定されたキーフレームの数に応じて頂点色を設定してもよい。また、可視と判定されたキーフレームと頂点との距離に応じて頂点色を設定してもよい。
【００４２】
（変形例２）
変形例１では、解析部１０４にて実施されるステップＳ５０８の処理について、マップ済みの頂点の頂点色を設定する方法を説明した。しかし、ポリゴンメッシュの形状を変更することでマップ済みの頂点とそれ以外の頂点を区別可能としてもよい。
【００４３】
例えば、解析部１０４が、マップ済みの頂点の座標を、法線方向に移動させることによってポリゴンメッシュに凹凸が生じさせてもよい。また、解析部１０４が、マップ済みの頂点に対し、視線Ｅを表現する直線を付与し、キーフレームがどの方向からその頂点を撮影していたのかを表示部１０６で表現してもよい。視線Ｅを表現する直線の長さは、一定でもよいし、視線Ｅの長さに応じて変化させてもよい。
【００４４】
（第二の実施形態）
第一の実施形態における解析部１０４は、観察空間設定部１０５にて設定された観察したい空間のうち、少なくとも１つのキーフレームによって撮影されている空間をマップ済みの空間として可視化するためのＣＧモデルを作成するものとして説明した。しかし、観察したい空間がキーフレームによって撮影されていたとしても、どの位置から撮影したものかによって、画像上ではその空間の見え方が大きく異なる可能性がある。例えば、撮影位置（カメラの光学中心の位置）が遠くなれば画像上での見え方が小さくなり、細かな特徴が失われる可能性がある。また、撮影位置が異なれば、空間を見る角度が変化し、画像上での見え方が大きく異なる可能性がある。そのため、本実施形態では、キーフレームの画像のカメラ位置も考慮したマップ済みの空間の可視化を行う。
【００４５】
図６は、本実施形態に係る情報処理装置の機能構成を示すブロック図である。第一の実施形態における情報処理装置１では、立ち位置領域の設定部６０１を追加した構成となる。
【００４６】
立ち位置領域の設定部６０１は、観察空間設定部１０５にて設定された観察したい空間に対し、１つ以上の立ち位置領域を設定する。立ち位置領域とは、その領域内から撮影したい空間を撮影すれば画像の見え方が類似すると考えられる領域であり、ユーザー入力、または予め定めたルールに基づいて設定する。図７を参照して立ち位置領域の例について説明する。例えば、観察したい空間３０２（半球形状）とすると、その中心からの距離が一定範囲内にある領域を立ち位置領域７０１、７０２として設定する。立ち位置領域内から観察したい空間３０２の中心に向かって画像を撮影すると、同じ立ち位置領域内であれば、画像に写る観察したい空間３０２の大きさは同等となる。また、観察したい空間が３０３のようにユーザーの周囲の空間であった場合、ユーザーが移動すると、周囲の空間３０３の見え方は大きく変化する可能性がある。そのため、ユーザーの初期位置を中心に格子状に区切ることで立ち位置領域７０３〜７０６を設定する。上記は一例であり、観察空間設定部１０５にて設定された観察したい空間に応じて、任意に設定してもよい。
【００４７】
本実施形態における解析部１０４では、第一の実施形態に記載したステップＳ５０８の処理において、ポリゴンメッシュ４０１の頂点がキーフレームから可視であった場合、キーフレームが属する立ち位置領域に応じた色を設定する。本実施形態では、第一の実施形態における解析部１０４が実施するステップＳ５０８の処理を変更する。変更後の処理について、図８に記載のフローチャートを用いて説明する。ステップＳ８０２からステップＳ８０４の処理では、ステップＳ５０７にて生成されたポリゴンメッシュの頂点と、マップ作成部１０２で作成されたマップ中のキーフレームのペアごとに行う。
【００４８】
ステップＳ８００では、頂点ごとの処理を行うために、ポリゴンメッシュから頂点を１つ取得する。ステップＳ８０１では、キーフレームごとの処理を行うために、マップからキーフレームを１つ取得する。ステップＳ８０２では、ポリゴンメッシュの頂点が、キーフレームの画像から可視であるかどうかを判定する。判定については、第一の実施形態に記載の方法と同じものとする。ステップＳ８０３では、ステップＳ８０１で可視と判定された場合、そのキーフレームの画像を撮影したカメラの位置を取得する。その位置がどの立ち位置領域に含まれるか（所属するか）を判定し、その立ち位置領域のＩＤを取得する。立ち位置領域が三次元空間中の面上（例えば床面など）に設定されている場合には、カメラの位置をその面上に投影した点がどの立ち位置領域に所属するかを判定する。ステップＳ８０４では、ステップＳ８０２にて取得された立ち位置領域のＩＤに応じて予め設定された設定色を頂点色として設定する。頂点色の設定が完了すると、次の頂点への処理を移す。
【００４９】
（変形例３）
第二の実施形態においては、ポリゴンメッシュの各頂点を、その頂点を可視と判定したキーフレームが所属する立ち位置領域に応じた頂点色に設定した。しかし、頂点によっては複数のキーフレームから可視であり、かつ、それらのキーフレームが所属する立ち位置領域が異なる場合がある。また、１つのポリゴンメッシュの各頂点の色が異なると、ユーザーにとって、カメラの位置姿勢推定を高精度に行える空間がわかりにくくなる可能性がある。そこで、解析部１０４は、カメラ１００の位置がどの立ち位置領域に属するかを判定し、マップ作成部１０２で作成されたマップに含まれるキーフレームのうち、カメラ１００と同じ立ち位置領域に属するキーフレームのみを処理対象としてもよい。具体的には、第二の実施形態におけるステップＳ８０１にて、カメラ１００と同じ立ち位置領域に属するキーフレームのみを取得してもよい。これにより、表示部１０６で表示される複合現実画像が単純になり、ユーザーがマップ済みの空間を確認しやすくなる。
【００５０】
（変形例４）
第一の実施形態および第二の実施形態における観察空間設定部１０５が保持する観察したい空間の具体的な設定方法は、ユーザーの視点（カメラ１００の位置）を用いた入力方法でもよい。具体的には、観察空間設定部１０５には、ある時点（例えば、情報処理装置１の利用開始時）におけるカメラ１００の位置を中心として、その周囲を囲う形状を設定してもよい。この場合、立ち位置領域の設定部６０１で設定される立ち位置領域の一例として、図７の７０３〜７０６に示すように、平面を格子状に分割した領域を設定してもよい。ユーザーが自己を中心として周囲の空間を見渡すことが目的の場合には、上記の方法により、ユーザーの視点位置を中心として観察したい空間として設定することができる。
【００５１】
（変形例５）
第一の実施形態および第二の実施形態における観察空間設定部１０５が保持する観察したい空間の具体的な設定方法は、ユーザーの視線を用いた入力方法でもよい。具体的な例として、観察空間設定部１０５にて、ユーザーの入力を受け付けることで観察空間を設定する方法を説明する。まず、解析部１０４にて、ユーザーの視点位置（カメラ１００の位置）からユーザーの視線（カメラ１００の光軸）方向に一定の距離（例えば、１．５ｍ程度）にある点を求める。これを、ユーザーのポインティング点とし、表示部１０６にてポインティング点を描画することでユーザーに表示する。ユーザーは、カメラ１００を動かすことでポインティング点を操作しながら、適時、ポインティング点の確定入力を行う。
【００５２】
解析部１０４では、確定されたポインティング点に応じて幾何形状を生成し、表示部１０６にて表示する。例えば、ポインティング点が２点ある場合、一方を中心とし、２点間の距離を半径とする球体を生成してもよい。また、ポイティング点が線形独立な４点であった場合、その４点によって形成される直方体を生成してもよい。さらに、幾何形状を定義するのに必要なポインティング点を削減するために、ポインティング点は、三次元空間中の任意の点ではなく、平面やグリッド、軸などにより拘束された空間中の点としてもよい。
【図１】
2020052790.tif 000003
【図２】
2020052790.tif 000004
【図３】
2020052790.tif 000005
【図４】
2020052790.tif 000006
【図５】
2020052790.tif 000007
【図６】
2020052790.tif 000008
【図７】
2020052790.tif 000009
【図８】
2020052790.tif 000010