[第1実施の形態]
以下、図面を用いて本実施の形態について説明する。
図1は、本実施の形態における外界認識装置の機能ブロック図である。図1に示すブロック図の処理内容は、撮像装置や自動車に搭載されるコンピュータにプログラミングされた外界認識装置用のプログラムを実行することによって実現され、予め定められた周期で繰り返し実行される。
本実施の形態における外界認識装置100は、検知領域設定部101と、物体検知部102と、速度演算部103と、速度判定部104と、障害物検知部105を有している。
検知領域設定部101は、自車の車両情報に基づいて自車前方の障害物を検知する障害物検知領域を設定する処理を行う。自車の車両情報には、ホイールベースなどの車両本体に関する情報の他に、ステア角α[rad]、車速VSP[m/s]などの走行状態を表すパラメータを含み、ステア角αおよび車速VSPの他にはヨーレートもしくはヨー角、加速度・減速度などでもよい。車両情報は、自車に設けられた車両情報検出部132によって検出され、検知領域設定部101に提供される。
物体検知部102は、自車前方に送信波を照射し、その送信波が障害物に反射したときの反射波を受信して障害物を検知し、障害物と自車との位置や相対距離を計測する第1検知部111と、撮像装置203によって撮像した映像データ(画像)を画像処理して障害物を検知する第2検知部112を有している。
第2検知部112の画像処理には、障害物の速度ベクトルを計測するオプティカルフロー計測、及び画像内の障害物を検出するパターンマッチングが含まれる。オプティカルフロー計測では、移動する障害物を検知した時刻における障害物の画像と、当該検知時刻より所定時間前の時刻における障害物の画像とを比較し、当該2つの画像に共通する障害物の特徴部分の移動(画素の変化)から、障害物のオプティカルフロー(速度ベクトル)が演算される。
パターンマッチングでは、予め学習して記憶した様々な障害物の形状パターンと、画像上の障害物が有する局所的なエッジなどの外形の特徴部分とを比較して、類似度を求め、その類似度に基づいて障害物を識別する。物体検知部102で検知される障害物としては、主に歩行者を対象とするが、その他には、車両、自転車、犬や猫などの小動物でも良い。
自車周囲の映像データは、撮像装置203によって撮像され、撮像装置203から第2検知部112に供給される。撮像装置203は、主にカメラ装置であり、自車に取り付けられ、障害物などを含む自車周囲の道路環境の映像を撮影する。なお、カメラは光学式の単眼カメラの他に、ステレオカメラや赤外線カメラでもよく、単体もしくは複数台取り付けることが可能である。第1検知部111による障害物検知結果と第2検知部112による障害物検知結果は、それぞれ速度演算部103に出力される。
速度演算部103は、物体検知部102の第1検知部111による検知結果から自車と障害物との相対速度を演算する第1速度演算部121と、第2検知部112による検知結果から障害物の相対速度を演算する第2速度演算部122を有している。
第1速度演算部121では、第1検知部111で検出した自車と障害物との位置もしくは相対距離の情報に基づいて該障害物の相対速度(第1速度V1(Vx1、Vy1))が演算される。
第2速度演算部122では、第2検知部112で計測した障害物のオプティカルフローに基づいて該障害物の相対速度(第2速度V2(Vx2、Vy2))が演算される。第1速度演算部121による相対速度演算結果と、第2速度演算部122による相対速度演算結果は、それぞれ速度判定部104に出力される。
速度判定部104は、速度演算部103の第1速度演算部121により演算した障害物の相対速度である第1速度V1と、第2速度演算部122により演算した障害物の相対速度である第2速度V2との速度差ΔVを演算する。そして、その速度差ΔVと速度差閾値ΔVTHとを比較して、速度差ΔVが速度差閾値ΔVTHよりも小さいか否かを判定する処理を行う。速度差閾値ΔVTHは、速度差閾値記憶部106に予め記憶されている。
障害物検知部105は、速度判定部104の判定結果に基づいて所定の検知領域内における障害物の検知を行い、その検知結果を障害物検知信号として出力する。例えば、速度判定部104において速度差ΔVと閾値ΔVTHとの差が所定の範囲内であれば、第1検知部111と第2検知部1112が検知した障害物は互いに同一であると判定して物体検出フラグをセットし、所定の範囲外であれば第1検知部111と第2検知部112が検知した障害物は互いに異なると判定して物体検出フラグをクリアする処理を行う。
次に、図2を用いて、検知領域設定部101で設定される障害物検知領域(測距センサの検知範囲及び画像処理対象の領域)210について説明する。
自車(自動車の車両)201には、図2に示すように、測距センサ(測距手段)202と、画像処理装置を内蔵する撮像装置203が搭載されている。測距センサ202は、自車201の前方の障害物を検知可能に取り付けられ、撮像装置203は、自車201の前方を撮像可能に取り付けられている。なお、図2に符号202R、202Lは、測距センサ202の最大検知角を示す破線であり、符号203R、203Lは、撮像装置203の最大視野角を示す破線である。
障害物検知領域210は、測距センサ202の最大検知角(破線202R、202Lの間に挟まれる範囲)と、撮像装置203の最大視野角(破線203R、203Lの間に挟まれる範囲)の範囲内に設定される。
自車201と障害物検知領域210との間には、非検知領域209が存在する。非検知領域209(長さDNR[m])は、撮像装置203の取り付け位置や仕様等の関係から、撮像装置203で障害物を検知することが困難な領域である。検知が困難な理由としては、例えば、非検知領域209に人間等のように上下に長い障害物が存在する場合に、障害物の最下部や最上部が撮像装置203のフレーム枠外にはみ出してパターンマッチングによる検知精度が低下すること、また、障害物と自車201との距離が近すぎて画像上での障害物の情報量が多くかつ移動する障害物の場合は画像に映っている時間が短いことなどが挙げられる。
障害物検知領域210は、第1検知領域211と第2検知領域221とからなる。第1検知領域211は、自車201のステア角および車速に基づいて演算される予測進路と自車201の車幅とを考慮して設定され、非検知領域209との境界ライン222から自車201の前方に延在するように設定される。本実施の形態では、最大長さ40[m]に設定されている。
第1検知領域211は、自車201の車幅と等価の幅WCRで自車201の予測進路に沿って延在する主警戒領域212と、主警戒領域212の車幅方向両側に沿って延在する準警戒領域213によって構成されている。準警戒領域213は、自車201の車幅の2分の1の幅(1/2)WCRに設定されている。したがって、第1検知領域211の全幅WAT[m]は、自車201の車幅の2倍の大きさとなる(WAT=2WCR)。
第1検知領域211は、上述のように、自車201の予測進路に応じて設定されるので、運転者がハンドルを操作するとハンドルを切った方向に曲線を描いて変化する。なお、予測進路は、以下の(1)式に基づいて計算される。ここで、R[m]は旋回半径、Aはスタビリティファクタ[s2/m2]、H[m]は自車201のホイールベース、δはステア角αとステアリング比gからδ=α/gで演算する操舵角[rad]である。
第2検知領域221は、自車201前方の近傍位置にて、所定の前後幅DOP[m]で撮像装置203の最大視野角203R、203Lの間に亘って設定される。第2検知領域221の基端ライン222は、非検知領域209との境界に沿って設定され、基端ライン222から前方に所定の前後幅DOP[m]だけ離間した位置に先端ライン223が設定される。そして、基端ライン222と、先端ライン223と、左右の最大視野角20R、203Lで囲まれる範囲内に第2検知領域221が形成される。
本実施の形態では、自車201の近傍位置は、自車201の先端(例えば、フロントバンパー)から5〜10m程度の距離を想定しており、前後幅DOPは約5mに設定している。
例えば、障害物が自車201の予測進路(主警戒領域212と準警戒領域213)に接近してきた場合に、測距センサ202によって障害物が検知され、その障害物との相対距離が計測される。そして、その障害物が準警戒領域213から主警戒領域212に進入すると、測距センサ202から撮像装置203に検知信号が出力され、撮像装置203で取得した画像に基づいて障害物に対するパターンマッチング処理が実行される。また、障害物が第2検知領域221に進入した場合には、撮像装置203で取得する画像を用いて障害物のオプティカルフローを計測する処理が実行される。
障害物検知領域210内に存在する障害物と自車との衝突時間(TTC[s]=相対距離DR[m]/相対速度Vy1[m/s])に応じて、自車201の運転者に警報を発し、運転者によるブレーキ操作等がない場合には、前記衝突時間に応じて自動的にブレーキ制御を実行する。
なお、警報については「ピピピ・・・」などのビープ音の他に、音声メッセージを発する警報でもよく、カーナビゲーションのモニタやインストルメントパネル上、ヘッドアップディスプレイ上に表示する視覚的な警報でもよい。
図3は、撮像装置で撮像した画像に障害物検知領域を重ね合わせて示す図であり、図3(a)は、車両の道路走行中に歩行者が前方を横切って移動する状況を説明する図、図3(b)は、障害物のオプティカルフローを計測するための計測点を画像上に配置した状態を示す図である。
撮像装置203によって撮像された画像301には、道路306と歩行者303が映っており、さらに、測距センサ202の検知範囲枠302と、障害物検知領域210が重ねて表示されている。
歩行者303が測距センサ202の検知範囲枠302内に入ると、測距センサ202で歩行者303を検知し、相対距離に基づいて相対速度V1が演算される。そして、歩行者303が第1検知領域211に進入すると、測距センサ202で計測した相対距離(位置)に基づいて、歩行者303を中心に画像処理枠308が設定され、画像処理枠308内でパターンマッチング処理が実行される。
パターンマッチング処理では、予め学習して記憶した種々の障害物の形状パターンと、画像上の障害物(歩行者303)が有する局所的なエッジなどの外形の特徴部分とを比較し、前記パターンのうち少なくとも1つ以上のパターンと類似している場合に、所定の障害物(図3では歩行者303)であると認識する。
なお、画像処理枠308の横幅YIP 、縦幅XIPは、下記の(2)式によって設定され、障害物幅WPDと障害物高さHPDに、それぞれ車両ピッチ角相当幅YP、障害物がシステムの処理時間中に横移動する距離に相当する幅XL、および車両ヨー角相当幅XYAを加えることで設定される。
そして、歩行者303が第2検知領域221に進入すると、図3(b)に示すように、計測点310が配置された画像を用いて、オプティカルフローの計測が行われる。
計測点310は、画像301上に縦方向および横方向にそれぞれ等間隔をおいて配置され、計測点の数は画像処理負荷に応じて任意に設定できる。
例えば、障害物(歩行者303)のエッジ等の外形上の特徴部分が計測点310を通過すると、障害物が通過した計測点310におけるオプティカルフロー(Fxn、Fyn)(n=1、2、3、・・・:計測点番号)が演算される。
オプティカルフローは、画像301上の障害物(歩行者303)が有する局所的なエッジなどの外形の特徴部分が、ある計測点310を通過する時刻をTとするとき、時刻Tより所定の時間ΔTだけ前の時刻T−ΔTにおいて同一の特徴部分が同じ計測点310を通過しているとすると、該特徴量について時刻T−ΔTと時刻Tで対応する箇所をそれぞれ抽出することにより、該計測点におけるオプティカルフローを計測する。
なお、計測点310は、基本的に自車201が直進している場合に配置される。また、カーナビゲーション装置と連携して、自車201が横断歩道などの所定の道路に近づくときに、計測点310を配置するようにしてもよい。
図4は、本実施の形態における外界認識方法を説明するフローチャートである。まず、処理S401において、撮像装置203で撮像された画像を読み込み、処理S402において、車両情報検出部108で検出された自車201のステア角α[rad]、車速VSP[m/s]、ホイールベースH[m]、自車幅WCR[m]などの車両情報を読み込み、処理S403に進む。
処理S403において、処理S402で読み込んだ自車201の車両情報に基づいて、上述の(1)式より、自車201の予測進路(旋回半径R[m])を演算し、該予測進路と自車の車幅に応じた第1検知領域(図2および図3)211を設定し、処理S404および処理S406にそれぞれ進む。
処理S404では、自車201に搭載する測距センサ202によって検知された障害物の位置(XR、YR)、もしくは相対距離DR[m]を取得し、処理S405に進む。処理S405では、処理S404で取得した障害物の位置(XR、YR)もしくは相対距離DRを用いて、下記の(3)式((3)−1式、(3)−2式)および(4)式((4)−1式、(4)−2式)により、障害物の相対速度である第1速度V1(Vx1、Vy1)[m/s]を演算し、処理S408に進む。
ここで、(X’
R 、Y’
R)は処理1周期前の障害物の位置、(X”
R 、Y”
R)は処理2周期前の障害物の位置、C
0、C
1、C
2は相対距離に関する微分係数(x、y共に)、V’
1は処理1周期前の第1速度(x、y共に)、V”
1は処理2周期前の第1速度(x、y共に)、S
1、S
2は相対速度に関する微分係数(x、y共に)である。
(i) 測距センサ202で最初に障害物を検知した時点
(ii)(i)以外の場合
一方、処理S406では、図3(b)に示すようなオプティカルフローの計測点310において、障害物のオプティカルフローベクトル(Fxn、Fyn)(n=1、2、3、・・・:計測点番号)を演算する処理が行われる。
オプティカルフローベクトルの演算は、障害物が第2検知領域221内に進入したときに開始される。障害物が第2検知領域221内に進入したか否かは、例えば、画像上の障害物のY方向(縦方向)の大きさに基づいて判断され、障害物のY方向の大きさが人間の大きさ等に基づいて予め設定された所定値以上である場合に、オプティカルフローベクトルの演算が開始される。
処理S407において、処理S406で計測した障害物のオプティカルフローベクトル(Fxn、Fyn)に基づいて、下記の(5)−1、(5)−2式より障害物の相対速度である第2速度V2(Vx2、Vy2)[m/s]を演算し、処理S408に進む。
ここで、mは障害物中心位置でのフローベクトル分布数(障害物の中心線が計測点を通過したときのフローベクトルの数)、(Iy、Ix)は画素の次元[pixel]から速度次元[m/s]への変換係数を示す。
処理S408では、処理S405およびS407で演算した第1速度V1(Vx1、Vy1)と第2速度V2(Vx2、Vy2)とから、下記の(6)式を用いて速度差ΔV(ΔVx、ΔVy)を演算し、同時に速度差閾値記憶部106に予め記憶している速度差閾値ΔVTH(ΔVxTH、ΔVyTH)[m/s]を読み込み、処理S409に進む。
処理S409では、処理S408において、上記(6)式で演算したΔVがΔVTH以内であるか否かを下記の(7)式に基づいて判定する。
これら処理S408、処理S409が速度判定部140の処理に相当する。
処理S409にて、上記(7)式の判定条件が成立している場合(YES)は、障害物検知部105において、第1検知部111が検知した障害物と第2検知部112が検知した障害物は同一物体であると判断して、処理S410に進み、処理S410において物体検出フラグをセットする(fOBJDTC=1)。そして、処理S411において、第1速度V1(Vx1、Vy1)を出力して処理を終了する。
処理S409にて上記(7)式の判定条件が不成立の場合(NO)は、障害物検知部105において、第1検知部111が検知した障害物と、第2検知部112が検知した障害物は、互いに別の物体であると判断して、処理S412に進み、処理S412において物体検出フラグをクリアする(fOBJDTC=0)。そして、処理S413において、第2検知部112による障害物のオプティカルフロー計測を中止して処理を終了する。
次に、図5を用いて、第2検知部112によるオプティカルフロー計測の方法を説明する。自車201(図2を参照)が道路306を低速走行中に、歩行者303が右方向から横断してくる状況を撮像装置203で撮像しており、その撮像した画像301に対して画像処理を施して、オプティカルフロー計測点310を配置し、オプティカルフロー計測を実行する。
第2検知部112は、撮像装置203で取得した画像に対してオプティカルフロー計測点310を所定の範囲に設定する。計測点310の数は、画像301上の縦方向および横方向に対して任意に設定可能である。
自車201が道路306を走行する場合、自車201に搭載されている撮像装置203も移動することになる。したがって、撮像装置203で撮像した画像301内では相対的に背景が移動するように見える。そして、画像301上で背景を構成するエッジ等の外形の特徴部分が計測点310を通過すると、背景に対するフローベクトル501が計測される。
背景のフローベクトル501は、画像301の中央から左右に離れた計測点310でのフローベクトル501ほど、速度が大きいベクトルとなる。背景に関しては、画像301の中央から左右に離れるほど自車201(図3を参照)と背景として映っている物体との実距離が近くなり、画像301上での物体の見かけの移動速度が大きくなるからである。なお、背景フローベクトル501は、図5に示す計測点310だけではなく、設定する全ての計測点310において計測しうるフローベクトルである。
自車201の近傍には、オプティカルフローを計測する第2検知領域221を設定し、第2検知領域221に障害物(図5では歩行者303)が存在する場合に、該障害物のオプティカルフローを計測する。
図5では、歩行者303が第2検知領域221に進入しており、画像301上の計測点310を通過した際に、歩行者303に対するフローベクトル502が計測されている。
本実施の形態では、ブロックマッチング法によるオプティカルフロー計測を実行しており、各画像フレームをテンプレートブロックでスキャニングし、前画像(N−1)と現画像(N)において同様の特徴量(注目点/画素)を対応づけてフローベクトルを演算する。なお、テンプレートブロックのサイズ(SX、SY)は任意に設定可能である。
障害物(歩行者303)のフローベクトル502が計測された場合に、最大のフローベクトル502が計測されたm列(m:整数)目の各計測点について、ベクトルの大きさ|Vij|(ベクトルの長さ[pixel])が所定値VmTH以上のベクトルが連続した計測点を抽出する。そして、同様にm−1列目のフローベクトル502とm+1列目のフローベクトル502に対して、所定値V’mTH以上の大きさのベクトルが連続した計測点(フローベクトル)を抽出する。そして、上記抽出した計測点(ベクトル)群を1つの物体としてクラスタリング(検知枠503)することにより、オプティカルフローに基づいて障害物を抽出する。
なお、オプティカルフローの計測がなされる障害物は、図5に示す一般の歩行者303に限定されるものはなく、基本的に移動している障害物であればよく、例えば、カートや乳母車を押す歩行者、自転車、車両でもよい。また、本実施の形態では、オプティカルフロー計測を第2検知領域221内の障害物に限定したが、第2検知領域221より遠方の障害物に対してもオプティカルフローの計測を実施してもよい。
次に、図6を用いて、測距センサによる障害物検知方法について説明する。図6には、自車201に搭載した測距センサ202を座標原点にとった直交座標601(X軸602、Y軸603)を設定し、該直交座標601上において、測距センサ202の最大検知角を示す破線202R、202Lと、障害物である歩行者303の位置(XR、YR)を示している。
測距センサ202は、自車201の前方に送信波を照射し、その送信波が歩行者303に反射した反射波を測距センサ202が受信することにより、歩行者303の位置(XR、YR)および相対距離DR[m]、相対速度、障害物の幅などを計測できる。
なお、送信波としてはミリ波、レーザー光、赤外線などがあり、それぞれの送信波を用いた測距センサ202としては、ミリ波レーダ、レーザーレーダ、赤外線レーダがある。また、測距センサ202の取り付け位置としては、基本的に自車201のフロントバンパー付近であり、自車201のサイドや後方など、複数台の測距センサ202を目的(サイドの障害物検知、後方の障害物検知)に応じて取り付けてもよい。
図6に示すように、自車201に搭載する測距センサ202で歩行者303を検知した場合、座標601(X軸602、Y軸603)上での歩行者303の位置(XR、YR)は、次の式(8)、式(9)で演算する。
ここで、cは光速[m/s]、TR[sec]は測距センサ202から照射された送信波が歩行者303に反射し、その反射波が測距センサ202で受信されるまでの時間、θR[rad]は、歩行者303と自車201との間を結ぶ直線と、Y軸603との間の挟角である。
次に、図7のフローチャートを用いて、第1検知部111の検知結果に基づく障害物の相対速度(第1速度V1)を演算する方法を説明する。
処理S701において、測距センサ202から測距情報を取得する。測距情報には、測距センサ202で検知した障害物との相対距離や位置座標の情報の少なくとも一つが含まれている。
そして、処理S702において、障害物検知カウンタCNTDTをインクリメントして処理S703に進む。処理S703において、処理S702でインクリメントを開始した障害物検知カウンタCNTDTに対して、下記(10)式の判定を実行する。
処理S703にて、上記(10)式の判定条件が成立している場合には、カウンタが小さい数なので、測距センサ202が「それまで検知していた障害物を1回ロストした後に再び同じ障害物を検知した」もしくは「全く新しい障害物を検知した」と判断して、処理S704に進み、処理S704において、それまで取得していた相対速度、相対距離、位置座標などのパラメータを一度初期化する。
次に処理S705において、上述した(3)式、(4)式に基づいて障害物の相対速度(第1速度V1(Vx1、Vy1))を演算し、処理S706に進む。処理S706において、処理S705において演算した第1速度V1(Vx1、Vy1)を速度判定部104に出力し処理を終了する。
処理S703にて、上記(10)式の判定条件が不成立の場合(NO)には、(10)式よりCNTDT=0もしくはCNTDT>2であると判断して、処理S707に進み、処理S707において、測距センサ202が障害物を検知していない、もしくはそれまで検知していた障害物を続けて検知しているかどうか判断する。
処理S707において、障害物を検知している(CNTDT>2)と判断した場合(YES)は、処理S705に進み、処理S705において、前述した(3)および(4)式に基づいて検知した障害物の相対速度(第1速度V1(Vx1、Vy1))を演算し、処理S706に進む。そして、処理S706において、処理S705にて演算した第1速度V1(Vx1、Vy1)を速度判定部104に出力し処理を終了する。一方、処理S707において障害物を検知していない(CNTDT=0)と判断した場合(NO)には、処理を終了する。
次に、図8のフローチャートを用いて、第2検知部112で演算した障害物のオプティカルフローに基づく障害物の相対速度(第2速度V2)を演算する方法を説明する。
処理S801において、撮像装置203で撮影した画像を読み込み、処理S802に進む。処理S802において、処理S801で読み込んだ画像を利用して障害物のオプティカルフローを演算し、処理S803に進む。
処理S803において、図5で述べた障害物のフローベクトル群を抽出したか否かを判定する。処理S803の判定条件が成立した場合(YES)には、オプティカルフローにより障害物を検出したと判断して、処理S804に進み、処理S804においてフロー検知カウンタCNTOPFをインクリメントする。一方、処理S803の判定条件が不成立の場合(NO)には、障害物を検出していないと判断して、第2検知部112における同障害物に対するオプティカルフロー処理を終了する。
次に、処理S805において、処理S804でインクリメントを開始したフロー検知カウンタCNTOPFに対して、下記(11)式の判定を実行する。ここで、CNTOPFTHはフロー検知カウンタの上限値であり、任意の自然数を設定する事が可能である。
処理S805の判定条件(上記(11)式)が成立している場合(YES)には、オプティカルフローにより障害物を検出していると判断して、処理S806に進み、処理S806において、抽出した障害物に関するフローベクトル群において最大値をとるフローベクトルを抽出する。ただし、処理S806では、最大値をとるフローベクトルではなく、抽出したフローベクトル群の平均値を計算してもよい。
そして、処理S807において、前述した(5)式に基づいて障害物の第2速度V2(Vx2、Vy2)[m/s]を演算し、処理S808に進む。処理S808では、第2速度V2(Vx2、Vy2)を速度判定部104に出力し、処理を終了する。
一方、処理S805の判定条件(上記(11)式)が不成立の場合には、未検出もしくは障害物が既に自車201の予測進路を通り過ぎた後の状態であると判断して、同障害物に対する第2速度演算処理を終了する。
次に、図9を用いて、速度判定と判定結果に基づく障害物検知方法について説明する。図9のフローチャートでは、速度演算部103で演算した第1速度V1(Vx1、Vy1)および第2速度V2(Vx2、Vy2)を用いた測距センサとオプティカルフロー計測のフュージョン処理が行われる。
まず、処理S901において、測距センサ202の障害物検知結果に基づいて第1速度演算部121で演算した第1速度V1(Vx1、Vy1)を読み込み、処理S902に進む。そして、処理902において、第2検知部112における障害物のオプティカルフロー計測結果に基づいて第2速度演算部122で演算した第2速度V2(Vx2、Vy2)を読み込み、処理S903に進む。
処理903では、処理S901および処理S902でそれぞれ読み込んだ第1速度V1と第2速度V2との速度差ΔV(ΔVx、ΔVy)を、上述の(6)式より演算し、処理S904に進む。
処理S904において、予め速度差閾値記憶部106に記憶している速度差閾値ΔVTH(ΔVxTH、ΔVyTH)を読み込み、処理S905に進む。なお、速度差閾値記憶部106の記憶媒体としては、コンピュータが読み取り可能なCD−ROMやDVD−ROM、Blu−ray Disc、HDD、フラッシュメモリ等がある。
次に、処理S905において、上述の(6)式で演算したΔVがΔVTH以内であるか否かを上述の(7)式に基づいて判定する。ここで、処理S905の判定条件が成立している場合(YES)には、障害物検知部105において、第1検知部111が検知した障害物と、第2検知部112が検知した障害物とが同一物体であると判断して、処理S906に進み、処理S906において物体検出フラグをセットして(fOBJDTC=1)、処理を終了する。
一方、処理S905の判定条件が不成立の場合(NO)には、障害物検知部105において、第1検知部111が検知した障害物と、第2検知部112が検知した障害物は、互いに別の物体であると判断して、処理S907に進み、処理S907において物体検出フラグをクリアして(fOBJDTC=0)、処理を終了する。
図10(a)〜(c)は、速度差閾値記憶部106に予め記憶される速度差閾値ΔVTHの実施例である。図10(a)〜(c)で示すように、定数もしくは車速VSP[m/s]を独立変数にもつ関数として定義される速度差閾値ΔVTHのうち、少なくとも1つを任意に選択することが可能である。
図10(a)では、横軸に車速VSP、縦軸に速度差閾値ΔVTHをとったグラフ1001上に車速VSPを独立変数としない定数dV1(実線1002)として速度差閾値ΔVTHを定義している例であり、閾値dV1は予め設定する必要がある。ただし、閾値dV1は車速VSPよりも小さい値である。閾値dV1の値を小さく設定すると判定精度は向上するが、冗長性が低下し、速度演算時の誤差(例えば、車速VSPの変化に起因するものなど)の影響を受けやすくなる。逆に、閾値dV1の値を大きく設定すると判定精度がして別の物体にも関わらず同一物体と判定する可能性がある。
図10(b)では、同様のグラフ1001上に自車201の車速VSPに対してステップ関数(実線1003)として(12)式のように速度差閾値ΔVTHを定義している例である。
各閾値dVA、dVB、dVCおよび車速の境界値VA SP、VB SP、VC SPは、予め任意に設定する必要があるが、各閾値dVA、dVB、dVCおよび境界値VA SP、VB SP、VC SPの間隔は、図10(b)に示す実施例のように等間隔に区分しても良く、また、等間隔に区分しなくても良い。
例えば、走行機会の多い速度域を中央のステップ(図10ではVA SP<VSP≦VB SP)として比較的広めの速度域で設定し、前後の速度域(0≦VSP≦VA SPとVB SP<VSP≦VC SP)を狭く設定するなどしてもよい。
なお、本実施例では3段階のステップで閾値ΔVTHを定義しているが、2段階もしくは3段階以上に分割してもよい。また、閾値の大きさも図10(b)のようにdVA<dVB<dVCでなくてもよく、任意に調整することができる。
図10(c)では、同様のグラフ1001上に自車201の車速VSPを独立変数とする関数ΔVTH=f(VSP)として速度差閾値ΔVTHを定義している例である。実線1004は、車速VSPに比例する1次関数ΔVTH=f(VSP)=αVSP+βとして閾値を定義している。
ここで、αおよびβは定数であり、例えば実験・評価データなどから最小二乗法を用いて算出しても良く、また、任意に設定しても良い。また、上記1次関数のほかに、f(VSP)=αVn SP+βVn−1 SP+・・・などの高次関数、f(VSP)=αlogVSP+βなどの対数関数、他に指数関数、三角関数など、任意の関数で定義してもよい。また、独立変数として車速VSPの他に測距センサで計測する障害物との相対距離や衝突時間(TTC[s]=相対距離DR[m]/相対速度Vy1[m/s])でもよい。
図11は、障害物との相対距離と検知成功率との関係を示す図である。図11には、第2検知部112によるオプティカルフロー計測を、第2検知領域221(図2および図3を参照)に進入してくる障害物に適用し、オプティカルフロー計測結果と測距センサ202による検知結果とのフュージョンシステムを導入した場合の障害物検知性能における効果を概念的に示した図である。
図11は、横軸に障害物検知距離[m]、縦軸に障害物検知率(パターンマッチングまで含む)[%]をとった棒グラフである。棒グラフ1102(1104、1105も含む)は、測距センサ202と画像処理(パターンマッチングのみ)による検知距離別の障害物検知率を示している。距離の区分けは自車前方5m地点から40m地点まで5m毎に区分している。
なお、自車前方0〜5mの範囲は、撮像装置203の取り付け位置および撮像装置203の仕様等の関係から、撮像装置203では障害物を検知できない非検知領域209である(図2参照)。
点線1103は、各距離での検知率を結んだ折れ線グラフである。従来の測距センサとパターンマッチング(画像処理)のフュージョンによる障害物検知の場合、車両近傍の領域(5〜10m/10〜15m付近)ではパターンマッチングの成功率(検知率)が著しく低下する傾向がある(斜線棒グラフ1104と1105)。
この原因の一つとしては、例えば、車両近傍と遠方においてそれぞれ同じ速度で横移動(横断)する障害物を仮定して、各距離で障害物が移動する平面(画像と同等)を考えた場合に、(イ)その平面上では単位時間当たりの障害物の移動距離は近傍の方が大きくなること、(ロ)近傍の障害物は画像上でパターンマッチング時の情報量が多くなることが挙げられる。
前記の理由(イ)、(ロ)の2点から、近傍検知領域での測距センサによる検知遅れや未検知が発生すると、再度検知する前に障害物が検知領域から外れてしまうため、遠方に比べてパターンマッチングの成功率が大きく低下する(斜線棒グラフ1104と1105)。
本実施例では、その第2検知領域221の障害物に対して、測距センサ202で計測した相対距離DR[m]に基づく第1速度V1と、同障害物のオプティカルフローから演算する第2速度V2とを用いて、同一物体か否かを判定することにより、オプティカルフローで測距センサ202の障害物検知をサポートし、第2検知領域221における障害物検知の検知率を向上することができる(斜線棒グラフ1106および1107)。点線1108は、近傍での障害物検知率向上後の折れ線グラフである。
以上のように、外界認識装置100によれば、測距センサ202および撮像装置203に基づく画像処理(オプティカルフロー)などの複数センサで構成される障害物検知システムにおいて、各センサ情報に基づいて演算する相対速度を用いて、第2検知領域221における障害物の検知率向上を図ることができる。
図12は、本実施の形態における警報およびブレーキ制御の一実施例を示した図である。図12では、撮像装置203をルームミラー付近に備え付け、測距センサ202をフロントバンパー付近に備え付けた自車201が道路306を走行中に、歩行者303が自車201の右側(奥)から矢印1201の方向(手前)へ歩いてくる場合(図12(a))に、測距センサ202および撮像装置203の検知状況に応じて実行する警報およびブレーキ制御の実施例を示している。
また、測距センサ202および撮像装置203の障害物検知状況別に、撮像装置203で撮影した画像1211に対して検知領域表示などの画像処理を施した画像を、自車201に搭載するカーナビゲーションのモニタ画面などに出力した様子を、図12(b)〜(d)に示している。なお、モニタ画面としては上述したカーナビゲーション画面の他に、ヘッドアップディスプレイやインストルメントパネル上の画面(液晶他)などでもよい。
図12(b)は、測距センサ202のみで歩行者303を検知し、歩行者303のオプティカルフローが計測されなかった(検知が成功しなかった)場合を示す。測距センサ303は、自車201の前方において送信波を水平方向にスキャニングしながら照射(点線1212)して、その歩行者303からの反射波を受信することで歩行者303を検知しており、前記画像1211上では測距センサ202の検知枠1213を表示している。
図12(c)は、撮像装置203の画像に対して画像処理を施し、複数のオプティカルフロー計測点310を前記画像上に表示している。前記画像上で歩行者303が計測点310を通過すると、通過した計測点310において歩行者303の移動速度や方向に応じたフローベクトル502が演算(画像処理)され、計測点310の列において所定のフローベクトル群が抽出(図5を参照)された場合に、歩行者303と判断して検知枠503を表示する(第2検知部112)。なお、図12(c)ではオプティカルフローによる歩行者検知のみであり、測距センサ202による検知が実行されていない(未検知状態)。
上記図12(b)、(c)のように、測距センサ単独の障害物検知、もしくはオプティカルフロー計測のみによる障害物検知など、どちらか一方のみで障害物を検知した場合には、図12(e)に示すように、自車201の運転者1221に対し、TTCAR[sec](=TTCCTR[sec]+0.8[sec])に応じて警報が作動する。
警報は、音による警報の他に音声メッセージや、画像1211へ注意標示を出力するような視覚的な警報でもよく、それらを組み合わせた警報でもよい。ここで、TTCARは、警報作動開始時の衝突時間であり、TTCCTR(≧1.6[sec])は、制御作動開始時の衝突時間である。
図12(d)は、前述した図12(b)の測距センサ202による障害物検知と、図12(c)のオプティカルフロー計測に基づく障害物検知が共に実行され、各検知結果から演算した第1速度V1と第2速度V2を用いた物体判定において、測距センサとオプティカルフローとが同一物体を検知していると判断された場合(フュージョン成功した場合)に、それぞれの検知枠(1213と503)を前記映像上に表示している。
この場合、図12(f)に示すように、運転者1221に対してTTCAR[sec]に応じた警報が作動し、運転者1221による回避動作や制動動作がない場合には、同じくTTCCTR[sec]に応じてシートベルト1222の締め付け制御が作動するとともに、自動ブレーキ制御が作動する。
図13は、2つの撮像装置を取り付けた場合の障害物検知の一実施例を示す図である。本実施例では、レーダ等の測距センサ202の代わりに、2台の撮像装置1302、1303を用いて障害物との相対位置や距離等の測距情報を取得する方法について説明する。
図13には、自車1301に画像処理装置を内蔵する2台の撮像装置1302、1303を取り付けた場合の取り付け位置及び画像処理を実行する領域(以下、画像処理領域と称する)が示されている。
自車1301の左側に取り付けた撮像装置1302の画角は、破線1305、1305で示されており、その画像処理領域は、前記画角1305、1305間の領域1307と1309から構成される。
同様に、自車1301の右側に取り付けた撮像装置1303の画角は、破線1306、1306で示されており、その画像処理領域は、前記画角1306、1306間の領域1308と1309から構成される。
撮像装置1302、1303の画像処理領域1307、1308、1309において、歩行者1304が右方向から歩いてくる場合に、各画像処理領域内のA地点、B地点、C地点における障害物検知は下記のように実施される。
まず、A地点の歩行者1304に対しては、撮像装置1303から取得する画像に対してオプティカルフローもしくはパターンマッチング等の画像処理を実行して歩行者1304を検知する。
歩行者1304がB地点に移動した場合、撮像装置1302および1303の両方で歩行者1304を検知することが可能であり、この場合、一方の画像処理領域1307に進入するまでは、基本的に最初に歩行者1304を検知した撮像装置(本実施例では1303)の画像処理を優先して検知結果を出力する。
その場合、領域1309は基本的に自車1301の予測進路上に相当するため、一方の撮像装置(本実施例では1302)は、メインの障害物検知において未検知などが発生した場合にも対処できるように、障害物検知を継続して実行する。
歩行者1304がC地点に移動した場合は、撮像装置1302から取得する画像に対してオプティカルフローもしくはパターンマッチング等の画像処理を実行して歩行者1304を検知する。
従って、画像処理領域1307、1308、1309に亘って障害物検知を実行する場合、その検知結果、例えば、相対距離(位置座標)や相対速度、障害物の幅などの情報は、速度演算部や速度判定部のほかに、撮像装置1302および1303に備わる互いの第2検知部(画像処理部)にも出力される。
また、領域1309における障害物検知において、撮像装置1302および1303のそれぞれの画像に基づいたオプティカルフロー計測により、各第2検知部で障害物を検知している場合に、それぞれのフローベクトルから演算した互いの第2速度V2を利用して速度判定部104にて速度判定を実行し、同一物体であるか否かを判断することも可能である。
また、判定時のパラメータとしては、障害物の相対速度(第2速度)の他に、障害物の幅、相対距離(位置座標)などを用いても良い。なお、基本的に図13の2台の撮像装置は同機種であるが、一方の撮像装置は可視光、もう一方の撮像装置は赤外線を用いるなど、機種もしくは仕様が異なるものでも良い。
撮像装置1302、1303の取り付け位置としては、例えば自車1301の左右のヘッドランプ辺りに1台ずつ、あるいは、左右のサイドミラーに1台ずつ、取り付けてもよく、撮像装置1302および1303の画像処理領域が重ならないように撮像装置の方向や取り付け位置を調整することも可能である。
次に、図14を用いて、検知領域設定部101で設定される障害物検知領域(測距センサの検知領域と画像処理対象の領域)の他の実施例について説明する。図14は、検知領域設定部による他の検知領域設定方法を説明する図である。なお、図2と同様の構成要素には同一の符号を付することでその詳細な説明を省略する。本実施例において特徴的なことは、障害物検知領域1401における第2検知領域1402の大きさを、自車201の車速VSP[m/s]に応じて変更することである。
障害物検知領域1401は、第1検知領域211と第2検知領域1402とからなる。
第2検知領域1402は、自車201前方の近傍位置にて、撮像装置203の最大視野角203R、203Lの間に亘って設定される。第2検知領域1402は、測距センサ202の最大検知角202L、202R間に形成される中央領域部1403と、測距センサ202の最大検知角202Lと撮像装置203の最大視野角203Lとの間に形成される左領域部1404と、測距センサ202の最大検知角202Rと撮像装置203の最大視野角203Rとの間に形成される右領域部1405とを有している。
第2検知領域1402の各領域部1403〜1405は、自車201の車速VSP[m/s]に応じてその大きさを可変にすることが可能である。
例えば、自車201が所定の速度域(VOP≦VSP≦V’OP)で走行する場合には、各領域1403〜1405をそれぞれ個別もしくは同時に前方に拡大して、領域1403’、1404’、1405’(長さD’OP[m])としてもよい。
各領域部1403〜1405を個別に拡大する場合は、例えば、左領域部1404と右領域部1405をそれぞれ領域1404’、1405’まで拡大しても良く、また、自車201の予測進路に対応できるように中央領域部1403を領域1403’まで拡大することも可能である。
なお、拡大した領域1403’〜1405’の長さD’OP[m]は、下記(13)式で演算される。ただし、D’OPは、下記(14)式を満たさなければならない。ここで、THWOP[sec]は車間時間であり、初期値は1.6[sec]、そして、V’OP[m/s]は所定の速度域の上限値(初期値=11.1[m/s])である。V’OP以上の速度で自車201が走行する場合には、障害物検知領域はデフォルト(領域1403、1404、1405)に設定する。
第2検知領域1402では、画像処理として、基本的にオプティカルフロー計測のみを実行し、パターンマッチング処理による障害物検知を実行しない。また、自車201の予測進路に基づいて設定する第1検知領域211においては、障害物のオプティカルフローを計測せずに、基本的にはパターンマッチング処理による障害物検知を実行する。
[第2実施の形態]
次に、図15を用いて、本発明の第2実施の形態について説明する。
図15は、本実施の形態における外界認識方法を説明するフローチャートである。本実施の形態では、測距センサによる障害物検知において、検知している障害物に対して途中で未検知の状態になった場合に、測距センサの検知結果に代わり、第2検知部112によるオプティカルフローの演算結果を出力する場合のフローチャートである。
まず、処理S1501において、自車201に搭載する測距センサ202で検知された障害物の位置座標もしくは相対距離を取得し、処理S1502に進む。そして、処理S1502において、障害物検知カウンタCNTDTをインクリメントして処理S1503に進む。
処理S1503では、処理S1502でインクリメントを開始した障害物検知カウンタCNTDTに対して、上述の(10)式の判定を実行する。処理S1503にて上述の(10)式の判定条件が成立している場合(YES)には、測距センサ202が改めて障害物を検知したと判断して処理S1504に進み、処理S1504において相対速度、相対距離、位置座標などのパラメータを初期化する。
そして、処理S1505において、上述の(3)式および(4)式に基づいて、検知した障害物の相対速度(第1速度V1(Vx1、Vy1))を演算し、処理S1512に進む。処理S1512において、処理S1505および図8のS807で演算した第1速度V 1 (Vx 1 、Vy 1 )と第2速度V 2 (Vx 2 、Vy 2 )とから、上述の(6)式を用いて速度差ΔV(ΔVx、ΔVy)を演算し、同時に速度差閾値記憶部106に予め記憶している速度差閾値ΔV TH (ΔVx TH 、ΔVy TH )[m/s]を読み込み、処理S1513に進む。処理S1513では、処理S1512において、上述の(6)式で演算したΔVがΔV TH 以内であるか否かを上述の(7)式に基づいて判定する。これら処理S1512、処理S1513が速度判定部140の処理に相当する。
処理S1513にて、上述した(7)式の判定条件が成立している場合(YES)は、障害物検知部105において、第1検知部111が検知した障害物と第2検知部112が検知した障害物は同一物体であると判断して、処理S1514に進み、処理S1514において物体検出フラグをセットする(fOBJDTC=1)。処理S1514で物体検出フラグをセットした後、処理1506に進み、測距センサ202がそれまで検知していた障害物をロストしたか否かを判断する。なお、ロストとは、障害物を検知しない(未検知)状態であり、ここでは、前記検知障害物の位置および相対距離情報を取得できない状態を指す。
処理S1506の判定条件が成立した場合(YES)には、測距センサ202が障害物をロストしたと判断して処理S1507に進み、処理S1507において検知ロストフラグをセットする(fDTCLOST=1)。そして、処理S1508において、第2速度演算部122で演算された該障害物の第2速度V2を出力し、処理を終了する。
一方、処理S1506の判定条件が不成立の場合(NO)には、測距センサ202は障害物をロストせず、引き続き該障害物を検知していると判断して処理S1509に進み、処理S1509において検知ロストフラグをクリアする(fDTCLOST=0)。そして、処理S1510において、第1速度演算部121で演算された該障害物の第1速度V1を出力し、処理を終了する。
一方、処理S1513にて上述した(7)式の判定条件が不成立の場合(NO)は、障害物検知部105において、第1検知部111が検知した障害物と、第2検知部112が検知した障害物は、互いに別の物体であると判断して、処理S1515に進み、処理S1515において物体検出フラグをクリアする(fOBJDTC=0)。そして、処理S1516において、第2検知部112による障害物のオプティカルフロー計測を中止して処理を終了する。
処理S1503にて、上述の(10)式の判定条件が不成立の場合(NO)には、(10)式よりCNTDT=0もしくはCNTDT>2であると判断して、処理S1511に進む。そして、処理S1511において、測距センサ202が障害物を検知していない、もしくはそれまで検知していた障害物を引き続き検知しているかどうかを判断する。
処理S1511にて、引き続き障害物を検知している(CNTDT>2)と判断した場合は、処理S1505に進む。そして、処理S1505において、上述の(3)式および(4)式に基づいて第1速度V1(Vx1、Vy1)を演算し、前述したように処理S1512以降の処理ステップへ順次進む。処理S1511にて、障害物を検知していないと判断した(NO)場合、すなわち、処理S1503で(CNTDT=0)と判定された場合には、処理を終了する。
以上、測距センサ202が検知していた障害物をロストしたことにより、相対速度(第1速度)を取得できない場合でも、同障害物に対するオプティカルフローに基づいて演算した相対速度(第2速度)を取得することにより、同障害物を継続して検知し続けることが可能である。
本発明は、上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。