JP2017163386A - カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム - Google Patents

カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム Download PDF

Info

Publication number
JP2017163386A
JP2017163386A JP2016046895A JP2016046895A JP2017163386A JP 2017163386 A JP2017163386 A JP 2017163386A JP 2016046895 A JP2016046895 A JP 2016046895A JP 2016046895 A JP2016046895 A JP 2016046895A JP 2017163386 A JP2017163386 A JP 2017163386A
Authority
JP
Japan
Prior art keywords
camera
parameter
point
parameters
dimensional
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
Application number
JP2016046895A
Other languages
English (en)
Inventor
中野 学
Manabu Nakano
学 中野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016046895A priority Critical patent/JP2017163386A/ja
Publication of JP2017163386A publication Critical patent/JP2017163386A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

【課題】レンズ歪み係数を含む内部パラメータと外部パラメータとを高精度に推定し得る、カメラパラメータ推定装置、カメラパラメータ推定方法、およびプログラムを提供する。【解決手段】カメラパラメータ推定装置10は、カメラによる対象物の撮影時におけるカメラパラメータを推定するための装置である。カメラパラメータ推定装置10は、対象物に関する5組以上の3次元点と、3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、複数の部分問題それぞれにおいて停留点を算出する、パラメータ算出部20と、誤差関数によって得られる誤差を最小とする停留点を求め、求めた停留点を最適なカメラパラメータとして出力する、パラメータ最適化部30とを備えている。【選択図】図1

Description

本発明は、カメラの外部パラメータと内部パラメータとを推定する、カメラパラメータ推定装置及びカメラパラメータ推定方法に関し、更に、これらを実現するためのプログラムに関する。
既知の3次元点を観測した画像からカメラパラメータを推定する技術は、ロボットの自己位置推定、および画像合成において、重要な要素技術である(例えば、非特許文献1〜5参照)。また、カメラパラメータには、外部パラメータと、内部パラメータとの2種類が存在する。外部パラメータは、カメラの3次元空間における位置と姿勢とを表すパラメータであり、内部パラメータは、レンズの焦点距離、光学中心、アスペクト比、せん断係数、レンズ歪み係数などのパラメータである。以下では、既知の3次元点と、この3次元点を画像上で観測することによって得られた2次元点とのペアを、単に「対応点」と表記する。
非特許文献1と非特許文献2とは、共に、表面模様の3次元点が既知の平面、または立体のパターンを複数の角度から撮影して得られた画像を用いて、外部パラメータと内部パラメータとを計算する方法を開示している。これらの非特許文献に開示された方法では、まずレンズ歪み係数がすべてゼロに仮定され、姿勢に関する拘束条件を無視した上で内部パラメータと外部パラメータとが計算される。そして、計算された内部パラメータおよび外部パラメータを初期値として、ニュートン法などの非線形最適化が行われる。
また、非特許文献3は、非特許文献1または非特許文献2に開示された方法を利用して、予め内部パラメータを計算しておき、3組以上の対応点から外部パラメータのみを計算する方法を開示している。具体的には、非特許文献3に開示された方法は、3次元点と2次元点との射影関係に基づく誤差関数を多項式で表現し、誤差関数の停留点である勾配のゼロ点をすべて計算することで、局所解を回避して大域的に最適な唯一の解を推定する。
更に、非特許文献4は、内部パラメータのうち焦点距離のみを未知として、4組以上の対応点を用いて、非特許文献3に開示された方法と同様にして、多項式表現による大域的最適解を直接計算する方法を開示している。
また、非特許文献5と非特許文献6とは、それぞれ、4組または5組の対応点を入力として、内部パラメータのうち焦点距離とレンズ歪み係数を未知として、これらの内部パラメータを外部パラメータとを共に算出する方法を開示している。
しかしながら、上述の非特許文献1〜6に開示された方法には、以下のような問題がある。まず、非特許文献1および2に開示された方法では、安定的な計算には数十枚の画像が必要であり、また、非線形最適化の際に望ましくない局所解に収束することがあり、内部パラメータおよび外部パラメータの推定精度が低いという問題がある。
また、非特許文献3に開示された方法では、固定焦点距離のカメラが想定されており、ズームレンズを搭載したカメラが用いられた場合に、内部パラメータおよび外部パラメータを推定できないという問題がある。一方、非特許文献4に開示された方法では、ズームレンズを搭載したカメラのズームを変化させた際の焦点距離は推定できるものの、ズームの変化と同時に生じるレンズ歪み係数の変化に対応できない。よって、非特許文献4に開示された方法にも、内部パラメータおよび外部パラメータの推定精度が低いという問題がある。
更に、非特許文献5または非特許文献6に開示された方法では、一般に複数の解が得られ、一意に解を選択できず、加えて、4組以上または5組以上の対応点を入力として最小二乗的な意味で最適な解を推定することもできない。従って、非特許文献5または非特許文献6に開示された方法にも、内部パラメータおよび外部パラメータの推定精度が低いという問題がある。
このように、上述した非特許文献1〜5に開示された方法には、入力である複数の対応点から、レンズ歪み係数を未知として含む内部パラメータと外部パラメータとを高精度に推定することは難しいという問題がある。
本発明の目的の一例は、上記問題を解消し、レンズ歪み係数を含む内部パラメータと外部パラメータとを高精度に推定し得る、カメラパラメータ推定装置、カメラパラメータ推定方法、およびプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるカメラパラメータ推定装置は、カメラによる対象物の撮影時におけるカメラパラメータを推定するための装置であって、
前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、パラメータ算出部と、
前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、パラメータ最適化部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるカメラパラメータ推定方法は、カメラによる対象物の撮影時におけるカメラパラメータを推定するための方法であって、
(a)前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、ステップと、
(b)前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、カメラによる対象物の撮影時におけるカメラパラメータを推定するためのプログラムであって、
前記コンピュータに、
(a)前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、ステップと、
(b)前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、ステップと、
を実行させることを特徴とする。
以上のように、本発明によれば、レンズ歪み係数を含む内部パラメータと外部パラメータとを高精度に推定することができる。
図1は、本発明の実施の形態におけるカメラパラメータ推定装置の概略構成を示すブロック図である。 図2は、本発明の実施の形態におけるカメラパラメータ推定装置の具体的構成を示すブロック図である。 図3は、本発明の実施の形態におけるカメラパラメータ推定装置10の動作を示すフロー図である。 図4は、本発明の実施の形態におけるカメラパラメータ推定装置10を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
以下、本発明の実施の形態における、カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラムについて、図1〜図4を参照しながら説明する。
[装置構成]
最初に、本発明の実施の形態におけるカメラパラメータ推定装置の概略構成及び機能について図1を用いて説明する。図1は、本発明の実施の形態におけるカメラパラメータ推定装置の概略構成を示すブロック図である。
図1に示す本実施の形態におけるカメラパラメータ推定装置10は、カメラによる対象物の撮影時におけるカメラパラメータを推定する装置である。図1に示すように、カメラパラメータ推定装置10は、パラメータ算出部20と、パラメータ最適化部30とを備えている。
パラメータ算出部20は、まず、対象物に関する5組以上の3次元点と、3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、カメラパラメータの依存関係に基づいて、複数の部分問題に分割する。次いで、パラメータ算出部20は、複数の部分問題それぞれにおいて停留点を算出する。
パラメータ最適化部30は、まず、誤差関数によって得られる誤差を最小とする停留点を求める。次いで、パラメータ最適化部30は、求めた停留点を最適なカメラパラメータとして出力する。
このように、本実施の形態では、誤差関数は複数の部分問題に分割され、部分問題毎に最適解が計算される。よって、本実施の形態によれば、カメラパラメータ、即ち、レンズ歪み係数を含む内部パラメータと外部パラメータとが高精度に推定される。
続いて、図2を用いて、本発明の実施の形態におけるカメラパラメータ推定装置の構成及び機能について、更に具体的に説明する。図2は、本発明の実施の形態におけるカメラパラメータ推定装置の具体的構成を示すブロック図である。
図2に示すように、本実施の形態では、カメラパラメータ推定装置10には、撮影の対象物に関する5組以上の3次元点と、3次元点それぞれに対応する画像上の2次元点とが、上述した対応点として入力される。
本実施の形態において、カメラパラメータには、カメラの外部に関する外部パラメータと、カメラの内部に関する内部パラメータとが含まれる。具体的には、外部パラメータは、従来と同様に、カメラの3次元区間における位置及び姿勢のいずれか一方または両方を含む。内部パラメータは、カメラにおける、レンズの焦点距離、光学中心、アスペクト比、せん断係数、及びレンズ歪み係数のうち、少なくとも1つを含む。なお、本実施の形態では、カメラパラメータには、外部パラメータのみが含まれていても良い。
本実施の形態では、カメラパラメータ推定装置10は、5組以上の対応点に基づいて、カメラの外部パラメータ、更にはカメラの外部パラメータに加えて内部パラメータも推定する情報処理装置である。また、本実施の形態では、図2に示すように、パラメータ算出部20には、分割処理部21と、部分パラメータ算出部22と、残存パラメータ算出部23とが備えられている。
分割処理部21は、対応点に含まれる3次元点と2次元点との所定の変換を表す誤差関数を、カメラパラメータの依存関係に基づいて、複数の部分問題に分割する。ここで「カメラパラメータ依存関係に基づく分割」とは、誤差関数を構成する複数の項のうち、例えば外部パラメータのみが変数として現れる項、または、内部パラメータのみが変数として現れる項のように、未知のパラメータ同士の影響を受けない、もしくは影響が少ない項を選出することを表す。
部分パラメータ算出部22は、対応点を入力として、複数の部分問題のうち、外部パラメータの一部のみに依存する1つの部分問題について停留点を算出する。
残存パラメータ算出部23は、部分パラメータ算出部22で算出された停留点と、対応点とを入力として、これらに基づいて、停留点が未だ算出されていない部分問題について停留点を算出する。
パラメータ最適化部30は、本実施の形態では、部分パラメータ算出部22と残存パラメータ算出部23とで算出された停留点と対応点とを入力として、これらに基づいて、分割される前の元の誤差関数を最適化することによって、誤差を最小とする停留点を求める。そして、パラメータ最適化部30は、求めた停留点を最適なカメラパラメータとして出力する。
[装置動作]
次に、本発明の実施の形態におけるカメラパラメータ推定装置10の動作について図3を用いて説明する。図3は、本発明の実施の形態におけるカメラパラメータ推定装置10の動作を示すフロー図である。以下の説明においては、適宜図1を参酌する。また、本実施の形態では、カメラパラメータ推定装置10を動作させることによって、カメラパラメータ推定方法が実施される。よって、本実施の形態におけるカメラパラメータ推定方法の説明は、以下のパラメータ推定装置10の動作説明に代える。
図3に示すように、まず、カメラパラメータ推定装置10に5組以上の対応点が入力されると、分割処理部21は、対応点に含まれる3次元点と2次元点との所定の変換を表す誤差関数を、カメラパラメータの依存関係に基づいて、複数の部分問題に分割する(ステップS11)。
本実施の形態において、入力される対応点は、推定すべきカメラパラメータにおける、いわゆる退化配置(Degenerate ConfigurationまたはCritical Configurationとも呼ばれる)ではないとする。なぜならば、そのような対応点に対しては理論的にカメラパラメータを推定できないためである。また、座標値に関して、3次元点も2次元点も共にすべて異なるとする。これは、例えば、1つの3次元点が複数の異なる2次元点に対応することは現実的に起こりえないためである。カメラパラメータ推定装置10において、これらの不適切な対応点は以降の処理から除外される。また、本実施の形態は、カメラパラメータ推定装置10の代わりに、対応点を外部からカメラパラメータ推定装置に入力する別の装置(図示せず)が、対応点のエラー判定等を行う態様であっても良い。
次に、部分パラメータ算出部22は、ステップS11の分割によって得られた部分問題の中で外部パラメータの一部のみに依存する1つの部分問題について、すべての停留点を算出する(ステップS12)。
ここで、停留点とは、最適化問題における目的関数(より正確にはラグランジェ関数であるが、以下単に「目的関数」と表記する)の勾配ベクトルがゼロとなる未知数の点のことを意味する。すなわち、停留点は、勾配ベクトルを連立方程式とみなすと、その連立方程式の解のことである。ステップS12においては、目的関数は外部パラメータの一部のみに依存する1つの部分問題を指し、停留点は当該部分問題の勾配ベクトルをゼロとする外部パラメータを指す。
一般的に、連立方程式の解は複素数になることもありえるが、すべてのカメラパラメータは必ず実数であるため、本実施の形態においては、実数解のみが対象となる。また、カメラパラメータ推定装置10は、各ステップの計算結果が複素数のみとなった場合には、解なしのフラグを出して以降の処理を終了してもよい。例えば、誤った3次元点と2次元点との組が対応点に含まれていたり、数値計算の精度が不足して実数解が複素数解として計算されたりする場合に、連立方程式の解が複素数になることが起こりうる。
次いで、残存パラメータ算出部23は、対応点と、ステップS12で算出された停留点とを入力として、残りのカメラパラメータを未知数とするその他の部分問題、即ち、停留点が未だ算出されていない部分問題における、すべての停留点を算出する(ステップS13)。
ここで、残りのカメラパラメータとは、推定したい全カメラパラメータから、ステップS12で停留点が算出された部分問題に依存する、外部パラメータの一部を除いた、カメラパラメータのことである。元の分割される前の誤差関数においては、すべてのカメラパラメータが未知数であるが、ステップS13における部分問題においては、ステップS12で算出された停留点(カメラパラメータ)が既知の定数として扱われる。すなわち、ステップS13では、ステップS12で算出されなかった残りのカメラパラメータが、ステップS12では対象とならなかった部分問題の停留点として算出される。
また、ステップS12で出力され停留点が複数の場合、残存パラメータ算出部23は、複数の停留点それぞれ毎に、その他の部分問題の停留点の算出を行う。すなわち、例えば、ステップS12でK個の停留点が算出された場合は、ステップS13は、その他の部分問題をK回解くことになる。
最後に、パラメータ最適化部30は、ステップS11とステップS12とで出力されたすべての停留点と対応点とを入力として、元の誤差関数の最適化を行い、誤差が最小となる解(停留点)を求め、求めた解をカメラパラメータとして出力する(ステップS13)。
ステップS13では、パラメータ最適化部30は、更に、入力または出力されたカメラパラメータが物理的または理論的に意味のあるかどうかの判定を行うこともできる。物理的な意味とは、例えば、すべての3次元点はカメラの前面に存在しなくてはならないことをいう。従って、パラメータ最適化部30は、一部またはすべての3次元点がカメラの裏側に存在するような不適切なカメラパラメータを除外してもよい。また、一部のカメラパラメータが取りうる値の範囲が予めわかっている場合、パラメータ最適化部30は、それを閾値として不適切な入出力を除外してもよい。例えば、ズームレンズの仕様がわかっていれば、推定される焦点距離の上限と下限を事前に決めることができるので、パラメータ最適化部30は、この上限及び下限から外れる入出力を除外する。
理論的な意味とは、例えば、計算結果が誤差関数の2次最適性を満たさないことをいう。パラメータ最適化部30は、計算されたカメラパラメータが誤差関数の2次最適性を満たさない場合は、このカメラパラメータを除外する。
このように不適切なカメラパラメータが除外された場合、パラメータ最適化部30は、物理的または理論的に意味のある値の範囲内での、誤差最小となる解を出力する。
もし上記の条件を満たす解が複数存在し、それらの誤差が同一とみなせる場合には、パラメータ最適化部30は、すべての解を出力してもよい。この場合、大域的最適解が複数存在するとみなせるため、出力されるカメラパラメータも複数である。
[具体例]
ここで、本実施の形態の具体例について以下に説明する。なお、以下の具体例では、外部パラメータは、それぞれ3自由度の位置と姿勢とする。また、ズームレンズにおいてズームを変更した際に影響を受けるのは焦点距離とレンズ歪み係数であるため、内部パラメータは1自由度の焦点距離と3自由度のレンズ歪み係数とする。
レンズ歪みの種類は樽型歪(radial distortion)とし、計算モデルはAndrew Fitzgibbonが提案したdivision modelとする。それ以外の内部パラメータは、光学中心については画像の中心(つまり画像の大きさの半分)と仮定し、アスペクト比については1と仮定し、せん断係数については0と仮定する。これらの仮定は、上述した非特許文献4、5、6でも採用されている。昨今のデジタルカメラは、高精度に製造されているため、上記の仮定は妥当な仮定である。
但し、どのカメラパラメータを未知または既知とするかはこの限りではなく、利用シーンに応じて当業者が自由に変更することができる。また、レンズ歪みの種類および計算モデルについても同様である。
また、以下の説明では、上添字の「T」は行列およびベクトルの転置を表し、「0」はゼロ行列およびゼロベクトルを表し、「I」は単位行列を表し、「|| ||」はベクトルのL2ノルムを表す。外部パラメータにおいては、カメラ姿勢を3×3の回転行列Rで表し、カメラ位置を3×1のベクトルtで表す。内部パラメータにおいては、焦点距離を「f」で表し、焦点距離の逆数1/fを「w」で表記し、レンズ歪み係数を3×1のベクトル「k」で表す。また、ベクトルkを下記の数1で表す。
Figure 2017163386
対応点は、入力点数をn組(n≧5)とし、i番目の3次元座標を「」、division modelにより斉次化した2次元座標を「m」と表記する。2次元座標mは下記の数2で表される。
Figure 2017163386
また、誤差関数の定義を行う。誤差関数は、Xとのmとの変換関係を表しており、以下の数3で定義される。
Figure 2017163386
上記数3において、「〜」は定数倍に不定なことを表している。「K」は、[1,1,w]を対角成分とする3×3の行列である。
また、上記数3より、n組の対応点に対する誤差関数は以下の数4で定義される。
Figure 2017163386
ここで、[mはベクトルの外積を示す3×3の歪対称行列であり、具体的な成分は下記の数5で表される。
Figure 2017163386
上記数4は、代数学的誤差と呼ばれ、上記数3の両辺のベクトル方向が互いに近しくなることを要求している。
次に、部分問題の定義を行う。[mの行ベクトルを下記の数6に示す通りとすると上記数4は以下の数9と等価である。なお、制約条件の記述は省略している。
Figure 2017163386
Figure 2017163386
Figure 2017163386
Figure 2017163386
ここで、上記数9の各項を独立の最適化問題とみなすと、以下の数10〜数12(制約条件の記述は省略)で表される3つの部分問題が得られる。
Figure 2017163386
Figure 2017163386
Figure 2017163386
次に、各部分問題の具体的な解法について説明する。まず、上記数12に着目すると、下記の数13が成立するため、上記数12を下記の数14で表すことができる。
Figure 2017163386
Figure 2017163386
上記数14において、r はRの第j行、tはtの第j成分である。また、上記数14は、内部パラメータを含まず、tを除く外部パラメータのみで表現されている。また、Rに関する制約条件を考慮すると、{r,r,t,t}の自由度は5であるため、対応点数nが5組以上であれば、上記数12を解くことができる。
また、上記数14は、内部パラメータを既知とする非特許文献3に開示されている形式と同様の形式であるため、非特許文献3で用いられている様々な多項式表現による方法により、上記数12を解くことができる。すなわち、Rを4変数の正規化四元数、3変数の非正規化四元数(Cayley parameterization)、9変数の回転行列などで表現し、40×40の行列固有値問題へ帰着させる方法によれば、上記数12において、最大で40個の実数解を得ることができる。
また、上記数3において{r,r,w}も{−r,−r,−w}も解になる。このことから、{r,r}に関する正負符号を固定する制約条件(例えば、rのうち1つを正の定数とおく)を導入すれば、符号が負の場合でも正の場合と同様の方法で20×20の行列固有値問題へ帰着させることもできる。この場合、rはrとrとの外積として、rとrとの推定後に算出すればよい。連立多項式問題から行列固有値問題を導く方法は非特許文献3に詳しく記載されているため、ここでは記述を省略する。
上記数12が解けると、tを除く外部パラメータが求まっているため、残るカメラパラメータはt,w,kである。そこで、tを除く外部パラメータを既知とすると、上記数10は下記の数15で表され、数11は下記の数16で表される。
Figure 2017163386
Figure 2017163386
対応点数nは5以上であり、また、残るパラメータ数はt,w,k=[k,k,k]の3つであるから、上記数15及び数16より、t,w,kを計算できる。
例として、上記数15を用いる場合について説明する。上記数15を展開すると、以下の数17が得られる。
Figure 2017163386
上記数17は、[t,w,k]に関する線形最小二乗問題とみなされるため、上記数17を解くことは容易である。
このように、すべてのカメラパラメータが推定できたが、これらは上記数10〜数12で表される部分問題の解である。そこで、これらを初期値としてニュートン法などの非線形最適化法を実行して、上記数4または数9を解けば、最終的に最適なカメラパラメータが推定できる。
ここで、上述の具体例を図2に示したステップS11〜S14に沿って以下に説明する。
[ステップS11]
まず、ステップS11において、分割処理部21は、上記数9で表される誤差関数を分割し、上記数10、数11、及び数12の部分問題とする。
[ステップS12]
次に、ステップS12において、部分パラメータ算出部22は、上記数12で表される部分問題を、連立多項式問題として解いて、その停留点を出力する。連立多項式の解法としては、非特許文献3に記されている方法に加えて、F4アルゴリズムなどが利用されてもよい。また、このとき、部分パラメータ算出部22は、すべての停留点を出力してもよいし、上記数12を最小化する唯一の停留点を出力してもよい。
[ステップS13]
次に、ステップS13において、残存パラメータ算出部23は、部分パラメータ算出部22により計算された外部パラメータの一部を表す停留点を入力として、上記数15および上記数16を線形最小二乗法により解いて、得られた残りの停留点、すなわち、残りの外部パラメータと内部パラメータとを出力する。ステップS12で算出された停留点が複数であり、複数の停留点が入力された場合は、残存パラメータ算出部23は、入力された停留点毎に、上記数15及び上記数16を解く。このとき、残存パラメータ算出部23は、すべてのパラメータを出力してもよいし、上記数4、数15、及び数16のいずれかを最小化する唯一の停留点を出力してもよい。
[ステップS14]
最後に、ステップS14において、パラメータ最適化部30は、部分パラメータ算出部22と残存パラメータ算出部23とで出力された1組以上のカメラパラメータを初期値として、上記数4の非線形最適化により誤差が最小となる最適解を出力する。ステップS14の実行後、カメラパラメータ推定装置10は動作を停止する。
また、ステップS14において、パラメータ最適化部30は、最適化前に入力パラメータを用いて、上記数4の誤差を計算し、誤差が閾値以下であれば最適化をせずに、入力パラメータをそのまま出力してもよい。また、ステップS14においては、誤差関数として、上記数4以外にも、物理的な距離を表すいわゆる再投影誤差関数が採用されていてもよい。この場合、上記数4を最適化する場合よりも計算時間はかかるが、より高精度な解が得られる可能性がある。
[実施の形態における効果]
以上のとおり、本実施形態によれば、レンズ歪み係数を含む内部パラメータと外部パラメータとを高精度に推定可能である。その理由は、以下のとおりである。
上記数4および数9は2つのベクトルmとK(RX+t)との方向が近しくなることを表している。換言すれば、上記数4および数9の最適解が求まったとすると、[mK(RX+t)で表されるベクトルの各成分はそれぞれ0に近くなると期待される。そこで、上記数9を直接に解く代わりに、上記数9の各項を独立の制約付き最適化問題(上記数10〜数12の部分問題)とみなして解いたとしても、それぞれの最適解は原問題である上記数9の最適解に非常に近いと考えられる。更に、通常であれば計算量は未知数の数に依存して増加するが、本実施の形態では、外部パラメータのみに依存する部分問題(上記数12)から順に解くことで、従来方法と同等以下の低演算量で実行が可能である。以上の理由により、本実施の形態によれば、内部パラメータと外部パラメータとが高精度に推定される。
[変形例]
本実施の形態は、上述した例に限定されるものではない。本実施の形態は、上述した例に対して、いわゆる当業者が理解し得る多様な変更を適用することが可能である。例えば、本実施の形態は、以下の変形例に示す形態によっても実施可能である。
変形例1
本実施の形態において、未知とする内部パラメータは、特に限定されるものではない。例えば、非特許文献4に開示されているように、推定すべき内部パラメータが焦点距離のみの場合、上記数17においてk=0として解けばよい。また、非特許文献3に開示されているように、すべての内部パラメータが既知である場合、上記数17において、k=0、w=1/fとして解けばよい。変形例1においても、未知となる内部パラメータをどのように設定しようとも、上記数12を用いて外部パラメータの一部を算出してから、上記数17を解いて、その他のパラメータを推定するという方法は変更する必要はない。
変形例2
本実施の形態では、カメラパラメータ推定装置10は、一部の外部パラメータを外部より受け付けるために、外部パラメータ入力部を備えていてもよい。外部パラメータ入力部は、例えば、外部の加速度センサから、重力方向における加速度を特定するセンサ値を受け付けたり、ジャイロセンサから、角速度を特定するセンサ値を受け付けたりしてもよい。後者の場合、外部パラメータ入力部は、回転行列を算出し、得られた回転行列をパラメータ算出部20に入力する。変形例2においては、推定すべき外部パラメータ数は減少する。但し、変形例2においても、上記数12で未知の外部パラメータを算出してから、上記数17を解いて、内部パラメータを推定するという方法は変更する必要はない。
変形例3
本実施の形態において、外部パラメータはカメラの位置姿勢に限定されない。例えば、静止したカメラの前で動く対象物を撮影した場合、外部パラメータとして、対象物の位置姿勢を表すパラメータが推定される。カメラが動くか、対象物が動くかは相対的に等価なため、解くべき問題は変わらない。
変形例4
本実施の形態において、撮影に用いられるカメラは単眼カメラに限定されない。上記数3では、Xとのmとの変換関係を、いわゆる単眼のピンホールカメラモデルを用いて説明しているが、本実施の形態では、複数の焦点を持つ一般カメラモデルが用いられていてもよい。焦点位置が事前に既知であれば、上述した例と同様の方法でカメラパラメータを推定可能である。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図3に示すステップS11〜S14を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるカメラパラメータ推定装置10とカメラパラメータ推定方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、パラメータ算出部20及びパラメータ最適化部30部として機能し、処理を行なう。
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、パラメータ算出部20、及びパラメータ最適化部30のいずれかとして機能しても良い。
[物理構成]
ここで、本実施の形態におけるプログラムを実行することによって、カメラパラメータ推定装置10を実現するコンピュータについて図4を用いて説明する。図4は、本発明の実施の形態におけるカメラパラメータ推定装置10を実現するコンピュータの一例を示すブロック図である。
図4に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
なお、本実施の形態におけるカメラパラメータ推定装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、カメラパラメータ推定装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。また、カメラパラメータ推定装置10は、各部が、それぞれ別々のユニットとして実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
カメラによる対象物の撮影時におけるカメラパラメータを推定するための装置であって、
前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、パラメータ算出部と、
前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、パラメータ最適化部と、
を備えている、ことを特徴とするカメラパラメータ推定装置。
(付記2)
前記カメラパラメータが、前記カメラの外部に関する外部パラメータを含み、
前記パラメータ算出部が、
前記複数の部分問題のうち、前記外部パラメータの一部のみに依存する1つの部分問題について、前記停留点を算出し、
更に、算出した前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記停留点が未だ算出されていない前記部分問題について、前記停留点を算出する、
付記1に記載のカメラパラメータ推定装置。
(付記3)
前記パラメータ最適化部が、前記パラメータ算出部によって算出された前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記誤差関数を最適化することによって、前記誤差を最小とする停留点を求める、
付記1または2に記載のカメラパラメータ推定装置。
(付記4)
前記外部パラメータが、前記カメラの3次元区間における位置及び姿勢のいずれか一方または両方を含み、
前記カメラパラメータが、前記外部パラメータに加えて、前記カメラの内部に関する内部パラメータを含み、前記内部パラメータは、前記カメラにおける、レンズの焦点距離、光学中心、アスペクト比、せん断係数、及びレンズ歪み係数のうち、少なくとも1つを含む、
付記2に記載のカメラパラメータ推定装置。
(付記5)
カメラによる対象物の撮影時におけるカメラパラメータを推定するための方法であって、
(a)前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、ステップと、
(b)前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、ステップと、
を有する、ことを特徴とするカメラパラメータ推定方法。
(付記6)
前記カメラパラメータが、前記カメラの外部に関する外部パラメータを含み、
前記(a)のステップにおいて、
前記複数の部分問題のうち、前記外部パラメータの一部のみに依存する1つの部分問題について、前記停留点を算出し、
更に、算出した前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記停留点が未だ算出されていない前記部分問題について、前記停留点を算出する、
付記5に記載のカメラパラメータ推定方法。
(付記7)
前記(b)のステップにおいて、前記パラメータ算出部によって算出された前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記誤差関数を最適化することによって、前記誤差を最小とする停留点を求める、
付記5または6に記載のカメラパラメータ推定方法。
(付記8)
前記外部パラメータが、前記カメラの3次元区間における位置及び姿勢のいずれか一方または両方を含み、
前記カメラパラメータが、前記外部パラメータに加えて、前記カメラの内部に関する内部パラメータを含み、前記内部パラメータは、前記カメラにおける、レンズの焦点距離、光学中心、アスペクト比、せん断係数、及びレンズ歪み係数のうち、少なくとも1つを含む、
付記6に記載のカメラパラメータ推定方法。
(付記9)
コンピュータによって、カメラによる対象物の撮影時におけるカメラパラメータを推定するためのプログラムであって、
前記コンピュータに、
(a)前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、ステップと、
(b)前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、ステップと、
を実行させるプログラム。
(付記10)
前記カメラパラメータが、前記カメラの外部に関する外部パラメータを含み、
前記(a)のステップにおいて、
前記複数の部分問題のうち、前記外部パラメータの一部のみに依存する1つの部分問題について、前記停留点を算出し、
更に、算出した前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記停留点が未だ算出されていない前記部分問題について、前記停留点を算出する、
付記9に記載のプログラム。
(付記11)
前記(b)のステップにおいて、前記パラメータ算出部によって算出された前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記誤差関数を最適化することによって、前記誤差を最小とする停留点を求める、
付記9または10に記載のプログラム。
(付記12)
前記外部パラメータが、前記カメラの3次元区間における位置及び姿勢のいずれか一方または両方を含み、
前記カメラパラメータが、前記外部パラメータに加えて、前記カメラの内部に関する内部パラメータを含み、前記内部パラメータは、前記カメラにおける、レンズの焦点距離、光学中心、アスペクト比、せん断係数、及びレンズ歪み係数のうち、少なくとも1つを含む、
付記10に記載のプログラム。
以上のように、本発明によれば、レンズ歪み係数を含む内部パラメータと外部パラメータとを高精度に推定することができる。本発明は、カメラパラメータの推定が求められる分野、例えば、ロボットの制御、画像処理等に有効である。
10 カメラパラメータ推定装置
20 パラメータ算出部
21 分割処理部
22 部分パラメータ算出部
22 残存パラメータ算出部
30 パラメータ最適化部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (6)

  1. カメラによる対象物の撮影時におけるカメラパラメータを推定するための装置であって、
    前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、パラメータ算出部と、
    前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、パラメータ最適化部と、
    を備えている、ことを特徴とするカメラパラメータ推定装置。
  2. 前記カメラパラメータが、前記カメラの外部に関する外部パラメータを含み、
    前記パラメータ算出部が、
    前記複数の部分問題のうち、前記外部パラメータの一部のみに依存する1つの部分問題について、前記停留点を算出し、
    更に、算出した前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記停留点が未だ算出されていない前記部分問題について、前記停留点を算出する、
    請求項1に記載のカメラパラメータ推定装置。
  3. 前記パラメータ最適化部が、前記パラメータ算出部によって算出された前記停留点と、前記3次元点及び前記2次元点とに基づいて、前記誤差関数を最適化することによって、前記誤差を最小とする停留点を求める、
    請求項1または2に記載のカメラパラメータ推定装置。
  4. 前記外部パラメータが、前記カメラの3次元区間における位置及び姿勢のいずれか一方または両方を含み、
    前記カメラパラメータが、前記外部パラメータに加えて、前記カメラの内部に関する内部パラメータを含み、前記内部パラメータは、前記カメラにおける、レンズの焦点距離、光学中心、アスペクト比、せん断係数、及びレンズ歪み係数のうち、少なくとも1つを含む、
    請求項2に記載のカメラパラメータ推定装置。
  5. カメラによる対象物の撮影時におけるカメラパラメータを推定するための方法であって、
    (a)前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、ステップと、
    (b)前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、ステップと、
    を有する、ことを特徴とするカメラパラメータ推定方法。
  6. コンピュータによって、カメラによる対象物の撮影時におけるカメラパラメータを推定するためのプログラムであって、
    前記コンピュータに、
    (a)前記対象物に関する5組以上の3次元点と、前記3次元点それぞれに対応する画像上の2次元点との変換を表す誤差関数を、前記カメラパラメータの依存関係に基づいて、複数の部分問題に分割し、前記複数の部分問題それぞれにおいて停留点を算出する、ステップと、
    (b)前記誤差関数によって得られる誤差を最小とする停留点を求め、求めた前記停留点を最適なカメラパラメータとして出力する、ステップと、
    を実行させるプログラム。
JP2016046895A 2016-03-10 2016-03-10 カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム Pending JP2017163386A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016046895A JP2017163386A (ja) 2016-03-10 2016-03-10 カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016046895A JP2017163386A (ja) 2016-03-10 2016-03-10 カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2017163386A true JP2017163386A (ja) 2017-09-14

Family

ID=59857198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016046895A Pending JP2017163386A (ja) 2016-03-10 2016-03-10 カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2017163386A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018168255A1 (ja) * 2017-03-14 2018-09-20 日本電気株式会社 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
WO2020144757A1 (ja) * 2019-01-09 2020-07-16 日本電気株式会社 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018168255A1 (ja) * 2017-03-14 2018-09-20 日本電気株式会社 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
US10719956B2 (en) 2017-03-14 2020-07-21 Nec Corporation Camera parameter estimation apparatus, camera parameter estimation method, and computer-readable recording medium
WO2020144757A1 (ja) * 2019-01-09 2020-07-16 日本電気株式会社 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
JPWO2020144757A1 (ja) * 2019-01-09 2021-11-25 日本電気株式会社 カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム
JP7111183B2 (ja) 2019-01-09 2022-08-02 日本電気株式会社 カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム
US11861812B2 (en) 2019-01-09 2024-01-02 Nec Corporation Camera parameter estimation apparatus, camera parameter estimation method, and computer-readable recording medium

Similar Documents

Publication Publication Date Title
JP7052788B2 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム
Usenko et al. The double sphere camera model
Urban et al. Mlpnp-a real-time maximum likelihood solution to the perspective-n-point problem
US10225473B2 (en) Threshold determination in a RANSAC algorithm
JP6011548B2 (ja) カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
JP6261811B2 (ja) 第1の座標系と第2の座標系との間の運動を求める方法
JP6547754B2 (ja) 三角測量装置、三角測量方法およびそのプログラム
EP2960859B1 (en) Constructing a 3d structure
JP2015090298A (ja) 情報処理装置、情報処理方法
WO2020217360A1 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
Kukelova et al. Hand-eye calibration without hand orientation measurement using minimal solution
US20210118160A1 (en) Methods, devices and computer program products for 3d mapping and pose estimation of 3d images
JP2017163386A (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム
US11470298B2 (en) Method and apparatus with updating of algorithm for generating disparity image
WO2020144757A1 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
CN117495975A (zh) 一种变焦镜头的标定方法、装置及电子设备
EP4187483A1 (en) Apparatus and method with image processing
Liu et al. Globally optimal consensus maximization for relative pose estimation with known gravity direction
Bushnevskiy et al. Multimode camera calibration
JP6260533B2 (ja) 位置姿勢推定装置、位置姿勢推定方法および位置姿勢推定プログラム
Guan et al. Relative pose estimation for multi-camera systems from point correspondences with scale ratio
JP2005063012A (ja) 全方位カメラ運動と3次元情報の復元方法とその装置及びプログラム並びにこれを記録した記録媒体
JP7076598B1 (ja) 動画又は複数画像からの3次元情報生成装置
US20230154026A1 (en) Method and apparatus with pose estimation
JP2014175782A (ja) カメラパラメータ推定装置及びカメラパラメータ推定方法並びにカメラパラメータ推定プログラム