(57)【特許請求の範囲】
【請求項１】
ステレオカメラで撮像した基準画像及び比較画像からなる一対の画像に対し、互いの画像の小領域間のシティブロック距離を演算して対応する小領域を探索し、対応する小領域で対象物までの距離に応じて生じる画素ズレ量に基づく遠近情報を数値化した距離画像を生成するステレオ画像処理装置において、
上記基準画像の小領域内の各画素の画像データを平均し、第１の平均値として算出する手段と、
上記比較画像の小領域内の各画素の画像データを平均し、第２の平均値として算出する手段と、
上記基準画像の小領域内の各画素の画像データから上記第１の平均値を差分し、第１のデータ群として算出する手段と、
上記比較画像の小領域内の各画素の画像データから上記第２の平均値を差分し、第２のデータ群として算出する手段と、
上記第１のデータ群の各データと上記第２のデータ群の各データとの差分の絶対値を総和し、上記シティブロック距離を演算する手段とを備えたことを特徴とするステレオ画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステレオカメラで撮像した一対の画像を処理して距離画像を生成するステレオ画像処理装置に関する。
【０００２】
【従来の技術】
一般に、画像による３次元計測技術として、２台のカメラからなるステレオカメラで対象物を異なる位置から撮像した一対の画像の相関を求め、同一物体に対する視差からステレオカメラの取り付け位置や焦点距離等のカメラパラメータを用いて三角測量の原理により距離を求める、いわゆるステレオ法による画像処理が知られている。
【０００３】
このステレオ法による画像処理としては、本出願人は、先に、特開平５−１１４０９９号公報において、車両に搭載したステレオカメラで撮像した画像を処理して車外の対象物の３次元位置を測定する技術を提案している。この技術では、ステレオ撮像した一対の画像に対し、複数の小領域間のシティブロック距離を演算して対応位置を探索するステレオマッチングをハードウエア回路によって高速に処理し、対応する小領域の画素ズレ量を距離情報として出力するようにしている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来のステレオマッチング処理では、ステレオカメラで撮像した一対のアナログ画像をデジタル処理のためにデジタル化した後、デジタル化した画像の値そのものを用いてシティブロック距離を演算している。このため、２つの画像間の輝度の僅かなバランスの狂いやノイズの影響を受け、ミスマッチングが生じて正確な距離情報を得られない場合がある。
【０００５】
従って、従来、ステレオカメラからの２系統の画像信号をステレオ処理する際には、２系統の信号のゲインを揃えるためのゲインコントロールアンプ、カメラ特性の相違を補正するためのルックアップテーブル、撮像画像内の領域による感度バラツキを補正するためのシェーディング補正回路等による入力画像に対する補正が必須であり、回路部品が増加してコスト上昇を招くばかりでなく、カメラやアナログ回路部品の経年変化が生じた場合には、ミスマッチングを防止することは困難であった。
【０００６】
本発明は上記事情に鑑みてなされたもので、ステレオ撮像した一対の画像間のバラツキや低周波ノイズに影響されることなく、正確なステレオマッチングを行うことのできるステレオ画像処理装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】
請求項１記載の発明は、ステレオカメラで撮像した基準画像及び比較画像からなる一対の画像に対し、互いの画像の小領域間のシティブロック距離を演算して対応する小領域を探索し、対応する小領域で対象物までの距離に応じて生じる画素ズレ量に基づく遠近情報を数値化した距離画像を生成するステレオ画像処理装置において、上記基準画像の小領域内の各画素の画像データを平均し、第１の平均値として算出する手段と、上記比較画像の小領域内の各画素の画像データを平均し、第２の平均値として算出する手段と、上記基準画像の小領域内の各画素の画像データから上記第１の平均値を差分し、第１のデータ群として算出する手段と、上記比較画像の小領域内の各画素の画像データから上記第２の平均値を差分し、第２のデータ群として算出する手段と、上記第１のデータ群の各データと上記第２のデータ群の各データとの差分の絶対値を総和し、上記シティブロック距離を演算する手段とを備えたことを特徴とする。
【０００８】
すなわち、本発明によるステレオ画像処理装置では、ステレオカメラで撮像した一対の画像に対し、基準画像の小領域内の各画素の画像データから小領域内の各画素の画像データを平均した第１の平均値を差分した第１のデータ群、及び、比較画像の小領域内の各画素の画像データから小領域内の各画素の画像データを平均した第２の平均値を差分した第２のデータ群を算出し、第１のデータ群の各データと第２のデータ群の各データとの差分の絶対値を総和してシティブロック距離を演算することにより、対応する小領域を探索する。そして、対応する小領域で対象物までの距離に応じて生じる画素ズレ量に基づく遠近情報を数値化した距離画像を生成する。
【０００９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図４は本発明の実施の一形態に係わり、図１はステレオ処理部のブロック図、図２はステレオ画像処理装置の基本構成図、図３はメイン画像及びサブ画像の小領域のデータを示す説明図、図４は画像処理のタイミングチャートである。
【００１０】
図２は、例えば自動車やヘリコプタ等の移動体に搭載され、対象風景をステレオ撮像した一対の画像を処理して三次元の距離情報を求め、求めた距離の情報に基づいて周囲環境や自己位置を認識する装置等に使用されるステレオ画像処理装置の基本構成を示し、２台１組のカメラから構成されるステレオカメラ１０、このステレオカメラ１０で撮像した画像に対する入力処理を行う画像入力部２０、この画像入力部で処理した撮像画像を元画像としてストアする元画像メモリ２５、元画像をステレオ処理して距離分布情報（距離画像）を取得するステレオ処理部３０、距離画像をストアする距離画像メモリ３５、距離画像を読み込んで各種認識処理を行う認識処理部４０等から構成される。
【００１１】
上記ステレオカメラ１０を構成する２台のカメラ１０ａ，１０ｂは、互いに、同期が取れ、且つ、シャッタースピード可変のＣＣＤカメラであり、一方のＣＣＤカメラ１０ａをステレオ処理の際の基準画像を撮像するメインカメラ、他方のＣＣＤカメラ１０ｂをステレオ処理の際の比較画像を撮像するサブカメラとして、所定の基線長で互いの撮像面垂直軸が平行となるよう配置されている。
【００１２】
画像入力部２０は、各ＣＣＤカメラ１０ａ，１０ｂからの２系統のアナログ撮像信号を処理するためのアンプやＡ／Ｄコンバータと、例えば高集積度ＦＰＧＡによって構成した画像処理の各種機能回路とを備え、さらに、ＣＣＤカメラ１０ａ，１０ｂの機械的な光学位置の僅かなズレを電気的に補正するための画像調整回路を備えたものであり、ＣＣＤカメラ１０ａ，１０ｂからの撮像画像を所定の輝度階調のデジタル画像データに変換し、画像調整によってＣＣＤカメラ１０ａ，１０ｂの機械的な取り付け位置の誤差を補正して元画像メモリ２５にストアする。
【００１３】
ステレオ処理部３０は、元画像メモリ２５にストアされたメイン画像（基準画像）及びサブ画像（比較画像）の２枚の画像に対し、各画像の小領域毎にシティブロック距離を計算して互いの相関を求めることで対応する小領域を特定するステレオマッチングを行い、対象物までの距離に応じて生じる画素のズレ（＝視差）から得られる対象物までの遠近情報を数値化した３次元画像情報（距離画像）を取得するものであり、マッチングシーケンスに関する機能を、同様に高集積度ＦＰＧＡ等によって構成する。
【００１４】
認識処理部４０は、距離画像から得られる距離分布情報に基づいて高速に各種認識処理を行うためのＲＩＳＣプロセッサ等からなり、例えば車両に搭載された場合、道路形状や前方車両の存在等の走行環境を認識し、衝突危険度を判定して運転者に警報を発したり、自動的にブレーキを作動させて停止させる、あるいは、先行車との車間距離を安全に保つよう自動的に走行速度を増減する等の車両制御用データを出力する。
【００１５】
上記ステレオ処理部３０におけるステレオマッチングは、基本的には、先に本出願人によって提出された特開平５−１１４０９９号公報に詳述されている処理と同様であるが、特開平５−１１４０９９号の処理では元画像データから直接シティブロック距離を演算しているのに対し、本発明では、元画像に対して予めマッチングを取る小領域の平均値を取り、小領域内のそれぞれの画素の輝度値から平均値を差分した値によってシティブロック距離を演算する平均値差分マッチングを行う。
【００１６】
この平均値差分マッチングは、画像の高周波成分のみをマッチング対象とするものであり、ハイパスフィルタと等価な作用を有しているため低周波ノイズを除去することができ、２つの画像間の輝度の僅かなバランスの狂いの影響、カメラやアナログ回路部品の経年変化によるゲイン変化の影響に対し、ミスマッチングを生じることがなく正確な距離情報を得ることができる。
【００１７】
従って、上記画像入力部２０には、従来のステレオ処理の前段として必須であった２系統の画像信号のバラツキ補正に関する回路、すなわち、ゲインコントロールアンプ、ルックアップテーブル、シェーディング補正回路等が必要なくなり、回路部品点数を減らしてコスト低減を図ることができるばかりでなく、回路構成の簡素化により信頼性を向上することができる。
【００１８】
詳細には、ステレオ処理部３０の機能構成は、図１に示すように、メイン画像の小領域の平均値を計算するメイン画像平均値処理部５０、このメイン画像平均値処理部５０で計算したメイン画像の小領域の平均値データをストアするメイン平均値デュアルポートメモリ５５、サブ画像の小領域の平均値をメイン画像に対して１画素ずつずらしながら計算するサブ画像平均値処理部６０、このサブ画像平均値処理部６０で計算したサブ画像の小領域の平均値データをストアするサブ平均値デュアルポートメモリ６５、サブ画像及びメイン画像に対し、小領域内のそれぞれの画素の輝度値から平均値を差分した値を計算する平均値差分部７０、メイン元画像の輝度値から平均値を減算した値とサブ画像の輝度値から平均値を減算した値との差の絶対値を総和してシティブロック距離を計算するステレオマッチング部８０、シティブロック距離の最小値及び最大値等を評価してシティブロック距離の最小値が本当に２つの画像の小領域の一致を示しているものかどうかをチェックするシティブロック距離チェック部９０等から構成されており、さらに、異常な距離データを排除するための特異点除去フィルタ部１００を付属的に備えている。
【００１９】
本形態では、元画像を横５００×縦２００画素の大きさとし、その中で処理範囲を横４２０×縦１６０として、横８×縦４画素の小領域でマッチングを取るようにしており、図３に示すように、メイン画像の横８×縦４画素の小領域内の各画素の輝度データＭi,j（ｉ＝１〜８、ｊ＝１〜４）、サブ画像の横８×縦４画素の小領域内の各画素の輝度データＳi,j（ｉ＝１〜８、ｊ＝１〜４）に対し、それぞれ以下の(1),(2)式で示す平均値ＡM,ＳMを求め、以下の(3)式で示すシティブロック距離ＣBを演算する。但し、Σはｉ＝１〜８，ｊ＝１〜４の総和を求めるものとする。
【００２０】
ＡM＝ΣＭi,j／３２                     …(1)
ＳM＝ΣＳi,j／３２                     …(2)
ＣB＝Σ│(Ｍi,j−ＡM)−(Ｓi,j−ＡM)│  …(3)
小領域の平均値は、元画像の４ライン毎に計算するようにしており、メイン画像平均値処理部５０は、３個の２バイト加算器を組み合わせた４バイト加算ブロック５１に、加算器とＤ−フリップフロップとシフトレジスタとを組み合わせた２つの加算ブロック５２，５３（図中、加算１，２）が並列接続された構成で、各加算ブロック５２，５３のデータがマルチプレクサ５４を介してメイン平均値デュアルポートメモリ５５に出力される。
【００２１】
一方、サブ画像平均値処理部６０は、横８×縦４画素の小領域を水平走査方向に１画素ずつずらしながら平均値を計算するため、３個の２バイト加算器を組み合わせた４バイト加算ブロック６１に、パラレル接続した９個の加算器（図中、加算１〜９）及び８個のマルチプレクサからなる加算平均ブロック６２を接続した構成となっている。加算平均ブロック６２では、加算１〜８の各２個毎の加算器出力を７個のマルチプレクサによる３段構成で処理し、さらに、最終段のマルチプレクサで３段構成のマルチプレクサ出力と加算９の加算器出力に対するデータセレクトを行って加算平均値を出力する。
【００２２】
平均値差分部７０は、元画像の４ライン分に対応して４つの平均値差分ブロック７１，７２，７３，７４（図中、平均値差分１〜４）からなり、それぞれに、メイン画像用の差分器とサブ画像用の差分器とが備えられている。メイン画像用の差分器では、元画像メモリ２５のメイン画像データからメイン平均値デュアルポートメモリ５５の平均値データを減算する処理をマルチプレクサ及び８段のシフトレジスタを介して横８バイト分を順次行い、サブ画像用の差分器では、元画像メモリ２５のサブ画像データからサブ平均値デュアルポートメモリ６５の平均値データを減算する処理を行う。
【００２３】
さらに、ステレオマッチング部８０は、４個の差分器と４個の絶対値演算器と３個の加算器とをピラミッド状に接続した縦加算ブロック８１に、横加算ブロック８２を接続した構成となっている。
【００２４】
縦加算ブロック８１は、４段構成となっており、各平均値差分ブロック７１，７２，７３，７４のメイン画像データとサブ画像データとの差分を取る４個の差分器で１段目が構成され、２段目が４個の絶対値演算器で構成されている。２段目の絶対値演算の出力データは、２個毎に３段目の加算器（２個）で加算され、この３段目の２個の加算器の出力データが４段目の最終段の加算器に入力される。縦加算ブロック８１の最終段の加算器出力は、加算器とＤ−フリップフロップとを組み合わせた横加算ブロック８２に入力され、この横加算ブロック８２からシティブロック距離の演算結果が出力される。
【００２５】
以上の構成によるステレオ画像処理装置では、図４のタイムチャートに示すように、１００ｍｓ毎の処理サイクルで距離画像を生成する。
【００２６】
すなわち、処理サイクルの初めで画像をサンプルして画像調整を行い、残りの処理時間で必要な領域の距離画像を生成する。図４の例では、１サイクルで中央４０ライン分（line00〜line27）すなわち横４２０画素×縦１６０画素についてのステレオ処理を行うようになっており、このステレオ処理では、１ライン分の処理の先頭で、横４２０×縦１６０画素の元画像の４ライン分について横８×縦４画素の小領域の輝度データの平均値を求める処理を行う。この平均化処理では、メイン平均値デュアルポートメモリ５５にメイン元画像の各小領域の輝度平均値が４０バイト分ストアされ、サブ平均値デュアルポートメモリ６５には、サブ元画像の各小領域の輝度平均値が４１３バイト（４２０−７＝バイト）分ストアされる。
【００２７】
メイン元画像に対しては、メイン画像平均値処理部５０の４バイト加算ブロック５１でメイン元画像の縦４バイト分を加算し、この加算結果を次段の加算ブロック５２（加算ブロック５３）のＤ−フリップフロップにラッチされている前回の縦４バイト分のデータに加算する。これをパイプライン処理で８回繰り返すことにより、小領域に対する８×４＝３２バイト分の演算を行い、シフトレジスタでビットシフトして平均値を得る。２つの加算ブロック５２，５３は、演算遅れによって処理の流れが不均一となることを避けるためバンク切換えで使用するようにしており、メイン元画像の横３２０画素まで交互に３２バイト分の演算を行い、マルチプレクサ５４を介してメイン平均値デュアルポートメモリ５５に平均値データ（第１の平均値）が４０バイト（３２０／８＝４０バイト）分出力される。
【００２８】
サブ元画像では、メイン元画像に対して横８×縦４画素の小領域の平均値を水平走査方向に１画素ずつずらしながら１００画素ずれまで計算するため、サブ画像平均値処理部６０の４バイト加算ブロック６１でサブ元画像の縦４バイト分を加算し、次段の加算平均ブロック６２の加算１の加算器で１画素目から８画素目までの横８バイト分の加算を実行し、加算２の加算器で２画素目から９画素目までの横８バイト分の加算を実行し、加算３の加算器で３画素目から１０画素目までの横８バイト分の加算を実行し、加算４の加算器で４画素目から１１画素目までの横８バイト分の加算を実行し、加算５の加算器で５画素目から１２画素目までの横８バイト分の加算を実行し、加算６の加算器で６画素目から１３画素目までの横８バイト分の加算を実行し、加算７の加算器で７画素目から１４画素目までの横８バイト分の加算を実行し、加算８の加算器で８画素目から１５画素目までの横８バイト分の加算を実行し、加算９の加算器で９画素目から１６画素目までの横８バイト分の加算を実行する。
【００２９】
そして、次は、再び、加算１の加算器で１０画素目から１７画素目までの横８バイト分の加算を実行するというように、加算１の加算器から加算９の加算器を順次使用して多段接続したマルチマルチプレクサを介して加算平均値を出力する。この平均値計算をサブ元画像の中央部４２０画素分実行し、サブ平均値デュアルポートメモリ６５に平均値データ（第２の平均値）が４１３バイト（４２０−７＝４１３バイト）分出力される。
【００３０】
次に、ライン処理先頭の平均化処理が終わると、メイン画像での４０個の小領域についてステレオ処理（area00〜area27）が開始され、シティブロック距離を演算するシティブロック処理が始まる。このシティブロック処理では、平均値差分ブロック７１，７２，７３，７４で、それぞれ元画像１ライン分の差分計算が行われ、メイン画像の小領域内の画素毎の輝度データから平均値を減算した差分データ群（第１のデータ群）、サブ画像の小領域内の画素毎の輝度データから平均値を減算した差分データ群（第２のデータ群）の個々のデータがステレオマッチング部８０に順次出力される。
【００３１】
この処理は、１画素ずれ毎に１００画素ずれまで順次行われ（dpx00〜dpx64）、ステレオマッチング部８０の縦加算ブロック８１では、初段で平均値差分ブロック７１，７２，７３，７４からそれぞれ出力されるメイン画像の差分データからサブ画像の差分データを減算し、２段目の絶対値演算器で絶対値演算を行い、３段目の２個の加算器の各々で、２段目の絶対値演算器からの２つの同時入力データを加算して４段目で前段の出力を加算する。
【００３２】
そして、縦加算ブロック８１での縦４バイト分の演算結果が横加算ブロック８２に入力され、横８バイト分の処理に移る（ｒｏｗ加算処理：row00H〜row7H）。この横加算ブロック８２では、Ｄ−フリップフロップにラッチされている縦４バイト分のデータを順次加算して８×４＝３２画素分の総和を取り、シティブロック距離の演算値を出力する。
【００３３】
ステレオマッチング部８０から出力されたシティブロック距離は、シティブロック距離チェック部９０において最小値及び最大値等が評価され、シティブロック距離の最小値が本当に２つの画像の小領域の一致を示しているものかどうかがチェックされる。そして、チェック条件を満足し、且つ、シティブロック距離が最小になる画素ズレ量が有効な距離データとして距離画像メモリ３５にストアされ、２ライン遅れで局所的な異常データを排除するための特異点除去フィルタ処理が実施される。
【００３４】
【発明の効果】
以上説明したように本発明によれば、ステレオ撮像した元画像に対して予めマッチングを取る小領域の平均値を取り、小領域内のそれぞれの画素の画像データから平均値を差分した値によってシティブロック距離を演算するため、画像の高周波成分のみをマッチング対象として低周波ノイズを除去することができ、２つの画像間の輝度の僅かなバランスの狂いの影響、カメラやアナログ回路部品の経年変化によるゲイン変化の影響に対し、ミスマッチングを生じることがなく正確な距離情報を得ることができる。
【００３５】
従って、従来のステレオ処理の前段として必須であった２系統の画像信号のバラツキ補正に関する回路が必要なくなり、回路部品点数を減らしてコスト低減を図ることができるばかりでなく、回路構成の簡素化により信頼性を向上することができる等優れた効果が得られる。
【図面の簡単な説明】
【図１】ステレオ処理部のブロック図
【図２】ステレオ画像処理装置の基本構成図
【図３】メイン画像及びサブ画像の小領域のデータを示す説明図
【図４】画像処理のタイミングチャート
【符号の説明】
１０…ステレオカメラ
３０…ステレオ処理部
５０…メイン画像平均化処理部
６０…サブ画像平均化処理部
７０…平均値差分部
８０…ステレオマッチング部
【図１】
0003917285.tif 000002
【図２】
0003917285.tif 000003
【図３】
0003917285.tif 000004
【図４】
0003917285.tif 000005