(57)【特許請求の範囲】
【請求項１】
同一の撮影装置を用いて連続して撮影することにより、撮影時刻がそれぞれ異なる複数の撮影画像を取得し、前記撮影画像内に写る移動体を検出する移動体検出装置であって、
１つの前記撮影画像を取得すると、該撮影画像と、該撮影画像より前に取得された撮影画像とが差分された画像である差分撮影画像を作成する画像差分手段と、
前記画像差分手段により作成された前記差分撮影画像を、予め設定された画素数で構成されたブロック画素を単位として分割し、前記ブロック画素毎に離散コサイン変換（ＤＣＴ）を行うことにより、二次元ＤＣＴ係数を算出するＤＣＴ係数算出手段と、
前記ＤＣＴ係数算出手段により前記二次元ＤＣＴ係数が算出される毎に、該二次元ＤＣＴ係数を蓄積して記憶するＤＣＴ係数記憶手段と、
前記ＤＣＴ係数記憶手段により記憶された前記二次元ＤＣＴ係数の各要素の値を配列して特徴ベクトルを構成するとともに、前記差分撮影画像内における同一位置の前記ブロック画素毎に前記特徴ベクトルを時系列で並べることにより時系列ベクトルを生成する時系列ベクトル生成手段と、
前記ブロック画素に前記移動体が写っている状態で得られる時系列ベクトルのサンプルを主成分分析して得られた主成分ベクトルに、前記時系列ベクトル生成手段により生成された前記時系列ベクトルを作用させて主成分毎の主成分得点を算出する主成分得点算出処理を行う主成分分析手段とを備え、
当該移動体検出装置は、車両に搭載され、
前記撮影装置は、前記車両の前方を撮影し、前記撮影画像内における水平線の位置である画像内水平線位置が予め設定され、
前記ＤＣＴ係数算出手段により算出された前記二次元ＤＣＴ係数における交流成分の和を交流成分電力として、前記交流成分電力を前記ブロック画素毎に算出する交流成分電力算出手段と、
前記撮影画像内において前記画像内水平線位置よりも上方に位置する前記ブロック画素について、前記ブロック画素の前記交流成分電力が、予め設定された上方高電力判定値以上である場合に、前記ブロック画素は高電力背景であると判断する第１背景判断手段と、
前記撮影画像内において前記画像内水平線位置よりも上方に位置する前記ブロック画素について、前記ブロック画素の前記交流成分電力が、前記上方高電力判定値より小さくなるように設定された上方低電力判定値以下である場合に、前記ブロック画素は低電力背景であると判断する第２背景判断手段と、
前記撮影画像内において前記画像内水平線位置よりも下方に位置する前記ブロック画素について、前記ブロック画素の前記交流成分電力が、予め設定された下方高電力判定値以上である場合に、前記ブロック画素は高電力背景であると判断する第３背景判断手段と、
前記撮影画像内において前記画像内水平線位置よりも下方に位置する前記ブロック画素について、前記ブロック画素の前記交流成分電力が、前記下方高電力判定値より小さくなるように設定された下方低電力判定値以下である場合に、前記ブロック画素は低電力背景であると判断する第４背景判断手段と、
前記撮影画像内における前記画像内水平線位置の周辺に位置し、且つ、前記第１，２，３，４背景判断手段により高電力背景または低電力背景であると判断されなかったブロック画素により構成される前記撮影画像内の領域を遠方移動体候補領域として設定する候補領域設定手段と、
前記候補領域設定手段により設定された前記遠方移動体候補領域外の前記ブロック画素について、前記主成分分析手段による前記主成分得点算出処理の実行を禁止する主成分分析禁止手段とを備える
ことを特徴とする移動体検出装置。
【請求項２】
前記主成分分析手段により算出された主成分得点の大きさに基づいて、前記ブロック画素に前記移動体が写っているか否かを判断する移動体判断手段と、
前記移動体判断手段による判断が行われた前記ブロック画素を含む前記撮影画像と、該撮影画像より前に取得された撮影画像とを用いて、前記ブロック画素内に写っている前記移動体について、前記撮影画像における水平方向への移動度である水平移動度と、前記撮影画像における垂直方向への移動度である垂直移動度とを算出する移動度算出手段と、
前記移動体が写っていると前記移動体判断手段により判断された前記ブロック画素について、前記移動度算出手段により算出された垂直移動度が予め設定された垂直移動体判定値より大きく、且つ、前記移動度算出手段により算出された水平移動度が予め設定された水平移動体判定値より小さい場合には、前記ブロック画素に前記移動体が写っていないと判断する移動体判断修正手段とを備える
ことを特徴とする請求項１に記載の移動体検出装置。
【請求項３】
前記移動度算出手段は、
前記移動体が写っていると前記移動体判断手段により判断された前記ブロック画素を判断対象ブロック画素とし、
前記判断対象ブロック画素を含む撮影画像より前に取得された撮影画像内において、前記判断対象ブロック画素の水平方向に位置する前記ブロック画素のうち前記判断対象ブロック画素の前記交流成分電力と同じ値を有する前記ブロック画素を水平同電力ブロック画素とし、
前記撮影画像内における前記判断対象ブロック画素と前記水平同電力ブロック画素との間の距離に基づいて、前記水平移動度を算出する
ことを特徴とする請求項２に記載の移動体検出装置。
【請求項４】
前記移動度算出手段は、
前記移動体が写っていると前記移動体判断手段により判断された前記ブロック画素を判断対象ブロック画素とし、
前記判断対象ブロック画素を含む撮影画像より前に取得された撮影画像内において、前記判断対象ブロック画素の垂直方向に位置する前記ブロック画素のうち前記判断対象ブロック画素の前記交流成分電力と同じ値を有する前記ブロック画素を垂直同電力ブロック画素とし、
前記撮影画像内における前記判断対象ブロック画素と前記垂直同電力ブロック画素との間の距離に基づいて、前記垂直移動度を算出する
ことを特徴とする請求項２または請求項３に記載の移動体検出装置。
【請求項５】
前記撮影画像内の前記ブロック画素の前記交流成分電力が、予め設定された高電力判定値以上か否かを判断する高電力ブロック判断手段と、
前記交流成分電力が前記高電力判定値以上であると前記高電力ブロック判断手段により判断された前記ブロック画素が、前記候補領域設定手段により設定された前記遠方移動体候補領域外に位置しているか否かを判断する候補領域外判断手段と、
前記候補領域外判断手段により前記遠方移動体候補領域外に位置していると判断された前記ブロック画素が、前記車両から近距離に位置するものが撮影される前記ブロック画素であるか否かを判断する近距離ブロック判断手段と、
前記車両から近距離に位置する前記ブロック画素であると前記近距離ブロック判断手段により判断された前記ブロック画素を高電力近距離ブロック画素として、前記高電力近距離ブロック画素を含む前記撮影画像と、該撮影画像より前に取得された撮影画像とを用いて、前記高電力近距離ブロック画素について、前記撮影画像における水平方向への移動度である水平移動度を算出する水平移動度算出手段と、
前記高電力近距離ブロック画素について、前記移動度算出手段により算出された水平移動度が予め設定された水平移動体判定値以上である場合には、前記高電力近距離ブロック画素に前記移動体が写っていると判断する高電力移動体判断手段とを備える
ことを特徴とする請求項１〜請求項４の何れか１項に記載の移動体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像から移動体を検出する移動体検出装置に関する。
【背景技術】
【０００２】
従来、移動体検出装置としては、カメラの撮影画像に写る歩行者を検出する装置であって、撮影画像のサンプルから動きベクトルを抽出し、動きベクトルに対してパラメトリック固有空間法を適用し固有空間上に投影して得られる参照曲線のデータを予め生成する一方、歩行者検出対象の撮影画像から動きベクトルを抽出し、動きベクトルに対してパラメトリック固有空間法を適用して固有空間上に投影される投影点の情報を得て、この投影点と参照曲線との比較により撮影画像に写る歩行者を検出するものが知られている（特許文献１参照）。
【０００３】
また、撮影画像から特徴点の動きベクトルを算出し、各特徴点の動きベクトルから自車両に接近してくる複数の特徴点のまとまりを接近移動物体として検出し、モニタ上で、撮影画像における接近移動物体の画像領域を強調表示する装置（特許文献２参照）や、各特徴点の動きベクトルから移動ベクトルが略等しい複数の特徴点のまとまりを移動体として検出する装置（特許文献３参照）が知られている。
【０００４】
この他、撮影画像から特徴点を抽出する方法としては、Ｈａｒｒｉｓ法やＫＬＴ（Ｋａｎａｄｅ  Ｌｕｃａｓ  Ｔｏｍａｓｉ  Ｔｒａｃｋｅｒ）法により特徴点を抽出する方法が知られている。ＫＬＴ法によれば抽出した特徴点を追跡して特徴点の動きベクトル（オプティカルフロー）を算出することも可能である。
【０００５】
更に、動きベクトルの算出方法としては、勾配法やブロックマッチング法が知られ、これらの技術を利用したものとしては、勾配法に基づき、撮影画像の遠距離に対応する領域の画素の動きベクトルを算出し、ブロックマッチング法に基づき、撮影画像の近距離に対応する領域の画素の動きベクトルを算出するものが知られている（特許文献４参照）。
【０００６】
また、複数の手法を用いて移動体を検出する方法としては、車両が停止していない場合には、ブロックマッチング法により算出した動きベクトルに基づき移動体を検出し、車両が停止している場合には、フレーム間の差分画像に基づき、移動体を検出する方法が知られている（特許文献５参照）。この他、移動体が画面上から消える消失点を検出して、その周囲を解析し移動体を検出するものが知られている（特許文献６参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２８８６００号公報
【特許文献２】特開２００５−１２３９６８号公報
【特許文献３】特開２００５−１３２１７０号公報
【特許文献４】特開２００７−１７２５４０号公報
【特許文献５】特開２００９−１４６１５３号公報
【特許文献６】特開２００９−１４３３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、本発明者は、車載カメラの撮影画像から、遠方から接近してくる自動車（以下、遠方接近車両という）等の移動体を迅速に検出できるようにすることを考えている。しかし、従来技術では、遠方接近車両における特徴点および動きベクトルを検出できるケースが限られており、フレーム間隔が５フレーム（１６６ｍｓ）以上でないと遠方接近車両の動きベクトルを検出することが困難であった。また、動きベクトルを検出できたとしても、背景の雑音と区別して判断することが困難である場合が多いという問題点があった。
【０００９】
また、動きベクトルを検出する場合には、その演算量が大きいために、ソフトウエアで軽量に実装することが困難であるという問題があった。
本発明は、こうした問題に鑑みてなされたものであり、動きベクトルを用いることなく撮影画像から移動体を検出する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するためになされた請求項１に記載の発明は、同一の撮影装置を用いて連続して撮影することにより、撮影時刻がそれぞれ異なる複数の撮影画像を取得し、撮影画像内に写る移動体を検出する移動体検出装置であり、まず画像差分手段が、１つの撮影画像を取得すると、この撮影画像と、この撮影画像より前に取得された撮影画像とが差分された画像である差分撮影画像を作成する。そしてＤＣＴ係数算出手段が、画像差分手段により作成された差分撮影画像を、予め設定された画素数で構成されたブロック画素を単位として分割し、ブロック画素毎に離散コサイン変換（ＤＣＴ）を行うことにより、二次元ＤＣＴ係数を算出し、ＤＣＴ係数記憶手段が、ＤＣＴ係数算出手段により二次元ＤＣＴ係数が算出される毎に、二次元ＤＣＴ係数を蓄積して記憶する。そして時系列ベクトル生成手段が、ＤＣＴ係数記憶手段により記憶された二次元ＤＣＴ係数の各要素の値を配列して特徴ベクトルを構成するとともに、差分撮影画像内における同一位置のブロック画素毎に特徴ベクトルを時系列で並べることにより時系列ベクトルを生成し、主成分分析手段が、ブロック画素に移動体が写っている状態で得られる時系列ベクトルのサンプルを主成分分析して得られた主成分ベクトルに、時系列ベクトル生成手段により生成された時系列ベクトルを作用させて主成分毎の主成分得点を算出する。
【００１１】
このように構成された移動体検出装置では、二次元ＤＣＴ係数の時系列で構成した特徴ベクトルの主成分分析をブロック画素毎に行う。
ところで、動きのある移動体が撮影画像に写っている場合には、差分撮影画像に移動体の輪郭が現れる。そして、この輪郭がシャープに現れていれば、差分撮影画像に離散コサイン変換（ＤＣＴ）を行うことにより算出された二次元ＤＣＴ係数の交流成分が高い値を示す。このため、移動体の検出に差分撮影画像の二次元ＤＣＴ係数を用いることができる。
【００１２】
そして、ブロック画素に移動体が写っている状態で得られる時系列ベクトルのサンプルを主成分分析して得られた主成分ベクトルに、時系列ベクトル生成手段により生成された時系列ベクトルを作用させると、この時系列ベクトルに対応するブロック画素に移動体が写っている場合に、主成分得点が高い値を示す。このため、主成分得点の大きさに基づいて、ブロック画素に移動体が写っているか否かを判断することができる。
【００１３】
例えば、自動車と二輪車と歩行者のそれぞれについての主成分ベクトルに時系列ベクトルを作用させて、自動車と二輪車と歩行者のそれぞれの主成分得点を算出し、これらの中で最大の主成分得点を有するものがブロック画素に写っていると判断するようにしてもよい。
【００１４】
したがって、請求項１に記載の移動体検出装置により、動きベクトルを用いることなく撮影画像から移動体を検出することができる。
また、請求項１に記載の無線通信装置では、当該移動体検出装置が、車両に搭載され、撮影装置が、車両の前方を撮影し、撮影画像内における水平線の位置である画像内水平線位置が予め設定され、交流成分電力算出手段が、ＤＣＴ係数算出手段により算出された二次元ＤＣＴ係数における交流成分の和を交流成分電力として、交流成分電力をブロック画素毎に算出し、第１背景判断手段が、撮影画像内において画像内水平線位置よりも上方に位置するブロック画素について、ブロック画素の交流成分電力が、予め設定された上方高電力判定値以上である場合に、ブロック画素は高電力背景であると判断し、第２背景判断手段が、撮影画像内において画像内水平線位置よりも上方に位置するブロック画素について、ブロック画素の交流成分電力が、上方高電力判定値より小さくなるように設定された上方低電力判定値以下である場合に、ブロック画素は低電力背景であると判断し、第３背景判断手段が、撮影画像内において画像内水平線位置よりも下方に位置するブロック画素について、ブロック画素の交流成分電力が、予め設定された下方高電力判定値以上である場合に、ブロック画素は高電力背景であると判断し、第４背景判断手段が、撮影画像内において画像内水平線位置よりも下方に位置するブロック画素について、ブロック画素の交流成分電力が、下方高電力判定値より小さくなるように設定された下方低電力判定値以下である場合に、ブロック画素は低電力背景であると判断し、候補領域設定手段が、撮影画像内における画像内水平線位置の周辺に位置し、且つ、第１，２，３，４背景判断手段により高電力背景または低電力背景であると判断されなかったブロック画素により構成される撮影画像内の領域を遠方移動体候補領域として設定し、主成分分析禁止手段が、候補領域設定手段により設定された遠方移動体候補領域外のブロック画素について、主成分分析手段による主成分得点算出処理の実行を禁止するようにしてもよい。
【００１５】
なお、上記の画像内水平線位置は、撮影装置の取り付け位置、撮影装置の取り付け姿勢、および撮影装置の光学特性によって決定される。
このように構成された移動体検出装置では、第１背景判断手段が、画像内水平線位置よりも上方に位置し、且つ、交流成分電力が上方高電力判定値以上であるブロック画素を、「ビルまたは電柱などに起因する高電力背景」であると判断する。また第２背景判断手段が、画像内水平線位置よりも上方に位置し、且つ、交流成分電力が上方低電力判定値以下であるブロック画素を、「空などに起因する低電力背景」であると判断する。また第３背景判断手段が、画像内水平線位置よりも下方に位置し、且つ、交流成分電力が下方高電力判定値以上であるブロック画素を、「道路の白線または砂利などに起因する高電力背景」であると判断する。また第４背景判断手段が、画像内水平線位置よりも下方に位置し、且つ、交流成分電力が下方低電力判定値以下であるブロック画素を、「道路などに起因する低電力背景」であると判断する。
【００１６】
そして、画像内水平線位置の周辺で、且つ、第１，２，３，４背景判断手段により高電力背景または低電力背景であると判断されなかったブロック画素により構成される撮影画像内の領域は、当該移動体検出装置が搭載された車両（以下、自車両という）の遠方において移動体が存在する可能性がある領域（遠方移動体候補領域）として設定する。これにより、遠方移動体候補領域外のブロック画素について、主成分分析が実行されないようにすることができる。
【００１７】
このように構成された移動体検出装置によれば、自車両の遠方から接近する移動体の検出に主成分分析を用いる場合に、撮影画像内の全ブロック画素について主成分分析を実行することがなくなり、移動体検出装置の演算処理負荷を低減することができる。
【００１８】
また、請求項１に記載の移動体検出装置では、請求項２に記載のように、移動体判断手段が、主成分分析手段により算出された主成分得点の大きさに基づいて、ブロック画素に移動体が写っているか否かを判断し、移動度算出手段が、移動体判断手段による判断が行われたブロック画素を含む撮影画像と、撮影画像より前に取得された撮影画像とを用いて、ブロック画素内に写っている移動体について、撮影画像における水平方向への移動度である水平移動度と、撮影画像における垂直方向への移動度である垂直移動度とを算出し、移動体判断修正手段が、移動体が写っていると移動体判断手段により判断されたブロック画素について、移動度算出手段により算出された垂直移動度が予め設定された垂直移動体判定値より大きく、且つ、移動度算出手段により算出された水平移動度が予め設定された水平移動体判定値より小さい場合には、ブロック画素に移動体が写っていないと判断するようにしてもよい。
【００１９】
すなわち、自車両の前方を撮影するように取り付けられた撮影装置が、自車両の走行中に撮影を行うと、撮影画像内に写っている静止物は、撮影画像内において、水平方向にはほとんど移動することなく、垂直方向には、自車両の走行速度に応じて移動するとの考えに基づいて、静止物であるか否かの判断を行う。
【００２０】
このように構成された請求項２に記載の移動体検出装置によれば、撮影画像内に写っている静止物が、主成分分析により移動体であると誤って判断された場合に、その判断を修正することができる。
【００２１】
また、請求項２に記載の移動体検出装置において、請求項３に記載のように、移動度算出手段は、移動体が写っていると移動体判断手段により判断されたブロック画素を判断対象ブロック画素とし、判断対象ブロック画素を含む撮影画像より前に取得された撮影画像内において、判断対象ブロック画素の水平方向に位置するブロック画素のうち判断対象ブロック画素の交流成分電力と同じ値を有するブロック画素を水平同電力ブロック画素とし、撮影画像内における判断対象ブロック画素と水平同電力ブロック画素との間の距離に基づいて、水平移動度を算出するようにしてもよい。
【００２２】
また、請求項２または請求項３に記載の移動体検出装置において、請求項４に記載のように、移動度算出手段は、判断対象ブロック画素を含む撮影画像より前に取得された撮影画像内において、判断対象ブロック画素の垂直方向に位置するブロック画素のうち判断対象ブロック画素の交流成分電力と同じ値を有するブロック画素を垂直同電力ブロック画素とし、撮影画像内における判断対象ブロック画素と垂直同電力ブロック画素との間の距離に基づいて、垂直移動度を算出するようにしてもよい。
【００２３】
このように構成された請求項３または請求項４に記載の移動体検出装置によれば、ブロック画素の交流成分電力という既に算出された値を用いるとともに、判断対象ブロック画素の水平方向または垂直方向に沿って位置するブロック画素のみを探索するという方法で、簡便に水平移動度および垂直移動度を算出することができる。
【００２４】
また、請求項１〜請求項４の何れか１項に記載の移動体検出装置において、請求項５に記載のように、高電力ブロック判断手段が、撮影画像内のブロック画素の交流成分電力が、予め設定された高電力判定値以上か否かを判断し、候補領域外判断手段が、交流成分電力が高電力判定値以上であると高電力ブロック判断手段により判断されたブロック画素が、候補領域設定手段により設定された遠方移動体候補領域外に位置しているか否かを判断し、近距離ブロック判断手段が、候補領域外判断手段により遠方移動体候補領域外に位置していると判断されたブロック画素が、車両から近距離に位置するものが撮影されるブロック画素であるか否かを判断し、水平移動度算出手段が、車両から近距離に位置するブロック画素であると近距離ブロック判断手段により判断されたブロック画素を高電力近距離ブロック画素として、高電力近距離ブロック画素を含む撮影画像と、この撮影画像より前に取得された撮影画像とを用いて、高電力近距離ブロック画素について、撮影画像における水平方向への移動度である水平移動度を算出し、高電力移動体判断手段が、高電力近距離ブロック画素について、移動度算出手段により算出された水平移動度が予め設定された水平移動体判定値以上である場合には、高電力近距離ブロック画素に移動体が写っていると判断するようにしてもよい。
【００２５】
すなわち、ブロック画素の交流成分電力が高い値を示しており、動きのある移動体がブロック画素に写っていると考えられる場合に、移動体であれば、撮影画像内において水平方向に移動するとの考えに基づいて、移動体であるか否かの判断を行う。
【００２６】
なお、車両から近距離に位置するブロック画素であるか否かを近距離ブロック判断手段が判断する方法として、例えば、撮影画像内において画像内水平線位置よりも下方に位置する領域のうち、予め設定された領域を近距離判定領域とし、この近距離判定領域内に位置するブロック画素が、車両から近距離に位置するものであると判断する方法が挙げられる。
【００２７】
このように構成された請求項５に記載の移動体検出装置によれば、自車両の遠方から接近する移動体を検出することに加えて、近距離から接近する移動体も検出することができる。
【図面の簡単な説明】
【００２８】
【図１】移動体検出装置１の構成を表すブロック図である。
【図２】移動体検出処理の前半部分を示すフローチャートである。
【図３】移動体検出処理の後半部分を示すフローチャートである。
【図４】遠方移動体候補領域特定処理を示すフローチャートである。
【図５】遠方移動体候補領域ＲＦと近・中距離監視領域ＲＮを示す図である。
【図６】遠方移動体候補領域ＲＦの設定手順を示す図である。
【図７】撮影画像を示す図と、交流成分電力の空間分布を示すヒストグラムである。
【発明を実施するための形態】
【００２９】
以下に本発明の実施形態を図面とともに説明する。
図１は、本発明が適用された移動体検出装置１の構成を表すブロック図である。
移動体検出装置１は、自動車等の車両に搭載されて使用されるものであり、カメラ１０と、位置検出器２０と、表示装置３０と、記憶装置４０と、解析ユニット５０とを備える。
【００３０】
これらのうちカメラ１０は、車両前方を広い範囲で撮影可能な広角カメラで構成され、フレームデータ（静止画像データ）の列により構成される動画データを、撮影画像を表すデータとして出力する。
【００３１】
また位置検出器２０は、ＧＰＳ衛星からの衛星信号を受信するＧＰＳ受信機、車輪の回転から自車の走行距離を検出する距離センサおよび方位センサ等のセンサ類の複数により構成され、これらセンサ類から得られる信号に基づき、自車の位置および進行方位を検出する。
【００３２】
また表示装置３０は、車両の運転席近傍に取り付けられ、各種情報を車両運転者に提供するものであり、例えば、液晶ディスプレイで構成される。
また記憶装置４０は、カメラ１０の撮影画像から移動体を検出するのに必要な各種データを記憶するものである。
【００３３】
また解析ユニット５０は、各種演算処理を実行してカメラ１０の撮影画像に写る移動体を検出するものである。この解析ユニット５０は、例えば、専用回路にて構成される。この他、解析ユニット５０は、ＣＰＵ５１、ＲＯＭ５３およびＲＡＭ５５等を備え、ソフトウエアにより移動体の検出に必要な処理を実行する構成にされてもよい。すなわち、解析ユニット５０は、ＲＯＭ５３が記憶するプログラムに基づく演算処理をＣＰＵ５１が実行することにより、移動体検出に係る機能を実現する構成にすることができる。
【００３４】
このように構成された移動体検出装置１において、解析ユニット５０は、自車両の遠方に存在する移動体を検出する移動体検出処理を実行する。
ここで、移動体検出装置１の解析ユニット５０が実行する移動体検出処理の手順を、図２および図３を用いて説明する。図２は移動体検出処理の前半部分を示すフローチャート、図３は移動体検出処理の後半部分を示すフローチャートである。この移動体検出処理は、解析ユニット５０にフレームデータが入力する度に実行される処理である。
【００３５】
この移動体検出処理が実行されると、解析ユニット５０は、まずＳ１０にて、今回入力したフレームデータのフレーム番号を示す変数ｋｆ（以下、フレーム番号変数ｋｆという）が０であるか否かを判断する。フレーム番号は、カメラ１０が出力するフレームデータを識別するための番号であり、出力された時刻が早い順に０，１，２，３，・・・の値が各フレームデータに付される。以下、フレーム番号がｋｆ（ｋｆは０以上の整数）であるフレームデータをフレームデータＦＤ（ｋｆ）と表記する。
【００３６】
ここで、フレーム番号変数ｋｆが０である場合には（Ｓ１０：ＹＥＳ）、移動体検出処理を一旦終了する。一方、フレーム番号変数ｋｆが０でない場合には（Ｓ１０：ＮＯ）、Ｓ２０にて、フレーム番号変数ｋｆが１であるか否かを判断する。ここで、フレーム番号変数ｋｆが１である場合には（Ｓ１０：ＹＥＳ）、Ｓ４０に移行する。一方、フレーム番号変数ｋｆが１でない場合には（Ｓ２０：ＮＯ）、Ｓ３０にて、遠方移動体候補領域特定処理（後述）を実行し、Ｓ４０に移行する。
【００３７】
そしてＳ４０に移行すると、前回入力されたフレームデータＦＤ（ｋｆ−１）および今回入力したフレームデータＦＤ（ｋｆ）に基づいて、これらのフレーム差分画像を表すフレーム差分画像データを作成する。以下、フレーム番号がｋｆのフレームデータと、フレーム番号が（ｋｆ−１）のフレームデータとのフレーム差分画像を表すフレーム差分画像データをフレーム差分画像データＦＤＤ（ｋｆ）と表記する。
【００３８】
その後Ｓ５０にて、ブロック画素番号を表す変数ｋｂの値を０に設定する。さらにＳ６０にて、フレーム差分画像におけるｋｂ番目のブロック画素を処理対象ブロック画素に選択する。なお、ここでは、フレーム差分画像全体を縦横８画素単位で分割して得られる８×８画素のブロックを、ブロック画素の単位として、フレーム差分画像全体を構成するＫ個のブロック画素の内、ｋｂ番目のブロック画素を処理対象ブロック画素に選択する。以下、フレーム差分画像データＦＤＤ（ｋｆ）におけるｋｂ番目のブロック画素をブロック画素ＢＬＫ（ｋｆ，ｋｂ）と表記する。
【００３９】
そしてＳ７０にて、フレーム差分画像データＦＤＤ（ｋｆ）における処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）に対応する領域を離散コサイン変換（ＤＣＴ）することにより、８×８個の配列からなる二次元ＤＣＴ係数を算出する。以下では、ブロック画素ＢＬＫ（ｋｆ，ｋｂ）における二次元ＤＣＴ係数の各要素の値を配列Ｃｄ［ｋｆ，ｋｂ，ｉ，ｊ］で表現し、二次元ＤＣＴ係数の直流成分を第０行第０列の要素の値Ｃｄ［ｋｆ，ｋｂ，０，０］で表現する。なお、ｉ，ｊは、０から７までの値を採る。
【００４０】
その後Ｓ８０にて、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の二次元ＤＣＴ係数に基づき、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）を、下式（１）に従って算出する。
【００４１】
【数１】
0005267596.tif 000002
すなわち、ブロック画素ＢＬＫ（ｋｆ，ｋｂ）における二次元ＤＣＴ係数の交流成分（絶対値）の和を、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）として算出する。
【００４２】
次にＳ９０にて、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）の大きさに基づいて、例えば以下に示すように、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が大きくなるほど、クラスの値が大きくなるように、クラス判定を行う。
【００４３】
クラス０：    １００＞ＡＣＰ≧０
クラス１：    ２００＞ＡＣＰ≧１００
クラス２：    ５００＞ＡＣＰ≧２００
クラス３：  １０００＞ＡＣＰ≧５００
クラス４：  ３０００＞ＡＣＰ≧１０００
クラス５：            ＡＣＰ≧３０００
またＳ１００にて、Ｓ７０にて算出された二次元ＤＣＴ係数を、記憶装置４０に記憶する。そしてＳ１１０にて、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）が主成分分析候補領域内に含まれているか否かを判断する。なお主成分分析候補領域は、図５に示すように、Ｓ３０の処理で特定された遠方移動体候補領域ＲＦと、自車両前方で自車両から近距離または中距離に位置する領域において予め設定された領域ＲＮ（以下、近・中距離監視領域ＲＮという）とから構成される。
【００４４】
ここで、主成分分析候補領域内に含まれている場合には（Ｓ１１０：ＹＥＳ）、Ｓ１２０にて、記憶装置４０に記憶された二次元ＤＣＴ係数を用いて、ｋｂ番目のブロック画素についての時系列ベクトルｘkbを生成する。なお時系列ベクトルｘkbは、ｋｂ番目のブロック画素の二次元ＤＣＴ係数を示す特徴ベクトルを時系列で並べて構成したものである。
【００４５】
ここで、ブロック画素における二次元ＤＣＴ係数の各要素の値をｚn1，ｚn2，ｚn3，・・・，ｚnPとする。なお、Ｐはブロック画素の画素数（８×８＝６４）である。また、ブロック画素における二次元ＤＣＴ係数の各要素の値を配列Ｃｄ［ｉ，ｊ］で表現すると（ｉ，ｊは、０から７までの値）、二次元ＤＣＴ係数の各要素の値ｚns（ｓは１からＰまでの整数）は下式（２）で表される。
【００４６】
【数２】
0005267596.tif 000003
二次元ＤＣＴ係数は本来８行８列の配列であるが、ここでは、各二次元ＤＣＴ係数を６４次元の列ベクトルに置き換えている。
【００４７】
また、ｎ番目（ｎは０以上の整数）のブロック画素についての二次元ＤＣＴ係数を示す特徴ベクトルｚnは、下式（３）で表される。
【００４８】
【数３】
0005267596.tif 000004
すなわち、特徴ベクトルｚnは、８行８列で配列されている二次元ＤＣＴ係数を６４次元の列ベクトルに置き換えたものである。
【００４９】
そして、ブロック画素ＢＬＫ（ｋｆ，ｋｂ）についての二次元ＤＣＴ係数を示す特徴ベクトルをｚkb,kfで表現すると、ｋｂ番目のブロック画素についての時系列ベクトルｘkbは、下式（４）で表される。なお、下式（４）の「Ｍ」は、時系列ベクトルを構成するためのフレームデータの数である。
【００５０】
【数４】
0005267596.tif 000005
すなわち、Ｓ１２０では、最新のＭ個（Ｍは予め設定された値。本実施形態では、例えば１０）のフレームデータについて、ｋｂ番目のブロック画素の二次元ＤＣＴ係数を示す特徴ベクトル（列ベクトル）を、時系列に合わせて列方向に配列することにより、時系列ベクトルｘkbを生成する。
【００５１】
そしてＳ１３０にて、Ｓ１２０で生成した時系列ベクトルｘkbについて、自動車の成分に関する主成分分析（ＰＣＡ）を行う。具体的には、時系列ベクトルｘkbを、記憶装置４０が記憶する第１から第Ｈ（例えばＨ＝３）主成分ベクトルＱ１，…，ＱＨに作用させ、主成分毎の主成分得点ｆを算出する。ここで、第ｈ主成分の主成分得点をｆｈで表現すると、時系列ベクトルｘkbについて、主成分得点ｆｈおよびその総和ＰＣＡは、下式（５）で算出される。以下、総和ＰＣＡを電力評価値ＰＣＡという。
【００５２】
【数５】
0005267596.tif 000006
尚、記憶装置４０が記憶する主成分ベクトルＱ１〜ＱＨは、ブロック画素に自動車が写っている状態で得られる時系列ベクトルのサンプルを収集し、これらのサンプルを主成分分析して得られた主成分ベクトルであり、第ｈ主成分ベクトルＱｈは、時系列ベクトルのＮｘ（＞＞Ｈ）個のサンプルから得られた共分散行列の固有値・固有ベクトルを算出して得られる固有ベクトルであって、固有値の大きい順に数えてｈ番目の固有ベクトルに対応する。このことについては主成分分析の基本的な事柄であるため、これ以上の説明は省略する。
【００５３】
その後Ｓ１４０にて、Ｓ１２０で生成した時系列ベクトルｘkbについて、Ｓ１３０と同様にして、二輪車の成分に関する主成分分析（ＰＣＡ）を行い、電力評価値ＰＣＡを算出する。但し、Ｓ１４０では、ブロック画素に二輪車が写っている状態で得られる時系列ベクトルのサンプルを収集し、これらのサンプルを主成分分析して得られた主成分ベクトルを用いて、主成分分析を行う。
【００５４】
さらにＳ１５０にて、Ｓ１２０で生成した時系列ベクトルｘkbについて、Ｓ１３０と同様にして、歩行者の成分に関する主成分分析（ＰＣＡ）を行い、電力評価値ＰＣＡを算出する。但し、Ｓ１５０では、ブロック画素に歩行者が写っている状態で得られる時系列ベクトルのサンプルを収集し、これらのサンプルを主成分分析して得られた主成分ベクトルを用いて、主成分分析を行う。
【００５５】
そしてＳ１６０にて、Ｓ１３０〜Ｓ１５０の処理で算出された電力評価値ＰＣＡを用いて、自動車と二輪車と歩行者のそれぞれについての評価関数ＰＣＡＣＰを下式（６），（７）、（８）に基づいて算出する。ここで、ｓｉｇｎ[ｘ]は、ｘ＞１のときに１、Ｘ＝０のときに０、ｘ＜０のときに−１の値をとる関数である。ｍａｘ（ａ，ｂ）は、ａ≧ｂのときにａ、ａ＜ｂのときにｂの値をとる関数である。ＣｌａｓｓＡＣＰは、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）についてＳ９０の処理で判定されたクラス（以下、ＡＣＰクラスともいう）の値である。αは適当なスケール定数である。
【００５６】
【数６】
0005267596.tif 000007
なお本実施形態では、α＝１，ｃｌａｓｓＦＡＲ＝２，ＡＣＰｔｈ（２）＝５００，ＰＣＡｔｈ（２）＝１５．０に設定されている。
【００５７】
次にＳ１７０にて、Ｓ１６０で算出された評価関数ＰＣＡＣＰに基づいて、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）のインデキシングを行い、Ｓ２００に移行する。具体的には、自動車と二輪車と歩行者のそれぞれの評価関数ＰＣＡＣＰのうち、値が最も大きいものに対応するインデックスを付与する。例えば、自動車と二輪車と歩行者の評価関数ＰＣＡＣＰのうち、自動車の評価関数ＰＣＡＣＰが最も大きい場合には、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）に対して、自動車を示す「５」のインデックスを付与する。なお、二輪車と歩行者のインデックスはそれぞれ、「６」，「７」である。但し、自動車と二輪車と歩行者の評価関数ＰＣＡＣＰのうち最大の評価関数ＰＣＡＣＰの値が、予め設定された低電力背景判定値未満である場合には、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）に対して、低電力背景を示す「０」のインデックスを付与する。
【００５８】
またＳ１１０にて、主成分分析候補領域内に含まれていない場合には（Ｓ１１０：ＮＯ）、Ｓ１８０にて、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）が、自車両前方で自車両から近距離の領域に位置し、且つ、Ｓ９０の処理でクラス４またはクラス５（すなわち、高電力背景）と判定されているか否かを判断する。ここで、近距離の高電力背景である場合には（Ｓ１８０：ＹＥＳ）、Ｓ２００に移行する。一方、近距離の高電力背景でない場合には（Ｓ１８０：ＮＯ）、Ｓ１９０にて、Ｓ９０の処理で判定されたクラス（以下、電力クラスともいう）に基づいて、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）のインデキシングを行い、Ｓ２５０に移行する。具体的には、電力クラスが０の場合には、低電力背景を示す「０」のインデックスを付与する。電力クラスが１の場合には、低電力背景を示す「１」のインデックスを付与する。電力クラスが２，３の場合には、その他を示す「８」のインデックスを付与する。電力クラスが４，５の場合には、高電力背景を示す「９」のインデックスを付与する。
【００５９】
そしてＳ２００に移行した場合には、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）が、低電力背景を示すインデックス（すなわち、０，１）を付与されているか否かを判断する。ここで、低電力背景を示すインデックスが付与されている場合には（Ｓ２００：ＹＥＳ）、Ｓ２５０に移行する。
【００６０】
一方、低電力背景を示すインデックスが付与されていない場合には（Ｓ２００：ＮＯ）、Ｓ２１０にて、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の水平方向の移動度（以下、水平移動度という）を算出する。具体的には、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）と同じ大きさの交流成分電力を有するブロックが、１フレーム前の処理対象ブロック画素ＢＬＫ（ｋｆ−１，ｋｂ）の水平方向近傍（例えば、水平方向に１０ブロック画素以内の距離）に存在する場合に、このブロックと処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）との間の距離から水平移動度を算出する。例えば、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が、１フレーム前の交流成分電力ＡＣＰ（ｋｆ−１，ｋｂ−ｋＨ）と同じ大きさである場合に、水平移動度をｋＨとする。但し、同じ大きさの交流成分電力ＡＣＰが存在しない場合には、水平移動度を０とする。
【００６１】
次にＳ２２０にて、Ｓ２１０と同様にして、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の垂直方向の移動度（以下、垂直移動度という）を算出する。具体的には、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）と同じ大きさの交流成分電力を有するブロックが、１フレーム前の処理対象ブロック画素ＢＬＫ（ｋｆ−１，ｋｂ）の垂直方向近傍（例えば、垂直方向に１０ブロック画素以内の距離）に存在する場合に、このブロックと処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）との間の距離から垂直移動度を算出する。例えば、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が、１フレーム前の交流成分電力ＡＣＰ（ｋｆ−１，ｋｂ−ＬＨ×ｋＶ）と同じ大きさである場合に（ＬＨは、水平方向のブロック画素数であり、例えば、６４０×４８０画素の画像について８×８画素ブロックを想定する場合には、ＬＨ＝６４０／８＝８０となる）、垂直移動度をｋＶとする。但し、同じ大きさの交流成分電力ＡＣＰが存在しない場合には、垂直移動度を０とする。
【００６２】
その後Ｓ２３０にて、Ｓ２１０とＳ２２０の処理で算出した水平移動度と垂直移動度とに基づいて、移動体または静止物の判定を行う。具体的には、Ｓ２１０の処理で算出した水平移動度が予め設定された移動体判定値以上である場合には、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）は移動体であると判定する。一方、Ｓ２２０の処理で算出した垂直移動度が０より大きく、且つ、Ｓ２１０の処理で算出した水平移動度が移動体判定値未満である場合には静止物であると判定する。
【００６３】
次に、Ｓ２３０での判定結果に基づいて、インデックスの修正を行い、Ｓ２５０に移行する。具体的には、移動体を示すインデックス（すなわち、５，６，７）をＳ１７０の処理で付与されていた処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）が、Ｓ２３０にて静止物と判定された場合には、高電力背景を示す「９」のインデックスを付与する。また、Ｓ１８０の処理で近距離の高電力背景と判定されていた処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）が、Ｓ２３０にて移動体と判定された場合には、近距離移動体を示す「４」のインデックスを処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）に付与する。また、その他の場合には、インデックスの修正を行わない。
【００６４】
そしてＳ２５０に移行すると、１フレーム中の全ブロック画素についてインデキシングが完了したか否かを判断する。ここで、全ブロック画素についてインデキシングが完了していない場合には（Ｓ２５０：ＮＯ）、Ｓ２６０にて、ブロック画素番号を表す変数ｋｂの値をインクリメント（１加算）して、Ｓ６０に移行し、上述の処理を繰り返す。一方、全ブロック画素についてインデキシングが完了した場合には（Ｓ２５０：ＹＥＳ）、Ｓ２７０にて、１フレーム中において、移動体を示すインデックス（すなわち、４，５，６，７）が付与されたブロック画素が移動体であることを示す表示を表示装置３０に行わせて、移動体検出処理を一旦終了する。
【００６５】
次に、Ｓ３０で実行される遠方移動体候補領域特定処理の手順を図４を用いて説明する。図４は遠方移動体候補領域特定処理を示すフローチャートである。
この遠方移動体候補領域特定処理が実行されると、解析ユニット５０は、まずＳ３１０にて、前回フレームデータが入力したときに算出された交流成分電力ＡＣＰ（ｋｆ，ｋｂ）について、フレームデータにより構成される表示画面全体の和（以下、交流成分電力和ＡＡＣ（ｋｆ）という）を算出する。
【００６６】
そしてＳ３２０にて、Ｓ３１０で算出された交流成分電力和ＡＡＣ（ｋｆ）が、予め設定された停止・徐行モード判定値ＡＡＣｓｔｏｐ以下であるか否かを判断する。ここで、交流成分電力和ＡＡＣ（ｋｆ）が停止・徐行モード判定電力値ＡＡＣｓｔｏｐ以下である場合には（Ｓ３２０：ＹＥＳ）、Ｓ３３０にて、停止・徐行モードを実行して、Ｓ３４０に移行する。停止・徐行モードは、自車両が停止または徐行しているときに移動体を検出するモードである。なお、自車両の停止・徐行時には基本的に、移動体以外の背景に大きな交流成分電力が発生しない。このため、停止・徐行モードでは、交流成分電力の判定のみで移動体の検出を行うことが可能であるが、詳細な説明は省略する。一方、交流成分電力和ＡＡＣ（ｋｆ）が停止・徐行モード判定値ＡＡＣｓｔｏｐより大きい場合には（Ｓ３２０：ＮＯ）、Ｓ３４０に移行する。
【００６７】
そしてＳ３４０に移行すると、前回フレームデータが入力したときに算出された交流成分電力ＡＣＰ（ｋｆ，ｋｂ）に基づいて、フレームデータにより構成される表示画面における空領域を判定する。具体的には、カメラの取り付け位置姿勢および光学特性で決定される水平線（図７（ａ）の水平線ＨＺを参照）の上方において、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が、予め設定された空領域判定電力値ＡＣＰｓｋｙより小さい場合に、ｋｂ番目のブロック画素は空であると判定し、空であることを示すインデックスとして例えば「０」をｋｂ番目のブロック画素に割り当てる。
【００６８】
またＳ３５０にて、前回フレームデータが入力したときに算出された交流成分電力ＡＣＰ（ｋｆ，ｋｂ）に基づいて、フレームデータにより構成される表示画面における水平線上方の高電力背景を判定する。具体的には、上記水平線の上方において、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が、予め設定された高電力背景判定電力値ＡＣＰｈｉｇｈより大きい場合に、ｋｂ番目のブロック画素は、ビルおよび電柱などに起因する高電力背景であると判定し、高電力背景であることを示すインデックスとして例えば「９」をｋｂ番目のブロック画素に割り当てる。
【００６９】
次にＳ３６０にて、フレームデータにより構成される表示画面における水平線下方（すなわち、近距離領域）の移動体を判定する。具体的には、以下に説明する「インデックス伝播処理」と「近距離移動体ブロックのクラスタリング処理」の処理を行う。
【００７０】
まず、「インデックス伝播処理」では、水平線下方において、近距離移動体を示すインデックス（すなわち、４）が付与されたブロック画素が、移動体を示すインデックス（すなわち、５，６，７）が付与された近・中距離監視領域ＲＮに隣接または近接（近接とみなす距離範囲は経験的に設定する）する場合に、近距離移動体を示すインデックスが付与されていたブロック画素のインデックスを、近・中距離監視領域ＲＮに付与されているインデックスの値に変更する。
【００７１】
次に、「近距離移動体ブロックのクラスタリング処理」では、「４」，「５」，「６」，「７」のインデックスが付与されたブロック画素（以下、移動体インデックス付与ブロック画素という）を区別することなく扱い、隣接または近接する移動体インデックス付与ブロック画素を含むように、予め設定された距離範囲でクラスタリングする。そして、このクラスター内で、移動体インデックス付与ブロック画素の個数が、予め設定された近移動体判定値（本実施形態では、例えば８）以上である場合に、このクラスター内に、近距離移動体が存在すると判定する。
【００７２】
なお、インデックスが付与されたブロック画素で形成される移動体領域が歩行者、自動車、二輪車の何れであるのかを判別することは、領域重心の移動軌跡、および、本実施形態で記載していない新たな画像特徴量に経験則を適用することで或る程度可能と見られるが、詳細な説明は省略する。
【００７３】
その後Ｓ３７０にて、Ｓ３６０の処理での判定結果に基づいて、近距離の移動体が存在するか否かを判断する。ここで、近距離の移動体が存在すると判断した場合には（Ｓ３７０：ＹＥＳ）、Ｓ３８０にて、近距離モードを実行して、Ｓ３９０に移行する。近距離モードは、検出した近距離移動体の追尾と警告動作を実行するモードであるが、詳細な説明は省略する。一方、近距離の移動体が存在しないと判断した場合には（Ｓ３７０：ＮＯ）、Ｓ３９０に移行する。
【００７４】
そしてＳ３９０に移行すると、フレームデータにより構成される表示画面における水平線下方（近・中距離領域）の道路を判定する。具体的には、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が、予め設定された道路判定電力値ＡＣＰｇｒｏｕｎｄより小さい場合に、ｋｂ番目のブロック画素は道路であると判定し、道路であることを示すインデックスとして例えば「１」をｋｂ番目のブロック画素に割り当てる。
【００７５】
さらにＳ４００にて、フレームデータにより構成される表示画面における水平線下方（近距離領域）の高電力背景を判定する。具体的には、交流成分電力ＡＣＰ（ｋｆ，ｋｂ）が、予め設定された高電力背景判定電力値ＡＣＰｈｉｇｈより大きい場合に、ｋｂ番目のブロック画素は、白線および砂利等に起因する高電力背景であると判定し、高電力背景であることを示すインデックスとして例えば「９」をｋｂ番目のブロック画素に割り当てる。
【００７６】
そして、以下に説明するＳ４１０〜Ｓ４７０の処理で、Ｓ３４０，Ｓ３５０，Ｓ３６０，Ｓ３９０，Ｓ４００の処理においてインデックスが割り当てられなかった領域を、遠方の移動体が存在する可能性がある領域（以下、遠方移動体候補領域ＲＦという）として設定する。具体的には、以下に示す手順で遠方移動体候補領域ＲＦを設定する。
【００７７】
まずＳ４１０にて、図６（ａ）に示すように、「下方の低電力背景である道路と水平線の接合部」に位置づけられるブロックで構成される線分ＬＨｆａｒ（以下、水平方向初期線分ＬＨｆａｒともいう）を設定する。なお、線分ＬＨｆａｒの両端位置は、以下の手順で設定される。まず、線分ＬＨｆａｒの長さを予め設定された初期値に設定する。そして、線分ＬＨｆａｒが長くなるように、線分ＬＨｆａｒの両端の位置を１ブロック画素単位で水平方向へ移動させる。そして、線分ＬＨｆａｒの両端のそれぞれについて、端点でのブロック画素の交流成分電力ＡＣＰが上記の高電力背景判定電力値ＡＣＰｈｉｇｈを超えた時点で水平方向への移動を停止し、この１ブロック画素前の点を線分ＬＨｆａｒの端点の位置とする。
【００７８】
次にS４２０にて、線分ＬＨｆａｒを１ブロック画素単位で画面垂直上方向に平行移動させる。そして１回の平行移動毎に、線分ＬＨｆａｒが通るブロック画素について交流成分電力ＡＣＰの最大値を算出する。この最大値が、上記の空領域判定電力値ＡＣＰｓｋｙまたは高電力背景判定電力値ＡＣＰｈｉｇｈを超えた時点で画面垂直上方向への移動を停止し、このときの線分ＬＨｆａｒの垂直方向の位置を、遠方移動体候補領域ＲＦの上端位置ＹＵｆａｒとして決定する。
【００７９】
その後Ｓ４３０にて、線分ＬＨｆａｒを１ブロック画素単位で画面垂直下方向に平行移動させる。そして１回の平行移動毎に、線分ＬＨｆａｒが通るブロック画素について交流成分電力ＡＣＰの最大値を算出する。この最大値が、上記の高電力背景判定電力値ＡＣＰｈｉｇｈを超えた時点で画面垂直下方向への移動を停止し、このときの線分ＬＨｆａｒの垂直方向の位置を、遠方移動体候補領域ＲＦの下端位置ＹＤｆａｒとして決定する。
【００８０】
次にＳ４４０にて、図６（ｂ）に示すように、水平方向初期線分ＬＨｆａｒの中心位置を、水平方向初期線分ＬＨｆａｒに対して垂直に通る線分ＬＶｆａｒ（以下、垂直方向初期線分ＬＶｆａｒともいう）を設定する。なお、線分ＬＶｆａｒの両端位置は、以下の手順で設定される。まず、線分ＶＨｆａｒの長さを予め設定された初期値に設定する。そして、線分ＬＶｆａｒが長くなるように、線分ＬＶｆａｒの両端の位置を１ブロック画素単位で垂直方向へ移動させる。そして、線分ＬＶｆａｒの両端のそれぞれについて、端点でのブロック画素の交流成分電力ＡＣＰが上記の高電力背景判定電力値ＡＣＰｈｉｇｈを超えた時点で垂直方向への移動を停止し、この１ブロック画素前の点を線分ＬＶｆａｒの端点の位置とする。
【００８１】
その後Ｓ４５０にて、線分ＬＶｆａｒを１ブロック画素単位で画面水平左方向に平行移動させる。そして１回の平行移動毎に、線分ＬＶｆａｒが通るブロック画素について交流成分電力ＡＣＰの最大値を算出する。この最大値が、上記の空領域判定電力値ＡＣＰｓｋｙまたは高電力背景判定電力値ＡＣＰｈｉｇｈを超えた時点で画面水平左方向への移動を停止し、このときの線分ＬＶｆａｒの水平方向の位置を、遠方移動体候補領域ＲＦの左端位置ＸＬｆａｒとして決定する。
【００８２】
さらにＳ４６０にて、線分ＬＶｆａｒを１ブロック画素単位で画面水平右方向に平行移動させる。そして１回の平行移動毎に、線分ＬＶｆａｒが通るブロック画素について交流成分電力ＡＣＰの最大値を算出する。この最大値が、上記の空領域判定電力値ＡＣＰｓｋｙまたは高電力背景判定電力値ＡＣＰｈｉｇｈを超えた時点で画面水平右方向への移動を停止し、このときの線分ＬＶｆａｒの水平方向の位置を、遠方移動体候補領域ＲＦの右端位置ＸＲｆａｒとして決定する。
【００８３】
そしてＳ４７０にて、図６（ｃ）に示すように、左上端の座標を（ＸＬｆａｒ，ＹＵｆａｒ）とし、右下端の座標を（ＸＲｆａｒ，ＹＤｆａｒ）とした矩形領域を、遠方移動体候補領域ＲＦとして設定し、遠方移動体候補領域特定処理を終了する。
【００８４】
図７（ａ）は、自車両が道路を走行しているときに移動体が自車両の前方から接近している場合の撮影画像である。図７（ｂ）は、図７（ａ）に示す撮影画像における交流成分電力の空間分布を示すヒストグラムである。
【００８５】
図７（ａ）に示すように、水平線ＨＺの下方の高電力背景として「道路の白線または砂利」が、水平線ＨＺの上方の高電力背景として「ビル」、水平線ＨＺの上方の低電力背景として「空」が、撮影画像内に写っている。そして、水平線ＨＺの周囲において、高電力背景でも低電力背景でもない領域に遠方移動体候補領域ＲＦが設定される。
【００８６】
また、図７（ｂ）に示すように、水平線ＨＺの下方に相当するヒストグラム右側において交流成分電力が高い値を示し（図７（ｂ）中の「高電力背景」を参照）、水平線ＨＺの上方に相当するヒストグラム左側において交流成分電力が低い値を示し（図７（ｂ）中の「低電力背景」を参照）、これらの間に遠方移動体候補領域ＲＦが設定される。
【００８７】
このように構成された移動体検出装置１では、１つのフレームデータを取得すると、このフレームデータと、このフレームデータより１フレーム前に取得されたフレームデータとが差分されたフレーム差分画像データを作成する（Ｓ４０）。そして、作成されたフレーム差分画像データを、縦横８画素で構成されたブロック画素を単位として分割し、ブロック画素毎に離散コサイン変換（ＤＣＴ）を行うことにより、８×８個の配列からなる二次元ＤＣＴ係数を算出し（Ｓ６０，Ｓ７０）、二次元ＤＣＴ係数が算出される毎に、二次元ＤＣＴ係数を記憶装置４０に蓄積して記憶する（Ｓ１００）。そして、記憶装置４０に記憶された二次元ＤＣＴ係数の各要素の値を配列して特徴ベクトルを構成するとともに、フレーム差分画像データ内における同一位置のブロック画素毎に特徴ベクトルを時系列で並べることにより時系列ベクトルｘkbを生成する（Ｓ１２０）。その後、ブロック画素に移動体（自動車、二輪車、歩行者）が写っている状態で得られる時系列ベクトルのサンプルを主成分分析して得られた主成分ベクトルに、時系列ベクトルｘkbを作用させて主成分毎の主成分得点ｆｈを算出する（Ｓ１３０，Ｓ１４０，Ｓ１５０）。
【００８８】
そして、この時系列ベクトルｘkbに対応するブロック画素に移動体（自動車、二輪車、歩行者）が写っている場合に、主成分得点ｆｈが高い値を示す。このため、主成分得点ｆｈの大きさに基づいて、ブロック画素に移動体（自動車、二輪車、歩行者）が写っているか否かを判断することができる。
【００８９】
本実施形態では、自動車と二輪車と歩行者のそれぞれについての第１から第Ｈ（例えばＨ＝３）主成分ベクトルＱ１，…，ＱＨに時系列ベクトルｘkbを作用させることにより得られた主成分得点ｆｈを用いて評価関数ＰＣＡＣＰを算出し（Ｓ１６０）、自動車と二輪車と歩行者の中で、評価関数ＰＣＡＣＰが最大となるものがブロック画素に写っていると判断する（Ｓ１７０）。
【００９０】
したがって、移動体検出装置１により、動きベクトルを用いることなく撮影画像から移動体を検出することができる。
また、二次元ＤＣＴ係数における交流成分の和である交流成分電力ＡＣＰをブロック画素毎に算出し（Ｓ８０）、フレームデータ内において水平線ＨＺよりも上方に位置するブロック画素について、交流成分電力ＡＣＰが高電力背景判定電力値ＡＣＰｈｉｇｈより大きい場合に、ブロック画素は高電力背景であると判断するとともに（Ｓ３５０）、空領域判定電力値ＡＣＰｓｋｙより小さい場合に、ブロック画素は低電力背景であると判断する（Ｓ３４０）。さらに、フレームデータ内において水平線ＨＺよりも下方に位置するブロック画素について、交流成分電力ＡＣＰが高電力背景判定電力値ＡＣＰｈｉｇｈより大きい場合に、ブロック画素は高電力背景であると判断するとともに（Ｓ４００）、交流成分電力ＡＣＰが道路判定電力値ＡＣＰｇｒｏｕｎｄより小さい場合に、ブロック画素は低電力背景であると判断する（Ｓ３９０）。
【００９１】
そして、上記Ｓ３４０，Ｓ３５０，Ｓ３９０，Ｓ４００の処理で高電力背景または低電力背景であると判断されなかったブロック画素により構成されるフレームデータ内の領域を遠方移動体候補領域ＲＦとして設定し（Ｓ４１０〜Ｓ４７０）、遠方移動体候補領域ＲＦ外のブロック画素について、主成分得点ｆｈを算出する処理の実行を禁止する（Ｓ１１０）。
【００９２】
これにより、自車両の遠方から接近する移動体の検出に主成分分析を用いる場合に、フレームデータ内の全ブロック画素について主成分分析を実行することがなくなり、移動体検出装置１の演算処理負荷を低減することができる。
【００９３】
また、主成分得点ｆｈを用いて算出された評価関数ＰＣＡＣＰの大きさに基づいて、ブロック画素に移動体が写っているか否かを判断し（Ｓ１７０）、このブロック画素を含むフレームデータと、このフレームデータより１フレーム前に取得されたフレームデータとを用いて、ブロック画素内に写っている移動体について、フレームデータにおける水平方向への移動度（水平移動度）と垂直方向への移動度（垂直移動度）とを算出する（Ｓ２１０，Ｓ２２０）。そして、垂直移動度が０より大きく、且つ、水平移動度が移動体判定値未満である場合には、ブロック画素に移動体が写っていないと判断する（Ｓ２３０）。
【００９４】
すなわち、自車両の前方を撮影するように取り付けられたカメラ１０が、自車両の走行中に撮影を行うと、フレームデータ内に写っている静止物は、フレームデータ内において、水平方向にはほとんど移動することなく、垂直方向には、自車両の走行速度に応じて移動するとの考えに基づいて、静止物であるか否かの判断を行う。
【００９５】
これにより、フレームデータ内に写っている静止物が、主成分分析により移動体であると誤って判断された場合に、その判断を修正することができる。
また、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）と同じ大きさの交流成分電力を有するブロックが、１フレーム前の処理対象ブロック画素ＢＬＫ（ｋｆ−１，ｋｂ）の水平方向近傍に存在する場合に、このブロックと処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）との間の距離から水平移動度を算出する（Ｓ２１０）。さらに、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の交流成分電力ＡＣＰ（ｋｆ，ｋｂ）と同じ大きさの交流成分電力を有するブロックが、１フレーム前の処理対象ブロック画素ＢＬＫ（ｋｆ−１，ｋｂ）の垂直方向近傍に存在する場合に、このブロックと処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）との間の距離から垂直移動度を算出する（Ｓ２２０）。
【００９６】
これにより、ブロック画素の交流成分電力という既に算出された値を用いるとともに、処理対象ブロック画素ＢＬＫ（ｋｆ，ｋｂ）の水平方向または垂直方向に沿って位置するブロック画素のみを探索するという方法で、簡便に水平移動度および垂直移動度を算出することができる。
【００９７】
また、フレームデータ内のブロック画素の交流成分電力ＡＣＰが、クラス４またはクラス５（すなわち、高電力背景）に分類するために設定された値（１０００）以上か否かを判断し（Ｓ９０）、さらに、遠方移動体候補領域ＲＦ外に位置しているか否かを判断する（Ｓ１１０）。そして、遠方移動体候補領域ＲＦ外に位置していると判断されたブロック画素が、車両から近距離に位置するものが撮影されるブロック画素であるか否かを判断するともに（Ｓ１８０）、近距離の高電力背景と判断されたブロック画素について水平移動度を算出し（Ｓ２００，Ｓ２１０）、水平移動度が移動体判定値以上である場合には、このブロック画素に移動体が写っていると判断する（Ｓ２３０）。
【００９８】
すなわち、ブロック画素の交流成分電力ＡＣＰが高い値を示しており、動きのある移動体がブロック画素に写っていると考えられる場合に、移動体であれば、フレームデータ内において水平方向に移動するとの考えに基づいて、移動体であるか否かの判断を行う。
【００９９】
これにより、自車両の遠方から接近する移動体を検出することに加えて、近距離から接近する移動体も検出することができる。
以上説明した実施形態において、カメラ１０は本発明における撮影装置、Ｓ４０の処理は本発明における画像差分手段、Ｓ６０およびＳ７０の処理は本発明におけるＤＣＴ係数算出手段、Ｓ１００の処理は本発明におけるＤＣＴ係数記憶手段、Ｓ１２０の処理は本発明における時系列ベクトル生成手段、Ｓ１３０〜Ｓ１５０の処理は本発明における主成分分析手段、フレームデータは本発明における撮影画像、フレーム差分画像データは本発明における差分撮影画像である。
【０１００】
また、Ｓ８０の処理は本発明における交流成分電力算出手段、Ｓ３５０の処理は本発明における第１背景判断手段、Ｓ３４０の処理は本発明における第２背景判断手段、Ｓ４００の処理は本発明における第３背景判断手段、Ｓ３９０の処理は本発明における第４背景判断手段、Ｓ４１０〜Ｓ４７０の処理は本発明における候補領域設定手段、Ｓ１１０の処理は本発明における主成分分析禁止手段、高電力背景判定電力値ＡＣＰｈｉｇｈは本発明における上方高電力判定値、空領域判定電力値ＡＣＰｓｋｙは本発明における上方低電力判定値、高電力背景判定電力値ＡＣＰｈｉｇｈは本発明における下方高電力判定値、道路判定電力値ＡＣＰｇｒｏｕｎｄは本発明における下方低電力判定値である。
【０１０１】
また、Ｓ１６０およびＳ１７０は本発明における移動体判断手段、Ｓ２１０およびＳ２２０は本発明における移動度算出手段、Ｓ２３０およびＳ２４０は本発明における移動体判断修正手段、Ｓ２３０の処理における垂直移動度に用いる判定値「０」は本発明における垂直移動体判定値、移動体判定値は本発明における水平移動体判定値である。
【０１０２】
また、Ｓ９０の処理は本発明における高電力ブロック判断手段、Ｓ１１０の処理は本発明における候補領域外判断手段、Ｓ１８０の処理は本発明における近距離ブロック判断手段、Ｓ２００およびＳ２１０の処理は本発明における水平移動度算出手段、Ｓ２３０の処理は本発明における高電力移動体判断手段、Ｓ９０の処理においてクラス４以上に判定されるＡＣＰの値（すなわち、１０００）は本発明における高電力判定値である。
【０１０３】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、評価関数ＰＣＡＣＰが式（８）に示すように乗算型であるものを示したが、下式（９）に示すように、重み付け加算型としてもよい。
【０１０４】
【数７】
0005267596.tif 000008
なお、式（９）中のｗ１は電力評価値ＰＣＡ側の重み係数、ｗ２はＡＣＰクラス側の重み係数である。
【０１０５】
また上記実施形態では、水平線ＨＺの周囲に遠方移動体候補領域ＲＦを設定するものを示した。しかし、移動体が存在する可能性がある道路に対して垂直に自車両が進入する場合には、自車両の左右両側から移動体が接近してくる可能性がある。このため、撮影画像内において、自車両の左右両側に対応する領域に、遠方移動体候補領域ＲＦを設定するようにしてもよい。なお、左右両側に遠方移動体候補領域ＲＦを設定するか否かは、例えばナビゲーション装置に記憶されている道路情報を利用するとよい。
【０１０６】
また、自車両に搭載されたカメラ１０において、自車両の移動に伴う大きな回転（パニング）がないかぎり、交流成分電力の空間分布において、遠方では交流成分電力の値が小さいという性質を利用し、谷間となる道路領域（水平線下方の低電力背景）と空（水平線上方の低電力背景）との接合部に複数の遠方移動体候補領域ＲＦを大まかに設定するようにしてもよい。
【０１０７】
また、遠方移動体候補領域ＲＦ内のブロック画素についての主成分分析の演算量を低減させるために、遠方移動体候補領域ＲＦの大きさ、数、形状に応じて、主成分分析を行うブロック画素をサンプリングするようにしてもよい。また、そのサンプリングパターンを変更する（例えば、市松模様にサンプリングする）ようにしてもよい。
【符号の説明】
【０１０８】
１…移動体検出装置、１０…カメラ、２０…位置検出器、３０…表示装置、４０…記憶装置、５０…解析ユニット、
【図１】
0005267596.tif 000009
【図２】
0005267596.tif 000010
【図３】
0005267596.tif 000011
【図４】
0005267596.tif 000012
【図５】
0005267596.tif 000013
【図６】
0005267596.tif 000014
【図７】
0005267596.tif 000015