(57)【特許請求の範囲】
【請求項１】
少なくとも２つのカメラを有するステレオカメラにおいて、
前記カメラの操作指示により前記カメラのレンズ位置が変更された際に、前記カメラのそれぞれの撮像画像から算出され、エッジ点数に対する有効な視差の数を表わす有効視差数の比である視差密度が、所定値以上の場合に、前記カメラのカメラパラメータを推定する
ことを特徴とするステレオカメラ。
【請求項２】
請求項１に記載のステレオカメラにおいて、
前記カメラのそれぞれの撮像画像の特徴点を探索し、探索した特徴点の位置座標に基づいてカメラパラメータを推定する
ことを特徴とするステレオカメラ。
【請求項３】
請求項１または２に記載のステレオカメラにおいて、
前記カメラのそれぞれの撮像画像の間の特徴点のエピポーラ線が平行になるように、撮像画像を補正する
ことを特徴とするステレオカメラ。
【請求項４】
請求項１または２に記載のステレオカメラにおいて、
前記視差密度が、所定値以上になるように、前記カメラのレンズ位置を変更し、前記カメラの撮像画像を取得する
ことを特徴とするステレオカメラ。
【請求項５】
請求項１から４のいずれか一項に記載のステレオカメラにおいて、
前記カメラパラメータは、前回の撮像時のカメラパラメータを基に繰り返し処理がおこなわれて推定される
ことを特徴とするステレオカメラ。
【請求項６】
請求項１に記載のステレオカメラにおいて、
前記カメラの操作指示により前記カメラのレンズ位置が変更された際に、実際のレンズ位置が前記カメラから応答され、前記カメラからの応答値を基に、カメラパラメータを推定する
ことを特徴とするステレオカメラ。
【請求項７】
請求項１に記載のステレオカメラにおいて、
前記カメラのそれぞれは、前記カメラの中心を回動するように設置され、
前記カメラがパン制御された際にカメラパラメータを推定する
ことを特徴とするステレオカメラ。
【請求項８】
少なくとも２つのカメラと、
前記カメラの少なくともレンズ位置を制御するカメラ制御部と、
前記カメラ制御部により前記カメラの少なくともレンズ位置が移動されたときに、前記カメラのそれぞれの撮像画像から算出され、エッジ点数に対する有効な視差の数を表わす有効視差数の比である視差密度が、所定値以上の場合に、前記カメラのカメラパラメータを推定するキャリブレーション部と、
前記カメラパラメータに基づいて前記カメラの撮像画像の３次元復元を行う画像認識部と、
を備えたことを特徴とする撮像システム。
【請求項９】
請求項８に記載の撮像システムにおいて、
前記キャリブレーション部は、前記カメラのそれぞれの撮像画像の特徴点を探索し、探索した特徴点の位置座標に基づいてカメラパラメータを推定する
ことを特徴とする撮像システム。
【請求項１０】
請求項８または９に記載の撮像システムにおいて、
前記画像認識部は、前記カメラのそれぞれの撮像画像の間の特徴点のエピポーラ線が平行になるように、撮像画像を補正する
ことを特徴とする撮像システム。
【請求項１１】
請求項８または９に記載の撮像システムにおいて、
キャリブレーション部は、前記視差密度が、所定値以上になるように、前記カメラのレンズ位置を変更して前記カメラの撮像画像を取得する
ことを特徴とする撮像システム。
【請求項１２】
請求項８から１１のいずれか一項に記載の撮像システムにおいて、
前回の撮像時のカメラパラメータをカメラ設定値ごとに記憶するパラメータ初期値記憶部を有し、
前記キャリブレーション部は、前記パラメータ初期値記憶部のカメラパラメータを初期値にして推定処理を行う
ことを特徴とする撮像システム。
【請求項１３】
請求項８に記載の撮像システムにおいて、
前記カメラのレンズ位置が変更された際に、実際のレンズ位置が前記カメラから応答され、前記カメラからの応答値を記憶するカメラ設定値記憶部を有し、
前記キャリブレーション部は、前記カメラ設定値記憶部に記憶されたレンズ位置に基づいて、カメラパラメータを推定する
ことを特徴とする撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラおよび撮像システムにおける、カメラキャリブレーションおよびカメラ制御方法に関する。
【背景技術】
【０００２】
対象物の３次元計測や立体像の撮影を行う装置やシステムとして、対象物を複数の異なる方向から撮影することにより、対象物の奥行き方向の情報を記録するステレオカメラがある。
このステレオカメラや、複数の撮像装置を有して３次元計測処理を行う撮像システムの中には、ズームレンズを備えるものがある。特許文献１には、ズームレンズを備えたステレオ撮像装置において、被写体の距離計測を行う際に、３次元計測に適したズーム制御を行う技術が開示されている。
【０００３】
詳しくは、特許文献１には、監視者の操作に応じた制御データをステレオ撮像制御部へ送信し、ステレオ撮像制御部で制御データに応じて撮像部のズーム制御と撮像部のパン制御及びチルト制御を行うことが可能であり、任意の焦点距離すなわち画角、視野すなわち画枠で、フレームアウトを生じさせることなく、撮影を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１７６８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の先行技術によれば、ステレオカメラは、被写体に応じた画角や視野、検出精度で３次元形状をモニタリングすることができる。
しかし、ステレオカメラのズーム機構やパン／チルト機構が、様々な環境の影響を受けて工場出荷時からズレが生じることは考慮されていない。このため、環境や時間経過によってモニタリング結果の精度が低下することがある。
また、治具等でステレオカメラ装置を設置した際に、接触面での圧力により筐体に歪みが生じる場合や、温度などによって筐体素材が膨張収縮する場合や、振動などによって、長時間を経て取り付け誤差が生じる場合も考慮されていない。
【０００６】
また、ステレオカメラや複数の撮像装置を有する撮像システムでは、２つのカメラや複数の撮像装置の撮像情報に基づいて、３次元計測や立体像の撮影をおこなっており、撮像装置の特性差の変化についても考慮する必要がある。
【０００７】
本発明は、上記の問題を解決するためになされたものであって、ズームやパン／チルト等のカメラ設定を制御可能な機構を有するステレオカメラ等の撮像システムにおいて、カメラ設定が変化しても、ステレオカメラや撮像システムの計測精度の維持することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本願発明の少なくとも２つのカメラを有するステレオカメラは、カメラの操作指示により前記カメラのレンズ位置が変更された際に、前記カメラのそれぞれの撮像画像から算出され、エッジ点数に対する有効な視差の数を表わす有効視差数の比である視差密度が、所定値以上の場合に、前記カメラのカメラパラメータを推定するようにした。
また、本願発明の撮像システムは、少なくともふたつのカメラと、前記カメラの少なくともレンズ位置を制御するカメラ制御部と、前記カメラ制御部により前記カメラの少なくともレンズ位置が移動されたときに、前記カメラのそれぞれの撮像画像から算出され、エッジ点数に対する有効な視差の数を表わす有効視差数の比である視差密度が、所定値以上の場合に、前記カメラのカメラパラメータ推定するキャリブレーション部と、前記カメラパラメータに基づいて前記カメラの撮像画像の３次元復元を行う画像認識部と、を備えるようにした。
【発明の効果】
【０００９】
本発明によれば、動的にカメラキャリブレーションを実行可能なため、ステレオカメラの複数の撮像装置の経年変化や外的要因による変化に対しても、精度の低下のないステレオカメラや撮像システムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態のステレオカメラの構成を示す図である。
【図２】実施形態のステレオカメラや撮像システムの処理概要を示す図である。
【図３】カメラの内部構成を示す図である。
【図４】カメラ制御部の処理フローを示す図である。
【図５】パラメータ初期値の構成の一例を示す図である。
【図６】ステレオカメラの画像データの補正を説明する図である。
【図７】ステレオカメラや撮像システムの制御フロー図である。
【図８】視差密度の評価によるステレオカメラの画像データの補正を説明する図である。
【図９】任意方向の特徴点検索をおこないキャリブレーションする際の処理フローを示す図である。
【図１０】撮像画像の特徴点探索の様子を表わす図である。
【図１１】ステレオカメラの構造の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、実施形態のステレオカメラを、図面を参照しながら説明する。
まず、対象物を複数の異なる方向から撮影することにより対象物の奥行き方向の情報を算出する、ステレオカメラ等の撮像システムの座標表現について説明する。対象物の世界座標（ＸW、ＹW、ＺW）と画像座標（ｕ、ｖ）とは、つぎの（数１）の関係で表わすことができる。
【数１】
0006694281.tif 000002
【００１２】
ここで、λは定数であり、パラメータ行列Ｋはカメラの内部パラメータを表わし、パラメータ行列Ｄはカメラの外部パラメータを表わしている。
パラメータ行列Ｋは、焦点距離をf、アスペクト比をa、スキューをs、画像座標の中心座標を（ｕc、ｖc）とすると、（数２）のように表わされる。
【数２】
0006694281.tif 000003
【００１３】
また、パラメータ行列Ｄは、（数３）のように表わされる。（数３）の（r11、r12、r13、r21、r22、r23、r31、r32、r33）はカメラの向き（レンズ光軸の方向）を表わし、（tx、ty、tz）はカメラ設置位置（レンズの中心座標）の世界座標を示している。
【数３】
0006694281.tif 000004
【００１４】
なお、外部パラメータのカメラの向きを示す（r11、r12、r13、r21、r22、r23、r31、r32、r33）をオイラー角により定義すると、カメラの設置角度であるパンθ、チルトφ、ロールψの３個のパラメータによって外部パラメータを表わすことができる。
そのため、世界座標（ＸW、ＹW、ＺW）と画像座標（ｕ、ｖ）の対応付けのために必要なカメラパラメータ数は、５個の内部パラメータと６個の外部パラメータを合計した１１個のパラメータとなる。
【００１５】
ところで、（数３）において、カメラパラメータ行列Ｄは定数倍しても意味が不変であることから、λとパラメータ行列Ｋ、Ｄを１つの行列に整理してつぎの（数４）のように表現しても良い。
【数４】
0006694281.tif 000005
【００１６】
さらに、（数４）において、c34を１に固定すると未知のパラメータ数は１１個となる。これら１１個のパラメータを求めることは、（数１）における５つの内部パラメーと６つの外部パラメータを求めることと同義である。
最終的には、（数１）は（数５）のように変形でき、（数５）における行列Ｃが最終的に求めるカメラパラメータとなる。
【数５】
0006694281.tif 000006
【００１７】
このカメラパラメータを算出するために、キャリブレーション方法が考案されている。一般的なキャリブレーションでは、キャリブレーションパターンの位置を様々な方向から撮影し、理想的な見え方と、実際に撮影した画像との比較演算、例えば最小２乗誤差をとるように内部パラメータや外部パラメータの最適解を求めている。
代表的には、“Ｚｈａｎｇの方法”（Z. Zhang, “A flexible new technique for camera calibration”、IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.）により、カメラパラメータを算出することができる。
【００１８】
ところで、カメラのズーム量を変えると焦点距離が変わるために、上記のパラメータ行列Ｋが変わる。また、カメラのパン／チルト動作によりカメラの向きが変わると、パラメータ行列Ｄが変わる。このため、ズームやパン／チルトのカメラの設定が変わるたびに、キャリブレーションを行う必要がある。
上記の“Ｚｈａｎｇの方法”では、キャリブレーション用のチャートを使用するため、カメラの操作性がよくない。
実施形態のステレオカメラや撮像システムでは、以下に説明するように、キャリブレーション用のチャートなしにセルフカメラキャリブレーションするようにした。
【００１９】
図１は、実施形態のステレオカメラの構成を示す図である。
実施形態のステレオカメラは、カメラ１（１０ａ）とカメラ２（１０ｂ）の２つの撮像装置により、測定対象物あるいは測定対象のエリアを撮像している。実施形態のステレオカメラでは、特に、検出対象に制限はなく、人物や車両、船舶、ロボットなどの移動物体や、特定の物体を検出方法に用いてもよい。
また、実施形態では、カメラ１（１０ａ）とカメラ２（１０ｂ）の２台の撮像装置の構成について説明するが、これに限らず、複数の撮像装置をもつ構成でもよい。
【００２０】
さらに、実施形態のステレオカメラは、カメラ１（１０ａ）とカメラ２（１０ｂ）を制御するカメラ制御部３０と、カメラパラメータの算出を行うキャリブレーション部４０と、画像認識部５０から構成され、カメラ設定値の記憶部６０、パラメータ初期値の記憶部６１、補正データの記憶部６２を備える。
【００２１】
図１に示す実施形態のステレオカメラは、カメラ１（１０ａ）、カメラ２（１０ｂ）、カメラ制御部３０、キャリブレーション部４０、画像認識部５０、カメラ設定値の記憶部６０、パラメータ初期値の記憶部６１、補正データの記憶部６２を一体に構成しているが、これに限らず、ステレオカメラは、カメラ１（１０ａ）とカメラ２（１０ｂ）とカメラ制御部３０とで構成し、キャリブレーション部４０や画像認識部５０を他の情報処理装置で構成してもよい。
【００２２】
つぎに、図３により、カメラ１（１０ａ）とカメラ２（１０ｂ）（以下、総称してカメラ１０と記す）の内部構成について説明する。
カメラ１０は、カメラ１０の向きや画角を制御する機構である駆動部１１と、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）やＣＣＤ（Charge Coupled Device）などの画像センサを搭載する撮像部１２から構成される。
【００２３】
駆動部１１には、撮像部１２のレンズ機構（図示せず）を駆動してレンズの移動によって焦点距離を変更し、カメラの撮像範囲である画角を変更するズーム制御部２０１と、カメラ１０の垂直方向の向きを制御するチルト制御部２０２と、カメラ１０の水平方向の向きを制御するパン制御部２０３とが設けられている。
これにより、カメラ１０ごとに、所定の測定対象物あるいは測定対象のエリアを撮像することができる。
【００２４】
図１にもどり、実施形態のステレオカメラや撮像システムは、カメラ制御部３０が駆動部１１ａ、１１ｂを制御して、上記のカメラ１（１０ａ）とカメラ２（１０ｂ）により測定対象物の画像データを取得する。そして、ステレオカメラは、２つの画像データから求まる視差データに基づいて、測定対象物とカメラとの距離データを算出して、３次元計測を行う。
【００２５】
また、実施形態のステレオカメラは、カメラパラメータを算出するキャリブレーション部４０と３次元計測や立体像の処理を行う画像認識部５０を備えている。キャリブレーション部４０と画像認識部５０は、通信路２０を介して、カメラ１（１０ａ）とカメラ２（１０ｂ）に接続し、カメラ１（１０ａ）とカメラ２（１０ｂ）から画像データを取得する。
【００２６】
画像認識部５０の処理結果は、図示していない液晶表示装置やＣＲＴ（Cathode Ray Tube）表示装置など端末装置に表示することができる。また、実施形態のステレオカメラのＲＧＢ（Red-Green-Blue）モニタ出力をもつ構成や、または、ネットワーク経由でのデータファイル出力などを行う構成としてもよい。
【００２７】
また、実施形態のステレオカメラは、カメラ設定値の記憶部６０と、パラメータ初期値の記憶部６１と、補正データの記憶部６２とを備える。詳細を後述するが、キャリブレーション部４０は、カメラ設定値の記憶部６０と、パラメータ初期値の記憶部６１とを参照して、カメラのキャリブレーション処理を行い、算出したカメラパラメータに基づく補正データを補正データの記憶部６２に記録する。
【００２８】
そして、画像認識部５０は、補正データの記憶部６２を参照して、取得したカメラの画像情報の画像座標から、測定対象物の世界座標を求めて、３次元測定や立体像の処理を行う。詳しくは、画像認識部５０は画像取得部５１により処理用の画像を取得し、補正部５２はキャリブレーション部４０で取得したカメラパラメータを用いて、画像の歪みなどを補正し、画像処理部５３はこの補正された画像に基づいて、ステレオ処理の視差計算や映像解析の処理を実行する。
【００２９】
ここで、図２により、実施形態のステレオカメラや撮像システムの処理の概要について説明する。図２は、カメラ１（１０ａ）とカメラ２（１０ｂ）の２台のカメラで撮影した１回分の撮像データの処理を示すフローであり、連続して撮像する場合には、図２のフローが繰り返し処理される。
【００３０】
まず、カメラ１およびカメラ２によって撮影した画像データを取得する（Ｓ２１）。そして、操作指示されたレンズ位置等のカメラ設定値を取得する（Ｓ２２）。
つぎに、カメラ設定値が、前回撮像処理したときの値から変更されたか否かを判定し（Ｓ２３）、変更されていた場合には（Ｓ２３のＹｅｓ）、カメラ設定値に対応する初期パラメータに基づいてカメラパラメータを推定するキャリブレーション処理を行う（Ｓ２４）。
ステップＳ２３で、カメラ設定値が、変更されていなかった場合には（Ｓ２３のＮｏ）、ステップＳ２５に進む。
【００３１】
ここで、ステップＳ２４におけるカメラキャリブレーションの方法は、「Q.T.Luong and O.D.Faugeras, "The Fundamental Matrix: Theory, Algorithms and Stability Analysis"」のような、特徴点を抽出し、それに従い、基礎行列を求める方法によって実施する。ここで取得したパラメータを用いて、たとえば視差密度を指標として推定値を評価する。そして、一定以上の評価値となるまで、勾配法やニュートン法、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法などの任意の最適化手法で繰り返し処理を行い、処理を終了すればよい。初期パラメータは、この繰り返し処理の初期値として利用される。
【００３２】
このように、ステップＳ２４で、実施形態のステレオカメラや撮像システムは、カメラ１およびカメラ２の操作指示によるカメラ設定値の変更に応じて動的にキャリブレーションを行い、カメラパラメータを更新する。
これにより、ステレオカメラの画角や向きを変更しても、測定精度が変動することがない。
また、動的にキャリブレーションが行われるので、ステレオカメラや撮像システムの経年変化や外的要因による変化に対しても追従することができる。
さらに、動的キャリブレーションに対応することで、ズーム範囲を広げても誤差の少ない測定を行えるので、ステレオカメラや撮像システムの適用範囲を広げることもできる。
【００３３】
ステップＳ２５では、取得したカメラパラメータを用いてレンズ歪み補正や倍率補正や平行化処理などの各種の補正処理を画像データに対して行う。
ステップＳ２６では、ノイズ除去を行うためのローパスフィルタ処理等の前処理や、エッジ検出等の特徴量演算処理、正規化相互相関や差分絶対値和等のブロックマッチングやspace-sweep法等の各種の相関演算処理を用いてステレオ画像間の対応点検索を行い視差情報を取得するステレオマッチング処理、ランクフィルタ処理やラベリング等により特異点の除去を行う後処理などを画像データに対して行い、最終的に取得した視差情報からカメラ情報を用いて被写体の3次元情報を計測する。
【００３４】
つぎに、カメラ制御部３０の動作の詳細を、図３のカメラの内部構成図を参照しながら、図４のカメラ制御部３０の処理フローにより説明する。
まず、カメラ制御部３０は、ステレオカメラのカメラ１（１０ａ）やカメラ２（１０ｂ）の向きや画角等のカメラ操作指示（レンズの移動量やパン／チルト角度等）を取得する（Ｓ３１）。このカメラ操作指示は、ステレオカメラの調整機構の操作設定や、監視システム等のアプリケーションプログラムによって設定される。
【００３５】
そして、ステップＳ３１で取得した操作指示に対応する駆動部１１のチルト制御部２０２の設定値とパン制御部２０３の設定値とズーム制御部２０１の制御値を算出し、駆動部１１aと駆動部１１ｂに送信する（Ｓ３２）。
【００３６】
その後、カメラ制御部３０は、ズーム制御部２０１とチルト制御部２０２とパン制御部２０３の設定動作が終了した駆動部１１aと駆動部１１ｂから、実際に動作した角度やレンズ位置などの動作位置の応答値を受信する（Ｓ３３）。これは、制御値を指定した場合でも、カメラのズーム機構やパン／チルト機構のバラツキや経年変化によって移動量などの誤差があるため、カメラ側の実際の設定状態を取得して、精度向上を図るためである。
そして、受信した応答値は、ステレオカメラのカメラ１（１０ａ）やカメラ２（１０ｂ）の外部パラメータに相当するデータとして、カメラ設定値の記録部６０に記録される（Ｓ３４）。
【００３７】
つぎに、カメラパラメータを推定する図１のキャリブレーション部４０について説明する。
図１に示すように、キャリブレーション部４０は、撮影対象物を複数の異なる方向から撮像するように配置されたカメラ１（１０ａ）とカメラ２（１０ｂ）とから、撮像した画像情報を取得する画像取得部４１と、カメラ設定値の記録部６０とパラメータ初期値の記録部６１のデータを取得するデータ取得部４２と、カメラ１（１０ａ）とカメラ２（１０ｂ）のそれぞれのカメラのカメラパラメータを推定するパラメータ推定部４３と、から構成される。
【００３８】
パラメータ初期値６１には、パラメータ推定部４３でカメラパラメータを推定する際の、初期値が記録されている。図５に、パラメータ初期値６１の構成の一例を示す。
図５のパラメータ初期値６１は、ステレオカメラのカメラ１（１０ａ）とカメラ２（１０ｂ）ごとに、所定のカメラ設定値に対応してカメラパラメータの初期値が記憶されている。例えば、レンズ位置５００に対して、焦点距離５０１が与えられ、そのほかに画像のスケール５０２、複数のカメラのおオフセット５０３などが設定される。
【００３９】
また、詳細は後述するが、パラメータ初期値６１には、キャリブレーション部４０で推定されたカメラパラメータが、カメラ設定（レンズ位置５００）に対応して記憶されている（５０４）。カメラ設定に変更がない場合には、キャリブレーションを行うことなく、パラメータ初期値６１に記憶されている推定カメラパラメータ５０４を参照すればよい。
カメラ設定が変更された場合には、前回撮像時のカメラ設定に対応するカメラパラメータをパラメータ初期値６１の推定カメラパラメータから取得し、これをキャリブレーションの初期値とする。これにより、推定計算を安定して行うことができる。
【００４０】
つぎに、図２のステップＳ２５のカメラパラメータに基づいて画像データを補正する処理について説明する。
図６は、ステレオカメラの画像データの補正を説明する図であり、上段は、ステレオカメラのカメラ１（１０ａ）の画角がカメラ２（１０ｂ）の画角より大きい場合の撮像画像を示し、下段は、カメラ２（１０ｂ）の画角に合わせて、カメラ１（１０ａ）の撮像画像の平行化補正した場合を示している。
【００４１】
ステレオカメラの撮像画像の視差情報から距離を算出するには、カメラ１（１０ａ）とカメラ２（１０ｂ）の画角が等しい時の視差情報を求める必要がある。このカメラ１（１０ａ）とカメラ２（１０ｂ）の画角は、推定したカメラパラメータ（焦点距離）を比較することにより判定できる。
【００４２】
そこで、図２のステップＳ２５では、カメラ１（１０ａ）とカメラ２（１０ｂ）の推定したカメラパラメータ（焦点距離）を比較して、カメラ１（１０ａ）とカメラ２（１０ｂ）とで画角が異なると判定した場合に、一方の撮像画像の画角に合わせて、他方の撮像画像を補正する。
このときの補正は、カメラ１（１０ａ）とカメラ２（１０ｂ）の撮像画像の任意の特徴点探索によって同一画角内の特徴点の対応づけを行い、特徴点のエピポーラ線が平行となるように、撮像画像の平行化補正を行う。
このとき、算出した補正データ（補正行列）は、補正データ６２（図１参照）に記憶される。
【００４３】
そして、図２のステップＳ２６では、平行化補正したカメラ１（１０ａ）の画像情報と、カメラ２（１０ｂ）で撮像した画像情報を用いて視差情報を求め、この視差情報から距離算出を実行するか、または、推定したカメラパラメータと平行化補正する補正行列とにより、カメラ１（１０ａ）とカメラ２（１０ｂ）の撮像画像の３次元復元を行う。
【００４４】
つぎに、実施形態のステレオカメラや撮像システムの他のキャリブレーションについて説明する。なお、説明するステレオカメラや撮像システムの構成は、図１の構成と共通であるため、ここでは説明を省略する。
前述のステレオカメラや撮像システムでは、推定したカメラパラメータに基づいて撮像画像情報を補正した後に、距離算出や撮像画像の３次元復元を行っていたが、つぎに説明するステレオカメラや撮像システムでは、撮像画像の評価指標を評価し、所定の評価値を満たすように、カメラ１（１０ａ）とカメラ２（１０ｂ）のカメラ制御値を変更して撮像を行い、距離算出や撮像画像の３次元復元を行う。
【００４５】
図７の制御フローにより、本実施形態の処理を詳細に説明する。
まず、カメラ１およびカメラ２によって撮影した画像データを取得する（Ｓ７１）。そして、操作指示されたレンズ位置等のカメラ設定値を取得する（Ｓ７２）。
【００４６】
つぎに、カメラ設定値が、前回撮像処理したときの値から変更されたか否かを判定し（Ｓ７３）、変更されていない場合には（Ｓ７３のＮｏ）、ステップＳ８１に進む。この場合には、前回撮像処理で推定したカメラパラメータを用いてカメラ１およびカメラ２の撮像画像を基に３次元復元を行う（Ｓ８１）。カメラパラメータは、初期パラメータ６１を参照して取得できる。
【００４７】
カメラ設定値が、変更されていた場合には（Ｓ７３のＹｅｓ）、撮像画像の視差密度を算出するために、カメラ１およびカメラ２の画像データにおいて、対応するエッジ情報を抽出する（Ｓ７４）。
そして、エッジ点数Ｅに対する視差密度Ｄを、エッジ点数に対する有効な視差の数を表わす有効視差数ｄを用いて、次式のように定め、視差密度Ｄを算出する（Ｓ７５）。
Ｄ ＝ ｄ／Ｅ      （数６）
この視差密度Ｄによれば、補正パラメータの精度、ステレオ処理における平行化の評価を行うことができる。
【００４８】
また、この視差密度については、実測値と取得した視差画像から得られる距離データの誤差を評価することによって、視差密度の評価値を得ることができる。
また、カメラ設定値もしくはカメラパラメータのズレが生じた場合は、撮像画像から視差情報が得られない場合がある。また、撮像画像が一定以上のマッチング度合いでない場合は、撮像画像から視差情報を求められない。視差密度Ｄによる評価は、これらの撮像画像の性質を利用したものとなっている。
【００４９】
ステップＳ７６で、視差密度Ｄを評価し、視差密度が所定値以上であれば、ステップＳ８０に進む。つまり、視差密度Ｄが所定値以上であれば、カメラ１およびカメラ２の撮像画像から精度の高い視差画像および距離データを取得することが可能となり、または、高精度の３次元復元を行うことができると判定する。
【００５０】
ステップＳ８０では、カメラ１とカメラ２の撮像画像を基にカメラパラメータを推定する。このときのカメラパラメータの推定は、図２の処理フローのステップＳ２４のキャリブレーション処理と同様に行えばよい。また、推定したカメラパラメータは、パラメータ初期値６１に記録する。
【００５１】
ステップＳ７６で、視差密度Ｄを評価し、視差密度が所定値未満であれば、つぎのステップＳ７７からステップＳ７９のカメラの再調整処理を行う。
このカメラの再調整処理では、まず、視差密度Ｄが大きくなるようにカメラ設定値を補正する（Ｓ７７）。そして、図４で説明したカメラ制御フローに従って、補正したカメラ設定値をカメラ操作指示としてカメラ制御部３０に通知して、カメラ制御部３０からカメラ１（１０ａ）またはカメラ２（１０ｂ）に、カメラ制御値を送信する（Ｓ７８）。
【００５２】
そして、カメラ１（１０ａ）またはカメラ２（１０ｂ）のレンズ位置やパン／チルト角度等が修正された後に、カメラ１（１０ａ）とカメラ２（１０ｂ）より画像データを取得し（Ｓ７９）、ステップＳ７４に戻る。
ステップＳ７６で、視差密度Ｄが所定値以上になるまで、上記のカメラ設定値の補正・視差密度Ｄの評価を繰り返す。
【００５３】
これにより、カメラ１およびカメラ２の撮像画像から精度の高い視差画像を取得することが可能となり、または、高精度の距離データの算出や３次元復元を行うことができる。
図２の処理フローとは、キャリブレーション処理部で、カメラ制御部を介して、カメラの調整を行う点が異なり、図２の処理フローにより視差密度の高い撮像画像を得ることができ、３次元復元の精度を高めることができる。
【００５４】
図８は、上記の視差密度Ｄが所定値以上になるまで、カメラ設定値の補正と視差密度Ｄの評価を繰り返して撮像を行う処理における撮像画像を説明する図である。図８の上段は、カメラ設定値の補正前のステレオカメラのカメラ１（１０ａ）とカメラ２（１０ｂ）の撮像画像と、撮像画像から得られる視差画像を示している。カメラ設定値の補正前は、ステレオカメラのカメラ１（１０ａ）とカメラ２（１０ｂ）の撮像画像のマッチング度合いが小さく、破線で表わすように有効な視差画像を得ることができない。
【００５５】
図７で説明した処理フローにより、カメラ１（１０ａ）のカメラ設定値が補正されると、図８の下段に示すように、カメラ１（１０ａ）の撮像画像が変化して、カメラ１（１０ａ）とカメラ２（１０ｂ）の撮像画像の視差画像を得ることができる。
図８では、カメラ設定値を補正してカメラ１（１０ａ）の撮像画像を変化させているが、カメラ２（１０ｂ）のカメラ設定値を補正してもよい。また、カメラ１（１０ａ）とカメラ２（１０ｂ）の両方のカメラ設定値を補正してもよい。
【００５６】
一般的に、ステレオカメラの処理では、ハードウェアの演算リソースを考慮して、平行化ステレオによる処理を行っている。例えば、図２の処理フローでは、ステップＳ２５で平行化補正することを示している。
しかし、上記の処理に限定されるものではなく、演算リソースが必要となるが、カメラ設定値が変更されキャリブレーションを行う時に、任意方向の特徴点探索による視差計算を行うようにしてもよい。
【００５７】
図９は、任意方向の特徴点検索をおこないキャリブレーションする際の処理フローを示している。
まず、カメラ１およびカメラ２より撮影した画像データを取得する（Ｓ９１）。そして、レンズ位置等のカメラ設定値を取得する（Ｓ９２）。
【００５８】
つぎに、カメラ設定値が、前回撮像処理したときの値から変更されたか否かを判定し（Ｓ９３）、変更されていない場合には（Ｓ９３のＮｏ）、ステップＳ９６に進む。この場合には、前回撮像処理で推定したカメラパラメータを用いてカメラ１およびカメラ２の撮像画像を基に３次元復元を行う（Ｓ９６）。カメラパラメータは、初期パラメータ６１を参照して取得する。
【００５９】
カメラ設定値が変更されている場合には（Ｓ９３のＹｅｓ）、カメラ１とカメラ２の撮像画像を比較して特徴点探索を実行する（Ｓ９４）。このとき水平方向のみ探索するのではなく、水平方向に所定幅、あるいは、画面全面の探索を行い、２つの撮像画像間でマッチングする特徴点を探索する。
その後、カメラ設定値に対応する初期パラメータに基づいてカメラパラメータを推定するキャリブレーション処理を行う（Ｓ９５）。このキャリブレーション処理は、図２のステップＳ２４の処理と同様に行われる。
【００６０】
そして、ステップＳ９６で、前回撮像処理で推定した推定したカメラパラメータまたはステップＳ９５で推定したカメラパラメータを用いて、カメラ１およびカメラ２の撮像画像を基に３次元復元を行う。
図１０は、カメラ１およびカメラ２の撮像画像の特徴点探索の様子を表わす図である。平行化ステレオの処理を行っていないため、下段の図に示すように探索方向に傾きが生じた状態になっている。
【００６１】
つぎに、本実施形態のキャリブレーション制御方法が、特に有用なステレオカメラの構造の一例について図１１を用いて説明する。
一般的なステレオカメラでは、カメラ１とカメラ２の左右のカメラの位置関係を、横並びに設置し、カメラの光軸が平行で同じ高さの位置に固定して配置する平行等位の状態に構成することが多い。そして、カメラ１とカメラ２の中央で回転支持する構造とし、ステレオカメラを左右にパンする場合には、カメラ１とカメラ２とが一体となってカメラ１とカメラ２の中央で回転するものが多い。
【００６２】
上記の構造では、カメラ１とカメラ２が回動するための領域が必要となるため、ステレオカメラの小型化に問題がある。特に、カメラ１とカメラ２の間の距離を大きくして計測精度の向上を図る場合には、大きな回動領域が必要となる。
本実施形態のステレオカメラでは、図１１に示すように、カメラ１とカメラ２のそれぞれが、カメラを中心に独立に回動する構造とした。これにより、カメラの回転領域を少なくしてステレオカメラを小型化できる。
【００６３】
本実施形態のカメラ１とカメラ２が正面を向いている場合には、カメラ１とカメラ２の撮像面は、同一平面となり、平行等位の状態となる。しかし、図１１のように、カメラ１とカメラ２を正対方向から所定角度分回動すると、カメラ１の撮像面とカメラ２の撮像面は、同一平面に構成されなくなる。このため、平行等位の状態とならずに、カメラ１とカメラ２の画角が異なり、有効な視差情報を取得できなくなる。
【００６４】
この時、本実施形態のステレオカメラでは、撮像方向（カメラ設定）が変化した時にカメラ１とカメラ２の画角が同じになるようにズーム制御して、カメラ１またはカメラ２のキャリブレーションを行っている。これにより、カメラ１とカメラ２が平行等位カメラの状態と見なせるようになるので、カメラ１とカメラ２の回動方向によらずに、距離情報を取得や三次元復元を行うことができる。
【００６５】
また、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記の実施形態は本発明で分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。
【符号の説明】
【００６６】
１０ａ  カメラ１
１０ｂ  カメラ２
１１ａ、１１ｂ  駆動部
１２ａ、１２ｂ  撮像部
３０  カメラ制御部
４０  キャリブレーション部
４１  画像取得部
４２  データ取得部
４３  パラメータ推定部
５０  画像認識部
５１  画像取得部
５２  補正部
５３  画像処理部
６０  カメラ設定値記憶部
６１  パラメータ初期値記憶部
６２  補正データ記憶部
【図１】
0006694281.tif 000007
【図２】
0006694281.tif 000008
【図３】
0006694281.tif 000009
【図４】
0006694281.tif 000010
【図５】
0006694281.tif 000011
【図６】
0006694281.tif 000012
【図７】
0006694281.tif 000013
【図８】
0006694281.tif 000014
【図９】
0006694281.tif 000015
【図１０】
0006694281.tif 000016
【図１１】
0006694281.tif 000017