図1~図18は本実施の形態の実施例1を示すものである。本実施例1は、例えば、車両10の後方の移動物体を検出して、後退駐車時に車両10が移動物体と接触する可能性が生じた場合に、車両10に制動をかけて停止させ得るようにする車両挙動制御装置100aに対して車両用外界認識装置50aを適用したものである。但し、車両挙動制御装置100aは、車両10の前方や側方や全方位の移動物体を検出して、車両10が移動物体と接触する可能性が生じた場合に、車両10に制動をかけて停止させ得るように構成しても良い。
図1は、車両挙動制御装置100aを備えた車両10の一例を示す図である。車両挙動制御装置100aが搭載された車両10には、その後部ライセンスプレート付近に、後方へ向けて略水平に後方カメラ12が設置されており、後方カメラ12によって路面を含む後方観測範囲12aの画像を観測できるようにしている。このとき、車両10の直近から遠方までの範囲を、左右の広範囲に亘って観測できるようにするために、後方カメラ12には魚眼レンズに代表される画角の広いレンズが装着されている。
(車両挙動制御装置のハードウェア構成の説明)
図2を用いて本実施例の車両挙動制御装置のハードウェア構成について説明する。本実施例に係る車両挙動制御装置100aは、車両10に搭載されて、車両10の後方に存在する歩行者や他車両等の移動物体(または物体)を認識する車両用外界認識装置50aと、車両用外界認識装置50aによって認識された移動物体の位置に基づいて車両10の制動制御を行う車両挙動制御部80とからなる。
車両用外界認識装置50aは、後方カメラ12と、カメラインタフェース14とを備えている。また、車両用外界認識装置50aは、車輪速センサ20と、操舵角センサ22と、イルミネーションセンサ201と、センサインタフェース24とを備えている。更に、車両用外界認識装置50aは、画像処理ECU18と、メモリ26とを備えている。
一方、車両挙動制御部80は、車両挙動制御ECU30と、ブレーキアクチュエータ36と、表示制御部32と、モニタ34とを備えている。
そして、車両挙動制御装置100aには、車両用外界認識装置50aや車両挙動制御部80の各部間で必要な情報の受け渡しを行うための、CANバス等からなるシステムバス16が備えられている。
ここで、後方カメラ12は、車両10の後方の路面を含む画像を撮像する。後方カメラ12で撮像された画像は、カメラインタフェース14とCANバス等で構成されたシステムバス16とを経て、画像の認識処理を実行する画像処理ECU18へ送られる。また、車両10には、車輪速を検出する車輪速センサ20や、操舵角を検出する操舵角センサ22や、自車両のヘッドライトやウィンカーといった灯火類の点灯状態を得るためのイルミネーションセンサ201などのセンサが設けられており、これらのセンサからの出力は、センサインタフェース24とシステムバス16とを介して画像処理ECU18へ送られる。
画像処理ECU18では、後述する画像処理を実行して、歩行者や他車両等の移動物体を検出する。この際、画像処理の途中経過や結果などの必要な情報の全てはメモリ26に一時記憶される。なお、メモリ26は、独立した1つの構成となっているが、画像処理ECU18の各部に分散して配置するような構成などとしても良い。
画像処理ECU18での画像処理によって検出された移動物体の位置情報は、システムバス16を介して車両挙動制御部80へ送られる。そして、車両挙動制御部80では、車両10の挙動を制御する車両挙動制御ECU30によって、車両10と移動物体とが接触する可能性の有無の判定が行われる。接触の可能性があるときには、車両挙動制御ECU30は、表示制御部32を介して車両10に設置されたモニタ34に必要な警報や警告を出力し、車両10の運転者に注意喚起を行う。また、車両挙動制御ECU30によって、接触が避けられないと判定されたときには、車両挙動制御ECU30は、車両10の制動力を発生させるブレーキアクチュエータ36を駆動して車両10の制動を行う。
(車両挙動制御装置の機能構成の説明)
図3を用いて本実施例の車両挙動制御装置100aの機能構成について説明する。図3は車両挙動制御装置100aの機能構成を示す機能ブロック図である。
車両用外界認識装置50aは、後方カメラ12と、後方カメラ12で撮像した画像をデジタル情報に変換して原画像I(x,y,t)として取得する画像取得部52とを有している。また、車両用外界認識装置50aは、異なる時刻に取得された2枚の原画像の中から移動物体を検出する動き領域検出部54(実施例の第1物体検出部、または、請求項の第2の物体検出部)と、原画像I(x,y,t)を真上から見下ろした俯瞰画像J(x,y,t)に変換する俯瞰画像生成部56と、異なる時刻に取得された2枚の原画像からそれぞれ生成された2枚の俯瞰画像同士の差分演算を行って移動物体を検出する差分演算部58(実施例の第2物体検出部、または、請求項の物体検出部)と、を有している。
そして、車両用外界認識装置50aは、動き領域検出部54(第1物体検出部)で検出された物体を検証して、物体に含まれる「みかけの動き」を検出する動き領域検証部202(実施例の第1物体検証部、または、請求項の第2の物体検証部)、および、差分演算部58(第2物体検出部)で検出された物体を検証して、物体に含まれる「みかけの動き」を検出する差分領域検証部203(実施例の第2物体検証部、または、請求項の物体検証部)と、を有している。動き領域検証部202(第1物体検証部)には、イルミネーションセンサ201からの信号が入力される。
なお、動き領域検出部54(実施例の第1物体検出部、または、請求項の第2の物体検出部)と、動き領域検証部202(実施例の第1物体検証部、または、請求項の第2の物体検証部)と、差分演算部58(実施例の第2物体検出部、または、請求項の物体検出部)と、差分領域検証部203(実施例の第2物体検証部、または、請求項の物体検証部)とは、実施例と請求項とで、出現順が反対になっているため、第1と第2の付け方が逆になっている。
更に、車両用外界認識装置50aは、動き領域検出部54で検出され、動き領域検証部202(第1物体検証部)で「みかけの動き」が除去された物体と、差分演算部58で検出され、差分領域検証部203(第2物体検証部)で「みかけの動き」が除去された物体とが同一の移動物体であるか否かを判定する検出物体判定部60と、検出物体判定部60において同一の移動物体であると判定されたときに、その移動物体の存在位置を特定する移動物体位置特定部62とを有している。加えて、車両用外界認識装置50aは、車輪速センサ20が検出した車両10の車輪速と、操舵角センサ22が検出した車両10の操舵角とを取得する車両情報取得部64とを有している。
一方、車両挙動制御部80は、車両10と移動物体との接触可能性を判定する接触判定部82と、車両10と移動物体との接触可能性があるときにこれを警報する警報出力部84と、車両10と移動物体との接触が避けられないときに車両10に制動をかけて停止させる制動制御部86とを有している。
(原画像からの物体検出方法の説明)
図4,図5Aから図5Bを用いて、動き領域検出部54(第1物体検出部)において行われる、原画像から物体を検出する方法について説明する。
図4は、動き領域検出部54の詳細な内部構成を示す機能ブロック図である。動き領域検出部54は、図5Aに示すような原画像I(x,y,t)を、路面から垂直に起立して、車両10の左右方向と平行な方向(後方カメラ12の受光面と平行な方向)へ拡がる仮想的な平面に投影した図5Bに示すような平面投影画像Ip(x,y,t)(投影画像)に変換する平面歪み補正部54a(歪み補正部)を有する。なお、原画像I(x,y,t)は、実施例2で説明するように、路面に垂直に立てた仮想的な円筒面に投影した円筒面投影画像Ic(x,y,t)(投影画像、図5C)などに変換することもできる。そのため、図5Bのような平面投影画像と図5Cのような円筒面投影画像とを合わせて広義の平面投影画像ということができるものとする。
また、動き領域検出部54は、時刻tに撮像された原画像I(x,y,t)から生成された平面投影画像Ip(x,y,t)と、時刻t-Δtに撮像された原画像I(x,y,t-Δt)から生成された平面投影画像Ip(x,y,t-Δt)とからオプティカルフローを検出するオプティカルフロー検出部54bを有する。
さらに、動き領域検出部54は、車輪速センサ20および操舵角センサ22が出力する車両10の車輪速と操舵角の、時刻t-Δtから時刻tまでの間の変化に基づいて、時間Δtの間の車両10の移動に伴って発生すると予想されるオプティカルフローを算出する車両挙動フロー算出部54cを有する。
そして、動き領域検出部54は、オプティカルフロー検出部54bで検出されたオプティカルフローと、車両挙動フロー算出部54cで算出されたオプティカルフローに基づいて物体を検出する物体検出部54dを有する。なお、ここで、時間Δtは使用するハードウェアの性能に応じた値、例えば数十msecの値などに設定される。
ここで、上記したように後方カメラ12には画角の広いレンズが装着されているため、後方カメラ12で観測された原画像I(x,y,t)は、図5Aに示すように、特に画像の辺縁部において大きな歪曲を有している。ここで、原画像I(x,y,t)の中に歩行者X1と歩行者X2が写っていたとすると、原画像I(x,y,t)の辺縁部で観測される歩行者X2は、斜めに傾いて写る。後述するように、歩行者は矩形領域として検出されるため、原画像I(x,y,t)をそのまま処理すると、検出される歩行者X2の位置と幅にずれが生じてしまう。そこで、平面歪み補正部54aにおいて、この歪曲を取り除く処理を行う。
具体的には、平面歪み補正部54aは、原画像I(x,y,t)を、路面から垂直に起立して、車両10の左右方向と平行な方向に拡がる仮想的な平面に投影して、図5Bに示す平面投影画像Ip(x,y,t)(投影画像)を生成する。この仮想的な平面への投影処理によって、原画像I(x,y,t)の中に生じていた歪曲を取り除くことができ、原画像I(x,y,t)の辺縁部で観測される歩行者X2は直立した状態に変換される。そして、この平面投影画像Ip(x,y,t)の中から歩行者X1,X2を検出することによって、歩行者X1,X2の位置と幅を正確に特定することができる。
平面投影画像Ip(x,y,t)の生成は、予め用意された歪み補正テーブルを用いて行う。この歪み補正テーブルは、歪み補正前の原画像の座標と歪み補正後の平面投影画像の座標の対応関係をテーブル化したものである。なお、歪み補正テーブルは、いわゆるキャリブレーションを行うことによって、予め生成して平面歪み補正部54aに記憶しておく。
図6Aから図6Cは、動き領域検出部54の作用を説明する図である。図6Aは時刻t-Δtにおいて後方カメラ12(図2)が撮像した原画像I(x,y,t-Δt)から平面歪み補正部54aによって得られた平面投影画像Ip(x,y,t-Δt)の一例である。この平面投影画像Ip(x,y,t-Δt)の中には歩行者X1と駐車枠線Yが写っているものとする。
図6Bは、時刻tにおいて後方カメラ12(図2)が撮像した原画像I(x,y,t)から平面歪み補正部54aによって得られた平面投影画像Ip(x,y,t)の一例である。図6Bと図6Aを比較すると、歩行者X1は時間Δtの間に(画像の右方へ向かって)前進していることがわかる。また、駐車枠線Yの位置が手前側へ変位していることから、車両10が時間Δtの間に後方へ移動していることがわかる。
図6Cは、オプティカルフロー検出部54bが、平面投影画像Ip(x,y,t-Δt)と平面投影画像Ip(x,y,t)とを比較することによって検出した、歩行者の移動に伴って発生したオプティカルフローのみを示す図である。
なお、平面投影画像Ip(x,y,t-Δt)と平面投影画像Ip(x,y,t)とを比較した場合、車両10の移動に伴って発生するオプティカルフローも存在することになる。車両10の移動に伴って発生するオプティカルフローは、車両挙動フロー算出部54cが、時間Δtの間の車両の挙動(車輪速と操舵角)を積分することによって予測することができる。図6Cに示すオプティカルフローOpは、このようにして予測した車両10の動きに伴って発生するオプティカルフローを物体検出部54dで除いて、それとは異なる方向を有するオプティカルフローOpのみを検出した結果を示している。すなわち、図6Cは、車両10の移動に伴うオプティカルフロー(駐車枠線Yの移動を示すオプティカルフロー)が抑制されて、歩行者の移動を表したオプティカルフローOpのみが検出された状態を示している。
このようにして検出されたオプティカルフローOpを物体検出部54dで分析して、同一方向に同一量だけ移動している領域を統合することで、ひとつの物体(移動物体)であると認識することができる。なお、異なる時刻に撮像された2枚の画像の中からオプティカルフローOpを検出する方法は、広く一般に用いられている。ごく簡単に説明すると、一方の画像を複数の小領域(一方の小領域)に分割して、各小領域と濃淡値の分布がよく似ている小領域(他方の小領域)を、他方の画像の中から探索する処理を行って、対応付けられた一方の小領域がオプティカルフローの始点とされて、他方の小領域がオプティカルフローの終点とされる。
より詳細には、まず、オプティカルフロー検出部54bは、平面投影画像Ip(x,y,t-Δt)の中から輝度勾配の大きな点を特徴点として検出する。具体的には、平面投影画像Ip(x,y,t-Δt)に対して、着目する画素の近傍に小領域を設定して、輝度勾配を表す量として、設定した小領域の内部におけるエッジ強度を求めるオペレータを作用させて、求めたエッジ強度が所定値よりも大きい画素を特徴点とする。このとき、併せて、同じ画素におけるエッジ方向も算出しておく。
次に、平面投影画像Ip(x,y,t-Δt)の中から検出した特徴点と同じ輝度勾配を有する画素(対応点)を、平面投影画像Ip(x,y,t)の中から探索する。この処理は、平面投影画像Ip(x,y,t)の中に、所定の大きさの探索範囲を設定して、設定した探索範囲の中で、平面投影画像Ip(x,y,t-Δt)の中から検出した特徴点と同じ輝度勾配(エッジ強度とエッジ方向)を有する画素を探索することによって行われる。
次に、エッジ強度の近似度とエッジ方向の近似度に、それぞれ閾値(しきい値)を設けて、エッジ強度の差異とエッジ方向の差異が、ともに、それぞれ設定されたしきい値以内であるときに、対応点が見つかったと判定する。対応点が探索されないときは別の特徴点の検出を行う。
次に、平面投影画像Ip(x,y,t-Δt)の中から検出した特徴点を始点とし、平面投影画像Ip(x,y,t)の中から見つけた対応点を終点とするオプティカルフローを決定する。このようにして検出されたオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー検出部54bによってメモリ26に記憶される。
上記した特徴点の検出処理を、平面投影画像Ip(x,y,t-Δt)の全ての画素に対して行う。なお、オプティカルフローの算出方法は、上記したものに限定されるものではない。すなわち、オプティカルフローの検出方法は、数多く提案されており、既知となっているいずれの方法を用いて行ってもよい。
このようにして検出されたオプティカルフローの終点を構成する小領域のうち、オプティカルフロー同士が近接して、同じ方向を向いて同じ長さを有しているときに、これら複数のオプティカルフローの終点となる小領域をグルーピングにより併合して、ひとつの物体を表す領域(矩形領域)として検出する。
より詳細には、オプティカルフロー検出部54bは、オプティカルフローの算出結果から得られたフローの始点の座標、終点の座標、フローの長さを読み出して、フローベクトルのグルーピングを行う。この処理は、近接した位置で検出された、オプティカルフローを統合するものである。具体的には、予め設定したサイズの領域の中にあるオプティカルフロー同士を比較して、長さがともに所定値以上で、なおかつ、方向の差が所定値以下であるとき、オプティカルフロー同士をグルーピングする。そして、上記したグルーピングを、画像上の全オプティカルフローベクトルについて行う。その後、グルーピングされたオプティカルフローが画面上で所定の大きさがある場合に物体であると判定する。
図7は、このようにして検出された物体を表す領域の一例である。図に示すように、歩行者X1の領域が物体として検出されて、歩行者X1に外接する矩形領域R1の位置が動き領域検出部54に記憶される。なお、複数の物体が検出されたときには、各物体に外接する複数の矩形領域Ri(i=1,2,…)が検出されて、それぞれの矩形領域Riの位置が動き領域検出部54によってメモリ26に記憶される。
図8は、動き領域検出部54(物体検出部54d(図4))によって記憶される物体の位置と大きさの記憶形式について説明する図である。図8に示すように、矩形領域Ri(i=1,2,…)の番号とともに、各矩形領域の左上の頂点座標(sxi,syi)と右下の頂点座標(exi,eyi)が、それぞれメモリ26に記憶される。
(俯瞰画像からの物体検出方法の説明)
次に、図9と図10Aから図10Cを用いて、差分演算部58(第2物体検出部)において行われる、俯瞰画像から物体を検出する方法について説明する。
図9は差分演算部58の詳細構成を示す機能ブロック図である。差分演算部58は、俯瞰画像位置合わせ部58aと、差分演算実行部58bと、物体検出部58cとを有している。
図10Aから図10Cは、差分演算部58の作用を説明する図である。図10Aは時刻t-Δtにおいて後方カメラ12が撮像した原画像I(x,y,t-Δt)または平面歪み補正部54aで生成した平面投影画像Ip(x,y,t-Δt)(図6A)などの投影画像を、俯瞰画像生成部56(図2)において俯瞰画像J(x,y,t-Δt)に変換した結果の一例である。図に示すように、歩行者X1(図6A)は、俯瞰画像J(x,y,t-Δt)上では領域X1'に変換される。また、駐車枠線Y(図6A)は、俯瞰画像J(x,y,t-Δt)上では領域Y'に変換される。なお、俯瞰画像J(x,y,t-Δt)への変換は、予め俯瞰画像生成部56に記憶された座標変換テーブル(非図示)を用いて行う。この座標変換テーブルには、原画像または平面投影画像などの投影画像の座標と俯瞰画像の座標との対応関係が記憶されている。なお、この座標変換テーブルに、前述した歪曲を補正する歪み補正テーブルの機能を盛り込んで、原画像または平面投影画像などの投影画像を俯瞰画像に変換する際に、併せて歪曲を補正してもよい。
図10Bは、時刻tにおいて後方カメラ12(図2)が撮像した原画像I(x,y,t)(図5A)または平面投影画像Ip(x,y,t)(図6B)などの投影画像を俯瞰画像J(x,y,t)に変換した結果の一例である。図10Bに示すように、歩行者X1(図6B)の移動に伴って領域X1'の位置が移動している。また、図10Bと図10Aを比較すると、車両10の移動に伴って駐車枠線Y(図6B)に対応する領域Y'の位置も移動している。
図10Cは、差分演算実行部58bにおいて、俯瞰画像J(x,y,t)から俯瞰画像J(x,y,t-Δt)を差し引く差分演算(フレーム差分)を行った結果を示す画像である。差分演算を行う際には、時間Δtの間の車両の挙動に伴って発生する路面の移動を抑制するために、予め俯瞰画像位置合わせ部58aにおいて、車両の挙動(車輪速と操舵角の変化)から予測される俯瞰画像の路面領域の移動量と移動方向に基づいて、俯瞰画像J(x,y,t-Δt)を座標変換して、俯瞰画像J(x,y,t)と位置合わせをしておく。
すなわち、差分演算の結果を示す図10Cの画像においては、俯瞰画像J(x,y,t)と俯瞰画像J(x,y,t-Δt)の間で駐車枠線Yに対応する領域Y'の位置が一致するため、領域Y'の情報は抑制されて、歩行者に対応する領域X1'の移動に対応する領域のみが検出される。
次に、物体検出部58cにおいて、差分演算の結果得られた画像(図10C)の中から物体の検出を行う。
具体的には、俯瞰画像同士の差分演算によって得られた結果を所定のしきい値で2値化して、抽出された領域を、物体を表す領域とする。なお、検出された領域にはラベル付けを行い、さらに各領域Xj'(j=1,2,…)の重心位置を計算して、個々の領域を識別できるようにしておく。
図10Dは、物体検出部58cによってメモリ26に記憶される物体の位置の記憶形式について説明する図である。図に示すように、検出された領域の番号とともに、物体として検出された各領域Xj'(j=1,2,…)の重心位置の水平座標gxj(j=1,2,…)と垂直座標gyj(j=1,2,…)がそれぞれメモリ26に記憶される。
以上により、動き領域検出部54(第1物体検出部)と差分演算部58(第2物体検出部)とによって、それぞれ異なる手法で別個に物体が検出される。
(「見かけの動き」の除去について)
例えば、図11Aに示すような、車両10の排気ガス中に含まれる水蒸気200のように、画像には映るものの、物体(例えば、障害物などのようなもの)としての実体はなく、しかも、その形状が時々刻々と変化するような性質のものが存在している。このようなものは、画像上の見かけが変化することによって、上記したような画像処理の際に、動く物体として認識されてしまうことがある。そのため、このような実体がないのに動いているようなもののことを、「見かけの動き」と呼ぶことにする。
そして、動き領域検出部54(第1物体検出部)で検出された物体や、差分演算部58(第2物体検出部)で検出された物体の中にも、このような「見かけの動き」が含まれている可能性がある。そのため、検出された物体に「見かけの動き」が含まれているか否かを探し出して、含まれている場合には、検出された物体から「見かけの動き」を除外する必要がある。そこで、図3に示すように、動き領域検出部54(第1物体検出部)に対して動き領域検証部202(第1物体検証部、または、請求項の第2の物体検証部)を設けると共に、差分演算部58(第2物体検出部)に対して差分領域検証部203(実施例の第2物体検証部、または、請求項の物体検証部)を設けて、それぞれが、検出した物体から「見かけの動き」を個別に排除できるようにしている。
(オプティカルフローから検出した物体に対する「見かけの動き」の除去について)
図11Bは、動き領域検出部54(第1物体検出部)で検出された物体から水蒸気200などによる「見かけの動き」を除去する動き領域検証部202(第1物体検証部)である。
動き領域検証部202(第1物体検証部)は、動き領域検出部54(第1物体検出部)で検出した物体の動き情報と輝度情報とに基づいて物体が「見かけの動き」であるか否かを判定する。動き領域検証部202(第1物体検証部)は、明暗判定手段202aと、コントラスト判定手段202b(または、低コントラスト領域判定手段)と、水蒸気判定手段202c(第2の結果判定部)と、判定結果出力手段202dとを有している。
明暗判定手段202aは、イルミネーションセンサ201からのヘッドライトやフォグランプなどの灯火信号や、照度センサ、時計情報などの車両情報を利用して、車両周囲の環境が暗い環境か否か、または暗くなっているであろう状況か否か、を判定する(昼夜判定または明暗判定)。そして、その判定結果(である明暗判定情報)を、コントラスト判定手段202bへ伝える。
例えば、昼間の水蒸気200は、薄いもやもやとした低コントラストの白煙として観測されることが多い。したがって、昼夜判定において昼間と判定されている場合、オプティカルフローにより「見かけの動き」があると判定された領域の輝度値が、一定時間以上連続して、不規則に変動しており、かつ局所領域内でのコントラストが一定値より低いと判定されたときには、この領域が水蒸気を撮像した領域(水蒸気領域)であると判定することができる。
これに対し、夜間の水蒸気200は、照明が当たっていない場合には、オプティカルフローが検知されない程度に見えにくいが、自車および他車のヘッドライトやウィンカー、街灯などの照明が当たった場合には、輝度値が上限付近の高輝度となることが多い。そこで、昼夜判定において夜間と判定されている場合、オプティカルフローにより「見かけの動き」があると判定された領域の輝度値が、取り得る輝度値の範囲の上限側から例えば10%以内に入る画素数が所定の面積割合以上あるときは、この領域が水蒸気領域であると判定することができる。
コントラスト判定手段202bは、画像取得部52で取得した画像(元画像または(平面)投影画像)に対して、局所領域内に含まれる画素の輝度値の平均値、または、輝度値の分散値の少なくとも一方の変動を算出し、明暗判定手段202aの明暗判定情報に基づいて判定を行う(以下、低コントラスト領域判定という)。
コントラスト判定手段202bは、まず、画像(元画像または(平面)投影画像)を所定のサイズの画像ブロックに分割し、各ブロック内の画素の輝度値の平均および輝度値の分散値を算出する。コントラスト判定手段202bは、次に、明暗判定手段202aの判定結果によって、判定閾値を切り替える。例えば、判定結果が昼間の場合には、薄い水蒸気200、すなわちはっきり見えない水蒸気200を検知するために、輝度値の分散値が低い領域を低コントラスト領域と判定する。また、判定結果が夜間の場合には、照明の当たって明るい水蒸気200を検知するために輝度値の平均値が高い領域を低コントラスト領域と判定する。
水蒸気判定手段202c(第2の結果判定部)では、コントラスト判定手段202bと、動き領域検出部54(第1物体検出部)との判定の結果に基づき、低コントラスト領域が水蒸気200の発生している領域か否かを判定する。例えば、明暗判定手段202aにより夜間であると判断され、かつ、輝度値の高い領域の周囲にのみオプティカルフローが出力されている場合には、これを水蒸気が発生している領域(水蒸気領域)として限定する判定を行う。
そして、水蒸気判定手段202c(第2の結果判定部)での水蒸気200などの「見かけの動き」の判定は、図11Cに示すように、水蒸気領域に対して、オプティカルフローの分散値(フロー分散値)と予め設定したしきい値との大小比較を行うことによって実施される。
歩行者などのような移動物体(物体)の場合、動きの方向が比較的一定になるため、フロー分散値が小さくなる傾向にある。これに対し、排気ガス中に含まれる水蒸気200などのような「見かけの動き」の場合には、動きの方向に一定性がない場合が多いため、フロー分散値が大きくなる傾向にある。このような違いから、しきい値として、移動物体(物体)と「見かけの動き」とを確実に切り分けることができる最適な値が存在することになる。最適なしきい値は、例えば、トライアンドエラーなどによって最適な値を予め得ておくようにする。
そして、水蒸気判定手段202c(第2の結果判定部)は、フロー分散値がしきい値よりも小さい場合(NO)には、検出された物体が歩行者などのような移動物体であると判断する。そして、検出結果をメモリ26に保存して、処理を終了する。また、フロー分散値がしきい値よりも大きい場合(YES)には、検出された物体が排気ガス中に含まれる水蒸気200などのような「見かけの動き」であると判断する。そして、検出結果を棄却または破棄して、処理を終了する。
これにより、検出された物体が「見かけの動き」であると判断された場合に、「見かけの動き」を物体から除外することができ、誤判断をなくして物体に対する検出精度を上げることが可能になる。
この動き領域検証部202(第1物体検証部)では、オプティカルフローの分散が比較的大きい「見かけの動き」を判定して、排気ガス中に含まれる水蒸気200を全般的に除外することができる。
そして、判定結果出力手段202dは、水蒸気判定手段202c(第2の結果判定部)が判定した「見かけの動き」およびその領域を除外して、残った物体を最終的に検出物体判定部60へ出力する。
この際、水蒸気判定手段202c(第2の結果判定部)で水蒸気などの「見かけの動き」を判定した後には、判定結果出力手段202dは、動き領域検出部54(第1物体検出部)へ処理を戻して、動き領域検出部54(第1物体検出部)で、オプティカルフローに基づく物体検出処理を行うようにしても良い。この場合、動き領域検出部54(第1物体検出部)で次の物体が検出されたら、検出された次の物体に対して動き領域検証部202(第1物体検証部)で、再び、次の物体に対する「見かけの動き」の検証を行うようにする。以降は、動き領域検出部54(第1物体検出部)と動き領域検証部202(第1物体検証部)との間で交互に同じ物体に対する処理を行いながら、全ての物体についての検証が終わるまで上記を繰り返すようにする。そして、全ての物体についての検証が終わったら、次の段階の検出物体判定部60へと移行する。
なお、上記は、動き領域検出部54(第1物体検出部)で物体を1つ検出するごとに、動き領域検証部202(第1物体検証部)で逐次「見かけの動き」か否かを検証して行く例となっているが、最初に、動き領域検出部54(第1物体検出部)で全ての物体を検出した後で、動き領域検証部202(第1物体検証部)で検出された各物体について、「見かけの動き」であるかどうかを順次検証して行くような、物体の検出と、「見かけの動き」の検証とを分離して行う構成にすることもできる。
この場合には、動き領域検証部202(第1物体検証部)での「見かけの動き」の検証終了後には、動き領域検出部54(第1物体検出部)へ戻らずに、次の段階の検出物体判定部60へと移行することになる。動き領域検証部202(第1物体検証部)は、要するに、動き領域検出部54(第1物体検出部)から検出物体判定部60までの間に処理が行われれば良く、例えば、動き領域検出部54(第1物体検出部)と検出物体判定部60との間に別の処理が入ったような場合でも同様となる。
(俯瞰画像から検出した物体に対する「見かけの動き」の除去について)
図11Dは、差分演算部58(第2物体検出部)で検出された物体から「見かけの動き」を除去する差分領域検証部203(第2物体検証部)である。
差分領域検証部203(第2物体検証部)は、第2物体検出部で物体が検出された複数枚の俯瞰画像、または、この俯瞰画像と対応する画像取得部52の画像を変換してなる複数枚の平面投影画像の差分量によって物体が「見かけの動き」であるか否かを検証する。差分領域検証部203(第2物体検証部)は、投影画像生成部203aと、差分処理部203bと、矩形枠設定部203cと、差分割合算出部203dと、結果判定部203eと、判定結果出力部203fとを有している。
差分領域検証部203(第2物体検証部)では、まず、投影画像生成部203aが、差分演算部58(第2物体検出部)で物体を検出した図11Eに示すような、複数枚の俯瞰画像(a)(b)、または、この俯瞰画像(a)(b)と対応する原画像(画像取得部52で取得した画像)から、図11Fに示すような、複数枚の平面投影画像(a)(b)を生成する。
この際、俯瞰画像(a)(b)から平面投影画像(a)(b)を直接生成できるのであれば、直接生成する。また、例えば、俯瞰画像生成部56で原画像から俯瞰画像(a)(b)を生成する際に、平面投影画像(a)(b)への変換に必要な情報が失われてしまって、平面投影画像(a)(b)に直接変換ができないような場合には、俯瞰画像生成部56で俯瞰画像(a)(b)を生成する際に元となった画像(原画像)を使って対応する平面投影画像(a)(b)を生成すると共に、俯瞰画像(a)(b)上の位置と平面投影画像(a)(b)上の位置とを対応付させるようにする。
なお、図11Eでは、複数枚の俯瞰画像(a)(b)の差分処理から得られた差分画像(c)に示されるように、排気ガスと歩行者とが物体として検出されている。この場合、平面投影画像(a)(b)は、(広義の)平面投影画像とすることができる。
平面投影画像への変換は、予め用意された座標変換テーブルを用いて行う。この座標変換テーブルは、座標変換前の画像(原画像または俯瞰画像)の座標と座標変換後の平面投影画像の座標の対応関係をテーブル化したものである。なお、座標変換テーブルは、いわゆるキャリブレーションを行うことによって、予め生成して平面画像変換部に記憶しておく。また、この座標変換テーブルには、前述した歪曲を補正する歪み補正テーブルの機能を盛り込んで、画像を平面投影画像に変換する際に、併せて歪曲を補正するのが好ましい。
このように平面投影画像を用いるのは、俯瞰画像だと、物体の足元位置やその周辺部分のみが強調された偏ったものとなってしまい、物体の正確な形状が分からないためである。俯瞰画像で物体を検出した後に、俯瞰画像と対応する平面投影画像を用いることによって、俯瞰画像で検出した物体の平面投影画像上の位置に、物体の正しい形状(を水平方向に見た形状)を示すことができる。
なお、画像の平面投影画像への変換は、基本的に動き領域検出部54で平面歪み補正部54aなどが原画像を平面投影画像に変換したのと同様の手法を用いることができる。または、投影画像生成部203aで画像を平面投影画画像へ変換する代わりに、動き領域検出部54の平面歪み補正部54aなどによって生成された平面投影画像を読み込んでそのまま使うようにしても良い。この場合には、平面歪み補正部54aが投影画像生成部203aとなる。
差分演算部58(第2物体検出部)は、次に、図11Fの(広義の)平面投影画像(a)(b)を用いて以下のような差分検証を行う。差分検証では、第一に、差分処理部203bが、時刻tとt-Δtのフレーム間における平面投影画像(a)(b)の差分処理を行う。平面投影画像(a)(b)の差分処理は、基本的に差分演算部58で物体の検出を行ったときと同様の手法で行われる。この際、差分演算部58で検出した物体の足元位置どうしを合わせることで、車両10の移動の影響を抑制させるようにする。
差分処理によって得られた平面投影画像(a)(b)の差分画像(c)は、平面投影画像(a)(b)同士の差分演算によって得られた結果を所定のしきい値で2値化した白黒の平面投影画像とされる。このような差分処理を行うことによって、平面投影画像(差分画像(c))の中で静止しているものと、動いているものとを確実に切り分けることができるようになる。
第二に、矩形枠設定部203cが、足元位置を元に、差分処理によって得られた平面投影画像(差分画像(c))に対して物体ごとに矩形枠R2、R3を設定する。足元位置は、俯瞰画像の差分処理(図11Eの差分画像(c))によって特定された物体(排気ガスおよび歩行者)の足元の位置を、平面投影画像(差分画像(c))に当て嵌めたときの平面投影画像(差分画像(c))上の位置のことである。
この際、矩形枠R2、R3は、実世界上における人間(歩行者)のサイズに設定されたものを使用する。そして、平面投影画像(差分画像)における物体の足元の位置に矩形枠R2、R3を当て嵌める。物体が複数ある場合、各物体に対してそれぞれ矩形枠R2、R3を当て嵌める。
なお、平面投影画像(a)(b)および差分画像(c)は、図5Bに示すのと同様の(狭義の)平面投影画像とすることができる。また、平面投影画像(a)(b)および差分画像(c)は、図5Cに示すのと同様の円筒面投影画像とすることができる。平面投影画像(a)(b)および差分画像(c)を、図5Bのような(狭義の)平面投影画像とした場合には、全ての矩形枠R2、R3は同じ大きさとなる。平面投影画像(a)(b)および差分画像(c)を、図5Cのような円筒面投影画像とした場合には、矩形枠R2、R3は位置によって大きさの異なるものとなる。
このように、矩形枠R2、R3を平面投影画像(差分画像(c))に当て嵌めることにより、検出された物体が人間(歩行者)の場合には、人間(歩行者)の大きさに合わせた矩形枠R2の内部に、検出された物体がほぼ完全に収められることになる。また、検出された物体が人間(歩行者)以外である場合には、人間(歩行者)の大きさに合わせた矩形枠R3の内部に、検出された物体(排気ガス)の主要部またはその一部が収められることになる。いずれの場合においても、検出された物体に対して人間の大きさを基準とした差分検証が行われることになる。
第三に、差分割合算出部203dが、矩形枠R2、R3内の差分の割合を算出する。この場合、矩形枠R2、R3内の差分をカウントすることで差分の割合が求められる。図の場合には、白領域がカウントされる。矩形枠R2、R3内のみについての差分の割合を求めることで、無駄なく処理を行って処理の高速化を図ることができる。
第四に、結果判定部203eが、「見かけの動き」の判定・検証を行う。「見かけの動き」の判定は、図11Gに示すように、差分の割合と予め設定したしきい値との大小比較を行うことによって実施される。
歩行者などのような移動物体(物体)の場合、比較的動きが大きいため、差分の割合が大きくなる傾向にある。これに対し、勢い良く排出される排気ガス中に含まれる水蒸気などのような「見かけの動き」の場合には、比較的動きが小さくなるため、差分の割合が小さくなる傾向にある。このような違いから、しきい値として、移動物体(物体)と「見かけの動き」とを確実に切り分けることができる最適な値が存在することになる。最適なしきい値は、例えば、トライアンドエラーなどによって最適な値を予め得ておくようにする。
そして、差分の割合がしきい値よりも大きい場合(NO)には、検出された物体が歩行者などのような移動物体(物体)であると判断する。そして、検出結果をメモリ26に保存して、処理を終了する。また、差分の割合がしきい値よりも小さい場合(YES)には、検出された物体が排気ガス中に含まれる水蒸気200などのような「見かけの動き」であると判断する。そして、検出結果を棄却または破棄して、処理を終了する。
これにより、検出された物体が「見かけの動き」であると判断された場合に、「見かけの動き」を物体から除外することができ、誤判断をなくして物体に対する検出精度を上げることが可能になる。
この差分領域検証部203(第2物体検証部)では、オプティカルフローの分散が少ない「見かけの動き」を正確に判定して、勢い良く排出される排気ガス中に含まれる水蒸気200のような、比較的特殊な状態の水蒸気を除外することができる。
そして、このような、勢い良く排出される排気ガス中に含まれる水蒸気200などのような「見かけの動き」は、動き領域検証部202(第1物体検証部)では検出するのが難しいものである。よって、動き領域検証部202(第1物体検証部)では検出できない「見かけの動き」を検出して、「見かけの動き」に対する検出精度を上げることが可能になる。
そして、最後に判定結果出力手段202dは、水蒸気判定手段202c(第2の結果判定部)が判定した「見かけの動き」を除外して残った物体を最終的に検出物体判定部60へ出力する。
この際、「見かけの動き」を判定した後には、差分演算部58(第2物体検出部)へ処理を戻して、差分演算部58(第2物体検出部)で、俯瞰画像の差分に基づく物体検出処理を行うようにしても良い。この場合、差分演算部58(第2物体検出部)で次の物体が検出されたら、検出された次の物体に対して差分領域検証部203(第2物体検証部)で、再び、次の物体に対する「見かけの動き」の検証を行うようにする。以降は、差分演算部58(第2物体検出部)と差分領域検証部203(第2物体検証部)との間で交互に同じ物体に対する処理を行いながら、全ての物体についての検証が終わるまで上記を繰り返すようにする。そして、全ての物体についての検証が終わったら、次の段階の検出物体判定部60へと移行する。
なお、上記は、差分演算部58(第2物体検出部)で物体を1つ検出するごとに、差分領域検証部で逐次「見かけの動き」か否かを検証して行く例となっているが、最初に、差分演算部58(第2物体検出部)で全ての物体を検出した後で、差分領域検証部で検出された各物体について、「見かけの動き」であるかどうかを順次検証して行くような、物体の検出と、「見かけの動き」の検証とを分離して行う構成にすることもできる。この場合には、差分領域検証部203(第2物体検証部)での「見かけの動き」の検証終了後には、差分演算部58(第2物体検出部)へ戻らずに、次の段階の検出物体判定部60へと移行することになる。差分領域検証部は、要するに、差分演算部58(第2物体検出部)から検出物体判定部60までの間に処理が行われれば良く、例えば、差分演算部58(第2物体検出部)と検出物体判定部60との間に別の処理が入ったような場合でも同様である。
(移動物体判定方法の説明)
図7と図12Aから図12Cを用いて、検出物体判定部60(図2)において行われる処理、すなわち、動き領域検出部54(第1物体検出部)で検出された物体と、差分演算部58(第2物体検出部)で検出された物体とが同一の移動物体であるか否かを判定する処理について説明する。この際、動き領域検証部202(第1物体検証部)および差分領域検証部203(第2物体検証部)で「見かけの動き」と判定された全てのものは物体から除外され、残ったもののみに対して判定処理が行われる。これにより、疑わしいものを排除して、同一の移動物体であるか否かの判定精度および判定速度を高めることができる。
動き領域検出部54(第1物体検出部)で検出された物体と、差分演算部58(第2物体検出部)で検出された物体とが同一の移動物体であるか否かを判定するために、まず、検出された各移動物体を代表する座標値を算出する。
すなわち、動き領域検出部54(第1物体検出部)で検出された物体から、物体位置座標として、図7に示す点F1(fx1,fy1)の座標値を算出する。この点F1は、物体に外接する矩形領域R1の下辺の中点に対応する点である。したがって、その水平座標はfx1=(sx1+ex1)/2で算出される。また、点F1の垂直座標はfy1=ey1で算出される。なお、複数の物体が検出されたときには、図8に示した記憶情報を参照して、複数の点Fi(fxi,fyi)(i=1,2,…)の座標値をそれぞれ算出する。ここで、点Fi(fxi,fyi)(i=1,2,…)の座標値は、動き領域検出部54で物体検出処理を行った際に併せて算出して、図8の情報と併せてメモリ26に記憶しておいてもよい。
次に、差分演算部58(第2物体検出部)で検出された物体から、検出された領域の重心座標(図10D)を用いて、図12Aから図12Cで説明する手順によって、物体を代表する座標値を算出する。
まず、図12Aに示すように、俯瞰画像同士の差分結果を示す画像の中に、後方カメラ12(図2)の位置を表す後方カメラ位置C(cx,cy)を設定する。この後方カメラ位置Cは、俯瞰画像の表示範囲内で一意に決定される。図12Aの例では、俯瞰画像の下辺上に設置されているものとする。なお、移動物体を表す領域X1'の重心点G1の座標はG1(gx1,gy1)であるとする。
次に、図12Bに示すように、重心点G1(gx1,gy1)と後方カメラ位置C(cx,cy)を結ぶ線分L1を設定する。
さらに、図12Cに示すように、領域X1'に属する点のうち、後方カメラ位置C(cx,cy)に最も接近した接地点H1(hx1,hy1)を求める。具体的には、線分L1上を重心点G1(gx1,gy1)から後方カメラ位置C(cx,cy)へ向かって探索し、領域X1'と同じラベル値を有して、重心点G1から最も離れた点の位置を見つければよい。このようにして探索された接地点H1(hx1,hy1)は、領域X1'が路面と接地する接地点の位置を表している。なお、俯瞰画像の差分演算を行って複数の物体が検出されたときには、図10Dに示した物体の位置情報を参照して、複数の接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)をそれぞれ算出する。ここで、接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)は、俯瞰画像から物体を検出する際に同時に算出して、図10Dの情報と併せてメモリ26に記憶しておいてもよい。
次に、各領域の物体位置座標を示す、画像上の点Fi(i=1,2,…)(図7)の座標と、各領域の接地点を示す、画像上の接地点Hj(j=1,2,…)の座標との位置関係を比較する。すなわち、後方カメラ12(図2)の設置位置から見た点Fiの相対位置と、後方カメラ12(図2)の設置位置から見た接地点Hjの相対位置の距離を判定する。
そのため、点Fiと接地点Hjを、それぞれ、図13に示すように、後方カメラ位置C(cx,cy)から見た相対座標に変換する。すなわち、点Fiの相対位置は、後方カメラ12(図2)の設置位置を原点として、車両10の幅方向をX軸、車両10の前後方向をY軸としたXY座標系における座標値(FXi,FYi)(i=1,2,…)として算出することができる。一方、後方カメラ位置C(cx,cy)から見た接地点Hjの相対位置も、同様にして、XY座標系における座標値(HXj,HYj)(j=1,2,…)として算出することができる。
なお、点Fi(fxi,fyi)の座標値(FXi,FYi)への換算と、接地点Hj(hxj,hyj)の座標値(HXj,HYj)への換算は、後方カメラ12の光学パラメータである焦点距離fや後方カメラ12の設置位置(高さや俯角等)を用いて行うことができる。
このとき、図13に示すように、点Fi(fxi,fyi)のXY座標系における座標値(FXi,FYi)と、接地点Hj(hxj,hyj)のXY座標系における座標値(HXj,HYj)とは必ずしも一致しない。これは、点Fi(fxi,fyi)は物体の幅や横方向位置の情報を含む矩形領域Riの位置に基づいて算出された点であり、一方、接地点Hj(hxj,hyj)は物体の接地点の位置に基づいて算出された点であるため、計測方法の違いに伴う誤差が存在するためである。
したがって、検出物体判定部60(図2)は、XY座標系における座標値に換算された、点Fiと接地点Hjとの間の距離を求め、その距離の大きさに基づいて、点Fiと接地点Hjが所定距離以内に近接していれば、動き領域検出部54(第1物体検出部)で検出された物体(矩形領域Ri)と、差分演算部58(第2物体検出部)で検出された物体(領域Xj')とが同一移動物体であると判定する。
検出物体判定部60によって、矩形領域Riと領域Xj'とが同一移動物体であると判定されたときに、図8と図10Dに示す検出結果が統合されて、新たに統合物体情報として検出物体判定部60によって記憶される。このとき、統合結果は添字kを用いて、点Fk(Fi)のXY座標系における座標値(FXk,FYk)(k=1,2,…)と、接地点Hk(Hj)のXY座標系における座標値(HXk,HYk)(k=1,2,…)とが同じ移動物体を示す情報であるとしてメモリ26に記憶される。
(移動物体位置の特定方法の説明)
移動物体の位置の特定は、移動物体位置特定部62(図3)によって行われる。以下、移動物体の位置の方法について図13を用いて説明する。なお、図13は、点Fiと接地点Hjが近接していると判定されて、それらが同一移動物体を示すものと判定されて統合された状態を示す。すなわち、統合前には添字i,jで管理していた情報は、統合後には新たに添字kを付与して管理される。
まず、先述した移動物体判定の結果、同一移動物体と判定されて検出物体判定部60によって記憶された統合物体情報である、各移動物体を示す矩形領域Rk(Ri)の左右端の画像上の座標値(SXk(SXi),EXk(EXi))(k=1,2,…)と、接地点Hk(Hj)のXY座標系(図13)における座標値(HXk(HXj),HYk(HYj))(k=1,2,…)がそれぞれ読み出される。
次に、矩形領域Rkの左右端の画像上の座標値SXk,EXk(k=1,2,…)の差分値を算出することによって、移動物体の画像上の幅wkを算出する。すなわち、移動物体の画像上の幅wkは、wk=EXk-SXk(k=1,2,…)によって算出される。
さらに、座標値(HXk,HYk)(k=1,2,…)と、移動物体の画像上の幅wkと、後方カメラ12の光学パラメータである焦点距離fを用いて移動物体の実際の幅Wk(k=1,2,…)を算出する。
具体的には、Wk=wk×(後方カメラ位置Cと接地点Hkの距離Dk)/fによって算出することができる。なお、距離Dkは、図13に示すように、接地点Hk(Hj)のXY座標系における座標値(HXk,HYk)を用いて、Dk=(HXk2+HYk2)1/2によって算出することができる。
ここで算出された、移動物体までの距離Dkと、移動物体の実際の幅Wkは、移動物体位置特定部62によってメモリ26に記憶される。
(車両挙動制御の作用の説明)
車両挙動制御部80の作用について、図3を用いて説明する。先述した移動物体位置特定処理によって検出された移動物体の位置情報(距離Dkと幅Wk)は、図3に示す車両挙動制御部80の接触判定部82へ送られる。
接触判定部82は、移動物体の位置情報(距離Dkと幅Wk)と車両10の挙動情報(車輪速と操舵角)から、車両10が移動物体に接触する可能性を算出する。具体的には、前述した移動物体位置特定処理によって算出された、車両10(後方カメラ12)と各移動物体との実際の距離Dk(k=1,2,…)と、移動物体の実際の幅Wk(k=1,2,…)に基づいて、車両10が現在の車速と現在の操舵角のまま移動したと仮定したときに、車両10が移動物体に接触する可能性の有無を算出する。
その結果、車両10が移動物体と接触する可能性があるときには、警報出力部84からモニタ34に警報を出力して乗員に注意喚起を行う。
また、車両10が移動物体と接触する可能性が非常に高いときには、制動制御部86がブレーキアクチュエータ36を作動させて車両10に制動力を発生させ、強制的に車両を停止させて、移動物体との接触を回避する。
(車両挙動制御装置で行われる処理の流れの説明)
車両挙動制御装置100aで行われる一連の処理の流れについて、図14のフローチャートと図3の機能ブロック図を用いて説明する。なお、ここでは各処理の概要を説明するに留め、各処理の詳細な流れの説明は後述する。
(ステップS10)画像取得部52が、後方カメラ12からの車両10の後方の画像を取得する。
(ステップS12)動き領域検出部54(第1物体検出部)において、オプティカルフローに基づく移動物体検出処理を行う。
(ステップS13)動き領域検証部202(第1物体検証部)において、物体からの「見かけの動き」の除去処理を行う。
(ステップS14)俯瞰画像生成部56において、俯瞰画像生成処理を行う。
(ステップS16)差分演算部58(第2物体検出部)において、俯瞰画像の差分に基づく移動物体検出処理を行う。
(ステップS17)差分領域検証部203(第2物体検証部)において、物体からの「見かけの動き」の除去処理を行う。
(ステップS18)検出物体判定部60において、検出物体判定処理を行う。
(ステップS20)移動物体位置特定部62において、移動物体位置特定処理を行う。
(ステップS22)車両挙動制御部80において、車両10の挙動制御を行う。
なお、各ステップで行われる処理の詳細な流れについては後述する。
(オプティカルフローに基づく物体検出処理の流れの説明)
図14のステップS12で行われるオプティカルフローに基づく物体検出処理の流れについて、図15Aのフローチャートと図4の機能ブロック図を用いて説明する。
(ステップS30)平面歪み補正部54aにおいて、歪曲補正処理を行う。
(ステップS32)オプティカルフロー検出部54bにおいて、オプティカルフロー検出処理を行う。
(ステップS34)車両挙動フロー算出部54cにおいて、車両挙動算出処理を行う。
(ステップS36)物体検出部54dにおいて、車両挙動フローと方向が異なるオプティカルフローの抽出処理を行う。
(ステップS38)物体検出部54dにおいて、抽出されたオプティカルフローの終点に対応する領域のラベル付け処理を行う。
(ステップS40)物体検出部54dにおいて、ラベル付けされた各領域に外接する矩形領域の登録処理を行い、その後メインルーチン(図14)へ戻る。
(「見かけの動き」の除去処理(動き領域検証処理)の流れの説明)
図14のステップS13で行われる「見かけの動き」の除去処理(動き領域検証処理)の流れについて、図15Bのフローチャートを用いて説明する。なお、この「見かけの動き」の除去処理は、動き領域検証部202(第1物体検証部)において行われる。
(ステップS41)明暗判定手段202aにおいて、車両周囲の環境の明暗を判定する。
(ステップS42)コントラスト判定手段202bにおいて、明暗判定情報に基づいて低コントラスト領域の判定を行う。
(ステップS43)水蒸気判定手段202c(第2の結果判定部)において、オプティカルフローと画像の輝度に基づき、移動物体が「見かけの動き」(水蒸気)であるか否かを判定する。
(ステップS44)判定結果出力手段202dにおいて、判定結果を出力する。その後メインルーチン(図14)へ戻る。
(俯瞰画像の差分に基づく物体検出処理の流れの説明)
図14のステップS16で行われる俯瞰画像の差分に基づく物体検出処理の流れについて、図16Aのフローチャートと図3,図9の機能ブロック図を用いて説明する。
(ステップS50)俯瞰画像生成部56(図3)において、俯瞰画像J(x,y,t‐Δt)を生成する。
(ステップS52)俯瞰画像生成部56(図3)において、俯瞰画像J(x,y,t)を生成する。
(ステップS54)俯瞰画像位置合わせ部58a(図9)において、車両情報に基づいて俯瞰画像J(x,y,t‐Δt)を変形処理し、俯瞰画像J(x,y,t)と位置合わせを行う。
(ステップS56)差分演算実行部58b(図9)において、フレーム差分を実行する。
(ステップS58)物体検出部58c(図9)において、フレーム差分の結果に対して、2値化処理とラベリング処理を行う。
(ステップS60)物体検出部58c(図9)において、ラベル付けされた各領域の重心位置の登録処理を行い、その後メインルーチン(図14)へ戻る。
(「見かけの動き」の除去処理(平面投影画像による差分検証処理)の流れの説明)
図14のステップS15で行われる「見かけの動き」の除去処理(平面投影画像による差分検証処理)の流れについて、図16Bのフローチャートを用いて説明する。なお、この「見かけの動き」の除去処理は、差分領域検証部203(第2物体検証部)において行われる。
(ステップS61)投影画像生成部203aにおいて、物体が検知された俯瞰画像と対応する複数の平面投影画像を生成する。
(ステップS62)差分処理部203bにおいて、時刻tとt-Δtのフレーム間における複数の平面投影画像の差分処理を行う。
(ステップS63)矩形枠設定部203cにおいて、足元位置を元に平面投影画像に矩形枠を設定する。
(ステップS64)差分割合算出部203dにおいて、矩形枠内の差分の割合を算出する。
(ステップS65)結果判定部203eにおいて、「見かけの動き」の判定を行う。
(ステップS66)判定結果出力部203fにおいて、結果を出力する。その後メインルーチン(図14)へ戻る。
(検出物体判定処理の流れの説明)
図14のステップS18で行われる検出物体判定処理の流れについて、図17のフローチャートを用いて説明する。なお、検出物体判定処理は、図3に示した検出物体判定部60において行われる。
(ステップS70)各矩形領域Ri(i=1,2,…)の位置から、物体の位置座標として点Fi(fxi,fyi)(i=1,2,…)を算出する。
(ステップS72)点Fi(fxi,fyi)(i=1,2,…)のXY座標系における座標値(FXi,FYi)(i=1,2,…)を算出する。なお、ステップS70とステップS72は、全ての矩形領域Riに対して繰り返して実行する。
(ステップS74)各領域Xj'(j=1,2,…)の重心位置から物体の接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)を算出する。
(ステップS76)物体の接地点である接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)のXY座標系における座標値(HXj,HYj)(j=1,2,…)を算出する。なお、ステップS74とステップS76は、全ての領域Xj'に対して繰り返して実行する。
(ステップS78)座標値(FXi,FYi)(i=1,2,…)と座標値(HXj,HYj)(j=1,2,…)とが所定距離以内に近接しているか否かを、全ての添字i,添字jの組み合わせについて判定する。所定距離以内であるときはステップS80に進み、それ以外のときは、判定する領域を変更してステップS78を繰り返す。
(ステップS80)ステップS78で所定距離以内と判定されたときに、座標値(FXi,FYi)に対応する矩形領域Riと座標値(HXj,HYj)に対応する領域Hj'が同一移動物体であると判定されて、2つの検出結果を紐付ける。また、XY座標系における座標値(FXi,FYi)(j=1,2,…)と座標値(HXj,HYj)(j=1,2,…)を記憶する。なお、ステップS78とステップS80は、検出された全ての物体に対して繰り返して実行する。ここで、同一移動物体であると判定された矩形領域Riと領域Xj'は、添字k(k=1,2,…)を用いて、矩形領域Rk(Ri)と領域Xk'(Xj')は同じ移動物体を表す領域であるとして紐付けられて記憶される。すなわち、矩形領域Riを代表する座標値(FXi,FYi)は座標値(FXk,FYk)として記憶され、領域Xj'を代表する座標値(HXj,HYj)は座標値(HXk,HYk)として記憶される。その後、メインルーチン(図14)へ戻る。
(移動物体位置特定処理の流れの説明)
図14のステップS20で行われる移動物体位置特定処理の流れについて、図18のフローチャートを用いて説明する。なお、移動物体位置特定処理は、図3に示した移動物体位置特定部62において行われる。
(ステップS90)検出物体判定処理によって同一移動物体と判定された移動物体の情報を読み出す。
(ステップS92)同一移動物体を示している動き領域検出部54(第1物体検出部)の検出結果と差分演算部58(第2物体検出部)の検出結果を取得する。
(ステップS94)矩形領域Rkの左右端の座標値sxk,exkと、接地点HkのXY座標系における座標値(HXk,HYk)を読み出す。
(ステップS96)座標値sxk,exkから、移動物体の画像上の幅wkを算出する。
(ステップS98)座標値(HXk,HYk)と移動物体の画像上の幅wkから、移動物体の実際の幅Wkを算出する。なお、このとき、移動物体までの距離Dkも算出しておく。
(ステップS100)移動物体の実際の幅Wkと、移動物体までの距離Dkと、XY座標系における座標値(HXk,HYk)を、検出された移動物体の位置情報として登録する。なお、ステップS90からステップS100の処理は、全ての添字k(k=1,2,…)について行う。その後、メインルーチン(図14)へ戻る。
(実施例1の効果の説明)
このように構成された実施例1に係る車両挙動制御装置100aによれば、車両10に搭載された後方カメラ12(画像取得部)が、車両10の周囲を撮像した原画像I(x,y,t)を取得して、動き領域検出部54(第1物体検出部)が、原画像I(x,y,t)の中から物体を検出するとともに、差分演算部58(第2物体検出部)が、俯瞰画像生成部56で生成された、車両10を俯瞰した俯瞰画像J(x,y,t)の中から物体を検出し、検出物体判定部60が、動き領域検出部54で検出された物体と差分演算部58で検出された物体が所定距離以内に近接しているときに、同一移動物体であると判定して、移動物体位置特定部62が、車両10から動き領域検出部54または差分演算部58によって検出された物体までの距離Dkと物体の横方向位置FXkと、動き領域検出部54によって検出された物体の実際の幅Wkによって移動物体の位置を特定するため、測距センサ等を追加することなく、後方カメラ12で撮像された画像のみを用いて、移動物体の横方向位置FXkと幅Wkと車両10から移動物体までの距離Dkをより高い精度で確実に検出することができる。
また、このように構成された実施例1に係る車両挙動制御装置100aによれば、動き領域検出部54(第1物体検出部)は、原画像I(x,y,t)を路面から垂直に起立した平面に投影した平面投影画像Ip(x,y,t)(投影画像)の中から物体を検出するため、予め用意された歪み補正テーブルを用いた簡便な処理によって原画像I(x,y,t)に生じる歪曲を確実に補正して物体を検出することができる。
そして、このように構成された実施例1に係る車両挙動制御装置100aによれば、動き領域検出部54(第1物体検出部)は、異なる時刻t‐Δt,tに取得された複数の原画像I(x,y,t‐Δt),I(x,y,t)の中から算出されたオプティカルフローに基づいて物体を検出するため、物体の移動に伴って発生した移動領域を確実に検出することができる。
さらに、このように構成された実施例1に係る車両挙動制御装置100aによれば、動き領域検出部54(第1物体検出部)は、物体として歩行者および車両10を検出するため、車両10の移動の際に障害となる可能性が高い物体を確実に検出することができる。
また、このように構成された実施例1に係る車両挙動制御装置100aによれば、差分演算部58(第2物体検出部)は、異なる時刻t‐Δt,tに取得された複数の原画像I(x,y,t‐Δt),I(x,y,t)からそれぞれ生成された複数の俯瞰画像J(x,y,t‐Δt),J(x,y,t)間のフレーム差分の結果に基づいて物体を検出するため、物体の接地点の位置を簡便かつ確実に検出することができる。
そして、このように構成された実施例1に係る車両挙動制御装置100aによれば、車両用外界認識装置50aの認識結果に基づいて車両10の制駆動力制御を行うため、例えば、駐車時に車両10の挙動を確実に制御して、移動物体に接触させることなく駐車動作を行わせることができる。
(この実施の形態全体の作用効果の説明)
(作用効果 1)車両用外界認識装置50aでは、車両10に搭載された画像取得部52が車両10の周囲の画像を取得する。俯瞰画像生成部56は、画像取得部52で取得した画像から、車両10を俯瞰した俯瞰画像を生成する。物体検出部(差分演算部58)は、時間差を有して取得された複数枚の俯瞰画像の中から物体を検出する。そして、差分領域検証部203(実施例の第2物体検証部、または、請求項の物体検証部)が、物体検出部(差分演算部58)で物体が検出された複数枚の俯瞰画像、または、この俯瞰画像と対応する画像取得部52の画像(原画像)を変換してなる複数枚の平面投影画像の差分量によって物体が「見かけの動き」であるか否かを検証する。これにより、俯瞰画像から検出された物体を平面投影画像の状態で検証して、物体に含まれている「見かけの動き」を検出することができる。よって、物体検出部(差分演算部58)で検出した物体における誤判断の発生をなくすことが可能になる。
(作用効果 2)第2の物体検出部(動き領域検出部54)が、画像取得部52で時間差を有して取得した複数枚の画像の中から物体を検出するようにしても良い。第2の物体検証部(動き領域検証部202(第1物体検証部))は、第2の物体検出部(動き領域検出部54)で検出した物体の動き情報と(車両10の周囲の環境の)輝度情報とに基づいて、物体が「見かけの動き」であるか否かを判定するようにしても良い。これにより、画像取得部52で取得した画像から物体の動き情報と輝度情報とに基づいて検出された物体に含まれている「見かけの動き」を検出することができる。よって、第2の物体検出部(動き領域検出部54)で検出した物体における誤判断の発生をなくすことが可能になる。
(作用効果 3)物体検証部(差分領域検証部203(第2物体検証部))では、結果判定部203eが、物体検出部(差分演算部58(第2物体検出部))で検出した物体から、検証によって発見された「見かけの動き」を除外するようにしても良い。そして、第2の物体検証部(動き領域検証部202(第1物体検証部))では、水蒸気判定手段202c(第2の結果判定部)が、第2の物体検出部(動き領域検出部54(第1物体検出部))で検出した物体から、判定によって発見された「見かけの動き」を除外するようにしても良い。これにより、異なる2種類の手法を用いて検出された物体に含まれた「見かけの動き」を、それぞれ除外することで、「見かけの動き」の混入をほぼ確実になくすことが可能になる。
(作用効果 4)物体検証部(差分領域検証部203(第2物体検証部))では、差分処理部203bが、複数枚の平面投影画像の差分処理を行い、矩形枠設定部203cが、差分処理部203bで得られた画像(差分画像)における物体が検出された位置に、人間の大きさの矩形枠を設定するようにしても良い。これにより、検出された物体に対して人間の大きさを基準にした差分検証を行わせることができる。
(作用効果 5)物体検証部(差分領域検証部203(第2物体検証部))では、投影画像生成部203aによって、歪が補正された平面投影画像を生成するようにしても良い。これにより、歪のない平面投影画像を使って「見かけの動き」をより正確に判断することができる。
本実施の形態に係る車両用外界認識装置50cを用いた車両挙動制御装置100cの別の具体的な実施例について、図面(図22~図28)を参照して説明する。
(実施例3の機能構成の説明)
本実施例3は、車両用外界認識装置50cを、車両10の後方の移動物体を検出して、後退駐車時に移動物体と接触する可能性があるときには、車両10に制動をかけて停止させる車両挙動制御装置100cに適用したものである。
図22は、実施例3に係る車両挙動制御装置100cの機能構成を示す機能ブロック図である。車両挙動制御装置100cは、車両用外界認識装置50cと車両挙動制御部80からなり、前述した車両挙動制御装置100a,100bとは、動き領域検出部57(第1物体検出部)の内部構成と、検出物体判定部61の内部構成と、移動物体位置特定部65の内部構成とが異なっている。以下、動き領域検出部57と、検出物体判定部61と、移動物体位置特定部65の内部構成についてのみ説明する。なお、それ以外の構成要素の機能は実施例1で説明した通りであるため、説明を省略する。
動き領域検出部57(第1物体検出部)は、原画像I(x,y,t‐Δt),I(x,y,t)の中から物体の検出を行う。
図23は、動き領域検出部57(第1物体検出部)の詳細な内部構成を示す機能ブロック図である。動き領域検出部57は、図4に示した実施例1の動き領域検出部54の構成に加えて、原画像I(x,y,t)の中からパターンマッチングによって歩行者を検出する歩行者パターン検出部57aと、原画像I(x,y,t)の中からパターンマッチングによって車両を検出する車両パターン検出部57bを有する。このような構成にすることによって、原画像I(x,y,t)の中から検出された物体の種別を特定して、物体までの距離の検出精度を向上させることができる。詳しくは後述する。
検出物体判定部61は、動き領域検出部57(第1物体検出部)で検出された物体と差分演算部58(第2物体検出部)で検出された物体が同一の物体であるか否かを判定する。なお、動き領域検出部57(第1物体検出部)で検出された物体として、歩行者パターン検出部57aの検出結果と車両パターン検出部57bの検出結果が併せて参照される点が、実施例1,実施例2とは異なる。
移動物体位置特定部65は、検出された移動物体の存在位置を特定する。その際、検出された移動物体の種別に応じて、移動物体までの距離の算出方法を変更する点が、実施例1,実施例2とは異なる。詳細は後述する。
(歩行者パターン,車両パターン検出方法の説明)
動き領域検出部57(第1物体検出部)において行われる、原画像I(x,y,t)から歩行者パターンと車両パターンを検出する方法について説明する。
歩行者パターンと車両パターンの識別は、一般的に行われているパターンマッチングによって行う。より具体的には、テンプレートマッチング,輝度勾配の分布ヒストグラムを用いたパターン識別法(HOG),ニューラルネットワークを用いたパターン識別等のいずれの方法を用いて行っても良い。
なお、パターンマッチングを効率的に行うために、原画像I(x,y,t)から生成した解像度の低いピラミッド画像を用いるのが望ましい。
検出された歩行者パターンおよび車両パターンは、オプティカルフローに基づいて検出された物体と同様の形式で動き領域検出部57によってメモリ26に記憶される。すなわち、検出された歩行者パターンまたは車両パターンに外接する矩形領域Ri(i=1,2,…)の番号とともに、各矩形領域の左上の頂点座標(sxi,syi)と右下の頂点座標(exi,eyi)が、それぞれ記憶される。また、このとき、物体の位置を代表する点Fi(図7)の座標を算出して同時に記憶しておいてもよい。
(移動物体判定方法の説明)
検出物体判定部61は、オプティカルフローに基づく物体の検出結果と、俯瞰画像の差分による物体の検出結果に加えて、歩行者パターンの検出結果と車両パターンの検出結果を用いて、検出された物体が同一移動物体であるか否かを特定する。詳細な処理の流れは後述する。
(移動物体位置の特定方法の説明)
移動物体位置特定部65は、検出物体判定部61で同一移動物体であると判定された移動物体の存在位置を特定する。その際、検出された移動物体が歩行者であるか車両であるかによって、移動物体までの距離の計測方法を変更する。
具体的には、検出された移動物体が車両であるときは、オプティカルフロー検出部54b(図23)の検出結果に基づいて移動物体までの距離を算出する。そして、検出された移動物体が歩行者であるときは、差分演算部58(図22)の検出結果に基づいて移動物体までの距離を算出する。
車両のように、路面に接する接地点(タイヤ)と、後方カメラ12に最も接近した近接点(バンパー)とが異なる物体(オーバーハングがある物体)にあっては、俯瞰画像の差分結果から算出された接地点(例えば、図12CのH1(hx1,hy1))は、必ずしも移動物体までの距離を表していない。
接地点と近接点が異なる例を、図24Aから図24Cを用いて説明する。図24Aは、後方カメラ12で取得された原画像I(x,y,t)の一例である。原画像I(x,y,t)の中には、歩行者X1と他車両Y1が写っている。歩行者X1には、オプティカルフローに基づいて検出された移動物体として矩形領域R1と移動物体の位置を表す点F1が重畳されている。また、他車両Y1には、オプティカルフローに基づいて検出された移動物体として矩形領域R2と移動物体の位置を表す点F2が重畳されている。
図24Bは、原画像I(x,y,t)を俯瞰画像J(x,y,t)に変換した例である。歩行者X1は領域X1'に変換され、他車両Y1は領域Y1'に変換される。そして、歩行者X1が変換された領域X1'からは接地点H1が検出されて、他車両Y1が変換された領域Y1'からは接地点H2が検出される。
そして、後方カメラ位置Cと領域X1'の接地点H1の距離が、車両10から歩行者X1までの距離として算出される。また、後方カメラ位置Cと領域Y1'の接地点H2の距離が、車両10から他車両Y1までの距離として算出される。
このとき、歩行者X1から検出された点F1と接地点H1は同一点を表している。一方、他車両Y1から検出された点F2と接地点H2は同一点を表していない。すなわち、図24Cに示すように、点F2は他車両Y1のバンパー前端の位置を表しているのに対し、接地点H2は他車両Y1のタイヤ接地点の位置を表している。
本実施例3は、このようにして発生する可能性がある移動物体の位置の算出誤差を低減するために、原画像から車両が検出されたときには、原画像からオプティカルフローに基づいて検出された移動物体の位置を表す点F2に基づいて移動物体までの距離を算出する。一方、原画像から歩行者が検出されたときには、俯瞰画像からフレーム差分によって検出された移動物体の接地点H1に基づいて移動物体までの距離を算出する。
以下、図24Dと図24Eを用いて、移動物体の存在位置と移動物体の幅を特定する方法について具体的に説明する。
図24Dは、移動物体として歩行者が検出されたときに、その存在位置と幅を特定する方法を示す図である。
すなわち、俯瞰画像の差分に基づいて物体(領域Xi')が検出されて、オプティカルフローに基づいて物体(矩形領域Ri)が検出されないとき(図の上段)は、俯瞰画像の差分に基づいて得た領域Xi'の接地点のXY座標系における座標値(HXi,HYi)または(HXk,HYk)から物体までの距離DiまたはDkを算出する。そして、距離Diと歩行者パターンを代表する点Fp(FXp,FYp)の位置から移動物体の横方向位置FXkを算出する。さらに、距離Diと歩行者パターンの幅wpまたはwkから移動物体の幅WiまたはWkを算出する。
また、俯瞰画像の差分に基づいて物体(領域Xi')が検出されて、なおかつ、オプティカルフローに基づいて物体(矩形領域Ri)が検出されたとき(図の下段)は、俯瞰画像の差分に基づいて得た領域Xi'の接地点のXY座標系における座標値(HXi,HYi)または(HXk,HYk)から距離DiまたはDkを算出する。そして、距離Diと歩行者パターンを代表する点Fp(FXp,FYp)の位置とオプティカルフローから得た点Fiの座標値(FXi,FYi)または(FXk,FYk)から移動物体の横方向位置FXiまたはFXkを算出する。さらに、距離DiまたはDkと歩行者パターンの幅wiまたはwkから移動物体の幅WiまたはWkを算出する。
次に、図24Eは、物体として車両が検出されたときに、その存在位置と幅を特定する方法を示す図である。
すなわち、俯瞰画像の差分に基づいて物体(領域Xi')が検出されて、オプティカルフローに基づいて物体(矩形領域Ri)が検出されないとき(図の上段)は、俯瞰画像の差分に基づいて得た領域Xi'の接地点のXY座標系における座標値(HXi,HYi)または(HXk,HYk)から距離DiまたはDkを算出する。そして、距離Diと車両パターンを代表する点Fv(FXv,FYv)の位置から移動物体の横方向位置FXiまたはFXkを算出する。さらに、距離Diと車両パターンの幅wiまたはwkから移動物体の幅WiまたはWkを算出する。
また、俯瞰画像の差分に基づいて物体(領域Xi')が検出されて、なおかつ、オプティカルフローに基づいて物体(矩形領域Ri)が検出されたとき(図の下段)は、俯瞰画像の差分に基づいて得た領域Xi'の接地点のXY座標系における座標値(HXi,HYi)または(HXk,HYk)から距離DiまたはDkを算出する。そして、距離Diと車両パターンを代表する点Fv(FXv,FYv)の位置とオプティカルフローから得た点Fiの座標値(FXi,FYi)または(FXk,FYk)から移動物体の横方向位置FXiまたはFXkを算出する。さらに、距離DiまたはDkと車両パターンの幅wiまたはwkから移動物体の幅WiまたはWkを算出する。
このように、実施例3にあっては、移動物体として歩行者が検出されたときと、車両が検出されたときとで、移動物体までの距離,移動物体の横方向位置,移動物体の幅の算出方法を変更している。
(車両挙動制御装置で行われる処理の流れの説明)
車両挙動制御装置100cで行われる一連の処理の流れについて、図25のフローチャートと図22,図23の機能ブロック図を用いて説明する。なお、ここでは各処理の概要を説明するに留め、各処理の詳細な流れの説明は後述する。
(ステップS130)後方カメラ12で車両10の後方の画像を取得する。
(ステップS132)動き領域検出部57(第1物体検出部)において、オプティカルフローに基づく物体検出処理を行う。
(ステップS133)動き領域検証部202(第1物体検証部)において「見かけの動き」の除去処理を行う。なお、この処理は、ステップS138の前までに行われれば良い。
(ステップS134)動き領域検出部57(第1物体検出部)において、歩行者パターン検出処理を行う。
(ステップS136)動き領域検出部57(第1物体検出部)において、車両パターン検出処理を行う。
(ステップS138)俯瞰画像生成部56において俯瞰画像生成処理を行う。
(ステップS140)差分演算部58(第2物体検出部)において、俯瞰画像の差分に基づく物体検出処理を行う。
(ステップS141)差分領域検証部203(第2物体検証部)において「見かけの動き」の除去処理を行う。
(ステップS142)検出物体判定部61において検出物体判定処理を行う。
(ステップS144)移動物体位置特定部65において移動物体位置特定処理を行う。
(ステップS146)車両挙動制御部80において、車両10の挙動制御を行う。
(歩行者パターン,車両パターン検出処理の流れの説明)
図25のステップS134で行われる歩行者パターン検出処理、およびステップS136で行われる車両パターン検出処理の流れについて、図26のフローチャートを用いて説明する。なお、図25のフローチャートでは、歩行者パターン検出処理(ステップS134)と車両パターン検出処理(ステップS136)を分けて記載したが、実際は同じ原画像I(x,y,t)を対象にした処理であるため、図26に示すように一連の処理として実行する。
(ステップS150)原画像I(x,y,t)からピラミッド画像を生成する。
(ステップS152)生成したピラミッド画像に対して歩行者パターンを検出する歩行者パターン検出処理を実行する。
(ステップS154)生成したピラミッド画像に対して車両パターンを検出する車両パターン検出処理を実行する。
(ステップS156)検出された歩行者パターンについて、同じ歩行者を示している複数の検出パターンを統合する。同様に、検出された車両パターンについて、同じ車両を示している複数の検出パターンを統合する。
(ステップS158)検出された歩行者パターン,車両パターンの登録処理を行う。具体的には、検出されたパターンに外接する矩形領域Riの頂点座標と、矩形領域Riの下辺の中点である点Fi(図7の点F1に対応する点)の座標が算出されて記憶される。その後メインルーチン(図25)へ戻る。
(検出物体判定処理の流れの説明)
図25のステップS142で行われる検出物体判定処理の流れについて、図27Aから図27Cのフローチャートを用いて説明する。
(ステップS160)ステップS140の処理によって記憶された接地点Hj(hxj,hyj)の情報を読み出す。
(ステップS162)接地点Hj(hxj,hyj)の実空間座標(HXj,HYj)を算出する。なお、実空間座標(HXj,HYj)が予め記憶されているときは、記憶された情報を読み出す。
(ステップS164)ステップS132の処理によって記憶された点Fi(fxi,fyi)の情報を読み出す。
(ステップS166)点Fi(fxi,fyi)の実空間座標(FXi,FYi)を算出する。
(ステップS168)図27Bに示すフローチャートを実行する。
(ステップS170)図27Cに示すフローチャートを実行する。なお、ステップS164からステップS170は、全ての矩形領域Riに対して繰り返して実行する。また、ステップS160からステップS170は、全ての領域Xj'に対して繰り返して実行する。その後、メインルーチン(図25)へ戻る。
以下、図27AのステップS168で行う処理の流れを、図27Bを用いて説明する。
(ステップS180)歩行者検出結果を読み出す。
(ステップS182)歩行者の位置を表す点Fp(fxp,fyp)を読み出す。
(ステップS184)点Fp(fxp,fyp)の実空間座標(Fxp,Fyp)を算出する。
(ステップS186)接地点Hjの実空間座標(HXj,HYj)と点Fpの実空間座標(Fxp,Fyp)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS188に進み、それ以外のときはステップS182へ戻り、異なる歩行者検出結果に対する処理を行う。
(ステップS188)接地点Hjの実空間座標(HXj,HYj)と点Fiの実空間座標(FXi,FYi)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS190に進み、それ以外のときはステップS192へ進む。
(ステップS190)オプティカルフローに基づく物体の検出結果と、俯瞰画像の差分に基づく物体の検出結果と、歩行者検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61によってメモリ26に記憶される。なお、ステップS182からステップS190は、全ての歩行者検出結果に対して繰り返して実行する。その後、メインルーチン(図25)へ戻る。
(ステップS192)俯瞰画像の差分に基づく物体の検出結果と、歩行者検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61によってメモリ26に記憶される。なお、ステップS182からステップS192は、全ての歩行者検出結果に対して繰り返して実行する。その後、メインルーチン(図25)へ戻る。
以下、図27AのステップS170で行う処理の流れを、図27Cを用いて説明する。
(ステップS200)車両検出結果を読み出す。
(ステップS202)歩行者の位置を表す点Fv(fxv,fyv)を読み出す。
(ステップS204)点Fv(fxv,fyv)の実空間座標(FXv,FYv)を算出する。
(ステップS206)接地点Hjの実空間座標(HXj,HYj)と点Fvの実空間座標(FXv,FYv)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS208に進み、それ以外のときはステップS202へ戻り、異なる車両検出結果に対する処理を行う。
(ステップS208)接地点Hjの実空間座標(HXj,HYj)と点Fiの実空間座標(FXi,FYi)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS210に進み、それ以外のときはステップS212へ進む。
(ステップS210)オプティカルフローに基づく物体の検出結果と、俯瞰画像の差分に基づく物体の検出結果と、車両検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61によってメモリ26に記憶される。なお、ステップS202からステップS210は、全ての車両検出結果に対して繰り返して実行する。その後、メインルーチン(図25)へ戻る。
(ステップS212)俯瞰画像の差分に基づく物体の検出結果と、車両検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61によってメモリ26に記憶される。なお、ステップS202からステップS212は、全ての車両検出結果に対して繰り返して実行する。その後、メインルーチン(図25)へ戻る。
(移動物体位置特定処理の流れの説明)
図25のステップS144で行われる移動物体位置特定処理の流れについて、図28のフローチャートを用いて説明する。
(ステップS220)前述した検出物体判定処理によって統合した移動物体統合結果を検出物体判定部61から読み出す。
(ステップS222)統合した移動物体が歩行者であるか否かを判定する。歩行者であるときはステップS224に進み、それ以外のときはステップS226へ進む。
(ステップS224)着目している移動物体統合結果に対応する検出結果のうち、オプティカルフローに基づく検出結果,俯瞰画像の差分に基づく検出結果,歩行者検出結果をそれぞれ読み出す。
(ステップS226)着目している移動物体統合結果に対応する検出結果のうち、オプティカルフローに基づく検出結果,俯瞰画像の差分に基づく検出結果,車両検出結果をそれぞれ読み出す。
(ステップS228)前述した図24D,図24Eのテーブルに基づいて、移動物体までの距離,横方向位置,幅を算出して登録する。なお、ステップS222からステップS228は、全ての移動物体統合結果に対して繰り返して実行する。その後、メインルーチン(図25)に戻る。
(実施例3の効果の説明)
このように構成された実施例3に係る車両挙動制御装置100cによれば、動き領域検出部57(第1物体検出部)は、さらに原画像I(x,y,t)に対してパターンマッチングを行うことによって物体を検出するため、原画像が有している物体の形状特徴や濃淡特徴を利用することができ、これによって歩行者や車両10をより一層確実に検出することができる。
そして、このように構成された実施例3に係る車両挙動制御装置100cによれば、検出物体判定部61は、さらに、移動物体が歩行者であるか車両10であるかを判別して、移動物体位置特定部65は、移動物体が歩行者であるときには、差分演算部58(第2物体検出部)の検出結果に基づいて移動物体までの距離Dkを算出し、移動物体が車両10であるときには、動き領域検出部57(第1物体検出部)の検出結果に基づいて移動物体までの距離Dkを算出するため、移動物体の種類に応じて、より精度の高い検出方法によって検出された結果を利用することができるため、移動物体の検出を高精度で行うことができる。
以上、実施例を図面により詳述したが、実施例は例示にしか過ぎないものであるため、実施例の構成にのみ限定されるものではなく、要旨を逸脱しない範囲の設計の変更等があっても、含まれることは勿論である。
例えば、実施例1から実施例3では、物体として歩行者と車両10を検出する例を示したが、物体の種類は歩行者と車両10に限定されるものではない。すなわち、路面から高さを有して、車両10と接触する可能性がある物体であれば、車両用外界認識装置50a~50cを用いて検出することができる。
また、実施例1から実施例3では、車両10の後端に装着した後方カメラ12などのカメラを用いた例を説明したが、カメラの設置位置は車両10の後端に限定されるものではない。また、使用するカメラも1台に限定されるものではない。すなわち、車両10の前端,左右端,後端にそれぞれカメラを設置しても、実施例1から実施例3と同様の装置構成を実現することができる。