(57)【特許請求の範囲】
【請求項１】
複数の単眼カメラと、
前記複数の単眼カメラによりそれぞれ撮影された撮影画像データを複数の探索ブロックに分割し、視差演算を行う範囲で探索ブロックのマッチングを行うことにより視差データを算出する視差演算部と、
前記視差演算部において視差演算を行う範囲を探索範囲として設定する探索範囲設定部と、を備え、
前記視差演算部は、前記撮影画像データの下方領域から視差演算を行い、
前記探索範囲設定部は、前記探索ブロックの下方近傍の参照位置にある視差値に基づいた第１の探索範囲と、前記探索ブロックの垂直方向の位置によって決まる第２の探索範囲とのうちの大きい方を前記探索範囲とすることを特徴とする画像処理装置。
【請求項２】
前記視差演算部が前記撮影画像データの左右端近傍の視差演算を行う際には、前記探索範囲設定部は、前記視差演算を行う画素位置の下方近傍に近距離の物体が検出されるか否かに拘わらず、前記探索範囲を前記第１の探索範囲に設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
複数の単眼カメラによりそれぞれ撮影された撮影画像データを複数の探索ブロックに分割し、視差演算を行う範囲で探索ブロックのマッチングを行うことにより視差データを算出する画像処理方法であって、
画像処理部が、
視差演算を行う範囲を探索範囲として設定するステップと、
前記撮影画像データの下方領域から視差演算を行うステップと、
前記探索ブロックの下方近傍の参照位置にある視差値に基づいた第１の探索範囲と、前記探索ブロックの垂直方向の位置によって決まる第２の探索範囲とのうちの大きい方を前記探索範囲とするステップと、を含むことを特徴とする画像処理方法。
【請求項４】
請求項１又は２に記載の画像処理装置を備えたことを特徴とする車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラを利用して距離情報を算出する画像処理装置、画像処理方法、及び車両に関するものである。
【背景技術】
【０００２】
近年、ステレオカメラが撮影した画像データを利用した車両の運転者支援システムが知られている。
運転支援システムは、例えば、車の前方に設置したステレオカメラによって車両前方を監視し、歩行者、他車両、障害物等との距離を測定し、それらに衝突する可能性がある場合は、運転者に報知したり、車両のブレーキを作動させて減速させたり停止させたりすることができる。
このような運転支援システムでは、高い空間分解能や高精度化が求められており、処理負荷が増大する一方、衝突回避などのために演算時間の短縮も求められている。
特許文献１には、ステレオ画像を処理して得られる画素を単位とする視差に起因する遠距離での測距分解能の低下を解消し、近距離から遠距離まで測距分解能の向上を図るようにしたステレオ画像による測距装置が開示されている。
特許文献２には、処理速度と距離精度の両立を図る目的で、縮小画像で対応箇所探索を行い、大きな視差を探索できるようにしたステレオ画像処理装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、同一の物体を２地点から見たときの方向の差である視差は、物体が近距離にあるものほど大きくなる。このため、ステレオカメラを用いて近距離から遠距離まで広い距離レンジの測定を行うには、カメラから得られた画像を小領域に分割して小領域の類似性を求めるブロックマッチングの探索範囲を広くしなければならない。その結果、演算時間が長くなってしまうという問題点があった。
また引用文献１の測距装置では、近距離と遠距離で視差演算のロジックを変更することで演算負荷を抑制しているが、複数のロジックを切り替える手法ではハードウェアで視差演算を行う場合に回路規模が大きくなるという問題があった。
また引用文献２のステレオ画像処理装置では、縮小画像を生成する必要があるため、やはり回路規模が大きくなるという問題点があった。
本発明は、上記したような問題点を鑑みてなされたものであり、回路規模を増大させることなく単純な処理で演算時間の増大を抑えて近距離から遠距離まで視差演算を行うことができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、請求項１に係る発明は、複数の単眼カメラと、前記複数の単眼カメラによりそれぞれ撮影された撮影画像データを複数の探索ブロックに分割し、視差演算を行う範囲で探索ブロックのマッチングを行うことにより視差データを算出する視差演算部と、前記視差演算部において視差演算を行う範囲を探索範囲として設定する探索範囲設定部と、を備え、前記視差演算部は、前記撮影画像データの下方領域から視差演算を行い、前記探索範囲設定部は、前記探索ブロックの下方近傍の参照位置にある視差値に基づいた第１の探索範囲と、前記探索ブロックの垂直方向の位置によって決まる第２の探索範囲とのうちの大きい方を前記探索範囲とすることを特徴とする。
【発明の効果】
【０００５】
本発明によれば、回路規模を増大させることなく、演算負荷を抑制して高速に広い距離レンジの視差演算を行うことができる。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態に係るステレオ画像処理装置の構成を示したブロック図である。
【図２】ステレオカメラの測距原理を説明する図である。
【図３】視差演算開始位置を示した図である。
【図４】視差参照位置を示した図である。
【図５】接地位置が画面からはみ出してしまう場合を示した図である。
【図６】本実施形態のステレオカメラ画像処理装置１の画像処理部が実行する画像処理の一例を示したフローチャートである。
【図７】本実施形態のステレオカメラ画像処理装置と、その画像処理システムが搭載された車両の模式図である。
【発明を実施するための形態】
【０００７】
本発明は、ステレオカメラの視差演算におけるブロックマッチングの探索範囲において、画面下方の視差演算結果において近距離の視差が出ていなければ、画面上方に近距離の立体物の被写体は存在しないと判断して狭い探索範囲でブロックマッチングを行うようにした点に特徴がある。
【０００８】
以下、本発明の実施の形態について説明する。
図１は、本発明の実施形態に係るステレオ画像処理装置の構成を示したブロック図である。この図１に示すステレオ画像処理装置１は、ステレオカメラ１０、ステレオ画像校正部２０、ステレオ画像記憶部３０、視差演算処理部４０、視差データ記憶部５０、探索範囲設定部６０、距離演算処理部７０等により構成される。
ステレオカメラ１０は、ある焦点距離のレンズ光学系と撮像素子からなる二台の単眼カメラ１０ａ、１０ｂを備えて構成される。なお、ステレオカメラの原理については後述する。
これら二つの単眼カメラ１０ａ、１０ｂは、露光時間やゲインが可変のＣＣＤ（Charge Coupled Device）カメラであり、両者は互いに同期し、同一タイミングで画像を取得する。なお、撮像素子はＣＣＤに限らず、ＣＭＯＳ（complementary metal oxide semiconductor）等の撮像素子でも構わない。なお、ステレオカメラ１０は、二つの単眼カメラ１０ａ、１０ｂを画像１５のＸ方向に沿ってある所定の基線長のもとに平行に配置して構成する水平ステレオカメラとなる。
なお、本実施形態では、ステレオカメラ１０として、二つの単眼カメラ１０ａ、１０ｂを備えている場合を例に挙げて説明したが、これはあくまでも一例であり、三つ以上単眼カメラを用いて構成しても良いことは言うまでもない。
【０００９】
ここで、ステレオカメラによる測距原理について説明しておく。
図２は、ステレオカメラの測距原理を説明する図である。
ステレオカメラ１０は、異なる視点位置から同じ対象物体を撮影した時に、撮影画像上での結像位置が物体の距離によって変化することを利用して物体の距離や位置を計測する。
ここで、単眼カメラ１０ａ、１０ｂ間の距離を基線長Ｂ、焦点距離ｆ、及び、視差ｄ（視点による物体の結像点の位置の差）から、物体までの距離Ｚは以下の式で表すことができる。
Ｚ＝Ｂ・ｆ／ｄ        …（１）
視差ｄの算出には、左右の単眼カメラ１０ａ、１０ｂから得られた一対の画像のある小領域の相関値を計算し、最も相関が高い画素位置が得られた際の画像間のシフト量を視差として算出するブロックマッチングがよく用いられる。
【００１０】
次に、図１に示すステレオ画像校正部２０は、ステレオカメラ１０から入力されたステレオ画像に対して、単眼カメラ１０ａ、１０ｂにおける光学的なずれ、単眼カメラ１０ａ、１０ｂ間における幾何的なずれを補正する。例えば、レンズ光学系と撮像素子の機械的なずれやレンズ光学系により生じる歪曲収差、また、単眼カメラ１０ａ，１０ｂの相対位置のずれを補正するものである。前述の補正項目における補正量は、事前に非特許文献１等のキャリブレーション手法により求めておくが、補正項目、キャリブレーション手法は共にこれに限定しない。
ステレオ画像記憶部３０は、ステレオ画像校正部２０において校正された画像を視差演算のための元画像として記憶する。
視差演算処理部４０は、ステレオ画像記憶部３０に記憶された一方の単眼カメラ（左カメラ）１０ａにより撮影された撮影画像データを基準画像、他方の単眼カメラ（右カメラ）１０ｂにより撮影された撮影画像データを比較画像として、両画像の小領域ごとの相違度を求めることで対応点を検出するステレオマッチングを用い、両画像間の対応点の画素のずれ（視差）を算出する。このときステレオマッチングの探索範囲は探索範囲設定部６０から入力される。
【００１１】
視差データ（視差値）は、図２に示した式（１）の視差ｄに対応し、焦点距離ｆ、基線長Ｂを用いて測定対象物までの３次元距離情報を得ることが出来、車両制御や認識処理等に利用する。
視差データ記憶部５０は、視差演算処理部４０において算出された距離情報算出のための視差データを記憶する。
探索範囲設定部６０は、視差演算処理部４０のブロックマッチングの探索範囲を変更する。
距離演算処理部７０は、視差データ記憶部５０に記憶された視差データに基づいて対象物である物体までの距離を算出する。算出した距離情報は車両制御や認識処理等に利用されることになる。
【００１２】
次に、視差演算処理部４０における視差値算出動作について説明する。
視差演算処理部４０は、ステレオ画像記憶部３０から入力された左右画像に対して、探索範囲設定部６０から入力された探索範囲でステレオマッチングを行う。
本実施形態では、図３に示すように、入力された左画像（基準画像）の撮像画面１００の垂直下方の例えば左隅の位置１０１から視差演算を開始する。
なお、本実施形態では、視差演算開始位置を撮影画面１００の下方左隅として説明したが、撮像画面１００の下方領域から開始すれば必ずしも左隅から開始する必要はない。
次に、視差演算処理部４０は、入力画像を小領域の探索ブロックに分割し、基準画像の探索ブロックに対して比較画像の探索ブロックの位置を、画像の水平方向に１画素ずつずらしながら相関値の計算を行う。
ブロックの位置を探索範囲ｗｍａｘまでずらしたところで相関値の計算を終了し、最も相関値の高い画素位置が、ピクセル単位での視差値ｄｉｎｔとなる。算出された相関値を用いて、サブピクセル単位での視差値ｄｓｕｂを算出する。なお、相関値としてはＳＳＤ（Sum of Squared Difference）やＳＡＤ（Sum of Absolute Difference）の値などが知られている。
視差値ｄｉｎｔと視差値ｄｓｕｂを加算した値が視差値ｄとなり、視差データ記憶部５０に記憶される。
【００１３】
次に、探索範囲設定部６０の探索範囲の設定動作について説明する。
なお、本実施形態では、ステレオカメラ１０を車両等に設置したときに撮影される撮影画像のうち、地平線１１１より下方の撮影領域を下方領域１１２、地平線１１１より上方の撮影領域を上方領域１１３として説明する。
この場合、探索範囲設定部６０は、視差演算処理部４０において撮影画像１００の下方領域１０２に位置する探索ブロックの視差演算を行う際は、近距離の物体を探索可能な第１の探索範囲に設定する。
【００１４】
一方、視差演算処理部４０において撮影画像１００の上方領域１１３に位置する探索ブロックの視差演算を行う際は、視差演算を行う探索ブロックの下方近傍に物体が存在しない場合は、探索範囲を第１の探索範囲より狭い第２の探索範囲に変更するようにした。
これは立体物の連続性から、接地面に近距離のものがなければ、その上方には近距離の物体は存在しないので、探索範囲を小さくしてもよいからである。
例えば、探索ブロックの位置（ｉｄ，ｊｄ）の探索範囲を決定する際、探索ブロックの位置が画面最下部だった場合は、探索範囲をｗｍａｘに設定する。
探索範囲ｗｍａｘはステレオカメラ１０の測距レンジの最短距離Ｚｍｉｎに対応する視差値より大きい必要があるため、式（１）より
ｗｍａｘ≧Ｂ・ｆ／Ｚｍｉｎ      …（２）
となる。
【００１５】
探索ブロックの位置が画面１００最下部ではない場合は、探索ブロックの垂直方向の位置ｊによって決まる探索範囲ｗｊと下方視差値によって決まる探索範囲ｗｄの大きいほうを探索範囲とする。
まず探索ブロックの垂直方向の位置ｊによって決まる探索範囲ｗｊは、探索ブロックの位置に地面が写った時の距離Ｌｇに対する視差値ｄｇと探索範囲ｗｍａｘの小さい方となる。
距離Ｌｇは、ステレオカメラ１０の接地高さによって決まり、ステレオカメラ１０が地面からｈの位置に設置されている場合、距離Ｌｇは、
Ｌｇ＝ｊ・ｈ／ｆ        …（３）
となり、式（１）より
ｄｇ＝Ｂ・ｆ／Ｌｇ      …（４）
となる。
【００１６】
次に、下方視差値によって決まる探索範囲ｗｄは、図４に示すような探索ブロックの下方近傍の参照位置にある視差値による。
ｊ＝ｊｄ−１、ｉｄ−Δｉ＜ｉ＜ｉｄ＋Δｉの条件を満たす２Δｉ＋１ピクセルの視差値の最大値をｄｍａｘ＿ｌｏｗとなる。
なお、Δｉはステレオカメラ１０の測定レンジや想定される対象物の最大の幅で決まる。
また、撮像画面１００の左右端に関しては下方の視差値に関わらずｗｍａｘを使ってもよい。そうすることで、図５に示すように、入力された比較画像の立体物１１０’の全体が画面内に入っていない場合でも、未測距となることを防ぐことができる。
この視差値は、図２および式（１）に示した視差ｄに対応し、焦点距離ｆ、基線長Ｂを用いて測定対象物までの３次元距離情報を得ることが出来る。
本実施形態のステレオカメラ画像処理装置１では、上記した視差演算処理部４０、探索範囲設定部６０、及び視差演算処理部７０等の画像処理部を、バス接続されたＣＰＵ（Central Processing Unit）、ＤＲＡＭ（Dynamic Random Access Memory）メモリ、不揮発性フラッシュメモリなどから構成される一般的な電子計算機により構成することができる。その場合は、画像処理機能はフラッシュメモリに記録され、ＣＰＵ、ＤＲＡＭなどを利用して実行されるソフトウェアプログラムの形態で実装化される。
【００１７】
図６は、本実施形態のステレオカメラ画像処理装置１の画像処理部が実行する画像処理の一例を示したフローチャートである。
この場合、画像処理部は、入力される撮像画面の下方から視差演算を開始する（Ｓ１）。
次に、画像処理部は、視差演算を行う画素が下方領域か否かの判別を行い（Ｓ２）、下方領域と判別した場合は探索範囲を第１の探索範囲に設定する（Ｓ３）。この後、左右画像間の対応点の画素のずれ（視差）を演算する（Ｓ４）。
一方、ステップＳ２において、視差演算を行う画素が下方領域でないと判別した場合、すなわち視差演算を行う画素が上方領域の場合は、探索範囲を第１の探索範囲より狭い第２の探索範囲に設定する（Ｓ５）。この後、ステップＳ４に進み、左右画像間の対応点の画素のずれ（視差）を演算すればよい。
【００１８】
上記のように本実施形態のステレオカメラ画像処理装置１では、視差演算処理部４０はステレオ画像記憶部３０から入力される撮像画面１００の下方から視差演算を行い、探索範囲設定部６０は、撮像画面１００の下方領域の視差演算を行う際のブロックマッチングの探索範囲を最も広い第１の探索範囲に設定する。
一方、撮像画面１００の上方領域の視差演算を行う際のブロックマッチングの探索範囲は、下方領域の視差演算結果が得られたか否かで上方領域の視差演算を行う際のブロックマッチングの探索範囲を変更するようにした。
このように構成すると、近距離の被写体が存在しない場所は探索範囲を狭くすることができるので、視差演算時間を短縮することができる。また、近距離の被写体があるかどうかを判定するために使う条件が簡易なため、回路規模を増大させる必要がなく演算負荷を低減することができる。
【００１９】
また本実施形態では、視差演算処理部４０が撮影画面１００の左右端近傍の視差演算を行う際には、探索範囲設定部６０は、視差演算を行う画素位置の下方近傍に近距離の物体が検出されるか否かに拘わらず、探索範囲を最も広い第１の探索範囲に設定するようにしているので、比較画像の物体全体が撮像画面内に入っていない場合でも、未測距となることを防ぐことができる。
なお、本実施形態では、地平線を基準にして複数の単眼カメラにより撮影された撮影画像データを上方領域と下方領域とに分けるようにしているが、これはあくまでも一例であり適宜変更可能である。
【００２０】
＜その他の実施形態＞
図７は、本実施形態のステレオカメラ画像処理装置１と、その画像処理システムが搭載された車両の模式図である。
図７に示す画像処理システムは、車両前方の画像を取得するための撮像ユニット７１と、取得した画像に基づいて車両７０の前方に存在する他の車両までの距離を算出する等の処理を行う画像解析ユニット７２を有している。撮像ユニット７１は、車両７０が走行する前方の画像を撮像できるように、座席のルームミラー位置等に設置されている。撮像ユニット７１で撮像された車両前方の画像は、画像信号化されて画像解析ユニット７２に入力される。画像解析ユニット７２は、撮像ユニット７１から出力された画像信号を解析する。
撮像ユニット７１として、上記実施形態のステレオカメラ１０を適用できる。
また、画像解析ユニット７２の一部の機能として、上記実施形態の画像処理装置を適用することが出来る。
車両走行制御ユニット７３は、画像解析ユニット７２で計算された距離に基づいてハンドルやブレーキの制御も行うことが出来る。
【符号の説明】
【００２１】
１…画像処理装置、１０…ステレオカメラ、１０ａ  １０b…単眼カメラ、２０…ステレオ画像校正部、３０…ステレオ画像記憶部、４０…視差演算処理部、５０…視差データ記憶部、６０…探索範囲設定部、７０…距離演算処理部
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２０００−２８３７５３公報
【特許文献２】特開２００８−０３９４９１公報
【非特許文献】
【００２３】
【非特許文献１】Z.Zhang, “A Flexible New Technique for Camera Calibration”, Technical Report MSR-TR-98-71, Microsoft Research, 1998
【図１】
0006035774.tif 000002
【図２】
0006035774.tif 000003
【図３】
0006035774.tif 000004
【図４】
0006035774.tif 000005
【図５】
0006035774.tif 000006
【図６】
0006035774.tif 000007
【図７】
0006035774.tif 000008