(57)【要約】【課題】ステレオカメラの位置ずれ補正機能を備えたステレオカメラ装置において、位置ずれ補正後のステレオ画像を利用する処理等の信頼性、安全性を確保する。【解決手段】画像補正処理部２０は、ステレオカメラ１０で撮影されたステレオ画像データについて、それぞれバッファメモリ２２を使用して位置ずれを補正して後段に送る。カメラ異常検出処理部６０は、ステレオ画像データからステレオカメラ１０の位置ずれを検出し、位置ずれ量がバッファメモリ２２の範囲を超えていれば、ステレオカメラ１０は異常と判断して、ステレオカメラ処理部５０や異常出力部７０へカメラ異常を通知する。ステレオカメラ処理部５０は、カメラ異常通知を受けると、ステレオカメラ処理を一時中断する。この結果は、車両制御部８０の制御動作も一時中断する。【選択図】図１
2015025730.tif 000002
【特許請求の範囲】
【請求項１】
ステレオカメラと、
前記ステレオカメラで撮影されたステレオ画像データから該ステレオカメラの位置ずれ量を検出する手段と、
前記ステレオ画像データについて、前記位置ずれ量をもとにバッファメモリを使用して位置ずれを補正する手段と、
前記位置ずれ量が前記バッファメモリの範囲内であるかを判別する手段と、
前記位置ずれ量が前記バッファメモリの範囲を超えていれば、前記ステレオカメラは異常と判断する手段と、
を有することを特徴とするステレオカメラ装置。
【請求項２】
ステレオカメラと、
前記ステレオカメラで撮影されたステレオ画像データから該ステレオカメラの位置ずれ量を検出する手段と、
前記ステレオ画像データについて、前記位置ずれ量をもとにバッファメモリを使用して位置ずれを補正する手段と、
前記位置ずれ量が前記バッファメモリの範囲内であるかを判別する手段と、
前記位置ずれ量が前記バッファメモリの範囲を超えていれば、前記位置ずれ量が前記バッファメモリの範囲内に収まるように、前記ステレオ画像データの各画像データの補正パラメータを生成する手段を有し、
前記位置ずれを補正する手段は、前記補正パラメータをもとに、前記ステレオ画像データの各画像データを補正することを特徴とするステレオカメラ装置。
【請求項３】
前記位置ずれ量が前記バッファメモリの範囲内に収まらない場合に、前記ステレオカメラは異常と判断する手段を更に有することを特徴とする請求項２に記載のステレオカメラ装置。
【請求項４】
前記位置ずれを補正されたステレオ画像データを処理する手段を更に有し、前記手段は、ステレオカメラが異常と判断された場合に処理を中断することを特徴とする請求項１又は３に記載のステレオカメラ装置。
【請求項５】
異常を出力する手段を更に有し、前記手段は、ステレオカメラが異常と判断された場合にカメラ異常を出力することを特徴とする請求項４に記載のステレオカメラ装置。
【請求項６】
請求項４又は５に記載のステレオカメラ装置と、該ステレオカメラ装置の前記ステレオ画像データを処理する手段の処理結果に応じて、移動体を制御する移動体制御手段とを有することを特徴とする移動体制御システム。
【請求項７】
請求項６の移動体制御システムを搭載していることを特徴とする移動体。
【請求項８】
コンピュータを請求項１乃至５のいずれか１項に記載のステレオカメラ装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラの位置ずれ補正機能を備えたステレオカメラ装置、ステレオカメラ装置を備えた移動体制御システム、及び移動体制御システムを備えた移動体に関する。
【背景技術】
【０００２】
従来から、左右２つのカメラ（ステレオカメラ）で対象物を撮影し、該撮影して得られたステレオ画像を処理して、対象物を三次元的に認識したり、対象物までの距離を計測したりする技術が知られている。例えば、ステレオカメラを自動車等の移動体に搭載し、移動体前方等を撮影して得られたステレオ画像を処理して、障害物を認識したり、障害物までの距離を計測したりして、衝突防止のために運転者に警告を行ったり、車間距離維持のためにブレーキも、ステアリングなどの制御を行ったりする、いわゆる移動体制御システムは、よく知られている。
【０００３】
このようなステレオカメラを利用したステレオ画像処理では、左右２つの画像間に視差以外のずれがないことが望ましく、ステレオカメラの光学位置調整が重要となる。しかしながら、出荷時等に調整したステレオカメラは、使用の過程で経年変化や振動衝撃などによって調整位置にずれ（位置ずれ）が生じることは避けられない。ステレオカメラに位置ずれが生じると、ステレオ画像を利用する処理の信頼性が損なわれ、正しく対象物を認識できなくなったり、正しく対象物までの距離を計測することができなくなったりする。
【０００４】
そこで、従来から、ステレオカメラの位置ずれを検出し、該検出した位置ずれに応じて、ステレオカメラで撮影された画像を補正する方法が知られている（例えば、特許文献１等）。これは、一般に左右２つの画像の一方を基準画像として、他方を比較画像として、該比較画像を幾何変換（アフィン変換等）することで行われるが、この変換処理のために、画像を一時的に記憶するバッファメモリが使用される。
【０００５】
ところで、メモリリソースは製品コストにかかわるため、リソース制約の厳しい組み込みシステムにおいては、できるだけ少ないメモリリソースの使用が望まれる。そのため、幾何変換処理等ために画像を一時的に記憶するバッファメモリも、できるだけ少ないメモリ容量とする必要がある。この場合、ステレオカメラの位置ずれが小さいうちは、何ら問題はないが、位置ずれが大きくなり、ずれ量がバッファメモリの補正可能範囲を超える場合には、正しく変換処理を行うことができず、左右の画像がさらにずれたり、異常な画像になったりする恐れがある。その結果、逆に、位置ずれ補正後のステレオ画像を利用する処理の信頼性、安全性が損なわれることとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、ステレオカメラの位置ずれ補正機能を備えたステレオカメラ装置において、ステレオカメラの位置ずれ量がバッファメモリの補正可能範囲を超える場合に、位置ずれ補正後のステレオ画像を利用する処理の信頼性、安全性を確保、向上させることにある。
【課題を解決するための手段】
【０００７】
本発明は、ステレオカメラと、前記ステレオカメラで撮影されたステレオ画像データから該ステレオカメラの位置ずれ量を検出する手段と、前記ステレオ画像データについて、前記位置ずれ量をもとにバッファメモリを使用して位置ずれを補正する手段と、前記位置ずれ量が前記バッファメモリの範囲内であるかを判別する手段と、前記位置ずれ量が前記バッファメモリの範囲を超えていれば、前記ステレオカメラは異常と判断する手段とを有するステレオカメラ装置を特徴とする。
【０００８】
また、本発明は、ステレオカメラと、前記ステレオカメラで撮影されたステレオ画像データから該ステレオカメラの位置ずれ量を検出する手段と、前記ステレオ画像データについて、前記位置ずれ量をもとにバッファメモリを使用して位置ずれを補正する手段と、前記位置ずれ量が前記バッファメモリの範囲内であるかを判別する手段と、前記位置ずれ量が前記バッファメモリの範囲を超えていれば、前記位置ずれ量が前記バッファメモリの範囲内に収まるように、前記ステレオ画像データの各画像データの補正パラメータを生成する手段を有し、前記位置ずれを補正する手段は、前記補正パラメータをもとに、前記ステレオ画像データの各画像データを補正するステレオカメラ装置を特徴とする。
【発明の効果】
【０００９】
本発明によれば、ステレオカメラの位置ずれ補正機能を備えたステレオカメラ装置の信頼性、安全性を確保、向上させることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る機能ブロック図である。
【図２】位置ずれ補正前の左右カメラ画像を示す図である。
【図３】位置ずれ補正後の左右カメラ画像を示す図である。
【図４】メモリ内の左右カメラ画像データ、視差画像データを示す図である。
【図５】図１のカメラ異常検出処理部の実施例１に係る処理フローチャートである。
【図６】実施例１のバッファメモリと補正可能な位置ずれの関係を説明する図である。
【図７】実施例２のバッファメモリと補正可能な位置ずれの関係を説明する図である。
【図８】実施例２の基準画像と比較画像を使った位置ずれ補正を説明する図である。
【図９】図１のカメラ異常検出処理部の実施例２に係る処理フローチャートである。
【図１０】実施例２の基準画像と比較画像の変更前の補正量の例を示す図である。
【図１１】実施例２の基準画像と比較画像の変更後の補正量の例を示す図である。
【図１２】本発明の一実施形態に係る車両制御システムを搭載した車両の模式図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照して説明する。なお、以下では、本発明のステレオカメラ装置の実施形態として、自動車等の車両の制御システムへの適用例について説明するが、本発明は、これに限定されるものではない。自動車等の車両以外の航空機、船舶等も含む移動体の制御システムに広く適用され得る。
【実施例１】
【００１２】
実施例１では、ステレオカメラで撮像した左右の画像の位置ずれを検出し、その位置ずれ量がバッファメモリの範囲内であるかどうか判別し、バッファメモリの範囲を超えていれば、ステレオカメラは異常と判断することを特徴としている。
【００１３】
図１は、実施例１に係るステレオカメラ装置を備えた車両制御システムの全体的機能ブロック図である。図１において、ステレオカメラ装置は、右カメラ１１と左カメラ１２を有するステレオカメラ１０、画像補正処理部２０、視差演算部３０、メモリ４０、ステレオカメラ処理部５０、カメラ異常検出処理部６０及び異常出力部７０などにより構成される。車両制御部８０は、自動車等の車両の自動変速制御部、ブレーキ制御部、ステアリング制御部等の総称である。
【００１４】
なお、図１中のステレオカメラ１０及び車両制御部８０を除く各部は、一般にコンピュータ装置で構成される。具体的には、画像補正処理部２０、視差演算部３０、ステレオカメラ処理部５０及びカメラ異常検出処理部６０は、ＣＰＵとプログラム等に基づいて各処理機能が実現される。メモリ４０はＲＯＭ，ＲＡＭ等の総称であり、ＣＰＵで実行されるプログラム、該ＣＰＵでの処理に必要なパラメータやテーブル、該ＣＰＵでの処理途中や処理結果のデータ等が格納される。異常出力部７０は表示装置や音声出力装置、アラームランプなどであり、ステレオカメラ１０の異常をユーザに通知する。他には操作入力部などを備えるが、図１では省略してある。
【００１５】
右カメラ１１と左カメラ１２は、両者の光軸が平行に所定の間隔（基線長）で配置され、互いに同期して動作して、それぞれ異なる視点から被写体を撮影し、その光学像をアナログ電気信号に変換し、更にデジタル信号に変換して画像データを出力する。画像データは、例えば８ビット／画素からなり、０〜２５５階調（輝度値）をとる。
【００１６】
画像補正処理部２０は、右カメラ１１の画像用の画像補正処理回路（Ａ）２１−１とバッファメモリ（Ａ）２２−１、及び左カメラ１２の画像用の画像補正処理回路（Ｂ）２１−２とバッファメモリ（Ｂ）２２−２を有している。ここで、バッファメモリ（Ａ）２２−１及びバッファメモリ（Ｂ）２２−２は、それぞれ十乃至数十ライン程度のラインバッファである。
【００１７】
右カメラ１１及び左カメラ１２から出力されたステレオ画像データの各画像データは、それぞれバッファメモリ（Ａ）２２−１及びバッファメモリ（Ｂ）２２−２に格納される。画像補正処理回路（Ａ）２２−１及び画像補正処理回路（Ｂ）２２−２は、それぞれバッファメモリ（Ａ）２２−１及びバッファメモリ（Ｂ）２２−２に格納された画像データについて、カメラ組み付け後に残る歪みや左右カメラ１１，１２の位置ずれを補正して出力する。補正パラメータは、カメラ異常検出処理部６０から与えられるが、これについては後述する。
【００１８】
ここで、本実施例では、左右カメラ１１，１２の位置ずれを補正するのは比較画像についてであり、基準画像については、位置ずれ補正は行わない。例えば、右カメラ１１の画像を基準画像、左カメラ１２の画像を比較画像とすると、画像補正処理回路（Ｂ）２１−２では、バッファメモリ（Ｂ）２２−２の画像データについて、カメラ組み付け後に残る歪み及び左右カメラ１１，１２の位置ずれを補正するが、画像補正処理回路（Ａ）２２−１では、バッファメモリ（Ａ）２２−１の画像データについて、カメラ組み付け後に残る歪みのみを補正する。補正は、バッファメモリ（Ａ）２２−１及びバッファメモリ（Ｂ）２２−２の画像データを座標変換（アフィン変換等）して出力することで行う。
【００１９】
なお、右カメラ１１及び左カメラ１２から出力される画像データがカラー画像データの場合は、画像補正処理回路（Ａ）２２−１及び画像補正処理回路（Ｂ）２１−２では、カラー画像データについて、モノクロ画像データ（輝度画像データ）に変換した後、必要な補正処理を行うようにする。
【００２０】
図２乃至図３に、左右カメラ１１，１２の位置ずれ補正の概念図を示す。ここでは、右カメラ１１の画像を基準画像、左カメラ１２の画像を比較画像とする。
【００２１】
ステレオカメラ１０の左右カメラ１１，１２は、出荷時には視差以外のずれが生じないように精密に調整される。しかしながら、実使用環境においては、経年変化や衝撃、温度変化などのさまざまな要因により筐体が変形するなどして、左右カメラ１１，１２から出力される画像データ（左カメラ画像、右カメラ画像）は、図２に示すような位置ずれが生じる。このような位置ずれが生じた状態で、後段のステレオカメラ処理部５０で処理を続けると正しく測距や認識処理が行えず、信頼性や安全性に問題が生じる。
【００２２】
そこで、画像補正処理部２０にて、後述のカメラ異常検出処理部６０から送られた補正パラメータをもとに自動的に位置ずれ補正処理を実施する。具体的には、画像補正処理回路（Ｂ）２１−２が、左カメラ画像データについて、バッファメモリ（Ｂ）２２−２を使用して歪み及び位置ずれを補正し、画像補正処理回路（Ａ）２１−１では、右カメラ画像データについて、バッファメモリ（Ａ）２２−１を使用して歪み補正のみを実施する。図３は、位置ずれ補正後の左右カメラ画像を示した図である。
【００２３】
図１に戻り、視差演算部３０は、画像補正処理部２０から右カメラ１１及び左カメラ１２の歪みや位置ずれの補正された２つの画像データ（ステレオ画像データ）を入力し、微小領域毎に視差を計算して視差画像データを生成する。視差計算には、周知のブロックマッチングという手法を利用する。すなわち、右カメラ１１及び左カメラ１２の２つの画像データについて、例えば、右カメラ１１の画像データ（輝度画像データ）から微小領域ａを切り出し、それに対応する領域を探索するために、左カメラ１２の画像データ（輝度画像データ）から同じく微小領域ｂを切り出し、微小領域ａの位置を基準に、微小領域ｂの位置を所定の範囲内で移動させて、対応点の位置を探索する。この探索された対応点の位置の差分が視差を示す。右カメラ１１及び左カメラ１２の２つの画像データについて、ブロックマッチング処理を繰り返すことにより、左右カメラ１１，１２のステレオ画像データ全体の微小領域毎の視差値、すなわち、視差画像データが得られる。
【００２４】
視差演算部３０で算出された視差画像データ、及び、左右カメラ１１，１２の各画像データ（輝度画像データ）は、メモリ４０に格納される。図４は、これを示した図である。
【００２５】
ステレオカメラ処理部５０は、メモリ４０から左右カメラ１１，１２の各画像データ（輝度画像データ）、及び、視差画像データを読み込み、障害物の画像認識処理や、障害物までの距離計算などを行う。これらの処理をステレオカメラ処理と称す。ここで、障害物（被写体）までの距離Ｚは、視差画像データを用いて、三角測量の原理に基づき、次式により求めることができる。
Ｚ＝Ｂ×ｆ／ｄ                      …（１）
（１）式において、Ｂはカメラ１１，１２の光軸の距離（基線長）、ｆはカメラ１１，１２の焦点距離、ｄは視差である。
【００２６】
車両制御部８０は、ステレオカメラ処理部５０の処理結果に応じて、車両の走行等の制御を実施する。例えば、車間距離維持のために自動変速やブレーキ、衝突回避のためにステアリングなどの制御を行う。
【００２７】
一方、カメラ異常検出処理部６０は、メモリ４０から左右カメラ１１，１２の各画像データを読み込み、左右カメラ１１，１２（ステレオカメラ）の位置ずれを検出する。そして、左右カメラ１１，１２の位置ずれ量がバッファメモリ２２（バッファメモリ（Ａ）２２−１、バッファメモリ（Ｂ）２２−２）の範囲内であれば、位置ずれ量をもとに補正パラメータを生成して画像補正処理回路（Ａ）２１−１及び画像補正処理回路（Ｂ）２１−２に送る。さらに、生成した補正パラメータを保持する。一方、左右カメラ１１，１２の位置ずれ量がバッファメモリ２２の範囲を超えていれば、左右カメラ１１，１２（ステレオカメラ）は異常と判断して、ステレオカメラ処理部５０及び異常出力部７０に対してカメラ異常（ステレオカメラ異常）を通知する。
【００２８】
ステレオカメラ処理部５０は、カメラ異常検出処理部６０からカメラ異常を通知されると、ステレオカメラ処理を一時中断する。この結果、車両制御部８０の制御動作も一時中断する。また、異常出力部７０は、カメラ異常検出処理部６０からカメラ異常を通知されると、ユーザへカメラ異常を通知する。具体的には、カメラ異常等を表示したり、音声やブザーなどで通知する。これにより、ユーザ（運転者）は、車両制御部８０が機能していないことを認識する。
【００２９】
以下、カメラ異常検出処理部６０の処理、動作について詳述する。図５は、カメラ異常検出処理部６０の本実施例１に係る全体的処理フローチャートである。
【００３０】
カメラ異常検出処理部６０は、メモリ４０から左右カメラ１１，１２の各画像データを読み込み、次のようにして位置ずれを検出する（ステップ１０１）。先に述べたように、画像補正処理部２０では、カメラ異常検出処理部６０で生成した補正パラメータを元に、左右カメラ１１，１２から出力された画像データを座標変換することで位置ずれを補正する。カメラ異常検出処理部６０は、この画像補正処理部２０で利用された前回生成した補正パラメータ（位置ずれ補正パラメータ）を保持している。また、カメラ異常検出処理部６０はあらかじめ左右カメラ１１，１２の歪みを補正するパラメータも保持している。カメラ異常検出処理部６０は、メモリ４０から読み込んだ右カメラ１１の画像データ（基準画像）については、該右カメラ１１の歪み補正パラメータ用いて逆座標変換処理を行う。また、メモリ４０から読み込んだ左カメラ１２の画像データ（比較画像）については、該左カメラ１２の歪み補正パラメータと前回の位置ずれ補正パラメータを用いて逆座標変換処理を行う。これにより、左右カメラ１１，１２から出力された歪みや位置ずれ補正前の画像データが得られる。カメラ異常検出処理部６０は、この左右カメラ１１，１２の補正前の画像データについて、周知のブロックマッチングや消失点などの手法を利用して位置ずれ（位置ずれ量）を検出する。
【００３１】
なお、カメラ異常検出処理部６０は、左右カメラ１１，１２から出力される画像データを取り込み、直接に左右カメラ１１，１２の位置ずれを検出することでもよい。ただし、この場合、左右カメラ１１，１２のそれぞれの画像データのために、別途、フレームメモリが必要となる。
【００３２】
図５に戻り、カメラ異常検出処理部６０は、検出した位置ずれ量が画像補正処理部２０内のバッファメモリ２２（バッファメモリ（Ａ）２２−１，バッファメモリ（Ｂ）２２−２）の範囲内かどうか判別する（ステップ１０２）。なお、バッファメモリ２２の範囲は、例えば、メモリ４０があらかじめバッファメモリ２２の領域情報を保持するなどして既知であるとする。
【００３３】
次に、カメラ異常検出処理部６０は、位置ずれ量がバッファメモリ２２の範囲内であれば、位置ずれ量から位置ずれ補正パラメータを生成する（ステップ１０３）。そして、カメラ異常検出処理部６０は、この生成した位置ずれ補正パラメータを画像補正処理部２０へ送付すると共に、該カメラ異常検出処理部６０で保持する（ステップ１０４）。先に述べたように、画像補正処理部２０は、カメラ異常検出処理部６０から送られた位置ずれ補正パラメータを元に、左右カメラ１１，１２から出力された画像データの位置ずれ補正を行う。詳しくは、画像補正処理回路（Ｂ）２１−２が、左カメラ１２の画像データについて歪み及び位置ずれを補正し、画像補正処理回路（Ａ）２１−１は、右カメラ１１の画像データについて歪みのみを補正する。
【００３４】
一方、位置ずれ量がバッファメモリ２２の範囲を超えていれば、カメラ異常検出処理部６０は、ステレオカメラ１０は異常と判断して、ステレオカメラ処理部５０及び異常出力部７０へカメラ異常（ステレオカメラ異常）を通知する（ステップ１０５）。
【００３５】
図６は、バッファメモリ２２と画素の位置ずれの関係を示した図である。リソースの制約等で、バッファメモリ２２（バッファメモリ（Ａ）２２−１，バッファメモリ（Ｂ）２２−２）には、出来るだけ少ないライン数のメモリ（十から数十程度のラインバッファ）が使用される。左右カメラ１１，１２から出力された画像データは、バッファメモリ分のみしか保持できない。位置ずれ量がバッファメモリ２２の領域内である場合には、位置ずれ補正に必要な画像データが保持されているため、正しく座標変換することができ、位置ずれ補正処理を正常に行うことができる。一方、位置ずれ量が大きく、バッファメモリ２２の領域外となった場合には、画像データを保持していない領域の不定値データで座標変換することになるため、正常に位置ずれ補正を行うことができない。その結果、位置ずれ補正後の画像を利用するステレオカメラ処理部５０の信頼性や安全性が逆に損なわれることになる。
【００３６】
位置ずれ量がバッファメモリの範囲を超えている場合、カメラ異常検出処理部６０がステレオカメラ処理部５０へカメラ異常を通知することで、ステレオカメラ処理部５０では処理を一時中断し、車両制御部８０でも制御を一時中断したり、キャンセルしたりすることが可能となる。また、カメラ異常を異常出力部７０へ通知することで、異常出力部７０は、音声やブザーなどで異常をユーザに発することか可能となる。
【００３７】
なお、ステレオカメラ１０に温度センサを搭載し、その温度情報をカメラ異常検出処理部６０へ送信することで、カメラ異常検出処理部６０は、位置ずれ量がバッファメモリ２２の範囲（補正限界）を超えた場合、熱による筐体変形等が要因の一時的な位置ずれなのか、経年変化や衝撃などによる位置ずれなのかを判別することができる。温度による変形化どうかの判別基準は、予めシミュレータによりステレオカメラ筐体温度変化シミュレーション結果や温度変化試験結果から得られる。例えば、恒温槽などを用いた温度変化試験結果でステレオカメラ１０に搭載した温度センサの温度が７０度となった時に、筐体変形が要因で補正限界を超える位置ずれが発生するという試験結果が得られた場合には、判別基準を７０度と設定する。
【００３８】
カメラ異常検出処理部６０は、位置ずれ量がバッファメモリ２２の範囲を超えていた場合、ステレオカメラ１０の温度センサが７０度以上だったならば、位置ずれは熱による筐体変形が要因と判別する。そして、熱による一時的なカメラ異常と判断した場合には、温度が下がり位置ずれが戻るまで、一時的にステレオ処理を停止させる。一方、位置ずれ量がバッファメモリ２２の範囲を超え、ステレオカメラ１０の温度センサが７０度以下の場合には、熱によるものではない永続的な位置ずれと判別する。この場合には、ユーザへステレオカメラを修理に出すなどの通知をする。
【実施例２】
【００３９】
実施例１と同様に、ステレオカメラで撮像した左右の画像の位置ずれを検出し、その位置ずれ量がバッファメモリの範囲内であるかどうか判別する。実施例１では、位置ずれ量がバッファメモリの範囲を超えている場合、ステレオカメラ異常としたが、実施例２では、比較画像側で補正可能な状態となるまで基準画像をずらす。すなわち、基準画像側を位置ずれ補正する。これにより、比較画像側は、バッファメモリの範囲内で位置ずれ補正を行うことができるようになる。また、比較画像側だけで位置ずれ補正を行う場合よりも、大きな位置ずれに対処できる。具体的には、位置ずれ量がバッファメモリの２倍以内であれば、位置ずれ補正を行うことができる。基準画像と比較画像の両方を使っても補正しきれないほどの大きな位置ずれ量が検出された場合（位置ずれ量がバッファメモリの２倍を超えた場合）には、ステレオカメラの異常と判断する。
【００４０】
図７は、バッファメモリと位置ずれ補正可能な範囲の関係を示した図である。基準画像側（例えば右カメラ画像）の注目画素をＰ、該注目画素Ｐに対応する比較画像側（例えば左カメラ画像）の画素をＰ’とする。画素Ｐ’がバッファメモリ（ラインバッファ）の範囲内（領域内）にあれば、比較画像側のみの補正により位置ずれを補正することができる。しかしながら、バッファメモリ領域外に画素Ｐ’がある場合には（位置ずれ量が補正可能範囲を超えている場合）、バッファメモリＰ’の画像データを保持していないために、正しくは位置ずれ補正を行うことができない。
【００４１】
図８は、実施例２の基準画像と比較画像を使った位置ずれ補正を説明する図である。基準画像側の注目画素Ｐに対応する比較画像側の画素Ｐ’がバッファメモリ領域外であった場合、基準画像側の注目画素ＰをＰ１の位置に補正する。具体的には、図７に示したＰ’の補正可能範囲を超えたずれ量分だけ、Ｐ’のずれ方向にずらす。これにより、比較画像側は、バッファメモリの範囲内（領域内）に、基準画像側のＰ１に対応する画素Ｐ１’を見つけることができ、バッファメモリで保持している画像データを用いて正しく位置ずれ補正を行うことが可能となる。
【００４２】
なお、基準画像側の注目画素Ｐに対応する比較画像側の画素Ｐ’の位置ずれ量が大きい場合（バッファメモリ領域の２倍以上）には、基準画像側の注目画素を補正しても、比較画像側は、バッファメモリ領域内に、基準画像側の注目画素対応する画素を見つけることができない。この場合には、正しく位置ずれ補正を行うことができないので、ステレオカメラ異常とする。
【００４３】
実施例２に係るステレオカメラ装置を含む車両制御システムの全体的機能ブロック図は、図１と同様であるので省略する。実施例１と相違する点は、カメラ異常検出処理部６０と画像補正処理部２０の動作である。以下、これについて説明する。
【００４４】
図９に、図１のカメラ異常検出処理部６０の実施例２に係る全体的処理フローチャートを示す。
【００４５】
カメラ異常検出処理部６０は、メモリ４０から左右カメラ１１，１２の各画像データ（ステレオ画像データ）を読み込んで、位置ずれ（位置ずれ量）を検出する（ステップ２０１）。これは、先の実施例１の場合と同様である。なお、左右カメラ１１，１２から出力される画像データを取り込み、直接、両画像データの位置ずれを検出することでもよい。
【００４６】
次に、カメラ異常検出処理部６０は、比較画像及び基準画像それぞれについて、検出した位置ずれ量を元に補正パラメータを生成し、この補正パラメータを用いて補正量を求め（ステップ２０２）。すなわち、カメラ異常検出処理部６０では、画像補正処理部２０の画像補正処理回路（Ａ）２１−１や画像補正回路（Ｂ）２１−２が補正パラメータを用いて画像を補正する場合と同様のアルゴリズムで補正量（仮の補正量）を求める。補正量は、比較画像及び基準画像の各画素ごとに求める。比較画像は、例えば左カメラ１２の画像データであり、基準画像は右カメラ１１の画像データである。
【００４７】
次に、カメラ異常検出処理部６０は、比較画像側の補正量がバッファメモリ２２の範囲内（補正可能範囲内）かどうか判別する（ステップ２０３）。そして、比較画像側の補正量がバッファメモリ２２の範囲内であれば、カメラ異常検出処理部６０は、ステップ２０２で生成した補正パラメータを画像補正処理部２０の画像補正処理回路（Ａ）２１−１及び画像補正処理回路（Ｂ）２１−２へ送付すると共に、当該カメラ異常検出処理部６０で保持する（ステップ２０４）。
【００４８】
このケースでは、比較画像側の補正パラメータは、左カメラ１２の歪みと左右カメラ１１，１２の位置ずれを補正するパラメータを表わすが、基準画像側の補正パラメータは、右カメラ１１の歪みを補正するパラメータを表わす。このため、画像補正処理回路（Ａ）２１−１では、右カメラ１１から出力された画像データについて、バッファメモリ（Ａ）２２−１を使って歪み補正のみを行い、画像補正処理回路（Ｂ）２１−２では、左カメラ１２から出力された画像データについて、バッファメモリ（Ｂ）２２−２を使って歪みと位置ずれ補正を行うこととなる。
【００４９】
比較画像側の補正量がバッファメモリ２２の範囲を超えていた場合、次に、カメラ異常検出処理部６０は、比較画像側の補正量がバッファメモリ２２の２倍の範囲内かどうか判別する（ステップ２０５）。比較画像側の補正量がバッファメモリ２２の２倍の範囲内であれば、カメラ異常検出処理部６０は、比較画像側及び基準画像側の両方の補正量を変更して、比較画像側の補正量がバッファメモリ２２の範囲内に収まったようにする（ステップ２０６）。具体的には、比較画像側の補正量がバッファメモリ２２の範囲を超えた分だけ基準画像をずらす。すなわち、そのように基準画像側の補正量を変更する。また、基準画像をずらした分だけ、比較画像側の補正量も変更する。そして、比較画像側及び基準画像側それぞれについて、このような補正を行うための補正パラメータを生成する。これは、位置ずれ量がバッファメモリの範囲を超えている場合、該位置ずれ量がバツファメモリの範囲内に収まるように、ステレオ画像データの各画像データの補正パラメータを生成することを意味する。
【００５０】
カメラ異常検出処理部６０は、生成した補正パラメータを画像補正処理部２０の画像補正処理回路（Ａ）２１−１及び画像補正処理回路（Ｂ）２１−２へ送付すると共に、当該カメラ異常検出処理部６０で保持する（ステップ２０４）。
【００５１】
このケースでは、比較画像側及び基準画像側のいずれの補正パラメータとも、歪みと位置ずれを補正するパラメータを表わしている。このため、画像補正処理回路（Ａ）２１−１は、右カメラ１１から出力された画像データについて、バッファメモリ（Ａ）２２−１を使って歪みと位置ずれ補正を行い、同様に、画像補正処理回路（Ｂ）２１−２でも、左カメラ１２から出力された画像データについて、バッファメモリ（Ｂ）２２−２を使って歪みと位置ずれ補正を行うこととなる。
【００５２】
比較画像側の補正量がバッファメモリ２２の２倍の範囲を超えていた場合（補正しても、位置ずれ量がバッファメモリの範囲内に収まらない場合）、カメラ異常検出処理部６０は、ステレオカメラ１０は異常と判断して、ステレオカメラ処理部５０及び異常出力部７０へカメラ異常（ステレオカメラ異常）を通知する（ステップ２０７）。すなわち、比較画像側の補正量がバッファメモリ領域の２倍を超えている場合には、基準画像をずらしても、バッファメモリ内で位置ずれ補正を行うことは不可能である。この場合、ステレオカメラ１０は異常状態とする。カメラ異常通知を受け取ったステレオカメラ処理部５０は処理を一時中断し、また、異常出力部７０は表示やアラームなどでユーザへステレオカメラ異常を知らせる。
【００５３】
次に、図１０及び図１１を用いて実施例２の具体的処理例を説明する。なお、バッファメモリ２２のＹ方向（縦方向）の幅（補正可能範囲）は−１２から＋１２ピクセスとする。
【００５４】
図１０は、比較画像及び基準画像それぞれについても、画像を補正する場合の各画素ごとの補正量（Ｙ方向補正量）と補正範囲の一例を示したものである。比較画像の補正量は、カメラの歪みと位置ずれの両方を補正する補正量に対応し、基準画像の補正量は、基本的にカメラの歪みを補正する補正量に対応する。
【００５５】
図１０では、比較画像の最大の補正量は＋１５ピクセルであり、これは、バッファメモリ２２（バッファメモリ（Ｂ）２２−２）の補正可能範囲である−１２〜＋１２ピクセルから＋３ピクセル超えており、比較画像を正しく補正することができない。そこで、基準画像をＹ方向に＋３ピクセルずらし、そのように基準画像の補正量を変更する。また、基準画像をＹ方向に＋３ピクセルずらした分、比較画像の補正量も変更する。
【００５６】
図１１は、比較画像及び基準画像それぞれについて、変更後の各画素ごとの補正量（Ｙ方向補正量）と補正範囲を示したものである。図１１に示すように、比較画像及び基準画像とも、補正範囲はバッファメモリ２２（バッファメモリ（Ａ）２２−１、バッファメモリ（Ｂ）２２−２）の補正可能範囲である−１２〜＋１２ピクセル内に収まっている。
【００５７】
カメラ異常検出処理部６０は、このような補正を行うための補正パラメータを比較画像と基準画像について生成し、生成した補正パラメータを画像補正処理回路（Ａ）２１−１、画像補正処理回路（Ｂ）２１−２へ送る。画像補正処理回路（Ａ）２１−１、画像補正処理回路（Ｂ）２１−２は、カメラ異常検出処理部６０から送られた補正パラメータに従い、バッファメモリ（Ａ）２２−１あるいはバッファメモリ（Ｂ）２２−２を用いて画像データの補正を行うことで位置ずれを補正する。
【００５８】
一方、比較画像の補正範囲が、バッファメモリ２２の２倍、すなわち、−２４〜＋２４ピクセルを超えている場合は、基準画像をいくらかずらしても、比較画像及び基準画像の両画像をバッファメモリの範囲内で補正することは不可能である。この場合、カメラ異常検出処理部６０は、ステレオカメラ１０が異常であるとして、ステレオカメラ処理部５０及び異常出力部７０に対してカメラ異常を通知する。
【００５９】
なお、実施例２では補正量に着目して説明したが、実施例１と同様に位置ずれ量に着目することでもよい。
【００６０】
図１２は、本実施形態のステレオカメラ装置が適用される車両制御システム（移動体制御システム）が搭載される車両（移動体）の模式図である。図１２において、左右のカメラからなるステレオカメラ１０は、車両３００が走行する前方の画像を撮影できるように、車両３００の前面窓近辺に設置される。画像処理・診断ユニット３１０は、図１の歪み補正処理部２０、視差演算部３０、メモリ４０、ステレオカメラ処理部５０及びカメラ異常検出処理部６０等からなる。車両制御ユニット３２０は車両制御部（移動体制御手段）８０に対応し、異常出力ユニット３３０は異常出力部７０に対応する。
【００６１】
ステレオカメラ１０は、車両前方を撮影し、ステレオ画像データを出力する。画像処理・診断ユニット３１０は、ステレオカメラ１０が出力するステレオ画像データを処理して、障害物の画像認識処理や、障害物までの距離計算を行う。車両制御ユニット３２０は、画像処理・診断ユニット３１０の処理結果に応じて、車間距離維持や衝突回避のためにブレーキ、ステアリングなどの制御を行う。すなわち、移動体を制御する。また、画像処理・診断ユニット３１０は、ステレオカメラ１０が出力するステレオ画像データを処理・解析して、該ステレオカメラ１０の正常異常の診断を行う。そして、ステレオカメラ１０が異常の場合、異常出力ユニット３３０を通して運転者にカメラ異常を通知すると共に、車両制御ユニット３２０の制御動作を中断せしめる。
【符号の説明】
【００６２】
１０  ステレオカメラ
１１  右カメラ
１２  左カメラ
２０  画像補正処理部
２１−１  画像補正処理回路（Ａ）
２１−２  画像補正処理回路（Ｂ）
２２−１  バッファメモリ（Ａ）
２２−２  バッファメモリ（Ｂ）
３０  視差演算部
４０  メモリ
５０  ステレオカメラ処理部
６０  カメラ異常検出処理部
７０  異常出力部
８０  車両制御部
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特許第３７９２８３２号公報
【図１】
2015025730.tif 000003
【図２】
2015025730.tif 000004
【図３】
2015025730.tif 000005
【図４】
2015025730.tif 000006
【図５】
2015025730.tif 000007
【図６】
2015025730.tif 000008
【図７】
2015025730.tif 000009
【図８】
2015025730.tif 000010
【図９】
2015025730.tif 000011
【図１０】
2015025730.tif 000012
【図１１】
2015025730.tif 000013
【図１２】
2015025730.tif 000014