(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【0023】
<1.システムの構成>
図1は、本実施の形態の物体検出システム10の概略構成を示す図である。物体検出システム10は、自動車などの車両に搭載されて当該車両の周辺を移動する物体を検出し、物体を検出した場合はその検出結果をユーザに報知する機能を有している。以下、物体検出システム10が搭載される車両を「自車両」という。
【0024】
物体検出システム10は、撮影画像を表示する表示装置3と、音を発生するスピーカ4とを備えている。表示装置3は、自車両の車室内におけるユーザ(主にドライバ)が視認可能な位置に配置され、各種の情報をユーザに報知する。表示装置3は、目的地までのルートを案内するナビゲーション機能など、基本的な表示機能以外の機能を備えていてもよい。スピーカ4は、自車両の車室内に配置され、音により情報をユーザに報知する。
【0025】
また、物体検出システム10は、自車両の周辺を撮影して撮影画像を得る複数のカメラ2を備えている。複数のカメラ2はそれぞれ、レンズと撮像素子とを備えており、電子的に撮影画像を取得する。各カメラ2は、所定の周期(例えば、1/30秒周期)で周期的に撮影画像を取得する。
【0026】
複数のカメラ2は、フロントカメラ2Fとバックカメラ2Bとを含んでいる。
図2は、2つのカメラ2F,2Bがそれぞれ撮影する方向を示す図である。
【0027】
図に示すように、フロントカメラ2Fは、自車両9の前端のバンパーに設けられ、その光軸21Fは自車両9の前後方向に沿って前方に向けられる。したがって、フロントカメラ2Fは、自車両9の前方を撮影して、自車両9の前方の様子を示す撮影画像を取得する。また、バックカメラ2Bは、自車両9の後端の背面ドア92に設けられ、その光軸21Bは自車両9の前後方向に沿って後方に向けられる。したがって、バックカメラ2Bは、自車両9の後方を撮影して、自車両9の後方の様子を示す撮影画像を取得する。
【0028】
これらのカメラ2のレンズには魚眼レンズが採用され、各カメラ2は180度以上の画角θを有している。このため、フロントカメラ2Fは、自車両9の前方に広がる左右方向に180度以上の領域を撮影することが可能であり、バックカメラ2Bは、自車両9の後方に広がる左右方向に180度以上の領域を撮影することが可能である。
【0029】
物体検出システム10は、これら2つのカメラ2のうち、動作モードに応じて選択されるカメラ2で得られた撮影画像を表示装置3において表示する。物体検出システム10は、フロントモードではフロントカメラ2Fで得られた撮影画像を表示し、バックモードではバックカメラ2Bで得られた撮影画像を表示する。このような動作モードは、例えば、自車両9の進行方向に基づいて切り替えられる。これにより、ユーザは進行方向における自車両9の周辺の様子を略リアルタイムに把握できる。
【0030】
また、物体検出システム10は、動作モードに応じたカメラ2で得られた撮影画像に基いて自車両9に接近する物体を検出する。そして、物体を検出した場合は、物体検出システム10は、表示装置3及びスピーカ4を介して検出結果をユーザに報知する。これにより、ユーザは、見通しの悪い交差点や駐車場などにおいて、ユーザの死角となる位置から接近する物体を容易に把握できる。
【0031】
図3は、物体検出システム10が利用される場面の一例を示す図である。
図3においては、自車両9が見通しの悪い交差点に差し掛かった場面を示している。物体検出システム10の動作モードは、フロントモードとなっている。前述のように、フロントカメラ2Fは180度以上の画角θを有している。このため、
図3に示すように、自車両9の前端のみが交差点に進入した状態において、フロントカメラ2Fは、交差点内の左右に広がった領域を撮影可能である。したがって、物体検出システム10は、自車両9が存在する道路R1に対して略直交する他方の道路R2の様子を示す撮影画像を取得でき、この撮影画像を表示装置3に表示できる。
【0032】
また、このように取得された撮影画像には、他方の道路R2を移動して左側又は右側から自車両9に接近する物体(他の車両8や歩行者など)の像が含まれる。物体検出システム10は、この撮影画像を用いることで自車両9に接近する物体を検出し、その検出結果をユーザに報知する。このため、ユーザは、自車両9の全体を交差点に侵入させる前に、自車両9に接近する物体を容易に把握できる。
【0033】
図1に戻り、物体検出システム10は、カメラ2で取得された撮影画像に基づいて自車両9に接近する物体を検出するための物体検出装置1を備えている。物体検出装置1は、画像取得部12、画像処理回路13、及び、画像出力部14を備えている。
【0034】
画像取得部12は、動作モードに応じたカメラ2からアナログの撮影画像を所定の周期(例えば、1/30秒周期)で周期的に取得し、取得した撮影画像をデジタルの撮影画像に変換(A/D変換)する。画像取得部12が処理した一の撮影画像は、映像信号の一のフレームとなる。
【0035】
画像処理回路13は、画像取得部12が取得する撮影画像に対して所定の処理を実行するASICやFPGAなどのハードウェア回路である。画像処理回路13は、オプティカルフロー方式で物体を検出する物体検出処理を実行する。図中に示す、フロー導出部13a、フロー選択部13b及び物体検出部13cは、この物体検出処理に係る機能である。
【0036】
フロー導出部13aは、カメラ2で周期的に得られる撮影画像の特徴点に基づいてオプティカルフローを導出する。フロー選択部13bは、フロー導出部13aに導出されたオプティカルフローのうち、所定の条件を満足するオプティカルフローを処理対象として選択する。物体検出部13cは、フロー選択部13bに処理対象として選択されたオプティカルフローに基づいて物体を検出する。このような物体検出処理の詳細については後述する。画像処理回路13は、物体検出処理の検出結果を出力する。
【0037】
画像出力部23は、撮影画像とともに各種情報を含む表示画像を生成し、NTSCなどの所定形式の映像信号に変換して表示装置3に出力する。これにより、撮影画像を含む表示画像が表示装置3において表示される。
【0038】
また、物体検出装置1は、操作スイッチ15、信号受信部16、音声出力部17、記憶部18、及び、制御部11を備えている。
【0039】
操作スイッチ15は、自車両9の車室内に設けられるスイッチである。操作スイッチ15は、ユーザの操作を受け付け、操作内容を示す信号を制御部11に入力する。
【0040】
信号受信部16は、自車両9に設けられる車載ネットワーク91を介して、他の装置からの信号を受信して、自車両9の車両状態を取得する。信号受信部16は、受信した車両状態を示す信号を制御部11に入力する。
【0041】
信号受信部16は、シフトセンサ61、速度センサ62及び舵角センサ63が送出する信号を受信する。シフトセンサ61は、自車両9の変速装置のシフトレバーの位置であるシフトポジションを検出し、そのシフトポジションを示す信号を送出する。このシフトポジションは、自車両9の進行方向を示す。速度センサ62は、自車両9の車輪軸の回転に基いて速度を検出し、自車両9の速度を示す信号を送出する。舵角センサ63は、自車両9のステアリングホイールの中立位置からの回転角度である舵角(操舵角)を検出し、自車両9の舵角を示す信号を送出する。これにより、信号受信部16は、シフトポジション、速度及び舵角を、自車両9の車両状態として取得する。
【0042】
音声出力部17は、制御部11からの信号に基いて音声信号を生成して、スピーカ4に出力する。これにより、スピーカ4が、警告音などの音を発生する。
【0043】
記憶部18は、例えば、フラッシュメモリなどの不揮発性メモリであり、各種の情報を記憶する。記憶部18は、例えば、ファームウェアとしてのプログラム18aを記憶する。
【0044】
制御部11は、CPU、RAM及びROMなどを備えたマイクロコンピュータであり、画像処理回路13を含む物体検出装置1の各部を制御する。制御部11は、例えば、信号受信部16が取得したシフトポジション、及び、操作スイッチ15の操作内容などに応じて、物体検出システム10の動作モードを変更する。
【0045】
制御部11の各種の機能は、ソフトウェアで実現される。すなわち、制御部11の機能は、記憶部18に記憶されたプログラム18aの実行(プログラム18aに従ったCPUの演算処理)によって実現される。図中の閾値変更部11a及び結果報知部11bは、プログラム18aの実行により実現される機能の一部である。
【0046】
閾値変更部11aは、画像処理回路13のフロー選択部13bがオプティカルフローを選択する場合に用いる判定閾値を変更する。閾値変更部11aは、信号受信部16が取得した自車両9の速度及び舵角に応じて判定閾値を変更する。この閾値変更部11aの処理の詳細については後述する。
【0047】
結果報知部11bは、画像処理回路13による物体検出処理の検出結果をユーザに報知するための制御を行う。結果報知部11bは、画像処理回路13が出力する検出結果を受け取る。そして、結果報知部11bは、画像出力部14に信号を送出して、検出結果を示す表示画像を画像出力部14に生成させる。これにより、検出結果を示す表示画像が表示装置3において表示される。また、結果報知部11bは、音声出力部17に信号を送出して、検出結果に応じた音声信号を音声出力部17に生成させる。これにより、検出結果に応じた警告音がスピーカ4から発生される。
【0048】
図4は、フロントモードにおいて表示装置3に表示される表示画像31の一例を示す図である。表示画像31は、カメラ2で取得された撮影画像SGと、物体検出処理の検出結果を示す指標となる2つの警告部AFと、動作モードを示すアイコンCとを含んでいる。
【0049】
2つの警告部AFは、上下に延びる矩形の領域であり、撮影画像SGの左右にそれぞれ配置される。自車両9の右側から接近する物体が存在する場合は、
図4に示すように右側の警告部AFが所定の色(例えば、黄色)で点滅する。逆に、自車両9の左側から接近する物体が存在する場合は、左側の警告部AFが所定の色で点滅する。また、このように自車両9に接近する物体が存在する場合は、所定の警告音がスピーカ4から発生される。これにより、ユーザは、自車両9に接近する物体が存在することとともに、その物体が存在する方向を容易に把握できる。
【0050】
<2.物体検出処理の概要>
次に、画像処理回路13が実行する物体検出処理の概要について説明する。前述のように、画像処理回路13は、周期的に得られる複数の撮影画像(フレーム)を用いるフレーム相関方式の一つであるオプティカルフロー方式で物体を検出する。
【0051】
図5、
図6及び
図7は、フロントカメラ2Fで時系列的に取得された複数の撮影画像SGの例を示している。
図5の撮影画像SGが最も古く、
図7の撮影画像SGが最も新しい。
図5から
図7の撮影画像SGそれぞれには、自車両9に接近する同一の物体の像Tが含まれている。画像処理回路13は、このような周期的に得られる複数の撮影画像SGを用いてオプティカルフロー方式の物体検出処理を行なって、自車両9に接近する物体を検出する。
【0052】
画像処理回路13は、撮影画像SGに設定される左右2つの検出領域TAのそれぞれを対象にして物体検出処理を行なう。2つの検出領域TAは、撮影画像SGの上下中央付近に設定される。そして、一方の検出領域TAは撮影画像SGの左側、他方の検出領域TAは撮影画像SGの右側にそれぞれ設定される。各検出領域TAのサイズは、例えば、水平320画素×垂直160画素である。これらの検出領域TAは、理論的上の無限遠点である消失点(実際には平行な線の像が遠近法により交わる点)を含むことが望ましい。
【0053】
以下、
図8を参照して、一般的なオプティカルフロー方式の物体検出処理について説明する。
図8は、撮影画像SGの右側に設定される検出領域TAを例示している。
【0054】
物体検出処理では、互いに異なる時点に取得された2つの撮影画像(フレーム)のそれぞれから特徴点FPが抽出され、2つの撮影画像それぞれの特徴点FP同士が対応付けられる。そして、2つの撮影画像間の特徴点FPの動きを示すオプティカルフローOP1,OP2が導出され、このオプティカルフローOP1,OP2に基づいて自車両9の周辺を移動する物体が検出される。通常は、時間的に連続する2つの撮影画像(フレーム)を用いてオプティカルフローOP1,OP2が導出される。
【0055】
まず、直近に得られた撮影画像SGにおける特徴点(際立って検出できる点)FPが抽出される。これにより、物体の像Tのコーナー(エッジの交点)などを含む複数の点が特徴点FPとして抽出される(ステップST1)。
【0056】
次に、直近の撮影画像SGから抽出した特徴点FPと、1フレーム前の撮影画像SGから抽出した特徴点FPとが対応付けられる。そして、対応付けられた2つの特徴点FPのそれぞれの位置に基づいて、特徴点FPの動きを示すベクトルであるオプティカルフローが導出される(ステップST2)。
【0057】
オプティカルフローには、左向きのオプティカルフローOP1と、右向きのオプティカルフローOP2とが存在する。通常は、自車両9に接近する物体の像Tは、撮影画像SG中を内向き(撮影画像SGの左右端部から中央側への向き)に移動する。このため、内向きのオプティカルフローのみが処理対象として選択され、自車両9から離れる方向に移動する物体のオプティカルフローが処理対象から除外される(ステップST3)。
図8に例示する撮影画像SGの右側の検出領域TAでは、左向きのオプティカルフローOP1のみが処理対象として選択される。
【0058】
次に、処理対象として選択されたオプティカルフローOP1の特徴点FPのうちで、互いに近傍に存在する複数の特徴点FPが一つのグループとしてグループ化される。そして、このようなグループのそれぞれが物体として検出される。
【0059】
<3.背景に係るオプティカルフロー>
このようなオプティカルフロー方式を採用した場合、自車両9が停止している場合には比較的高精度に物体を検出することができる。一方で、自車両9が旋回する場合には、接近する物体に係るオプティカルフローだけではなく、背景となる被写体に関してもオプティカルフロー(見かけのオプティカルフロー)が生じる。このため、自車両9が旋回する場合には、背景となる被写体を接近する物体として誤検出する可能性がある。
【0060】
図9は、自車両9が右向きに旋回している場合に取得される撮影画像SGから得られるオプティカルフローを概念的に示している。自車両9が右向きに旋回している場合には、撮影画像SG中の背景となる被写体の像が見かけ上において左向きに移動する。このため、撮影画像SGの全体に、背景となる被写体に係る左向きのオプティカルフローOPa,OPb,OPcが発生する。
【0061】
一般的なオプティカルフロー方式を採用した場合には、撮影画像SGの右側の検出領域TAでは、内向きのオプティカルフローとして、接近する物体のオプティカルフロー以外に、これら背景に係る左向きのオプティカルフローOPa,OPb,OPcも処理対象として選択される。その結果、背景となる被写体が接近する物体として誤検出される可能性がある。
【0062】
このため、本実施の形態の物体検出システム10では、このような背景に係るオプティカルフローをできるだけ処理対象から除外することで、背景となる被写体を接近する物体として誤検出することを防止する。
【0063】
背景となる被写体のうち、遠景の被写体はビルなどの建物であることが多く、近景の被写体は道路面の凹凸や白線などであることが多い。このため、遠景の被写体は、近景の被写体と比較して特徴点が抽出されやすい。したがって、背景に係るオプティカルフローには、近景の被写体に係るオプティカルフローOPcと比較し、遠景の被写体に係るオプティカルフローOPaが多く含まれる。また、自車両9の旋回は直進を含む運動であるため、
図9に示すように、遠景の被写体に係るオプティカルフローOPaの長さは、近景の被写体に係るオプティカルフローOPcと比較して短くなる。
【0064】
物体検出システム10では、このような背景に係るオプティカルフローの特性に基づき、比較的長さの短い遠景の被写体に係るオプティカルフローOPaを処理対象から除外する。これにより、車両の旋回に起因して生じる背景に係るオプティカルフローの多くを処理対象から除外する。
【0065】
図10及び
図11は、撮影画像SGから得られるオプティカルフローに関するヒストグラムを示す図である。これらの図においては、縦軸をオプティカルフローの数(度数)とし、横軸をオプティカルフローの長さ(階級)としている。
図10は、自車両9が停止している場合を示しており、
図11は、自車両9が旋回している場合を示している。
【0066】
図10に示すように、自車両9が停止している場合は、接近する物体に係るオプティカルフローに関するヒストグラムH1のみが表れる。一方、
図11に示すように自車両9が旋回している場合は、接近する物体に係るオプティカルフローに関するヒストグラムH1とともに、背景に係るオプティカルフローに関するヒストグラムH2も表れる。
【0067】
前述のように、背景に係るオプティカルフローには遠景の被写体に係るオプティカルフローが多く含まれ、この遠景の被写体に係るオプティカルフローの長さは比較的短い。このため、
図11に示すように、背景に係るヒストグラムH2のピークは、接近する物体に係るヒストグラムH1と比較して、階級が小さい位置(オプティカルフローの長さが短い位置)に表れる。
【0068】
物体検出システム10の物体検出装置1では、閾値変更部11aが、接近する物体に係るヒストグラムH1のピークと、背景に係るヒストグラムH2のピークとの間に判定閾値Thを設定する。そして、フロー選択部13bが、長さが判定閾値Thよりも小となるオプティカルフローを処理対象から除外する。これにより、フロー選択部13bは、背景に係るオプティカルフロー(ヒストグラムH2のオプティカルフロー)の大部分を処理対象から除外する。一方で、フロー選択部13bは、長さが判定閾値Thより大となる接近する物体に係るオプティカルフロー(ヒストグラムH1のオプティカルフロー)を残して処理対象として選択する。その結果、背景となる被写体が接近する物体として誤検出されることを防止できる。
【0069】
なお、判定閾値Thと長さが一致するオプティカルフローに関しては、処理対象として選択してもよく、処理対象から除外してもよい。本実施の形態のフロー選択部13bは、判定閾値Thと長さが一致するオプティカルフローを処理対象から除外する。
【0070】
このように物体検出システム10の物体検出装置1は、オプティカルフローの長さと判定閾値Thとを比較するという単純な手法で、背景となる被写体を接近する物体として誤検出することを防止する。したがって、比較的少ない演算量でこの手法を実現できるため、物体検出装置1が比較的低速な演算処理機能を有する場合であってもこの手法を採用でき、物体検出装置1としてのコストを低減できる。
【0071】
また、背景に係るオプティカルフローの長さは、自車両9の走行状態に応じて変化する。すなわち、背景に係るオプティカルフローの長さは、自車両9の速度が大きくなるほど、また、自車両9の舵角が大きくなるほど、長くなる。このため、閾値変更部11aは、自車両9の速度及び舵角に応じて判定閾値Thを変更する。
【0072】
図12は、閾値変更部11aが、判定閾値Thを変更する手法を説明する図である。図中の横軸は舵角(度)、縦軸は速度(km/h)を示している。舵角は、ステアリングホイールを中立位置から左側に回転すると正の値、右側に回転すると負の値で示される。
【0073】
図12のグラフ中に自車両9の速度及び舵角をプロットした場合、プロットした点はグラフ中の第1領域A1、第2領域A2及び第3領域A3のいずれかに含まれる。閾値変更部11aは、そのようにプロットした点が含まれる領域に応じて判定閾値Thを設定する。
【0074】
閾値変更部11aは、プロットした点が第1領域A1に含まれる場合は、判定閾値Thを例えば「0ピクセル」に設定する。また、閾値変更部11aは、プロットした点が第2領域A2に含まれる場合は判定閾値Thを例えば「1ピクセル」に設定し、プロットした点が第3領域A3に含まれる場合は判定閾値Thを例えば「2ピクセル」に設定する。
【0075】
第1領域A1は、速度が0以上V1未満、かつ、舵角の絶対値がR2以下となる領域である。第2領域A2は、速度がV1以上V2未満、かつ、舵角の絶対値がR1(R1<R2)以下となる領域である。また、第3領域A3は、第1領域A1及び第2領域A2以外の領域である。例えば、V1は0.1km/h、V2は3.0km/h、R1は60度、R2は舵角の最大値とされる。
【0076】
自車両9の速度が0以上V1未満の場合(第1領域A1)とは、自車両9が停止している場合である。このように自車両9が停止している場合は、自車両9の旋回に起因して生じる背景に係るオプティカルフローは存在しない。このため、この場合は、閾値変更部11aは、判定閾値Thを「0ピクセル」に設定する。「0ピクセル」以下のオプティカルフローは存在しないため、この場合は、フロー選択部13bは判定閾値Thに基づいてオプティカルフローを処理対象から除外することはない。
【0077】
また、自車両9の速度がV1以上V2未満の場合とは、自車両9が比較的低速に走行している場合である。この場合は、自車両9の舵角が大きいほど、自車両9の旋回に起因して生じる背景に係るオプティカルフローの長さが長くなる。
【0078】
このため、自車両9の舵角が比較的小さい場合(第2領域A2)は、閾値変更部11aは、判定閾値Thを「1ピクセル」に設定する。これにより、フロー選択部13bは「1ピクセル」以下のオプティカルフローを、自車両9の旋回に起因して生じる背景に係るオプティカルフローとして処理対象から除外する。
【0079】
一方で、自車両9の舵角が比較的大きい場合(第3領域A3)は、閾値変更部11aは、判定閾値Thを「2ピクセル」に設定する。これにより、フロー選択部13bは「2ピクセル」以下のオプティカルフローを、自車両9の旋回に起因して生じる背景に係るオプティカルフローとして処理対象から除外する。
【0080】
また、自車両9の速度がV2以上の場合(第3領域A3)とは、自車両9が比較的高速に走行している場合である。この場合は、自車両9の舵角が比較的小さくても、自車両9の旋回に起因した背景に係るオプティカルフローの長さが長くなる。このため、この場合は、閾値変更部11aは、判定閾値Thを「2ピクセル」に設定する。これにより、フロー選択部13bは「2ピクセル」以下のオプティカルフローを、自車両9の旋回に起因して生じる背景に係るオプティカルフローとして処理対象から除外する。
【0081】
このように閾値変更部11aが自車両9の速度及び舵角に応じて判定閾値Thを変更するため、自車両9の走行状態に応じて、自車両9の旋回に起因して生じる背景に係るオプティカルフローを処理対象から適切に除外できる。
【0082】
<4.動作の流れ>
次に、物体検出システム10の動作の流れについて説明する。
図13は、物体検出システム10の動作の流れを示す図である。
図13に示す処理は一フレームごとに行われ、所定の周期(例えば、1/30秒周期)で繰り返される。
【0083】
まず、信号受信部16が、自車両9の走行状態を示す速度及び舵角を取得する(ステップS11)。信号受信部16は、速度センサ62及び舵角センサ63から送出される信号を受信して、自車両9の速度及び舵角を取得する。
【0084】
次に、閾値変更部11aが、判定閾値Thを設定する(ステップS12)。閾値変更部11aは、
図12を用いて説明したとおり、信号受信部16が取得した自車両9の速度及び舵角に応じて判定閾値Thを変更する。
【0085】
次に、画像取得部12が、動作モードに応じたカメラ2から一の撮影画像(フレーム)を取得する(ステップS13)。画像取得部12は、取得した撮影画像をデジタルの撮影画像に変換(A/D変換)する。
【0086】
次に、画像処理回路13は、画像取得部12が取得した撮影画像を用いて物体検出処理を実行する(ステップS14)。そして、画像処理回路13は、物体を検出した場合は検出結果を制御部11に出力する。
【0087】
画像処理回路13が物体を検出した場合は、制御部11の結果報知部11bが検出結果を受け取る。そして、結果報知部11bは、撮影画像とともに検出結果を示す表示画像を表示装置3において表示させる。さらに、結果報知部11bは、検出結果に応じた警告音をスピーカ4から発生させる。これにより、物体検出処理の検出結果がユーザに報知される(ステップS15)。
【0088】
次に、画像処理回路13が実行する物体検出処理(ステップS14)について詳細に説明する。
図14は、物体検出処理(ステップS14)の詳細な流れを示す図である。この物体検出処理は、撮影画像の左右2つの検出領域TAのそれぞれに関して個別に行われる。
【0089】
まず、フロー導出部13aが、検出領域TAにおける特徴点を抽出する(ステップS21)。フロー導出部13aは、例えば、ハリスオペレータなどの周知の手法を用いて、特徴点を抽出する。
【0090】
次に、フロー導出部13aは、互いに異なる時点に取得された2つの撮影画像(時間的に連続する2つの撮影画像)それぞれの特徴点同士を対応付ける(ステップS22)。すなわち、フロー導出部13aは、今回の物体検出処理で抽出した特徴点(以下、「今回特徴点」という。)と、1フレーム前の撮影画像を対象とした前回の物体検出処理で抽出した特徴点(以下、「前回特徴点」という。)とを対応付ける。移動する物体に基づく特徴点は、互いに異なる時点に取得された2つの撮影画像(フレーム)の間で異なる位置に現れる。このため、フロー導出部13aは、同一の物体の同一箇所に基づく特徴点同士を対応付ける。
【0091】
前回特徴点は、例えば、画像処理回路13内のメモリに記憶された特徴点リストに登録されている。
図15は、特徴点リストの一例を示す図である。
図15に示すように、特徴点リストは、複数のレコードRaを含むテーブル形式のデータである。各レコードRaは一の特徴点の情報を示しており、「識別番号」「X座標」「Y座標」及び「追跡回数」を含んでいる。「識別番号」は当該特徴点の識別情報、「X座標」は当該特徴点の水平方向の座標位置、「Y座標」は当該特徴点の垂直方向の座標位置をそれぞれ示している。
【0092】
また、「追跡回数」は、当該特徴点が連続して対応付けられた回数を示している。例えば、「追跡回数」が「3」であれば、当該特徴点に関して、過去3回の物体検出処理において連続して対応付けができたことを示している。また、「追跡回数」が「0」であれば、当該特徴点が、前回の物体検出処理において新規に抽出された特徴点であることを示している。
【0093】
フロー導出部13aは、今回特徴点のそれぞれに関して、このような特徴点リストに登録された前回特徴点との対応付けを試みる。フロー導出部13aは、例えば、今回特徴点を中心とした比較的小さなサイズ(例えば、水平5画素×垂直5画素)のブロックと前回特徴点を中心とした同サイズのブロックとを比較し、ブロックに含まれる画素が近似する今回特徴点と前回特徴点とを対応付ける。ブロックに含まれる画素が近似する前回特徴点が無い場合は、今回特徴点は前回特徴点とは対応付けられない。通常、新規に抽出された特徴点、及び、断続的に表れる特徴点は、前回特徴点とは対応付けられない。
【0094】
フロー導出部13aは、全ての今回特徴点に関して前回特徴点との対応付けを試みると、特徴点リストの内容を今回特徴点を示す内容に更新する。フロー導出部13aは、前回特徴点と対応付けができた今回特徴点のレコードRaに関しては、「追跡回数」に「1」を加算する。一方、フロー導出部13aは、前回特徴点と対応付けができなかった今回特徴点のレコードRaに関しては「追跡回数」を「0」とする。
【0095】
フロー導出部13aは、このようにして今回特徴点と前回特徴点とを対応付けると、次に、前回特徴点と対応付けできた今回特徴点のそれぞれに関して、オプティカルフローを導出する(ステップS23)。フロー導出部13aは、前回特徴点の位置から今回特徴点の位置に向かうベクトルをオプティカルフローとして導出する。
【0096】
次に、フロー選択部13bが、フロー導出部13aに導出されたオプティカルフローのうち、所定の条件を満足するオプティカルフローを処理対象として選択し、所定の条件を満足しないオプティカルフローを除外する。
【0097】
まず、フロー選択部13bは、内向きのオプティカルフローを処理対象として残し、外向きのオプティカルフローを処理対象から除外する(ステップS24)。フロー選択部13bは、撮影画像SGの左側の検出領域TAでは右向きのオプティカルフローを処理対象として残し、撮影画像SGの右側の検出領域TAでは左向きのオプティカルフローを処理対象として残す。
【0098】
次に、フロー選択部13bは、処理対象として残ったオプティカルフローそれぞれの長さと判定閾値Thとを比較する。この判定閾値Thは、
図13のステップS12において、閾値変更部11aが自車両9の速度及び舵角に応じて設定したものである。フロー選択部13bは、長さが判定閾値Thより大となるオプティカルフローを処理対象として残し、長さが判定閾値Thより小となるオプティカルフローを処理対象から除外する(ステップS25)。これにより、フロー選択部13bは、主に遠景の被写体に係るオプティカルフローを処理対象から除外する。その結果、フロー選択部13bは、自車両9の旋回に起因して生じる背景に係るオプティカルフローの大部分を処理対象から除外する。
【0099】
次に、フロー選択部13bは、処理対象として残ったオプティカルフローそれぞれの特徴点(今回特徴点)の「追跡回数」と所定の基準回数(例えば、3回)とを比較する。そして、フロー選択部13bは、特徴点の「追跡回数」が基準回数より大のオプティカルフローを処理対象として残し、特徴点の「追跡回数」が基準回数より小のオプティカルフローを処理対象から除外する(ステップS26)。
【0100】
判定閾値Thを用いたステップS25の処理は、主に遠景の被写体に係るオプティカルフローを処理対象から除外するものである。このため、ステップS25の処理後に処理対象として残ったオプティカルフローには、数は比較的少ないものの、近景の被写体に係るオプティカルフローが含まれている。前述のように近景の被写体は道路面の凹凸や白線などであることが多い。このような近景の被写体の特徴点は一般に断続的に表れ、撮影画像中に一定期間以上にわたって継続的に表れることは稀である。一方で、接近する物体に係る特徴点は、通常、撮影画像中に継続的に表れる。
【0101】
このため、フロー選択部13bは、特徴点の「追跡回数」が所定回数より小のオプティカルフローを処理対象から除外することで、接近する物体に係るオプティカルフローを処理対象として残しつつ、近景の被写体に係るオプティカルフローの多くを処理対象から除外できる。なお、特徴点の「追跡回数」が基準回数と一致するオプティカルフローに関しては、処理対象として選択してもよく、処理対象から除外してもよい。
【0102】
フロー選択部13bは、以上説明したステップS24〜ステップS26の処理により残ったオプティカルフローを処理対象として選択することになる。
【0103】
次に、物体検出部13cが、このようにフロー選択部13bに処理対象として選択されたオプティカルフローに基づいて物体を検出する。まず、物体検出部13cは、処理対象として選択された複数のオプティカルフローそれぞれの特徴点(今回特徴点)に注目する。そして、物体検出部13cは、それらの特徴点のうちで、互いに近傍に存在する複数の特徴点を一つのグループとしてグループ化する(ステップS27)。
【0104】
図16及び
図17は、このような特徴点をグループ化する手法を説明するための図である。
図16においては、検出領域TAの一部を拡大して示している。また、この説明では、水平方向をX軸(右側が正)、垂直方向をY軸(下側が正)とする。
【0105】
まず、
図16に示すように、物体検出部13cは、特徴点FPのそれぞれの位置に、水平方向(X軸方向)に延びるラインLを設定する。このラインLは、特徴点FPを中心とした特定のサイズ(例えば、5ピクセル)の画素列で構成される。
【0106】
次に、物体検出部13cは、これらのラインLの画素を参照し、横軸をX軸の各座標位置、縦軸を画素の数(度数)とするヒストグラムHXを生成する。このヒストグラムHXにおいては、X軸の各座標位置において、Y軸方向に存在するラインLの画素の数が度数として示される。
【0107】
次に、物体検出部13cは、ヒストグラムHXの度数と所定の閾値Ta(例えば、「3」)とを比較する。そして、
図16の下部に示すように、物体検出部13cは、度数が閾値Ta以上となるX軸方向の範囲を示すラインデータLDを導出する。このラインデータLDは、検出領域TAの水平方向(X軸方向)に関して、複数の特徴点FPが互いに近傍に存在していた範囲を示すものとなる。
【0108】
次に、
図17に示すように、物体検出部13cは、縦軸をY軸の各座標位置、横軸を画素の数(度数)とするヒストグラムHYを生成する。このヒストグラムHYの作成手法は、
図16に示すヒストグラムHXの作成手法を、X軸とY軸とで入れ換えたものとなる。ただし、物体検出部13cは、この処理の対象とするX軸方向の範囲を、一のラインデータLDが存在する範囲(X1〜X2)に限定する。物体検出部13cは、ラインデータLDごとに、このようなヒストグラムHYを作成する。
【0109】
次に、物体検出部13cは、ヒストグラムHYの度数と所定の閾値Tb(例えば、「3」)とを比較する。そして、物体検出部13cは、度数が閾値Tb以上となるY軸方向の範囲を示すラインデータMDを導出する。このラインデータMDは、検出領域TAの垂直方向(Y軸方向)に関して、複数の特徴点FPが互いに近傍に存在していた範囲を示すものとなる。
【0110】
そして、物体検出部13cは、
図17の下部に示すように、ラインデータLDが存在するX軸方向の範囲(X1〜X2)と、ラインデータMDが存在するY軸方向の範囲(Y1〜Y2)とで規定される矩形領域TDに含まれる複数の特徴点FPを一つのグループとしてグループ化する。グループのサイズは、この矩形領域TDのサイズとなる。物体検出部13cは、一つの検出領域TAから複数のグループを導出する場合もある。
【0111】
物体検出部13cは、このようにして特徴点をグループ化してグループを導出すると、次に、導出した各グループのサイズを所定の基準サイズ(例えば、水平15画素×垂直16画素)と比較する。そして、物体検出部13cは、サイズが基準サイズより小となるグループを除外し、サイズが基準サイズより大となるグループを物体として検出する(ステップS28)。
【0112】
前述のように近景の被写体は道路面の凹凸や白線などであることが多い。このような近景の被写体に係る特徴点で構成されたグループのサイズは一般に比較的小さく、一定サイズより大きくなることは稀である。一方で、他の車両8や歩行者などの接近する物体に係る特徴点で構成されたグループのサイズは、通常、一定サイズより大きくなる。
【0113】
このため、物体検出部13cは、サイズが所定サイズより大となるグループを物体として検出することで、近景の被写体に係る特徴点のグループを物体として検出することを防止できる。なお、サイズが基準サイズと一致するグループに関しては、物体として検出してもよく、除外してもよい。
【0114】
以上のように、本実施の形態の物体検出装置1においては、フロー導出部13aが、自車両9の周辺をカメラ2で撮影して周期的に得られる撮影画像の特徴点に基づいてオプティカルフローを導出する。フロー選択部13bは、フロー導出部13aに導出されたオプティカルフローのうち、長さが判定閾値Thより大となるオプティカルフローを処理対象として選択する。一方で、フロー選択部13bは、長さが判定閾値Thより小となるオプティカルフローを、自車両9の旋回に起因して生じる背景に係るオプティカルフローとして処理対象から除外する。物体検出部13cは、フロー選択部13bに処理対象として選択されたオプティカルフローに基づいて物体を検出する。
【0115】
このように、長さが判定閾値Thより小となるオプティカルフローを処理対象から除外するという単純な手法で、自車両9の旋回に起因して生じる背景に係るオプティカルフローを処理対象から除外できる。このため、自車両9が旋回する場合に背景となる被写体を物体として誤検出することを、比較的簡便な手法で防止できる。
【0116】
また、フロー導出部13aは、互いに異なる時点に取得された2つの撮影画像それぞれの特徴点同士を対応付けることでオプティカルフローを導出する。そして、フロー選択部13bは、連続して対応付けができた回数である「追跡回数」が基準回数より小となる特徴点に基づくオプティカルフローを処理対象から除外する。このため、近景の被写体に係るオプティカルフローを処理対象から除外できる。
【0117】
また、物体検出部13cは、フロー選択部13bに処理対象として選択されたオプティカルフローの特徴点のうちで、互いに近傍に存在する複数の特徴点を一つのグループとしてグループ化する。そして、物体検出部13cは、グループのサイズが基準サイズより大となるグループを物体として検出する。このため、近景の被写体に係る特徴点のグループを物体として検出することを防止できる。
【0118】
<5.変形例>
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
【0119】
上記実施の形態では、物体検出処理の検出結果を示す指標として矩形の警告部AFを表示していたが、矢印などの他の態様の指標を表示するようにしてもよい。また、撮影画像中に含まれる検出した物体の像を強調枠などで強調することで、物体検出処理の検出結果をユーザに報知するようにしてもよい。
【0120】
また、上記実施の形態では、閾値変更部11aが自車両9の速度及び舵角の双方を考慮して判定閾値Thを変更していた。これに対して、閾値変更部11aが、自車両9の舵角のみを考慮して判定閾値Thを変更してもよい。また、自車両9の速度及び舵角に関わらず、判定閾値Thを一定の値としてもよい。この場合は、判定閾値Thは例えば「2ピクセル」に常に設定される。また、判定閾値Thをユーザが設定できるようにしてもよい。
【0121】
また、上記実施の形態において一つのブロックとして説明した機能は必ずしも単一の物理的要素によって実現される必要はなく、分散した物理的要素によって実現されてよい。また、上記実施の形態で複数のブロックとして説明した機能は単一の物理的要素によって実現されてもよい。また、車両内の装置と車両外の装置とに任意の一つの機能に係る処理を分担させ、これら装置間において通信によって情報の交換を行うことで、全体として当該一つの機能が実現されてもよい。
【0122】
また、上記実施の形態においてプログラムの実行によってソフトウェア的に実現されると説明した機能の全部又は一部は電気的なハードウェア回路により実現されてもよく、ハードウェア回路によって実現されると説明した機能の全部又は一部はソフトウェア的に実現されてもよい。また、上記実施の形態において一つのブロックとして説明した機能が、ソフトウェアとハードウェアとの協働によって実現されてもよい。