説明

車輌用距離検出装置

【目的】 撮像系のシェーディングの影響を防止し、距離検出の精度を向上する。
【構成】 各シェーディング補正用データメモリ35a,35bには、CCDカメラ11a(12a),11b(12b)で撮像した画像に生じるシェーディングの影響を補正するため、予め測定してあるシェーディング補正データ(シェーディング補正比)がストアされており、#1アドレスコントローラ86によって指定される画素位置のシェーディング補正比と、各LUT33a,33bからのデータとが、1画素単位で各デジタルマルチプライヤ34a,34bによって乗算され、乗算されたデータがシェーディング補正済みの画像データとして画像メモリ36a,36bに記録される。これにより、シェーディングの影響のない画像データを用いて正確な距離検出を行なえる。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、撮像系のシェーディングの影響を防止し、距離検出の精度を向上する車輌用距離検出装置に関する。
【0002】
【従来の技術】人や物を運ぶ手段の1つである自動車等の車輌は、その利便性と快適性から現代社会においてなくてはならない存在となっている。そこで、自動車の持つ優れた点を犠牲にすることなく、自動的に事故を回避することのできる技術の開発が従来より進められている。
【0003】自動車の衝突を自動的に回避するためには、走行の障害となる物体を検出することがまず第一に重要であり、一方、自動車の走行には、検出した障害物が道路上の何処に存在しているのかを知る必要がある。
【0004】従って、最近では、電荷結合素子(CCD)等の固体撮像素子を用いたカメラ等を車輌に搭載して車外の対象風景を撮像し、この撮像した画像を画像処理して車輌から対象物までの距離を求める計測技術が有力な手段として採用されるようになっており、例えば、特開昭59−197816号公報には、2台のTVカメラを車輌前方に取り付け、各々のTVカメラの画像について、2次元的な輝度分布パターンから障害物を検出し、次に、2つの画像上における障害物の位置のずれを求め、三角測量の原理によって障害物の3次元位置を算出する車間距離検出装置が開示されている。
【0005】
【発明が解決しようとする課題】しかしながら、カメラ等の撮像系には、レンズの透過ムラ等の影響によって、画像の周辺部よりも中心部の方が明るい、いわゆるシェーディング現象が発生し、均一な輝度を有する対象物を撮像しても、撮像画像では輝度が不均一となってしまう。
【0006】このシェーディングの影響を防止するシェーディング補正に係る技術は、例えば、特開平3−22757号公報に開示されているが、従来、車輌用距離検出装置においては、撮像系のシェーディングによる影響は考慮されておらず、撮像系で撮像した画像を処理して画像全体に渡る距離分布を求める際に、シェーディングの影響で現実の撮像対象の輝度分布と画像上の輝度分布との間に誤差が生じ、距離分布の正確さが失われてしまうおそれがある。
【0007】本発明は前記事情に鑑みてなされたもので、撮像系のシェーディングの影響を防止し、距離検出の精度を向上することのできる車輌用距離検出装置を提供することを目的としている。
【0008】
【課題を解決するための手段】第1の発明は、車輌に搭載した撮像系によって車外の対象を撮像して画像メモリに記録し、この画像メモリに記録した画像データを処理して画像全体に渡る距離分布を算出する車輌用距離検出装置において、前記撮像系のシェーディング補正を行なうためのシェーディング補正データを記憶したシェーディング補正用データメモリと、前記撮像系で撮像した画像から得られるデジタル画像に対し、このデジタル画像の各画素データ毎に、前記シェーディング補正用データメモリの対応するシェーディング補正データを乗算し、シェーディング補正済みの画像データとして出力するデジタル乗算器とを備えたことを特徴とする。
【0009】第2の発明は、車輌に搭載した撮像系によって車外の対象を撮像して画像メモリに記録し、この画像メモリに記録した画像データを処理して画像全体に渡る距離分布を算出する車輌用距離検出装置において、前記撮像系のシェーディング補正を行なうためのシェーディング補正データを記憶したシェーディング補正用データメモリと、前記撮像系で撮像した画像から得られるデジタル画像に対し、このデジタル画像の各画素データを、前記シェーディング補正用データメモリの対応するシェーディング補正データで乗算した値に変換し、シェーディング補正済みの画像データとして出力する補正テーブルとを備えたことを特徴とする。
【0010】第3の発明は、車輌に搭載した撮像系によって車外の対象を撮像して画像メモリに記録し、この画像メモリに記録した画像データを処理して画像全体に渡る距離分布を算出する車輌用距離検出装置において、前記撮像系のシェーディング補正を行なうためのシェーディング補正データを記憶したシェーディング補正用データメモリと、前記撮像系で撮像したアナログ画像に対し、このアナログ画像の各画素データ毎に、前記シェーディング補正用データメモリの対応するシェーディング補正データをデジタル/アナログ変換した値を乗算し、シェーディング補正済みの画像データとして出力するアナログ乗算器とを備えたことを特徴とする。
【0011】
【作用】第1の発明では、撮像系で撮像した画像から得られるデジタル画像の各画素データ毎に、シェーディング補正用データメモリの対応するシェーディング補正データをデジタル乗算器によって乗算し、シェーディング補正を行なう。そして、シェーディング補正済みの画像データを用いて正確な距離分布を算出する。
【0012】第2の発明では、撮像系で撮像した画像から得られるデジタル画像の各画素データを補正テーブルを通すことにより、各画素データにシェーディング補正用データメモリの対応するシェーディング補正データを乗算した値に変換してシェーディング補正を行なう。そして、シェーディング補正済みの画像データを用いて正確な距離分布を算出する。
【0013】第3の発明では、撮像系で撮像したアナログ画像に、直接、シェーディング補正用データメモリの対応するシェーディング補正データをデジタル/アナログ変換した値を乗算してシェーディング補正を行なう。そして、シェーディング補正済みの画像データを用いて正確な距離分布を算出する。
【0014】
【実施例】以下、図面を参照して本発明の実施例を説明する。図1〜図16は本発明の第1実施例に係わり、図1は車輌用距離検出装置の回路構成図、図2は距離検出装置の全体構成図、図3は車輌の正面図、図4はカメラと被写体との関係を示す説明図、図5は入力画像例を示す説明図、図6は補正データ例を示す説明図、図7は補正後の画像例を示す説明図、図8はシティブロック距離計算回路の説明図、図9は最小値検出回路のブロック図、図10は距離検出装置の動作を示すフローチャート、図11はシフトレジスタ内の保存順序を示す説明図、図12はシティブロック距離計算回路の動作を示すタイミングチャート、図13はずれ量決定部の動作を示すタイミングチャート、図14は全体の動作を示すタイミングチャート、図15は車載のCCDカメラで撮像した画像の例を示す説明図、図16は距離画像の例を示す説明図である。
【0015】図2において、符号1は自動車などの車輌であり、この車輌1に、車外の設置範囲内の対象を撮像して距離を検出する距離検出装置2が搭載されている。この距離検出装置2は、例えば図示しない道路・障害物認識装置などに接続されて障害物監視装置を構成し、運転者に対する警告、車体の自動衝突回避等の動作を行なうようになっている。
【0016】前記距離検出装置2は、車外の対象を撮像する撮像系としてのステレオ光学系10と、このステレオ光学系10によって撮像した画像を処理し、画像全体に渡る距離分布を算出するステレオ画像処理装置20とを備えており、このステレオ画像処理装置20で算出した3次元の距離情報が、例えば道路・障害物認識装置等に取り込まれ、道路形状及び車輌1に対する障害物が認識される。
【0017】前記ステレオ光学系10は、例えば電荷結合素子(CCD)等の固体撮像素子を用いたカメラにより構成され、図3に示すように、遠距離の左右画像用としての2台のCCDカメラ11a,11b(代表してCCDカメラ11と表記する場合もある)が、それぞれ車室内の天井前方に一定の間隔をもって取り付けられるとともに、近距離の左右画像用としての2台のCCDカメラ12a,12b(代表してCCDカメラ12と表記する場合もある)が、それぞれ、遠距離用のCCDカメラ11a,11bの内側に一定の間隔をもって取り付けられている。
【0018】前記ステレオ光学系10として、直近から例えば100m遠方までの距離計測を行なう場合、車室内のCCDカメラ11,12の取付位置を、例えば、車輌1のボンネット先端から2mとすると、実際には前方2mから100mまでの位置を計測できれば良い。
【0019】すなわち、図4に示すように、遠距離用の2台のCCDカメラ11a、11bの取付間隔をrとして、2台のカメラ11a,11bの設置面から距離Dにある点Pを撮影する場合、2台のカメラ11a,11bの焦点距離を共にfとすると、点Pの像は、それぞれのカメラについて焦点位置からfだけ離れた投影面に写る。
【0020】このとき、右のCCDカメラ11bにおける像の位置から左のCCDカメラ11aにおける像の位置までの距離は、r+xとなり、このxをずれ量とすると、点Pまでの距離Dは、ずれ量xから以下の式で求めることができる。
【0021】
D=r・f/x (1)
この左右画像のずれ量xを検出するには、左右画像における同一物体の像を見つけ出す必要があり、次に述べるステレオ画像処理装置20では、画像を小領域に分割し、それぞれの小領域内の輝度あるいは色のパターンを左右画像で比較して一致する領域を見つけ出し、全画面に渡って距離分布を求める。すなわち、従来のように、エッジ、線分、特殊な形等、何らかの特徴を抽出し、それらの特徴が一致する部分を見つけ出すことによる情報量の低下を避けるのである。
【0022】左右画像の一致度は、右画像、左画像のi番目画素の輝度(色を用いても良い)を、それぞれ、Ai、Biとすると、例えば、以下の(2)式に示すシティブロック距離Hによって評価することができ、平均値の採用による情報量の低下もなく、乗算がないことから演算速度を向上させることができる。
【0023】
H=Σ|Ai−Bi| (2)
また、分割すべき小領域の大きさとしては、大きすぎると、その領域内に遠方物体と近くの物体が混在する可能性が高くなり、検出される距離が曖昧になる。画像の距離分布を得るためにも領域は小さい方が良いが、小さすぎると、一致度を調べるための情報量が不足する。
【0024】このため、例えば、100m先にある幅1.7mの車輌が、隣の車線の車輌と同じ領域内に含まれないように、4つに分割される画素数を領域横幅の最大値とすると、前記ステレオ光学系10に対して4画素となる。この値を基準に最適な画素数を実際の画像で試行した結果、縦横共に4画素となる。
【0025】以下の説明では、画像を4×4の小領域で分割して左右画像の一致度を調べるものとし、ステレオ光学系10は、遠距離用のCCDカメラ11で代表するものとする。
【0026】図1に示すように、ステレオ画像処理装置20は、前記ステレオ光学系10で撮像したアナログ画像をデジタル画像に変換する画像変換部30、この画像変換部30からの画像データに対し、左右画像のずれ量xを決定するためのシティブロック距離Hを画素を一つずつずらしながら次々と計算する一致度計算部としてのシティブロック距離計算部40、シティブロック距離Hの最小値HMIN 及び最大値HMAX を検出する最小・最大値検出部50、この最小・最大値検出部50で得られた最小値HMIN が左右小領域の一致を示すものであるか否かをチェックしてずれ量xを決定するずれ量決定部60を備えている。
【0027】前記画像変換部30には、左右画像用のCCDカメラ11a,11bに対応してA/Dコンバータ32a,32bが備えられ、各CCDカメラ11a,11bからのビデオ信号が各アナログインターフェース(アナログI/F)31a,31bによって各A/Dコンバータ32a,32bの入力レンジに量子化され、各A/Dコンバータ32a,32bでデジタル信号に変換され、さらに、各A/Dコンバータ32a,32bの出力がルックアップテーブル(LUT)33a,33bに入力されるようになっている。
【0028】前記A/Dコンバータ32a,32bは、例えば8ビットの分解能を有し、CCDカメラ11からのアナログ画像を、所定の輝度階調を有するデジタル画像に変換する。すなわち、処理の高速化のため画像の二値化を行なうと、左右画像の一致度を計算するための情報が著しく失われるため、例えば256階調のグレースケールに変換するのである。
【0029】また、前記LUT33a,33bはROM上に構成され、前記各A/Dコンバータ32a,32bでデジタル量に変換されたデジタル画像のデータのビット数と同じビット数のアドレスをそれぞれ有し、入力データと等しいアドレスの内容に、輝度補正やCCDアンプの固有ゲインの補正を施したデータが書き込まれている。従って、例えば8ビットの画像データを、前記LUT33a,33bのアドレスとして与えると、低輝度部分のコントラストを上げたり、左右のCCDカメラ11a,11bの特性の違いを補正した8ビットのデータを読み出すことができる。
【0030】さらに、前記画像変換部30には、各CCDカメラ11a,11bで撮像した各画像のシェーディング補正を行なう機能が備えられており、前記各LUT33a,33bの出力側と、各シェーディング補正用データメモリ35a,35bの出力側とが、それぞれ、デジタル乗算器であるデジタルマルチプライヤ34a,34bを介して、左右画像用の画像メモリ36a,36bに接続されている。
【0031】尚、各シェーディング補正用データメモリ35a,35b、各デジタルマルチプライヤ34a,34b、各画像メモリ36a,36bは、それぞれ、シェーディング補正用データメモリ35、デジタルマルチプライヤ34、画像メモリ36と代表して表記する場合もある。
【0032】各シェーディング補正用データメモリ35a,35bには、各CCDカメラ11a,11bで撮像した画像に生じるシェーディングの影響を補正するため、予め測定してあるシェーディング補正データ(シェーディング補正比)がストアされており、後述する#1アドレスコントローラ86によって指定される画素位置のシェーディング補正比と、前記LUT33a,33bからのデータとが、1画素単位で各デジタルマルチプライヤ34a,34bによって乗算され、乗算されたデータがシェーディング補正済みの画像データとして各画像メモリ36a,36bに記録される。
【0033】例えば、一様な輝度を有する壁等の対象物をCCDカメラ11で撮影すると、カメラの光学系にシェーディング現象が発生して、図5に示すように、光学中心付近に比べて画面周辺が暗くなる。すなわち、撮影した対象は一様な輝度を有するものであることから、正確には画面一面に一定の輝度データが入力されるはずであるが、中心部領域RAの輝度データを100とすると、この中心部領域から外側の各領域RB,RCではシェーディングの影響で輝度が低下し、順に、90,80の輝度データとなり、画面周辺領域RDでは70にまで輝度が低下する。
【0034】これに対し、図6に示すように、各領域RA,RB,RC,RDに対するシェーディング補正比が、例えば、領域RAが1.0倍、領域RBが1.11倍、領域RCが1.25倍、領域RDが1.43倍と予め測定しておき、これらのシェーディング補正比を、シェーディングの影響で実際の対象より輝度が低下した撮像画像の1画素毎に乗算して補正する。
【0035】その結果、図7に示すように、領域RAは、100×1.0=100の輝度データ、領域RBは、90×1.11=100の輝度データ、領域RCは、80×1.25=100の輝度データ、領域RDは、70×1.43=100の輝度データといったように、すべての領域で輝度が均一な実際の対象を正確に表現した画像とすることができる。
【0036】従って、前記画像メモリ36には、シェーディングの影響のない画像データを記録することができ、次に述べるシティブロック距離計算部40において正確なシティブロック距離Hを算出することができ、正確な距離検出を行なえる。しかも、シェーディング補正をハードウエアで行なうため、処理速度が早く、リアルタイムで処理することができる。
【0037】尚、後述するように、前記画像メモリ36は、シティブロック距離計算部40で画像の一部を繰り返し取り出して処理するため、比較的低速のメモリから構成することができ、コスト低減を図ることができる。
【0038】シティブロック距離計算部40では、前記画像変換部30の左画像用の画像メモリ36aに、共通バス80を介して2組の入力バッファメモリ41a,41bが接続されるとともに、右画像用の画像メモリ36bに、共通バス80を介して2組の入力バッファメモリ42a,42bが接続されている。
【0039】前記各入力バッファメモリ41a,41b,42a,42bは、シティブロック距離計算の速度に応じた比較的小容量の入出力が分離した高速タイプであり、、これらの入力バッファメモリ41a,41b,42a,42b、前記デジタルマルチプライヤ34a,34b、シェーディング補正用データメモリ35a,35b、及び、画像メモリ36a,36bに、クロック発生回路85から供給されるクロックに従って#1アドレスコントローラ86から発生されるアドレスが共通に与えられる。
【0040】前記左画像用の各入力バッファメモリ41a,41bには、2組の例えば8段構成のシフトレジスタ43a,43bが接続され、右画像用の各入力バッファメモリ42a,42bには、同様に、2組の例えば8段構成のシフトレジスタ44a,44bが接続されている。さらに、これら4組のシフトレジスタ43a,43b,44a,44bには、シティブロック距離を計算するシティブロック距離計算回路45が接続されており、これら4組のシフトレジスタ43a,43b,44a,44bと前記各入力バッファメモリ41a,41b,42a,42bとの間のデータ転送は、#2アドレスコントローラ87によって制御される。
【0041】また、前記右画像用のシフトレジスタ44a、44bには、後述するずれ量決定部60の2組の10段構成のシフトレジスタ64a,64bが接続されており、次の小領域のデータ転送が始まると、シティブロック距離Hの計算の終わった古いデータはこれらのシフトレジスタ64a,64bに送られ、ずれ量xの決定の際に用いられる。
【0042】また、シティブロック距離計算回路45は、加減算器に入出力ラッチをつなげてワンチップ化した高速CMOS型演算器46を組み合わせており、図8に詳細が示されるように、演算器46を16個ピラミッド状に接続したパイプライン構造で、例えば8画素分を同時に入力して計算するようになっている。このピラミッド型構造の初段は、絶対値演算器、2段〜4段は、それぞれ、第1加算器、第2加算器、第3加算器を構成し、最終段は総和加算器となっている。
【0043】尚、図8においては、絶対値計算と1,2段目の加算器は半分のみ表示している。
【0044】このシティブロック距離Hの計算をコンピュータのソフトウエアで行なう場合、右画像の一つの小領域に対して左画像の小領域を次々に探索し、これを右画像の小領域全部について行なう必要があり、この計算を例えば0.08秒で行なうとすると、一画素当たり例えば5ステップのプログラムで、500MIPS(Mega Instruction Per Second )の能力が要求される。これは現在の一般的なシスク(CISC)タイプのマイクロプロセッサでは実現不可能な数字であり、リスク(RISC)プロセッサ、デジタルシグナルプロセッサ(DSP)、あるいは、並列プロセッサなどを用いなければならなくなる。
【0045】前記最小・最大値検出部50は、シティブロック距離Hの最小値HMIN を検出する最小値検出回路51とシティブロック距離Hの最大値HMAX を検出する最大値検出回路52とを備えており、前記シティブロック距離計算回路45で使用する演算器46を最小値、最大値検出用として2個使用した構成となっており、シティブロック距離Hの出力と同期が取られるようになっている。
【0046】図9に示すように、最小値検出回路51は、具体的には、Aレジスタ46a、Bレジスタ46b、及び、算術論理演算ユニット(ALU)46cからなる演算器46に、Cラッチ53,ラッチ54,Dラッチ55を接続して構成され、シティブロック距離計算回路45からの出力が、Aレジスタ46aと、Cラッチ53を介してBレジスタ46bとに入力され、ALU46cの出力の最上位ビット(MSB)がラッチ54に出力される。このラッチ54の出力は、Bレジスタ46b及びDラッチ55に出力され、演算器46での最小値計算の途中の値が、Bレジスタ46bに保存されるとともに、そのときのずれ量xがDラッチ55に保存されるようになっている。
【0047】尚、最大値検出回路52については、論理が逆になることと、ずれ量xを保存しないこと以外は、最小値検出回路51と同様の構成である。
【0048】前述したようにシティブロック距離Hは、一つの右画像小領域に対し、左画像小領域を1画素ずつずらしながら順次計算されていく。そこで、シティブロック距離Hの値が出力される毎に、これまでの値の最大値HMAX 、最小値HMIN と比較、更新することによって、最後のシティブロック距離Hの出力とほぼ同時に、その小領域におけるシティブロック距離Hの最大値HMAX 、最小値HMIN が求まるようになっている。
【0049】前記ずれ量決定部60は、比較的小規模のRISCプロセッサとして構成され、演算器61を中心として、2本の16ビット幅データバス62a,62b、ずれ量xを保持するラッチ63a、第1の規定値としてのしきい値Ha を保持するラッチ63b、第2の規定値としてのしきい値Hb を保持するラッチ63c、第3の規定値としてのしきい値Hc を保持するラッチ63d、右画像の輝度データを保持する2組のシフトレジスタ64a,64b、演算器61の出力を受けてずれ量xまたは”0”を出力するスイッチ回路65、そして出力された結果を一時保存する出力バッファメモリ66a,66b、回路の動作タイミングや演算器61の機能の制御プログラムが書き込まれた16ビット幅のROM67が備えられている。
【0050】前記演算器61は、ALU70を中心として、Aレジスタ71、Bレジスタ72、Fレジスタ73、及び、セレクタ74からなり、前記データバス62a(以下、Aバス62aとする)にAレジスタ71が接続されるとともに、前記データバス62b(以下、Bバス62bとする)にBレジスタ72が接続され、ALU70の演算結果で前記スイッチ回路65を作動し、ずれ量xまたは“0”が前記出力バッファメモリ66a,66bに格納されるようになっている。
【0051】前記Aバス62aには、各しきい値Ha 、Hb 、Hc を保持するラッチ63b,63c,63d、前記最大値検出回路52が接続され、前記Bバス62bには、前記最小値検出回路51が接続されている。さらに、前記Aバス62a及びBバス62bには、前記各シフトレジスタ64a,64bが接続されている。
【0052】また、前記スイッチ回路65には、前記演算器61が接続されるとともに、前記ラッチ63aを介して前記最小値検出回路51が接続され、後述する3つのチェック条件が演算器61で判定され、その判定結果に応じて前記出力バッファメモリ66a,66bへの出力が切り換えられる。
【0053】このずれ量決定部60では、得られたシティブロック距離Hの最小値HMIN が本当に左右小領域の一致を示しているものかどうかチェックを行い、条件を満たしたもののみ、出力バッファメモリ66a,66bの対応する画素の位置にずれ量xを出力する。
【0054】すなわち、シティブロック距離Hが最小となるずれ量が求めるずれ量xとなる訳であるが、以下の3つのチェック条件を満足した場合にずれ量xを出力し、満足しない場合には、データを採用せずに“0”を出力する。
【0055】(1)HMIN ≦Ha (HMIN >Ha のときには距離を検出できず。)
(2)HMAX −HMIN ≧Hb (得られた最小値HMIN がノイズによる揺らぎより明らかに低くなっていることをチェックするための条件であり、最小値HMINの近傍の値との差でなく、最大値HMAX との差をチェック対象とすることにより、曲面などの緩やかに輝度の変わる物体に対しても距離検出が行なえる。)
(3)右画像の小領域内の横方向の隣接画素間の輝度差>Hc (しきい値Hc を大きくするとエッジ検出となるが、輝度が緩やかに変化している場合にも対応可能なように、しきい値Hc は通常のエッジ検出レベルよりはずっと低くしてある。この条件は、輝度変化のない部分では、距離検出が行なえないという基本的な原理に基づいており、小領域中の画素毎に行なわれるため、小領域の中でも実際に距離の検出された画素のみが採用されることになり、自然な結果が得られる。)
尚、このずれ量決定の処理も、通常のマイクロプロセッサでソフト的に行おうとすると、例えば27MIPSの速さが必要となり、実行不可能である。
【0056】以上のずれ量決定部60から出力される最終結果である距離分布情報は、道路・障害物認識装置などの外部装置へのインターフェースとなるデュアルポートメモリ90へ共通バス80を介して書き込まれる。
【0057】次に、図10に示すフローチャートに従って、ステレオ画像処理装置20を中心として本実施例の動作を説明する。
【0058】まず、ステップS101で左右のCCDカメラ11a,11bによって撮像した画像を入力すると、ステップS102で、A/Dコンバータ32a,32bにより、入力したアナログ画像をデジタル量にA/D変換する。このA/D変換された画像データは、LUT33a,33bで、低輝度部分のコントラスト増強、左右のCCDカメラ11a,11bの特性補償等が行なわれ、次いで、#1アドレスコントローラ86によって指定される画素毎に、各デジタルマルチプライヤ34a,34bによって各シェーディング補正用データメモリ35a,35bにストアされているシェーディング補正比がそれぞれ乗算され、シェーディングの影響を補正したデータが画像メモリ36a,36bに記憶される。
【0059】これらの画像メモリ36a,36bに記憶される画像は、CCDカメラ11a,11bのCCD素子の全ラインのうち、その後の処理に必要なラインのみであり、例えば0.1秒に1回の割合(テレビ画像で3枚に1枚の割合)で書き換えられる。
【0060】次に、ステップS103へ進むと、左右画像用の画像メモリ36a,36bから入力バッファメモリ41a,41b,42a,42bへ、共通バス80を介して、例えば4ラインずつ左右画像データが読み込まれ、読み込んだ左右画像のマッチング、すなわち一致度の評価が行なわれる。
【0061】その際、左右の画像毎に、前記画像メモリ36a,36bから前記入力バッファメモリ41a,41b,42a,42bへの読み込み動作と、シフトレジスタ43a,43b,44a,44bに対する書き込み動作とが交互に行なわれる。例えば、左画像では、画像メモリ36aから一方の入力バッファメモリ41aに画像データが読み込まれている間に、他方の入力バッファメモリ41bからシフトレジスタ43bへ読み込んだ画像データの書き出しが行なわれ、右画像では、画像メモリ36bから一方の入力バッファメモリ42aに画像データが読み込まれている間に、他方の入力バッファメモリ42bからシフトレジスタ44bへ読み込んだ画像データの書き出しが行なわれる。
【0062】そして、図11に示すように、前記シフトレジスタ43a,43b,44a,44bには、左右の4×4画素の小領域の画像データ(1,1)…(4,4)が保存され、一方のシフトレジスタ43a(44a)には1、2ラインのデータが、もう一方のシフトレジスタ43b(44b)には3、4ラインのデータが、それぞれ1画素毎に奇数ライン、偶数ラインの順序で入る。
【0063】前記各シフトレジスタ43a,43b,44a,44bは、それぞれが独立した転送ラインを持ち、4×4画素のデータは例えば8クロックで転送される。そして、これらのシフトレジスタ43a,43b,44a,44bは、8段のうちの偶数段の内容を同時にシティブロック距離計算回路45に出力し、シティブロック距離Hの計算が始まると、右画像のデータはシフトレジスタ44a,44b内に保持されて、クロック毎に奇数ライン、偶数ラインのデータが交互に出力され、一方、左画像のデータはシフトレジスタ43a,43bに転送され続け、奇数ライン、偶数ラインのデータが交互に出力されつつ、2クロック毎に1画素分右のほうにずれたデータに置き換わっていく。この動作を、例えば100画素分ずれるまで(200クロック)繰り返す。
【0064】その後、一つの小領域に対する転送が終了すると、#2アドレスコントローラ87内の左画像用アドレスカウンタに右画像用アドレスカウンタの内容(次の4×4画素の小領域の先頭アドレス)がセットされ、次の小領域の処理が始まる。シティブロック距離計算回路45では、図12のタイミングチャートに示すように、まず、ピラミッド型構造初段の絶対値演算器に8画素分のデータを入力し、左右画像の輝度差の絶対値を計算する。すなわち、右画素の輝度から対応する左画素の輝度を引き算し、結果が負になった場合、演算命令を変えることにより、引く方と引かれる方を逆にして再び引き算を行なうことにより、絶対値の計算を行なう。従って、初段では引き算を2回行なう場合がある。
【0065】次いで、初段を通過すると、2段目から4段目までの第1ないし第3加算器で二つの同時入力データを加算して出力する。そして、最終段の総和加算器で二つの連続するデータを加え合わせて総和を計算し、必要とする16画素分のシティブロック距離Hを2クロック毎に最小・最大値検出部50へ出力する。
【0066】次に、ステップS104へ進み、前記ステップS103で算出したシティブロック距離Hの最大値HMAX 、最小値HMIN を検出する。前述したように、この最大値HMAX の検出と最小値HMIN の検出とは、互いに論理が逆になることと、ずれ量を保存しないこと以外は、全く同じであるため、以下、代表して最小値HMIN の検出について説明する。
【0067】まず、最初に出力されてきたシティブロック距離H(ずれ量x=0)が、図9に示す最小値検出回路51のCラッチ53を介して、演算器46のBレジスタ46bに入力される。次のクロックで出力されてきたシティブロック距離H(ずれ量x=1)は、Cラッチ53と演算器46のAレジスタ46aとに入れられ、演算器46では、同時に、Bレジスタ46bとの比較演算が始まる。
【0068】前記演算器46での比較演算の結果、Bレジスタ46bの内容よりもAレジスタ46aの内容の方が小さければ、次のクロックのときに、Cラッチ53の内容(すなわちAレジスタ46aの内容)がBレジスタ46bに送られ、このときのずれ量xがDラッチ55に保存される。このクロックで同時に、次のシティブロック距離H(ずれ量x=2)がAレジスタ46aとCラッチ53に入れられ、再び比較演算が始まる。
【0069】このようにして、計算途中での最小値が常にBレジスタ46bに、そのときのずれ量xがDラッチ55に保存されながら、ずれ量xが100になるまで計算が続けられる。計算が終了すると(最後のシティブロック距離Hが出力されてから1クロック後)、Bレジスタ46bとDラッチ55の内容はずれ量決定部60に読み込まれる。
【0070】この間に、前述したシティブロック距離計算回路45では次の小領域の初期値が読み込まれ、時間の無駄を生じないようになっており、一つのシティブロック距離Hを計算するのに、例えば4クロックかかるが、パイプライン構造をとっているため、2クロック毎に新たな計算結果が得られる。
【0071】ステップS105では、前記ステップ104 でシティブロック距離Hの最小値HMIN、最大値HMAX が確定すると、ずれ量決定部60にて、前述した3つの条件がチェックされ、ずれ量xが決定される。
【0072】すなわち、図13のタイミングチャートに示すように、Bバス62bを介して最小値HMIN が演算器61のBレジスタ72にラッチされるとともに、このBレジスタ72の値と比較されるしきい値Ha がAバス62aを介してAレジスタ71にラッチされる。そしてALU70で両者が比較され、しきい値Ha よりも最小値HMIN の方が大きければ、スイッチ回路65がリセットされ、以後のチェックの如何に係わらず常に0が出力されるようになる。
【0073】次に、Aレジスタ71に最大値HMAX がラッチされ、このAレジスタ71にラッチされた最大値HMAX とBレジスタ72に保存されている最小値HMIN との差が計算されて、その結果がFレジスタ73に出力される。次のクロックでAレジスタ71にしきい値Hb がラッチされ、Fレジスタ73の値と比較される。Aレジスタ71にラッチされたしきい値Hb よりもFレジスタ73の内容の方が小さければ同様にスイッチ回路65がリセットされる。
【0074】次のクロックからは、隣接画素間の輝度差の計算が始まる。輝度データが保存されている2組のシフトレジスタ64a,64bは10段構成であり、それぞれ、シティブロック距離計算部40の1,2ライン用のシフトレジスタ44aと、3,4ライン用のシフトレジスタ44bの後段に接続されている。前記シフトレジスタ64a,64bの出力は最後の段とその2つ手前の段から取り出され、それぞれが、Aバス62aとBバス62bとに出力される。
【0075】輝度差の計算が始まるとき、前記シフトレジスタ64a,64bの各段には小領域中の各場所の輝度データが保持されており、初めに前回の小領域の第4行第1列の輝度データと、今回の小領域の第1行第1列の輝度データとが、演算器61のAレジスタ71とBレジスタ72とにラッチされる。
【0076】そして、Aレジスタ71の内容とBレジスタ72の内容の差の絶対値が計算され、結果がFレジスタ73に保存される。次のクロックでAレジスタ71にしきい値Hc がラッチされ、Fレジスタ73の値と比較される。
【0077】前記演算器61での比較結果、Aレジスタの内容(しきい値Hc )よりもFレジスタ73の内容(輝度差の絶対値)のほうが大きければ、前記スイッチ回路65からずれ量xあるいは”0”が出力され、、Aレジスタの内容よりもFレジスタ73の内容のほうが小さければ”0”が出力されて、出力バッファメモリ66a,66bの該当する小領域の第1行第1列に当たる位置に書き込まれる。
【0078】前記演算器61で隣接画素間の輝度差としきい値Hc との比較が行なわれている間に、シフトレジスタ64a,64bは1段シフトする。そして今度は、前回の小領域の第4行第2列と、今回の小領域の第1行第2列の輝度データに対して計算を始める。このようにして小領域の第1列、第2列に対し交互に計算を行なった後、第3列、第4列に対して同様に計算を進める。
【0079】計算中は、シフトレジスタ64a,64bの最終段と最初の段がつながってリングレジスタになっており、小領域全体を計算した後にシフトクロックが2回追加されるとレジスタの内容が計算前の状態に戻り、次の小領域の輝度データが転送され終わったときに、最終段とその前の段に今回の小領域の第4行のデータが留められる。
【0080】このように、ずれ量決定のための計算中に次のデータをAバス62a,Bバス62bに用意したり、結果の書き込みを行なうため、計算に必要な2クロックのみで一つのデータが処理される。この結果、初めに行なう最小値HMIN 、最大値HMAX のチェックを含めても、例えば43クロックで全ての計算が終了する。すなわち、一つの小領域に対して、シティブロック距離Hの最小値HMIN 、最大値HMAX を求めるのに要する時間は充分に余裕があり、さらに機能を追加することも可能である。
【0081】そして、ずれ量xが決定されると、ステップS106で、出力バッファメモリ66a,66bからデュアルポートメモリ90へ、ずれ量xを距離分布情報として出力し、ステレオ画像処理装置20における処理が終了する。前記出力バッファメモリ66a,66bは、前述した入力バッファメモリ41a,41b,42a,42bと同様、例えば4ライン分の容量があり、2組の一方に書き込んでいる間にもう一方から前記デュアルポートメモリ90へ距離分布情報を送り出す。
【0082】次に、ステレオ画像処理装置20のシステム全体のタイミングについて、図14に示すタイミングチャートに従って説明する。
【0083】まず初めに、同期を取っている左右のCCDカメラ11a,11bからのフィールド信号を0.1秒毎(3画面に1画面の割合)に、画像メモリ36a,36bに書き込む。
【0084】次に、取り込み終了信号を受けて、4ライン毎のブロック転送が始まる。この転送は、右画像、左画像、結果の距離分布像の順に3ブロック転送する。
【0085】この間に、一方の入出力バッファメモリに対してずれ量xの計算が行われる。そして、ずれ量xの計算時間を考慮し、所定時間待機してからもう一方の入出力バッファメモリに対して転送を始める。
【0086】一つの右画像の4×4画素の小領域に対するシティブロック距離Hの計算は、左画像について100画素ずらしながら計算するため、100回行われる。一つの領域のシティブロック距離Hが計算されている間に、その前の領域のずれ量xが各チェックを経て距離分布として出力される。
【0087】処理すべきライン数を200とすると4ライン分の処理を50回繰り返すことになり、計算の開始時に最初のデータを転送するための4ライン分の処理時間、計算終了後に最後の結果を画像認識部に転送するための4ライン分の処理時間と、計8ライン分の処理時間がさらに必要となる。
【0088】最初の入力画像ラインの転送を開始してから最後の距離分布を転送し終わるまでの時間は、実際の回路動作の結果、0.076秒である。
【0089】以上説明したステレオ画像処理装置20から出力される距離分布情報は、画像のような形態をしており(距離画像)、左右2台のCCDカメラ11a,11bで撮影した画像、例えば図15に示すような画像(図15は片方のカメラで撮像した画像を示す)を前記ステレオ画像処理装置20で処理すると、図16のような画像となる。
【0090】図16に示す画像例では、画像サイズは横400画素×縦200画素であり、距離データを持っているのは黒点の部分で、これは図15の画像の各画素のうち、左右方向に隣合う画素間で明暗変化が大きい部分である。画像上の座標系は、図16に示すように、左上隅を原点として横方向をi座標軸,縦方向をj座標軸とし、単位は画素である。
【0091】この場合、図15に示す画像は、CCDカメラ11において発生するシェーディングを補正した画像であり、このシェーディング補正済みの画像が画像メモリ36に記録されるため、この画像メモリ36のデータを処理して得られる図16に距離画像は、シェーディングの影響のない正確な距離分布を示している。
【0092】そして、この距離画像からは、CCDカメラ11の取付け位置と焦点距離などのレンズパラメータを用いて各画素に対応する物体のXYZ空間における3次元位置を算出することができ、情報量の低下なく車外の対象物までの距離を正確に検出することができる。
【0093】尚、前記ずれ量xによる距離分布情報からXYZ空間における3次元位置への計算は、ステレオ画像処理装置20内で処理しても良く、ステレオ画像処理装置20から外部に出力されるデータ形式は、接続する外部装置との兼ね合いで定めれば良い。
【0094】図17は本発明の第2実施例に係わり、車輌用距離検出装置の回路構成図である。
【0095】本実施例は、前述の第1実施例に対し、LUT33a,33b、及び、デジタルマルチプライヤ34a,34bの機能を統合し、シェーディング補正をより汎用化したものである。尚、以下の各実施例においては、前述の第1実施例と同様の部材には同一の符号を付して説明を省略する。
【0096】図17に示すように、本実施例の画像変換部100では、左右画像用のCCDカメラ11a,11bに対応する各A/Dコンバータ32a,32bの各出力と、各シェーディング補正用データメモリ102a,102bの各出力とが、各補正テーブル101a,101bにそれぞれ入力されるようになっており、各補正テーブル101a,101bの各出力が各画像メモリ36a,36bにそれぞれ入力される。他の構成は、前述の第1実施例と同様である。
【0097】前記各補正テーブル101a,101bは、前述の第1実施例のLUT33a,33b、及び、各デジタルマルチプライヤ34a,34bの機能を含むものであり、前記各A/Dコンバータ32a,32bでデジタル量に変換されたデジタル画像のデータを第1の入力データとして、この第1の入力データのビット数と同じビット数の第1のアドレス、及び、前記各シェーディング補正用データメモリ102a,102bからのシェーディング補正比を第2の入力データとして、この第2の入力データのビット数と同じビット数の第2のアドレスを有するものとなっている。
【0098】第1の入力データと等しい第1のアドレスの内容には、前述の各LUT33a,33bと同じ内容の輝度補正やCCDアンプの固有ゲインの補正を施したデータが書き込まれており、また、第2の入力データと等しい第2のアドレスの内容には、第1のアドレスの内容にシェーディング補正比を乗算したデータが書き込まれている。
【0099】すなわち、前記各補正テーブル101a,101bは、前述の第1実施例のLUT33a,33bに対して、いわば二次元のルックアップテーブルとなっており、例えば、8ビットの各画像データを各補正テーブル101a,101bの第1の入力データとして第1のアドレスに与え、8ビットのシェーディング補正比を第2の入力データとして第2のアドレスに与えると、低輝度部分のコントラストを上げたり、左右のCCDカメラ11a,11bの特性の違いを補正した上で、さらに、シェーディング補正を行なった8ビットのデータを読み出すことができ、このデータが前記各画像メモリ36a,36bに記憶される。
【0100】本実施例では、前述の第1実施例と同様、シェーディングの影響のない画像データが得られ、正確なシティブロック距離Hを算出できることはいうまでもないが、さらに、前述の第1実施例のデジタルマルチプライヤ34によるシェーディング補正が線形の演算処理であるのに比較し、補正テーブル101(補正テーブル101a,101bを代表して表記する)に書き込む内容次第で、より緻密で自由度の高いシェーディング補正処理が可能となっている。尚、シェーディング補正用データメモリ102(シェーディング補正用データメモリ102a,102bを代表して表記する)は、前述の第1実施例の各シェーディング補正用データメモリ35と同じでも良く、また、更に緻密なシェーディング補正比を書き込んだものでも良い。
【0101】図18〜図24は本発明の第3実施例に係わり、図18は車輌用距離検出装置の回路構成図、図19は入力画像例を示す説明図、図20は補正データ例を示す説明図、図21は補正後の画像例を示す説明図、図22は入力画像ラインデータ例を示す説明図、図23は補正比ラインデータ例を示す説明図、図24は補正後画像ラインデータ例を示す説明図である。
【0102】本実施例は、前述の第1実施例におけるシェーディング補正が、A/Dコンバータ32a,32bによってデジタルデータに変換された画像に対して行なわれるものであるのに対し、アナログ画像データに対してシェーディング補正を行なうものである。
【0103】すなわち、図18に示すように、本実施例の画像変換部150では、第1の画像変換部30に対し、デジタルマルチプライヤ34a,34bに代えてアナログ乗算器としてのアナログマルチプライヤ151a,151bを採用し、これらのアナログマルチプライヤ151a,151bを、各アナログI/F31a,31bの出力側と、各A/Dコンバータ32a,32bの入力側との間にそれぞれ接続している。
【0104】前記各アナログマルチプライヤ151a,151bには、また、シェーディング補正用データメモリ35a,35bの出力側が、D/Aコンバータ152a,152b、さらに、アナログI/F153a,153bを介して接続されており、前記D/Aコンバータ152a,152bによってデジタルデータからアナログデータに変換されたシェーディング補正比が、前記アナログI/F153a,153bを介して入力されるようになっている。他の構成は前述の第1実施例と同様である。
【0105】従って、CCDカメラ11で撮像したアナログ画像の1画素毎に、アナログマルチプライヤ151(アナログマルチプライヤ151a,151bを代表して表記する)によってシェーディング補正比が乗算され、シェーディング補正済みのアナログ画像データとして出力される。このシェーディング補正済みのアナログ画像データは、前記A/Dコンバータ32a,32bでデジタル画像データに変換された上で、LUT33a,33bにより、低輝度部分のコントラストを上げたり、左右のCCDカメラ11a,11bの特性の違いが補正され、画像メモリ36a,36bに記録される。
【0106】以下、アナログマルチプライヤ151によるアナログ乗算について説明する。例えば、図19に示すように、中心部領域RAの輝度データが100で、シェーディングの影響で、外側の各領域RB,RC,RDの輝度データが、順に、90,80,70となっている入力画像では、水平ラインA1−A1’を取ると、輝度データは図22に示すようになっている。
【0107】これに対し、図20に示すような、各領域RA,RB,RC,RDに対するシェーディング補正比が、例えば、領域RAが1.0倍、領域RBが1.11倍、領域RCが1.25倍、領域RDが1.43倍と予め測定してある補正データでは、水平ラインB1−B1’の補正比が図23に示すように設定されており、この補正比を乗算すると、図24のC1−C1’となり、図21に示すようなシェーディングの影響のない一様な入力画像が得られる。
【0108】従って、前述の各実施例と同様、前記画像メモリ36には、シェーディングの影響のない画像データを記録することができ、正確なシティブロック距離Hを算出して距離検出の精度を向上することができるのである。
【0109】
【発明の効果】以上説明したように本発明によれば、撮像系で撮像した画像から得られるデジタル画像に対し、デジタル乗算器あるいは補正テーブルによってシェーディング補正を行ない、あるいは、撮像系で撮像したアナログ画像に対し、アナログ乗算器によってシェーディング補正を行なうため、撮像系のシェーディングの影響を防止し、距離検出の精度を向上することができるなど優れた効果が得られる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係わり、車輌用距離検出装置の回路構成
【図2】同上、距離検出装置の全体構成図
【図3】同上、車輌の正面図
【図4】同上、カメラと被写体との関係を示す説明図
【図5】同上、入力画像例を示す説明図
【図6】同上、補正データ例を示す説明図
【図7】同上、補正後の画像例を示す説明図
【図8】同上、シティブロック距離計算回路の説明図
【図9】同上、最小値検出回路のブロック図
【図10】同上、距離検出装置の動作を示すフローチャート
【図11】同上、シフトレジスタ内の保存順序を示す説明図
【図12】同上、シティブロック距離計算回路の動作を示すタイミングチャート
【図13】同上、ずれ量決定部の動作を示すタイミングチャート
【図14】同上、全体の動作を示すタイミングチャート
【図15】同上、車載のCCDカメラで撮像した画像の例を示す説明図
【図16】同上、距離画像の例を示す説明図
【図17】本発明の第2実施例に係わり、車輌用距離検出装置の回路構成図
【図18】本発明の第3実施例に係わり、車輌用距離検出装置の回路構成図
【図19】同上、入力画像例を示す説明図
【図20】同上、補正データ例を示す説明図
【図21】同上、補正後の画像例を示す説明図
【図22】同上、入力画像ラインデータ例を示す説明図
【図23】同上、補正比ラインデータ例を示す説明図
【図24】同上、補正後画像ラインデータ例を示す説明図
【符号の説明】
10 ステレオ光学系(撮像系)
35,102 シェーディング補正用データメモリ
34 デジタルマルチプライヤ(デジタル乗算器)
36 画像メモリ
101 補正テーブル
151 アナログマルチプライヤ(アナログ乗算器)

【特許請求の範囲】
【請求項1】 車輌に搭載した撮像系(10)によって車外の対象を撮像して画像メモリ(36)に記録し、この画像メモリ(36)に記録した画像データを処理して画像全体に渡る距離分布を算出する車輌用距離検出装置において、前記撮像系(10)のシェーディング補正を行なうためのシェーディング補正データを記憶したシェーディング補正用データメモリ(35)と、前記撮像系(10)で撮像した画像から得られるデジタル画像に対し、このデジタル画像の各画素データ毎に、前記シェーディング補正用データメモリ(35)の対応するシェーディング補正データを乗算し、シェーディング補正済みの画像データとして出力するデジタル乗算器(34)とを備えたことを特徴とする車輌用距離検出装置。
【請求項2】 車輌に搭載した撮像系(10)によって車外の対象を撮像して画像メモリ(36)に記録し、この画像メモリ(36)に記録した画像データを処理して画像全体に渡る距離分布を算出する車輌用距離検出装置において、前記撮像系(10)のシェーディング補正を行なうためのシェーディング補正データを記憶したシェーディング補正用データメモリ(102)と、前記撮像系(10)で撮像した画像から得られるデジタル画像に対し、このデジタル画像の各画素データを、前記シェーディング補正用データメモリ(102)の対応するシェーディング補正データで乗算した値に変換し、シェーディング補正済みの画像データとして出力する補正テーブル(101)とを備えたことを特徴とする車輌用距離検出装置におけるシェーディング補正装置。
【請求項3】 車輌に搭載した撮像系(10)によって車外の対象を撮像して画像メモリ(36)に記録し、この画像メモリ(36)に記録した画像データを処理して画像全体に渡る距離分布を算出する車輌用距離検出装置において、前記撮像系(36)のシェーディング補正を行なうためのシェーディング補正データを記憶したシェーディング補正用データメモリ(35)と、前記撮像系(10)で撮像したアナログ画像に対し、このアナログ画像の各画素データ毎に、前記シェーディング補正用データメモリ(35)の対応するシェーディング補正データをデジタル/アナログ変換した値を乗算し、シェーディング補正済みの画像データとして出力するアナログ乗算器(151)とを備えたことを特徴とする車輌用距離検出装置。

【図1】
image rotate


【図3】
image rotate


【図5】
image rotate


【図2】
image rotate


【図4】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【図11】
image rotate


【図14】
image rotate


【図15】
image rotate


【図16】
image rotate


【図12】
image rotate


【図17】
image rotate


【図19】
image rotate


【図20】
image rotate


【図13】
image rotate


【図18】
image rotate


【図21】
image rotate


【図22】
image rotate


【図23】
image rotate


【図24】
image rotate