(57)【要約】【課題】正確なパラメータを容易に得ることができるキャリブレーション装置及び方法を提供する。【解決手段】既知物体１２をそれぞれ異なる視点からカメラ１３１〜１３ｎで撮像し、その画像を記憶部１４に記憶する。評価部１５は、記憶部１４に記憶された画像から推定される既知物体１２の３次元空間内の位置を評価する。これにより、取得すべき既知物体１２の３次元空間内の位置を知ることができるため、正確なパラメータを容易に得ることができる。【選択図】図４
2007033087.tif 000002
【特許請求の範囲】
【請求項１】
既知物体をそれぞれ異なる視点から撮像する撮像手段と、
上記撮像手段により撮像された画像を記憶する記憶手段と、
上記記憶手段に記憶された画像から推定される上記既知物体の３次元空間内の位置を評価する評価手段と、
上記評価手段における評価の高い位置に配置された上記既知物体に基づいて上記撮像手段の特性を示すパラメータを校正する校正手段と
を備えることを特徴とするキャリブレーション装置。
【請求項２】
上記評価手段における評価の高い位置に上記既知物体を配置するように指示する指示手段を備え、
上記校正手段は、上記指示手段の指示により配置された上記既知物体に基づいて上記パラメータを校正することを特徴とする請求項１記載のキャリブレーション装置。
【請求項３】
上記指示手段は、上記撮像手段の撮像領域が重畳する画像領域内における最大の長方形の頂点に上記既知物体を配置するように指示することを特徴とする請求項２記載のキャリブレーション装置。
【請求項４】
上記校正手段は、上記評価手段により推定された上記既知物体の３次元空間内の位置の組み合わせによる各評価値において、最も評価値の高い組み合わせによって上記パラメータを校正することを特徴とする請求項１記載のキャリブレーション装置。
【請求項５】
上記評価手段は、上記評価手段により推定された上記既知物体の３次元空間内の位置における分散に基づいて上記撮像手段の特性を評価することを特徴とする請求項１記載のキャリブレーション装置。
【請求項６】
上記既知物体は平面を有し、
上記評価手段は、上記記憶手段に記憶された画像から上記平面を検出し、３次元空間内での平面の姿勢を推定することにより上記撮像手段の特性を評価することを特徴とする請求項１記載のキャリブレーション装置。
【請求項７】
既知物体を撮像手段によりそれぞれ異なる視点から撮像する撮像工程と、
上記撮像工程により撮像された画像を記憶手段に記憶する記憶工程と、
上記記憶手段に記憶された画像から推定される上記既知物体の３次元空間内の位置を評価する評価工程と、
上記評価工程における評価の高い位置に配置された上記既知物体に基づいて上記撮像手段の特性を示すパラメータを校正する校正工程と
を有することを特徴とするキャリブレーション方法。
【請求項８】
上記評価工程における評価の高い位置に上記既知物体を配置するように指示する指示工程を備え、
上記校正工程では、上記指示工程の指示により配置された上記既知物体に基づいて上記パラメータを校正することを特徴とする請求項７記載のキャリブレーション方法。
【請求項９】
上記指示工程では、上記撮像手段の撮像領域が重畳する画像領域内における最大の長方形の頂点に上記既知物体の配置を指示することを特徴とする請求項７記載のキャリブレーション方法。
【請求項１０】
上記算工程では、上記評価工程により推定された上記既知物体の３次元空間内の位置の組み合わせによる各評価値において、最も評価値の高い組み合わせによって上記パラメータを校正することを特徴とする請求項７記載のキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、距離画像計測(奥行計測)を実現するためにステレオカメラに必要なパラメータを校正するキャリブレーション装置及び方法に関するものである。
【背景技術】
【０００２】
従来、異なる位置から撮像される画像の視差を利用して立体感のある画像を作り出す技術が知られている。このような画像の視差を利用するステレオビジョンシステムでは、複数のカメラが備えられており、ステレオカメラに必要なカメラ間の位置・姿勢などのパラメータがあらかじめ校正されている。カメラの位置・姿勢などが時間の経過とともに変化してしまう場合が多く、位置・姿勢等が変化する度にパラメータ校正が必要となっている。しかし、技術に精通していない人が、新たにパラメータを生成することは困難であった。
【０００３】
そこで、本件出願人は、既知パターンが描かれた平面を各カメラで空間的な位置拘束のない３以上の視点で撮像した画像を用いて新たにパラメータを算出するキャリブレーション方法を提案している（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開２００２−２７５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載された技術は、平面上の既知パターンを異なる方向から撮像することによりキャリブレーションを行うものであるが、どの方向から撮像すれば正確なキャリブレーションが行われるかを直感的に把握することが非常に困難なため、正確なパラメータを得ることができない虞があった。
【０００６】
本発明は、上記問題点を解消するためになされたものであり、正確なパラメータを容易に得ることができるキャリブレーション装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明に係るキャリブレーション装置は、既知物体をそれぞれ異なる視点から撮像する撮像手段と、上記撮像手段により撮像された画像を記憶する記憶手段と、上記記憶手段に記憶された画像から推定される上記既知物体の３次元空間内の位置を評価する評価手段と、上記評価手段における評価の高い位置に配置された上記既知物体に基づいて上記撮像手段の特性を示すパラメータを校正する校正手段とを備えることを特徴としている。
【０００８】
また、本発明に係るキャリブレーション方法は、既知物体を撮像手段によりそれぞれ異なる視点から撮像する撮像工程と、上記撮像工程により撮像された画像を記憶手段に記憶する記憶工程と、上記記憶手段に記憶された画像から推定される上記既知物体の３次元空間内の位置を評価する評価工程と、上記評価工程における評価の高い位置に配置された上記既知物体に基づいて上記撮像手段の特性を示すパラメータを校正する校正工程とを有することを特徴としている。
【発明の効果】
【０００９】
本発明によれば、既知物体をそれぞれ異なる視点から撮像し、既知物体の３次元空間内の位置を推定し、撮像手段の特性を評価することにより、取得すべき既知物体の３次元空間内の位置を知ることができるため、正確なパラメータを容易に得ることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
先ず、ステレオビジョンシステムにおけるパラメータについて、図１及び図２を参照して説明する。なお、ここでは簡単のため、２つの視点、すなわち２つのカメラのみを用いてステレオ法を行うこととする。ステレオ法は、所定の位置関係を持つ複数の視点（投影中心）から撮像した画像を用いて、撮像画像中の各点と投影中心との距離を、いわゆる「三角測量」の原理により求めることである。
【００１２】
図１は、撮像平面に対する基準カメラＢと検出カメラＤの配置を模式的に示すものであり、また、図２は、略正方形のパターンを基準カメラＢと検出カメラＤの各々によって撮像した場合の基準画像と検出画像を模式的に示すものである。２つのカメラのうち一方は基準カメラＢとして使用され、正面と正対した位置から対象物を撮像して、基準画像を出力する。また、他方のカメラは検出カメラＤとして使用され、斜め方向から対象物を撮像して、検出画像を出力する。
【００１３】
図１に示すように、基準カメラＢの撮像画像では、撮像対象となる平面上の点Ｍと基準カメラＢの投影中心Ｃｂとを結ぶ直線と基準カメラの投影スクリーンＳｂとの交点ｍに点Ｍが観察される。点Ｍと基準カメラＢの投影中心Ｃｂとを結ぶ直線は、基準カメラＢの視線である。また、検出カメラＤの撮像画像では、点Ｍと検出カメラの投影中心Ｃｄとを結ぶ直線と検出カメラＤの投影スクリーンＳｄとの交点ｍ’に点Ｍが観察される。点Ｍと検出カメラＤの投影中心Ｃｄとを結ぶ直線は、検出カメラＤの視線である。ここで、基準カメラＢの視線は、検出カメラＤの投影スクリーン上では直線として観察される。なお、この直線を、以下「エピポーラ・ライン」と呼ぶ。
【００１４】
また、図１及び図２に示す例では、略正方形のパターンに正対する基準カメラＢで撮像した撮像画像は正方形となるのに対し、このパターンを斜視する検出カメラＤで撮像した画像は、視点からの距離が長い辺が縮小される結果として、台形状として現れる。これは、同じ大きさの物体であっても、カメラの投影中心Ｃに近づくにつれて大きな像として投影され、逆に、投影中心Ｃから遠ざかるにつれ小さく投影されるという、中心投影の基本的性質によるものである。
【００１５】
上述したように、撮像対象が平面である場合、検出カメラＤの撮像画像は、基準カメラＢの撮像画像を射影変換した画像である。すなわち、基準カメラＢの撮像画像中の点ｍ（ｘb，ｙb）と、これに対応する検出カメラＤの撮像画像中の点ｍ’（ｘd，ｙd）の間には、（１）式が成立する。但し、同式中のＦは３行３列の弱校正行列（Fundamental Matrix）、ｍ、ｍ'は同次ベクトルを示す。
【００１６】
【数１】
2007033087.tif 000003
【００１７】
弱校正行列Ｆは、カメラの内部パラメータ及び外部パラメータ、平面の方程式を暗黙的に含んだ行列であり、また、スケール因子に自由度が残るので、８自由度を有する。なお、金谷健一著の「画像理解」（森北出版，１９９０）には、基準画像と参照画像間において、射影変換により互いの対応点を求めることができるということが記載されている。
【００１８】
基準カメラＢの視線は、検出カメラＤの投影スクリーン上ではエピポーラ・ラインと呼ばれる直線として現れる（前述及び図１を参照のこと）。基準カメラＢの視線上に存在する点Ｍは、点Ｍの奥行き、すなわち基準カメラＢとの距離の大小に拘らず、基準カメラＢの投影スクリーン上では同じ観察点ｍ上に現れる。これに対し、検出カメラＤの投影スクリーン上における点Ｍの観察点ｍ’は、エピポーラ・ライン上で基準カメラＢと観察点Ｍとの距離の大小に応じた位置に現れる。
【００１９】
図３は、エピポーラ・ラインと、検出カメラＤの投影スクリーン上における観察点ｍ’の様子を図解するものである。この図に示すように、点Ｍの位置がＭ１，Ｍ２，Ｍ３へと変化するに従って、参照画像中の観察点はｍ'１，ｍ'２，ｍ'３へとシフトする。つまり、エピポーラ・ライン上の位置が観察点Ｍの奥行きに相当する。
【００２０】
以上の幾何光学的性質を利用して、基準カメラＢの観察点ｍに対応する観察点ｍ’をエピポーラ・ライン上で探索することにより、基準カメラＢから点Ｐまでの距離を同定することができる。
【００２１】
このように複数画像から物体の３次元空間位置を推定するためには、カメラが持つ撮像光学系が理論と完全に一致する特性を持ち、画像に歪みがないものである必要がある。そのため、実際に得られる画像に対して所定の補正を施さなければならない。例えば、カメラのレンズは一般に歪みパラメータを有し、観察点は理論上の点から変位した位置に結像されるため、カメラ特有のパラメータを算出し、射影変換に際してこのパラメータに従った画像データの補正を行わなければ、正面画像から正確な射影画像を得ることができない。
【００２２】
また、カメラが持つパラメータは、レンズの歪みパラメータの他、カメラの焦点、カメラレンズ等のカメラ特性を表す内部パラメータ、カメラの３次元空間位置を示す外部パラメータに区分される。これらのパラメータを算出することを、一般に、「キャリブレーション」と呼ぶ。
【００２３】
続いて、本実施の形態におけるキャリブレーション装置について、図４を参照して説明する。キャリブレーション装置１０は、ユーザ１１により移動される既知物体１２を互いに異なる視点から撮像する複数のカメラ１３１〜１３ｎと、複数のカメラ１３１〜１３ｎにより撮像された画像を記憶する記憶部１４と、記憶部１４に記憶された画像から推定した既知物体１２の３次元空間内の位置を評価する評価部１５と、評価部１５の評価結果に応じてユーザ１１に対し既知物体１２の移動の指示を出力する出力部１６と、移動された既知物体１２に応じて各カメラ１３１〜１３ｎの特性を示すパラメータを算出する算出部１７とを備えている。
【００２４】
カメラ１３１〜１３ｎは、それぞれ異なる位置・姿勢で設置されており、既知物体１２を撮像する。各カメラ１３は、図５に示すように、光学中心を原点としてＸ軸、Ｙ軸、Ｚ軸のように設定し評価を行う。また、本実施の形態では、図６に示すような既知物体１２を用いてキャリブレーションを行うこととする。また、キャリブレーション装置１０は、前回キャリブレーションしたパラメータを持っているものとし、カメラ１３の位置・姿勢が経時により少し変化したものとする。
【００２５】
記憶部１４は、カメラ１３１〜１３ｎにより撮像された画像のデータを記憶する。また、評価部１５により推定された既知物体１２の位置情報を記憶する。
【００２６】
評価部１５は、記憶部１４に記憶された画像データから３次元空間内の既知物体１２の位置を推定する。カメラ１３の光学中心に全ての光線は、図７に示すように集束し、画面内の既知物体１２の像の面積と、光軸方向から見た３次元空間内の既知物体の大きさとは比例することから、カメラ１３からの奥行き方向（Ｚ軸方向)の距離は、画面内の既知物体１２の像の面積から推定することができる。つまり、既知物体１２を遠くの位置Ａに置いた場合と、位置Ａより近い位置Ｂに配置した場合とでは、位置Ａに配置したときの既知物体１２の像の方が位置Ｂに配置したときの既知物体１２の像より小さくなる。
【００２７】
また、図８に示すように、既知物体１２が位置すると推定した奥行きのＸ軸Ｙ軸方向に平行な面ａを配置し、光学中心から既知物体像を通る直線を引くことにより、その直線と像平面との交点を３次元空間における既知物体１２のＸＹ平面上の位置と推定することができる。
【００２８】
また、評価部１５は、推定した既知物体１２のＸＹ平面の位置及びＺ軸方向の位置を評価する。キャリブレーションは、複数回撮像した３次元空間内の既知物体１２の３次元空間内での位置のばらつきによって精度が変化するため、３次元空間内の既知物体１２のばらつきを、像平面に対して平行の成分と、像平面に対して奥行き方向の成分とに分けて算出する。つまり、カメラ１３間のキャリブレーションの精度を保つためには、既知物体１２を配置した位置が各カメラ１３１〜１３ｎから見てある程度のばらつきを持たなければならない。ある程度のばらつきを持つことにより、誤差の少ないパラメータを得ることができ、精度の高いキャリブレーションを行うことができる。
【００２９】
カメラ１３の像平面に対して平行の成分に関しての評価値ＥＸＹは（２）式により、
【００３０】
【数２】
2007033087.tif 000004
【００３１】
但し、ＣｏｒｒＸＹは、データのＸ軸、Ｙ軸の各成分同士の相関値、ＶＸはデータのＸ軸方向成分の分散、ＶＹはデータのＹ軸方向成分の分散を示す。
【００３２】
また、像平面に対して奥行き方向の成分に関しての評価値ＥＺは（３）式により表される。
【００３３】
【数３】
2007033087.tif 000005
【００３４】
但し、ＶＺはデータのＺ軸(奥行き)方向成分の分散を示す。
【００３５】
このようにＸＹ軸方向の分散に基づく評価値とＺ軸方向の分散に基づく評価値とを分けして計算することにより、キャリブレーション精度を向上させることができる。そして、カメラ毎に算出された評価値ＥＸＹ、ＥＶが所定の閾値以上であれば、キャリブレーションの精度を保つことができる。この精度の範囲は、ユーザによって任意に設定可能である。但し、評価値は、設定された精度、その精度が要求される３次元空間の範囲及びカメラ内部パラメータに依存し、精度が高い場合やその精度が要求される３次元空間の範囲が大きい場合は、評価値の閾値は高くなる。
【００３６】
また、後述するが、評価部１５は、算出された評価値と前回キャリブレーションしたパラメータに基づいて３次元空間内に配置すべき既知物体１２の位置を求める。
【００３７】
出力部１６は、評価部１５により求められた既知物体１２を配置すべき３次元空間内の位置をユーザ１１に指示する。例えば、図９に示すように既知物体１２の輪郭を画面に表示し、ユーザ１１に既知物体１２をその輪郭位置に移動するようにガイドする。この輪郭の位置及び大きさは、評価部１５により求められた既知物体１２を配置すべき３次元空間内の位置に基づいて算出することができる。
【００３８】
算出部１７は、所定位置に移動された既知物体１２に基づいてカメラが持つパラメータを算出し、前回のパラメータを校正する。この算出されたパラメータは、記憶部１４に記憶されるとともにステレオビジョンシステムにおける、例えば、視差画像生成部（図示せず）などに出力される。
【００３９】
このような構成により、ユーザ１１は出力部１６からの指示に応じて既知物体１２を移動させるだけで、ステレオビジョンシステムにおけるカメラ１３のキャリブレーションを行うことができる。
【００４０】
続いて、キャリブレーション装置１０の動作について詳細に説明する。なお、ここでは、記憶部１４に前回のパラメータが記憶され、カメラの位置・姿勢が時間経過とともに少しずつ変化しているものとする。すなわち、外部パラメータが若干変わったものとし、カメラ１３の焦点、カメラレンズ特性等の内部パラメータは変わっていない。また、基準となる左カメラと右カメラの２つのカメラを備えるステレオビジョンシステムであることとし、カメラの３次元座標系のＸＹ平面は、像平面と平行であることとする。
【００４１】
図１０は、キャリブレーション装置１０の動作の例を示すフローチャートである。まず、ステップＳ１１において、ステレオビジョンの精度や精度を保つ範囲の初期設定が入力される。すなわち、ステレオビジョンにおいて距離画像を生成するときのエピポーラ拘束に関する精度やその精度を保つ範囲の奥行きが図示しない入力装置により入力される。ここで、精度は、カメラ画像の解像度、画角、カメラ間の距離等に依存するもので、例えば、エピポーラ線と対応点との誤差が数画素以内と設定されるものである。また、精度を保つ範囲は、左右のカメラの撮影範囲が重畳する３次元空間である。
【００４２】
ステップＳ１２において、評価部１５は、記憶部１４から前回ステレオ画像を生成した際のパラメータを読み出す。
【００４３】
評価部１５は、記憶部１４から読み出したパラメータから、ある平面(奥行き)での、左右の画像が共通して写る箇所を求める。すなわち、基準カメラである左カメラの撮像範囲と検出カメラである右カメラの撮像範囲が重畳する範囲を算出する。
【００４４】
左カメラの射影変換行列Ｐleft及び右カメラの射影変換行列Ｐrightは、それぞれ（４）式及び（５）式により求められ、左カメラの像平面の画素位置（ｍIleft,ｍJleft）に対応する右カメラの画素位置（ｍIright，ｍJright）の関係は、（６）〜（８）式となる。
【００４５】
【数４】
2007033087.tif 000006
【００４６】
ここで、行列Ａleft及び行列Ａrightは、それぞれ左カメラ及び右カメラの内部パラメータである。また、行列[Ｒ｜ｔ]は外部パラメータであり、Ｒ及びｔはそれぞれ画像の回転及び並進行列を表す。また、Ｚ3Dは左カメラを基準とした３次元空間内の奥行きを示し、αはスケール因子である。
【００４７】
次に、ステップＳ１３において、ステップＳ１１にて入力された精度とその精度を保つ範囲に基づいて、上記（４）〜（８）式により算出した左右カメラの重畳範囲内に既知物体１２を配置する位置を算出する。ここで、図１１に示すようにステップＳ１１にて設定された精度を保つ範囲の奥行きが、Ｚ０とＺ１であることとする（Ｚ０＜Ｚ１）。なお、Ｚ０、Ｚ１は、左右カメラの撮影範囲が重畳した範囲内にあって、左右カメラの撮影範囲が重畳する範囲は、Ｚ０、Ｚ１が大きいほど、つまり、カメラに対して奥に行けば行くほど広くなる。また、精度が十分保てない場合は、精度を保つ範囲の奥行きをさらに設定すればよい。
【００４８】
奥行Ｚ０及び奥行Ｚ１における各平面では、同じ回数、既知物体１２を撮像することから、取得する既知物体１２の位置の奥行きの平均は(Ｚ０＋Ｚ１）／２となる。そのため、評価値はＺ０とＺ１の間隔で決まる。本例では、Ｚ０を固定して、評価値ＥＺを満たす奥行Ｚ１を（９）式により求める。
【００４９】
【数５】
2007033087.tif 000007
【００５０】
ここで、ＴｈＺは、前回ステレオ画像を生成した際のパラメータによる画素データのばらつき誤差に基づく値である。
【００５１】
上記（９）式より、評価値を満たす奥行Ｚ１のＸＹ平面毎に既知物体１２を配置する位置を求める。すなわち、上記（２）式に基づいて、Ｘ軸・Ｙ軸各軸のばらつきが大きく、さらに画素データのＸ軸とＹ軸との相関値が小さくなる位置を求め、図１２のように評価値ＥＸＹが大きくなるように既知物体１２の配置位置を求める。さらに、図１３に示すように、左右カメラの撮影領域が重畳する領域内で面積が最大の長方形の４頂点に配置することが好ましい。この場合、奥行きに対する既知物体１２の大きさを配慮して長方形を配置する。
【００５２】
奥行Ｚ０での既知物体１２の情報が得られた後、奥行Ｚ１での既知物体１２の配置する位置を求める。ここで、評価値が十分大きい場合は、長方形の大きさが評価値の閾値を満たすようにすればよい。これにより、奥行Ｚ０と同様に既知物体１２の配置位置を求めるよりも、長方形が大きくなることがないため、既知物体１２を遠くに配置する手間を省くことができる。
【００５３】
まず、奥行Ｚ０で求めた既知物体１２の配置すべき位置のＸ軸、Ｙ軸方向の分散を求める。次に、計算を簡単にするために、ユーザに配置を指示する奥行Ｚ０での４つの既知物体１２の位置の平均(面積最大の長方形の中心)Ａｃを、奥行Ｚ１でガイドする既知物体１２の位置の平均と一致するように求める。すなわち、図１４に示すように、既知物体１２の平均位置Ａｃでの既知物体１２のＸ軸・Ｙ軸方向の分散から奥行Ｚ１における既知物体１２の配置位置を求める。そして、Ａｃを中心とし、左右カメラの撮像領域の重畳箇所の範囲内で面積が最大で、各辺がＸ軸・Ｙ軸に平行となる長方形を求め、長方形の１頂点をＡｂ’とする。ＡｃからＡｂ’に引いたベクトルを単位ベクトルとすると、（１０）式となる。
【００５４】
【数６】
2007033087.tif 000008
【００５５】
長方形は、Ａｃを中心にＸ軸・Ｙ軸方向に対して対称であるので、Ａｃからみた各頂点のばらつきは同じである。したがって、４頂点のＸ軸・Ｙ軸方向の分散を考えたとき、ある１頂点と長方形の中心との距離から偏差平方和を求め、それを４倍することで、長方形の各点に既知物体１２を配置したときのＸ軸・Ｙ軸方向の偏差平方和が求まる。つまり、奥行Ｚ１で、長方形に既知物体１２を配置したときの評価値は、以下の式となる。
【００５６】
【数７】
2007033087.tif 000009
【００５７】
ただし、ＳＸＸ、ＳＹＹは、奥行Ｚ０で得られた既知物体１２の位置のＸ軸・Ｙ軸方向のばらつきを示す。なお、既知物体１２を配置すべき箇所は長方形の４頂点であるから、相関値は０であることとした。
【００５８】
上記（１１）〜（１３）式に、評価値の閾値を入力しαを求めると、奥行Ｚ１で必要な既知物体１２の範囲が求まる。ただし、αが１以上の場合は、左右カメラの撮影領域の重畳箇所がないため、αの値によって左右カメラの撮影範囲が重畳する範囲内まで奥行Ｚ１広げればよい。なお、このとき、ばらつきが大きくなることから、奥行き方向の評価値は下がることはない。
【００５９】
ステップＳ１４では、ステップＳ１３にて求めた位置に既知物体１２を配置するようにユーザに対しガイドする。例えば、左右カメラの下にディスプレイを置き、図１５に示すように左カメラで撮影した映像に、左カメラから見た配置すべき既知物体１２の位置を表示する。画面内の位置によって、カメラの像平面のＸ軸・Ｙ軸方向の位置を指示し、枠の大きさから奥行き(Ｚ軸方向の位置)を指示する。
【００６０】
ステップＳ１５では、ガイドした位置に既知物体１２が配置されたか否かを判断する。ガイドした位置に既知物体１２が配置されるまで、評価部１５は、ステップ１４のガイドを行う。
【００６１】
ステップＳ１５において、ガイドした位置に既知物体１２が配置された場合、ステップＳ１６に進み、キャリブレーションを開始する。すなわち、所定位置に配置された既知物体１２に基づいてパラメータを算出し、前回のパラメータを校正する。キャリブレーションは、例えば、"Three-dimensional Computer Vision (A Geometric Overview)", Oliver Faugeras, The MIT Press (1993)に基づいて行うことができる。
【００６２】
このように、既知物体１２の３次元空間内の位置を推定してカメラ１３の特性を評価し、その評価結果に応じて既知物体１２を配置する位置を算出することにより、ユーザはその位置に既知物体１２を配置すれば、正確なパラメータを容易に得ることができる。
【００６３】
なお、ステップＳ１４において、ディスプレイを用いたガイドを行うこととしたが、図１６に示すように音声によりガイドを行ってもよい。例えば、音声の音域の高低により奥行き方向をガイドし、音声の強弱によりＸ軸・Ｙ軸方向の位置をガイドするようにしてもよい。つまり、既知物体１２が配置すべき奥行き方向の位置Ｚ０よりも遠い場合には低音の音声を出力し、位置Ｚ０よりも近い場合には高音の音声を出力する。また、既知物体１２が配置すべきＸ軸・Ｙ軸方向の位置から遠い場合には音声の出力を小さくし、配置すべきＸ軸・Ｙ軸方向の位置から近い場合には音声の出力を大きくする。そして、ユーザは、出力された音声の高低と強弱に基づいて既知物体１２を配置すべき位置に移動する。
【００６４】
また、図１７に示すように、既知物体１２を配置した際の画像内の各位置の評価値を求め、その評価値の高低を表示するようにしてもよい。これにより、ユーザは画像内のどの位置で既知物体１２を表示させれば、評価値が上がるかを知ることができる。
【００６５】
また、本発明によれば、カメラ１３の外部パラメータだけでなく、内部パラメータのキャリブレーションを行うこともできる。例えば、図１８に示すような、既知平面１８を用いることにより、キャリブレーション装置１は、平面を検出し、既知平面１８の４隅の位置関係を求め、既知平面１８の３次元空間内での姿勢を推定し、姿勢のばらつきに基づいてカメラ１３の特性を評価することができる。この推定した姿勢のばらつきが大きい場合には、キャリブレーションの精度を保つことができる。
【００６６】
内部パラメータの具体的なガイド方法について図１９を参照して説明する。キャリブレーション装置１０は、図１８に示すような既知平面１８を図１９に示すように３次元空間に配置した際の、既知平面１８と画像内の既知平面像１９とのＨｏｍｏｇｒａｐｈｙを求める。これは、「コンピュータビジョン-視覚の幾何学-」（佐藤淳著）に基づいて行うことができる。これによれば、既知平面１８と画像内にある既知平面像１９とのＨｏｍｏｇｒａｐｈｙＨは、式（１４）のように展開することができる。
【００６７】
【数８】
2007033087.tif 000010
【００６８】
但し、式（１４）における世界座標系のＸ軸・Ｙ軸は既知平面１８に平行であり、Ｚ軸は既知平面１８に垂直であるとする。また、ｍ~は画像内の既知平面像１９の画素の位置、M~(Ｚ軸方向の値は常に０のため省略する。そのため３行の同次ベクトルとなっている)は、３次元空間上の既知平面１８の位置を示し、Ａはカメラ内部パラメータ、ｒ１、ｒ２は式（１５）に示す既知平面(世界座標系)１８とカメラ１３の姿勢を表す回転行列の行ベクトルを示し、tは、カメラ１３と既知平面(世界座標系)１９との位置関係を示す。式（１４）に示すように、前回のキャリブレーションに基づき、Ｈｏｍｏｇｒａｐｈｙを計算することにより、カメラ１３と既知平面１８との位置・姿勢の関係を求めることができる。
【００６９】
内部パラメータを求めるためには、姿勢が異なる既知平面を３面以上必要である。逆に、同じ姿勢の既知物体１８の撮像データを取得すると、内部パラメータのキャリブレーションは上手くいかない。そのため、精度よいキャリブレーションを行うために、式（１４）を用いて既知平面１８の姿勢を求め、できるだけ姿勢が変わるようにガイドする。この既知平面１８を傾ける程度は、前回のキャリブレーション時に与えたデータから算出する。
【００７０】
キャリブレーション装置１０がユーザに対しガイドする場合、例えば、図２０のように傾いた既知平面１８を画面に出力する。画面内の既知平面１８の傾きは式（１４）に、姿勢を表すｒ１、ｒ２と位置ｔを入力することにより求める。このように傾いた既知平面１８を画面に出力し、ユーザが同じ形になるよう既知平面１８を傾けることにより、内部パラメータを精度よくキャリブレーションすることができる。
【００７１】
また、上記実施の形態では、キャリブレーションを行う際、既知物体１２を配置する位置をユーザに対しガイドすることとしたが、これに限られるものではなく、自由に既知物体１２を移動させてキャリブレーションを行うようにしてもよい。
【００７２】
次に、この自由に既知物体１２を移動させてキャリブレーションを行う方法について図２１に示すフローチャートを参照して説明する。
【００７３】
ステップＳ２１では、ステップＳ１１と同様に、ステレオビジョンを想定した精度と、奥行き等の精度を保つ範囲との初期設定が入力される。すなわち、ステレオビジョンにおいて距離画像を生成するときのエピポーラ拘束に関する精度と、その精度を保つ範囲とが図示しない入力装置により入力される。
【００７４】
ステップＳ２２において、評価部１５は、記憶部１４から前回ステレオ画像を生成した際のパラメータを読み出し、評価部１５は、記憶部１４から読み出したパラメータから、ある平面(奥行き)での、左右の画像が共通して写る箇所を求める。すなわち、基準カメラである左カメラの撮像範囲と検出カメラである右カメラの撮像範囲が重畳する範囲を、上記式（４）〜（８）により算出する。
【００７５】
ステップＳ２３では、図示しない入力装置により、既知物体１２の位置情報の総数Ｎが設定される。この位置情報は３次元空間内において推定された既知物体１２の位置である。また、総数Ｎは経験的に設定される任意の数である。
【００７６】
評価部は、記憶部１４から既知物体１２の位置情報を取得し（ステップＳ２４）、取得数がステップＳ２３にて設定した総数Ｎになるまで既知物体１２の位置情報を取得する（ステップＳ２５）Ｎ個の位置情報を取得すると、評価部１５は、ステップＳ２３にて設定したＮ個の位置情報と、新しく取得したＮ＋１個目の位置情報との各組み合わせについて評価値を比較する。Ｎ＋１ＣＮ＝Ｎ＋１通りのすべて組み合わせにおいて、上記式（２）及び式（３）に基づいて評価値ＥＸＹ及びＥＺを算出する。そして、最も評価値が高い組み合わせを新しいＮ個の位置情報とし、その組み合わせから外れた１個の位置情報は消去し、取捨選択する（ステップＳ２６）。
【００７７】
ステップＳ２７では、ステップＳ２６において新しく作成された組み合わせの評価値が、閾値よりも高いか否かを判別する。この閾値は、ステップＳ２３にて設定したＮ個の位置情報による評価値に基づいて設定される。
【００７８】
ステップＳ２７において、取捨選択により算出された評価値が閾値よりも小さい場合、ステップＳ２４に戻り既知物体１２の位置情報を再び取得し、評価値が閾値以上の場合、ステップＳ２８に進みキャリブレーションを開始する。すなわち、新しい組み合わせの位置情報に基づいてパラメータを算出し、前回のパラメータを校正する。
【００７９】
このように、既知物体の位置情報に基づいてカメラの特性を評価することにより、容易に取得すべきパラメータを得ることができる。
【図面の簡単な説明】
【００８０】
【図１】撮像対象に対する基準カメラと検出カメラの配置を模式的に示す図である。
【図２】略正方形のパターンを基準カメラと検出カメラの各々によって撮像した画像を示す図である。
【図３】エピポーラ・ラインと、参照画像中における観察点の様子を図解したものである。
【図４】本発明の一実施の形態におけるキャリブレーション装置の構成を示すブロック図である。
【図５】カメラ座標系を説明するための図である。
【図６】既知物体の一例を示す図である。
【図７】既知物体の位置と奥行きの関係を示す図である。
【図８】既知物体の位置とＸ軸Ｙ軸平面との関係を示す図である。
【図９】既知物体のガイド例を示す図である。
【図１０】既知物体のガイドにより行うキャリブレーション方法を示すフローチャートである。
【図１１】カメラと奥行きの関係を示す図である。
【図１２】左右カメラの撮影領域が重畳する領域内に配置する例を示す図である。
【図１３】左右カメラの撮影領域が重畳する領域内で面積が最大の長方形の４頂点に配置する例を示す図である。
【図１４】奥行Ｚ１での既知物体１２の配置する位置を説明するための図である。
【図１５】ディスプレイによるガイド例を示す図である。
【図１６】音声によるガイド例を示す図である。
【図１７】評価値を示すことによるガイド例を示す図である。
【図１８】内部パラメータのキャリブレーションにおける既知平面を示す図である。
【図１９】内部パラメータのキャリブレーションを説明する図である。
【図２０】既知平面のガイド例を示す図である。
【図２１】自由に既知物体を移動させて行うキャリブレーション方法を示すフローチャートである。
【符号の説明】
【００８１】
１０  キャリブレーション装置、１１  ユーザ、１２  既知物体、１３  カメラ、１４  記憶部、１５  評価部、１６  出力部、１７  算出部、１８  既知平面、１９  既知平面像
【図１】
2007033087.tif 000011
【図２】
2007033087.tif 000012
【図３】
2007033087.tif 000013
【図４】
2007033087.tif 000014
【図５】
2007033087.tif 000015
【図６】
2007033087.tif 000016
【図７】
2007033087.tif 000017
【図８】
2007033087.tif 000018
【図９】
2007033087.tif 000019
【図１０】
2007033087.tif 000020
【図１１】
2007033087.tif 000021
【図１２】
2007033087.tif 000022
【図１３】
2007033087.tif 000023
【図１４】
2007033087.tif 000024
【図１５】
2007033087.tif 000025
【図１６】
2007033087.tif 000026
【図１７】
2007033087.tif 000027
【図１８】
2007033087.tif 000028
【図１９】
2007033087.tif 000029
【図２０】
2007033087.tif 000030
【図２１】
2007033087.tif 000031