(58)【調査した分野】(Int.Cl.,DB名)
前記第1物体検出部は、異なる時刻に取得された複数の前記画像の中から算出されたオプティカルフローに基づいて物体を検出することを特徴とする請求項1から請求項3のいずれか1項に記載の車両用外界認識装置。
前記第1物体検出部は、さらに前記画像に対してパターンマッチングを行うことによって物体を検出することを特徴とする請求項1から請求項4のいずれか1項に記載の車両用外界認識装置。
前記第2物体検出部は、異なる時刻に取得された複数の画像からそれぞれ生成された複数の俯瞰画像間の差分結果に基づいて物体を検出することを特徴とする請求項1から請求項6のいずれか1項に記載の車両用外界認識装置。
前記検出物体判定部は、さらに、移動物体が歩行者であるか車両であるかを判別して、前記移動物体位置特定部は、前記移動物体が歩行者であるときには、前記第2物体検出部の検出結果に基づいて前記移動物体までの距離を算出し、前記移動物体が車両であるときには、前記第1物体検出部の検出結果に基づいて前記移動物体までの距離を算出することを特徴とする請求項1から請求項7のいずれか1項に記載の車両用外界認識装置。
請求項1から請求項8のいずれか1項に記載の車両用外界認識装置の認識結果に基づいて、前記車両の制駆動力制御を行うことを特徴とする車両用外界認識装置を用いた車両挙動制御装置。
【発明を実施するための形態】
【実施例1】
【0012】
本発明に係る車両用外界認識装置を用いた車両挙動制御装置の具体的な実施形態について、図面を参照して説明する。
【0013】
本実施例1は、本発明を、車両後方の移動物体を検出して、後退駐車時に移動物体と接触する可能性があるときには、車両に制動をかけて停止させる車両挙動制御装置に適用したものである。(車両挙動制御装置のハードウェア構成の説明)
【0014】
図1を用いて本実施例の車両挙動制御装置のハードウェア構成について説明する。本実施例に係る車両挙動制御装置100aは、車両10に搭載されて、車両10の後方に存在する歩行者や他車両等の移動物体を認識する車両用外界認識装置50aと、認識された移動物体の位置に基づいて車両10の制動制御を行う車両挙動制御部80からなる。
【0015】
車両用外界認識装置50aは、後方カメラ12と、カメラインタフェース14と、車輪速センサ20と、操舵角センサ22と、センサインタフェース24と、画像処理ECU18と、メモリ26からなる。
【0016】
車両挙動制御部80は、車両挙動制御ECU30と、ブレーキアクチェータ36と、表示制御部32と、モニタ34からなる。
【0017】
また、車両挙動制御装置100aは、必要な情報の受け渡しを行うための、CANバス等からなるシステムバス16を備えている。
【0018】
後方カメラ12は、車両10の後方の路面を含む画像を撮像する。後方カメラ12で撮像された画像は、カメラインタフェース14とCANバス等で構成されたシステムバス16を経て、画像の認識処理を実行する画像処理ECU18に送られる。また、車両10には、車輪速を検出する車輪速センサ20と操舵角を検出する操舵角センサ22が設けられて、それらのセンサの出力は、センサインタフェース24とシステムバス16を介して画像処理ECU18に送られる。
【0019】
画像処理ECU18では、後述する画像処理を実行して歩行者や他車両等の移動物体を検出する。その際、画像処理の途中経過や結果はメモリ26に一時記憶される。
【0020】
画像処理で検出された移動物体の位置情報は、車両挙動制御部80に送られる。そして、車両10の挙動を制御する車両挙動制御ECU30において、車両10と移動物体が接触する可能性が判定される。接触の可能性があるときには、車両挙動制御ECU30は、表示制御部32を介して車両10に設置されたモニタ34に必要な警報や警告を出力し、車両10の運転者に注意喚起を行う。また、車両挙動制御ECU30において、接触が避けられないと判定されたときには、車両10の制動力を発生させるブレーキアクチェータ36を駆動して車両10の制動を行う。
(車両挙動制御装置の機能構成の説明)
【0021】
図2,
図3を用いて本実施例の車両挙動制御装置100aの機能構成について説明する。
図2は車両挙動制御装置100aの機能構成を示す機能ブロック図である。
図3は、車両挙動制御装置100aの車載状態を示す図である。
【0022】
車両用外界認識装置50aは、
図2に示すように、後方カメラ12と、後方カメラ12で撮像した画像をデジタル情報に変換して原画像I(x,y,t)として取得する画像取得部52と、異なる時刻に取得された2枚の原画像の中から移動物体を検出する動き領域検出部54(第1物体検出部)と、原画像I(x,y,t)を真上から見下ろした俯瞰画像J(x,y,t)に変換する俯瞰画像生成部56と、異なる時刻に取得された2枚の原画像からそれぞれ生成された2枚の俯瞰画像同士の差分演算を行って移動物体を検出する差分演算部58(第2物体検出部)と、動き領域検出部54で検出された物体と差分演算部58で検出された物体とが同一の移動物体であるか否かを判定する検出物体判定部60と、検出物体判定部60において同一の移動物体であると判定されたときに、その移動物体の存在位置を特定する移動物体位置特定部62と、車輪速センサ20が検出した車両10の車輪速と操舵角センサ22が検出した車両10の操舵角を取得する車両情報取得部64からなる。
【0023】
車両挙動制御部80は、
図2に示すように、車両10と移動物体との接触可能性を判定する接触判定部82と、車両10と移動物体との接触可能性があるときにこれを警報する警報出力部84と、車両10と移動物体との接触が避けられないときに車両10に制動をかけて停止させる制動制御部86からなる。
【0024】
なお、後方カメラ12は、
図3に示すように、車両10の後部ライセンスプレート付近に、後方に向けて略水平に設置されており、路面を含む後方観測範囲12aの画像を観測している。このとき、車両10の直近から遠方までの範囲を、左右の広範囲に亘って観測するために、後方カメラ12には魚眼レンズに代表される画角の広いレンズが装着されている。
(原画像からの物体検出方法の説明)
【0025】
図4,
図5Aから
図5Cを用いて、動き領域検出部54(第1物体検出部)において行われる、原画像から物体を検出する方法について説明する。
【0026】
図4は、動き領域検出部54の詳細な内部構成を示す機能ブロック図である。動き領域検出部54は、原画像I(x,y,t)を、路面から垂直に起立した、車両10の左右方向と平行な方向(後方カメラ12の受光面と平行な方向)に延びる仮想的な平面に投影した平面投影画像Ip(x,y,t)に変換する平面歪み補正部54aを有する。また動き領域検出部54は、時刻tに撮像された原画像I(x,y,t)から生成された平面投影画像Ip(x,y,t)と、時刻t-Δtに撮像された原画像I(x,y,t-Δt)から生成された平面投影画像Ip(x,y,t-Δt)とからオプティカルフローを検出するオプティカルフロー検出部54bを有する。さらに動き領域検出部54は、時刻t-Δtから時刻tまでの間の車両10の車輪速と操舵角の変化に基づいて、時間Δtの間の車両10の移動に伴って発生すると予想されるオプティカルフローを算出する車両挙動フロー検出部54cを有する。そして動き領域検出部54は、オプティカルフロー検出部54bで検出されたオプティカルフローと、車両挙動フロー検出部54cで算出されたオプティカルフローに基づいて物体を検出する物体検出部54dを有する。なお、ここで、時間Δtは使用するハードウェアの性能に応じた値、例えば数十msecの値に設定される。
【0027】
ここで、後方カメラ12には画角の広いレンズが装着されているため、
図5Aに示すように、観測された原画像I(x,y,t)は、特に画像の縁部において大きな歪曲を有している。ここで、原画像I(x,y,t)の中に歩行者X1と歩行者X2が写っていたとすると、
図5Aに示すように、辺縁部で観測される歩行者X2は、斜めに傾いて写る。後述するように、歩行者は矩形領域として検出されるため、原画像I(x,y,t)をそのまま処理すると、検出される歩行者X2の位置と幅にずれが生じてしまう。そこで、平面歪み補正部54aにおいて、この歪曲を取り除く処理を行う。
【0028】
具体的には、原画像I(x,y,t)を、路面から垂直に起立した、車両10の左右方向と平行な方向に延びる仮想的な平面に投影して、
図5Bに示す平面投影画像Ip(x,y,t)(投影画像)を生成する。この仮想的な平面への投影処理によって、原画像I(x,y,t)の中に生じていた歪曲を取り除くことができ、歩行者X2は
図5Bに示すように直立した状態に変換される。そして、この平面投影画像Ip(x,y,t)の中から歩行者X1,X2を検出することによって、歩行者の位置と幅を正確に特定することができる。
【0029】
平面投影画像Ip(x,y,t)の生成は、予め用意された歪み補正テーブルを用いて行う。この歪み補正テーブルは、歪み補正前の画像の座標と歪み補正後の画像の座標の対応関係をテーブル化したものである。なお、歪み補正テーブルは、いわゆるキャリブレーションを行うことによって、予め生成して平面歪み補正部54aに記憶しておく。
【0030】
図6Aから
図6Cは、動き領域検出部54の作用を説明する図である。
図6Aは時刻t-Δtにおいて後方カメラ12(
図2)が撮像した原画像I(x,y,t-Δt)から得た平面投影画像Ip(x,y,t-Δt)の一例である。
図6Aに示すように、平面投影画像Ip(x,y,t-Δt)の中には歩行者X1と駐車枠線Yが写っているものとする。
【0031】
図6Bは、時刻tにおいて後方カメラ12(
図2)が撮像した原画像I(x,y,t)から得た平面投影画像Ip(x,y,t)の一例である。
図6Bと
図6Aを比較すると、歩行者X1は時間Δtの間に前方(画像上では右方)に移動していることがわかる。また、駐車枠線Yの位置が移動していることから、車両10が時間Δtの間に後方に移動していることがわかる。
【0032】
図6Cは、平面投影画像Ip(x,y,t-Δt)と平面投影画像Ip(x,y,t)を比較することによって、歩行者の移動に伴って発生したオプティカルフローのみを検出した結果を示す図である。
【0033】
平面投影画像Ip(x,y,t-Δt)と平面投影画像Ip(x,y,t)を比較すると、車両10の移動に伴って発生するオプティカルフローも検出される。車両10の移動に伴って発生するオプティカルフローは、時間Δtの間の車両の挙動(車輪速と操舵角)を積分することによって予測することができる。
図6Cに示すオプティカルフローOpは、このようにして予測した車両10の動きに伴って発生するオプティカルフローとは異なる方向を有するオプティカルフローのみを検出した結果を示している。すなわち、
図6Cの画像は、車両10の移動に伴うオプティカルフロー(駐車枠線Yの移動を示すオプティカルフロー)が抑制されて、歩行者の移動を表したオプティカルフローOpのみが検出されたものである。
【0034】
このようにして検出されたオプティカルフローOpを分析して、同一方向に同一量だけ移動している領域を統合して、ひとつの物体であると認識することができる。なお、異なる時刻に撮像された2枚の画像の中からオプティカルフローOpを検出する方法は、広く一般に用いられているため、詳細な処理内容の説明は省略する。ごく簡単に説明すると、一方の画像を複数の小領域(一方の小領域)に分割して、各小領域と濃淡値の分布がよく似ている小領域(他方の小領域)を、他方の画像の中から探索する処理を行って、対応付けられた一方の小領域がオプティカルフローの始点とされて、他方の小領域がオプティカルフローの終点とされる。
【0035】
このようにして検出されたオプティカルフローの終点を構成する小領域のうち、オプティカルフロー同士が近接して、同じ方向を向いて同じ長さを有しているときに、これら複数のオプティカルフローの終点となる小領域を併合して、ひとつの物体を表す領域として検出する。
【0036】
図7は、このようにして検出された物体を表す領域の一例である。
図7に示すように、歩行者X1の領域が物体として検出されて、歩行者X1に外接する矩形領域R1の位置が動き領域検出部54に記憶される。なお、複数の物体が検出されたときには、各物体に外接する複数の矩形領域Ri(i=1,2,…)が検出されて、それぞれの矩形領域Riの位置が動き領域検出部54に記憶される。
【0037】
図8は、動き領域検出部54(物体検出部54d(
図4))に記憶される物体の位置と大きさの記憶形式について説明する図である。
図8に示すように、矩形領域Ri(i=1,2,…)の番号とともに、各矩形領域の左上の頂点座標(sxi,syi)と右下の頂点座標(exi,eyi)が、それぞれ記憶される。
(俯瞰画像からの物体検出方法の説明)
【0038】
図9と
図10Aから
図10Cを用いて、差分演算部58(第2物体検出部)において行われる、俯瞰画像から物体を検出する方法について説明する。
【0039】
図9は差分演算部58の詳細構成を示す機能ブロック図である。
図9に示すように、差分演算部58は、俯瞰画像位置合わせ部58aと、差分演算実行部58bと、物体検出部58cからなる。
【0040】
図10Aから
図10Cは、差分演算部58の作用を説明する図である。
図10Aは時刻t-Δtにおいて後方カメラ12(
図2)が撮像した原画像I(x,y,t-Δt)(
図6A)を、俯瞰画像生成部56(
図2)において俯瞰画像J(x,y,t-Δt)に変換した結果の一例である。
図10Aに示すように、歩行者X1(
図6A)は、俯瞰画像J(x,y,t-Δt)上で領域X1’に変換される。また、駐車枠線Y(
図6A)は、俯瞰画像J(x,y,t-Δt)上で領域Y’に変換される。なお、俯瞰画像J(x,y,t-Δt)への変換は、予め俯瞰画像生成部56に記憶された座標変換テーブル(非図示)を用いて行う。この座標変換テーブルには、原画像の座標と俯瞰画像の座標の対応関係が記憶されている。なお、この座標変換テーブルに、前述した歪曲を補正する歪み補正テーブルの機能も盛り込んで、原画像を俯瞰画像に変換する際に、歪曲を合わせて補正してもよい。
【0041】
図10Bは、時刻tにおいて後方カメラ12(
図2)が撮像した原画像I(x,y,t)(
図6B)を俯瞰画像J(x,y,t)に変換した結果の一例である。
図10Bに示すように、歩行者X1(
図6B)の移動に伴って領域X1’の位置が移動する。また、
図10Bと
図10Aを比較すると、車両10の移動に伴って駐車枠線Y(
図6B)に対応する領域Y’の位置も移動する。
【0042】
図10Cは、差分演算実行部58bにおいて、俯瞰画像J(x,y,t)から俯瞰画像J(x,y,t-Δt)を差し引く差分演算(フレーム差分)を行った結果を示す画像である。差分演算を行う際には、時間Δtの間の車両の挙動に伴って発生する路面の移動を抑制するため、俯瞰画像位置合わせ部58aにおいて、車両の挙動(車輪速と操舵角の変化)から予測される俯瞰画像の路面領域の移動量と移動方向に基づいて、俯瞰画像J(x,y,t-Δt)を予め座標変換して、俯瞰画像J(x,y,t)と位置合わせをしておく。
【0043】
すなわち、差分演算の結果を示す
図10Cの画像においては、俯瞰画像J(x,y,t)と俯瞰画像J(x,y,t-Δt)の間で駐車枠線Yに対応する領域Y’の位置が一致するため、領域Y’の情報は抑制されて、歩行者に対応する領域X1’の移動に対応する領域のみが検出される。
【0044】
次に、物体検出部58cにおいて、差分演算の結果得られた画像(
図10C)の中から物体の検出を行う。
【0045】
具体的には、俯瞰画像同士の差分演算によって得られた結果を所定のしきい値で2値化して、抽出された領域を物体を表す領域とする。なお、検出された領域にはラベル付けを行い、さらに各領域Xj’(j=1,2,…)の重心位置を計算して、個々の領域を識別できるようにしておく。
【0046】
図11は、物体検出部58cに記憶される物体の位置の記憶形式について説明する図である。
図11に示すように、検出された領域の番号とともに、物体として検出された各領域Xj’(j=1,2,…)の重心位置の水平座標gxj(j=1,2,…)と垂直座標gyj(j=1,2,…)がそれぞれ記憶される。
(移動物体判定方法の説明)
【0047】
図7と
図12Aから
図12Cを用いて、検出物体判定部60(
図2)において行われる、動き領域検出部54(第1物体検出部)で検出された物体と差分演算部58(第2物体検出部)で検出された物体が同一の移動物体であるか否かを判定する処理について説明する。
【0048】
動き領域検出部54(第1物体検出部)で検出された物体と差分演算部58(第2物体検出部)で検出された物体が同一の移動物体であるか否かを判定するために、まず、検出された各移動物体を代表する座標値を算出する。
【0049】
すなわち、動き領域検出部54(第1物体検出部)で検出された物体から、物体位置座標として、
図7に示す点F1(fx1,fy1)の座標値を算出する。点F1は、物体に外接する矩形領域R1の下辺の中点に対応する点である。したがって、その水平座標はfx1=(sx1+ex1)/2で算出される。また垂直座標はfy1=ey1で算出される。なお、複数の物体が検出されたときには、
図8に示した記憶情報を参照して、複数の点Fi(fxi,fyi)(i=1,2,…)の座標値をそれぞれ算出する。ここで、点Fi(fxi,fyi)(i=1,2,…)の座標値は、動き領域検出部54で物体検出処理を行った際に併せて算出して、
図8の情報と併せて記憶しておいてもよい。
【0050】
次に、差分演算部58(第2物体検出部)で検出された物体から、検出された領域の重心座標(
図11)を用いて、
図12Aから
図12Cで説明する手順によって、物体を代表する座標値を算出する。
【0051】
まず、
図12Aに示すように、俯瞰画像同士の差分結果を示す画像の中に、後方カメラ12(
図2)の位置を表す後方カメラ位置C(cx,cy)を設定する。この後方カメラ位置Cは、俯瞰画像の表示範囲に応じて一意に決定される。
図12Aの例では、俯瞰画像の下辺上に設置されているものとする。なお、移動物体を表す領域X1’の重心点G1の座標はG1(gx1,gy1)であるとする。
【0052】
次に、
図12Bに示すように、重心点G1(gx1,gy1)と後方カメラ位置C(cx,cy)を結ぶ線分L1を設定する。
【0053】
さらに、
図12Cに示すように、領域X1’に属する点のうち、後方カメラ位置C(cx,cy)に最も接近した接地点H1(hx1,hy1)を求める。具体的には、線分L1上を重心点G1(gx1,gy1)から後方カメラ位置C(cx,cy)に向かって探索して、領域X1’と同じラベル値を有する、重心点G1から最も離れた点の位置を見つければよい。このようにして探索された接地点H1(hx1,hy1)は、領域X1’が路面と接地する接地点の位置を表している。なお、俯瞰画像の差分を行って複数の物体が検出されたときには、
図11に示した物体の位置情報を参照して、複数の接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)をそれぞれ算出する。ここで、接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)は、俯瞰画像から物体を検出する際に同時に算出して、
図11の情報と併せて記憶しておいてもよい。
【0054】
次に、各領域の物体位置座標を示す、画像上の点Fi(i=1,2,…)(
図7)の座標と、各領域の接地点を示す、画像上の接地点Hj(j=1,2,…)の座標の位置関係を比較する。すなわち、後方カメラ12(
図2)の設置位置から見た点Fiの相対位置と、後方カメラ12(
図2)の設置位置から見た接地点Hjの相対位置の距離を判定する。
【0055】
そのため、点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,…)として算出することができる。
【0056】
なお、点Fi(fxi,fyi)の座標値(FXi,FYi)への換算と、接地点Hj(hxj,hyj)の座標値(HXj,HYj)への換算は、後方カメラ12の光学パラメータである焦点距離fや後方カメラ12の設置位置(高さや俯角等)を用いて行うことができる。
【0057】
このとき、
図13に示すように、点Fi(fxi,fyi)のXY座標系における座標値(FXi,FYi)と接地点Hj(hxj,hyj)のXY座標系における座標値(HXj,HYj)は必ずしも一致しない。これは、点Fi(fxi,fyi)は物体の幅や横方向位置の情報を含む矩形領域Riの位置に基づいて算出された点であり、接地点Hj(hxj,hyj)は物体の接地点の位置に基づいて算出された点であるため、計測方法の違いに伴う誤差が生じるためである。
【0058】
したがって、検出物体判定部60(
図2)は、XY座標系における座標値に換算された、点Fiと接地点Hjの距離を求めて、その距離の大きさを判定した結果、点Fiと接地点Hjが所定距離以内に近接しているときに、動き領域検出部54(第1物体検出部)で検出された物体(矩形領域Ri)と、差分演算部58(第2物体検出部)で検出された物体(領域Xj’)が同一移動物体であると判定する。
【0059】
矩形領域Riと領域Xj’が同一移動物体であると判定されたとき、
図8と
図11に示す検出結果が統合されて、新たに統合物体情報として検出物体判定部60に記憶される。このとき、統合結果は添字kを用いて、点Fk(Fi)のXY座標系における座標値(FXk,FYk)(k=1,2,…)と接地点Hk(Hj)のXY座標系における座標値(HXk,HYk)(k=1,2,…)は同じ移動物体を示す情報であるとして記憶される。
(移動物体位置の特定方法の説明)
【0060】
移動物体の位置の特定は、移動物体位置特定部62(
図2)で行われる。以下、その方法について
図13を用いて説明する。なお、
図13は、点Fiと接地点Hjが近接していると判定されて、それらが同一移動物体を示すものと判定されて統合された状態を示す。すなわち、統合前には添字i,jで管理していた情報を、新たに添字kを付与して管理する。
【0061】
まず、先述した移動物体判定の結果、同一移動物体と判定されて検出物体判定部60に記憶された統合物体情報である、各移動物体を示す矩形領域Rk(Ri)の左右端の画像上の座標値sxk,exk(k=1,2,…)と、接地点Hk(Hj)のXY座標系(
図13)における座標値(HXk(HXj),HYk(HYj))(k=1,2,…)がそれぞれ読み出される。
【0062】
次に、矩形領域Rkの左右端の画像上の座標値sxk,exk(k=1,2,…)の差分値を算出することによって、移動物体の画像上の幅wkを算出する。すなわち、移動物体の画像上の幅wkは、wk=exk‐sxk(k=1,2,…)によって算出される。
【0063】
さらに、座標値(HXk,HYk)(k=1,2,…)と、移動物体の画像上の幅wkと、後方カメラ12の光学パラメータである焦点距離fを用いて移動物体の実際の幅Wk(k=1,2,…)を算出する。
【0064】
具体的には、Wk=wk×(後方カメラ位置Cと接地点Hkの距離Dk)/fによって算出することができる。なお、距離Dkは、
図13に示すように、接地点Hk(Hj)のXY座標系における座標値(HXk,HYk)を用いて、Dk=(HXk
2+HYk
2)
1/2によって算出することができる。
【0065】
ここで算出された、移動物体までの距離Dkと、移動物体の実際の幅Wkは、移動物体位置特定部62に記憶される。
(車両挙動制御の作用の説明)
【0066】
車両挙動制御部80の作用について、
図2を用いて説明する。先述した移動物体検出処理によって検出された移動物体の位置情報は、
図2に示す接触判定部82に送られる。
【0067】
接触判定部82は、移動物体の位置情報と車両10の挙動情報(車輪速と操舵角)から、車両10が移動物体に接触する可能性を算出する。具体的には、前述した移動物体位置特定処理によって算出された、車両10(後方カメラ12)と各移動物体との実際の距離Dk(k=1,2,…)と移動物体の実際の幅Wk(k=1,2,…)から、車両10が現在の車速と現在の操舵角のまま移動したと仮定したときに、移動物体と接触する可能性を算出する。
【0068】
その結果、車両10が移動物体と接触する可能性があるときには、警報出力部84から警報を出力して注意喚起を行う。
【0069】
また、移動物体と接触する可能性が非常に高いときには、制動制御部86を作動させて車両10に制動力を発生させ、強制的に車両を停止させ、移動物体との接触を回避する。
(車両挙動制御装置で行われる処理の流れの説明)
【0070】
車両挙動制御装置100aで行われる一連の処理の流れについて、
図14のフローチャートと
図2の機能ブロック図を用いて説明する。なお、ここでは各処理の概要を説明するに留め、各処理の詳細な流れの説明は後述する。
【0071】
(ステップS10)後方カメラ12で車両10の後方の画像を取得する。
【0072】
(ステップS12)動き領域検出部54(第1物体検出部)において、オプティカルフローに基づく移動物体検出処理を行う。
【0073】
(ステップS14)俯瞰画像生成部56において俯瞰画像生成処理を行う。
【0074】
(ステップS16)差分演算部58(第2物体検出部)において、俯瞰画像の差分に基づく移動物体検出処理を行う。
【0075】
(ステップS18)検出物体判定部60において検出物体判定処理を行う。
【0076】
(ステップS20)移動物体位置特定部62において移動物体位置特定処理を行う。
【0077】
(ステップS22)車両挙動制御部80において、車両10の挙動制御を行う。
【0078】
なお、各ステップで行われる処理の詳細な流れについては後述する。
(オプティカルフローに基づく物体検出処理の流れの説明)
【0079】
図14のステップS12で行われるオプティカルフローに基づく物体検出処理の流れについて、
図15のフローチャートと
図4の機能ブロック図を用いて説明する。
【0080】
(ステップS30)平面歪み補正部54aにおいて歪曲補正処理を行う。
【0081】
(ステップS32)オプティカルフロー検出部54bにおいてオプティカルフロー検出処理を行う。
【0082】
(ステップS34)車両挙動フロー検出部54cにおいて車両挙動算出処理を行う。
【0083】
(ステップS36)物体検出部54dにおいて、車両挙動フローと方向が異なるオプティカルフローの抽出処理を行う。
【0084】
(ステップS38)物体検出部54dにおいて、抽出されたオプティカルフローの終点に対応する領域のラベル付け処理を行う。
【0085】
(ステップS40)物体検出部54dにおいて、ラベル付けされた各領域に外接する矩形領域の登録処理を行い、その後メインルーチン(
図14)に戻る。
(俯瞰画像の差分に基づく物体検出処理の流れの説明)
【0086】
図14のステップS16で行われる俯瞰画像の差分に基づく物体検出処理の流れについて、
図16のフローチャートと
図2,
図9の機能ブロック図を用いて説明する。
【0087】
(ステップS50)俯瞰画像生成部56(
図2)において俯瞰画像J(x,y,t‐Δt)を生成する。
【0088】
(ステップS52)俯瞰画像生成部56(
図2)において俯瞰画像J(x,y,t)を生成する。
【0089】
(ステップS54)俯瞰画像位置合わせ部58a(
図9)において、車両情報に基づいて俯瞰画像J(x,y,t‐Δt)を変形処理し、俯瞰画像J(x,y,t)と位置合わせを行う。
【0090】
(ステップS56)差分演算実行部58b(
図9)においてフレーム差分を実行する。
【0091】
(ステップS58)物体検出部58c(
図9)において、フレーム差分の結果に対して、2値化処理とラベリング処理を行う。
【0092】
(ステップS60)物体検出部58c(
図9)において、ラベル付けされた各領域の重心位置の登録処理を行い、その後メインルーチン(
図14)に戻る。
(検出物体判定処理の流れの説明)
【0093】
図14のステップS18で行われる検出物体判定処理の流れについて、
図17のフローチャートを用いて説明する。なお、検出物体判定処理は、
図2に示した検出物体判定部60において行われる。
【0094】
(ステップS70)各矩形領域Ri(i=1,2,…)の位置から、物体の位置座標として点Fi(fxi,fyi)(i=1,2,…)を算出する。
【0095】
(ステップS72)点Fi(fxi,fyi)(i=1,2,…)のXY座標系における座標値(FXi,FYi)(i=1,2,…)を算出する。なお、ステップS70とステップS72は、全ての矩形領域Riに対して繰り返して実行する。
【0096】
(ステップS74)各領域Xj’(j=1,2,…)の重心位置から物体の接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)を算出する。
【0097】
(ステップS76)物体の接地点である接地点Hjの画像上の座標値(hxj,hyj)(j=1,2,…)のXY座標系における座標値(HXj,HYj)(j=1,2,…)を算出する。なお、ステップS74とステップS76は、全ての領域Xj’に対して繰り返して実行する。
【0098】
(ステップS78)座標値(FXi,FYi)(i=1,2,…)と座標値(HXj,HYj)(j=1,2,…)が所定距離以内に近接しているか否かを、全ての添字i,添字jの組み合わせについて判定する。所定距離以内であるときはステップS80に進み、それ以外のときは、判定する領域を変更してステップS78を繰り返す。
【0099】
(ステップS80)座標値(FXi,FYi)に対応する矩形領域Riと座標値(HXj,HYj)に対応する領域Xj’は同一移動物体であると判定されて、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)に戻る。
(移動物体位置特定処理の流れの説明)
【0100】
図14のステップS20で行われる移動物体位置特定処理の流れについて、
図18のフローチャートを用いて説明する。なお、移動物体位置特定処理は、
図2に示した移動物体位置特定部62において行われる。
【0101】
(ステップS90)検出物体判定処理によって同一移動物体と判定された移動物体の情報を読み出す。
【0102】
(ステップS92)同一移動物体を示している動き領域検出部54(第1物体検出部)の検出結果と差分演算部58(第2物体検出部)の検出結果を取得する。
【0103】
(ステップS94)矩形領域Rkの左右端の座標値sxk,exkと、接地点HkのXY座標系における座標値(HXk,HYk)を読み出す。
【0104】
(ステップS96)座標値sxk,exkから、移動物体の画像上の幅wkを算出する。
【0105】
(ステップS98)座標値(HXk,HYk)と移動物体の画像上の幅wkから、移動物体の実際の幅Wkを算出する。なお、このとき、移動物体までの距離Dkも算出しておく。
【0106】
(ステップS100)移動物体の実際の幅Wkと、移動物体までの距離Dkと、XY座標系における座標値(HXk,HYk)を、検出された移動物体の位置情報として登録する。なお、ステップS90からステップS100の処理は、全ての添字k(k=1,2,…)について行う。その後、メインルーチン(
図14)に戻る。
【実施例2】
【0107】
本発明に係る車両用外界認識装置を用いた車両挙動制御装置の別の具体的な実施形態について、図面を参照して説明する。
(実施例2の機能構成の説明)
【0108】
本実施例2は、本発明を、車両後方の移動物体を検出して、後退駐車時に移動物体と接触する可能性があるときには、車両に制動をかけて停止させる車両挙動制御装置に適用したものである。
【0109】
図19は、実施例2に係る車両挙動制御装置100bの機能構成を示す機能ブロック図である。車両挙動制御装置100bは、前述した車両挙動制御装置100aが有する車両用外界認識装置50a(
図2)の代わりに車両用外界認識装置50bを有している。
【0110】
車両用外界認識装置50bの内部構成は、車両用外界認識装置50aの内部構成とほぼ同様であるが、動き領域検出部55(第1物体検出部)の内部構成と移動物体位置特定部63の内部構成のみが異なっている。以下、動き領域検出部55の内部構成と移動物体位置特定部63の内部構成についてのみ説明する。なお、それ以外の構成要素の機能は実施例1で説明した通りであるため、説明は省略する。
(歪曲補正方法の説明)
【0111】
図20は、車両挙動制御装置100bに実装された動き領域検出部55(第1物体検出部)の詳細な内部構成を示す機能ブロック図である。動き領域検出部55は、原画像I(x,y,t)を、路面に垂直に立てた仮想的な円筒面に投影した円筒面投影画像Ic(x,y,t)(投影画像)に変換する円筒面歪み補正部54eと、時刻tに撮像された原画像から生成された円筒面投影画像Ic(x,y,t)と時刻t-Δtに撮像された原画像から生成された円筒面投影画像Ic(x,y,t-Δt)からオプティカルフローを検出するオプティカルフロー検出部54bと、時刻t-Δtから時刻tまでの間の車両10の車輪速と操舵角の変化に基づいて、時間Δtの間の車両10の移動に伴って発生すると予想されるオプティカルフローを算出する車両挙動フロー検出部54cと、オプティカルフロー検出部54bで検出されたオプティカルフローと車両挙動フロー検出部54cで算出されたオプティカルフローに基づいて物体を検出する物体検出部54dとからなる。
【0112】
円筒面歪み補正部54eは、観測された原画像I(x,y,t)に生じる歪曲を取り除いて補正する機能を有する。具体的には、原画像I(x,y,t)を、路面から垂直に起立して、後方カメラ12の焦点位置を中心とする円弧上に形成された仮想的な円筒面に投影して、
図5Cに示す円筒面投影画像Ic(x,y,t)を生成する。この仮想的な円筒面への投影処理によって、原画像I(x,y,t)の中に生じていた歪曲を取り除くことができ、
図5Cに示すように、歩行者X2は直立した状態に変換される。そして、この円筒面投影画像Ic(x,y,t)から歩行者を検出することによって、歩行者の位置と幅を正確に特定することができる。
【0113】
なお、実施例1で説明した車両挙動制御装置100aでは、同様の投影処理を行って平面投影画像Ip(x,y,t)を生成したが、
図5Bと
図5Cを比較するとわかるように、いずれの投影処理を行っても歪曲が取り除かれて、歩行者が直立した画像が得られる。なお、
図5Cに示す円筒面投影画像Ic(x,y,t)と、
図5Bに示す平面投影画像Ip(x,y,t)を比較すると、仮想面に投影される際の倍率が異なるため、円筒面投影画像Ic(x,y,t)にあっては、画像の辺縁部において歩行者がより小さく投影される。しかし、円筒面に投影しているため、物体の上下方向の形状は保持されて、歩行者は歩行者の形状を保って補正される。すなわち、歩行者の検出性能が悪化することはない。また、
図5Bと
図5Cを比較すると、歩行者の足元位置が異なっているが、これは投影方法の違いによって発生する現象であって、車両と物体の距離は、原画像から生成した俯瞰画像に基づいて算出されるため、物体の検出性能への影響はない。
【0114】
すなわち、実施例1で説明した平面投影と本実施例2で説明する円筒面投影のいずれを用いても、原画像の歪曲を補正することができる。また、実際の投影処理は、予め生成された歪み補正テーブルを用いて行うことができるため、いずれの投影方法を用いても処理に要する時間は変わらない。なお、円筒面投影を用いると、平面投影に比べて広い視野の情報を画像化することができるため、広視野の情報が必要なアプリケーションに対しては、円筒面投影がより望ましい歪曲補正方法である。
(移動物体位置の特定方法の説明)
【0115】
移動物体位置特定部63で行われる物体位置特定方法について、実施例1との違いに着目して説明する。まず、先述した移動物体判定の結果、同一移動物体と判定されて検出物体判定部60に記憶された、各移動物体を示す矩形領域Rkの左右端の座標値sxk,exk(k=1,2,…)と、接地点HkのXY座標系における座標値(HXk,HYk)(k=1,2,…)がそれぞれ読み出される。
【0116】
次に、接地点HkのY方向の座標値HYk(k=1,2,…)と、矩形領域Rkの左右端の座標値sxk,exk(k=1,2,…)から移動物体の実際の左右端の位置SXk,EXk(k=1,2,…)を算出する(
図13)。
【0117】
移動物体の実際の左右端の位置SXk,EXk(k=1,2,…)は、移動物体の接地点HkのY方向の座標値HYk(k=1,2,…)と、後方カメラ12の光学パラメータである焦点距離fを用いて算出することができる。具体的には、例えば、SXk=sxk*HYk/f,EXk=exk*HYk/fによって算出することができる。
【0118】
このようにして算出された移動物体の実際の左右端の位置SXk,EXk(k=1,2,…)から、左右端の位置SXk,EXkの中点として移動物体の実際の横方向位置FXk(k=1,2,…)を算出することができる。さらに、移動物体の実際の幅Wkを算出することができる。なお、このとき、移動物体までの距離Dkも算出しておく。
【0119】
具体的には、FXk=(SXk+EXk)/2,Wk=EXk−SXkによって、それぞれ算出することができる。また、距離Dkは実施例1で説明した通り、座標値(HXk,HYk)を用いて算出する。
【0120】
このようにして算出された移動物体の実際の幅Wkと移動物体までの距離Dkと移動物体の位置を示す座標値(FXk,FYk)(k=1,2,…)は、移動物体位置特定部63に記憶される。
【0121】
すなわち、実施例1では、画像上の移動物体の幅と移動物体の接地点の位置座標から移動物体の実際の幅を算出したが、本実施例2では、画像上の移動物体の左右端の位置と移動物体の接地点の位置座標から移動物体の実際の幅を算出する点が異なっている。いずれの方法を用いても移動物体の位置を確実に特定することができるが、移動物体の左右端の位置を用いる実施例2の方法によると、移動物体の横方向の位置精度をより向上させることができる。
(車両挙動制御装置で行われる処理の流れの説明)
【0122】
車両挙動制御装置100bで行われる一連の処理は、
図14のフローチャートとほぼ同じ流れで行われる。すなわち、
図14は車両挙動制御装置100aで行われる処理の流れを示すフローチャートであるが、実施例2に示した車両挙動制御装置100bの処理の大まかな流れを示すためにも流用できるため、実施例2のメインルーチンは
図14で表されるものとして以後の説明を行う。
【0123】
なお、
図14に示した各処理の概要は実施例1で説明した通りであるため、再度の説明は省略し、実施例1と異なる部分についてのみ説明する。
(オプティカルフローに基づく移動物体検出処理の流れの説明)
【0124】
本実施例2において、
図14のステップS12で行うオプティカルフローに基づく移動物体検出処理の流れは実施例1と同じであるが、歪曲補正処理(
図15のステップS30)の内容のみが異なる。
【0125】
すなわち、実施例2では、
図20に示す円筒歪み補正部54eにおいて、円筒面投影による原画像I(x,y,t)の歪曲補正を行う。
(移動物体位置特定処理の流れの説明)
【0126】
図14のステップS20で行われる移動物体位置特定処理の流れは、実施例1(
図18)と異なるため、
図21のフローチャートを用いて説明する。なお、移動物体位置特定処理は、
図19に示した移動物体位置特定部63において行われる。
【0127】
(ステップS110)検出物体判定処理によって同一移動物体と判定された移動物体の情報を読み出す。
【0128】
(ステップS112)同一移動物体を示している動き領域検出部54(第1物体検出部)の検出結果と差分演算部58(第2物体検出部)の検出結果を取得する。
【0129】
(ステップS114)矩形領域Riの左右端の座標値sxk,exkと、接地点HkのXY座標系における座標値(HXk,HYk)(k=1,2,…)を読み出す。
【0130】
(ステップS116)座標値(HXk,HYk)と座標値sxk,exkから、移動物体の実際の左右端の位置SXk,EXk(k=1,2,…)を算出する。
【0131】
(ステップS118)移動物体の横方向位置FXk(k=1,2,…)と、移動物体の実際の幅Wkを算出する。なお、このとき、移動物体までの距離Dkも算出しておく。
【0132】
(ステップS120)移動物体の実際の幅Wkと移動物体までの距離Dkと移動物体の位置を示す座標値(FXk,FYk)(k=1,2,…)を、検出された移動物体の位置情報として登録する。なお、ステップS110からステップS120の処理は、全ての添字k(k=1,2,…)について行う。その後、メインルーチン(
図14)に戻る。
【実施例3】
【0133】
本発明に係る車両用外界認識装置を用いた車両挙動制御装置の別の具体的な実施形態について、図面を参照して説明する。
(実施例3の機能構成の説明)
【0134】
本実施例3は、本発明を、車両後方の移動物体を検出して、後退駐車時に移動物体と接触する可能性があるときには、車両に制動をかけて停止させる車両挙動制御装置に適用したものである。
【0135】
図22は、実施例3に係る車両挙動制御装置100cの機能構成を示す機能ブロック図である。車両挙動制御装置100cは、車両用外界認識装置50cと車両挙動制御部80からなり、前述した車両挙動制御装置100a,100bとは、動き領域検出部57(第1物体検出部)の内部構成と検出物体判定部61の内部構成と移動物体位置特定部65の内部構成が異なっている。以下、動き領域検出部57と検出物体判定部61と移動物体位置特定部65の内部構成についてのみ説明する。なお、それ以外の構成要素の機能は実施例1で説明した通りであるため、説明は省略する。
【0136】
動き領域検出部57(第1物体検出部)は、原画像I(x,y,t‐Δt),I(x,y,t)の中から物体の検出を行う。
【0137】
図23は、動き領域検出部57(第1物体検出部)の詳細な内部構成を示す機能ブロック図である。動き領域検出部57は、
図4に示した実施例1の動き領域検出部54の構成に加えて、原画像I(x,y,t)の中からパターンマッチングによって歩行者を検出する歩行者パターン検出部57aと、原画像I(x,y,t)の中からパターンマッチングによって車両を検出する車両パターン検出部57bを有する。このような構成にすることによって、原画像I(x,y,t)の中から検出された物体の種別を特定して、物体までの距離の検出精度を向上させることができる。詳しくは後述する。
【0138】
検出物体判定部61は、動き領域検出部57(第1物体検出部)で検出された物体と差分演算部58(第2物体検出部)で検出された物体が同一の物体であるか否かを判定する。なお、動き領域検出部57(第1物体検出部)で検出された物体として、歩行者パターン検出部57aの検出結果と車両パターン検出部57bの検出結果が併せて参照される点が、実施例1,実施例2とは異なる。
【0139】
移動物体位置特定部65は、検出された移動物体の存在位置を特定する。その際、検出された移動物体の種別に応じて、移動物体までの距離の算出方法を変更する点が、実施例1,実施例2とは異なる。詳細は後述する。
(歩行者パターン,車両パターン検出方法の説明)
【0140】
動き領域検出部57(第1物体検出部)において行われる、原画像I(x,y,t)から歩行者パターンと車両パターンを検出する方法について説明する。
【0141】
歩行者パターンと車両パターンの識別は、一般的に行われているパターンマッチングによって行う。より具体的には、テンプレートマッチング,輝度勾配の分布ヒストグラムを用いたパターン識別法(HOG),ニューラルネットワークを用いたパターン識別等のいずれの方法を用いて行っても構わない。
【0142】
なお、パターンマッチングを効率的に行うために、原画像I(x,y,t)から生成した解像度の低いピラミッド画像を用いるのが望ましい。
【0143】
検出された歩行者パターンおよび車両パターンは、オプティカルフローに基づいて検出された物体と同様の形式で動き領域検出部57に記憶される。すなわち、検出された歩行者パターンまたは車両パターンに外接する矩形領域Ri(i=1,2,…)の番号とともに、各矩形領域の左上の頂点座標(sxi,syi)と右下の頂点座標(exi,eyi)が、それぞれ記憶される。また、このとき、物体の位置を代表する点Fi(
図7)の座標を算出して同時に記憶しておいてもよい。
(移動物体判定方法の説明)
【0144】
検出物体判定部61は、オプティカルフローに基づく物体の検出結果と、俯瞰画像の差分による物体の検出結果に加えて、歩行者パターンの検出結果と車両パターンの検出結果を用いて、検出された物体が同一移動物体であるか否かを特定する。詳細な処理の流れは後述する。
(移動物体位置の特定方法の説明)
【0145】
移動物体位置特定部65は、検出物体判定部61で同一移動物体であると判定された移動物体の存在位置を特定する。その際、検出された移動物体が歩行者であるか車両であるかによって、移動物体までの距離の計測方法を変更する。
【0146】
具体的には、検出された移動物体が車両であるときは、オプティカルフロー検出部54b(
図23)の検出結果に基づいて移動物体までの距離を算出する。そして、検出された移動物体が歩行者であるときは、差分演算部58(
図22)の検出結果に基づいて移動物体までの距離を算出する。
【0147】
車両のように、路面に接する接地点(タイヤ)と後方カメラ12に最も接近した近接点(バンパー)が異なる物体(オーバーハングがある物体)にあっては、俯瞰画像の差分結果から算出された接地点(例えば、
図12CのH1(hx1,hy1))は、必ずしも移動物体までの距離を表していない。
【0148】
接地点と近接点が異なる例を、
図24Aから
図24Cを用いて説明する。
図24Aは、後方カメラ12で取得された原画像I(x,y,t)の一例である。原画像I(x,y,t)の中には、歩行者X1と他車両Y1が写っている。歩行者X1には、オプティカルフローに基づいて検出された移動物体として矩形領域R1と移動物体の位置を表す点F1が重畳されている。また、他車両Y1には、オプティカルフローに基づいて検出された移動物体として矩形領域R2と移動物体の位置を表す点F2が重畳されている。
【0149】
図24Bは、原画像I(x,y,t)を俯瞰画像J(x,y,t)に変換した例である。歩行者X1は領域X1’に変換されて、他車両Y1は領域Y1’に変換される。そして、歩行者X1が変換された領域X1’からは接地点H1が検出されて、他車両Y1が変換された領域Y1’からは接地点H2が検出される。
【0150】
そして、後方カメラ位置Cと領域X1’の接地点H1の距離が、車両10から歩行者X1までの距離として算出される。また、後方カメラ位置Cと領域Y1’の接地点H2の距離が、車両10から他車両Y1までの距離として算出される。
【0151】
このとき、歩行者X1から検出された点F1と接地点H1は同一点を表している。一方、他車両Y1から検出された点F2と接地点H2は同一点を表していない。したがって、
図24Cに示すように、点F2は他車両Y1のバンパー前端の位置を表しているのに対し、接地点H2は他車両Y1のタイヤ接地点の位置を表している。
【0152】
本実施例3は、このようにして発生する可能性がある移動物体の位置の算出誤差を低減するために、原画像から車両が検出されたときには、原画像からオプティカルフローに基づいて検出された移動物体の位置を表す点F2に基づいて移動物体までの距離を算出する。一方、原画像から歩行者が検出されたときには、俯瞰画像からフレーム差分によって検出された移動物体の接地点H1に基づいて移動物体までの距離を算出する。
【0153】
以下、
図29Aと
図29Bを用いて、移動物体の存在位置と移動物体の幅を特定する方法について具体的に説明する。
【0154】
図29Aは、移動物体として歩行者が検出されたときに、その存在位置と幅を特定する方法を示す図である。
【0155】
すなわち、俯瞰画像の差分に基づいて物体(領域Xi’)が検出されて、オプティカルフローに基づいて物体(矩形領域Ri)が検出されないときは、俯瞰画像の差分に基づいて得た領域Xi’の接地点のXY座標系における座標値(HXi,HYi)から物体までの距離Diを算出する。そして、距離Diと歩行者パターンを代表する点Fp(FXp,FYp)の位置から移動物体の横方向位置FXpを算出する。さらに、距離Diと歩行者パターンの幅wpから移動物体の幅Wiを算出する。
【0156】
また、俯瞰画像の差分に基づいて物体(領域Xi’)が検出されて、なおかつ、オプティカルフローに基づいて物体(矩形領域Ri)が検出されたときは、俯瞰画像の差分に基づいて得た領域Xi’の接地点のXY座標系における座標値(HXi,HYi)から距離Diを算出する。そして、距離Diと歩行者パターンを代表する点Fp(FXp,FYp)の位置とオプティカルフローから得た点Fiの座標値(FXi,FYi)から移動物体の横方向位置FXiを算出する。さらに、距離Diと歩行者パターンの幅wiから移動物体の幅Wiを算出する。
【0157】
図29Bは、物体として車両が検出されたときに、その存在位置と幅を特定する方法を示す図である。
【0158】
すなわち、俯瞰画像の差分に基づいて物体(領域Xi’)が検出されて、オプティカルフローに基づいて物体(矩形領域Ri)が検出されないときは、俯瞰画像の差分に基づいて得た領域Xi’の接地点のXY座標系における座標値(HXi,HYi)から距離Diを算出する。そして、距離Diと車両パターンを代表する点Fv(FXv,FYv)の位置から移動物体の横方向位置FXiを算出する。さらに、距離Diと車両パターンの幅wiから移動物体の幅Wiを算出する。
【0159】
また、俯瞰画像の差分に基づいて物体(領域Xi’)が検出されて、なおかつ、オプティカルフローに基づいて物体(矩形領域Ri)が検出されたときは、俯瞰画像の差分に基づいて得た領域Xi’の接地点のXY座標系における座標値(HXi,HYi)から距離Diを算出する。そして、距離Diと車両パターンを代表する点Fv(FXv,FYv)の位置とオプティカルフローから得た点Fiの座標値(FXi,FYi)から移動物体の横方向位置FXiを算出する。さらに、距離Diと車両パターンの幅wiから移動物体の幅Wiを算出する。
【0160】
このように、実施例3にあっては、移動物体として歩行者が検出されたときと、車両が検出されたときとで、移動物体までの距離,移動物体の横方向位置,移動物体の幅の算出方法を変更している。
(車両挙動制御装置で行われる処理の流れの説明)
【0161】
車両挙動制御装置100cで行われる一連の処理の流れについて、
図25のフローチャートと
図22,
図23の機能ブロック図を用いて説明する。なお、ここでは各処理の概要を説明するに留め、各処理の詳細な流れの説明は後述する。
【0162】
(ステップS130)後方カメラ12で車両10の後方の画像を取得する。
【0163】
(ステップS132)動き領域検出部57(第1物体検出部)において、オプティカルフローに基づく物体検出処理を行う。
【0164】
(ステップS134)動き領域検出部57(第1物体検出部)において、歩行者パターン検出処理を行う。
【0165】
(ステップS136)動き領域検出部57(第1物体検出部)において、車両パターン検出処理を行う。
【0166】
(ステップS138)俯瞰画像生成部56において俯瞰画像生成処理を行う。
【0167】
(ステップS140)差分演算部58(第2物体検出部)において、俯瞰画像の差分に基づく物体検出処理を行う。
【0168】
(ステップS142)検出物体判定部61において検出物体判定処理を行う。
【0169】
(ステップS144)移動物体位置特定部65において移動物体位置特定処理を行う。
【0170】
(ステップS146)車両挙動制御部80において、車両10の挙動制御を行う。
(歩行者パターン,車両パターン検出処理の流れの説明)
【0171】
図25のステップS134で行われる歩行者パターン検出処理、およびステップS136で行われる車両パターン検出処理の流れについて、
図26のフローチャートを用いて説明する。なお、
図25のフローチャートでは、歩行者パターン検出処理(ステップS134)と車両パターン検出処理(ステップS136)を分けて記載したが、実際は同じ原画像I(x,y,t)を対象にした処理であるため、
図26に示すように一連の処理として実行する。
【0172】
(ステップS150)原画像I(x,y,t)からピラミッド画像を生成する。
【0173】
(ステップS152)生成したピラミッド画像に対して歩行者パターンを検出する歩行者パターン検出処理を実行する。
【0174】
(ステップS154)生成したピラミッド画像に対して車両パターンを検出する車両パターン検出処理を実行する。
【0175】
(ステップS156)検出された歩行者パターンについて、同じ歩行者を示している複数の検出パターンを統合する。同様に、検出された車両パターンについて、同じ車両を示している複数の検出パターンを統合する。
【0176】
(ステップS158)検出された歩行者パターン,車両パターンの登録処理を行う。具体的には、検出されたパターンに外接する矩形領域Riの頂点座標と、矩形領域Riの下辺の中点である点Fi(
図7の点F1に対応する点)の座標が算出されて記憶される。その後メインルーチン(
図25)に戻る。
(検出物体判定処理の流れの説明)
【0177】
図25のステップS142で行われる検出物体判定処理の流れについて、
図27Aから
図27Cのフローチャートを用いて説明する。
【0178】
(ステップS160)ステップS140の処理によって記憶された接地点Hj(hxj,hyj)の情報を読み出す。
【0179】
(ステップS162)接地点Hj(hxj,hyj)の実空間座標(HXj,HYj)を算出する。なお、実空間座標(HXj,HYj)が予め記憶されているときは、記憶された情報を読み出す。
【0180】
(ステップS164)ステップS132の処理によって記憶された点Fi(fxi,fyi)の情報を読み出す。
【0181】
(ステップS166)点Fi(fxi,fyi)の実空間座標(FXi,FYi)を算出する。
【0182】
(ステップS168)
図27Bに示すフローチャートを実行する。
【0183】
(ステップS170)
図27Cに示すフローチャートを実行する。なお、ステップS164からステップS170は、全ての矩形領域Riに対して繰り返して実行する。また、ステップS160からステップS170は、全ての領域Xj’に対して繰り返して実行する。その後、メインルーチン(
図25)に戻る。
【0184】
以下、
図27AのステップS168で行う処理の流れを
図27Bを用いて説明する。
【0185】
(ステップS180)歩行者検出結果を読み出す。
【0186】
(ステップS182)歩行者の位置を表す点Fp(fxp,fyp)を読み出す。
【0187】
(ステップS184)点Fp(fxp,fyp)の実空間座標(Fxp,Fyp)を算出する。
【0188】
(ステップS186)接地点Hjの実空間座標(HXj,HYj)と点Fpの実空間座標(Fxp,Fyp)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS188に進み、それ以外のときはステップS182に戻り、異なる歩行者検出結果に対する処理を行う。
【0189】
(ステップS188)接地点Hjの実空間座標(HXj,HYj)と点Fiの実空間座標(FXi,FYi)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS190に進み、それ以外のときはステップS192に進む。
【0190】
(ステップS190)オプティカルフローに基づく物体の検出結果と、俯瞰画像の差分に基づく物体の検出結果と、歩行者検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61に記憶される。なお、ステップS182からステップS190は、全ての歩行者検出結果に対して繰り返して実行する。その後、メインルーチン(
図25)に戻る。
【0191】
(ステップS192)俯瞰画像の差分に基づく物体の検出結果と、歩行者検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61に記憶される。なお、ステップS182からステップS192は、全ての歩行者検出結果に対して繰り返して実行する。その後、メインルーチン(
図25)に戻る。
【0192】
以下、
図27AのステップS170で行う処理の流れを
図27Cを用いて説明する。
【0193】
(ステップS200)車両検出結果を読み出す。
【0194】
(ステップS202)歩行者の位置を表す点Fv(fxv,fyv)を読み出す。
【0195】
(ステップS204)点Fv(fxv,fyv)の実空間座標(FXv,FYv)を算出する。
【0196】
(ステップS206)接地点Hjの実空間座標(HXj,HYj)と点Fvの実空間座標(FXv,FYv)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS208に進み、それ以外のときはステップS202に戻り、異なる車両検出結果に対する処理を行う。
【0197】
(ステップS208)接地点Hjの実空間座標(HXj,HYj)と点Fiの実空間座標(FXi,FYi)が所定距離以内にあるか否かを判定する。所定距離以内にあるときはステップS210に進み、それ以外のときはステップS212に進む。
【0198】
(ステップS210)オプティカルフローに基づく物体の検出結果と、俯瞰画像の差分に基づく物体の検出結果と、車両検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61に記憶される。なお、ステップS202からステップS210は、全ての車両検出結果に対して繰り返して実行する。その後、メインルーチン(
図25)に戻る。
【0199】
(ステップS212)俯瞰画像の差分に基づく物体の検出結果と、車両検出結果は同じ移動物体を示していると判断して、これらを統合する。統合された情報は、実施例1,実施例2と同様に添字kで管理されて、検出物体判定部61に記憶される。なお、ステップS202からステップS212は、全ての車両検出結果に対して繰り返して実行する。その後、メインルーチン(
図25)に戻る。
(移動物体位置特定処理の流れの説明)
【0200】
図25のステップS144で行われる移動物体位置特定処理の流れについて、
図28のフローチャートを用いて説明する。
【0201】
(ステップS220)前述した検出物体判定処理によって統合した移動物体統合結果を検出物体判定部61から読み出す。
【0202】
(ステップS222)統合した移動物体が歩行者であるか否かを判定する。歩行者であるときはステップS224に進み、それ以外のときはステップS226に進む。
【0203】
(ステップS224)着目している移動物体統合結果に対応する検出結果のうち、オプティカルフローに基づく検出結果,俯瞰画像の差分に基づく検出結果,歩行者検出結果をそれぞれ読み出す。
【0204】
(ステップS226)着目している移動物体統合結果に対応する検出結果のうち、オプティカルフローに基づく検出結果,俯瞰画像の差分に基づく検出結果,車両検出結果をそれぞれ読み出す。
【0205】
(ステップS228)前述した
図29A,
図29Bのテーブルに基づいて、移動物体までの距離,横方向位置,幅を算出して登録する。なお、ステップS222からステップS228は、全ての移動物体統合結果に対して繰り返して実行する。その後、メインルーチン(
図25)に戻る。
【0206】
以上説明したように、このように構成された本発明の実施例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をより高い精度で確実に検出することができる。
【0207】
また、このように構成された本発明の実施例1に係る車両挙動制御装置100aによれば、動き領域検出部54(第1物体検出部)は、原画像I(x,y,t)を路面から垂直に起立した平面に投影した平面投影画像Ip(x,y,t)(投影画像)の中から物体を検出するため、予め用意された歪み補正テーブルを用いた簡便な処理によって原画像I(x,y,t)に生じる歪曲を確実に補正して物体を検出することができる。
【0208】
そして、このように構成された本発明の実施例1に係る車両挙動制御装置100aによれば、動き領域検出部54(第1物体検出部)は、異なる時刻t‐Δt,tに取得された複数の原画像I(x,y,t‐Δt),I(x,y,t)の中から算出されたオプティカルフローに基づいて物体を検出するため、物体の移動に伴って発生した移動領域を確実に検出することができる。
【0209】
さらに、このように構成された本発明の実施例1に係る車両挙動制御装置100aによれば、動き領域検出部54(第1物体検出部)は、物体として歩行者および車両を検出するため、車両10の移動の際に障害となる可能性が高い物標を確実に検出することができる。
【0210】
また、このように構成された本発明の実施例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)間のフレーム差分の結果に基づいて物体を検出するため、物体の接地点の位置を簡便かつ確実に検出することができる。
【0211】
そして、このように構成された本発明の実施例1に係る車両挙動制御装置100aによれば、車両用外界認識装置50aの認識結果に基づいて車両10の制駆動力制御を行うため、例えば、駐車時に車両10の挙動を確実に制御して、移動物体に接触させることなく駐車動作を行わせることができる。
【0212】
さらに、このように構成された本発明の実施例2に係る車両挙動制御装置100bによれば、動き領域検出部55(第1物体検出部)は、原画像I(x,y,t)を路面と直交する円筒面に投影した円筒面投影画像Ic(x,y,t)(投影画像)の中から移動物体を検出するため、予め用意された歪み補正テーブルを用いた簡便な処理によって原画像I(x,y,t)に生じる歪曲を確実に補正することができるとともに、より広視野の画像情報を得ることができる。すなわち魚眼レンズのように画角の広いレンズが装着された後方カメラ12を用いたときに、歪曲補正を行った後でもより広範囲の画像を得ることができる。
【0213】
また、このように構成された本発明の実施例3に係る車両挙動制御装置100cによれば、動き領域検出部57(第1物体検出部)は、さらに原画像I(x,y,t)に対してパターンマッチングを行うことによって物体を検出するため、原画像が有している物体の形状特徴や濃淡特徴を利用することができ、これによって歩行者や車両をより一層確実に検出することができる。
【0214】
そして、このように構成された本発明の実施例3に係る車両挙動制御装置100cによれば、検出物体判定部61は、さらに、移動物体が歩行者であるか車両であるかを判別して、移動物体位置特定部65は、移動物体が歩行者であるときには、差分演算部58(第2物体検出部)の検出結果に基づいて移動物体までの距離Dkを算出し、移動物体が車両であるときには、動き領域検出部57(第1物体検出部)の検出結果に基づいて移動物体までの距離Dkを算出するため、移動物体の種類に応じて、より精度の高い検出方法によって検出された結果を利用することができるため、移動物体の検出を高精度で行うことができる。
【0215】
なお、実施例1から実施例3では、物体として歩行者と車両を検出する例を示したが、物体の種類は歩行者と車両に限定されるものではない。すなわち、路面から高さを有して、車両10と接触する可能性がある物体であれば、本願発明を用いて検出することができる。
【0216】
また、実施例1から実施例3では、車両10の後端に装着した後方カメラ12を用いた例を説明したが、カメラの設置位置は車両10の後端に限定されるものではない。また、使用するカメラも1台に限定されるものではない。すなわち、車両の前端,左右端,後端にそれぞれカメラを設置しても、実施例1から実施例3と同様の装置構成を実現することができる。
【0217】
以上、本発明の実施例を図面により詳述したが、実施例は本発明の例示にしか過ぎないものであるため、本発明は実施例の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。