(57)【要約】【課題】高精度な三次元地図の生成を実現する。【解決手段】情報処理装置であって、複数の位置姿勢で撮影部により撮影された撮影画像を取得する取得部と、規定状態の撮影画像と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成する生成部と、誘導指示を出力する出力部と、誘導指示の出力後に取得部により取得された１つの撮影画像が、規定状態の撮影画像と略同じ位置姿勢で撮影されたか否かを判定する判定部と、略同じ位置姿勢で撮影されたと判定された場合、複数の位置姿勢で撮影された１つの撮影画像を含む複数の撮影画像に基づいて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成もしくは更新する地図生成部とを備える。【選択図】  図１
2017146952.tif 000002
【特許請求の範囲】
【請求項１】
複数の位置姿勢で撮影部により撮影された撮影画像を取得する取得手段と、
規定状態の撮影画像と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成する生成手段と、
前記誘導指示を出力する出力手段と、
前記誘導指示の出力の後に前記取得手段により取得された１つの撮影画像が、前記規定状態の撮影画像と略同じ位置姿勢で撮影されたか否かを判定する判定手段と、
前記略同じ位置姿勢で撮影されたと判定された場合、前記複数の位置姿勢で撮影された前記１つの撮影画像を含む複数の撮影画像に基づいて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成もしくは更新する地図生成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記規定状態の撮影画像を含む画像を前記誘導指示として生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記１つの撮影画像と、前記規定状態の撮影画像との類似度に基づいて、前記略同じ位置姿勢で撮影されたか否かを判定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記１つの撮影画像に含まれる特徴と、前記規定状態の撮影画像に含まれる特徴とから取得される画像間の幾何変換パラメータに基づいて、前記略同じ位置姿勢で撮影されたか否かを判定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記規定状態の撮影画像を記憶する画像記憶手段をさらに備えることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記取得手段により取得された撮影画像が撮影された位置姿勢を取得する位置姿勢取得手段と、
前記規定状態に対応する規定位置姿勢を記憶する状態記憶手段と、をさらに備え、
前記生成手段は、前記規定位置姿勢と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記生成手段は、前記規定位置姿勢と前記位置姿勢取得手段により取得された複数の位置姿勢の軌跡とを含む計測空間の俯瞰図を含む誘導指示を生成することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記生成手段は、前記規定位置姿勢と、前記位置姿勢取得手段により取得された位置姿勢とに基づいて、前記位置姿勢取得手段により取得された位置姿勢から前記規定位置姿勢へと至る誘導方向を含む誘導指示を生成することを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記状態記憶手段は、前記取得手段により取得された複数の撮影画像に対応する複数の位置姿勢の軌跡をさらに記憶し、
前記生成手段は、前記位置姿勢の軌跡に基づいて、計測空間に対する前記位置姿勢の軌跡の空間的な広がりが拡大するように、前記誘導指示を生成することを特徴とする請求項６乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記判定手段は、前記規定位置姿勢と、前記位置姿勢取得手段により取得された位置姿勢との間の各位置のユークリッド距離と、各姿勢ベクトルのなす角との少なくとも一方に基づいて、前記略同じ位置姿勢で撮影されたか否かの判定を行うことを特徴とする請求項６乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記判定手段は、前記三次元地図の推定精度をさらに算出し、当該推定精度に基づいて、前記略同じ位置姿勢で撮影されたか否かの判定を行うことを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記地図生成手段による三次元地図の生成の終了を判定する終了判定手段をさらに備えることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
複数の位置姿勢で撮影部により撮影された撮影画像を取得する取得手段と、
前記複数の位置姿勢で撮影された少なくとも１つの撮影画像に基づいて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成する地図生成手段と、
規定状態の撮影画像と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成する生成手段と、
前記誘導指示を出力する出力手段と、
前記誘導指示の出力の後に前記取得手段により取得された１つの撮影画像が、前記規定状態の撮影画像と略同じ位置姿勢で撮影されたか否かを判定する判定手段と、
前記略同じ位置姿勢で撮影されたと判定された場合、前記三次元地図を修正する地図修正手段と
を備えることを特徴とする情報処理装置。
【請求項１４】
情報処理装置の制御方法であって、
取得手段が、複数の位置姿勢で撮影部により撮影された撮影画像を取得する取得工程と、
生成手段が、規定状態の撮影画像と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成する生成工程と、
出力手段が、前記誘導指示を出力する出力工程と、
判定手段が、前記誘導指示の出力の後に前記取得工程により取得された１つの撮影画像が、前記規定状態の撮影画像と略同じ位置姿勢で撮影されたか否かを判定する判定工程と、
地図生成手段が、前記略同じ位置姿勢で撮影されたと判定された場合、前記複数の位置姿勢で撮影された前記１つの撮影画像を含む複数の撮影画像に基づいて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成する地図生成工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１５】
情報処理装置の制御方法であって、
取得手段が、複数の位置姿勢で撮影部により撮影された撮影画像を取得する取得工程と、
地図生成手段が、前記複数の位置姿勢で撮影された少なくとも１つの撮影画像に基づいて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成する地図生成工程と、
生成手段が、規定状態の撮影画像と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成する生成工程と、
出力手段が、前記誘導指示を出力する出力工程と、
判定手段が、前記誘導指示の出力の後に前記取得工程により取得された１つの撮影画像が、前記規定状態の撮影画像と略同じ位置姿勢で撮影されたか否かを判定する判定工程と、
地図修正手段が、前記略同じ位置姿勢で撮影されたと判定された場合、前記三次元地図を修正する地図修正工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１６】
コンピュータを、請求項１乃至１３の何れか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、撮影装置によって獲得された画像に写っている特徴に基づき、撮影装置の位置姿勢を算出する技術はＳｆＭ（Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｍｏｔｉｏｎ）あるいはＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）と呼ばれ、実写画像に計算機で仮想的に生成された画像を重畳して提示するＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）やＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）などに広く用いられている。
【０００３】
ＳｆＭやＳＬＡＭにおいては、撮影装置（あるいはそれを保持する装置の使用者）が広い空間を動き回るような場合には、撮影装置の移動距離が長くなるにつれて、検出される空間中の特徴点の三次元座標（三次元地図）および撮影装置の位置姿勢の推定値に次第にずれが生じることとなる。これを解決するために撮影装置を周回的に移動させて閉経路を構成し、経路の始点と終点の位置姿勢を一致させるように最適化を行うループクローズと呼ばれる手法が広く用いられている。特許文献１では、ループクローズを適用できるときに三次元地図を生成し、処理を終了することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第８７８７６１４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、確実にループクローズを行うために、装置の使用者を経路の始点に誘導するための方法については何ら言及されていない。そのため、高精度な三次元地図を生成することは容易ではないという課題がある。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、高精度な三次元地図の生成を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
複数の位置姿勢で撮影部により撮影された撮影画像を取得する取得手段と、
規定状態の撮影画像と略同じ位置姿勢に対応する撮影画像を取得させるための誘導指示を生成する生成手段と、
前記誘導指示を出力する出力手段と、
前記誘導指示の出力後に前記取得手段により取得された１つの撮影画像が、前記規定状態の撮影画像と略同じ位置姿勢で撮影されたか否かを判定する判定手段と、
前記略同じ位置姿勢で撮影されたと判定された場合、前記複数の位置姿勢で撮影された前記１つの撮影画像を含む複数の撮影画像に基づいて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成もしくは更新する地図生成手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、高精度な三次元地図の生成を実現することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るシステム構成及び情報処理装置の構成を示す図である。
【図２】第１実施形態に係る入力画像、初期位置姿勢画像およびその位置関係の例を示す図である。
【図３】第１実施形態に係る出力画像の例を示す図である。
【図４】第１実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図５】第２実施形態に係るシステム構成及び情報処理装置の構成を示す図である。
【図６】第２実施形態に係る誘導指示画像および出力画像の例を示す図である。
【図７】第２実施形態に係る誘導生成部が誘導方向を決定する方法を示す図である。
【図８】第２実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図９】変形例１０に係る判定部が行う追加の判定処理の概要を説明する図である。
【図１０】第３実施形態に係る誘導生成部が誘導方向を決定する方法を示す図である。
【図１１】第３実施形態において誘導指示画像および出力画像の例を示す図である。
【図１２】第４実施形態に係るシステム構成及び情報処理装置の構成を示す図である。
【図１３】第４実施形態において誘導指示画像、仮想画像および出力画像の例を示す図である。
【図１４】第４実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
（第１実施形態）
＜概要＞
本実施形態では、ＭＲ（またはＡＲ）体験に先立ち、あらかじめ高精度な三次元地図を生成し用意しておく場合に適用できる情報処理装置に関して説明する。情報処理装置の使用者は、接続されたカメラを保持して移動しながら、三次元地図を生成するための画像列を撮影する。本発明の装置はループクローズが可能となるように使用者を誘導する。具体的には、使用者に経路の始点となる初期位置姿勢（規定位置姿勢）において撮影された画像を提示する。
【００１２】
使用者はこの画像を見ながら、カメラの位置姿勢が初期位置姿勢（規定位置姿勢）と概ね一致するようにカメラを移動する。情報処理装置はカメラがほぼ初期位置姿勢（規定位置姿勢）に至ったことを判定し、ループクローズ処理を行う。これによって、情報処理装置は経路の始点と終点との位置姿勢を一致させるように最適化を行い、高精度な三次元地図を生成する。
【００１３】
＜システム構成＞
図１は、第１実施形態に係るシステム構成を示す図である。図１における長方形の各枠は本実施形態の各処理を行う機能モジュールを、矢印はデータの流れを示している。第１実施形態に係るシステムは、情報処理装置２００と、それに接続する撮影部１０１および表示部１０２を備えている。図１の構成は一例であり図示されるものに限定されない。
【００１４】
撮影部１０１は、情報処理装置２００を用いて三次元地図を生成する対象となる空間内において、使用者がその位置姿勢を変更しながら一連の画像列を撮影する。撮影部１０１は、情報処理装置２００に接続して用いられ、例えば３０分の１秒などの短い時間周期で連続的に画像を撮影する。画像は撮影した都度、画像取得部２０１に入力される。具体的には、撮影部１０１はヘッドマウントディスプレイ（ＨＭＤ）に備えられたカメラである。
【００１５】
表示部１０２は、使用者に提示する画像を表示する。提示する画像は情報処理装置２００（より具体的には誘導出力部２０５）から供給される。具体的には、表示部１０２は、モニターなどのディスプレイ装置や、ＨＭＤに備えられた液晶パネルである。
【００１６】
＜情報処理装置の構成＞
情報処理装置２００は、画像取得部２０１、画像記憶部２０２、判定部２０３、誘導生成部２０４、誘導出力部２０５、及び三次元地図生成部２０６を備えている。
【００１７】
画像取得部２０１は、撮影部１０１が撮影した画像を情報処理装置２００内部に取り込み、入力画像１０として、画像記憶部２０２、判定部２０３、誘導生成部２０４、誘導出力部２０５へ送出する。
【００１８】
画像記憶部２０２は、画像取得部２０１が取得した各時刻における入力画像１０を記憶し、保持する。また、画像記憶部２０２は三次元地図を生成するための撮影準備が整った状態で、あるいは使用者が指定した任意のタイミングで撮影された入力画像１０を、初期位置姿勢画像２０（規定位置姿勢に対応する撮影画像）として登録する。
【００１９】
より具体的には、画像記憶部２０２は、初期位置姿勢画像とみなす入力画像１０にラベルを付与して保持する。情報処理装置２００は、高精度な三次元地図を生成するにあたり、撮影部１０１の移動履歴が閉経路を構成するように、初期位置姿勢に概略一致する位置姿勢の画像を撮影すべく、使用者に誘導指示を提示するものである。画像記憶部２０２は、使用者に対する誘導対象の状態を定義する初期位置姿勢画像２０を保持する。
【００２０】
ここで、図２（ａ）及び図２（ｂ）は、撮影部１０１の移動履歴と初期位置姿勢画像２０の例を示している。図２（ａ）は、計測空間を上方から観測した俯瞰図であり、黒丸は撮影部１０１の位置を、三角は撮影部１０１の視野（三角形の頂点は視点位置、三角形の底辺は視野範囲）を表している。図２（ａ）において、撮影部１０１は、位置姿勢Ａから位置姿勢Ｂ、位置姿勢Ｃへと矢印に沿って移動したことを表している。図２（ｂ）に示した初期位置姿勢画像２０は、図２（ａ）における位置姿勢Ａで撮影した画像である。
【００２１】
判定部２０３は、誘導生成部２０４および誘導出力部２０５による誘導の結果、撮影部１０１の位置姿勢が初期位置姿勢に到達し、初期位置姿勢登録時からの位置姿勢の軌跡が閉経路を構成したか否かを判定するための閉経路判定処理を行う。本実施形態において、判定部２０３は、起動モードと、閉経路判定モードとの少なくとも２つのモードを持つ。
【００２２】
初期位置姿勢画像２０を登録した直後は、撮影部１０１の位置姿勢がほとんど変化していないため、実質的には移動がほとんどなく閉経路を構成していないにも関わらず、閉経路であると誤判定されてしまうおそれがある。そのため、判定部２０３は起動モードであるときには閉経路検知判定処理を行わない。あるいは、起動モードであっても閉経路検知判定処理を行ってよいが、判定に成功しても閉経路を構成したと見なさないようにしてもよい。本実施形態において、判定部２０３は、初期位置姿勢登録時から規定の時間が経過したときに起動モードから閉経路判定モードに移行する。
【００２３】
判定部２０３は、閉経路判定モードである場合に、画像取得部２０１から入力された現在の入力画像１０と、画像記憶部２０２が保持している初期位置姿勢画像２０とを比較することで、閉経路判定処理を行う。すなわち、判定部２０３は撮影部１０１の現在の位置姿勢が、初期位置姿勢画像２０登録時の位置姿勢に概略一致したか否かを判定する。概略一致した場合には、情報処理装置２００の使用者にその旨を通知し、撮影を終了するように促す。
【００２４】
具体的には、判定部２０３は、図３（ｂ）に示すような、閉経路に到達したことを通知する表示形態３０を生成し、誘導出力部２０５に送出する。さらに、判定部２０３は、この時点での入力画像１０を閉経路到達画像として、ラベルを付与して画像記憶部２０２に記憶させる。そうでない場合には、後述の誘導生成部２０４の処理によって情報処理装置２００の使用者に対して撮影部１０１の位置姿勢を初期位置姿勢に概略一致させるための誘導指示を行う。
【００２５】
次に、判定部２０３による閉経路判定処理の内容について説明する。閉経路と判定される条件（ループクローズが適用できる条件）とは、閉経路の始点における撮影画像と終点における撮影画像において、両者の撮影領域内に共通の特徴が検出される程度の重なりが存在し、二画像間の相対的な位置姿勢が算出可能であることである。二画像間で共通領域が多いということは、両者の位置姿勢が似通っており、連続したものと見なせることを意味するのであるから、本実施形態においては、Ｂａｇ  ｏｆ  Ｗｏｒｄｓ（ＢｏＷ）を適用して、閉経路の判定を行う。ＢｏＷは画像中に含まれる特徴の出現頻度によって複数の画像間での類似度を算出するものである。判定部２０３は、ＢｏＷの類似度が閾値を上回った場合、すなわち始点画像と終点画像との類似度が高い場合に、閉経路を検知したと判定する。
【００２６】
ここで、図２（ｃ）は、図２（ｂ）の初期位置姿勢画像２０と同じ環境を図２（ａ）における位置姿勢Ｂから撮影した入力画像１０の例を示している。図２（ｃ）の入力画像１０と図２（ｂ）の初期位置姿勢画像２０との各撮影領域には重複が極めて少ないため、判定部２０３は、図２（ｃ）における入力画像１０の位置姿勢は初期位置姿勢画像２０に対して閉経路を構成しないと判定する。
【００２７】
一方、図２（ｄ）は、図２（ｂ）の初期位置姿勢画像２０と同じ環境を図２（ａ）における位置姿勢Ｃから撮影した入力画像１０の例を示している。図２（ｄ）の入力画像１０と図２（ｂ）初期位置姿勢画像２０との各撮影領域には重複が多いため、判定部２０３は閉経路判定処理に成功する。そのため、図２（ｄ）における入力画像１０の位置姿勢は、初期位置姿勢画像２０に対して閉経路を構成したと判定する。
【００２８】
誘導生成部２０４は、判定部２０３が起動モードから閉経路判定モードに遷移したときに図３（ａ）及び図３（ｂ）に示すような誘導指示画像４０を生成し、誘導出力部２０５に送出する。誘導指示画像４０は、情報処理装置２００の使用者に提示され、次に移動すべき位置姿勢を示す画像である。本実施形態において、誘導生成部２０４は、誘導指示画像４０として画像記憶部２０２が保持する初期位置姿勢画像２０を用いる。すなわち、本実施形態における誘導指示画像４０は初期位置姿勢画像２０と同一のものである。
【００２９】
誘導出力部２０５は、表示部１０２上に表示して使用者に提示するための画像を生成する。本実施形態においては、図３（ａ）及び図３（ｂ）に示すように、入力画像１０に対し、誘導指示画像４０を重畳し、出力画像５０を生成する。出力画像は情報処理装置２００外部の表示部１０２に送出される。図３（ａ）及び図３（ｂ）には本実施形態における出力画像５０の例を示している。
【００３０】
三次元地図生成部２０６は、装置の使用者からの操作によって撮影が終了した場合には、画像記憶部２０２からこれまでに保持した一連の入力画像１０を参照して、ＳＬＡＭ処理によって三次元地図の生成を行う。また、このとき、初期位置姿勢画像２０（始点）と閉経路到達画像（終点）の位置姿勢は連続しているものとして対応付け、ループクローズによる最適化処理を行う。
【００３１】
＜処理＞
以上のような構成を備えた本実施形態に係る情報処理装置２００の制御について、以下説明する。図４は、本実施形態に係る情報処理装置２００が実施する処理の手順を示すフローチャートである。
【００３２】
まず、情報処理装置２００が起動されると、ステップＳ１０１０において、初期化処理が行われる。ステップＳ１０１０の初期化処理には、各モジュールの起動に必要な処理や、判定部２０３を起動モードに設定する処理が含まれる。
【００３３】
ステップＳ１０２０において、撮影部１０１は現在の入力画像１０を撮影する。入力画像１０は画像取得部２０１を通じて情報処理装置２００の内部に取り込まれる。ステップＳ１０３０において、誘導生成部２０４は、誘導指示画像４０を生成し、誘導出力部２０５に送出する。先述のように、本実施形態では、誘導生成部２０４は、画像記憶部２０２が保持している初期位置姿勢画像２０を誘導指示画像４０として生成する。誘導出力部２０５は、入力画像１０に誘導指示画像４０を重畳し、出力画像５０を生成する。
【００３４】
ステップＳ１０４０において、判定部２０３は、動作モードが閉経路判定モードである場合に、現在の入力画像１０に対して閉経路判定処理を行う。判定部２０３が起動モードである場合には、画像記憶部２０２は初期位置姿勢画像２０の登録を行い、所定の時間が経過した後に、判定部２０３の動作モードを起動モードから閉経路判定モードに移行する。
【００３５】
ステップＳ１０５０において、ステップＳ１０４０における閉経路判定処理に成功した（閉経路が構成された）場合には、判定部２０３は、画像記憶部２０２に入力画像１０を閉経路到達画像として登録し、ステップＳ１０６０に進む。そうでない場合には、ステップＳ１０２０に戻る。
【００３６】
ステップＳ１０６０において、三次元地図生成部２０６は、これまでに記憶した入力画像１０、初期位置姿勢画像２０、閉経路到達画像を用いて、撮影画像に含まれる特徴の三次元座標から三次元地図を生成する処理とループクローズによる最適化処理とを行う。最適化された三次元地図が生成されたら、本実施形態の処理を終了する。
【００３７】
以上述べたように、本実施形態によれば、装置の使用者に対して、ループクローズ処理を適用可能な閉経路を構成するように撮影部の動きを誘導することが可能となる。また、取得した画像列に対してループクローズ処理を適用することによって高精度な三次元地図を生成することが可能となる。
【００３８】
［変形例１］
ステップＳ１０３０において、判定部２０３は、初期位置姿勢登録からの経過時間に加えて、さらにステップＳ１０５０の判定処理で規定の回数以上失敗したことを条件に加えて、起動モードから閉経路判定モードに移行するようにしてもよい。このようにすることで、情報処理装置２００の使用者が初期位置姿勢を維持したまま一定時間以上静止した場合に、閉経路判定モードに移行してしまうことを防止することができる。
【００３９】
［変形例２］
ステップＳ１０５０において、判定部２０３は、ＢｏＷを用いるのではなく、初期位置姿勢画像２０、現在の入力画像１０の両方からＳＩＦＴなどを用いて特徴点の対応付けを行い、アフィン変換やホモグラフィー変換などの二画像間の変換を求めてもよい。この場合、一方の画像を他方の画像に変換し、これらの画像間の輝度差の総和の逆数を類似度として、これが閾値よりも大きいときに閉経路を検知したと判定してもよい。また、抽出された特徴点数と対応付けに成功した特徴点数との比を取り、これが閾値以上であれば閉経路を検知したと判定するようにしてもよい。
【００４０】
［変形例３］
情報処理装置２００の使用者が初期位置姿勢に近づいた場合には、重畳される入力画像１０ないし誘導指示画像４０の表示を変更するようにしてもよい。表示の変更については、使用者が初期位置姿勢に近づいたことを認識できればいかなる方法を用いてもよい。また、初期位置姿勢に近づいたか否かの判定には、いかなる方法を用いてもよい。
【００４１】
変形例２において、初期位置姿勢画像２０と現在の入力画像１０との間で対応する特徴点数が増加した場合には、誘導生成部２０４ないし誘導出力部２０５は情報処理装置２００の使用者が初期位置姿勢に近づいたとみなしてもよい。対応特徴点数が増加した場合、その割合に応じて入力画像１０の色調を変更することによって、情報処理装置２００の使用者が初期位置姿勢に近づいている状況を把握することが可能となる。
【００４２】
［変形例４］
誘導出力部２０５は、ステップＳ１０５０の閉経路判定処理に成功した場合には、撮影を終了できる旨を使用者に通知するようにしてもよい。図３（ｂ）は閉経路に到達したことを通知する表示形態３０として「撮影終了」との文字列を表示している。これは、使用者に対して、これまでに撮影した複数の画像（入力画像１０）の位置姿勢が閉経路を構成し、必要な画像がすべて取得できたため、撮影を終了することができるという情報を提示するものである。使用者への通知は、使用者が撮影を終了できることを認識できるものであれば、いかなるものでもよい。表示形態３０の他に、音声や振動などを使用者に提示するようにしてもよい。
【００４３】
［変形例５］
ステップＳ１０１０において、三次元地図を生成する対象となる空間が撮影部１０１の視野内に含まれるようになったことを確認してから、ステップＳ１０２０に進むようにしてもよい。このようにすることで、起動直後に撮影部１０１が本来三次元地図を生成しない環境を撮影していた場合に、三次元地図の精度が低下することを防止することができる。情報処理装置２００の使用者に準備が完了したことをボタンやスイッチなどにより情報処理装置２００へ通知させるようにしてもよいし、例えば撮影部１０１が環境中の特定の物体が観察できたことを条件として、情報処理装置２００が自動で判定するようにしてもよい。
【００４４】
［変形例６］
本実施形態における撮影部１０１は、デプスセンサやサーモグラフィ等、明るさ以外の情報を輝度値に変えて取得する装置を利用してもよく、装置の使用者が現在のおよび初期位置姿勢を画像によって区別できるものであれば、いかなるものを用いてもよい。また、これらの装置で構成される撮影部１０１から取得される画像あるいはデータ群を用いて閉経路判定処理を実行してもよい。
【００４５】
［変形例７］
三次元地図生成部２０６が行うＳＬＡＭ処理は、一連の入力画像１０から各入力画像１０を撮影した位置姿勢と、特徴点の三次元座標を算出できるものであれば、いかなる手法を用いてもよい。
【００４６】
（第２実施形態）
＜概要＞
本実施形態では、ＭＲ（またはＡＲ）体験に先立ち、あらかじめ高精度な三次元地図を生成し用意しておく場合に適用できる情報処理装置に関して説明する。情報処理装置の使用者は、接続されたカメラを保持して移動しながら、三次元地図を生成するための画像列を撮影する。本発明の情報処理装置は、推定される位置姿勢を用いて、ループクローズが可能となるように使用者を誘導する。具体的には、使用者に現在の位置姿勢から経路の始点となる初期位置姿勢に至る方向を示した画像を提示する。使用者はこの画像を見ながら、カメラの位置姿勢が初期位置姿勢と概ね一致するようにカメラを移動する。
【００４７】
本実施形態では、使用者に対して具体的な移動方向が提示されるので、より効率的にカメラの位置姿勢を初期位置姿勢に一致させることができるようになる。情報処理装置はカメラがほぼ初期位置姿勢に至ったことを判定し、ループクローズ処理を行う。これによって、情報処理装置は経路の始点と終点の位置姿勢を一致させるように最適化を行い、高精度な三次元地図を生成する。
【００４８】
＜システム構成＞
図５は、第２実施形態に係るシステム構成を示す図である。図５における長方形の枠は本実施形態の各処理を行う機能モジュールを、矢印はデータの流れを示している。本実施形態に係るシステムは、情報処理装置２００とそれに接続する撮影部１０１および表示部１０２を備えている。図５の構成は一例であり図示されるものに限定されない。また、第１実施形態と異なる部分について主に説明し、同じ部分については説明を省略する。
【００４９】
＜情報処理装置の構成＞
本実施形態においては、画像記憶部２０２に替えて状態記憶部２０７が備えられている。状態記憶部２０７は、入力画像１０の撮影時における撮影部１０１の位置姿勢を入力画像１０に対応づけて保持する。また、初期位置姿勢画像２０の登録時には、状態記憶部２０７はその時点における位置姿勢も初期位置姿勢として同時に記憶する。すなわち、本実施形態では、状態記憶部２０７は、初期位置姿勢画像２０、閉経路到達画像を含む入力画像１０のすべてがその位置姿勢に対応づけた形で保持される。状態記憶部２０７の詳細な動作に関しては後述する。
【００５０】
さらに、本実施形態においては、新たに位置姿勢取得部２０８が追加されている。位置姿勢取得部２０８は、入力画像１０を用いて、ＳＬＡＭ処理によって現在の入力画像１０を撮影したときの撮影部１０１の位置姿勢を推定する。推定された位置姿勢は状態記憶部２０７によって、入力画像１０と対応づけて保持される。以後、対応づけられたこれらの位置姿勢については、入力画像１０の位置姿勢と表記する。位置姿勢取得部２０８の詳細な動作に関しては後述する。
【００５１】
判定部２０３は、画像取得部２０１からの現在の入力画像１０と、画像記憶部２０２が保持している初期位置姿勢画像２０とを比較することに加えて、これらに対応づけられた位置姿勢を参照して、閉経路判定処理を行う。
【００５２】
より具体的には、判定部２０３は、第１実施形態で説明したＢｏＷによる類似度の判定に加えて、入力画像１０の位置姿勢と、初期位置姿勢画像２０の位置姿勢とを比較する。画像の類似性のみならず、両者の位置姿勢を比較することによって、より正確に閉経路の判定を行うことができる。位置については、２つの三次元座標間のユークリッド距離、姿勢については２つの姿勢ベクトル間の内積（あるいはなす角）を指標として比較すればよい。
【００５３】
すなわち、２つの三次元座標間のユークリッド距離が閾値よりも小さければ位置については一致したものとみなし、２つの姿勢ベクトル間の内積が閾値よりも大きければ姿勢については一致したものと見なすことができる。なお、ＳＬＡＭによって推定された位置姿勢は、前述のように再び同じ地点に到達したときに位置姿勢が同じにならない場合がある。そのため、初期位置姿勢と現在の位置姿勢との比較時に、特に位置の閾値を大きめに設定してもよい。
【００５４】
誘導生成部２０４は、判定部２０３が閉経路判定モードである場合に、情報処理装置２００の使用者を誘導する方向を算出し、後述する誘導指示画像６０を生成する。生成した誘導指示画像６０は誘導出力部２０５に送出される。誘導生成部２０４は、誘導指示画像６０を生成するために、状態記憶部２０７において保持されている入力画像１０と対応する位置姿勢、三次元地図を参照する。
【００５５】
図６（ａ）には、本実施形態において、誘導指示画像６０およびそれを重畳した出力画像７０の例を示している。入力画像１０は図２（ａ）における位置姿勢Ｂにおいて撮影されたものとする。初期位置姿勢画像２０を図２（ａ）における位置姿勢Ａにおいて撮影されたものとすると、図６（ａ）における入力画像１０が撮影された位置姿勢Ｂに対して、情報処理装置２００の使用者を左方向に誘導させれば閉経路を構成することができる。
【００５６】
そのため、図６（ａ）においては、誘導指示画像６０として、出力画像７０中央に左方向を示す矢印を、右上に計測空間全体を示す俯瞰図を示している。俯瞰図には、初期位置姿勢（黒丸）、位置姿勢の軌跡（実線矢印）、移動すべき経路（破線矢印）が示されている。情報処理装置２００の使用者は、俯瞰図によって目的とする位置姿勢を認識することができる。また、出力画像７０中の矢印、俯瞰図を参照することによって、左側に向かって移動すればよいことが認識できる。
【００５７】
図６（ｂ）には、本実施形態において、誘導指示画像６０およびそれを重畳した出力画像７０の別の例を示している。図６（ｂ）には、誘導指示画像６０として、出力画像７０中央に立方体形状の仮想物体が表示されている。仮想物体の左側面には文字が書かれており、左側面に書かれた文字を読むように促すメッセージが表示されている。この場合、情報処理装置２００の使用者は仮想物体左側面に書かれた文字がよく読めるよう、左側に回り込むような動作を行うことが期待できる。誘導生成部２０４は、現在の位置姿勢と誘導方向とに基づいて、仮想物体の回転角を算出する。
【００５８】
情報処理装置２００の使用者を左方向に誘導する場合には、仮想物体に書かれた文字を画面左から奥に隠す方向に仮想物体を回転させる。逆に情報処理装置２００の使用者を右方向に誘導する場合には、仮想物体に書かれた文字を画面右から奥に隠す方向に仮想物体を回転させる。誘導生成部２０４は、短時間のうちに推定される位置姿勢に応じて仮想物体を刻一刻と回転させるため、情報処理装置２００の使用者を所望の位置姿勢へと誘導することができる。
【００５９】
図６（ｃ）には、本実施形態における、誘導指示画像６０およびそれを重畳した出力画像７０の別の例を示している。図６（ｃ）には、誘導指示画像６０として、出力画像７０の誘導する方向を除いた部分を黒で塗りつぶした画像を示している。図６（ｃ）においては、黒で塗りつぶしているが、異なる色としてもよい。また、塗りつぶしの色を半透明にするなど、覆われる部分においても、その下の入力画像１０の一部を視認できるようにしてもよい。使用者が出力画像７０の明るい部分に向かって移動しやすいように塗りつぶしの色を決定する。
【００６０】
本実施形態において、誘導生成部２０４が現在の位置姿勢から初期位置姿勢に向けて誘導すべき方向を決定する処理を、図７（ａ）、図７（ｂ）を用いて説明する。図７（ａ）において初期位置Ｔ０を黒丸で、初期姿勢Ｒ０を三角で示している。三角はＲ０における視野方向を示すものである。現在の位置姿勢Ｔｔ、Ｒｔを同様に白丸および三角で示している。また、現在の姿勢Ｒｔから算出できる視線ベクトルをｖｔとする。現在位置Ｔｔから向かうべき方向を示す移動方向ベクトルｄｔは式（１）で表される。
【００６１】
ｄｔ＝Ｔ０−Ｔｔ...（１）
誘導する方向はｖｔからｄｔへのなす角θｔによって定めることができる。θｔが正であれば誘導方向は左、負であれば誘導方向は右となる。すなわち、誘導生成部２０４は、このθｔが正であれば左方向の矢印、負であれば右方向の矢印を誘導指示画像６０として生成すればよい。
【００６２】
一方、現在の位置姿勢が初期位置姿勢に十分近い場合には、誘導生成部２０４は現在の姿勢を初期姿勢に合わせるように誘導する必要が生じる。この場合に誘導すべき方向を決定する方法を、図７（ｂ）を用いて説明する。図７（ｂ）における初期姿勢の視線ベクトルをｖ０とすると、誘導すべき方向はｖｔからｖ０へのなす角φｔによって定められる。φｔが正であれば誘導方向は左、負であれば誘導方向は右となる。すなわち、誘導生成部２０４は、このφｔが正であれば左方向の矢印、負であれば右方向の矢印を誘導指示画像６０として生成すればよい。
【００６３】
三次元地図生成部２０６は、状態記憶部２０７が保持する入力画像１０および位置姿勢から計測空間の三次元地図を生成する。第１実施形態においては、一連の撮影が終了した後に三次元地図の生成を行っていたのに対し、本実施形態においては、入力画像１０が入力され、対応する位置姿勢が推定されるたびに三次元地図の生成・更新を行う。生成・更新された三次元地図は状態記憶部２０７において保持される。また、判定部２０３によって閉経路が構成された旨が判定され、撮影を終了した場合には、ループクローズ処理を行い、これまでに生成した三次元地図に対して最適化処理を行う。
【００６４】
状態記憶部２０７は、画像取得部２０１が取得した各時刻における入力画像１０を記憶し、保持する。また、位置姿勢取得部２０８によって推定された位置姿勢について、同時刻に撮影された入力画像１０と対応づけて保持する。また、状態記憶部２０７は三次元地図生成部２０６によって生成・更新された三次元地図についても保持し、必要に応じて三次元地図生成部２０６とデータの送受を行う。
【００６５】
位置姿勢取得部２０８は、過去の入力画像１０とその位置姿勢、これまでに生成された三次元地図を参照して、ＳＬＡＭ処理によって現在の入力画像１０の位置姿勢を推定する。推定された位置姿勢は状態記憶部２０７に送られ、入力画像１０と対応づけて保持される。
【００６６】
＜処理＞
以上のような構成を備えた本実施形態に係る情報処理装置２００の制御について、以下説明する。図８（ａ）は、本実施形態に係る情報処理装置２００が実施する処理の手順を示すフローチャートである。第１実施形態と比較すると、ステップＳ１０２０の処理がステップＳ１０２５に変更されている。ステップＳ１０２５では、現在の入力画像１０に対する位置姿勢の取得と、三次元地図の生成更新を行う。
【００６７】
図８（ｂ）は、ステップＳ１０２５内部の処理の流れを示すフローチャートである。ステップＳ２０１０において、撮影部１０１は、現在の入力画像１０を撮影する。入力画像１０は画像取得部２０１を通じて情報処理装置２００の内部に取り込まれる。また、この時点から誘導出力部２０５は表示部１０２への出力画像７０の出力を開始する。
【００６８】
ステップＳ２０２０において、位置姿勢取得部２０８は、状態記憶部２０７に保持された起動開始から現在までの入力画像１０および三次元地図を用い、ＳＬＡＭ処理によって入力画像１０の位置姿勢を取得する。
【００６９】
ステップＳ２０３０において、三次元地図生成部２０６は、状態記憶部２０７に保持された入力画像１０および位置姿勢を用いて三次元地図の生成を行う。既に三次元地図が生成されている場合には、三次元地図の更新処理を行う。
【００７０】
ステップＳ２０２０およびＳ２０３０の処理については、処理の順序を入れ替えてもよいし、同時に行ってもよい。いずれにせよ、ステップＳ２０３０までの処理を完了することによって、情報処理装置２００内部に入力画像１０が取り込まれ、それに対応する位置姿勢と現在までの三次元地図が生成・更新されることになる。
【００７１】
ステップＳ１０３０において、誘導生成部２０４は、誘導指示画像６０を生成し、誘導出力部２０５に送出する。先述のように、本実施形態では、誘導生成部２０４は、状態記憶部２０７が保持する初期位置姿勢と、位置姿勢取得部２０８において取得された位置姿勢とに基づいて、誘導指示画像６０を生成する。誘導出力部２０５は、入力画像１０に誘導指示画像６０を重畳し、出力画像７０を生成する。
【００７２】
ステップＳ１０４０において、判定部２０３は、動作モードが閉経路判定モードである場合に、現在の入力画像１０に対して閉経路判定処理を行う。一方、起動モードである場合には、状態記憶部２０７は初期位置姿勢画像２０および初期位置姿勢の登録を行い、所定の時間が経過した後に、判定部２０３の動作モードを閉経路判定モードに移行する。
【００７３】
ステップＳ１０５０において、ステップＳ１０４０における閉経路判定処理に成功した（閉経路が構成された）場合には、判定部２０３は画像記憶部２０２に入力画像１０を閉経路到達画像として登録し、ステップＳ１０６０に進む。そうでない場合には、ステップＳ１０２０に戻る。
【００７４】
ステップＳ１０６０において、三次元地図生成部２０６は、ステップＳ２０１０において記憶した入力画像１０、初期位置姿勢画像２０、初期位置姿勢、ステップＳ２０２０において推定した入力画像１０の位置姿勢、ステップＳ１０５０において取得した閉経路到達画像を用い、ステップＳ２０３０で作成した三次元地図を初期値として、ループクローズによる最適化処理とを行う。最適化された三次元地図が生成されたら、本実施形態の処理を終了する。
【００７５】
以上述べたように、本実施形態によれば、撮影された画像から随時算出される位置姿勢と三次元地図を用いることで、装置の使用者に対して、ループクローズ処理を適用可能な閉経路を構成するための方向を具体的に示し、撮影部の動きを効率的に誘導することが可能となる。また、生成された三次元地図にループクローズ処理を適用することによって、より高精度な三次元地図を生成することが可能となる。
【００７６】
このように、装置の使用者に対して、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。このとき、使用者に対して具体的な移動方向を提示することによって、使用者はより効率的に閉経路を構成するための位置姿勢に到達することが可能となる。
【００７７】
［変形例８］
本実施形態における位置姿勢取得部２０８は、ＳＬＡＭ処理によって入力画像１０から位置姿勢を求めるのではなく、撮影部１０１に位置姿勢センサを設置して、直接的に位置姿勢を求めるようにしてもよい。あるいは、撮影部１０１にマーカなどの特徴を配置し、さらに外部に設けられた撮影装置によって撮影部１０１の画像を撮影して、その画像から特徴を抽出することによって、撮影部１０１の位置姿勢を求めるようにしてもよい。
【００７８】
撮影部１０１の位置姿勢を、入力画像１０を用いたＳＬＡＭによって算出せず、前述したように外部の装置によって推定する場合には、三次元地図生成部２０６は、撮影中に三次元地図をリアルタイムで生成しなくてもよく、状態記憶部２０７は三次元地図を常時保持しなくてもよい。また、６自由度の位置姿勢のうち、３自由度の位置のみ、あるいは姿勢のみを外部の装置で計測し、残りのパラメータをＳＬＡＭ処理によって算出するようにしてもよい。
【００７９】
［変形例９］
本実施形態における撮影部１０１には、デプスセンサなど撮影部１０１視点からの奥行きを計測できるものを利用することが可能である。三次元地図生成部２０６および位置姿勢取得部２０８は、入力画像１０に替えて奥行き画像を用いて位置姿勢の推定および三次元地図の生成を行ってもよい。
【００８０】
［変形例１０］
判定部２０３は、閉経路の判定において、入力画像１０の位置姿勢の履歴（軌跡）を利用するようにしてもよい。ループクローズの最適化時には、位置姿勢の軌跡が広く分布していることが好ましいため、これを判定部２０３の判定条件として追加することができる。例えば、三次元地図を作成する空間（計測空間）において、位置姿勢の軌跡が十分な広がりを持っているかどうかを閉経路検出の判定条件に追加すればよい。
【００８１】
図９にその例を示している。図９の長方形は、上から見た計測空間を示している。その内部に描かれている曲線は、初期位置姿勢から開始した位置姿勢の軌跡を示している。図９の軌跡に対して、外接長方形を定義したときに、計測空間の大きさに対して、Ｘ方向、Ｙ方向の辺が共に十分な長さを持っているため、この時点で閉経路を構成した場合には、精度のよい三次元地図が生成できることが期待できる。判定条件として、例えば計測空間のＸ軸、Ｙ軸方向の長さと、軌跡の外接長方形のＸ軸方向、Ｙ軸方向の広がりの比を算出し、この比が閾値以上であることを用いればよい。また、計測空間と軌跡が描く図形を多角形に近似して面積を求め、計測空間との面積比を用いてもよい。
【００８２】
［変形例１１］
誘導生成部２０４は、変形例７で説明した位置姿勢の軌跡が十分な広がりを持つ方向（広がりが拡大する方向）を優先して誘導指示を生成するようにしてもよい。誘導生成部２０４は、図９の軌跡に対する外接長方形に対して、少なくとも１つの辺が大きくなる方向を経由させ、最終的に閉経路を構成する位置姿勢に至るように誘導指示画像６０を生成するようにしてもよい。
【００８３】
［変形例１２］
判定部２０３は、閉経路判定処理において、状態記憶部２０７が保持する三次元地図を利用するようにしてもよい。三次元地図を構成する点群は計測空間内に均一に分布していることが望ましいため、三次元地図として生成された三次元点群の密度分布を判定条件に追加してもよい。例えば、三次元点群が疎である領域がまだ残っている場合には、判定部２０３は閉経路判定処理を失敗させ、誘導生成部２０４は情報処理装置２００の使用者に対してその領域に至るように誘導指示画像６０を生成するようにしてもよい。
【００８４】
［変形例１３］
判定部２０３は、閉経路の判定において、状態記憶部２０７が保持する入力画像１０、位置姿勢、三次元地図を用いて、各入力画像における再投影誤差を利用するようにしてもよい。判定部２０３は状態記憶部２０７が保持する三次元地図を構成する三次元点群を、位置姿勢に基づいて入力画像１０上に再投影し、画像処理によって抽出された特徴点と再投影された座標との差を算出する。この差が大きい場合には位置姿勢あるいは三次元地図の推定精度が良好でないことを意味する。そのため、この場合、判定部２０３は閉経路判定処理を失敗させ、誘導生成部２０４は情報処理装置２００の使用者に対してその領域での入力画像１０を再撮影させるべく誘導指示画像６０を生成するようにしてもよい。
【００８５】
［変形例１４］
誘導生成部２０４は、情報処理装置２００の使用者が閉経路を構成する目的の位置姿勢に近づく、あるいは遠ざかるにつれて、誘導指示画像６０で表示される色を変更するようにしてもよい。例えば目的の位置姿勢に近づくにつれて図６（ｃ）の塗りつぶしの色を薄くする、あるいは塗りつぶす領域を狭くすることによって、情報処理装置２００の使用者は、目的の位置姿勢に近づいていることを容易に認識できる。
【００８６】
誘導生成部２０４が目的の位置姿勢に近づいている、あるいは遠ざかっていることを判定するために、位置姿勢の軌跡を用いるだけでなく、初期位置姿勢画像２０と入力画像１０との間で対応する特徴点の数を用いてもよい。対応する特徴点の数が増加している場合には、使用者が初期位置姿勢に近づいていると判断することができる。逆に対応する特徴点数が減少している場合には、初期位置姿勢から遠ざかっていると判定することができる。
【００８７】
［変形例１５］
誘導生成部２０４および誘導出力部２０５は、画像以外の方法を用いて使用者が移動すべき方向を示してもよい。不図示の音響装置を用いて、声によって情報処理装置２００の使用者が移動すべき方向を示してもよい。右あるいは左など、移動方向を直接指示することができる。あるいは立体音響によって、例えば仮想物体が移動すべき方向に去っていくような音声を与え、情報処理装置２００の使用者を誘導するようにしてもよい。情報処理装置２００の使用者は、仮想物体が去っていく方向を追うような動作を行うことで、目的の位置姿勢に近づくことが可能となる。
【００８８】
［変形例１６］
図６（ａ）には誘導指示画像６０の例として、矢印と俯瞰図の両方を示しているが、いずれか片方のみで誘導指示画像６０を構成してもよい。
【００８９】
（実施形態３）
＜概要＞
本実施形態では、ＭＲ（またはＡＲ）体験に先立ち、あらかじめ高精度な三次元地図を生成し用意しておく場合に適用できる情報処理装置に関して説明する。情報処理装置２００の使用者は、接続されたカメラを保持して移動しながら、三次元地図を生成するための画像列を撮影する。本発明の情報処理装置はまず、ＭＲ体験時の位置姿勢推定に好適な三次元地図が生成されるように使用者を誘導する。そのために情報処理装置は、あらかじめ指定された、ＭＲ体験時に仮想物体が配置されることが想定される領域を観測しつつ、使用者の移動軌跡が空間的に広がるような画像列を撮影するように使用者を誘導する。
【００９０】
具体的には、使用者に仮想物体が配置される領域方向と、軌跡が空間的に広がる移動方向とを示した画像を提示する。使用者はこの画像を見ながら、ＭＲ体験時の位置姿勢推定に好適な画像列を撮影するようにカメラを移動する。情報処理装置はそのような画像列が取得されたことを検出すると、次にループクローズが可能となるように使用者を誘導する。具体的には、使用者に経路の始点方向を示した画像を提示する。使用者はこの画像を見ながら、カメラの位置姿勢が初期位置姿勢と概ね一致するようにカメラを移動する。情報処理装置はカメラがほぼ初期位置姿勢に至ったことを判定し、ループクローズ処理を行う。これによって、情報処理装置２００は経路の始点と終点の位置姿勢を一致させるように最適化を行い、高精度な三次元地図を生成する。
【００９１】
＜システム構成＞
本実施形態に係るシステムの全体構成は、図５に示す第２実施形態における構成と同じである。ただし、本実施形態においては、機能モジュールの動作について第２実施形態と異なる部分が存在する。以下、第２実施形態と異なる部分についてのみ説明し、同じ部分については説明を省略する。
【００９２】
＜情報処理装置の構成＞
判定部２０３は、ＭＲ体験を行うための三次元地図が生成されたか否かの三次元地図生成判定処理と、閉経路を検知するための閉経路判定処理とを行う。本実施形態においては、判定部２０３は起動モード、三次元地図生成モード、閉経路判定モードの少なくとも３つのモードを持つ。本実施形態において、判定部２０３は、初期位置姿勢が登録され、かつ後述の仮想物体提示領域が検知された場合に、起動モードから三次元地図生成モードに移行する。
【００９３】
仮想物体提示領域とは、ＭＲ体験時に仮想物体が提示される領域として情報処理装置２００に入力されるものであり、仮想物体中心を示す三次元座標と、仮想物体が占める大きさ（例えば、仮想物体のバウンディングボックスを定義する縦、横、高さの値）の情報を含む。仮想物体提示領域は、情報処理装置２００にあらかじめ数値として入力しておく。入力された仮想物体提示領域の中心座標および大きさは状態記憶部２０７が保持する。
【００９４】
判定部２０３は、三次元地図生成の終了判定処理に成功した場合には、三次元地図生成モードから閉経路判定モードに移行する。三次元地図の生成終了判定処理は、以下のようにして行う。
【００９５】
判定部２０３は、変形例７と同様に、これまで推定された位置姿勢の軌跡を参照する。この軌跡が計測空間の大きさに対して、Ｘ方向、Ｙ方向の辺が共に十分な長さを持っているか否かを判定する（第１の判定）。さらに判定部２０３は、入力画像１０に仮想物体提示領域が含まれていた回数を参照し、位置姿勢の履歴に対して、当該回数が十分に大きいか否かを判定する（第２の判定）。判定部２０３は、２つの判定条件が両方とも満たされた場合に、三次元地図の生成終了処理に成功したと判定する。閉経路判定モードに移行した後の判定部２０３の動作に関しては、第２実施形態と同じである。
【００９６】
誘導生成部２０４は、判定部２０３が三次元地図生成モードである場合に、ＭＲ体験時に提示される仮想物体を観察するのに好適な位置姿勢へ誘導するための誘導指示画像４０を生成する。誘導生成部２０４は、状態記憶部２０７において保持されている入力画像１０に対応する位置姿勢、三次元地図、仮想物体提示領域を用いて誘導指示画像４０を生成する。生成される誘導指示画像８０（図１１参照）は第２実施形態と同様であるが、本実施形態では、第２実施形態に対して誘導する方向が異なるため、以下説明する。
【００９７】
本実施形態において、誘導生成部２０４は、情報処理装置２００の利用者に対して、仮想物体提示領域の方向を向き、かつ、位置姿勢の軌跡が計測空間内に広がる方向に誘導する。後者に関しては、初期位置姿勢から遠ざかり、かつ、位置姿勢の軌跡の外接多角形の面積が大きくなる方向に誘導すればよい。
【００９８】
本実施形態において、誘導生成部２０４が現在の位置姿勢から仮想物体提示領域の方向を向くように誘導するにあたり、その方向を決定する方法を、図１０を参照しながら説明する。図１０において、仮想物体提示領域の中心座標をＴｍとすると、現在の位置から仮想物体提示領域を向く方向ベクトルｍｔは式（２）によって表される。
【００９９】
ｍｔ＝Ｔｍ−Ｔｔ...（２）
このとき、誘導すべき方向はｖｔからｍｔへのなす角ρｔによって定められる。ρｔが正であれば誘導方向は左となり、負であれば誘導方向は右となる。すなわち、誘導生成部２０４は、このρｔが正であれば左方向の矢印を、負であれば右方向の矢印を誘導指示画像８０として生成すればよい。
【０１００】
図１１は、本実施形態に係る誘導指示画像８０およびそれを重畳した出力画像９０の例を示している。図１１には、誘導指示画像８０として、誘導方向を示す２種類の矢印が描かれている。図１１において、黒の矢印は仮想物体提示領域の方向を示し、情報処理装置２００の使用者にその方向を視認するように促している。また、白の矢印は三次元地図を生成するための移動方向を示しており、情報処理装置２００の使用者が移動すべき方向を示している。すなわち、情報処理装置２００の使用者は、黒の矢印で示された方向を向きつつ、白の矢印で示された方向に移動することで、最適な三次元地図が生成されることが容易に理解できる。また、誘導指示画像８０の一部に、実際に提示されるべき仮想物体を重畳して表示するようにしてもよい。
【０１０１】
＜処理＞
以上のような構成を備えた本実施形態に係る情報処理装置２００の制御について、以下説明する。本実施形態に係る情報処理装置２００が実施する処理の手順を示すフローチャートは、図８に示した第２実施形態のフローチャートとほぼ同じであるが、処理の内容については第２実施形態と異なる部分が存在する。そのため、以下、第２実施形態と異なる部分について主に説明し、同じ部分については説明を省略する。
【０１０２】
ステップＳ１０４０において、誘導生成部２０４は、判定部２０３の動作モードに応じた誘導指示画像８０を生成する。判定部２０３の動作モードが三次元地図生成モードである場合には、ＭＲ体験時に提示される仮想物体を観察するのに好適な位置姿勢へ誘導するための誘導指示画像８０を生成する。一方、判定部２０３のモードが閉経路判定モードである場合には、第１、第２実施形態と同様に、撮影部１０１を初期位置姿勢に至らしめる誘導指示画像４０又は６０を生成する。判定部２０３のモードが三次元地図生成モードである場合、誘導出力部２０５は、入力画像１０に誘導指示画像８０を重畳し、出力画像９０を生成する。
【０１０３】
ステップＳ１０５０において、判定部２０３は、動作モードに応じて異なる判定処理を行う。動作モードが三次元地図生成モードである場合には、三次元地図生成の終了判定処理を行う。三次元地図生成の終了判定に成功した場合には、判定部２０３は自身の動作モードを閉経路判定モードに移行させる。また、動作モードが三次元地図生成モードである場合には、三次元地図生成の終了判定処理の後、その結果によらずステップＳ１０２５に戻る。一方、動作モードが閉経路判定モードである場合には、第１、第２実施形態と同様に閉経路判定処理を行う。判定に成功した場合にはステップＳ１０６０に進み、そうでない場合にはステップＳ１０２５に戻る。
【０１０４】
ステップＳ１０８０において、誘導生成部２０４は、判定部２０３の動作モードが三次元地図生成モードであるか、閉経路判定モードであるかに応じて異なる誘導指示画像４０、６０、８０等を生成し、誘導出力部２０５に送出する。
【０１０５】
以上述べたように、本実施形態によれば、撮影された画像から随時算出される位置姿勢と三次元地図を用いることで、最初に情報処理装置２００の使用者をＭＲ体験時に表示される仮想物体を観察するのに好適な位置姿勢に誘導することが可能となる。また、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。ループクローズ処理を適用することによって、ＭＲ体験時の位置姿勢推定に好適な高精度な三次元地図を生成することが可能となる。
【０１０６】
［変形例１７］
仮想物体提示領域は、空間中で仮想物体を提示することが想定される領域を指定できるものであれば、いかなる方法で指定してもよい。本実施形態ではあらかじめ数値を入力することとしたが、例えば形状あるいは模様が既知のマーカを空間に配置し、入力画像１０に写るマーカ像から中心座標を自動で算出するようにしてもよい。
【０１０７】
［変形例１８］
誘導生成部２０４は、装置の使用者への誘導生成時に三次元地図を参照し、障害物などの存在により移動できない方向を避けるように誘導してもよい。
【０１０８】
（実施形態４）
＜概要＞
本実施形態では、高精度な三次元地図を生成しながらＭＲ（またはＡＲ）体験を行う場合に適用できる情報処理装置に関して説明する。情報処理装置２００の使用者は、撮影部１０１および表示部１０２を内蔵したＨＭＤを装着して移動しながら、ＭＲ体験を行うことができる。このとき、本発明の情報処理装置はカメラによって撮影された画像群を用いて三次元地図を生成しつつ、同時にこれまでに生成された三次元地図を利用してＨＭＤの位置姿勢を算出する。情報処理装置は算出したＨＭＤの位置姿勢から仮想画像をコンピュータグラフィックス（ＣＧ）によって使用者に提示する。情報処理装置は推定された位置姿勢を用いて、ループクローズが可能となるように使用者を誘導する。具体的には、使用者に現在の位置姿勢から経路の始点となる初期位置姿勢に至る方向を示した画像を提示する。使用者はこの画像を見ながら、装着したＨＭＤの位置姿勢が初期位置姿勢と概ね一致するように移動する。
【０１０９】
情報処理装置はＨＭＤがほぼ初期位置姿勢に至ったことを判定すると、ループクローズ処理を行う。これによって、情報処理装置は経路の始点と終点の位置姿勢を一致させるように最適化を行い、これまでに生成された三次元地図が修正され高精度化される。
【０１１０】
＜システム構成＞
図１２は、第４実施形態に係るシステム構成を示す図である。図１２における長方形の枠は本実施形態の各処理を行う機能モジュールを、矢印はデータの流れを示している。本実施形態に係るシステムは、情報処理装置２００とそれに接続する撮影部１０１、表示部１０２、仮想画像生成部１０３、仮想画像出力部１０４を備えている。図１２の構成は一例であり図示されるものに限定されない。また、第２実施形態と異なる部分について主に説明し、同じ部分については説明を省略する。
【０１１１】
＜情報処理装置の構成＞
本実施形態においては、情報処理装置２００の外部に仮想画像生成部１０３が備えられている。仮想画像生成部１０３は、位置姿勢取得部２０８よりＨＭＤの位置姿勢を受け取り、ＭＲ体験を行っている使用者に対して提示する仮想画像を生成する処理を行う。より具体的には、仮想画像生成部１０３は、位置姿勢取得部２０８において取得されたＨＭＤの位置姿勢を視点としてコンピュータグラフィックスによって仮想の物体を描画し、仮想画像１００を生成する。このようにして生成された仮想画像１００は仮想画像出力部１０４へと送出される。
【０１１２】
さらに、本実施形態においては、情報処理装置２００の外部に仮想画像出力部１０４が備えられている。仮想画像出力部１０４は仮想画像生成部１０３より仮想画像１００を、誘導出力部２０５より出力画像７０を入力する。仮想画像出力部１０４は出力画像７０に仮想画像１００を重畳して最終出力画像１１０を生成する。出力画像１１０はＨＭＤに内蔵された表示部１０２へと送られ、本装置の使用者に提示される。
【０１１３】
図１３は仮想画像出力部１０４が出力する最終出力画像１１０の例を示す図である。第２実施形態における出力画像７０とは異なり、出力画像７０上にさらに仮想の物体（この例では椅子）を、推定された位置姿勢からＣＧによって描画した仮想画像１００が重畳されている。すなわち、本装置の使用者はＭＲ体験中に仮想画像１００を観察しながら、同時に表示されている誘導指示画像４０を参照することで、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢へと誘導される。
【０１１４】
さらに、本実施形態においては、三次元地図修正部２０９が備えられている。三次元地図修正部２０９は、判定部２０３によって閉経路が構成された旨が判定された場合には、状態記憶部２０７において保持されている三次元地図を修正する。三次元地図修正部２０９はループクローズ処理を行い、三次元地図に対して最適化を行うことで、三次元地図を修正する。
【０１１５】
＜処理＞
以上のような構成を備えた本実施形態に係る情報処理装置２００の制御について、以下説明する。図１４は、本実施形態に係る情報処理装置２００が実施する処理の手順を示すフローチャートである。第２実施形態と比較すると、ステップＳ１０３０の処理がステップＳ１０３５に、ステップＳ１０６０の処理がステップＳ１０６５に変更されている。また、ステップＳ１０７０が追加されている。
【０１１６】
ステップＳ１０３５において、誘導生成部２０４は誘導指示画像６０を生成する。誘導生成部２０４は生成された誘導指示画像６０を誘導出力部２０５に送出する。また同時に仮想画像生成部１０３は、ステップＳ１０２５において取得された位置姿勢からＣＧによって仮想の物体を描画し、仮想画像１００を生成する。仮想画像生成部１０３は生成された仮想画像１００を仮想画像出力部１０４に送出する。また、ステップＳ１０３５において誘導出力部２０５は、入力画像１０に誘導指示画像６０を重畳し、出力画像７０を生成して仮想画像出力部２１１に送出する。仮想画像出力部１０４は出力画像９０に仮想画像１００を重畳して最終出力画像１１０を生成し、表示部１０２に送出する。
【０１１７】
ステップＳ１０６５において、三次元地図修正部２０９は、判定部２０３によって閉経路が構成された旨が判定された場合には、状態記憶部２０７において保持されている三次元地図を修正する。三次元地図修正部２０９はループクローズ処理を行い、三次元地図に対して最適化を行うことで、三次元地図を修正する。修正された三次元地図は状態記憶部２０７に保持され、次にステップＳ１０２５の処理を行う際に、ステップＳ１０７０において修正され高精度化された三次元地図が用いられるようになる。
【０１１８】
ステップＳ１０７０において、本装置の使用者がＭＲ体験を終了する場合には、本実施形態に係る情報処理装置２００の処理を終了する。そうでない場合には、ステップＳ１０２５に戻る。
【０１１９】
以上述べたように、本実施形態によれば、装置の使用者に対して、ＭＲ体験中において、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。また、生成された三次元地図にループクローズ処理を適用することによって、三次元地図が修正され高精度される。その結果、ＭＲ体験中の使用者が装着しているＨＭＤの位置姿勢が高精度に推定され、位置ずれのない正しい仮想画像を生成することが可能となる。
【０１２０】
＜実施例の効果＞
第１実施形態によれば、装置の使用者に対して、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。また、取得した画像列に対してループクローズ処理を適用することによって高精度な三次元地図を生成することが可能となる。
【０１２１】
第２実施形態によれば、装置の使用者に対して、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。このとき、使用者に対して具体的な移動方向を提示することによって、使用者はより効率的に閉経路を構成するための位置姿勢に到達することが可能となる。また、生成された三次元地図にループクローズ処理を適用することによって、より高精度な三次元地図を生成することが可能となる。
【０１２２】
第３実施形態によれば、ＭＲ体験時の位置姿勢推定に好適な三次元地図を生成するための画像列を撮影する位置姿勢に誘導することが可能となる。さらに、そのような画像列を撮影した後に、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。ループクローズ処理を適用することによって、ＭＲ体験時の位置姿勢推定に好適な三次元地図を高精度に生成することが可能となる。
【０１２３】
第４実施形態によれば、装置の使用者に対して、ＭＲ体験中において、ループクローズ処理を適用可能な閉経路を構成するための位置姿勢に誘導することが可能となる。また、生成された三次元地図にループクローズ処理を適用することによって、三次元地図が修正され高精度される。その結果、ＭＲ体験中の使用者が装着しているＨＭＤの位置姿勢が高精度に推定され、位置ずれのない正しい仮想画像を生成することが可能となる。
【０１２４】
＜定義＞
本発明における画像取得部２０１は、撮影部１０１が撮影した画像を情報処理装置２００に入力できるものであれば、いかなるものでもよい。また、入力する画像においても、ＲＧＢカラー画像、グレイスケール画像、白黒画像、奥行き画像など、いかなる種類の画像でもよい。
【０１２５】
本発明における画像記憶部２０２は、情報処理装置２００が動作している間、画像やパラメータなどのデータを保持できるものであれば、いかなるものでもよい。ＲＡＭ、フラッシュメモリなどの半導体記憶装置や、ハードディスク、ソリッドステートディスク等の補助記憶装置を利用することができる。
【０１２６】
本発明における誘導生成部２０４および誘導出力部２０５は、撮影部１０１の位置姿勢を初期位置姿勢と概略同じ位置姿勢へと変更させることを促すものであれば、いかなるものでもよい。第１〜第３実施形態では誘導指示画像を生成し、出力する方法について説明した。他にも音声などの報知方法を用いることも可能であるし、情報処理装置２００の使用者に振動や触覚などを提示するようにしてもよい。また、撮影部１０１を保持するロボット装置に動作指示を与えるような構成も可能である。
【０１２７】
また、本発明における誘導生成部２０４は、撮影部１０１の位置姿勢を初期位置姿勢と概略同じ位置姿勢へと変更させることを促すだけでなく、さらなる誘導を生成するようにしてもよい。第３実施形態や変形例１１においては、生成される三次元地図の密度あるいは精度を向上させる方向に誘導を行いつつ、撮影部１０１の位置姿勢を初期位置姿勢と概略同じ位置姿勢へと変更させることを促す方法について説明した。
【０１２８】
本発明における判定部２０３は、規定状態における撮影画像とその他の状態における撮影画像とが概略同じ位置姿勢において撮影されたか否かが判定できれば、いかなるものでもよい。
【０１２９】
第１実施形態においては、ＢｏＷによって画像間の類似度を判定する方法について説明した。変形例２で説明したように、画像間で対応する特徴点から幾何変換パラメータを算出し、幾何変換パラメータを適用した画像間で類似度を算出するようにしてもよい。
【０１３０】
また、本発明における判定部２０３は、規定状態における撮影画像とその他の状態における撮影画像とが概略同じ位置姿勢において撮影されたか否かの判定に加えて、他の条件を追加して判定してもよい。先述の変形例１２、１３においては、生成される三次元地図の性質を向上させることを企図して、さらに条件を追加して判定を行う方法について説明した。
【０１３１】
本発明における三次元地図生成部２０６は、複数の撮影画像を用いて対象空間の三次元座標を算出するものであれば、いかなるものでもよい。先述の実施形態においては、ＳｆＭやＳＬＡＭを用いる方法について説明した。変形例５で説明したように、位置姿勢センサを補助的に用いてもよいし、変形例６で説明したように、奥行き画像を入力して用いるようにしてもよい。
【０１３２】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３３】
１０１：撮影部、１０２：表示部、２００：情報処理装置、２０１：画像取得部、２０２：画像記憶部、２０３：判定部、２０４：誘導生成部、２０５：誘導出力部、２０６：三次元地図生成部、２０７：状態記憶部、２０８：位置姿勢取得部
【図１】
2017146952.tif 000003
【図２】
2017146952.tif 000004
【図３】
2017146952.tif 000005
【図４】
2017146952.tif 000006
【図５】
2017146952.tif 000007
【図６】
2017146952.tif 000008
【図７】
2017146952.tif 000009
【図８】
2017146952.tif 000010
【図９】
2017146952.tif 000011
【図１０】
2017146952.tif 000012
【図１１】
2017146952.tif 000013
【図１２】
2017146952.tif 000014
【図１３】
2017146952.tif 000015
【図１４】
2017146952.tif 000016