ブロックマッチングにより過去画像と現在画像との2つの画像のオプティカルフローを検出するオプティカルフロー検出装置において、現在画像の画像データと過去画像の画像データとの間のマッチングスコアを算出するマッチングスコア算出手段と、このマッチングスコア算出手段により算出された前回のマッチングスコアと今回のマッチングスコアとの差分を算出するマッチングスコア差分算出手段と、このマッチングスコア差分算出手段により算出された差分が予め設定されたしきい値以下であるか否かを判定するマッチングスコア差分判定手段と、前回までのマッチング探索で一致判定された位置でのオプティカルフローと今回のマッチング探索で現在探索位置でのオプティカルフローとで内積値を算出するフロー内積算出手段と、このフロー内積算出手段により算出された内積値に基づいてオプティカルフローの方向性を判定して無効フローを除去するフロー内積評価手段とを備え、マッチング探索時に、前記マッチングスコア差分判定手段により差分がしきい値以下であると判定された時には、前記フロー内積算出手段により内積値を算出し、前記フロー内積評価手段により無効フロ一を除去することを特徴とするオプティカルフロー検出装置。前記フロー内積算出手段は、前回までのマッチング探索で一致判定された位置でのオプティカルフローを[FwyΔi1、FwyΔj1]、今回のマッチング探索で現在探索位置でのオプティカルフローを[FwyΔi2、FwyΔj2]とすると、下記の数式内積値=FwyΔi1FwyΔi2FwyΔj1FwyΔj2で示される簡易内積によって内積値を算出することを特徴とする請求項1に記載のオプティカルフロー検出装置。ブロックマッチングにより過去画像と現在画像との2つの画像のオプティカルフローを検出するオプティカルフロー検出方法において、現在画像の画像データと過去画像の画像データとの間のマッチングスコアを算出して前回のマッチングスコアと今回のマッチングスコアとの差分を算出し、マッチング探索時に、算出された差分が予め設定されたしきい値以下であるか否かを判定し、差分がしきい値以下であると判定された場合に、前回までのマッチング探索で一致判定された位置でのオプティカルフローと今回のマッチング探索で現在探索位置でのオプティカルフローとで内積値を算出し、この内積値に基づいてオプティカルフローの方向性を判定して無効フローを除去することを特徴とするオプティカルフロー検出方法。前回までのマッチング探索で一致判定された位置でのオプティカルフローを[FwyΔi1、FwyΔj1]、今回のマッチング探索で現在探索位置でのオプティカルフローを[FWyΔi2、FwyΔj2]とすると、下記の数式内積値=FwyΔi1FwyΔi2FwyΔj1FwyΔj2で示される簡易内積によって内積値を算出することを特徴とする請求項3に記載のオプティカルフロー検出方法。ところで、従来のオプティカルフロー検出装置及び検出方法においては、マッチング性能の低い手法をそのまま移動体検出処理に応用するには、マッチング作業とは別に画質改善処理等の前処理、あるいは検出したオプティカルフローマッチング結果の有効無効判定に関する後処理の追加が必要である。特に、後処理については、無効なフローが増すと、それだけ選別処理に時間が掛かる。また、移動速度の大きな移動体検出作業で処理時間が嵩むと物体を画面上で連続して捕らえるのが困難となる。よって、できるだけ計算負荷が軽く、余計な無効フローを検出することなく作業を行なう手法の改善が必要となる。ここで、従来手法を、図27のオプティカルフロー検出装置の制御用フローチャートに沿って説明する。このオプティカルフロー検出装置の手法を説明する制御用プログラムがスタート201すると、MxM個の指定オフセットテーブル202bから探索順位と該当オプティカルフローの序列を作成し、データテーブル化する以下、序列テーブル202aという。処理202に移行する。この処理202の後には、スコアを記録する画像と同幅高さのメモリを用意し、初期化する以下、スコアバッファという。処理203に移行する。そして、処理203の後には、フローを記録する画像と同幅高さのメモリを用意し、初期化する以下、フローバッファという。処理204に移行する。この処理204の後に、作業開始の処理205を経て、画像IMG1取得の処理206、及び、画像IMG2取得の処理207を行い、前記序列テーブル202aの現位置はMxM個を超過したか否かの判断208に移行する。この前記序列テーブル202aの現位置はMxM個を超過したか否かの判断208において、判断208がYESの場合には、オプティカルフロー決定の処理209に移行し、判断208がNOの場合には、前記序列テーブル202aよりN回目のシフト量[ΔiN、ΔjN]を取得する処理210に移行する。上述のオプティカルフロー決定の処理209の後には、後処理211を行う。この後処理211においては、フローを基本とした装置機能を提供する。そして、この後処理211の後には、画像IMG1と画像IMG2とをスワップ交換し、次の動画処理の準備を行う処理212に移行し、上述した画像IMG2取得の処理207に戻る。また、上述した前記序列テーブル202aよりN回目のシフト量[ΔiN、ΔjN]を取得する処理210の後には、画像IMG2の原点を[ΔiN、ΔjN]分シフトする処理213に移行する。この画像IMG2の原点を[ΔiN、ΔjN]分シフトする処理213の後には、画面全体、全ての画素を探索できたか否かの判断214に移行する。この画面全体、全ての画素を探索できたか否かの判断214において、判断214がYESの場合には、上述した前記序列テーブル202aの現位置はMxM個を超過したか否かの判断208に戻り、判断214がNOの場合には、次のマッチング確認位置検索中心を画素[i、j]の指示点に設定する処理215に移行する。そして、この次のマッチング確認位置検索中心を画素[i、j]の指示点に設定する処理215の後には、評価式はNCCZSAD等であるか否かの判断216に移行する。この評価式はNCCZSAD等であるか否かの判断216において、判断216がYESの場合には、先に指示点[i、j]およびその周囲[iu、jv]の合計NxN個の画素についてブック内輝度平均値を求める処理217に移行し、その後に、指示点[i、j]およびその周囲[iu、jv]の合計NxN個の画素について評価式にそって一致度スコアを計算する処理218に移行する。また、判断216がNOの場合には、そのまま指示点[i、j]およびその周囲[iu、jv]の合計NxN個の画素について評価式にそって一致度スコアを計算する処理218に移行する。そして、この処理218の後には、計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアよりも優れているか否かの判断219に移行する。この判断219において、判断219がYESの場合には、スコアバッファの[i、j]位置へ先ほど計算した一致度スコアを記録する一方、同様に、フローバッファの[i、j]位置へシフト量[ΔiN、ΔjN]を記録する処理220を行った後に、上述した画面全体、全ての画素を探索できたか否かの判断214に戻る。また、計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアよりも優れているか否かの判断219がNOの場合には、そのまま画面全体、全ての画素を探索できたか否かの判断214に戻る。この発明の目的は、マッチング探索処理中に無効フローを除去し、マッチング探索処理の処理時間の短縮を図ることにある。そこで、この発明は、上述不都合を除去するために、ブロックマッチングにより過去画像と現在画像との2つの画像のオプティカルフローを検出するオプティカルフロー検出装置において、現在画像の画像データと過去画像の画像データとの間のマッチングスコアを算出するマッチングスコア算出手段と、このマッチングスコア算出手段により算出された前回のマッチングスコアと今回のマッチングスコアとの差分を算出するマッチングスコア差分算出手段と、このマッチングスコア差分算出手段により算出された差分が予め設定されたしきい値以下であるか否かを判定するマッチングスコア差分判定手段と、前回までのマッチング探索で一致判定された位置でのオプティカルフローと今回のマッチング探索で現在探索位置でのオプティカルフローとで内積値を算出するフロー内積算出手段と、このフロー内積算出手段により算出された内積値に基づいてオプティカルフローの方向性を判定して無効フローを除去するフロー内積評価手段とを備え、マッチング探索時に、前記マッチングスコア差分判定手段により差分がしきい値以下であると判定された時には、前記フロー内積算出手段により内積値を算出し、前記フロー内積評価手段により無効フロ一を除去することを特徴とする。また、ブロックマッチングにより過去画像と現在画像との2つの画像のオプティカルフローを検出するオプティカルフロー検出方法において、現在画像の画像データと過去画像の画像データとの間のマッチングスコアを算出して前回のマッチングスコアと今回のマッチングスコアとの差分を算出し、マッチング探索時に、算出された差分が予め設定されたしきい値以下であるか否かを判定し、差分がしきい値以下であると判定された場合に、前回までのマッチング探索で一致判定された位置でのオプティカルフローと今回のマッチング探索で現在探索位置でのオプティカルフローとで内積値を算出し、この内積値に基づいてオプティカルフローの方向性を判定して無効フローを除去することを特徴とする。以上詳細に説明した如くこの発明によれば、マッチング探索処理中に無効フローを除去することができる。したがって、マッチング探索処理後に無効フローを除去する場合よりも処理時間を短縮することができる。また、マッチングスコアの差分にしきい値を設定するため、照明日照条件陰等の局所的な影響を除去することができる。更に、マッチングスコアの差分に設定するしきい値を定数とすることができる。更にまた、フロー内積評価により路面背景等のコントラストの低い位置を判別し、無効なオプティカルフロー検出を回避することができる。また、繰り返しパターン窓問題の発生を軽減することができる。また、従来のマッチング処理機能に適用することができる。以下図面に基づいてこの発明の実施例を詳細に説明する。図1~図26はこの発明の実施例を示すものである。図2において、1はオプティカルフロー検出装置である。このオプティカルフロー検出装置1は、ブロックマッチングにより過去画像と現在画像との2つの画像のオプティカルフローを検出するものである。そして、前記オプティカルフロー検出装置1は、図2に示す如く、マッチングスコア算出の処理を行うマッチングスコア算出手段2と、マッチングスコア差分算出の処理を行うマッチングスコア差分算出手段3と、マッチングスコア差分判定の処理を行うマッチングスコア差分判定手段4と、フロー内積算出の処理を行うフロー内積算出手段5と、フロー内積評価の処理を行うフロー内積評価手段6とを備えている。そして、前記マッチングスコア算出手段2は、現在画像の画像データと過去画像の画像データとの間のマッチングスコアを算出する。前記マッチングスコア差分算出手段3は、前記マッチングスコア算出手段2により算出された前回のマッチングスコアと今回のマッチングスコアとの差分を算出する。前記マッチングスコア差分判定手段4は、前記マッチングスコア差分算出手段3により算出された差分が予め設定されたしきい値以下であるか否かを判定する。前記フロー内積算出手段5は、前回までのマッチング探索で一致判定された位置でのオプティカルフローと今回のマッチング探索で現在探索位置でのオプティカルフローとで内積値を算出する。前記フロー内積評価手段6は、前記フロー内積算出手段5により算出された内積値に基づいてオプティカルフローの方向性を判定して無効フローを除去する。そして、前記オプティカルフロー検出装置1は、マッチング探索時に、前記マッチングスコア差分判定手段4により差分がしきい値以下であると判定された時には、前記フロー内積算出手段5により内積値を算出し、前記フロー内積評価手段6により無効フロ一を除去する構成を有している。これにより、前記オプティカルフロー検出装置1は、マッチング探索処理中に無効フローを除去することができる。したがって、マッチング探索処理後に無効フローを除去する場合よりも処理時間を短縮することができる。また、前記オプティカルフロー検出装置1は、マッチングスコアの差分にしきい値を設定するため、照明日照条件陰等の局所的な影響を除去することができる。更に、前記オプティカルフロー検出装置1は、マッチングスコアの差分に設定するしきい値を定数とすることができる。更にまた、前記オプティカルフロー検出装置1は、フロー内積評価により路面背景等のコントラストの低い位置を判別し、無効なオプティカルフロー検出を回避することができる。また、繰り返しパターン窓問題の発生を軽減することができる。また、前記オプティカルフロー検出装置1は、従来のマッチング処理機能に適用することができる。また、前記フロー内積算出手段5は、前回までのマッチング探索で一致判定された位置でのオプティカルフローを[FwyΔi1、FwyΔj1]、今回のマッチング探索で現在探索位置でのオプティカルフローを[FwyΔi2、FwyΔj2]とすると、下記の数式内積値=FwyΔi1FwyΔi2FwyΔj1FwyΔj2で示される簡易内積によって内積値を算出する構成を有している。これにより、前記フロー内積算出手段5は、構成をシンプルにすることができ、FPGA等のハードウェアヘの実装に有利である。また、前記フロー内積算出手段5は、高速に処理をすることが可能になる。更に、この発明は、ブロックマッチングにより過去画像と現在画像との2つの画像のオプティカルフローを検出するオプティカルフロー検出方法において、現在画像の画像データと過去画像の画像データとの間のマッチングスコアを算出して前回のマッチングスコアと今回のマッチングスコアとの差分を算出し、マッチング探索時に、算出された差分が予め設定されたしきい値以下であるか否かを判定し、差分がしきい値以下であると判定された場合に、前回までのマッチング探索で一致判定された位置でのオプティカルフローと今回のマッチング探索で現在探索位置でのオプティカルフローとで内積値を算出し、この内積値に基づいてオプティカルフローの方向性を判定して無効フローを除去するものである。これにより、マッチング探索処理中に無効フローを除去することができる。したがって、マッチング探索処理後に無効フローを除去する場合よりも処理時間を短縮することができる。また、マッチングスコアの差分にしきい値を設定するため、照明日照条件陰等の局所的な影響を除去することができる。更に、マッチングスコアの差分に設定するしきい値を定数とすることができる。更にまた、フロー内積評価により路面背景等のコントラストの低い位置を判別し、無効なオプティカルフロー検出を回避することができる。また、繰り返しパターン窓問題の発生を軽減することができる。また、従来のマッチング処理機能に適用することができる。更にまた、この発明のオプティカルフロー検出方法は、前回までのマッチング探索で一致判定された位置でのオプティカルフローを[FwyΔi1、FwyΔj1]、今回のマッチング探索で現在探索位置でのオプティカルフローを[FWyΔi2、FwyΔj2]とすると、下記の数式内積値=FwyΔi1FwyΔi2FwyΔj1FwyΔj2で示される簡易内積によって内積値を算出するものである。これにより、構成をシンプルにすることができ、FPGA等のハードウェアヘの実装に有利である。また、高速に処理をすることが可能になる。ここで、この発明におけるブロックマッチング手法の改良について説明する。先ず、従来のブロックマッチング手法は、とりあえず指定した探索範囲を全て探索した後で、マッチング結果スコアともいう。に対し、設定した閾値に基づく有効無効判定を加えていた。提案する手法では、従来の手続きを損なうことなくマッチング処理中に同時進行で無効なオプティカルフローを排除できるよう、探索過程でのマッチングスコアの変化量により起動するオプティカルフローの簡易的な内積評価に基づく方向性判定を組み合わせることで無効フロー除去の対応に当たる。近年のオプティカルフロー検出手法は、LucasKanade法、HornSchunck法など時系列を考慮に入れた着目画素および近傍の輝度評価に基づく手法、さらにはShift法Surf法など輝度分散値や多重解像度解析に基づく解釈を追加した手法がしばしば提案されているが、これらはSADブロックマッチング処理等の手法と比べ、よりソフトウェア的にオプティカルフロー解決ヘアプローチしているものと伺える。本手法は、SADブロックマッチング等に従来のマッチングオプティカルフロー検出手法から逸脱しない構成であるため、FPGA等基づくハードウェア的なオプティカルフロー解決手法に適用できる。マッチング処理に関する共通事項ブロックマッチングで扱う画像は連続する動画であるが、今回はその一部を抜き出した2枚の画像を例に取り上げる。1評価画像をIMG1元画像=過去画像、もう一つの評価画像をIMG2現画像とする。2画像のサイズは幅W、高さHとする。3評価するブロックの形状は円四角形、その他の多角形等の任意形状を使用することができるが、今回は最も簡易的な正方形形状ブロックで手順を紹介する。4ブロックの単位をN、探索する範囲をMとする。MとNで大きいほうをLとする。画像の探索位置はブロック中心[X、Y]=[i、j]を基準に実行するものとする。よって、画像全域を全て探索する場合、Xは、L/2≦i<W-L/2、Yは、L/2≦j<H-L/2の範囲で計算を行なう。5各探索はブロック中心[X、Y]=[i、j]から[X、Y]=[Δi、Δj]シフトした位置で一致度を評価して行なわれる。結果、一致箇所と判断された位置について、ブロック中心[i、j]と一致箇所[iΔi、jΔj]をそれぞれ始点終点とするオプティカルフローが検出される。6以後、例に取りあげる参照図については、特に明記しない限り以下の条件でマッチング処理を行なった結果画面である。7ブロックサイズ:9x9サイズN=9探索範囲:15x15サイズM=15ブロック間隔:全画素ブロック間隔=0ここで、参考として、一般的に使用される従来のSAD手法とNCC手法とについて紹介する。一般的なSADブロックマッチング評価手法について一般的に行なわれるSADブロックマッチングは、連続する過去と現在の2枚の画像について、まず、元画像の検査対象となる画素[i、j]を設定し、現在の画像で対応する画素[i、j]および周囲の画素[iΔi、jΔj]での輝度変化を絶対値差分SADで計算評価して、物体の移動前の位置と移動後の位置を推定する手法である。また、信頼性を確保するために、検査対象画素[i、j]の周囲の画素を含めたNxN個のブロック単位で画素の変化を計算し、ブロック内に映る物体の移動を1つの探索対象として推定するため、ブロックマッチングと呼称される。ここでは、図3のマッチング対象比較画像及び探索位置の例を示す図を開示するとともに、図4のブロックマッチングによるオプティカルフロー検出結果例と検出フロー方向識別色を示す図を開示する。ブロックマッチングの探索対象となるブロックの間隔は任意に設定可能である。ここでは、図5のブロックマッチングの探索対象となるブロック間隔0、5、10、15を示す図を開示する。そして、ブロックマッチングに関する評価値を、以下の数式1のように表すことができる。ここで、Δi、Δjをそれぞれで-M/2≦Δi≦M/2-M/2≦Δj≦M/2で変化させ、SADiΔi、jΔjが最小となる位置をマッチング一致点、そのときのブロック中心[i、j]を始点、一致点[iΔi、jΔj]を終点として結ぶ直線が一般的にオプティカルフローと呼ばれるフローとなり、これは画面内の物体の移動方向移動量を示唆する。式からSADによるブロックマッチングの計算量はブロックサイズN、探索する範囲Mにて画索を参照する回数に比例することが伺える。比較する2画像についてのブロック間NCC比較評価でNxN回および探索位置オフセット位置での評価でMxM回、計NxM2通りの計算が必要と考えられる。ブロックマッチング処理を行なえば、各検査対象に関する移動前後の位置の推定結果を得ることができるが、そのままでは路面上空背景などの特徴量の少ない領域と移動を行なった物体の区別をつけることができない。通常、これらはSAD評価値の下限に閾値を設けることで下図のように移動する物体と背景等を切り分けることができる。図6のSADの一致度閾値なし、300以上抽出、610以上抽出を示す図を開示する。更に、移動方向が明らかである場合は、検出したオプティカルフローの長さや方向角度から、さらに有効なフローを選別することができる。例えば、バックアイカメラで走行中の自車の後方を監視し、接近車を検出する装置などでは、特開2000-168442や特開2008-97126等で紹介されるように、無限遠点FOEともいう。から対象オプティカルフロー始点を結ぶ方向とオプティカルフロー自体の方向を確認し、背景と接近物体を区別することができる。参考までに以下に記載する。1ここでSAD評価を以下のように変形したものをSSDブロックマッチングと呼ぶ。2その他、処理内容はSAD評価法と同等に取り扱うことが出来る。3SSDは一般的にSADよりも輝度変化に関する感度が二乗で示される分大きく、使用する装置環境等の場合によって通常のSADより有効なケースがある。SADブロックマッチング法の課題課題1ノイズ外乱の影響に関する耐性の低さ通常、SADブロックマッチング検出処理から検出されたフローに関してSAD評価値の結果から判別するのが一般的である。しかしながら、車両に搭載したカメラ等で外部周辺の確認を行なう装置など、システムの使用環境が屋外である場合、日照条件等の環境変化、路面からの反射光、また走行中であれば構造物の影などカメラの画像には外乱が加わり、画像全体あるいは局所領域に必ず輝度の変化が発生する。また、これら外乱にはカメラの機械的電気的なノイズがさらに加味される。よって、背景と移動物体を切り分けるSAD評価の閾値は常に変動することを考慮しなければならない。しかしながら、車両に搭載したカメラ等で外部映像を撮影する場合、使用環境の変化は不可避であるため、判別閾値を定数で設定することは非常に困難である。よって、入力画像輝度の変化に応じて、画像補正を行う、あるいは閾値を動的に最適な値に切り替え調整する等の対応が必要であると考えられる。しかしながら、多様な使用環境の変化に柔軟に対応できるアルゴリズムの開発実装は非常に困難である。同じ2枚の画像を比較する場合について、元の画像に人工的なノイズを付加した場合の結果を、図7に開示する。仮に、前述の図のように外乱が画面全体に一様に分布する場合であれば、画像全体の輝度平均値やSAD評価の閾値を動的に使用することで対応できるが、図8のように外乱が局所的に分布する場合は対応困難である。課題2窓問題による繰り返しパターンの影響先に紹介した無限遠点FOEから対象オプティカルフロー始点を結ぶ方向とオプティカルフロー自体の方向を確認し、背景と接近物体を区別する手法について、移動方向と平行な白線道路区画線、あるいは路肩の防音遮壁建造物等の直線成分に関しては、ブロックマッチング固有の課題として窓問題apertureproblemによる影響でこの識別法が上手く機能できないケースが発生する。つまり、接近方向と離反方向が図9の位置関係となる。このようにそれぞれの配置が直線関係となる場合、一致度も類似する値となる。よって、フローの向きでも一致度でも特定できない状態で誤検出されてしまう。図10に移動前及び移動後を示す図を開示する。直線成分を持つ対象上に位置するブロックでは、一致度スコアが同じ対応点が複数発生するため移動方向フローの特定が困難である。図11に道路白線の検出結果を示す図を開示する。特開2008-97126のように歪を補正した画像に関してマッチング処理を行なう場合は、補正をしない画像上、曲線で映る道路白線などが補正されて直線成分が強調される。よって、繰り返しパターンによる影響を、顕著に受ける恐れがある。さらに、これら影響は、特開2008-97126、特開2000-168442のように検出したフローの集まりを評価単位とし、そのグループを示すサイズ等で物体を特定するような手法では、白線部に集中する誤検出の集まりが接近車両と誤判別される要因となりうる。図12にFOE内積判定処理前とFOE内積判定処理後との歪補正画像に関するSAD処理結果を示す図を開示する。一般的なNCCブロックマッチング評価手法についてNCCブロックマッチングは、先にあげたSADブロックマッチングに関する課題1ノイズ外乱の影響に関する耐性の低さへの対策として有効な手法の一つであると考えられる。NCCブロックマッチングでは、検索対象となる画素およびその周囲の画素NxN個をNxN次元のベクトルとして取り扱う。また、各ベクトルを長さで割り正規化することで、周辺の画素に対する外乱を含めた輝度変化をブロック内平均値で相殺することで外乱成分による影響を緩和することができる。NCCブロックマッチングに関する評価値を、数式3のように表すことができる。ここでΔi、Δjをそれぞれで-M/2≦Δi≦M/2-M/2≦Δj≦M/2で変化させ、NCCiΔi、jΔjが最大となる位置をマッチング一致点、そのときのブロック中心[i、j]を始点、一致点[iΔi、jΔj]を終点として結ぶ直線がオプティカルフローと呼ばれるフローとなり、同様に画面内の物体の移動を示唆する。さらにNCC評価ではN2ブロック内の画素についてN2次元のベクトルとして取り扱い、ブロックを構成するN2次元の単位ベクトル内積にて一致度評価を行なう。よって、NCC評価値は、特に後述のSAD評価課題2の対策に有効な効果を得ることができる。数式3から伺えるよう評価値の最大は1.0、最小値は-1.0となる。但し、ブロック内の輝度平均を毎回求めるための計算に関しては、ブロック内平均輝度計算のため、ブロック内参照回数が追加される。オプティカルフロー検出のためには比較する2画像についての、それぞれのブロック内平均輝度の計算でNxN回、ブロック間NCC比較評価でNxN回および探索位置オフセット位置での評価でMxM回、計2xN2xM2通りの計算が必要と考えられる。NCCブロックマッチング処理を行なう場合でも、そのままでは路面上空背景などの特徴量の少ない領域と移動を行なった物体の区別をつけることができない。通常、これらはNCC評価値の上限に閾値を設けることで、図13のように移動する物体と背景等を切り分けることができる。NCCの場合、先に紹介したように外乱の影響をブロック内輝度平均値による正規化効果で相殺できるので、SADに対して一様な外乱の場合でも、局所的な外乱の場合でも柔軟に対応できる。ここで、図14のノイズ付加前、一様ノイズ元輝度10付加、一様ノイズ元輝度-10付加を示す図を開示する。NCCの場合、図15のように外乱が局所的に分布する場合でも柔軟に対応可能である。参考までに以下に記載する。1ここでNCC評価法と同様、他にもZSADやZSSD等のブロック内輝度平均値を原点0と見立てて評価を行うマッチング法等が知られている。2これら処理に関しても、ブロック内輝度平均の計算追加のため、オプティカルフロー検出のためには計N×NXM2通りの計算が必要と予測される。3ZSADやZSSDの評価は、通常のSADと同様に、評価値が探索範囲内で最小となる位置を一致点として判断する。NCC手法に関する課題課題3窓問題による繰り返しパターンの発生先のSAD評価法の中で取り上げた課題であるが、ブロックマッチングをべ一スとする限り、NCCといえども窓問題の影響を緩和する能力は持ちえておらず、繰り返しパターンがその後のオプティカルフローに基づく処理に影響を与えるのであれば、そのまま、特開2008-97126等へ応用するのは困難である。よって、白線検出など別途手段による後処理判定等、何らかの追加対策処理を組み合わせる必要がある。課題4NCCにおける計算コストの増大NCCなどブロック内の輝度平均値をゼロベースと見立てた処理では、NxN回分の平均値計算が追加される。さらに、平均化処理のために除算計算が必要となる。通常、四則演算の回路処理の場合、除算計算は他の加減乗算に比べ数倍の計算を必要とするため、処理が遅くなる。特に、NCCではマッチング探索1回につき、cosによる正規化評価を行なうため、さらに計算負荷の高い分母の√計算が必要となる。NCCでは、cosによる正規化評価を行なうため一致度評価値は±1の範囲となる。この範囲で精度良く作業を行なうには、浮動少数回路の導入あるいは有効桁数を調整し、大きな桁での整数計算が必要となるので、より高級な演算回路やメモリが必要となり、コストはSAD等と比較して増大する。提案処理について前述まで例に挙げたとおり、外乱の影響に対する耐性を強化し精度を維持するためには、NCCブロックマッチング手法が有効であるが、演算回路メモリ追加など計算コストの増大が懸念される。よって、通常のブロックマッチング処理中に、平行して背景とその他オブジェクトを切り分ける処理を行なうことで、コストの増大を抑えノイズ耐性を強化したオプティカルフローの変則評価手法を提案する。この処理の特徴を以降抜粋する。評価は設定した探索範囲に対し、対象検査ブロックの中心より外側に向かい捜査を行なうスパイラル探索手順を基本にマッチング処理を実施する。但し、探索順序には以下の規則を追加する。1スパイラル探索に基づき下図のように中心[0]からの連番に対応した分、現画像の原点をシフトして元画像とのマッチング処理を行なう。2探索の優先順位に関しては、参照図として図16を挙げる。次に判別用に次の緒言について固定閾値を設定する。3更新前の評価値と現行位置での評価値の差分闘値の設定。マッチング探索処理については以下の手順で行なう。4ブロック中心[i、j]画素から外側方向へ設定手順どおりの探索を開始する。探索時にマッチング探索シフト量より発生するフローの長さが評価起動用フロー長より短い位置である場合は、従来と同じ評価手順で処理を行なう。マッチング探索により発生するフローの長さが評価起動用フロー長を超える位置を超過する場合。5前回の位置でのマッチング評価値と今回の評価値の差が大きく変動差分閾値を超過する場合、従来処理通りの手順で評価を行なう。即ち、探索位置[Δi、Δj]=[Δi1、Δj1]で一致度が向上する場合は、オプティカルフロー[Fwxi、Fwyj]を[Fwxi、Fwyj]=[FwxΔi1、FwyΔj1]で更新し、あわせて保持している一致度評価値を更新する。一致度が低下する場合は、次の探索位置[Δi、Δj]=[Δi3、Δj3]での評価に移行する。前回の位置でのマッチング評価値と今回の評価値の変動差が小さい±で差分閾値以下場合、前回の探索までに取得したフローと現在探索位置で発生するフローについて次の式によりフロー内角に関して内積評価法を行なう。例えば、現時点の最一致箇所が[Δi、Δj]=[Δi1、Δj1]、探索中の地点が[Δi、Δj]=[Δi2、Δj2]である場合、あるいは、次式のように純フロー内積値による判定でも使用可能である。※今提案の場合、計算コスト削減による高速化あるいはハードウェア化を主題とするので、フロー簡易内積による判定法を提案するものであるが、純フロー内積に関する解釈でも技術的に可能であるので紹介する。また、純フロー内積判定闘値がcos15~90degの場合、それぞれの結果に関しては大きな違いは発生しない。よって、フロー簡易内積評価でも要求精度を確保できると推定される。ここで、図17の純フロー内積閾値cos15deg及び簡易フロー内積による判定[純フロー内積閾値cos90deg]を示す図を開示する。また、図18の純フロー内積閾値cos120degを示す図を開示する。前式によりフロー簡易内積評価値が0以下=フロー内角が90度以上となる場合6フローに関して検出したフロー[Fwxi●、Fwyj●]をX、Y方向それぞれの成分をM1倍した、[M1Fwxi●、M1Fwyj●]で、探索中のフロー[Fwxi、Fwyj]を更新する。※純内積評価で判定を行なう場合は、別途内積判別閾値の追加が必要である。例:純フロー内積評価値が設定した閾値cos30°以下の場合は許可7一致度に関してこの[i、j]位置におけるマッチング評価値を差分評価値等の値を減算NCCのときは加算して、評価値を一致方向に向上するよう更新する。※M1倍とするのは、[i、j]位置がフローの方向成分を変えずにフロー長さから無効箇所であることを判別できる設定であるため。以上の評価規則に沿って、基点[X、Y]=[i、j]を中心に探索範囲M2以内でマッチング処理を繰り返す。全ての探索位置でマッチング処理を完了した場合、背景となる箇所については、以下の条件で判断し誤検出フローを除去する。8上記の7に関する操作が適用され、フローの長さが探索範囲Mを超えるものは誤検出箇所と判断する。9上記の7に関する操作が適用され、判定結果値が異常値SADなら0以下、NCCなら1.0以上となる位置は、誤検出箇所と判断する。[手順6以降に関する別解]一致度差分評価値が、小さく向きが不ぞろいなフローが検出された[i、j]位置において、装置が検出したフロー[Fwxi、Fwyj]をM1倍するだけのメモリを確保できない場合、画像と同じサイズの記録バッファを用意し、フラグを立てる。フロー[Fwxi、Fwyj]は[Fwxi●、Fwyj●]で更新する。つまり、フラグ用の記録バッファを利用することで、マッチング各段階での保持するフローの方向成分を失うことなく次回のフロー内積判定に利用できる。次点以降のマッチング処理に際し、手順5による大幅な一致度評価値更新があった場合、従来処理通りの手順でフローとスコア値の更新を行なうと共に、フラグをリセットする。本手法を実践する場合、ブロックマッチングの探索順序をスパイラル探索に基づきブロック中心から次第に外へと進めていく手法が好ましい。これは、検出する順位をブロック中心に隔てなく変化させ発生するフロー方向を常に変化させることで、変化の探索順位の拘束条件に基づく誤検出を回避できるためである。一般的に行なわれるよう、ブロックの探索を左上から右下へと探索を行なう場合、探索方向が偏ってしまい柔軟に周囲の検出フローの評価を行なう際の支障となる場合が考えられるためである。以下の参照図である図19のように、いずれの場合もスパイラル探索の有効性が確認できる。提案特許の効果にする解説1フローの内積差分判断について通常、オプティカルフロー検出処理から検出されたフローに関して検出フローの精度を判定する場合、検出したマッチング一致度の結果に閾値を設定し判別するのが一般的である。しかしながら、車両に搭載したカメラ等で外部周辺の確認を行なう装置など、システムの使用環境が屋外である場合、日照条件等の環境変化、路面からの反射光、また走行中であれば構造物の影などカメラの画像には外乱が加わり、画像全体あるいは局所領域に必ず輝度の変化が発生する。また、これら外乱にはカメラの機械的電気的なノイズがさらに加味される。路面等、背景には関しては形状の判別ができないため、対象ブロック周辺で複数の一致度の類似箇所が発生する。これら類似箇所は設定するブロックのサイズにもよるが、通常以下のような状態で発生することが伺える。ここで、図20の道路の点A~Cを示す図を開示する。上図についてシフトオプティカルフロー位置と対応した検出したSAD一致度を、以下の図21~図23に点A~Cまでの相関表で示す。通常のブロックマッチングではまず指定された点を中心にNxNのサイズの中で該当評価計算式に沿い一致度を算出する。次に、画像原点をシフトした現画像と元画像を比較し、同様にスコアを計算する。より一致度が高い箇所が検出された場合、シフト量を記録更新する。処理を探索範囲MxMの中で繰り返し実行し、最も一致度を指すシフト量をオプティカルフローとして取り扱う。しかしながら、前述の点B、点Cのような箇所については、例え一致度が優れていても、その値が他のシフト位置より突出していない。他にも類似するスコアを持つ位置が多数存在する。このような状態で取得したオプティカルフローからは要求される信頼性を確保できない。よって、本手法では、類似する一致度同士の差は小さいことを利用し、一致度と検出された一致度を比較計算する際の差分値に対して閾値条件を設定する。一致度の差分値が閾値以下となる箇所が確認された場合、その該当位置で検出されたフローA元シフト量と、直前までのシフト位置で計測したフローB現シフト量による一致度スコアを確認する。差分値を確認し一致度スコアが大きく改善している場合は、そのまま従来どおりの処理を進める。さらに一致度スコアの更新量が小さい場合は、フローA/B同士について簡易内積評価を起動し、ブロック周辺のフロー方向の内積を評価する手法を組み合わせる。内積が不一致と判別された場合は、フロー情報をM1倍しオーバーフローが発生した箇所として、フローの方向性を維持したまま、背景と疑わしい箇所と識別できる状態とするあるいは、記録フラグを立てる。。また、一致度が大幅に改善された場合は、保持しているフローを通常の値に更新し、オーバーフローの情報をリセットすることで再び移動体の検出を行なう状態に復旧する。特徴量の豊かなブロック位置では、静止であろうと移動であろうと類似する一致度が発生する箇所は、周囲の一致度と比較し非常にユニークで限定的なスコアを発するので、通常のSAD処理等でも信頼性の高いフローを取得することができる。標準的な特徴量しか持ち合わせないブロック位置でも移動する物体を示すブロックでは、移動に沿った方向に沿って他の方向より優れた一致度を持つ傾向となり、結果、向きのほぼ揃ったフローを発する確率が高い。よって、フローの内積評価を繰り返すことで検出されるフローは、次第に他の方向を向くフローを排除しながら、同じ移動方向に沿ったフロー同士による一致度の選抜評価を行なう方向へ機能していく。また、路面背景等に関しては周辺で類似する一致度を持つが方向が異なるフローが複数回検出されるため、次第に保持するフローがオーバーフロー情報を保持する傾向へ移行する。これは特徴量に乏しいブロック位置でも同様に機能する。本手法によれば、フローを各探索位置での評価毎に評価するため、対象ブロック近傍のフローに関して、同程度の一致度を持ち、同一方向を示すフローが集まっているかどうかの判定を通常のブロックマッチング処理に加えて並行して実施することができ、特別な前処理や後処理を必要としないため、より高速に効率良く信頼性の低いフローを結果出力から排除することができる。よって、点Aにて発生するフローは許可し、点B/Cに発生するフローを排除できる。特に、簡易内積評価にてフロー内積を90度以上の直鈍角か90度未満の鋭角かの2値で判定し、鋭角側のフロー群を有効評価可能としたグループ単位で内積変化を評価するならば、NCC等で求められる除算処理正規化処理等が不要であり、加減乗算の組み合わせのみで対応できるので、FPGA等のハードウェア化に適する手法と判断できる。2フローの内積差分判断を一致度差分にて起動する手法についてさらに本手法は、一致度の差分評価値を評価基準の主体とするため特にSADやSSDべ一スのブロックマッチングのように日照条件等の環境機械的電気的ノイズ等の外乱による局所領域の輝度変化に対して検出精度が低下する事例に関して非常に有効な手段であると考えられる。つまり、外乱により局所領域的に輝度変化が発生した際、影響は周囲全てのマッチング探索位置に均等に影響することを考慮すれば、その評価を各ブロック単位での一致度差分として扱うことで、外乱による輝度変化の影響を回避可能であり、ブロックサイズNに比例した固定の差分閾値で安定した評価を実現することができる。また、ブロックマッチング作業時に生じる窓問題に関しても、逆向きに一致するフローの評価により若干の改善効果を得ることができる。以下にマッチング処理の際に内部機能する効果を例にとり、本提案手法による有効性を示す。ノイズがない場合のSAD評価例えば、閾値ThrSADより低い箇所を背景と判別する場合を取り上げる。次画像IMG2にΔεの外乱の影響が入った場合のSAD今回は探索範囲内MxM内で均等ノイズとするSADiΔi、jΔjに関して外乱により発生したεN2の値が、閾値ThrSADより大きい場合、この探索位置は背景ではなく、対象であると判別される。通常閾値の値ThrSADを設定する際は、余裕度を持って設定しなければならないが、検出精度を確保しようと試みる場合、閾値の幅をあまりに広く設定する方法は好ましくない。代理の手段としてはεN2の影響を画質改善IMG2から除去する、あるいはεN2の大きさを確認してThrSADを動的に調整しなければならないが、例えば、εN2が局所領域的に発生する場合、εN2の影響を受ける探索位置に応じて、これらの補正処理を切り替える作業は非常に負担の大きな処理となりかねない。次画像IMG2にΔεの外乱の影響が入った場合のNCC同様に探索範内MxM内で均等ノイズとする先の記述に沿って外乱εが探索範囲内のブロックに影響すると考えた場合、εN2による次画像IMG2で探索範囲内ブロックが受ける影響はブロック内輝度平均による調整項の差分で回避できる。本提案の場合例えば、閾値ThrSUDより低い箇所を類似一致箇所と判別する場合を取り上げる。本提案の場合、差分による評価を行なうため、周囲のブロックに対する外乱εN2の影響は相殺されるので、固定の閾値でも判別処理が可能である。よって、マッチング探索ごとにThrSUDの評価を行い、一致度スコアが類似であると判別されるたびにフロー方向を参照し、向きが相反するフローが検出された場合を背景としてチェックしていけば、結果的に類似方向を示す対象、すなわち特徴量を持つ物体だけを移動物体として背景等、他の要素と分類して抽出することができる。3繰り返しパターンによる影響の軽減効果例えば、FOEとフロー始点を結ぶ直線と検出したフローの内積による接近物体の識別について、道路白線部などに繰り返しパターンにより接近離反の方向検出が困難な誤検出が発生することを取りあげた。さらに、この状態における接近と離反の相反するフローを示す該当探索箇所では、一致度が近いことも記した。本手法では、一致度が近い故にこのような状況の探索箇所の存在がフローの内積評価で明らかとなる。よって、繰り返しパターンの軽減に効果を与える。例えば、特開2000-168442、特開2008-97126等のように密集して発生するフロー1群を単位とし、近傍のフローグループの集まりの大きさで接近物体の存在を確認する処理に併用すれば、白線箇所で密集する誤検出の集まりが小さくなる、あるいは細分化されるため、より精度の高い接近物体検出効果を得ることができる。例えば、このような状況は効果説明1の点C項に該当するものと考えることができる。ここで、図24のFOE内積判定処理前及びのFOE内積判定処理後のSADベースブロックマッチング結果を示す図を開示する。4多様なブロックマッチングへの応用本手法は、特別な前処理後処理をブロックマッチングに追加するのではなく、マッチング途中の処理段階でそれぞれの処理に並行するよう組み合わせて使用できる。よって、用途はSADのみではなく、SSDNCC等の他のブロックマッチング処理についても有効である。例えば、図25及び図26の例では、白線位置に発生する繰り返しパターンによる誤検出の減少効果を得ることができる。次に、図1の前記オプティカルフロー検出装置1の制御用フローチャートに沿って作用を説明する。このオプティカルフロー検出装置1の制御用プログラムがスタート101すると、MxM個の指定オフセットテーブル102bから探索順位と該当オプティカルフローの序列を作成し、データテーブル化する以下、序列テーブル102aという。処理102に移行する。この処理102の後には、スコアを記録する画像と同幅高さのメモリを用意し、初期化する以下、スコアバッファという。処理103に移行する。そして、処理103の後には、フローを記録する画像と同幅高さのメモリを用意し、初期化する以下、フローバッファという。処理104に移行する。この処理104の後に、作業開始の処理105を経て、画像IMG1取得の処理106、及び、画像IMG2取得の処理107を行い、前記序列テーブル102aの現位置はMxM個を超過したか否かの判断108に移行する。この前記序列テーブル102aの現位置はMxM個を超過したか否かの判断108において、判断108がYESの場合には、オプティカルフロー決定の処理109に移行し、判断108がNOの場合には、前記序列テーブル102aよりN回目のシフト量[ΔiN、ΔjN]を取得する処理110に移行する。上述のオプティカルフロー決定の処理109の後には、後処理111を行う。この後処理111においては、フローを基本とした装置機能を提供する。そして、この後処理111の後には、画像IMG1と画像IMG2とをスワップ交換し、次の動画処理の準備を行う処理112に移行し、上述した画像IMG2取得の処理107に戻る。また、上述した前記序列テーブル102aよりN回目のシフト量[ΔiN、ΔjN]を取得する処理110の後には、画像IMG2の原点を[ΔiN、ΔjN]分シフトする処理113に移行する。この画像IMG2の原点を[ΔiN、ΔjN]分シフトする処理113の後には、画面全体、全ての画素を探索できたか否かの判断114に移行する。この画面全体、全ての画素を探索できたか否かの判断114において、判断114がYESの場合には、上述した前記序列テーブル102aの現位置はMxM個を超過したか否かの判断108に戻り、判断114がNOの場合には、次のマッチング確認位置検索中心を画素[i、j]の指示点に設定する処理115に移行する。そして、この次のマッチング確認位置検索中心を画素[i、j]の指示点に設定する処理115の後には、評価式はNCCZSAD等であるか否かの判断116に移行する。この評価式はNCCZSAD等であるか否かの判断116において、判断116がYESの場合には、先に指示点[i、j]およびその周囲[iu、jv]の合計NxN個の画素についてブック内輝度平均値を求める処理117に移行し、その後に、指示点[i、j]およびその周囲[iu、jv]の合計NxN個の画素について評価式にそって一致度スコアを計算する処理118に移行する。また、判断116がNOの場合には、そのまま指示点[i、j]およびその周囲[iu、jv]の合計NxN個の画素について評価式にそって一致度スコアを計算する処理118に移行する。そして、この処理118の後には、計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアと差分値絶対値を計算する処理119に移行する。この処理119の後には、一致度スコアの差分値は大きく変化しているか否かの判断120に移行する。この一致度スコアの差分値は大きく変化しているか否かの判断120において、判断120がYESの場合には、計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアよりも優れているか否かの判断121に移行し、判断120がNOの場合には、現在のフロー[Δi、Δj]とフローバッファ[i、j]の記録値でフローの内積評価を行う処理122に移行する。そして、この処理122の後には、フローの内積評価によりそれぞれのフローの内角の差は、条件を満たすか否かの判断123に移行する。このフローの内積評価によりそれぞれのフローの内角の差は、条件を満たすか否かの判断123において、判断123がYESの場合には、上述した計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアよりも優れているか否かの判断121に移行する一方、判断123がNOの場合には、以下の処理124を行った後に、上述した画面全体、全ての画素を探索できたか否かの判断114に戻る。ここで、処理124の内容を列記する。1フローバッファ[i、j]へ[M1Δi、M1Δj]の値を記録する。2スコアバッファの[i、j]位置に記録されたスコアをより厳しい方向へ更新する。例えば、SADであれば、半分にする等※別解を使用するならば、1フローバッファ[i、j]への登録値は[Δi、Δj]で行う。2画像と同サイズのフラグバッファを用意し、フラグバッファ[i、j]の内角違反を記録する。そして、上述した計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアよりも優れているか否かの判断121において、判断121がYESの場合には、スコアバッファの[i、j]位置へ先ほど計算した一致度スコアを記録する一方、同様に、フローバッファの[i、j]位置へシフト量[ΔiN、ΔjN]を記録する処理125を行った後に、別解を使用しているならば、フラグバッファ[i、j]の内角違反をクリアする処理126を行い、その後に、上述した画面全体、全ての画素を探索できたか否かの判断114に戻る。また、計算した一致度スコアはスコアバッファの[i、j]位置に記録されたスコアよりも優れているか否かの判断121がNOの場合には、そのまま画面全体、全ての画素を探索できたか否かの判断114に戻る。なお、この発明は上述実施例に限定されるものではなく、種々の応用改変が可能である。例えば、この発明の実施例においては、車両の周辺の移動障害物の危険度判定等の自動支援技術や、その他のロボットアイ等、マシンビジョンに基づく移動体検出技術などに応用することが可能である。