画像処理システム
【課題】
従来技術では、複数の撮像装置により撮像した撮像画像の重複領域と非重複領域との間で、認識対象が移動した場合の対応方法が記載されていない。即ち、認識対象が重複領域から非重複領域へ移動した場合に正確な画像処理を行うことができない、という課題がある。
【解決手段】
車両検知システムは、第1の単眼カメラで撮像した第1の領域と第2の単眼カメラで撮像した第2の領域の重複領域及び非重複領域を入力する入力部と、前記重複領域内の画像から他車を認識し、自車と当該他車との距離を算出する距離算出部と、前記他車が前記重複領域から前記非重複領域に移動した場合、前記距離算出部が算出した距離に基づいて、前記他車の前記自車に対する相対位置を推定するトラッキング部を備える。
従来技術では、複数の撮像装置により撮像した撮像画像の重複領域と非重複領域との間で、認識対象が移動した場合の対応方法が記載されていない。即ち、認識対象が重複領域から非重複領域へ移動した場合に正確な画像処理を行うことができない、という課題がある。
【解決手段】
車両検知システムは、第1の単眼カメラで撮像した第1の領域と第2の単眼カメラで撮像した第2の領域の重複領域及び非重複領域を入力する入力部と、前記重複領域内の画像から他車を認識し、自車と当該他車との距離を算出する距離算出部と、前記他車が前記重複領域から前記非重複領域に移動した場合、前記距離算出部が算出した距離に基づいて、前記他車の前記自車に対する相対位置を推定するトラッキング部を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、接近する他車の画像を処理するシステムに関する。
【背景技術】
【0002】
自動車の安全性に対する要求はますます高まっている。また高齢化社会の進展に伴い、ドライバーの安全で快適な運転を援助する機能が求められている。
【0003】
自車の後方を監視する技術としては、ステレオカメラを用いたものが知られている。しかしながら、後方監視のためにステレオカメラを用いると、後方監視のために単眼カメラを用いるよりも高コストとなる。ステレオカメラは撮像デバイスが1つのステレオカメラに対して少なくとも2ついること、ステレオカメラのデータ転送量は単眼カメラに対して少なくとも2倍あること、そのデータを処理するためにCPUの処理性能が要求されること、2つのカメラの相対位置が経年変化でかわるために定期的なキャリブレーションが必要なこと、といったことによる。そこで、近年、単眼のリアビューカメラの搭載率が増加している。このリアビューカメラは、主として自車が後進する際の後方確認用として利用されている。また、ドアミラー部にも後側方を監視するカメラが搭載されつつある。ここで、車両に取り付けられた複数の撮像装置により撮像した撮像データを画像処理し、障害物を認識して警告するシステムがある(特許文献1参照)。
【0004】
【特許文献1】特開2006−50451号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1では、複数の撮像装置により撮像した撮像画像の重複領域と非重複領域との間で、認識対象が移動した場合の対応方法が記載されていない。即ち、認識対象が重複領域から非重複領域へ移動した場合に正確な画像処理を行うことができない、という課題がある。
【0006】
そこで、本発明の目的は、認識対象が重複領域から非重複領域へ移動した場合であっても、正確な画像処理を行うシステムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明の望ましい態様の一つは次の通りである。
【0008】
車両検知システムは、第1の単眼カメラで撮像した第1の領域と第2の単眼カメラで撮像した第2の領域の重複領域及び非重複領域を入力する入力部と、前記重複領域内の画像から他車を認識し、自車と当該他車との距離を算出する距離算出部と、前記他車が前記重複領域から前記非重複領域に移動した場合、前記距離算出部が算出した距離に基づいて、前記他車の前記自車に対する相対位置を推定するトラッキング部を備える。
【発明の効果】
【0009】
本発明によれば、認識対象が重複領域から非重複領域へ移動した場合であっても、正確な画像処理を行うシステムを提供することにある。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照して詳細に説明する。
【0011】
図1は、本発明の全体システムの構成例である。
【0012】
図1において、101は全体システム、102,103は車載カメラ、104はビデオ入力インタフェース(入力部)、105はマイコン、106はランダムアクセスメモリ、107はリードオンリーメモリ、108は歪み補正部、109は画像処理部、110は表示部、111は表示インタフェース、112は音声出力部、113は音声出力インタフェース、114はバス、である。
【0013】
車載カメラ102,103は、車外の予め決まった場所に設置されており、車外の画像をビデオ入力インタフェース104に伝える。本実施例では車載カメラ102が側方、車載カメラ103が後方を撮影しており、それら2つの撮影領域には重複領域がある。ビデオ入力インタフェース104は、車載カメラ102,103を本実施例のシステムに接続するためのインタフェースである。マイコン105は、汎用的な演算処理が可能な回路であり、リードオンリーメモリ(ROM)106から起動プログラムを読み込み起動し、ランダムアクセスメモリ106上のデータを変更しながら、本実施例のシステム全体の動作を制御する。ランダムアクセスメモリ106は、画像データや演算の途中結果や車両の検知結果などを保存する。リードオンリーメモリ107は、本実施例のシステムのプログラムや画像補正に用いる定数値などを保存する。歪み補正部108は、車載カメラ102,103で取得してランダムアクセスメモリ124上に保存されている画像を、予め車載カメラ102,103のそれぞれのパラメータに基づいてROMに保存されており、歪みのない画像に補正し、再びランダムアクセスメモリ107上に格納する。
【0014】
画像処理部109は、画像処理のための専用回路であり、ランダムアクセスメモリ106上に保存されている画像データに対して処理を行い、処理結果を再びランダムアクセスメモリ106上に書き戻す。画像処理はマイコン105のソフトウェアだけで処理することも可能であるが、画像処理部109をアクセラレータとして用いて高速に処理することも可能である。その場合にはマイコン105が画像処理部109に対して処理に必要な設定を行い、また、必要に応じてステータス情報(演算終了やヒストグラムなど画像の性質に関する情報など)をマイコン105が画像処理部109より受け取る。
【0015】
表示部111は、表示インタフェース130を通じてバス114に接続されており、本実施例の車両検知結果を表示するための装置であり、表示部111は自車の運転席側に取り付けられている。音声出力部112は、本実施例のシステムの車両検知結果をユーザに知らせる際、動作モードによって音声やアラーム音などで知らせる(例えばスピーカ)。バス114は、マイコン105やランダムアクセスメモリ106など図示の要に接続がなされており、接続された構成要素間で情報授受が行われる。
【0016】
尚、本稿では、車載カメラ103が後方の場合について説明しているが、前方カメラにも適用できることはいうまでもない。
【0017】
図2は、車載カメラ102,103が撮像する範囲を、自車の頭上から示した図である。
【0018】
図2において、201,203は車道の車線、202は車道の中央線、204は車載カメラ103の光軸方向、205,209は車載カメラ102の撮影範囲を示すために表記された線、206と208は車載カメラ103の撮影範囲を示すために表記された線、207は車載カメラ102の光軸方向、210は本発明の実施例が搭載されている自車、211は自車が走行する方向を示す矢印、である。
【0019】
図2において、A,B,C,D,Eといったアルファベットが表記されている。これらはそれぞれある領域を示すものであり、領域Aは車載カメラ103でのみ撮像される場所、領域Bは車載カメラ102と103で撮像される場所、領域Cは車載カメラ102でのみ撮像される場所を示している。領域D、Eは車載カメラ102でも103でも撮像されない場所を示している。
【0020】
図3は、全体動作を説明するためのフロー図である。図3(a)は、通常動作時の全体動作を説明するためのフロー図、図3(b)は、キャリブレーションの全体動作を説明するためのフロー図である。
【0021】
図3(a)において、302は入力画像確認処理、303は検知処理、304は表示処理、である。
【0022】
入力画像確認処理302は、入力された画像に不具合がないか確認するための処理である。検知処理303は、後方車両の検知やトラッキングを行う処理である。表示処理304は、検知した車両をユーザに分かり易く表示したり音声でアナウンスするための処理である。
【0023】
図3(b)において、307は入力画像確認処理、308はキャリブレーション処理、である。
【0024】
入力画像確認処理307は、入力画像確認処理302と同様の処理である。キャリブレーション処理308は、車載カメラ102,103による重複領域について、より正確に三次元位置を把握できるよう、パラメータを調整するための処理である。キャリブレーション処理は製品出荷前の製造の工程で行われる処理である。この処理でパラメータが確定され、それがROMに書き込まれて出荷される。
【0025】
図4は、入力画像確認処理302を説明するため図である。図4(a)は入力画像確認処理302のフロー図である。
【0026】
図4(a)において、402はヒストグラム計算処理、403はスミア確認処理、である。
【0027】
ヒストグラム計算処理402は、入力画像において図に示すように縦方向に濃淡画像の和を計算する処理である。このヒストグラム計算処理402によって、画面のX座標毎に値が1つずつ計算され、画面の横方向のサイズと同じ大きさの配列にそれぞれの和が格納される。
【0028】
スミア確認処理403は、先に計算した結果が格納されている前記配列を用いて、配列の要素がある閾値を超えているか否かで、そのX座標においてスミアが発生しているか否か確認する。画面のすべてのX座標について確認を行い、スミアが発生していないことを確認する。もしスミアが発生していれば、スミア発生を後段の処理に伝える。スミアが発生している場合には、本実施例ではそのフレームについての画像処理は行わない。その他の対処方法としては、その列の画素を用いずに、隣の画素の値をそのまま用いる方法、あるいは周辺の画素の平均を用いる方法といったことが考えられる。尚、スミアはCCDカメラを使用した場合に発生しうるものであり、CMOSカメラを使用した場合には発生しない。本実施例では、CCDカメラの使用を想定している。
【0029】
図5は、検知処理303のフロー図である。
【0030】
図5において、501は側方入力画像、502は後方入力画像、503,506は歪み補正のための係数、504,505は歪み補正処理、507は画像準備処理、509,510は射影変換処理、508,511は射影変換のための係数、512は走行道路検出処理、513はブロックマッチング処理、514は優先処理候補指示処理、515は後方車両判定処理、516はトラッキング処理、517は検出結果、である。
【0031】
歪み補正処理504は、側方入力画像501を入力とし、予め定められた係数値をもとに、カメラの歪みを補正した画像を得る処理である。歪み補正処理505も、入力画像が後方入力画像502である以外は、同様である。
【0032】
画像準備処理507は、歪みが補正された画像により後方車両を検知するための準備の処理である。ここで入力画像に不具合がないかの確認や、2つの車載カメラの明度の違いが補正される。
【0033】
射影変換処理509は、取り付け位置と撮像方向(光軸)が異なる2つのカメラ画像について、それらを擬似的にあわせていく(取り付け位置については視差を許容する)処理である。射影変換処理510についても同様である。本実施例では、2つの入力画像のうち、より解像度が高い方の画像に対して処理を行うことにより、画像情報が失われることによる検出精度の低下の抑止を狙っている。
【0034】
走行道路検出処理512は、画像を用いた処理であり、一般にレーン認識と呼ばれる技術が基本となっている。更に、画像情報と、これまでの走行履歴(位置の履歴)と、自車の進行方向をもとに、画像上の後方道路の形状を把握している。これにより、走行路上を接近する後方車両や、追い越し車両を、ガードレールや街路樹、対抗車両と区別して認識することができる。また、本実施例では記載していないが、カーナビゲーションシステム等から道路形状のデータを入手して、それを利用することもできる。
【0035】
ブロックマッチング処理513は、優先処理候補指示514のデータをもとに、ブロックマッチング処理を行う。この指示のデータは、トラッキング処理516により得られたものである。車両が検出されうる領域すべてについてブロックマッチングを行うべきであるが、領域のどの部分から処理するかということについて、優先処理候補指示514のデータを利用する。一般に、ブロックマッチング処理は演算量が多いため時間がかかる。そこで、画像上の処理領域で優先順位をつける。所定時間内に処理が終わらないときは、優先度の低いものは処理しない。
【0036】
後方車両判定処理515は、走行路検出処理512とブロックマッチング処理513の結果を元に、後方の車両を検知する処理である。
【0037】
トラッキング処理516は、検出結果517を出力するとともに、優先処理候補指示514のデータを出力する。
【0038】
ここで図6を用いて、歪み補正処理504,505の動作を説明する。
【0039】
図6において、601は歪み補正前の画像、602は歪み補正後の画像、603〜606と607〜610はそれぞれ4つずつの座標であり、歪み補正の仕方を指示するためのデータ群の1セットである。611〜614は4つの画素を示しており、615と616の2つの点線の交点が、歪み補正後の画素の色情報を取得したい点(サブピクセル単位の点)である。
【0040】
歪み補正部108により歪みがある画像から、歪み補正後の画像を作るには、車載カメラ102〜104のそれぞれのカメラパラメータに基づいて、歪み補正のテーブル(座標の対応関係を示すテーブル)がカメラの設計データやキャリブレーションによってに予め作成されている。本実施例では車載カメラが2つあるので、テーブルも2つある。前記テーブルは、図6(b)の座標データの組(セット)が複数集まってできている。例えば、歪み補正後に座標607から610で示される範囲の座標となる画素の位置は、歪み補正前の座標603〜606の座標を元に、線形補間計算を行い、求められる。このとき、歪み補正前の座標の値が、小数点以下、即ち、画素よりも細かい単位での座標となることがあるが(615と616で示される座標)、その場合には、画素611〜614の4つの画素の色情報を元に、補間計算を行って、615と616で表される座標の色情報を求め、それを歪み補正後の画素の色とする。このような処理を歪み補正後の画像602の全域にわたって処理を行い、歪み補正後画像602を求める。この歪み補正部による処理は、本実施例におけるすべての車載カメラによる撮像画像に対して行われている。
【0041】
図7は、画像準備処理507のフロー図である。
【0042】
図7において、702は縮小処理、703は明度補正処理、である。
【0043】
縮小処理702は、カメラから入力された画像を縮小する処理である。これは隣り合う画素の平均をとることによって入力画像に対する縮小画像を作成する処理である。画像処理においては、一般に、入力画像が高解像度であったとしても、実際に処理される際には、縮小画像が作成され、それについて画像認識処理が施されることが多い。
【0044】
明度補正処理703は、2つのカメラの入力画像において、その明度が異なる場合、その明度を補正するための処理である。本処理の狙いは、2つのカメラにおける、画像の明るさの違いの影響を軽減しようということである。ここで利用するのは、路面の画像である。路面は、一般に乱反射しており、どの方向からみても一様な明るさに見えることが多いことが知られている。本実施例では、このことを利用し、2つの車載カメラで撮影した画像について、その路面上の同じ点が2つのカメラから同じ明るさに見えるように、2つのカメラの絞りを調整する。また、ただ1つのペア(座標同士)の比較であると、誤差を含む可能性があるため、比較候補を複数予め用意しておきそれらの座標をリストとし、それら複数の候補について明るさの比較処理を行った後に、想定される明るさを誤差少なく求める。
【0045】
以上により、複数の撮像装置の取り付け位置や方向が異なるとき、それらの撮像画像についての明度の調整や照明・反射の影響を軽減することができる。
【0046】
図8,図9を用いて、射影変換処理509,510について説明する。射影変換とは、画像の拡大や縮小,移動,台形変換といった演算処理のことである。
【0047】
図8は、角度θだけ擬似的にカメラを回転させることを示す図、図9は、Lだけカメラ画像を拡大し、カメラ位置を擬似的に変えることを示す図である。このとき、2つのカメラについて、重複領域においてより高解像度な画像を得られるカメラについて、本処理(射影変換処理)を行うこととする。これは射影変換による画像情報の損失を低減するためである。
【0048】
2つの車載カメラは撮像する方向(光軸方向)とその取り付け位置とが異なっている。そこで、図8において801で示される角度分に相当する射影変換を側方カメラの画像に対して行い、擬似的に光軸が平行となった画像を生成する。更に画像の変換(拡大)を行い、これによりカメラ画像を擬似的に図9の取り付け位置902とした場合の画像に変換する。ここで実施する射影変換については、予めキャリブレーション処理によってどのような変換を行う必要があるかを把握しておく。以上2回の射影変換により、2つのカメラ画像の視差がdのステレオマッチング処理を適用することができる。
【0049】
本実施例では記載していないが、予めキャリブレーション処理によって、図2の102のカメラ位置での撮影画像と、図9の502の位置に実際にカメラを設置して撮影した画像と、の2つを比較し、その対応点を把握することにより、実施すべき画像変換の内容を把握する方法も考えられる。
【0050】
図10は、本実施例におけるブロックマッチング処理513の説明図である。
【0051】
図10において、1001は比較画像から切り出した領域、1002は基準画像、1003は探索する方向を示す線、1004は距離画像、である。
【0052】
ブロックマッチング処理は画像の重複領域に対して、CPU105によって行われる処理である。本処理は図11で説明されるステレオ法の演算に必要な処理である。
【0053】
領域1001は、比較画像から切り出された5×5の画像であり、2つの車載カメラのうちの一方からの画像である。基準画像1002は、領域1001が属さない方の車載カメラ画像である。領域1001と基準画像1002を用いて、2つの画像の横方向(1003)の差異が、サブピクセル単位で計算される。本実施例では正規化相関により求められる。ここで用いた際により、奥行き方向の距離がもとめられ、距離画像1004を得る。距離画像とは濃度画像であるが、その濃度値を奥行き方向の距離値としたものである。
【0054】
図11を用いて、図5のブロックマッチング処理513により3次元の距離を把握する方式を説明する。本実施例では、ステレオ法により画像計測を行う。
【0055】
図11において、P0は対象となる点、Plは左眼画像上の点、Prは右眼画像上の点、Po_lは左眼座標系の原点、Po_rは右眼座標系の原点、Oはxyz座標系の原点、O_lは左眼カメラの投影の中心、O_rは右眼カメラの投影の中心、である。また、x,y,zはOを原点とする全体空間の座標系、v_l,v_rは左眼座標系の軸、u_l,u_rは右眼座標系の軸、である。また、fは投影中心と画像面との距離、Lは左眼カメラと右眼カメラの距離、である。
【0056】
ここで、O_lとPlという直線と、O_rとPrという直線の、2つの直線が点P0で交わることから、次の関係式が成り立つことが知られている。
【0057】
x0=(L(u_l+u_r))/(2(u_l−u_r))
y0=Lv(u_l−u_r)
z0=(Lf)/(u_l−u_r)
ここで、v_lとv_rは同じ値であることから、vで表している。
【0058】
ブロックマッチング処理によりPlの座標とPrの座標を求め、更に先に示した3つの関係式によりP0の座標を求めることができ、二次元の画像からz方向の距離を得ることができる。この演算処理はCPU105が行う。
【0059】
図12,図13を用いて、図5の後方車両検出処理512を説明する。
【0060】
図12において、1201は左眼画像(側方カメラによる画像)、1202は右眼画像(後方カメラによる画像)、1203は重複領域における左眼画像、1204は重複領域における左眼画像1203を微小領域に区分した画像、である。
【0061】
図13において、図13(a)は左眼画像を微小領域に区分した画像1204、図13(b)は、ある微小領域について距離を横軸にとった場合の投票結果、である。
【0062】
図13(b)では、1301の部分で、4つの微小領域がある有意な高さを持った領域となっている。この領域の存在が、障害物の存在を示しており、4つの微小領域の幅によって障害物の幅がわかる。これと、トラッキングしている対象物体の相対速度から、後方車両が検出される。相対速度はトラッキング情報のリストに保存されている、三次元の位置と、今回検出された三次元位置との差と、検出処理間隔(時間)により計算することができる。このとき相対速度がある一定以上あるものは後方車両と検知しないとする。例えば、本実施例では、自車速度と略同じ相対速度であれば、それは後方車両ではない(少なくとも走行中ではない)として、後方車両であると検出しない。
【0063】
図14,図15を用いて、トラッキング処理516について説明する。
【0064】
図14は、トラッキング処理516のフロー図である。
【0065】
図14において、1401は重複領域トラッキング処理、1402は重複領域リスト更新処理、1403は非重複領域トラッキング処理、1404は、非重複領域リスト更新処理、である。
【0066】
重複領域トラッキング処理1401は、重複領域において既に検出済みの車両のリストと、今回重複領域において検出した車両と、を比較する処理である。この比較処理は、今回検出した車両と、前回検出していた車両(リストにある車両)の3次元的な位置を比較し、ある一定の距離範囲にある車両は(例えば1つの車両の大きさよりも近い距離にあると検出された車両は)同一の車両と判定する。一方、そうでない新規の検出車両については、リストに追加する。また、前回検出していたにもかかわらず、今回検出されていない車両については、非重複領域におけるトラッキングの候補の1つとして、非重複領域トラッキング処理に伝えられる。
【0067】
重複領域リスト更新処理1402は、重複領域トラッキング処理1401の結果をもとに、リストを更新し、優先処理候補指示514を出力する。
【0068】
非重複領域トラッキング処理1403は、非重複領域において既に検出済みの車両のリストと、重複領域において取得されている対象車両のテンプレート画像をもとに、トラッキングを行う処理である。また、重複領域トラッキング処理1401から伝えられた、非重複領域におけるトラッキング候補について、初回のトラッキングを試みる。即ち、テンプレートマッチングを行う。
【0069】
非重複領域リスト更新処理1404は、非重複領域トラッキング処理1403の結果をもとに、リストを更新する処理である。
【0070】
ここで、重複領域リストと非重複領域リストのデータ構造について説明する。両方のリストともに、車両ID,検出位置(画像上),検出位置(3次元),自車との相対速度、テンプレート画像を含んでいる。車両IDとは検出対象に対してつけられる番号で、リスト上で検出対象を区別するためのものである。検出位置(画像上)、検出位置(3次元)はそれぞれ検出対象の座標位置を示す。自車との相対速度は、検出対象の速度と自車との相対速度であり、前回と今回の検出位置(3次元)をもとに計算されたものである。テンプレート画像、は車両前面のテンプレート画像である。
【0071】
ここで図19を用いて、トラッキングに関する非重複領域と重複領域のリストと、優先候補を示すリストの構造を説明する。
【0072】
図19(a)は、トラッキングに関する非重複領域リストと重複領域リストである。このリストは、図に示すような構造をしており、1車両分のエントリーが1行に対応している。図19(b)は、優先候補指示のためのリストである。このリストは、1車両分のエントリーが1行に対応しており、各行には画像上の座標が1つずつ収められている。このリストは、候補としての優先度が高い順に並べられている。
【0073】
図16を用いて、重複領域トラッキング処理で行われる、テンプレートに関する処理について説明する。
【0074】
図16において、1601はテンプレート取得処理、1602はテンプレート更新処理、である。
【0075】
テンプレート取得処理1601は、新規に重複領域のトラッキングリストに登録された車両について行われる処理で、車両前面の部分の画像を取得する処理である。テンプレート更新処理1602は、既に取得してある車両のテンプレートについて、その車両が重複領域においてトラッキングしている間は、そのテンプレートを更新する(再取得する)処理である。本実施例においては、テンプレート画像は、同一車両において複数フレーム取得して保存しておくとする。一般に走行中は、走行環境(日向や日陰など)によってその取得される画像が異なってくる。そこでその環境の変化に対応するため、同一車両についてテンプレートを複数取得しておき、テンプレートマッチングの際には複数のテンプレートを必要に応じて順次用いることができるシステムとしている。
【0076】
本システムでは、重複領域に対象物(車両)があるときに、その画像をテンプレートとして保持しており、その物体が非重複領域に移動した場合、それ以後の挙動をテンプレートマッチングによりトラッキングし続ける。また、テンプレートの取得は、対象物体が重複領域にあるときに行われる。テンプレートマッチングは、幾何学的な特徴に富んでいる方が適用しやすい。車の場合、車両前方(ヘッドライト,ナンバープレート等)は特徴に富んでいるが、車両側方は特徴に乏しい。
【0077】
本実施例では、非重複領域が2つ存在しているが、後方入力画像における非重複領域の場合と、側方入力画像における非重複領域の場合と、によって、検出対象車両の見え方が異なってくる。前者の場合(図15の1503)には、車両の前面だけでなく側方が見えるのに対し、後者の場合(図15の1502)には車両の前面のみで側方は見えない。そのため、テンプレート更新処理1602においては、図15の1503の位置に近づきつつある車両に対しては、車両の画像のうち、右端のある一定画素を取得しない、つまり(車両前面を取得するため)左寄りの部分をテンプレートとして取得し保持する。一方、図15の1502の領域に近づきつつある車両については、前面として検出したそのままのテンプレートを保持する処理を行う。これはカメラの取り付け位置と検出車両の相対的な位置関係を考慮した処理となっている。本実施例では記載していないが、テンプレートマッチングにおいて、そのテンプレートの1画素1画素に重み付けをし、その重みについて相対的な位置関係を考慮した重みとする方法も考えられる。
【0078】
図17は、表示処理304により表示される画面を示している。
【0079】
図17において、1801は表示画面、1802は自車を示すマーク、1803,1804,1805,1806は領域の境界を示す線、1807は検出車両を示すマーク、である。
【0080】
後方車両が図2における領域Cにあることが検出されている場合、境界線1803と1804で囲まれた領域が黄色に点灯する。後方車両が図2における領域Aにある場合も同様に黄色に点灯する。一方、後方車両が図2における領域Bにある場合は、境界線1804と1805で囲まれた領域が水色に点灯し、自車との相対的な位置が水色の領域内に長方形(1807)で表示される。黄色に点灯する場合と、水色に点灯しかつ長方形表示がある場合とに動作が異なっているのは、後方車両の検出精度の違いを反映させたものである。検出精度は、非重複領域はステレオではなく単眼画像によるによる検出のため、検出対象の距離精度が落ちる。これらの表示はマイコンによって行われ、重複領域と非重複領域の検出結果のリストを元に処理される。また、検出時や検出中には必要に応じて音声出力させることも可能である。また、図3の入力画像確認処理302で処理に適さないと入力画像が判定された場合には、本表示システムに入力エラー状態であることを示す表示を行う。
【0081】
次に、図18を用いて、画像の特徴点を利用してマッチング処理を行う場合について説明する。1801,1802は特徴点計算処理、1803は特徴点マッチング処理、である。
【0082】
特徴点計算処理1801は、一般に画像処理で用いられる、エッジやカドなどの特徴点を抽出する計算処理を行う。走行路検出特徴点計算処理1802も同様である。特徴点マッチング処理1803は、特徴点のマッチングを行う処理である。特徴点によって処理を行うことにより、より一層、2つのカメラ画像における、明るさの変化に対する耐性の向上が期待できる。
【図面の簡単な説明】
【0083】
【図1】全体システムの構成図。
【図2】全体システムの動作を示すフロー図。
【図3】全体動作を説明するための図。
【図4】入力画像確認処理を説明するためのフロー図。
【図5】検知処理を説明するための図。
【図6】歪み補正を説明するための図。
【図7】画像準備処理を説明するための図。
【図8】射影変換を説明するための図。
【図9】射影変換を説明するための図。
【図10】テンプレートマッチング処理を説明するための図。
【図11】ステレオ処理を説明するための図。
【図12】後方車両検出処理を説明するための図。
【図13】後方車両検出処理を説明するための図。
【図14】トラッキング処理を説明するための図。
【図15】トラッキング処理を説明するための図。
【図16】テンプレート処理を説明するための図。
【図17】表示画面を説明するための図。
【図18】画像の特徴点を利用してマッチング処理を行う場合のフロー図。
【図19】トラッキングに関する非重複領域と重複領域のリストと優先候補を示す図。
【符号の説明】
【0084】
102,103 車載カメラ
105 CPU
106 RAM
107 ROM
108 歪み補正部
109 画像処理部
110 表示部
111 表示インタフェース
112 音声出力部
113 音声出力インタフェース
114 バス
【技術分野】
【0001】
本発明は、接近する他車の画像を処理するシステムに関する。
【背景技術】
【0002】
自動車の安全性に対する要求はますます高まっている。また高齢化社会の進展に伴い、ドライバーの安全で快適な運転を援助する機能が求められている。
【0003】
自車の後方を監視する技術としては、ステレオカメラを用いたものが知られている。しかしながら、後方監視のためにステレオカメラを用いると、後方監視のために単眼カメラを用いるよりも高コストとなる。ステレオカメラは撮像デバイスが1つのステレオカメラに対して少なくとも2ついること、ステレオカメラのデータ転送量は単眼カメラに対して少なくとも2倍あること、そのデータを処理するためにCPUの処理性能が要求されること、2つのカメラの相対位置が経年変化でかわるために定期的なキャリブレーションが必要なこと、といったことによる。そこで、近年、単眼のリアビューカメラの搭載率が増加している。このリアビューカメラは、主として自車が後進する際の後方確認用として利用されている。また、ドアミラー部にも後側方を監視するカメラが搭載されつつある。ここで、車両に取り付けられた複数の撮像装置により撮像した撮像データを画像処理し、障害物を認識して警告するシステムがある(特許文献1参照)。
【0004】
【特許文献1】特開2006−50451号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1では、複数の撮像装置により撮像した撮像画像の重複領域と非重複領域との間で、認識対象が移動した場合の対応方法が記載されていない。即ち、認識対象が重複領域から非重複領域へ移動した場合に正確な画像処理を行うことができない、という課題がある。
【0006】
そこで、本発明の目的は、認識対象が重複領域から非重複領域へ移動した場合であっても、正確な画像処理を行うシステムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明の望ましい態様の一つは次の通りである。
【0008】
車両検知システムは、第1の単眼カメラで撮像した第1の領域と第2の単眼カメラで撮像した第2の領域の重複領域及び非重複領域を入力する入力部と、前記重複領域内の画像から他車を認識し、自車と当該他車との距離を算出する距離算出部と、前記他車が前記重複領域から前記非重複領域に移動した場合、前記距離算出部が算出した距離に基づいて、前記他車の前記自車に対する相対位置を推定するトラッキング部を備える。
【発明の効果】
【0009】
本発明によれば、認識対象が重複領域から非重複領域へ移動した場合であっても、正確な画像処理を行うシステムを提供することにある。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照して詳細に説明する。
【0011】
図1は、本発明の全体システムの構成例である。
【0012】
図1において、101は全体システム、102,103は車載カメラ、104はビデオ入力インタフェース(入力部)、105はマイコン、106はランダムアクセスメモリ、107はリードオンリーメモリ、108は歪み補正部、109は画像処理部、110は表示部、111は表示インタフェース、112は音声出力部、113は音声出力インタフェース、114はバス、である。
【0013】
車載カメラ102,103は、車外の予め決まった場所に設置されており、車外の画像をビデオ入力インタフェース104に伝える。本実施例では車載カメラ102が側方、車載カメラ103が後方を撮影しており、それら2つの撮影領域には重複領域がある。ビデオ入力インタフェース104は、車載カメラ102,103を本実施例のシステムに接続するためのインタフェースである。マイコン105は、汎用的な演算処理が可能な回路であり、リードオンリーメモリ(ROM)106から起動プログラムを読み込み起動し、ランダムアクセスメモリ106上のデータを変更しながら、本実施例のシステム全体の動作を制御する。ランダムアクセスメモリ106は、画像データや演算の途中結果や車両の検知結果などを保存する。リードオンリーメモリ107は、本実施例のシステムのプログラムや画像補正に用いる定数値などを保存する。歪み補正部108は、車載カメラ102,103で取得してランダムアクセスメモリ124上に保存されている画像を、予め車載カメラ102,103のそれぞれのパラメータに基づいてROMに保存されており、歪みのない画像に補正し、再びランダムアクセスメモリ107上に格納する。
【0014】
画像処理部109は、画像処理のための専用回路であり、ランダムアクセスメモリ106上に保存されている画像データに対して処理を行い、処理結果を再びランダムアクセスメモリ106上に書き戻す。画像処理はマイコン105のソフトウェアだけで処理することも可能であるが、画像処理部109をアクセラレータとして用いて高速に処理することも可能である。その場合にはマイコン105が画像処理部109に対して処理に必要な設定を行い、また、必要に応じてステータス情報(演算終了やヒストグラムなど画像の性質に関する情報など)をマイコン105が画像処理部109より受け取る。
【0015】
表示部111は、表示インタフェース130を通じてバス114に接続されており、本実施例の車両検知結果を表示するための装置であり、表示部111は自車の運転席側に取り付けられている。音声出力部112は、本実施例のシステムの車両検知結果をユーザに知らせる際、動作モードによって音声やアラーム音などで知らせる(例えばスピーカ)。バス114は、マイコン105やランダムアクセスメモリ106など図示の要に接続がなされており、接続された構成要素間で情報授受が行われる。
【0016】
尚、本稿では、車載カメラ103が後方の場合について説明しているが、前方カメラにも適用できることはいうまでもない。
【0017】
図2は、車載カメラ102,103が撮像する範囲を、自車の頭上から示した図である。
【0018】
図2において、201,203は車道の車線、202は車道の中央線、204は車載カメラ103の光軸方向、205,209は車載カメラ102の撮影範囲を示すために表記された線、206と208は車載カメラ103の撮影範囲を示すために表記された線、207は車載カメラ102の光軸方向、210は本発明の実施例が搭載されている自車、211は自車が走行する方向を示す矢印、である。
【0019】
図2において、A,B,C,D,Eといったアルファベットが表記されている。これらはそれぞれある領域を示すものであり、領域Aは車載カメラ103でのみ撮像される場所、領域Bは車載カメラ102と103で撮像される場所、領域Cは車載カメラ102でのみ撮像される場所を示している。領域D、Eは車載カメラ102でも103でも撮像されない場所を示している。
【0020】
図3は、全体動作を説明するためのフロー図である。図3(a)は、通常動作時の全体動作を説明するためのフロー図、図3(b)は、キャリブレーションの全体動作を説明するためのフロー図である。
【0021】
図3(a)において、302は入力画像確認処理、303は検知処理、304は表示処理、である。
【0022】
入力画像確認処理302は、入力された画像に不具合がないか確認するための処理である。検知処理303は、後方車両の検知やトラッキングを行う処理である。表示処理304は、検知した車両をユーザに分かり易く表示したり音声でアナウンスするための処理である。
【0023】
図3(b)において、307は入力画像確認処理、308はキャリブレーション処理、である。
【0024】
入力画像確認処理307は、入力画像確認処理302と同様の処理である。キャリブレーション処理308は、車載カメラ102,103による重複領域について、より正確に三次元位置を把握できるよう、パラメータを調整するための処理である。キャリブレーション処理は製品出荷前の製造の工程で行われる処理である。この処理でパラメータが確定され、それがROMに書き込まれて出荷される。
【0025】
図4は、入力画像確認処理302を説明するため図である。図4(a)は入力画像確認処理302のフロー図である。
【0026】
図4(a)において、402はヒストグラム計算処理、403はスミア確認処理、である。
【0027】
ヒストグラム計算処理402は、入力画像において図に示すように縦方向に濃淡画像の和を計算する処理である。このヒストグラム計算処理402によって、画面のX座標毎に値が1つずつ計算され、画面の横方向のサイズと同じ大きさの配列にそれぞれの和が格納される。
【0028】
スミア確認処理403は、先に計算した結果が格納されている前記配列を用いて、配列の要素がある閾値を超えているか否かで、そのX座標においてスミアが発生しているか否か確認する。画面のすべてのX座標について確認を行い、スミアが発生していないことを確認する。もしスミアが発生していれば、スミア発生を後段の処理に伝える。スミアが発生している場合には、本実施例ではそのフレームについての画像処理は行わない。その他の対処方法としては、その列の画素を用いずに、隣の画素の値をそのまま用いる方法、あるいは周辺の画素の平均を用いる方法といったことが考えられる。尚、スミアはCCDカメラを使用した場合に発生しうるものであり、CMOSカメラを使用した場合には発生しない。本実施例では、CCDカメラの使用を想定している。
【0029】
図5は、検知処理303のフロー図である。
【0030】
図5において、501は側方入力画像、502は後方入力画像、503,506は歪み補正のための係数、504,505は歪み補正処理、507は画像準備処理、509,510は射影変換処理、508,511は射影変換のための係数、512は走行道路検出処理、513はブロックマッチング処理、514は優先処理候補指示処理、515は後方車両判定処理、516はトラッキング処理、517は検出結果、である。
【0031】
歪み補正処理504は、側方入力画像501を入力とし、予め定められた係数値をもとに、カメラの歪みを補正した画像を得る処理である。歪み補正処理505も、入力画像が後方入力画像502である以外は、同様である。
【0032】
画像準備処理507は、歪みが補正された画像により後方車両を検知するための準備の処理である。ここで入力画像に不具合がないかの確認や、2つの車載カメラの明度の違いが補正される。
【0033】
射影変換処理509は、取り付け位置と撮像方向(光軸)が異なる2つのカメラ画像について、それらを擬似的にあわせていく(取り付け位置については視差を許容する)処理である。射影変換処理510についても同様である。本実施例では、2つの入力画像のうち、より解像度が高い方の画像に対して処理を行うことにより、画像情報が失われることによる検出精度の低下の抑止を狙っている。
【0034】
走行道路検出処理512は、画像を用いた処理であり、一般にレーン認識と呼ばれる技術が基本となっている。更に、画像情報と、これまでの走行履歴(位置の履歴)と、自車の進行方向をもとに、画像上の後方道路の形状を把握している。これにより、走行路上を接近する後方車両や、追い越し車両を、ガードレールや街路樹、対抗車両と区別して認識することができる。また、本実施例では記載していないが、カーナビゲーションシステム等から道路形状のデータを入手して、それを利用することもできる。
【0035】
ブロックマッチング処理513は、優先処理候補指示514のデータをもとに、ブロックマッチング処理を行う。この指示のデータは、トラッキング処理516により得られたものである。車両が検出されうる領域すべてについてブロックマッチングを行うべきであるが、領域のどの部分から処理するかということについて、優先処理候補指示514のデータを利用する。一般に、ブロックマッチング処理は演算量が多いため時間がかかる。そこで、画像上の処理領域で優先順位をつける。所定時間内に処理が終わらないときは、優先度の低いものは処理しない。
【0036】
後方車両判定処理515は、走行路検出処理512とブロックマッチング処理513の結果を元に、後方の車両を検知する処理である。
【0037】
トラッキング処理516は、検出結果517を出力するとともに、優先処理候補指示514のデータを出力する。
【0038】
ここで図6を用いて、歪み補正処理504,505の動作を説明する。
【0039】
図6において、601は歪み補正前の画像、602は歪み補正後の画像、603〜606と607〜610はそれぞれ4つずつの座標であり、歪み補正の仕方を指示するためのデータ群の1セットである。611〜614は4つの画素を示しており、615と616の2つの点線の交点が、歪み補正後の画素の色情報を取得したい点(サブピクセル単位の点)である。
【0040】
歪み補正部108により歪みがある画像から、歪み補正後の画像を作るには、車載カメラ102〜104のそれぞれのカメラパラメータに基づいて、歪み補正のテーブル(座標の対応関係を示すテーブル)がカメラの設計データやキャリブレーションによってに予め作成されている。本実施例では車載カメラが2つあるので、テーブルも2つある。前記テーブルは、図6(b)の座標データの組(セット)が複数集まってできている。例えば、歪み補正後に座標607から610で示される範囲の座標となる画素の位置は、歪み補正前の座標603〜606の座標を元に、線形補間計算を行い、求められる。このとき、歪み補正前の座標の値が、小数点以下、即ち、画素よりも細かい単位での座標となることがあるが(615と616で示される座標)、その場合には、画素611〜614の4つの画素の色情報を元に、補間計算を行って、615と616で表される座標の色情報を求め、それを歪み補正後の画素の色とする。このような処理を歪み補正後の画像602の全域にわたって処理を行い、歪み補正後画像602を求める。この歪み補正部による処理は、本実施例におけるすべての車載カメラによる撮像画像に対して行われている。
【0041】
図7は、画像準備処理507のフロー図である。
【0042】
図7において、702は縮小処理、703は明度補正処理、である。
【0043】
縮小処理702は、カメラから入力された画像を縮小する処理である。これは隣り合う画素の平均をとることによって入力画像に対する縮小画像を作成する処理である。画像処理においては、一般に、入力画像が高解像度であったとしても、実際に処理される際には、縮小画像が作成され、それについて画像認識処理が施されることが多い。
【0044】
明度補正処理703は、2つのカメラの入力画像において、その明度が異なる場合、その明度を補正するための処理である。本処理の狙いは、2つのカメラにおける、画像の明るさの違いの影響を軽減しようということである。ここで利用するのは、路面の画像である。路面は、一般に乱反射しており、どの方向からみても一様な明るさに見えることが多いことが知られている。本実施例では、このことを利用し、2つの車載カメラで撮影した画像について、その路面上の同じ点が2つのカメラから同じ明るさに見えるように、2つのカメラの絞りを調整する。また、ただ1つのペア(座標同士)の比較であると、誤差を含む可能性があるため、比較候補を複数予め用意しておきそれらの座標をリストとし、それら複数の候補について明るさの比較処理を行った後に、想定される明るさを誤差少なく求める。
【0045】
以上により、複数の撮像装置の取り付け位置や方向が異なるとき、それらの撮像画像についての明度の調整や照明・反射の影響を軽減することができる。
【0046】
図8,図9を用いて、射影変換処理509,510について説明する。射影変換とは、画像の拡大や縮小,移動,台形変換といった演算処理のことである。
【0047】
図8は、角度θだけ擬似的にカメラを回転させることを示す図、図9は、Lだけカメラ画像を拡大し、カメラ位置を擬似的に変えることを示す図である。このとき、2つのカメラについて、重複領域においてより高解像度な画像を得られるカメラについて、本処理(射影変換処理)を行うこととする。これは射影変換による画像情報の損失を低減するためである。
【0048】
2つの車載カメラは撮像する方向(光軸方向)とその取り付け位置とが異なっている。そこで、図8において801で示される角度分に相当する射影変換を側方カメラの画像に対して行い、擬似的に光軸が平行となった画像を生成する。更に画像の変換(拡大)を行い、これによりカメラ画像を擬似的に図9の取り付け位置902とした場合の画像に変換する。ここで実施する射影変換については、予めキャリブレーション処理によってどのような変換を行う必要があるかを把握しておく。以上2回の射影変換により、2つのカメラ画像の視差がdのステレオマッチング処理を適用することができる。
【0049】
本実施例では記載していないが、予めキャリブレーション処理によって、図2の102のカメラ位置での撮影画像と、図9の502の位置に実際にカメラを設置して撮影した画像と、の2つを比較し、その対応点を把握することにより、実施すべき画像変換の内容を把握する方法も考えられる。
【0050】
図10は、本実施例におけるブロックマッチング処理513の説明図である。
【0051】
図10において、1001は比較画像から切り出した領域、1002は基準画像、1003は探索する方向を示す線、1004は距離画像、である。
【0052】
ブロックマッチング処理は画像の重複領域に対して、CPU105によって行われる処理である。本処理は図11で説明されるステレオ法の演算に必要な処理である。
【0053】
領域1001は、比較画像から切り出された5×5の画像であり、2つの車載カメラのうちの一方からの画像である。基準画像1002は、領域1001が属さない方の車載カメラ画像である。領域1001と基準画像1002を用いて、2つの画像の横方向(1003)の差異が、サブピクセル単位で計算される。本実施例では正規化相関により求められる。ここで用いた際により、奥行き方向の距離がもとめられ、距離画像1004を得る。距離画像とは濃度画像であるが、その濃度値を奥行き方向の距離値としたものである。
【0054】
図11を用いて、図5のブロックマッチング処理513により3次元の距離を把握する方式を説明する。本実施例では、ステレオ法により画像計測を行う。
【0055】
図11において、P0は対象となる点、Plは左眼画像上の点、Prは右眼画像上の点、Po_lは左眼座標系の原点、Po_rは右眼座標系の原点、Oはxyz座標系の原点、O_lは左眼カメラの投影の中心、O_rは右眼カメラの投影の中心、である。また、x,y,zはOを原点とする全体空間の座標系、v_l,v_rは左眼座標系の軸、u_l,u_rは右眼座標系の軸、である。また、fは投影中心と画像面との距離、Lは左眼カメラと右眼カメラの距離、である。
【0056】
ここで、O_lとPlという直線と、O_rとPrという直線の、2つの直線が点P0で交わることから、次の関係式が成り立つことが知られている。
【0057】
x0=(L(u_l+u_r))/(2(u_l−u_r))
y0=Lv(u_l−u_r)
z0=(Lf)/(u_l−u_r)
ここで、v_lとv_rは同じ値であることから、vで表している。
【0058】
ブロックマッチング処理によりPlの座標とPrの座標を求め、更に先に示した3つの関係式によりP0の座標を求めることができ、二次元の画像からz方向の距離を得ることができる。この演算処理はCPU105が行う。
【0059】
図12,図13を用いて、図5の後方車両検出処理512を説明する。
【0060】
図12において、1201は左眼画像(側方カメラによる画像)、1202は右眼画像(後方カメラによる画像)、1203は重複領域における左眼画像、1204は重複領域における左眼画像1203を微小領域に区分した画像、である。
【0061】
図13において、図13(a)は左眼画像を微小領域に区分した画像1204、図13(b)は、ある微小領域について距離を横軸にとった場合の投票結果、である。
【0062】
図13(b)では、1301の部分で、4つの微小領域がある有意な高さを持った領域となっている。この領域の存在が、障害物の存在を示しており、4つの微小領域の幅によって障害物の幅がわかる。これと、トラッキングしている対象物体の相対速度から、後方車両が検出される。相対速度はトラッキング情報のリストに保存されている、三次元の位置と、今回検出された三次元位置との差と、検出処理間隔(時間)により計算することができる。このとき相対速度がある一定以上あるものは後方車両と検知しないとする。例えば、本実施例では、自車速度と略同じ相対速度であれば、それは後方車両ではない(少なくとも走行中ではない)として、後方車両であると検出しない。
【0063】
図14,図15を用いて、トラッキング処理516について説明する。
【0064】
図14は、トラッキング処理516のフロー図である。
【0065】
図14において、1401は重複領域トラッキング処理、1402は重複領域リスト更新処理、1403は非重複領域トラッキング処理、1404は、非重複領域リスト更新処理、である。
【0066】
重複領域トラッキング処理1401は、重複領域において既に検出済みの車両のリストと、今回重複領域において検出した車両と、を比較する処理である。この比較処理は、今回検出した車両と、前回検出していた車両(リストにある車両)の3次元的な位置を比較し、ある一定の距離範囲にある車両は(例えば1つの車両の大きさよりも近い距離にあると検出された車両は)同一の車両と判定する。一方、そうでない新規の検出車両については、リストに追加する。また、前回検出していたにもかかわらず、今回検出されていない車両については、非重複領域におけるトラッキングの候補の1つとして、非重複領域トラッキング処理に伝えられる。
【0067】
重複領域リスト更新処理1402は、重複領域トラッキング処理1401の結果をもとに、リストを更新し、優先処理候補指示514を出力する。
【0068】
非重複領域トラッキング処理1403は、非重複領域において既に検出済みの車両のリストと、重複領域において取得されている対象車両のテンプレート画像をもとに、トラッキングを行う処理である。また、重複領域トラッキング処理1401から伝えられた、非重複領域におけるトラッキング候補について、初回のトラッキングを試みる。即ち、テンプレートマッチングを行う。
【0069】
非重複領域リスト更新処理1404は、非重複領域トラッキング処理1403の結果をもとに、リストを更新する処理である。
【0070】
ここで、重複領域リストと非重複領域リストのデータ構造について説明する。両方のリストともに、車両ID,検出位置(画像上),検出位置(3次元),自車との相対速度、テンプレート画像を含んでいる。車両IDとは検出対象に対してつけられる番号で、リスト上で検出対象を区別するためのものである。検出位置(画像上)、検出位置(3次元)はそれぞれ検出対象の座標位置を示す。自車との相対速度は、検出対象の速度と自車との相対速度であり、前回と今回の検出位置(3次元)をもとに計算されたものである。テンプレート画像、は車両前面のテンプレート画像である。
【0071】
ここで図19を用いて、トラッキングに関する非重複領域と重複領域のリストと、優先候補を示すリストの構造を説明する。
【0072】
図19(a)は、トラッキングに関する非重複領域リストと重複領域リストである。このリストは、図に示すような構造をしており、1車両分のエントリーが1行に対応している。図19(b)は、優先候補指示のためのリストである。このリストは、1車両分のエントリーが1行に対応しており、各行には画像上の座標が1つずつ収められている。このリストは、候補としての優先度が高い順に並べられている。
【0073】
図16を用いて、重複領域トラッキング処理で行われる、テンプレートに関する処理について説明する。
【0074】
図16において、1601はテンプレート取得処理、1602はテンプレート更新処理、である。
【0075】
テンプレート取得処理1601は、新規に重複領域のトラッキングリストに登録された車両について行われる処理で、車両前面の部分の画像を取得する処理である。テンプレート更新処理1602は、既に取得してある車両のテンプレートについて、その車両が重複領域においてトラッキングしている間は、そのテンプレートを更新する(再取得する)処理である。本実施例においては、テンプレート画像は、同一車両において複数フレーム取得して保存しておくとする。一般に走行中は、走行環境(日向や日陰など)によってその取得される画像が異なってくる。そこでその環境の変化に対応するため、同一車両についてテンプレートを複数取得しておき、テンプレートマッチングの際には複数のテンプレートを必要に応じて順次用いることができるシステムとしている。
【0076】
本システムでは、重複領域に対象物(車両)があるときに、その画像をテンプレートとして保持しており、その物体が非重複領域に移動した場合、それ以後の挙動をテンプレートマッチングによりトラッキングし続ける。また、テンプレートの取得は、対象物体が重複領域にあるときに行われる。テンプレートマッチングは、幾何学的な特徴に富んでいる方が適用しやすい。車の場合、車両前方(ヘッドライト,ナンバープレート等)は特徴に富んでいるが、車両側方は特徴に乏しい。
【0077】
本実施例では、非重複領域が2つ存在しているが、後方入力画像における非重複領域の場合と、側方入力画像における非重複領域の場合と、によって、検出対象車両の見え方が異なってくる。前者の場合(図15の1503)には、車両の前面だけでなく側方が見えるのに対し、後者の場合(図15の1502)には車両の前面のみで側方は見えない。そのため、テンプレート更新処理1602においては、図15の1503の位置に近づきつつある車両に対しては、車両の画像のうち、右端のある一定画素を取得しない、つまり(車両前面を取得するため)左寄りの部分をテンプレートとして取得し保持する。一方、図15の1502の領域に近づきつつある車両については、前面として検出したそのままのテンプレートを保持する処理を行う。これはカメラの取り付け位置と検出車両の相対的な位置関係を考慮した処理となっている。本実施例では記載していないが、テンプレートマッチングにおいて、そのテンプレートの1画素1画素に重み付けをし、その重みについて相対的な位置関係を考慮した重みとする方法も考えられる。
【0078】
図17は、表示処理304により表示される画面を示している。
【0079】
図17において、1801は表示画面、1802は自車を示すマーク、1803,1804,1805,1806は領域の境界を示す線、1807は検出車両を示すマーク、である。
【0080】
後方車両が図2における領域Cにあることが検出されている場合、境界線1803と1804で囲まれた領域が黄色に点灯する。後方車両が図2における領域Aにある場合も同様に黄色に点灯する。一方、後方車両が図2における領域Bにある場合は、境界線1804と1805で囲まれた領域が水色に点灯し、自車との相対的な位置が水色の領域内に長方形(1807)で表示される。黄色に点灯する場合と、水色に点灯しかつ長方形表示がある場合とに動作が異なっているのは、後方車両の検出精度の違いを反映させたものである。検出精度は、非重複領域はステレオではなく単眼画像によるによる検出のため、検出対象の距離精度が落ちる。これらの表示はマイコンによって行われ、重複領域と非重複領域の検出結果のリストを元に処理される。また、検出時や検出中には必要に応じて音声出力させることも可能である。また、図3の入力画像確認処理302で処理に適さないと入力画像が判定された場合には、本表示システムに入力エラー状態であることを示す表示を行う。
【0081】
次に、図18を用いて、画像の特徴点を利用してマッチング処理を行う場合について説明する。1801,1802は特徴点計算処理、1803は特徴点マッチング処理、である。
【0082】
特徴点計算処理1801は、一般に画像処理で用いられる、エッジやカドなどの特徴点を抽出する計算処理を行う。走行路検出特徴点計算処理1802も同様である。特徴点マッチング処理1803は、特徴点のマッチングを行う処理である。特徴点によって処理を行うことにより、より一層、2つのカメラ画像における、明るさの変化に対する耐性の向上が期待できる。
【図面の簡単な説明】
【0083】
【図1】全体システムの構成図。
【図2】全体システムの動作を示すフロー図。
【図3】全体動作を説明するための図。
【図4】入力画像確認処理を説明するためのフロー図。
【図5】検知処理を説明するための図。
【図6】歪み補正を説明するための図。
【図7】画像準備処理を説明するための図。
【図8】射影変換を説明するための図。
【図9】射影変換を説明するための図。
【図10】テンプレートマッチング処理を説明するための図。
【図11】ステレオ処理を説明するための図。
【図12】後方車両検出処理を説明するための図。
【図13】後方車両検出処理を説明するための図。
【図14】トラッキング処理を説明するための図。
【図15】トラッキング処理を説明するための図。
【図16】テンプレート処理を説明するための図。
【図17】表示画面を説明するための図。
【図18】画像の特徴点を利用してマッチング処理を行う場合のフロー図。
【図19】トラッキングに関する非重複領域と重複領域のリストと優先候補を示す図。
【符号の説明】
【0084】
102,103 車載カメラ
105 CPU
106 RAM
107 ROM
108 歪み補正部
109 画像処理部
110 表示部
111 表示インタフェース
112 音声出力部
113 音声出力インタフェース
114 バス
【特許請求の範囲】
【請求項1】
第1の単眼カメラで撮像した第1の領域と第2の単眼カメラで撮像した第2の領域の重複領域及び非重複領域を入力する入力部と、
前記重複領域内の画像から他車を認識し、自車と当該他車との距離を算出する距離算出部と、
前記他車が前記重複領域から前記非重複領域に移動した場合、前記距離算出部が算出した距離に基づいて、前記他車の前記自車に対する相対位置を推定するトラッキング部を備える、画像処理システム。
【請求項2】
前記重複領域内の特徴量を抽出する抽出部を更に備え、
前記距離算出部は、前記抽出部が抽出した特徴量に基づいて、前記距離を算出する、請求項1記載の画像処理システム。
【請求項3】
前記特徴量とは、エッジ又はカドを示す、請求項2記載の画像処理システム。
【請求項4】
前記第1及び第2の領域のうち少なくとも一方について、歪み補正及び視点変換を行う補正部を更に備える、請求項1記載の画像処理システム。
【請求項5】
前記補正部は、前記第1及び第2の単眼カメラが同じ明るさで撮像できるように、当該第1及び第2の単眼カメラの絞りを調整する、請求項4記載の画像処理システム。
【請求項6】
前記補正部は、路面の画像に基づいて、前記絞りを調整する、請求項5記載の画像処理システム。
【請求項7】
前記トラッキング部は、前記第1の単眼カメラが撮像した画像と、前記第2の単眼カメラが撮像した画像のそれぞれに対して、異なる処理を行う、請求項5記載の画像処理システム。
【請求項8】
前記第1の単眼カメラは、前記自車の後方に取り付けられ、前記第2の単眼カメラは、
前記自車の側方に取り付けられる、請求項1記載の画像処理システム。
【請求項1】
第1の単眼カメラで撮像した第1の領域と第2の単眼カメラで撮像した第2の領域の重複領域及び非重複領域を入力する入力部と、
前記重複領域内の画像から他車を認識し、自車と当該他車との距離を算出する距離算出部と、
前記他車が前記重複領域から前記非重複領域に移動した場合、前記距離算出部が算出した距離に基づいて、前記他車の前記自車に対する相対位置を推定するトラッキング部を備える、画像処理システム。
【請求項2】
前記重複領域内の特徴量を抽出する抽出部を更に備え、
前記距離算出部は、前記抽出部が抽出した特徴量に基づいて、前記距離を算出する、請求項1記載の画像処理システム。
【請求項3】
前記特徴量とは、エッジ又はカドを示す、請求項2記載の画像処理システム。
【請求項4】
前記第1及び第2の領域のうち少なくとも一方について、歪み補正及び視点変換を行う補正部を更に備える、請求項1記載の画像処理システム。
【請求項5】
前記補正部は、前記第1及び第2の単眼カメラが同じ明るさで撮像できるように、当該第1及び第2の単眼カメラの絞りを調整する、請求項4記載の画像処理システム。
【請求項6】
前記補正部は、路面の画像に基づいて、前記絞りを調整する、請求項5記載の画像処理システム。
【請求項7】
前記トラッキング部は、前記第1の単眼カメラが撮像した画像と、前記第2の単眼カメラが撮像した画像のそれぞれに対して、異なる処理を行う、請求項5記載の画像処理システム。
【請求項8】
前記第1の単眼カメラは、前記自車の後方に取り付けられ、前記第2の単眼カメラは、
前記自車の側方に取り付けられる、請求項1記載の画像処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2009−85651(P2009−85651A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−252955(P2007−252955)
【出願日】平成19年9月28日(2007.9.28)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願日】平成19年9月28日(2007.9.28)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]