車両周辺監視装置
【課題】物体が存在しない場所で、誤ってオプティカルフローを検出することのない車両周辺監視装置を提供する。
【解決手段】カメラ(撮像手段)100で異なる時刻に撮像した2つの画像に基づいて、オプティカルフロー検出手段240が第1のオプティカルフロー(F1)を検出し、オプティカルフロー推定手段230が、仮想面設定手段220によって路面から所定距離だけ高い位置に設定された第1の仮想面の上に生じる第2のオプティカルフロー(F2)を推定して、オプティカルフロー差分演算手段250が、F1からF2を差し引いて、物体検出手段260が、差分演算結果に基づいて車両の周辺に存在する物体を検出し、接触判定手段270が、物体が車両10に接触する可能性があると判定したときに、警報出力手段400が警報を出力する。
【解決手段】カメラ(撮像手段)100で異なる時刻に撮像した2つの画像に基づいて、オプティカルフロー検出手段240が第1のオプティカルフロー(F1)を検出し、オプティカルフロー推定手段230が、仮想面設定手段220によって路面から所定距離だけ高い位置に設定された第1の仮想面の上に生じる第2のオプティカルフロー(F2)を推定して、オプティカルフロー差分演算手段250が、F1からF2を差し引いて、物体検出手段260が、差分演算結果に基づいて車両の周辺に存在する物体を検出し、接触判定手段270が、物体が車両10に接触する可能性があると判定したときに、警報出力手段400が警報を出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の周辺に存在する移動物体や静止物体を検知して、車両が物体に衝突する可能性がある場合に警報を出力する車両周辺監視装置に関する。
【背景技術】
【0002】
近年、車両にカメラを設置し、車両に衝突する可能性がある物体を検知する技術が提案されている。
【0003】
例えば、カメラで撮影した画像からオプティカルフローを求め、このオプティカルフローを、車両の動きを基にして求めた背景フローと比較するために、両者のベクトル差を求めて、このベクトル差に基づいて車両周辺にある接近物(移動物体や静止物体)を検出する監視装置が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−056763号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された発明では、背景フローとして路面上に生じるオプティカルフローを推定している。
【0006】
しかしながら、この特許文献1に記載された監視装置に限らず、カメラを車両に設置したときには、カメラの設置位置に誤差が生じやすいため、カメラの設置位置に関する情報や、車両の挙動を用いて推定したオプティカルフロー(背景フロー)には、推定誤差が含まれる可能性がある。
【0007】
監視装置によって物体を検出するために、特許文献1では、実際に検出したオプティカルフローと、推定した背景フローとの比較を行っている。そのとき、両者の差分演算を行って差分ベクトル(差分フロー)を算出すると、物体が存在しない位置では差分フローが0になる。しかし、原理的には差分フローが0になる場合であっても、カメラの設置位置の誤差の影響によって、背景フローに推定誤差が含まれると、差分フローがノイズとして残ってしまう可能性がある。
【0008】
そして、差分フローがノイズとして残ってしまうと、これを物体であると誤認識してしまう恐れがある。特に、路面には多数の模様やテクスチャ(微細な凹凸等)が存在するために、多くのオプティカルフローが検出されるため、オプティカルフローと背景フローとの差分演算を行うと差分フローが残ってしまう可能性がある。
【0009】
本発明は上記事情に鑑みなされたもので、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる車両周辺監視装置を提供することを第1の目的とする。
【0010】
また、特許文献1に記載された監視装置にあっては、撮像した画像上で、路面が映っていない、消失点より上部の領域については、路面に垂直な仮想壁面を設定して、この仮想壁面上で背景フローを推定している。
【0011】
しかしながら、この特許文献1に記載された監視装置にあっては、物体の検出距離に、特に制約を設けていない。したがって、特許文献1に記載された監視装置を、検出した物体が車両に接触する可能性があるときに、運転者に対して警報を出力する用途に適用したときには、警報範囲を遙かに超えた領域においても差分フローが出力されるため、警報範囲内に存在しない物体をも検出してしまう。これは、監視装置の本来の目的からみて、不要な処理を行っていることになり、非効率的である。
【0012】
本発明は上記事情に鑑みなされたもので、警報範囲内のみで物体検出を行うことによって、より実用的な車両周辺監視装置を提供することを第2の目的とする。
【課題を解決するための手段】
【0013】
本発明に係る車両周辺監視装置は、路面よりも高い位置に設定した仮想面において生じると推定される背景フローと、実際に検出されるオプティカルフローと、を比較して、物体を検出するものである。
【0014】
すなわち、本発明に係る車両周辺監視装置は、車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、前記第1のオプティカルフローと、前記路面から第1の距離だけ高い位置に仮想的に設定された第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される第2のオプティカルフローと、を比較して、前記車両の周辺に存在する物体を検出する物体検出手段と、を有することを特徴とする。
【0015】
このように構成された本発明に係る車両周辺監視装置によれば、撮像手段で異なる時刻に撮像された、路面を含む車両周辺の2つの画像に基づいて、オプティカルフロー検出手段で第1のオプティカルフローが検出されるとともに、物体検出手段によって、第1のオプティカルフローと、前記異なる時刻の間の車両の挙動に基づいて、路面から第1の距離だけ高い位置に仮想的に設定された第1の仮想面の上に生じると推定される第2のオプティカルフローと、が比較されて、物体を検出することができる。
【0016】
また、本発明に係る車両周辺監視装置は、警報を出力しようとする範囲として設定された範囲のうち、車両から最遠点において路面から立ち上がる仮想面を設定して、路面とこの仮想面において生じると推定される背景フローと、実際に検出されるオプティカルフローと、を比較して、物体を検出するものである。
【0017】
すなわち、本発明に係る車両周辺監視装置は、車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、前記車両から、前記撮像手段が撮像する方向に第2の距離だけ離れた位置に、前記路面から立ち上がる第2の仮想面を設定して、前記撮像手段の設置位置から前記路面と前記第2の仮想面とに向かって延びる複数の半直線が、前記路面、もしくは前記第2の仮想面と最初に交差する点で構成される面を、第1の仮想面として設定する仮想面設定手段と、前記第1のオプティカルフローから、前記第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第1のオプティカルフローと始点を共にする第2のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、前記物体検出手段によって検出された物体と前記車両とが接触する可能性を判定する接触判定手段と、前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有し、前記第2の距離は、前記車両から、前記接触判定手段が前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置まで、の距離であることを特徴とする。
【0018】
このように構成された本発明に係る車両周辺監視装置によれば、撮像手段で異なる時刻に撮像された、路面を含む車両周辺の2つの画像に基づいて、オプティカルフロー検出手段で第1のオプティカルフローが検出され、仮想面設定手段によって、撮像手段の設置位置から、路面と、接触判定手段が車両と物体とが接触する可能性があると判定する範囲の中で車両から最遠点の路面上の位置から立ち上がった第2の仮想面と、に向かって延びる複数の半直線が、路面、もしくは第2の仮想面と最初に交差する点で構成される面が、第1の仮想面として設定され、オプティカルフロー差分演算手段によって、第1のオプティカルフローから、前記異なる時刻の間の車両の挙動に応じて第1の仮想面の上に生じると推定される、第1のオプティカルフローと始点を共にする第2のオプティカルフローが差し引かれて差分フローが演算され、物体検出手段が、この差分フローに基づいて車両の周辺に存在する物体を検出して、接触判定手段によって、物体が車両に接触する可能性があると判定されたときに、警報出力手段が警報を出力することができる。
【発明の効果】
【0019】
本発明に係る車両周辺監視装置によれば、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる車両周辺監視装置を提供することができる。
【0020】
また、本発明に係る車両周辺監視装置によれば、物体の検出範囲を警報範囲内に限定して、より実用的な車両周辺監視装置を提供することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の実施例1に係る車両周辺監視装置の概略構成を示すブロック図である。
【図2】図1の周辺監視手段の内部構成を示すブロック図である。
【図3】(a)は、車載されたカメラが置かれた道路環境を示す図である。(b)は、(a)の状態で車両が直進したときに検出される、第1のオプティカルフローを示す図である。(c)は、(a)の状態で車両が右旋回をしたときに検出される、第1のオプティカルフローを示す図である。
【図4】周辺監視手段で行われる処理の流れを示す概略フローチャートである。
【図5】オプティカルフロー検出処理の流れを示すフローチャートである。
【図6】オプティカルフロー推定処理の流れを示すフローチャートである。
【図7】オプティカルフロー差分演算処理の流れを示すフローチャートである。
【図8】物体検出処理の流れを示すフローチャートである。
【図9】警報出力判定処理の流れを示すフローチャートである。
【図10】(a)は、第2のオプティカルフローの推定方法を示す図である。(b)は、(a)の状態から、カメラが光軸方向に速度vでt秒間移動した後の状態を示す図である。
【図11】(a)は、本発明の実施例1に係る車両周辺監視装置における仮想面の設定方法を示す図であり、車両の後方に仮想面V1を設定した状態を示す図である。(b)は、車両の後方に、仮想面A1と仮想面V1を設定した状態を示す図である。(c)は、車両の後方に、仮想面A2と仮想面V1を設定した状態を示す図である。
【図12】(a)は、図11(a)の状態で推定した第2のオプティカルフローの一例を示す図である。(b)は、図11(a)の状態で検出した第1のオプティカルフローと図12(a)の第2のオプティカルフローとの差分結果を示す図である。(c)は、図11(b)の状態で推定した第2のオプティカルフローの一例を示す図である。(d)は、図11(b)の状態で検出した第1のオプティカルフローと図12(c)の第2のオプティカルフローとの差分結果を示す図である。(e)は、図11(c)の状態で推定した第2のオプティカルフローの一例を示す図である。(f)は、図11(c)の状態で検出した第1のオプティカルフローと図12(e)の第2のオプティカルフローとの差分結果を示す図である。
【図13】本発明の実施例1に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に、仮想面A3〜A5を設定した状態を示す図である。
【図14】本発明の実施例1に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に仮想面V1と複数の仮想面A6〜A8を設定した状態を示す図である。
【図15】車両が右旋回したときに検出される、第1のオプティカルフローの例を示す図である。
【図16】車両の後方に、仮想面A1と仮想面V2を設定した状態を示す図である。
【図17】本発明の実施例2に係る車両周辺監視装置の概略構成を示すブロック図である。
【図18】本発明の実施例2に係る車両周辺監視装置の周辺監視手段の内部構成を示すブロック図である。
【図19】本発明の実施例2に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に仮想面V2を設定した状態を示す図である。
【発明を実施するための形態】
【0022】
以下、本発明に係る車両周辺監視装置の実施形態について、図面を参照して説明する。
【実施例1】
【0023】
本実施例1は、車載されたカメラで車両周辺を監視して、車両に接触する可能性のある物体が検出されたときに警報を出力する車両周辺監視装置に関するものである。
【0024】
まず、説明に使用する用語の定義を行う。撮像手段で異なる時刻に撮像された2つの画像に基づいて検出されるオプティカルフローを、以後、第1のオプティカルフローと呼ぶ。
【0025】
また、仮想的に設定された仮想面において、立体物や動くものがないと仮定したときに、異なる時刻の間の車両の挙動に応じて生じると推定されるオプティカルフロー(背景フロー)を、以後、第2のオプティカルフローと呼ぶ。
【0026】
さらに、第1のオプティカルフローから第2のオプティカルフローを差し引いた結果算出される差分ベクトルを、以後、差分フローと呼ぶ。
【0027】
図1は、本発明の実施例1に係る車両周辺監視装置の概略構成を示すブロック図を表す。
【0028】
図2は、図1の周辺監視手段200の内部構成を示すブロック図である。
【0029】
本実施例1に係る車両周辺監視装置は、車両10に設置され、カメラ100(撮像手段)と、周辺監視手段200と、車輪速センサ300と、警報出力手段400と、を備えている。
【0030】
カメラ100は、車両後方の路面を含む領域を撮像する。
【0031】
周辺監視手段200は、カメラ100で撮像された画像の中から、車両10に接触する可能性のある物体を検出する。
【0032】
車輪速センサ300は、車両の左右両輪の車輪速を計測する。
【0033】
警報出力手段400は、スピーカのような音声出力手段やモニタのような映像出力手段を備え、車両が物体に接触する可能性があるときに、音や音声や映像によって警報を出力する。
【0034】
周辺監視手段200は、さらに、仮想面設定手段220と、オプティカルフロー推定手段230と、オプティカルフロー検出手段240と、オプティカルフロー差分演算手段250と、物体検出手段260と、接触判定手段270と、を備えている。
【0035】
仮想面設定手段220は、予め決められた位置に仮想的に仮想面を設定する。なお、図2には図示しないが、後述するように、周辺監視手段200の中に、複数の仮想面の中から1つの仮想面を選択する機能を付加したときには、仮想面選択手段として、ジョイスティックのようなポインティングデバイスが、仮想面設定手段220に接続される。
【0036】
オプティカルフロー検出手段240は、カメラ100で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出する。
【0037】
オプティカルフロー推定手段230は、車輪速センサ300で計測された、異なる時刻の間の車両の挙動と、カメラ100の設置条件と、焦点距離や画素サイズ等のカメラ100のパラメータと、に基づいて、仮想面設定手段220で設定された仮想面において生じる第2のオプティカルフローを推定する。
【0038】
オプティカルフロー差分演算手段250は、オプティカルフロー検出手段240で検出された第1のオプティカルフローと、オプティカルフロー推定手段230で推定された第2のオプティカルフローとの差分演算を行って、差分フローを算出する。
【0039】
物体検出手段260は、オプティカルフロー差分演算手段250の演算結果に基づいて、物体の検出を行う。
【0040】
接触判定手段270は、物体検出手段260で検出された物体が、車両10に接触する可能性があるか否かを判定する。
【0041】
なお、図2に記載した構成は、実装形態に応じて、適宜変更することが可能である。例えば、仮想面設定手段220は、カメラ100の設置位置と、焦点距離や画素サイズ等のカメラ100のパラメータと、設定する仮想面の形状と、に基づいて、予め仮想面の位置を計算して記憶しておくことができる。その場合、独立した仮想面設定手段220を備えなくてもよい。
【0042】
また、オプティカルフロー推定手段230は、仮想面が設定されて、カメラ100の設置位置と、焦点距離や画素サイズ等のカメラ100のパラメータと、が判れば、車両の挙動に応じた第2のオプティカルフローを予め計算して記憶しておくことができるため、実際に車両の挙動を計測した都度、その車両の挙動に対応した第2のオプティカルフローを読み出すことができる。その場合、独立したオプティカルフロー推定手段230を備えなくてもよい。
【0043】
ここで、まず、オプティカルフローについて、図3(a)、(b)、(c)を用いて簡単に説明する。
【0044】
図3(a)は、障害物が全くない、レーンマーカが引かれた路面をカメラ100で撮像した画像の一例である。左右のレーンマーカをそれぞれ遠方に延長すると、それらは消失点Vで交わる。
【0045】
カメラ100を搭載した車両10が、この消失点Vに向かって直進したときに、異なる2つの時刻t、t+Δtにおいてカメラ100で路面を撮像して、得られた2つの画像を、同じ座標同士が重なるように重ね合わせて、その2つの画像の中の対応する画素同士を、時刻tに撮像した画像上の画素Mを始点として、時刻t+Δtに撮像した画像上の、画素Mに対応する画素M’を終点とするベクトルで連結したとき、このベクトルをオプティカルフローと呼ぶ。
【0046】
オプティカルフローは、異なる2つの時刻の間におけるカメラ100の移動量および移動方向や、撮像された物体の、見かけの移動量および移動方向を表している。このオプティカルフローを検出する処理を、画像の中の複数の画素に対して実行すると、図3(b)に示すように、消失点Vから放射状に広がる複数の第1のオプティカルフローが得られる。
【0047】
さらに、図3(a)の状態で、車両10が右方向に旋回したときには、図3(c)に示す複数の第1のオプティカルフローが得られる。すなわち、時間とともに消失点Vは水平方向左側に移動して、それに合わせて画像全体も水平方向左側に移動する。
【0048】
本実施例1は、異なる時刻に撮像された2つの画像に基づいて、前記した第1のオプティカルフローを検出して、車両に接触する可能性のある物体を検出するものである。本実施形態に係る車両周辺監視装置の作用について、図4のフローチャートに基づいて説明する。
【0049】
まず、ステップS10において、カメラ100で、路面を含む車両10の周辺の画像を、所定の時間間隔で2回撮像して、ステップS20に進む。
【0050】
ステップS20では、オプティカルフロー検出手段240によって、カメラ100で撮像された2つの画像から第1のオプティカルフローを検出して、ステップS30に進む。ステップS20で行われる処理の詳細は後述する。
【0051】
ステップS30では、オプティカルフロー推定手段230によって、第2のオプティカルフローを推定し、ステップS40に進む。ステップS30で行われる処理の詳細は後述する。
【0052】
ステップS40では、オプティカルフロー差分演算手段250によって、オプティカルフロー検出手段240によって検出された第1のオプティカルフローから、オプティカルフロー推定手段230によって推定された第2のオプティカルフローを差し引く差分演算を行って、ステップS50に進む。ステップS40で行われる処理の詳細は後述する。
【0053】
ステップS50では、物体検出手段260によって、路面上にある物体を検出し、ステップS60に進む。ステップS50で行われる処理の詳細は後述する。
【0054】
ステップS60では、接触判定手段270によって、検出された物体が車両10に接触する可能性があり、警報すべきか否かを判定する。ステップS60で行われる処理の詳細は後述する。
【0055】
ステップS70では、接触判定手段270の判定結果に基づいて、警報出力を行うか否かを判定する。警報出力を行うときはステップS80に進み、警報出力を行わないときはステップS90に進む。なお、警報を出力すべき物体が複数個検出された場合には、ステップS70の中で、最も近くにいる物体に対して警報する、最も速度が大きい物体に対して警報するなど、どのような警報を出力すべきかが併せて判定される。
【0056】
ステップS80では、警報出力手段400から警報を出力して車両10の運転者に注意を促す。その後、ステップS90に進む。
【0057】
ステップS90では、周辺監視手段200を動作させるメインスイッチ(図2には図示しない)が切断されたこと、または、車両10のイグニッションスイッチが切断されたことを検出して、図4の処理の終了を判断する。終了判断がなされないときは、ステップS10に戻って、同じ処理を繰り返す。
【0058】
ステップS20で行う処理の詳細を、図5を用いて説明する。図5の処理は、オプティカルフロー検出手段240によって行われる。
【0059】
カメラ100で時刻tに撮像した画像をIt(x,y)とし、時刻t+Δtに撮像した画像をIt+Δt(x,y)とする。
【0060】
ステップS201では、画像It(x,y)の中から輝度勾配の大きな点を特徴点として検出する。具体的には、画像It(x,y)に対して、着目する画素の近傍に小領域を設定して、輝度勾配を表す量として、設定した小領域の内部におけるエッジ強度を求めるオペレータを作用させて、求めたエッジ強度が所定値よりも大きい画素を特徴点とする。このとき、併せて、同じ画素におけるエッジ方向も算出しておく。
【0061】
ステップS202では、画像It(x,y)の中から検出した特徴点と同じ輝度勾配を有する画素(対応点)を、画像It+Δt(x,y)の中から探索する。この処理は、画像It+Δt(x,y)の中に、所定の大きさの探索範囲を設定して、設定した探索範囲の中で、画像It(x,y)の中から検出した特徴点と同じ輝度勾配(エッジ強度とエッジ方向)を有する画素を探索することによって行われる。
【0062】
ステップS203では、エッジ強度の近似度とエッジ方向の近似度に、それぞれしきい値を設けて、エッジ強度の差異とエッジ方向の差異が、ともに、それぞれ設定されたしきい値以内であるときに、対応点が見つかったと判定して、ステップS204に進む。一方、対応点が探索されないときは、ステップS201に戻って、別の特徴点の検出を行う。
【0063】
ステップS204では、画像It(x,y)の中から検出した特徴点を始点とし、画像It+Δt(x,y)の中から見つけた対応点を終点とする第1のオプティカルフローを決定する。このようにして検出された第1のオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー検出手段240の中に記憶される。
【0064】
なお、第1のオプティカルフローの検出方法は、上記したものに限定されるものではない。すなわち、オプティカルフローの検出方法は数多く提案されており、そのいずれの方法を用いて行ってもよい。
【0065】
ステップS205では、画像It(x,y)の全ての画素に対して特徴点の検出処理を行ったか否かを判定する。全ての画素に対して処理を行ったときは、図5の処理を終了して、図2のメインルーチンに戻る。
【0066】
一方、画像It(x,y)の全ての画素に対して特徴点の検出処理が終了していないときは、ステップS201に戻って、特徴点の検出を続行する。
【0067】
次に、ステップS30で行う処理を説明する前に、まず、図10(a)、(b)を用いて、第2のオプティカルフローの推定方法を説明する。カメラ100は、路面110から高さhの位置に設置されているとする。また、カメラ100の焦点Oを原点として、カメラ100の撮像面の水平軸に平行な座標軸Xと、カメラ100の撮像面の垂直軸に平行な座標軸Yと、カメラ100の光軸と一致するように設定した座標軸Zと、からなるXYZ座標系を設定する。
【0068】
説明を簡単にするため、カメラ100の光軸は、路面110と平行であるとする。また、カメラ100で撮像された点は、透視投影によって撮像面に投影されるものとする。
【0069】
カメラ100の焦点距離をfとし、路面110上の点R1の座標を(X1,Y1,Z1)とし、点R1が撮像面上で点Q1(x1,y1)に観測されたとする。さらに、カメラ100の水平方向画素サイズをCx、垂直方向画素サイズCyとすると、点Q1の座標(x1、y1)は、(式1)で算出される。
【0070】
x1=(fX1/Z1)/Cx、y1=(fY1/Z1)/Cy (式1)
カメラ100を搭載した車両10が、速度v(vx,vy,vz)でt秒間移動したとする。ここで、vxは速度vのX軸方向成分、vyは速度vのY軸方向成分、vzは速度vのZ軸方向成分である。
【0071】
説明を簡単にするために、カメラ100(車両10)の移動方向は、光軸方向(Z軸方向)であるとすると、vx、vy、vzは、それぞれ(式2)で表される。
【0072】
vx=0、vy=0、vz=−v (式2)
図10(b)は、図10(a)のt秒後の状態を示している。カメラ100(車両10)の移動によって、点R1(X1,Y1,Z1)が点R2(X2,Y2,Z2)に移動して、点R2が、撮像面上で点Q2(x2,y2)の位置に撮像されたとする。このとき、点Q2(x2,y2)は、(式1)と同様にして、(式3)で算出される。
【0073】
x2=(fX2/Z2)/Cx、y2=(fY2/Z2)/Cy (式3)
また、点R2の座標(X2,Y2,Z2)は、(式4)で算出される。
【0074】
X2=X1+vxt、Y2=Y1+vyt、Z2=Z1−vzt (式4)
(式4)に(式2)を適用すると、(式5)が得られる。
【0075】
X2=X1、Y2=Y1、Z2=Z1−vt (式5)
このとき、t秒後に撮像面上に生じると推定される第2のオプティカルフロー(Δx,Δy)は、(式1)、(式3)、(式5)を用いて、(式6)、(式7)で算出される。
Δx=x2−x1=fX1vt/{Z1(Z1−vt)Cx} (式6)
Δy=y2−y1=fY1vt/{Z1(Z1−vt)Cy} (式7)
第2のオプティカルフローを推定するためには、(式6)、(式7)において、X1、Y1、Z1の値を特定する必要がある。すなわち、第2のオプティカルフローが生じる面(仮想面)を仮想的に設定する必要がある。上記した説明は、仮想面を路面110に設定した場合についてのものである。
【0076】
ここで、第2のオプティカルフローの始点(x1,y1)を定めて、車両の挙動から速度ベクトルv(vx,vy,vz)を特定すれば、予め測定してあるカメラ100のパラメータであるf、Cx、Cyを用いて、(式6)、(式7)によって第2のオプティカルフローの終点(x2,y2)の座標が得られ、これによって、第2のオプティカルフローが推定される。
【0077】
なお、上記した説明は、カメラ100の光軸が路面110と平行に設置された場合についてのものである。実際は、車両10の近傍まで監視するために、カメラ100の光軸はやや下向きに設置されるため、(式6)や(式7)の中には、カメラ100の光軸の方向を示す値や、カメラ100の路面からの高さhの値も加味される。
【0078】
次に、ステップS30で行う処理の詳細を、図6を用いて説明する。図6の処理は、オプティカルフロー推定手段230によって行われる。
【0079】
ステップS301では、まず、仮想面設定手段220によって、第2のオプティカルフローを推定する仮想面を設定する。本実施例1では、図11(b)に示すように、路面110から第1の距離dだけ上方(カメラ100に近い側)に、路面110と平行な仮想面A1(第1の仮想面)を設定する。
【0080】
仮想面は、このように路面110と平行な1つの面A1のみを設定すればよいが、仮想面A1のみでは、カメラ100の撮像視野の全体を仮想面で覆うことができない。これは、一般に、路面と平行な面が撮像される領域は、カメラ100で撮像した画像の消失点Vよりも下部の領域のみだからである。
【0081】
したがって、仮想面A1を設定した後で、画像の中の消失点Vよりも上部の領域については、以後説明する処理を行わないように、マスクをかければよい。
【0082】
また、仮想面A1の他に、車両10から第2の距離kだけ後方の位置に、路面110から立ち上がる仮想面V1(第2の仮想面)を、併せて設定してもよい。
【0083】
図11(b)は、この仮想面V1を、路面110から垂直に立ち上がり、カメラ100の光軸を含み路面110から垂直に立ち上がる平面と直交する面として設定した例である。この仮想面V1の高さは、少なくともカメラ100の撮像視野の最上部を超えるものとする。以降、この仮想面A1と仮想面V1とを設定した場合について説明する。
【0084】
ここで、第1の距離dと、第2の距離kと、には、後述するように、予め実験等によって決定した値が用いられる。
【0085】
ステップS301では、このように設定した仮想面A1と仮想面V1とに向かって、カメラ100の焦点Oから複数の半直線を延ばして、この半直線が、仮想面A1、もしくは仮想面V1と最初に交差する点で構成される面を、新たに第1の仮想面として設定して、ステップS302に進む。
【0086】
ステップS302では、車輪速センサ300から得られる車両10の左右輪の車輪速を、それぞれ所定の時間間隔で測定して、時刻tから時刻t+Δtの間の車輪速に基づいて、Δt秒間の車両10の挙動(移動距離、移動方向)を算出し、ステップS303に進む。
【0087】
ステップS303では、オプティカルフロー検出手段240に記憶されている第1のオプティカルフローの検出結果を参照して、第1のオプティカルフローの始点の座標を探す。第1のオプティカルフローの始点が見つかったら、ステップS304に進み、第1のオプティカルフローの始点が見つからないときは、ステップS303に戻って、第1のオプティカルフローの始点を探す処理を続行する。
【0088】
ステップS304では、オプティカルフロー推定手段230によって、第1のオプティカルフローの始点の位置において、ステップS301で設定した仮想面A1、または仮想面V1の上に生じると考えられる第2のオプティカルフローを推定する。この第2のオプティカルフローの推定は、前記した方法によって行われる。なお、このように第1のオプティカルフローが検出された点でのみ、第2のオプティカルフローを推定することによって、第2のオプティカルフローを推定する点を減らすことができ、これによって、処理の効率を向上させることができる。
【0089】
このようにして推定された第2のオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー推定手段230の中に記憶されて、ステップS305に進む。
【0090】
ステップS305では、画像It(x,y)と画像It+Δt(x,y)から検出された、全ての第1のオプティカルフローの始点の位置における第2のオプティカルフローの推定を完了したか否かを判定する。全ての第1のオプティカルフローに対して処理を行ったときは、図6の処理を終了して、図2のメインルーチンに戻る。
【0091】
一方、画像It(x,y)と画像It+Δt(x,y)から検出された全ての第1のオプティカルフローに対して、第2のオプティカルフローの推定が終了していないときは、ステップS303に戻って、処理を続行する。
【0092】
ここで、ステップS301で設定する仮想面A1(第1の仮想面)の位置を特定する第1の距離dの値について説明する。
【0093】
路面110上の模様やテクスチャを始点として検出された第1のオプティカルフローから、路面110に生じると推定した第2のオプティカルフローを差し引くと、原理的には差分フローは0になるはずである。しかし、カメラ100を車両10に設置したときに、カメラ100の路面からの高さhやカメラ100の光軸の方向に誤差が生じると、差分フローが残ってしまう場合がある。
【0094】
そこで、本実施例1では、設定する第1の仮想面の位置がカメラ100に近いほど、同じ車両の挙動に対して、より長い第2のオプティカルフローが推定されることを利用して、路面110から第1の距離dだけ上方に、路面110と平行な仮想面A1を設定し、この仮想面A1上で第2のオプティカルフローの推定を行う。
【0095】
これによって、仮想面A1においては、車両10の実際の挙動から推定されるよりも長い第2のオプティカルフローが推定されるため、後述する、第1のオプティカルフローから第2のオプティカルフローを差し引く差分演算を行ったときに、第1のオプティカルフローを確実に除去(キャンセル)し、ノイズをカットすることができる。
【0096】
なお、第1の距離dの値は、検出する物体の高さに応じて設定するのが望ましい。すなわち、高さが低い物体を検出するときは第1の距離dをより小さい値に設定し、高さが高い物体を検出するときは第1の距離dをより大きい値に設定するのが望ましい。具体的な第1の距離dの値は、予め実験等を行って決定し、その値が採用される。
【0097】
次に、仮想面V1の設定位置を特定する第2の距離kの値について説明する。
【0098】
仮想面V1は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置から立ち上がるように設定するのが望ましい。
【0099】
これによって、仮想面V1よりも遠方にある点では、第2のオプティカルフローが実際よりも長く推定されるため、後述する、第1のオプティカルフローから第2のオプティカルフローを差し引く差分演算を行ったときに、第1のオプティカルフローを確実に除去(キャンセル)することができる。
【0100】
なお、仮想面V1を設定するために必要な第2の距離kの値は、上記した観点から、予め実験等によって決定した値が用いられる。
【0101】
次に、ステップS40で行う処理の詳細を、図7を用いて説明する。図7の処理は、オプティカルフロー差分演算手段250によって行われる。
【0102】
まずステップS401では、オプティカルフロー検出手段240の中に記憶された第1のオプティカルフローの始点の座標(x1,y1)を探す。第1のオプティカルフローの始点の座標(x1,y1)が見つかったらステップS402に進み、見つからないときは、ステップS401に戻って、探索を続行する。
【0103】
ステップS402では、オプティカルフロー差分演算手段250において、見つかった第1のオプティカルフローの始点の座標と等しい始点の座標を有する第2のオプティカルフローの終点の座標(x2,y2)を、オプティカルフロー推定手段230の中に記憶されたオプティカルフローの推定結果の中から探索し、第1のオプティカルフローの長さから第2のオプティカルフローの長さを差し引く処理を行う。
【0104】
第1のオプティカルフローの長さは、第1のオプティカルフローの始点、および終点の座標から算出され、第2のオプティカルフローの長さは、第2のオプティカルフローの始点、および終点の座標から算出される。
【0105】
算出された差分フローの長さは、差分フローの始点の座標、終点の座標とともに、オプティカルフロー差分演算手段250の中に記憶される。なお、このとき、第2のオプティカルフローの長さが、第1のオプティカルフローの長さ以上であるときには、それを表す識別子を、一緒に記憶しておく。
【0106】
次にステップS403では、オプティカルフロー差分演算手段250において、第1のオプティカルフローの方向から第2のオプティカルフローの方向を差し引く処理を行う。第1のオプティカルフローの方向は、第1のオプティカルフローの始点、および終点の座標から算出され、第2のオプティカルフローの方向は、第2のオプティカルフローの始点、および終点の座標から算出される。算出された差分フローの方向は、オプティカルフロー差分演算手段250の中に記憶されて、ステップS404に進む。
【0107】
ステップS404では、第1のオプティカルフローから第2のオプティカルフローを差し引いた結果、差分フローの長さが0または負であるか否かを判定する。
【0108】
差分フローの長さが0または負であることは、ステップS402で記憶した、第2のオプティカルフローの長さが、第1のオプティカルフローの長さ以上であることを表す識別子を参照することによって行えばよい。
【0109】
もし、差分フローの長さが0または負であったときはステップS405に進み、差分フローの長さが正であったときは、ステップS401に戻って、次の第1のオプティカルフローについて処理を行う。
【0110】
ステップS405では、オプティカルフロー差分演算手段250に記憶された、差分フローの始点の座標、終点の座標、差分フローの長さ、および差分フローの方向を削除して、ステップS406に進む。
【0111】
ステップS406では、全ての第1のオプティカルフローについて処理を行ったことを確認して、図2のメインルーチンに戻る。
【0112】
全ての第1のオプティカルフローに対する処理が完了していないときは、ステップS401に戻り、残りの第1のオプティカルフローについて処理を行う。
【0113】
次に、ステップS50で行う処理の詳細を、図8を用いて説明する。図8の処理は、物体検出手段260によって行われる。
【0114】
ステップS501では、オプティカルフロー差分演算手段250の中に記憶された差分フローの始点の座標、終点の座標、差分フローの長さ、および差分フローの方向を読み出して、差分フローのグルーピングを行う。この処理は、近接した位置で検出された、差分フローを統合するものである。具体的には、予め設定したサイズの領域の中にある差分フロー同士を比較して、長さがともに所定値以上で、なおかつ、方向の差が所定値以下であるとき、差分フロー同士をグルーピングする。グルーピングした結果は、物体検出手段260の中に記憶される。
【0115】
ステップS502では、画像It(x,y)全体を処理したか否かを判定し、全画面の処理が終了したときはステップS503に進む。
【0116】
一方、全画面の処理が終了していないときは、ステップS501に戻って、ステップS501の処理を継続する。
【0117】
ステップS503では、差分フローをグルーピングした結果に基づいて、物体が存在すると考えられる領域を特定して、その領域を代表する座標値と、物体があると考えられる領域のサイズと、差分フローが向いている方向と、を接触判定手段270に送って、メインルーチンに戻る。
【0118】
次に、ステップS60で行う処理の詳細を、図9を用いて説明する。図9の処理は、接触判定手段270によって行われる。
【0119】
ステップS601では、接触判定手段270に送られた、差分フローをグルーピングした結果を参照して、差分フローの方向が、画像It(x,y)を左右に2等分する中心線Cに向かう方向に向いているか否かを判定する。差分フローの方向が、画像It(x,y)を左右に2等分する中心線Cに向かう方向を向いていると判定されると、ステップS602に進み、中心線Cに向かう方向を向いていないと判定されると、ステップS603に進む。
【0120】
ステップS602では、差分フローの方向が、車両10の方向に向かっていると判定して、物体の位置座標を、接触判定手段270の中に記憶する。その後、ステップS603に進む。
【0121】
ステップS603では、グルーピングされた全ての物体の差分フローの方向がチェックされたことを確認し、全ての物体がチェックされたときは、ステップS604に進む。チェックされていない物体が残っているときは、ステップS601に戻って、チェックを続行する。
【0122】
ステップS604では、差分フローの方向が、車両10の方向に向かっていると判定された物体について、差分フローの長さに基づいて、車両10に対する接触の危険性を判定し、警報を出力すべきか否かを判定してメインルーチンに戻る。その後、前記した、図4のステップS70以降の処理が行われる。
【0123】
なお、ステップS604では、差分フローの長さが、予め決めておいたしきい値Thと比較されて、差分フローの長さがしきい値Thよりも長いときには、警報を出力すると判定する。
【0124】
このとき、例えば図15の車両進行方向Dが示すように、車両10が右旋回していたときには、画像の中心線Cに対して右側の領域と、画像の中心線Cに対して左側の領域と、で差分フローの長さが異なる。そのため、車輪速センサ300によって、旋回が発生したと判定されたときには、差分フローの長さに対して、警報を出力すべきと判定するしきい値Thの値を変更する。
【0125】
具体的には、ステップS302で算出した車両10の挙動(移動距離、移動方向)に基づいて、車両10が右旋回していると判定されたときには、画像の右領域Rの方が左領域Lに対して、車両に接近する物体の差分フローが短くなる。しかし、車両10は右領域Rに向かって進行しているため、差分フローが短くても、これを確実に検出して警報を出力する必要がある。そこで、画像の左領域Lよりも右領域Rで、差分フローの長さのしきい値Thを小さく設定する。
【0126】
一方、車両10が左旋回していると判定されたときには、画像の左領域Lの方が右領域Rに対して、車両に接近する物体の差分フローが短くなる。しかし、車両10は左領域Lに向かって進行しているため、差分フローが短くても、これを確実に検出して警報を出力する必要がある。そこで、画像の右領域Rよりも左領域Lで、差分フローの長さのしきい値Thを小さく設定する。
【0127】
なお、左領域Lの位置と大きさと、右領域Rの位置と大きさと、は予め実験等によって決定した値が用いられる。
【0128】
次に、本実施例1における物体の検出例を、図12を用いて具体的に説明する。図12(a)は、仮想面として、路面110(仮想面A0)と仮想面V1を設定したとき(図11(a))の第2のオプティカルフローを示し、図12(b)は、そのときの物体Pの検出結果を示す。
【0129】
図12(c)は、仮想面として、路面110から第1の距離dだけ上方の仮想面A1と仮想面V1を設定したとき(図11(b))の第2のオプティカルフローを示し、図12(d)は、そのときの物体Pの検出結果を示す。
【0130】
図12(c)では、路面110に対応する領域において、図12(a)よりも、長い第2のオプティカルフローが推定される。
【0131】
そして、物体Pの検出結果を図12(b)と図12(d)とで比較すると、図12(b)では、路面110において差分フローが誤検出されているのに対し、図12(d)では、路面110における差分フローの誤検出はなく、物体Pのみが確実に検出されている。
【0132】
なお、仮想面A1は、実施例1で説明したように、路面110に平行に設定する以外に、図11(c)に示すように、路面110からの第1の距離dが、カメラ100から遠いほど小さくなるような仮想面A2として設定してもよい。
【0133】
このような仮想面A2を設定すると、仮想面A2上で推定した第2のオプティカルフローが、カメラ100に近い位置ほど、第1のオプティカルフローよりも長く推定され、カメラ100から遠い位置ほど、第1のオプティカルフローと同じサイズで推定される。
【0134】
したがって、図12(e)に示すように、仮想面A2上で推定した第2のオプティカルフローは、画像の上部に行くほど短く推定される。
【0135】
これによって、カメラ100に近い位置では、不要な(ノイズとなる)第1のオプティカルフローを確実に除去することができ、なおかつ、カメラ100から遠い位置においては、短い第1のオプティカルフローも確実に検出できるようになる。すなわち、キャンセルされる差分フローが少なくなることによって、図12(f)に示すように、物体を構成するオプティカルフローを、図12(d)に比べて多く検出することができるようになって、これによって、カメラ100からの距離に応じて、物体の検出感度を調整することができるため、物体の検出性能をより一層向上させることができる。
【0136】
さらに、図11(c)では、仮想面A2を、路面110からの第1の距離dが、カメラ100からの距離に応じて線形に減少するように設定したが、第1の距離dの設定パターンは、カメラ100からの距離に応じて単調に減少するものであれば、この限りではない。
【0137】
すなわち、図13に示すように、カメラ100からの距離に応じて、第1の距離dが階段状に小さくなるように設定(図13の仮想面A3)してもよいし、第1の距離dが非線形に変化するように設定(図13の仮想面A4やA5)してもよい。
【0138】
この第1の距離dの設定パターンは、設定する物体の検出感度に応じて決められ、予め実験等によって決定した設定パターンが用いられる。
【0139】
また、図14に示すように、第1の距離dが互いに異なる複数の位置に、複数の仮想面(仮想面A6、仮想面A7、仮想面A8)を設定して、車両10の運転者が、使用する第1の距離dの設定パターンを選択するようにしてもよい。
【0140】
このとき、仮想面設定手段220の中に、運転者の操作によって第1の距離dの設定パターンを変更できる機能を備えておくことによって、運転者は、安全な状態で、第1の距離dの設定パターンを変更しながら、物体の検出結果を、車両10内に設置したモニタのような表示手段(図2には図示せず)によって目視確認して、所望の第1の距離dの設定パターンを選択することができる。そして、前記したように、第1の距離dの設定パターンに応じて、物体の検出感度を調整することができるため、これによって、運転者の感覚にあった物体検出を行うことができる。
【0141】
なお、この第1の距離dの設定パターンは、車両10の車速に応じて、変化させるようにしてもよい。
【0142】
すなわち、車両10の車速が低いときには、第1の距離dを0(路面)または小さく設定しておき、車両10の車速が高くなるにつれて、第1の距離dの値を徐々に大きな値に変更することによって、車両10の走行状態に応じた感度で、物体をより一層、確実に検出することができる。
【0143】
さらに、第1の距離dの設定パターンが異なる第1の仮想面を複数面設定して、設定した全ての第1の仮想面における第2のオプティカルフローを推定し、各々の第1の仮想面で推定された第2のオプティカルフローを、第1のオプティカルフローと比較して物体検出を行い、異なる複数の第1の仮想面に対する物体の検出結果を、それぞれ異なる描画形態(色、線の太さ、線の形態等)で車両10に設置したモニタのような表示手段(図2には図示せず)に表示してもよい。これによって、運転者は、異なる検出感度で検出された複数の検出結果を一望することができるため、接触の危険度合を瞬時に把握することができる。
【0144】
また、車両の後方に設定する仮想面V1は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の位置に、路面110に垂直に設定したが、これは、図16に示すように、仮想面V1から、第3の距離sだけ近い位置に、路面110から高い地点ほど、第3の距離sが小さくなるような仮想面V2を設定して、仮想面V2を新たに仮想面V1として、上記した処理を行うようにしてもよい。
【0145】
このような形態の仮想面V2を設定することによって、路面に近い位置ほど、仮想面V2と車両10との距離が小さくなるため、車両10に近いほど、高さの低い物体の検出感度を上げることができる。したがって、接触可能性を警報する上で好ましい検出特性を得ることができる。なお、第3の距離sの値には、予め実験等によって決定した値が用いられる。また、仮想面V2は、カメラ100の撮像視野の最上部において、仮想面V2が仮想面V1よりも遠方にならないレイアウトに設定されるのが望ましい。
【0146】
以上説明したように、このように構成された実施例1に係る車両周辺監視装置によれば、カメラ(撮像手段)100で撮像された車両10周辺の画像から、オプティカルフロー検出手段240で第1のオプティカルフローを検出するとともに、オプティカルフロー推定手段230が、車両10の挙動に基づいて、仮想面設定手段220によって、路面から第1の距離dだけ高い位置に設定された仮想面A1の上に生じる第2のオプティカルフローを推定して、オプティカルフロー差分演算手段250が、オプティカルフロー検出手段240で検出された第1のオプティカルフローからオプティカルフロー推定手段230で推定された第2のオプティカルフローを差し引く差分演算を行って差分フローを算出し、物体検出手段260が、差分フローに基づいて車両10の周辺に存在する物体を検出し、接触判定手段270によって、物体が車両10に接触する可能性があると判定されたときに、警報出力手段400が警報を出力する構成としたため、路面110の模様やテクスチャによって生じた第1のオプティカルフローを確実に除去することができる。
【0147】
そして、これによって、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる。
【0148】
なお、本実施例1において、カメラ100は車両10の後方を撮像するレイアウトで設置したが、カメラ100の観測範囲は、車両10の後方に限定されるものではない。すなわち、車両10の前方や車両10の側方を観測するレイアウトであっても、上記した実施例1と同様の車両周辺監視装置を実現することができる。
【実施例2】
【0149】
本実施例2は、車載されたカメラで車両周辺を監視して、車両に接触する可能性のある物体が検出されたときに警報を出力する車両周辺監視装置に関するものである。
【0150】
図17は、本発明の実施例2に係る車両周辺監視装置の概略構成を示すブロック図を表す。
【0151】
図18は、図17の周辺監視手段202の内部構成を示すブロック図である。
【0152】
本実施例2に係る車両周辺監視装置は、車両10に設置され、カメラ100(撮像手段)と、周辺監視手段202と、車輪速センサ300と、警報出力手段400と、を備えている。
【0153】
カメラ100は、車両後方の路面を含む領域を撮像する。
【0154】
周辺監視手段202は、カメラ100で撮像された画像の中から、車両10に接触する可能性のある物体を検出する。
【0155】
車輪速センサ300は、車両の左右両輪の車輪速を計測する。
【0156】
警報出力手段400は、スピーカのような音声出力手段やモニタのような映像出力手段を備え、車両が移動物体に接触する可能性があるときに、音や音声や映像によって警報を出力する。
【0157】
周辺監視手段202は、さらに、仮想面設定手段280と、オプティカルフロー推定手段230と、オプティカルフロー検出手段240と、オプティカルフロー差分演算手段250と、物体検出手段260と、接触判定手段270と、を備えている。
【0158】
仮想面設定手段280は、車両10の後方の予め決められた路面上の位置から立ち上がる第2の仮想面を設定して、路面と、この第2の仮想面と、で構成される仮想面を、第1の仮想面として設定する。
【0159】
周辺監視手段202のその他の構成要素とその機能は、実施例1で説明した周辺監視手段200と同じであるため、説明は省略する。
【0160】
本実施例2の処理の流れの概要は、実施例1で説明した図4と同様であるため、本実施例2の作用について、実施例1の作用と異なる点について説明する。
【0161】
図4のステップS30では、オプティカルフロー推定手段230によって、第2のオプティカルフローを推定する。この第2のオプティカルフローの推定は、図6のフローチャートによって行われる。
【0162】
図6のステップS301では、まず、仮想面設定手段220によって、第2のオプティカルフローを推定する仮想面の設定を行う。このとき、本実施例2では、図11(a)に示すように、路面110を仮想面A0に設定する。
【0163】
そして、仮想面A0のみでは、カメラ100の撮像視野全体を仮想面で覆うことができないため、車両10から第2の距離kだけ後方の位置に、路面110から立ち上がる仮想面V1(第2の仮想面)を設定する。
【0164】
図11(a)は、この仮想面V1を、路面110から垂直に立ち上がり、カメラ100の光軸を含み路面110から垂直に立ち上がる平面と直交する面として設定した例である。この仮想面V1の高さは、少なくともカメラ100の撮像視野の最上部を超えるものとする。
【0165】
また、車両10から仮想面V1が路面110から立ち上がる位置は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置に設定されて、車両10から仮想面V1が路面110から立ち上がる位置までの距離は、第2の距離kに設定される。
【0166】
これは、仮想面V1よりも遠方にある点では、第2のオプティカルフローが実際よりも長く推定されるため、第1のオプティカルフローから第2のオプティカルフローを差し引く差分演算を行ったときに、第1のオプティカルフローを確実に除去(キャンセル)するためである。
【0167】
そして、図6のステップS301では、路面と第2の仮想面である仮想面V1とに向かって、カメラ100の焦点Oから複数の半直線を延ばして、この半直線が、路面、もしくは仮想面V1と最初に交差する点で構成される面を、新たに第1の仮想面として設定する。
【0168】
ステップS304では、このようにして設定された第1の仮想面の上で、オプティカルフロー推定手段230によって、第2のオプティカルフローの推定を行う。第2のオプティカルフローの推定方法は、実施例1で説明した通りである。
【0169】
その後の処理は、実施例1と同様に、図4のフローチャートに沿って行われて、車両10に接触する可能性のある物体が検出されたときに、警報出力手段400から警報が出力される。
【0170】
なお、仮想面V1は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置に、路面110に垂直に設定したが、これは、図19に示すように、仮想面V1から、第3の距離sだけ近い位置に、路面110から高い地点ほど、第3の距離sが小さくなるような仮想面V2を設定して、仮想面V2を新たに仮想面V1として、上記した処理を行うようにしてもよい。
【0171】
このような形態の仮想面V2を設定することによって、路面に近い位置ほど、仮想面V2と車両10との距離が小さくなるため、車両10に近いほど、高さの低い物体の検出感度を上げることができる。したがって、接触可能性を警報する上で好ましい検出特性を得ることができる。なお、第3の距離sの値には、予め実験等によって決定した値が用いられる。また、仮想面V2は、カメラ100の撮像視野の最上部において、仮想面V2が仮想面V1よりも遠方にならないようなレイアウトに設定されるのが望ましい。
【0172】
以上説明したように、このように構成された実施例2に係る車両周辺監視装置によれば、カメラ(撮像手段)100で撮像された車両10周辺の画像から、オプティカルフロー検出手段240で第1のオプティカルフローが検出されるとともに、仮想面設定手段280によって、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置から立ち上がった第2の仮想面V1に、カメラ100から路面110と第2の仮想面V1に向かって延びる複数の半直線が、路面110、もしくは第2の仮想面V1と最初に交差する点で構成される面が、第1の仮想面として設定され、車両10の挙動に基づいて、第1の仮想面の上に発生する第2のオプティカルフローが推定されて、オプティカルフロー差分演算手段250が、オプティカルフロー検出手段240で検出された第1のオプティカルフローからオプティカルフロー推定手段で推定された第2のオプティカルフローを差し引く差分演算を行って、物体検出手段260が、差分演算の結果に基づいて車両10の周辺に存在する物体を検出して、接触判定手段270によって、物体が車両10に接触する可能性があると判定されたときに、警報出力手段400が警報を出力することができる。
【0173】
そして、これによって、物体の検出範囲を警報範囲内に限定して、より実用的な車両周辺監視装置を提供することができる。
【0174】
なお、本実施例2において、カメラ100は車両10の後方を撮像するレイアウトで設置したが、カメラ100の観測範囲は、車両10の後方に限定されるものではない。すなわち、車両10の前方や車両10の側方を観測するレイアウトであっても、上記した実施例1と同様の車両周辺監視装置を実現することができる。
【0175】
以上、本発明の実施例1、実施例2を図面により詳述したが、実施例は本発明の例示にしか過ぎないものであるため、本発明は実施例の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。
【符号の説明】
【0176】
100 カメラ(撮像手段)
200 周辺監視手段
220 仮想面設定手段
230 オプティカルフロー推定手段
240 オプティカルフロー検出手段
250 オプティカルフロー差分演算手段
260 物体検出手段
270 接触判定手段
300 車輪速センサ
400 警報出力手段
【技術分野】
【0001】
本発明は、車両の周辺に存在する移動物体や静止物体を検知して、車両が物体に衝突する可能性がある場合に警報を出力する車両周辺監視装置に関する。
【背景技術】
【0002】
近年、車両にカメラを設置し、車両に衝突する可能性がある物体を検知する技術が提案されている。
【0003】
例えば、カメラで撮影した画像からオプティカルフローを求め、このオプティカルフローを、車両の動きを基にして求めた背景フローと比較するために、両者のベクトル差を求めて、このベクトル差に基づいて車両周辺にある接近物(移動物体や静止物体)を検出する監視装置が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−056763号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された発明では、背景フローとして路面上に生じるオプティカルフローを推定している。
【0006】
しかしながら、この特許文献1に記載された監視装置に限らず、カメラを車両に設置したときには、カメラの設置位置に誤差が生じやすいため、カメラの設置位置に関する情報や、車両の挙動を用いて推定したオプティカルフロー(背景フロー)には、推定誤差が含まれる可能性がある。
【0007】
監視装置によって物体を検出するために、特許文献1では、実際に検出したオプティカルフローと、推定した背景フローとの比較を行っている。そのとき、両者の差分演算を行って差分ベクトル(差分フロー)を算出すると、物体が存在しない位置では差分フローが0になる。しかし、原理的には差分フローが0になる場合であっても、カメラの設置位置の誤差の影響によって、背景フローに推定誤差が含まれると、差分フローがノイズとして残ってしまう可能性がある。
【0008】
そして、差分フローがノイズとして残ってしまうと、これを物体であると誤認識してしまう恐れがある。特に、路面には多数の模様やテクスチャ(微細な凹凸等)が存在するために、多くのオプティカルフローが検出されるため、オプティカルフローと背景フローとの差分演算を行うと差分フローが残ってしまう可能性がある。
【0009】
本発明は上記事情に鑑みなされたもので、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる車両周辺監視装置を提供することを第1の目的とする。
【0010】
また、特許文献1に記載された監視装置にあっては、撮像した画像上で、路面が映っていない、消失点より上部の領域については、路面に垂直な仮想壁面を設定して、この仮想壁面上で背景フローを推定している。
【0011】
しかしながら、この特許文献1に記載された監視装置にあっては、物体の検出距離に、特に制約を設けていない。したがって、特許文献1に記載された監視装置を、検出した物体が車両に接触する可能性があるときに、運転者に対して警報を出力する用途に適用したときには、警報範囲を遙かに超えた領域においても差分フローが出力されるため、警報範囲内に存在しない物体をも検出してしまう。これは、監視装置の本来の目的からみて、不要な処理を行っていることになり、非効率的である。
【0012】
本発明は上記事情に鑑みなされたもので、警報範囲内のみで物体検出を行うことによって、より実用的な車両周辺監視装置を提供することを第2の目的とする。
【課題を解決するための手段】
【0013】
本発明に係る車両周辺監視装置は、路面よりも高い位置に設定した仮想面において生じると推定される背景フローと、実際に検出されるオプティカルフローと、を比較して、物体を検出するものである。
【0014】
すなわち、本発明に係る車両周辺監視装置は、車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、前記第1のオプティカルフローと、前記路面から第1の距離だけ高い位置に仮想的に設定された第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される第2のオプティカルフローと、を比較して、前記車両の周辺に存在する物体を検出する物体検出手段と、を有することを特徴とする。
【0015】
このように構成された本発明に係る車両周辺監視装置によれば、撮像手段で異なる時刻に撮像された、路面を含む車両周辺の2つの画像に基づいて、オプティカルフロー検出手段で第1のオプティカルフローが検出されるとともに、物体検出手段によって、第1のオプティカルフローと、前記異なる時刻の間の車両の挙動に基づいて、路面から第1の距離だけ高い位置に仮想的に設定された第1の仮想面の上に生じると推定される第2のオプティカルフローと、が比較されて、物体を検出することができる。
【0016】
また、本発明に係る車両周辺監視装置は、警報を出力しようとする範囲として設定された範囲のうち、車両から最遠点において路面から立ち上がる仮想面を設定して、路面とこの仮想面において生じると推定される背景フローと、実際に検出されるオプティカルフローと、を比較して、物体を検出するものである。
【0017】
すなわち、本発明に係る車両周辺監視装置は、車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、前記車両から、前記撮像手段が撮像する方向に第2の距離だけ離れた位置に、前記路面から立ち上がる第2の仮想面を設定して、前記撮像手段の設置位置から前記路面と前記第2の仮想面とに向かって延びる複数の半直線が、前記路面、もしくは前記第2の仮想面と最初に交差する点で構成される面を、第1の仮想面として設定する仮想面設定手段と、前記第1のオプティカルフローから、前記第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第1のオプティカルフローと始点を共にする第2のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、前記物体検出手段によって検出された物体と前記車両とが接触する可能性を判定する接触判定手段と、前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有し、前記第2の距離は、前記車両から、前記接触判定手段が前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置まで、の距離であることを特徴とする。
【0018】
このように構成された本発明に係る車両周辺監視装置によれば、撮像手段で異なる時刻に撮像された、路面を含む車両周辺の2つの画像に基づいて、オプティカルフロー検出手段で第1のオプティカルフローが検出され、仮想面設定手段によって、撮像手段の設置位置から、路面と、接触判定手段が車両と物体とが接触する可能性があると判定する範囲の中で車両から最遠点の路面上の位置から立ち上がった第2の仮想面と、に向かって延びる複数の半直線が、路面、もしくは第2の仮想面と最初に交差する点で構成される面が、第1の仮想面として設定され、オプティカルフロー差分演算手段によって、第1のオプティカルフローから、前記異なる時刻の間の車両の挙動に応じて第1の仮想面の上に生じると推定される、第1のオプティカルフローと始点を共にする第2のオプティカルフローが差し引かれて差分フローが演算され、物体検出手段が、この差分フローに基づいて車両の周辺に存在する物体を検出して、接触判定手段によって、物体が車両に接触する可能性があると判定されたときに、警報出力手段が警報を出力することができる。
【発明の効果】
【0019】
本発明に係る車両周辺監視装置によれば、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる車両周辺監視装置を提供することができる。
【0020】
また、本発明に係る車両周辺監視装置によれば、物体の検出範囲を警報範囲内に限定して、より実用的な車両周辺監視装置を提供することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の実施例1に係る車両周辺監視装置の概略構成を示すブロック図である。
【図2】図1の周辺監視手段の内部構成を示すブロック図である。
【図3】(a)は、車載されたカメラが置かれた道路環境を示す図である。(b)は、(a)の状態で車両が直進したときに検出される、第1のオプティカルフローを示す図である。(c)は、(a)の状態で車両が右旋回をしたときに検出される、第1のオプティカルフローを示す図である。
【図4】周辺監視手段で行われる処理の流れを示す概略フローチャートである。
【図5】オプティカルフロー検出処理の流れを示すフローチャートである。
【図6】オプティカルフロー推定処理の流れを示すフローチャートである。
【図7】オプティカルフロー差分演算処理の流れを示すフローチャートである。
【図8】物体検出処理の流れを示すフローチャートである。
【図9】警報出力判定処理の流れを示すフローチャートである。
【図10】(a)は、第2のオプティカルフローの推定方法を示す図である。(b)は、(a)の状態から、カメラが光軸方向に速度vでt秒間移動した後の状態を示す図である。
【図11】(a)は、本発明の実施例1に係る車両周辺監視装置における仮想面の設定方法を示す図であり、車両の後方に仮想面V1を設定した状態を示す図である。(b)は、車両の後方に、仮想面A1と仮想面V1を設定した状態を示す図である。(c)は、車両の後方に、仮想面A2と仮想面V1を設定した状態を示す図である。
【図12】(a)は、図11(a)の状態で推定した第2のオプティカルフローの一例を示す図である。(b)は、図11(a)の状態で検出した第1のオプティカルフローと図12(a)の第2のオプティカルフローとの差分結果を示す図である。(c)は、図11(b)の状態で推定した第2のオプティカルフローの一例を示す図である。(d)は、図11(b)の状態で検出した第1のオプティカルフローと図12(c)の第2のオプティカルフローとの差分結果を示す図である。(e)は、図11(c)の状態で推定した第2のオプティカルフローの一例を示す図である。(f)は、図11(c)の状態で検出した第1のオプティカルフローと図12(e)の第2のオプティカルフローとの差分結果を示す図である。
【図13】本発明の実施例1に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に、仮想面A3〜A5を設定した状態を示す図である。
【図14】本発明の実施例1に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に仮想面V1と複数の仮想面A6〜A8を設定した状態を示す図である。
【図15】車両が右旋回したときに検出される、第1のオプティカルフローの例を示す図である。
【図16】車両の後方に、仮想面A1と仮想面V2を設定した状態を示す図である。
【図17】本発明の実施例2に係る車両周辺監視装置の概略構成を示すブロック図である。
【図18】本発明の実施例2に係る車両周辺監視装置の周辺監視手段の内部構成を示すブロック図である。
【図19】本発明の実施例2に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に仮想面V2を設定した状態を示す図である。
【発明を実施するための形態】
【0022】
以下、本発明に係る車両周辺監視装置の実施形態について、図面を参照して説明する。
【実施例1】
【0023】
本実施例1は、車載されたカメラで車両周辺を監視して、車両に接触する可能性のある物体が検出されたときに警報を出力する車両周辺監視装置に関するものである。
【0024】
まず、説明に使用する用語の定義を行う。撮像手段で異なる時刻に撮像された2つの画像に基づいて検出されるオプティカルフローを、以後、第1のオプティカルフローと呼ぶ。
【0025】
また、仮想的に設定された仮想面において、立体物や動くものがないと仮定したときに、異なる時刻の間の車両の挙動に応じて生じると推定されるオプティカルフロー(背景フロー)を、以後、第2のオプティカルフローと呼ぶ。
【0026】
さらに、第1のオプティカルフローから第2のオプティカルフローを差し引いた結果算出される差分ベクトルを、以後、差分フローと呼ぶ。
【0027】
図1は、本発明の実施例1に係る車両周辺監視装置の概略構成を示すブロック図を表す。
【0028】
図2は、図1の周辺監視手段200の内部構成を示すブロック図である。
【0029】
本実施例1に係る車両周辺監視装置は、車両10に設置され、カメラ100(撮像手段)と、周辺監視手段200と、車輪速センサ300と、警報出力手段400と、を備えている。
【0030】
カメラ100は、車両後方の路面を含む領域を撮像する。
【0031】
周辺監視手段200は、カメラ100で撮像された画像の中から、車両10に接触する可能性のある物体を検出する。
【0032】
車輪速センサ300は、車両の左右両輪の車輪速を計測する。
【0033】
警報出力手段400は、スピーカのような音声出力手段やモニタのような映像出力手段を備え、車両が物体に接触する可能性があるときに、音や音声や映像によって警報を出力する。
【0034】
周辺監視手段200は、さらに、仮想面設定手段220と、オプティカルフロー推定手段230と、オプティカルフロー検出手段240と、オプティカルフロー差分演算手段250と、物体検出手段260と、接触判定手段270と、を備えている。
【0035】
仮想面設定手段220は、予め決められた位置に仮想的に仮想面を設定する。なお、図2には図示しないが、後述するように、周辺監視手段200の中に、複数の仮想面の中から1つの仮想面を選択する機能を付加したときには、仮想面選択手段として、ジョイスティックのようなポインティングデバイスが、仮想面設定手段220に接続される。
【0036】
オプティカルフロー検出手段240は、カメラ100で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出する。
【0037】
オプティカルフロー推定手段230は、車輪速センサ300で計測された、異なる時刻の間の車両の挙動と、カメラ100の設置条件と、焦点距離や画素サイズ等のカメラ100のパラメータと、に基づいて、仮想面設定手段220で設定された仮想面において生じる第2のオプティカルフローを推定する。
【0038】
オプティカルフロー差分演算手段250は、オプティカルフロー検出手段240で検出された第1のオプティカルフローと、オプティカルフロー推定手段230で推定された第2のオプティカルフローとの差分演算を行って、差分フローを算出する。
【0039】
物体検出手段260は、オプティカルフロー差分演算手段250の演算結果に基づいて、物体の検出を行う。
【0040】
接触判定手段270は、物体検出手段260で検出された物体が、車両10に接触する可能性があるか否かを判定する。
【0041】
なお、図2に記載した構成は、実装形態に応じて、適宜変更することが可能である。例えば、仮想面設定手段220は、カメラ100の設置位置と、焦点距離や画素サイズ等のカメラ100のパラメータと、設定する仮想面の形状と、に基づいて、予め仮想面の位置を計算して記憶しておくことができる。その場合、独立した仮想面設定手段220を備えなくてもよい。
【0042】
また、オプティカルフロー推定手段230は、仮想面が設定されて、カメラ100の設置位置と、焦点距離や画素サイズ等のカメラ100のパラメータと、が判れば、車両の挙動に応じた第2のオプティカルフローを予め計算して記憶しておくことができるため、実際に車両の挙動を計測した都度、その車両の挙動に対応した第2のオプティカルフローを読み出すことができる。その場合、独立したオプティカルフロー推定手段230を備えなくてもよい。
【0043】
ここで、まず、オプティカルフローについて、図3(a)、(b)、(c)を用いて簡単に説明する。
【0044】
図3(a)は、障害物が全くない、レーンマーカが引かれた路面をカメラ100で撮像した画像の一例である。左右のレーンマーカをそれぞれ遠方に延長すると、それらは消失点Vで交わる。
【0045】
カメラ100を搭載した車両10が、この消失点Vに向かって直進したときに、異なる2つの時刻t、t+Δtにおいてカメラ100で路面を撮像して、得られた2つの画像を、同じ座標同士が重なるように重ね合わせて、その2つの画像の中の対応する画素同士を、時刻tに撮像した画像上の画素Mを始点として、時刻t+Δtに撮像した画像上の、画素Mに対応する画素M’を終点とするベクトルで連結したとき、このベクトルをオプティカルフローと呼ぶ。
【0046】
オプティカルフローは、異なる2つの時刻の間におけるカメラ100の移動量および移動方向や、撮像された物体の、見かけの移動量および移動方向を表している。このオプティカルフローを検出する処理を、画像の中の複数の画素に対して実行すると、図3(b)に示すように、消失点Vから放射状に広がる複数の第1のオプティカルフローが得られる。
【0047】
さらに、図3(a)の状態で、車両10が右方向に旋回したときには、図3(c)に示す複数の第1のオプティカルフローが得られる。すなわち、時間とともに消失点Vは水平方向左側に移動して、それに合わせて画像全体も水平方向左側に移動する。
【0048】
本実施例1は、異なる時刻に撮像された2つの画像に基づいて、前記した第1のオプティカルフローを検出して、車両に接触する可能性のある物体を検出するものである。本実施形態に係る車両周辺監視装置の作用について、図4のフローチャートに基づいて説明する。
【0049】
まず、ステップS10において、カメラ100で、路面を含む車両10の周辺の画像を、所定の時間間隔で2回撮像して、ステップS20に進む。
【0050】
ステップS20では、オプティカルフロー検出手段240によって、カメラ100で撮像された2つの画像から第1のオプティカルフローを検出して、ステップS30に進む。ステップS20で行われる処理の詳細は後述する。
【0051】
ステップS30では、オプティカルフロー推定手段230によって、第2のオプティカルフローを推定し、ステップS40に進む。ステップS30で行われる処理の詳細は後述する。
【0052】
ステップS40では、オプティカルフロー差分演算手段250によって、オプティカルフロー検出手段240によって検出された第1のオプティカルフローから、オプティカルフロー推定手段230によって推定された第2のオプティカルフローを差し引く差分演算を行って、ステップS50に進む。ステップS40で行われる処理の詳細は後述する。
【0053】
ステップS50では、物体検出手段260によって、路面上にある物体を検出し、ステップS60に進む。ステップS50で行われる処理の詳細は後述する。
【0054】
ステップS60では、接触判定手段270によって、検出された物体が車両10に接触する可能性があり、警報すべきか否かを判定する。ステップS60で行われる処理の詳細は後述する。
【0055】
ステップS70では、接触判定手段270の判定結果に基づいて、警報出力を行うか否かを判定する。警報出力を行うときはステップS80に進み、警報出力を行わないときはステップS90に進む。なお、警報を出力すべき物体が複数個検出された場合には、ステップS70の中で、最も近くにいる物体に対して警報する、最も速度が大きい物体に対して警報するなど、どのような警報を出力すべきかが併せて判定される。
【0056】
ステップS80では、警報出力手段400から警報を出力して車両10の運転者に注意を促す。その後、ステップS90に進む。
【0057】
ステップS90では、周辺監視手段200を動作させるメインスイッチ(図2には図示しない)が切断されたこと、または、車両10のイグニッションスイッチが切断されたことを検出して、図4の処理の終了を判断する。終了判断がなされないときは、ステップS10に戻って、同じ処理を繰り返す。
【0058】
ステップS20で行う処理の詳細を、図5を用いて説明する。図5の処理は、オプティカルフロー検出手段240によって行われる。
【0059】
カメラ100で時刻tに撮像した画像をIt(x,y)とし、時刻t+Δtに撮像した画像をIt+Δt(x,y)とする。
【0060】
ステップS201では、画像It(x,y)の中から輝度勾配の大きな点を特徴点として検出する。具体的には、画像It(x,y)に対して、着目する画素の近傍に小領域を設定して、輝度勾配を表す量として、設定した小領域の内部におけるエッジ強度を求めるオペレータを作用させて、求めたエッジ強度が所定値よりも大きい画素を特徴点とする。このとき、併せて、同じ画素におけるエッジ方向も算出しておく。
【0061】
ステップS202では、画像It(x,y)の中から検出した特徴点と同じ輝度勾配を有する画素(対応点)を、画像It+Δt(x,y)の中から探索する。この処理は、画像It+Δt(x,y)の中に、所定の大きさの探索範囲を設定して、設定した探索範囲の中で、画像It(x,y)の中から検出した特徴点と同じ輝度勾配(エッジ強度とエッジ方向)を有する画素を探索することによって行われる。
【0062】
ステップS203では、エッジ強度の近似度とエッジ方向の近似度に、それぞれしきい値を設けて、エッジ強度の差異とエッジ方向の差異が、ともに、それぞれ設定されたしきい値以内であるときに、対応点が見つかったと判定して、ステップS204に進む。一方、対応点が探索されないときは、ステップS201に戻って、別の特徴点の検出を行う。
【0063】
ステップS204では、画像It(x,y)の中から検出した特徴点を始点とし、画像It+Δt(x,y)の中から見つけた対応点を終点とする第1のオプティカルフローを決定する。このようにして検出された第1のオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー検出手段240の中に記憶される。
【0064】
なお、第1のオプティカルフローの検出方法は、上記したものに限定されるものではない。すなわち、オプティカルフローの検出方法は数多く提案されており、そのいずれの方法を用いて行ってもよい。
【0065】
ステップS205では、画像It(x,y)の全ての画素に対して特徴点の検出処理を行ったか否かを判定する。全ての画素に対して処理を行ったときは、図5の処理を終了して、図2のメインルーチンに戻る。
【0066】
一方、画像It(x,y)の全ての画素に対して特徴点の検出処理が終了していないときは、ステップS201に戻って、特徴点の検出を続行する。
【0067】
次に、ステップS30で行う処理を説明する前に、まず、図10(a)、(b)を用いて、第2のオプティカルフローの推定方法を説明する。カメラ100は、路面110から高さhの位置に設置されているとする。また、カメラ100の焦点Oを原点として、カメラ100の撮像面の水平軸に平行な座標軸Xと、カメラ100の撮像面の垂直軸に平行な座標軸Yと、カメラ100の光軸と一致するように設定した座標軸Zと、からなるXYZ座標系を設定する。
【0068】
説明を簡単にするため、カメラ100の光軸は、路面110と平行であるとする。また、カメラ100で撮像された点は、透視投影によって撮像面に投影されるものとする。
【0069】
カメラ100の焦点距離をfとし、路面110上の点R1の座標を(X1,Y1,Z1)とし、点R1が撮像面上で点Q1(x1,y1)に観測されたとする。さらに、カメラ100の水平方向画素サイズをCx、垂直方向画素サイズCyとすると、点Q1の座標(x1、y1)は、(式1)で算出される。
【0070】
x1=(fX1/Z1)/Cx、y1=(fY1/Z1)/Cy (式1)
カメラ100を搭載した車両10が、速度v(vx,vy,vz)でt秒間移動したとする。ここで、vxは速度vのX軸方向成分、vyは速度vのY軸方向成分、vzは速度vのZ軸方向成分である。
【0071】
説明を簡単にするために、カメラ100(車両10)の移動方向は、光軸方向(Z軸方向)であるとすると、vx、vy、vzは、それぞれ(式2)で表される。
【0072】
vx=0、vy=0、vz=−v (式2)
図10(b)は、図10(a)のt秒後の状態を示している。カメラ100(車両10)の移動によって、点R1(X1,Y1,Z1)が点R2(X2,Y2,Z2)に移動して、点R2が、撮像面上で点Q2(x2,y2)の位置に撮像されたとする。このとき、点Q2(x2,y2)は、(式1)と同様にして、(式3)で算出される。
【0073】
x2=(fX2/Z2)/Cx、y2=(fY2/Z2)/Cy (式3)
また、点R2の座標(X2,Y2,Z2)は、(式4)で算出される。
【0074】
X2=X1+vxt、Y2=Y1+vyt、Z2=Z1−vzt (式4)
(式4)に(式2)を適用すると、(式5)が得られる。
【0075】
X2=X1、Y2=Y1、Z2=Z1−vt (式5)
このとき、t秒後に撮像面上に生じると推定される第2のオプティカルフロー(Δx,Δy)は、(式1)、(式3)、(式5)を用いて、(式6)、(式7)で算出される。
Δx=x2−x1=fX1vt/{Z1(Z1−vt)Cx} (式6)
Δy=y2−y1=fY1vt/{Z1(Z1−vt)Cy} (式7)
第2のオプティカルフローを推定するためには、(式6)、(式7)において、X1、Y1、Z1の値を特定する必要がある。すなわち、第2のオプティカルフローが生じる面(仮想面)を仮想的に設定する必要がある。上記した説明は、仮想面を路面110に設定した場合についてのものである。
【0076】
ここで、第2のオプティカルフローの始点(x1,y1)を定めて、車両の挙動から速度ベクトルv(vx,vy,vz)を特定すれば、予め測定してあるカメラ100のパラメータであるf、Cx、Cyを用いて、(式6)、(式7)によって第2のオプティカルフローの終点(x2,y2)の座標が得られ、これによって、第2のオプティカルフローが推定される。
【0077】
なお、上記した説明は、カメラ100の光軸が路面110と平行に設置された場合についてのものである。実際は、車両10の近傍まで監視するために、カメラ100の光軸はやや下向きに設置されるため、(式6)や(式7)の中には、カメラ100の光軸の方向を示す値や、カメラ100の路面からの高さhの値も加味される。
【0078】
次に、ステップS30で行う処理の詳細を、図6を用いて説明する。図6の処理は、オプティカルフロー推定手段230によって行われる。
【0079】
ステップS301では、まず、仮想面設定手段220によって、第2のオプティカルフローを推定する仮想面を設定する。本実施例1では、図11(b)に示すように、路面110から第1の距離dだけ上方(カメラ100に近い側)に、路面110と平行な仮想面A1(第1の仮想面)を設定する。
【0080】
仮想面は、このように路面110と平行な1つの面A1のみを設定すればよいが、仮想面A1のみでは、カメラ100の撮像視野の全体を仮想面で覆うことができない。これは、一般に、路面と平行な面が撮像される領域は、カメラ100で撮像した画像の消失点Vよりも下部の領域のみだからである。
【0081】
したがって、仮想面A1を設定した後で、画像の中の消失点Vよりも上部の領域については、以後説明する処理を行わないように、マスクをかければよい。
【0082】
また、仮想面A1の他に、車両10から第2の距離kだけ後方の位置に、路面110から立ち上がる仮想面V1(第2の仮想面)を、併せて設定してもよい。
【0083】
図11(b)は、この仮想面V1を、路面110から垂直に立ち上がり、カメラ100の光軸を含み路面110から垂直に立ち上がる平面と直交する面として設定した例である。この仮想面V1の高さは、少なくともカメラ100の撮像視野の最上部を超えるものとする。以降、この仮想面A1と仮想面V1とを設定した場合について説明する。
【0084】
ここで、第1の距離dと、第2の距離kと、には、後述するように、予め実験等によって決定した値が用いられる。
【0085】
ステップS301では、このように設定した仮想面A1と仮想面V1とに向かって、カメラ100の焦点Oから複数の半直線を延ばして、この半直線が、仮想面A1、もしくは仮想面V1と最初に交差する点で構成される面を、新たに第1の仮想面として設定して、ステップS302に進む。
【0086】
ステップS302では、車輪速センサ300から得られる車両10の左右輪の車輪速を、それぞれ所定の時間間隔で測定して、時刻tから時刻t+Δtの間の車輪速に基づいて、Δt秒間の車両10の挙動(移動距離、移動方向)を算出し、ステップS303に進む。
【0087】
ステップS303では、オプティカルフロー検出手段240に記憶されている第1のオプティカルフローの検出結果を参照して、第1のオプティカルフローの始点の座標を探す。第1のオプティカルフローの始点が見つかったら、ステップS304に進み、第1のオプティカルフローの始点が見つからないときは、ステップS303に戻って、第1のオプティカルフローの始点を探す処理を続行する。
【0088】
ステップS304では、オプティカルフロー推定手段230によって、第1のオプティカルフローの始点の位置において、ステップS301で設定した仮想面A1、または仮想面V1の上に生じると考えられる第2のオプティカルフローを推定する。この第2のオプティカルフローの推定は、前記した方法によって行われる。なお、このように第1のオプティカルフローが検出された点でのみ、第2のオプティカルフローを推定することによって、第2のオプティカルフローを推定する点を減らすことができ、これによって、処理の効率を向上させることができる。
【0089】
このようにして推定された第2のオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー推定手段230の中に記憶されて、ステップS305に進む。
【0090】
ステップS305では、画像It(x,y)と画像It+Δt(x,y)から検出された、全ての第1のオプティカルフローの始点の位置における第2のオプティカルフローの推定を完了したか否かを判定する。全ての第1のオプティカルフローに対して処理を行ったときは、図6の処理を終了して、図2のメインルーチンに戻る。
【0091】
一方、画像It(x,y)と画像It+Δt(x,y)から検出された全ての第1のオプティカルフローに対して、第2のオプティカルフローの推定が終了していないときは、ステップS303に戻って、処理を続行する。
【0092】
ここで、ステップS301で設定する仮想面A1(第1の仮想面)の位置を特定する第1の距離dの値について説明する。
【0093】
路面110上の模様やテクスチャを始点として検出された第1のオプティカルフローから、路面110に生じると推定した第2のオプティカルフローを差し引くと、原理的には差分フローは0になるはずである。しかし、カメラ100を車両10に設置したときに、カメラ100の路面からの高さhやカメラ100の光軸の方向に誤差が生じると、差分フローが残ってしまう場合がある。
【0094】
そこで、本実施例1では、設定する第1の仮想面の位置がカメラ100に近いほど、同じ車両の挙動に対して、より長い第2のオプティカルフローが推定されることを利用して、路面110から第1の距離dだけ上方に、路面110と平行な仮想面A1を設定し、この仮想面A1上で第2のオプティカルフローの推定を行う。
【0095】
これによって、仮想面A1においては、車両10の実際の挙動から推定されるよりも長い第2のオプティカルフローが推定されるため、後述する、第1のオプティカルフローから第2のオプティカルフローを差し引く差分演算を行ったときに、第1のオプティカルフローを確実に除去(キャンセル)し、ノイズをカットすることができる。
【0096】
なお、第1の距離dの値は、検出する物体の高さに応じて設定するのが望ましい。すなわち、高さが低い物体を検出するときは第1の距離dをより小さい値に設定し、高さが高い物体を検出するときは第1の距離dをより大きい値に設定するのが望ましい。具体的な第1の距離dの値は、予め実験等を行って決定し、その値が採用される。
【0097】
次に、仮想面V1の設定位置を特定する第2の距離kの値について説明する。
【0098】
仮想面V1は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置から立ち上がるように設定するのが望ましい。
【0099】
これによって、仮想面V1よりも遠方にある点では、第2のオプティカルフローが実際よりも長く推定されるため、後述する、第1のオプティカルフローから第2のオプティカルフローを差し引く差分演算を行ったときに、第1のオプティカルフローを確実に除去(キャンセル)することができる。
【0100】
なお、仮想面V1を設定するために必要な第2の距離kの値は、上記した観点から、予め実験等によって決定した値が用いられる。
【0101】
次に、ステップS40で行う処理の詳細を、図7を用いて説明する。図7の処理は、オプティカルフロー差分演算手段250によって行われる。
【0102】
まずステップS401では、オプティカルフロー検出手段240の中に記憶された第1のオプティカルフローの始点の座標(x1,y1)を探す。第1のオプティカルフローの始点の座標(x1,y1)が見つかったらステップS402に進み、見つからないときは、ステップS401に戻って、探索を続行する。
【0103】
ステップS402では、オプティカルフロー差分演算手段250において、見つかった第1のオプティカルフローの始点の座標と等しい始点の座標を有する第2のオプティカルフローの終点の座標(x2,y2)を、オプティカルフロー推定手段230の中に記憶されたオプティカルフローの推定結果の中から探索し、第1のオプティカルフローの長さから第2のオプティカルフローの長さを差し引く処理を行う。
【0104】
第1のオプティカルフローの長さは、第1のオプティカルフローの始点、および終点の座標から算出され、第2のオプティカルフローの長さは、第2のオプティカルフローの始点、および終点の座標から算出される。
【0105】
算出された差分フローの長さは、差分フローの始点の座標、終点の座標とともに、オプティカルフロー差分演算手段250の中に記憶される。なお、このとき、第2のオプティカルフローの長さが、第1のオプティカルフローの長さ以上であるときには、それを表す識別子を、一緒に記憶しておく。
【0106】
次にステップS403では、オプティカルフロー差分演算手段250において、第1のオプティカルフローの方向から第2のオプティカルフローの方向を差し引く処理を行う。第1のオプティカルフローの方向は、第1のオプティカルフローの始点、および終点の座標から算出され、第2のオプティカルフローの方向は、第2のオプティカルフローの始点、および終点の座標から算出される。算出された差分フローの方向は、オプティカルフロー差分演算手段250の中に記憶されて、ステップS404に進む。
【0107】
ステップS404では、第1のオプティカルフローから第2のオプティカルフローを差し引いた結果、差分フローの長さが0または負であるか否かを判定する。
【0108】
差分フローの長さが0または負であることは、ステップS402で記憶した、第2のオプティカルフローの長さが、第1のオプティカルフローの長さ以上であることを表す識別子を参照することによって行えばよい。
【0109】
もし、差分フローの長さが0または負であったときはステップS405に進み、差分フローの長さが正であったときは、ステップS401に戻って、次の第1のオプティカルフローについて処理を行う。
【0110】
ステップS405では、オプティカルフロー差分演算手段250に記憶された、差分フローの始点の座標、終点の座標、差分フローの長さ、および差分フローの方向を削除して、ステップS406に進む。
【0111】
ステップS406では、全ての第1のオプティカルフローについて処理を行ったことを確認して、図2のメインルーチンに戻る。
【0112】
全ての第1のオプティカルフローに対する処理が完了していないときは、ステップS401に戻り、残りの第1のオプティカルフローについて処理を行う。
【0113】
次に、ステップS50で行う処理の詳細を、図8を用いて説明する。図8の処理は、物体検出手段260によって行われる。
【0114】
ステップS501では、オプティカルフロー差分演算手段250の中に記憶された差分フローの始点の座標、終点の座標、差分フローの長さ、および差分フローの方向を読み出して、差分フローのグルーピングを行う。この処理は、近接した位置で検出された、差分フローを統合するものである。具体的には、予め設定したサイズの領域の中にある差分フロー同士を比較して、長さがともに所定値以上で、なおかつ、方向の差が所定値以下であるとき、差分フロー同士をグルーピングする。グルーピングした結果は、物体検出手段260の中に記憶される。
【0115】
ステップS502では、画像It(x,y)全体を処理したか否かを判定し、全画面の処理が終了したときはステップS503に進む。
【0116】
一方、全画面の処理が終了していないときは、ステップS501に戻って、ステップS501の処理を継続する。
【0117】
ステップS503では、差分フローをグルーピングした結果に基づいて、物体が存在すると考えられる領域を特定して、その領域を代表する座標値と、物体があると考えられる領域のサイズと、差分フローが向いている方向と、を接触判定手段270に送って、メインルーチンに戻る。
【0118】
次に、ステップS60で行う処理の詳細を、図9を用いて説明する。図9の処理は、接触判定手段270によって行われる。
【0119】
ステップS601では、接触判定手段270に送られた、差分フローをグルーピングした結果を参照して、差分フローの方向が、画像It(x,y)を左右に2等分する中心線Cに向かう方向に向いているか否かを判定する。差分フローの方向が、画像It(x,y)を左右に2等分する中心線Cに向かう方向を向いていると判定されると、ステップS602に進み、中心線Cに向かう方向を向いていないと判定されると、ステップS603に進む。
【0120】
ステップS602では、差分フローの方向が、車両10の方向に向かっていると判定して、物体の位置座標を、接触判定手段270の中に記憶する。その後、ステップS603に進む。
【0121】
ステップS603では、グルーピングされた全ての物体の差分フローの方向がチェックされたことを確認し、全ての物体がチェックされたときは、ステップS604に進む。チェックされていない物体が残っているときは、ステップS601に戻って、チェックを続行する。
【0122】
ステップS604では、差分フローの方向が、車両10の方向に向かっていると判定された物体について、差分フローの長さに基づいて、車両10に対する接触の危険性を判定し、警報を出力すべきか否かを判定してメインルーチンに戻る。その後、前記した、図4のステップS70以降の処理が行われる。
【0123】
なお、ステップS604では、差分フローの長さが、予め決めておいたしきい値Thと比較されて、差分フローの長さがしきい値Thよりも長いときには、警報を出力すると判定する。
【0124】
このとき、例えば図15の車両進行方向Dが示すように、車両10が右旋回していたときには、画像の中心線Cに対して右側の領域と、画像の中心線Cに対して左側の領域と、で差分フローの長さが異なる。そのため、車輪速センサ300によって、旋回が発生したと判定されたときには、差分フローの長さに対して、警報を出力すべきと判定するしきい値Thの値を変更する。
【0125】
具体的には、ステップS302で算出した車両10の挙動(移動距離、移動方向)に基づいて、車両10が右旋回していると判定されたときには、画像の右領域Rの方が左領域Lに対して、車両に接近する物体の差分フローが短くなる。しかし、車両10は右領域Rに向かって進行しているため、差分フローが短くても、これを確実に検出して警報を出力する必要がある。そこで、画像の左領域Lよりも右領域Rで、差分フローの長さのしきい値Thを小さく設定する。
【0126】
一方、車両10が左旋回していると判定されたときには、画像の左領域Lの方が右領域Rに対して、車両に接近する物体の差分フローが短くなる。しかし、車両10は左領域Lに向かって進行しているため、差分フローが短くても、これを確実に検出して警報を出力する必要がある。そこで、画像の右領域Rよりも左領域Lで、差分フローの長さのしきい値Thを小さく設定する。
【0127】
なお、左領域Lの位置と大きさと、右領域Rの位置と大きさと、は予め実験等によって決定した値が用いられる。
【0128】
次に、本実施例1における物体の検出例を、図12を用いて具体的に説明する。図12(a)は、仮想面として、路面110(仮想面A0)と仮想面V1を設定したとき(図11(a))の第2のオプティカルフローを示し、図12(b)は、そのときの物体Pの検出結果を示す。
【0129】
図12(c)は、仮想面として、路面110から第1の距離dだけ上方の仮想面A1と仮想面V1を設定したとき(図11(b))の第2のオプティカルフローを示し、図12(d)は、そのときの物体Pの検出結果を示す。
【0130】
図12(c)では、路面110に対応する領域において、図12(a)よりも、長い第2のオプティカルフローが推定される。
【0131】
そして、物体Pの検出結果を図12(b)と図12(d)とで比較すると、図12(b)では、路面110において差分フローが誤検出されているのに対し、図12(d)では、路面110における差分フローの誤検出はなく、物体Pのみが確実に検出されている。
【0132】
なお、仮想面A1は、実施例1で説明したように、路面110に平行に設定する以外に、図11(c)に示すように、路面110からの第1の距離dが、カメラ100から遠いほど小さくなるような仮想面A2として設定してもよい。
【0133】
このような仮想面A2を設定すると、仮想面A2上で推定した第2のオプティカルフローが、カメラ100に近い位置ほど、第1のオプティカルフローよりも長く推定され、カメラ100から遠い位置ほど、第1のオプティカルフローと同じサイズで推定される。
【0134】
したがって、図12(e)に示すように、仮想面A2上で推定した第2のオプティカルフローは、画像の上部に行くほど短く推定される。
【0135】
これによって、カメラ100に近い位置では、不要な(ノイズとなる)第1のオプティカルフローを確実に除去することができ、なおかつ、カメラ100から遠い位置においては、短い第1のオプティカルフローも確実に検出できるようになる。すなわち、キャンセルされる差分フローが少なくなることによって、図12(f)に示すように、物体を構成するオプティカルフローを、図12(d)に比べて多く検出することができるようになって、これによって、カメラ100からの距離に応じて、物体の検出感度を調整することができるため、物体の検出性能をより一層向上させることができる。
【0136】
さらに、図11(c)では、仮想面A2を、路面110からの第1の距離dが、カメラ100からの距離に応じて線形に減少するように設定したが、第1の距離dの設定パターンは、カメラ100からの距離に応じて単調に減少するものであれば、この限りではない。
【0137】
すなわち、図13に示すように、カメラ100からの距離に応じて、第1の距離dが階段状に小さくなるように設定(図13の仮想面A3)してもよいし、第1の距離dが非線形に変化するように設定(図13の仮想面A4やA5)してもよい。
【0138】
この第1の距離dの設定パターンは、設定する物体の検出感度に応じて決められ、予め実験等によって決定した設定パターンが用いられる。
【0139】
また、図14に示すように、第1の距離dが互いに異なる複数の位置に、複数の仮想面(仮想面A6、仮想面A7、仮想面A8)を設定して、車両10の運転者が、使用する第1の距離dの設定パターンを選択するようにしてもよい。
【0140】
このとき、仮想面設定手段220の中に、運転者の操作によって第1の距離dの設定パターンを変更できる機能を備えておくことによって、運転者は、安全な状態で、第1の距離dの設定パターンを変更しながら、物体の検出結果を、車両10内に設置したモニタのような表示手段(図2には図示せず)によって目視確認して、所望の第1の距離dの設定パターンを選択することができる。そして、前記したように、第1の距離dの設定パターンに応じて、物体の検出感度を調整することができるため、これによって、運転者の感覚にあった物体検出を行うことができる。
【0141】
なお、この第1の距離dの設定パターンは、車両10の車速に応じて、変化させるようにしてもよい。
【0142】
すなわち、車両10の車速が低いときには、第1の距離dを0(路面)または小さく設定しておき、車両10の車速が高くなるにつれて、第1の距離dの値を徐々に大きな値に変更することによって、車両10の走行状態に応じた感度で、物体をより一層、確実に検出することができる。
【0143】
さらに、第1の距離dの設定パターンが異なる第1の仮想面を複数面設定して、設定した全ての第1の仮想面における第2のオプティカルフローを推定し、各々の第1の仮想面で推定された第2のオプティカルフローを、第1のオプティカルフローと比較して物体検出を行い、異なる複数の第1の仮想面に対する物体の検出結果を、それぞれ異なる描画形態(色、線の太さ、線の形態等)で車両10に設置したモニタのような表示手段(図2には図示せず)に表示してもよい。これによって、運転者は、異なる検出感度で検出された複数の検出結果を一望することができるため、接触の危険度合を瞬時に把握することができる。
【0144】
また、車両の後方に設定する仮想面V1は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の位置に、路面110に垂直に設定したが、これは、図16に示すように、仮想面V1から、第3の距離sだけ近い位置に、路面110から高い地点ほど、第3の距離sが小さくなるような仮想面V2を設定して、仮想面V2を新たに仮想面V1として、上記した処理を行うようにしてもよい。
【0145】
このような形態の仮想面V2を設定することによって、路面に近い位置ほど、仮想面V2と車両10との距離が小さくなるため、車両10に近いほど、高さの低い物体の検出感度を上げることができる。したがって、接触可能性を警報する上で好ましい検出特性を得ることができる。なお、第3の距離sの値には、予め実験等によって決定した値が用いられる。また、仮想面V2は、カメラ100の撮像視野の最上部において、仮想面V2が仮想面V1よりも遠方にならないレイアウトに設定されるのが望ましい。
【0146】
以上説明したように、このように構成された実施例1に係る車両周辺監視装置によれば、カメラ(撮像手段)100で撮像された車両10周辺の画像から、オプティカルフロー検出手段240で第1のオプティカルフローを検出するとともに、オプティカルフロー推定手段230が、車両10の挙動に基づいて、仮想面設定手段220によって、路面から第1の距離dだけ高い位置に設定された仮想面A1の上に生じる第2のオプティカルフローを推定して、オプティカルフロー差分演算手段250が、オプティカルフロー検出手段240で検出された第1のオプティカルフローからオプティカルフロー推定手段230で推定された第2のオプティカルフローを差し引く差分演算を行って差分フローを算出し、物体検出手段260が、差分フローに基づいて車両10の周辺に存在する物体を検出し、接触判定手段270によって、物体が車両10に接触する可能性があると判定されたときに、警報出力手段400が警報を出力する構成としたため、路面110の模様やテクスチャによって生じた第1のオプティカルフローを確実に除去することができる。
【0147】
そして、これによって、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる。
【0148】
なお、本実施例1において、カメラ100は車両10の後方を撮像するレイアウトで設置したが、カメラ100の観測範囲は、車両10の後方に限定されるものではない。すなわち、車両10の前方や車両10の側方を観測するレイアウトであっても、上記した実施例1と同様の車両周辺監視装置を実現することができる。
【実施例2】
【0149】
本実施例2は、車載されたカメラで車両周辺を監視して、車両に接触する可能性のある物体が検出されたときに警報を出力する車両周辺監視装置に関するものである。
【0150】
図17は、本発明の実施例2に係る車両周辺監視装置の概略構成を示すブロック図を表す。
【0151】
図18は、図17の周辺監視手段202の内部構成を示すブロック図である。
【0152】
本実施例2に係る車両周辺監視装置は、車両10に設置され、カメラ100(撮像手段)と、周辺監視手段202と、車輪速センサ300と、警報出力手段400と、を備えている。
【0153】
カメラ100は、車両後方の路面を含む領域を撮像する。
【0154】
周辺監視手段202は、カメラ100で撮像された画像の中から、車両10に接触する可能性のある物体を検出する。
【0155】
車輪速センサ300は、車両の左右両輪の車輪速を計測する。
【0156】
警報出力手段400は、スピーカのような音声出力手段やモニタのような映像出力手段を備え、車両が移動物体に接触する可能性があるときに、音や音声や映像によって警報を出力する。
【0157】
周辺監視手段202は、さらに、仮想面設定手段280と、オプティカルフロー推定手段230と、オプティカルフロー検出手段240と、オプティカルフロー差分演算手段250と、物体検出手段260と、接触判定手段270と、を備えている。
【0158】
仮想面設定手段280は、車両10の後方の予め決められた路面上の位置から立ち上がる第2の仮想面を設定して、路面と、この第2の仮想面と、で構成される仮想面を、第1の仮想面として設定する。
【0159】
周辺監視手段202のその他の構成要素とその機能は、実施例1で説明した周辺監視手段200と同じであるため、説明は省略する。
【0160】
本実施例2の処理の流れの概要は、実施例1で説明した図4と同様であるため、本実施例2の作用について、実施例1の作用と異なる点について説明する。
【0161】
図4のステップS30では、オプティカルフロー推定手段230によって、第2のオプティカルフローを推定する。この第2のオプティカルフローの推定は、図6のフローチャートによって行われる。
【0162】
図6のステップS301では、まず、仮想面設定手段220によって、第2のオプティカルフローを推定する仮想面の設定を行う。このとき、本実施例2では、図11(a)に示すように、路面110を仮想面A0に設定する。
【0163】
そして、仮想面A0のみでは、カメラ100の撮像視野全体を仮想面で覆うことができないため、車両10から第2の距離kだけ後方の位置に、路面110から立ち上がる仮想面V1(第2の仮想面)を設定する。
【0164】
図11(a)は、この仮想面V1を、路面110から垂直に立ち上がり、カメラ100の光軸を含み路面110から垂直に立ち上がる平面と直交する面として設定した例である。この仮想面V1の高さは、少なくともカメラ100の撮像視野の最上部を超えるものとする。
【0165】
また、車両10から仮想面V1が路面110から立ち上がる位置は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置に設定されて、車両10から仮想面V1が路面110から立ち上がる位置までの距離は、第2の距離kに設定される。
【0166】
これは、仮想面V1よりも遠方にある点では、第2のオプティカルフローが実際よりも長く推定されるため、第1のオプティカルフローから第2のオプティカルフローを差し引く差分演算を行ったときに、第1のオプティカルフローを確実に除去(キャンセル)するためである。
【0167】
そして、図6のステップS301では、路面と第2の仮想面である仮想面V1とに向かって、カメラ100の焦点Oから複数の半直線を延ばして、この半直線が、路面、もしくは仮想面V1と最初に交差する点で構成される面を、新たに第1の仮想面として設定する。
【0168】
ステップS304では、このようにして設定された第1の仮想面の上で、オプティカルフロー推定手段230によって、第2のオプティカルフローの推定を行う。第2のオプティカルフローの推定方法は、実施例1で説明した通りである。
【0169】
その後の処理は、実施例1と同様に、図4のフローチャートに沿って行われて、車両10に接触する可能性のある物体が検出されたときに、警報出力手段400から警報が出力される。
【0170】
なお、仮想面V1は、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置に、路面110に垂直に設定したが、これは、図19に示すように、仮想面V1から、第3の距離sだけ近い位置に、路面110から高い地点ほど、第3の距離sが小さくなるような仮想面V2を設定して、仮想面V2を新たに仮想面V1として、上記した処理を行うようにしてもよい。
【0171】
このような形態の仮想面V2を設定することによって、路面に近い位置ほど、仮想面V2と車両10との距離が小さくなるため、車両10に近いほど、高さの低い物体の検出感度を上げることができる。したがって、接触可能性を警報する上で好ましい検出特性を得ることができる。なお、第3の距離sの値には、予め実験等によって決定した値が用いられる。また、仮想面V2は、カメラ100の撮像視野の最上部において、仮想面V2が仮想面V1よりも遠方にならないようなレイアウトに設定されるのが望ましい。
【0172】
以上説明したように、このように構成された実施例2に係る車両周辺監視装置によれば、カメラ(撮像手段)100で撮像された車両10周辺の画像から、オプティカルフロー検出手段240で第1のオプティカルフローが検出されるとともに、仮想面設定手段280によって、接触判定手段270が車両10と物体とが接触する可能性があると判定する範囲の中で、車両10から最遠点の路面110上の位置から立ち上がった第2の仮想面V1に、カメラ100から路面110と第2の仮想面V1に向かって延びる複数の半直線が、路面110、もしくは第2の仮想面V1と最初に交差する点で構成される面が、第1の仮想面として設定され、車両10の挙動に基づいて、第1の仮想面の上に発生する第2のオプティカルフローが推定されて、オプティカルフロー差分演算手段250が、オプティカルフロー検出手段240で検出された第1のオプティカルフローからオプティカルフロー推定手段で推定された第2のオプティカルフローを差し引く差分演算を行って、物体検出手段260が、差分演算の結果に基づいて車両10の周辺に存在する物体を検出して、接触判定手段270によって、物体が車両10に接触する可能性があると判定されたときに、警報出力手段400が警報を出力することができる。
【0173】
そして、これによって、物体の検出範囲を警報範囲内に限定して、より実用的な車両周辺監視装置を提供することができる。
【0174】
なお、本実施例2において、カメラ100は車両10の後方を撮像するレイアウトで設置したが、カメラ100の観測範囲は、車両10の後方に限定されるものではない。すなわち、車両10の前方や車両10の側方を観測するレイアウトであっても、上記した実施例1と同様の車両周辺監視装置を実現することができる。
【0175】
以上、本発明の実施例1、実施例2を図面により詳述したが、実施例は本発明の例示にしか過ぎないものであるため、本発明は実施例の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。
【符号の説明】
【0176】
100 カメラ(撮像手段)
200 周辺監視手段
220 仮想面設定手段
230 オプティカルフロー推定手段
240 オプティカルフロー検出手段
250 オプティカルフロー差分演算手段
260 物体検出手段
270 接触判定手段
300 車輪速センサ
400 警報出力手段
【特許請求の範囲】
【請求項1】
車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、
前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、
前記第1のオプティカルフローと、前記路面から第1の距離だけ高い位置に仮想的に設定された第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される第2のオプティカルフローと、を比較して、前記車両の周辺に存在する物体を検出する物体検出手段と、
を有することを特徴とする車両周辺監視装置。
【請求項2】
前記第1の仮想面は、前記撮像手段から遠い位置ほど、前記第1の距離が小さくなるように設定された面とすることを特徴とする、請求項1に記載の車両周辺監視装置。
【請求項3】
前記第1の仮想面は、前記車両の車速が高いときほど、前記第1の距離が大きくなるように設定された面とすることを特徴とする、請求項1または2に記載の車両周辺監視装置。
【請求項4】
前記第1の距離が互いに異なる複数の位置にそれぞれ設定された複数の前記第1の仮想面の中から、1つの第1の仮想面を選択する仮想面選択手段を有する、請求項1から3のうちいずれか1項に記載の車両周辺監視装置。
【請求項5】
前記物体検出手段は、前記第1の距離が互いに異なる複数の位置にそれぞれ設定された複数の前記第1の仮想面の各々に対して推定された、各第2のオプティカルフローと、前記第1のオプティカルフローとに基づいて、物体を検出し、
前記複数の第1の仮想面の各々に対する前記物体の検出結果を、それぞれ異なる表示形態で同時に表示する表示手段を有することを特徴とする請求項1から3のうちいずれか1項に記載の車両周辺監視装置。
【請求項6】
始点を共にする、前記第1のオプティカルフローから、前記第2のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、
前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、
前記物体検出手段によって検出された物体を構成する画素を始点とする前記差分フローが、前記撮像手段で撮像された画像を左右に2等分する中心線に向かう方向を向いているときに、前記車両と前記物体とが接触する可能性があると判定する接触判定手段と、
前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有することを特徴とする請求項1から5のうちいずれか1項に記載の車両周辺監視装置。
【請求項7】
前記オプティカルフロー差分演算手段によって演算された前記差分フローが、前記中心線に向かう方向を向いているときに、前記差分フローを、前記物体検出手段において使用することを特徴とする請求項6に記載の車両周辺監視装置。
【請求項8】
前記車両が旋回しているときは、前記物体検出手段が前記差分フローに基づいて物体を検出するしきい値を、前記画像のうち、前記中心線から左側に位置する所定の領域の内部と、前記中心線から右側に位置する所定の領域の内部と、で異なる値にすることを特徴とする請求項6または7に記載の車両周辺監視装置。
【請求項9】
前記接触判定手段が、前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置において、前記路面から立ち上がる第2の仮想面を設定して、前記撮像手段の設置位置から前記第1の仮想面と前記第2の仮想面とに向かって延びる複数の半直線が、前記第1の仮想面、もしくは前記第2の仮想面と最初に交差する点で構成される面を、新たに第1の仮想面とする仮想面設定手段を有することを特徴とする請求項6から8のうちいずれか1項に記載の車両周辺監視装置。
【請求項10】
前記第2の仮想面から第3の距離だけ車両に近い位置に、前記路面から高い位置ほど、前記第3の距離が小さくなる仮想面を設定して、前記仮想面を、新たに第2の仮想面とすることを特徴とする、請求項9に記載の車両周辺監視装置。
【請求項11】
車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、
前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、
前記車両から、前記撮像手段が撮像する方向に第2の距離だけ離れた位置に、前記路面から立ち上がる第2の仮想面を設定して、前記撮像手段の設置位置から前記路面と前記第2の仮想面とに向かって延びる複数の半直線が、前記路面、もしくは前記第2の仮想面と最初に交差する点で構成される面を、第1の仮想面として設定する仮想面設定手段と、
前記第1のオプティカルフローから、前記第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第1のオプティカルフローと始点を共にする第2のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、
前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、
前記物体検出手段によって検出された物体と前記車両とが接触する可能性を判定する接触判定手段と、
前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有し、
前記第2の距離は、前記車両から、前記接触判定手段が前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置までの距離であることを特徴とする車両周辺監視装置。
【請求項12】
前記仮想面設定手段は、前記第2の仮想面から第3の距離だけ車両に近い位置に、前記路面から高い位置ほど、前記第3の距離が小さくなる仮想面を設定して、前記仮想面を、新たに第2の仮想面とすることを特徴とする、請求項11に記載の車両周辺監視装置。
【請求項13】
前記接触判定手段は、前記物体検出手段によって検出された物体を構成する画素を始点とする前記差分フローが、前記撮像手段で撮像された画像を左右に2分する中心線に向かう方向を向いているときに、前記車両と前記物体とが接触する可能性があると判定することを特徴とする請求項11または12に記載の車両周辺監視装置。
【請求項14】
前記オプティカルフロー差分演算手段によって演算された前記差分フローが、前記中心線に向かう方向を向いているときに、前記差分フローを、前記物体検出手段において使用することを特徴とする請求項13に記載の車両周辺監視装置。
【請求項15】
前記車両が旋回しているときは、前記物体検出手段が前記差分フローに基づいて物体を検出するしきい値を、前記画像のうち、前記中心線から左側に位置する所定の領域の内部と、前記中心線から右側に位置する所定の領域の内部と、で異なる値にすることを特徴とする請求項13または14に記載の車両周辺監視装置。
【請求項1】
車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、
前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、
前記第1のオプティカルフローと、前記路面から第1の距離だけ高い位置に仮想的に設定された第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される第2のオプティカルフローと、を比較して、前記車両の周辺に存在する物体を検出する物体検出手段と、
を有することを特徴とする車両周辺監視装置。
【請求項2】
前記第1の仮想面は、前記撮像手段から遠い位置ほど、前記第1の距離が小さくなるように設定された面とすることを特徴とする、請求項1に記載の車両周辺監視装置。
【請求項3】
前記第1の仮想面は、前記車両の車速が高いときほど、前記第1の距離が大きくなるように設定された面とすることを特徴とする、請求項1または2に記載の車両周辺監視装置。
【請求項4】
前記第1の距離が互いに異なる複数の位置にそれぞれ設定された複数の前記第1の仮想面の中から、1つの第1の仮想面を選択する仮想面選択手段を有する、請求項1から3のうちいずれか1項に記載の車両周辺監視装置。
【請求項5】
前記物体検出手段は、前記第1の距離が互いに異なる複数の位置にそれぞれ設定された複数の前記第1の仮想面の各々に対して推定された、各第2のオプティカルフローと、前記第1のオプティカルフローとに基づいて、物体を検出し、
前記複数の第1の仮想面の各々に対する前記物体の検出結果を、それぞれ異なる表示形態で同時に表示する表示手段を有することを特徴とする請求項1から3のうちいずれか1項に記載の車両周辺監視装置。
【請求項6】
始点を共にする、前記第1のオプティカルフローから、前記第2のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、
前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、
前記物体検出手段によって検出された物体を構成する画素を始点とする前記差分フローが、前記撮像手段で撮像された画像を左右に2等分する中心線に向かう方向を向いているときに、前記車両と前記物体とが接触する可能性があると判定する接触判定手段と、
前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有することを特徴とする請求項1から5のうちいずれか1項に記載の車両周辺監視装置。
【請求項7】
前記オプティカルフロー差分演算手段によって演算された前記差分フローが、前記中心線に向かう方向を向いているときに、前記差分フローを、前記物体検出手段において使用することを特徴とする請求項6に記載の車両周辺監視装置。
【請求項8】
前記車両が旋回しているときは、前記物体検出手段が前記差分フローに基づいて物体を検出するしきい値を、前記画像のうち、前記中心線から左側に位置する所定の領域の内部と、前記中心線から右側に位置する所定の領域の内部と、で異なる値にすることを特徴とする請求項6または7に記載の車両周辺監視装置。
【請求項9】
前記接触判定手段が、前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置において、前記路面から立ち上がる第2の仮想面を設定して、前記撮像手段の設置位置から前記第1の仮想面と前記第2の仮想面とに向かって延びる複数の半直線が、前記第1の仮想面、もしくは前記第2の仮想面と最初に交差する点で構成される面を、新たに第1の仮想面とする仮想面設定手段を有することを特徴とする請求項6から8のうちいずれか1項に記載の車両周辺監視装置。
【請求項10】
前記第2の仮想面から第3の距離だけ車両に近い位置に、前記路面から高い位置ほど、前記第3の距離が小さくなる仮想面を設定して、前記仮想面を、新たに第2の仮想面とすることを特徴とする、請求項9に記載の車両周辺監視装置。
【請求項11】
車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、
前記撮像手段で異なる時刻に撮像された2つの画像に基づいて、第1のオプティカルフローを検出するオプティカルフロー検出手段と、
前記車両から、前記撮像手段が撮像する方向に第2の距離だけ離れた位置に、前記路面から立ち上がる第2の仮想面を設定して、前記撮像手段の設置位置から前記路面と前記第2の仮想面とに向かって延びる複数の半直線が、前記路面、もしくは前記第2の仮想面と最初に交差する点で構成される面を、第1の仮想面として設定する仮想面設定手段と、
前記第1のオプティカルフローから、前記第1の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第1のオプティカルフローと始点を共にする第2のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、
前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、
前記物体検出手段によって検出された物体と前記車両とが接触する可能性を判定する接触判定手段と、
前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有し、
前記第2の距離は、前記車両から、前記接触判定手段が前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置までの距離であることを特徴とする車両周辺監視装置。
【請求項12】
前記仮想面設定手段は、前記第2の仮想面から第3の距離だけ車両に近い位置に、前記路面から高い位置ほど、前記第3の距離が小さくなる仮想面を設定して、前記仮想面を、新たに第2の仮想面とすることを特徴とする、請求項11に記載の車両周辺監視装置。
【請求項13】
前記接触判定手段は、前記物体検出手段によって検出された物体を構成する画素を始点とする前記差分フローが、前記撮像手段で撮像された画像を左右に2分する中心線に向かう方向を向いているときに、前記車両と前記物体とが接触する可能性があると判定することを特徴とする請求項11または12に記載の車両周辺監視装置。
【請求項14】
前記オプティカルフロー差分演算手段によって演算された前記差分フローが、前記中心線に向かう方向を向いているときに、前記差分フローを、前記物体検出手段において使用することを特徴とする請求項13に記載の車両周辺監視装置。
【請求項15】
前記車両が旋回しているときは、前記物体検出手段が前記差分フローに基づいて物体を検出するしきい値を、前記画像のうち、前記中心線から左側に位置する所定の領域の内部と、前記中心線から右側に位置する所定の領域の内部と、で異なる値にすることを特徴とする請求項13または14に記載の車両周辺監視装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2013−92994(P2013−92994A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2011−236269(P2011−236269)
【出願日】平成23年10月27日(2011.10.27)
【出願人】(000001487)クラリオン株式会社 (1,722)
【Fターム(参考)】
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願日】平成23年10月27日(2011.10.27)
【出願人】(000001487)クラリオン株式会社 (1,722)
【Fターム(参考)】
[ Back to top ]