(57)【要約】【課題】撮影画像内の周辺部において生じる歪み誤差を補正できる、キャリブレーション装置及びキャリブレーション方法を提供すること。【解決手段】キャリブレーション装置１００において、特徴点設定部１１０が、周期性を持って全体に配列された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つボード画像の中央部領域にのみ配置された第１パターン及び設定ポイントが疎に且つボード画像の全体に配置された第２パターンに基づいて、第１の画像内特徴点群セット及び第２の画像内特徴点群セットを設定する。誤差補正情報生成部１３０が、第１の画像内特徴点群セットに含まれた各画像内特徴点の座標と、第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、キャリブレーションパラメータとに基づいて、歪み誤差を算出する。【選択図】図１
2013036831.tif 000002
【特許請求の範囲】
【請求項１】
周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第１パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第２パターンに基づいて、第１の画像内特徴点群セット及び第２の画像内特徴点群セットを設定する設定手段と、
レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持手段と、
前記第１の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出手段と、
を具備するキャリブレーション装置。
【請求項２】
前記算出手段は、
前記第１の画像内特徴点群セットに含まれる各画像内特徴点の座標と、前記カメラ内部パラメータと、前記カメラ平行化係数とに基づいて、前記ボード画像が撮影された時の、ステレオカメラに対するキャリブレーションボードの相対的な姿勢及び相対的な位置を特定する特定手段と、
前記特定された相対的な姿勢及び相対的な位置と、前記第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記レンズ歪み係数を除くカメラ内部パラメータと、前記カメラ平行化係数とに基づいて、前記歪み誤差を算出する誤差算出処理手段と、
を具備する、
請求項１に記載のキャリブレーション装置。
【請求項３】
前記誤差算出処理手段は、
前記特定された相対的な姿勢及び相対的な位置と、前記レンズ歪み係数を除くカメラ内部パラメータとに基づいて、前記第２の画像内特徴点群セットに含まれた各画像内特徴点の座標を、前記ボード画像内の座標系に再投影することにより、再投影特徴点群セットを算出し、
前記第２の画像内特徴点群セットと、前記再投影特徴点群セットとの差分を求めることにより、特徴点歪み誤差を算出し、
前記再投影特徴点群セットと、前記レンズ歪み係数を除くカメラ内部パラメータと、前記カメラ平行化係数とに基づいて、平行化され且つ歪み補正された平行化特徴点群セットを算出し、
前記特徴点歪み誤差と、前記平行化特徴点群セットとに基づいて、画素単位の歪み誤差を算出する、
請求項２に記載のキャリブレーション装置。
【請求項４】
前記第２パターンにおける設定ポイント間の間隔は、前記第１パターンにおける設定ポイント間の間隔の奇数倍である、
請求項１から３のいずれか一項に記載のキャリブレーション装置。
【請求項５】
周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第１パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第２パターンに基づいて、第１の画像内特徴点群セット及び第２の画像内特徴点群セットを設定する設定ステップと、
レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持ステップと、
前記第１の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出ステップと、
を具備する歪み誤差算出方法。
【請求項６】
前記キャリブレーションボードは、中央部領域において第１の周期によって配設された特徴点群と、周辺部領域において前記第１の周期よりも長い第２の周期によって配設された特徴点群とを有する、
請求項５に記載の歪み誤差算出方法。
【請求項７】
前記第２の周期は、前記第１の周期の奇数倍である、
請求項５又は６に記載の歪み誤差算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーション装置及び歪み誤差算出方法に関する。
【背景技術】
【０００２】
従来、ステレオカメラの撮影特性に関するパラメータを校正するキャリブレーション技術が開発されている（例えば、非特許文献１、非特許文献２）。非特許文献１及び非特許文献２に記載においては、レンズ歪みモデルを利用したキャリブレーション方法が開示されている。このキャリブレーション方法において用いられるレンズ歪みモデルの一例は、式（１）によって表される。
【０００３】
【数１】
2013036831.tif 000003
ただし、式（１）中のk1,k2,k3は、半径方向の歪み係数を表し、p1,p2は、円周方向の歪み係数を表す。そして、(x,y)は、歪みの影響を受けた画像における点（以下では、「歪み点」と呼ばれることがある）の、歪みの無い画像の座標系（以下では、単に「画像座標系」と呼ばれることがある）における座標である。そして、(xcorrected,ycorrected)は、歪み点が歪み補正された後の、画像座標系における座標である。そして、r2=x2+y2の関係が成り立つ。
【０００４】
また、従来のキャリブレーション方法では、キャリブレーションボードがステレオカメラを構成する２つのカメラ（左右カメラ）によって撮影される。このキャリブレーションボードには、特徴点群が含まれている。そして、２つのカメラによって撮影された画像における任意の特徴点を利用して、キャリブレーション処理が実行される。
【０００５】
具体的には、キャリブレーション処理は、次の手順によって行われる。すなわち、先ず、左右カメラの「歪み補正処理」において、レンズ歪み係数が算出される。次に、左右カメラ間の「平行化補正処理」において、２つのカメラに関わる、基線長、焦点距離及び光軸中心などのパラメータが算出される。そして、最後に、左右カメラの歪み補正処理及び平行化補正処理において算出されたパラメータのセットを用いて、「画像歪み補正処理」が行われる。画像歪み補正処理とは、歪み補正前の画像における複数の歪み点の内の各歪み点と、各歪み点が歪み補正された後の、画像座標系における座標との対応付けを行う処理である。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】徐剛、辻三郎共著「3次元ビジョン（単行本）」共立出版  ISBN-13:978-4320085220  出版日：1998/04
【非特許文献２】"Camera Calibration with Distortion Models and Accuracy Evaluation" IEEE Trans. On PMI Vol.14, No.10,  October,  1992
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、カメラに広角レンズが適用される場合、そのカメラによって撮影された画像内の上端、下端、右端、左端の画像端部において歪みが大きい。従って、この場合、従来のキャリブレーション方法において利用されているレンズ歪みモデルは、マッチしない。このため、カメラに広角レンズが適用される場合に従来のキャリブレーション処理を実行したしても、そのカメラによって撮影された画像内の上端、下端、右端、左端の画像端部において歪みが依然として残ってしまう問題がある。
【０００８】
本発明の目的は、ステレオカメラに広角レンズを適用した場合に撮影画像内の上端、下端、右端、左端の画像端部において生じる歪み誤差を補正できる、キャリブレーション装置及び歪み誤差算出方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一態様のキャリブレーション装置は、周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第１パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第２パターンに基づいて、第１の画像内特徴点群セット及び第２の画像内特徴点群セットを設定する設定手段と、レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持手段と、前記第１の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出手段と、を具備する。
【００１０】
本発明の一態様の歪み誤差算出方法は、周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つ前記ボード画像の中央部領域にのみ配置された第１パターン及び設定ポイントが疎に且つ前記ボード画像の全体に配置された第２パターンに基づいて、第１の画像内特徴点群セット及び第２の画像内特徴点群セットを設定する設定ステップと、レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、前記ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する保持ステップと、前記第１の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、前記保持されたキャリブレーションパラメータとに基づいて、前記保持されたキャリブレーションパラメータを用いて補正された後の画像と所定品質が確保された画像である画像ターゲットとの差分に相当する歪み誤差を算出する算出ステップと、を具備する。
【発明の効果】
【００１１】
本発明によれば、ステレオカメラに広角レンズを適用した場合に撮影画像内の上端、下端、右端、左端の画像端において生じる歪み誤差を補正できる、キャリブレーション装置及びキャリブレーション方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態に係るキャリブレーション装置の構成を示すブロック図
【図２】誤差補正情報生成部の構成を示すブロック図
【図３】キャリブレーション装置の動作説明に供するフローチャート
【図４】特徴点設定処理の説明に供する図
【図５】特徴点設定処理の説明に供する他の図
【図６】誤差補正パラメータ算出処理を示すフローチャート
【図７】右画像から得られる第１特徴点セット情報及び左画像から得られる第１特徴点セット情報の一方のみを用いてボード位置を算出する方法を示すフローチャート
【図８】誤差補正情報算出処理を示すフローチャート
【図９】特徴点歪み誤差情報及び画素単位歪み誤差情報の一例を示す図
【図１０】左画像についての平行化第２セット座標情報のイメージを示す図
【発明を実施するための形態】
【００１３】
以下、本発明の一実施の形態について図面を参照して詳細に説明する。
【００１４】
［キャリブレーション装置１００の構成］
図１は、本発明の一実施の形態に係るキャリブレーション装置１００の構成を示す。図１において、キャリブレーション装置１００は、特徴点設定部１１０と、パラメータ格納部１２０と、誤差補正情報生成部１３０とを有する。
【００１５】
特徴点設定部１１０は、ボード画像を取得する。ボード画像は、キャリブレーションボードがステレオカメラによって撮影されたステレオ画像（つまり、右カメラによって撮影された右画像と左カメラによって撮影された左画像）である。また、キャリブレーションボードには、周期性を持って全体に配置された複数の特徴点が含まれる。
【００１６】
特徴点とは、キャリブレーションボード上に配置された点である。キャリブレーションボードには、特徴点の位置を特定することを目的とした周期的な模様が描かれている。この模様は、例えば、白、黒の矩形を交互に配した格子模様が挙げられる。かかる場合、その白と黒の矩形の四隅の点が特徴点である。従って、ボード画像にも、周期性を持って並ぶ特徴点が含まれる。なお、キャリブレーションボードの詳細については、後述する。
【００１７】
ボード画像に含まれる複数の特徴点の内、各特徴点セットに含まれる特徴点として設定される特徴点を「設定ポイント」という。また、設定ポイントを設定するパターンを、「設定パターン」という。設定パターンの詳細については、後述する。
【００１８】
そして、特徴点設定部１１０は、第１の設定パターン及び第２の設定パターンのそれぞれに基づいて、ボード画像に含まれる特徴点群の内から、第１の特徴点セット及び第２の特徴点セットをそれぞれ設定する。
【００１９】
ここで、第１の設定パターンは、設定ポイントが密に設定されるものであり、第２の設定パターンは、第１の設定パターンに比べて、設定ポイントが疎に設定される。すなわち、第１の設定パターンに含まれる設定ポイント間の第１の周期は、第２の設定パターンに含まれる設定ポイント間の第２の周期よりも短い。ここでは、特に、第２の周期は、第１の周期の奇数倍である。また、第１の設定パターンの設定ポイントは、ボード画像の中央部に設定される一方、第２の設定パターンの設定ポイントは、ボード画像の全体に設定される。
【００２０】
そして、特徴点設定部１１０は、第１の設定パターンに関する情報（以下では、「第１パターン情報」と呼ばれることがある）及び第１の特徴点セットに含まれる各特徴点の座標に関する情報（以下では、「第１セット座標群情報」と呼ばれることがある）を誤差情報生成部１３０へ出力する。また、特徴点設定部１１０は、第２の設定パターンに関する情報（以下では、「第２パターン情報」と呼ばれることがある）及び第２の特徴点セットに含まれる各特徴点の座標に関する情報（以下では、「第２セット座標群情報」と呼ばれることがある）を誤差情報生成部１３０へ出力する。
【００２１】
なお、以下では、第１パターン情報及び第１セット座標群情報は、総称して「第１特徴点セット情報」と呼ばれることがある。また、第２パターン情報及び第２セット座標群情報は、総称して「第２特徴点セット情報」と呼ばれることがある。
【００２２】
ここで、第１パターン情報には、画像の横方向に設定される設定ポイントの数、画像縦方向に設定される設定ポイントの数、設定ポイント間の間隔サイズ（上記したキャリブレーションボード上に配置された特徴点間の間隔サイズに対応）が含まれる。また、第２パターン情報にも、第１パターン情報と同様に第２パターンに関する情報が含まれる。
【００２３】
パラメータ格納部１２０は、ステレオカメラに対する「キャリブレーションパラメータ」を格納する。キャリブレーションパラメータには、「カメラ内部パラメータ」と、「カメラ外部パラメータ」と、「カメラ平行化係数」とが含まれる。カメラ内部パラメータには、右カメラ及び左カメラのそれぞれについてのレンズ歪み係数、焦点距離、及び光軸中心が含まれる。また、カメラ外部パラメータには、右カメラと左カメラとの間の回転角、及び、右カメラと左カメラとの間の距離を示す基線長が含まれる。また、カメラ平行化係数には、左右カメラ画像平面の行をそろえるための平行化用回転ベクトル、射影行列などが含まれる。
【００２４】
誤差補正情報生成部１３０は、第１セット座標群情報と、第２セット座標群情報と、パラメータ格納部１２０に格納されているキャリブレーションパラメータとに基づいて、「歪み誤差」を算出する。「歪み誤差」とは、パラメータ格納部１２０に格納されているキャリブレーションパラメータを用いて得られる画像と、所定品質が確保された画像である画像ターゲットとの差分に相当する。この歪み誤差に関する情報（以下では、「歪み誤差情報」と呼ばれることがある）が後段の処理部へ出力される。そして、この後段の処理部において、パラメータ格納部１２０に格納されているキャリブレーションパラメータを用いて得られる画像に対する誤差補正に歪み誤差が用いられることにより、画像ターゲットが得られる。すなわち、「歪み誤差情報」は、誤差補正情報である。また、「歪み誤差情報」は、パラメータ格納部１２０に格納されているキャリブレーションパラメータを用いて得られる画像における座標群と、その画像に対して誤差補正が行われた後の画像における座標群との対応関係を示す情報である。
【００２５】
具体的には、誤差補正情報生成部１３０は、図２に示すように、相対姿勢特定部１３１と、歪み誤差算出処理部１３２とを有する。
【００２６】
相対姿勢特定部１３１は、第１特徴点セット情報と、パラメータ格納部１２０に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、ボード画像が撮影された時の、ステレオカメラに対するキャリブレーションボードの相対的な姿勢及び相対的な位置（以下では、単に「相対姿勢」と呼ばれることがある）を特定する。ここで用いられるカメラ内部パラメータとしては、レンズ歪み係数、焦点距離、及び光軸中心が含まれる。この相対姿勢は、ステレオカメラに対するキャリブレーションボードの回転ベクトル及び平行移動ベクトルによって表される。以下では、この相対姿勢を表す回転ベクトル及び平行移動ベクトルは、総称して「相対姿勢情報」又は「誤差補正パラメータ」と呼ばれることがある。なお、回転ベクトルは、1*3又は3*1のベクトルである。また、回転ベクトルの方向は、キャリブレーションボードの回転軸を表す。また、回転ベクトルの強度又は長さは、反時計回りの回転角度を表す。また、平行移動ベクトルは、カメラ座標系における、キャリブレーションボードの基準位置と原点位置とのオフセットである。また、誤差補正パラメータは、ステレオカメラを構成するカメラ毎に算出される。
【００２７】
歪み誤差算出処理部１３２は、第２特徴点セット情報と、相対姿勢特定部１３１において特定された相対姿勢情報と、レンズ歪み係数を除くカメラ内部パラメータと、カメラ平行化係数とに基づいて、「歪み誤差」を算出する。
【００２８】
［キャリブレーション装置１００の動作］
以上の構成を有するキャリブレーション装置１００の動作について説明する。
【００２９】
先ず、「キャリブレーションパラメータ生成処理」について説明する。この「キャリブレーションパラメータ生成処理」において生成されたキャリブレーションパラメータが、パラメータ格納部１２０に格納されている。
【００３０】
先ず、少なくとも１枚のボード画像が用意される。ボード画像は、キャリブレーションボードがステレオカメラによって撮影されたステレオ画像である。また、キャリブレーションボードには、その全面に渡り、周期性を持って配置された複数の特徴点が含まれる。
【００３１】
特徴点とは、キャリブレーションボード上に配置された点である。また、キャリブレーションボードには、特徴点の位置を特定することを目的とした周期的な模様が描かれている。この模様は、例えば、白、黒の矩形を交互に配した格子模様が挙げられる。かかる場合、その白と黒の矩形の四隅の点が特徴点である。
【００３２】
なお、ボード画像は、例えば、キャリブレーションボードが左右カメラのそれぞれの画面一杯になるように撮影されることが好ましい。さらに、キャリブレーションボードとカメラとの角度を変更しながら撮影された、複数枚のボード画像を用意することが好ましい。さらに、角度だけでなく、キャリブレーションボードとカメラとの間の距離を変更しながら撮影された、複数枚のボード画像を用意してもよい。
【００３３】
次に、単一の設定パターンを用いて、ボード画像に含まれる特徴点群の内から、特徴点セットが設定される。ここで、「設定パターン」とは、ボード画像に含まれる特徴点群のうち各特徴点セットに含まれる特徴点として設定される特徴点のパターンである。そして、特徴点セット情報に基づいて、カメラ内部パラメータが算出される。この算出処理においては、ステレオカメラを構成する各カメラのカメラ座標系ｑとワールド座標系Ｑとの関係を表す変換式内の透視変換行列Ｐを求める必要がある。
【数２】
2013036831.tif 000004
【数３】
2013036831.tif 000005
【００３４】
式（３）を式（２）に代入すると、式（４）になる。
【００３５】
【数４】
2013036831.tif 000006
ここで、ｓは、スケール係数であり、Ｍは、焦点距離及び光軸中心を含むカメラ内部パラメータ行列である。Ｗは、キャリブレーションボードのカメラ座標系に対する回転行列及び平行移動行列である。
【００３６】
そして、キャリブレーションボード上の特徴点のカメラ座標系における２次元座標（ｕ，ｖ）とワールド座標（Ｘ，Ｙ，Ｚ）との組み合わせが、カメラ毎に複数ずつ取得される。各組合せが、式（４）に代入されることにより、透視変換行列Ｐ内の要素の値が算出される。この算出においては、最小２乗法などによって各要素の最も好ましい値が特定される。
【００３７】
次に、レンズ歪み係数が求められる。レンズ歪みに起因して、特徴点を画像上へ投影した点は、理想の場所と異なる場所に現れる。ここで、歪みのない理想状態における、画像座標系における特徴点の座標を（ｕ，ｖ）とし、歪みによってずらされた、画像座標系における特徴点の座標を（ｘｄ，ｙｄ）とする。このとき、理想状態では、式（５）が成立し、歪みのある状態では、式（６）が成り立つ。
【数５】
2013036831.tif 000007
【数６】
2013036831.tif 000008
【００３８】
理想状態におけるキャリブレーション結果を式（６）に代入し、方程式を解くことにより、レンズ歪み係数を求めることができる。
【００３９】
ここまでの処理によって、カメラ毎のレンズ歪み係数、焦点距離、光軸中心等の各種パラメータが求まる。
【００４０】
次に、左右カメラ間の平行化処理によって、焦点距離、光軸中心などのカメラ内部パラメータが再推定され、さらに、左右カメラ間の回転ベクトル及び平行移動ベクトル、並びに左右カメラ画像平面の行を揃えるためのカメラ平行化係数が推定される。こうして求められたカメラ内部パラメータ、カメラ外部パラメータ及びカメラ平行化係数がパラメータ格納部１２０に格納される。
【００４１】
図３は、キャリブレーション装置１００の動作説明に供するフローチャートである。
【００４２】
ステップＳ１１００において、特徴点設定部１１０は、取得したボード画像に含まれる複数の特徴点から、第１の設定パターン及び第２の設定パターンのそれぞれに基づいて、第１の特徴点セット及び第２の特徴点セットをそれぞれ設定する。ボード画像は、例えば、キャリブレーションボードが左右カメラのそれぞれの画面一杯になるように撮影されることが好ましい。さらに、ボード画像は、右画像と左画像との共通領域が最大になるように撮影されることが好ましい。また、ボード画像は、パラメータ格納部１２０に格納されている「キャリブレーションパラメータ生成処理」時に用いられるボード画像と共通していてもよいし、異なっていてもよい。ここでは、異なるボード画像が用いられることを前提に説明する。
【００４３】
ここで、キャリブレーションボードとしては、図４Ａに示すように、白の矩形領域と黒の矩形領域とが交互に並んでいるものが用いられてもよい。そして、特徴点としては、黒領域同士又は白領域同士の接点（つまり、格子点）が用いられるとよい。なお、これに限らず、特徴点としては、円状の点が用いられてもよいし、正方形の点が用いられてもよい。
【００４４】
また、図４Ｂには、特徴点セット情報の基本パターンが示されている。また、図４Ｃには、特徴点セット情報の一例が示されている。図４Ｃに示される特徴点セット情報においては、画像の横方向に設定される設定ポイントの数が４であり、画像縦方向に設定される設定ポイントの数が４であり、設定ポイント間の間隔サイズ３０ｍｍであることを示している。また、図４Ｃに示される特徴点セット情報においては、特徴点セットに含まれる合計１６個の特徴点のそれぞれの座標に関する情報が示されている。
【００４５】
また、ここでは、特に、図５に示されるようなキャリブレーションボードが用いられる。図５に示されるキャリブレーションボードは、第１の設定パターンが設定される領域に対応する「中央部領域」と、第２の設定パターンのみが設定される領域に対応する上端、下端、右端、左端からなる「画像端部領域」とから構成される。中央部領域には、第１の設定パターンにおける設定ポイントの周期に対応するサイズを持つ２種類の領域（つまり、黒領域及び白領域）が交互に敷き詰められている。また、画像端部領域には、第２の設定パターンにおける設定ポイントの周期に対応するサイズを持つ２種類の領域（つまり、黒領域及び白領域）が交互に敷き詰められている。
【００４６】
すなわち、図５に示すキャリブレーションボードにおいては、撮影した際の画像において歪みの少ない中央部領域には、第１の設定パターンに対応する格子点を密に配置することができる。また、歪みの大きい画像端部領域には、第２の設定パターンに対応する格子点を疎に配置することができる。特に、図５に示すキャリブレーションボードにおいては、画像端部領域に配置される２種類の領域のサイズは、中央部領域に配置される２種類の領域のサイズの奇数倍（ここでは、３倍）である。これにより、歪みの大きい画像端部領域に格子点を疎に配置することによって、ボード画像において特徴点の解像度が不足し、正確な位置を検出できなくなることを、防止することができる。なお、第１の設定パターンに対応する格子点が全体に配置されたキャリブレーションボードと、第２の設定パターンに対応する格子点が全体に配置されたキャリブレーションボードとの２つのキャリブレーションボードを用いて、２つのボード画像を用意することも考えられる。しかしながら、２つのキャリブレーションボードを用いた場合、それぞれのキャリブレーションボードとカメラとの相対的な位置関係を正確に同じにすることが出来ないため、ボード画像の中心部領域と画像端部領域の両方に適用可能なキャリブレーションパラメータを算出することが出来ない。
【００４７】
また、図５には、同図に示されるキャリブレーションボード５０３を撮影することにより得られたボード画像を用いて設定される第１特徴点セット情報５０１及び第２特徴点セット情報５０２が示されている。図５に示す第１特徴点セット情報５０１においては、画像の横方向に設定される設定ポイントの数が２２であり、画像縦方向に設定される設定ポイントの数が１６であり、設定ポイント間の間隔サイズ１７ｍｍであることを示している。また、図５に示す第１特徴点セット情報５０１においては、合計３５２個の特徴点のそれぞれの座標に関する情報が示されている。また、図５に示す第２特徴点セット情報５０２においては、画像の横方向に設定される設定ポイントの数が１６であり、画像縦方向に設定される設定ポイントの数が１２であり、設定ポイント間の間隔サイズ５１ｍｍであることを示している。また、図５に示す第２特徴点セット情報５０２においては、合計１９２個の特徴点のそれぞれの座標に関する情報が示されている。
【００４８】
ステップＳ１２００において、相対姿勢特定部１３１は、第１特徴点セット情報と、パラメータ格納部１２０に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、誤差補正パラメータを算出する。
【００４９】
図６は、誤差補正パラメータ算出処理を示すフローチャートである。
【００５０】
ステップＳ１２１０において、相対姿勢特定部１３１は、左画像を用いて得られる第１特徴点セット情報を用いて、３次元空間座標によって表される第１セット座標群情報を生成する。この３次元空間座標によって表される第１セット座標群情報とは、キャリブレーションボードのｚ座標がゼロであり、ｘ軸及びｙ軸の単位がキャリブレーションボードにおける格子の大きさに一致する。ここで、例えば、キャリブレーションボードが、カメラから見て、ｚ軸がゼロであり且つｘ軸方向に位置すると仮定する。さらに、図５に示すようなキャリブレーションボードが用いられ、且つそのキャリブレーションボードにおける格子が一辺１７ｍｍの正方形である場合、３次元空間座標によって表される第１セット座標群情報は、(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)となる。同様の処理が、右画像についても行われる。
【００５１】
ステップＳ１２２０において、相対姿勢特定部１３１は、ステップＳ１２１０において得られた、３次元空間座標によって表される第１特徴点セット情報と、パラメータ格納部１２０に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、ボード画像が撮影された時の、ステレオカメラに対するキャリブレーションボードの相対的な姿勢及び相対的な位置（つまり、「相対姿勢」）を特定する。すなわち、相対姿勢特定部１３１は、ボード位置を算出する。
【００５２】
具体的には、相対姿勢特定部１３１は、パラメータ格納部１２０に格納された左カメラについてのカメラ内部パラメータと、左画像についての３次元空間座標によって表される第１特徴点セット情報とを、上記した式（４）及び式（６）へ代入することによって、左カメラに対するボード位置を算出する。ボード位置とは、キャリブレーションボードのカメラに対する、回転ベクトルＲ及び平行移動ベクトルＴである。すなわち、ここでいうボード位置は、上記した「相対姿勢」と同じである。回転ベクトルＲは、1*3または3*1のベクトルである。また、回転ベクトルの方向は、キャリブレーションボードの回転軸を表す。また、回転ベクトルの強度又は長さは、反時計回りの回転角度を表す。また、平行移動ベクトルは、カメラ座標系における、キャリブレーションボードの基準位置と原点位置とのオフセットである。左カメラに対するボード位置は、（Ｒｌ，Ｌｌ）と標記され、右カメラに対するボード位置は、（Ｒｒ，Ｌｒ）と標記される。式（４）及び式（６）においては、Ｗ＝［Ｒｌ，Ｌｌ］は、左カメラに対するボード位置を表し、Ｑは、３次元空間座標によって表される、左画像についての第１セット座標群情報を表す。また、ｑは、左画像についての第１セット座標群情報を表し、Ｍ−１は、焦点距離及び光軸中心である。Ｑ、ｑ、Ｍ−１、及びレンズ歪み係数は既知であるので、連立方程式を解くことによって、Ｗ＝［Ｒｌ，Ｌｌ］が算出される。この算出には、最小２乗法などが用いられ、最も好ましいＷ＝［Ｒｌ，Ｌｌ］が算出される。また、右画像についても同様の処理を行うことにおり、Ｗ＝［Ｒｒ，Ｌｒ］が算出される。
【００５３】
以上のようにして算出されたＷ＝［Ｒｌ，Ｌｌ］及びＷ＝［Ｒｒ，Ｌｒ］は、左カメラに係るパラメータの誤差を補正する誤差補正パラメータ及び右カメラに係るパラメータの誤差を補正する誤差補正パラメータとして歪み誤差算出処理部１３２へ出力される。
【００５４】
図６に示したフローチャートにおいては、右画像から得られる第１特徴点セット情報及び左画像から得られる第１特徴点セット情報の両方を用いて、ボード位置を算出する方法を示した。しかしながら、これに限定されるものではなく、右画像から得られる第１特徴点セット情報及び左画像から得られる第１特徴点セット情報の一方のみを用いてボード位置を算出してもよい。図７は、右画像から得られる第１特徴点セット情報及び左画像から得られる第１特徴点セット情報の一方のみを用いてボード位置を算出する方法を示すフローチャートを示す。ただし、この場合においても、第２特徴点セット情報については、右画像及び左画像の両方から求められたものが用いられる。
【００５５】
ステップＳ１２５０において、相対姿勢特定部１３１は、右画像を用いて得られる第１特徴点セット情報を用いて、３次元空間座標によって表される第１セット座標群情報を生成する。
【００５６】
ステップＳ１２６０において、相対姿勢特定部１３１は、ステップＳ１２１０において得られた、３次元空間座標によって表される第１特徴点セット情報と、パラメータ格納部１２０に格納されたカメラ内部パラメータと、カメラ平行化係数とに基づいて、相対姿勢を特定する。すなわち、相対姿勢特定部１３１は、ボード位置を算出する。具体的には、相対姿勢特定部１３１は、パラメータ格納部１２０に格納された右カメラについてのカメラ内部パラメータと、右画像についての３次元空間座標によって表される第１特徴点セット情報とを、上記した式（４）及び式（６）へ代入することによって、右カメラに対するボード位置を算出する。
【００５７】
ステップＳ１２７０において、相対姿勢特定部１３１は、ステップＳ１２６０において得られた、右カメラに対するボード位置（Ｒｒ，Ｌｒ）と、パラメータ格納部１２０に格納されている、左右カメラ間の回転角ベクトルＲ、基線長ベクトルＴを含むパラメータＣＰＲＴとを式（７）及び式（８）へ代入することにより、左カメラに対するボード位置（Ｒｌ，Ｌｌ）を算出する。すなわち、相対姿勢特定部１３１は、ステップＳ１２６０において得られた、右カメラに対するボード位置（Ｒｒ，Ｌｒ）を基準として、左カメラに対するボード位置（Ｒｌ，Ｌｌ）を算出する。
【数７】
2013036831.tif 000009
【数８】
2013036831.tif 000010
【００５８】
上記の式（７）は、左カメラに対するボード位置（つまり、回転角ベクトルＲｌ及び平行移動ベクトルＴｌ）、右カメラに対するボード位置（つまり、回転角ベクトルＲｒ及び平行移動ベクトルＴｒ）、左右カメラ間の回転角ベクトルＲ、及び左右カメラ間の平行移動ベクトルＴの関係式である。また、式（８）は、式（７）から導出された、左カメラに対するボード位置を求める式である。
【００５９】
以上のようにして算出されたボード位置（Ｒｒ，Ｌｒ）及び（Ｒｌ，Ｌｌ）は、左カメラに係るパラメータの誤差を補正する誤差補正パラメータ及び右カメラに係るパラメータの誤差を補正する誤差補正パラメータとして歪み誤差算出処理部１３２へ出力される。
【００６０】
なお、図７に示すフローチャートにおいては、右カメラに対するボード位置（Ｒｒ，Ｌｒ）を基準として、左カメラに対するボード位置（Ｒｌ，Ｌｌ）が算出されたが、これに限定されるものではない。逆に、左カメラに対するボード位置（Ｒｌ，Ｌｌ）を基準として、右カメラに対するボード位置（Ｒｒ，Ｌｒ）が算出されてもよい。
【００６１】
図３に戻り、ステップＳ１３００において、歪み誤差算出処理部１３２は、第２特徴点セット情報と、相対姿勢特定部１３１において特定された相対姿勢情報と、レンズ歪み係数を除くカメラ内部パラメータと、カメラ平行化係数とに基づいて、「歪み誤差」を算出する。すなわち、歪み誤差算出処理部１３２は、誤差補正情報算出処理を実行する。
【００６２】
図８は、誤差補正情報算出処理を示すフローチャートである。
【００６３】
ステップＳ１３１０において、歪み誤差算出処理部１３２は、左右カメラを示す変数ｉを設定する。ｉは、０又は１であり、その初期値はゼロである。ｉ＝０は、左カメラを意味し、ｉ＝１は、右カメラを意味する。右カメラについての処理も左カメラについての処理も同様であるので、以下では、ｉ＝０の場合、つまり、左カメラについての処理を例に説明する。
【００６４】
ステップＳ１３２０において、歪み誤差算出処理部１３２は、左画像を用いて得られる第２特徴点セット情報を用いて、３次元空間座標によって表される第２セット座標群情報を生成する。
【００６５】
左画像を用いて得られる第２特徴点セット情報において、画像の横方向に設定される設定ポイントの数がＮｘ＿Ｌ個であり、画像縦方向に設定される設定ポイントの数がＮｙ＿Ｌ個であり、合計ＮＬの設定ポイントが設定された場合、左画像を用いて得られる第２セット座標群情報は、次のように表される。
【数９】
2013036831.tif 000011
【００６６】
また、３次元空間座標によって表される、左画像についての第２セット座標群情報は、次のように表される。
【数１０】
2013036831.tif 000012
【００６７】
この３次元空間座標によって表される第２セット座標群情報とは、第１セット座標群情報と同様に、キャリブレーションボードのｚ座標がゼロであり、ｘ軸及びｙ軸の単位がキャリブレーションボードにおける格子の大きさに一致する。たとえば前記ボードは、カメラから見て、z軸が０で、ｘ軸方向に位置するとする。ここで、例えば、キャリブレーションボードが、カメラから見て、z軸がゼロであり且つｘ軸方向に位置すると仮定する。さらに、図５に示すようなキャリブレーションボードが用いられ且つそのキャリブレーションボードにおける格子が一辺５１ｍｍの正方形である場合、３次元空間座標によって表される第２セット座標群情報は、(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)となる。
【００６８】
ステップＳ１３３０において、歪み誤差算出処理部１３２は、３次元空間座標によって表される、左画像についての第２セット座標群情報と、相対姿勢特定部１３１によって算出された左カメラに対する誤差補正パラメータＰerror correctと、左カメラについての、レンズ歪み係数以外のカメラ内部パラメータとを、式（４）へ代入することにより、左画像についての第２セット座標群情報を画像座標系に再投影する。これにより、画像座標系に再投影された第２セット座標群情報が得られる。なお、再投影第２セット座標群情報及び第２パターン情報は、総称して、「再投影第２特徴点セット情報」と呼ばれることがある。
【００６９】
具体的には、式（４）における、Ｗ＝［Ｒｌ，Ｌｌ］には、相対姿勢特定部１３１によって算出された左カメラに対する誤差補正パラメータＰerror correctが代入される。また、Ｍ−１には、焦点距離及び光軸中心が代入される。また、Ｑには、３次元空間座標によって表される、左画像についての第２セット座標群情報が代入される。そして、ｑは、再投影された第２セット座標群情報を表す。Ｑ、Ｗ、及びＭ−１は既知であるので、連立方程式を解くことによって、再投影された第２セット座標群情報ｑが算出される。このように、レンズ歪み係数が用いられないので、歪みの影響を受けない理想状態において再投影された第２セット座標群情報ｑを求めることができる。再投影された第２セット座標群情報ｑは、次のように表すことができる。
【数１１】
2013036831.tif 000013
【００７０】
ステップＳ１３４０において、歪み誤差算出処理部１３２は、再投影前の第２セット座標群情報と、再投影後の第２セット座標群情報との差分を求める。この差分は、「特徴点歪み誤差」と呼ばれることがある。式（９）は、特徴点歪み誤差の算出式である。
【数１２】
2013036831.tif 000014
【００７１】
特徴点歪み誤差は、第２セット座標群情報に含まれる座標の数だけ算出される。特徴点歪み誤差は、例えば、次のように表される。
【数１３】
2013036831.tif 000015
【００７２】
図９Ａは、特徴点歪み誤差情報の一例を示す。
【００７３】
ステップＳ１３５０において、歪み誤差算出処理部１３２は、平行化され且つ左カメラの歪み係数によって補正された再投影第２セット座標群情報と、特徴点歪み誤差とに基づいて、誤差補正対象領域に含まれる画素群のそれぞれの歪み誤差（以下では、「画素単位歪み誤差」と呼ばれることがある）を算出する。画素単位歪み誤差の算出には、線形補間などの方法が用いられる。図９Ｂは、画素単位歪み誤差情報の一例を示す。すなわち、画素単位歪み誤差情報は、左画像の各画素の画像座標系における座標と、平行化され且つ左カメラの歪み係数によって補正された再投影第２セット座標群情報に含まれる座標との対応関係を表すものである。
【００７４】
具体的には、歪み誤差算出処理部１３２は、再投影第２特徴点セット情報と、左カメラについてのレンズ歪み係数を除くカメラ内部パラメータ（つまり、焦点距離及び光軸中心）及びカメラ平行化係数とに基づいて、平行化され且つ左カメラの歪み係数によって補正された再投影第２セット座標群情報（以下では、「平行化第２セット座標情報」と呼ばれることがある）を算出する。なお、平行化第２セット座標情報及び第２パターン情報は、総称して、「平行化第２特徴点セット情報」と呼ばれることがある。
【００７５】
この左画像についての平行化第２セット座標情報は、次のように表される。
【数１４】
2013036831.tif 000016
【００７６】
図１０は、左画像についての平行化第２セット座標情報のイメージを示す。図１０に示すように、平行化第２セット座標情報に含まれる各座標（recified_u'm_L,recified_v'm_L）は、特徴点歪み誤差（err_u'm_L,err_v'm_L）を持っている。
【００７７】
図１０に示す誤差補正対象領域内の任意画素ａに対して、この画素を内部に含み且つ平行化第２セット座標情報に含まれる３つの座標を頂点とする三角領域群の内、面積が最小となる三角形の頂点に対応する３つの座標を特定する。そして、特定された３つの座標を用いて線形補間することにより、左画像上における任意画素ａの座標を算出する。線形補間としては、一般的な方法を用いてもよい。例えば、式（１０）に示す誤差算出モデルを利用することができる。
【数１５】
2013036831.tif 000017
ただし、Ｅは、特徴点歪み誤差であり、（ｘ，ｙ）は、画像座標系における、任意画素の座標であり、（ａ，ｂ，ｃ）は、係数である。
【００７８】
特定された３つの座標を式（１１）に代入することにより、係数ａ，ｂ，ｃが求まる。
【数１６】
2013036831.tif 000018
【００７９】
そして、任意画素ａの画像座標系における座標（ｘａ，ｙａ）を係数ａ,ｂ,ｃが既知となった式（１０）に代入することにより、任意画素ａに対応する左画像上の座標が算出される。この左画像上の座標の算出処理は、誤差補正対象領域内のすべての画素について行われる。そして、各画素について算出された左画像上の座標に基づいて、画素単位歪み誤差が算出される。この画素単位歪み誤差が、誤差補正情報として後段の機能部へ出力される。
【００８０】
ステップＳ1３６０において、歪み誤差算出処理部１３２は、ｉの値をインクリメントする。
【００８１】
ステップＳ１３７０において、歪み誤差算出処理部１３２は、iの値が１より大きいか否かをチェックする。iの値が１より大きくない場合は、処理がステップＳ１３２０へ戻り、右カメラについての処理を行う。
【００８２】
以上のように本実施の形態によれば、キャリブレーション装置１００において、特徴点設定部１１０が、周期性を持って全体に配置された特徴点群が含まれたキャリブレーションボードがステレオカメラによって撮影されたボード画像内の画像内特徴点群の内から、設定ポイントが密に且つボード画像の中央部領域にのみ配置された第１パターン及び設定ポイントが疎に且つボード画像の全体に配置された第２パターンに基づいて、第１の画像内特徴点群セット及び第２の画像内特徴点群セットを設定する。そして、パラメータ格納部１２０が、レンズ歪み係数、焦点距離及び光軸中心を含むカメラ内部パラメータと、ステレオカメラ間の回転角及び基線長を含むカメラ外部パラメータと、カメラ平行化係数とを含むキャリブレーションパラメータを保持する。そして、誤差補正情報生成部１３０が、第１の画像内特徴点群セットに含まれた各画像内特徴点の座標と、第２の画像内特徴点群セットに含まれた各画像内特徴点の座標と、パラメータ格納部１２０に保持されたキャリブレーションパラメータとに基づいて、パラメータ格納部１２０に保持されたキャリブレーションパラメータを用いて補正された後の画像と画像ターゲットとの差分に相当する歪み誤差を算出する。
【００８３】
こうすることにより、広角レンズによる映り方の異なる中央部領域と画像端部領域とにおいて異なる密度によって設定ポイントを設定することで画像全体（中央部領域及び画像端部領域）に特徴点を配置すると共に、キャリブレーションボードの位置を特定するのに十分な特徴点も配置することができる。つまり、画像全体（中央部領域及び画像端部領域）に配置された特徴点群を用いた歪み誤差補正に加え、中央部領域にのみ配置された特徴点群を用いたキャリブレーションボードの位置推定も同時に行うことができる。これにより、画像端部領域の特徴点位置を正確に計算することが可能となり、撮影された画像上の特徴点の座標に基づいて画像面全体の領域における歪み誤差を補正することができる。
【００８４】
なお、以上の説明では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連携においてソフトウェアでも実現することも可能である。
【００８５】
また、以上の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００８６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【００８７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【産業上の利用可能性】
【００８８】
本発明のキャリブレーション装置及び歪み誤差算出方法は、ステレオカメラに広角レンズを適用した場合に撮影画像内の周辺部において生じる歪み誤差を補正できるものとして有用である。
【符号の説明】
【００８９】
１００  キャリブレーション装置
１１０  特徴点設定部
１２０  パラメータ格納部
１３０  誤差補正情報生成部
１３１  相対姿勢特定部
１３２  歪み誤差算出処理部
【図１】
2013036831.tif 000019
【図２】
2013036831.tif 000020
【図３】
2013036831.tif 000021
【図４】
2013036831.tif 000022
【図５】
2013036831.tif 000023
【図６】
2013036831.tif 000024
【図７】
2013036831.tif 000025
【図８】
2013036831.tif 000026
【図９】
2013036831.tif 000027
【図１０】
2013036831.tif 000028