(57)【要約】【課題】撮像画像に基づく撮像装置の位置姿勢計測において、位置姿勢の計測精度を維持しながら、撮像装置の位置姿勢が計測可能な範囲を拡張する。【解決手段】位置姿勢が可変の撮像装置から被写体の撮像画像を取得する。被写体が有する特徴の三次元位置を示す情報を含む三次元マップを保持する。撮像画像及び三次元マップを用いて、撮像装置の位置を導出する。三次元マップにおける予め定められた領域の拡張領域での撮像画像に基づいて得た、被写体が有するさらなる特徴の三次元位置を示す情報と、三次元マップにおける予め定められた領域に含まれる特徴の三次元位置を示す情報と、の信頼性を示す情報を用いて、三次元マップを補正する。【選択図】図２
2020013560.tif 000002
【特許請求の範囲】
【請求項１】
位置姿勢が可変の撮像装置から被写体の撮像画像を取得する取得手段と、
前記被写体が有する特徴の三次元位置を示す情報を含む三次元マップを保持する保持手段と、
前記撮像画像及び前記三次元マップを用いて、前記撮像装置の位置を導出する導出手段と、
前記保持手段が保持する三次元マップにおける予め定められた領域の拡張領域での前記撮像画像に基づいて得た、前記被写体が有するさらなる特徴の三次元位置を示す情報と、前記三次元マップにおける予め定められた領域に含まれる特徴の三次元位置を示す情報と、の信頼性を示す情報を用いて、前記三次元マップを補正する補正手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記特徴の三次元位置を示す情報に、前記信頼性を示す情報として、信頼度を設定する設定手段をさらに備えることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記三次元マップにおける予め定められた領域に含まれる特徴の三次元位置を示す情報に、前記被写体が有するさらなる特徴の三次元位置を示す情報よりも高い信頼度を設定することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記被写体が位置する空間には、前記撮像画像に基づいて前記撮像装置の位置を計測するための補助指標が配置されており、
前記設定手段は、前記特徴の三次元位置を示す情報に、前記補助指標の情報に基づく信頼度を設定することを特徴とする、請求項２に記載の情報処理装置。
【請求項５】
前記設定手段は、前記撮像画像に基づいて作成される特徴の三次元位置を示す情報に対しては、前記撮像画像中の前記補助指標の数に基づく信頼度を設定することを特徴とする、請求項４に記載の情報処理装置。
【請求項６】
前記補正手段は、第１の特徴の三次元位置を示す情報を更新せず、前記第１の特徴より信頼性の低い第２の特徴の三次元位置を示す情報を更新することを特徴とする、請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記補正手段は、前記特徴の三次元位置を示す情報の信頼性に応じた更新量で、前記特徴の三次元位置を示す情報を更新することを特徴とする、請求項１から５のいずれか１項に記載の情報処理装置。
【請求項８】
前記特徴の三次元位置を示す情報は、前記被写体が位置する空間に設定された基準座標系における前記特徴の三次元位置を示す情報であり、
前記補正手段は、前記基準座標系における前記特徴の三次元位置を示す情報を更新することを特徴とする、請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記特徴の三次元位置を示す情報は、前記被写体が位置する空間に設定された基準座標系における視点の位置姿勢情報と、前記視点を基準とする座標系における前記特徴の位置情報との組み合わせであり、
前記補正手段は、前記基準座標系における前記視点の位置姿勢情報を更新することを特徴とする、請求項１から７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記三次元マップは、複数の視点のそれぞれにおける前記被写体の観測結果を示す情報を含んでおり、
前記補正手段は、前記特徴が前記三次元位置にある場合に前記視点において観測される観測結果と、前記視点において実際に観測された観測結果と、の誤差が小さくなるように、前記特徴の三次元位置を示す情報を更新することを特徴とする、請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記補正手段は、前記特徴の色情報と、前記視点において前記三次元位置について観測された色情報と、の誤差が小さくなるように、前記特徴の三次元位置を示す情報を更新することを特徴とする、請求項１０に記載の情報処理装置。
【請求項１２】
前記補正手段は、前記視点から前記三次元位置への方向と、前記視点において観測された前記視点から前記特徴への方向と、の誤差が小さくなるように、前記特徴の三次元位置を示す情報を更新することを特徴とする、請求項１０に記載の情報処理装置。
【請求項１３】
複数の視点のそれぞれにおける、前記視点に対する被写体の三次元位置を示す情報及び前記視点の位置姿勢情報を含む三次元マップを保持する保持手段と、
新たな視点からの被写体の撮像画像を、位置姿勢が可変の撮像装置から取得する取得手段と、
前記撮像画像及び前記三次元マップを用いて、前記新たな視点の位置姿勢を導出する導出手段と、
前記保持手段が保持する三次元マップにおける予め定められた領域の拡張領域での前記撮像画像に基づいて得た前記新たな視点の位置姿勢情報と、前記三次元マップにおける予め定められた領域に含まれる視点の位置姿勢情報と、の信頼性を示す情報を用いて、前記三次元マップを補正する補正手段と、
を備えることを特徴とする情報処理装置。
【請求項１４】
撮像装置から被写体の撮像画像を取得する取得手段と、
前記被写体が有する特徴の三次元位置を示す情報を含む、事前に作成された事前マップと、前記撮像画像に基づいて作成される一時マップと、を保持する保持手段と、
前記撮像画像と、前記事前マップ又は前記一時マップを用いて、前記撮像装置の位置姿勢を導出する導出手段と、
前記撮像画像及び前記撮像装置の位置姿勢に基づいて、前記被写体が有する特徴の三次元位置を示す情報を含む前記一時マップを作成する作成手段と、
を備えることを特徴とする情報処理装置。
【請求項１５】
撮像装置から被写体の撮像画像を取得する取得手段と、
前記被写体が有する特徴の三次元位置を示す情報を含む三次元マップを保持する保持手段と、
前記撮像画像及び前記三次元マップを用いて、前記撮像装置の位置姿勢を導出する導出手段と、
前記撮像画像及び前記撮像装置の位置姿勢に基づいて、前記被写体が有する特徴の三次元位置を示す情報を前記三次元マップに追加する作成手段と、
前記三次元マップにおける予め定められた領域に含まれる特徴の三次元位置を示す情報を固定しながら、前記三次元マップを補正する補正手段と、
を備えることを特徴とする情報処理装置。
【請求項１６】
撮像装置から被写体の撮像画像を取得する取得手段と、
前記被写体が有する特徴の三次元位置を示す情報を含む三次元マップを保持する保持手段と、
前記撮像画像及び前記三次元マップを用いて、前記撮像装置の位置姿勢を導出する導出手段と、
前記撮像画像に基づいて前記撮像装置の位置姿勢を計測するための、前記被写体が位置する空間に配置された補助指標に基づいて作成された前記特徴の三次元位置を示す情報を固定しながら、前記三次元マップを補正する補正手段と、
を備えることを特徴とする情報処理装置。
【請求項１７】
情報処理装置が行う情報処理方法であって、
位置姿勢が可変の撮像装置から被写体の撮像画像を取得する工程と、
前記被写体が有する特徴の三次元位置を示す情報を含む、保持手段に保持されている三次元マップと、前記撮像画像とを用いて、前記撮像装置の位置を導出する工程と、
前記保持手段が保持する三次元マップにおける予め定められた領域の拡張領域での前記撮像画像に基づいて得た、前記被写体が有するさらなる特徴の三次元位置を示す情報と、前記三次元マップにおける予め定められた領域に含まれる特徴の三次元位置を示す情報と、の信頼性を示す情報を用いて、前記三次元マップを補正する工程と、
を有することを特徴とする情報処理方法。
【請求項１８】
コンピュータを、請求項１乃至１６の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像に基づく撮像装置の位置姿勢の計測は様々な目的に利用されている。目的の一例としては、複合現実感（Mixed Reality、ＭＲ）技術／拡張現実感（Augmented Reality、ＡＲ）技術における現実空間と仮想物体との位置合わせが挙げられる。目的の別の例としては、ロボットの自律移動又は自動車の自動運転のための、自己位置推定も挙げられる。
【０００３】
非特許文献１は、画像から検出される特徴点を用いて撮像装置の位置姿勢を計測する方法を開示している。この方法では、事前にStructure from motion技術により、シーン中の特徴点の三次元座標が高精度に計測され、この情報が三次元マップとして保存される。ランタイム時には、三次元マップ中の特徴点に対応する撮像画像上の特徴点が探索され、特徴点の画像座標と三次元座標との対応に基づいて撮像装置の位置姿勢が算出される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Z. Dong, G. Zhang, J. Jia, and H. Bao, “Keyframe-based real-time camera tracking,” Proc. 2009 IEEE 12th International Conference on Computer Vision (ICCV), pp. 1538-1545, 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１で開示される方法では、ランタイム時において、事前に作成した三次元マップにより位置姿勢の計測が可能な範囲から撮像装置が外れると、高精度な位置姿勢の計測ができなくなるという課題が存在した。
【０００６】
本発明は、撮像画像に基づく撮像装置の位置姿勢計測において、位置姿勢の計測精度を維持しながら、撮像装置の位置姿勢が計測可能な範囲を拡張することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
位置姿勢が可変の撮像装置から被写体の撮像画像を取得する取得手段と、
前記被写体が有する特徴の三次元位置を示す情報を含む三次元マップを保持する保持手段と、
前記撮像画像及び前記三次元マップを用いて、前記撮像装置の位置を導出する導出手段と、
前記保持手段が保持する三次元マップにおける予め定められた領域の拡張領域での前記撮像画像に基づいて得た、前記被写体が有するさらなる特徴の三次元位置を示す情報と、前記三次元マップにおける予め定められた領域に含まれる特徴の三次元位置を示す情報と、の信頼性を示す情報を用いて、前記三次元マップを補正する補正手段と、
を備える。
【発明の効果】
【０００８】
撮像画像に基づく撮像装置の位置姿勢計測において、位置姿勢の計測精度を維持しながら、撮像装置の位置姿勢が計測可能な範囲を拡張することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【図２】実施形態１に係る情報処理装置１の機能構成の一例を示す図。
【図３】三次元マップを説明する図。
【図４】実施形態１に係る情報処理方法のフローチャートの一例。
【図５】三次元マップ補正処理のフローチャートの一例。
【図６】一実施形態に係るグラフィカルユーザインタフェースの一例を示す図。
【図７】補助指標を説明する図。
【図８】実施形態３に係る情報処理装置３の機能構成の一例を示す図。
【図９】実施形態の概念図。
【発明を実施するための形態】
【００１０】
本発明に係る各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置を実現可能なハードウェア構成について、図１を用いて説明する。図１は、一実施形態に係る情報処理装置のハードウェア構成図である。図１において、ＣＰＵ１０は、バス６０を介して、バス６０に接続された各部を制御する。入力Ｉ／Ｆ４０は、外部装置（表示装置又は操作装置など）から、情報処理装置１が処理可能な形式の入力信号を取得する。また、出力Ｉ／Ｆ５０は、外部装置（表示装置など）へと、外部装置が処理可能な形式の出力信号を出力する。
【００１１】
各実施形態の機能を実現するためのプログラムは、読み出し専用メモリ（ＲＯＭ）２０のような記憶媒体に格納することができる。また、ＲＯＭ２０は、オペレーティングシステム（ＯＳ）及びデバイスドライバを記憶することもできる。ランダムアクセスメモリ（ＲＡＭ）３０のようなメモリは、これらのプログラムを一時記憶することができる。そして、ＣＰＵ１０がＲＡＭ３０に記憶されたプログラムを実行することにより、後述する各フローチャートに従った処理を実行し、各実施形態の機能を実現できる。もっとも、ＣＰＵ１０を用いたソフトウェア処理の代わりに、各機能部の処理に対応する演算部又は回路を有するハードウェアを用いて、各実施形態の機能を実現することもできる。
【００１２】
以下に例示する実施形態において、情報処理装置は撮像装置から画像を取得して処理を行う。これらの実施形態において、撮像装置は単眼カメラであるものとする。また、撮像装置は濃淡画像を撮像するものとする。もっとも、撮像装置の種類はこれに限られない。撮像装置は位置姿勢が可変であり、被写体の撮像画像を取得することができる。以下では、撮像装置の光学中心を原点、光軸方向をＺ軸、画像の水平方向をＸ軸、画像の垂直方向をＹ軸とする三次元の座標系を、撮像装置座標系又は撮像座標系と規定する。また、撮像装置の位置姿勢とは、撮像を行う空間（シーン）中に規定された基準座標系（以下、世界座標系）に対する、撮像座標系の位置及び姿勢（例えば、原点の位置及びＺ軸の方向）を表す。撮像装置の位置姿勢は６つの自由度（位置３自由度及び姿勢３自由度）を持つ。また、以下の説明において、シーン中に存在する物体のことを被写体と呼ぶ。被写体の種類は特に限定されず、例えば建物又は部屋等でありうる。
【００１３】
［実施形態１］
実施形態１では、シーンの三次元マップのうち事前に作成した部分の信頼度を高く、ランタイム時に拡張された部分の信頼度を低くして三次元マップの補正を行う。
【００１４】
図２は、本実施形態における情報処理装置１の構成を示す。情報処理装置１は、保持部１１０、入力部１２０、導出部１３０、作成部１４０、設定部１５０、及び補正部１６０を備える。入力部１２０は、撮像装置１７０と接続されている。
【００１５】
保持部１１０は、導出部１３０が撮像装置１７０の位置姿勢の導出に使用するシーンの三次元マップを保持する。本実施形態において、三次元マップは、被写体が有する特徴の三次元位置を示す情報を含む。また、一実施形態において、この三次元マップは、複数の視点のそれぞれにおける被写体の観測結果を示す情報を含んでいる。保持部１１０は、事前に作成した三次元マップを保持することができ、さらに、ランタイム時に作成され、補正された三次元マップを順次保持することができる。
【００１６】
図３は、三次元マップの一例を説明する図である。図３に示すシーンの三次元マップは、キーフレーム（keyframe）の集合を含んでいる。キーフレームとは、シーン中の様々な場所において撮像装置によって撮像された撮像画像のことを指す。このキーフレームは、様々な視点における被写体の観測結果を示す情報を有している。例えば、キーフレームからは、特徴抽出処理により特徴の位置を得ることができ、また特定の画像位置における色情報を得ることができる。
【００１７】
また、図３の三次元マップは、キーフレーム撮像時の撮像装置（すなわち視点）の世界座標系における位置姿勢（以下、「キーフレームの位置姿勢」と呼ぶ）を含んでいる。さらに、三次元マップは、キーフレーム上における特徴（本実施形態では特徴点）の画像座標（ｕ，ｖ）及びキーフレームの位置姿勢を基準とした奥行きｄ（キーフレームの撮像座標系におけるｚ座標）を含んでいる。これらの情報は、被写体が有する特徴の三次元位置を示す情報を表している。本実施形態においては、公知の方法（例えば、C. Forster, M. Pizzoli, and D. Scaramuzza, “SVO: fast semi-direct monocular visual odometry,” Proc. 2014 IEEE International Conference on Robotics and Automation (ICRA), pp. 15-22, 2014.）により、特徴点の画像座標（ｕ，ｖ）及び奥行きｄから、撮像座標系における特徴点の三次元座標が算出される。そして、こうして算出された特徴点の三次元座標が、後述する撮像装置１７０の位置姿勢計測に利用される。
【００１８】
本実施形態において、保持部１１０は、三次元マップとして、キーフレームに加えて、キーフレームの位置姿勢、及びキーフレーム上における幾何特徴の三次元情報を保持する。このような三次元マップは、公知技術を用いて生成することができる。本実施形態では、シーンの三次元マップは事前に作成されている。保持部１１０は、記憶部（不図示）に保存されている、事前に作成された三次元マップを取得することができる。以下では、三次元マップのうち事前に作成した部分を「事前マップ」と呼ぶ。すなわち、事前マップには、特徴（第１の特徴と呼ぶことがある）の三次元位置を示す予め作成された情報が含まれている。一方、三次元マップには、特徴（第２の特徴と呼ぶことがある）の三次元位置を示す情報も、後述する作成部１４０によって追加される。
【００１９】
本実施形態の場合、事前マップには、事前に作成された複数のキーフレーム、それぞれのキーフレームの位置姿勢、並びにそれぞれのキーフレームにおける特徴点の情報が含まれている。ここで、特徴点の情報には、キーフレーム上での特徴点の画像座標（ｕ，ｖ）及び特徴点の奥行きｄが含まれる。一方、本実施形態においては、ランタイム時（情報処理装置１による撮像装置１７０の位置計測時）に三次元マップが拡張される。例えば、撮像装置の位置姿勢に応じた所定の条件に応じて、例えば事前マップを用いた位置姿勢の計測が可能な範囲から撮像装置が外れる可能性が生じた場合に、三次元マップが拡張される。すなわち、三次元マップに、新たなキーフレーム、このキーフレームの位置姿勢、並びにこのキーフレームにおける特徴点の情報が追加される。このような方法により、撮像装置１７０の位置姿勢の計測を継続することができる。例えば、事前マップ作成の対象となった領域内に障害物があり、撮像装置１７０がこの障害物を避けたときに、撮像装置１７０は位置姿勢の計測が可能な範囲から外れるかもしれない。また、撮像装置１７０が事前マップを用いた位置姿勢の計測が可能な範囲の外に移動したときに、撮像装置１７０は位置姿勢の計測が可能な範囲から外れるかもしれない。
【００２０】
入力部１２０は、撮像装置１７０が撮像した撮像画像（以下、入力画像）を取得する。入力部１２０は、撮像装置１７０から動画像を取得することができ、例えば毎秒３０フレームの時系列画像を取得することができる。なお、情報処理装置１の格納部（不図示）は、撮像装置１７０の内部パラメータ（焦点距離、画像中心位置、及びレンズ歪みパラメータ等）を保持している。撮像装置１７０の内部パラメータは、公知の方法（例えば、Z. Zhang, “A flexible new technique for camera calibration,” IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330-1334, 2000.）を用いて事前に校正することができる。
【００２１】
導出部１３０は、入力画像及び三次元マップを用いて、撮像装置１７０の位置姿勢を導出する。導出部１３０は、入力部１２０から時系列に入力される各画像について画像撮像時の撮像装置１７０の位置姿勢を導出する。
【００２２】
作成部１４０は、入力画像及び撮像装置１７０の位置姿勢に基づいて得た、被写体が有するさらなる特徴の三次元位置を示す情報を、三次元マップに追加する。このようにして、三次元マップが拡張される。本実施形態において、作成部１４０は、キーフレームと、キーフレームに含まれるさらなる特徴の三次元位置を示す情報（キーフレームの位置姿勢及び特徴点の情報）を追加することにより、三次元マップを拡張する。作成部１４０は、例えば、既存の三次元マップにより位置姿勢の計測が可能な範囲から、撮像装置１７０の位置が外れる可能性がある場合に、キーフレームを追加することができる。
【００２３】
設定部１５０は、特徴の三次元位置を示す情報に信頼度（信頼性を示す情報）を設定する。本実施形態においては、事前マップに含まれる、特徴（第１の特徴）の三次元位置を示す情報には、作成部１４０によって追加された、特徴（第２の特徴）の三次元位置を示す情報よりも、高い信頼度が与えられる。本実施形態において、設定部１５０は、三次元マップに含まれるキーフレームの信頼度を設定する。すなわち、設定部１５０は、事前マップに含まれるキーフレームの信頼度を高く、ランタイム時に作成部１４０によって追加されたキーフレームの信頼度を低く設定することができる。
【００２４】
補正部１６０は、三次元マップに含まれる特徴の三次元位置を示す情報をこの情報の信頼度に基づいて補正する。例えば、補正部１６０は、三次元マップに含まれる特徴の三次元位置を示す情報を情報の信頼度に応じて更新することができる。このような処理によれば、補正部１６０は三次元マップの整合性を向上させることができる。このような処理は、三次元マップ（又はポーズグラフ）の最適化として知られている。本実施形態において、補正部１６０は、三次元マップ全体の整合性が取れるように、キーフレームの位置姿勢を補正することにより、特徴の三次元位置を示す情報を更新する。補正部１６０は、設定部１５０が設定したキーフレームの信頼度に基づいて、補正を行うことができる。本実施形態において補正部１６０は、信頼度の高いキーフレームの位置姿勢を固定する。例えば、補正部１６０は、事前マップに含まれるキーフレームの位置姿勢を固定する。このため、精度を維持しながら、撮像装置１７０の位置姿勢の計測が可能な範囲を広げることができる。
【００２５】
次に、本実施形態に係る処理について、図４のフローチャートを参照して説明する。ステップＳ１０１０で、保持部１１０は、事前マップを外部記憶装置（不図示）から読み込む。事前マップの作成方法については特に限定されない。例えば、複数の撮像画像（キーフレーム）と、撮像画像の視点の位置姿勢（キーフレームの位置姿勢）を用いて、事前マップを作成することができる。特徴点の画像座標（ｕ，ｖ）及び奥行きｄは、撮像画像からの特徴抽出及び撮像画像間でのマッチングを行うことにより決定することができる。事前マップの作成方法の例としては、ＳＬＡＭ(Simultaneous Localization and Mapping)技術が挙げられる。本実施形態において、事前マップは、J. Engel, T. Schoeps, and. D. Cremers, “LSD-SLAM: Large-scale direct monocular SLAM,” Proc. 14th European Conference on Computer Vision (ECCV), pp.834-849, 2014.に記載の方法を用いて作成することができる。
【００２６】
また、保持部１１０は、事前マップに含まれる各キーフレームの信頼度Ｂｉ（ｉ＝１、・・・、Ｎｐ）をＨＩＧＨに設定する。ここで、Ｎｐは事前マップに含まれるキーフレームの数である。
【００２７】
本実施形態において、キーフレームの信頼度とは、キーフレームの位置姿勢が信頼可能であるか否かを表す指標である。キーフレームの信頼度が高い場合、補正部１６０はこのキーフレームの位置姿勢を補正しない。信頼度が高いキーフレームの位置姿勢は、信頼度が低いキーフレームの位置姿勢を補正するための制約条件として利用される。事前マップは、事前に時間をかけて準備することができる。例えば、人又は自動車などの動く物体が視野に入り込まない静的な状態で、事前マップを作成することができる。また、実時間で実施するには時間が長すぎる最適化処理を行って、事前マップを作成することもできる。このように、高精度な事前マップを作成することが可能である。したがって、本実施形態においては、事前マップに含まれるキーフレームの信頼度が高く（ＨＩＧＨに）設定される。
【００２８】
ステップＳ１０２０で入力部１２０は、撮像装置１７０が撮像した入力画像を取得する。入力部１２０は、１フレームの入力画像を取得することができる。
【００２９】
ステップＳ１０３０で導出部１３０は、保持部１１０が保持する三次元マップと入力画像とを用いて、入力画像を撮像した際の撮像装置１７０の位置姿勢を導出する。導出方法としては公知の様々な方法を用いることができる。例えば、特徴点の三次元位置と導出される位置姿勢とに基づいて算出した入力画像上の特徴点の画像位置と、入力画像上での特徴点の画像位置と、の差が小さくなるように繰り返し位置姿勢を補正することができる。こうして、撮像装置１７０の位置姿勢を導出することが可能である。また、キーフレームの特徴点と、特徴点の三次元位置に従って判定できる特徴点に対応する入力画像上の対応点と、の間の色差（例えば輝度差）が小さくなるように、キーフレームと撮像装置１７０との間の相対位置姿勢を導出することもできる。この相対位置姿勢と、キーフレームの位置姿勢とから、撮像装置１７０との位置姿勢を得ることができる。ここで、特徴点の三次元位置は、キーフレームの位置姿勢及び特徴点の情報（画像座標（ｕ，ｖ）及び奥行きｄ）から決定することができる。本実施形態においては、前述のＥｎｇｅｌらが開示している位置姿勢の導出方法を利用する。
【００３０】
ステップＳ１０４０で作成部１４０は、ステップＳ１０３０で導出した撮像装置１７０の位置姿勢を用いて、三次元マップを作成（拡張）する。作成部１４０は、三次元マップにキーフレームを追加することにより、三次元マップを拡張することができる。また、作成部１４０は、所定の条件が満たされたことに応じて、三次元マップを拡張することができる。本ステップの詳細については後述する。本ステップでキーフレームが追加された後の三次元マップ中のキーフレーム数をＮｋとする。
【００３１】
ステップＳ１０５０で設定部１５０は、ステップＳ１０４０で三次元マップに追加されたキーフレームの信頼度Ｂｊ（ｊ＝Ｎｋ）を低く（ＬＯＷに）設定する。ここで、キーフレームの信頼度とは、キーフレームに関連して三次元マップに格納されている情報（キーフレームの位置姿勢、又はキーフレームにおける特徴点の情報）の信頼度のことを指す。ランタイム時には、シーンの状況を制御して静的な状態を保つこと（例えば動く物体が視野に入らないようにすること）が困難であるため、キーフレームの信頼度は制限される。このため、本実施形態においては、ランタイム時に追加されたキーフレームの信頼度が低く設定される。
【００３２】
ステップＳ１０６０で補正部１６０は、三次元マップの補正を行う。例えば、補正部１６０は、三次元マップ全体が整合するように、三次元マップに含まれるキーフレームの位置姿勢を補正することができる。補正方法としては公知の様々な方法を用いることができるが、本実施形態では、前述のEngelらの手法に従う補正が行われる。
【００３３】
一方で、本実施形態においては、第１の信頼度（例えばＨＩＧＨ）を有する第１の特徴の三次元位置を示す情報を更新せずに、第１の信頼度より低い第２の信頼度（例えばＬＯＷ）を有する第２の特徴の三次元位置を示す情報が更新される。例えば、信頼度Ｂｉ（ｉ＝１、・・・、Ｎｋ）がＬＯＷに設定されているキーフレームの位置姿勢が補正の対象となり、信頼度ＢｉがＨＩＧＨに設定されているキーフレームの位置姿勢は補正の対象とされない。このように、補正部１６０は、予め作成され作成部１４０により作成されていない特徴の三次元位置を示す情報を固定しながら、特徴の三次元位置を示す情報の更新を行うことにより、三次元マップの整合性を向上させることができる。このため、高精度に作成されている事前マップを変更することなく、位置姿勢の計測可能範囲を拡張することができる。本ステップの詳細については後述する。
【００３４】
ステップＳ１０７０で導出部１３０は、位置姿勢計測の終了判定を行う。例えば、マウス又はキーボード等の入力装置から入力Ｉ／Ｆ４０を介してユーザによる終了指示が入力された場合、位置姿勢の計測は終了する。計測を終了しない場合、処理はステップＳ１０２０に戻り、位置姿勢の計測が継続される。
【００３５】
（ステップＳ１０４０の詳細）
ステップＳ１０４０で作成部１４０は、まず、三次元マップを拡張するか否か、すなわち三次元マップに新たなキーフレームを追加するか否かを判定する。ここで、作成部１４０は、ステップＳ１０３０で導出した撮像装置１７０の位置姿勢に基づいて、以下のように判定を行うことができる。
【００３６】
まず、作成部１４０は、導出した撮像装置１７０の位置姿勢に基づいて、三次元マップ中のキーフレーム（以下、最近傍キーフレーム又は単に近傍キーフレーム）を選択する。例えば、作成部１４０は、導出した撮像装置１７０の位置及び視線方向（世界座標系における撮像座標系のＺ軸方向）と、キーフレームの位置及び視線方向に基づいて、所定の条件に従って近傍キーフレームを選択することができる。作成部１４０は、撮像装置１７０に近い位置及び視線方向を有しているキーフレームを近傍キーフレームとして選択することができる。一例として、作成部１４０は、撮像装置１７０の視軸方向に基づいて、三次元マップからキーフレーム群を選択できる。ここで、世界座標系における、撮像装置１７０の視軸方向と、選択されるキーフレーム群の視軸方向と、の角度差は閾値Ｔｖ以内である。次に、作成部１４０は、キーフレーム群から近傍キーフレームを選択する。ここで、近傍キーフレームは、キーフレーム群に含まれるキーフレームのうち位置が撮像装置１７０の位置に最も近い。
【００３７】
次に、ステップＳ１０２０で取得した入力画像に含まれる、近傍キーフレームの特徴点の数に基づいて、新たなキーフレームを追加するか否かが判定される。例えば、作成部１４０は、ステップＳ１０２０で取得した入力画像上における、近傍キーフレームの各特徴点の画像座標を算出する。例えば、作成部１４０は、画像座標を算出するために、まず前述した方法により近傍キーフレームの撮像座標系における特徴点の三次元座標ＸＫｅｙを算出する。次に、作成部１４０は、近傍キーフレームの位置姿勢、及び撮像装置１７０の位置姿勢を用いて、三次元座標ＸＫｅｙを、入力画像撮像時の撮像装置１７０の撮像座標系における三次元座標ＸＣａｍに変換する。最後に、作成部１４０は、撮像装置１７０の内部パラメータを用いて三次元座標ＸＣａｍを入力画像の画像座標（ｕ，ｖ）に変換する。このようにして、作成部１４０は、算出された画像座標が入力画像内に含まれる特徴点の割合Ｒｉｎｃを求めることができる。Ｒｉｎｃが小さい場合、最近傍キーフレームと入力画像とのオーバーラップが少ないことから、撮像装置が位置姿勢計測範囲から外れる可能性がある。このため、Ｒｉｎｃが閾値Ｔｉｎｃ未満の場合、作成部１４０は、新たにキーフレームを追加すると判定する。
【００３８】
新たにキーフレームを追加すると判定した場合、作成部１４０は、前述のＥｎｇｅｌらの方法を用いて入力画像を新たなキーフレームとして追加する。Ｅｎｇｅｌらの方法を用いる場合、直前のキーフレーム上の（又は近傍キーフレーム上の）特徴点の情報を、入力画像上に投影し伝播させることで、新たなキーフレームの特徴点の情報を作成することができる。例えば、近傍キーフレームの特徴点の情報から、特徴点の三次元座標を得て、これを入力画像に投影することにより、新たなキーフレームの特徴点の画像座標（ｕ，ｖ）及び奥行きｄを決定することができる。
【００３９】
一方、新たにキーフレームを追加すると判定しなかった場合、作成部１４０は、直前に作成されたキーフレームについての特徴点の情報（画像座標（ｕ，ｖ）及び奥行きｄ）を更新することができる。例えば、作成部１４０は、撮像画像からの特徴抽出及び撮像画像間でのマッチングを行うことにより、新たな特徴点の情報を追加したり、奥行きｄの情報を更新したりすることができる。この処理は、例えば、前述のＥｎｇｅｌらの方法を用いて行うことができる。
【００４０】
（ステップＳ１０６０の詳細）
図５は、ステップＳ１０６０における三次元マップ補正の処理手順を示すフローチャートである。最適化処理では、概して、特徴が三次元位置にある場合に視点（キーフレームの位置姿勢）において観測される観測結果と、視点において実際に観測された観測結果と、の誤差が小さくなるように、特徴の三次元位置を示す情報が更新される。本実施形態においては、特徴の色情報と、視点において三次元位置について観測された色情報と、との誤差が小さくなるように、特徴の三次元位置を示す情報が更新される。具体的には、特徴点の色情報及び三次元位置情報が既存キーフレームから取得される。また、特徴点の三次元位置に従って判定できる、新規キーフレーム上の対応点において、観測された特徴点の色情報も取得される。そして、既存キーフレーム及び新規キーフレームでの特徴点の色差（例えば輝度差）が近くなるように、既存キーフレームと新規キーフレームとの相対的な位置姿勢が算出される。ステップＳ１２１０〜Ｓ１２２０でこのような処理を行った後で、ステップＳ１２３０では、この相対的な位置姿勢に適合するように、新規キーフレーム（及び場合によっては既存キーフレーム）の位置姿勢情報が更新される。以下、ステップＳ１０６０の処理について具体的に説明する。
【００４１】
ステップＳ１２１０で補正部１６０は、ステップＳ１０４０で新たに追加されたキーフレーム（以下、新規キーフレーム）に対して、位置姿勢が近い既存キーフレームを探索する。例えば、補正部１６０は、新規キーフレームに対して、世界座標系における視軸方向（撮像座標系のＺ軸）の角度差が閾値ＴＡｎｇｌｅ以内であり、かつ位置の差が閾値ＴＤｉｓｔ以内であるキーフレームをすべて選択できる。次に、補正部１６０は、キーフレーム間の相対的な位置姿勢を導出する。具体的には、補正部１６０は、選択されたキーフレームと、新規キーフレームとの間の、相対的な位置姿勢をステップＳ１０３０と同様の方法で算出する。得られた相対的な位置姿勢は、保持部１１０にキーフレーム対応情報として保存できる。
【００４２】
ステップＳ１２２０で補正部１６０は、新規キーフレームに対して、画像の類似度が高い既存のキーフレームを探索する。例えば、補正部１６０は、既存キーフレームのうち、新規キーフレームと輝度値とのＳＳＤ(Sum of Squared Distance)が最小であり、かつ閾値ＴＳＳＤ以下となる既存キーフレームを選択する。そして、補正部１６０は、ステップＳ１２１０と同様に、選択されたキーフレームと、新規キーフレームとの間の、相対的な位置姿勢を算出する。得られた相対的な位置姿勢は、保持部１１０にキーフレーム対応情報として保存できる。
【００４３】
ステップＳ１２３０で補正部１６０は、ステップＳ１２１０，Ｓ１２２０で得られたキーフレーム対応情報を用いて、キーフレームの位置姿勢を補正する。こうして、補正部１６０は三次元マップを補正する。本ステップでは、信頼度がＬＯＷに設定されているキーフレームの位置姿勢のみが補正され、信頼度がＨＩＧＨに設定されているキーフレームの位置姿勢は補正されない。
【００４４】
位置姿勢の補正には、キーフレームが属性として有している世界座標系における位置姿勢から算出されるキーフレーム間の相対的な位置姿勢と、ステップＳ１２１０，Ｓ１２２０で算出されたキーフレーム間の相対的な位置姿勢と、の誤差を用いることができる。この場合、これらの相対的な位置姿勢の誤差の総和を、評価関数として用いることができる。このように、キーフレームの特徴点の情報に基づいてステップＳ１２１０，Ｓ１２２０で算出された相対的な位置姿勢を反映するように、三次元マップに含まれるキーフレームの位置姿勢が更新される。
【００４５】
ここでは、キーフレームｉ及びキーフレームｊの世界座標系における位置姿勢を表す４×４行列をそれぞれＭ（ｉ）及びＭ（ｊ）とする。また、キーフレームｉとキーフレームｊとの間の相対的な位置姿勢を表す４×４行列をＭｒｅｌ（ｉ，ｊ）とする。行列Ｍ（ｉ）及びＭ（ｊ）は、世界座標系における三次元位置を撮像座標系における三次元位置に変換する行列である。また行列Ｍｒｅｌ（ｉ，ｊ）は、キーフレームｊの撮像座標系における三次元位置をキーフレームｉの撮像座標系における三次元位置に変換する行列である。行列Ｍ（ｉ）、Ｍ（ｊ）、及びＭｒｅｌ（ｉ，ｊ）は、次式に示すように、左上の３×３行列が回転行列Ｒ、一番右の列が平行移動成分ｔを表す行列である。
【数１】
2020013560.tif 000003
【００４６】
補正部１６０は、行列Ｍｒｅｌ（ｉ，ｊ）を既知として、下記の式（１）が最小となるようにＭ（ｉ）、Ｍ（ｊ）を補正する。式（１）において、｜｜行列｜｜Ｆはフロベニウスのノルム（行列の各要素の二乗和）を表す。また、式（１）は、三次元マップに含まれるすべてのキーフレームのうち、信頼度がＬＯＷに設定されているキーフレームについての総和である。信頼度がＨＩＧＨに設定されているキーフレームの情報は、信頼度がＬＯＷに設定されているキーフレームの位置姿勢を補正するために必要な、キーフレーム間の相対的な位置姿勢の算出に利用される。
【数２】
2020013560.tif 000004
【００４７】
Ｍ（ｉ）及びＭ（ｊ）は非線形の変換であるため、式（１）の最小化には、例えば反復計算を行うＧａｕｓｓ−Ｎｅｗｔｏｎ法を用いることができる。新規キーフレームについてのＭ（ｉ）及びＭ（ｊ）の初期値としては、ステップＳ１０３０で導出された位置姿勢を用いることができる。補正されたＭ（ｉ）及びＭ（ｊ）は、再び三次元マップ中のキーフレームの属性として保存され、次に三次元マップの補正を行う際の初期値として利用される。
【００４８】
図９は、３次元マップの補正に関する概念図である。図９（ａ）は、従来技術を説明している。図９（ａ）の左に示すように、事前マップが作成されているとする。事前マップを用いた位置姿勢の計測が可能な範囲から撮像装置が外れると、図９（ａ）の中央に示すように、マップデータが追加される。ここでは整合性を取る処理が行われていない。次に、図９（ａ）の右に示すように、事前マップと拡張されたマップ（拡張領域）の全体に基づいて特徴の位置調整が行われる。事前マップ内の特徴も位置が調整されるため、事前マップの精度が低下する。本実施形態では、図９（ｂ）に示すように、事前に作成したマップにおいては特徴の位置の信頼度が高いため、特徴の固定度合いが高くされる。一方で、ランタイム時に追加されたマップにおいては特徴の位置の信頼度が低いため、特徴の固定度合いが低くされる。即ち、精度を維持しつつ整合性を取ることができる。
【００４９】
以上述べたように実施形態１では、三次元マップのうち事前に作成した部分の信頼度を高くして三次元マップの補正が行われる。このため、三次元マップのうち事前に作成した部分の精度を維持したまま、撮像装置の位置姿勢計測可能範囲を広げることができる。
【００５０】
（実施形態１の変形例）
実施形態１では、三次元マップはキーフレームの集合であった。また、特徴の三次元位置を示す情報としては、被写体が位置する空間に設定された基準座標系における視点の位置姿勢情報（キーフレームの位置姿勢）と、この視点を基準とする座標系における特徴の位置情報（画像座標（ｕ，ｖ）及び奥行きｄ）が用いられた。そして、各キーフレームについて、特徴点の画像座標（ｕ，ｖ）とキーフレームを基準とした奥行きｄとが撮像座標系における三次元座標に変換され、特徴点の三次元座標が位置及び姿勢の計測に利用された。さらに、補正部１６０は、基準座標系における視点の位置姿勢情報（キーフレームの位置姿勢）を更新することにより、三次元マップを最適化した。しかしながら、三次元マップの形式はこれに限られない。例えば、画像上の特徴を用いて撮像装置の位置姿勢の計測が可能な任意の形式の三次元マップを用いることができる。
【００５１】
一例として、三次元マップには、特徴の三次元位置を示す情報として、被写体が位置する空間に設定された基準座標系における特徴の三次元位置（例えば特徴点の三次元座標）を示す情報が含まれていてもよい。このような三次元マップを用いても、撮像装置１７０の位置姿勢を入力画像を用いて導出することができる。例えば、三次元マップには、特徴点の三次元座標と、各キーフレームについての画像及び位置姿勢が記録されていてもよい。この場合、ステップＳ１０３０において導出部１３０は、例えば入力画像から検出した特徴の位置と、三次元マップに登録された特徴点の入力画像への逆投影位置と、の誤差が小さくなるように、入力画像の位置姿勢を決定することができる。また、ステップＳ１０４０において作成部１４０は、キーフレームとして登録される入力画像及び別の撮像画像（例えば別のキーフレーム）から対応する特徴を検出し、この特徴を表す特徴点の三次元座標を決定して、三次元マップに登録することができる。また、作成部１４０は、キーフレームとして登録される入力画像の位置姿勢も、三次元マップに登録することができる。
【００５２】
この場合、ステップＳ１０６０で補正部１６０は、基準座標系における特徴の三次元位置（例えば特徴点の三次元座標）を示す情報を更新することができる。例えば、補正部１６０は、視点（キーフレームの位置姿勢）から特徴の三次元位置への方向と、視点において観測された特徴へと向かう方向（画像座標）と、の誤差が小さくなるように、特徴の三次元位置を示す情報（キーフレームの位置姿勢）を更新する。具体例として、補正部１６０は、入力画像から検出した特徴の位置と、特徴点の各キーフレームへの逆投影位置と、の誤差が小さくなるように、特徴点の三次元座標を補正することができる（一般にバンドル調整として知られている）。この場合、ステップＳ１０５０において設定部１５０は、ステップＳ１０４０で新たに登録された特徴点の三次元座標に対して信頼度ＬＯＷを設定することができる。一方、事前マップに登録されている特徴点に対しては、信頼度ＨＩＧＨを設定することができる。補正部１６０は、信頼度がＬＯＷに設定されている特徴点の三次元座標のみを補正し、信頼度がＨＩＧＨに設定されている特徴点の三次元座標は補正しない。
【００５３】
また、補正部１６０は、特徴点の三次元座標に加えて、又は特徴点の三次元座標の代わりに、キーフレームの位置姿勢を補正してもよい。この場合、ステップＳ１０５０において設定部１５０は、ステップＳ１０４０で新たに登録されたキーフレームに対して信頼度ＬＯＷを設定することができる。一方、事前マップに登録されているキーフレームに対しては、信頼度ＨＩＧＨを設定することができる。補正部１６０は、信頼度がＬＯＷに設定されているキーフレームの位置姿勢のみを補正し、信頼度がＨＩＧＨに設定されているキーフレームの位置姿勢は補正しない。
【００５４】
上記のような、三次元マップに特徴点の三次元座標を登録する方法としては、例えば、ＫｌｅｉｎらのＰＴＡＭ法(G. Klein and D. Murray, "Parallel Tracking and Mapping for Small AR Workspaces," Proc. 6th IEEE and ACM International Symposium on Mixed and Augmented Reality, pp.225-234, 2007.)が挙げられる。この例において、三次元マップには特徴点が登録されおり、三次元マップはそれぞれの特徴点についての世界座標系における三次元座標を保持している。Ｋｌｅｉｎらは、特徴点の世界座標系における三次元座標をバンドル調整により補正することで三次元マップを全体的に整合させている。Ｋｌｅｉｎらの方法を適用して本実施形態に係る処理を行う場合、このバンドル調整においては、事前マップに含まれる特徴点の三次元座標は固定され、ランタイム時に追加された特徴点の三次元座標のみが補正される。このような方法によれば、事前マップの精度を維持したまま、撮像装置の位置姿勢の計測範囲を広げることができる。
【００５５】
（実施形態１のバリエーション）
実施形態１では、事前マップはＳＬＡＭ技術により作成された。しかしながら、事前マップの作成方法はＳＬＡＭ技術に限られない。ランタイム時に位置姿勢の導出に利用可能な事前マップを作成するための任意の方法を使用することができる。例えば、複数の視点位置から撮像された画像群をもとに、オフラインで行われるStructure from motion技術（例えば、I. Skrypnyk and D. G. Lowe, “Scene modelling, recognition and tracking with invariant image features,” Proc. 3rd IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR), pp.110-119, 2004.）を用いて、事前マップを作成してもよい。
【００５６】
実施形態１では、Ｅｎｇｅｌの方法を用いて三次元マップの作成及び撮像装置の位置姿勢の導出が行われた。しかしながら、三次元マップの作成方法、及び撮像装置の位置姿勢の導出方法としては、任意の方法を用いることができる。例えば、三次元マップが保持する特徴点を、撮像装置の位置姿勢の導出に利用する方法として、前述のＳｋｒｙｐｎｙｋらの方法のように画像から明示的に検出した特徴点を用いる方法を利用してもよい。また、用いられる特徴の種類は特に限定されない。例えば、特徴として、画像から検出されたエッジ、直線、又は曲線等のような幾何特徴を利用してもよい。さらには、特徴点として、キーフレームの濃淡画像上の輝度値の勾配が大きい点を用いてもよい。三次元マップは、これらの特徴点又は幾何特徴を構成する点について、特徴の位置情報（画像座標（ｕ，ｖ）及び奥行きｄ）を含んでいてもよい。さらには、三次元マップは、キーフレームの全ての画素について、特徴の位置情報（画像座標（ｕ，ｖ）及び奥行きｄ）を含んでいてもよい。このように、任意の画素を特徴点として扱うことができる。
【００５７】
［実施形態２］
実施形態１では、シーンの三次元マップのうち事前に作成された部分の信頼度を高くすることで、三次元マップの精度を維持しつつ位置姿勢の計測可能範囲が拡大された。実施形態２では、被写体が位置する空間（シーン）には、撮像画像に基づいて撮像装置１７０の位置姿勢を計測するための補助的な指標（以下、補助指標）が配置されている。この補助指標は、シーン中に元来存在する特徴とは別のものである。そして、特徴の三次元位置を示す情報には、補助指標の情報に基づく信頼度が与えられる。例えば、特徴の三次元位置を示す情報には、特徴の補助指標からの距離に応じた信頼度が与えられる。具体例として、補助指標に近い特徴には、補助指標から離れた特徴よりも高い信頼度を与えることができる。このようにして、三次元マップのうち補助指標周辺部分の信頼度を高くすることができる。このような方法により、三次元マップの精度を維持しながら位置姿勢の計測可能範囲が広げられる。
【００５８】
本実施形態に係る情報処理装置の構成及び処理について、図１及び図２を参照して説明する。本実施形態に係る情報処理装置の構成及び処理は、実施形態１と類似しており、以下では異なる部分について説明する。
【００５９】
本実施形態では、事前に作成されたシーンの三次元マップは用いられない。代わりに、図７に示すように、補助指標（マーカ）がシーン中に配置される。本実施形態では、画像解析により読み取り可能な識別子が記された所定形状の補助指標が用いられる。図７の例では、内部に個別の識別子を持つ白黒の正方形の指標が補助指標として配置されている。補助指標の配置情報、すなわち補助指標の世界座標系における位置姿勢は、事前に校正することができる。校正方法としては、例えば特許第４５３２９８２号又は米国特許第７５２９３８７号に開示される方法が挙げられる。設定部１５０は、シーン中に配置された補助指標についての、事前に校正された配置情報を保持している。
【００６０】
導出部１３０は、実施形態１と同様に撮像装置１７０の位置姿勢を導出する。しかしながら、本実施形態において、情報処理装置１の起動時には、三次元マップにキーフレームが含まれていないため、導出部１３０は補助指標を用いて撮像装置１７０の位置姿勢を導出する。例えば、導出部１３０は、入力画像から検出した補助指標の位置と、補助指標の配置情報と、に従って撮像装置の位置姿勢を導出できる。本実施形態では、一例としてＫａｔｏらの方法(H. Kato, M. Billinghurst, I. Poupyrev, K. Imamoto, and K. Tachibana, “Virtual object manipulation on a table-top AR environment,” Proc. IEEE and ACM International Symposium on Augmented Reality 2000, pp. 111-119, 2000.）が用いられる。
【００６１】
設定部１５０は、実施形態１と同様に、特徴の三次元位置を示す情報に信頼度を設定する。本実施形態において、設定部１５０は、作成部１４０によって入力画像に基づいて作成された特徴の三次元位置を示す情報に対して、撮像画像中（入力画像中）の補助指標の数に基づく信頼度を設定する。例えば、補助指標の数が多いほど、撮像装置１７０の位置姿勢の判定精度が高まるため、特徴の三次元位置を示す情報（キーフレームの位置姿勢及び特徴点の情報により表すことができる）の信頼度も高まる。したがって、入力画像中の補助指標の数が閾値以上である場合に、少ない場合と比較して、特徴の三次元位置を示す情報に対してより高い信頼度を設定することができる。本実施形態の場合、設定部１５０は、キーフレームから検出された補助指標についての配置情報を保持している場合（すなわち補助指標が検出された場合）、このキーフレームの信頼度を高く設定する。一方、設定部１５０は、キーフレームから、配置情報を保持している補助指標を検出できない場合（例えば補助指標が検出されない場合）、このキーフレームの信頼度を低くする。
【００６２】
補正部１６０は、実施形態１と同様に、設定部１５０が設定したキーフレームの信頼度をもとに、三次元マップ全体の整合性が取れるようにキーフレームの位置姿勢を補正する。信頼度の高いキーフレームの位置姿勢は、前述のＫａｔｏらの方法を用いて補助指標をもとに算出され、補正部１６０による補正時には固定される。
【００６３】
本実施形態において、ステップＳ１０２０〜Ｓ１０４０及びＳ１０７０の処理は実施形態１と同様である。以下では、ステップＳ１０１０及びＳ１０５０〜Ｓ１０６０の処理について説明する。
【００６４】
ステップＳ１０１０において設定部１５０は、事前に校正された補助指標の配置情報を外部記憶装置（不図示）から取得する。
【００６５】
ステップＳ１０５０において設定部１５０は、ステップＳ１０４０で三次元マップに追加されたキーフレームの信頼度を設定する。まず、設定部１５０は、追加されたキーフレームから補助指標を検出する。補助指標の検出は、例えば次のように行うことができる。まず、設定部１５０は、キーフレームを二値化し、二値化された画像から四角形領域を検出する。次に、設定部１５０は、四角形領域の各頂点の画像座標に基づいて、四角形領域から正方形領域への射影変換を算出し、四角形領域を正方形領域に変換する。さらに、設定部１５０は、正方形領域の所定位置における画像の輝度値を読み出すことにより、補助指標の識別子を特定する。特定した識別子が、配置情報が保持されている補助指標の識別子である場合、設定部１５０はキーフレーム上で補助指標が識別されたと判断する。
【００６６】
キーフレーム上で補助指標が識別されなかった場合、設定部１５０はこのキーフレームの信頼度をＬＯＷに設定する。また、キーフレーム上で補助指標が識別された場合、設定部１５０はこのキーフレームの信頼度をＨＩＧＨに設定することができる。一方、本実施形態において設定部１５０は、補助指標の識別状況を判定し、この判定結果を示す指標に応じてキーフレームの信頼度を設定することができる。例えば、設定部１５０は、補助指標が精度良く識別された場合、例えば補助指標のキーフレーム上での配置の分散度が閾値以上である場合にキーフレームの信頼度をＨＩＧＨに設定し、閾値未満である場合にキーフレームの信頼度をＬＯＷに設定することができる。
【００６７】
このような方法の一例として、補助指標が識別されたと判断された場合、設定部１５０は、さらに画像上での補助指標の頂点の分布を算出することができる。例えば、設定部１５０は、補助指標の頂点の分布の評価値として、全ての識別された補助指標の各頂点の画像座標の共分散行列の最小固有値λｍｉｎを算出することができる。λｍｉｎは、補助指標の頂点が画像上に広く分布している場合には大きく、狭く分布している場合には小さくなる。λｍｉｎが小さい場合、識別された補助指標から算出されるキーフレームの位置姿勢は、補助指標の検出誤差の影響を受けやすいため、精度が低い可能性がある。そのため、λｍｉｎが閾値Ｔλより小さい場合、設定部１５０はキーフレームの信頼度ＢをＬＯＷに設定する。一方、λｍｉｎが大きい場合、識別された補助指標から算出されるキーフレームの位置姿勢は補助指標の検出誤差の影響を受けにくいため、精度が高いと考えられる。そこで、λｍｉｎが閾値Ｔλ以上の場合には、設定部１５０はキーフレームの信頼度ＢをＨＩＧＨに設定する。
【００６８】
ステップＳ１０６０で補正部１６０は、実施形態１と同様に、三次元マップ全体が整合するようにキーフレームの位置姿勢を補正することにより、三次元マップの補正を行う。すなわち、補正部１６０は、信頼度がＬＯＷに設定されているキーフレームの位置姿勢のみを補正し、信頼度がＨＩＧＨに設定されているキーフレームの位置姿勢は補正しない。このように、補正部１６０は、撮像画像に基づいて撮像装置の位置姿勢を計測するための、被写体が位置する空間に配置された補助指標に基づいて生成された特徴の三次元位置を示す情報を固定する。このような固定を行いながら、特徴の三次元位置を示す情報の更新を行うことにより、三次元マップの整合性を向上させる。
【００６９】
以上述べたように実施形態２では、補助指標が検出されたキーフレームの信頼度を高くすることで、精度を維持しながら位置姿勢の計測可能範囲が広げられる。すなわち、補助指標を用いて判定されたキーフレームの位置姿勢は精度が高いと考えられるため、三次元マップの補正においてこの位置姿勢を補正しないことにより、精度の維持が可能となる。
【００７０】
（実施形態２の変形例）
実施形態１の変形例と同様に、三次元マップには特徴点が登録され、各特徴点の世界座標系における三次元座標が三次元マップに保持されていてもよい。この場合、設定部１５０は、補助指標に近接する特徴点の三次元座標の信頼度をＨＩＧＨに設定し、それ以外の三次元座標の信頼度をＬＯＷに設定してもよい。例えば、補助指標に近接する特徴点の三次元座標を、補助指標に基づいて推定された撮像装置の位置姿勢に基づいて算出しておき、バンドル調整を行う際に、補助指標に近接する特徴点の三次元座標を固定してそれ以外の特徴点の三次元座標のみを補正してもよい。また、上記のように、補助指標が検出されたキーフレームの信頼度をＨＩＧＨに設定し、それ以外のキーフレームの信頼度をＬＯＷに設定してもよい。すなわち、バンドル調整を行う際に、補助指標が検出されたキーフレームの位置姿勢を固定してそれ以外のキーフレームの位置姿勢のみを補正してもよい。このような方法によっても、補助指標を用いて得られた精度の高い情報を活用しつつ、撮像装置の位置姿勢の計測範囲を広げることができる。
【００７１】
（実施形態２のバリエーション）
補助指標の形状は正方形（四角形）には限られない。例えば、三角形、六角形、円形、又は楕円形の補助指標を用いてもよい。画像から安定的に検出可能な形状を適宜選択することができる。また、補助指標の識別子を画像から特定することは必須ではない。例えば、円形の補助指標を用いる場合、導出部１３０が導出しようとする撮像装置の位置姿勢に基づいて補助指標の画像上の位置を算出し、この位置の近傍で検出された補助指標と対応付けることで、補助指標を識別することができる。また、識別子つきの補助指標と識別子のない補助指標とを併用してもよい。この場合、識別子つきの補助指標から算出される撮像装置の位置姿勢をもとに、識別子のない補助指標の画像上の位置を算出し、近傍で検出された補助指標と対応付けてもよい。
【００７２】
補助指標の配置情報の校正は、必ずしも事前に行わなくてもよい。例えば、撮像装置１７０によって撮像される画像を用いて、シーンの三次元マップ作成と並行して配置情報が校正されてもよい。この場合、最初は三次元マップの補正を行わず、補助指標の配置情報の信頼度が閾値以上となった後に、補助指標を用いた三次元マップの補正を行うことにより、三次元マップの精度が低下しないようにすることができる。補助指標の配置情報の信頼度は、例えば校正に用いた画像群において各補助指標が検出された回数の平均値又は最小値に基づいて決定することができる。検出回数の平均値又は最小値が大きいほど、配置情報の信頼度は高い。一例として、補助指標の配置情報が示す三次元位置に対応する入力画像上の位置から補助指標が検出された場合に、補助指標が検出されたものと判定することができる。
【００７３】
補助指標の識別状況を示す指標は、補助指標の頂点の分布の評価値又は補助指標の頂点の画像座標の共分散行列の最小固有値には限られない。例えば、画像上で検出される補助指標の個数を用いてもよい。この場合、検出された補助指標の個数が多いほど、評価値を低くすることができる。また、検出された補助指標の個数と、補助指標の頂点の分布と、の双方に基づく指標を用いてもよい。
【００７４】
また、信頼度の決定方法としては様々な方法を用いることができる。例えば、補助指標が画像上から検出されているか否かに基づいて信頼度を決定する方法の他に、モーションブラーが起こっているか否か、又は画像全体若しくは一部が明る過ぎる若しくは暗過ぎるか否か、に基づいて信頼度を決定してもよい。例えば、モーションブラーが起こっている場合、又は画像が明るすぎる若しくは暗すぎる場合に、キーフレームの信頼度を低くすることができる。本実施形態においては、事前に作成された三次元マップの信頼度と、補助指標に基づく信頼度と、を併用することができる。例えば、事前マップに含まれるキーフレームの信頼度と、十分に補助指標が検出されているキーフレームの信頼度と、をＨＩＧＨに設定することができ、信頼度がＨＩＧＨに設定されているキーフレームを補正の対象から外すことができる。
【００７５】
（実施形態１，２に共通のバリエーション）
実施形態１，２では、キーフレーム又は特徴点の信頼度はＨＩＧＨ又はＬＯＷの二値であった。また、三次元マップを補正する際には、信頼度はキーフレームの位置姿勢又は特徴点の三次元位置を固定するか否かを決定するために用いられた。すなわち、信頼度がＨＩＧＨのキーフレームの位置姿勢又は特徴点の三次元位置は固定され、信頼度がＬＯＷのキーフレームの位置姿勢又は特徴点の三次元位置のみ補正された。しかしながら、特徴の三次元位置を示す情報（例えばキーフレーム又は特徴点）の信頼度は二値に限られず、多値又は実数値でありうる。
【００７６】
このような例において、補正部１６０は、特徴の三次元位置を示す情報の信頼度に応じた更新量で、特徴の三次元位置を示す情報を更新することができる。例えば、補正部１６０は、信頼度を重みとして用いることにより、信頼度の高さに応じて補正量が小さくなるように、キーフレームの位置姿勢又は特徴点の三次元位置を補正してもよい。
【００７７】
実施形態１，２では、三次元マップを補正した後に、次の入力画像を取得して撮像装置１７０の位置姿勢の導出が行われた。しかしながら、三次元マップの補正のタイミングは特に限定されない。例えば、前述のＥｎｇｅｌの方法やＫｌｅｉｎの方法のように、入力画像の取得及び撮像装置１７０の位置姿勢の導出と並行して、三次元マップの補正を行う並列処理を用いてもよい。一実施形態において、撮像装置１７０の位置姿勢の導出（ステップＳ１０２０〜Ｓ１０３０）、キーフレームの作成（ステップＳ１０４０〜Ｓ１０５０）、及び三次元マップの補正（ステップＳ１０６０）は独立に任意のタイミングで行うことができる。
【００７８】
［実施形態３］
実施形態１，２では、撮像装置が位置姿勢の計測可能範囲から外れそうになると、新しいキーフレームが三次元マップに追加され、また三次元マップ全体の整合が取れるように補正が行われた。実施形態３では、撮像装置が位置姿勢の計測可能範囲から外れそうになると、事前マップとは別に、撮像装置による撮像画像に基づいて一時的なマップ（以下、一時マップ）が作成され、撮像装置の位置姿勢の計測が継続される。本実施形態では、一時マップを用いて位置姿勢の計測は、デッドレコニングにより行われる。
【００７９】
本実施形態に係る情報処理装置の構成及び処理について、図８及び図２を参照して説明する。本実施形態に係る情報処理装置の構成及び処理は、実施形態１と類似しており、以下では異なる部分について説明する。図８は、実施形態３に係る情報処理装置３の機能構成を示す。情報処理装置３は、実施形態１と同様に、保持部１１０、入力部１２０、導出部１３０、及び作成部１４０を備える。また、入力部１２０は撮像装置１７０と接続されている。情報処理装置３は、さらに、選択部３９０を備えている。本実施形態に係る情報処理装置の構成及び処理は、実施形態１と類似しており、以下では異なる部分について説明する。
【００８０】
保持部１１０は、実施形態１と同様に事前マップを保持するとともに、ランタイム時に作成される一時マップを保持する。選択部３９０は、撮像装置１７０の位置姿勢の予測値に基づいて、撮像装置１７０の位置姿勢の導出のために、事前マップ又は一時マップを三次元マップとして選択する。導出部１３０は、入力画像と、選択部３９０が選択した三次元マップとを用いて、撮像装置１７０の位置姿勢を導出する。作成部１４０は、撮像装置１７０の位置姿勢及び入力画像に基づいて、一時マップを作成する。
【００８１】
本実施形態において、ステップＳ１０１０〜Ｓ１０２０及びＳ１０７０の処理は実施形態１と同様である。また、ステップＳ１０５０〜Ｓ１０６０の処理は行われない。以下では、ステップＳ１０３０〜Ｓ１０４０の処理について説明する。
【００８２】
ステップＳ１０３０において、導出部１３０は、入力画像と、事前マップ又は一時マップを用いて、撮像装置１７０の位置姿勢を導出する。ステップＳ１０３０の処理は次のように行うことができる。まず、選択部３９０は、撮像装置１７０の位置姿勢の予測値に基づいて、撮像装置１７０の位置姿勢の導出に用いる三次元マップを選択する。本実施形態において、選択部３９０は、保持部１１０に保持される事前マップと一時マップのいずれを利用するかを選択する。この処理の詳細については後述する。
【００８３】
次に、導出部１３０は、選択部３９０により選択された三次元マップと入力画像とをもとに、画像を撮像した時の撮像装置１７０の位置姿勢を導出する。処理方法は特に限定されず、実施形態１と同様に行うことができる。本実施形態では、前述のＥｎｇｅｌらが開示しているような、キーフレーム又は前フレームの撮像装置１７０の位置姿勢と、現フレームの撮像装置１７０との位置姿勢と、の間の相対位置姿勢を用いた、位置姿勢の導出方法が利用される。また、一時マップを利用する場合は、デッドレコニングが行われる。すなわち、導出部１３０は、前フレームからの撮像装置１７０の相対的な位置姿勢変化を算出し、前フレームの世界座標系における位置姿勢と統合することにより、現フレームの世界座標系における撮像装置１７０の位置姿勢を導出する。
【００８４】
ステップＳ１０４０において作成部１４０は、ステップＳ１０３０で導出された撮像装置１７０の位置姿勢及び入力画像に基づいて、被写体が有する特徴の三次元位置を示す情報を含む一時マップを作成する。本ステップの詳細については後述する。
【００８５】
（ステップＳ１０３０における三次元マップ選択の詳細）
選択部３９０はまず、撮像装置１７０の位置姿勢の予測値に基づいて、事前マップにおける近傍キーフレームを選択する。撮像装置１７０の位置姿勢の予測値としては、例えば、前回のステップＳ１０３０で導出された位置姿勢を利用することができる。近傍キーフレームの選択は、実施形態１のステップＳ１０４０と同様の方法を用いて行うことができる。さらに、選択部３９０は、撮像装置１７０が位置姿勢計測範囲から外れているか否かを判断する。この判断は、実施形態１のステップＳ１０４０と同様に、入力画像内に含まれる近傍キーフレームの特徴点の割合Ｒｉｎｃに基づいて行うことができる。Ｒｉｎｃが閾値Ｔｉｎｃ未満の場合に、選択部３９０は、撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れていると判定する。
【００８６】
撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れていると判定した場合、選択部３９０は、位置姿勢の導出に用いるための三次元マップとして一時マップを選択する。撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れていないと判定した場合、選択部３９０は、位置姿勢の導出に用いるための三次元マップとして事前マップを選択する。
【００８７】
（ステップ１０４０の詳細）
本実施形態においては、作成部１４０は、被写体が有する特徴の三次元位置を示す情報を有する一時マップを作成する。一時マップの作成は次のように行うことができる。まず、作成部１４０は、一時マップを作成するために、入力画像Ｉｃｕｒｒｅｎｔとステレオペアになる画像Ｉｐａｉｒを選択する。ステップＳ１０３０において事前マップが選択された場合、選択された近傍キーフレームがＩｐａｉｒとして選択される。一方、ステップＳ１０３０において一時マップが選択された場合、過去の入力画像がＩｐａｉｒとして選択される。ここで、Ｉｐａｉｒは、過去の入力画像のうち、Ｉｃｕｒｒｅｎｔの撮像位置との差が閾値Ｔｐ以上であり、かつ撮像時刻がＩｃｕｒｒｅｎｔと最も近い入力画像である。
【００８８】
次に、作成部１４０は、Ｉｐａｉｒ上の各特徴点に対応するＩｃｕｒｒｅｎｔ上の特徴点を探索する。この探索には、Ｉｃｕｒｒｅｎｔ及びＩｐａｉｒの撮像時の位置姿勢から算出されるエピポーラ線を考慮することができる。例えば作成部１４０は、Ｉｐａｉｒ上の特徴点に対応するＩｃｕｒｒｅｎｔ上のエピポーラ線上において、ＩｐａｉｒとＩｃｕｒｒｅｎｔとの間でＮ×Ｎ画素のウィンドウ内の輝度値の差が最も小さくなる位置を探索する。作成部１４０は、こうして探索された位置を、Ｉｐａｉｒ上の特徴点の画像座標に対応するＩｃｕｒｒｅｎｔ上の画像座標と判定する。
【００８９】
次に作成部１４０は、得られた画像座標のペアを用いて、三角測量によってＩｃｕｒｒｅｎｔの撮像座標系における各特徴点の奥行きを算出する。そして作成部１４０は、このようにして得た、Ｉｃｕｒｒｅｎｔ上の特徴点群の画像座標（ｕ，ｖ）及び奥行きｄを一時マップに保持する。さらに、作成部１４０は、一時マップにはＩｃｕｒｒｅｎｔ撮像時の世界座標系における位置姿勢を属性として保持する。
【００９０】
導出部１３０は、このように作成された一時マップを用いて、Ｉｃｕｒｒｅｎｔの撮像座標系に対する、撮像装置１７０の新たな位置姿勢を導出することができる。そして、導出部１３０は、Ｉｃｕｒｒｅｎｔ撮像時の世界座標系における位置姿勢を用いて、Ｉｃｕｒｒｅｎｔの撮像座標系に対する撮像装置１７０の新たな位置姿勢を、世界座標系における位置姿勢に変換することができる。
【００９１】
以上のように実施形態３では、撮像装置が位置姿勢の計測可能範囲から外れた場合には一時マップを用いることにより、位置姿勢の計測が継続される。このように、事前マップのみを用いる場合よりも計測可能範囲を広げることができる。一方で、事前マップの補正は行われないため、事前マップの精度を保つことができる。
【００９２】
（実施形態３のバリエーション）
実施形態３では、撮像装置１７０が計測可能範囲か外れそうか否かに関係なく、入力画像を取得する毎に一時マップが作成された。しかしながら、一時マップを作成するタイミングはこれに限られない。例えば、ステップＳ１０４０では、直前のステップＳ１０３０で導出された位置姿勢に基づいて、ステップＳ１０３０と同様の方法を用いて撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れそうであることを示す所定の範囲にいる否かを判定できる。そして、撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れそうと判定された場合に、作成部１４０は一時マップを作成してもよい。
【００９３】
また、ステップＳ１０４０では、直前のステップＳ１０３０で導出された位置姿勢に基づいて、ステップＳ１０３０と同様の方法を用いて撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れているか否かを判定できる。そして、撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れていると判定された場合に、作成部１４０は一時マップを作成することができる。この場合、選択部３９０は、ステップＳ１０３０ではなくステップＳ１０４０において、次のフレームにおける撮像画像の位置姿勢を導出するために用いる三次元マップの選択を行ってもよい。
【００９４】
実施形態３では、一時マップは１フレームにおける撮像装置１７０の位置姿勢の導出にのみ用いられた。しかしながら、一時マップを複数のフレームにおける撮像装置１７０の位置姿勢の導出に用いてもよい。例えば、保持部１１０は、複数の一時マップを三次元マップとして保持することができる。そして、撮像装置１７０が事前マップによる位置姿勢の計測範囲を外れていると判定された場合、選択部３９０は、位置姿勢の導出のために、複数の一時マップから近傍の一時マップを選択することができる。ここで、近傍の一時マップは、例えば、一時マップの作成に用いた画像の撮像位置に基づいて選択することができる。一例として、入力画像との撮像位置の差が閾値以内であり、かつ撮像時刻が最も近い近い画像を用いて作製された一時マップを選択することができる。さらに、複数の一時マップ間の整合が取れるように、実施形態１，２で説明した三次元マップの補正手法を用いることにより、一時マップの補正を行ってもよい。
【００９５】
実施形態３では、現フレームにおける撮像装置１７０の位置姿勢の予測値として、前フレームで導出された撮像装置１７０の位置姿勢が用いられた。しかしながら、位置姿勢の予測値の導出方法はこれに限られない。例えば、動きモデルを用いて撮像装置１７０の位置姿勢を予測することができる。動きモデルとしては、例えば、等速度運動、等加速度運動、又は等角速度運動を表す動きモデルを用いることができる。過去の位置姿勢の導出結果に基づいて動きモデルを表すパラメータを推定することにより、動きモデルを用いて現フレームにおける位置姿勢を予測することができる。別の方法として、撮像装置１７０に固定されたセンサの計測値を用いて、現フレームにおける撮像装置１７０の位置姿勢を予測してもよい。センサとしては、例えば、位置、速度、加速度、姿勢、又は角速度を計測するセンサを用いることができる。
【００９６】
［実施形態４］
実施形態１，２では、高い信頼度が与えられた特徴の三次元位置を示す情報を固定し、低い信頼度が与えられた特徴の三次元位置を示す情報を更新することで精度を維持しながら位置姿勢の計測可能範囲を拡大した。一方で、特徴の三次元位置を示す情報（例えばキーフレーム又は特徴点）の信頼度の高さに応じて補正量が大きくなるように、キーフレームの位置姿勢又は特徴点の三次元位置を補正してもよい。
【００９７】
実施形態４では、高い信頼度が与えられた特徴の三次元位置を示す情報が更新され、低い信頼度が与えられた特徴の三次元位置を示す情報は更新対象から除外される。本実施形態では、三次元空間において位置が変化する被写体上の特徴の三次元位置を示す情報の信頼度が低く設定され、位置が変化しない被写体上の特徴の三次元位置を示す情報の信頼度は高く設定される。例えば、三次元空間において位置が変化する被写体上の特徴の三次元位置を示すキーフレーム、又は三次元空間において位置が変化する被写体上の特徴点の信頼度を低く設定することができ、その他のキーフレーム又は特徴点の信頼度を高く設定することができる。このような構成によれば、位置が変化する特徴が存在することにより、三次元マップの精度が低下することを抑制できる。
【００９８】
実施形態４に係る情報処理装置のハードウェア構成は、実施形態１と同様であってもよい。また、実施形態４における処理は実施形態１と類似しており、以下では主に異なる点について説明する。
【００９９】
本実施形態では、ＳＬＡＭ技術を用いてマップの作成及び撮像装置の位置姿勢計測が同時に行われる。ＳＬＡＭ技術としては、実施形態１で述べたEngelらの方法を用いるものとする。また、新しいキーフレームがマップに追加される時に、このキーフレームの信頼度はＨＩＧＨに設定される。信頼度がＨＩＧＨに設定されたキーフレームは、実施形態１と同様に三次元マップを最適化する際に、位置姿勢を更新する対象となる。
【０１００】
上記のとおり、本実施形態においては、三次元空間において被写体上の特徴の位置が変化するかどうかが判定され、位置が変化すると判定された特徴の三次元位置を示す情報の信頼度が低く設定される。一例として、以下の方法を用いることができる。Engelらの方法においては、位置姿勢計測を行う際に、過去に追加したキーフレームについての位置姿勢計測が行われる。この際に、キーフレームに含まれる特徴が、位置が変化する被写体上にあるか否かの判定を行うことができる。具体例として、まずキーフレームの特徴点とその特徴点に対応する入力画像上の対応点との輝度差を求め、次に輝度差が閾値Ｔｏｕｔ以上である特徴点数の、キーフレーム全体の特徴点数に対する割合Ｒｏｕｔが求められる。Ｒｏｕｔが一定値以上である場合、キーフレームに写っている被写体の位置が変化したと判定され、このキーフレームの信頼度がＬＯＷに変更される。信頼度がＬＯＷに設定されたキーフレームは、本実施形態においては三次元マップの最適化の更新対象から除外される。このため、被写体の位置の変化による三次元マップの精度低下を避けることができる。
【０１０１】
（実施形態４のバリエーション）
キーフレームに写っている被写体の位置が変化したかどうかの判定方法は、前述の方法には限られない。例えば、導出した撮像装置の位置姿勢に基づいて算出されるキーフレームの特徴点の入力画像上での画像座標と、入力画像上で検出された対応する特徴点の画像座標との差に基づいて、この判定を行ってもよい。また、キーフレームの特徴点に対応する特徴点の三次元位置をキーフレーム追加以後に撮影された画像をもとに算出し、算出された三次元位置とキーフレームに登録された三次元位置との差に基づいて、この判定を行ってもよい。
【０１０２】
本実施形態では、位置が変化する特徴の信頼度が低く設定された。しかしながら、信頼度の設定は必ずしも位置の変化に基づかなくてもよい。例えば、照明の変化に基づいて信頼度の設定を行ってもよい。この場合、位置又は光軸の向きが入力画像に近いキーフレームと入力画像との間で平均輝度値を比較し、その差が大きい場合にキーフレームの信頼度をＬＯＷにすることができる。このような構成によれば、照明変化によるマップ精度の低下を防止できる。
【０１０３】
［各実施形態のユーザインタフェース例］
図６は、実施形態１に従って作成した三次元マップをユーザに提示するＧＵＩ（ウィンドウ）の例を表す。このウィンドウには、シーンの三次元マップが表示されている。図６の例では、所定の仮想視点からみた時の、三次元マップの特徴点が表示されている。この視点は、例えばユーザ指示等に従って、任意に選択することができる。また、このウィンドウには、キーフレームを表すオブジェクトと、現在の撮像装置を表すオブジェクトとが描画されている。本実施形態において、特徴点は丸い点で表され、キーフレーム及び撮像装置の位置姿勢は、カメラを模した錐体型のオブジェクトにより表現されている。
【０１０４】
本実施形態において、ユーザは、マウス又はトラックボールなどの入力デバイスを利用して、仮想視点の位置、姿勢、又は内部パラメータを変更することができる。こうしてユーザは、三次元マップ及び現在の撮像装置の位置姿勢を、様々な視点から観察して確認することができる。
【０１０５】
本実施形態において、キーフレーム又は特徴点は、信頼度に応じて異なる外観で表示される。例えば、このＧＵＩにおいて、事前マップに含まれるキーフレームと、ランタイム時に追加されたキーフレームとを、異なる外観を有するオブジェクトにより表現することができる。このように、これらのキーフレームの描画方法を変えることにより、事前マップを用いた位置姿勢の計測が可能な範囲に撮像装置がいるかどうかを確認することが容易となる。図６では、事前マップに含まれるキーフレームは実線の錐体で、ランタイム時に追加されたキーフレームは破線の錐体で表されている。同様に、事前マップに含まれる特徴点と、ランタイム時に追加された特徴点とを、異なる外観を有するオブジェクトにより表現することもできる。
【０１０６】
［各実施形態の変形例］
実施形態１，２では、シーンの三次元マップのうち事前に作成された部分、又は補助指標周辺部分の信頼度が高く設定され、それ以外の部分を補正することにより、位置姿勢計測の精度を維持しながら位置姿勢の計測可能範囲が広げられた。しかしながら、位置姿勢計測の精度を維持しながら位置姿勢の計測可能範囲を広げる方法は、これに限られない。例えば、シーンの三次元マップのうち事前に作成された部分（例えばキーフレーム又は幾何特徴）の三次元情報を固定し、それ以外の部分を補正してもよい。また、補助指標が画像上から検出されるキーフレームの位置姿勢を補助指標をもとに導出して固定し、三次元マップ補正時にはそれ以外のキーフレームの位置姿勢を補正してもよい。同様に、補助指標をもとに三次元座標が算出された特徴点の三次元座標を固定し、三次元マップ補正時にはそれ以外の特徴点の三次元座標を導出してもよい。
【０１０７】
上記の各実施形態では、入力部１２０は、撮像装置１７０が撮像した画像を取得した。しかしながら、入力部１２０が取得する画像はこれに限られない。例えば入力部１２０は、あらかじめ撮像され記憶装置（不図示）に保存されている、シーンの画像を取得してもよい。また、一実施形態に係る情報処理装置は、Structure from motion技術を用いて、リアルタイムではなくオフラインでシーンの三次元マップを作成してもよい。この場合、補正部１６０は、事前に作成した三次元マップである事前マップを読み込み、事前マップに含まれる幾何特徴の三次元座標を固定しながらバンドル調整を行ってもよい。また、実施形態２と同様に、補正部１６０は、補助指標が画像上から検出される場合にはこの画像についての位置姿勢を補助指標をもとに導出し、補助指標をもとに導出された位置姿勢を固定しながらバンドル調整を行ってもよい。
【０１０８】
上記の各実施形態では、撮像装置１７０は単眼カメラであるものとして説明した。しかしながら、撮像装置１７０の種類はこれに限られない。撮像装置１７０としては、撮像した画像に基づき位置姿勢を計測できる任意の撮像装置を用いることができる。例えば、撮像装置１７０は、複数のカメラで構成されたステレオカメラ、多眼カメラ、デプスカメラ、又はそれらの組み合わせでありうる。また、入力画像も濃淡画像には限られない。例えば、入力画像は、カラー画像、デプス画像、グレー画像とデプス画像の組み合わせ、又はカラー画像とデプス画像の組み合わせ（ＲＧＢＤ画像）であってもよい。また、撮像装置１７０はＬＩＤＡＲなどの方式を用いて被写体の三次元像を得る三次元計測装置であってもよく、入力部１２０は計測された三次元点群情報を取得してもよい。
【０１０９】
いくつかの実施形態について、新規キーフレームを追加するか否かを判定する基準を説明した。例えば、近傍キーフレームにおける特徴点のうち、画像座標が入力画像内にある特徴点の割合に基づいて、撮像装置１７０が計測可能範囲から外れているか否か又は外れそうか否かが判定され、この判定に基づいてキーフレームを追加するか否かが判定された。しかしながら、判定方法はこれに限られない。例えば、近傍キーフレームの位置と、現フレームにおける撮像装置１７０の位置との差が、予め定めた閾値より大きい場合に、撮像装置１７０が計測可能範囲から外れていると判定されてもよい。また、近傍キーフレームの光軸方向と、現フレームにおける撮像装置１７０の光軸方向との角度差が、予め定めた閾値より大きい場合に、撮像装置１７０が計測可能範囲から外れていると判定されてもよい。
【０１１０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１１】
１１０  保持部；１２０  入力部；１３０  導出部；１４０  作成部；１５０  設定部；１６０  補正部；１７０  撮像部
【図１】
2020013560.tif 000005
【図２】
2020013560.tif 000006
【図３】
2020013560.tif 000007
【図４】
2020013560.tif 000008
【図５】
2020013560.tif 000009
【図６】
2020013560.tif 000010
【図７】
2020013560.tif 000011
【図８】
2020013560.tif 000012
【図９】
2020013560.tif 000013