次に図面を参照してこの発明の実施の形態を説明する。
図1は、この発明の一実施形態に従う、車両の周辺監視装置の構成を示すブロック図である。該装置は、車両に搭載され、遠赤外線を検出可能な2つの赤外線カメラ1Rおよび1Lと、車両のヨーレートを検出するヨーレートセンサ5と、車両の走行速度(車速)VCARを検出する車速センサ6と、ブレーキの操作量を検出するためのブレーキセンサ7と、カメラ1Rおよび1Lによって得られる画像データに基づいて車両前方の対象物を検出するための画像処理ユニット2と、該検出結果に基づいて音声で警報を発生するスピーカ3と、カメラ1Rまたは1Lによって得られる画像を表示すると共に、運転者に車両前方の対象物を認識させるための表示を行うヘッドアップディスプレイ(以下、HUDと呼ぶ)4とを備えている。
図2に示すように、カメラ1Rおよび1Lは、車両10の前部に、車幅の中心を通る中心軸に対して対称な位置に配置されている。2つのカメラ1Rおよび1Lは、両者の光軸が互いに平行となり、両者の路面からの高さが等しくなるように車両に固定されている。赤外線カメラ1Rおよび1Lは、対象物の温度が高いほど、その出力信号のレベルが高くなる(すなわち、撮像画像における輝度が大きくなる)特性を有している。
画像処理ユニット2は、入力アナログ信号をデジタル信号に変換するA/D変換回路、デジタル化した画像信号を記憶する画像メモリ、各種演算処理を行う中央演算処理装置(CPU)、CPUが演算に際してデータを記憶するのに使用するRAM(ランダムアクセスメモリ)、CPUが実行するプログラムおよび用いるデータ(テーブル、マップを含む)を記憶するROM(リードオンリーメモリ)、スピーカ3に対する駆動信号およびHUD4に対する表示信号などを出力する出力回路を備えている。カメラ1Rおよび1Lの出力信号およびセンサ5〜7の出力信号は、デジタル信号に変換されてCPUに入力されるよう構成されている。HUD4は、図2に示すように、車両10のフロントウィンドウの、運転者の前方位置に画面4aが表示されるように設けられている。こうして、運転者は、HUD4に表示される画面を視認することができる。
図3は、画像処理ユニット2によって実行されるプロセスを示すフローチャートである。該プロセスは、所定の時間間隔で実行される。
ステップS11〜S13において、カメラ1Rおよび1Lの出力信号(すなわち、撮像画像のデータ)を入力として受け取り、これをA/D変換して、画像メモリに格納する。格納される画像データは、輝度情報を含んだグレースケール画像である。
ここで図4を参照すると、(a)および(b)には、カメラ1Rおよび1Lによってそれぞれ得られるグレースケール画像の右画像と左画像が概略的に示されている。ハッチングを付した領域は、中間階調(グレー)の領域であり、ハッチングの種類によって階調の違いを表している。ハッチングが付されていない領域は、輝度レベルが高く(すなわち高温である)、画面上に白色または白色に近い階調色として表示される対象物の領域(以下、高輝度領域と呼ぶ)である。右画像と左画像とでは、同一対象物の画像上の水平位置がずれており、このずれ(視差)により、該対象物までの距離を算出することができる。
図3に戻り、ステップS14において、右画像を基準画像とし(代替的に、左画像を基準画像としてもよい)、その画像信号の2値化を行う。具体的には、予めシミュレーション等によって決定される輝度閾値ITHより明るい領域を「1」(白)とし、暗い領域を「0」(黒)とする処理を行う。図5には、図4(a)の画像を2値化した画像を示す。この図では、黒領域を、ハッチングした領域で表し、白領域(高輝度領域)を、ハッチングが付されていない領域で表している。
ステップS15において、2値化した画像データを、ランレングスデータに変換する。図6は、この処理を説明するための図である。図6(a)では、2値化により白となった領域が、L1〜L8で表されている。ラインL1〜L8は、いずれも、y方向には1画素の幅を有している。ラインL1〜L8は、実際には、y方向に隙間無く並んでいるが、便宜上、図では離間して示されている。また、ラインL1〜L8は、x方向には、それぞれ、2画素、2画素、3画素、8画素、7画素、8画素、8画素、8画素の長さを有している。ランレングスデータは、ラインL1〜L8を、各ラインの開始点(各ラインの左端の画素)の座標と、開始点から終了点(各ラインの右端の画素)までの長さ(画素数で表される)とで表したものである。たとえば、ラインL3は、(x3,y5)、(x4,y5)、および(x5,y5)の3画素からなるので、(x3,y5,3)というランレングスデータで表される。
ステップS16およびS17において、図6(b)に示すように、対象物のラベリングを行い、対象物を抽出する処理を行う。すなわち、ランレングスデータ化したラインL1〜L8のうち、y方向に重なる部分のあるラインL1〜L3を1つの対象物1とみなし、ラインL4〜L8を1つの対象物2とみなし、ランレングスデータに対象物ラベル1および2を付与する。この処理により、たとえば図5に示す4個の高輝度領域が、それぞれ、対象物1〜4として抽出される。
ステップS18において、図6(c)に示すように、該抽出された対象物の重心G、面積S、および、破線で示すように抽出された対象物に外接する四角形すなわち外接四角形の縦横比ASPECTを算出する。面積Sは、ランレングスデータの長さを同一対象物について積算することにより算出される。重心Gの座標は、面積Sをx方向に二等分する線のx座標およびy方向に二等分する線のy座標として算出される。縦横比ASPECTは、外接四角形のy方向の長さDyとx方向の長さDxとの比Dy/Dxとして算出される。なお、重心Gの位置は、外接四角形の重心位置で代用してもよい。
ステップS19において、対象物の時刻間追跡(トラッキング)、すなわち、所定のサンプリング周期毎に同一対象物の認識を行う。サンプリング周期は、図3のプロセスが実行される周期と同じでもよい。具体的には、アナログ量としての時刻tをサンプリング周期で離散化した時刻をkとし、図7(a)に示すように時刻kで対象物1および2を抽出した場合を考えると、該対象物1および2と、次のサンプリング周期である時刻(k+1)で抽出した対象物3および4との間の同一性判定を行う。この実施例では、以下の条件1)〜3)を満たしたならば、対象物1および2と、対象物3および4とがそれぞれ同一であると判定し、今回抽出された対象物3および4を、それぞれ1および2というラベルに変更することにより、時刻間追跡を行う。
1)時刻kにおける対象物i(=1,2)の画像上での重心Gの位置の座標を(xi(k),yi(k))とし、時刻(k+1)における対象物j(=3,4)の画像上での重心Gの位置の座標を(xj(k+1),yj(k+1))としたとき、|xj(k+1)−xi(k)|<Δxであり、かつ|yj(k+1)―yi(k)|<Δyであること。ここで、ΔxおよびΔyは、それぞれ、x方向およびy方向の画像上の移動量の所定の許容値である。
2)時刻kにおける対象物i=(1,2)の画像上での面積をSi(k)とし、時刻(k+1)における対象物j(=3,4)の画像上での面積をSj(k+1)としたとき、Sj(k+1)/Si(k)<1±ΔSであること。ここで、ΔSは、面積変化の所定の許容値である。
3)時刻kにおける対象物i(=1,2)の外接四角形の縦横比をASPECTi(k)とし、時刻(k+1)における対象物j(=3,4)の外接四角形の縦横比をASPECTj(k+1)としたとき、ASPECTj(k+1)/ASPECTi(k)<1±ΔASPECTであること。ここで、ΔASPECTは縦横比変化の所定の許容値である。
図7の例では、(a)および(b)との間で、対象物1と3とが上記同一性判定条件を満たし、対象物2と4とが上記同一性判定条件を満たしている。したがって、対象物3および4は、それぞれ、対象物1および2と同一と判断される。
上記条件は、対象物が、時刻kと(k+1)の間で同一であるならば、重心G、面積Sおよび縦横比ASPECTにおける変化が所定の許容値以下であるはず、との知見に基づいている。より良好な同一性判定を行うために、上記3つの条件がすべて満たされたときに同一性と判定するのが好ましいが、該3つの条件のうちのいずれかまたは2つが満たされたときに同一性と判定するようにしてもよい。
こうして、各サンプリング周期において、抽出された対象物に関し、少なくとも、付与されたラベル、外接四角形で囲まれた該対象物の画像データ(2値化されている)、対象物の位置(この実施例では、重心Gの位置座標)、および、該外接四角形の縦横比ASPECTは、時系列データとしてメモリに格納される。該時系列データは、少なくとも所定のモニタ期間ΔT内に得られたN個の撮像画像についてのデータを含む。
なお、以上説明したステップS14〜S19の処理は、2値化した基準画像(この実施例では、右画像)について実行される。
図3に戻り、ステップS20において、車速センサ6により検出される車速VCARおよびヨーレートセンサ5により検出されるヨーレートYRを読み込み、ヨーレートYRを時間積分することにより、車両10の回頭角θr(図13を参照して後述される)を算出する。
一方、ステップS31〜S33では、ステップS19およびS20の処理と平行して、車両10から対象物までの距離zを算出する処理を行う。この演算は、ステップS19およびS20よりも長い時間を要するため、ステップS19およびS20より長い周期(たとえば、ステップS11〜S20の実行周期の3倍程度の周期)で実行されるようにしてもよい。
ステップS31では、基準画像(この実施例では、右画像)の2値化画像によって追跡される対象物のうちの1つを選択することにより、図8(a)に示すように、該右画像から探索画像R1(ここでは、外接四角形で囲まれる画像領域を探索画像とする)を抽出する。ステップS32では、左画像において、該探索画像と同じ対象物が撮像されている画像領域(以下、対応画像と呼ぶ)を探索すべき探索領域を設定し、基準画像と該探索領域の間で相関演算を実行して、対応画像を抽出する。
相関演算の処理負荷を軽減するため、探索画像R1の各頂点座標に応じて、左画像中に、図8(b)に示すように探索領域R2を設定するのが好ましい(たとえば、該各頂点座標を含む所定範囲の領域を探索領域R2として設定することができる)。探索領域R2内で探索画像R1との相関の高さを示す輝度差分総和値C(a,b)を、下記式(1)により算出し、この総和値C(a,b)が最小となる領域を対応画像として抽出する。この相関演算は、2値画像ではなく、グレースケール画像を用いて行う。代替的に、同一対象物についての過去の位置データがあるときは、その位置データに基づいて探索領域R2より狭い領域R2a(図8(b)に破線で示す)を探索領域として設定してもよい。これにより、相関演算処理の負荷をさらに軽減することができる。
ここで、探索画像R1は、M×N個の画素数を持ち、IR(m,n)は、図9に示す探索画像R1内の座標(m,n)の位置の輝度値であり、IL(a+m−M,b+n−N)は、探索領域R2内の座標(a,b)を基点とした、探索画像R1と同一形状の局所領域R3内の座標(m,n)の位置の輝度値である。基点の座標(a,b)を変化させて輝度差分総和値C(a,b)が最小となる位置を求めることにより、対応画像の位置が特定される。こうして、図10に示すように、探索画像R1と、これに対応する対応画像R4とが抽出される。
ステップS33において、探索画像R1の重心位置と、撮像画像の画像中心線(撮像画像をx方向に二分する線)LCTRとの距離dR(画素数)および対応画像R4の重心位置と画像中心線LCTRとの距離dL(画素数)を求め、式(2)に適用して、車両10の対象物までの距離zを算出する。
ここで、図11に示すように、Bは基線長、すなわちカメラ1Rの撮像素子11Rの中心位置と、カメラ1Lの撮像素子11Lの中心位置とのx方向(水平方向)の距離(すなわち、両カメラの光軸の間隔)を示し、Fは、カメラ1Rおよび1Lに設けられたレンズ12Rおよび12Lの焦点距離を示し、pは、撮像素子11Rおよび11L内の画素間隔を示す。Δd(=dR+dL)は、視差の大きさを示す。
ステップS21において、対象物の位置(前述したように、この実施例では重心Gの位置)の画像内の座標(x、y)および式(2)により算出した距離zを、式(3)に適用し、実空間座標(X,Y,Z)に変換する。ここで、実空間座標(X,Y,Z)は、図12(a)に示すように、カメラ1Rおよび1Lの取り付け位置の中点の位置(車両に固定された位置)を原点Oとして、図のように、車両10の車幅方向にX軸、車両10の車高方向にY軸、車両10の進行方向にZ軸を定めた座標系で表される。画像上の座標は、図12(b)に示すように、画像の中心を原点として水平方向をx軸および垂直方向をy軸とした座標系で表される。
ここで、(xc,yc)は、右画像上の座標(x,y)を、カメラ1Rの取り付け位置と実空間座標系の原点Oとの相対位置関係に基づいて、実空間原点Oと画像の中心とを一致させた仮想的な画像内の座標に変換したものである。また、fは、焦点距離Fと画素間隔pとの比である。
ステップS22において、車両10が回頭することによる画像上の位置ずれを補正するための回頭角補正を行う。図13(a)に示すように、時刻kから(k+1)までの期間中に、車両10がたとえば左方向に回頭角θrだけ回頭すると、カメラによって得られる画像上では、図13(b)に示すようにΔxだけx方向にずれる。したがって、これを補正する。
具体的には、式(4)に実空間座標(X,Y,Z)を適用して、補正座標(Xr,Yr,Zr)を算出する。前述した少なくとも所定のモニタ期間ΔT内に得られたN個の撮像画像について、算出した実空間位置データ(Xr,Yr,Zr)は、対象物ごとに対応づけて時系列にメモリに格納される。なお、以下の説明では、該補正後の座標を、(X,Y,Z)と示す。
ステップS23において、同一対象物について、所定のモニタΔTの期間内に得られたN個の撮像画像について算出された回頭角補正後のN個の実空間位置データ(たとえば、N=10程度)から、対象物の車両10に対する相対移動ベクトルに対応する近似直線LMVを求める。具体的には、近似直線LMVの方向を示す方向ベクトルL=(lx,ly,lz)(|L|=1)とすると、式(5)で表される直線を求める。
ここで、uは、任意の値を取る媒介変数である。Xav、YavおよびZavは、それぞれ、実空間位置データ列のX座標の平均値、Y座標の平均値、およびZ座標の平均値である。媒介変数uを消去することにより、式(5)は、以下の式(5a)のように表される。
(X−Xav)/lx=(Y−Yav)/ly=(Z−Zav)/lz
(5a)
図14は、近似直線LMVを説明するための図である。P(0)、P(1)、P(2)、・・・、P(N−2)、P(N−1)が、回頭角補正後の時系列データを示し、近似直線LMVは、この時系列データの平均位置座標Pav(=(Xav,Yav,Zav))を通り、各データ点からの距離の二乗の平均値が最小となるような直線として求められる。ここで各データ点の座標を示すPに付した()内の数値は、その値が増加するほど過去のデータであることを示す。たとえば、P(0)は最新すなわち今回のサンプル周期の位置座標、P(1)は、1サンプル周期前の位置座標、P(2)は2サンプル周期前の位置座標を示す。以下の説明におけるD(j)、X(j)、Y(j)、Z(j)等も同様である。
より具体的には、平均位置座標Pavから、各データ点の座標P(0)〜P(N−1)に向かうベクトルD(j)=(DX(j),DY(j),DZ(j))=(X(j)−Xav,Y(j)−Yav,Z(j)−Zav)と、方向ベクトルLとの内積sを、式(6)により算出し、内積sの分散が最大となる方向ベクトル(lx,ly,lz)を求める。
各データ点の座標の分散共分散行列Vは、式(7)で表され、この行列の固有値σが内積sの分散に相当するので、この行列から算出される3つの固有値のうち最大の固有値に対応する固有ベクトルが、求めるべき方向ベクトルLとなる。なお、式(7)の行列から固有値と固有ベクトルを算出するには、ヤコビ法として知られている手法を用いることができる。
次に、最新の位置座標P(0)=(X(0),Y(0),Z(0))と、(N−1)前(すなわち、時間ΔT前)の位置座標P(N−1)=(X(N−1),Y(N−1),Z(N−1))を、近似直線LMV上の位置に補正する。具体的には、式(5a)にZ座標Z(0)およびZ(n−1)を適用することにより得られる式(8)により、補正後の位置座標Pv(0)=(Xv(0),Yv(0),Zv(0))およびPv(N−1)=(Xv(N−1),Yv(N−1),Zv(N−1))を求める。
式(8)で算出された位置座標Pv(N−1)からPv(0)に向かうベクトルが、相対移動ベクトルとして算出される。
このように、モニタ期間ΔT内の複数(N個)のデータから、対象物の車両10に対する相対移動軌跡を近似する近似直線LMVを算出して相対移動ベクトルを求めることにより、位置検出誤差の影響を軽減して、対象物との衝突の可能性をより正確に予測することができる。
ステップS24では、対象物の判定処理を行い、対象物が、注意喚起の対象とすべきものであるかどうかを判断する。注意喚起の対象と判断されたならば、ステップS25に進み、警報判定処理を行う。警報判定処理では、運転者に対し、警報を実際に出力するかどうかを判定し、この判定結果が肯定であれば、警報を出力する。
この発明は、車両の前方を車幅方向(X方向)に移動している四足動物の判定に関するものであるが、該四足動物の判定処理はステップ24で実施され、詳細は後述される。四足動物と判定されれば、上記のような注意喚起の対象と判断される。当然ながら、四足動物の他に、歩行者の判定をステップ24で実施するようにしてもよい。歩行者であると判定されたならば、注意喚起の対象と判断される。また、ステップS24において、対象物が、人工構造物であるかどうかを判定する処理を行ってもよい。人工構造物と判定された場合には、注意喚起の対象から除外するようにしてもよい。歩行者および人工構造物についての判定処理は、任意の適切な手法で実施されることができる(たとえば、特開2006−185434号公報に記載されている)。
次に、この発明の一実施例に従う、車両の前方を車幅方向(X方向)に移動している四足動物の判定について説明する。具体的な判定手法を説明する前に、図15を参照して対象物の移動について説明し、図16を参照して判定の原理を説明する。
図15を参照すると、カメラ1Rおよび1Lによって監視可能な領域(撮像領域)AR0が示されている。領域AR1は、車両10の車幅αの両側に余裕β(たとえば、50〜100cm程度とすることができる)を加えた範囲に対応する領域、換言すれば車両10の車幅方向の中心軸の両側に(α/2+β)の幅を有する領域であり、対象物がそのまま存在し続ければ衝突の可能性が高い接近判定領域である。領域AR2およびAR3は、接近判定領域よりX座標の絶対値が大きい(接近判定領域の横方向外側の)領域であり、この領域にある対象物は、接近判定領域へと侵入するおそれがある(よって、侵入判定領域と呼ぶ)。これらの領域AR1〜AR3は、Y方向には所定高さHを有し、Z方向には、所定距離Z1により制限される。
この実施例では、対象物の最新の位置Pv(0)が、領域AR1〜AR3内に存在し、車両10の前方をX方向に移動している対象物を、判定対象とする。また、X方向の移動は、X軸の正の方向から負の方向への移動だけでなく、負の方向から正の方向への移動をも含む。
次に、図16を参照すると、車両の前方を、車幅方向(X方向)に移動している対象物が、(a)動物、(b)歩行者、および(c)自動車の場合の、カメラ1Rによって撮像された画像の時系列の変化が示されている。図の右上に示されるように、撮像画像上に付加的に表示されている四角形M(この図では、撮像画像上に白線で示されている)は、図6を参照して前述した、抽出された対象物に外接するよう設定された外接四角形である。各外接四角形Mをy方向に1/2にする線MLが描画されており、これにより、外接四角形Mは、y方向に上部領域Muと下部領域Mlとに二分されている。
Mに付与される()内の数値は、その値が増加するほど過去のデータであることを示す。たとえば、M(0)は、対象物の最新の位置座標Pv(0)に対応しており、今回のサンプリング周期において撮像画像から抽出された対象物について特定された外接四角形を示す。M(1)は、位置座標Pv(1)に対応しており、1サンプリング周期前に撮像画像から抽出された対象物について特定された外接四角形を示す。
(a)の動物は、四足を動かすことによって移動する。したがって、時間と共に、外接四角形Mの上部領域Muに撮像されている上半身部分すなわち胴体部分の形状はほとんど変化しないが、下部領域Mlに撮像されている下半身部分すなわち四足部分の形状は変化する。四足で移動するので、外接四角形Mの大きさの時間的変化は小さい。
(b)の歩行者は、二足で移動する。したがって、時間と共に、外接四角形Mの下部領域Mlに撮像されている下半身の形状が変化し、それと共に、外接四角形Mの大きさも変化する(両足を広げて移動するほど、外接四角形Mのx方向の幅は大きくなる)。また、腕が動くことにより、外接四角形Mの上部領域Muに撮像されている上半身の形状も変化しやすい。
(c)の自動車は、人工物であるので、外接四角形Mの上部領域Muに撮像されている該自動車の上部分の形状および外接四角形Mの下部領域Mlに撮像されている該自動車の下部分の形状は、時間と共にほとんど変化しない。
この発明は、上記(a)から(c)の知見に基づいてなされたものであり、車両前方をX方向に移動する対象物について、撮像されている下半身の形状の時間的変化を調べ、該時間的変化が大きい対象物を四足動物と判定する。また、撮像されている対象物全体の大きさおよび撮像されている上半身の形状の時間的変化を調べることにより、四足動物を、歩行者および自動車と区別して判定する。
具体的には、車両前方をX方向に移動する対象物の外接四角形について、
1)外接四角形Mの縦横比ASPECTの時系列の変化を調べる、
2)外接四角形Mの上部領域Muに撮像されている対象物形状の時系列の変化を調べる、
3)外接四角形Mの下部領域Mlに撮像されている対象物形状の時系列の変化を調べる。
歩行者の場合には、下半身の形状が変化することにより、外接四角形Mの大きさも変化する。したがって、上記1)により、縦横比ASPECTの変化が大きいものは歩行者である可能性が高く、四足動物ではないと判定する。
また、歩行者の場合には、上半身の形状が変化しやすいので、外接四角形Mの上部領域Muに撮像されている対象物の形状が変化しやすい。したがって、上記2)により、上部領域Muの対象物の形状の変化が大きいものは歩行者である可能性が高く、四足動物ではないと判定する。
また、自動車のような可動の人工物は、その形状が変化しないので、外接四角形Mの下部領域Mlの対象物の形状もほとんど変化しない。したがって、上記3)により、下部領域Mlの対象物の形状の変化が小さいものは、自動車等の可動の人工物である可能性が高く、四足動物ではないと判定する。
これら3つの判定の結果、外接四角形Mの大きさおよび該外接四角形Mの上部領域Muに撮像されている形状はほとんど変化しないが、下部領域Mlに撮像されている形状は変化する対象物が抽出され、これが、四足動物を表していると判定される。
上記1)および2)は、四足動物を、歩行者と区別するための判定であり、この実施例では、判定精度をより高くするために、1)および2)の両方の判定を行っているが、いずれか一方の判定のみを行ってもよい。
図17は、図3のステップS24において実施される、上記の知見に基づく四足動物の判定処理のフローを示す。
ステップS41において、前述した図3のステップS17で抽出した対象物のうち、車両10の前方をX方向に移動している対象物をさらに抽出する。この実施例では、図3のステップS17で抽出した対象物について式(9)〜(11)が成立するかどうかを調べ、成立する対象物を移動対象物として抽出する。
|Xv(N−1)−Xv(0)|>所定値THx (9)
Vs=(Zv(N−1)−Zv(0))/ΔT (10a)
Zv(0)/Vs<T (10)
|Yv(0)|<H (11)
上記式(9)〜(11)は、前述したように算出された相対移動ベクトルを用いている。相対移動ベクトルは、対象物の車両10に対する移動を表しているので、相対移動ベクトルから、所定時間内に対象物がX方向に移動しているかどうかを調べることができる。
前述したように、所定のモニタ期間ΔT内に、対象物の位置座標は、Pv(N−1)からPv(0)へと移動する。ここで、PvのX,Y,Z座標は、式(8)で示される通りである。式(9)に示されるように、ΔTの期間内に、X方向の移動距離|Xv(N−1)−Xv(0)|が所定値THxより大きいかどうかを調べ、所定値THxより大きければ、対象物がX方向に移動していると判断する。所定値THxは、任意に設定されることができる。
好ましくは、式(10)についても成立するかどうかを判断することができ、これは、車両10と対象物の衝突の可能性を調べるためである。具体的には、Z方向(距離方向)において、対象物が所定の速度以上で車両10に近づいているかどうかを調べるため、Z方向の相対速度Vsを、式(10a)により算出する。Zv(0)は、対象物の最新の距離検出値であり、Zv(N−1)は、時間ΔT前の距離検出値である。Tは、所定の余裕時間であり、衝突の可能性を予測衝突時刻より時間Tだけ前に判定することを意図しており、たとえば2〜5秒程度に設定されることができる。式(10)が成立するということは、対象物が、車両10に近づいていることを示す。なお、図15を参照して説明したZ方向の所定値Z1は、Vs×Tに相当する。
さらに好ましくは、式(11)が成立するかどうかを判断することにより、対象物が、動物の大きさを示すものであるかどうかを調べる。この実施例では、高さを用いる。対象物のY方向の高さが所定値Hより小さければ、動物の大きさに相当すると判断している。Hは、たとえば車両10の車高の2倍程度に設定されることができ、図15を参照して説明したY方向の所定値Hに相当する。
こうして、上記3つの式(9)、(10)および(11)を満たす対象物が、車両10の前方をX方向に移動している対象物として抽出される。
ステップS42では、ステップS41で抽出された移動対象物に付与されたラベル(これを、Lb1とする)と、同じラベルLb1が付与された対象物を、メモリに記憶された時系列データから探索する。前述したように、図3のステップS19の処理では、対象物の時刻間追跡が行われ、同一と判定された対象物には同じラベルが付与され、該対象物に関する情報が時系列データとしてメモリに記憶されている。したがって、該メモリに記憶された時系列データを探索することにより、ラベルLb1が付与された移動対象物について、外接四角形で囲まれた画像データ、位置(この実施例では、重心Gの位置)、外接四角形の縦横比ASPECTを時系列に求めることができる。
なお、この実施例では、ステップS42で探索する対象となる期間はΔTであり、よって、N個の撮像画像からそれぞれ得られた対象物のN個の位置Pv(0)〜Pv(N−1)に対応するように、N個の外接四角形M(0)〜M(N−1)と該外接四角形に囲まれる画像データ(2値化されている)が存在する。
このように、この実施例でのステップS42の探索対象の期間は、前述した相対移動ベクトルのモニタ期間ΔTと同じであるが、両者を異ならせてもよい。たとえば、ステップS42で用いる撮像画像の数を、Nより少なくしてもよい。
ステップS43において、モニタ期間ΔTにおける外接四角形の縦横比ASPECTの変化の大きさを調べる。この手法の一例を述べると、最新の外接四角形M(0)の縦横比ASPECT(0)と、メモリから探索された外接四角形M(j)(jは、1〜(N−1))の縦横比ASPECT(j)の差Dap(j)を、式(12)のように算出する。
差Dap(j)
=|M(j)のASPECT(j)−M(0)のASPECT(0)|
j=1〜(N−1) (12)
式(12)に従って算出された(N−1)個の差Dap(j)を、式(13)のように平均して、差の平均値Dap_avを算出する。
Dap_av
=(Dap(1)+Dap(2)+・・・Dap(N−1))/(N―1)
(13)
差の平均値Dap_avは、基準となる縦横比ASPECT(0)に対し、外接四角形の縦横比ASPECTがΔTの期間内にどの程度変動しているかを表しているので、ΔTの期間内における縦横比ASPECTの変化の大きさを表すものと考えることができる。
なお、他の手法で縦横比ASPECTの変化の大きさを調べてもよい。たとえば、モニタ期間ΔTにおける、M(0)の縦横比ASPECT(0)からM(N−1)の縦横比ASPECT(N−1)のN個の縦横比の推移を調べ、縦横比ASPECTの最大値と最小値の間の差の絶対値を、縦横比ASPECTの変化の大きさを表すものとして用いてもよい。さらなる代替手法として、差Dap(j)の最大値と最小値の間の差の絶対値を、縦横比ASPECTの変化の大きさを表すものとして用いてもよい。
ステップS44において、モニタ期間ΔTにおける外接四角形の上部領域(図16のMu)における対象物形状の変化の大きさを調べる。この実施例では、最新の外接四角形M(0)の上部領域に撮像されている対象物の形状と、メモリから探索された外接四角形M(j)(j=1〜N−1)の上部領域に撮像されている対象物の形状との差を調べる。
この差は、任意の適切な手法により調べることができ、一例を述べると、周知の形状マッチングの手法を用いて、外接四角形M(0)の上部領域における対象物形状と、外接四角形M(j)の上部領域における対象物形状との間の相関をとり、該相関の高さを表す値Eを算出する。該算出された相関の高さを表す値Eが大きいほど、両者の形状の差が大きいことを示す。
具体的には、外接四角形M(0)の上部領域の画像を基準画像とし、これを、外接四角形M(j)の上部領域の画像(これを、対象画像と呼ぶ)に位置合わせする。なお、両方の画像は、2値画像である。位置合わせは、たとえば、外接四角形M(0)の中心(外接四角形の対角線の交点)と外接四角形M(j)の中心とを合わせることができる。代替的に、外接四角形M(0)について前述したように算出された対象物の位置を表す重心G(0)の位置と、外接四角形M(j)について同じく算出された対象物の位置を表す重心G(j)の位置とを合わせてもよい。
外接四角形M(0)の基準画像の画素数をP×Q個とし、各画素の座標を(p,q)で表す。式(14)に示すように、位置合わせした状態で、基準画像の各画素の輝度値I0(p,q)と、外接四角形M(j)の対象画像の対応する画素の輝度値Ij(p,q)との差の絶対値の和Eu(j)を算出する。なお、基準画像における或る画素について、対応する画素が対象画像に存在しない場合(たとえば、基準画像の画素数が対象画像の画素数より多い場合等)には、Ijに黒値(1)を設定することができる。和Eu(j)は、両者の相関の程度を表しており、ここでは総和値と呼ぶ。
総和値Eu(j)は、最新の外接四角形M(0)の上部領域に撮像されている対象物の形状と、過去の外接四角形M(j)の上部領域に撮像されている対象物の形状との差を表している。総和値Euが高いほど、両者の間の差が大きいことを示す。
式(14)により、(N−1)個の総和値Eu(j)を、式(15)のように平均して、総和値の平均値Eu_avを算出する。
Eu_av=(Eu(1)+Eu(2)+・・・Eu(N−1))/(N―1)
(15)
総和値の平均値Eu_avは、基準となる外接四角形M(0)の上部領域における対象物形状に対し、外接四角形の上部領域における対象物形状がΔTの期間内にどの程度変動しているかを表しているので、ΔTの期間内における上部領域の対象物形状の変化の大きさを表すものと考えることができる。平均値Eu_avが大きいほど、変化の大きさが大きいことを表している。
なお、他の手法で、上部領域における対象物形状の変化の大きさを調べてもよい。たとえば、ΔTの期間における総和値Eu(0)からEu(N−1)のN個の総和値の推移を調べ、該総和値の最大値と最小値の間の差の絶対値を、上部領域における対象物形状の変化の大きさを表すものとして用いてもよい。
上記相関を取るに際し、代替的に、上記位置合わせした状態から、基準画像を、対象画像に対して所定範囲内で走査し、各走査位置において上記総和値Eu(j)を算出し、最小となる総和値を用いるようにしてもよい。走査により、基準画像と対象画像との間で大きさにずれがある場合でも、両者の相関を、より良好な精度で取ることができる。
ステップS45において、モニタ期間ΔTにおける外接四角形の下部領域(図16のMl)における対象物形状の変化の大きさを調べる。この実施例では、最新の外接四角形M(0)の下部領域に撮像されている対象物の形状と、メモリから探索された外接四角形M(j)の下部領域に撮像されている対象物の形状との差を調べる。これは、ステップS44で外接四角形の上部領域について算出したのと同様の手法で算出され、よって説明を省略する。これにより、下部領域について相関を表す総和値El(j)が算出されると共に、ΔTの期間内の外接四角形の下部領域における対象物形状の変化の大きさを表す該総和値の平均値El_avが算出される。平均値El_avが大きいほど、変化の大きさが大きいことを表している。
ステップS44について述べたのと同様に、他の手法で、下部領域における対象物形状の変化の大きさを調べてもよい。たとえば、総和値El(0)からEl(N−1)のN個の総和値の推移を調べ、該総和値の最大値と最小値の間の差の絶対値を、上記下部領域の対象物形状の変化の大きさを表すものとして用いてもよい。
なお、ステップS43およびS44の形状マッチングは、代替的に、グレースケール画像を用いて行ってもよい。
次に、ステップS46において、ステップS43で算出した縦横比ASPECTの変化の大きさが小さいかどうかを判断する。この実施例では、差の平均値Dap_avが所定値以下かどうかを判断する。このステップは、前述した1)を判定するための処理である。したがって、所定値は、シミュレーション等を介して、歩行者と動物とを区別することが可能なような値に予め設定されている。差の平均値Dap_avが所定値以下ならば、モニタ期間ΔTにおける縦横比ASPECTの変化の大きさが小さいことを示し、ステップS47に進む。差の平均値Dap_avが所定値より大きければ、縦横比ASPECTの変化の大きさが大きいことを示す。この場合、移動対象物は、歩行者を表す可能性が高く、四足動物ではないと判定する(S49)。
ステップS47において、ステップS44で算出した外接四角形の上部領域における対象物形状の変化の大きさが小さいかどうかを判断する。この実施例では、総和値の平均値Eu_avが所定値以下かどうかを判断する。このステップは、前述した2)を判定するための処理である。したがって、該所定値は、シミュレーション等を介して、歩行者と動物とを区別することが可能なような値に予め設定される。モニタ期間ΔTにおける総和値の平均値Eu_avが所定値以下ならば、上部領域の対象物形状の変化が小さいことを示し、ステップS48に進む。総和値の平均値Eu_avが所定値より大きければ、上部領域の対象物形状の変化が大きいことを示す。この場合、移動対象物は、歩行者を表す可能性が高く、四足動物ではないと判定する(S49)。
ステップS48において、ステップS45で算出した外接四角形の下部領域における対象物形状の変化の大きさが大きいかどうかを判断する。この実施例では、総和値の平均値El_avが所定値以上かどうかを判断する。このステップは、前述した3)を判定するための処理である。したがって、該所定値は、シミュレーション等を介して、自動車のような人工の可動物と動物とを区別することが可能なような値に予め設定される。モニタ期間ΔTにおける総和値の平均値El_avが所定値以上ならば、下部領域の対象物形状の変化が大きいことを示し、ステップS50に進む。総和値の平均値El_avが所定値より小さければ、下部領域の対象物形状の変化が小さいことを示す。この場合、移動対象物は、自動車などの人工の可動物を表す可能性が高く、四足動物ではないと判定する(S49)。
こうして、ステップS46〜S48のすべての判断がYesであるとき、すなわち、モニタ期間ΔTにおいて、外接四角形の縦横比の変化の大きさは小さく、外接四角形の上部領域に撮像されている対象物の形状の変化の大きさは小さく、かつ、外接四角形の下部領域に撮像されている対象物の形状の変化の大きさが大きいとき、対象物は四足動物であると判定する(S50)。四足動物であると判定されたならば、対象物は注意喚起対象であると判定される。
他方、四足動物ではないと判定された場合には、対象物が歩行者であるかどうかを、さらに他の手法で判定してもよい。
前述したように、四足動物であると判定されたならば、図3のステップS25の警報判定処理において、警報を実際に出力するかどうかを判定する。この判定処理について説明する。
この実施例では、ブレーキの操作に応じて、警報出力を実際に行うかどうかを判断する。具体的には、ブレーキセンサ7の出力から、車両10の運転者がブレーキ操作を行っているか否かを判別し、ブレーキ操作を行っていなければ、警報出力を行う。ブレーキ操作を行っている場合には、それによって発生する加速度Gs(減速方向を正とする)を算出し、加速度Gsが所定の閾値GTH以下(Gs≦GTH)であるときは、警報出力を行い、Gs>GTHであるときは、ブレーキ操作により衝突が回避されると判定して処理を終了する。これにより、適切なブレーキ操作が行われているときは、警報を発しないようにして、運転者に余計な煩わしさを与えないようにすることができる。しかしながら、代替的に、ブレーキ操作について判定することなく警報を発するようにしてもよい。
ここで、閾値GTHは、式(16)のように定めることができる。これは、ブレーキ加速度Gsがそのまま維持された場合に、距離Zv(0)以下の走行距離で車両10が停止する条件に対応する値である。
警報出力は、スピーカ3を介して音声による警報を発するとともに、図18に示すように、HUD4により、例えばカメラ1Rにより得られる画像を画面4aに表示し、移動している四足動物を強調表示する。強調表示は任意の手法でよく、たとえば、色のついた枠で囲んで強調することができる。こうして、衝突の可能性の高い移動動物を、運転者はより確実に認識することができる。なお、警報および画像表示のいずれか一方を用いて警報出力を行ってもよい。
なお、警報判定処理は、移動している四足動物だけでなく、前述したように、歩行者のように注意喚起対象と判断された対象物について行うことができる。
上記の実施例では、ステップS41において移動対象物と判断した時の該移動対象物の位置Pv(0)に対応する撮像画像の外接四角形M(0)を基準とし、これよりも過去の撮像画像の外接四角形M(j)を対象に、四足動物の判定処理を行っている。代替的に、移動対象物と判断した時とは異なる時点の撮像画像の外接四角形を基準としてもよい。たとえば、判断された移動対象物について、位置Pv(5)に対応する撮像画像の外接四角形M(5)を基準とし、これに対して未来の位置Pv(0)〜Pv(4)の撮像画像および過去の位置Pv(6)〜Pv(N−1)の撮像画像を対象に、縦横比ASPECT、上部形状および下部形状の時系列変化を調べるようにしてもよい。
また、上記の実施例では、より良好な精度で四足動物を判定するため、基準画像と比較される画像の個数は複数(N個)であるが、代替的に1個でもよい。その場合、今回の撮像画像の外接四角形と、たとえば、所定時間前の撮像画像の外接四角形との間で、縦横比ASPECT、上部形状および下部形状を比較し、両者の間の変化の大きさを求めることができる。
さらに、上記の実施例では、相対移動ベクトルを用いて、対象物がX方向に移動しているかどうかを判断した。代替的に、より簡単に、前述したP(0)のX座標とP(N−1)のX座標との間の差の絶対値が所定値THxより大きいかどうかを調べ、大きければ移動対象物と判断するようにしてもよい。
さらに、上記の実施例では、対象物が領域AR1〜AR3(図15)のどこに存在していても、同じ手法で、対象物がX方向に移動しているかどうかを判断している。代替的に、領域毎に判断手法を変更してもよく、たとえば、最新の対象物の位置Pv(0)が、接近判定領域AR1にあり、かつ、上記ステップS41の所で述べたようにX方向に移動していると判断されたならば、図17の判定プロセスを行うようにしてもよい。他方、最新の対象物の位置Pv(0)が侵入判定領域AR2にある場合には、移動方向が、X軸の正から負の方向であるかどうかを調べ(すなわち、Xv(N−1)>Xv(0))、そうであれば、図17の判定プロセスを行う。すなわち、対象物が領域AR2に存在する場合、負から正の方向への移動は、対象物が車両10から離れていくことを示しているので、この場合には、四足動物の判定処理を行わないようにするものである。反対に、最新の対象物の位置Pv(0)が侵入判定領域AR3にある場合には、移動方向が、X軸の負から正の方向であるかどうかを調べ(すなわち、Xv(N−1)<Xv(0))、そうであれば、図17の判定プロセスを行う。すなわち、対象物が領域AR3に存在する場合、正から負の方向への移動は、対象物が車両10から離れていくことを示しているので、この場合には、四足動物の判定処理を行わないようにするものである。このように、領域毎に、判定手法を変更してもよい。
なお、本発明は、上記の実施形態に限られるものではなく、様々な変形形態が可能である。たとえば、上記実施形態では、撮像手段として赤外線カメラを使用したが、例えば通常の可視光線のみ検出可能なテレビカメラを使用してもよい(たとえば、特開平2−26490号公報)。しかしながら、赤外線カメラを用いることにより、対象物の抽出処理をより簡略化することができ、演算負荷を低減することができる。
以上のように、この発明の特定の実施形態について説明したが、本願発明は、これら実施形態に限定されるものではない。