JP2017037426A - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラム Download PDFInfo
- Publication number
- JP2017037426A JP2017037426A JP2015157604A JP2015157604A JP2017037426A JP 2017037426 A JP2017037426 A JP 2017037426A JP 2015157604 A JP2015157604 A JP 2015157604A JP 2015157604 A JP2015157604 A JP 2015157604A JP 2017037426 A JP2017037426 A JP 2017037426A
- Authority
- JP
- Japan
- Prior art keywords
- image
- imaging device
- orientation
- feature point
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】 線分が多いシーンにおいても精度良く三次元座標を求めることができる。
【解決手段】 第一の撮像装置による現実空間の撮像に基づいて取得される第一の画像と、前記第一の撮像装置と異なる第二の撮像装置による前記現実空間の撮像に基づいて取得される第二の画像とを入力する画像入力手段と、前記第一の画像から検出される特徴点に対応する対応点を、前記第二の画像から探索する探索手段と、前記検出される特徴点と前記探索される対応点とに基づいて、前記特徴点または前記対応点の奥行き情報を導出する導出手段と、前記導出手段で導出された前記特徴点または前記対応点の奥行き情報を出力する出力手段とを備え、前記出力手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記特徴点または前記対応点の奥行き情報の出力を行わない。
【選択図】 図1
【解決手段】 第一の撮像装置による現実空間の撮像に基づいて取得される第一の画像と、前記第一の撮像装置と異なる第二の撮像装置による前記現実空間の撮像に基づいて取得される第二の画像とを入力する画像入力手段と、前記第一の画像から検出される特徴点に対応する対応点を、前記第二の画像から探索する探索手段と、前記検出される特徴点と前記探索される対応点とに基づいて、前記特徴点または前記対応点の奥行き情報を導出する導出手段と、前記導出手段で導出された前記特徴点または前記対応点の奥行き情報を出力する出力手段とを備え、前記出力手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記特徴点または前記対応点の奥行き情報の出力を行わない。
【選択図】 図1
Description
本発明は撮像装置の位置及び姿勢を計測する方法に関する。
画像を用いてシーンの三次元マップ作成と撮像装置の位置及び姿勢計測を同時に行うSLAM(Simultaneous Localization and Mapping)技術は、ロボットや自動車の自己位置推定、拡張/複合現実感における現実空間と仮想物体との位置合わせ等に利用される。
非特許文献1には、単眼カメラによって撮影された画像をもとに三次元マップ作成と撮像装置の位置及び姿勢の計測を行う方法が開示されている。この方法では、単眼カメラの動きに基づくステレオによって三次元マップの生成・更新を行っている。すなわち、同一の単眼カメラで異なる時刻で撮影された二枚の画像をステレオペアとして特徴点の三次元座標を算出している。
J.Engel,T.schoeps,D.Cremers,"LSD−SLAM:Large−Scale Direct Monocular SLAM," Proc.13th European Conference on Computer Vision(ECCV2014),2014.
非特許文献1では、線分が多いシーンでは精度よく三次元座標が算出できる点が少なくなり位置及び姿勢計測の安定性が低下するという課題がある。
本願発明は、上記課題に鑑みてなされたものであり、線分が多いシーンにおいても精度良く三次元座標を求めることを目的とする。
上記課題を解決するために、本発明の情報処理装置は、例えば、第一の撮像装置による現実空間の撮像に基づいて取得される第一の画像と、前記第一の撮像装置と異なる第二の撮像装置による前記現実空間の撮像に基づいて取得される第二の画像とを入力する画像入力手段と、前記第一の画像から検出される特徴点に対応する対応点を、前記第二の画像から探索する探索手段と、前記検出される特徴点と前記探索される対応点とに基づいて、前記特徴点または前記対応点の奥行き情報を導出する導出手段と、
前記導出手段で導出された前記特徴点または前記対応点の奥行き情報を出力する出力手段とを備え、前記出力手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記特徴点または前記対応点の奥行き情報の出力を行わないことを特徴とする。
前記導出手段で導出された前記特徴点または前記対応点の奥行き情報を出力する出力手段とを備え、前記出力手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記特徴点または前記対応点の奥行き情報の出力を行わないことを特徴とする。
本発明によれば、線分が多いシーンにおいても精度良く三次元座標を求めることができる。
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図9を用いて説明する。
図9は、本実施形態における情報装置のハードウェア構成図である。同図において、CPU910は、バス900を介して接続する各デバイスを統括的に制御する。CPU910は、読み出し専用メモリ(ROM)920に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はROM920に記憶されており、ランダムアクセスメモリ(RAM)930に一時記憶され、CPU910によって適宜実行される。また、入力I/F940は、外部の装置(表示装置や操作装置など)から情報処理装置1で処理可能な形式で入力信号として入力する。また、出力I/F950は、外部の装置(表示装置)へ表示装置が処理可能な形式で出力信号として出力する。
(第1の実施形態)
第1の実施形態では、現実空間に仮想物体を重ね合わせて表示する複合現実感システムにおいて仮想物体を描画するために必要な現実空間におけるカメラの位置及び姿勢の計測に本発明の方法を適用した場合について説明する。ここでは、複合現実感を体験するユーザは頭部装着型表示装置HMD(Head−Mounted Display)を装着し、HMDを通して仮想物体が重畳された現実空間を観察するものとする。本実施形態において、カメラの位置姿勢とは、世界座標系におけるカメラの撮像視点位置の位置座標(x、y、z)の3パラメータおよび、カメラの姿勢、すなわちカメラ座標系のX軸、Y軸、Z軸の方向を表す3パラメータを合わせた6パラメータのことをいう。本実施形態において、姿勢を表す3パラメータは、世界座標系における回転軸の傾きを表す2パラメータと、該回転軸まわりの回転角を表す1パラメータであるとする。なお、姿勢を表す3パラメータはこれに限るものではなく、ロール角・ピッチ角・ヨー角によって表してもよいし、オイラー角によって表してもよい。
第1の実施形態では、現実空間に仮想物体を重ね合わせて表示する複合現実感システムにおいて仮想物体を描画するために必要な現実空間におけるカメラの位置及び姿勢の計測に本発明の方法を適用した場合について説明する。ここでは、複合現実感を体験するユーザは頭部装着型表示装置HMD(Head−Mounted Display)を装着し、HMDを通して仮想物体が重畳された現実空間を観察するものとする。本実施形態において、カメラの位置姿勢とは、世界座標系におけるカメラの撮像視点位置の位置座標(x、y、z)の3パラメータおよび、カメラの姿勢、すなわちカメラ座標系のX軸、Y軸、Z軸の方向を表す3パラメータを合わせた6パラメータのことをいう。本実施形態において、姿勢を表す3パラメータは、世界座標系における回転軸の傾きを表す2パラメータと、該回転軸まわりの回転角を表す1パラメータであるとする。なお、姿勢を表す3パラメータはこれに限るものではなく、ロール角・ピッチ角・ヨー角によって表してもよいし、オイラー角によって表してもよい。
本実施形態では、HMDに備えつけられたステレオカメラによるステレオ画像の撮影を行い、後述する三次元マップに保持されるキーフレーム画像とステレオ画像を構成する各画像とのステレオペアを作成する。そして、キーフレーム画像とステレオ画像の各画像のステレオペア毎に別々にキーフレーム画像上の点の三次元座標を算出する。そして、算出された三次元座標を用いて該点の既存の三次元座標を更新する。これにより、単眼カメラの動きに基づくステレオでは高精度に三次元座標を算出できない点であっても、精度よく三次元座標が算出できるようになる。
図1は、本実施形態における情報処理装置1の構成を示す図である。情報処理装置1は、三次元情報保持部10、画像入力部20、カメラパラメータ保持部30、位置姿勢算出部40、三次元情報更新部50、対応探索部60から構成されている。画像入力部20はステレオカメラ80と接続されている。
三次元情報保持部10は、位置姿勢算出部40で利用するシーンの三次元マップを保持する。本実施形態では、三次元マップはキーフレーム画像の集合として保持されるものとする。キーフレーム画像とは、画像上の特徴点の奥行き値(またはその逆数)および該奥行き値(またはその逆数)の分散を保持し、該キーフレーム画像を撮像した時のカメラの世界座標系における位置及び姿勢が属性として付与された画像である。本実施形態では、非特許文献1と同様に、キーフレーム画像上において輝度勾配が一定閾値以上の点を特徴点とする。キーフレーム画像が保持する特徴点の奥行き値はカメラ座標系を基準とした値である。特徴点の世界座標系を基準とした三次元座標は、特徴点の画像座標と奥行き値、カメラの位置及び姿勢を用いて算出可能である。
画像入力部20は、ステレオカメラ80が撮像するカラー画像を位置姿勢算出部40に入力する。本実施形態では、ステレオカメラはHMDに内蔵されており、左右のカメラで撮像した夫々の画像に仮想物体を重畳してHMDに表示することを想定しているため、ステレオカメラ80が撮像(取得)する画像はカラー画像としている。なお、ロボットや自動車の自己位置推定ではユーザは撮像した画像を観察する必要はないため、入力する画像は濃淡画像であってもよい。画像入力部20はステレオカメラ80から時系列に画像を入力し、情報処理装置1は画像入力部20から入力される各々のステレオ画像にを撮像した時の世界座標系におけるステレオカメラの位置及び姿勢を計測する。ステレオカメラ80を構成する2台のカメラの内部パラメータ(焦点距離、画像中心位置、レンズ歪みパラメータ)は既知であるとする。カメラの内部パラメータは、例えばZhangの方法(Z.Zhang,“A flexible new technique for camera cailbration,” IEEE Trans. on Pattern Analysis and Machine Intelligence,vol.22,no.11,pp.1330−1334,2000.)によって事前に校正する。また、ステレオカメラ80を構成する二台のカメラ間の相対的な位置及び姿勢である外部パラメータも既知であるとする。ステレオカメラの外部パラメータは、例えば三次元形状が既知のパターンを同時に左右のカメラで撮像し、撮像された画像をもとに算出されるパターンを基準とした各カメラの位置及び姿勢をステレオカメラの左カメラを基準とした位置及び姿勢に変換して求める。ステレオカメラ80を構成する2台のカメラの内部パラメータと外部パラメータはカメラパラメータ保持部30に保持される。
位置姿勢算出部40は、画像入力部20によって入力されたステレオ画像、三次元情報保持部10が保持するマップデータに基づいてステレオ画像を撮像した時の世界座標系におけるステレオカメラの位置及び姿勢を算出する。本実施形態では、非特許文献1と同様に位置及び姿勢の算出を三次元マップの更新と並列に実行する。算出されたステレオカメラの位置及び姿勢を仮想物体のCGのレンダリングとともに、三次元マップの更新にも利用する。
対応探索部60は、画像入力部20によって入力されたステレオ画像をもとに三次元マップを更新するために、三次元マップ中のキーフレーム画像上の点とステレオ画像の各画像上の点の対応付けを行い、点のキーフレーム画像上の座標とステレオ画像の各画像上の座標とのペアを生成する。
三次元情報更新部50は、対応探索部60から得られる座標のペアをもとにキーフレーム画像上の点の三次元座標を算出し三次元マップを更新する。前述したように、三次元マップの更新は位置及び姿勢の算出と並行して行う。また、さらに逐次更新される三次元マップの幾何的な整合をとるために三次元マップの最適化(以下、マップ最適化と呼ぶ)を行ってもよい。マップ最適化の処理は、非特許文献1と同様に、位置及び姿勢算出、三次元マップ更新の処理と並列に実行される。
これらの各機能部は、CPU910が、ROM920に格納されたプログラムをRAM930に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU910を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
次に、本実施形態における位置及び姿勢算出、三次元マップ更新の処理手順について説明する。図2は、本実施形態における位置及び姿勢計測、三次元マップ更新の処理手順を示すフローチャートである。前述したとおり、位置及び姿勢計測、三次元マップ更新は並列に実行される。説明を簡単にするため、図2のフローチャートでは位置及び姿勢の計測が終わった後に三次元マップを更新するものとしている。
ステップS1010では、位置姿勢算出部40は、初期化フラグFをTRUEに設定する。初期化フラグFがTRUEの場合、ステレオカメラの位置及び姿勢は不明であり、三次元マップも存在しない。
ステップS1020では、画像入力部20は、ステレオカメラ80が撮像したステレオ画像を入力する。入力されたステレオ画像は、カメラパラメータ保持部30に保持する内部パラメータ、外部パラメータを用いて、レンズ歪みの影響を除去した上で平行化されたステレオ画像に変換する。すなわちステレオ画像上の各画素のエピポーラ線が画像のスキャンラインに平行になるようにする。これによって後述するステップS1070におけるステレオマッチングが高速化される。
ステップS1030において初期化フラグFがTRUEであればステップS1070に、FALSEであればステップS1040に進む。
ステップS1070では、対応探索部60は、三次元マップの初期化を行う。そして、対応探索部60は、ステップS1020で入力されたステレオ画像のうち左側カメラで撮像した画像内で一定値以上の輝度勾配を有する特徴点を検出する。そして、該左側カメラ画像内の特徴点に対応する右側カメラ画像上の点(以下、対応点と呼ぶ)をステレオマッチングにより探索する。左側カメラ画像内の特徴点と探索された右側カメラ画像内の点を対応点ペアとし、左側カメラ画像内の特徴点について三角測量により左側カメラ座標系基準の三次元座標を算出する。右側カメラ画像内で該特徴点の対応点を探索する前に、左側カメラ画像における該特徴点の近傍領域に基づき輝度勾配を求め、該輝度勾配の方向ベクトルがステレオカメラのエピポーラ線の方向ベクトルと直交または略直交(所定の条件)する場合には、右側カメラ画像での対応点の探索処理を行わない。なぜならば、輝度勾配の方向ベクトルがエピポーラ線の方向ベクトルと直交するような特徴点は、対応点の探索が曖昧になるためである。この処理は輝度勾配の方向ベクトルとステレオカメラのエピポーラ線の方向ベクトルとの内積を計算し、該内積の絶対値がα以内である場合に直交または略直交と判定すればよい。なお、αは事前に決めておく定数である。例えば、なお、本実施形態では三次元マップの初期化を行う際のステレオカメラの左側カメラのカメラ座標系を世界座標系にとる。三次元マップの初期化に用いられたステレオ画像のうち左側カメラの画像はキーフレーム画像として三次元マップに追加される。なお、エピポーラ線の方向ベクトルは、ステレオカメラの幾何配置(配置関係)によって決定される。本実施形態では、ステレオカメラはHMDに備え付けられて配置が固定されているため、エピポーラ線の方向ベクトルは固定値であり、かつ既知である。
ステップS1040では、位置姿勢算出部40は、ステレオカメラ80によって撮影されたステレオ画像および三次元情報保持部10が保持する三次元マップに基づいて世界座標系におけるステレオカメラの位置及び姿勢を算出(導出)する。位置及び姿勢の算出方法については後述する。ステップS1040で算出された位置及び姿勢と位置及び姿勢算出に利用したステレオ画像はステップS1050におけるマップ更新で利用する。
ステップS1050では、三次元情報更新部50は、ステレオ画像とステレオカメラの位置及び姿勢とに基づいて三次元情報保持部10が保持する三次元マップの更新を行う。三次元マップの更新方法については後述する。位置及び姿勢算出とマップ更新を並列で行う場合には、マップ更新のプロセスはステップS1050の処理を繰り返すものとする。
ステップS1060では、位置及び姿勢の計測処理を終了するか否かの判定を行う。マウスやキーボードなどを介してユーザから位置及び姿勢計測を終了するコマンドが入力されている場合、位置及び姿勢計測を終了する。そうでない場合は位置及び姿勢の計測処理を継続するためステップS1020に戻る。
(ステップS1040の処理の詳細)
次に、ステップS1040における位置及び姿勢算出処理について詳細に説明する。図3は、ステップS1040における処理手順を示すフローチャートである。
次に、ステップS1040における位置及び姿勢算出処理について詳細に説明する。図3は、ステップS1040における処理手順を示すフローチャートである。
ステップS1110では、位置姿勢算出部40は、前フレームで算出された位置及び姿勢を現フレームの位置及び姿勢の予測値として、予測値に最も近い位置及び姿勢を属性として持つキーフレーム画像を選択する。本実施形態では、予測値の姿勢との差が閾値Tr以内の姿勢を属性とするキーフレーム画像のうち、予測値の位置との差が最小となる位置を属性とするキーフレーム画像を選択する。予測値の姿勢との差がTr以内の姿勢を持つキーフレーム画像がない場合は閾値Trを増やして再度選択する。閾値Trを増やしても見つからない場合、前フレームで用いたキーフレーム画像を利用する。本実施形態では、姿勢の予測値とキーフレーム画像の属性である姿勢から算出される相対姿勢を回転軸・回転角で表した時の回転角を姿勢の差として算出する。。
ステップS1120では、位置姿勢算出部40は、ステップS1110で選択したキーフレーム画像から、位置及び姿勢の算出に利用する特徴点を選択する。複合現実感システムには実時間処理が要求されるため、位置及び姿勢の算出に利用できる時間は限られている。また、位置及び姿勢の算出にかかる時間は位置及び姿勢の算出に利用する特徴点の数に依存する。そのため、予め位置及び姿勢の算出に利用する特徴点の数の最大値Pmaxを定めておき、選択したキーフレーム画像からPmax個の特徴点を選択することで実時間での位置及び姿勢の算出を行えるようにする。選択する特徴点の個数は、処理時間などに応じて決定したり、ユーザがGUIなどで予め設定してもよい。選択された特徴点が画像上で満遍なく分布するように、キーフレーム画像上で三次元座標が算出済みの特徴点に固有の識別番号を割り振っておき、識別番号に相当する乱数を発生させることにより特徴点の選択を行う。なお、キーフレーム画像上で三次元座標が算出済みの特徴点の数がPmaxより小さい場合には全ての特徴点を利用する。
ステップS1130では、位置姿勢算出部40は、ステップS1120で選択された特徴点を用いて位置及び姿勢の算出を行う(位置姿勢導出)。本実施形態では、非特許文献1と同様の方法により位置及び姿勢の算出を行う。すわなち、推定対象である位置及び姿勢を用いて三次元マップ中の特徴点のステレオ画像上の位置を算出した時に、算出された位置の輝度値と三次元マップ中の特徴点のキーフレーム画像上の輝度値との誤差が小さくなるように位置及び姿勢を算出する。なお、非特許文献1では単眼カメラによって撮影された一枚の画像を用いて位置及び姿勢を算出するのに対し、本実施形態ではステレオ画像を用いて位置及び姿勢を算出する。より具体的には、本実施形態では、ステップS1120で選択された特徴点を2分割し、一方をステレオカメラの左カメラの画像、他方を右カメラの画像に割り振って位置及び姿勢の算出を行う。
ステップS1140では、位置姿勢算出部40は、位置及び姿勢算出の収束判定を行う。収束判定は、例えば前述の輝度値の誤差が十分小さくなったかどうかに基づき行う(例えば、誤差が閾値よりも小さくなったかどうかに基づいて判断する)。また、例えば、前回のループで算出された誤差との差分値が閾値よりも小さくなったかどうかに基づいて判断してもよい。もし、収束したと判断されない時は、ステップS1130に処理を戻し、収束したと判断された時は、その時の位置および姿勢に基づいてCGを含む仮想画像を生成(仮想画像生成)し、ステレオ画像それぞれと合成処理をする。そして、合成処理された画像をHMDの表示部に表示することにより、ユーザに提供する。そして、図3のフローチャートの処理を終了する。
(ステップS1050の処理の詳細)
次に、ステップS1050におけるマップ更新処理について詳細に説明する。図4は、ステップS1050における処理手順を示すフローチャートである。
次に、ステップS1050におけるマップ更新処理について詳細に説明する。図4は、ステップS1050における処理手順を示すフローチャートである。
ステップS1210では、三次元情報更新部50は、ステップS1020で入力された画像を、三次元情報保持部10に保持される三次元マップに新たにキーフレーム画像として追加するか否かの判断を行う。まず、入力されたステレオ画像を撮像した時の撮像装置の位置及び姿勢と差分量が最も小さい位置及び姿勢を属性として持つ三次元マップ中のキーフレーム画像(以下、最近傍キーフレーム画像)を選択する。キーフレーム画像の選択は、ステップS1110で説明した方法と同じ方法により行う。本実施形態では、6パラメータ全ての差分量の和を求めるが、一部のパラメータのみの差分量としてもよい。次に、最近傍キーフレーム画像における特徴点の位置に対応する、入力されたステレオ画像の左側カメラの画像上の位置を算出する。算出された画像上の位置が左側カメラ画像内である特徴点の割合Rinを算出する。Rinが閾値Tin未満の場合、最近傍キーフレーム画像とのオーバーラップが少ないためキーフレーム画像の追加を行う。また、RinがTin以上であっても、撮影時のカメラの位置の差が閾値Tposより大きい場合には新規にキーフレーム画像を追加する。これは、最近傍キーフレーム画像撮影時よりもステレオ画像撮影時のカメラが特徴点から遠ざかる場合に最近傍はキーフレーム画像と同様に特徴点を観察できない場合があるためである。キーフレーム画像を追加する場合はステップS1240に進み、それ以外の場合にはステップS1220に進む。
ステップS1240では、三次元情報更新部50は、非特許文献1と同様の方法により最近傍キーフレーム画像上の特徴点を新たに追加されるキーフレーム画像に伝播させる。具体的には、入力されたステレオ画像の左側カメラの画像を新キーフレーム画像として、新キーフレーム画像上での最近傍キーフレーム画像上の特徴点の位置を算出することで、最近傍キーフレーム画像上の特徴点の三次元座標を新キーフレーム画像の画素に伝播させる。さらに非特許文献1と同様に、最近傍キーフレーム画像上の特徴点の奥行きの分散に予め決められた予測誤差に基づく分散を加えて新キーフレーム画像上の奥行きの分散とする。
ステップS1250では、三次元情報更新部50は、ステップS1240で三次元座標が伝播されなかった新キーフレーム画像上での画素を対象として、ステップS1070と同様に、ステレオカメラの左右の画像のステレオマッチングにより三次元座標を算出する。
ステップS1260では、ステップS1240、三次元情報更新部50は、ステップS1250で得られた新キーフレーム画像を三次元マップに追加する。この際、ステップS1040で算出したステレオ画像を撮像した時の左側カメラの位置及び姿勢を属性として新キーフレーム画像に追加する。
ステップS1220では、三次元情報更新部50は、入力されたステレオ画像の左側カメラの画像を用いて最近傍キーフレーム画像上の特徴点の三次元座標を更新する。非特許文献1と同様に、エピポーラ線上の輝度値を用いてキーフレーム画像上の特徴点の対応点を左側カメラの画像上で探索し、三角測量によって三次元座標を算出する。すなわち、最近傍キーフレーム画像内の特徴点と、左側カメラ画像内で探索された特徴点とをペアにして、最近傍キーフレーム画像内の特徴点の三次元座標を求めて、更新する。なお、本実施形態における三次元座標の算出は奥行き値の算出であるとする。これは注目する特徴点の画像上での位置から、カメラの視点位置から三次元空間における特徴点までのベクトルが算出可能であり、三次元座標はこのベクトルに奥行き値を乗じることで得られるためである。奥行き値とともに推定された奥行き値の分散を算出する。このとき、最近傍キーフレーム画像上での特徴点の位置における輝度勾配の方向(画素値の勾配の方向)と、エピポーラ線の方向とが直交する場合には、対応点を正しく見つけることができないため、対応点の探索や奥行き値の推定は行わない。ステップS1070と異なり、本ステップでは、ペアとする特徴点が属する画像はHMDのステレオカメラではないため、エピポーラ線の方向は、ステップS1070と異なる。本ステップのエピポーラ線の方向は、最近傍キーフレームの属性である位置姿勢と、S1040で算出された左側カメラの位置姿勢とに基づいて求められる。
これらの奥行き値、奥行き値の分散を用いて、予め特徴点が保持していた奥行き値と奥行き値の分散を更新する。なお、キーフレーム画像上の対応点の探索は対応探索部60が行い、奥行き値の推定や更新は三次元マップ更新部50が行う。
続いてステップS1230では、入力されたステレオ画像の右側カメラの画像を用いて最近傍キーフレーム画像上の特徴点の三次元座標を更新する。更新方法はステップS1220と同一であるので説明を省略する。
以上述べたように第1の実施形態では、ステレオ画像を用いて三次元マップ中の特徴点の三次元座標を更新することで、単眼カメラの動きに基づくステレオでは高精度に三次元座標を算出できない点であっても、精度よく三次元座標を算出できるようになる。
なお、入力画像を撮影するカメラはステレオカメラに限るものではなく、カメラ間の相対的な位置及び姿勢が既知であれば三台以上のカメラであってもよい。
三次元情報保持部10が保持する三次元マップに保持される特徴点の三次元座標は、世界座標系における三次元座標に変換できる表現形態であればキーフレーム画像のカメラ座標系を基準とした三次元座標でなくてもよい。例えば、世界座標系における三次元座標自体を保持してもよい。また、三次元マップに保持される特徴点は輝度勾配が一定である点に限るものではなく、画像上で検出可能であればいかなる特徴点であってもよい。例えば、公知の特徴点検出器であるHarrisコーナー検出器やFASTコーナー検出器などによって検出される特徴点であってもよい。
位置姿勢算出部40は、画像と三次元マップに基づいて位置及び姿勢を算出するものであれば何でもよい。必ずしもステレオ画像の二枚の画像を用いる必要はなく、どちらか一方の画像を用いるものであってもよい。また、輝度値の誤差に基づく方法である必要は必ずしもなく、特徴点の画像上での位置の誤差(再投影誤差)に基づく方法であってもよい。
位置及び姿勢の算出における現フレームの位置及び姿勢の予測値は、前フレームの位置及び姿勢に限るものではない。例えば、等速度運動や等加速度運動などの運動モデルを仮定し、運動モデルに基づいて前フレームの位置及び姿勢を更新してもよい。さらには、ステレオカメラに別途位置や姿勢を計測するセンサを装着し、センサの計測値に基づいて現フレームの位置及び姿勢の予測値を得てもよい。
位置及び姿勢の算出におけるキーフレーム画像からの特徴点選択は、所望の点数の特徴点を選択可能な方法であれば他の方法であってもよい。例えば、スキャンライン順に特徴点を探索しながら間引きを行ってもよい。
位置及び姿勢を算出する際の最近傍キーフレーム画像の選択方法は、最近傍キーフレーム画像上の特徴点がステレオ画像上で十分に観察可能であれば他の方法であってもよい。例えば、ステレオカメラの右側カメラの位置及び姿勢の予測値との差が最小となる位置及び姿勢を属性として持つキーフレーム画像を選択してもよい。また、ステレオカメラの左側カメラ、右側カメラ夫々で別々に最近傍キーフレーム画像を選択し、夫々の最近傍キーフレーム画像から位置及び姿勢の算出に用いる特徴点を選択してもよい。
キーフレーム画像を三次元マップに追加するか否かを判断する方法は、位置や姿勢の適切な間隔を設定する方法であればいかなる方法であってもよい。例えば、姿勢の差が閾値を超える場合にキーフレーム画像を追加してもよい。また、キーフレーム追加のための閾値は適応的に変更してもよい。例えば、最近傍キーフレーム画像に含まれる特徴点の奥行き値をもとに撮像位置の差の閾値を変更してもよい。
さらには、まず短時間で計算可能な位置の差に基づいて追加の判断を行い、追加しないと判断された場合のみに計算時間のかかるステレオカメラの画像内に存在する特徴点の割合Rinを計算することで追加判断を高速化してもよい。
なお、三次元座標の算出方法は上記の方法に限るものではなく、キーフレーム画像上の座標とステレオ画像のそれぞれの画像上の座標の対応に基づく方法であればいかなる方法であってもよい。例えば、ステレオ画像の左右の画像について個別に三次元座標を算出するのではなく、キーフレーム画像上の特徴点の座標とそれに対応するステレオ画像のそれぞれの画像上の座標を用いて同時に三次元座標を算出してもよい。
対応点探索部において、対応点が正しく見つからない可能性が高いために対応点の探索を行わないと判断する基準は、必ずしも輝度勾配の方向とエピポーラ線の方向の角度でなくてもよい。エピポーラ線上に類似した特徴ベクトルを持つ特徴点が存在するなど、輝度情報とエピポーラ線の情報に基づいて対応付け結果に曖昧性があるか否かを判断する基準であればいかなる方法であってもよい。
(第2の実施形態)
第1の実施形態では、ステレオ画像の二枚の画像を用いて三次元マップ中の特徴点の三次元座標を更新していた。第2の実施形態では、ステレオ画像の二枚の画像のうち、撮像位置がキーフレーム画像から遠い方の画像を利用することで精度を保ちつつ処理を高速化する。
第1の実施形態では、ステレオ画像の二枚の画像を用いて三次元マップ中の特徴点の三次元座標を更新していた。第2の実施形態では、ステレオ画像の二枚の画像のうち、撮像位置がキーフレーム画像から遠い方の画像を利用することで精度を保ちつつ処理を高速化する。
第2の実施形態における情報処理装置の構成は第1の実施形態で説明した情報処理装置1と同一であるため説明を省略する。また第2の実施形態における位置及び姿勢算出、三次元マップ更新の処理手順も第1の実施形態と同一であるため説明を省略する。第1の実施形態と第2の実施形態で異なる部分は、図2のフローチャートにおけるステップS1050である。
図5は、第2の実施形態のステップS1050における処理手順を示すフローチャートである。ここでステップS2210、S2240、S2250、S2260における処理は第1の実施形態で説明したステップS1210、S1240、S1250、S1260の処理と同一であるので説明を省略する。
ステップS2220では、ステレオ画像を撮像した時のステレオカメラの左カメラの位置Tl、右カメラの位置Trのうち、最近傍キーフレーム画像を撮像した時のカメラ位置Tkからの距離が大きい方を選択し、該当するカメラの画像を三次元マップ更新に利用する。三次元マップ更新に利用できる計算時間が少ない場合には、第1の実施形態のようにステレオ画像の両方の画像を利用すると計算時間がかかるため、どちらか一方の画像のみを利用することで計算時間を短縮することができる。三角測量では、カメラ間の距離が大きいほど高精度に奥行き値を算出できるため、ここではTkからの距離が大きい撮像位置を持つカメラの画像を選択している。
ステップS2230では、三次元情報更新部50は、ステップS2220で選択された画像を用いて最近傍キーフレーム画像上の特徴点の三次元座標を更新する。三次元座標を更新方法は第1の実施形態のステップS1220と同一であるので説明を省略する。
以上述べたように、第2の実施形態では、ステレオ画像の二枚の画像のうち、撮像位置がキーフレーム画像から遠い方の画像を利用することで精度を保ちつつ処理を高速化する。
(第3の実施形態)
第1の実施形態、第2の実施形態では、キーフレーム画像上の特徴点から直接ステレオ画像上の点の対応を探索した。第3の実施形態では、キーフレーム画像上の特徴点から直接対応探索をせず、ステレオ画像のどちらか一方の画像で対応探索を行って、次にステレオ画像同士での対応探索を行う。これにより、特徴点が線分上にありエピポーラ線と輝度勾配が直交する場合のようにキーフレーム画像上の特徴点から直接対応探索することが難しい場合であっても対応探索を行うことが可能となり、高精度に三次元座標を計測できる点が増える。
第1の実施形態、第2の実施形態では、キーフレーム画像上の特徴点から直接ステレオ画像上の点の対応を探索した。第3の実施形態では、キーフレーム画像上の特徴点から直接対応探索をせず、ステレオ画像のどちらか一方の画像で対応探索を行って、次にステレオ画像同士での対応探索を行う。これにより、特徴点が線分上にありエピポーラ線と輝度勾配が直交する場合のようにキーフレーム画像上の特徴点から直接対応探索することが難しい場合であっても対応探索を行うことが可能となり、高精度に三次元座標を計測できる点が増える。
第3の実施形態における情報処理装置1の構成は、第1の実施形態で説明した情報処理装置1と同一であるため説明を省略する。また第3の実施形態における位置及び姿勢算出、三次元マップ更新の処理手順も第1の実施形態と同一であるため説明を省略する。第1の実施形態と第3の実施形態で異なる部分は、図2のフローチャートにおけるステップS1050である。
図6は、第3の実施形態のステップS1050における処理手順を示すフローチャートである。ここでステップS3210、S3240、S3250、S3260における処理は第1の実施形態で説明したステップS1210、S1240、S1250、S1260の処理と同一であるので説明を省略する。
ステップS3220では、最近傍キーフレーム画像上における特徴点毎に、ステレオ画像の左右の画像において対応する点を探索する。それによって得られた特徴点の最近傍キーフレーム画像上の座標、ステレオ画像の左右の画像上の座標を用いて特徴点の三次元座標を更新する。以下で本ステップの詳細な処理について説明する。
図7は、ステップS3220における処理手順を示すフローチャートである。ここで最近傍キーフレーム画像に含まれる特徴点の数をNとする。
ステップS3310では、三次元情報更新部50は、iに1をセットする。iは最近傍キーフレーム画像における特徴点の識別番号である。本実施形態では、特徴点の識別番号はスキャンライン順であるとする。
ステップS3320では、三次元情報更新部50は、識別番号iの特徴点について、ステレオ画像を撮像した時の左右のカメラの位置及び姿勢をもとに、最近傍キーフレーム画像上でのエピポーラ線方向dL、dRを算出する。ここでは左カメラに相当する最近傍キーフレーム画像上でのエピポーラ線方向dLの算出方法について説明する。左カメラに相当するエピポーラ線は、最近傍キーフレーム画像上の特徴点と左カメラに相当するエピポールを通る直線である。エピポールは次のように算出する。最近傍キーフレーム画像を撮像したカメラのカメラ座標XKとステレオカメラの左カメラのカメラ座標XLの関係は数1のように表すことができる。
XK=RKLXL+tKL (数1)
ここでRKLは姿勢を表す3×3回転行列であり、tKLは位置を表す3次元ベクトルである。RKL、tKLは、位置姿勢算出手段40が算出するステレオカメラの位置及び姿勢、最近傍キーフレーム画像が属性として持つ撮像時のカメラの位置及び姿勢から算出する。エピポールはXKがtKLである点を画像に投影した点であるため、最近傍キーフレーム画像上での座標(ue、ve)を以下の式2から計算する。
XK=RKLXL+tKL (数1)
ここでRKLは姿勢を表す3×3回転行列であり、tKLは位置を表す3次元ベクトルである。RKL、tKLは、位置姿勢算出手段40が算出するステレオカメラの位置及び姿勢、最近傍キーフレーム画像が属性として持つ撮像時のカメラの位置及び姿勢から算出する。エピポールはXKがtKLである点を画像に投影した点であるため、最近傍キーフレーム画像上での座標(ue、ve)を以下の式2から計算する。
但し、tKL=[tx ty tz]tであり、fはカメラの焦点距離、px、pyはカメラの画像中心位置である。実際にはカメラの内部パラメータはカメラによって異なる。ここでは説明を簡単にするため、ステレオカメラを構成する全てのカメラの内部パラメータ(f、px、py)は同一であるとする。最近傍キーフレーム画像上の特徴点の座標を(uf、vf)として、エピポーラ線方向dLを以下の式3から計算する。
ステップS3330では、ステップS3320で算出したエピポーラ線方向dL、dRと最近傍キーフレーム画像上の特徴点における輝度勾配の方向gを比較する。まず式4によりエピポーラ線方向dL、dRと輝度勾配方向gのなす角度θL、θRを算出する。
次に角度θL、θRを比較しθR<θLの場合には右側画像を、それ以外の場合には左側画像を選択する。このような画像の選択を行うのは、特徴点が線分上の点であり、エピポーラ線方向と輝度勾配方向のなす角が略直交する場合に線分上の任意の点と対応付くことを回避するためである。
ステップS3340では、三次元情報更新部50は、ステップS3330で選択した画像(以下、画像Aとする)における最近傍キーフレーム画像上の特徴点に対応する点を探索する。探索は、例えば第1の実施形態のステップS1220で述べた方法により行う。これによって、最近傍キーフレーム画像上の特徴点に対応する画像A上の点の画像座標を求める。
ステップS3350では、三次元情報更新部50は、ステップS3330で選択されなかった画像(以下、画像Bとする)において該特徴点に対応する点を探索する。ここでは、ステップS3340で求めた画像A上の画像座標に相当する画像B上のエピポーラ線を探索する。なお、探索の際には画像Aにおける対応点近傍の輝度値のパターンと類似した点を画像B上のエピポーラ線上で探索する。これによって、最近傍キーフレーム画像から画像B上での対応点を直接探索することが難しい場合であっても、画像Aを介して対応探索を行うことが可能である。
ステップS3360では、三次元座標の算出を行う。この時点で、識別番号iの特徴点について、最近傍キーフレーム画像上の座標、画像A上の座標、画像B上の座標が得られている。この中で、撮像時のカメラ位置が最も離れている座標の組を選択し、三角測量により三次元座標を算出する。このような選択を行う理由は、三角測量による三次元座標の算出の精度はカメラ間の距離が大きいほど高くなるためである。さらに算出した三次元座標を用いた既存の三次元座標の更新は第1の実施形態のステップS1220と同一の方法で行う。
ステップS3370では、三次元情報更新部50は、識別番号iを1インクリメントする。ステップS3380においてi>Nの場合は最近傍キーフレームにおける全ての特徴点の処理が完了しているため処理を終了し、そうでない場合にはステップS3320に戻る。
以上述べたように、第3の実施形態では、キーフレーム画像上の特徴点についてステレオ画像のどちらか一方の画像で対応探索を行って、次にステレオ画像同士での対応探索を行ことで、高精度に三次元座標を計測できる点を増やすことができる。
なお、三次元座標の算出方法は上記の方法に限るものではなく、キーフレーム画像とステレオ画像のいずれかの画像の対応に基づく方法であればいかなる方法であってもよい。例えば、必ずしも撮像時のカメラ位置が最も離れている座標の組を選択する必要はなく、任意の組を選択してよい。また、一つの組を選択する必要はなく、複数の組を選択して夫々三次元座標を算出し、既存の三次元座標を逐次更新してもよい。また、得られた座標の複数の組から一つの三次元座標を算出してもよい。
また、画像B上での対応探索をする必要は必ずしもなく、キーフレーム画像と画像Aとの対応が得られた時点で三次元座標を算出してもよい。
(変形例)
第3の実施形態では、特徴点が線分上にある場合にステレオ情報を使うことで正確に対応探索を行えるようにした。本変形例では、特徴点が線分上の点ではない場合に本発明を適用する方法について説明する。
第3の実施形態では、特徴点が線分上にある場合にステレオ情報を使うことで正確に対応探索を行えるようにした。本変形例では、特徴点が線分上の点ではない場合に本発明を適用する方法について説明する。
図8に示すように、ある画像上(以下、参照画像と呼ぶ)で検出された特徴点Aに対応する点をステレオ画像上で探索する場合、エピポーラ線上に特徴ベクトルが類似した特徴点(エピポーラ線1における特徴点A’)があると対応探索を誤る可能性がある。そこで、各特徴点について、ステレオ画像の左右の画像のうち、エピポーラ線上に類似した特徴点がない画像を選択して特徴点の三次元座標を算出する。
本変形例における三次元マップ更新の処理手順は基本的には実施例3の図8のフローチャートと同一である。実施例3と本変形例で異なる部分は、図8のフローチャートにおけるステップS3330、S3340である。
(ステップS3330に相当する処理)
本変形例では、最近傍キーフレーム画像における特徴点の輝度勾配方向とエピポーラ線の方向を比較するのではなく、最近傍キーフレーム画像における特徴点の特徴ベクトルと最近傍キーフレーム画像上のエピポーラ線上の点の特徴ベクトルを比較する。ここでは、特徴ベクトルとして、最近傍キーフレーム画像における特徴点を中心としたM×M画素の範囲の輝度値を用いる。該特徴点を起点として、エピポーラ線方向に1画素ずつ移動しながら特徴ベクトルを算出し、類似度を求める。類似度としては正規化相互相関(NCC)を利用する。ステレオカメラの左右のカメラに相当するエピポーラ線上の画素についてNCCを算出しエピポーラ線毎に最大値を保持する。そして最大値が小さい方のカメラに相当するエピポーラ線上の方が類似した特徴点が存在する確率が小さいとして、画像Aとして選択する。
本変形例では、最近傍キーフレーム画像における特徴点の輝度勾配方向とエピポーラ線の方向を比較するのではなく、最近傍キーフレーム画像における特徴点の特徴ベクトルと最近傍キーフレーム画像上のエピポーラ線上の点の特徴ベクトルを比較する。ここでは、特徴ベクトルとして、最近傍キーフレーム画像における特徴点を中心としたM×M画素の範囲の輝度値を用いる。該特徴点を起点として、エピポーラ線方向に1画素ずつ移動しながら特徴ベクトルを算出し、類似度を求める。類似度としては正規化相互相関(NCC)を利用する。ステレオカメラの左右のカメラに相当するエピポーラ線上の画素についてNCCを算出しエピポーラ線毎に最大値を保持する。そして最大値が小さい方のカメラに相当するエピポーラ線上の方が類似した特徴点が存在する確率が小さいとして、画像Aとして選択する。
(ステップS3340に相当する処理)
前述した方法により選択した画像Aにおける最近傍キーフレーム画像上の特徴点に対応する点を探索する。探索は、例えば前述の特徴ベクトルを画像A上の画素について算出し、NCCが最大となる点を探索することにより行う。
前述した方法により選択した画像Aにおける最近傍キーフレーム画像上の特徴点に対応する点を探索する。探索は、例えば前述の特徴ベクトルを画像A上の画素について算出し、NCCが最大となる点を探索することにより行う。
なお、特徴点を表す特徴ベクトルは、特徴点を中心としたM×M画素の範囲の輝度値に限るものではなく、特徴点の特性を表す特徴ベクトルであればいかなるものであってもよい。例えば、SIFT記述子(D.G.Lowe,“Distinctive Image Features from Scale−Invariant Keypoints,”International Journal of Computer Vision,vol.60,no.2,pp.91−110,2004.)であってもよい。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した各実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
<効果のまとめ>
本発明により、ステレオ画像を用いて三次元マップ中の特徴点の三次元座標を更新することで、単眼カメラの動きに基づくステレオでは高精度に三次元座標を算出できない点であっても、精度よく三次元座標を算出できるようになる。
本発明により、ステレオ画像を用いて三次元マップ中の特徴点の三次元座標を更新することで、単眼カメラの動きに基づくステレオでは高精度に三次元座標を算出できない点であっても、精度よく三次元座標を算出できるようになる。
また、ステレオ画像の二枚の画像のうち、撮像位置がキーフレーム画像から遠い方の画像を利用することで精度を保ちつつ処理を高速化する。
さらに、キーフレーム画像上の特徴点についてステレオ画像のどちらか一方の画像で対応探索を行って、次にステレオ画像同士での対応探索を行ことで、高精度に三次元座標を計測できる点を増やすことができる。
<定義のまとめ>
本発明における三次元マップ更新部は、三次元マップに含まれる参照画像上の特徴点に対応する点をステレオ画像において探索し、特徴点の参照画像上の座標とステレオ画像上の座標のペアを用いて特徴点の三次元座標を算出する。三次元マップ更新部は、参照画像上の特徴点に対応する点をステレオ画像の夫々の画像において探索し、夫々得られる画像座標のペアをもとに三次元座標を算出し、既存の三次元座標を更新する。また、三次元マップ更新部は、ステレオ画像のうち撮像位置が参照画像の撮像位置より遠いカメラで撮影された画像において参照画像上の特徴点に対応する点を探索する。さらに三次元マップ更新部は、エピポーラ線と輝度情報に基づいてステレオ画像のうち対応付けを高精度に行える画像において対応点を探索した後で、他方の画像において対応点を探索する。
本発明における三次元マップ更新部は、三次元マップに含まれる参照画像上の特徴点に対応する点をステレオ画像において探索し、特徴点の参照画像上の座標とステレオ画像上の座標のペアを用いて特徴点の三次元座標を算出する。三次元マップ更新部は、参照画像上の特徴点に対応する点をステレオ画像の夫々の画像において探索し、夫々得られる画像座標のペアをもとに三次元座標を算出し、既存の三次元座標を更新する。また、三次元マップ更新部は、ステレオ画像のうち撮像位置が参照画像の撮像位置より遠いカメラで撮影された画像において参照画像上の特徴点に対応する点を探索する。さらに三次元マップ更新部は、エピポーラ線と輝度情報に基づいてステレオ画像のうち対応付けを高精度に行える画像において対応点を探索した後で、他方の画像において対応点を探索する。
Claims (13)
- 第一の撮像装置による現実空間の撮像に基づいて取得される第一の画像と、前記第一の撮像装置と異なる第二の撮像装置による前記現実空間の撮像に基づいて取得される第二の画像とを入力する画像入力手段と、
前記第一の画像から検出される特徴点に対応する対応点を、前記第二の画像から探索する探索手段と、
前記検出される特徴点と前記探索される対応点とに基づいて、前記特徴点または前記対応点の奥行き情報を導出する導出手段と、
前記導出手段で導出された前記特徴点または前記対応点の奥行き情報を出力する出力手段とを備え、
前記出力手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記特徴点または前記対応点の奥行き情報の出力を行わないことを特徴とする情報処理装置。 - 前記探索手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記探索を行わないことを特徴とする請求項1に記載の情報処理装置。
- 前記導出手段は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記導出を行わないことを特徴とする請求項1に記載の情報処理装置。
- 前記所定の条件は、前記第一の画像において、前記画素値の勾配の方向が前記第一の撮像装置と前記第二の撮像装置との間の配置関係に基づき決定されるエピポーラ線の方向に略直交している場合であることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記探索手段は、前記第二の画像において、前記第一の撮像装置と前記第二の撮像装置との間の配置関係及び前記第一の画像における前記特徴点の位置に基づき決定されるとを結ぶエピポーラ線に基づいて決定される範囲で前記対応点を探索することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記第一の撮像装置と前記第二の撮像装置の配置関係は既知であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記第一の撮像装置および前記第二の撮像装置は、頭部装着型表示装置に備えつけられていることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
- 更に、前記現実空間の特徴の三次元情報を保持する三次元情報保持手段と、
前記三次元情報と前記出力手段により出力された結果とに基づいて、前記第一の撮像装置または前記第二の撮像装置の位置姿勢を導出する位置姿勢導出手段と、
前記第一の画像と前記第二の画像のうち少なくともいずれかに基づいて前記三次元情報を更新する更新手段とを備える請求項1乃至7のいずれか1項に記載の情報処理装置。 - 前記三次元情報保持手段は、前記現実空間に存在する特徴の三次元座標と、前記現実空間を前記第一の撮像装置または前記第二の撮像装置により撮像した複数の参照画像と、前記複数の参照画像それぞれを撮像した時の前記現実空間における前記第一の撮像装置または前記第二の撮像装置の位置及び姿勢を保持し、
前記更新手段は、前記複数の参照画像から前記位置姿勢導出手段によって導出された位置姿勢と撮像時の位置姿勢の差が最も小さい参照画像を選択し、
前記第一の撮像装置及び前記第二の撮像装置のうち、撮像時の位置が前記参照画像を撮像した時の位置との差が大きい方の撮像装置が撮像した画像を用いて前記三次元情報保持手段が保持する特徴の三次元座標を更新することを特徴とする請求項8に記載の情報処理装置。 - 前記三次元情報保持手段は、前記現実空間に存在する特徴の三次元座標と、前記シーンを前記第一の撮像装置または前記第二の撮像装置により撮像した複数の参照画像と、前記複数の参照画像それぞれを撮像した時の前記現実空間における前記前記第一の撮像装置または前記第二の撮像装置の位置及び姿勢を保持し、
前記更新手段は、前記複数の参照画像から前記位置姿勢導出手段によって導出された位置姿勢との差が最も小さい位置姿勢を有する参照画像を選択し、
前記選択された参照画像上の特徴点について、前記参照画像上の勾配の方向と前記第一の撮像装置または前記第二の撮像装置のエピポーラ線の方向に基づいて前記第一の撮像装置または前記第二の撮像装置のいずれか一方の撮像装置を選択し、
前記探索手段は、前記選択された参照画像上で検出される特徴点に対応する点を前記選択された撮像装置が撮像した画像上で探索し、前記選択された撮像装置が撮像した画像上で探索した点に対応する点を他方の撮像装置が撮像した画像上で探索し、
前記対応する点を用いて前記三次元情報を更新することを特徴とする請求項8に記載の情報処理装置。 - 更に、前記導出される位置姿勢に基づいて仮想画像を生成する仮想画像生成手段を備えることを特徴とする請求項8に記載の情報処理装置。
- 第一の撮像装置による撮像に基づいて取得される第一の画像と、前記第一の撮像装置と異なる第二の撮像装置による撮像に基づいて取得される第二の画像とを入力する画像入力工程と、
前記第一の画像から検出される特徴点に対応する対応点を、前記第二の画像から探索する探索工程と、
前記検出される特徴点と前記探索される対応点とに基づいて、前記特徴点または前記対応点の奥行き情報を導出する導出工程と、
前記導出手段で導出された前記特徴点または前記対応点の奥行き情報を出力する出力工程とを備え、
前記出力工程は、前記第一の画像から検出される特徴点の近傍領域における画素値の勾配の方向が所定の条件を満たす場合に、前記特徴点または前記対応点の奥行き情報の出力を行わないことを特徴とする情報処理方法。 - コンピュータを、請求項1乃至11のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015157604A JP2017037426A (ja) | 2015-08-07 | 2015-08-07 | 情報処理装置、情報処理方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015157604A JP2017037426A (ja) | 2015-08-07 | 2015-08-07 | 情報処理装置、情報処理方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017037426A true JP2017037426A (ja) | 2017-02-16 |
Family
ID=58048093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015157604A Pending JP2017037426A (ja) | 2015-08-07 | 2015-08-07 | 情報処理装置、情報処理方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017037426A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108180829A (zh) * | 2017-12-28 | 2018-06-19 | 中国科学院西安光学精密机械研究所 | 一种对具有平行线特征的目标空间指向测量方法 |
JP2020008984A (ja) * | 2018-07-04 | 2020-01-16 | 株式会社東芝 | 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム |
JP2021005399A (ja) * | 2020-09-10 | 2021-01-14 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
WO2021246758A1 (ko) * | 2020-06-04 | 2021-12-09 | 삼성전자 주식회사 | 전자 장치 및 그 동작 방법 |
US11348323B2 (en) | 2017-07-11 | 2022-05-31 | Canon Kabushiki Kaisha | Information processing apparatus for correcting three-dimensional map, information processing method for correcting three-dimensional map, and non-transitory computer-readable storage medium for correcting three-dimensional map |
-
2015
- 2015-08-07 JP JP2015157604A patent/JP2017037426A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11348323B2 (en) | 2017-07-11 | 2022-05-31 | Canon Kabushiki Kaisha | Information processing apparatus for correcting three-dimensional map, information processing method for correcting three-dimensional map, and non-transitory computer-readable storage medium for correcting three-dimensional map |
CN108180829A (zh) * | 2017-12-28 | 2018-06-19 | 中国科学院西安光学精密机械研究所 | 一种对具有平行线特征的目标空间指向测量方法 |
CN108180829B (zh) * | 2017-12-28 | 2019-09-20 | 中国科学院西安光学精密机械研究所 | 一种对具有平行线特征的目标空间指向测量方法 |
JP2020008984A (ja) * | 2018-07-04 | 2020-01-16 | 株式会社東芝 | 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム |
JP7131994B2 (ja) | 2018-07-04 | 2022-09-06 | 株式会社東芝 | 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム |
WO2021246758A1 (ko) * | 2020-06-04 | 2021-12-09 | 삼성전자 주식회사 | 전자 장치 및 그 동작 방법 |
JP2021005399A (ja) * | 2020-09-10 | 2021-01-14 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP7029501B2 (ja) | 2020-09-10 | 2022-03-03 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6775969B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2019205852A1 (zh) | 确定图像捕捉设备的位姿的方法、装置及其存储介质 | |
WO2017041731A1 (en) | Markerless multi-user multi-object augmented reality on mobile devices | |
JP5248806B2 (ja) | 情報処理装置、情報処理方法 | |
JP2019536170A (ja) | 仮想的に拡張された視覚的同時位置特定及びマッピングのシステム及び方法 | |
US10930008B2 (en) | Information processing apparatus, information processing method, and program for deriving a position orientation of an image pickup apparatus using features detected from an image | |
US20120257016A1 (en) | Three-dimensional modeling apparatus, three-dimensional modeling method and computer-readable recording medium storing three-dimensional modeling program | |
JP2018523881A (ja) | データを位置合わせする方法及びシステム | |
JP2017037426A (ja) | 情報処理装置、情報処理方法、プログラム | |
CN108230384B (zh) | 图像深度计算方法、装置、存储介质和电子设备 | |
CN111127524A (zh) | 一种轨迹跟踪与三维重建方法、系统及装置 | |
JP6762913B2 (ja) | 情報処理装置、情報処理方法 | |
JP6894707B2 (ja) | 情報処理装置およびその制御方法、プログラム | |
JP2009133753A (ja) | 画像処理装置及びその方法 | |
JP7064257B2 (ja) | 画像深度確定方法及び生き物認識方法、回路、装置、記憶媒体 | |
JP2018026064A (ja) | 画像処理装置、画像処理方法、システム | |
JP2017036970A (ja) | 情報処理装置、情報処理方法、プログラム | |
KR101865173B1 (ko) | 가상현실 콘텐츠의 영상 분석을 통한 모션 시뮬레이터의 운동 생성 방법 | |
WO2019093457A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN112561978A (zh) | 深度估计网络的训练方法、图像的深度估计方法、设备 | |
JP2022132063A (ja) | 拡張現実提供装置のポーズ決定方法及び装置 | |
CN115362478A (zh) | 用于标记图像之间的空间关系的强化学习模型 | |
JP2009186287A (ja) | 平面パラメータ推定装置、平面パラメータ推定方法及び平面パラメータ推定プログラム | |
JP2017199285A (ja) | 情報処理装置、情報処理方法、プログラム | |
US11847784B2 (en) | Image processing apparatus, head-mounted display, and method for acquiring space information |