(57)【特許請求の範囲】
【請求項１】
カメラの特性を表す歪みパラメータを算出するカメラ・キャリブレーション装置において、
幾何形状が定義済みのパターンを前記歪みパラメータで表される特性を持つカメラで撮像した撮像画像（Ｉd）を入力する画像入力手段と、
前記幾何形状が定義済みのパターンからなり、該定義に従って生成された基準画像（Ｉo）を保持する画像保持手段と、
前記撮像画像（Ｉd）中において輝度値が略同一な領域を抽出して該領域の輝度値の平均値を求め、前記基準画像（Ｉo）中の対応画素の輝度値を該平均値で置き換えることによって補正する輝度値補正手段と、
前記輝度値補正手段による補正を行なった後に、前記撮像画像（Ｉd）又は前記画像保持手段に保持されている前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する射影変換パラメータ及び前記歪みパラメータを、前記撮像画像（Ｉd）上の各画素（ｘd，ｙd）と前記射影変換パラメータと前記歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素（ｘo，ｙo）の間の輝度誤差を画像全体で最小化することで推定するパラメータ推定手段と、
を具備することを特徴とするカメラ・キャリブレーション装置。
【請求項２】
カメラの特性を表す歪みパラメータを算出するカメラ・キャリブレーション方法において、
幾何形状が定義済みのパターンを前記歪みパラメータで表される特性を持つカメラで撮像した撮像画像（Ｉd）を入力する画像入力ステップと、
前記幾何形状が定義済みのパターンからなり、該定義に従って生成された基準画像（Ｉo）を保持する画像保持ステップと、
前記撮像画像（Ｉd）中において輝度値が略同一な領域を抽出して該領域の輝度値の平均値を求め、前記基準画像（Ｉo）中の対応画素の輝度値を該平均値で置き換えることによって補正する輝度値補正ステップと、
前記輝度値補正ステップにおける補正を行なった後に、前記撮像画像（Ｉd）又は前記画像保持ステップにて保持した前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する射影変換パラメータ及び前記歪みパラメータを、前記撮像画像（Ｉd）上の各画素（ｘd，ｙd）と前記射影変換パラメータと前記歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素（ｘo，ｙo）の間の輝度誤差を画像全体で最小化することで推定するパラメータ推定ステップと、
を有することを特徴とするカメラ・キャリブレーション方法。
【請求項３】
ステレオ・ペアを構成する基準カメラ（１７Ａ）及び参照カメラ（１７Ｂ）による各撮影画像を処理する画像処理装置であって、
幾何形状が定義済みのパターンからなり、該定義に従って生成された基準画像（Ｉo）を保持する画像保持手段と、
前記基準画像が形成された平面を前記基準カメラ（１７Ａ）及び前記参照カメラ（１７Ｂ）でそれぞれ撮影した第１及び第２の撮影画像（ＩA、ＩB）を入力する画像入力手段と、
前記第１の撮像画像（ＩA）又は前記画像保持手段に保持されている前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する第１の射影変換行列（ＨA）及び前記基準カメラ（１７Ａ）のカメラ特性を表す第１の歪みパラメータを、前記第１の撮像画像（ＩA）上の各画素と前記第１の射影変換行列（ＨA）と前記第１の歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素間の輝度誤差を画像全体で最小化することで推定する第１のパラメータ推定手段と、
前記第２の撮像画像（ＩB）又は前記画像保持手段に保持されている前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する第２の射影変換行列（ＨB）及び前記参照カメラ（１７Ｂ）のカメラ特性を表す第２の歪みパラメータを、前記第２の撮像画像（ＩB）上の各画素と前記第２の射影変換行列（ＨB）と前記第２の歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素間の輝度誤差を画像全体で最小化することで推定する第２のパラメータ推定手段と、
前記第１の歪みパラメータを用いて前記第１の撮影画像（ＩA）の歪みを除去した後、前記第１及び第２の射影変換行列（ＨA、ＨB）を用いて表される前記第１の撮影画像（ＩA）から前記第２の撮影画像（ＩB）への射影変換行列（Ｈtrans＝ＨA×ＨB-1）を用いて前記第１の撮影画像（ＩA）を射影変換し、さらに前記第２の歪みパラメータを用いて前記第２の撮影画像（ＩB）相当の歪みを付加する射影変換手段と、
を具備することを特徴とする画像処理装置。
【請求項４】
さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成手段を含み、
前記画像保持手段は、前記画像生成手段によって生成された画像を保持する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成手段と、該生成された基準画像を略無地の面上に投影する投光手段とを含み、
前記画像入力手段は、前記投光手段による投影画像をカメラで撮像した撮像画像を入力する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記第１及び第２の撮影画像（ＩA、ＩB）の輝度値に応じて前記基準画像（Ｉo）の輝度値をそれぞれ補正する輝度値補正手段をさらに備え、
前記第１及び第２のパラメータ推定手段は、前記輝度値補正手段による補正を行なった後に前記パラメータをそれぞれ推定する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記輝度値補手段は、前記第１及び第２の撮影画像（ＩA、ＩB）の各々において輝度値が略同一な領域を抽出して該領域の輝度値の平均値をそれぞれ求め、前記基準画像（Ｉo）中の対応画素の輝度値を各平均値で置き換えることによって補正する、
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
ステレオ・ペアを構成する基準カメラ（１７Ａ）及び参照カメラ（１７Ｂ）による各撮影画像を処理する画像処理方法であって、
幾何形状が定義済みのパターンを前記基準カメラ（１７Ａ）及び前記参照カメラ（１７Ｂ）でそれぞれ撮影した第１及び第２の撮影画像（ＩA、ＩB）を入力する画像入力ステップと、
前記幾何形状が定義済みのパターンからなり、該定義に従って生成された基準画像（Ｉo）を保持する画像保持ステップと、
前記第１の撮像画像（ＩA）又は前記画像保持ステップにて保持した前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する第１の射影変換行列（ＨA）及び前記基準カメラ（１７Ａ）のカメラ特性を表す第１の歪みパラメータを、前記第１の撮像画像（ＩA）上の各画素と前記第１の射影変換行列（ＨA）と前記第１の歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素間の輝度誤差を画像全体で最小化することで推定する第１のパラメータ推定ステップと、
前記第２の撮像画像（ＩB）又は前記画像保持ステップにて保持した前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する第２の射影変換行列（ＨB）及び前記参照カメラ（１７Ｂ）のカメラ特性を表す第２の歪みパラメータを、前記第２の撮像画像（ＩB）上の各画素と前記第２の射影変換行列（ＨB）と前記第２の歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素間の輝度誤差を画像全体で最小化することで推定する第２のパラメータ推定ステップと、
前記第１の歪みパラメータを用いて前記第１の撮影画像（ＩA）の歪みを除去した後、前記第１及び第２の射影変換行列（ＨA、ＨB）を用いて表される前記第１の撮影画像（ＩA）から前記第２の撮影画像（ＩB）への射影変換行列（Ｈtrans＝ＨA×ＨB-1）を用いて前記第１の撮影画像（ＩA）を射影変換し、さらに前記第２の歪みパラメータを用いて前記第２の撮影画像（ＩB）相当の歪みを付加する射影変換ステップと、
を有することを特徴とする画像処理方法。
【請求項９】
さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成ステップを有し、
前記画像保持ステップでは、前記画像生成ステップによって生成された画像を保持する、
ことを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成ステップと、該生成された基準画像を略無地の面上に投影する投光ステップとを有し、
前記画像入力ステップでは、前記投光ステップによる投影画像をカメラで撮像した撮像画像を入力する、
ことを特徴とする請求項８に記載の画像処理方法。
【請求項１１】
前記第１及び第２の撮影画像（ＩA、ＩB）の輝度値に応じて前記基準画像（Ｉo）の輝度値をそれぞれ補正する輝度値補正ステップをさらに有し、
前記第１及び第２のパラメータ推定ステップでは、前記輝度値補正ステップにおいて補正を行なった後に前記パラメータをそれぞれ推定する、
ことを特徴とする請求項８に記載の画像処理方法。
【請求項１２】
前記輝度値補ステップでは、前記第１及び第２の撮影画像（ＩA、ＩB）の各々において輝度値が略同一な領域を抽出して該領域の輝度値の平均値をそれぞれ求め、前記基準画像（Ｉo）中の対応画素の輝度値を各平均値で置き換えることによって補正する、
ことを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
カメラの特性を表す歪みパラメータを算出するカメラ・キャリブレーションをコンピュータ上で実行せしめるためのコンピュータ・プログラムを有形的且つコンピュータ可読な形式で提供するコンピュータ可読プログラム記録媒体であって、前記コンピュータ・プログラムは前記コンピュータを、
幾何形状が定義済みのパターンを前記歪みパラメータで表される特性を持つカメラで撮像した撮像画像（Ｉd）を入力する画像入力手段、
前記幾何形状が定義済みのパターンからなり、該定義に従って生成された基準画像（Ｉo）を保持する画像保持手段、
前記撮像画像（Ｉd）中において輝度値が略同一な領域を抽出して該領域の輝度値の平均値を求め、前記基準画像（Ｉo）中の対応画素の輝度値を該平均値で置き換えることによって補正する輝度値補正手段、
前記輝度値補正手段による補正を行なった後に、前記撮像画像（Ｉd）又は前記画像保持手段に保持されている前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する射影変換パラメータ及び前記歪みパラメータを、前記撮像画像（Ｉd）上の各画素（ｘd，ｙd）と前記射影変換パラメータと前記歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素（ｘo，ｙo）の間の輝度誤差を画像全体で最小化することで推定するパラメータ推定手段、
として機能させることを特徴とプログラム記録媒体。
【請求項１４】
歪みパラメータで表される特性を持つ、撮像する撮影手段と、
幾何形状が定義済みのパターンからなり、該定義に従って生成された基準画像（Ｉo）を保持する画像保持手段と、
前記撮影手段において撮影した撮像画像（Ｉd）中において輝度値が略同一な領域を抽出して該領域の輝度値の平均値を求め、前記基準画像（Ｉo）中の対応画素の輝度値を該平均値で置き換えることによって補正する輝度値補正手段と、
前記輝度値補正手段による補正を行なった後に、前記幾何形状が定義済みのパターンを前記撮影手段において撮影した撮像画像（Ｉd）と前記画像保持手段に保持されている前記基準画像（Ｉo）のいずれか一方を他方の画像に変換する射影変換パラメータ及び前記歪みパラメータを、前記撮像画像（Ｉd）上の各画素（ｘd，ｙd）と前記射影変換パラメータと前記歪みパラメータを用いて算出される前記基準画像（Ｉo）上の対応する画素（ｘo，ｙo）の間の輝度誤差を画像全体で最小化することで推定するパラメータ推定手段と、
を具備することを特徴とするカメラ・キャリブレーションを行うことが可能なカメラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カメラの特性を表すパラメータを算出するカメラ・キャリブレーション方法及び装置に係り、特に、対象物を撮像して電子的な画像データを出力するタイプのカメラに対してパラメータ算出を行うカメラ・キャリブレーション方法及び装置に関する。
【０００２】
更に詳しくは、本発明は、１枚の撮像画像を基に安定且つ高精度にパラメータ推定を行うカメラ・キャリブレーション方法及び装置に関する。
【０００３】
【従来の技術】
昨今の画像処理技術の発展に伴い、高機能で且つ強力な演算能力を持つ汎用コンピュータ・システムが、各種研究機関や企業内のオフィス、一般家庭へと広汎に普及してきている。また、コンピュータの適用分野も拡大し、コンピュータ・データのみならず、画像や音声などの様々のデータも電子化され、コンピュータ上で扱われるようになってきた。例えば、デジタル・カメラなどの撮像手段により捕捉されてコンピュータ内に取り込まれた電子的な画像データは、コンピュータ資源を用いて画像合成や画像変形などの様々な加工処理を行うことができる。
【０００４】
実在するカメラの多くは、ピンホールカメラ・モデルによる中心投影を行う。中心投影とは、投影中心Ｃと３次元物体表面の点Ｐとを結ぶ直線（「視線」とも言う）とカメラの投影スクリーンとの交点に物体表面の点Ｐの色濃度値を配置していくことで、投影画像を形成する。中心投影では、同じ大きさの物体であっても、カメラの投影中心Ｃに近づくにつれて大きな像として投影され、逆に、投影中心Ｃから遠ざかるにつれて小さく投影される性質を持つ。
【０００５】
また、撮像対象の正面に対して斜め方向から撮像した画像は、正面に正対した位置から撮像した画像を射影変換した射影画像となることは、幾何光学的に明らかである。正面画像を射影変換行列Ｈによって射影変換することで射影画像が得られるということは、画像処理の技術分野において広く知られている。例えば、正面画像がデジタル・カメラにより捕捉された電子的な画像データであれば、捕捉した正面画像を、コンピュータ資源を用いて射影変換することによって、任意の方向（視線）から撮像したに等しい射影画像を比較的高速且つ容易に計算して求めることができる。例えば、金谷健一著の「画像理解」（森北出版，１９９０）には、元画像を射影変換行列によって別の角度から見える画像に変換できる点が記載されている。
【０００６】
射影変換に関する幾何光学的な性質は、例えば、「ステレオ法」に基づく対象物の距離測定方法にも適用することができる。ここで言うステレオ法とは、所定の位置関係を持つ複数の視点（投影中心）から撮像した画像を用いて、シーンすなわち撮像画像中の各点と投影中心との距離を、いわゆる「三角測量」の原理により測定する方法のことである。
【０００７】
本明細書中では、説明の便宜上、２つの視点すなわち２個のカメラのみを用いてステレオ法を行うこととする。１つのカメラは基準カメラとして使用され、正面と正対した位置から対象物を撮像して、基準画像を出力する。また、他方のカメラは参照カメラとして使用され、斜め方向から対象物を撮像して、参照画像を出力する。図１０は、撮像対象に対する基準カメラと参照カメラの配置を模式的に示しており、また、図１１には、略正方形のパターンを基準カメラと参照カメラの各々によって撮像した場合の基準画像と参照画像を模式的に示している。
【０００８】
図１０に示すように、撮像対象となる平面上の点Ｐと基準カメラの投影中心Ｃbとを結ぶ直線と、基準カメラの投影スクリーンＳbとの交点ｎbに、点Ｐが観察される。点Ｐと基準カメラの投影中心Ｃbとを結ぶ直線は、基準カメラの視線である。また、点Ｐと参照カメラの投影中心Ｃdとを結ぶ直線と参照カメラの投影スクリーンＳdとの交点ｎdに、点Ｐが観察される。点Ｐと参照カメラの投影中心Ｃdとを結ぶ直線は、参照カメラの視線である。
【０００９】
基準カメラの視線を射影変換すると、参照カメラの視線となる。射影変換は、射影変換行列Ｈによって記述される。また、基準カメラの視線は、参照カメラの投影スクリーン上では直線として観察されるが、この直線のことを「エピポーラ・ライン」と呼ぶ。
【００１０】
また、図１１に示すように、略正方形のパターンに正対する基準カメラで撮像した撮像画像は正方形となる。これに対し、このパターンを斜視する参照カメラで撮像した画像は、視点からの距離が長い辺が縮小される結果として、台形状ととして現れる。これは、同じ大きさの物体であっても、カメラの投影中心Ｃに近づくにつれて大きな像として投影され、逆に、投影中心Ｃから遠ざかるにつれ小さく投影されるという、中心投影の基本的性質に依拠する。
【００１１】
上述したように、参照カメラの撮像画像Ｉdは、基準カメラの撮像画像Ｉbを射影変換した画像である。すなわち、基準カメラの撮像画像Ｉb中の点ｎb（ｘb，ｙb）と、これに対応する参照カメラの撮像画像Ｉd中の点ｎd（ｘd，ｙd）の間には、以下の式が成立する。但し、同式中のＨは３×３射影変換行列である。
【００１２】
【数１】
0004453119.tif 000002
【００１３】
射影変換行列Ｈは、カメラの内部パラメータ及び外部パラメータ、平面の方程式を暗黙的に含んだ行列であり、また、スケール因子に自由度が残るので、８自由度を有する。なお、金谷健一著の「画像理解」（森北出版，１９９０）には、基準画像と参照画像間において、射影変換により互いの対応点を求めることができるということが記載されている。
【００１４】
基準カメラの視線は、参照カメラのカメラの投影スクリーンＳd上では「エピポーラ・ライン」と呼ばれる直線として現れる（前述及び図１０を参照のこと）。基準カメラの視線上に存在する点Ｐは、点Ｐの奥行き、すなわち基準カメラとの距離の大小に拘らず、基準カメラの投影スクリーンＳb上では同じ観察点ｎb上に現れる。これに対し、参照カメラの投影スクリーンＳd上における点Ｐの観察点ｎdは、エピポーラ・ライン上で基準カメラと観察点Ｐとの距離の大小に応じた位置に現れる。
【００１５】
図１２には、エピポーラ・ラインと、参照カメラの投影スクリーンＳd上における観察点ｎdの様子を図解している。同図に示すように、点Ｐの位置がＰ1，Ｐ2，Ｐ3へと変化するに従って、参照画像中の観察点はｎd1，ｎd2，ｎd3へとシフトする。言い換えれば、エピポーラ・ライン上の位置が観察点Ｐの奥行きに相当する訳である。
【００１６】
以上の幾何光学的性質を利用して、基準カメラの観察点ｎbに対応する観察点ｎdをエピポーラ・ライン上で探索することにより、点Ｐの距離を同定することができる。これが「ステレオ法」の基本的原理である。
【００１７】
しかしながら、撮像対象を実写した正面画像を基にして斜視画像を生成したり、あるいは、ステレオ法に基づいて複数台のカメラによる複数の画像から物体の距離を計測することは、カメラが持つ撮像光学系が理論と完全に一致する特性を持っていることを前提としている。このため、実写により取得した画像に対して所定の補正を施す必要がある。例えば、カメラのレンズは一般に歪みパラメータを有し、観察点は理論上の点から変位した位置に結像される。したがって、カメラ特有のパラメータを算出し、射影変換に際してこのパラメータに従った画像データの補正を行わなければ、正面画像から正確な射影画像を得ることができず、また、ステレオ法により正確な奥行き計測を行うことができない。
【００１８】
カメラが持つパラメータは、レンズの歪みパラメータの他、カメラ特性をあらわす内部パラメータ、カメラの３次元位置を示す外部パラメータに区分される。カメラのパラメータを算出する方法のことを、一般に、「カメラ・キャリブレーション」と呼ぶ。カメラ・キャリブレーションのための手法は、従来から数多く提案されているが、未だ確立されたものがないのが現状である。
【００１９】
最も一般的なカメラ・キャリブレーション方法は、３次元空間中の位置が既知である複数の参照点からなる校正パターンを撮像して、全てのカメラ・パラメータ、すなわち内部パラメータ、外部パラメータ、歪みパラメータを同時に算出する方法である。例えば、Ｒｏｇｅｒ  Ｙ．  Ｔｓａｉ著の論文”Ａｎ  Ｅｆｆｉｃｉｅｎｔ  ａｎｄ  Ａｃｃｕｒａｔｅ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ３Ｄ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  ”（１９８６，ＩＥＥＥ）には、当該手法について記載している。しかしながら、この方法を実行するためには、正確な参照点が描かれた校正パターンを用意する必要がある。さらに、参照点を正確に位置決めする機構も必要である。
【００２０】
また、他の一般的なカメラ・キャリブレーション方法として、直線的な特徴を持つ物体（例えば、棒や立方体など）を撮像する方法が挙げられる。この方法によれば、撮像した画像から物体上の各点を抽出し、その点群からなる直線までの距離の誤差を最小にすることで直線に当てはめて、歪み量を計算することができる。しかしながら、この方法による場合、撮像画像から点を抽出する際に生じる誤差が直線近似、最終的には歪み量の計算に影響を及ぼすという問題がある。このため、安定且つ正確にパラメータを求めるためには、様々な方向性を持つ直線群を複数撮像する必要があり、作業が複雑化し計算量も増大する。
【００２１】
また、一般シーンを撮像した画像を用いてカメラ・キャリブレーションを行うという方法もある。例えば、Ｆｒｅｄｅｒｉｃ  Ｄｅｖｅｒｎａｙ外著の論文”Ａｕｔｏｍａｔｉｃ  ｃａｌｉｂｒａｔｉｏｎ  ａｎｄ  ｒｅｍｏｖａｌ  ｏｆｄｉｓｔｏｒｔｉｏｎ  ｆｒｏｍ  ｓｃｅｎｅｓ  ｏｆ  ｓｔｒｕｃｔｕｒｅｄ  ｅｎｖｉｒｏｎｍｅｎｔ  ”や、Ｇ．Ｐ．Ｓｔｅｉｎ著の論文”Ｌｅｎｓ  Ｄｉｓｔｏｒｔｉｏｎ  Ｃａｌｉｂｒａｔｉｏｎ  Ｕｓｉｎｇ  Ｐｏｉｎｔ  Ｃｏｒｒｅｓｐｏｎｄｅｎｃｅｓ  ”には当該手法について記載している。しかしながら、これらの文献に記載のキャリブレーション方法では、撮像画像から直線成分の抽出が必要であったり、取得した２枚以上の撮像画像に対して対応点を決定する必要があるため、現状の技術水準ではパラメータ推定を安定して行うことは難しい。
【００２２】
また、上述した各方法はいずれも、局所的な特徴点を抽出してパラメータ算出を行うため、必然的に抽出誤差を含んでしまう。言い換えれば、複数枚の画像を撮像するなどしてパラメータ推定の安定化を図る必要がある訳である。
【００２３】
【発明が解決しようとする課題】
本発明の目的は、対象物を撮像して電子的な画像データを出力するタイプのカメラに対して、安定且つ高精度にパラメータ推定を行うことができる、優れたカメラ・キャリブレーション装置及び方法を提供することにある。
【００２４】
本発明の更なる目的は、１枚の撮像画像を基に安定且つ高精度にパラメータ推定を行うことができる、優れたカメラ・キャリブレーション方法及び装置を提供することにある。
【００２５】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、カメラの特性を表すパラメータを算出するカメラ・キャリブレーション装置又は方法において、
幾何形状が定義済みのパターンをカメラで撮像した撮像画像を入力する画像入力手段又はステップと、
前記幾何形状が定義済みのパターンからなる基準画像を保持する画像保持手段又はステップと、
前記撮像画像と前記基準画像間の画素の対応関係に基づいて変換パラメータを算出する変換パラメータ算出手段又はステップと、
を具備することを特徴とするカメラ・キャリブレーション装置又は方法である。
【００２６】
本発明の第１の側面に係るカメラ・キャリブレーション装置又は方法は、さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成手段又はステップを含み、
前記画像保持手段又はステップは、前記画像生成手段又はステップによって生成された画像を保持するようにしてもよい。
【００２７】
また、本発明の第１の側面に係るカメラ・キャリブレーション装置又は方法は、さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成手段又はステップと、該生成された基準画像を略無地の面上に投影する投光手段又はステップとを含み、
前記画像入力手段又はステップは、前記投光手段又はステップによる投影画像をカメラで撮像した撮像画像を入力するようにしてもよい。
【００２８】
本発明の第１の側面に係るカメラ・キャリブレーション装置又は方法において、前記変換パラメータ算出手段又はステップは、撮像画像又は基準画像のいずれか一方を画像変換して他方の画像との対応をとるようにしてもよい。
【００２９】
また、前記変換パラメータ算出手段又はステップは、射影変換パラメータを導出するとともに、該射影変換パラメータを用いて撮像画像又は基準画像のいずれか一方を画像変換して他方の画像との対応をとり、両画像の対応する画素間の輝度誤差を画像全体で最小化するようにしてもよい。
【００３０】
また、前記変換パラメータ算出手段又はステップは、カメラによる撮像時に生じる前記撮像画像の歪み要因を表す歪みパラメータを導出するとともに、該歪みパラメータを用いて歪みを除去した撮像画像を射影変換して、前記基準画像との対応をとるようにしてもよい。
【００３１】
また、前記変換パラメータ算出手段又はステップは、前記撮像画像の輝度値に応じて前記基準画像の輝度値を補正するようにしてもよい。この場合、撮像画像中において輝度値が略同一な領域を抽出して該領域の輝度値の平均値を求め、基準画像中の対応画素の輝度値を該平均値で置き換えることによって、好適に補正することができる。
【００３２】
また、本発明の第２の側面は、カメラによる複数の撮像画像を処理するための画像処理装置又は方法であって、
幾何形状が定義済みのパターンをカメラで撮像した撮像画像を入力する画像入力手段又はステップと、
前記幾何形状が定義済みのパターンからなる基準画像を保持する画像保持手段又はステップと、
前記撮像画像と前記基準画像間の画素の対応関係に基づいて変換パラメータを算出する変換パラメータ算出手段又はステップと、
該算出された変換パラメータを用いて、前記カメラが撮像した複数の撮像画像間における画素の対応関係を求める演算手段又はステップと、
を具備することを特徴とする画像処理装置又は方法である。
【００３３】
本発明の第２の側面に係る画像装置又は方法は、さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成手段又はステップを含み、
前記画像保持手段又はステップは、前記画像生成手段又はステップによって生成された画像を保持するようにしてもよい。
【００３４】
また、本発明の第２の側面に係る画像処理装置又は方法は、さらに、前記幾何形状が定義済みのパターンからなる基準画像を該定義に従って生成する画像生成手段又はステップと、該生成された基準画像を略無地の面上に投影する投光手段又はステップとを含み、
前記画像入力手段又はステップは、前記投光手段又はステップによる投影画像をカメラで撮像した撮像画像を入力するようにしてもよい。
【００３５】
本発明の第２の側面に係る画像処理装置又は方法において、前記変換パラメータ算出手段又はステップは、撮像画像又は基準画像のいずれか一方を画像変換して他方の画像との対応をとるようにしてもよい。
【００３６】
また、前記変換パラメータ算出手段又はステップは、射影変換パラメータを導出するとともに、該射影変換パラメータを用いて撮像画像又は基準画像のいずれかを画像変換して他方の画像との対応をとり、両画像の対応する画素間の輝度誤差を画像全体で最小化するようにしてもよい。
【００３７】
また、前記演算手段又はステップは、前記カメラが撮像した２枚の撮像画像に関して、一方の撮像画像と基準画像とを対応付ける射影変換と、他方の撮像画像と基準画像とを対応付ける射影変換の逆変換とを用いて座標変換することにより、該２枚の撮像画像間の対応関係を求めるようにしてもよい。この場合、前記変換パラメータ算出手段又はステップは、カメラによる撮像時に生じる前記撮像画像の歪み要因を表す歪みパラメータを導出するとともに、該歪みパラメータを用いて歪みを除去した撮像画像を射影変換して、前記基準画像との対応をとればよい。
【００３８】
また、前記変換パラメータ算出手段又はステップは、前記撮像画像の輝度値に応じて前記基準画像の輝度値を補正するようにしてもよい。この場合、撮像画像中において輝度値が略同一な領域を抽出して該領域の輝度値の平均値を求め、基準画像中の対応画素の輝度値を該平均値で置き換えることによって、好適に補正することができる。
【００３９】
また、前記画像入力手段又はステップは、互いに所定の位置関係を持つ複数のカメラで撮像された複数の撮像画像を入力してもよい。
【００４０】
また、本発明の第３の側面は、カメラの特性を表すパラメータを算出するカメラ・キャリブレーションをコンピュータ・システム上で実行せしめるためのコンピュータ・プログラムを有形的且つコンピュータ可読な形式で提供するコンピュータ可読プログラム提供媒体であって、前記コンピュータ・プログラムは、
幾何形状が定義済みのパターンをカメラで撮像した撮像画像を入力する画像入力ステップと、
前記幾何形状が定義済みのパターンからなる基準画像を保持する画像保持ステップと、
前記撮像画像と前記基準画像間の画素の対応関係に基づいて変換パラメータを算出する変換パラメータ算出ステップと、
を含むことを特徴とプログラム提供媒体である。
【００４１】
また、本発明の第４の側面は、撮像画像を入力する画像入力手段と、
幾何形状が定義済みのパターンからなる基準画像を保持する画像生成手段と、
前記幾何形状が定義済みのパターンを前記画像入力手段において入力した撮像画像と前記基準画像間の画素の対応関係に基づいて変換パラメータを算出する変換パラメータ算出手段と、
を具備することを特徴とするカメラ・キャリブレーションを行うことが可能なカメラである。
【００４２】
【作用】
本発明では、計算機内で合成したパターンすなわち基準画像に対して、カメラで実写した撮像画像を合わせ込むことによって、カメラのパラメータ算出すなわちキャリブレーションを行うこととした。
【００４３】
キャリブレーションに用いる撮像画像は、幾何形状が既知のキャリブレーション・パターンをカメラで撮像することにより、画像入力される。画像入力された撮像画像は、例えばカメラ・キャリブレーション装置内のフレーム・バッファに一時格納される。
【００４４】
他方、キャリブレーション・パターンとは幾何形状の定義と一義的なパターンを持つ基準画像は、カメラ・キャリブレーション装置内の他のフレーム・バッファに保持されている。カメラ・キャリブレーション装置は、予め作成されたパターンを含む基準画像をハード・ディスクのような外部記憶装置に蓄積しておき、該ディスクから取り出してフレーム・バッファに書き込むのでもよい。
【００４５】
あるいは、幾何形状の定義に従って、コンピュータ・グラフィックス技術を用いてカメラ・キャリブレーション装置内部で基準画像を生成して、フレーム・バッファ内に一時格納するようにしてもよい。要するに、フレーム・バッファに書きこまれた基準画像は、理論的な幾何形状に合致する完全なパターンを有するものと理解されたい。
【００４６】
また、撮像画像すなわちカメラによる実写に用いられるパターンは、印刷などによって平面上に恒久的に形成されたパターンである必要はなく、コンピュータ・グラフィックスにより生成された基準画像を投光手段（例えば、スライド）によって平面上に投影されたパターンであってもよい。この場合、基準画像と撮像画像間におけるキャリブレーション・パターンの幾何形状の一義性は、比較的容易に保たれる。
【００４７】
このようにして得られた基準画像と撮像画像間で、画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）を行い、輝度の誤差を最小化することで、パラメータ算出を行うことができる。
【００４８】
したがって、本発明に係るカメラ・キャリブレーション装置及び方法によれば、１枚の撮像画像を用いてパラメータ推定を安定且つ精度よく行うことができる。
【００４９】
また、カメラが撮像するパターンは、計算機内において基準画像のパターン合成に用いる幾何形状の定義と一義的である必要があるが、撮像物体までの距離やパターンの大きさは全く限定されない。何故ならば、距離の大小に伴なう撮像パターンの縮尺や撮像方向の相違などは、射影変換を行なうことにより吸収することが可能だからである。射影変換は、コンピュータ資源を用いた演算処理で比較的容易に実現される。
【００５０】
本発明によれば、局所的な特徴点を用いずに処理を行うことができるので、特徴点抽出の誤差などによるパラメータ推定への影響がなく、また、カメラで撮像した画像のノイズの影響を抑制することができる。さらに、１枚の撮像画像を用いて安定したパラメータ算出を行うことができる。
【００５１】
また、キャリブレーションに用いるパターンは、計算機内で生成が可能な単純な図形の組み合わせ（例えば、白黒２色の市松模様、２値の３角形の組み合わせなど）であれば十分である。かかるパターンを撮像する際は、合成したパターンと同一のパターンを持つ平面を用意する必要があるが、カメラまでの距離やパターンの大きさを同一にする必要はないので、キャリブレーションを行うための制約が少なくて済む。また、スライドなどを用いて投影したパターンを無地の平面に投影した画像を撮像して、キャリブレーションを行うこともできる。
【００５２】
また、キャリブレーションに既知すなわち幾何形状が定義済みのパターンを用いるため、例えば輝度補正など前処理のアルゴリズムを構築し易い。逆に、前処理のアルゴリズムを構築し易いようなパターンを利用して、キャリブレーションを行うようにデザインすればよい。
【００５３】
本発明に係るカメラ・キャリブレーションによれば、歪みパラメータの算出と同時に、合成画像と撮像画像の対応を示す射影変換行列を算出することができるので、ステレオ法のためのキャリブレーションに対しても適用可能である。すなわち、カメラが撮像した２枚の撮像画像に関して、一方の撮像画像と基準画像とを対応付ける射影変換と、他方の撮像画像と基準画像とを対応付ける射影変換の逆変換とを用いて座標変換することによって、２枚の撮像画像間の対応関係を求めることができる訳である。
【００５４】
例えば、本出願人に既に譲渡されている特願平９−２０７９４８号や特願平９−２０７９５１号の各々の明細書は、ステレオ法に基づく画像処理装置や画像処理方法について開示しているが、これらの画像処理装置等に対して本発明を適用することも可能である。
【００５５】
本発明の第３の側面に係るプログラム提供媒体は、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・プログラムを有形的且つコンピュータ可読な形式で提供する媒体である。媒体は、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）やＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｃ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）などの着脱自在で可搬性の記憶媒体、あるいは、ネットワークなどの伝送媒体など、その形態は特に限定されない。
【００５６】
このようなプログラム提供媒体は、コンピュータ・システム上で所定のコンピュータ・プログラムの機能を実現するための、コンピュータ・プログラムと提供媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、本発明の第７乃至９の各側面に係るプログラム提供媒体を介して所定のコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面と同様の作用効果を得ることができるのである。
【００５７】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００５８】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【００５９】
まず、本発明の実施に供されるカメラ・キャリブレーション・システム１０の構成について説明する。カメラ・キャリブレーション・１０は、カメラからの入力画像の処理のために特化してデザインされた専用ハードウェアとして構成することも、あるいは、汎用コンピュータ・システム上で撮像画像の処理を実行する所定のアプリケーション・プログラムを実行するという形態でも具現することも可能である。
【００６０】
図１には、カメラ・キャリブレーション・システム１０のハードウェア構成を模式的に示している。以下、各部について説明する。
【００６１】
演算処理部１１は、画像処理システム１０全体の動作を統括的に制御するメイン・コントローラであり、その実体は、画像処理を実行する所定のアプリケーション・プログラムを起動するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。すなわち、演算処理部１１は、オペレーティング・システム（ＯＳ）の制御下で、各種のアプリケーション・プログラムを実行する。演算処理部１１は、例えば、以下の画像処理を実行する。
（１）所定のコンピュータ・グラフィックス処理を実行して、幾何形状が定義済みのパターンからなる基準画像を生成し、フレーム・メモリ１４に格納する。
（２）カメラ（後述）の撮像画像と基準画像間の画素の対応関係に基づいて、カメラの変換パラメータを算出する。パラメータ算出の際、２枚の画像間の画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）処理も行う。
（３）算出した変換パラメータを用いて、カメラが撮像した複数枚の撮像画像間における画素の対応関係を求める。例えば、基準カメラ１７Ａと参照カメラ１７Ｂの双方における観察点の対応関係に基づいて、ステレオ法による距離測定を行う。
【００６２】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２は、演算処理部１１が実行プログラム・コードをロードしたり、作業データを一時格納するために使用される書き込み可能なメモリである。例えば、カメラ・キャリブレーションを含む各種の演算処理に必要なプログラム・コードやデータは、ＲＡＭ１２上にロードされる。ＲＡＭ１２は、通常、複数個のＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）チップで構成される。また、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３は、製造時に格納データが恒久的に書き込まれる読み出し専用の不揮発メモリである。ＲＯＭ１３上には、例えば、システム１０の電源投入時に実行する自己診断テスト・プログラム（ＰＯＳＴ）や、ハードウェア入出力操作を実行するためのコード群（ＢＩＯＳ）が格納されている。
【００６３】
フレーム・メモリ１４は、演算処理部１１において生成された基準画像（前述）を一時的に格納するためのバッファ・メモリである。但し、フレーム・メモリ１４は、ＲＡＭ１２とは独立したメモリである他、ＲＡＭ１２内に設けられた専用パーティションであってもよい。
【００６４】
入力部１５は、ユーザからのコマンド入力などを受容する装置である。キャラクタ・ベースでコマンド入力を行うキーボードや、座標指示形式でコマンド入力を行うマウスやタッチパネルなどの装置がこれに含まれる。
【００６５】
表示部１６は、処理画像やコマンド入力のためのメニューなどを含んだ作業画面をユーザに提示するための装置であり、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ：冷陰極線管）ディスプレイやＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示ディスプレイ）がこれに該当する。
【００６６】
カメラ１７Ａ及び１７Ｂは、３次元空間上に実在する物体を撮像して、電子的な画像データとして取り込むための装置であり、カメラ・インターフェース１８を介してシステム１０に接続される。カメラ１７Ａ及び１７Ｂは、インターフェース１８に対して着脱自在であってもよい。本実施例のカメラ１７Ａ及び１７Ｂは、ピンホールカメラ・モデルに従う中心投影（前述）により物体を撮像するものとする。
【００６７】
これら２台のカメラ１７Ａ及び１７Ｂは、互いの位置関係が固定されており、ステレオ・ペアを構成する。すなわち、一方のカメラ１７Ａを基準カメラとして、他方のカメラ１７Ｂを参照カメラとして用いることで、ステレオ法に基づく物体の距離測定を行うことができる（ステレオ法の原理については［従来の技術］の欄を参照のこと）。各カメラ１７Ａ及び１７Ｂの撮像カメラは、フレーム・メモリ１９に一時的に格納される。撮像画像は、例えば、所定のファイル形式（例えば、拡張子”．ｂｍｐ”を持つビットマップ形式）で、外部記憶装置２０（後述）に蓄積することができる。
【００６８】
本実施例では、スクリーン平面上には、基準画像（前述）に含まれるパターンとは一義的な幾何形状の定義を持つキャリブレーション・パターンが形成されている。カメラ１７Ａ及び１７Ｂでこのキャリブレーション・パターンを撮像した撮像画像の各々を、フレーム・メモリ１４上に格納された基準画像と画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）が行われる（後述）。
【００６９】
但し、カメラ・キャリブレーション・システム１０は、必ずしも２基のカメラを備え、ステレオ法を実現する必要はない。例えば、システム１０は、単一のカメラ１７Ａのみを備え、単一のカメラのキャリブレーションを行うシステムであってもよい。
【００７０】
外部記憶装置２０は、例えば、ハード・ディスク・ドライブ（ＨＤＤ）のような、比較的大容量で再書き込み可能且つ不揮発の記憶装置であり、データ・ファイルを蓄積したり、プログラム・ファイルをインストールするために使用される。データ・ファイルの例は、基準画像中のキャリブレーション・パターンを生成するための幾何形状データ・ファイルなどである。また、プログラム・ファイルの例は、演算処理部１１において実行される３次元グラフィック・アプリケーションや、カメラのキャリブレーション処理を行うためのアプリケーションなどである。
【００７１】
メディア・ドライブ２１は、カートリッジ式のメディアを交換可能に装填して、メディア表面上の担持データを読み書きするための装置である。ここで言うメディアとして、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）、ＣＤ−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの、システム１０から着脱自在で可搬型のメディアが挙げられる。基準画像中のキャリブレーション・パターンを定義する幾何形状データ・ファイルや、カメラ・キャリブレーション処理等のためのプログラム・ファイルは、この種のメディアを媒介として流通され、メディア・ドライブ１５によって外部記憶装置２０にインストールすることができる。
【００７２】
投光器２２は、スクリーン平面上に所望のパターンを投影するための装置であり、投光器インターフェース２３によってシステム１０に接続されている。投光器２２は、例えば、演算処理部１１によって生成された基準画像をフレーム・メモリ１４から取り出して、スクリーン平面上に投影することができる。この場合、投影された基準画像そのものを実写のためのキャリブレーション・パターンとして使用可能であり、スクリーン上にパターンを印刷などにより形成する必要がなくなる。
【００７３】
ネットワーク・インターフェース２４は、カメラ・キャリブレーション・システム１０を所定の通信プロトコル（例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコル）に従ってネットワーク接続するための装置である。ネットワーク上には、複数のコンピュータ・システム（以下では、「リモート・システム」とも呼ぶ：図示しない）が存在する。本実施例のカメラ・キャリブレーション・システム１０は、リモート・システムからネットワーク経由で、基準画像中のキャリブレーション・パターンについての幾何形状データ・ファイルや、カメラ・キャリブレーションのためのプログラム・ファイルなどの供給を受けることもできる。
【００７４】
なお、カメラ・キャリブレーション・システム１０を実際に構成するためには、図１に示した以外にも多くのハードウェア・コンポーネントが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。また、図面の錯綜を回避するため、図中の各ハードウェア・ブロック間の接続も抽象化して図示している点を了承されたい。（例えば、演算処理部１１を構成するＣＰＵは、一般には、各周辺機器を自己の外部ピンにローカル接続せず、各種の入出力インターフェースを介してバス接続する。）
【００７５】
次いで、単一のカメラ１７Ａ又は１７Ｂ（以下では、便宜上、カメラ１７Ａのみとする）についての歪みパラメータの算出、すなわちカメラ・キャリブレーションの処理手順について説明する。ここで言う歪みパラメータとは、歪み中心（ｃx，ｃy）、歪み係数κ、アスペクト比（画素の縦横比）ｓxのことを指す。また、射影変換行列Ｈは、演算処理部１１によって合成された基準画像Ｉoと、カメラ１７Ａによって撮像された撮像画像Ｉdの間の対応関係を記述するものとする。また、以下に示す処理手順では、撮像画像から基準画像への変換を基に説明しているが、逆方向での変換についても、本発明に係るパラメータ算出は可能である。
【００７６】
まず、パターンが形成された平面を、カメラ１７Ａによって撮像する。撮像した濃淡画像Ｉdは、フレーム・メモリ１９に一時格納される。平面上に形成されたパターンは、キャリブレーションに用いるキャリブレーション・パターンであり、その幾何形状は既知である。また、パターンは、平面上に印刷などにより形成される必要はなく、例えば投光器２２を用いて、フレーム・メモリ１４上の基準画像を投影したものであってもよい。
【００７７】
キャリブレーション・パターンは、幾何形状が既知であれば特にパターンの形状や寸法や色彩は限定されない。計算機内での生成処理（後述）が容易な、単純な基本図形の組み合わせであれば充分である。キャリブレーション・パターンは、例えば、図２に示すような、白黒２値の市松模様や、２値の３角形の組み合わせでもよい。また、撮像対象は、合成された基準画像と幾何形状の定義と一義的なパターンを含む必要があるが、カメラ１７Ａまでの距離やパターンの大きさに関する限定はない。
【００７８】
次いで、各フレーム・バッファ１４，１９に蓄積された基準画像Ｉoと撮像画像Ｉdの双方を用いて歪みパラメータの算出処理が行われる。図３には、この歪みパラメータの算出処理の手順をフローチャートの形式で概略的に示している。該処理手順は、例えば、演算処理部１１が所定のプログラム・コードを実行するという形式で具現化される。以下、図示のフローチャートを参照しながら説明する。
【００７９】
まず、演算処理部１１では、幾何形状の定義に基づいてキャリブレーション・パターンをコンピュータ内部で合成して、この合成画像を基準画像Ｉoとしてフレーム・メモリ１４に格納する（ステップＳ１０）。
【００８０】
次いで、基準画像Ｉoと撮像画像Ｉd間の対応関係の初期値を設定する（ステップＳ２０）。この対応関係は、射影変換行列Ｈによって記述される。但し、このステップでは、カメラ１７Ａのレンズ歪みについては考慮せず、２枚の画像間の対応を設定するだけでよい。初期値としては、４点以上の対応点の設定が可能であればよく、設定方法を特に限定する必要はない。
【００８１】
次いで、基準画像Ｉoと撮像画像Ｉdの間で輝度補正を行う（ステップＳ３０）。計算機内で合成した基準画像Ｉoが完全な２値画像である。これに対して、２値のパターンで構成されるキャリブレーション・パターン（図２を参照のこと）をカメラ１７Ａで実写して得た撮像画像Ｉdは、通常、照明条件などの影響により濃淡画像となる。そこで、画像合わせ込み処理（後述）を効率的且つ高精度に行うためにも、撮像画像Ｉd及び基準画像Ｉoの各々の輝度分布を補正してパラメータ算出を行うことが好ましい。但し、輝度補正処理は、歪みパラメータ算出に必須の要件ではない。輝度補正処理の詳細については後述に譲る。
【００８２】
ここで、システム１０内の計算処理により合成された基準画像Ｉoと、カメラ１７Ａの撮像画像Ｉdとの対応関係について、図４を参照しながら説明する。これら２枚の画像間の対応付けは、射影変換行列Ｈと歪みパラメータ（ｃx，ｃy，κ，ｓx）とで表される。
【００８３】
パラメータ推定の際に使用するレンズ歪みを考慮したカメラ・モデルによる撮像画像平面上の点をｎd＝［ｘd，ｙd］Tとし、レンズ歪みを考慮しない撮像画像平面上の対応する点ｎu＝［ｘu，ｙu］Tとすると、各点ｎd及びｎuの間には以下の関係が成立する。
【００８４】
【数２】
0004453119.tif 000003
【００８５】
但し、上式において、ｒdは歪み中心（ｃx，ｃy）からの距離のことであり、次式で定義される。
【００８６】
【数３】
0004453119.tif 000004
【００８７】
また、基準画像Ｉo上の点をｎo＝［ｘo，ｙo］Tとおくと、ｎuが画像平面上の点であることから、ｎoからｎuへの変換は射影変換行列Ｈを用いて次式のように表される。
【００８８】
【数４】
0004453119.tif 000005
【００８９】
ここで、射影変換行列Ｈは３×３マトリックスの行列であることから、基準画像Ｉo上の点ｎo＝［ｘo上，ｙo上］Tは、行列Ｈの各係数ｈijを用いて次式のように表すことができる。
【００９０】
【数５】
0004453119.tif 000006
【００９１】
上式（１）及び（４）により、基準画像Ｉo上の点ｎo＝［ｘo，ｙo］Tと撮像画像Ｉd上の点ｎd＝［ｘd，ｙd］Tとの間には以下の関係が成立する。
【００９２】
【数６】
0004453119.tif 000007
【００９３】
再び図３に戻って、パラメータ算出の手順について説明する。同図に示すように、ステップＳ４０では、カメラ１７Ａのレンズ歪みパラメータの推定を行う。
【００９４】
本実施例では、歪みパラメータの推定は、いわゆる画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）技術を用いて行う。実際には、次式に示すように、基準画像Ｉoと撮像画像Ｉdとの輝度誤差の２乗和を最小化することで、各パラメータ［ｈ11，ｈ12，…，ｈ32，ｈ33，ｃx，ｃy，κ，ｓx］の推定を行う。
【００９５】
【数７】
0004453119.tif 000008
【００９６】
この最小化に関しては、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ最小化法（以下では、単に「Ｌ−Ｍ法」とする）を適用することができる。例えば、Ｓ．  Ａ．  Ｔｅｕｋｏｌｓｋｙ，Ｗ．  Ｔ．  Ｖｅｔｔｅｒｌｉｎｇ，Ｂ．  Ｐ．  Ｆｌａｎｎｅｒｙ著の”ＮＵＭＥＲＩＣＡＬ  ＲＥＣＩＰＥＳ  ｉｎ  Ｃ”（Ｗ．  Ｈ．  Ｐｒｅｓｓ）には、Ｌ−Ｍ法について記載されている。
【００９７】
射影変換行列の自由度は８であることから、上記したパラメータのうちｈ33は１としてパラメータ推定は行わないため、未知パラメータ数ｋ＝１２とする。また、以下では、説明の便宜上、［ｈ11，ｈ12，…，ｈ32，ｃx，ｃy，κ，ｓx］＝［ｍ1，ｍ2，…，ｍ11，ｍ12］と表記することとする（すなわちｈ33を算出パラメータから取り除く）。
【００９８】
Ｌ−Ｍ法に従うアルゴリズムでは、未知のパラメータｍkの各々についての偏微分を用いる。誤差ｅiの各未知パラメータに関する偏微分は次式のように表される。
【００９９】
【数８】
0004453119.tif 000009
【０１００】
但し、上式（７）において、（∂Ｉo／∂ｘo，∂Ｉo／∂ｙo）は点（ｘo，ｙo）での輝度勾配を表す。未知パラメータに関する偏微分から、Ｌ−Ｍ法では近似Ｈｅｓｓｉａｎ  Ｍａｔｒｉｘ  αとＷｅｉｇｈｔｅｄ  ｇｒａｄｉｅｎｔ  Ｖｅｃｔｏｒ  βを計算する。それぞれの構成要素は以下の各式の通りである。
【０１０１】
【数９】
0004453119.tif 000010
【０１０２】
各繰り返し段階において、上記の各未知パラメータｍkをそれぞれΔｍkだけ更新する。
【０１０３】
【数１０】
0004453119.tif 000011
【０１０４】
上式（９）において、λはｔｉｍｅ−ｖａｒｙｉｎｇ  ｓｔａｂｉｌｉｚａｔｉｏｎ  ｐａｒａｍｅｔｅｒである。誤差ｅiが充分小さくなるまで更新Δｍkを繰り返し行うことで、未知パラメータの各々を推定することができる。実際の画像合わせ込み手順を以下に示しておく。
【０１０５】
（処理１）
撮像画像Ｉd上の各画素ｎdi＝［ｘdi，ｙdi］Tに対して、
▲１▼基準画像Ｉo上の対応する点ｎo＝［ｘo，ｙo］Tを、式（５）を用いて算出する。
▲２▼撮像画像Ｉd及び基準画像Ｉoの対応する画素間の輝度誤差ｅiと輝度勾配（∂Ｉo／∂ｘo，∂Ｉo／∂ｙo）を計算する。
▲３▼未知パラメータｍkの各々に関する偏微分を、式（７）に従って算出する。
▲４▼α及びβを、式（８）に従って計算する。
（処理２）
式（９）に示したシステム方程式を解き、未知パラメータｍkの各々をΔｍkだけ更新する（但し、ｋ＝１，２，…，１２）。
（処理３）
式（６）に示した輝度誤差の２乗和が増加した場合、パラメータλを１０倍して、（処理２）に戻る。増加しなかった場合は、λを１／１０倍して、（処理１）に戻る。
【０１０６】
以上の処理により、各歪みパラメータの推定を行うことができる。前述したように、ステップＳ３０において各画像Ｉo及びＩd間で輝度補正を前処理として行うことにより、パラメータ推定を効率化することができる。何故ならば、輝度補正を行うことで、画像合わせ込みの際に、輝度誤差の収束や局所解の回避などの効果が期待されるからである。
【０１０７】
輝度補正方法の一例を、図５を参照しながら以下に説明しておく。但し、図示の通り、白黒２値の市松模様からなるキャリブレーション・パターンを用いるものとし、また、基準画像Ｉoと撮像画像Ｉdに関して４点以上の対応点が与えられているものとする。画像間の対応関係を記述する初期射影変換行列Ｈ0は、その自由度が８であることから、４点以上の対応関係により、全ての成分を算出することができる（但し、この段階では、歪みパラメータを考慮していない）。
【０１０８】
まず、基準画像Ｉo上の各図形パターンの中心位置を設定する。基準画像Ｉo中に含まれるキャリブレーション・パターンはシステム１０内の計算処理により生成されたパターンであることから、周知の画像処理技術を適用することで中心位置の設定を容易に実現できる点を理解されたい。図５（ａ）の各図形パターン上に描かれた十字の交差点が設定された中心位置を表すものとする。
【０１０９】
次いで、初期射影変換行列Ｈ0を用いて、基準画像Ｉo上の各設定点ｎoに対応する撮像画像上の点ｎdを算出する。そして、基準画像Ｉoにおける設定点が属する図形の輝度値を点ｎdの輝度値で置き換える。あるいは、単純に輝度値を置き換えるのでなく、撮像画像Ｉdについても予め各図形パターンごとにラベル付けをし、各輝度値の平均値を用いてもよい。
【０１１０】
これまでは、単一のカメラ１７Ａについての歪みパラメータ推定について説明してきた。以下では、カメラ１７Ａ及び１７Ｂからなるステレオ・ペアに対して上記の歪みパラメータ推定方法を適用する場合について説明することにする。
【０１１１】
図６には、ステレオ・ペアを構成する基準カメラ１７Ａと参照カメラ１７Ｂの各々が、白黒２値の市松模様状のテクスチャ付き平面を撮像する様子を示している。基準カメラ１７Ａと参照カメラ１７Ｂの位置関係は固定されているものとする。
【０１１２】
図７には、ステレオ・ペアが撮像する様子を上面から眺望した様子を示している。このステレオ空間上には、撮像平面の距離を計測する原点位置があるのものとする。撮像平面を原点に対する距離Ｚ0に設置した場合、基準カメラ１７Ａの視線と撮像平面との交点Ｐ0は、基準カメラ１７Ａの撮像画像ＩA上では点ｎbとして観察されるが、参照カメラ１７Ｂの撮像画像ＩB上では点ｎd0として観察される。また、撮像平面を距離Ｚ1に設置した場合、基準カメラ１７Ａの視線と撮像平面との交点Ｐ1は、基準カメラ１７Ａの撮像画像ＩA上では同一の点ｎbとして観察されるが、参照カメラ１７Ｂの撮像画像ＩB上では他の点ｎd1として観察される。
【０１１３】
撮像画像ＩAとＩBとを重ね合わせたときに輝度の誤差が最小となるような射影変換行列Ｈtrans0を、画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）によって計算することができる。同様にして、撮像画像ＩAとＩBとを重ね合わせたときに輝度の誤差が最小となるような射影変換行列Ｈtrans1を、画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）によって計算することができる。
【０１１４】
射影変換行列Ｈtrans0を適用することにより、距離Ｚ0における平面上の任意の点Ｐ0についての撮像画像ＩA上の観察点ｎbに対する撮像画像ＩB上の対応点ｎd0を計算することができる。また、射影変換行列Ｈtrans1を適用することにより、距離Ｚ1における平面上の任意の点Ｐ1についての撮像画像ＩA上の観察点ｎbに対する撮像画像ＩB上の対応点ｎd1を計算することができる。
【０１１５】
基準カメラ１７Ａの撮像画像ＩAの観察点ｎbは、撮像平面が距離Ｚ0及び距離Ｚ1の各々にある場合、参照カメラ１７Ｂの撮像画像ＩB上ではそれぞれ点ｎd0及び点ｎd1として観察される。この２点ｎd0及び点ｎd1を結ぶ直線がエピポーラ・ラインとなる。さらに別の距離にある平面を撮像して、このエピポーラ・ライン上の距離方向の補間を行う技術については、例えば、本出願人に既に譲渡されている特願平９−２０７９４８号及び特願平９−２０７９５１号の各明細書に開示されている。
【０１１６】
ステレオ法による距離測定を実現するためには、その前提として、基準カメラ１７Ａと参照カメラ１７Ｂ間の射影変換行列Ｈtrans0及びＨtrans1を求める必要がある。これら射影変換行列は、前述の歪みパラメータ推定を適用して求めることができる。図８には、この場合の処理手順をフローチャートの形式で示している。以下、このフローチャートを参照しながら説明する。
【０１１７】
まず、演算処理部１１では、幾何形状の定義に基づいてキャリブレーション・パターンを合成して、この合成画像を基準画像Ｉoとしてフレーム・メモリ１４に格納する（ステップＳ５１）。
【０１１８】
次いで、パターンが形成された平面を、基準カメラ１７Ａ及び参照カメラ１７Ｂによって撮像する。各カメラ１７Ａ及び１７Ｂが撮像した濃淡画像ＩA及びＩBは、フレーム・メモリ１９に一時格納される（ステップＳ５２）。平面上に形成されたパターンは、キャリブレーションに用いるキャリブレーション・パターンであり、その幾何形状は基準画像Ｉoの定義とは一義的である。また、パターンは、平面上に印刷などにより形成される必要はなく、例えば投光器２２を用いて、フレーム・メモリ１４上の基準画像を投影したものであってもよい。
【０１１９】
キャリブレーション・パターンは、幾何形状が既知であれば特にパターンの形状や寸法や色彩は限定されない。システム１０内での合成処理が容易な、単純な基本図形の組み合わせであれば充分である（前述）。ここでは、図９に示すような白黒２値の市松模様のテクスチャ付き平面が用いられているものとする。このテクスチャ付き平面と各カメラ１７Ａ及び１７Ｂまでの距離は限定されない。
【０１２０】
次いで、基準画像Ｉoと撮像画像ＩAとの対応関係の初期値を設定する（ステップＳ５３Ａ）。この対応関係は、射影変換行列ＨAによって記述される。但し、この時点では、カメラ１７Ａのレンズ歪みについては考慮せず、２枚の画像間の対応を設定するだけでよい。初期値としては、４点以上の対応点の設定が可能であればよく、設定方法を特に限定する必要はない。
【０１２１】
次いで、画像合わせ込み処理を効率的且つ高精度に行うために、撮像画像ＩAの輝度値を用いて基準画像Ｉoの輝度値を補正する（ステップＳ５４Ａ）。
【０１２２】
次いで、Ｌ−Ｍ法を用いて画像合わせ込み（Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）を行い、射影変換行列ＨAと歪みパラメータκA，ＣxA，ＣyAを算出する（ステップＳ５５Ａ）。但し、κAはカメラ１７Ａのレンズ歪み係数であり、点（ＣxA，ＣyA）はレンズの歪み中心である。図９には、画像合わせ込みを行う様子を図解している。Ｌ−Ｍ法の手順の詳細については上述を参照されたい。
【０１２３】
また、他方の参照カメラ１７Ｂの撮像画像ＩBに対しても、同様に、基準画像Ｉoとの対応関係の初期値の設定（ステップＳ５３Ｂ）、撮像画像ＩBの輝度値を用いた基準画像Ｉoの輝度値の補正（ステップＳ５４Ｂ）、及び、射影変換行列ＨBと歪みパラメータκB，ＣxB，ＣyBの算出（ステップＳ５５Ｂ）を行う。
【０１２４】
基準カメラ１７Ａの撮像画像ＩAから参照カメラの撮像画像ＩBへの射影変換行列Ｈtransは、ＨA×Ｈ-1Bという形で表すことができる（ステップＳ５７）。この射影変換処理の前後において、歪みパラメータκA，ＣxA，ＣyAを用いて撮像画像ＩAの歪みを除去する（ステップＳ５６）とともに、歪みパラメータκB，ＣxB，ＣyBを用いて撮像画像ＩB相当の歪みを付加する（ステップＳ５７）。
【０１２５】
なお、画像合わせ込みを行う際に、それぞれの画像の座標系を一致させる必要がある（すなわち、カメラ１７Ａ及び１７Ｂの各々の撮像画像ＩA，ＩBにおいて、対応する正方形が基準画像Ｉoの同じ正方形と合わせ込まれる必要がある）。そこで、キャリブレーション・パターン中に１箇所（又は数箇所）に特別なパターンを設けて、各画像間の整合をとるようにしてもよい。例えば、図９に示すように、市松模様のテクスチャにおいて黒い正方形の１つを取り除くようにしてもよい。
【０１２６】
［追補］
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０１２７】
例えば、本実施例では、撮像画像から基準画像への変換を行なうことを基にして説明しているが、これには限定されず、逆方向での変換であっても、同様に本発明に係るパラメータ算出を行うことができる。
【０１２８】
すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１２９】
【発明の効果】
以上詳記したように、本発明によれば、対象物を撮像して電子的な画像データを出力するタイプのカメラに対して、安定且つ高精度にパラメータ推定を行うことができる、優れたカメラ・キャリブレーション方法及び装置を提供することができる。
【０１３０】
また、本発明によれば、１枚の撮像画像を基に安定且つ高精度にパラメータ推定を行うことができる、優れたカメラ・キャリブレーション方法及び装置を提供することができる。
【０１３１】
本発明では、実際にカメラで撮像した撮像画像に対して、計算機内で合成したパターンすなわち基準画像を合わせ込むことによって、カメラのパラメータ算出すなわちキャリブレーションを行う。すなわち、両画像間の輝度誤差を最小化することで、パラメータ算出を行うことができる。
【０１３２】
本発明によれば、局所的な特徴点を用いずに処理を行うことができるので、特徴点抽出の誤差などによるパラメータ推定への影響がなく、また、カメラで撮像した画像のノイズの影響を抑制することができる。さらに、１枚の撮像画像を用いて安定したパラメータ算出を行うことができる。
【０１３３】
また、キャリブレーションに用いるパターンは、計算機内で生成が可能な単純な図形の組み合わせ（例えば、白黒２色の市松模様、２値の３角形の組み合わせなど）であれば十分である。かかるパターンを撮像する際は、合成したパターンと同一のパターンを持つ平面を用意する必要があるが、カメラまでの距離やパターンの大きさを同一にする必要はないので、キャリブレーションを行うための制約が少なくて済む。また、スライドなどを用いて投影したパターンを無地の平面に投影した画像を撮像して、キャリブレーションを行うこともできる。
【０１３４】
また、キャリブレーションに既知すなわち幾何形状が定義済みのパターンを用いるため、例えば輝度補正など前処理のアルゴリズムを構築し易い。逆に、前処理のあるアルゴリズムを構築し易いようなパターンを利用してキャリブレーションを行うこともできる。
【０１３５】
また、歪みパラメータの算出と同時に、合成画像と撮像画像の対応を示す射影変換行列を算出することができるので、ステレオ法のためのキャリブレーションに対しても適用可能である。すなわち、カメラが撮像した２枚の撮像画像に関して、一方の撮像画像と基準画像とを対応付ける射影変換と、他方の撮像画像と基準画像とを対応付ける射影変換の逆変換とを用いて座標変換することによって、２枚の撮像画像間の対応関係を求めることができる訳である。
【０１３６】
例えば、本出願人に既に譲渡されている特願平９−２０７９４８号や特願平９−２０７９５１号の各明細書は、ステレオ法に基づく画像処理装置や画像処理方法について開示しているが、これらの画像処理装置等に対して本発明を適用することも可能である。
【図面の簡単な説明】
【図１】本発明の実施に供されるカメラ・キャリブレーション・システム１０のハードウェア構成を模式的に示した図である。
【図２】本発明に係るカメラ・キャリブレーションに用いられるキャリブレーション・パターンを例示したものである。
【図３】歪みパラメータ推定の処理手順を概略的に示したフローチャートである。
【図４】基準画像Ｉoと撮像画像Ｉdとの対応関係を図解したものである。
【図５】基準画像Ｉo及び撮像画像Ｉd間での輝度補正の処理手順を図解したものである。
【図６】ステレオ・ペアを構成する基準カメラ１７Ａと参照カメラ１７Ｂの各々が、白黒２値の市松模様状のテクスチャ付き平面を撮像する様子を示した図である。
【図７】ステレオ・ペアを構成する基準カメラ１７Ａと参照カメラ１７Ｂの各々が平面を撮像する様子を、上面から眺望した図である。
【図８】ステレオ・ペアに対して歪みパラメータ推定の処理手順を概略的に示したフローチャートである。
【図９】基準カメラ１７Ａ及び参照カメラ１７Ｂの撮像画像ＩA及びＩBを、合成された基準画像Ｉoに合わせ込む様子を示した図である。
【図１０】撮像対象に対する基準カメラと参照カメラの配置を模式的に示した図である。
【図１１】略正方形のパターンを基準カメラと参照カメラの各々によって撮像した画像を示した図である。
【図１２】エピポーラ・ラインと、参照画像中における観察点ｎdの様子を図解したものでる。
【符号の説明】
１０…カメラ・キャリブレーション・システム
１１…演算処理部、１２…ＲＡＭ、１３…ＲＯＭ
１４…フレーム・メモリ（基準画像用）
１５…入力部、１６…表示部
１７Ａ，１７Ｂ…カメラ
１８…カメラ・インターフェース
１９…フレーム・メモリ（撮像画像用）
２０…外部記憶装置（ＨＤＤ）
２１…メディア・ドライブ
２２…投光器、２３…投光器インターフェース
２４…ネットワーク・インターフェース
【図１】
0004453119.tif 000012
【図２】
0004453119.tif 000013
【図３】
0004453119.tif 000014
【図４】
0004453119.tif 000015
【図５】
0004453119.tif 000016
【図６】
0004453119.tif 000017
【図７】
0004453119.tif 000018
【図８】
0004453119.tif 000019
【図９】
0004453119.tif 000020
【図１０】
0004453119.tif 000021
【図１１】
0004453119.tif 000022
【図１２】
0004453119.tif 000023