説明

キャリブレーション装置及び歪み誤差算出方法

【課題】撮影画像内の周辺部において生じる歪み誤差を補正できる、キャリブレーション装置及びキャリブレーション方法を提供すること。
【解決手段】キャリブレーション装置100において、特徴点設定部110が、周期性を持って全体に配列された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つボード画像の中央部領域にのみ配置された第1パターン及び設定ポイントが疎に且つボード画像の全体に配置された第2パターンに基づいて、第1の画像内特徴点群セット及び第2の画像内特徴点群セットを設定する。誤差補正情報生成部130が、第1の画像内特徴点群セットに含まれた各画像内特徴点の座標と、第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、キャリブレーションパラメータとに基づいて、歪み誤差を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キャリブレーション装置及び歪み誤差算出方法に関する。
【背景技術】
【0002】
従来、ステレオカメラの撮影特性に関するパラメータを校正するキャリブレーション技術が開発されている(例えば、非特許文献1、非特許文献2)。非特許文献1及び非特許文献2に記載においては、レンズ歪みモデルを利用したキャリブレーション方法が開示されている。このキャリブレーション方法において用いられるレンズ歪みモデルの一例は、式(1)によって表される。
【0003】
【数1】

ただし、式(1)中のk1,k2,k3は、半径方向の歪み係数を表し、p1,p2は、円周方向の歪み係数を表す。そして、(x,y)は、歪みの影響を受けた画像における点(以下では、「歪み点」と呼ばれることがある)の、歪みの無い画像の座標系(以下では、単に「画像座標系」と呼ばれることがある)における座標である。そして、(xcorrected,ycorrected)は、歪み点が歪み補正された後の、画像座標系における座標である。そして、r2=x2+y2の関係が成り立つ。
【0004】
また、従来のキャリブレーション方法では、キャリブレーションボードがステレオカメラを構成する2つのカメラ(左右カメラ)によって撮影される。このキャリブレーションボードには、特徴点群が含まれている。そして、2つのカメラによって撮影された画像における任意の特徴点を利用して、キャリブレーション処理が実行される。
【0005】
具体的には、キャリブレーション処理は、次の手順によって行われる。すなわち、先ず、左右カメラの「歪み補正処理」において、レンズ歪み係数が算出される。次に、左右カメラ間の「平行化補正処理」において、2つのカメラに関わる、基線長、焦点距離及び光軸中心などのパラメータが算出される。そして、最後に、左右カメラの歪み補正処理及び平行化補正処理において算出されたパラメータのセットを用いて、「画像歪み補正処理」が行われる。画像歪み補正処理とは、歪み補正前の画像における複数の歪み点の内の各歪み点と、各歪み点が歪み補正された後の、画像座標系における座標との対応付けを行う処理である。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】徐剛、辻三郎共著「3次元ビジョン(単行本)」共立出版 ISBN-13:978-4320085220 出版日:1998/04
【非特許文献2】"Camera Calibration with Distortion Models and Accuracy Evaluation" IEEE Trans. On PMI Vol.14, No.10, October, 1992
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、カメラに広角レンズが適用される場合、そのカメラによって撮影された画像内の上端、下端、右端、左端の画像端部において歪みが大きい。従って、この場合、従来のキャリブレーション方法において利用されているレンズ歪みモデルは、マッチしない。このため、カメラに広角レンズが適用される場合に従来のキャリブレーション処理を実行したしても、そのカメラによって撮影された画像内の上端、下端、右端、左端の画像端部において歪みが依然として残ってしまう問題がある。
【0008】
本発明の目的は、ステレオカメラに広角レンズを適用した場合に撮影画像内の上端、下端、右端、左端の画像端部において生じる歪み誤差を補正できる、キャリブレーション装置及び歪み誤差算出方法を提供することである。
【課題を解決するための手段】
【0009】
本発明の一態様のキャリブレーション装置は、周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第1パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第2パターンに基づいて、第1の画像内特徴点群セット及び第2の画像内特徴点群セットを設定する設定手段と、レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持手段と、前記第1の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出手段と、を具備する。
【0010】
本発明の一態様の歪み誤差算出方法は、周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第1パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第2パターンに基づいて、第1の画像内特徴点群セット及び第2の画像内特徴点群セットを設定する設定ステップと、レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持ステップと、前記第1の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出ステップと、を具備する。
【発明の効果】
【0011】
本発明によれば、ステレオカメラに広角レンズを適用した場合に撮影画像内の上端、下端、右端、左端の画像端において生じる歪み誤差を補正できる、キャリブレーション装置及びキャリブレーション方法を提供することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態に係るキャリブレーション装置の構成を示すブロック図
【図2】誤差補正情報生成部の構成を示すブロック図
【図3】キャリブレーション装置の動作説明に供するフローチャート
【図4】特徴点設定処理の説明に供する図
【図5】特徴点設定処理の説明に供する他の図
【図6】誤差補正パラメータ算出処理を示すフローチャート
【図7】右画像から得られる第1特徴点セット情報及び左画像から得られる第1特徴点セット情報の一方のみを用いてボード位置を算出する方法を示すフローチャート
【図8】誤差補正情報算出処理を示すフローチャート
【図9】特徴点歪み誤差情報及び画素単位歪み誤差情報の一例を示す図
【図10】左画像についての平行化第2セット座標情報のイメージを示す図
【発明を実施するための形態】
【0013】
以下、本発明の一実施の形態について図面を参照して詳細に説明する。
【0014】
[キャリブレーション装置100の構成]
図1は、本発明の一実施の形態に係るキャリブレーション装置100の構成を示す。図1において、キャリブレーション装置100は、特徴点設定部110と、パラメータ格納部120と、誤差補正情報生成部130とを有する。
【0015】
特徴点設定部110は、ボード画像を取得する。ボード画像は、キャリブレーションボードがステレオカメラによって撮影されたステレオ画像(つまり、右カメラによって撮影された右画像と左カメラによって撮影された左画像)である。また、キャリブレーションボードには、周期性を持って全体に配置された複数の特徴点が含まれる。
【0016】
特徴点とは、キャリブレーションボード上に配置された点である。キャリブレーションボードには、特徴点の位置を特定することを目的とした周期的な模様が描かれている。この模様は、例えば、白、黒の矩形を交互に配した格子模様が挙げられる。かかる場合、その白と黒の矩形の四隅の点が特徴点である。従って、ボード画像にも、周期性を持って並ぶ特徴点が含まれる。なお、キャリブレーションボードの詳細については、後述する。
【0017】
ボード画像に含まれる複数の特徴点の内、各特徴点セットに含まれる特徴点として設定される特徴点を「設定ポイント」という。また、設定ポイントを設定するパターンを、「設定パターン」という。設定パターンの詳細については、後述する。
【0018】
そして、特徴点設定部110は、第1の設定パターン及び第2の設定パターンのそれぞれに基づいて、ボード画像に含まれる特徴点群の内から、第1の特徴点セット及び第2の特徴点セットをそれぞれ設定する。
【0019】
ここで、第1の設定パターンは、設定ポイントが密に設定されるものであり、第2の設定パターンは、第1の設定パターンに比べて、設定ポイントが疎に設定される。すなわち、第1の設定パターンに含まれる設定ポイント間の第1の周期は、第2の設定パターンに含まれる設定ポイント間の第2の周期よりも短い。ここでは、特に、第2の周期は、第1の周期の奇数倍である。また、第1の設定パターンの設定ポイントは、ボード画像の中央部に設定される一方、第2の設定パターンの設定ポイントは、ボード画像の全体に設定される。
【0020】
そして、特徴点設定部110は、第1の設定パターンに関する情報(以下では、「第1パターン情報」と呼ばれることがある)及び第1の特徴点セットに含まれる各特徴点の座標に関する情報(以下では、「第1セット座標群情報」と呼ばれることがある)を誤差情報生成部130へ出力する。また、特徴点設定部110は、第2の設定パターンに関する情報(以下では、「第2パターン情報」と呼ばれることがある)及び第2の特徴点セットに含まれる各特徴点の座標に関する情報(以下では、「第2セット座標群情報」と呼ばれることがある)を誤差情報生成部130へ出力する。
【0021】
なお、以下では、第1パターン情報及び第1セット座標群情報は、総称して「第1特徴点セット情報」と呼ばれることがある。また、第2パターン情報及び第2セット座標群情報は、総称して「第2特徴点セット情報」と呼ばれることがある。
【0022】
ここで、第1パターン情報には、画像の横方向に設定される設定ポイントの数、画像縦方向に設定される設定ポイントの数、設定ポイント間の間隔サイズ(上記したキャリブレーションボード上に配置された特徴点間の間隔サイズに対応)が含まれる。また、第2パターン情報にも、第1パターン情報と同様に第2パターンに関する情報が含まれる。
【0023】
パラメータ格納部120は、ステレオカメラに対する「キャリブレーションパラメータ」を格納する。キャリブレーションパラメータには、「カメラ内部パラメータ」と、「カメラ外部パラメータ」と、「カメラ平行化係数」とが含まれる。カメラ内部パラメータには、右カメラ及び左カメラのそれぞれについてのレンズ歪み係数、焦点距離、及び光軸中心が含まれる。また、カメラ外部パラメータには、右カメラと左カメラとの間の回転角、及び、右カメラと左カメラとの間の距離を示す基線長が含まれる。また、カメラ平行化係数には、左右カメラ画像平面の行をそろえるための平行化用回転ベクトル、射影行列などが含まれる。
【0024】
誤差補正情報生成部130は、第1セット座標群情報と、第2セット座標群情報と、パラメータ格納部120に格納されているキャリブレーションパラメータとに基づいて、「歪み誤差」を算出する。「歪み誤差」とは、パラメータ格納部120に格納されているキャリブレーションパラメータを用いて得られる画像と、所定品質が確保された画像である画像ターゲットとの差分に相当する。この歪み誤差に関する情報(以下では、「歪み誤差情報」と呼ばれることがある)が後段の処理部へ出力される。そして、この後段の処理部において、パラメータ格納部120に格納されているキャリブレーションパラメータを用いて得られる画像に対する誤差補正に歪み誤差が用いられることにより、画像ターゲットが得られる。すなわち、「歪み誤差情報」は、誤差補正情報である。また、「歪み誤差情報」は、パラメータ格納部120に格納されているキャリブレーションパラメータを用いて得られる画像における座標群と、その画像に対して誤差補正が行われた後の画像における座標群との対応関係を示す情報である。
【0025】
具体的には、誤差補正情報生成部130は、図2に示すように、相対姿勢特定部131と、歪み誤差算出処理部132とを有する。
【0026】
相対姿勢特定部131は、第1特徴点セット情報と、パラメータ格納部120に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、ボード画像が撮影された時の、ステレオカメラに対するキャリブレーションボードの相対的な姿勢及び相対的な位置(以下では、単に「相対姿勢」と呼ばれることがある)を特定する。ここで用いられるカメラ内部パラメータとしては、レンズ歪み係数、焦点距離、及び光軸中心が含まれる。この相対姿勢は、ステレオカメラに対するキャリブレーションボードの回転ベクトル及び平行移動ベクトルによって表される。以下では、この相対姿勢を表す回転ベクトル及び平行移動ベクトルは、総称して「相対姿勢情報」又は「誤差補正パラメータ」と呼ばれることがある。なお、回転ベクトルは、1*3又は3*1のベクトルである。また、回転ベクトルの方向は、キャリブレーションボードの回転軸を表す。また、回転ベクトルの強度又は長さは、反時計回りの回転角度を表す。また、平行移動ベクトルは、カメラ座標系における、キャリブレーションボードの基準位置と原点位置とのオフセットである。また、誤差補正パラメータは、ステレオカメラを構成するカメラ毎に算出される。
【0027】
歪み誤差算出処理部132は、第2特徴点セット情報と、相対姿勢特定部131において特定された相対姿勢情報と、レンズ歪み係数を除くカメラ内部パラメータと、カメラ平行化係数とに基づいて、「歪み誤差」を算出する。
【0028】
[キャリブレーション装置100の動作]
以上の構成を有するキャリブレーション装置100の動作について説明する。
【0029】
先ず、「キャリブレーションパラメータ生成処理」について説明する。この「キャリブレーションパラメータ生成処理」において生成されたキャリブレーションパラメータが、パラメータ格納部120に格納されている。
【0030】
先ず、少なくとも1枚のボード画像が用意される。ボード画像は、キャリブレーションボードがステレオカメラによって撮影されたステレオ画像である。また、キャリブレーションボードには、その全面に渡り、周期性を持って配置された複数の特徴点が含まれる。
【0031】
特徴点とは、キャリブレーションボード上に配置された点である。また、キャリブレーションボードには、特徴点の位置を特定することを目的とした周期的な模様が描かれている。この模様は、例えば、白、黒の矩形を交互に配した格子模様が挙げられる。かかる場合、その白と黒の矩形の四隅の点が特徴点である。
【0032】
なお、ボード画像は、例えば、キャリブレーションボードが左右カメラのそれぞれの画面一杯になるように撮影されることが好ましい。さらに、キャリブレーションボードとカメラとの角度を変更しながら撮影された、複数枚のボード画像を用意することが好ましい。さらに、角度だけでなく、キャリブレーションボードとカメラとの間の距離を変更しながら撮影された、複数枚のボード画像を用意してもよい。
【0033】
次に、単一の設定パターンを用いて、ボード画像に含まれる特徴点群の内から、特徴点セットが設定される。ここで、「設定パターン」とは、ボード画像に含まれる特徴点群のうち各特徴点セットに含まれる特徴点として設定される特徴点のパターンである。そして、特徴点セット情報に基づいて、カメラ内部パラメータが算出される。この算出処理においては、ステレオカメラを構成する各カメラのカメラ座標系qとワールド座標系Qとの関係を表す変換式内の透視変換行列Pを求める必要がある。
【数2】

【数3】

【0034】
式(3)を式(2)に代入すると、式(4)になる。
【0035】
【数4】

ここで、sは、スケール係数であり、Mは、焦点距離及び光軸中心を含むカメラ内部パラメータ行列である。Wは、キャリブレーションボードのカメラ座標系に対する回転行列及び平行移動行列である。
【0036】
そして、キャリブレーションボード上の特徴点のカメラ座標系における2次元座標(u,v)とワールド座標(X,Y,Z)との組み合わせが、カメラ毎に複数ずつ取得される。各組合せが、式(4)に代入されることにより、透視変換行列P内の要素の値が算出される。この算出においては、最小2乗法などによって各要素の最も好ましい値が特定される。
【0037】
次に、レンズ歪み係数が求められる。レンズ歪みに起因して、特徴点を画像上へ投影した点は、理想の場所と異なる場所に現れる。ここで、歪みのない理想状態における、画像座標系における特徴点の座標を(u,v)とし、歪みによってずらされた、画像座標系における特徴点の座標を(x,y)とする。このとき、理想状態では、式(5)が成立し、歪みのある状態では、式(6)が成り立つ。
【数5】

【数6】

【0038】
理想状態におけるキャリブレーション結果を式(6)に代入し、方程式を解くことにより、レンズ歪み係数を求めることができる。
【0039】
ここまでの処理によって、カメラ毎のレンズ歪み係数、焦点距離、光軸中心等の各種パラメータが求まる。
【0040】
次に、左右カメラ間の平行化処理によって、焦点距離、光軸中心などのカメラ内部パラメータが再推定され、さらに、左右カメラ間の回転ベクトル及び平行移動ベクトル、並びに左右カメラ画像平面の行を揃えるためのカメラ平行化係数が推定される。こうして求められたカメラ内部パラメータ、カメラ外部パラメータ及びカメラ平行化係数がパラメータ格納部120に格納される。
【0041】
図3は、キャリブレーション装置100の動作説明に供するフローチャートである。
【0042】
ステップS1100において、特徴点設定部110は、取得したボード画像に含まれる複数の特徴点から、第1の設定パターン及び第2の設定パターンのそれぞれに基づいて、第1の特徴点セット及び第2の特徴点セットをそれぞれ設定する。ボード画像は、例えば、キャリブレーションボードが左右カメラのそれぞれの画面一杯になるように撮影されることが好ましい。さらに、ボード画像は、右画像と左画像との共通領域が最大になるように撮影されることが好ましい。また、ボード画像は、パラメータ格納部120に格納されている「キャリブレーションパラメータ生成処理」時に用いられるボード画像と共通していてもよいし、異なっていてもよい。ここでは、異なるボード画像が用いられることを前提に説明する。
【0043】
ここで、キャリブレーションボードとしては、図4Aに示すように、白の矩形領域と黒の矩形領域とが交互に並んでいるものが用いられてもよい。そして、特徴点としては、黒領域同士又は白領域同士の接点(つまり、格子点)が用いられるとよい。なお、これに限らず、特徴点としては、円状の点が用いられてもよいし、正方形の点が用いられてもよい。
【0044】
また、図4Bには、特徴点セット情報の基本パターンが示されている。また、図4Cには、特徴点セット情報の一例が示されている。図4Cに示される特徴点セット情報においては、画像の横方向に設定される設定ポイントの数が4であり、画像縦方向に設定される設定ポイントの数が4であり、設定ポイント間の間隔サイズ30mmであることを示している。また、図4Cに示される特徴点セット情報においては、特徴点セットに含まれる合計16個の特徴点のそれぞれの座標に関する情報が示されている。
【0045】
また、ここでは、特に、図5に示されるようなキャリブレーションボードが用いられる。図5に示されるキャリブレーションボードは、第1の設定パターンが設定される領域に対応する「中央部領域」と、第2の設定パターンのみが設定される領域に対応する上端、下端、右端、左端からなる「画像端部領域」とから構成される。中央部領域には、第1の設定パターンにおける設定ポイントの周期に対応するサイズを持つ2種類の領域(つまり、黒領域及び白領域)が交互に敷き詰められている。また、画像端部領域には、第2の設定パターンにおける設定ポイントの周期に対応するサイズを持つ2種類の領域(つまり、黒領域及び白領域)が交互に敷き詰められている。
【0046】
すなわち、図5に示すキャリブレーションボードにおいては、撮影した際の画像において歪みの少ない中央部領域には、第1の設定パターンに対応する格子点を密に配置することができる。また、歪みの大きい画像端部領域には、第2の設定パターンに対応する格子点を疎に配置することができる。特に、図5に示すキャリブレーションボードにおいては、画像端部領域に配置される2種類の領域のサイズは、中央部領域に配置される2種類の領域のサイズの奇数倍(ここでは、3倍)である。これにより、歪みの大きい画像端部領域に格子点を疎に配置することによって、ボード画像において特徴点の解像度が不足し、正確な位置を検出できなくなることを、防止することができる。なお、第1の設定パターンに対応する格子点が全体に配置されたキャリブレーションボードと、第2の設定パターンに対応する格子点が全体に配置されたキャリブレーションボードとの2つのキャリブレーションボードを用いて、2つのボード画像を用意することも考えられる。しかしながら、2つのキャリブレーションボードを用いた場合、それぞれのキャリブレーションボードとカメラとの相対的な位置関係を正確に同じにすることが出来ないため、ボード画像の中心部領域と画像端部領域の両方に適用可能なキャリブレーションパラメータを算出することが出来ない。
【0047】
また、図5には、同図に示されるキャリブレーションボード503を撮影することにより得られたボード画像を用いて設定される第1特徴点セット情報501及び第2特徴点セット情報502が示されている。図5に示す第1特徴点セット情報501においては、画像の横方向に設定される設定ポイントの数が22であり、画像縦方向に設定される設定ポイントの数が16であり、設定ポイント間の間隔サイズ17mmであることを示している。また、図5に示す第1特徴点セット情報501においては、合計352個の特徴点のそれぞれの座標に関する情報が示されている。また、図5に示す第2特徴点セット情報502においては、画像の横方向に設定される設定ポイントの数が16であり、画像縦方向に設定される設定ポイントの数が12であり、設定ポイント間の間隔サイズ51mmであることを示している。また、図5に示す第2特徴点セット情報502においては、合計192個の特徴点のそれぞれの座標に関する情報が示されている。
【0048】
ステップS1200において、相対姿勢特定部131は、第1特徴点セット情報と、パラメータ格納部120に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、誤差補正パラメータを算出する。
【0049】
図6は、誤差補正パラメータ算出処理を示すフローチャートである。
【0050】
ステップS1210において、相対姿勢特定部131は、左画像を用いて得られる第1特徴点セット情報を用いて、3次元空間座標によって表される第1セット座標群情報を生成する。この3次元空間座標によって表される第1セット座標群情報とは、キャリブレーションボードのz座標がゼロであり、x軸及びy軸の単位がキャリブレーションボードにおける格子の大きさに一致する。ここで、例えば、キャリブレーションボードが、カメラから見て、z軸がゼロであり且つx軸方向に位置すると仮定する。さらに、図5に示すようなキャリブレーションボードが用いられ、且つそのキャリブレーションボードにおける格子が一辺17mmの正方形である場合、3次元空間座標によって表される第1セット座標群情報は、(0,0),(0,17),(0,34),…,(0,21*17),(17,0),(17,17),(17,34)…,(17,21*17),…,(15*17,0),(15*17,17),(15*17,34),…,(15*17, 21*17)となる。同様の処理が、右画像についても行われる。
【0051】
ステップS1220において、相対姿勢特定部131は、ステップS1210において得られた、3次元空間座標によって表される第1特徴点セット情報と、パラメータ格納部120に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、ボード画像が撮影された時の、ステレオカメラに対するキャリブレーションボードの相対的な姿勢及び相対的な位置(つまり、「相対姿勢」)を特定する。すなわち、相対姿勢特定部131は、ボード位置を算出する。
【0052】
具体的には、相対姿勢特定部131は、パラメータ格納部120に格納された左カメラについてのカメラ内部パラメータと、左画像についての3次元空間座標によって表される第1特徴点セット情報とを、上記した式(4)及び式(6)へ代入することによって、左カメラに対するボード位置を算出する。ボード位置とは、キャリブレーションボードのカメラに対する、回転ベクトルR及び平行移動ベクトルTである。すなわち、ここでいうボード位置は、上記した「相対姿勢」と同じである。回転ベクトルRは、1*3または3*1のベクトルである。また、回転ベクトルの方向は、キャリブレーションボードの回転軸を表す。また、回転ベクトルの強度又は長さは、反時計回りの回転角度を表す。また、平行移動ベクトルは、カメラ座標系における、キャリブレーションボードの基準位置と原点位置とのオフセットである。左カメラに対するボード位置は、(R,L)と標記され、右カメラに対するボード位置は、(R,L)と標記される。式(4)及び式(6)においては、W=[R,L]は、左カメラに対するボード位置を表し、Qは、3次元空間座標によって表される、左画像についての第1セット座標群情報を表す。また、qは、左画像についての第1セット座標群情報を表し、M−1は、焦点距離及び光軸中心である。Q、q、M−1、及びレンズ歪み係数は既知であるので、連立方程式を解くことによって、W=[R,L]が算出される。この算出には、最小2乗法などが用いられ、最も好ましいW=[R,L]が算出される。また、右画像についても同様の処理を行うことにおり、W=[R,L]が算出される。
【0053】
以上のようにして算出されたW=[R,L]及びW=[R,L]は、左カメラに係るパラメータの誤差を補正する誤差補正パラメータ及び右カメラに係るパラメータの誤差を補正する誤差補正パラメータとして歪み誤差算出処理部132へ出力される。
【0054】
図6に示したフローチャートにおいては、右画像から得られる第1特徴点セット情報及び左画像から得られる第1特徴点セット情報の両方を用いて、ボード位置を算出する方法を示した。しかしながら、これに限定されるものではなく、右画像から得られる第1特徴点セット情報及び左画像から得られる第1特徴点セット情報の一方のみを用いてボード位置を算出してもよい。図7は、右画像から得られる第1特徴点セット情報及び左画像から得られる第1特徴点セット情報の一方のみを用いてボード位置を算出する方法を示すフローチャートを示す。ただし、この場合においても、第2特徴点セット情報については、右画像及び左画像の両方から求められたものが用いられる。
【0055】
ステップS1250において、相対姿勢特定部131は、右画像を用いて得られる第1特徴点セット情報を用いて、3次元空間座標によって表される第1セット座標群情報を生成する。
【0056】
ステップS1260において、相対姿勢特定部131は、ステップS1210において得られた、3次元空間座標によって表される第1特徴点セット情報と、パラメータ格納部120に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、相対姿勢を特定する。すなわち、相対姿勢特定部131は、ボード位置を算出する。具体的には、相対姿勢特定部131は、パラメータ格納部120に格納された右カメラについてのカメラ内部パラメータと、右画像についての3次元空間座標によって表される第1特徴点セット情報とを、上記した式(4)及び式(6)へ代入することによって、右カメラに対するボード位置を算出する。
【0057】
ステップS1270において、相対姿勢特定部131は、ステップS1260において得られた、右カメラに対するボード位置(R,L)と、パラメータ格納部120に格納されている、左右カメラ間の回転角ベクトルR、基線長ベクトルTを含むパラメータCPRTとを式(7)及び式(8)へ代入することにより、左カメラに対するボード位置(R,L)を算出する。すなわち、相対姿勢特定部131は、ステップS1260において得られた、右カメラに対するボード位置(R,L)を基準として、左カメラに対するボード位置(R,L)を算出する。
【数7】

【数8】

【0058】
上記の式(7)は、左カメラに対するボード位置(つまり、回転角ベクトルR及び平行移動ベクトルT)、右カメラに対するボード位置(つまり、回転角ベクトルR及び平行移動ベクトルT)、左右カメラ間の回転角ベクトルR、及び左右カメラ間の平行移動ベクトルTの関係式である。また、式(8)は、式(7)から導出された、左カメラに対するボード位置を求める式である。
【0059】
以上のようにして算出されたボード位置(R,L)及び(R,L)は、左カメラに係るパラメータの誤差を補正する誤差補正パラメータ及び右カメラに係るパラメータの誤差を補正する誤差補正パラメータとして歪み誤差算出処理部132へ出力される。
【0060】
なお、図7に示すフローチャートにおいては、右カメラに対するボード位置(R,L)を基準として、左カメラに対するボード位置(R,L)が算出されたが、これに限定されるものではない。逆に、左カメラに対するボード位置(R,L)を基準として、右カメラに対するボード位置(R,L)が算出されてもよい。
【0061】
図3に戻り、ステップS1300において、歪み誤差算出処理部132は、第2特徴点セット情報と、相対姿勢特定部131において特定された相対姿勢情報と、レンズ歪み係数を除くカメラ内部パラメータと、カメラ平行化係数とに基づいて、「歪み誤差」を算出する。すなわち、歪み誤差算出処理部132は、誤差補正情報算出処理を実行する。
【0062】
図8は、誤差補正情報算出処理を示すフローチャートである。
【0063】
ステップS1310において、歪み誤差算出処理部132は、左右カメラを示す変数iを設定する。iは、0又は1であり、その初期値はゼロである。i=0は、左カメラを意味し、i=1は、右カメラを意味する。右カメラについての処理も左カメラについての処理も同様であるので、以下では、i=0の場合、つまり、左カメラについての処理を例に説明する。
【0064】
ステップS1320において、歪み誤差算出処理部132は、左画像を用いて得られる第2特徴点セット情報を用いて、3次元空間座標によって表される第2セット座標群情報を生成する。
【0065】
左画像を用いて得られる第2特徴点セット情報において、画像の横方向に設定される設定ポイントの数がNx_L個であり、画像縦方向に設定される設定ポイントの数がNy_L個であり、合計Nの設定ポイントが設定された場合、左画像を用いて得られる第2セット座標群情報は、次のように表される。
【数9】

【0066】
また、3次元空間座標によって表される、左画像についての第2セット座標群情報は、次のように表される。
【数10】

【0067】
この3次元空間座標によって表される第2セット座標群情報とは、第1セット座標群情報と同様に、キャリブレーションボードのz座標がゼロであり、x軸及びy軸の単位がキャリブレーションボードにおける格子の大きさに一致する。たとえば前記ボードは、カメラから見て、z軸が0で、x軸方向に位置するとする。ここで、例えば、キャリブレーションボードが、カメラから見て、z軸がゼロであり且つx軸方向に位置すると仮定する。さらに、図5に示すようなキャリブレーションボードが用いられ且つそのキャリブレーションボードにおける格子が一辺51mmの正方形である場合、3次元空間座標によって表される第2セット座標群情報は、(0,0),(0,51),(0,102),…,(0,15*51),(51,0),(51,51),(51,102)…,(51,15*51),…,(11*51,0),(11*51,51),(11*51,102),…,(11*51, 15*51)となる。
【0068】
ステップS1330において、歪み誤差算出処理部132は、3次元空間座標によって表される、左画像についての第2セット座標群情報と、相対姿勢特定部131によって算出された左カメラに対する誤差補正パラメータPerror correctと、左カメラについての、レンズ歪み係数以外のカメラ内部パラメータとを、式(4)へ代入することにより、左画像についての第2セット座標群情報を画像座標系に再投影する。これにより、画像座標系に再投影された第2セット座標群情報が得られる。なお、再投影第2セット座標群情報及び第2パターン情報は、総称して、「再投影第2特徴点セット情報」と呼ばれることがある。
【0069】
具体的には、式(4)における、W=[R,L]には、相対姿勢特定部131によって算出された左カメラに対する誤差補正パラメータPerror correctが代入される。また、M−1には、焦点距離及び光軸中心が代入される。また、Qには、3次元空間座標によって表される、左画像についての第2セット座標群情報が代入される。そして、qは、再投影された第2セット座標群情報を表す。Q、W、及びM−1は既知であるので、連立方程式を解くことによって、再投影された第2セット座標群情報qが算出される。このように、レンズ歪み係数が用いられないので、歪みの影響を受けない理想状態において再投影された第2セット座標群情報qを求めることができる。再投影された第2セット座標群情報qは、次のように表すことができる。
【数11】

【0070】
ステップS1340において、歪み誤差算出処理部132は、再投影前の第2セット座標群情報と、再投影後の第2セット座標群情報との差分を求める。この差分は、「特徴点歪み誤差」と呼ばれることがある。式(9)は、特徴点歪み誤差の算出式である。
【数12】

【0071】
特徴点歪み誤差は、第2セット座標群情報に含まれる座標の数だけ算出される。特徴点歪み誤差は、例えば、次のように表される。
【数13】

【0072】
図9Aは、特徴点歪み誤差情報の一例を示す。
【0073】
ステップS1350において、歪み誤差算出処理部132は、平行化され且つ左カメラの歪み係数によって補正された再投影第2セット座標群情報と、特徴点歪み誤差とに基づいて、誤差補正対象領域に含まれる画素群のそれぞれの歪み誤差(以下では、「画素単位歪み誤差」と呼ばれることがある)を算出する。画素単位歪み誤差の算出には、線形補間などの方法が用いられる。図9Bは、画素単位歪み誤差情報の一例を示す。すなわち、画素単位歪み誤差情報は、左画像の各画素の画像座標系における座標と、平行化され且つ左カメラの歪み係数によって補正された再投影第2セット座標群情報に含まれる座標との対応関係を表すものである。
【0074】
具体的には、歪み誤差算出処理部132は、再投影第2特徴点セット情報と、左カメラについてのレンズ歪み係数を除くカメラ内部パラメータ(つまり、焦点距離及び光軸中心)及びカメラ平行化係数とに基づいて、平行化され且つ左カメラの歪み係数によって補正された再投影第2セット座標群情報(以下では、「平行化第2セット座標情報」と呼ばれることがある)を算出する。なお、平行化第2セット座標情報及び第2パターン情報は、総称して、「平行化第2特徴点セット情報」と呼ばれることがある。
【0075】
この左画像についての平行化第2セット座標情報は、次のように表される。
【数14】

【0076】
図10は、左画像についての平行化第2セット座標情報のイメージを示す。図10に示すように、平行化第2セット座標情報に含まれる各座標(recified_u'm_L,recified_v'm_L)は、特徴点歪み誤差(err_u'm_L,err_v'm_L)を持っている。
【0077】
図10に示す誤差補正対象領域内の任意画素aに対して、この画素を内部に含み且つ平行化第2セット座標情報に含まれる3つの座標を頂点とする三角領域群の内、面積が最小となる三角形の頂点に対応する3つの座標を特定する。そして、特定された3つの座標を用いて線形補間することにより、左画像上における任意画素aの座標を算出する。線形補間としては、一般的な方法を用いてもよい。例えば、式(10)に示す誤差算出モデルを利用することができる。
【数15】

ただし、Eは、特徴点歪み誤差であり、(x,y)は、画像座標系における、任意画素の座標であり、(a,b,c)は、係数である。
【0078】
特定された3つの座標を式(11)に代入することにより、係数a,b,cが求まる。
【数16】

【0079】
そして、任意画素aの画像座標系における座標(x,y)を係数a,b,cが既知となった式(10)に代入することにより、任意画素aに対応する左画像上の座標が算出される。この左画像上の座標の算出処理は、誤差補正対象領域内のすべての画素について行われる。そして、各画素について算出された左画像上の座標に基づいて、画素単位歪み誤差が算出される。この画素単位歪み誤差が、誤差補正情報として後段の機能部へ出力される。
【0080】
ステップS1360において、歪み誤差算出処理部132は、iの値をインクリメントする。
【0081】
ステップS1370において、歪み誤差算出処理部132は、iの値が1より大きいか否かをチェックする。iの値が1より大きくない場合は、処理がステップS1320へ戻り、右カメラについての処理を行う。
【0082】
以上のように本実施の形態によれば、キャリブレーション装置100において、特徴点設定部110が、周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つボード画像の中央部領域にのみ配置された第1パターン及び設定ポイントが疎に且つボード画像の全体に配置された第2パターンに基づいて、第1の画像内特徴点群セット及び第2の画像内特徴点群セットを設定する。そして、パラメータ格納部120が、レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する。そして、誤差補正情報生成部130が、第1の画像内特徴点群セットに含まれた各画像内特徴点の座標と、第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、パラメータ格納部120に保持されたキャリブレーションパラメータとに基づいて、パラメータ格納部120に保持されたキャリブレーションパラメータを用いて補正された後の画像と画像ターゲットとの差分に相当する歪み誤差を算出する。
【0083】
こうすることにより、広角レンズによる映り方の異なる中央部領域と画像端部領域とにおいて異なる密度によって設定ポイントを設定することで画像全体(中央部領域及び画像端部領域)に特徴点を配置すると共に、キャリブレーションボードの位置を特定するのに十分な特徴点も配置することができる。つまり、画像全体(中央部領域及び画像端部領域)に配置された特徴点群を用いた歪み誤差補正に加え、中央部領域にのみ配置された特徴点群を用いたキャリブレーションボードの位置推定も同時に行うことができる。これにより、画像端部領域の特徴点位置を正確に計算することが可能となり、撮影された画像上の特徴点の座標に基づいて画像面全体の領域における歪み誤差を補正することができる。
【0084】
なお、以上の説明では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連携においてソフトウェアでも実現することも可能である。
【0085】
また、以上の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0086】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【0087】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【産業上の利用可能性】
【0088】
本発明のキャリブレーション装置及び歪み誤差算出方法は、ステレオカメラに広角レンズを適用した場合に撮影画像内の周辺部において生じる歪み誤差を補正できるものとして有用である。
【符号の説明】
【0089】
100 キャリブレーション装置
110 特徴点設定部
120 パラメータ格納部
130 誤差補正情報生成部
131 相対姿勢特定部
132 歪み誤差算出処理部

【特許請求の範囲】
【請求項1】
周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第1パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第2パターンに基づいて、第1の画像内特徴点群セット及び第2の画像内特徴点群セットを設定する設定手段と、
レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持手段と、
前記第1の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出手段と、
を具備するキャリブレーション装置。
【請求項2】
前記算出手段は、
前記第1の画像内特徴点群セットに含まれる各画像内特徴点の座標と、前記カメラ内部パラメータと、前記カメラ平行化係数とに基づいて、前記ボード画像が撮影された時の、ステレオカメラに対するキャリブレーションボードの相対的な姿勢及び相対的な位置を特定する特定手段と、
前記特定された相対的な姿勢及び相対的な位置と、前記第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記レンズ歪み係数を除くカメラ内部パラメータと、前記カメラ平行化係数とに基づいて、前記歪み誤差を算出する誤差算出処理手段と、
を具備する、
請求項1に記載のキャリブレーション装置。
【請求項3】
前記誤差算出処理手段は、
前記特定された相対的な姿勢及び相対的な位置と、前記レンズ歪み係数を除くカメラ内部パラメータとに基づいて、前記第2の画像内特徴点群セットに含まれた各画像内特徴点の座標を、前記ボード画像内の座標系に再投影することにより、再投影特徴点群セットを算出し、
前記第2の画像内特徴点群セットと、前記再投影特徴点群セットとの差分を求めることにより、特徴点歪み誤差を算出し、
前記再投影特徴点群セットと、前記レンズ歪み係数を除くカメラ内部パラメータと、前記カメラ平行化係数とに基づいて、平行化され且つ歪み補正された平行化特徴点群セットを算出し、
前記特徴点歪み誤差と、前記平行化特徴点群セットとに基づいて、画素単位の歪み誤差を算出する、
請求項2に記載のキャリブレーション装置。
【請求項4】
前記第2パターンにおける設定ポイント間の間隔は、前記第1パターンにおける設定ポイント間の間隔の奇数倍である、
請求項1から3のいずれか一項に記載のキャリブレーション装置。
【請求項5】
周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第1パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第2パターンに基づいて、第1の画像内特徴点群セット及び第2の画像内特徴点群セットを設定する設定ステップと、
レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持ステップと、
前記第1の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第2の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出ステップと、
を具備する歪み誤差算出方法。
【請求項6】
前記キャリブレーションボードは、中央部領域において第1の周期によって配設された特徴点群と、周辺部領域において前記第1の周期よりも長い第2の周期によって配設された特徴点群とを有する、
請求項5に記載の歪み誤差算出方法。
【請求項7】
前記第2の周期は、前記第1の周期の奇数倍である、
請求項5又は6に記載の歪み誤差算出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−36831(P2013−36831A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−172732(P2011−172732)
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】