(57)【要約】【課題】動きベクトルのみに基づいて物体領域を検出する場合と比べて、正確に物体領域を検出する。【解決手段】物体検出装置２０は、カメラ１０により順次撮影された複数の画像を取得する画像取得部２１と、画像取得部２１により取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、対象画像の各部分の動きベクトルを検出する動きベクトル検出部２２と、画像取得部２１により取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出部２３と、動きベクトル検出部２２により検出された動きベクトルと、差分算出部２３により算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出部２４とを備える。【選択図】図１
2015138319.tif 000002
【特許請求の範囲】
【請求項１】
カメラにより順次撮影された複数の画像を取得する画像取得部と、
前記画像取得部により取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、前記対象画像の各部分の動きベクトルを検出する動きベクトル検出部と、
前記画像取得部により取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出部と、
前記動きベクトル検出部により検出された動きベクトルと、前記差分算出部により算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出部と
を備えることを特徴とする物体検出装置。
【請求項２】
前記物体検出部は、前記対象画像中の同じ動きベクトルを有する複数の部分で構成される領域に対応する、前記差分画像中の輪郭で囲まれた領域を、前記物体領域として検出することを特徴とする請求項１に記載の物体検出装置。
【請求項３】
前記物体検出部は、
前記動きベクトルに基づいて前記対象画像から物体の領域を検出する領域検出部と、
前記差分画像から物体の輪郭を抽出する輪郭抽出部と、
前記領域検出部により検出された領域に対応する、前記輪郭抽出部により抽出された輪郭で囲まれた領域を、前記物体領域として検出する物体領域検出部と
を有することを特徴とする請求項１または２に記載の物体検出装置。
【請求項４】
前記カメラは移動体に設けられ、
前記物体検出部は、前記物体領域が検出された場合に、当該物体領域の位置と当該物体領域内の前記動きベクトルとに基づき、当該物体領域に存在する物体が前記移動体に対する障害物であるか否かを判定する障害物判定部を有することを特徴とする請求項１から３のいずれか１項に記載の物体検出装置。
【請求項５】
前記カメラは移動体に設けられ、
前記物体検出部は、
前記動きベクトルに基づいて前記対象画像から物体の領域を検出する領域検出部と、
前記差分画像から物体の輪郭を抽出する輪郭抽出部と、
前記領域検出部により領域が検出された場合に、前記検出された領域の位置と前記検出された領域内の前記動きベクトルとに基づき、前記検出された領域に存在する物体が前記移動体に対する障害物であるか否かを判定する障害物判定部と、
前記障害物判定部により前記検出された領域に存在する物体が障害物であると判定された場合に、前記検出された領域に対応する、前記輪郭抽出部により抽出された輪郭で囲まれた領域を、前記物体領域として検出する物体領域検出部と
を有することを特徴とする請求項１に記載の物体検出装置。
【請求項６】
前記動きベクトル検出部は、前記対象画像の画素単位で前記動きベクトルを検出することを特徴とする請求項１から５のいずれか１項に記載の物体検出装置。
【請求項７】
前記動きベクトル検出部は、前記対象画像の複数の画素で構成されるブロック単位で前記動きベクトルを検出することを特徴とする請求項１から５のいずれか１項に記載の物体検出装置。
【請求項８】
前記差分算出部は、前記２つの画像間の各画素の画素値の差分を算出し、算出された各画素の差分を画素値として有する画像を前記差分画像として生成し、
前記動きベクトル検出部は、前記対象画像のうち、前記差分画像中の画素値の絶対値が閾値以下である部分に対応する部分を除いて、前記動きベクトルの検出を行うことを特徴とする請求項１から７のいずれか１項に記載の物体検出装置。
【請求項９】
カメラにより順次撮影された複数の画像を取得する画像取得ステップと、
前記画像取得ステップで取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、前記対象画像の各部分の動きベクトルを検出する動きベクトル検出ステップと、
前記画像取得ステップで取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出ステップと、
前記動きベクトル検出ステップで検出された動きベクトルと、前記差分算出ステップで算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出ステップと
を含むことを特徴とする物体検出方法。
【請求項１０】
前記物体検出ステップは、前記対象画像中の同じ動きベクトルを有する複数の部分で構成される領域に対応する、前記差分画像中の輪郭で囲まれた領域を、前記物体領域として検出することを特徴とする請求項９に記載の物体検出方法。
【請求項１１】
前記物体検出ステップは、
前記動きベクトルに基づいて前記対象画像から物体の領域を検出する領域検出ステップと、
前記差分画像から物体の輪郭を抽出する輪郭抽出ステップと、
前記領域検出ステップで検出された領域に対応する、前記輪郭抽出ステップで抽出された輪郭で囲まれた領域を、前記物体領域として検出する物体領域検出ステップと
を有することを特徴とする請求項９または１０に記載の物体検出方法。
【請求項１２】
前記カメラは移動体に設けられ、
前記物体検出ステップは、前記物体領域が検出された場合に、当該物体領域の位置と当該物体領域内の前記動きベクトルとに基づき、当該物体領域に存在する物体が前記移動体に対する障害物であるか否かを判定する障害物判定ステップを有することを特徴とする請求項９から１１のいずれか１項に記載の物体検出方法。
【請求項１３】
前記カメラは移動体に設けられ、
前記物体検出ステップは、
前記動きベクトルに基づいて前記対象画像から物体の領域を検出する領域検出ステップと、
前記差分画像から物体の輪郭を抽出する輪郭抽出ステップと、
前記領域検出ステップで領域が検出された場合に、前記検出された領域の位置と前記検出された領域内の前記動きベクトルとに基づき、前記検出された領域に存在する物体が前記移動体に対する障害物であるか否かを判定する障害物判定ステップと、
前記障害物判定ステップで前記検出された領域に存在する物体が障害物であると判定された場合に、前記検出された領域に対応する、前記輪郭抽出ステップで抽出された輪郭で囲まれた領域を、前記物体領域として検出する物体領域検出ステップと
を有することを特徴とする請求項９に記載の物体検出方法。
【請求項１４】
前記動きベクトル検出ステップは、前記対象画像の画素単位で前記動きベクトルを検出することを特徴とする請求項９から１３のいずれか１項に記載の物体検出方法。
【請求項１５】
前記動きベクトル検出ステップは、前記対象画像の複数の画素で構成されるブロック単位で前記動きベクトルを検出することを特徴とする請求項９から１３のいずれか１項に記載の物体検出方法。
【請求項１６】
前記差分算出ステップは、前記２つの画像間の各画素の画素値の差分を算出し、算出された各画素の差分を画素値として有する画像を前記差分画像として生成し、
前記動きベクトル検出ステップは、前記対象画像のうち、前記差分画像中の画素値の絶対値が閾値以下である部分に対応する部分を除いて、前記動きベクトルの検出を行うことを特徴とする請求項９から１５のいずれか１項に記載の物体検出方法。
【請求項１７】
カメラにより順次撮影された複数の画像を取得する画像取得ステップと、
前記画像取得ステップで取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、前記対象画像の各部分の動きベクトルを検出する動きベクトル検出ステップと、
前記画像取得ステップで取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出ステップと、
前記動きベクトル検出ステップで検出された動きベクトルと、前記差分算出ステップで算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出ステップと
をコンピュータに実行させることを特徴とする物体検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラによって撮影された画像から物体領域を検出する物体検出装置、物体検出方法、および物体検出プログラムに関する。
【背景技術】
【０００２】
自動車などの車両の運転を支援するために、例えば車両にカメラを設置し、カメラで撮影された画像から車両の障害となりうる物体を検出する技術がある。
【０００３】
特許文献１には、カメラにより撮像された複数の画像間の動きベクトルを検出し、検出された動きベクトルから自車の移動パラメータと背景ベクトルとを検出し、背景ベクトルとして検出されなかった動きベクトルを物体ベクトルとして扱い、この物体ベクトルから物体を検出し、得られた物体の接近状況に応じて運転者に警告を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−９７３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、カメラにより撮影された複数の画像から動きベクトルを検出し、検出された動きベクトルのみに基づいて物体領域を検出する構成では、物体領域を正確に検出することができない。
【０００６】
本発明は、動きベクトルのみに基づいて物体領域を検出する場合と比べて、正確に物体領域を検出することができる物体検出装置、物体検出方法、および物体検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る物体検出装置は、カメラにより順次撮影された複数の画像を取得する画像取得部と、前記画像取得部により取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、前記対象画像の各部分の動きベクトルを検出する動きベクトル検出部と、前記画像取得部により取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出部と、前記動きベクトル検出部により検出された動きベクトルと、前記差分算出部により算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出部とを備えることを特徴とする。
【０００８】
本発明に係る物体検出方法は、カメラにより順次撮影された複数の画像を取得する画像取得ステップと、前記画像取得ステップで取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、前記対象画像の各部分の動きベクトルを検出する動きベクトル検出ステップと、前記画像取得ステップで取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出ステップと、前記動きベクトル検出ステップで検出された動きベクトルと、前記差分算出ステップで算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出ステップとを含むことを特徴とする。
【０００９】
本発明に係る物体検出プログラムは、カメラにより順次撮影された複数の画像を取得する画像取得ステップと、前記画像取得ステップで取得された複数の画像のうちの対象画像および少なくとも１つの参照画像から、前記対象画像の各部分の動きベクトルを検出する動きベクトル検出ステップと、前記画像取得ステップで取得された複数の画像のうちの２つの画像間の差分画像を算出する差分算出ステップと、前記動きベクトル検出ステップで検出された動きベクトルと、前記差分算出ステップで算出された差分画像とに基づいて、物体が存在する物体領域を検出する物体検出ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、動きベクトルに加えて差分画像に基づいて物体領域を検出することにより、動きベクトルのみに基づいて物体領域を検出する場合と比べて、正確に物体領域を検出することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る物体検出装置を含む物体検出システムの構成の一例を示すブロック図である。
【図２】（ａ）〜（ｃ）は、画素単位の動きベクトルを検出する処理を説明するための図である。
【図３】動きベクトルの検出結果の一例を示す図である。
【図４】差分画像の算出処理を説明するための図である。
【図５】動きベクトルの検出結果に基づいて領域を検出する処理を説明するための図である。
【図６】差分画像から輪郭を抽出する処理を説明するための図である。
【図７】物体領域を検出する処理を説明するための図である。
【図８】実施の形態１に係る物体検出装置による障害物検出処理の一例を示すフローチャートである。
【図９】図８のステップＳ３の動きベクトル検出処理の内容を示すフローチャートである。
【図１０】図８のステップＳ５の差分算出処理の内容を示すフローチャートである。
【図１１】変形例における物体検出装置による障害物検出処理の一例を示すフローチャートである。
【図１２】実施の形態２に係る物体検出装置を含む物体検出システムの構成の一例を示すブロック図である。
【図１３】実施の形態２における動きベクトル検出処理の内容を示すフローチャートである。
【図１４】実施の形態３に係る物体検出装置を含む物体検出システムの構成の一例を示すブロック図である。
【図１５】実施の形態３における物体検出装置による障害物検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に従って説明する。
実施の形態１．
図１は、実施の形態１に係る物体検出装置２０を含む物体検出システム１の構成の一例を示すブロック図である。この物体検出システム１は、カメラにより撮影された画像から物体を検出するシステムである。本実施の形態では、物体検出システム１は、自動車などの車両に搭載されたカメラによって撮影された画像から車両周辺の障害物を検出する障害物検出システムである。
【００１３】
図１に示されるように、物体検出システム１は、カメラ１０、物体検出装置２０、および障害物通知部３０を備えている。
【００１４】
カメラ１０は、撮影対象領域を順次撮影し、撮影された複数の画像を物体検出装置２０に出力する。ここで、画像は、画像データ（または画像信号）である。画像データは、画像を構成する各画素の画素値を表すデータであり、具体的には２次元状に配列された複数の画素の各々の画素値を表すデータである。本実施の形態では、カメラ１０は、画像データである画像フレーム（以下、単に「フレーム」という）を出力する。例えば、カメラ１０は、所定のフレームレートで撮影を行い、得られたフレームを物体検出装置２０に順次出力する。また、カメラ１０は、車両に設置されており、車両の周囲を撮影する。例えば、カメラ１０は、車両のサイドミラーの位置に車両後方を撮像する方向に取り付けられる。サイドミラーの位置に設置することで、サイドミラーをカメラに置き換えることが可能となる。この場合、サイドミラーよりも広角のカメラを使用することにより、後側方の死角をなくすことが可能となる。
【００１５】
物体検出装置２０は、カメラ１０により撮影された画像を取得し、取得された画像から物体を検出する。本例では、物体検出装置２０は、取得された画像から車両周辺の障害物を検出する障害物検出装置である。図１において、物体検出装置２０は、画像取得部２１、動きベクトル検出部２２、差分算出部２３、および物体検出部２４を有する。
【００１６】
画像取得部２１は、カメラ１０により順次撮影された複数のフレームを取得する。画像取得部２１は、カメラ１０から出力されるフレームをすべて取り込んでもよいし、間引いて取り込んでもよい。例えば、画像取得部２１は、３０ｆｐｓのフレームレートで撮影された複数のフレームを、撮影時と同じフレームレート（すなわちフレーム間隔１／３０秒）で取得してもよいし、撮影時と異なるフレームレート（例えば、３フレームに１フレームの割合、すなわちフレーム間隔１／１０秒）で取得してもよい。画像取得部２１は、取得した複数のフレームを動きベクトル検出部２２と差分算出部２３とに出力する。
【００１７】
動きベクトル検出部２２は、画像取得部２１により取得された複数の画像から画像の各部分の動きベクトルを検出する。具体的には、動きベクトル検出部２２は、入力された複数の画像のうちの対象画像および少なくとも１つの参照画像から、対象画像の各部分の動きベクトルを検出する。動きベクトル検出部２２は、検出結果を物体検出部２４に出力する。
【００１８】
差分算出部２３は、画像取得部２１により取得された複数の画像のうちの２つの画像間の差分画像を算出する。差分算出部２３は、算出結果を物体検出部２４に出力する。
【００１９】
物体検出部２４は、動きベクトル検出部２２により検出された動きベクトルと、差分算出部２３により算出された差分画像とに基づいて、物体が存在する物体領域を検出する。また、物体検出部２４は、物体領域を検出した場合に、当該物体領域の位置と当該物体領域内の動きベクトルとに基づき、当該物体領域に存在する物体が車両に対する障害物であるか否かを判定し、これにより車両周辺の障害物を検出する。物体検出部２４は、障害物を検出した場合、その旨を障害物通知部３０に通知する。このとき、物体検出部２４は、障害物と判定された物体の物体領域を通知してもよいし、物体領域から特定される物体の位置または形状を通知してもよい。
【００２０】
障害物通知部３０は、物体検出部２４からの通知を受けると、障害物が存在することを車両の運転者に対して通知または警告する。このとき、障害物通知部３０は、物体検出部２４からの通知に基づき、障害物の物体領域、位置、または形状を運転者に通知してもよい。障害物通知部３０は、例えば、表示装置による表示や音声出力装置による音声出力により通知を行う。
【００２１】
上記構成において、画像取得部２１は、カメラ１０からの画像を記憶する画像記憶部２１ａを含んでもよく、動きベクトル検出部２２および差分算出部２３は、処理に用いる画像を画像記憶部２１ａから取得してもよい。
【００２２】
以下、動きベクトル検出部２２、差分算出部２３、および物体検出部２４の構成および処理について、具体的に説明する。
【００２３】
動きベクトル検出部２２は、画像取得部２１から入力された複数のフレームのうちの対象フレームおよび参照フレームから、対象フレームの各部分の動きベクトルを検出する。例えば、対象フレームは現在のフレーム（以下、「現フレーム」という）であり、参照フレームは現フレームよりも時間的に前に撮影されたフレーム（以下、「前フレーム」という）である。本実施の形態では、対象フレームを複数のブロックに分割し、動きベクトル検出部２２は、対象フレームのブロック単位で動きベクトルを検出し、検出されたブロック単位の動きベクトルを用いて、対象フレームの画素単位で動きベクトルを検出する。各ブロックは、対象フレームの複数の画素により構成され、例えば矩形状の画素領域である。ブロックのサイズは、適宜決められればよいが、ここでは１６×１６画素である。
【００２４】
図１の例では、動きベクトル検出部２２は、ブロック動きベクトル検出部２２ａと、画素動きベクトル検出部２２ｂとを有する。
【００２５】
ブロック動きベクトル検出部２２ａは、対象フレームの各ブロックの動きベクトルを検出する。動きベクトルを検出する方法としては、公知の方法を含む様々な方法を利用することができるが、ここではブロックマッチング法を用いる。ブロック動きベクトル検出部２２ａは、複数のブロックのうちの対象ブロックの動きベクトルを求める場合、参照フレームに探索範囲を設定し、この探索範囲内で対象ブロックと最も類似するブロックを探索し、探索されたブロックの位置から対象ブロックの位置へのベクトルを対象ブロックの動きベクトルとして求める。ブロック動きベクトル検出部２２ａは、検出結果として、対象フレームの各ブロックの動きベクトルを画素動きベクトル検出部２２ｂに出力する。
【００２６】
画素動きベクトル検出部２２ｂは、ブロック動きベクトル検出部２２ａからの対象フレームの各ブロックの動きベクトルに基づき、対象フレームの各画素の動きベクトルを検出する。画素動きベクトル検出部２２ｂは、ブロック単位の動きベクトルを画素単位の動きベクトルに詳細化する。具体的には、画素動きベクトル検出部２２ｂは、対象フレームのブロックを段階的に小さくしていきながら、ブロック単位の動きベクトルの検出を行い、最終的に画素単位の動きベクトルを検出する。この場合、ブロック単位または画素単位の動きベクトルを検出するとき、その前の段階で検出された動きベクトルに基づいて探索範囲を決定することができる。例えば、画素動きベクトル検出部２２ｂは、１６×１６画素の各ブロックを８×８画素のブロックに４分割し、８×８画素の各ブロックの動きベクトルを求める。このとき、動きベクトルを求める対象となる８×８画素のブロックが属する１６×１６画素のブロックの動きベクトルに基づき、動きベクトルを求める際の探索範囲を絞り込む。同様に、８×８画素の各ブロックを４×４画素のブロックに４分割して４×４画素の各ブロックの動きベクトルを求め、４×４画素の各ブロックを２×２画素のブロックに４分割して２×２画素の各ブロックの動きベクトルを求める。そして、２×２画素の各ブロックの動きベクトルに基づき、対象フレームの各画素の動きベクトルを求める。以下、この処理について、図２（ａ）〜（ｃ）を参照して説明する。
【００２７】
ここでは、図２（ａ）に示される対象フレーム４０の対象画素４１の動きベクトルを求める場合について説明する。図２（ｂ）に示されるように、対象画素４１が属する２×２画素のブロックの動きベクトル４２に基づき、参照フレーム４３に探索範囲４４を設定する。具体的には、対象画素４１に対応する参照フレーム４３上の画素の位置４５を動きベクトル４２から求め、位置４５を中心とする所定サイズの領域を探索範囲４４として設定する。そして、参照フレーム４３において、参照画素４６を探索範囲４４内の各画素位置に移動させる。このとき、各画素位置において、参照画素４６およびその周辺画素の画素値と対象画素４１の画素値との差分値の和を算出する。例えば、図２（ｃ）のように、対象画素４１の画素値をｐとし、参照画素４６を中心とする３×３の画素群４７の各画素の画素値をｐ１〜ｐ９とした場合、差分値の和Ｓを下記式（１）により算出する。そして、探索範囲４４内において和Ｓが最小となる参照画素の位置４８を特定し、特定された参照画素の位置４８から対象画素４１の位置へのベクトル４９を、対象画素４１の動きベクトルとして決定する。
Ｓ＝（ｐ１−ｐ）＋（ｐ２−ｐ）＋・・・＋（ｐ９−ｐ）  …（１）
【００２８】
図３は、動きベクトル検出部２２の検出結果の一例を示す図である。図３には、参照フレーム５０を参照して対象フレーム５１の各画素の動きベクトルを検出した場合の結果が示されている。一例では、対象フレーム５１は現フレームであり、参照フレーム５０は前フレームである。図３において、対象フレーム５１内には、検出結果である各画素の動きベクトルのうちの一部が矢印で示されている。矢印の長さは動きベクトルの大きさを示し、矢印の方向は動きベクトルの方向を示し、矢印の始点は動きベクトルに対応する画素の位置を示す。参照フレーム５０の領域５２には物体が写っており、これと同じ物体が対象フレーム５１の領域５３に写っている。対象フレーム５１の座標（ｘ２，ｙ２）の画素について、差分値の和Ｓが最小となる参照画素の位置として座標（ｘ１，ｙ１）が算出された場合、座標（ｘ１，ｙ１）から座標（ｘ２，ｙ２）へのベクトル（ｘ２−ｘ１，ｙ２−ｙ１）が動きベクトル５４として検出される。座標（ｘ２，ｙ２）は物体の位置に相当し、動きベクトル５４は、物体の動きの方向と大きさを表す。図３において動きベクトル５４と同様に実線矢印で示される他の動きベクトルも、物体の動きの方向と大きさを表す。これらの実線矢印で示される動きベクトルは、互いに同じ大きさおよび方向を有し、物体の動きベクトルと呼べる。一方、図３において、動きベクトル５５を含む一点鎖線矢印で示される複数の動きベクトルは、物体の背景の動きの方向と大きさを表し、物体の動きベクトルとは異なる大きさおよび方向を有する。これらの一点鎖線矢印で示される動きベクトルは、背景の動きベクトルと呼べる。
【００２９】
なお、動きベクトルを検出するためには、対象フレームと参照フレームとの少なくとも２つのフレームが必要であるが、より多くの参照フレームが用いられてもよい。例えば、動きベクトル検出部２２は、対象フレームとその前後の参照フレームとの合計３枚のフレームを使用して動きベクトルを検出してもよい。対象フレームの前後のフレームを使用することで、より精度の高い動きベクトルを検出することができる。
【００３０】
また、動きベクトルの検出に用いられる対象フレームと参照フレームとの間隔は、適宜決められればよい。対象フレームの１フレーム前のフレームが参照フレームとして用いられてもよいし、対象フレームのＮフレーム（Ｎは２以上の整数）前のフレームが参照フレームとして用いられてもよい。例えば、３０ｆｐｓで撮影される場合、隣接するフレーム間の間隔は１／３０秒であるが、この間隔では画像の変化が小さすぎて動きベクトルが検出されにくい場合がある。このような場合、動きベクトルの検出に用いられるフレーム間の間隔を１／３０秒ではなく、１／１５秒としてもよい。ただし、フレーム間の間隔が大きすぎると、接近速度が非常に速い障害物など、動きが速い物体の動きベクトルを適切に検出できない可能性がある。動きベクトルの検出に用いられるフレーム間の間隔は、以上のような事情を考慮して最適化されることが望ましい。
【００３１】
また、動きベクトルの検出の対象となる対象フレームの間隔も、適宜決められればよい。例えば、動きベクトル検出部２２は、撮影されたフレーム毎に動きベクトルを検出してもよいし、Ｎフレーム（Ｎは２以上の整数）に１フレームの割合で動きベクトルを検出してもよい。例えば、３０ｆｐｓで撮影される場合、フレーム毎に動きベクトルを検出しようとすると、１／３０秒毎に動きベクトルの検出を行わなければならず、速い演算速度が必要となる。そこで、動きベクトルの検出を行う間隔を１／３０秒ではなく、１／１５秒としてもよい。ただし、動きベクトルを検出するフレームの間隔が大きすぎると、障害物の接近速度が非常に速い場合に、危険通知が遅れる可能性がある。動きベクトルを検出するフレームの間隔は、以上のような事情を考慮して最適化されることが望ましい。
【００３２】
差分算出部２３は、画像取得部２１から入力された複数のフレームのうちの２つのフレーム間の差分を算出して差分画像を生成する。具体的には、差分算出部２３は、２つのフレーム間の各画素の画素値の差分を算出し、算出された各画素の差分を画素値として有する差分画像を生成する。一つの態様では、２つのフレームのうちの一方は、動きベクトルの検出に用いられる対象フレームと同じフレームである。２つのフレームのうちの他方は、例えば動きベクトルの検出に用いられる参照フレームと同じフレームであるが、異なるフレームであってもよい。差分算出部２３は、例えば、動きベクトル検出の対象フレーム毎に、当該対象フレームを含む２つのフレーム間の差分画像を算出する。
【００３３】
図４は、差分算出部２３の処理の一例を示す図である。図４の例では、差分算出部２３は、第１のフレーム６１と第２のフレーム６２との差分画像６３を生成する。例えば、第１のフレーム６１は前フレームであり、第２のフレーム６２は現フレームである。各フレームは、座標（ｘ，ｙ）（ｘ＝１，２，・・・，Ｘ、ｙ＝１，２，・・・，Ｙ）に位置する合計Ｘ×Ｙ個の画素で構成され、第１のフレーム６１の座標（ｘ，ｙ）の画素の画素値はｐ１（ｘ，ｙ）で表され、第２のフレーム６２の座標（ｘ，ｙ）の画素の画素値はｐ２（ｘ，ｙ）で表されるものとする。このとき、差分画像６３は、座標（ｘ，ｙ）（ｘ＝１，２，・・・，Ｘ、ｙ＝１，２，・・・，Ｙ）に位置する合計Ｘ×Ｙ個の画素で構成され、差分画像６３の座標（ｘ，ｙ）の画素の画素値ｐ３（ｘ，ｙ）は、下記式（２）で表される。
ｐ３（ｘ，ｙ）＝ｐ１（ｘ，ｙ）−ｐ２（ｘ，ｙ）  …（２）
【００３４】
図４において、第１のフレーム６１の領域６１ａには物体が写っており、これと同じ物体が第２のフレーム６２の領域６２ａに写っている。２つのフレーム間では、フレーム内の物体の位置が移動しており、物体の輪郭がずれている。この輪郭のずれにより、２つのフレーム間の差分画像６３には物体の輪郭が現れる。具体的には、差分画像６３には、第１のフレーム６１の領域６１ａの輪郭Ｌ１と、第２のフレーム６２の領域６２ａの輪郭Ｌ２とが現れる。より詳しく説明すると、差分画像６３において、領域６３ａは、第１のフレーム６１の物体の領域６１ａと第２のフレーム６２の背景の領域６２ｂとの差分領域であり、この領域の画素値の絶対値は比較的大きい。領域６３ｂは、第１のフレーム６１の背景の領域６１ｂと第２のフレーム６２の物体の領域６２ａとの差分領域であり、この領域の画素値の絶対値は比較的大きい。領域６３ｃは、第１のフレーム６１の物体の領域６１ａと第２のフレーム６２の物体の領域６２ａとの差分領域であり、この領域の画素値の絶対値は比較的小さい。領域６３ｄは、第１のフレーム６１の背景の領域６１ｂと第２のフレーム６２の背景の領域６２ｂとの差分領域であり、この領域の画素値の絶対値は比較的小さい。このような領域間の画素値の違いにより、領域間の境界に輪郭Ｌ１およびＬ２が現れる。
【００３５】
なお、差分画像の算出に用いられる２つのフレームの間隔は適宜決められればよく、隣接する２つのフレーム間の差分画像が算出されてもよいし、１以上のフレームを間に挟む２つのフレーム間の差分画像が算出されてもよい。例えば、３０ｆｐｓで撮影される場合、隣接するフレーム間の間隔は１／３０秒であるが、この間隔では画像の変化が小さすぎて輪郭が検出されにくい場合がある。このような場合、２枚のフレーム間の間隔を１／３０秒ではなく、１／１５秒としてもよい。ただし、フレーム間の間隔が大きすぎると、接近速度が非常に速い障害物など、動きが速い物体の輪郭を適切に検出できない可能性がある。差分画像の算出に用いられる２枚のフレーム間の間隔は、以上のような事情を考慮して最適化されることが望ましい。
【００３６】
また、差分画像を算出するフレームの間隔（例えば第２のフレームとなるフレームの間隔）についても、適宜決められればよい。例えば、差分算出部２３は、撮影された各フレームを第２のフレームとして差分画像を算出してもよいし、Ｎフレーム（Ｎは２以上の整数）毎に１つのフレームを第２のフレームとして差分画像を算出してもよい。例えば、３０ｆｐｓで撮影される場合、フレーム毎に差分画像を算出しようとすると、１／３０秒毎に算出を行わなければならず、速い演算速度が必要となる。そこで、差分画像の算出を行う間隔を１／３０秒ではなく、１／１５秒としてもよい。ただし、差分画像を算出するフレームの間隔が大きすぎると、障害物の接近速度が非常に速い場合に、危険通知が遅れる可能性がある。差分画像を算出するフレームの間隔は、以上のような事情を考慮して最適化されることが望ましい。
【００３７】
物体検出部２４は、動きベクトル検出部２２の検出結果と、差分算出部２３の算出結果とに基づいて、フレーム中の物体が存在する物体領域を検出する。物体検出部２４は、例えば、動きベクトル検出の対象フレームの各々について、物体領域の検出を行う。以下に詳しく説明するように、物体検出部２４は、対象フレーム中の同じ動きベクトルを有する複数の部分で構成される領域（または対象フレーム中の動きベクトルが均一な領域）に対応する、差分画像中の輪郭で囲まれた領域を物体領域として検出する。
【００３８】
図１の例では、物体検出部２４は、領域検出部２４ａ、輪郭抽出部２４ｂ、物体領域検出部２４ｃ、および障害物判定部２４ｄを有する。
【００３９】
領域検出部２４ａは、動きベクトル検出部２２により検出された動きベクトルに基づいて対象フレームから物体の領域を検出する。具体的には、領域検出部２４ａは、対象フレーム中の同じ動きベクトルを有する複数の画素で構成される領域を物体の領域として検出する。具体的には、領域検出部２４ａは、同じ大きさおよび方向の動きベクトルを有する複数の画素によって構成される一塊の領域を物体の領域として検出する。上記の「同じ」とは、厳密な意味での同じに限られず、同じ物体の動きベクトルとみなせる程度に同じであればよく、略同じであってもよい。
【００４０】
例えば、動きベクトル検出部２２により図３に示される検出結果が得られた場合、領域検出部２４ａは、図５に示されるように、同じ大きさおよび方向の動きベクトルを有する複数の画素によって形成される一塊の領域７０を、物体の領域として検出する。図５において、検出された物体の領域７０は、実際に物体が写っている領域５３と概ね一致しているが、輪郭がずれている。
【００４１】
輪郭抽出部２４ｂは、差分算出部２３により算出された差分画像から物体の輪郭を抽出する。例えば、差分算出部２３により図４に示される差分画像６３が得られた場合、輪郭抽出部２４ｂは、例えばラベリング処理によって、図６に示されるように、差分画像６３から領域６３ａ〜６３ｄを特定し、特定された領域間の境界線Ｂ１〜Ｂ４を物体の輪郭として抽出する。境界線Ｂ１およびＢ３は輪郭Ｌ１に相当し、境界線Ｂ２およびＢ４は輪郭Ｌ２に相当する。なお、画像から輪郭を抽出する方法としては、公知の方法を含む様々な方法を利用することができる。
【００４２】
物体領域検出部２４ｃは、領域検出部２４ａにより検出された領域に対応する、輪郭抽出部２４ｂにより抽出された輪郭で囲まれた領域を、物体領域として検出する。具体的には、物体領域検出部２４ｃは、領域検出部２４ａにより検出された領域と輪郭抽出部２４ｂにより抽出された輪郭とを重ね合わせることにより（または対象フレームと差分画像とを重ね合わせることにより）、検出された領域に対応する、抽出された輪郭で囲まれた領域を、物体領域として検出する。
【００４３】
領域検出部２４ａにより図５の領域７０が検出され、輪郭抽出部２４ｂにより図６の輪郭Ｂ１〜Ｂ４が抽出された場合、物体領域検出部２４ｃは、図７に示されるように、領域７０に輪郭Ｂ１〜Ｂ４を重ね合わせて、領域７０に対応する輪郭Ｂ２およびＢ４（すなわち輪郭Ｌ２）で囲まれた領域８０を物体領域として検出する。
【００４４】
一例では、物体領域検出部２４ｃは、抽出された輪郭Ｂ１〜Ｂ４により構成可能な領域のうち、検出された領域７０と最も一致する領域（ここでは輪郭Ｂ２およびＢ４で構成される領域）を物体領域として検出する。例えば、輪郭Ｂ１〜Ｂ４により構成可能な各候補領域について、領域７０との重複率Ｄを求め、重複率Ｄが最も高い候補領域を物体領域として検出する。重複率Ｄは、例えば、領域７０の面積をＳ１、候補領域の面積をＳ２、領域７０と候補領域とが重複する領域の面積をＳ３とした場合、下記式（３）により計算される。なお、計算された重複率の中で最も高い重複率が予め定められた閾値以下である場合には、物体領域検出部２４ｃは、領域７０に対応する物体領域を検出しないこととしてもよい。
Ｄ＝Ｓ３／（Ｓ１＋Ｓ２−Ｓ３）  …（３）
【００４５】
別の例では、物体領域検出部２４ｃは、抽出された輪郭Ｂ１〜Ｂ４のそれぞれについて、領域７０の輪郭との一致度を計算し、一致度が閾値以上の輪郭を特定し、特定された輪郭（ここでは輪郭Ｂ２およびＢ４）で囲まれた領域を物体領域として検出する。なお、一致度が閾値以上の輪郭が存在しない場合や、特定された輪郭だけでは領域を構成できない場合には、物体領域検出部２４ｃは、領域７０に対応する物体領域を検出しないこととしてもよい。
【００４６】
障害物判定部２４ｄは、物体領域検出部２４ｃにより物体領域が検出された場合に、当該物体領域の位置、当該物体領域内の動きベクトルの大きさおよび方向、ならびに車両の移動方向および速度に基づき、当該物体領域にある物体が車両に対する障害物であるか否かを判定する。ここで、車両に対する障害物とは、車両に障害となる物体であり、車両に障害となりうる物体を含んでもよい。上記物体領域内の動きベクトルとしては、動きベクトル検出部２２によって検出された動きベクトルが用いられる。具体的には、障害物判定部２４ｄは、物体と車両との相対速度および移動方向の関係に基づき、物体が車両に衝突する可能性があると判断した場合に、物体が障害物であると判定する。例えば、車両に対して一定以上の速度で接近してきている物体については、障害物であると判定する。
【００４７】
図８は、物体検出装置２０による障害物検出処理（または実施の形態１に係る物体検出方法を含む障害物検出方法）の一例を示すフローチャートである。図８の処理は、物体検出装置２０によって繰り返し実行される。
【００４８】
物体検出装置２０は、自車の走行状態を検知する（Ｓ１）。走行状態は、自車の移動方向および速度を含む。
【００４９】
次に、物体検出装置２０は、カメラ１０から撮影されたフレームを取得し、取得されたフレームを画像記憶部２１ａに記憶する（Ｓ２）。
【００５０】
次に、物体検出装置２０は、ステップＳ２で取得されたフレームを対象フレームとして動きベクトル検出処理を行い、対象フレームの各画素の動きベクトルを検出し（Ｓ３）、検出された動きベクトルを用いて、対象フレーム中の物体が存在する領域を検出する（Ｓ４）。
【００５１】
次に、物体検出装置２０は、ステップＳ２で取得されたフレームに対して差分算出処理を行って差分画像を算出し（Ｓ５）、得られた差分画像から物体の輪郭を抽出する（Ｓ６）。
【００５２】
次に、物体検出装置２０は、ステップＳ４の領域検出結果とステップＳ６の輪郭抽出結果とを合わせて、物体領域を検出する（Ｓ７）。例えば、ステップＳ４で検出された物体の領域に、ステップＳ６で抽出された物体の輪郭を重ね合わせて、検出された物体の領域に対応する、抽出された物体の輪郭で囲まれた領域を物体領域として特定する。
【００５３】
次に、物体検出装置２０は、ステップＳ１で検知された自車の走行状態と、ステップＳ７で検出された物体領域の位置と、当該物体領域内のステップＳ３で検出された動きベクトルとから、当該物体領域にある物体が自車の障害物であるか否かを判定する（Ｓ８）。例えば、物体検出装置２０は、物体領域にある物体の移動方向および速度と自車の移動方向および速度との関係から、衝突の危険があると判断した場合には、障害物であると判定する。また、物体領域の物体と自車とで移動方向および速度が等しく、物体と自車とが互いに平行に移動している場合にも、自車または物体の移動方向または速度が変化すれば、物体が自車の障害となる可能性があるので、障害物であると判定する。自車の移動方向と反対方向に移動している物体については、障害物でないと判定する。
【００５４】
物体検出装置２０は、物体が障害物であると判定した場合（Ｓ８：Ｙｅｓ）、その旨を障害物通知部３０に通知し（Ｓ９）、物体が障害物でないと判定した場合には（Ｓ８：Ｎｏ）、処理を終了する。
【００５５】
図９は、図８のステップＳ３の動きベクトル検出処理の内容を示すフローチャートである。以下、図９を参照して、動きベクトル検出処理について説明する。
【００５６】
まず、物体検出装置２０は、動きベクトルの検出に用いる複数のフレームを画像記憶部２１ａから取得する（Ｓ１１）。具体的には、物体検出装置２０は、今回のステップＳ２で取得されたフレームを対象フレームとして取り出し、前回のステップＳ２で取得されたフレームを参照フレームとして取り出す。
【００５７】
次に、物体検出装置２０は、ステップＳ１１で取得された各フレームに対して画像の解像度を下げる解像度変換処理を行い、各フレームの低解像度画像（または縮小画像）を生成する（Ｓ１２）。
【００５８】
次に、物体検出装置２０は、ステップＳ１２で生成された各フレームの低解像度画像から動きベクトルを検出する。具体的には、まず、対象フレームの低解像度画像を複数のブロックに分割し、ブロック毎の動きベクトルを検出する（Ｓ１３）。そして、ブロック毎の動きベクトルの検出結果を用いて、画素毎の動きベクトルを検出する（Ｓ１４）。
【００５９】
なお、上記の処理において、各フレームの解像度を下げて低解像度画像を使用するのは、動きベクトル検出の演算量を抑えるためである。撮影されたフレームの解像度が大きい場合には、フレームをそのまま使用すると動きベクトル検出の演算量が多くなる一方、解像度を下げても問題なく動きベクトル検出が可能であることから、上記のように解像度を下げることが有効である。一方、元のフレームの解像度が小さい場合には、ステップＳ１２の処理は省略されてもよい。
【００６０】
また、ステップＳ１２において、複数段階の低解像度画像を生成して、解像度が低いものから順番に、各段階の低解像度画像に対して動きベクトルの検出（ステップＳ１３およびＳ１４の処理）を行ってもよい。この場合、２段階目以降の低解像度画像に対する動きベクトル検出においては、１段階前の低解像度画像に対する動きベクトル検出の結果を用いて、動きベクトル検出の探索範囲を絞り込むことができ、これにより演算量を削減することができる。
【００６１】
図１０は、図８のステップＳ５の差分算出処理の内容を示すフローチャートである。以下、図１０を参照して、差分算出処理について説明する。
【００６２】
まず、物体検出装置２０は、差分画像の算出に用いる複数のフレームを画像記憶部２１ａから取得する（Ｓ２１）。例えば、物体検出装置２０は、図８のステップＳ３の動きベクトル検出処理に使用される複数のフレームと同じものを取得する。具体的には、物体検出装置２０は、今回のステップＳ２で取得されたフレームと、前回のステップＳ２で取得されたフレームとを取り出す。ただし、物体検出装置２０は、動きベクトル検出処理に使用されるフレームとは異なるタイミングで取得されたフレームを使用してもよい。例えば、物体検出装置２０は、今回のステップＳ２で取得されたフレームと、前々回のステップＳ２で取得されたフレームとを取り出してもよい。
【００６３】
次に、物体検出装置２０は、ステップＳ２１で取得した２つのフレームの各画素の差分を算出して、２つのフレーム間の差分画像を生成する（Ｓ２２）。
【００６４】
以上のとおり、本実施の形態では、物体検出装置２０は、動きベクトルと差分画像とに基づいて物体領域を検出する。これにより、動きベクトルのみに基づいて物体領域を検出する場合と比べて、正確に物体領域を検出することができる。具体的には、動きベクトルのみに基づいて物体領域を検出する構成では、１つの物体内で動きベクトルが異なる方向を示す場合があり、また、背景部分であっても物体領域として誤検出される場合もあることなどから、物体領域の輪郭を正確に検出することができず、物体領域を精度良く検出することができないという問題がある。これに対し、本実施の形態では、動きベクトルから検出された物体の領域と、差分画像から抽出された物体の輪郭とを重ね合わせることで、物体領域を輪郭まで正確に検出することができる。つまり、動きベクトルによって大まかに物体の領域を検出し、この領域の輪郭を差分画像によって詳細に決定することで、精度良く物体領域を検出することができる。また、物体の輪郭を把握するためには、エッジ検出を行う方法もあるが、この方法では演算量が多くなってしまう。これに対し、差分画像の算出は、画像の各画素値の差分を計算するだけの非常に単純な演算であり、演算量が非常に少ない。このため、本実施の形態によれば、演算量を大きく増やすことなく、物体領域の検出精度を上げることが可能となる。
【００６５】
また、本実施の形態では、物体検出装置２０は、物体領域が検出された場合に、当該物体領域の位置と当該物体領域内の動きベクトルとに基づき、当該物体領域に存在する物体が車両に対する障害物であるか否かを判定する。このため、障害物を正確に検出することができる。
【００６６】
なお、上記の処理の順序は、一例であり、適宜変更されてもよい。例えば、動きベクトルから検出された物体の領域に対して障害物であるか否かの判定を行い、障害物であると判定された物体の領域と、差分画像から抽出された輪郭とから物体領域を検出してもよい。以下、この変形例について説明する。
【００６７】
障害物判定部２４ｄは、領域検出部２４ａにより物体の領域が検出された場合に、当該検出された領域の位置と当該検出された領域内の動きベクトルとに基づき、当該検出された領域に存在する物体が車両に対する障害物であるか否かを判定する。
【００６８】
物体領域検出部２４ｃは、障害物判定部２４ｄにより上記検出された領域に存在する物体が障害物であると判定された場合に、当該検出された領域に対応する、輪郭抽出部２４ｂにより抽出された輪郭で囲まれた領域を、物体領域として検出する。
【００６９】
図１１は、変形例における物体検出装置２０による障害物検出処理の一例を示すフローチャートである。図１１の処理は、物体検出装置２０によって繰り返し実行される。
【００７０】
物体検出装置２０は、図８のステップＳ１〜Ｓ４と同様に、自車の走行状態を検知し（Ｓ３１）、カメラ１０からフレームを取得し（Ｓ３２）、動きベクトル検出処理を行い（Ｓ３３）、検出された動きベクトルを用いて物体の領域を検出する（Ｓ３４）。
【００７１】
そして、物体検出装置２０は、図８のステップＳ８と同様に、ステップＳ３１で検知された自車の走行状態と、ステップＳ３４で検出された領域の位置と、当該領域内の動きベクトルとから、当該領域にある物体が自車の障害物であるか否かを判定する（Ｓ３５）。
【００７２】
物体検出装置２０は、物体が障害物であると判定した場合（Ｓ３５：Ｙｅｓ）、ステップＳ３６に進み、物体が障害物でないと判定した場合には（Ｓ３５：Ｎｏ）、処理を終了する。
【００７３】
ステップＳ３６では、物体検出装置２０は、図８のステップＳ５と同様に、差分画像を算出する。そして、物体検出装置２０は、図８のステップＳ６〜Ｓ７と同様に、差分画像から物体の輪郭を抽出し（Ｓ３７）、物体領域を検出する（Ｓ３８）。この場合に検出される物体領域は、障害物が存在する領域である。そして、物体検出装置２０は、障害物が存在する物体領域を障害物通知部３０に通知する（Ｓ３９）。
【００７４】
実施の形態２．
図１２は、実施の形態２に係る物体検出装置２２０を含む物体検出システム２の構成の一例を示すブロック図である。以下、図１２を参照して、物体検出システム２について説明する。以下の説明では、実施の形態１と同様の部分については説明を省略または簡略化し、実施の形態１と同一または対応する要素については同一の符号を付す。
【００７５】
図１２に示されるように、物体検出システム２は、図１の物体検出システム１と略同様の構成を有するが、画素動きベクトル検出部２２ｂが省略されている。
【００７６】
本実施の形態では、動きベクトル検出部２２２は、対象フレームのブロック単位で動きベクトルを検出する。具体的には、動きベクトル検出部２２２において、ブロック動きベクトル検出部２２２ａは、対象フレームの各ブロックの動きベクトルを検出し、検出された各ブロックの動きベクトルを物体検出部２４に出力する。画素単位の動きベクトルの検出は省略される。
【００７７】
物体検出部２４は、動きベクトル検出部２２２から入力されるブロック単位の動きベクトルを用いて、物体領域の検出および障害物の判定を行う。物体検出部２４の処理は、画素単位の動きベクトルの代わりにブロック単位の動きベクトルを用いる点を除いて、実施の形態１と同様である。
【００７８】
物体検出装置２２０の動作は、図８に示される物体検出装置２０の動作と略同様であるが、ステップＳ３の動きベクトル検出処理が異なる。
【００７９】
図１３は、実施の形態２における動きベクトル検出処理の内容を示すフローチャートである。以下、図１３を参照して、動きベクトル検出処理について説明する。
【００８０】
物体検出装置２２０は、図９のステップＳ１１〜Ｓ１２と同様に、動きベクトルの検出に用いる複数のフレームを取得し（Ｓ４１）、各フレームの解像度を下げる解像度変換処理を行う（Ｓ４２）。
【００８１】
次に、物体検出装置２２０は、ステップＳ４２で生成された各フレームの低解像度画像から、対象フレームのブロック毎の動きベクトルを検出する（Ｓ４３）。実施の形態１ではブロック単位の動きベクトルを詳細化することによって画素単位の動きベクトルの検出を行ったが、本実施の形態では、画素単位の動きベクトルの検出は行われず、ブロック単位の動きベクトルの検出結果を用いて以降の処理が行われる。
【００８２】
以上のとおり、本実施の形態では、物体検出装置２２０は、ブロック単位で動きベクトルを検出し、ブロック単位の動きベクトルを用いて物体領域の検出を行う。本構成によれば、画素単位で動きベクトルを検出する場合と比較して、動きベクトル検出の処理負荷または演算量を軽減することができ、処理速度を上げることができる。また、ブロック単位の動きベクトルを用いる場合、動きベクトルのみから物体の詳細な形状を検出することはできないが、画素単位の差分値を有する差分画像を用いることによって、物体の詳細な形状を検出することが可能となる。したがって、本実施の形態によれば、物体検出の精度を維持しながら、処理負荷を軽減することができる。
【００８３】
実施の形態３．
図１４は、実施の形態３に係る物体検出装置３２０を含む物体検出システム３の構成の一例を示すブロック図である。以下、図１４を参照して、物体検出システム３について説明する。以下の説明では、実施の形態１と同様の部分については説明を省略または簡略化し、実施の形態１と同一または対応する要素については同一の符号を付す。
【００８４】
図１４に示されるように、物体検出システム３は、図１の物体検出システム１と略同様の構成を有するが、動きベクトル検出部３２２と差分算出部３２３とが接続されている。
【００８５】
本実施の形態では、差分算出部３２３は、２つのフレーム間の各画素の画素値の差分を算出し、算出された各画素の差分を画素値として有する画像を差分画像として生成し、生成された差分画像を物体検出部２４に出力するとともに、動きベクトル検出部３２２にも出力する。
【００８６】
動きベクトル検出部３２２は、差分算出部３２３から差分画像を受け、対象フレームのうち、差分画像中の画素値の絶対値が閾値以下である部分に対応する部分を除いて、動きベクトルの検出を行う。
【００８７】
図１５は、実施の形態３における物体検出装置３２０による障害物検出処理の一例を示すフローチャートである。図１５の処理は、物体検出装置３２０によって繰り返し実行される。
【００８８】
物体検出装置３２０は、図８のステップＳ１〜Ｓ２と同様に、自車の走行状態を検知し（Ｓ５１）、カメラ１０からフレームを取得する（Ｓ５２）。
【００８９】
次に、物体検出装置３２０は、図８のステップＳ５〜Ｓ６と同様に、ステップＳ５２で取得されたフレームに対して差分算出処理を行って差分画像を算出し（Ｓ５３）、得られた差分画像から物体の輪郭を抽出する（Ｓ５４）。
【００９０】
次に、物体検出装置３２０は、ステップＳ５３で得られた差分画像を用いて、ステップＳ５２で取得されたフレームに対して背景フィルタ処理（または遠景フィルタ処理）を行う（Ｓ５５）。この背景フィルタ処理では、差分画像のうち、画素値の絶対値が予め定められた閾値以下である部分を背景部分（または遠景部分）として検出する。そして、ステップＳ５２で取得されたフレームから背景部分を除去し、背景除去後のフレームを生成する。
【００９１】
次に、物体検出装置３２０は、ステップＳ５５で生成された背景除去後のフレームを対象フレームとして、動きベクトル検出処理を行う（Ｓ５６）。すなわち、物体検出装置３２０は、ステップＳ５２で取得されたフレームのうち背景部分を除去した残りの部分について、動きベクトルの検出を行う。ステップＳ５６の動きベクトル検出処理では、実施の形態１と同様に画素単位の動きベクトルまで算出してもよいし、実施の形態２と同様にブロック単位の動きベクトルの算出で処理をとどめてもよい。
【００９２】
次に、物体検出装置３２０は、ステップＳ５６で検出された動きベクトルを用いて、対象フレーム中の物体が存在する領域を検出する（Ｓ５７）。
【００９３】
次に、物体検出装置３２０は、ステップＳ５７の領域検出結果とステップＳ５４の輪郭抽出結果とを合わせて、物体領域を検出する（Ｓ５８）。
【００９４】
次に、物体検出装置３２０は、ステップＳ５１で検知された自車の走行状態と、ステップＳ５８で検出された物体領域の位置と、当該物体領域内のステップＳ５６で検出された動きベクトルとから、当該物体領域にある物体が自車の障害物であるか否かを判定する（Ｓ５９）。
【００９５】
物体検出装置３２０は、物体が障害物であると判定した場合（Ｓ５９：Ｙｅｓ）、その旨を障害物通知部３０に通知し（Ｓ６０）、物体が障害物でないと判定した場合には（Ｓ５９：Ｎｏ）、処理を終了する。
【００９６】
以上のとおり、本実施の形態では、物体検出装置３２０は、差分画像から背景部分を検出し、対象フレームから当該背景部分を除いて動きベクトル検出を行う。これにより、動きベクトル検出処理の負荷を軽減することができる。
【００９７】
上記実施の形態１〜３において、物体検出装置の機能は、電子回路などのハードウェア資源のみにより実現されてもよいし、ハードウェア資源とソフトウェアとの協働により実現されてもよい。後者の場合、物体検出装置の機能は、例えば、物体検出プログラムがコンピュータにより実行されることによって実現され、より具体的には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体に記録された物体検出プログラムが主記憶装置に読み出されて中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実行されることによって実現される。物体検出プログラムは、光ディスク等のコンピュータ読み取り可能な記録媒体に記録されて提供されてもよいし、インターネット等の通信回線を介して提供されてもよい。
【００９８】
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の態様で実施することができる。例えば、差分画像の算出に用いられる２つのフレームのうちの一方は、動きベクトル検出の対象フレームと同じフレームであることが望ましいが、対象フレームと略同じタイミングまたは十分に近いタイミングで撮影されたフレームであってもよい。また、物体検出装置は、車両以外の移動体に搭載されてもよく、当該移動体の障害物を検出してもよい。また、物体検出装置は、障害物の検出以外の用途に適用されてもよい。
【符号の説明】
【００９９】
１〜３  物体検出システム、  １０  カメラ、  ２０，２２０，３２０  物体検出装置、  ２１  画像取得部、  ２２，２２２，３２２  動きベクトル検出部、  ２３，３２３  差分算出部、  ２４  物体検出部、  ２４ａ  領域検出部、  ２４ｂ  輪郭抽出部、  ２４ｃ  物体領域検出部、  ２４ｄ  障害物判定部、  ３０  障害物通知部。
【図１】
2015138319.tif 000003
【図２】
2015138319.tif 000004
【図３】
2015138319.tif 000005
【図４】
2015138319.tif 000006
【図５】
2015138319.tif 000007
【図６】
2015138319.tif 000008
【図７】
2015138319.tif 000009
【図８】
2015138319.tif 000010
【図９】
2015138319.tif 000011
【図１０】
2015138319.tif 000012
【図１１】
2015138319.tif 000013
【図１２】
2015138319.tif 000014
【図１３】
2015138319.tif 000015
【図１４】
2015138319.tif 000016
【図１５】
2015138319.tif 000017