(57)【要約】【課題】ステレオカメラを用いた距離測定装置において、ステレオカメラの視差検出誤差の補正精度を高め、距離測定精度を向上させる。【解決手段】取り得る複数の設計視差値に応じて、ステレオカメラと補正用被写体との距離を設定し、各距離にて、ステレオカメラで補正用被写体を撮影して、各水平座標値毎の実視差値を検出する。そして、複数の設計視差値毎に、該設計視差値と水平座標値に対応する実視差値を示す実視差測定値テーブルを生成し、該実視差測定値テーブルから、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する視差補正量を示す視差補正テーブルを生成する。【選択図】図１
2014006179.tif 000002
【特許請求の範囲】
【請求項１】
２つ１組のカメラからなるステレオカメラの視差検出誤差を補正するための補正値を生成するステレオカメラキャリブレーション装置であって、
複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する当該実視差値の補正値を生成することを特徴とするステレオカメラキャリブレーション装置。
【請求項２】
複数の設計視差値に対応づけて、ステレオカメラと補正用被写体との距離を複数設定する手段と、
前記設定された各距離で、前記ステレオカメラにより前記補正用被写体を撮影して取得されたステレオ画像から、各水平座標値毎の実視差値を検出する手段と、
前記検出された実視差値をもとに、複数の設計視差値毎に、該設計視差値と水平座標値に対応する実視差値を示す実視差測定値テーブルを生成する手段と、
前記実視差値測定値テーブルから、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する当該実視差値の補正値を示す視差補正テーブルを生成する手段と、
を有することを特徴とする請求項１記載のステレオカメラキャリブレーション装置。
【請求項３】
前記視差補正テーブルは、各実視差値毎かつ各水平座標値毎に、当該実視差値近傍の２つの設計視差値に対応する２つの実視差値を補間処理して補正値を算出して生成することを特徴とする請求項２記載のステレオカメラキャリブレーション装置。
【請求項４】
前記実視差値を検出する手段は、各距離毎に、各水平座標値かつ各垂直座標値毎の実視差値を検出し、
前記実視差測定値テーブルを生成する手段は、設計視差値と垂直座標値かつ垂直座標値に対応する実視差値を示す実視差測定値テーブルを生成し、
前記視差補正テーブルを生成する手段は、実視差値と水平座標値かつ水平座標値に対応する補正値を示す視差補正テーブルを生成することを特徴とする請求項２もしくは３に記載のステレオカメラキャリブレーション装置。
【請求項５】
２つ１組のカメラからなるステレオカメラの視差検出誤差を補正するための視差補正テーブルを生成するステレオカメラキャリブレーション方法であって、
複数の設計視差値に対応づけて、ステレオカメラと補正用被写体との距離を複数設定し、
前記設定された各距離で、前記ステレオカメラにより前記補正用被写体を撮影して取得されたステレオ画像から、各距離毎に、各水平座標値毎の実視差値を検出し、
前記検出された実視差値をもとに、複数の設計視差値毎に、該設計値視差値と水平座標値に対応する実視差値を示す実視差測定値テーブルを生成し、
前記実視差値測定値テーブルから、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する当該実視差値の補正値を示す視差補正テーブルを生成する、
ことを特徴とするステレオカメラキャリブレーション方法。
【請求項６】
２つ１組のカメラからなるステレオカメラと、
複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する当該実視差値の補正値を示す視差補正テーブルを保持する手段と、
前記ステレオカメラにより被写体を撮影して取得されたステレオ画像から、水平座標値毎の視差値を検出する手段と、
前記検出された視差値について、前記視差補正テーブルから該視差値に対応する補正値を取得して、該視差値を補正する手段と、
前記補正された視差値を用いて、ステレオカメラと被写体との距離を計算する手段と、
を有することを特徴とする距離測定装置。
【請求項７】
前記視差補正テーブルは、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値かつ垂直座標値に対応する補正値を示し、
前記視差値を検出する手段は、前記ステレオ画像から、水平座標値と垂直座標値毎の視差値を検出する、
ことを特徴とする請求項６記載の距離測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラの視差検出誤差を補正するためのステレオカメラキャリブレーション装置及び方法、並びにステレオカメラを用いた距離測定装置に関する。
【背景技術】
【０００２】
近年、２つ１組のカメラからなるステレオカメラを自動車などの移動体に搭載して、該ステレオカメラにて移動体前方等を撮影し、該撮影したステレオ画像から対象物までの距離を測定し、その測定結果に応じて衝突防止のために運転者に警告を行ったり、車間距離維持のためにブレーキ、ステアリングなどの制御を行う運転支援システムが実用化されている。
【０００３】
このような運転支援システムでは、２つのカメラからなるステレオカメラで同一対象物を撮影して得られたステレオ画像の一方を基準画像、他方を参照画像として、ブロックマッチングによる対応点探索を行って対応点の位置ずれ量（視差）を検出し、三角測量の原理により対象物までの距離を計算している。
【０００４】
図１０は、ステレオカメラを利用した距離測定の原理説明図である。ステレオカメラは２つのカメラ１１，１２を光軸に平行に配置して構成される。ここで、対象物までの距離Ｚは、カメラ１１，１２の光軸間の距離（基線長）Ｂ、焦点距離ｆ、視差ｄから、
【０００５】
【数１】
2014006179.tif 000003
として計算される。したがって、基線長Ｂと焦点距離ｆが既知ならば、視差ｄから距離Ｚを求めることができる。
【０００６】
ステレオカメラを利用した距離測定では、距離Ｚの精度は視差ｄに依存する。このため、ステレオカメラで撮影して得られたステレオ画像の２つの画像間には、距離に応じて生じる本来の視差以外の位置ずれに依存しないことが理想であるが、現実にはレンズの光学的歪み等による位置ずれが存在する。レンズの光学的な歪み等による位置ずれにより、正しく視差が検出されないと、測距精度が低下し、運転支援システムの信頼性や安全性が損なわれてしまう。
【０００７】
そこで、例えば特許文献１では、比較画像の所定領域毎の微小実画角と設計上の理想画角の比を測定して事前に画角修正比テーブルとして保持しておき、ステレオカメラで撮像した基準画像及び比較画像から対応点マッチングにより検出した視差データについて、画角修正比テーブルを用いて補正することで、レンズの歪みや組み付け誤差による影響を軽減し、距離測定精度を向上させることを提案している。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１１は、基準画像用カメラと比較画像用カメラの光学系（レンズ）と被写体の位置関係を示した図である。図１１のように、比較画像用光学系に対して同じ方向で異なる距離にある被写体ａ，ｂは、該比較画像用光学系を通して撮像素子（センサ）上でＸａ’，Ｘｂ’に結像されるとき、Ｘａ’＝Ｘｂ’である。しかし、基準画像用光学系では、被写体ａ，ｂは異なった方角から入射するため、それぞれ図中のＸａ，Ｘｂのように、センサ上で異なった位置に結像される。このように、基準画像用カメラへの結像位置は、比較画像用カメラの結像位置のみからは決定されない。
【０００９】
特許文献１の従来技術では、画角修正比テーブルを用いて比較画像の結像位置Ｘａ’，Ｘｂ’を補正している。この場合、被写体ａ，ｂとも同じずれ補正量が得られる。しかし、視差は基準画像用カメラ及び比較画像用カメラの結像位置の差（例えば、被写体ａであればＸａ’−Ｘａ）により求められることから、基準画像のＸａやＸｂのずれもＸａ’，Ｘｂ’と同様に視差値に影響を与える。
【００１０】
特許文献１に記載の従来技術の場合、画角修正比テーブルの作成時に使用したデータ計測用スクリーンの距離と一致しない被写体は、視差が基準画像用光学系の歪み等の影響を受けてしまう。
【００１１】
本発明の課題は、ステレオカメラを構成する２つのカメラの視差検出誤差の補正精度を高め、距離測定精度を向上させることにある。
【課題を解決するための手段】
【００１２】
本発明は、２つ１組のカメラからなるステレオカメラの視差検出誤差を補正するための補正値を生成するステレオカメラキャリブレーション装置において、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する当該実視差値の補正値を生成することを特徴とする。
【００１３】
一実施形態に係るステレオカメラキャリブレーション装置では、複数の設計視差値に対応づけて、ステレオカメラと補正用被写体との距離を複数設定する手段と、前記設定された各距離で、前記ステレオカメラにより前記補正用被写体を撮影して取得されたステレオ画像から、各水平座標値毎の実視差値を検出する手段と、前記検出された実視差値をもとに、複数の設計視差値毎に、該設計視差値と水平座標値に対応する実視差値を示す実視差測定値テーブルを生成する手段と、前記実視差値測定値テーブルから、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する当該実視差値の補正値を示す視差補正テーブルを生成する手段とを有する。
【発明の効果】
【００１４】
本発明によれば、被写体とステレオカメラの距離及び水平座標値毎に実視差値を検出して補正量を算出するので、ステレオカメラの視差検出誤差の補正精度を高め、距離測定精度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るキャリブレーション装置の全体的ブロック図である。
【図２】本実施形態のキャリブレーションの説明図である。
【図３】実視差測定値テーブルの構成図である。
【図４】視差補正テーブルの構成図である。
【図５】実視差測定値テーブル生成の処理フローチャートである。
【図６】実視差測定値テーブルから視差補正テーブルを生成する説明図である。
【図７】視差補正テーブル生成の処理フローチャートである。
【図８】本発明の実施形態に係る距離測定装置のブロック図である。
【図９】距離測定の処理フローチャートである。
【図１０】視差から距離を計算する説明図である。
【図１１】従来技術の問題を説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態について説明する。なお、実施理形態では、取り得る視差値の範囲は０〜６４とするが、勿論、これに限らない。
【００１７】
＜キャリブレーション＞
図１は、本実施形態に係るキャリブレーション装置の全体機能ブロック図である。本キャリブレーション装置は、補正用被写体としてのキャリブレーション用チャート１００、左カメラ１１と右カメラ１２からなるステレオカメラ１０、ステレオカメラ１０で撮影されたステレオ画像の視差を検出する視差検出部２０、設計上の視差値（設計視差値）と実測された視差値（実視差値）の対応を示す実視差測定値テーブル４２を生成する実視差測定値テーブル生成部３０、生成された実現差測定値テーブル４２を一時的に記憶するメモリ（１）４０、実視差測定値テーブル４２から、ステレオカメラカメラ１０が実際に被写体を撮影して得られた視差値を補正するための視差補正テーブル６２を生成する視差補正テーブル生成部５０、生成された視差補正テーブル６２を最終的に記憶するメモリ（２）６０、全体の動作を制御する制御部９０、及び、ステレオカメラ１０とキャリブレーション用チャート１００との距離を制御する距離制御機構９５などで構成される。
【００１８】
ここで、図１中のステレオカメラ１０、距離制御機構９５及びキャリブレーション用チャート１００を除く各部は、一般にコンピュータ装置で構成される。すなわち、視差検出部２０、実視差測定値テーブル生成部３０、視差補正テーブル生成部５０及び制御部９０は、ＣＰＵとプログラム等に基づいて各処理機能が実現される。メモリ（１）４０はＲＡＭ等の揮発性メモリであり、これには実視差測定値テーブル４２のほかに、ＣＰＵでの処理途中のデータ等も格納される。また、メモリ（２）６０は、ＥＰＲＯＭ，ＥＰＰＲＯＭ等の不揮発性メモリであり、これには視差補正テーブル６２のほかに、ＣＰＵで実行されるプログラム、該ＣＰＵでの処理に必要なパラメータ等も格納される。
【００１９】
図２は、キャリブレーション時、ステレオカメラ１０とキャリブレーション用チャート１００との距離を設定する様子を説明する図である。図２に示すように、本実施形態では、キャリブレーション時、設計上の視差値をｄとして、ｄを６４，６３，・・・，ｉ，・・・と変化させて、ステレオカメラ１０とキャリブレーション用チャート１００の距離ＺをＢｆ／６４，Ｂｆ／６３，・・・，Ｂｆ／ｉ，・・・と順次切り替えて設定し、各距離毎に、ステレオカメラ１０で撮影されたキャリブレーション用チャート１００の画像の水平座標値（水平画素位置）毎の視差を実測する。そして、水平座標値毎、設計上の視差値（設計視差値）と実測された視差値（実視差値）の対応を示す実視差測定値テーブル４２を生成し、この実視差測定値テーブル４２をもとに、ステレオカメラ１０が実際に被写体を撮影して得られた視差値を補正するための視差補正テーブル６２を生成する。
【００２０】
図３は実視差測定値テーブル４２の構成例を示した図である。図３に示すように、実視差測定値テーブル４２は、設計値の視差（設計視差値）ｄと撮像画像のｘ座標（水平座標値ｘ）の二次元テーブルである。キャリブリレーションで実測された視差値（実視差値）は、二次元配列ｍ（ｘ，ｄ）で表わす。ここで、ｍ（１，６４），ｍ（２，６４），・・・は、設計視差値ｄ＝６４として、ステレオカメラ１０とキャリブレーション用チャート１００の距離Ｚ＝Ｂｆ／６４とした時に、水平座標値ｘが１，２，・・・の位置での実視差値を示している。同様に、ｍ（１，ｉ），ｍ（２，ｉ），・・・は、設計視差値ｄ＝ｉとして、ステレオカメラ１０とキャリブレーション用チャート１００の距離Ｚ＝Ｂｆ／ｉとした時に、座標値ｘが１，２，・・・の位置での実視差値を示している。
【００２１】
図４は視差補正テーブル６２の構成例を示した図である。図４に示すように、視差補正テーブル６２は、実視差値ｄ’と撮像画像のｘ座標（水平座標値ｘ）の二次元テーブルである。ステレオカメラ１０で実際に被写体を撮影して得られた視差値（実視差値）を補正する際に必要とする補正値（視差補正量）は二次元配列Δｄ（ｘ，ｄ’）で表わす。ここで、Δｄ（１，６４），Δｄ（２，６４），・・・は、実視差値ｄ’＝６４で、水平座標値ｘが１，２，・・・での各位置における設計上の視差値との差を示している。同様に、Δｄ（１，ｉ），Δｄ（２，ｉ），・・・は、実視差値ｄ’＝ｉで、水平座標値ｘが１，２，・・・での各位置における設計上の視差値との差を示している。したがって、水平座標値に応じ、実視差値からΔｄだけ引けば、距離に応じて生じる本来の視差が得られる。
【００２２】
図１に戻り、本キャリブレーション装置の動作を詳しく説明する。動作は、図３の実視差測定値テーブル４２の生成処理と図４の視差補正テーブル６２の生成処理に大別される。
【００２３】
初めに、実視差測定値テーブル４２の生成処理について詳述する。図５は、実視差測定値テーブル生成の処理フローチャートである。
【００２４】
制御部９０は、まず、設計上の視差値（設定視差値）ｄを取り得る最大値ｄmax（ここでは、ｄmax＝６４）に設定し（ステップ１０１）、ステレオカメラ１０とキャリブレーション用チャート１００の距離Ｚを計算する（ステップ１０２）。先に述べたように、距離Ｚは、Ｚ＝Ｂｆ／ｄとして計算される。Ｂはステレオカメラ１０を構成するカメラ１１，１２の基線長、ｆは焦点距離である。
【００２５】
制御部９０は、設計上の視差値（設計視差値）ｄを実視差測定値テーブル生成部３０に送り、また、計算した距離値Ｚを距離制御機構９５に送る。
【００２６】
距離制御機構９５は、制御部９０からの距離値Ｚに基づき、ステレオカメラ１０までの距離がＺになるようにキャリブレーション用チャート１００を移動する（ステップ１０３）。これは、例えば、次のようにして実施する。キャリブレーション用チャート１００にレーザ距離計を取り付けて、該レーザ距離計でキャリブレーション用チャート１００とステレオカメラ１０の距離を測定する。距離制御機構９５が、レーザ距離計から測距値を受け取り、該測距値が制御部９０から送られた距離値Ｚと一致するように、キャリブレーション用チャート１００を駆動する。なお、キャリブレーション用チャート１００を移動する台車などにエンコーダを取り付けて、該エンコーダでキャリブレーション用チャート１００とステレオカメラ１０の距離を測定することでもよい。
【００２７】
ステレオカメラ１０とキャリブレーション用チャート１００の距離Ｚが設定されると、制御部９０はステレオカメラ１０に撮影開始を指示する。ステレオカメラ１０の左カメラ１１と右カメラ１２は、両者の光軸が平行に所定の間隔（基線長）を置いて配置されている。これら左カメラ１１と右カメラ１２は、互いに同期して動作して、それぞれ異なる視点から補正用被写体のキャリブレーション用チャート１００を撮影し、その光学像をアナログ電気信号に変換し、更にデジタル信号に変換して画像データを出力する（ステップ１０４）。画像データは、例えば８ビット／画素からなる。
【００２８】
視差検出部２０は、左カメラ１１と右カメラ１２からそれぞれ出力される画像データ（ステレオ画像データ）を入力し、以下のようにして、画像の水平座標値毎（水平画素毎）の視差（実視差値）を検出する。なお、ここでは左カメラ１１の画像データを基準画像、右カメラ１２の画像データを比較画像とするが、この逆でもよい。
【００２９】
視差検出部２０は、まず、基準画像（左カメラ１１の画像データ）の水平座標値ｘを最小位置ｘminに設定する（ステップ１０５）。そして、視差検出部２０は、基準画像の水平座標値ｘ（ここではｘ＝ｘmin）に対応する比較画像（右カメラ１２の画像データ）上の対応点（対応点水平座標値）ｘ’を探索し（ステップ１０６）、対応点が見つかったならば、両者の差（ｘ−ｘ’）、すなわち、視差（実視差値）ｄ’を算出する（ステップ１０７）。対応点探索には、周知のブロックマッチング手法を利用する。
【００３０】
視差検出部２０は、水平座標値ｘ、及び、算出された視差（実視差値）ｄ’を実視差測定値テーブル生成部３０に送る。実視差測定値テーブル生成部３０には、制御部９０から設計視差値ｄ（ここでは、ｄ＝６４）が送られている。実視差測定値テーブル生成部３０は、メモリ（１）４０の実視差測定値テーブル４２内のカラムがｄ（ここでは６４）で、ローがｘ（ここでは、ｘ＝ｘmin）の記憶領域に実視差値ｄ’を書き込む（ステップ１０８）。すなわち、ｍ（ｘ，ｄ）＝ｄ’とする。なお、メモリ（１）４０内の実視差測定値テーブル４２は、最初は空である。
【００３１】
次に、視差検出部２０は、基準画像（左カメラ１１の画像データ）の水平座標値ｘを（ｘ＋１）とする（ステップ１０９）。そして、該水平座標値ｘが最大値ｘmaxを超えるか判定し（ステップ１１０）、超えなければ、ステップ１０６に戻る。
【００３２】
以下、水平座標値ｘが最大値ｘmaxになるまで、ステップ１０６〜１０９の処理を繰り返すことで、メモリ（１）４０の実視差測定値テーブル４２内に、設計視差値ｄ（ここでは、ｄ＝６４）に対応する水平座標値ｘmin，・・・，ｘmax毎の実視差値ｄ’が書き込まれる。
【００３３】
水平座標値ｘが最大値ｘmaxを超えたならば、制御部９０は、設計視差値ｄを（ｄ−１）とする（ステップ１１１）。すなわち、ｄ＝６３とする。そして、該設計視差値ｄが最小値ｄmin未満になるか判定し（ステップ１１２）、最小値ｄmin以上の場合には、ステップ１０２に戻る。
【００３４】
以下、設計視差値ｄが最小値ｄminになるまで、ステップ１０２〜１１１の処理を繰り返すことで、メモリ（１）４０の実視差測定値テーブル４２内の、設計視差値ｄが６４，６３，・・・，ｉ・・・毎に、水平座標値ｘがｘmin，・・・，ｘmax毎の実視差値ｄ’（ｄ’＝ｍ（ｘ，ｄ））が書き込まれる。すなわち、図３に示す実視差測定値テーブル４２が生成される。
【００３５】
次に、視差補正テーブル６２の生成処理について詳述する。視差補正テーブル６２は、実視差測定値テーブル５２から補間処理により生成する。
【００３６】
図６は、設計視差ｄと実視差ｄ’の座標系を想定し、キャリブレーションによって得られた実視差測定値テーブル５２について、ある水平座標値ｘにおける実視差値ｄ’（ｄ’＝ｍ（ｘ，ｄ））をプロットした様子を示している。図６により、ある水平座標値ｘにおける実視差値ｉに対する補正値（視差補正量）Δｄ（ｘ，ｉ）は、
【００３７】
【数２】
2014006179.tif 000004
として算出される。ここで、ｉ＝０〜６４である。
【００３８】
図７は、視差補正テーブル生成の処理フローチャートである。これは、制御部９０の制御下でもって、視差補正テーブル生成部５０で実施される。
【００３９】
視差補正テーブル生成部５０は、まず、水平座標値ｘを最小水平座標値ｘminに設定し（ステップ２０１）、実視差値ｄ’を取り得る最小実視差値ｄ’minに設定する（ステップ２０２）。そして、ｉを0に初期設定する（ステップ２０３）。
【００４０】
視差補正テーブル生成部５０は、メモリ（１）４０内の実視差測定値テーブル４２について、
ｍ（ｘ，ｉ）＜ｄ’  かつ  ｄ’≦ｍ（ｘ，ｉ＋１）
の条件を満足する実視差値ｍ（ｘ，ｉ）とｍ（ｘ，ｘ＋１）の組があるか調べる（ステップ２０４）。なければ、ｉをｉ＋１として（ステップ２０５）、ステップ２０４に戻る。
【００４１】
視差補正テーブル生成部５０は、上記条件を満足する実視差値ｍ（ｘ，ｉ）とｍ（ｘ，ｉ＋１）の組が見つかれば、先の（２）式により、補正値Δｄ（ｘ，ｉ）を計算する（ステップ２０６）。そして、視差補正テーブル生成部５０は、メモリ（２）６０の視差補正テーブル６２内のカラムがｄ’（ここでは、ｄ’＝ｄ’min）で、ローがｘ（ここでは、ｘ＝ｘmin）の記憶領域に、算出された補正値Δｄ（ｘ，ｉ）を書き込む。なお、メモリ（２）６０内の視差補正テーブル６２は、最初は空である。
【００４２】
次に、視差補正テーブル生成部５０は、実視差値ｄ’を（ｄ’＋１）とする（ステップ２０７）。そして、該実視差値ｄ’が取り得る最大実視差値ｄ’max（ここでは、ｄ’max＝６４）を超えるか判定し（ステップ２０８）、超えなければ、ステップ２０３に戻る。
【００４３】
以下、視差補正テーブル生成部５０が、実視差値ｄ’が最大視差値ｄ’maxになるまで、ステップ２０３〜２０７の処理を繰り返すことで、メモリ（２）６０の視差補正テーブル６２内に、水平座標値ｘ（ここでは、ｘ＝ｘmin）に対応する実視差値ｄ’がｄ’min，・・・，ｉ，・・・，ｄ’max（６４）ごとの補正値（視差補正量）Δｄが書き込まれる。
【００４４】
実視差値d’が最大視差値ｄ’max（ここでは、ｄ’max＝６４）を超えたならば、視差補正テーブル生成部５０は、水平座標値ｘを（ｘ＋１）とする（ステップ２０９）。そして、該水平座標値ｘが最大水平座標値ｘmaxを超えるか判定し（ステップ２１０）、超えなければ、ステップ２０２に戻る。
【００４５】
以下、視差補正テーブル生成部５０が、水平座標値ｘが最大水平座標値ｘmaxになるまで、ステップ２０２〜２０９の処理を繰り返すことで、メモリ（２）６０の視差補正テーブル６２内に、水平座標位置ｘがｘmin，・・・，ｘmaxに対応して、実視差値ｄ’がｄ’min，・・・，ｉ，・・・，６３，６４毎の補正値（視差補正量）Δｄ（ｘ，ｉ）が書き込まれる。すなわち、図４に示す視差補正テーブル６２が完成する。
【００４６】
なお、ここでは、不揮発性メモリであるメモリ（２）６０内に直接、視差補正テーブル６２を生成するとしたが、揮発性メモリであるメモリ（１）４０あるいはその他の作業用メモリを利用して視差補正テーブルを生成し、該生成した視差補正テーブルをメモリ（２）６０に転送して、最終的にメモリ（２）６０内に視差補正テーブル６２を保持することでもよい。
【００４７】
＜距離測定＞
図８は、本実施形態に係るステレオカメラを用いた距離測定装置の機能ブロック図である。本距離測定装置は、左カメラ１１と右カメラ１２からなるステレオカメラ１０、ステレオカメラ１０で撮影された被写体のステレオ画像の視差を検出する視差検出部２０、先のキャリブレーションで生成された視差補正テーブル６２を保持するメモリ（２）６０、該メモリ（２）６０に保持された視差補正テーブル６２を用いて視差を補正する視差補正部７０、補正された視差を用いて被写体までの距離を算出する距離計算部８０などで構成される。なお、図１で示した全体の動作を制御する制御部９０も備えるが、図８では省略してある。
【００４８】
実際には、図８の距離測定装置は、図１のキャリブレーション装置と一体的に構成され、距離制御機構９５を除いて自動車などの移動体に搭載して使用される。すなわち、図８でステレオカメラ１０以外は、その実態はコンピュータ装置であり、視差検出部２０、視差補正部７０、距離計算部８０は、先の実視差測定値テーブル生成部３０や視差補正テーブル生成部５０などと共に、ＣＰＵとプログラム等に基づいて各処理機能が実現される。制御部９０は、キャリブレーション時は視差検出部２０、実視差測定値テーブル生成部３０、視差補正テーブル生成部５０の各処理モジュールを動作させるが、実際の被写体（前方車両等）との距離測定時は視差検出部２０、視差補正部７０及び距離計算部８０の各処理モジュールを動作させる。
【００４９】
図９は、本実施形態に係る距離測定装置の処理フローチャートである。
ステレオカメラ１０の左カメラ１１と右カメラ１２は、互いに同期して動作して、被写体（前方車両等）を撮影する（ステップ３０１）。そして、左カメラ１１と右カメラ１２は、それぞれ被写体の光学像をアナログ電気信号に変換し、更にデジタル信号に変換して画像データとして出力する。画像データは、例えば８ビット／画素からなる。
【００５０】
視差検出部２０は、ステレオカメラ１０の左カメラ１１と右カメラ１２からそれぞれ出力される画像データを入力し、被写体までの距離に応じて生じる視差を検出する。視差検出の手法は、先の被写体がキャリブレーション用チャート１００の場合と基本的に同様である。すなわち、視差検出部２０は、例えば左カメラ１１の画像データを基準画像、左カメラ１１の画像データを比較画像として、基準画像の水平位置（水平座標値）ｘに対する比較画像上の対応点ｘ’を探索し（ステップ３０２）、見つかった対応点の差（ｘ’−ｘ）を算出して視差（視差値）ｄ’とする（ステップ３０３）。対応点探索には、周知のブロックマッチング手法を利用する。
【００５１】
視差検出部２０は、水平座標値ｘ、及び、算出された視差値ｄ’を視差補正部７０に送る。
【００５２】
視差補正部７０は、視差検出部２０から送られた水平座標値ｘと視差値ｄ’をもとに、メモリ（２）６０の視差補正テーブル６２（図６）から補正値Δｄを取得し、視差値ｄ’を補正して、距離に応じて生じる本来の理想的な視差ｄを求める（ステップ３０４）。すなわち、ｄ＝ｄ’−Δｄを計算する。
【００５３】
ここで、実際の被写体を撮影して得られたステレオ画像から求まる視差値ｄ’は、必ずしも整数６４，６３，・・・になるとは限らない。むしろ、整数でない場合が普通である。この場合には、線形補完等を行って補正値Δｄを求めればよい。すなわち、視差補正テーブル６２（図４）から、ｉ＜ｄ’かつｄ’＜ｉ＋１の一組の補正値Δｄ（ｘ，ｉ）とΔｄ（ｘ，ｉ＋１）を取得し、これら補正値を線形補完演算して補正値Δｄを求める。
【００５４】
視差補正部７０は、補正後の視差値ｄを距離計算部８０に送る。距離計算部８０は、視差補正部７０から送られた視差値ｄを用いて、被写体までの距離Ｚを計算する（ステップ３０５）。距離Ｚは、Ｚ＝Ｂｆ／ｄとして計算される。
【００５５】
本距離測定装置で求まった距離Ｚは、図示しない車両走行制御ユニットに送られ、該距離に基づいてハンドルやブレーキの制御、あるいは運転者への警告等が行われる。
【００５６】
＜発展例＞
実施形態では、視差補正テーブルを水平座標値ｘ、実視差値ｄ’の２次元テーブルとしたが、視差オフセットは垂直位置によっても変化する場合がある。例えば、樽型歪みを持ったレンズであれば、歪みは、水平座標値ｘと垂直座標値ｙによって変化する。そこで、視差補正テーブルを水平座標値ｘ、垂直座標値ｙ、実視差値ｄ’の３次元テーブルとする。そのためには、実視差測定値テーブルの生成時、取り得るｄmin≦ｄ＜ｄmaxに対応する各距離Ｚについて、ｘmin≦ｘ＜ｘmax毎，ｙmin≦ｙ＜ｙmax毎のｍ（ｘ，ｙ，ｄ）を計算すればよい。視差補正テーブルを３次元テーブルとすることで、ｙ方向（垂直位置）の視差オフセットについても視差を補正でき、測距精度が向上する。
【符号の説明】
【００５７】
１０  ステレオカメラ
２０  視差検出部
３０  実視差測定値テーブル生成部
４０  メモリ（１）
４２  実視差測定値テーブル
５０  視差補正テーブル生成部
６０  メモリ（２）
６２  視差補正テーブル
７０  視差補正部
８０  距離計算部
９０  制御部
９５  距離制御機構
１００  キャリブレーション用チャート（補正用被写体）
【先行技術文献】
【特許文献】
【００５８】
【特許文献１】特許第３２６１１１５号公報
【図１】
2014006179.tif 000005
【図２】
2014006179.tif 000006
【図３】
2014006179.tif 000007
【図４】
2014006179.tif 000008
【図５】
2014006179.tif 000009
【図６】
2014006179.tif 000010
【図７】
2014006179.tif 000011
【図８】
2014006179.tif 000012
【図９】
2014006179.tif 000013
【図１０】
2014006179.tif 000014
【図１１】
2014006179.tif 000015