JP2017005532A - カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム - Google Patents

カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム Download PDF

Info

Publication number
JP2017005532A
JP2017005532A JP2015118360A JP2015118360A JP2017005532A JP 2017005532 A JP2017005532 A JP 2017005532A JP 2015118360 A JP2015118360 A JP 2015118360A JP 2015118360 A JP2015118360 A JP 2015118360A JP 2017005532 A JP2017005532 A JP 2017005532A
Authority
JP
Japan
Prior art keywords
camera
orientation
image
posture estimation
estimation
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.)
Granted
Application number
JP2015118360A
Other languages
English (en)
Other versions
JP6464934B2 (ja
Inventor
厚憲 茂木
Atsunori Mogi
厚憲 茂木
山口 伸康
Nobuyasu Yamaguchi
伸康 山口
吉武 敏幸
Toshiyuki Yoshitake
敏幸 吉武
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015118360A priority Critical patent/JP6464934B2/ja
Priority to US15/098,039 priority patent/US10088294B2/en
Publication of JP2017005532A publication Critical patent/JP2017005532A/ja
Application granted granted Critical
Publication of JP6464934B2 publication Critical patent/JP6464934B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • 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/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Details Of Cameras Including Film Mechanisms (AREA)
  • Studio Devices (AREA)

Abstract

【課題】カメラの位置姿勢を推定することができる。
【解決手段】カメラ姿勢推定装置100は、カメラが並進移動を含むか否かを判定し、並進移動を含む場合にはimage-to-map手法を選択して、復帰処理を行う。カメラ姿勢推定装置100は、並進移動を含まない場合には、その場回転が主としてどの方向周りに回っているかを判定し、光軸周りであれば、image-to-map手法によって復帰処理を行い、それ以外であれば、image-to-image手法によって復帰処理を行う。
【選択図】図4

Description

本発明は、カメラ姿勢推定装置等に関する。
PC(Personal Computer)・携帯端末等に装着されるカメラの位置姿勢を求める方法が開示されている。また、求めたカメラの位置姿勢を用いて、PC・携帯端末の画面に表示された撮影画像に付加情報を重畳表示させ、ユーザの作業支援を実現するための技術も開示されている。
画面から時々刻々のカメラ位置姿勢を推定する従来技術として、例えば、画像内に含まれる特徴点を利用するものがある。特徴点を用いる従来技術では、予め対象物に関する3次元座標のマップを作成しておき、現在の画像中に存在する特徴点とマップの点群とを毎時間対応付けることにより、カメラの位置姿勢を推定する。
図13は、カメラの位置姿勢を求める従来技術を説明するための図である。図13に示す例では、マップ点S〜Sが存在するものとする。あるマップ点Sは、世界座標系で、式(1)によって示される。画像20上には、特徴点x〜xが存在するものとする。ある特徴点xは、カメラ座標系で、式(2)によって示される。撮影画像20上に投影したマップ点を、投影点x’〜x’とする。ある投影点x’は、カメラ座標系で、式(3)によって示される。
=(x,y,z)・・・(1)
=(u,v)・・・(2)
’=(u’,v’)・・・(3)
例えば、従来技術では、式(4)によって算出される二乗和Eが最小となるようなカメラ位置姿勢行列Mを算出することで、カメラの位置姿勢を求める。
ここで、ユーザが作業中の場合、カメラの位置姿勢が頻繁に変化するため、カメラの位置姿勢の推定が一時的にロストする状態となる場合がある。例えば、ユーザが携帯端末を下に下ろした場合には携帯端末に装着されているカメラも下を向く。カメラの撮影画像には、対象物に含まれる特徴点が検出されなくなるため、一時的にカメラの位置姿勢を検出することができなくなる。
カメラの位置姿勢を検出していない状態から、再びカメラを対象物に向けたとき、カメラの位置姿勢を推定する処理を再開する処理を復帰処理とよび、複数の従来技術が存在する。例えば、復帰処理には、image-to-image手法を用いる技術と、image-to-map手法を用いる技術とがある。
image-to-image手法について説明する。image-to-image手法は、復帰処理において、キーフレームを用いる。キーフレームは、カメラの位置姿勢値とその時のカメラの撮影画像とを対応付けた情報である。予め取得した3次元マップを用いて、ユーザはカメラの位置姿勢の推定中にキーフレームを蓄積しておく。image-to-image手法は、カメラの位置姿勢をロストした場合には、現在のカメラの撮影画像と最類似のキーフレームを探索し、探索したキーフレームと現在のカメラとの間の相対的な位置姿勢を推定し、現在のカメラの位置姿勢を求める。image-to-image手法は、上記のように、2画像から復帰処理を行うものである。
image-to-image手法の利点について説明する。image-to-image手法は、高速な復帰処理が可能である。
image-to-image手法の欠点について説明する。image-to-image手法は、復帰処理の確実性を向上させるために、あらかじめ分布させるキーフレーム数を増加させ、分布の偏りを少なくする必要がある。ユーザの作業支援を想定した場合、image-to-image手法に詳しくないユーザが、高度なキーフレームの蓄積を行うため、非効率である。
image-to-image手法は、最類似のキーフレームと現在のカメラの位置関係によっては、復帰できない。2画像から相対姿勢を求めるimage-to-image手法では、カメラ間の相対的な回転運動のみしか推定できず、並進運動を推定できない。
image-to-map手法について説明する。image-to-map手法では、復帰処理に特徴点ごとの局所特徴量を用いる。image-to-map手法では、現在のカメラの撮影画像内の特徴点とマップ点とを、局所特徴量のマッチングによって対応付ける。image-to-map手法では、3点以上の特徴点−マップ点の対応ペアを見つけることができれば、PnP(Perspective N-Point)アルゴリズムによって現在のカメラの位置姿勢を推定することができる。image-to-map手法は、上記のように、撮影画像の特徴点とマップ点とを対応付けて復帰処理を行うものである。
image-to-map手法の利点について説明する。image-to-map手法は、image-to-image手法と比較して少ないキーフレーム数で位置姿勢を推定することができる。
image-to-map手法の欠点について説明する。image-to-map手法は、復帰処理にかかる処理コストがimage-to-image手法と比較して大きい。例えば、image-to-map手法では、全てのキーフレームに対して局所特徴量の抽出およびマッチングを行うため、処理コストが大きくなる。
image-to-map手法は、現在のカメラの位置関係によっては、復帰できない。例えば、アフィン不変でない特徴量は、カメラの向きが対象物に対して斜め方向でないと、特徴量のマッチングに失敗する。
特開2011−130180号公報
しかしながら、上述した従来技術では、カメラの位置姿勢を正確に推定することができないという問題がある。
上記のように、image-to-image手法およびimage-to-map手法は一長一短であり、カメラの位置姿勢によっては、カメラの位置姿勢を推定することが難しい。このため、多様なカメラの位置姿勢に対応して、カメラの位置姿勢を推定することが求められる。
1つの側面では、本発明は、カメラの位置姿勢を推定することができるカメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラムを提供することを目的とする。
第1の案では、カメラ姿勢推定装置は、判定部を有する。判定部は、カメラによって撮影された画像データを基にして、カメラが並進移動したか否かおよびカメラがカメラの光軸方向の周りを回転したか否かを判定する。判定部は、カメラが並進移動しておらず、かつ、カメラが光軸周りを回転していない場合には、撮影時の画像データと、カメラの位置姿勢に関連付けられた画像データとを基にして、カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定する。判定部は、カメラが並進移動している場合に、または、カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係からカメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する。
カメラの位置姿勢を正確に推定することができる。
図1は、発明者が考案したimage-to-image手法とimage-to-map手法との切り替えに関するアイデアを説明するための図である。 図2は、3次元マップのデータ構造の一例を示す図である。 図3は、キーフレームテーブルのデータ構造の一例を示す図である。 図4は、本実施例にかかるカメラ姿勢推定装置の構成を示す機能ブロック図である。 図5は、マッチング結果の一例を示す図である。 図6は、本実施例1にかかるカメラ姿勢推定装置の処理手順を示すフローチャートである。 図7は、本実施例2にかかるカメラ姿勢推定装置の構成を示す図である。 図8は、本実施例2で対象とするマーカの一例を示す図である。 図9は、本実施例2にかかるカメラ姿勢推定装置の処理手順を示すフローチャートである。 図10は、その他の実施例にかかるカメラ姿勢推定装置の処理手順を示すフローチャートである。 図11は、DLT法に基づく初期位置推定の課題を説明するための図である。 図12は、カメラ姿勢推定プログラムを実行するコンピュータの一例を示す図である。 図13は、カメラの位置姿勢を求める従来技術を説明するための図である。
以下に、本願の開示するカメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、発明者が考案したimage-to-image手法とimage-to-map手法との切り替えに関するアイデアを説明するための図である。図1において、「マル」は、該当する手法でカメラの位置姿勢を推定可能であることを示し、「バツ」は、該当する手法でカメラの位置姿勢を推定することができないことを示す。「三角」は、条件つきで、該当する手法でカメラの位置姿勢を推定することができることを示す。
例えば、image-to-image手法は、過去のキーフレームと現在のカメラ位置との相対的な回転運動のみを推定するため、並進運動に未対応である。
一方、その場回転のみを含む場合には、カメラの光軸周りの回転と光軸に垂直な軸周りの回転で、対応関係に差がある。光軸周りについては、image-to-image手法でも少しの回転であれば対応が可能であるが、image-to-image手法よりもimage-to-map手法の方が望ましい。
光軸に垂直な軸周りに関して、image-to-image手法は対応可能である。しかし、光軸に垂直な軸周りに関して、image-to-map手法は、特徴量がアフィン不変でない限り、微少な回転しか対応することができない。
並進と回転とが融合した動きに関しては、並進移動を含むためimage-to-image手法は未対応であり、image-to-map手法は、特徴量がアフィン不変でない限り、微少な回転しか対応できない。
図1を用いて説明した内容に鑑み、本実施例1にかかるカメラ姿勢推定装置は、カメラが並進移動を含むか否かを判定し、並進移動を含む場合にはimage-to-map手法を選択して、復帰処理を行う。カメラ姿勢推定装置は、並進移動を含まない場合には、その場回転が主としてどの方向周りに回っているかを判定し、光軸周りであれば、image-to-map手法によって復帰処理を行い、それ以外であれば、image-to-image手法によって復帰処理を行う。これによって、カメラ姿勢推定装置によれば、移動前のカメラの位置と、移動後のカメラの位置との関係がどのような位置関係であっても、カメラの位置姿勢を推定可能とし、適切な復帰処理を実行することができる。
ここで、本実施例1にかかるカメラ姿勢推定装置は、3次元マップおよびキーフレームテーブルを予め作成しておき、カメラの位置姿勢を推定する場合に利用する。以下において、3次元マップを作成する方法と、キーフレームテーブルを作成する方法について順に説明する。
3次元マップを生成する処理について説明する。カメラ姿勢推定装置は、カメラの位置姿勢を推定する前に、AR(Augmented Reality)機能を使用する対象機器周辺の自然特徴点の3次元座標を測定しておく。作成方法は、以下の通りである。以下の説明では、3次元空間の自然特徴点を適宜、マップ点と表記する。また、画像上のマップ点を、特徴点と表記する。
カメラ姿勢推定装置は、カメラを用いて異なる視点から2つの画像を撮影する。カメラ姿勢推定装置は、2つの画像からマップ点に対応する特徴点を抽出し、2画像間で同一の特徴点のマッチングを行う。例えば、特徴点は、着目点の近傍での濃淡変動が大きく、濃淡変動によって着目点の画像上の位置が一意に規定されることを基準として検出される。
特徴点の抽出、マッチングには、SIFT、SURF、ORB等の処理を利用する。例えば、SIFTの処理は、非特許文献「D. G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, Vol.60, No.2, pp.91-110 (2004)」に記載された処理を行っても良い。
カメラ姿勢推定装置は、マッチング済みの特徴点ペアを用いて、2画像間で8点アルゴリズムに基づき基礎行列を算出する。カメラ姿勢推定装置は、基礎行列および特徴点の三角測量を用いて、マップ点の3次元座標を取得することで、3次元マップを生成する。
例えば、カメラ姿勢推定装置は、8点アルゴリズムの処理として、非特許文献「R.I.Hartley, In defense of the eight-point algorithm, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.19, No.6, pp.580-593 (1997)」に記載されている処理を用いても良い。カメラ姿勢推定装置は、三角測量の処理として、非特許文献「R.I.Hartley et al., Triangulation, Computer Vision and Image Understanding, Vol.68, No.2, pp.146-157 (1997)」に記載された処理を実行しても良い。
図2は、3次元マップのデータ構造の一例を示す図である。図2に示すように、3次元マップは、番号と、X、Y、Zと、特徴量とを対応付ける。図2において、番号は、マップ点を一意に特定する番号である。図2に示す例では、3次元マップに68個のマップ点が含まれる。X、Y、Zは、マップ点の3次元座標を示す。特徴量は、マップ点に対応する画像上の特徴点の特徴量である。例えば、特徴量は、特徴点周辺の画素値であってもよい。世界座標の原点は、上記の処理方法を用いると、1番目のカメラ視点がそのまま世界座標の原点となる。
次に、キーフレームテーブルを作成する処理について説明する。カメラ姿勢推定装置は、3次元マップに加えて、事前に取得された3次元マップを用いて、カメラの位置姿勢を後述の方法で算出する。カメラ姿勢推定装置は、カメラ姿勢推定が安定している間にカメラに撮影された撮影画像と、かかる撮影画像を撮影した時点のカメラの位置姿勢とを対応付けた情報を、キーフレームとしてキーフレームテーブルに保存する。カメラ姿勢推定装置は、下記の条件1〜条件3を全て満たしている場合に、キーフレームとして追加する。
最後にキーフレームを追加した時刻から一定時間が過ぎている・・・(条件1)
カメラの位置姿勢の推定値が高品質である・・・(条件2)
最近傍のキーフレーム間のユークリッド距離がある閾値以上である・・・(条件3)
条件1における一定時間は、例えば660msである。条件2において、推定値が高品質であるか否かを判定する処理は、後述する。条件3の閾値は、例えば、予め作成した3次元マップの2つのカメラの間の距離と同一の値となる。
図3は、キーフレームテーブルのデータ構造の一例を示す図である。図3に示すように、このキーフレームテーブルは、番号と、位置姿勢と、撮影画像とを対応付ける。図3において、番号は、キーフレームを一意に識別する番号である。位置姿勢は、カメラの位置姿勢を示すものである。撮影画像は、カメラによって撮影された画像データである。図3に示す例では、キーフレームテーブルに25個のキーフレームが含まれる。
例えば、カメラの位置姿勢は6次元(r1,r2,r3,t1,t2,t3)で表される。このうち、(r1,r2,r3)は世界座標におけるカメラの姿勢を示す。(t1,t2,t3)は、世界座標におけるカメラの位置を示す。
次に、本実施例1にかかるカメラ姿勢推定装置の構成について説明する。図4は、本実施例にかかるカメラ姿勢推定装置の構成を示す機能ブロック図である。図4に示すように、カメラ姿勢推定装置100は、カメラ50に接続される。カメラ姿勢推定装置100は、画像取得部110と、特徴点抽出部120と、カメラ姿勢推定部130と、品質判定部140とを有する。また、カメラ姿勢推定装置100は、前処理部150と、判定部160と、第1復帰処理部170と、第2復帰処理部180とを有する。
カメラ50は、PC、携帯端末に装着された単眼RGB(Red Green Blue)カメラである。カメラ50は、任意の視点の画像を撮影し、撮影画像を画像取得部110に出力する。
画像取得部110は、カメラ50に接続され、カメラ50から撮影画像を取得する処理部である。画像取得部110は、撮影画像を特徴点抽出部120に出力する。
特徴点抽出部120は、撮影画像から特徴点を抽出する処理部である。例えば、特徴点抽出部120は、SIFT、SURF、ORB等の処理を実行することで、特徴点を抽出する。特徴点抽出部120は、特徴点の情報を、カメラ姿勢推定部130に出力する。特徴点の情報は、例えば、撮影画像から抽出した各特徴点の2次元座標、特徴量が含まれる。
カメラ姿勢推定部130は、特徴点抽出部120から取得した特徴点の情報と、図2に示した3次元マップとを基にして、特徴点とマップ点とのマッチングを行い、マッチング結果を基にして、カメラ50の位置姿勢を推定する処理部である。
カメラ姿勢推定部130が、マップ点と特徴点とをマッチングする処理の一例について説明する。カメラ姿勢推定部130は、前回推定したカメラ50の位置姿勢を用いて、特徴点が、3次元マップのどのマップ点に対応するのかを判定する。カメラ姿勢推定部130は、直前の時刻において、マップ点が撮影画像上に投影される座標を、式(5)により求める。以下の説明において、撮影画像上に投影されたマップ点を適宜、投影点と表記する。
式(5)において、Aは、3行3列の行列であり、カメラ50の内部パラメータに対応する。利用者は、非特許文献「Z.Zhang, A flexible new technique for camera calibration, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pp.1330-1334 (2000)」に基づいて、事前にカメラ50のキャリブレーションを行っておく。
式(5)において、(R|t)は、前回推定したカメラ50の位置姿勢を、式(6)に示すロドリゲス変換の公式を用いて3行3列の回転行列Rと並進ベクトルtに変換した値を融合した3行4列の行列である。(u,v)は、マップ点を撮影画像上に投影した場合の投影点の2次元座標である。(X,Y,Z)は、各マップ点の3次元座標である。
式(6)において、Iは単位行列を示す。θは、式(7)によって定義される。rは、式(8)によって定義される。
カメラ姿勢推定部130は、各投影点に対してある閾値の範囲内に存在する現時刻の撮影画像の特徴点との距離をそれぞれ計算する。カメラ姿勢推定部130は、距離が最小となる投影点と特徴点とを特定し、特定した投影点に対応するマップ点と、特徴点とをペアとする。カメラ姿勢推定部130は、全ての投影点について上記処理を繰り返し実行し、投影点に対応するマップ点と、現時刻の撮影画像の特徴点とのマッチングを行う。閾値を例えば、20pixelとする。
カメラ姿勢推定部130は、マッチングを行った後に、カメラ50の位置姿勢を推定する処理を実行する。カメラ姿勢推定部130は、3点以上の特徴点とマップ点とのペアが存在する場合、PnPアルゴリズムを用いてカメラの位置姿勢を推定する。例えば、カメラ姿勢推定部130は、非特許文献「V.Lepetit et al., EPnP: An Accurate O(n) Solution to the PnP Problem, International Journal of Computer Vision, Vol.81, Issue 2, pp.155-166 (2008)」に記載されたPnPアルゴリムを用いて、位置姿勢を推定しても良い。
また、カメラ姿勢推定部130は、式(4)を用いて、カメラ50の位置姿勢を推定しても良い。カメラ姿勢推定部130は、式(4)によって示される二乗和Eが最小となるようなカメラの位置姿勢行列Mを算出することで、カメラの位置姿勢を求める。カメラ姿勢推定部130は、カメラ50の位置姿勢の情報と、マッチングしたペアの数の情報とを品質判定部140に出力する。
品質判定部140は、カメラ姿勢推定部130によって推定されたカメラ50の位置姿勢の品質を判定する処理部である。例えば、品質判定部140は、3次元マップに含まれるマップ点の総数に対するマッチングしたペアの数の割合を算出する。品質判定部140は、算出した割合が所定の割合以上である場合には、カメラ50の位置姿勢の推定値が高品質であると判定する。一方、品質判定部140は、算出した割合が所定の割合未満である場合には、カメラ50の位置姿勢の推定値が低品質であると判定する。例えば、所定の割合を3割とする。
品質判定部140は、カメラ50の位置姿勢の推定値が高品質であると判定した場合には、現時刻のカメラ50の位置姿勢を、カメラ姿勢推定部130によって推定された位置姿勢であると確定し、所定の記憶部に記憶する。
品質判定部140は、カメラ50の位置姿勢の推定値が低品質であると判定した場合には、前処理部150に対して、復帰処理要求を出力する。
前処理部150は、品質判定部140から復帰処理要求を取得した場合に、現時刻の撮影画像と、図3に示したキーフレームテーブルとを比較して、基準キーフレームを探索する処理部である。前処理部150は、基準キーフレームの情報を、判定部160に出力する。
前処理部150は、現時刻の撮影画像と、キーフレームテーブルとを比較して、現時刻の撮影画像に最も類似する撮影画像を含むキーフレームを、基準キーフレームとして特定する。前処理部150は、基準キーフレームの情報を、第1復帰処理部170、判定部160に出力する。
ここで、前処理部150が現時刻の撮影画像と最も類似した撮影画像を有するキーフレームを探索する処理の一例について説明する。前処理部150は、現在の撮影画像と各キーフレームの撮影画像を所定のサイズに縮小し、ガウシアンフィルタによりぼかした状態で、各画素についてSSD(Sum of Squared Distance)を計算し、最もSSDの値が小さいキーフレームを基準キーフレームとして特定する。
判定部160はimage-to-image手法によって復帰処理を行うのか、Image-to-map手法によって復帰処理を行うのかを判定する処理部である。判定部160は、Image-to-image手法によって復帰処理を行うと判定した場合には、第1復帰処理部170に対して復帰処理要求を行う。判定部160は、image-to-map手法によって復帰処理を行うと判定した場合には、第2復帰処理部180に対して復帰処理要求を行う。下記において、判定部160の処理について具体的に説明する。
判定部160は、まず、基準キーフレームのカメラ50の位置と現在のカメラ50の位置との位置関係に並進成分が含まれるか否かを判定する。判定部160は、位置関係に並進成分が含まれている場合には、image-to-map手法で復帰処理を行うと判定する。
判定部160は、位置関係に並進成分が含まれていない場合には、カメラ50の光軸周りの回転が含まれるか否かを判定する。判定部160は、光軸周りの回転が含まれている場合には、image-to-map手法で復帰処理を行うと判定する。判定部160は、位置関係に並進成分が含まれておらず、かつ、光軸周りの回転が含まれていない場合には、image-to-image手法で復帰処理を行うと判定する。
ここで、位置関係に並進成分が含まれるか否かを判定する処理の一例について説明する。判定部160は、GRIC(Geometric Robust Information Criteria)と呼ばれる指標を用いて、位置関係に並進成分が含まれるか否かを判定する。GRICに関する処理は、非特許文献「P.H.S.Torr et al., The Problem of Degeneracy in Structure and Motion Recovery from Uncalibrated Image Sequences, International Journal of Computer Vision, Vol.32, No.1, pp.27-44 (1999)」に記載されている。
GRICは、情報量基準の一種であり、幾何モデルの適合度を評価するための指標である。GRICを算出する具体的な算出式は、式(9)によって示される。式(9)において、Iは対応点数を示す。eは対応点iについて、求めたモデルに基づき計算された理想的な座標との誤差を示す。σは誤差の標準偏差を示す。ρ(e )は、式(10)によって示される。式(9)に示されるλ、λ、式(10)に示されるλは、式(11)によって示される。lnは、自然対数を示すものである。
ここで、基準キーフレームの撮影画像と現在の撮影画像との2つの画像間の関係性は、カメラの位置関係により、基礎行列F、射影変換行列Hで説明可能である。例えば、その場回転のみの運動の場合、射影変換行列Hであり、並進を含む運動の場合、基礎行列Fである。
基礎行列Fのモデルでは、式(9)、(10)のm、k、rの値が、式(12)に示すものとなる。射影変換行列Hのモデルでは、m、k、rの値が、式(13)に示すものとなる。
(m,k,r)=(3,7,4)・・・(12)
(m,k,r)=(2,8,4)・・・(13)
判定部160は、現在の撮影画像と基準キーフレームの撮影画像同士で射影変換行列に基づくGRICスコアと基礎行列に基づくGRICスコアを比較することで、並進成分を含むか否かを判定する。射影変換行列に基づくGRICスコアを適宜、GRIC_Hと表記する。基礎行列に基づくGRICスコアを適宜、GRIC_Fと表記する。判定部160の具体的な判定処理は以下の通りである。
判定部160は、現在の撮影画像および基準キーフレームの撮影画像において、特徴点と特徴量とを算出し、対応点を計算する。判定部160が現在の撮影画像および基準キーフレームの撮影画像から特徴点を抽出する処理は、特徴点抽出部120が特徴点を抽出する処理と同様である。
判定部160が現在の撮影画像の特徴点と、基準キーフレームの撮影画像の特徴点とをマッチングして対応点を計算する処理は、カメラ姿勢推定部130に対応する処理を行う。例えば、判定部160は、現在の撮影画像の第1の特徴点と、基準キーフレームの撮影画像の第2の特徴点とについて、ベクトル間距離をそれぞれ計算し、ベクトル間距離が最小となる第1の特徴点と第2の特徴点との組を、対応点として特定する。
判定部160は、対応点を計算した後に、対応点を用いて、基礎行列Fと射影変換行列Hとを算出する。例えば、判定部160は、基礎行列Fを、上述した8点アルゴリズムに基づき算出する。判定部160は、射影変換行列Hを、DLT法やRANSAC法を用いて算出する。RANSAC法は、例えば、非特許文献「R.Hartley et al., Multiple View Geometry in Computer Vision, Cambridge University Press, Cambridge, U.K.(2000)」に記載された技術を用いればよい。
判定部160は、基礎行列Fによって、第1の特徴点を、基準キーフレームの撮影画像上に射影し、射影した点と、第2の特徴点との誤差を、GRIC_Fを求める場合のeの値として特定する。判定部160は、各対応点について、それぞれeの値を算出する。判定部160は、求めた各eの値と、式(9)〜式(11)、式(12)に基づいて、GRIC_Fの値を算出する。
判定部160は、射影変換行列Hによって、第1の特徴点を、基準キーフレームの撮影画像上に射影し、射影した点と、第2の特徴点との誤差を、GRIC_Hを求める場合のeの値として特定する。判定部160は、各対応点について、それぞれeの値を算出する。判定部160は、求めた各eの値と、式(9)〜式(11)、式(13)に基づいて、GRIC_Hの値を算出する。
判定部160は、GRIC_Fの値と、GRIC_Hの値とを比較する。判定部160は、GRIC_Hの値が、GRIC_Fの値よりも大きい場合に、並進成分を含むと判定する。並進成分を含むとは、前回のカメラ50の位置に対して、現在のカメラ50は、並進移動したことを意味する。判定部160は、GRIC_Hの値が、GRIC_Fの値よりも大きくない場合に、並進成分を含まないと判定する。
続いて、カメラ50の光軸周りの回転が含まれるか否かを判定する。例えば、判定部160は、回転行列から各軸に関する回転角度を求め、光軸に垂直な2つの軸周りの回転角度が規定の閾値を超えていない場合に、カメラ50の回転が、光軸周りの回転のみであると判定する。判定部160の具体的な判定処理は以下の通りである。
判定部160は、基準キーフレームの撮影画像と、現在の撮影画像との間で仮想点を2点用意し、仮想点について、射影変換行列Hを算出する。判定部160は、DLT法やRANSAC法などを用いて、射影変換行列Hを算出する。例えば、現在の撮影画像上の仮想点を第1の仮想点とし、基準キーフレームの撮影画像上の仮想点を第2の仮想点とする。
判定部160は、第1の仮想点を射影変換行列Hによって射影した基準キーフレームの撮影画像上の仮想点が、第2の仮想点に近づくように、ガウスニュートン法を用いて、カメラの回転行列R’を推定する。回転行列R’は、3行3列の行列である。
判定部160は、光軸に垂直な軸周りの角度Aを式(14)に基づき算出し、角度Aを式(15)に基づき算出する。
判定部160は、AおよびAが共に所定の閾値未満である場合に、光軸周りの回転が含まれていないと判定する。判定部160は、AまたはAのうち何れか一方が、所定の閾値以上である場合に、光軸周りの回転が含まれると判定する。
第1復帰処理部170は、判定部160から復帰処理要求を受け付けた場合に、image-to-image手法に基づき、カメラ50の位置姿勢を推定する処理部である。第1復帰処理部170は、基準キーフレームの撮影画像と、現在の撮影画像との対応関係から、現在のカメラ50の位置姿勢を推定する。
例えば、第1復帰処理部170は、式(6)と式(16)、式(17)を用いて、基準キーフレームに含まれるカメラの位置姿勢を、ロドリゲス変換により、4行4列の姿勢行列Pに変換する。
第1復帰処理部170は、カメラの回転行列R’を用いて、式(18)により、現在のカメラの位置姿勢行列Pを算出する。また、第1復帰処理部170は、式(19)に示すロドリゲス変換により、現在のカメラ50の姿勢ベクトルを算出しても良い。
第2復帰処理部180は、判定部160から復帰処理要求を受け付けた場合に、image-to-map手法に基づき、カメラ50の位置姿勢を推定する処理部である。第2復帰処理部180は、現在の撮影画像の特徴点と、3次元マップとを基にして、カメラ50の位置姿勢を推定する。
例えば、第2復帰処理部180は、現在の撮影画像の特徴点と、マップ点とのマッチングを行う。第2復帰処理部180は、判定部160によってマッチングされた結果を流用しても良いし、判定部150と同様の処理を実行しても良い。
図5は、マッチング結果の一例を示す図である。図5に示す番号、X、Y、Z、特徴量に関する説明は、図2で説明した内容と同様である。x、yは、マップ点とペアとなる特徴点の2次元座標を示す。第2復帰処理部180は、図5に示すマップ点と、特徴点とのペアを用い、PnPアルゴリズムによって、カメラの位置姿勢を推定する。
次に、本実施例1にかかるカメラ姿勢推定装置100の処理手順について説明する。図6は、本実施例1にかかるカメラ姿勢推定装置の処理手順を示すフローチャートである。図6に示すように、カメラ姿勢推定装置100の画像取得部110は、カメラ50から撮影画像を取得する(ステップS101)。
カメラ姿勢推定装置100の特徴点抽出部120は、撮影画像から特徴点を抽出する(ステップS102)。カメラ姿勢推定装置100のカメラ姿勢推定部130は、マップ点と特徴点とをマッチングし(ステップS103)、カメラの位置姿勢を推定する(ステップS104)。
カメラ姿勢推定装置100の品質判定部140は、カメラの位置姿勢の推定値の品質を判定する(ステップS105)。品質判定部140は、推定値が高品質である場合には(ステップS106,Yes)、処理を終了する。例えば、カメラ姿勢推定装置100は、ステップS106において、推定値が高品質であると判定した場合には、カメラ姿勢推定部130が推定したカメラ50の位置姿勢を、現在のカメラの位置姿勢として確定する。
一方、品質判定部140が、推定値が高品質でないと判定した場合には(ステップS106,No)、ステップS107に移行する。カメラ姿勢推定装置100の前処理部150は、基準キーフレームを探索する(ステップS107)。
カメラ姿勢推定装置100の判定部160は、並進成分を含むか否かを判定する(ステップS108)。判定部160が、並進成分を含むと判定した場合には(ステップS108,Yes)、ステップS109に移行する。カメラ姿勢推定装置100の第2復帰処理部180は、image-to-map手法により、カメラ50の位置姿勢を推定する(ステップS109)。
一方、判定部160は、並進成分を含まないと判定した場合には(ステップS108,No)、光軸方向回転を含むか否かを判定する(ステップS110)。判定部160が、光軸方向回転を含むと判定した場合には(ステップS110,Yes)、ステップS109に移行する。
判定部160が、光軸方向回転を含まないと判定した場合には(ステップS110,No)、ステップS111に移行する。カメラ姿勢推定装置100の第1復帰処理部170は、image-to-image手法により、カメラ50の位置姿勢を推定する(ステップS111)。
次に、本実施例1にかかるカメラ姿勢推定装置100の効果について説明する。カメラ姿勢推定装置100は、カメラが並進移動を含むか否かを判定し、並進移動を含む場合にはimage-to-map手法を選択して、復帰処理を行う。カメラ姿勢推定装置100は、並進移動を含まない場合には、その場回転が主としてどの方向周りに回っているかを判定し、光軸周りであれば、image-to-map手法によって復帰処理を行い、それ以外であれば、image-to-image手法によって復帰処理を行う。これによって、カメラ姿勢推定装置100によれば、移動前のカメラの位置と、移動後のカメラの位置との関係がどのような位置関係であっても、カメラの位置姿勢を正確に推定可能とし、適切な復帰処理を実行することができる。
本実施例2では、所定の形状を有するマーカに基づく復帰処理に関する実施例について説明する。本実施例2にかかるカメラ姿勢推定装置は、カメラの撮影画像から、マーカを検出した場合に、検出したマーカを用いて、カメラの位置姿勢を推定する。マーカは、他の対象物と比較して誤認識することが少ないため、image-to-image手法やimage-to-map手法と比較して、カメラ50の位置姿勢の推定精度を向上させることができる。
図7は、本実施例2にかかるカメラ姿勢推定装置の構成を示す図である。図7に示すように、このカメラ姿勢推定装置200は、カメラ50に接続される。カメラ姿勢推定装置200は、画像取得部210と、マーカ検出部215と、特徴点抽出部220と、カメラ姿勢推定部230と、品質判定部240とを有する。また、カメラ姿勢推定装置200は、前処理部250と、判定部260と、第1復帰処理部270と、第2復帰処理部280と、第3復帰処理部290とを有する。
画像取得部210は、カメラ50に接続され、カメラ50から撮影画像を取得する処理部である。画像取得部210は、撮影画像を特徴点抽出部220およびマーカ検出部215に出力する。
マーカ検出部215は、撮影画像からマーカを検出する処理部である。マーカ検出部215は、撮影画像からマーカを検出した場合には、マーカを検出した旨の情報を、判定部260に出力する。また、マーカ検出部215は、マーカを含む撮影画像を、第3復帰処理部290に出力する。
図8は、本実施例2で対象とするマーカの一例を示す図である。図8に示すように、マーカ60は矩形状であり、矩形の内側にはマーカ60のIDを特定するためのパターンが印刷されている。例えば、マーカ検出部215は、非特許文献「H.Kato et al., Marker Tracking and HMD Calibration for a Video-based Augmented Reality Conferencing System (IWAR), pp.85-94, 1999.」に記載された技術を用いても良い。
マーカ検出部215は、下記の処理を行うことで、マーカ60の4隅60a,60b,60c,60dの画像上での座標を検出する。マーカ検出部215は、撮影画像を白黒に二値化する。マーカ検出部215は、二値化した撮影画像に対してラベリングを実行し、輪郭を抽出する。マーカ検出部215は、輪郭から4隅を持つ四角形を抽出する。マーカ検出部215は、抽出した四角形と、所定のパターンのテンプレートマッチングを行い、所定のパターンと一致する四角形を、マーカとして検出する。
特徴点抽出部220、カメラ姿勢推定部230、品質判定部240、前処理部250に関する説明は、図4に示した特徴点抽出部120、カメラ姿勢推定部130、品質判定部140、前処理部150に関する説明と同様である。第1復帰処理部270、第2復帰処理部280に関する説明は、図4に示した第1復帰処理部170、第2復帰処理部180に関する説明と同様である。
判定部260は、image-to-image手法によって復帰処理を行うのか、image-to-map手法によって復帰処理を行うのか、マーカを用いて復帰処理を行うのかを判定する処理部である。判定部260は、マーカ検出部215から、マーカを検出した旨の情報を受け付けた場合に、第3復帰処理部290に対して、復帰処理要求を行う。判定部260に関するその他の処理は、図4に示した判定部160に関する処理と同様である。
第3復帰処理部290は、判定部260から復帰処理要求を受け付けた場合に、マーカを用いてカメラ50の位置姿勢を推定する処理部である。例えば、第3復帰処理部290は、マーカに基づいてカメラ50の位置姿勢を推定する如何なる従来技術を利用してもよい。以下において、第3復帰処理部290の処理の一例について説明する。例えば、第3復帰処理部290は、回転行列Rの推定、平行移動成分の推定、回転移動成分のベクトル化を順に行うことで、カメラ50の位置姿勢を推定する。
3行3列の回転行列Rを推定する処理について説明する。第3復帰処理部290は、マーカ検出部215と同様の処理を実行して、撮影画像に含まれるマーカの4隅を検出する。第3復帰処理部290は、マーカの4隅から、マーカが含まれる方向ベクトルV、Vを算出する。第3復帰処理部290は、V、Vに直交する単位ベクトルVを算出する。回転行列Rは式(20)によって表すことができる。
R=[V1,V2,V3]・・・(20)
3行1列の平行移動成分を推定する処理について説明する。第3復帰処理部290は、回転行列Rを、式(21)、式(22)に代入することで、W、W、Wに関する連立方程式を得る。第3復帰処理部290は、連立方程式を最小二乗法により解くことで、3行1列の平行移動成分[W1,W2,W3]を得る。例えば、第3復帰処理部290は、上記のH.Katoの非特許文献に記載された技術を用いて、平行移動成分を得る。
回転移動成分のベクトル化について説明する。第3復帰処理部290は、3行3列の回転行列Rを、式(6)を基にして、3次元のベクトルrに変換する。第3復帰処理部290は、上記の平行移動成分[W1,W2,W3]と、ベクトルrを、カメラ50の位置姿勢として推定する。
次に、本実施例2にかかるカメラ姿勢推定装置200の処理手順について説明する。図9は、本実施例2にかかるカメラ姿勢推定装置の処理手順を示すフローチャートである。図9に示すように、カメラ姿勢推定装置200の画像取得部210は、カメラ50から撮影画像を取得する(ステップS201)。
カメラ姿勢推定装置200の特徴点抽出部220は、撮影画像から特徴点を抽出する(ステップS202)。カメラ姿勢推定装置200のカメラ姿勢推定部230は、マップ点と特徴点とをマッチングし(ステップS203)、カメラの位置姿勢を推定する(ステップS204)。
カメラ姿勢推定装置200の品質判定部240は、カメラの位置姿勢の推定値の品質を判定する(ステップS205)。品質判定部240は、推定値が高品質である場合には(ステップS206,Yes)、処理を終了する。例えば、カメラ姿勢推定装置200は、ステップS206において、推定値が高品質であると判定した場合には、カメラ姿勢推定部230が推定したカメラ50の位置姿勢を、現在のカメラの位置姿勢として確定する。
一方、品質判定部240が、推定値が高品質でないと判定した場合には(ステップS206,No)、ステップS207に移行する。カメラ姿勢推定装置200のマーカ検出部215は、マーカが存在する場合には(ステップS207,Yes)、ステップS208に移行し、マーカが存在しない場合には(ステップS207,No)、ステップS209に移行する。カメラ姿勢推定装置200の前処理部250は、基準キーフレームを探索する(ステップS209)。
ステップS208において、カメラ姿勢推定装置200は、マーカの検出結果に基づき、カメラの位置姿勢を推定する(ステップS208)。
カメラ姿勢推定装置200の判定部260は、並進成分を含むか否かを判定する(ステップS210)。判定部260が、並進成分を含むと判定した場合には(ステップS210,Yes)、ステップS212に移行する。カメラ姿勢推定装置200の第2復帰処理部280は、image-to-map手法により、カメラ50の位置姿勢を推定する(ステップS212)。
一方、判定部260は、並進成分を含まないと判定した場合には(ステップS210,No)、光軸方向回転を含むか否かを判定する(ステップS211)。判定部260が、光軸方向回転を含むと判定した場合には(ステップS211,Yes)、ステップS212に移行する。
判定部260が、光軸方向回転を含まないと判定した場合には(ステップS211,No)、ステップS213に移行する。カメラ姿勢推定装置200の第1復帰処理部270は、image-to-image手法により、カメラ50の位置姿勢を推定する(ステップS213)。
次に、本実施例2にかかるカメラ姿勢推定装置200の効果について説明する。カメラ姿勢推定装置200は、カメラの撮影画像から、マーカを検出した場合に、検出したマーカを用いて、カメラの位置姿勢を推定する。マーカは、他の対象物と比較して誤認識することが少ないため、image-to-image手法やimage-to-map手法と比較して、カメラ50の位置姿勢の推定精度を向上させることができる。
次に、その他の実施例について説明する。実施例1、2では品質判定部140,240により姿勢推定の品質を判断し、復帰処理の実行を判断していた。しかし、推定値が閾値以下でもカメラ姿勢推定自体には成功している場合も存在する。もしそのような場合に復帰処理に入り、誤った復帰結果を適用してしまうと、その状態でロストが発生する場合がある。例えば、特徴点に誤対応が発生していると、復帰処理の推定結果に誤差が生じる。そのため、カメラ姿勢推定装置100,200は、復帰処理で特定した位置姿勢の妥当性を更に判定しても良い。
ここでは、図4に示したカメラ姿勢推定装置100を用いて、その他の実施例について説明する。品質判定部140は、あらかじめ前の時刻の復帰結果のカメラ50の位置姿勢と、復帰処理を行わなかった場合のカメラ50の位置姿勢とを保持しておく。そして、品質判定部140は、双方を適用してマッチングおよびカメラの位置姿勢の推定を行い、品質判定を行う。品質判定部140は、位置姿勢の推定値が高かった方のマッチングおよびカメラ50の位置姿勢の推定結果を用いて、以後の処理を行う。
図10は、その他の実施例にかかるカメラ姿勢推定装置の処理手順を示すフローチャートである。なお、図10に示す処理を実行する前に、図6で説明した処理が少なくとも1回実行されているものとする。図10に示すように、カメラ姿勢推定装置100の画像取得部110は、カメラ50から撮影画像を取得する(ステップS301)。
カメラ姿勢推定装置100の特徴点抽出部120は、撮影画像から特徴点を抽出する(ステップS302)。カメラ姿勢推定装置100のカメラ姿勢推定部130は、復帰処理を行わない前回のカメラの位置姿勢を用いて、マッチングを行い、カメラの位置姿勢を推定し、推定値の品質を判定する(ステップS303)。
カメラ姿勢推定装置100のカメラ姿勢推定部130は、復帰処理を行った前回のカメラの位置姿勢を用いて、マッチングを行い、カメラの位置姿勢を推定し、推定値の品質を判定する(ステップS304)。カメラ姿勢推定装置100の品質判定部140は、品質が高い方の結果を保存する(ステップS305)。
品質判定部140は、推定値が高品質である場合には(ステップS306,Yes)、処理を終了する。例えば、カメラ姿勢推定装置100は、ステップS306において、推定値が高品質であると判定した場合には、ステップS305で保存したカメラ50の位置姿勢を、現在のカメラの位置姿勢として確定する。
一方、品質判定部140が、推定値が高品質でないと判定した場合には(ステップS306,No)、ステップS307に移行する。カメラ姿勢推定装置100の前処理部150は、基準キーフレームを探索する(ステップS307)。
カメラ姿勢推定装置100の判定部160は、並進成分を含むか否かを判定する(ステップS308)。判定部160が、並進成分を含むと判定した場合には(ステップS308,Yes)、ステップS309に移行する。カメラ姿勢推定装置100の第2復帰処理部180は、image-to-map手法により、カメラ50の位置姿勢を推定する(ステップS309)。
一方、判定部160は、並進成分を含まないと判定した場合には(ステップS308,No)、光軸方向回転を含むか否かを判定する(ステップS310)。判定部160が、光軸方向回転を含むと判定した場合には(ステップS310,Yes)、ステップS309に移行する。
判定部160が、光軸方向回転を含まないと判定した場合には(ステップS310,No)、ステップS311に移行する。カメラ姿勢推定装置100の第1復帰処理部170は、image-to-image手法により、カメラ50の位置姿勢を推定する(ステップS311)。
図10に示したように、カメラ姿勢推定装置100は、復帰処理を行った場合のカメラ50の位置姿勢と、復帰処理を行っていない場合のカメラ50の位置姿勢とを評価し、評価のよい方を採用して、処理を継続する。このため、復帰処理の推定結果に誤差が生じた場合でも、カメラの位置姿勢の推定精度を向上させることができる。
次に、実施例1、2で説明したimage-to-map手法のその他の実施例について説明する。例えば、第2復帰処理部180が利用するPnPアルゴリズムでは、一般的に、カメラ姿勢の初期推定値をDLT法に基づき大まかに算出し、その後Levenberg-Marquardt法などの反復法により最終的な姿勢値を決定する。
しかし、実施例1を適用すると、特徴点マッチングの誤対応発生状況によってはDLT法に基づく初期位置推定が理想的な値からかい離した結果となる。図11は、DLT法に基づく初期位置推定の課題を説明するための図である。図11左の図は問題発生時の状況であり、3次元マップとキーフレーム、そしてカメラ位置推定結果を表している。本来ではキーフレームに近い位置にカメラ姿勢推定結果が得られるべきところ、マップの裏側に位置推定結果が得られている。
そのため、第2復帰処理部180は、PnPアルゴリズムでのカメラ姿勢の初期値を、基準キーフレームのカメラ姿勢値とする。その改良を加えた結果が図11右の図である。第2復帰処理部180が、かかる初期値を利用することで、キーフレームと近い位置に推定結果を得ることができ、位置姿勢の推定精度を向上させることができる。
次に、上記実施例に示したカメラ姿勢推定装置100,200と同様の機能を実現するカメラ姿勢推定プログラムを実行するコンピュータの一例について説明する。図12は、カメラ姿勢推定プログラムを実行するコンピュータの一例を示す図である。
図12に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置305と、カメラ306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM307と、ハードディスク装置308とを有する。そして、各装置301〜308は、バス309に接続される。
ハードディスク装置308は、判定プログラム308aを有する。CPU301は、判定プログラム308aを読み出してRAM307に展開する。判定プログラム308aは、判定プロセス307aとして機能する。判定プロセス307aの処理は、判定部160、260の処理に対応する。
なお、判定プログラム208aについては、必ずしも最初からハードディスク装置308に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が判定プログラム308aを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)カメラによって撮影された画像データを基にして、前記カメラが並進移動したか否かおよび前記カメラが前記カメラの光軸方向の周りを回転したか否かを判定し、前記カメラが並進移動しておらず、かつ、前記カメラが光軸周りを回転していない場合には、撮影時の画像データと、前記カメラの位置姿勢に関連付けられた画像データとを基にして、前記カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定し、前記カメラが並進移動している場合、または、前記カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係から前記カメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する判定部
を有することを特徴とするカメラ姿勢推定装置。
(付記2)前記第1位置姿勢推定は、image-to-image手法によって前記カメラの位置姿勢を推定し、前記第2位置姿勢推定は、image-to-map手法によって前記カメラの位置姿勢を推定することを特徴とする付記1に記載のカメラ姿勢推定装置。
(付記3)前記判定部は、前記カメラによって撮影された画像データから所定の形状を有するマーカを検出した場合には、前記マーカを基にして前記カメラの位置姿勢を推定する第3位置姿勢推定を実行すると判定することを特徴とする付記1に記載のカメラ姿勢推定装置。
(付記4)前記撮影時の画像データの特徴点と前記カメラの位置姿勢に関連付けられたマップ点との対応関係から前記カメラの位置姿勢を推定する推定部と、前記推定部によって推定された前記カメラの位置姿勢の品質を判定する品質判定部とを更に有し、前記判定部は、前記品質が閾値未満である場合に、前記第1位置姿勢推定を実行するのか、前記第2位置姿勢推定を実行するのかを判定することを特徴とする付記1に記載のカメラ姿勢推定装置。
(付記5)コンピュータが実行するカメラ姿勢推定方法であって、
カメラによって撮影された画像データを基にして、前記カメラが並進移動したか否かおよび前記カメラが前記カメラの光軸方向の周りを回転したか否かを判定し、
前記カメラが並進移動しておらず、かつ、前記カメラが光軸周りを回転していない場合には、撮影時の画像データと、前記カメラの位置姿勢に関連付けられた画像データとを基にして、前記カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定し、
前記カメラが並進移動している場合、または、前記カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係から前記カメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する
処理を実行することを特徴とするカメラ姿勢推定方法。
(付記6)前記第1位置姿勢推定は、image-to-image手法によって前記カメラの位置姿勢を推定し、前記第2位置姿勢推定は、image-to-map手法によって前記カメラの位置姿勢を推定することを特徴とする付記5に記載のカメラ姿勢推定方法。
(付記7)前記判定する処理は、前記カメラによって撮影された画像データから所定の形状を有するマーカを検出した場合には、前記マーカを基にして前記カメラの位置姿勢を推定する第3位置姿勢推定を実行すると判定することを特徴とする付記5に記載のカメラ姿勢推定方法。
(付記8)前記撮影時の画像データの特徴点と前記カメラの位置姿勢に関連付けられたマップ点との対応関係から前記カメラの位置姿勢を推定し、推定した前記カメラの位置姿勢の品質を判定する処理を更に実行し、前記判定する処理は、前記品質が閾値未満である場合に、前記第1位置姿勢推定を実行するのか、前記第2位置姿勢推定を実行するのかを判定することを特徴とする付記5に記載のカメラ姿勢推定方法。
(付記9)コンピュータに、
カメラによって撮影された画像データを基にして、前記カメラが並進移動したか否かおよび前記カメラが前記カメラの光軸方向の周りを回転したか否かを判定し、
前記カメラが並進移動しておらず、かつ、前記カメラが光軸周りを回転していない場合には、撮影時の画像データと、前記カメラの位置姿勢に関連付けられた画像データとを基にして、前記カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定し、
前記カメラが並進移動している場合、または、前記カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係から前記カメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する
処理を実行させることを特徴とするカメラ姿勢推定プログラム。
(付記10)前記第1位置姿勢推定は、image-to-image手法によって前記カメラの位置姿勢を推定し、前記第2位置姿勢推定は、image-to-map手法によって前記カメラの位置姿勢を推定することを特徴とする付記9に記載のカメラ姿勢推定プログラム。
(付記11)前記判定する処理は、前記カメラによって撮影された画像データから所定の形状を有するマーカを検出した場合には、前記マーカを基にして前記カメラの位置姿勢を推定する第3位置姿勢推定を実行すると判定することを特徴とする付記9に記載のカメラ姿勢推定プログラム。
(付記12)前記撮影時の画像データの特徴点と前記カメラの位置姿勢に関連付けられたマップ点との対応関係から前記カメラの位置姿勢を推定し、推定した前記カメラの位置姿勢の品質を判定する処理を更にコンピュータに実行させ、前記判定する処理は、前記品質が閾値未満である場合に、前記第1位置姿勢推定を実行するのか、前記第2位置姿勢推定を実行するのかを判定することを特徴とする付記9に記載のカメラ姿勢推定プログラム。
50 カメラ
100 カメラ姿勢推定装置
160,260 判定部

Claims (6)

  1. カメラによって撮影された画像データを基にして、前記カメラが並進移動したか否かおよび前記カメラが前記カメラの光軸方向の周りを回転したか否かを判定し、前記カメラが並進移動しておらず、かつ、前記カメラが光軸周りを回転していない場合には、撮影時の画像データと、前記カメラの位置姿勢に関連付けられた画像データとを基にして、前記カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定し、前記カメラが並進移動している場合、または、前記カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係から前記カメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する判定部
    を有することを特徴とするカメラ姿勢推定装置。
  2. 前記第1位置姿勢推定は、image-to-image手法によって前記カメラの位置姿勢を推定し、前記第2位置姿勢推定は、image-to-map手法によって前記カメラの位置姿勢を推定することを特徴とする請求項1に記載のカメラ姿勢推定装置。
  3. 前記判定部は、前記カメラによって撮影された画像データから所定の形状を有するマーカを検出した場合には、前記マーカを基にして前記カメラの位置姿勢を推定する第3位置姿勢推定を実行すると判定することを特徴とする請求項1に記載のカメラ姿勢推定装置。
  4. 前記撮影時の画像データの特徴点と前記カメラの位置姿勢に関連付けられたマップ点との対応関係から前記カメラの位置姿勢を推定する推定部と、前記推定部によって推定された前記カメラの位置姿勢の品質を判定する品質判定部とを更に有し、前記判定部は、前記品質が閾値未満である場合に、前記第1位置姿勢推定を実行するのか、前記第2位置姿勢推定を実行するのかを判定することを特徴とする請求項1に記載のカメラ姿勢推定装置。
  5. コンピュータが実行するカメラ姿勢推定方法であって、
    カメラによって撮影された画像データを基にして、前記カメラが並進移動したか否かおよび前記カメラが前記カメラの光軸方向の周りを回転したか否かを判定し、
    前記カメラが並進移動しておらず、かつ、前記カメラが光軸周りを回転していない場合には、撮影時の画像データと、前記カメラの位置姿勢に関連付けられた画像データとを基にして、前記カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定し、
    前記カメラが並進移動している場合、または、前記カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係から前記カメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する
    処理を実行することを特徴とするカメラ姿勢推定方法。
  6. コンピュータに、
    カメラによって撮影された画像データを基にして、前記カメラが並進移動したか否かおよび前記カメラが前記カメラの光軸方向の周りを回転したか否かを判定し、
    前記カメラが並進移動しておらず、かつ、前記カメラが光軸周りを回転していない場合には、撮影時の画像データと、前記カメラの位置姿勢に関連付けられた画像データとを基にして、前記カメラの位置姿勢を推定する第1位置姿勢推定を実行すると判定し、
    前記カメラが並進移動している場合、または、前記カメラが光軸周りを回転している場合には、撮影時の画像データの特徴点とマップ点との対応関係から前記カメラの位置姿勢を推定する第2位置姿勢推定を実行すると判定する
    処理を実行させることを特徴とするカメラ姿勢推定プログラム。
JP2015118360A 2015-06-11 2015-06-11 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム Expired - Fee Related JP6464934B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015118360A JP6464934B2 (ja) 2015-06-11 2015-06-11 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
US15/098,039 US10088294B2 (en) 2015-06-11 2016-04-13 Camera pose estimation device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015118360A JP6464934B2 (ja) 2015-06-11 2015-06-11 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム

Publications (2)

Publication Number Publication Date
JP2017005532A true JP2017005532A (ja) 2017-01-05
JP6464934B2 JP6464934B2 (ja) 2019-02-06

Family

ID=57517063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015118360A Expired - Fee Related JP6464934B2 (ja) 2015-06-11 2015-06-11 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム

Country Status (2)

Country Link
US (1) US10088294B2 (ja)
JP (1) JP6464934B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200037502A (ko) * 2018-10-01 2020-04-09 삼성전자주식회사 포즈 정보를 출력하는 방법 및 장치
CN111563138A (zh) * 2020-04-30 2020-08-21 浙江商汤科技开发有限公司 定位方法及装置、电子设备和存储介质
JP2020530153A (ja) * 2017-09-27 2020-10-15 グワンドン ボナ ロボット コーポレーション リミテッド 移動ロボットの地図作成方法および移動ロボット
WO2021176947A1 (ja) * 2020-03-06 2021-09-10 ソニーグループ株式会社 情報処理装置、及び情報処理方法
CN113607160A (zh) * 2021-08-24 2021-11-05 湖南国科微电子股份有限公司 视觉定位恢复方法、装置、机器人和可读存储介质

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11232583B2 (en) * 2016-03-25 2022-01-25 Samsung Electronics Co., Ltd. Device for and method of determining a pose of a camera
EP3296950A1 (en) * 2016-09-15 2018-03-21 Thomson Licensing Method and device for blurring a virtual object in a video
WO2018053703A1 (en) * 2016-09-21 2018-03-29 Intel Corporation Estimating accurate face shape and texture from an image
US10600206B2 (en) * 2017-04-28 2020-03-24 Htc Corporation Tracking system and method thereof
EP3430595B1 (en) * 2017-05-23 2020-10-28 Brainlab AG Determining the relative position between a point cloud generating camera and another camera
CN109215077B (zh) * 2017-07-07 2022-12-06 腾讯科技(深圳)有限公司 一种相机姿态信息确定的方法及相关装置
CN107590453B (zh) * 2017-09-04 2019-01-11 腾讯科技(深圳)有限公司 增强现实场景的处理方法、装置及设备、计算机存储介质
WO2019084804A1 (zh) * 2017-10-31 2019-05-09 深圳市大疆创新科技有限公司 一种视觉里程计及其实现方法
CN108537848B (zh) * 2018-04-19 2021-10-15 北京工业大学 一种面向室内场景重建的两级位姿优化估计方法
CN110264509B (zh) 2018-04-27 2022-10-14 腾讯科技(深圳)有限公司 确定图像捕捉设备的位姿的方法、装置及其存储介质
CN109003305B (zh) * 2018-07-18 2021-07-20 江苏实景信息科技有限公司 一种定位定姿方法及装置
CN109166156B (zh) * 2018-10-15 2021-02-12 Oppo广东移动通信有限公司 一种摄像头标定图像的生成方法、移动终端及存储介质
CN111354042B (zh) * 2018-12-24 2023-12-01 深圳市优必选科技有限公司 机器人视觉图像的特征提取方法、装置、机器人及介质
CN109816048B (zh) * 2019-02-15 2021-02-05 聚时科技(上海)有限公司 一种基于属性迁移的图像合成方法
CN111696157B (zh) * 2019-03-12 2024-06-18 北京京东尚科信息技术有限公司 图像重定位的确定方法、系统、设备和存储介质
TWI720447B (zh) * 2019-03-28 2021-03-01 財團法人工業技術研究院 影像定位方法及其系統
CN111754579B (zh) * 2019-03-28 2023-08-04 杭州海康威视数字技术股份有限公司 多目相机外参确定方法及装置
JP7151879B2 (ja) * 2019-04-08 2022-10-12 日本電気株式会社 カメラ校正装置、カメラ校正方法、及びプログラム
CN110069593B (zh) * 2019-04-24 2021-11-12 百度在线网络技术(北京)有限公司 图像处理方法及系统、服务器、计算机可读介质
US11024054B2 (en) * 2019-05-16 2021-06-01 Here Global B.V. Method, apparatus, and system for estimating the quality of camera pose data using ground control points of known quality
CN110807814A (zh) * 2019-10-30 2020-02-18 深圳市瑞立视多媒体科技有限公司 摄影机位姿计算方法、装置、设备及存储介质
CA3156211A1 (en) * 2019-12-19 2021-06-24 Delaval Holding Ab Method and multibody system for supervision of a joint
US11927438B2 (en) * 2020-01-02 2024-03-12 The Boeing Company Methods and systems for calibrating fiducial markers relative to an object
CN111189415B (zh) * 2020-01-10 2021-11-09 华中科技大学鄂州工业技术研究院 一种基于线结构光的多功能三维测量重建系统及方法
CN111325792B (zh) * 2020-01-23 2023-09-26 抖音视界有限公司 用于确定相机位姿的方法、装置、设备和介质
US11107235B1 (en) 2020-02-27 2021-08-31 Here Global B.V. Systems and methods for identifying data suitable for mapping
CN111897429A (zh) * 2020-07-30 2020-11-06 腾讯科技(深圳)有限公司 图像显示方法、装置、计算机设备及存储介质
US11282233B1 (en) * 2020-09-08 2022-03-22 Weta Digital Limited Motion capture calibration
US11232595B1 (en) 2020-09-08 2022-01-25 Weta Digital Limited Three-dimensional assembly for motion capture calibration
CN112157657A (zh) * 2020-09-23 2021-01-01 创新奇智(上海)科技有限公司 机械臂定位方法、装置、电子设备及存储介质
CN112419234B (zh) * 2020-10-21 2023-04-25 宁波大学 一种基于几何特征的重定位立体图像质量评价方法
DE102020134680B4 (de) 2020-12-22 2023-01-19 Visometry GmbH Verfahren und Anordnung zur Qualitätsprüfung eines Objekts
CN113628279B (zh) * 2021-07-29 2023-10-31 成都易瞳科技有限公司 一种全景视觉slam建图方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005033319A (ja) * 2003-07-08 2005-02-03 Canon Inc 位置姿勢計測方法及び装置
WO2005043466A1 (ja) * 2003-10-30 2005-05-12 Nec Corporation 物体の状態を推定する推定システム、推定方法および推定プログラム
JP2014216813A (ja) * 2013-04-25 2014-11-17 日本放送協会 カメラ姿勢推定装置及びそのプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL182799A (en) * 2007-04-26 2014-11-30 Nir Avrahami Method for estimating the ptz camera's pose
JP5495760B2 (ja) 2009-12-17 2014-05-21 オリンパスイメージング株式会社 撮像装置
US9113064B2 (en) 2009-11-05 2015-08-18 Olympus Corporation Image pickup apparatus and image acquisition method
US8457357B2 (en) * 2011-11-09 2013-06-04 Disney Enterprises, Inc. Relative pose estimation of non-overlapping cameras using the motion of subjects in the camera fields of view
US8970709B2 (en) * 2013-03-13 2015-03-03 Electronic Scripting Products, Inc. Reduced homography for recovery of pose parameters of an optical apparatus producing image data with structural uncertainty
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope
GB2531531A (en) * 2014-10-20 2016-04-27 Bae Systems Plc Optical inertial measurement apparatus and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005033319A (ja) * 2003-07-08 2005-02-03 Canon Inc 位置姿勢計測方法及び装置
WO2005043466A1 (ja) * 2003-10-30 2005-05-12 Nec Corporation 物体の状態を推定する推定システム、推定方法および推定プログラム
JP2014216813A (ja) * 2013-04-25 2014-11-17 日本放送協会 カメラ姿勢推定装置及びそのプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020530153A (ja) * 2017-09-27 2020-10-15 グワンドン ボナ ロボット コーポレーション リミテッド 移動ロボットの地図作成方法および移動ロボット
JP7089657B2 (ja) 2017-09-27 2022-06-23 グアンジョウ コアユ ロボット カンパニー リミテッド 移動ロボットの地図作成方法および移動ロボット
US11485013B2 (en) 2017-09-27 2022-11-01 Guangzhou Coayu Robot Co., Ltd. Map creation method of mobile robot and mobile robot
KR20200037502A (ko) * 2018-10-01 2020-04-09 삼성전자주식회사 포즈 정보를 출력하는 방법 및 장치
KR102559203B1 (ko) * 2018-10-01 2023-07-25 삼성전자주식회사 포즈 정보를 출력하는 방법 및 장치
WO2021176947A1 (ja) * 2020-03-06 2021-09-10 ソニーグループ株式会社 情報処理装置、及び情報処理方法
CN111563138A (zh) * 2020-04-30 2020-08-21 浙江商汤科技开发有限公司 定位方法及装置、电子设备和存储介质
CN111563138B (zh) * 2020-04-30 2024-01-05 浙江商汤科技开发有限公司 定位方法及装置、电子设备和存储介质
CN113607160A (zh) * 2021-08-24 2021-11-05 湖南国科微电子股份有限公司 视觉定位恢复方法、装置、机器人和可读存储介质
CN113607160B (zh) * 2021-08-24 2023-10-31 湖南国科微电子股份有限公司 视觉定位恢复方法、装置、机器人和可读存储介质

Also Published As

Publication number Publication date
US10088294B2 (en) 2018-10-02
US20160364867A1 (en) 2016-12-15
JP6464934B2 (ja) 2019-02-06

Similar Documents

Publication Publication Date Title
JP6464934B2 (ja) カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
US10510159B2 (en) Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium
US10964049B2 (en) Method and device for determining pose of camera
JP6430064B2 (ja) データを位置合わせする方法及びシステム
US10223804B2 (en) Estimation device and method
JP6507730B2 (ja) 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム
US10033985B2 (en) Camera pose estimation apparatus and method for augmented reality imaging
US9418480B2 (en) Systems and methods for 3D pose estimation
US9842399B2 (en) Image processing device and image processing method
JP6338021B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US10636165B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
JP6609640B2 (ja) 電子デバイス上における環境マッピング用のフィーチャ・データの管理
AU2015224418A1 (en) Three-dimensional coordinate computing apparatus, three-dimensional coordinate computing method, and non-transitory computer readable recording medium having therein program for three-dimensional coordinate computing
JP6464938B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2008134161A (ja) 位置姿勢計測方法、位置姿勢計測装置
JP6515039B2 (ja) 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法
JP4938748B2 (ja) 画像認識装置及びプログラム
JP6662382B2 (ja) 情報処理装置および方法、並びにプログラム
JP2008309595A (ja) オブジェクト認識装置及びそれに用いられるプログラム
JP2014026670A (ja) 情報処理装置、その処理方法及びプログラム
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
WO2017042852A1 (en) Object recognition appratus, object recognition method and storage medium
CN117063206A (zh) 用于在增强现实观看环境中对齐虚拟物体的装置和方法
CN118229783A (zh) 基于虚拟现实的投射式定位方法及装置
JP2014215821A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181203

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: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees