(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-25
(45)【発行日】2022-12-05
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20221128BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2018182093
(22)【出願日】2018-09-27
【審査請求日】2021-09-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】林 将之
(72)【発明者】
【氏名】武本 和樹
【審査官】山口 大志
(56)【参考文献】
【文献】特開2015-114905(JP,A)
【文献】特開2018-147095(JP,A)
【文献】特開2015-001760(JP,A)
【文献】特開2013-109677(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/04815
(57)【特許請求の範囲】
【請求項1】
現実空間を撮影する撮像装置から画像を取得する取得手段と、
前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、
少なくとも1つ以上のキーフレームを含むマップを作成する作成手段と、
ユーザーの観察空間を設定する設定手段と、
前記観察空間と
前記マップと
に基づいて、
前記観察空間のうち前記キーフレームを取得済である空間と取得済でない空間とを区別可能に可視化するためのモデルを生成する生成手段と、
前記モデル
の画像と
現実空間の画像との
合成画像を表示手段に表示させる制御手段と、を有し、
前記キーフレームには、
前記キーフレームの画像と、
前記キーフレームの画像を撮影した
前記撮像装置の位置または姿勢と、
前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする情報処理装置。
【請求項2】
前記モデルは、
ポリゴンメッシュであり、
前記生成手段は、前記ポリゴンメッシュの前記キーフレームを取得済である部分と前記キーフレームを取得済でない部分とに対して、異なる色を設定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記生成手段は、
前記ポリゴンメッシュの前記キーフレームを取得済である部分に対して、ユーザーの立ち位置に応じて異なる色を設定することを特徴とする請求項
2に記載の情報処理装置。
【請求項4】
前記設定手段は、ユーザーの視点位置を中心として、予め設定された、位置、大きさ、または位置と大きさで前記観察空間を設定し、
前記ユーザーの視点位置は、前記推定手段で推定された位置または姿勢に基づいて設定されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記設定手段は、ユーザーの視線を入力として前記
観察空間の位置および大きさを設定し、
前記ユーザーの視線は、前記推定手段で推定された位置または姿勢に基づいて設定されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項6】
前記設定手段は、ユーザーが観察する仮想物体の形状、位置、大きさの少なくともいずれかに応じて、前記観察空間を設定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項7】
現実空間を撮影する撮像装置から画像を取得する取得工程と、
前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定工程と、
少なくとも1つ以上のキーフレームを含むマップを作成する作成工程と、
ユーザーの観察空間を設定する設定工程と、
前記観察空間と
前記マップと
に基づいて、
前記観察空間のうち前記キーフレームを取得済である空間と取得済でない空間とを区別可能に可視化するためのモデルを生成する生成工程と、
前記モデル
の画像と
現実空間の画像との
合成画像を表示手段に表示させる制御工程と、を有し、
前記キーフレームには、
前記キーフレームの画像と、
前記キーフレームの画像を撮影した
前記撮像装置の位置または姿勢と、
前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする情報処理方法。
【請求項8】
コンピュータを、
現実空間を撮影する撮像装置から画像を取得する取得手段と、
前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、
少なくとも1つ以上のキーフレームを含むマップを作成する作成手段と、
ユーザーの観察空間を設定する設定手段と、
前記観察空間と
前記マップと
に基づいて、
前記観察空間のうち前記キーフレームを取得済である空間と取得済でない空間とを区別可能に可視化するためのモデルを生成する生成手段と、
前記モデル
の画像と
現実空間の画像との
合成画像を表示手段に表示させる制御手段と、を有し、
前記キーフレームには、
前記キーフレームの画像と、
前記キーフレームの画像を撮影した
前記撮像装置の位置または姿勢と、
前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元空間のマップを作成するシステムにおいて、マップ作成済みの領域を可視化するための情報処理装置に関する。
【背景技術】
【0002】
近年、設計・製造分野においてプロトタイプを用いた評価の期間短縮、費用削減が求められている。CAD(コンピュータ支援設計)システムで作成した設計(形状・デザイン)データを用いて、組み立てやすさやメンテナンス性の評価をするための複合現実感(MR:Mixed Reality)システムが導入されている。
【0003】
MRシステムの画像表示装置には、ビデオシースルー方式と光学シースルー方式とがある。ビデオシースルー方式の画像表示装置は、撮像装置によって撮影された現実空間の画像に、該撮像装置の位置及び姿勢に応じて生成された仮想空間(コンピュータグラフィクスにより描画された仮想物体や文字情報等)の画像を重畳描画した合成画像を表示する。光学シースルー方式の画像表示装置は、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する。
【0004】
MR技術において最も重要な課題の一つは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来より多くの取り組みが行われてきた。MRにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における(すなわちシーン中に規定された基準座標系における)撮像装置の位置及び姿勢を求める問題に帰結する。同様に、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。ビデオシースルー方式の問題を解決する方法の一つとして、現実空間のマップを構築し、そのマップに基づいて計測対象物の位置及び姿勢を求める方法がある。その一例として、Visual SLAM(Simultaneous Localization and Mapping)と呼ばれる手法がある(例えば、非特許文献1を参照)。
【0005】
また、光学シースルー方式の問題を解決する方法として、計測対象物(すなわち観察者の頭部あるいはディスプレイ)に撮像装置を装着する。そして、ビデオシースルー方式と同様な方法によって該撮像装置の位置及び姿勢を求める。
【0006】
Visual SLAMは、カメラで撮影された画像から現実空間におけるカメラの位置姿勢を求めると同時に、必要に応じてその画像からキーフレームの情報を抽出し、その情報を蓄積したマップを構築する手法である。キーフレームの情報には、画像と、その画像を撮影したカメラの位置姿勢、およびその画像から抽出された特徴点の三次元情報が含まれる。この技術では、キーフレームで撮影された空間と同じ空間を撮影した画像であれば、カメラ位置姿勢を高精度に求めることができる。一方で、カメラの撮影範囲と、マップに蓄積されたキーフレームの画像の撮影範囲が異なっていて、画像間の対応関係が得られない場合には、カメラの位置姿勢の推定精度が低下する恐れがある。
【0007】
そのため、カメラ位置姿勢の高精度な推定を求めるMRシステムのユーザーに対しては、カメラ位置姿勢を高精度に推定できる空間になっていることを通知することが望ましい。その方法の一つとして、現実空間中のどの空間がキーフレームとして撮影されていて、どの空間が撮影されていないのかを可視化する方法がある。
【0008】
マップ済みの領域をユーザーに通知する方法として、非特許文献1のFigure3に図示されているように、マップに蓄積されたキーフレームの位置姿勢と、抽出された特徴点の三次元座標を描画した仮想空間の画像を提示する方式がある。この方式では、ユーザーに提示されるのは仮想空間の画像のみなので、現実空間と仮想空間との対応関係はユーザー自身が考えて理解しなければならない。
【0009】
一方、MR技術を利用してユーザーが見ている現実空間の画像上で撮影済みの方向を示すことで、上記の対応付けを理解しやすくする方法がある。
【0010】
例えば、非特許文献2では、現実空間に置かれた現実物を様々な方向から撮影することで現実物の形状復元を行う装置において、撮影済みの個所と未撮影の個所を可視化する方法が用いられている。具体的には、現実物を囲うようにポリゴンメッシュを構築し、撮影済みの領域に相当するポリゴンメッシュを、それ以外のポリゴンメッシュとは異なる色で塗りつぶすことによって、撮影済みの領域をユーザーに通知する。
【0011】
また、特許文献1では、現実空間中に配置した指標に対し、撮影済みの方向・距離を可視化する装置を提案している。その具体例の一つとして、指標を囲うように半球形状のオブジェクトを塗りつぶす方式が提案されている。
【先行技術文献】
【特許文献】
【0012】
【非特許文献】
【0013】
【文献】“Parallel Tracking and Mapping for Small AR Workspaces”,Proceedings of Sixth IEEE and ACMInternational.
【文献】Vuforia Object Scanner<:https://library.vuforia.com/articles/Training/Vuforia-Object-Scanner-Users-Guide>
【発明の概要】
【発明が解決しようとする課題】
【0014】
上記特許文献1および非特許文献2では、特定の現実物を中心とした撮影範囲の可視化が実現されている。しかし、MRシステムのユーザーは、特定の現実物を観察するだけでなく、ユーザー自身を中心に周りを見渡す動きや、現実物が何もない空間に仮想物体を配置して様々な方向から観察するという動きを行うことが想定される。そのため、ユーザーが観察したい空間に対してマップ済みの空間を可視化する方法が求められている。
【0015】
本発明は、上記課題を鑑みてなされたものであり、ユーザーに対して、カメラの位置または姿勢の推定を高精度に行える空間を可視化することを目的とする。
【課題を解決するための手段】
【0016】
本発明は、現実空間を撮影する撮像装置から画像を取得する取得手段と、前記画像から前記撮像装置の現実空間における位置または姿勢を推定する推定手段と、少なくとも1つ以上のキーフレームを含むマップを作成する作成手段と、ユーザーの観察空間を設定する設定手段と、前記観察空間と前記マップとに基づいて、前記観察空間のうち前記キーフレームを取得済である空間と取得済でない空間とを区別可能に可視化するためのモデルを生成する生成手段と、前記モデルの画像と現実空間の画像との合成画像を表示手段に表示させる制御手段と、を有し、前記キーフレームには、前記キーフレームの画像と、前記キーフレームの画像を撮影した前記撮像装置の位置または姿勢と、前記キーフレームの画像から抽出される特徴に関する情報と、が含まれることを特徴とする。
【発明の効果】
【0017】
本発明によれば、ユーザーに対して、カメラの位置または姿勢の推定を高精度に行える空間を可視化することが出来る。
【図面の簡単な説明】
【0018】
【
図1】第一の実施形態における情報処理装置の構成を示すブロック図である。
【
図2】情報処理装置のハードウェア構成を示すブロック図である。
【
図3】観察空間設定部105が保持する観察する空間の例を示す模式図である。
【
図4】解析部104の処理する対象を示す模式図である。
【
図5】情報処理装置の処理を示すフローチャートである。
【
図6】第二の実施形態における情報処理装置の構成を示すブロック図である。
【
図7】第二の実施形態における立ち位置領域の設定部601が保持する立ち位置領域の例を示す図である。
【
図8】第二の実施形態における解析部104の処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
(第一の実施形態)
以下、添付図面を参照して、本実施形態を詳細に説明する。
図1は本実施形態に係る情報処理装置の機能構成を示すブロック図である。情報処理装置1は、カメラ100、画像取得部101、マップ作成部102、位置姿勢推定部103、解析部104、観察空間設定部105、表示部106からなるMRシステムである。本実施形態では、カメラ100と表示部106が1つずつ備わっている構成として説明するが、それぞれを左目用と右目用に用意したステレオ構成としてもよい。また、本実施形態では、情報処理装置1は、カメラ100と表示部106をユーザーの目の付近に配置した頭部装着型として説明するが、各部の物理的な配置はこれに限定されるものではなく、タブレットやスマートフォン等のハンドヘルド型であってもよい。
【0020】
本実施形態では、画像のみを用いてカメラ100の位置姿勢推定とマップ作成を行う情報処理装置として説明する。ただし、本発明においては位置姿勢推定とマップ作成には、加速度センサ、角速度センサ、超音波センサ、磁気センサ、奥行画像センサ、レーザー距離センサなどの情報を用いてもよい。
【0021】
情報処理装置1のハードウェア構成について、
図2を用いて説明する。同図において、201はCPUであり、装置全体を制御する。202はRAMであり、CPU201が各部を制御しながら処理を行う時に作業領域として用いられる。203はROMであり、制御プログラム、各種アプリケーションプログラム、データなどを記憶する。CPU201がROM203に記憶する制御プログラムをRAM202に展開して実行することにより、
図1の画像取得部101、マップ作成部102、位置姿勢推定部103、解析部104、観察空間設定部105等が実現される。また、入力I/F204は、カメラ100から情報処理装置1で処理可能な形式で入力信号として入力する。また、出力I/F205は外部装置へ外部装置が処理可能な形式で出力信号として出力する。例えば、上記外部装置が表示装置である場合、出力I/F205は、表示装置へ表示部106から出力されたMR画像を出力する。上述したように、
図1に示す情報処理装置1の各部の機能は、CPU201がプログラムを実行することで実現することができる。ただし、
図1に示す情報処理装置1の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU201の制御に基づいて動作する。
【0022】
情報処理装置1について説明する。
図1における画像取得部101は、カメラ100で撮影した現実空間の画像を取得する。位置姿勢推定部103は、画像取得部101で取得した画像と、マップ作成部102で作成されたマップから、カメラ100の位置姿勢を推定する。その具体的な手順の一例を示す。まず、マップ作成部102で作成されたマップに含まれる1つ以上のキーフレームを取得する。キーフレームには、少なくとも現実空間を撮影した画像と、その画像を撮影したカメラの位置姿勢、その画像から抽出される特徴に関する情報が含まれる。本実施形態では、画像から抽出される特徴に関する情報として、画像中の特徴点と、その特徴点の二次元座標及び三次元座標の情報が含まれるものとして説明する。また、キーフレームの画像は、過去にカメラ100で撮影されたものでもよいし、事前に他のカメラによって撮影されたものでもよい。
【0023】
次に、画像取得部101で取得した画像と、キーフレームの画像との特徴点の対応付けを行う。画像の特徴点を特徴点の対応付けの方法としては、例えば画像からコーナー点を検出し、コーナー点周辺の局所画像の類似度を計算する方式があるが、本発明における特徴点の対応付け方法はこれに限らない。
【0024】
画像中の特徴点の対応が得られることで、キーフレームに含まれる特徴点の三次元座標と、画像取得部101で取得した画像の特徴点の二次元座標との対応が得られる。この対応を用いてPnP(Perspective-n-Point)問題と呼ばれる連立方程式を解くことで、カメラの位置と姿勢を6自由度で求めることができる。PnP問題を解くために必要な、カメラの内部パラメータは予め求めているものとする。
【0025】
なお、マップ作成部102からキーフレームが得られない場合、その時点におけるカメラ100の位置姿勢を初期位置姿勢として設定してもよいし、現実空間中に配置したマーカーなどの指標を用いた位置姿勢推定を行うなどしてもよい。
【0026】
以上の手順により、位置姿勢推定部103におけるカメラ100の位置姿勢推定は実現できるが、本発明による位置姿勢推定部の処理はこれに限らない。
【0027】
マップ作成部102は、画像取得部101で得られた画像および位置姿勢推定部103で得られたカメラ100の位置姿勢からマップを作成する。マップは、1つ以上のキーフレームと、キーフレームから抽出された特徴点の集合である。
【0028】
マップ作成の具体的手順を例示する。まず、画像取得部101で得られた画像が、キーフレームとして好適であるか否かを判定する。その判定条件の一例として、位置姿勢推定部103にて位置姿勢が正しく得られており、かつ、画像の撮影範囲のうちマップ中のキーフレームの画像の撮影範囲と重複する領域が一定以下であることが挙げられるが、これに限らない。
【0029】
画像取得部101で得られた画像がキーフレームとして好適であると判定された場合、特徴点の抽出を行う。その抽出した特徴点と、過去のキーフレームから抽出された特徴点との対応付けを行う。これにより、1つの特徴点に対して複数の視点の位置姿勢が得られる。そのため、三角測量の原理を用いることで、特徴点の三次元座標を求めることができる。特徴点の三次元座標は、キーフレームの一部として蓄積される。
【0030】
観察空間設定部105は、情報処理装置1の予め設定されたユーザーが観察したい空間の設定を、ユーザーの観察空間の設定として保持する。観察したい空間の具体例について
図3を参照して説明する。例えば、ユーザー300がある仮想物体301を現実空間中のある場所に配置して観察したい場合、その仮想物体301が現実空間中で占める空間が、ユーザー300が観察したい空間となる。さらに、仮想物体301の近似形状401も観察したい空間として考えられる。例えば、仮想物体301を内包する楕円体や直方体を観察したい空間として設定してもよい。仮想物体301の形状が正確に定まっていない場合には、おおよその位置・大きさを元に作成した単純な幾何形状302を観察したい空間としてもよい。また、特定の仮想物体ではなく、周囲の空間を見まわしたい場合には、ユーザー300を囲う303のような形状を観察空間として設定してもよい。観察したい空間の定義はユーザーが目的に応じて設定するものであり、本発明においては、これらの例に限定されるものではない。
【0031】
解析部104は、観察空間設定部105で保持されている観察したい空間の設定と、マップ作成部103で作成されたマップの関係とを解析し、ユーザーが観察したい空間に対し、マップ済みの空間を可視化するためのCGモデルを作成する。マップ済みの空間とは、観察空間設定部105に保持されている観察したい空間のうち、少なくとも1つのキーフレームによって撮影されている空間を指す。
【0032】
解析部104の具体的な手順について、
図4を参照して説明する。観察空間設定部105で保持されている観察したい空間は仮想物体301とする。
【0033】
まず、観察したい空間の近似形状であるポリゴンメッシュ401を生成する。ポリゴンメッシュ401の全ての頂点の色は設定色1とする。
【0034】
次に、ポリゴンメッシュ401の各頂点がマップ済みであるか否かを判定する。これは、マップ作成部103で作成されたマップ中の全てのキーフレームに対し、頂点の可視判定を行うことで実現できる。頂点の可視判定は以下の手順で行う。あるキーフレームKを取得したカメラを図中の402とし、ポリゴンメッシュ401の頂点を頂点V、カメラ402の光学中心から頂点V(図中の403)に至る線分を視線Eとする。視線E(図中の405)がポリゴンメッシュ401やその他の仮想物体と交差せず、かつ、視線Eと頂点Vの法線N(図中の404)とのなす角が一定以下の場合、頂点VはキーフレームKのカメラ402によって可視である。すなわち、マップ済みであると判定できる。
【0035】
頂点Vがマップ済みの場合、頂点Vの頂点色を設定色2とする。これにより、
図4(b)に図示したように、頂点Vを含むポリゴンは設定色2で描画されるため、ユーザーはその部分が、キーフレームの画像に含まれているということを知ることができる。また、視線Eと法線Nとのなす角が一定以下であるという条件があるため、例えば視線Eと向きが異なる法線を持つ頂点(図中の406)は、カメラ402からは可視であると判定されない。この性質により、ユーザーは、設定色2で描画されるポリゴンが占有する空間は、その正面方向からマップ済みであるということも確認することができる。
【0036】
なお、設定色1および設定色2はあらかじめ設定されているものとする。また、本実施形態では、ポリゴンメッシュとその頂点に対する処理を用いて説明したが、サーフェスまたはボリュームを表現するモデルと、その特定領域に色を付ける方式についてはポリゴンメッシュに限らない。
【0037】
表示部106は、位置姿勢推定部103で推定されたカメラ100の位置姿勢およびカメラ100の内部パラメータに基づいて、ポリゴンメッシュ401を描画した仮想画像を生成する。その際、観察空間設定部105で保持されている観察したい空間の設定と、解析部104で設定された頂点色の情報を反映して描画する。描画は、光源やテクスチャなど、頂点色以外の情報も考慮してもよい。生成した仮想画像を、画像取得部101で取得した現実空間の画像を合成することで、複合現実画像を生成し、出力する。なお、生成される複合現実画像には、上記以外の情報が付与・描画されていてもよい。ユーザー300は、表示部106に表示された「マップ済みの空間を可視化するためのCGモデル」を観察することで、どの空間にキーフレームが足りないかを判断することができる。
【0038】
図5は、情報処理装置1が複合現実画像を生成し、出力するために行う処理のフローチャートである。ステップS501では、画像取得部101の処理が行われる。カメラ100で撮影された現実空間の画像を入力I/F204を通して取り込む。ステップS502では、位置姿勢推定部103で処理される。マップ作成部102で作成されたマップを読み込むステップである。ステップS503では、位置姿勢推定部103の処理が行われる。ステップS502で読み込んだマップの情報と、ステップS501で取り込んだ現実空間の画像から、現実空間におけるカメラ100の位置姿勢を推定するステップである。ステップS504では、マップ作成部102で処理される、ステップS501で取り込んだ画像がキーフレームとして好適であるか否かの判定ステップである。キーフレームとして好適である条件の一例としては、次の二つの条件を満たす場合が挙げられるが、本発明においてはこれに限らない。条件1.ステップS503におけるカメラ100の位置姿勢の推定に成功していること。条件2.撮影範囲のうち、マップに保持されたキーフレームと重複する領域が一定以下であること。ステップS505では、マップ作成部102の処理を行う。ステップS504にて、ステップS501で取り込んだ画像がキーフレームとして好適であると判定された場合、その画像をキーフレームとしてマップに追加する。その際、画像から特徴点を抽出し、その三次元座標を推定する。これは、マップ中のキーフレームの画像から抽出した特徴点との対応付けと三角測量を用いることで実現する。
【0039】
ステップS506は、観察空間設定部105から、観察したい空間の情報を取得するステップであり、解析部104にて処理される。ステップS507では、解析部104の処理が行われる。ステップS506で取得した観察したい空間の情報から、ポリゴンメッシュ401の生成を行う。ポリゴンメッシュの全ての頂点の頂点色は、予め設定された設定色1とする。ステップS508では、解析部104の処理を行う。ステップS507で生成したポリゴンメッシュ401に対し、各頂点がマップ済みであるか否かを判定し、マップ済みであった頂点の頂点色は予め設定された設定色2を設定する。マップ済みであるか否かの判定は、キーフレームに対する頂点の可視判定に基づく。ステップS509では、表示部106の処理を行う。ステップS508で処理されたポリゴンメッシュ401を、仮想画像として描画し、ステップS501で取り込んだ現実空間の画像と合成する。また、そのようにして生成された複合現実画像を出力する。ポリゴンメッシュ401を仮想画像として描画する際には、予め推定されたカメラ100の内部パラメータと、ステップS503で求められたカメラ100の位置姿勢を用いる。
【0040】
(変形例1)
第一の実施形態では、解析部104にて実施されるステップS508の処理について、ポリゴンメッシュ401のマップ済みの頂点の頂点色を予め設定された設定色2にする方法について説明した。しかし、本発明における頂点の頂点色の設定はこれに限るものではなく、マップに含まれるキーフレームの情報が反映された形式であればよい。
【0041】
例えば、解析部104にて実施されるステップS508の処理にて、マップ中の全てのキーフレームに対し頂点の可視判定を行い、可視と判定されたキーフレームの数に応じて頂点色を設定してもよい。また、可視と判定されたキーフレームと頂点との距離に応じて頂点色を設定してもよい。
【0042】
(変形例2)
変形例1では、解析部104にて実施されるステップS508の処理について、マップ済みの頂点の頂点色を設定する方法を説明した。しかし、ポリゴンメッシュの形状を変更することでマップ済みの頂点とそれ以外の頂点を区別可能としてもよい。
【0043】
例えば、解析部104が、マップ済みの頂点の座標を、法線方向に移動させることによってポリゴンメッシュに凹凸が生じさせてもよい。また、解析部104が、マップ済みの頂点に対し、視線Eを表現する直線を付与し、キーフレームがどの方向からその頂点を撮影していたのかを表示部106で表現してもよい。視線Eを表現する直線の長さは、一定でもよいし、視線Eの長さに応じて変化させてもよい。
【0044】
(第二の実施形態)
第一の実施形態における解析部104は、観察空間設定部105にて設定された観察したい空間のうち、少なくとも1つのキーフレームによって撮影されている空間をマップ済みの空間として可視化するためのCGモデルを作成するものとして説明した。しかし、観察したい空間がキーフレームによって撮影されていたとしても、どの位置から撮影したものかによって、画像上ではその空間の見え方が大きく異なる可能性がある。例えば、撮影位置(カメラの光学中心の位置)が遠くなれば画像上での見え方が小さくなり、細かな特徴が失われる可能性がある。また、撮影位置が異なれば、空間を見る角度が変化し、画像上での見え方が大きく異なる可能性がある。そのため、本実施形態では、キーフレームの画像のカメラ位置も考慮したマップ済みの空間の可視化を行う。
【0045】
図6は、本実施形態に係る情報処理装置の機能構成を示すブロック図である。第一の実施形態における情報処理装置1では、立ち位置領域の設定部601を追加した構成となる。
【0046】
立ち位置領域の設定部601は、観察空間設定部105にて設定された観察したい空間に対し、1つ以上の立ち位置領域を設定する。立ち位置領域とは、その領域内から撮影したい空間を撮影すれば画像の見え方が類似すると考えられる領域であり、ユーザー入力、または予め定めたルールに基づいて設定する。
図7を参照して立ち位置領域の例について説明する。例えば、観察したい空間302(半球形状)とすると、その中心からの距離が一定範囲内にある領域を立ち位置領域701、702として設定する。立ち位置領域内から観察したい空間302の中心に向かって画像を撮影すると、同じ立ち位置領域内であれば、画像に写る観察したい空間302の大きさは同等となる。また、観察したい空間が303のようにユーザーの周囲の空間であった場合、ユーザーが移動すると、周囲の空間303の見え方は大きく変化する可能性がある。そのため、ユーザーの初期位置を中心に格子状に区切ることで立ち位置領域703~706を設定する。上記は一例であり、観察空間設定部105にて設定された観察したい空間に応じて、任意に設定してもよい。
【0047】
本実施形態における解析部104では、第一の実施形態に記載したステップS508の処理において、ポリゴンメッシュ401の頂点がキーフレームから可視であった場合、キーフレームが属する立ち位置領域に応じた色を設定する。本実施形態では、第一の実施形態における解析部104が実施するステップS508の処理を変更する。変更後の処理について、
図8に記載のフローチャートを用いて説明する。ステップS802からステップS804の処理では、ステップS507にて生成されたポリゴンメッシュの頂点と、マップ作成部102で作成されたマップ中のキーフレームのペアごとに行う。
【0048】
ステップS800では、頂点ごとの処理を行うために、ポリゴンメッシュから頂点を1つ取得する。ステップS801では、キーフレームごとの処理を行うために、マップからキーフレームを1つ取得する。ステップS802では、ポリゴンメッシュの頂点が、キーフレームの画像から可視であるかどうかを判定する。判定については、第一の実施形態に記載の方法と同じものとする。ステップS803では、ステップS801で可視と判定された場合、そのキーフレームの画像を撮影したカメラの位置を取得する。その位置がどの立ち位置領域に含まれるか(所属するか)を判定し、その立ち位置領域のIDを取得する。立ち位置領域が三次元空間中の面上(例えば床面など)に設定されている場合には、カメラの位置をその面上に投影した点がどの立ち位置領域に所属するかを判定する。ステップS804では、ステップS802にて取得された立ち位置領域のIDに応じて予め設定された設定色を頂点色として設定する。頂点色の設定が完了すると、次の頂点への処理を移す。
【0049】
(変形例3)
第二の実施形態においては、ポリゴンメッシュの各頂点を、その頂点を可視と判定したキーフレームが所属する立ち位置領域に応じた頂点色に設定した。しかし、頂点によっては複数のキーフレームから可視であり、かつ、それらのキーフレームが所属する立ち位置領域が異なる場合がある。また、1つのポリゴンメッシュの各頂点の色が異なると、ユーザーにとって、カメラの位置姿勢推定を高精度に行える空間がわかりにくくなる可能性がある。そこで、解析部104は、カメラ100の位置がどの立ち位置領域に属するかを判定し、マップ作成部102で作成されたマップに含まれるキーフレームのうち、カメラ100と同じ立ち位置領域に属するキーフレームのみを処理対象としてもよい。具体的には、第二の実施形態におけるステップS801にて、カメラ100と同じ立ち位置領域に属するキーフレームのみを取得してもよい。これにより、表示部106で表示される複合現実画像が単純になり、ユーザーがマップ済みの空間を確認しやすくなる。
【0050】
(変形例4)
第一の実施形態および第二の実施形態における観察空間設定部105が保持する観察したい空間の具体的な設定方法は、ユーザーの視点(カメラ100の位置)を用いた入力方法でもよい。具体的には、観察空間設定部105には、ある時点(例えば、情報処理装置1の利用開始時)におけるカメラ100の位置を中心として、その周囲を囲う形状を設定してもよい。この場合、立ち位置領域の設定部601で設定される立ち位置領域の一例として、
図7の703~706に示すように、平面を格子状に分割した領域を設定してもよい。ユーザーが自己を中心として周囲の空間を見渡すことが目的の場合には、上記の方法により、ユーザーの視点位置を中心として観察したい空間として設定することができる。
【0051】
(変形例5)
第一の実施形態および第二の実施形態における観察空間設定部105が保持する観察したい空間の具体的な設定方法は、ユーザーの視線を用いた入力方法でもよい。具体的な例として、観察空間設定部105にて、ユーザーの入力を受け付けることで観察空間を設定する方法を説明する。まず、解析部104にて、ユーザーの視点位置(カメラ100の位置)からユーザーの視線(カメラ100の光軸)方向に一定の距離(例えば、1.5m程度)にある点を求める。これを、ユーザーのポインティング点とし、表示部106にてポインティング点を描画することでユーザーに表示する。ユーザーは、カメラ100を動かすことでポインティング点を操作しながら、適時、ポインティング点の確定入力を行う。
【0052】
解析部104では、確定されたポインティング点に応じて幾何形状を生成し、表示部106にて表示する。例えば、ポインティング点が2点ある場合、一方を中心とし、2点間の距離を半径とする球体を生成してもよい。また、ポイティング点が線形独立な4点であった場合、その4点によって形成される直方体を生成してもよい。さらに、幾何形状を定義するのに必要なポインティング点を削減するために、ポインティング点は、三次元空間中の任意の点ではなく、平面やグリッド、軸などにより拘束された空間中の点としてもよい。