(57)【特許請求の範囲】
【請求項１】
移動体に設置され、物体までの距離検出を行うステレオカメラ装置であって、前記ステレオカメラ装置は、
基線長だけ離間して設置された２台のカメラと、
前記２台のカメラにより取得された２つの画像間の対応点を探索し、前記対応点に関する視差を計算する画像処理手段と、
特定の対応点に関し第１の時刻において計算された第１の視差と、前記特定の対応点に関し前記第１の時刻と異なる第２の時刻において計算された第２の視差と、前記第１の時刻と前記第２の時刻の間の前記移動体の走行距離から、前記画像処理手段で計算される視差を修正する視差オフセット値を計算するオフセット値計算手段と、
複数の対応点に関し計算され前記複数の対応点の各々の相対速度に対応して分布する複数の前記視差オフセット値を統計解析して頻度の高い最適値を決定する統計処理手段と、
を備える、ステレオカメラ装置。
【請求項２】
請求項１に記載のステレオカメラ装置において、前記統計処理手段は、前記最適値を決定するために前記視差オフセット値の頻度分布を作成することを特徴とする、ステレオカメラ装置。
【請求項３】
請求項１または２に記載のステレオカメラ装置において、校正パラメータを使用して前記物体までの距離を計算する、距離計算手段を含むことを特徴とする、ステレオカメラ装置。
【請求項４】
請求項１〜３のいずれか１項に記載のステレオカメラ装置において、前記最適値を使用して距離測定のために利用する校正パラメータを修正する修正手段を含むことを特徴とする、ステレオカメラ装置。
【請求項５】
前記修正手段は、モータステージまたはＮＶＲＡＭへの書き込みを行うメモリアクセス手段であることを特徴とする、請求項４に記載のステレオカメラ装置。
【請求項６】
物体までの距離検出を行うステレオカメラ装置の校正方法であって、前記ステレオカメラ装置が、
基線長だけ離間して設置された２台のカメラを時間的に同期させて時間的に隔てた画像を取得するステップと、
前記２台のカメラにより取得された２つの画像間の対応点を探索し、前記対応点に関する視差を計算するステップと、
特定の対応点に関し第１の時刻において計算された第１の視差と、前記特定の対応点に関し前記第１の時刻と異なる第２の時刻において計算された第２の視差と、前記第１の時刻と前記第２の時刻の間の前記２台のカメラを搭載した移動体の走行距離から、計算した視差を修正する視差オフセット値を計算するステップと、
複数の対応点に関し計算され前記複数の対応点の各々の相対速度に対応して分布する複数の前記視差オフセット値を統計解析して頻度の高い最適値を決定するステップと、
決定した前記最適値で距離測定のために利用する校正パラメータを修正するステップと
を実行する、校正方法。
【請求項７】
請求項６に記載の校正方法において、前記最適値を決定するために前記視差オフセット値の頻度分布を作成するステップをさらに含むことを特徴とする、校正方法。
【請求項８】
コンピュータを、
２台のカメラにより取得された２つの画像間の対応点を探索し、前記対応点に関する視差を計算する画像処理手段、
特定の対応点に関し第１の時刻において計算された第１の視差と、前記特定の対応点に関し前記第１の時刻と異なる第２の時刻において計算された第２の視差と、前記第１の時刻と前記第２の時刻の間の前記２台のカメラを搭載した移動体の走行距離から、前記画像処理手段で計算される視差を修正する視差オフセット値を計算するオフセット値計算手段、
複数の対応点に関し計算され前記複数の対応点の各々の相対速度に対応して分布する複数の前記視差オフセット値を統計解析して頻度の高い最適値を決定する統計処理手段
として機能させる、コンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を使用して対象までの距離を測定する技術に関し、より詳細には、効率的なパラメータ校正が可能なステレオカメラ装置、校正方法およびプログラムに関する。
【背景技術】
【０００２】
物体に対してカメラなどの複数の撮像装置を異なる位置に配置し、撮像された画像から物体までの距離を測定する測距方式として、いわゆるステレオカメラ装置が知られている。平行ステレオカメラ装置は、基線長として参照される一定の間隔をもって固定された２台のカメラを備え、カメラの光軸が平行となるように配置されている。ステレオカメラ装置は、第１のカメラで取得した物体画像と、第２のカメラで取得した物体画像の視差を光学系に固有のパラメータを利用して距離に変換することによって物体までの距離を決定するものである。
【０００３】
図７には、従来のステレオカメラ装置の光学系を示す。図７に示すように、ステレオカメラ装置が備える２台のカメラ１Ｒ、１Ｌは、所定の基線長Ｂをもって配置されている。これらのカメラは、ＣＣＤやＣＭＯＳなどからなるイメージセンサ（撮像素子）及び撮影視野内の被写体の像をイメージセンサの撮像面上に結像させる撮影レンズ（撮影光学系）をそれぞれ有する。
【０００４】
平行配置した２台のカメラによる距離計測を、さらに図７を使用して説明する。ステレオカメラ装置７００は、焦点距離ｆ、光学中心ＯＲ、撮像面ＳＲを有するカメラ１Ｒが、図７の紙面上下方向を光軸方向として配置され、かつ、同じ焦点距離fを持つカメラ１Ｌは、カメラ１Ｒの紙面右手側に距離：Ｂだけ離れて平行に配置されているものとする。ここで、カメラ１Ｒの光学中心ＯＲから光軸方向に距離：ｄだけ離れた位置にある被写体Ｘの像は、カメラ１Ｒの撮像面ＳＲ上における直線Ｘ−ＯＲとの交点であるＰＲに像を結ぶ。
【０００５】
一方、カメラ１Ｌでは、同じ被写体Ｘの像は、撮像面ＳＬ上の位置ＰＬに像を結ぶ。ここで、カメラ：１Ｌの光学中心：ＯＬを通り、直線：Ｘ−ＯＲと平行な破線と、撮像面ＳＬとの交点をＰＲ′とし、点ＰＲ′とＰＬの距離をｐとする。ＰＲ′は、カメラ：１Ｒ上の像ＰＲと同じ位置座標であり、距離ｐは、同じ被写体の像の、２つのカメラの撮像面上での位置ずれ量を表し、これを視差と定義すると、三角形：Ｘ−ＯＲ−ＯＬと、三角形：ＯＬ−ＰＲ′−ＰＬは相似なので、基線長Ｂと焦点距離ｆが既知ならば、視差ｐの値から光学中心から被写体Ｘまでの距離dを、ｄ＝Ｂ×ｆ／ｐとして求めることができる。
【０００６】
ステレオカメラ装置は、多くの場合車両などの移動体に設置され、距離計測などのために利用される。このため、ステレオカメラ装置は、持続的な振動や温度変化などに曝される。平行ステレオカメラ装置が含む２台のカメラの光軸は、平行であることが、図７で説明したように測距計算の前提となっているので、光軸の平行度ずれ（一方のカメラの光軸に対する他方のカメラの光軸が平行ではなくなる方向への回転）、光学中心に対する撮像センサの横方向の位置ずれは、本来取得されるべき物体の像位置を視差方向に対して変位させてしまう。この様な光学系のアライメントのズレは、距離測定の重大な誤差を生じさせてしまうことになり、従来から視差オフセットと呼ばれる誤差として知られている。図７で説明したように、視差オフセットは、直接視差に反映されてしまうので、距離精度の劣化の大きな要因となる。
【０００７】
距離精度の劣化を防ぐためには、製造時でのパラメータの正確な調整が必要であるが、車両の運転にともなう振動、車体の歪みや温度変化などの経時変化により、配置の微小変化は避けられない。この理由から、ステレオカメラ装置の距離精度を保つため、ステレオカメラ装置の販売後に、距離が予めわかっている画像、すなわちテストチャートを利用して装置を校正する方法が考えられるが、校正期間中には、ステレオカメラ装置が利用できないことになるなど、利用者の利便性を大きく損なってしまう。
【０００８】
上述した不都合を改善するため、テストチャートを必要とせずに、走行中の周りの風景の特徴が既知な対象物（例えば距離の既知な白線や信号機や電柱）を利用して、校正する方法が既に提案されている。例えば、特開平１０−３４１４５８号公報（特許文献１）では、ステレオカメラ装置の設置方向のずれを検出するために、静止物体の形状を記憶しておき、記憶と照合して静止物体を認識し、速度センサなどから測定できる移動距離と認識静止物体との距離関係から視差オフセットを求める技術が開示されている。また、特許第３４３６０７４号明細書（特許文献２）では、複数の校正用撮影地点の同一の静止物体の画像および校正用撮影地点間の距離とを元に校正を行う車載ステレオカメラが記載されている。さらに、特開２００９−１７６０９０号公報（特許文献３）では、撮影された画像から対象物を検出して周囲環境を認識する環境認識装置が記載されている。さらに特願２００９−２８８２３３号明細書（特許文献４）では、カメラで撮影された画像の傾きを補正する技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来の技術では、高速道路などの予め距離の既知な白線を利用したり、信号機や電柱といった限られた物体しか静止対象物として認識できないので、視差オフセットを校正できる場所・タイミングが限られる。また、走行中の周りの風景は常に変化し、レンズの歪みにより画像中のどこに対象物があるかによって見え方も変化してしまうため、正確に静止物を認識する事が困難であるとともに、予め形状を記憶しておいた静止物のみにしか利用できないという問題があった。
【００１０】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、対象物の動静や形状、時間、場所を問わず、またステレオカメラ装置の機能を最大限に利用しながら視差オフセットを高精度に校正することを可能とする、ステレオカメラ装置、校正方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の物体までの距離検出を行うステレオカメラ装置は、基線長だけ離間して設置された２台のカメラと、演算部を備えている。演算部は画像処理部、オフセット値計算部、統計処理部、距離計算部を含んでいる。
【００１２】
本発明の画像処理部は、２台のカメラにより取得された撮像画像間での対応点を探索し、視差を計算し、対応点毎に取得された視差の値をオフセット値計算部に入力する。オフセット値計算部は、異なった時刻ｔ０、ｔ１の対応点の視差から、物体までの距離Ｚを使用することなく、ステレオカメラ装置を搭載した車両などの移動距離を使用して、対応点ｋについて視差の値を修正するオフセット値である視差オフセット値を対象点の個数１〜Ｎ分だけ計算する。
【００１３】
計算された視差オフセット値は、統計処理部に送付され、オフセット値計算手段の計算結果を視差オフセット値の出現頻度へと変換し、出現頻度は、統計解析されて校正パラメータとして使用する前記視差オフセット値の最適値が決定される。
【００１４】
距離計算部は、視差画像から測定したい対象物までの距離を、基線長、カメラの焦点距離、および統計処理部が決定した校正パラメータを使用して計算する。
【００１５】
また、本発明のステレオカメラ装置は、視差オフセット値の最適値を使用して距離測定のために利用する校正パラメータを修正する修正手段を含むことができる。本発明の修正手段は、モータステージまたはＮＶＲＡＭとすることができる。
【００１６】
さらに本発明は、上述の演算部を使用して校正パラメータｑを取得し、以後の距離計算に利用させることを可能とする校正方法およびプログラムを提供する。
【図面の簡単な説明】
【００１７】
【図１】本実施形態のステレオカメラ装置１００の構成を示す概略図。
【図２】本実施形態のステレオカメラ装置１００の詳細な機能ブロック２００を示す図。
【図３】本実施形態の対象点ｋ０について、視差ｐｋ０の関係を説明する図。
【図４】時刻ｔ０後、適切な時間間隔で取得された左右画像の実施形態を示す図。
【図５】本実施形態の校正方法の詳細なフローチャート。
【図６】本実施形態の校正方法により生成された頻度マトリックスを、視差オフセット値ｑkの最小値から最大値までの範囲で横軸に視差オフセットの値、縦軸に頻度Ａとして示した図。
【図７】ステレオカメラ装置を使用した距離測定の光学的関係を示した図。
【発明を実施するための形態】
【００１８】
以下、本発明を実施形態をもって説明するが、本発明は後述する実施形態によって限定されるものではない。図１は、本実施形態のステレオカメラ装置１００の構成を示す概略図である。ステレオカメラ装置１００は、２台のカメラ１０２、１０４を含んで構成されている。カメラ１０２、１０４は、デジタル出力のカメラとされていて、撮影した画像を、演算部１２０に渡し、演算部１２０が左右のカメラからの画像を利用した測距計算を実行することにより、カメラ１０２、１０４の光学中心から物体１０８までの距離Ｚを取得する。取得された距離は、演算部１２０に接続された外部装置（図示せず）に対して送付され、外部装置による距離Ｚの値を利用可能とさせている。また、演算部１２０を含むステレオカメラ装置１００は、ユーザインタフェースや外部装置との間のＩ／Ｏ制御を可能とする制御部（図示せず）からの制御により、距離計測、オフセット値測定およびパラメータ校正を実行する。
【００１９】
カメラ１０２、１０４は、レンズ１０２ａ、１０４ａの中心から計って基線長Ｂだけ離間して設置され、それぞれの光軸１１０、１１２が平行となるように配置されている。カメラ１０２、１０４は、物体１０８のそれぞれ右（Ｒ）画像および左（Ｌ）画像を取得するためにレンズ１０２ａ、１０４ａおよび光電変換素子１０２ｂ、１０４ｂを備えていて、シャッタ（図示せず）およびレンズ１０２ａを通過して光電変換素子上に結像した光イメージを光電変換し、デジタルデータとして記録する。記録された画像は、左右画像それぞれ演算部１２０に渡されて以後の測距計算および校正処理のために利用される。
【００２０】
カメラ１０２、１０４は、基線長Ｂだけ離間して配置され、それらの光軸１１０、１１２が平行となるように配置されている。そして各カメラ１０２、１０４は、焦点距離ｆを有するレンズ１０２ａ、１０４ａを備えている。この配置の光学中心から物体１０８までの距離Ｚは、左右のカメラ１０２、１０４によって取得する物体１０８の左右両画像中の物体１０８の視差ｐを使用して、下記式（１）で与えられる。なお、視差ｐとは、カメラ１０２、１０４が取得した物体１０８の画像中の位置の差として定義される。
【００２１】
【数１】
0005870510.tif 000002
【００２２】
光軸１１０、１１２は、正確な測距を行うためには、正確に平行とすることが必要とされる。しかしながら、製造時や設置時の設定状態によって正確な平行を確保することは困難である。このため、多くの場合、実際のステレオカメラ装置１００は、主として平行度に関連したパラメータを利用して正確な測距演算ができるように、校正パラメータｑを含む下記式（２）を利用して測距演算を行なっている。
【００２３】
【数２】
0005870510.tif 000003
上記式（２）中に出現するパラメータｑは、視差オフセットとして参照される校正パラメータである。本実施形態では、校正パラメータｑを、以下の手法で計算する事を特徴とする。異なる時刻の画像上で対応する点を求め、対応点ｋについて時刻異なる、すなわち、対応点ｋまでの自分の車の走行距離から、対応点ｋについて取得された視差オフセット値qkを画像全体に渡って求め、視差オフセット値ｑｋを統計処理し、画像から与えられる視差オフセット値ｑｋの最適値として校正パラメータｑを決定するものである。ステレオカメラ装置１００が設置された後、時間が経過すると、ステレオカメラ装置が搭載された車両の振動などの理由で、カメラ１０２、１０４の経時的な回転などにより平行度が変化する。図１では、カメラ１０４は、経時的に微少に回転し、位置１０６で示すように、その光軸の平行度が劣化した場合についても例示的に示されている。
【００２４】
この様な経時的な変化は、カメラ１０２においても発生することが想定されるので、従来のステレオカメラ装置１００では、定期的に予め距離の設定されたテストチャートを読み込んで視差オフセット値を取得し、取得された視差オフセット値で以前の校正パラメータｑを置換し、ＮＶＲＡＭといった不揮発性メモリに格納し、以後の測距演算に利用する。また、ステレオカメラ装置１００が光軸を修正することが可能なモータステージを備えている場合、モータ駆動のための制御データとして利用することができる。
【００２５】
図２は、本実施形態のステレオカメラ装置１００の詳細な機能ブロック２００を示す。ステレオカメラ装置１００は、カメラ１０２、１０４と、演算部１２０とを含んでいる。演算部１２０は、カメラ１０２、１０４に対して画像取得を指令すると共に、カメラ１０２、１０４が取得した画像を利用する測距演算およびパラメータ校正を行うための演算を実行する。
【００２６】
演算部１２０は、ワンチップマイコン、ＡＳＩＣ、車載組込コンピュータ、またはパーソナルコンピュータなどとして実装することができ、外部装置２３０と相互通信を行って演算部１２０が取得した画像を利用した距離計算の結果を外部装置２３０に送付し、外部装置２３０による距離Ｚを用いた各種の制御を可能とさせている。なお、外部装置２３０は、中央処理装置（ＣＰＵ）、ＲＡＭ、ＲＯＭ、ＵＳＢメモリなどその他のメモリ装置との間のメモリアクセスを可能とする演算部１２０は別体として構成されるか、または一体として構成される情報処理装置として実装することができる。
【００２７】
図２に示す演算部１２０は、その距離計算を実行する場合、左右のカメラ１０２、１０４が取得した画像を画像処理部２０２により画像解析し、左右のカメラ１０２、１０４が取得した画像に共通する対応点を決定する。そして、画像処理部２０２は、決定された物体の左右の同一の画素を対応点とし、対応点に関し、画像中での位置座標の差として視差ｐｋを計算する。なお、本実施形態においては、画像処理部２０２は、画像全体に渡って視差を計算させることが必要とされるので、撮像画像の対応点探索および視差計算の精度を向上させるため、公知の歪み補正処理などを適用することができる。
【００２８】
計算された視差ｐｋは、オフセット値計算部２０６に送られ、距離計算部２０８に送られる。オフセット値計算部２０６は、演算部１２０においてパラメータ校正処理を開始するタイミングの到来、またはパラメータ校正処理を開始するための外部からの割り込み信号を受領してパラメータ校正処理を開始する。それ以外の期間は、視差ｐｋのみを使用して距離測定を行う。パラメータ校正処理は、演算部１２０が、速度センサ２０４と、カメラ１０２、１０４が画像取得を行う時刻とを同期させることにより実行される。
【００２９】
距離計算部２０８は、オフセット値計算部２０６が距離計算を実行している場合には、オフセット値計算部２０６が受け取った視差ｐｋをそのまま受け取り、上記式（１）にしたがって、その時点で有効な校正パラメータｑを利用して距離Ｚを計算する。計算された距離Ｚは、インタフェース２１０を介して演算部１２０から外部装置２３０へと送付される。外部装置２３０は、距離Ｚを使用して、さらにアラーム、制動装置、エンジン制御など、他の車載装置の制御を行っている。
【００３０】
演算部１２０は、さらに統計処理部２４０を含んでいる。統計処理部２４０は、図２に示したオフセット値計算部２０６および速度センサ２０４と共に本実施形態のパラメータ校正手段を提供する。速度センサ２０４は、ステレオカメラ装置１００が搭載されている車両などの移動速度を検出する機能手段であり、車両の場合には、車速センサや、緯度経度座標の差と時刻ｔ０、ｔ１の時間差から速度を計算可能なＧＰＳ(Global Positioning System)装置の出力とすることもできる。さらに、他の実施形態では、速度センサ２０４は、ステレオカメラ装置１００の演算部１２０の組込み装置として実装することもできる。
【００３１】
本実施形態におけるパラメータ校正処理について、より具体的に説明する。本実施形態のパラメータ校正処理では、まず、演算部１２０が基準となる時刻ｔ０のカメラ１０２、１０４に対して画像取得を指令し、同時に速度センサ２０４に対して速度情報送付を要求する。
【００３２】
その後、設定された時間である時刻ｔ１で、演算部１２０は、カメラ１０２、１０４に対して画像取得を指令する。この結果、ステレオカメラ装置１００は、時刻ｔ０および時刻ｔ１の２つのカメラからの画像、つまり４枚の画像を取得する。時刻ｔ０の２つのカメラの画像は画像処理部で対応点探索がされ、視差画像が計算される。また、同様に時刻ｔ１の２つのカメラの画像も画像処理部で対応点探索がされ、視差画像が計算される。これらの視差画像はオフセット値計算部に入力される。また、時刻ｔ０とｔ１の視差画像の対応点を求めるため、視差画像だけではなく、視差画像を求める際に使用した撮影画像もオフセット値計算部に入力される。
【００３３】
一方、演算部１２０は、速度センサ２０４から取得した速度情報をオフセット値計算部２０６に設定し、カメラ１０２、１０４が取得した２つのカメラからの画像の２セットの共通する対応点についての視差値ｐ０、ｐ１をセットする。ｐ０は、時刻ｔ０における対応点ｋの視差であり、ｐ１は、時刻ｔ１における同一の対応点ｋの視差である。なお、以下の説明は、説明の明確化のため、対応点ｋにフィックスしたものとして説明する。
【００３４】
上述したようにして得られた視差ｐ０、ｐ１を使用し、オフセット値計算部２０６は、ｐ０およびｐ１を使用すると、時刻ｔ０とｔ１との間におけるそれぞれの距離Ｚ０、Ｚ１と時刻ｔ０、ｔ１それぞれの視差値ｐ０、ｐ１との関係は、下記式（３）で与えられる。
【００３５】
【数３】
0005870510.tif 000004
【００３６】
Ｚ０およびＺ１の走行距離Ｄは、対応点が静止物であれば、ステレオカメラ装置１００が搭載されている車両の移動距離であり、対応点が車両などの移動物であれば、相対速度を反映した距離となる。移動物の場合、ステレオカメラ装置１００に対する相対速度が異なるので、Ｚ１の値は、Ｚ０を中心として大小方向に分布することになる。
【００３７】
上記式（３）を使用すれば、走行距離Ｄは、Ｄ＝Ｚ０−Ｚ１で与えられ、既知のＢ、ｆおよび測定変数の視差ｐ０、ｐ１、および対応点ｋについての視差オフセット値ｑｋを使用して下記式（４）で与えられる。
【００３８】
【数４】
0005870510.tif 000005
【００３９】
上記式（４）は、変形により、視差オフセット値ｑｋを含む２次方程式に変換できる。そして、視差オフセット値ｑｋは、上記式（４）のｑｋについての２次方程式の解（ｑｋ≧０）として下記式（５）で与えられる。
【００４０】
【数５】
0005870510.tif 000006
【００４１】
この視差オフセット値ｑｋは、移動体相互の相対速度を反映し、必ずしも同一にはならないことは上述した通りである。本実施形態では、対応点ｋ（ｋ＝１〜Ｎ）毎に上述した関係式が与えられるので、対応点ｋ毎に校正パラメータの候補値として画像全体について視差オフセット値ｑｋを計算する。オフセット値計算部２０６は、上記式（５）の処理を実行している。
【００４２】
以下、本実施形態で使用される校正処理部について説明する。オフセット値計算部２０６の処理が終了すると、計算されたｑｋの値は、統計処理部２４０に送られる。統計処理部２４０は、計算されたｑｋの値を総当たり的にあらかじめ設定されたチャンクに帰属されるか否かを検査し、処理中のｑｋが、例えばチャンクＱｍ（ｍは、正の整数である。）帰属される場合、チャンクＱｍのカウント値をインクリメントし、チャンクＱｍに分類される視差オフセット値の個数をカウントし、視差オフセット値の頻度Ａｍを生成する。
【００４３】
そして、統計処理部２４０は、全対応点の処理を終了した時点のカウント値を、視差オフセット値の出現する頻度Ａｍを使用し、頻度マトリックスＦを下記式（６）として生成する。なお、Ｑｍは、視差オフセット値のチャンクを与え、当該チャンクＱｍは、校正パラメータｑを与えるためのインデックス値Ｉｍで参照され、Ｉｍ＝最小値＋Δ×Ｍで規定される値である。なお、チャンクＱｍについては、校正処理によって対応可能な視差オフセットの最大値を予め設定しておき、最大値までの区間にチャンク数ｍを均等に割り当てて頻度積算を行うことができる。この実施形態では、画像全体について視差オフセットが取得できていない場合でも頻度分布のピークと、残りのサンプル点の個数との比較で、最適値を効率的に決定することが可能となり、ステレオカメラ装置１００が校正処理のため距離測定ができない期間を最小化させることができる。なお、他の実施形態では、全画素について視差オフセットが計算できた後に頻度計算を実行することもできる。
【００４４】
【数６】
0005870510.tif 000007
【００４５】
上記頻度マトリックスＦは、校正パラメータｑを提供するための統計データを提供し、統計処理部２４０は、統計データを処理して最適値を得るためにこれまで知られたいかなる統計処理を使用することができる。この際の統計処理としては、例えば最頻値、中央値、平均値、重み付け平均値などを使用することができ、最頻値を利用する場合、視差オフセット値ｑｋは、ｆｍａｘを与えるインデックス値Ｉｍａｘとして決定することができる。この他にも、視差オフセット値ｑｋを、正規分布を仮定した回帰分析、多項式分布を使用した回帰分析、２項分布、χ２乗分布、ポアッソン分布、β分布など、分布関数を利用した回帰分析により取得するなど、いかなる統計モデルであっても利用することができる。
【００４６】
統計処理において、分散を計算し、分散の値が予め設定された視差オフセット値ｑｋの振れ幅に対して一定以上の割合を有する場合には、それまでの結果を廃棄し、再度時間をおいて処理を再実行することで、不適当な値が校正パラメータｑとして採用されてしまうことを防止することもできる。大きな衝撃によってカメラ間の位置関係が大きく変わるときには視差オフセット値の初期値からの変化は大きくなり、経年変化などでは視差オフセット値ｑｋの変化は小さくなるはずである。よって視差オフセット値ｑｋの振れ幅の設定値はどのような変化を検知したいかによって決まる。
【００４７】
また、他の実施形態では、正規分布を仮定して統計解析を行う場合、現在有効な校正パラメータｑを取得したときの標準偏差σｐａｓｔを記憶させておき、今回取得した値の検査を行って、値の採否を決定することもできる。
【００４８】
校正パラメータｑは、下記式（７）を使用してカメラ１０２、１０４の光軸のズレ角に変換することができる。
【００４９】
【数７】
0005870510.tif 000008
【００５０】
校正パラメータｑから得た角度θは、ステレオカメラ装置１００がカメラ駆動システムを有している場合には、モータステージを駆動させる量として、モータに送付される。また、ステレオカメラ装置１００がカメラ駆動システムを有していない場合には、距離計算部２０８に送られ、以後の距離Ｚの計算に使用する校正パラメータとして、ＮＶＲＡＭ２３４などに格納される。距離計算部２０８の取得した距離Ｚは、インタフェース２１０を介して演算部１２０から外部装置２３０に送付され、距離を使用した各種制御のために利用される。
【００５１】
本実施形態では、カメラ１０２、１０４で撮影された画像の対応点は画素単位で探索することもできるし、処理速度の観点から、左右の画像をメッシュ分解し、メッシュの輝度、色相、色分布などを計算し、メッシュ単位で対応点を探索することもできる。
【００５２】
図３は、本実施形態が利用する対応点ｋ０について、視差ｐｋ０との関係を説明する図である。ステレオカメラ装置１００は、左右のカメラ１０２、１０４で取得した左右画像それぞれに対してメッシュを割り当てた後、左右画像の対応点（メッシュ）を探索する。左右画像の対応点の探索は、メッシュ毎に計算された輝度、色相、色分布などを利用して行うことができる。基線長Ｂにも依存するが、左右画像はそれほど大きくずれないので、本実施形態の探索は、例えば左画像で決定した対応点に対して、周囲の数メッシュ程度の近傍探索で終了することができる。
【００５３】
図３（ａ）は、説明のために左右画像における対応点の状態を示している。左右画像を重畳すると、左画像の特徴点と右画像の特徴点とは、ほぼ数メッシュの範囲内に存在する。そして、ステレオカメラ装置１００のカメラ１０２、１０４の基線が水平とされている場合、カメラの設置されている側から見て視線のズレの方向に探索すれば効率的に対応点を発見することができる。図３（ａ）では、左右画像の視差を略リアルスケールで示しているので、明確に示されていない。図３の円３００の内を拡大して示したのが図３（ｂ）である。図３（ｂ）に示すように、対応点ｋｒ０、ｋｌ０は、水平方向に近接して存在し、対応点ｋｒ０、ｋｌ０の画像中の位置ずれが、視差ｐｋ０を与える。なお、時刻ｔ１での対応点については、ｋｒ１およびｋｌ１で示す。そして、対応点ｋの時刻ｔでの視差をｐｋｔとすると、ｐｋｔ＝ｋｒｔ−ｋｌｔで与えられる。実施形態においては、画像全体に渡って視差を計算することから、撮像画像の対応点探索および視差計算の精度を向上させるために、公知の歪み補正処理などがされている事が望ましい。
【００５４】
図４は、時刻ｔ０後、適切な時間間隔で取得された左右画像の実施形態を示す。時間の経過に対応して、相対速度の相違に対応した物体の位置変化が生じている。ただし、図４に示す実施形態では、時間経過が僅かなので、左右画像４１０、４２０は、図３の画像と略同一の画像となっている。時刻ｔ０と時刻ｔ１との差は、時刻ｔ０と時刻ｔ１とで画像エッジ付近で対応点が存在しなくなる、すなわち探索失敗が発生しない程度の差とすることが好ましく、あまり長いと精度が低下するし、また短すぎると充分な視差の差が得られないので、速度センサ２０４などのログデータを参照して、速度の大小に応じて、視差の差が得られ、かつ対応点探索の失敗が発生しない程度の差となるように適宜設定することが望ましい。
【００５５】
本実施形態では、同一時刻に取得した右画像および左画像を左右画像中の同一の物体を識別できる限り、物体を構成する特定の画素の画像中の位置をそのまま使用することもできるし、他の実施形態では、画像をメッシュ分割した後、当該メッシュ内に含まれる画素をメッシュ内で平均化し、メッシュの位置座標を使用することもできる。以下、メッシュ自体またはメッシュが含む画素または画素領域を総合して本実施形態で計算の基準となる対応点として参照する。
【００５６】
本実施形態でメッシュ分割する際のサイズは特に限定はないが、メッシュ分割を細かくしすぎると、左右画像中における処理対象である対応点の探索に時間がかかり、大きくしすぎると、校正精度を低下させる。このため、画像のサイズにもよるが、本実施形態においてメッシュ分割を適用する場合、縦横１００メッシュ、画像全体で１０，０００メッシュ程度に分割することができる。
【００５７】
図５は、本実施形態のオフセット値計算部の処理の詳細なフローチャートである。図５の処理は、ステップＳ５００から開始し、ステップＳ５０１で、画像処理部から時刻ｔ０の撮像画像と視差画像を取得する。ステップＳ５０２では、時刻ｔ１の撮像画像と視差画像を取得する。ステップＳ５０３では、速度センサからの情報から時刻ｔ０から時刻ｔ１間の自分の車の走行距離Ｄを計算し、ステップＳ５０４では、時刻ｔ０と時刻ｔ１の撮像画像から異なる時刻の画像の対応点探索を行う。
【００５８】
探索は、時間を隔てた時刻ｔ０と時刻ｔ１の撮像画像としてカメラ１０２とカメラ１０４の画像があるが、１０２または１０４の片方のカメラの画像間で対応点探索を行ってもよいし、両方のカメラの画像から対応点探索を行ってもよい。対応点探索には、ＳＡＤ(sum of absolute difference)やＰＯＣ(位相限定相関)などの周知の技術を利用する事ができる。時刻間画像における対応点を対応点ｋ（ｋ＝１〜Ｎ）と記述する。
【００５９】
ステップＳ５０５とＳ５０６では、ステップＳ５０４で探索した時刻間画像の対応点ｋにおける視差値を求める。ステップＳ５０５では時刻ｔ０の視差画像から対応点ｋにおける視差値ｐｋ０を取得し、Ｓ５０６では時刻ｔ１の視差画像から対応点ｋにおける視差値ｐｋ１を取得する。
【００６０】
ステップＳ５０７ではステップＳ５０５とＳ５０６で求めた対応点ｋの時刻ｔ０での視差値ｐｋ０と時刻ｔ１での視差値ｐｋ１と自分の車の走行距離Ｄから、上記式（５）より、視差オフセット値ｑｋを算出する。ここで、対応点ｋは画像全体に渡って複数あるので視差値ｐｋ０と視差値ｐｋ１は複数あるが、時刻ｔ０とｔ１間の自分の車の走行距離の値は一つの同じ値Ｄである。ステップＳ５０８では、ステップＳ５０７で計算された視差オフセット値ｑｋが統計処理部に出力される。
【００６１】
ステップＳ５０９では、画像全体に渡って複数ある対応点ｋの視差オフセット値ｑｋの計算が全て終了したか否かを判断する。計算が終了していない場合にはＳ５０５に戻し、全対応点の計算が終了するまで処理を反復する。一方、ステップＳ５０９で全対応点の計算が終了したときには、そこでオフセット値計算部の処理は終了となる。この終了時には時刻ｔ０とｔ１に対応する画面全体の視差オフセット値が統計処理部に出力されている状態となっている。
【００６２】
図６は、本実施形態の校正方法により生成された頻度マトリックスを、視差オフセット値ｑｋの最小値から最大値までの範囲で横軸に視差オフセットの値、縦軸に頻度Ａとして示した図である。図６の実施形態では、視差オフセット値ｑｋは、対応点毎の相対速度に対応して、分布する。ステレオカメラ装置１００は、対応点毎について得られる視差オフセット値ｑｋの値を、出現頻度のヒストグラムとして統計処理する。この際、視差オフセット値ｑｋは、その値毎に特定のチャンクＱｍに累積カウントされて行き、全対応点の計算が終了した時点で、インデックス値Ｉｍを有し、幅がΔのヒストグラムを与える。図６に示した分布を統計解析することによって、最適値を、校正パラメータｑとして取得する。なお、校正パラメータｑは、インデックス値Ｉｍの値をそのまま使用して決定することもできるし、重み付け平均などを利用する場合は、Ｉｍではない正の実数を利用することもできる。
【００６３】
なお、本実施形態の他の実施形態では、頻度ヒストグラムとすることなく散布図のままＮ個の視差オフセット値ｑｋを一括して統計解析することにより、最適値解析を行うことができることは、言うまでもないことであり、演算部１２０の能力やメモリ容量などに応じて適宜最適な統計解析手法を利用することができる。
【００６４】
以上のように、本発明によれば、対象物の動静や形状を問わず、対象物との相対距離を精度良く取得せず、時間、場所を問わず、またステレオカメラ装置の機能を最大限に利用しながら視差オフセットを高精度に校正することを可能とする、ステレオカメラ装置、校正方法およびプログラムを提供することができる。
【００６５】
本実施形態の上記機能は、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）などのプログラミング言語やアセンブラ言語などで記述された装置実行可能なプログラムにより実現でき、プログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００６６】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００６７】
１００  ステレオカメラ装置
１０２  カメラ
１０２ａ  レンズ
１０２ｂ  光電変換素子
１０４  カメラ
１０６  位置
１０８  物体
１１０  光軸
１２０  演算部
２００  機能ブロック
２０２  画像処理部
２０４  速度センサ
２０６  オフセット値計算部
２０８  距離計算部
２１０  インタフェース
２３０  外部装置
２３４  ＮＶＲＡＭ
２４０  統計処理部
【先行技術文献】
【特許文献】
【００６８】
【特許文献１】特開平１０−３４１４５８号公報
【特許文献２】特許第３４３６０７４号明細書
【特許文献３】特開２００９−１７６０９０号公報
【特許文献４】特願２００９−２８８２３３号明細書
【図１】
0005870510.tif 000009
【図２】
0005870510.tif 000010
【図３】
0005870510.tif 000011
【図４】
0005870510.tif 000012
【図５】
0005870510.tif 000013
【図６】
0005870510.tif 000014
【図７】
0005870510.tif 000015