(57)【特許請求の範囲】
【請求項１】
車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、
前記撮像手段で異なる時刻に撮像された２つの画像に基づいて、第１のオプティカルフローを検出するオプティカルフロー検出手段と、
前記第１のオプティカルフローから、前記路面から第１の距離だけ高い位置に仮想的に設定された第１の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第１のオプティカルフローと始点を共にする第２のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、
前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、を有することを特徴とする車両周辺監視装置。
【請求項２】
前記第１の仮想面は、前記撮像手段から遠い位置ほど、前記第１の距離が小さくなるように設定された面とすることを特徴とする、請求項１に記載の車両周辺監視装置。
【請求項３】
前記第１の仮想面は、前記車両の車速が高いときほど、前記第１の距離が大きくなるように設定された面とすることを特徴とする、請求項１または２に記載の車両周辺監視装置。
【請求項４】
前記第１の距離が互いに異なる複数の位置にそれぞれ設定された複数の前記第１の仮想面の中から、１つの第１の仮想面を選択する仮想面選択手段を有する、請求項１から３のうちいずれか１項に記載の車両周辺監視装置。
【請求項５】
前記物体検出手段は、前記第１の距離が互いに異なる複数の位置にそれぞれ設定された複数の前記第１の仮想面の各々に対して推定された、各第２のオプティカルフローと、前記第１のオプティカルフローとに基づいて、物体を検出し、
前記複数の第１の仮想面の各々に対する前記物体の検出結果を、それぞれ異なる表示形態で同時に表示する表示手段を有することを特徴とする請求項１から３のうちいずれか１項に記載の車両周辺監視装置。
【請求項６】
前記物体検出手段によって検出された物体を構成する画素を始点とする前記差分フローが、前記撮像手段で撮像された画像を左右に２等分する中心線に向かう方向を向いているときに、前記車両と前記物体とが接触する可能性があると判定する接触判定手段と、
前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、を有することを特徴とする請求項１から５のうちいずれか１項に記載の車両周辺監視装置。
【請求項７】
前記オプティカルフロー差分演算手段によって演算された前記差分フローが、前記中心線に向かう方向を向いているときに、前記差分フローを、前記物体検出手段において使用することを特徴とする請求項６に記載の車両周辺監視装置。
【請求項８】
前記車両が旋回しているときは、前記物体検出手段が前記差分フローに基づいて物体を検出するしきい値を、前記画像のうち、前記中心線から左側に位置する所定の領域の内部と、前記中心線から右側に位置する所定の領域の内部と、で異なる値にすることを特徴とする請求項６または７に記載の車両周辺監視装置。
【請求項９】
前記接触判定手段が、前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置において、前記路面から立ち上がる第２の仮想面を設定して、前記撮像手段の設置位置から前記第１の仮想面と前記第２の仮想面とに向かって延びる複数の半直線が、前記第１の仮想面、もしくは前記第２の仮想面と最初に交差する点で構成される面を、新たに第１の仮想面とする仮想面設定手段を有することを特徴とする請求項６から８のうちいずれか１項に記載の車両周辺監視装置。
【請求項１０】
前記第２の仮想面から第３の距離だけ車両に近い位置に、前記路面から高い位置ほど、前記第３の距離が小さくなる仮想面を設定して、前記仮想面を、新たに第２の仮想面とすることを特徴とする、請求項９に記載の車両周辺監視装置。
【請求項１１】
車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、
前記撮像手段で異なる時刻に撮像された２つの画像に基づいて、第１のオプティカルフローを検出するオプティカルフロー検出手段と、
前記車両から、前記撮像手段が撮像する方向に第２の距離だけ離れた位置に、前記路面から立ち上がる第２の仮想面を設定して、前記撮像手段の設置位置から前記路面と前記第２の仮想面とに向かって延びる複数の半直線が、前記路面、もしくは前記第２の仮想面と最初に交差する点で構成される面を、第１の仮想面として設定する仮想面設定手段と、
前記第１のオプティカルフローから、前記第１の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第１のオプティカルフローと始点を共にする第２のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、
前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、
前記物体検出手段によって検出された物体と前記車両とが接触する可能性を判定する接触判定手段と、
前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、を有し、前記第２の距離は、前記車両から、前記接触判定手段が前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置までの距離であることを特徴とする車両周辺監視装置。
【請求項１２】
前記仮想面設定手段は、前記第２の仮想面から第３の距離だけ車両に近い位置に、前記路面から高い位置ほど、前記第３の距離が小さくなる仮想面を設定して、前記仮想面を、新たに第２の仮想面とすることを特徴とする、請求項１１に記載の車両周辺監視装置。
【請求項１３】
前記接触判定手段は、前記物体検出手段によって検出された物体を構成する画素を始点とする前記差分フローが、前記撮像手段で撮像された画像を左右に２分する中心線に向かう方向を向いているときに、前記車両と前記物体とが接触する可能性があると判定することを特徴とする請求項１１または１２に記載の車両周辺監視装置。
【請求項１４】
前記オプティカルフロー差分演算手段によって演算された前記差分フローが、前記中心線に向かう方向を向いているときに、前記差分フローを、前記物体検出手段において使用することを特徴とする請求項１３に記載の車両周辺監視装置。
【請求項１５】
前記車両が旋回しているときは、前記物体検出手段が前記差分フローに基づいて物体を検出するしきい値を、前記画像のうち、前記中心線から左側に位置する所定の領域の内部と、前記中心線から右側に位置する所定の領域の内部と、で異なる値にすることを特徴とする請求項１３または１４に記載の車両周辺監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の周辺に存在する移動物体や静止物体を検知して、車両が物体に衝突する可能性がある場合に警報を出力する車両周辺監視装置に関する。
【背景技術】
【０００２】
近年、車両にカメラを設置し、車両に衝突する可能性がある物体を検知する技術が提案されている。
【０００３】
例えば、カメラで撮影した画像からオプティカルフローを求め、このオプティカルフローを、車両の動きを基にして求めた背景フローと比較するために、両者のベクトル差を求めて、このベクトル差に基づいて車両周辺にある接近物（移動物体や静止物体）を検出する監視装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０５６７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された発明では、背景フローとして路面上に生じるオプティカルフローを推定している。
【０００６】
しかしながら、この特許文献１に記載された監視装置に限らず、カメラを車両に設置したときには、カメラの設置位置に誤差が生じやすいため、カメラの設置位置に関する情報や、車両の挙動を用いて推定したオプティカルフロー（背景フロー）には、推定誤差が含まれる可能性がある。
【０００７】
監視装置によって物体を検出するために、特許文献１では、実際に検出したオプティカルフローと、推定した背景フローとの比較を行っている。そのとき、両者の差分演算を行って差分ベクトル（差分フロー）を算出すると、物体が存在しない位置では差分フローが０になる。しかし、原理的には差分フローが０になる場合であっても、カメラの設置位置の誤差の影響によって、背景フローに推定誤差が含まれると、差分フローがノイズとして残ってしまう可能性がある。
【０００８】
そして、差分フローがノイズとして残ってしまうと、これを物体であると誤認識してしまう恐れがある。特に、路面には多数の模様やテクスチャ（微細な凹凸等）が存在するために、多くのオプティカルフローが検出されるため、オプティカルフローと背景フローとの差分演算を行うと差分フローが残ってしまう可能性がある。
【０００９】
本発明は上記事情に鑑みなされたもので、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる車両周辺監視装置を提供することを第１の目的とする。
【００１０】
また、特許文献１に記載された監視装置にあっては、撮像した画像上で、路面が映っていない、消失点より上部の領域については、路面に垂直な仮想壁面を設定して、この仮想壁面上で背景フローを推定している。
【００１１】
しかしながら、この特許文献１に記載された監視装置にあっては、物体の検出距離に、特に制約を設けていない。したがって、特許文献１に記載された監視装置を、検出した物体が車両に接触する可能性があるときに、運転者に対して警報を出力する用途に適用したときには、警報範囲を遙かに超えた領域においても差分フローが出力されるため、警報範囲内に存在しない物体をも検出してしまう。これは、監視装置の本来の目的からみて、不要な処理を行っていることになり、非効率的である。
【００１２】
本発明は上記事情に鑑みなされたもので、警報範囲内のみで物体検出を行うことによって、より実用的な車両周辺監視装置を提供することを第２の目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る車両周辺監視装置は、路面よりも高い位置に設定した仮想面において生じると推定される背景フローと、実際に検出されるオプティカルフローと、を比較して、物体を検出するものである。
【００１４】
すなわち、本発明に係る車両周辺監視装置は、車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、前記撮像手段で異なる時刻に撮像された２つの画像に基づいて、第１のオプティカルフローを検出するオプティカルフロー検出手段と、前記第１のオプティカルフローから、前記路面から第１の距離だけ高い位置に仮想的に設定された第１の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第１のオプティカルフローと始点を共にする第２のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、を有することを特徴とする。
【００１５】
このように構成された本発明に係る車両周辺監視装置によれば、撮像手段で異なる時刻に撮像された、路面を含む車両周辺の２つの画像に基づいて、オプティカルフロー検出手段で第１のオプティカルフローが検出されるとともに、物体検出手段によって、第１のオプティカルフローから、前記異なる時刻の間の車両の挙動に基づいて、路面から第１の距離だけ高い位置に仮想的に設定された第１の仮想面の上に生じると推定される、第１のオプティカルフローと始点を共にする第２のオプティカルフローを差し引くことによって、車両の周辺に存在する物体を検出するため、第２のオプティカルフローを推定する点を減らすことができ、これによって、処理の効率を向上させることができる。
【００１６】
また、本発明に係る車両周辺監視装置は、警報を出力しようとする範囲として設定された範囲のうち、車両から最遠点において路面から立ち上がる仮想面を設定して、路面とこの仮想面において生じると推定される背景フローと、実際に検出されるオプティカルフローと、を比較して、物体を検出するものである。
【００１７】
すなわち、本発明に係る車両周辺監視装置は、車両に搭載され、路面を含む前記車両の周辺を撮像する撮像手段と、前記撮像手段で異なる時刻に撮像された２つの画像に基づいて、第１のオプティカルフローを検出するオプティカルフロー検出手段と、前記車両から、前記撮像手段が撮像する方向に第２の距離だけ離れた位置に、前記路面から立ち上がる第２の仮想面を設定して、前記撮像手段の設置位置から前記路面と前記第２の仮想面とに向かって延びる複数の半直線が、前記路面、もしくは前記第２の仮想面と最初に交差する点で構成される面を、第１の仮想面として設定する仮想面設定手段と、前記第１のオプティカルフローから、前記第１の仮想面において、前記異なる時刻の間の前記車両の挙動に応じて生じると推定される、前記第１のオプティカルフローと始点を共にする第２のオプティカルフローを差し引いた差分フローを演算するオプティカルフロー差分演算手段と、前記差分フローに基づいて、前記車両の周辺に存在する物体を検出する物体検出手段と、前記物体検出手段によって検出された物体と前記車両とが接触する可能性を判定する接触判定手段と、前記接触判定手段の判定結果に基づいて警報を出力する警報出力手段と、
を有し、前記第２の距離は、前記車両から、前記接触判定手段が前記車両と前記物体とが接触する可能性があると判定する範囲の中で、前記車両から最遠点の位置まで、の距離であることを特徴とする。
【００１８】
このように構成された本発明に係る車両周辺監視装置によれば、撮像手段で異なる時刻に撮像された、路面を含む車両周辺の２つの画像に基づいて、オプティカルフロー検出手段で第１のオプティカルフローが検出され、仮想面設定手段によって、撮像手段の設置位置から、路面と、接触判定手段が車両と物体とが接触する可能性があると判定する範囲の中で車両から最遠点の路面上の位置から立ち上がった第２の仮想面と、に向かって延びる複数の半直線が、路面、もしくは第２の仮想面と最初に交差する点で構成される面が、第１の仮想面として設定され、オプティカルフロー差分演算手段によって、第１のオプティカルフローから、前記異なる時刻の間の車両の挙動に応じて第１の仮想面の上に生じると推定される、第１のオプティカルフローと始点を共にする第２のオプティカルフローが差し引かれて差分フローが演算され、物体検出手段が、この差分フローに基づいて車両の周辺に存在する物体を検出して、接触判定手段によって、物体が車両に接触する可能性があると判定されたときに、警報出力手段が警報を出力することができる。
【発明の効果】
【００１９】
本発明に係る車両周辺監視装置によれば、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる車両周辺監視装置を提供することができる。
【００２０】
また、本発明に係る車両周辺監視装置によれば、物体の検出範囲を警報範囲内に限定して、より実用的な車両周辺監視装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施例１に係る車両周辺監視装置の概略構成を示すブロック図である。
【図２】図１の周辺監視手段の内部構成を示すブロック図である。
【図３】（ａ）は、車載されたカメラが置かれた道路環境を示す図である。（ｂ）は、（ａ）の状態で車両が直進したときに検出される、第１のオプティカルフローを示す図である。（ｃ）は、（ａ）の状態で車両が右旋回をしたときに検出される、第１のオプティカルフローを示す図である。
【図４】周辺監視手段で行われる処理の流れを示す概略フローチャートである。
【図５】オプティカルフロー検出処理の流れを示すフローチャートである。
【図６】オプティカルフロー推定処理の流れを示すフローチャートである。
【図７】オプティカルフロー差分演算処理の流れを示すフローチャートである。
【図８】物体検出処理の流れを示すフローチャートである。
【図９】警報出力判定処理の流れを示すフローチャートである。
【図１０】（ａ）は、第２のオプティカルフローの推定方法を示す図である。（ｂ）は、（ａ）の状態から、カメラが光軸方向に速度ｖでｔ秒間移動した後の状態を示す図である。
【図１１】（ａ）は、本発明の実施例１に係る車両周辺監視装置における仮想面の設定方法を示す図であり、車両の後方に仮想面Ｖ１を設定した状態を示す図である。（ｂ）は、車両の後方に、仮想面Ａ１と仮想面Ｖ１を設定した状態を示す図である。（ｃ）は、車両の後方に、仮想面Ａ２と仮想面Ｖ１を設定した状態を示す図である。
【図１２】（ａ）は、図１１（ａ）の状態で推定した第２のオプティカルフローの一例を示す図である。（ｂ）は、図１１（ａ）の状態で検出した第１のオプティカルフローと図１２（ａ）の第２のオプティカルフローとの差分結果を示す図である。（ｃ）は、図１１（ｂ）の状態で推定した第２のオプティカルフローの一例を示す図である。（ｄ）は、図１１（ｂ）の状態で検出した第１のオプティカルフローと図１２（ｃ）の第２のオプティカルフローとの差分結果を示す図である。（ｅ）は、図１１（ｃ）の状態で推定した第２のオプティカルフローの一例を示す図である。（ｆ）は、図１１（ｃ）の状態で検出した第１のオプティカルフローと図１２（ｅ）の第２のオプティカルフローとの差分結果を示す図である。
【図１３】本発明の実施例１に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に、仮想面Ａ３〜Ａ５を設定した状態を示す図である。
【図１４】本発明の実施例１に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に仮想面Ｖ１と複数の仮想面Ａ６〜Ａ８を設定した状態を示す図である。
【図１５】車両が右旋回したときに検出される、第１のオプティカルフローの例を示す図である。
【図１６】車両の後方に、仮想面Ａ１と仮想面Ｖ２を設定した状態を示す図である。
【図１７】本発明の実施例２に係る車両周辺監視装置の概略構成を示すブロック図である。
【図１８】本発明の実施例２に係る車両周辺監視装置の周辺監視手段の内部構成を示すブロック図である。
【図１９】本発明の実施例２に係る車両周辺監視装置における仮想面の設定方法を説明する図であり、車両の後方に仮想面Ｖ２を設定した状態を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る車両周辺監視装置の実施形態について、図面を参照して説明する。
【実施例１】
【００２３】
本実施例１は、車載されたカメラで車両周辺を監視して、車両に接触する可能性のある物体が検出されたときに警報を出力する車両周辺監視装置に関するものである。
【００２４】
まず、説明に使用する用語の定義を行う。撮像手段で異なる時刻に撮像された２つの画像に基づいて検出されるオプティカルフローを、以後、第１のオプティカルフローと呼ぶ。
【００２５】
また、仮想的に設定された仮想面において、立体物や動くものがないと仮定したときに、異なる時刻の間の車両の挙動に応じて生じると推定されるオプティカルフロー（背景フロー）を、以後、第２のオプティカルフローと呼ぶ。
【００２６】
さらに、第１のオプティカルフローから第２のオプティカルフローを差し引いた結果算出される差分ベクトルを、以後、差分フローと呼ぶ。
【００２７】
図１は、本発明の実施例１に係る車両周辺監視装置の概略構成を示すブロック図を表す。
【００２８】
図２は、図１の周辺監視手段２００の内部構成を示すブロック図である。
【００２９】
本実施例１に係る車両周辺監視装置は、車両１０に設置され、カメラ１００（撮像手段）と、周辺監視手段２００と、車輪速センサ３００と、警報出力手段４００と、を備えている。
【００３０】
カメラ１００は、車両後方の路面を含む領域を撮像する。
【００３１】
周辺監視手段２００は、カメラ１００で撮像された画像の中から、車両１０に接触する可能性のある物体を検出する。
【００３２】
車輪速センサ３００は、車両の左右両輪の車輪速を計測する。
【００３３】
警報出力手段４００は、スピーカのような音声出力手段やモニタのような映像出力手段を備え、車両が物体に接触する可能性があるときに、音や音声や映像によって警報を出力する。
【００３４】
周辺監視手段２００は、さらに、仮想面設定手段２２０と、オプティカルフロー推定手段２３０と、オプティカルフロー検出手段２４０と、オプティカルフロー差分演算手段２５０と、物体検出手段２６０と、接触判定手段２７０と、を備えている。
【００３５】
仮想面設定手段２２０は、予め決められた位置に仮想的に仮想面を設定する。なお、図２には図示しないが、後述するように、周辺監視手段２００の中に、複数の仮想面の中から１つの仮想面を選択する機能を付加したときには、仮想面選択手段として、ジョイスティックのようなポインティングデバイスが、仮想面設定手段２２０に接続される。
【００３６】
オプティカルフロー検出手段２４０は、カメラ１００で異なる時刻に撮像された２つの画像に基づいて、第１のオプティカルフローを検出する。
【００３７】
オプティカルフロー推定手段２３０は、車輪速センサ３００で計測された、異なる時刻の間の車両の挙動と、カメラ１００の設置条件と、焦点距離や画素サイズ等のカメラ１００のパラメータと、に基づいて、仮想面設定手段２２０で設定された仮想面において生じる第２のオプティカルフローを推定する。
【００３８】
オプティカルフロー差分演算手段２５０は、オプティカルフロー検出手段２４０で検出された第１のオプティカルフローと、オプティカルフロー推定手段２３０で推定された第２のオプティカルフローとの差分演算を行って、差分フローを算出する。
【００３９】
物体検出手段２６０は、オプティカルフロー差分演算手段２５０の演算結果に基づいて、物体の検出を行う。
【００４０】
接触判定手段２７０は、物体検出手段２６０で検出された物体が、車両１０に接触する可能性があるか否かを判定する。
【００４１】
なお、図２に記載した構成は、実装形態に応じて、適宜変更することが可能である。例えば、仮想面設定手段２２０は、カメラ１００の設置位置と、焦点距離や画素サイズ等のカメラ１００のパラメータと、設定する仮想面の形状と、に基づいて、予め仮想面の位置を計算して記憶しておくことができる。その場合、独立した仮想面設定手段２２０を備えなくてもよい。
【００４２】
また、オプティカルフロー推定手段２３０は、仮想面が設定されて、カメラ１００の設置位置と、焦点距離や画素サイズ等のカメラ１００のパラメータと、が判れば、車両の挙動に応じた第２のオプティカルフローを予め計算して記憶しておくことができるため、実際に車両の挙動を計測した都度、その車両の挙動に対応した第２のオプティカルフローを読み出すことができる。その場合、独立したオプティカルフロー推定手段２３０を備えなくてもよい。
【００４３】
ここで、まず、オプティカルフローについて、図３（ａ）、（ｂ）、（ｃ）を用いて簡単に説明する。
【００４４】
図３（ａ）は、障害物が全くない、レーンマーカが引かれた路面をカメラ１００で撮像した画像の一例である。左右のレーンマーカをそれぞれ遠方に延長すると、それらは消失点Ｖで交わる。
【００４５】
カメラ１００を搭載した車両１０が、この消失点Ｖに向かって直進したときに、異なる２つの時刻ｔ、ｔ＋Δｔにおいてカメラ１００で路面を撮像して、得られた２つの画像を、同じ座標同士が重なるように重ね合わせて、その２つの画像の中の対応する画素同士を、時刻ｔに撮像した画像上の画素Ｍを始点として、時刻ｔ＋Δｔに撮像した画像上の、画素Ｍに対応する画素Ｍ’を終点とするベクトルで連結したとき、このベクトルをオプティカルフローと呼ぶ。
【００４６】
オプティカルフローは、異なる２つの時刻の間におけるカメラ１００の移動量および移動方向や、撮像された物体の、見かけの移動量および移動方向を表している。このオプティカルフローを検出する処理を、画像の中の複数の画素に対して実行すると、図３（ｂ）に示すように、消失点Ｖから放射状に広がる複数の第１のオプティカルフローが得られる。
【００４７】
さらに、図３（ａ）の状態で、車両１０が右方向に旋回したときには、図３（ｃ）に示す複数の第１のオプティカルフローが得られる。すなわち、時間とともに消失点Ｖは水平方向左側に移動して、それに合わせて画像全体も水平方向左側に移動する。
【００４８】
本実施例１は、異なる時刻に撮像された２つの画像に基づいて、前記した第１のオプティカルフローを検出して、車両に接触する可能性のある物体を検出するものである。本実施形態に係る車両周辺監視装置の作用について、図４のフローチャートに基づいて説明する。
【００４９】
まず、ステップＳ１０において、カメラ１００で、路面を含む車両１０の周辺の画像を、所定の時間間隔で２回撮像して、ステップＳ２０に進む。
【００５０】
ステップＳ２０では、オプティカルフロー検出手段２４０によって、カメラ１００で撮像された２つの画像から第１のオプティカルフローを検出して、ステップＳ３０に進む。ステップＳ２０で行われる処理の詳細は後述する。
【００５１】
ステップＳ３０では、オプティカルフロー推定手段２３０によって、第２のオプティカルフローを推定し、ステップＳ４０に進む。ステップＳ３０で行われる処理の詳細は後述する。
【００５２】
ステップＳ４０では、オプティカルフロー差分演算手段２５０によって、オプティカルフロー検出手段２４０によって検出された第１のオプティカルフローから、オプティカルフロー推定手段２３０によって推定された第２のオプティカルフローを差し引く差分演算を行って、ステップＳ５０に進む。ステップＳ４０で行われる処理の詳細は後述する。
【００５３】
ステップＳ５０では、物体検出手段２６０によって、路面上にある物体を検出し、ステップＳ６０に進む。ステップＳ５０で行われる処理の詳細は後述する。
【００５４】
ステップＳ６０では、接触判定手段２７０によって、検出された物体が車両１０に接触する可能性があり、警報すべきか否かを判定する。ステップＳ６０で行われる処理の詳細は後述する。
【００５５】
ステップＳ７０では、接触判定手段２７０の判定結果に基づいて、警報出力を行うか否かを判定する。警報出力を行うときはステップＳ８０に進み、警報出力を行わないときはステップＳ９０に進む。なお、警報を出力すべき物体が複数個検出された場合には、ステップＳ７０の中で、最も近くにいる物体に対して警報する、最も速度が大きい物体に対して警報するなど、どのような警報を出力すべきかが併せて判定される。
【００５６】
ステップＳ８０では、警報出力手段４００から警報を出力して車両１０の運転者に注意を促す。その後、ステップＳ９０に進む。
【００５７】
ステップＳ９０では、周辺監視手段２００を動作させるメインスイッチ（図２には図示しない）が切断されたこと、または、車両１０のイグニッションスイッチが切断されたことを検出して、図４の処理の終了を判断する。終了判断がなされないときは、ステップＳ１０に戻って、同じ処理を繰り返す。
【００５８】
ステップＳ２０で行う処理の詳細を、図５を用いて説明する。図５の処理は、オプティカルフロー検出手段２４０によって行われる。
【００５９】
カメラ１００で時刻ｔに撮像した画像をＩｔ（ｘ，ｙ）とし、時刻ｔ＋Δｔに撮像した画像をＩｔ＋Δｔ（ｘ，ｙ）とする。
【００６０】
ステップＳ２０１では、画像Ｉｔ（ｘ，ｙ）の中から輝度勾配の大きな点を特徴点として検出する。具体的には、画像Ｉｔ（ｘ，ｙ）に対して、着目する画素の近傍に小領域を設定して、輝度勾配を表す量として、設定した小領域の内部におけるエッジ強度を求めるオペレータを作用させて、求めたエッジ強度が所定値よりも大きい画素を特徴点とする。このとき、併せて、同じ画素におけるエッジ方向も算出しておく。
【００６１】
ステップＳ２０２では、画像Ｉｔ（ｘ，ｙ）の中から検出した特徴点と同じ輝度勾配を有する画素（対応点）を、画像Ｉｔ＋Δｔ（ｘ，ｙ）の中から探索する。この処理は、画像Ｉｔ＋Δｔ（ｘ，ｙ）の中に、所定の大きさの探索範囲を設定して、設定した探索範囲の中で、画像Ｉｔ（ｘ，ｙ）の中から検出した特徴点と同じ輝度勾配（エッジ強度とエッジ方向）を有する画素を探索することによって行われる。
【００６２】
ステップＳ２０３では、エッジ強度の近似度とエッジ方向の近似度に、それぞれしきい値を設けて、エッジ強度の差異とエッジ方向の差異が、ともに、それぞれ設定されたしきい値以内であるときに、対応点が見つかったと判定して、ステップＳ２０４に進む。一方、対応点が探索されないときは、ステップＳ２０１に戻って、別の特徴点の検出を行う。
【００６３】
ステップＳ２０４では、画像Ｉｔ（ｘ，ｙ）の中から検出した特徴点を始点とし、画像Ｉｔ＋Δｔ（ｘ，ｙ）の中から見つけた対応点を終点とする第１のオプティカルフローを決定する。このようにして検出された第１のオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー検出手段２４０の中に記憶される。
【００６４】
なお、第１のオプティカルフローの検出方法は、上記したものに限定されるものではない。すなわち、オプティカルフローの検出方法は数多く提案されており、そのいずれの方法を用いて行ってもよい。
【００６５】
ステップＳ２０５では、画像Ｉｔ（ｘ，ｙ）の全ての画素に対して特徴点の検出処理を行ったか否かを判定する。全ての画素に対して処理を行ったときは、図５の処理を終了して、図２のメインルーチンに戻る。
【００６６】
一方、画像Ｉｔ（ｘ，ｙ）の全ての画素に対して特徴点の検出処理が終了していないときは、ステップＳ２０１に戻って、特徴点の検出を続行する。
【００６７】
次に、ステップＳ３０で行う処理を説明する前に、まず、図１０（ａ）、（ｂ）を用いて、第２のオプティカルフローの推定方法を説明する。カメラ１００は、路面１１０から高さｈの位置に設置されているとする。また、カメラ１００の焦点Ｏを原点として、カメラ１００の撮像面の水平軸に平行な座標軸Ｘと、カメラ１００の撮像面の垂直軸に平行な座標軸Ｙと、カメラ１００の光軸と一致するように設定した座標軸Ｚと、からなるＸＹＺ座標系を設定する。
【００６８】
説明を簡単にするため、カメラ１００の光軸は、路面１１０と平行であるとする。また、カメラ１００で撮像された点は、透視投影によって撮像面に投影されるものとする。
【００６９】
カメラ１００の焦点距離をｆとし、路面１１０上の点Ｒ１の座標を（Ｘ１，Ｙ１，Ｚ１）とし、点Ｒ１が撮像面上で点Ｑ１（ｘ１，ｙ１）に観測されたとする。さらに、カメラ１００の水平方向画素サイズをＣｘ、垂直方向画素サイズＣｙとすると、点Ｑ１の座標（ｘ１、ｙ１）は、（式１）で算出される。
【００７０】
ｘ１＝（ｆＸ１／Ｚ１）／Ｃｘ、ｙ１＝（ｆＹ１／Ｚ１）／Ｃｙ        （式１）
カメラ１００を搭載した車両１０が、速度ｖ（ｖｘ，ｖｙ，ｖｚ）でｔ秒間移動したとする。ここで、ｖｘは速度ｖのＸ軸方向成分、ｖｙは速度ｖのＹ軸方向成分、ｖｚは速度ｖのＺ軸方向成分である。
【００７１】
説明を簡単にするために、カメラ１００（車両１０）の移動方向は、光軸方向（Ｚ軸方向）であるとすると、ｖｘ、ｖｙ、ｖｚは、それぞれ（式２）で表される。
【００７２】
ｖｘ＝０、ｖｙ＝０、ｖｚ＝−ｖ                                      （式２）
図１０（ｂ）は、図１０（ａ）のｔ秒後の状態を示している。カメラ１００（車両１０）の移動によって、点Ｒ１（Ｘ１，Ｙ１，Ｚ１）が点Ｒ２（Ｘ２，Ｙ２，Ｚ２）に移動して、点Ｒ２が、撮像面上で点Ｑ２（ｘ２，ｙ２）の位置に撮像されたとする。このとき、点Ｑ２（ｘ２，ｙ２）は、（式１）と同様にして、（式３）で算出される。
【００７３】
ｘ２＝（ｆＸ２／Ｚ２）／Ｃｘ、ｙ２＝（ｆＹ２／Ｚ２）／Ｃｙ      （式３）
また、点Ｒ２の座標（Ｘ２，Ｙ２，Ｚ２）は、（式４）で算出される。
【００７４】
Ｘ２＝Ｘ１＋ｖｘｔ、Ｙ２＝Ｙ１＋ｖｙｔ、Ｚ２＝Ｚ１−ｖｚｔ        （式４）
（式４）に（式２）を適用すると、（式５）が得られる。
【００７５】
Ｘ２＝Ｘ１、Ｙ２＝Ｙ１、Ｚ２＝Ｚ１−ｖｔ                        （式５）
このとき、ｔ秒後に撮像面上に生じると推定される第２のオプティカルフロー（Δｘ，Δｙ）は、（式１）、（式３）、（式５）を用いて、（式６）、（式７）で算出される。
Δｘ＝ｘ２−ｘ１＝ｆＸ１ｖｔ／｛Ｚ１（Ｚ１−ｖｔ）Ｃｘ｝              （式６）
Δｙ＝ｙ２−ｙ１＝ｆＹ１ｖｔ／｛Ｚ１（Ｚ１−ｖｔ）Ｃｙ｝              （式７）
第２のオプティカルフローを推定するためには、（式６）、（式７）において、Ｘ１、Ｙ１、Ｚ１の値を特定する必要がある。すなわち、第２のオプティカルフローが生じる面（仮想面）を仮想的に設定する必要がある。上記した説明は、仮想面を路面１１０に設定した場合についてのものである。
【００７６】
ここで、第２のオプティカルフローの始点（ｘ１，ｙ１）を定めて、車両の挙動から速度ベクトルｖ（ｖｘ，ｖｙ，ｖｚ）を特定すれば、予め測定してあるカメラ１００のパラメータであるｆ、Ｃｘ、Ｃｙを用いて、（式６）、（式７）によって第２のオプティカルフローの終点（ｘ２，ｙ２）の座標が得られ、これによって、第２のオプティカルフローが推定される。
【００７７】
なお、上記した説明は、カメラ１００の光軸が路面１１０と平行に設置された場合についてのものである。実際は、車両１０の近傍まで監視するために、カメラ１００の光軸はやや下向きに設置されるため、（式６）や（式７）の中には、カメラ１００の光軸の方向を示す値や、カメラ１００の路面からの高さｈの値も加味される。
【００７８】
次に、ステップＳ３０で行う処理の詳細を、図６を用いて説明する。図６の処理は、オプティカルフロー推定手段２３０によって行われる。
【００７９】
ステップＳ３０１では、まず、仮想面設定手段２２０によって、第２のオプティカルフローを推定する仮想面を設定する。本実施例１では、図１１（ｂ）に示すように、路面１１０から第１の距離ｄだけ上方（カメラ１００に近い側）に、路面１１０と平行な仮想面Ａ１（第１の仮想面）を設定する。
【００８０】
仮想面は、このように路面１１０と平行な１つの面Ａ１のみを設定すればよいが、仮想面Ａ１のみでは、カメラ１００の撮像視野の全体を仮想面で覆うことができない。これは、一般に、路面と平行な面が撮像される領域は、カメラ１００で撮像した画像の消失点Ｖよりも下部の領域のみだからである。
【００８１】
したがって、仮想面Ａ１を設定した後で、画像の中の消失点Ｖよりも上部の領域については、以後説明する処理を行わないように、マスクをかければよい。
【００８２】
また、仮想面Ａ１の他に、車両１０から第２の距離ｋだけ後方の位置に、路面１１０から立ち上がる仮想面Ｖ１（第２の仮想面）を、併せて設定してもよい。
【００８３】
図１１（ｂ）は、この仮想面Ｖ１を、路面１１０から垂直に立ち上がり、カメラ１００の光軸を含み路面１１０から垂直に立ち上がる平面と直交する面として設定した例である。この仮想面Ｖ１の高さは、少なくともカメラ１００の撮像視野の最上部を超えるものとする。以降、この仮想面Ａ１と仮想面Ｖ１とを設定した場合について説明する。
【００８４】
ここで、第１の距離ｄと、第２の距離ｋと、には、後述するように、予め実験等によって決定した値が用いられる。
【００８５】
ステップＳ３０１では、このように設定した仮想面Ａ１と仮想面Ｖ１とに向かって、カメラ１００の焦点Ｏから複数の半直線を延ばして、この半直線が、仮想面Ａ１、もしくは仮想面Ｖ１と最初に交差する点で構成される面を、新たに第１の仮想面として設定して、ステップＳ３０２に進む。
【００８６】
ステップＳ３０２では、車輪速センサ３００から得られる車両１０の左右輪の車輪速を、それぞれ所定の時間間隔で測定して、時刻ｔから時刻ｔ＋Δｔの間の車輪速に基づいて、Δｔ秒間の車両１０の挙動（移動距離、移動方向）を算出し、ステップＳ３０３に進む。
【００８７】
ステップＳ３０３では、オプティカルフロー検出手段２４０に記憶されている第１のオプティカルフローの検出結果を参照して、第１のオプティカルフローの始点の座標を探す。第１のオプティカルフローの始点が見つかったら、ステップＳ３０４に進み、第１のオプティカルフローの始点が見つからないときは、ステップＳ３０３に戻って、第１のオプティカルフローの始点を探す処理を続行する。
【００８８】
ステップＳ３０４では、オプティカルフロー推定手段２３０によって、第１のオプティカルフローの始点の位置において、ステップＳ３０１で設定した仮想面Ａ１、または仮想面Ｖ１の上に生じると考えられる第２のオプティカルフローを推定する。この第２のオプティカルフローの推定は、前記した方法によって行われる。なお、このように第１のオプティカルフローが検出された点でのみ、第２のオプティカルフローを推定することによって、第２のオプティカルフローを推定する点を減らすことができ、これによって、処理の効率を向上させることができる。
【００８９】
このようにして推定された第２のオプティカルフローの始点の位置座標と終点の位置座標とは、オプティカルフロー推定手段２３０の中に記憶されて、ステップＳ３０５に進む。
【００９０】
ステップＳ３０５では、画像Ｉｔ（ｘ，ｙ）と画像Ｉｔ＋Δｔ（ｘ，ｙ）から検出された、全ての第１のオプティカルフローの始点の位置における第２のオプティカルフローの推定を完了したか否かを判定する。全ての第１のオプティカルフローに対して処理を行ったときは、図６の処理を終了して、図２のメインルーチンに戻る。
【００９１】
一方、画像Ｉｔ（ｘ，ｙ）と画像Ｉｔ＋Δｔ（ｘ，ｙ）から検出された全ての第１のオプティカルフローに対して、第２のオプティカルフローの推定が終了していないときは、ステップＳ３０３に戻って、処理を続行する。
【００９２】
ここで、ステップＳ３０１で設定する仮想面Ａ１（第１の仮想面）の位置を特定する第１の距離ｄの値について説明する。
【００９３】
路面１１０上の模様やテクスチャを始点として検出された第１のオプティカルフローから、路面１１０に生じると推定した第２のオプティカルフローを差し引くと、原理的には差分フローは０になるはずである。しかし、カメラ１００を車両１０に設置したときに、カメラ１００の路面からの高さｈやカメラ１００の光軸の方向に誤差が生じると、差分フローが残ってしまう場合がある。
【００９４】
そこで、本実施例１では、設定する第１の仮想面の位置がカメラ１００に近いほど、同じ車両の挙動に対して、より長い第２のオプティカルフローが推定されることを利用して、路面１１０から第１の距離ｄだけ上方に、路面１１０と平行な仮想面Ａ１を設定し、この仮想面Ａ１上で第２のオプティカルフローの推定を行う。
【００９５】
これによって、仮想面Ａ１においては、車両１０の実際の挙動から推定されるよりも長い第２のオプティカルフローが推定されるため、後述する、第１のオプティカルフローから第２のオプティカルフローを差し引く差分演算を行ったときに、第１のオプティカルフローを確実に除去（キャンセル）し、ノイズをカットすることができる。
【００９６】
なお、第１の距離ｄの値は、検出する物体の高さに応じて設定するのが望ましい。すなわち、高さが低い物体を検出するときは第１の距離ｄをより小さい値に設定し、高さが高い物体を検出するときは第１の距離ｄをより大きい値に設定するのが望ましい。具体的な第１の距離ｄの値は、予め実験等を行って決定し、その値が採用される。
【００９７】
次に、仮想面Ｖ１の設定位置を特定する第２の距離ｋの値について説明する。
【００９８】
仮想面Ｖ１は、接触判定手段２７０が車両１０と物体とが接触する可能性があると判定する範囲の中で、車両１０から最遠点の路面１１０上の位置から立ち上がるように設定するのが望ましい。
【００９９】
これによって、仮想面Ｖ１よりも遠方にある点では、第２のオプティカルフローが実際よりも長く推定されるため、後述する、第１のオプティカルフローから第２のオプティカルフローを差し引く差分演算を行ったときに、第１のオプティカルフローを確実に除去（キャンセル）することができる。
【０１００】
なお、仮想面Ｖ１を設定するために必要な第２の距離ｋの値は、上記した観点から、予め実験等によって決定した値が用いられる。
【０１０１】
次に、ステップＳ４０で行う処理の詳細を、図７を用いて説明する。図７の処理は、オプティカルフロー差分演算手段２５０によって行われる。
【０１０２】
まずステップＳ４０１では、オプティカルフロー検出手段２４０の中に記憶された第１のオプティカルフローの始点の座標（ｘ１，ｙ１）を探す。第１のオプティカルフローの始点の座標（ｘ１，ｙ１）が見つかったらステップＳ４０２に進み、見つからないときは、ステップＳ４０１に戻って、探索を続行する。
【０１０３】
ステップＳ４０２では、オプティカルフロー差分演算手段２５０において、見つかった第１のオプティカルフローの始点の座標と等しい始点の座標を有する第２のオプティカルフローの終点の座標（ｘ２，ｙ２）を、オプティカルフロー推定手段２３０の中に記憶されたオプティカルフローの推定結果の中から探索し、第１のオプティカルフローの長さから第２のオプティカルフローの長さを差し引く処理を行う。
【０１０４】
第１のオプティカルフローの長さは、第１のオプティカルフローの始点、および終点の座標から算出され、第２のオプティカルフローの長さは、第２のオプティカルフローの始点、および終点の座標から算出される。
【０１０５】
算出された差分フローの長さは、差分フローの始点の座標、終点の座標とともに、オプティカルフロー差分演算手段２５０の中に記憶される。なお、このとき、第２のオプティカルフローの長さが、第１のオプティカルフローの長さ以上であるときには、それを表す識別子を、一緒に記憶しておく。
【０１０６】
次にステップＳ４０３では、オプティカルフロー差分演算手段２５０において、第１のオプティカルフローの方向から第２のオプティカルフローの方向を差し引く処理を行う。第１のオプティカルフローの方向は、第１のオプティカルフローの始点、および終点の座標から算出され、第２のオプティカルフローの方向は、第２のオプティカルフローの始点、および終点の座標から算出される。算出された差分フローの方向は、オプティカルフロー差分演算手段２５０の中に記憶されて、ステップＳ４０４に進む。
【０１０７】
ステップＳ４０４では、第１のオプティカルフローから第２のオプティカルフローを差し引いた結果、差分フローの長さが０または負であるか否かを判定する。
【０１０８】
差分フローの長さが０または負であることは、ステップＳ４０２で記憶した、第２のオプティカルフローの長さが、第１のオプティカルフローの長さ以上であることを表す識別子を参照することによって行えばよい。
【０１０９】
もし、差分フローの長さが０または負であったときはステップＳ４０５に進み、差分フローの長さが正であったときは、ステップＳ４０１に戻って、次の第１のオプティカルフローについて処理を行う。
【０１１０】
ステップＳ４０５では、オプティカルフロー差分演算手段２５０に記憶された、差分フローの始点の座標、終点の座標、差分フローの長さ、および差分フローの方向を削除して、ステップＳ４０６に進む。
【０１１１】
ステップＳ４０６では、全ての第１のオプティカルフローについて処理を行ったことを確認して、図２のメインルーチンに戻る。
【０１１２】
全ての第１のオプティカルフローに対する処理が完了していないときは、ステップＳ４０１に戻り、残りの第１のオプティカルフローについて処理を行う。
【０１１３】
次に、ステップＳ５０で行う処理の詳細を、図８を用いて説明する。図８の処理は、物体検出手段２６０によって行われる。
【０１１４】
ステップＳ５０１では、オプティカルフロー差分演算手段２５０の中に記憶された差分フローの始点の座標、終点の座標、差分フローの長さ、および差分フローの方向を読み出して、差分フローのグルーピングを行う。この処理は、近接した位置で検出された、差分フローを統合するものである。具体的には、予め設定したサイズの領域の中にある差分フロー同士を比較して、長さがともに所定値以上で、なおかつ、方向の差が所定値以下であるとき、差分フロー同士をグルーピングする。グルーピングした結果は、物体検出手段２６０の中に記憶される。
【０１１５】
ステップＳ５０２では、画像Ｉｔ（ｘ，ｙ）全体を処理したか否かを判定し、全画面の処理が終了したときはステップＳ５０３に進む。
【０１１６】
一方、全画面の処理が終了していないときは、ステップＳ５０１に戻って、ステップＳ５０１の処理を継続する。
【０１１７】
ステップＳ５０３では、差分フローをグルーピングした結果に基づいて、物体が存在すると考えられる領域を特定して、その領域を代表する座標値と、物体があると考えられる領域のサイズと、差分フローが向いている方向と、を接触判定手段２７０に送って、メインルーチンに戻る。
【０１１８】
次に、ステップＳ６０で行う処理の詳細を、図９を用いて説明する。図９の処理は、接触判定手段２７０によって行われる。
【０１１９】
ステップＳ６０１では、接触判定手段２７０に送られた、差分フローをグルーピングした結果を参照して、差分フローの方向が、画像Ｉｔ（ｘ，ｙ）を左右に２等分する中心線Ｃに向かう方向に向いているか否かを判定する。差分フローの方向が、画像Ｉｔ（ｘ，ｙ）を左右に２等分する中心線Ｃに向かう方向を向いていると判定されると、ステップＳ６０２に進み、中心線Ｃに向かう方向を向いていないと判定されると、ステップＳ６０３に進む。
【０１２０】
ステップＳ６０２では、差分フローの方向が、車両１０の方向に向かっていると判定して、物体の位置座標を、接触判定手段２７０の中に記憶する。その後、ステップＳ６０３に進む。
【０１２１】
ステップＳ６０３では、グルーピングされた全ての物体の差分フローの方向がチェックされたことを確認し、全ての物体がチェックされたときは、ステップＳ６０４に進む。チェックされていない物体が残っているときは、ステップＳ６０１に戻って、チェックを続行する。
【０１２２】
ステップＳ６０４では、差分フローの方向が、車両１０の方向に向かっていると判定された物体について、差分フローの長さに基づいて、車両１０に対する接触の危険性を判定し、警報を出力すべきか否かを判定してメインルーチンに戻る。その後、前記した、図４のステップＳ７０以降の処理が行われる。
【０１２３】
なお、ステップＳ６０４では、差分フローの長さが、予め決めておいたしきい値Ｔｈと比較されて、差分フローの長さがしきい値Ｔｈよりも長いときには、警報を出力すると判定する。
【０１２４】
このとき、例えば図１５の車両進行方向Ｄが示すように、車両１０が右旋回していたときには、画像の中心線Ｃに対して右側の領域と、画像の中心線Ｃに対して左側の領域と、で差分フローの長さが異なる。そのため、車輪速センサ３００によって、旋回が発生したと判定されたときには、差分フローの長さに対して、警報を出力すべきと判定するしきい値Ｔｈの値を変更する。
【０１２５】
具体的には、ステップＳ３０２で算出した車両１０の挙動（移動距離、移動方向）に基づいて、車両１０が右旋回していると判定されたときには、画像の右領域Ｒの方が左領域Ｌに対して、車両に接近する物体の差分フローが短くなる。しかし、車両１０は右領域Ｒに向かって進行しているため、差分フローが短くても、これを確実に検出して警報を出力する必要がある。そこで、画像の左領域Ｌよりも右領域Ｒで、差分フローの長さのしきい値Ｔｈを小さく設定する。
【０１２６】
一方、車両１０が左旋回していると判定されたときには、画像の左領域Ｌの方が右領域Ｒに対して、車両に接近する物体の差分フローが短くなる。しかし、車両１０は左領域Ｌに向かって進行しているため、差分フローが短くても、これを確実に検出して警報を出力する必要がある。そこで、画像の右領域Ｒよりも左領域Ｌで、差分フローの長さのしきい値Ｔｈを小さく設定する。
【０１２７】
なお、左領域Ｌの位置と大きさと、右領域Ｒの位置と大きさと、は予め実験等によって決定した値が用いられる。
【０１２８】
次に、本実施例１における物体の検出例を、図１２を用いて具体的に説明する。図１２（ａ）は、仮想面として、路面１１０（仮想面Ａ０）と仮想面Ｖ１を設定したとき（図１１（ａ））の第２のオプティカルフローを示し、図１２（ｂ）は、そのときの物体Ｐの検出結果を示す。
【０１２９】
図１２（ｃ）は、仮想面として、路面１１０から第１の距離ｄだけ上方の仮想面Ａ１と仮想面Ｖ１を設定したとき（図１１（ｂ））の第２のオプティカルフローを示し、図１２（ｄ）は、そのときの物体Ｐの検出結果を示す。
【０１３０】
図１２（ｃ）では、路面１１０に対応する領域において、図１２（ａ）よりも、長い第２のオプティカルフローが推定される。
【０１３１】
そして、物体Ｐの検出結果を図１２（ｂ）と図１２（ｄ）とで比較すると、図１２（ｂ）では、路面１１０において差分フローが誤検出されているのに対し、図１２（ｄ）では、路面１１０における差分フローの誤検出はなく、物体Ｐのみが確実に検出されている。
【０１３２】
なお、仮想面Ａ１は、実施例１で説明したように、路面１１０に平行に設定する以外に、図１１（ｃ）に示すように、路面１１０からの第１の距離ｄが、カメラ１００から遠いほど小さくなるような仮想面Ａ２として設定してもよい。
【０１３３】
このような仮想面Ａ２を設定すると、仮想面Ａ２上で推定した第２のオプティカルフローが、カメラ１００に近い位置ほど、第１のオプティカルフローよりも長く推定され、カメラ１００から遠い位置ほど、第１のオプティカルフローと同じサイズで推定される。
【０１３４】
したがって、図１２（ｅ）に示すように、仮想面Ａ２上で推定した第２のオプティカルフローは、画像の上部に行くほど短く推定される。
【０１３５】
これによって、カメラ１００に近い位置では、不要な（ノイズとなる）第１のオプティカルフローを確実に除去することができ、なおかつ、カメラ１００から遠い位置においては、短い第１のオプティカルフローも確実に検出できるようになる。すなわち、キャンセルされる差分フローが少なくなることによって、図１２（ｆ）に示すように、物体を構成するオプティカルフローを、図１２（ｄ）に比べて多く検出することができるようになって、これによって、カメラ１００からの距離に応じて、物体の検出感度を調整することができるため、物体の検出性能をより一層向上させることができる。
【０１３６】
さらに、図１１（ｃ）では、仮想面Ａ２を、路面１１０からの第１の距離ｄが、カメラ１００からの距離に応じて線形に減少するように設定したが、第１の距離ｄの設定パターンは、カメラ１００からの距離に応じて単調に減少するものであれば、この限りではない。
【０１３７】
すなわち、図１３に示すように、カメラ１００からの距離に応じて、第１の距離ｄが階段状に小さくなるように設定（図１３の仮想面Ａ３）してもよいし、第１の距離ｄが非線形に変化するように設定（図１３の仮想面Ａ４やＡ５）してもよい。    
【０１３８】
この第１の距離ｄの設定パターンは、設定する物体の検出感度に応じて決められ、予め実験等によって決定した設定パターンが用いられる。
【０１３９】
また、図１４に示すように、第１の距離ｄが互いに異なる複数の位置に、複数の仮想面（仮想面Ａ６、仮想面Ａ７、仮想面Ａ８）を設定して、車両１０の運転者が、使用する第１の距離ｄの設定パターンを選択するようにしてもよい。
【０１４０】
このとき、仮想面設定手段２２０の中に、運転者の操作によって第１の距離ｄの設定パターンを変更できる機能を備えておくことによって、運転者は、安全な状態で、第１の距離ｄの設定パターンを変更しながら、物体の検出結果を、車両１０内に設置したモニタのような表示手段（図２には図示せず）によって目視確認して、所望の第１の距離ｄの設定パターンを選択することができる。そして、前記したように、第１の距離ｄの設定パターンに応じて、物体の検出感度を調整することができるため、これによって、運転者の感覚にあった物体検出を行うことができる。
【０１４１】
なお、この第１の距離ｄの設定パターンは、車両１０の車速に応じて、変化させるようにしてもよい。
【０１４２】
すなわち、車両１０の車速が低いときには、第１の距離ｄを０（路面）または小さく設定しておき、車両１０の車速が高くなるにつれて、第１の距離ｄの値を徐々に大きな値に変更することによって、車両１０の走行状態に応じた感度で、物体をより一層、確実に検出することができる。
【０１４３】
さらに、第１の距離ｄの設定パターンが異なる第１の仮想面を複数面設定して、設定した全ての第１の仮想面における第２のオプティカルフローを推定し、各々の第１の仮想面で推定された第２のオプティカルフローを、第１のオプティカルフローと比較して物体検出を行い、異なる複数の第１の仮想面に対する物体の検出結果を、それぞれ異なる描画形態（色、線の太さ、線の形態等）で車両１０に設置したモニタのような表示手段（図２には図示せず）に表示してもよい。これによって、運転者は、異なる検出感度で検出された複数の検出結果を一望することができるため、接触の危険度合を瞬時に把握することができる。
【０１４４】
また、車両の後方に設定する仮想面Ｖ１は、接触判定手段２７０が車両１０と物体とが接触する可能性があると判定する範囲の中で、車両１０から最遠点の位置に、路面１１０に垂直に設定したが、これは、図１６に示すように、仮想面Ｖ１から、第３の距離ｓだけ近い位置に、路面１１０から高い地点ほど、第３の距離ｓが小さくなるような仮想面Ｖ２を設定して、仮想面Ｖ２を新たに仮想面Ｖ１として、上記した処理を行うようにしてもよい。
【０１４５】
このような形態の仮想面Ｖ２を設定することによって、路面に近い位置ほど、仮想面Ｖ２と車両１０との距離が小さくなるため、車両１０に近いほど、高さの低い物体の検出感度を上げることができる。したがって、接触可能性を警報する上で好ましい検出特性を得ることができる。なお、第３の距離ｓの値には、予め実験等によって決定した値が用いられる。また、仮想面Ｖ２は、カメラ１００の撮像視野の最上部において、仮想面Ｖ２が仮想面Ｖ１よりも遠方にならないレイアウトに設定されるのが望ましい。
【０１４６】
以上説明したように、このように構成された実施例１に係る車両周辺監視装置によれば、カメラ（撮像手段）１００で撮像された車両１０周辺の画像から、オプティカルフロー検出手段２４０で第１のオプティカルフローを検出するとともに、オプティカルフロー推定手段２３０が、車両１０の挙動に基づいて、仮想面設定手段２２０によって、路面から第１の距離ｄだけ高い位置に設定された仮想面Ａ１の上に生じる、第１のオプティカルフローと始点を共にする第２のオプティカルフローを推定して、オプティカルフロー差分演算手段２５０が、オプティカルフロー検出手段２４０で検出された第１のオプティカルフローからオプティカルフロー推定手段２３０で推定された第２のオプティカルフローを差し引く差分演算を行って差分フローを算出し、物体検出手段２６０が、差分フローに基づいて車両１０の周辺に存在する物体を検出し、接触判定手段２７０によって、物体が車両１０に接触する可能性があると判定されたときに、警報出力手段４００が警報を出力する構成としたため、路面１１０の模様やテクスチャによって生じた第１のオプティカルフローを確実に除去することができる。
【０１４７】
そして、これによって、物体が存在しない場所では誤検出がなく、物体が存在する場所では、確実にその物体を検出することができる。
【０１４８】
なお、本実施例１において、カメラ１００は車両１０の後方を撮像するレイアウトで設置したが、カメラ１００の観測範囲は、車両１０の後方に限定されるものではない。すなわち、車両１０の前方や車両１０の側方を観測するレイアウトであっても、上記した実施例１と同様の車両周辺監視装置を実現することができる。
【実施例２】
【０１４９】
本実施例２は、車載されたカメラで車両周辺を監視して、車両に接触する可能性のある物体が検出されたときに警報を出力する車両周辺監視装置に関するものである。
【０１５０】
図１７は、本発明の実施例２に係る車両周辺監視装置の概略構成を示すブロック図を表す。
【０１５１】
図１８は、図１７の周辺監視手段２０２の内部構成を示すブロック図である。
【０１５２】
本実施例２に係る車両周辺監視装置は、車両１０に設置され、カメラ１００（撮像手段）と、周辺監視手段２０２と、車輪速センサ３００と、警報出力手段４００と、を備えている。
【０１５３】
カメラ１００は、車両後方の路面を含む領域を撮像する。
【０１５４】
周辺監視手段２０２は、カメラ１００で撮像された画像の中から、車両１０に接触する可能性のある物体を検出する。
【０１５５】
車輪速センサ３００は、車両の左右両輪の車輪速を計測する。
【０１５６】
警報出力手段４００は、スピーカのような音声出力手段やモニタのような映像出力手段を備え、車両が移動物体に接触する可能性があるときに、音や音声や映像によって警報を出力する。
【０１５７】
周辺監視手段２０２は、さらに、仮想面設定手段２８０と、オプティカルフロー推定手段２３０と、オプティカルフロー検出手段２４０と、オプティカルフロー差分演算手段２５０と、物体検出手段２６０と、接触判定手段２７０と、を備えている。
【０１５８】
仮想面設定手段２８０は、車両１０の後方の予め決められた路面上の位置から立ち上がる第２の仮想面を設定して、路面と、この第２の仮想面と、で構成される仮想面を、第１の仮想面として設定する。
【０１５９】
周辺監視手段２０２のその他の構成要素とその機能は、実施例１で説明した周辺監視手段２００と同じであるため、説明は省略する。
【０１６０】
本実施例２の処理の流れの概要は、実施例１で説明した図４と同様であるため、本実施例２の作用について、実施例１の作用と異なる点について説明する。
【０１６１】
図４のステップＳ３０では、オプティカルフロー推定手段２３０によって、第２のオプティカルフローを推定する。この第２のオプティカルフローの推定は、図６のフローチャートによって行われる。
【０１６２】
図６のステップＳ３０１では、まず、仮想面設定手段２２０によって、第２のオプティカルフローを推定する仮想面の設定を行う。このとき、本実施例２では、図１１（ａ）に示すように、路面１１０を仮想面Ａ０に設定する。
【０１６３】
そして、仮想面Ａ０のみでは、カメラ１００の撮像視野全体を仮想面で覆うことができないため、車両１０から第２の距離ｋだけ後方の位置に、路面１１０から立ち上がる仮想面Ｖ１（第２の仮想面）を設定する。
【０１６４】
図１１（ａ）は、この仮想面Ｖ１を、路面１１０から垂直に立ち上がり、カメラ１００の光軸を含み路面１１０から垂直に立ち上がる平面と直交する面として設定した例である。この仮想面Ｖ１の高さは、少なくともカメラ１００の撮像視野の最上部を超えるものとする。
【０１６５】
また、車両１０から仮想面Ｖ１が路面１１０から立ち上がる位置は、接触判定手段２７０が車両１０と物体とが接触する可能性があると判定する範囲の中で、車両１０から最遠点の路面１１０上の位置に設定されて、車両１０から仮想面Ｖ１が路面１１０から立ち上がる位置までの距離は、第２の距離ｋに設定される。
【０１６６】
これは、仮想面Ｖ１よりも遠方にある点では、第２のオプティカルフローが実際よりも長く推定されるため、第１のオプティカルフローから第２のオプティカルフローを差し引く差分演算を行ったときに、第１のオプティカルフローを確実に除去（キャンセル）するためである。
【０１６７】
そして、図６のステップＳ３０１では、路面と第２の仮想面である仮想面Ｖ１とに向かって、カメラ１００の焦点Ｏから複数の半直線を延ばして、この半直線が、路面、もしくは仮想面Ｖ１と最初に交差する点で構成される面を、新たに第１の仮想面として設定する。
【０１６８】
ステップＳ３０４では、このようにして設定された第１の仮想面の上で、オプティカルフロー推定手段２３０によって、第２のオプティカルフローの推定を行う。第２のオプティカルフローの推定方法は、実施例１で説明した通りである。
【０１６９】
その後の処理は、実施例１と同様に、図４のフローチャートに沿って行われて、車両１０に接触する可能性のある物体が検出されたときに、警報出力手段４００から警報が出力される。
【０１７０】
なお、仮想面Ｖ１は、接触判定手段２７０が車両１０と物体とが接触する可能性があると判定する範囲の中で、車両１０から最遠点の路面１１０上の位置に、路面１１０に垂直に設定したが、これは、図１９に示すように、仮想面Ｖ１から、第３の距離ｓだけ近い位置に、路面１１０から高い地点ほど、第３の距離ｓが小さくなるような仮想面Ｖ２を設定して、仮想面Ｖ２を新たに仮想面Ｖ１として、上記した処理を行うようにしてもよい。
【０１７１】
このような形態の仮想面Ｖ２を設定することによって、路面に近い位置ほど、仮想面Ｖ２と車両１０との距離が小さくなるため、車両１０に近いほど、高さの低い物体の検出感度を上げることができる。したがって、接触可能性を警報する上で好ましい検出特性を得ることができる。なお、第３の距離ｓの値には、予め実験等によって決定した値が用いられる。また、仮想面Ｖ２は、カメラ１００の撮像視野の最上部において、仮想面Ｖ２が仮想面Ｖ１よりも遠方にならないようなレイアウトに設定されるのが望ましい。
【０１７２】
以上説明したように、このように構成された実施例２に係る車両周辺監視装置によれば、カメラ（撮像手段）１００で撮像された車両１０周辺の画像から、オプティカルフロー検出手段２４０で第１のオプティカルフローが検出されるとともに、仮想面設定手段２８０によって、接触判定手段２７０が車両１０と物体とが接触する可能性があると判定する範囲の中で、車両１０から最遠点の路面１１０上の位置から立ち上がった第２の仮想面Ｖ１に、カメラ１００から路面１１０と第２の仮想面Ｖ１に向かって延びる複数の半直線が、路面１１０、もしくは第２の仮想面Ｖ１と最初に交差する点で構成される面が、第１の仮想面として設定され、車両１０の挙動に基づいて、第１の仮想面の上に発生する第２のオプティカルフローが推定されて、オプティカルフロー差分演算手段２５０が、オプティカルフロー検出手段２４０で検出された第１のオプティカルフローからオプティカルフロー推定手段で推定された、第１のオプティカルフローと始点を共にする第２のオプティカルフローを差し引く差分演算を行って、物体検出手段２６０が、差分演算の結果に基づいて車両１０の周辺に存在する物体を検出して、接触判定手段２７０によって、物体が車両１０に接触する可能性があると判定されたときに、警報出力手段４００が警報を出力することができる。
【０１７３】
そして、これによって、物体の検出範囲を警報範囲内に限定して、より実用的な車両周辺監視装置を提供することができる。
【０１７４】
なお、本実施例２において、カメラ１００は車両１０の後方を撮像するレイアウトで設置したが、カメラ１００の観測範囲は、車両１０の後方に限定されるものではない。すなわち、車両１０の前方や車両１０の側方を観測するレイアウトであっても、上記した実施例１と同様の車両周辺監視装置を実現することができる。
【０１７５】
以上、本発明の実施例１、実施例２を図面により詳述したが、実施例は本発明の例示にしか過ぎないものであるため、本発明は実施例の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。
【符号の説明】
【０１７６】
１００  カメラ（撮像手段）
２００  周辺監視手段
２２０  仮想面設定手段
２３０  オプティカルフロー推定手段
２４０  オプティカルフロー検出手段
２５０  オプティカルフロー差分演算手段
２６０  物体検出手段
２７０  接触判定手段
３００  車輪速センサ
４００  警報出力手段
【図１】
0005848948.tif 000002
【図２】
0005848948.tif 000003
【図３】
0005848948.tif 000004
【図４】
0005848948.tif 000005
【図５】
0005848948.tif 000006
【図６】
0005848948.tif 000007
【図７】
0005848948.tif 000008
【図８】
0005848948.tif 000009
【図９】
0005848948.tif 000010
【図１０】
0005848948.tif 000011
【図１１】
0005848948.tif 000012
【図１２】
0005848948.tif 000013
【図１３】
0005848948.tif 000014
【図１４】
0005848948.tif 000015
【図１５】
0005848948.tif 000016
【図１６】
0005848948.tif 000017
【図１７】
0005848948.tif 000018
【図１８】
0005848948.tif 000019
【図１９】
0005848948.tif 000020