JP6584208B2 - 情報処理装置、情報処理方法、プログラム - Google Patents

情報処理装置、情報処理方法、プログラム Download PDF

Info

Publication number
JP6584208B2
JP6584208B2 JP2015157603A JP2015157603A JP6584208B2 JP 6584208 B2 JP6584208 B2 JP 6584208B2 JP 2015157603 A JP2015157603 A JP 2015157603A JP 2015157603 A JP2015157603 A JP 2015157603A JP 6584208 B2 JP6584208 B2 JP 6584208B2
Authority
JP
Japan
Prior art keywords
orientation
image
information processing
imaging device
processing apparatus
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.)
Active
Application number
JP2015157603A
Other languages
English (en)
Other versions
JP2017036970A (ja
Inventor
小竹 大輔
大輔 小竹
圭祐 立野
圭祐 立野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015157603A priority Critical patent/JP6584208B2/ja
Priority to US15/229,010 priority patent/US10204445B2/en
Publication of JP2017036970A publication Critical patent/JP2017036970A/ja
Application granted granted Critical
Publication of JP6584208B2 publication Critical patent/JP6584208B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Description

本発明は撮像装置の位置及び姿勢を計測する方法に関する。
画像情報に基づく撮像装置の位置及び姿勢の計測は、拡張現実感/複合現実感における現実空間と仮想物体の位置合わせ、ロボットや自動車の自己位置推定、物体やシーンの三次元モデリングに利用される。
非特許文献1では、シーン中にある特徴点の情報を三次元マップとして保持しておき、画像上で検出される特徴点と三次元マップ中の特徴点の対応をもとに撮像装置の位置及び姿勢を推定する方法が開示されている。この方法では、前フレームにおいて計測された位置及び姿勢を現フレームにおける位置及び姿勢の計測に利用する。例えば、前フレームで計測された位置及び姿勢と動きモデルに基づいて現フレームの位置及び姿勢を予測し、三次元マップ中の特徴点と画像上の特徴点との対応付けに利用する。また、予測された位置及び姿勢は現フレームの位置及び姿勢を求めるための繰返し計算の初期値として利用する。
フレーム間での撮像装置の動きが大きい場合や画像上で検出される特徴点の数が極めて少ない場合には位置及び姿勢の計測は失敗する場合がある。そのため、位置及び姿勢の計測の失敗を検出し失敗から回復する処理が必要となる。非特許文献1では、正しく対応付けられた特徴点の割合に基づいて位置及び姿勢計測の質を判定し、質が低い計測が一定フレーム数継続する場合に位置及び姿勢の計測に失敗したと判定している。
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(ISMAR’07),2007.
非特許文献1における位置及び姿勢計測の失敗判定方法は画像上の見た目に基づく方法であるため、見た目が類似した部分がシーン中の別の箇所に存在する場合、推定される位置及び姿勢が正しいか否かの判定を誤るという課題がある。また、特徴点の数が極めて少ない場合には、推定される位置及び姿勢が正しくても正しく対応付けられた特徴点の割合が小さいために失敗判定を誤るという課題がある。
本発明は上記課題に鑑みてなされたものであり、位置姿勢の推定処理が失敗したかを判定し安定的に位置姿勢を導出することを目的とする。
上記課題を解決するために、本発明の情報処理装置は、例えば、現実空間の特徴の三次元情報を保持する三次元情報保持手段と、撮像装置によって前記現実空間を撮像した画像を入力する画像入力手段と、前記撮像装置に取り付けられたセンサによって計測される前記撮像装置の位置姿勢に関する計測値を入力する計測値入力手段と、前記三次元情報と前記入力された画像とに基づいて、前記撮像装置の位置姿勢を導出する位置姿勢導出手段と、前記計測値から得られる位置姿勢に関する情報と前記位置姿勢導出手段によって導出された前記撮像装置の位置姿勢に関する情報の差分に基づいて前記位置姿勢導出手段による前記撮像装置の位置姿勢の導出が失敗したか否かを判定する判定手段と、前記判定手段の結果を出力する出力手段とを備える。
本発明によれば、位置姿勢の推定処理が失敗したかを判定し安定的に位置姿勢を導出することができる。
第1の実施形態における情報処理装置1の構成を示す図である。 姿勢センサがカメラに固定されている様子を示す図である。 第1の実施形態における位置及び姿勢計測の処理手順を示すフローチャートである。 第1の実施形態のステップS1040における処理手順を示すフローチャートである。 第1の実施形態のステップS1060における処理手順を示すフローチャートである。 第2の実施形態のステップS1060における処理手順を示すフローチャートである。 第3の実施形態のステップS1060における処理手順を示すフローチャートである。 本発明の情報処理装置のハードウェア構成の例を示す図である。
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図8を用いて説明する。
図8は、本実施形態における情報装置のハードウェア構成図である。同図において、CPU810は、バス800を介して接続する各デバイスを統括的に制御する。CPU910は、読み出し専用メモリ(ROM)820に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はROM820に記憶されており、ランダムアクセスメモリ(RAM)830に一時記憶され、CPU810によって適宜実行される。また、入力I/F840は、外部の装置(表示装置や操作装置など)から情報処理装置1で処理可能な形式で入力信号として入力する。また、出力I/F850は、外部の装置(表示装置)へ表示装置が処理可能な形式で出力信号として出力する。
(第1の実施形態)
本実施形態では、現実空間に仮想物体を重ね合わせて表示する複合現実感システムにおいて仮想物体を描画するために必要な現実空間におけるカメラの位置及び姿勢の計測に本発明の方法を適用した場合について述べる。
具体的には、カメラに装着した姿勢センサが計測する姿勢と、カメラが撮影する画像を用いて算出されるカメラの姿勢との比較により画像を用いた位置及び姿勢の計測の失敗を判定し、失敗と判定された場合には復帰処理を行って位置及び姿勢の計測を再開する。これによって、位置及び姿勢は正しく計測されておらず失敗しているにも関わらず画像としては整合性が取れているために位置及び姿勢が正しく計測されていると誤判定されることを回避する。本実施形態において、カメラの位置姿勢とは、世界座標系におけるカメラの撮像視点位置の位置座標(x、y、z)の3パラメータおよび、カメラの姿勢、すなわちカメラ座標系のX軸、Y軸、Z軸の方向を表す3パラメータを合わせた6パラメータのことをいう。本実施形態において、姿勢を表す3パラメータは、世界座標系における回転軸の傾きを表す2パラメータと、該回転軸まわりの回転角を表す1パラメータであるとする。なお、姿勢を表す3パラメータはこれに限るものではなく、ロール角・ピッチ角・ヨー角によって表してもよいし、オイラー角によって表してもよい。
なお、本実施形態では、3次元空間におけるカメラの姿勢のうち、傾斜角を用いて失敗判定を行う。ここでカメラの傾斜角とは、重力軸に対するカメラの傾きを表す。姿勢の傾斜角以外の成分は方位角であり、重力軸まわりの回転を表す。一般的な姿勢センサには角速度センサ(ジャイロセンサ)とともに加速度センサが内蔵されており、重力軸の方向を傾斜角の絶対的なリファレンスとして利用できるため、失敗判定に傾斜角を用いる。
図1は、本実施形態における情報処理装置1の構成を示す図である。情報処理装置1は、三次元情報保持部10、画像入力部20、センサ計測値入力部30、位置姿勢算出部40、失敗判定部50から構成されている。画像入力部20はカメラ70と接続されている。また、センサ計測値入力部30は姿勢センサ80と接続されている。また情報処理装置1には失敗回復部60が接続されている。
三次元情報保持部10は、画像に基づく位置及び姿勢の推定に利用するシーン(現実空間)の三次元情報を保持する。非特許文献1に開示されるように、シーンの三次元情報はマップデータとして保持する。マップデータには特徴点データベースを保持する。特徴点データベースには、シーン中に規定された世界座標系における特徴点の三次元座標と特徴点を表す画像パッチを保持する。さらにマップデータには、撮像した時の位置及び姿勢が属性として付与されたシーンの撮像画像群を保持する。これらの画像群を構成する画像それぞれを、以下ではキーフレーム画像と呼ぶ。マップデータは、公知のStructure from Motion技術により予め作成してもよいし、非特許文献1のように位置及び姿勢の計測と並行して作成してもよい。なお本実施形態では、世界座標系のZ軸が重力軸と平行に、X軸、Y軸が重力軸と直交(地面に平行)になるように座標軸を設定する。
画像入力部20は、カメラ70によって撮像された画像を位置姿勢算出部40に入力する。本実施形態では、画像入力部20はカメラ70から時系列に入力するものとし、情報処理装置1は、カメラ70が逐次撮像する画像の各々について撮像時のカメラの位置及び姿勢を計測する。本実施形態では、カメラ70が撮像する画像に仮想物体のCGを重畳描画した画像をユーザが観察するため画像は入力するカラー画像であるとする。なお、例えば自動車やロボットの自己位置推定では撮像した画像をユーザが観察する必要はないため、入力する画像は濃淡画像であってもよい。カメラ70の内部パラメータ(焦点距離、画像中心、レンズ歪みパラメータ)は既知であるとする。カメラの内部パラメータは、例えば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.)によって校正する。
センサ計測値入力部30は、姿勢センサ80によって計測された3自由度の姿勢を位置姿勢算出部40、失敗判定部50に入力する。図2に示すように、姿勢センサ80はカメラ70に固定されているものとする。カメラ70に対する姿勢センサ80の姿勢は既知であるとし、世界座標系における姿勢センサ80の姿勢はカメラ70の姿勢に変換可能であるとする。カメラ70に対する姿勢センサ80の姿勢は、例えばSatohらの方法(K.Satoh,S.Uchiyama,and H.Yamamoto,“A Head Tracking Method Using Bird’s−Eye View Camera and Gyroscope,” Proc.3rd IEEE and ACM International Symposium on Mixed and Augmented Reality(ISMAR’04),2004.)によって校正する。
位置姿勢算出部40は、画像入力部20によって入力された画像、センサ計測値入力部30によって入力された姿勢計測値及び三次元情報保持部10が保持するマップデータに基づいて画像を撮像した時の世界座標系におけるカメラの位置及び姿勢を算出(位置姿勢導出)する。
失敗判定部50は、センサ計測値入力部30によって入力された姿勢計測値及び位置姿勢算出部40によって算出されたカメラの姿勢に基づいて、位置姿勢算出部40による位置及び姿勢の算出が失敗したかどうか判定し、その結果を出力する。
失敗回復部60は、画像入力部20によって入力された画像及び三次元情報保持部10が保持するマップデータに基づいて失敗回復を行い、位置及び姿勢の計測を再開する。
次に、本実施形態における位置及び姿勢計測の処理手順について説明する。図3は、本実施形態における位置及び姿勢計測の処理手順を示すフローチャートである。
ステップS1010では、位置姿勢算出部40は失敗フラグFをTRUEに設定する。これは、位置及び姿勢の計測を始める時には位置及び姿勢は不明であり、位置及び姿勢計測に失敗した時と同じ状態にあるためである。
ステップS1020では、位置姿勢算出部40は、カメラ70が撮像した画像及び姿勢センサ80が計測したカメラの姿勢をそれぞれ画像入力部20、センサ計測値入力部30を介して取得する。
ステップS1030において失敗フラグFがTRUEである場合にはステップS1050に進み、FALSEである場合にはステップS1040に進む。
ステップS1040では、位置姿勢算出部40はカメラ70によって撮像された画像、姿勢センサ80によって計測されたカメラの姿勢及び三次元情報保持部10が保持するマップデータに基づいて画像を撮像した時の世界座標系におけるカメラの位置及び姿勢を算出する。ステップS1040では前フレームでの位置及び姿勢計測が失敗していないので、前フレームで計測された位置及び姿勢を用いて位置及び姿勢を算出する。位置及び姿勢の詳細な算出方法については後述する。
ステップS1050では、失敗回復部60は、前フレームでの位置及び姿勢計測が失敗しているため、位置及び姿勢計測の失敗回復処理を行う。位置及び姿勢計測の失敗回復は、Kleinらの方法(G.Klein and D.Murray,“Improving the Agility of Keyframe−based SLAM,” Proc.10th European Conference on Computer Vision,2008.)を用いて行う。すなわち、入力画像を縮小した画像と、マップデータ中のキーフレーム画像を縮小した画像とのマッチングを行い、最も誤差の小さいキーフレーム画像が属性として持つ位置及び姿勢を入力画像撮像時のカメラの位置及び姿勢とする。
ステップS1060では、失敗判定部50は、位置姿勢算出部40によって算出されたカメラの姿勢と、姿勢センサ80によって計測されたカメラの姿勢を比較することにより位置姿勢算出部40における位置及び姿勢算出の失敗を判定する。本実施例では、カメラの姿勢のうち、姿勢センサによって高精度に計測が可能な傾斜角成分を比較することによって失敗を判定する。失敗判定の詳細については後述する。
ステップS1070では、位置及び姿勢計測を終了するか否かの判定を行う。マウスやキーボードなどを介してユーザから位置及び姿勢計測を終了するコマンドが入力されている場合、位置及び姿勢計測を終了する。そうでない場合は位置及び姿勢計測を継続するためステップS1020に戻る。
(ステップS1040の処理の詳細)
次に、ステップS1040における位置及び姿勢算出処理について詳細に説明する。図4は、ステップS1040における処理手順を示すフローチャートである。
ステップS1110では、位置姿勢算出部40は、姿勢センサの計測値と前フレームで算出された位置及び姿勢から現フレームの位置及び姿勢を予測する。予測位置は前フレームで計測された位置をそのまま用いる。前フレームで算出された姿勢を表す3自由度回転行列をR(t−1)、前フレーム、現フレームの姿勢センサによって計測された姿勢を表す3自由度回転行列をそれぞれRs(t−1)、Rs(t)とする。R(t−1)、Rs(t−1)、Rs(t)は世界座標系を基準とした時のカメラの姿勢を表すものとする。現フレームの予測姿勢を表す3×3回転行列R(t)を式1のように算出する。
R(t)=R(t−1)・(R(t−1))−1・R(t) (式1)
ステップS1120では、位置姿勢算出部40は、入力された画像から特徴点を検出する。特徴点の検出は非特許文献1と同様の方法で検出し、以降のステップで利用するために検出された特徴点の入力画像上での座標(u,v)を保持する。
ステップS1130では、位置姿勢算出部40は、ステップS1120で検出された特徴点と、マップデータ中の特徴点との対応付けを行う。具体的には、まずステップS1110で得られた現フレームの予測位置及び予測姿勢を用いてマップデータ中の各特徴点の世界座標を入力画像上の座標に変換する。次に、変換された座標を中心とした一定範囲内に存在するステップS1120で検出された特徴点の画像パッチとマップデータ中の特徴点の画像パッチとの類似度を算出する。最もパッチの類似度が大きい特徴点とマップ中の特徴点が対応するとして、マップ中の特徴点の世界座標と入力画像上で検出された特徴点の座標の組を対応付けデータとして以降のステップで利用する。
ステップS1140では、位置姿勢算出部40は、ステップS1130で得られた複数の対応付けデータを利用して現フレームを撮像した時のカメラの位置及び姿勢を算出する。カメラの位置及び姿勢の算出は、非特許文献1と同様の方法で行う。すなわち、算出する位置及び姿勢によってマップ中の特徴点の世界座標を画像座標に変換して得られる座標と、該特徴点に対応付けられた入力画像上で検出された特徴点の画像座標との誤差(再投影誤差)が小さくなるように、繰返し位置及び姿勢の算出を行う。算出したカメラの姿勢を表す3×3回転行列をRv(t)とする。Rv(t)は後述するステップS1060で用いる。
(ステップS1060の処理の詳細)
次に、ステップS1060における失敗判定処理について詳細に説明する。図5は、ステップS1060における処理手順を示すフローチャートである。
ステップS1210では、失敗判定部50は、現フレームの姿勢センサによって計測された姿勢Rs(t)から傾斜角成分を抽出する。Rs(t)は式2のように傾斜角成分Risと方位角成分Rasに分解できる。
(t)=Ras・Ris (式2)
前述したように、世界座標系のZ軸の方向を重力軸の方向にとったため、Rasは世界座標系のZ軸周りの回転Rzで表される。また、Risは重力軸に直交する平面(地面)上のベクトル周りの回転であるため、世界座標系のX軸周りの回転RxとY軸周りの回転Ryを合成した回転RyRxで表される。Rzの回転角をα、Ryの回転角をβ、Rzの回転角をγとするとRs(t)は式3のように表すことができる。
Figure 0006584208

数3を展開すると数4のようになる。
Figure 0006584208

センサ計測値から得られるRs(t)の各要素の値と式4をもとに、cosβ、sinβ、cosγ、sinγを算出することでRs(t)から傾斜角成分Risを抽出する。
ステップS1220では、失敗判定部50は、ステップS1040で算出したカメラの姿勢Rv(t)をステップS1210と同じ方法により方位角Ravと傾斜角Rivに分解することで傾斜角成分Rivを抽出する。
ステップS1230では、失敗判定部50は、ステップS1210、ステップS1220で抽出した傾斜角成分Ris、Rivを比較することで、ステップS1040において位置及び姿勢の算出に失敗したかどうかを判定する。具体的には、カメラを基準とした重力軸方向を表すベクトルgs、gvをそれぞれ傾斜角成分Ris、Rivから算出し、二つのベクトルの角度差が閾値以上であれば位置及び姿勢の算出に失敗したと判断する。前述したように本実施形態では世界座標系のZ軸を重力軸方向と平行にとっている。そのため、式5のように傾斜角Ris、Rivを用いて世界座標系のZ軸を表すベクトルをカメラ座標系における重力軸方向を表すベクトルgs、gvに変換する。
Figure 0006584208

gs、gvから算出される二つのベクトルがなす角度が閾値以上であれば失敗フラグFをTRUEにセットし、それ以外の場合には失敗フラグをFALSEにセットする。
以上述べたように第1の実施形態では、姿勢センサが計測する傾斜角と画像をもとに算出された傾斜角との比較によって位置及び姿勢計測の失敗を判定することで、適切なタイミングで位置及び姿勢計測の失敗から回復させ、位置及び姿勢計測を再開させることができる。
なお、位置及び姿勢計測の失敗判定に利用する情報は姿勢の傾斜角成分に限るものではなく、センサが計測する値と直接比較できるものであれば何でもよい。例えば、屋外など姿勢センサが方位角も正確に計測することができる場合には、3自由度の姿勢を比較対象にしてもよい。また、姿勢のうち方位角を比較対象にしてもよい。さらに、利用するセンサは姿勢センサに限るものではなく、位置または姿勢を計測するものであれば何でもよい。例えば、傾斜角を直接計測する傾斜センサであってもよい。また、GPSなどの位置センサを利用し、位置を比較対象にしてもよい。また、気圧センサのような高さを計測するセンサを利用し、位置のうち高さ成分を比較対象にしてもよい。さらには、気圧センサの気圧を高さに変換せずに、計測される気圧を比較対象にしてもよい。他にも、磁気センサやモーションキャプチャシステムのような位置及び姿勢を計測するセンサを利用してもよい。
なお,位置及び姿勢計測の失敗判定を行う際には、本実施形態で述べたセンサの計測値と画像に基づく計測値との比較による失敗判定と、非特許文献1で開示されているような画像情報のみによる失敗判定とを組み合わせて用いてもよい。すなわち、画像情報のみによる失敗判定を行い、失敗と判定されない場合に本実施形態で述べた失敗判定を行ってもよい。
なお、位置及び姿勢を計測するための画像を撮影するカメラは一台のカメラである必要はなく、複数台のカメラ(例えばステレオカメラ)であってもよい。また、通常の濃淡画像やカラー画像を撮像するカメラではなく、距離画像を撮像するカメラであってもよい。
位置姿勢算出部は、画像とマップデータに基づいて位置及び姿勢を算出するものであれば何でもよい。ステレオカメラである場合には、ステレオカメラが撮像する画像を用いて位置及び姿勢を算出してもよい。距離画像を撮像するカメラを利用する場合には、距離画像を用いて位置及び姿勢を算出してもよい。また、位置及び姿勢の算出に用いる特徴は、特徴点に限るものではなく、画像から検出可能でマップデータとして登録可能な特徴であれば他の特徴であってもよい。例えば、濃淡画像において輝度勾配が大きい点であるエッジでもよい。
失敗回復部における失敗回復処理は、画像マッチングによって行う方法に限るものではなく、位置及び姿勢の事前情報なしに入力された画像から位置及び姿勢を算出する方法であればいかなる方法であってもよい。例えば、非特許文献1に開示されているように、マップデータ中の特徴点と画像上の特徴点との対応を識別器によって求め、得られた対応から位置及び姿勢を算出してもよい。
三次元情報保持部が保持するシーンの三次元情報は、特徴点の世界座標系における三次元座標のデータベースに限るものではなく、世界座標系における三次元座標に変換可能であればいかなる表現形態であってもよい。例えば、撮像した時の世界座標系における位置及び姿勢が属性として付与されたシーンの撮像画像群を保持し、特徴点の座標は撮像画像群のカメラ座標系における特徴点の三次元座標として保持しておき、属性に含まれる位置及び姿勢を用いて世界座標系における特徴点の三次元座標に変換してもよい。
(第2の実施形態)
第1の実施形態では、センサが計測する位置及び姿勢と画像をもとに算出される位置及び姿勢を直接比較することで位置及び姿勢計測の失敗判定を行っていた。本実施形態では、センサから得られる計測値の差分と、画像をもとに算出される位置及び姿勢の差分を比較することで位置及び姿勢計測の失敗判定を行う。
具体的には、異なるフレームにおいて姿勢センサによって計測された姿勢の差分と、カメラが撮影する画像を用いて算出した姿勢の差分とを比較することにより、画像を用いた位置及び姿勢の計測の失敗を判定する。これによって、例えばセンサの傾斜角や方位角等特定の成分が高精度に計測できなくても、位置及び姿勢の計測の失敗を判定することができる。
本実施形態における情報処理装置の構成は第1の実施形態で説明した情報処理装置1と同一であるため説明を省略する。また第2の実施形態における位置及び姿勢計測の処理手順も第1の実施形態と同一であるため説明を省略する。第1の実施形態と第2の実施形態で異なる部分は、図3のフローチャートにおけるステップS1060である。
図6は、本実施形態のステップS1060における処理手順を示すフローチャートである。
ステップS2210では、失敗判定部50は、前フレームの姿勢センサによって計測された姿勢Rs(t−1)と現フレームの姿勢センサによって計測された姿勢Rs(t)からフレーム間の姿勢変化ΔRsを算出する。ΔRsは式6のように算出する。
ΔR=(R(t−1))−1・R(t) (式6)
ステップS2220では、失敗判定部50は、ステップS1040で前フレームを用いて算出したときのカメラの姿勢Rv(t−1)と現フレームを用いて算出したカメラの姿勢Rv(t)からフレーム間の姿勢変化ΔRvを算出する。ΔRvはΔRsと同様に算出する。
ステップS1230では、失敗判定部50は、ステップS1210、ステップS1220で抽出した姿勢変化ΔRs、ΔRvを比較することで、ステップS1040において位置及び姿勢の算出に失敗したかどうかを判定する。具体的にはまず式7より姿勢変化ΔRsとΔRvの差であるΔRsvを算出する。ΔRsvは3×3回転行列である。ΔRsvの回転角が所定の閾値以上であれば失敗と判断する。
ΔRsv=(ΔR−1ΔR (式7)
ΔRsvの回転角θは、3×3回転行列ΔRsvのトレースが1+2cosθであることを利用して求める。回転角θが閾値以上であれば失敗フラグFをTRUEにセットし、それ以外の場合には失敗フラグをFALSEにセットする。
以上述べたように本実施形態では、センサから得られる姿勢計測値の差分と、画像をもとに算出される姿勢の差分を比較することで、例えばセンサの傾斜角や方位角等特定の成分が高精度に計測できなくても、位置及び姿勢の計測の失敗を判定することができる。
本実施形態では現フレームと前フレームから姿勢の差分を算出していた。しかしながら、姿勢の差分は時間的に隣接したフレームから算出しなくてもよい。例えば、数フレーム前の姿勢と現フレームの姿勢から差分を算出してもよい。
なお、位置及び姿勢計測の失敗判定に利用する情報は姿勢計測値の差分に限るものではなく、差分を比較できるものであれば何でもよい。例えば、例えば、GPSなどの位置センサを利用し、位置の差分を比較対象にしてもよい。また、気圧センサのような高さを計測するセンサを利用し、高さの差分を比較対象にしてもよい。さらには、気圧センサの気圧を高さに変換せずに、計測される気圧の差を比較対象にしてもよい。
なお,位置及び姿勢計測の失敗判定を行う際には、本実施形態で述べたセンサの計測値の差分と画像に基づく計測値の差分との比較による失敗判定と、非特許文献1で開示されているような画像情報のみによる失敗判定とを組み合わせて用いてもよい。すなわち、画像情報のみによる失敗判定を行い、失敗と判定されない場合に本実施形態で述べた失敗判定を行ってもよい。
さらには、利用するセンサは位置や姿勢を計測するものに限るものではなく、速度センサ、加速度センサ、角速度センサなどの位置や姿勢の変化を計測するセンサであってもよい。このようなセンサを利用する場合、センサ計測値は差分を求める必要はなく、画像をもとに算出される位置及び姿勢の差分からセンサ計測値に相当する物理量(速度、加速度、角速度)を算出すればよい。
(第3の実施形態)
第1の実施形態及び第2の実施形態ではセンサ計測値を位置及び姿勢計測の失敗判定に利用していた。これに対し第3の実施形態では、センサ計測値を位置及び姿勢計測の失敗回復に利用する。センサ計測値を失敗回復に利用することで、高速な失敗回復が可能になる。
第3の実施形態における情報処理装置の構成1は第1の実施形態で説明した情報処理装置1と同一であるため説明を省略する。また第3の実施形態における位置及び姿勢計測の処理手順も第1の実施形態と同一であるため説明を省略する。第1の実施形態と第3の実施形態で異なる部分は、図3のフローチャートにおけるステップS1050である。
図7は、第3の実施形態のステップS1050における処理手順を示すフローチャートである。
ステップS310では、失敗回復部60は、姿勢センサが計測する姿勢計測値から実施例1で述べた方法により傾斜角成分Risを抽出する。
ステップS320では、失敗回復部60は、マップデータが保持するキーフレーム画像毎に、キーフレーム画像が属性として持つ姿勢から傾斜角成分Rikを抽出し、RisとRikの差を第1の実施形態で述べたカメラを基準とした時の重力軸方向のベクトルの角度差として求める。そして角度差が所定の閾値以内のキーフレーム画像を失敗回復における画像マッチングの対象として選択する。
ステップS330では、失敗回復部60は、第1の実施形態のステップS1050の説明で述べたように、入力画像を縮小した画像とマップデータ中のキーフレーム画像を縮小した画像とのマッチングを行う。このとき、全てのキーフレーム画像とのマッチングを行うのではなく、ステップS320で選択したキーフレーム画像のみを対象としてマッチングを行う。そして、最もマッチング誤差の小さいキーフレーム画像が属性として持つ位置及び姿勢を入力画像撮像時のカメラの位置及び姿勢とする。
以上述べたように、本実施形態では姿勢センサの計測値を用いて失敗回復の際の画像マッチング対象のキーフレーム画像を限定することで、高速な失敗回復が可能になる。
なお、キーフレーム画像を限定するのに利用するセンサ計測値は傾斜角に限るものではなく、キーフレーム画像が属性として持つ位置及び姿勢と比較できるものであればいかなるものであってもよい。例えば、3自由度の姿勢を用いて限定してもよいし、姿勢の方位角成分のみを用いてもよい。また、利用するセンサは姿勢センサに限るものではなく、GPSのような位置センサや気圧センサのような高さセンサであってもよい。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した各実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
<効果のまとめ>
本発明により、姿勢センサが計測する傾斜角と画像をもとに算出された傾斜角との比較によって位置及び姿勢計測の失敗を判定することで、適切なタイミングで位置及び姿勢計測の失敗から回復させ、位置及び姿勢計測を再開させることができる。
また、センサから得られる姿勢計測値の差分と、画像をもとに算出される姿勢の差分を比較することで、例えばセンサの傾斜角や方位角等特定の成分が高精度に計測できなくても、位置及び姿勢の計測の失敗を判定することができる。
さらに姿勢センサの計測値を失敗回復に利用することで、高速な失敗回復が可能になる。
<定義のまとめ>
本発明における情報処理装置を構成する三次元情報保持部は、画像に基づく位置及び姿勢の推定に利用するシーンの三次元情報を保持する。シーンの三次元情報として、シーン中に規定された世界座標系における特徴点の三次元座標を保持する特徴点データベースを保持してもよい。また、撮像した時の世界座標系における位置及び姿勢が属性として付与されたシーンの撮像画像群を保持し、撮像画像群のカメラ座標系における特徴点の三次元座標を保持し、属性に含まれる位置及び姿勢を用いて世界座標系における特徴点の三次元座標に変換してもよい。
画像入力部はカメラによって撮像された画像を入力する。カメラは、濃淡画像を撮影するカメラであってもよいし、カラー画像を撮影するカメラであってもよい。また、距離画像を撮影するカメラであってもよい。
センサ計測値入力部は位置または姿勢に関する情報を計測するセンサの計測値を入力する。センサは、姿勢センサや位置センサ、傾斜センサ、高さセンサなど位置及び姿勢を直接計測するセンサであってもよいし、速度センサ、加速度センサ、角速度センサなど位置及び姿勢の変化を計測するセンサであってもよい。
位置姿勢算出部は、画像とシーンの三次元情報を元に画像を撮像した時のカメラの位置及び姿勢を算出するものであれば何でもよい。位置及び姿勢の算出に用いる画像は、単眼カメラによって撮影された画像でもステレオカメラのように複数のカメラによって撮影された画像でもよい。また、濃淡/カラー画像を撮影するカメラではなく距離画像を撮像するカメラによって撮像された距離画像を用いてもよい。また、位置及び姿勢の算出に用いる特徴は、特徴点に限るものではなく、画像から検出可能でマップデータとして登録可能な特徴であれば他の特徴であってもよい。例えば、濃淡画像における輝度勾配が大きい点であるエッジでもよい。
位置姿勢算出部は画像上で検出される特徴点の再投影誤差が小さくなるように位置及び姿勢の算出を行う。
失敗判定部は、センサ計測値を用いて画像を用いた位置及び姿勢算出の失敗判定を行う。センサが計測する位置または姿勢と画像を用いた算出した位置及び姿勢を直接比較してもよいし、位置または姿勢の変化量を比較してもよい。

Claims (11)

  1. 現実空間の特徴の三次元情報を保持する三次元情報保持手段と、
    撮像装置によって前記現実空間を撮像した画像を入力する画像入力手段と、
    前記撮像装置に取り付けられたセンサによって計測される前記撮像装置の位置姿勢に関する計測値を入力する計測値入力手段と、
    前記三次元情報と前記入力された画像とに基づいて、前記撮像装置の位置姿勢を導出する位置姿勢導出手段と、
    前記計測値から得られる位置姿勢に関する情報と前記位置姿勢導出手段によって導出された前記撮像装置の位置姿勢に関する情報との差分に基づいて前記位置姿勢導出手段による前記撮像装置の位置姿勢の導出が失敗したか否かを判定する判定手段と、
    前記判定手段の結果を出力する出力手段とを備える情報処理装置。
  2. 前記撮像装置の位置姿勢に関する計測値は、前記撮像装置の位置姿勢を示すパラメータのうちのいずれかであることを特徴とする請求項1に記載の情報処理装置。
  3. 前記判定手段によって前記位置姿勢導出手段の位置姿勢の導出が失敗したと判定された場合、前記三次元情報と前記入力された画像とに基づいて前記撮像装置の位置姿勢を導出することにより、前記位置姿勢導出手段による前記撮像装置の位置姿勢の導出の失敗からの復帰を行う復帰手段をさらに有することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記三次元情報保持手段は、更に、前記現実空間を撮像した複数の画像と、該複数の画像それぞれを撮像した時の撮像装置の位置姿勢を示すパラメータとを対応づけて保持し、前記復帰手段は、前記計測値と前記三次元情報保持手段が保持する位置姿勢を示すパラメータとに基づき前記複数の画像のうちから選択された画像を使って前記復帰を行うことを特徴とする請求項3に記載の情報処理装置。
  5. 前記計測値は前記撮像装置の姿勢を示すパラメータであり、
    前記判定手段は、前記姿勢を示すパラメータと、前記位置姿勢導出手段によって導出される撮像装置の位置姿勢のうちの姿勢を示すパラメータとを比較することにより前記判定を行うことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記計測値は前記撮像装置の姿勢を示すパラメータであり、
    前記判定手段は、前記センサによって計測された姿勢を示すパラメータの変化量と、前記位置姿勢導出手段によって導出された撮像装置の姿勢の差分とを比較することにより位置及び姿勢導出の失敗を判定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記姿勢を示すパラメータは傾斜角成分または方位角のいずれかであることを特徴とする請求項5または6に記載の情報処理装置。
  8. 前記計測値は前記撮像装置の位置を示すパラメータであり、
    前記判定手段は、前記位置を示すパラメータと、前記位置姿勢導出手段によって導出される撮像装置の位置姿勢のうちの位置を示すパラメータとを比較することにより前記判定を行うことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  9. 前記計測値は前記撮像装置の位置を示すパラメータであり、
    前記判定手段は、前記センサによって計測された位置を示すパラメータの変化量と、前記位置姿勢導出手段によって導出された撮像装置の位置の差分とを比較することにより位置及び姿勢導出の失敗を判定することを特徴とする請求項1乃至4、または8のいずれか1項に記載の情報処理装置。
  10. 撮像装置によって現実空間を撮像した画像を入力する画像入力工程と、
    前記撮像装置に取り付けられたセンサによって計測される前記撮像装置の位置姿勢に関する計測値を入力する計測値入力工程と、
    前記現実空間に含まれる特徴の三次元情報と前記入力された画像とに基づいて、前記撮像装置の位置姿勢を導出する位置姿勢導出工程と、
    前記計測値から得られる位置姿勢に関する情報と前記位置姿勢導出工程において導出された前記撮像装置の位置姿勢に関する情報の差分に基づいて前記位置姿勢導出手段による前記撮像装置の位置姿勢の導出が失敗したか否かを判定する判定工程と、
    前記判定手段の結果を出力する出力工程とを備える情報処理方法。
  11. コンピュータを、請求項1乃至9のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2015157603A 2015-08-07 2015-08-07 情報処理装置、情報処理方法、プログラム Active JP6584208B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015157603A JP6584208B2 (ja) 2015-08-07 2015-08-07 情報処理装置、情報処理方法、プログラム
US15/229,010 US10204445B2 (en) 2015-08-07 2016-08-04 Information processing apparatus, method, and storage medium for determining a failure of position and orientation measurement of an image capturing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015157603A JP6584208B2 (ja) 2015-08-07 2015-08-07 情報処理装置、情報処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2017036970A JP2017036970A (ja) 2017-02-16
JP6584208B2 true JP6584208B2 (ja) 2019-10-02

Family

ID=58048505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015157603A Active JP6584208B2 (ja) 2015-08-07 2015-08-07 情報処理装置、情報処理方法、プログラム

Country Status (2)

Country Link
US (1) US10204445B2 (ja)
JP (1) JP6584208B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018140035A (ja) * 2017-02-28 2018-09-13 株式会社サンセイアールアンドディ 遊技機
US20180350145A1 (en) * 2017-05-30 2018-12-06 Reston Restoration Augmented Reality Devices and Methods Thereof for Rendering Virtual Objects
US10534962B2 (en) 2017-06-17 2020-01-14 Matterport, Inc. Automated classification based on photo-realistic image/model mappings
DE102017217008A1 (de) * 2017-09-26 2019-03-28 Robert Bosch Gmbh Verfahren zum Ermitteln der Steigung einer Fahrbahn
WO2019230920A1 (ja) * 2018-06-01 2019-12-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11003939B2 (en) * 2018-07-06 2021-05-11 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP7319350B2 (ja) * 2018-07-23 2023-08-01 マジック リープ, インコーポレイテッド マッピングのためのシステムおよび方法
US10664997B1 (en) * 2018-12-04 2020-05-26 Almotive Kft. Method, camera system, computer program product and computer-readable medium for camera misalignment detection
WO2020152779A1 (ja) * 2019-01-22 2020-07-30 株式会社テクリコ 高次脳機能障害用のリハビリテーションシステム及び画像処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281504A (ja) * 2002-03-22 2003-10-03 Canon Inc 撮像部位置姿勢推定装置及びその制御方法並びに複合現実感提示システム
US20040017506A1 (en) * 2002-07-26 2004-01-29 Livingston Kris R. Camera having camera orientation sensing capability
JP4593968B2 (ja) * 2004-05-14 2010-12-08 キヤノン株式会社 位置姿勢計測方法および装置
JP2005326275A (ja) * 2004-05-14 2005-11-24 Canon Inc 情報処理方法および装置
US7756415B2 (en) * 2006-11-13 2010-07-13 Honeywell International Inc. Method and system for automatically estimating the spatial positions of cameras in a camera network
US20140254864A1 (en) * 2013-03-07 2014-09-11 Google Inc. System and method for gesture detection through local product map
JP6397269B2 (ja) * 2013-09-06 2018-09-26 キヤノン株式会社 画像処理装置、画像処理方法

Also Published As

Publication number Publication date
US10204445B2 (en) 2019-02-12
US20170039718A1 (en) 2017-02-09
JP2017036970A (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6584208B2 (ja) 情報処理装置、情報処理方法、プログラム
CN110009681B (zh) 一种基于imu辅助的单目视觉里程计位姿处理方法
JP7326720B2 (ja) 移動体位置推定システムおよび移動体位置推定方法
US7467061B2 (en) Information processing method and apparatus for finding position and orientation of targeted object
Rambach et al. Learning to fuse: A deep learning approach to visual-inertial camera pose estimation
US8823779B2 (en) Information processing apparatus and control method thereof
US20070092161A1 (en) Information processing method and information processing apparatus
US10438412B2 (en) Techniques to facilitate accurate real and virtual object positioning in displayed scenes
JP2013186816A (ja) 動画処理装置、動画処理方法および動画処理用のプログラム
US11348323B2 (en) 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
JP5774226B2 (ja) 方位センサに基づくホモグラフィ分解の曖昧性の解決
EP3633606B1 (en) Information processing device, information processing method, and program
US11504608B2 (en) 6DoF inside-out tracking game controller
CN113190120B (zh) 位姿获取方法、装置、电子设备及存储介质
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP2010066595A (ja) 環境地図生成装置及び環境地図生成方法
JP5267100B2 (ja) 運動推定装置及びプログラム
WO2022018811A1 (ja) 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
Schill et al. Estimating ego-motion in panoramic image sequences with inertial measurements
Artemciukas et al. Kalman filter for hybrid tracking technique in augmented reality
KR101126415B1 (ko) 모바일 기기에서의 증강공간 제공 가속 장치
EP4292777A1 (en) Assistance system, image processing device, assistance method and program
US20240337747A1 (en) Sensor apparatus with multiple sensors for moving agent
US20210295557A1 (en) Device and method for position determination in a 3d model of an environment
CN115526931A (zh) 一种单目初始化方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190903

R151 Written notification of patent or utility model registration

Ref document number: 6584208

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151