(57)【要約】【課題】  連続する画像において対象物の輪郭等の特徴領域動きを検出して、特徴領域の移動速度、移動方向及び位置を容易に算出する。【解決手段】撮像部１で撮像した画像から特徴抽出部２でエッジ等の特徴領域を抽出し、特徴規格化部３によりエッジ幅を規格化することで、特徴領域を規格化する。投票部４では特徴領域の検出された位置のカウント値をカウントアップし、移動速度検出部５ではカウントアップされたカウント値の傾きを算出して、このカウント値の傾きに基づいて、特徴領域の移動方向、移動速度及び位置を求めている。【選択図】      図１
2005209155.tif 000002
【特許請求の範囲】
【請求項１】
周辺画像を撮像する撮像手段と、
前記撮像手段により撮像された画像中より速度算出を行う領域の特徴領域を抽出する特徴抽出手段と、
前記特徴抽出手段により抽出された特徴領域の大きさを規格化する特徴領域規格化手段と、
前記特徴領域規格化手段により規格化された特徴領域情報に基づき、特徴領域が検出されていない領域をその特徴領域のマスク領域として設定するマスク生成手段と、
前記マスク領域の位置のカウント値をリセットし、前記マスク領域によりマスクされていない非マスク領域の位置のカウント値をカウントアップする投票手段と、
連続するフレームに渡って蓄積されたカウント値の傾きより、その特徴領域の移動方向及び移動速度を算出する移動速度検出手段と
を有することを特徴とする動き検出装置。
【請求項２】
前記特徴抽出手段は、対象物のエッジ成分である特徴領域を検出することを特徴とする請求項１に記載の動き検出装置。
【請求項３】
前記特徴抽出手段は、対象物のコーナーエッジ成分である特徴領域を検出することを特徴とする請求項１に記載の動き検出装置。
【請求項４】
前記特徴抽出手段は、対象物の特徴ベクトルである特徴領域を検出することを特徴とする請求項１に記載の動き検出装置。
【請求項５】
前記特徴領域規格化手段は、前記特徴抽出手段により抽出された特徴領域より代表点を規定し、代表点を基準として所定のパターンを形成することを特徴とする請求項１乃至請求項４の何れかに記載の動き検出装置。
【請求項６】
前記移動速度算出手段は、前記カウント値の傾きと、前記カウント値の中で最小のカウント値とに基づいて、前記特徴領域の位置を算出することを特徴とする請求項１乃至請求項４の何れかに記載の動き検出装置。
【請求項７】
前記特徴領域規格化手段は、前記特徴領域の移動速度に応じて、規格化する特徴領域を規定することを特徴とする請求項１乃至請求項４、請求項６の何れかに記載の動き検出装置。
【請求項８】
隣接する特徴領域との位置関係に基づき、前記投票手段によるカウント値並びに前記マスク領域をリセットするリセットタイミングを設定するリセットタイミング生成手段を有することを特徴とする請求項１乃至請求項４の何れかに記載の動き検出装置。
【請求項９】
前記マスク生成手段は、前記特徴領域規格化手段により規格化された特徴領域それぞれについて、前フレームにおける特徴領域のマスク領域と現フレームにおいて該特徴領域が検出されていない領域との論理積で得られる領域を、現フレームにおける該特徴領域のマスク領域として設定することを特徴とする請求項１乃至請求項４、請求項８の何れかに記載の動き検出装置。
【請求項１０】
前記リセットタイミング生成手段は、隣接する特徴領域それぞれの非マスク領域が互いに重畳するとき、前記リセットタイミングを生成して前記投票手段によるカウント値並びに前記マスク領域をリセットすることを特徴とする請求項１乃至請求項４、請求項８、請求項９の何れかに記載の動き検出装置。
【請求項１１】
周辺画像を撮像する撮像ステップと、
前記撮像ステップにより撮像された画像中より速度算出を行う領域の特徴領域を抽出する特徴抽出ステップと、
前記特徴領域抽出ステップにより抽出された特徴領域の大きさを規格化する特徴領域規格化ステップと、
前記特徴領域規格化ステップにより規格化された特徴領域情報に基づき、特徴領域が検出されていない領域をその特徴領域のマスク領域として設定するマスク生成ステップと、
前記マスク領域の位置のカウント値をリセットし、前記マスク領域によりマスクされていない非マスク領域の位置のカウント値をカウントアップする投票ステップと、
連続するフレームに渡って蓄積されたカウント値の傾きより、その特徴領域の移動方向及び速度を算出する移動速度検出ステップと
を有することを特徴とする動き検出方法。
【請求項１２】
前記特徴抽出ステップは、対象物のエッジ成分である特徴領域を検出することを特徴とする請求項１１に記載の動き検出方法。
【請求項１３】
前記特徴抽出ステップは、対象物のコーナーエッジ成分である特徴領域を検出することを特徴とする請求項１１に記載の動き検出方法。
【請求項１４】
前記特徴抽出手段は、対象物の特徴ベクトルである特徴領域を検出することを特徴とする請求項１１に記載の動き検出方法。
【請求項１５】
前記特徴領域規格化ステップは、前記特徴抽出手段により抽出された特徴領域より代表点を規定し、代表点を基準として所定のパターンを形成することを特徴とする請求項１１乃至請求項１４の何れかに記載の動き検出方法。
【請求項１６】
前記移動速度算出ステップは、前記カウント値の傾きと、前記カウント値の中で最小のカウント値とに基づいて、前記特徴領域の位置を算出することを特徴とする請求項１１乃至請求項１４の何れかに記載の動き検出方法。
【請求項１７】
前記特徴領域規格化ステップは、前記特徴領域の移動速度に応じて、規格化する特徴領域を規定することを特徴とする請求項１１乃至請求項１４、請求項１６の何れかに記載の動き検出方法。
【請求項１８】
隣接する特徴領域との位置関係に基づき、前記投票ステップによるカウント値並びに前記マスク領域をリセットするリセットタイミングを設定するリセットタイミング生成ステップを有することを特徴とする請求項１１乃至請求項１４の何れかに記載の動き検出方法。
【請求項１９】
前記マスク生成ステップは、前記特徴領域規格化ステップにより規格化された特徴領域それぞれについて、前フレームにおける特徴領域のマスク領域と現フレームにおいて該特徴領域が検出されていない領域との論理積で得られる領域を、現フレームにおける該特徴領域のマスク領域として設定することを特徴とする請求項１１乃至請求項１４、請求項１８の何れかに記載の動き検出方法。
【請求項２０】
前記リセットタイミング生成ステップは、隣接する特徴領域それぞれの非マスク領域が互いに重畳するとき、前記リセットタイミングを生成して前記投票ステップによるカウント値並びに前記マスク領域をリセットすることを特徴とする請求項１１乃至請求項１４、請求項１８、請求項１９の何れかに記載の動き検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続する画像に含まれる対象物を検出して、当該対象物の移動速度、移動方向及び位置等を検出する動き検出装置及び動き検出方法に関する。
【背景技術】
【０００２】
近年、例えば車両に搭載される場合には、車両走行時における前方車両や車両前方の道路等を認識する目的で、種々の周辺監視装置が提案され、実用に供されている（例えば、下記の特許文献１の特開２００３−６７７５２号公報に開示の車両周辺監視装置など）。このような周辺監視装置は、カメラによって撮像された動画像に画像処理を施して周辺の変化を認識するものであるが、動画像処理技術の一手法として、オプティカルフロー（optical flow；カメラの観測者と移動物体との相対的な動きによって生じる画像上の各点の速度場のことをいう）による解析手法が知られている。
【０００３】
画像中より移動速度成分を検出する従来のオプティカルフローの検出方法としては、フレーム間で対応点を決定して動きベクトルを求める相関法や、各点の明るさの空間的および時間的な勾配の間の関係を用いる勾配法等の手法が一般的に用いられている。
【０００４】
まず、相関法は、画像を小領域に分割し、連続する画像中より、これとよく似た領域を見つけるブロック間マッチングを用いる手法である。相関法では、時刻ｔにおける注目領域I（ｘ，ｙ，ｔ）と連続するフレームで対応する領域I（ｔ＋１，ｘ＋ｕ，ｙ＋ｖ）において、
ΣΣ｛I（ｘ，ｙ，ｔ）−I（ｘ＋ｕ，ｙ＋ｖ，ｔ＋１）｝２
ΣΣ｜I（ｘ，ｙ，ｔ）−I（ｘ＋ｕ，ｙ＋ｖ，ｔ＋１）｜
を最小化する（ｕ，ｖ）を求める。この（ｕ，ｖ）が連続するフレーム間での対象の移動量となる。
【０００５】
次に、勾配法は、各画素における明るさの空間的勾配と時間的勾配の間の関係を用いる。ある時刻ｔにおける座標（ｘ，ｙ）における明るさをｆ（ｘ，ｙ，ｔ）とすると、ｘおよびｙ方向にδｘ，δｙだけ移動する時間δｔ後のパターン上の点（ｘ，ｙ）の明るさは変化しないと仮定する。このとき、次式が成り立つ。
【０００６】
ｆ（ｘ，ｙ，ｔ）＝ｆ（ｘ＋δｘ，ｙ＋δｙ，ｔ＋δｔ）
上式をテイラー展開し、δｔ→０とすることで、
δｆ／δｘ・ｄｘ／ｄｔ＋δｆ／δｙ・ｄｙ／ｄｔ＋δｆ／δｔ＝０
を得る。この動きベクトルの勾配条件だけでは動きベクトル（ｄｘ／ｄｔ，ｄｙ／ｄｔ）を決定することはできないので、勾配条件に、さらに制約条件を加えて動きベクトルを算出する。加える制約条件としては、動きベクトルが空間的に滑らかに変化する条件等が一般的には用いられている。
【０００７】
また、対象物の動きを検出する他の技術としては、下記の特許文献２に記載された動画像処理装置が知られている。この動画像処理装置は、画像入力部でシーンの時系列画像を取り込み、フロー検出部で動画像系列のある適当な基準画像画像と現在の画像との間の各画素のフローベクトルを検出する。そして、フロー検証部により、各画素毎のフローベクトルの信頼性を評価し、信頼性の高い場合には、当該フローベクトルについて速度決定部において画素移動量が一定量に達する移動時間を計測し、移動速度を出力している。
【特許文献１】特開２００３−６７７５２号公報
【特許文献２】特開２００１−２０９８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した相関法においては、処理手順は比較的簡単であるが、注目する領域の周りに相関値を算出する領域を設け、フレーム間で、領域内輝度の相関値を計算するため、テンプレートマッチングのようなブロックマッチング処理が必要となり、計算量が膨大となって処理時間が長くなるという問題点がある。すなわち、ブロックマッチングを用いた手法において、サブピクセル以下の画素群を使用することによって、詳細な位置情報を算出するには、登録したテンプレートである画素群データを、注目位置を中心に、その周囲に所定量だけずらしながら算出した複数の相関値を高次曲線で補間し、その極値を与える位置を算出することによって動きを推定するために、計算量が膨大となってしまう。
【０００９】
また、勾配法においては、画像の輝度変化に弱く、処理手順が複雑であるという問題点がある。
【００１０】
本発明は、このような従来の課題を解決するためになされたものであり、その目的とするところは、より少ないデータ量で且つ比較的簡単な処理手順を用いることで、画像中からの移動速度成分の検出をより高速に処理し得る動き検出装置及び動き検出方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を解決するため、本発明は、周辺画像を撮像する撮像手段と、前記撮像手段により撮像された画像中より速度算出を行う領域の特徴領域を抽出する特徴抽出手段と、前記特徴抽出手段により抽出された特徴領域の大きさを規格化する特徴領域規格化手段と、前記特徴領域規格化手段により規格化された特徴領域情報に基づき、特徴領域が検出されていない領域をその特徴領域のマスク領域として設定するマスク生成手段と、前記マスク領域の位置のカウント値をリセットし、前記マスク領域によりマスクされていない非マスク領域の位置のカウント値をカウントアップする投票手段と、連続するフレームに渡って蓄積されたカウント値の傾きより、その特徴領域の移動方向及び移動速度を算出する移動速度検出手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明に係る動き検出装置では、撮像手段（撮像ステップ）により撮像された画像について、特徴抽出手段（特徴抽出ステップ）により特徴領域を抽出し、その特徴領域をエ特徴領域規格化手段（特徴領域規格化ステップ）により規格化し、マスク生成手段（マスク生成ステップ）により、規格化された特徴領域情報に基づき特徴領域が検出されていない領域をその特徴領域のマスク領域として設定し、投票手段（投票ステップ）により、該マスク領域の位置のカウント値をリセットすると共に、該マスク領域によりマスクされていない非マスク領域の位置のカウント値をカウントアップし、移動速度検出手段（移動速度検出ステップ）により、連続するフレームに渡って蓄積されたカウント値の傾きに基づき、その特徴領域の移動方向、速度を算出するので、カウント値は特徴領域が観測された時間計測をしていることと等価であり、該カウント値の勾配から特徴領域が所定画素数移動するのに要するフレーム数を計測して、そのエッジの移動方向、速度および加速度をテンプレートマッチングのようなブロックマッチングを用いることなく容易に求めることができる。また、非マスク領域の位置に基づいてのみ算出処理を行うので、より少ないデータ量に対して比較的簡単な手順で処理でき、画像中からの移動速度成分の検出をより高速に処理することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の第１実施形態〜第３実施形態について図面を参照して説明する。
【００１４】
［第１実施形態］
本発明は、例えば図１に示すように構成された動き検出装置に適用される。
【００１５】
［動き検出装置の構成］
この動き検出装置は、例えば車両に搭載され、車両周囲を撮像して取得した連続する画像において対象物の特徴点又は領域（以下、特徴領域と呼ぶ）が与えられた時に、対象物を示す特徴領域の動きを検出するものである。
【００１６】
この動き検出装置は、図１に示すように、撮像部１、特徴抽出部２、特徴規格化部３、投票部４、移動速度検出部５を備えて構成されている。
【００１７】
撮像部１は、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）イメージセンサやＣＣＤ（Charge Coupled Device）イメージセンサ等の撮像素子によって構成され、画像を撮像してその画像を一定間隔毎にフレームとして取り出して連続処理を行う。このとき、観測対象となる対象物の現象（移動速度）よりも十分に高いフレームレートでフレーム画像を取得する。
【００１８】
特徴抽出部２は、動き検出対象となる対象物を含む画像データを撮像部１から入力し、当該画像データに画像処理を施すことによって、対象物の特徴量又は特徴領域を抽出する。この特徴点又は特徴領域を抽出するに際して、特徴抽出部２は、エッジ検出フィルタ、コーナーエッジ検出フィルタ、又は、特徴ベクトル算出フィルタを使用する。なお、この特徴抽出部２の処理内容については後述する。
【００１９】
特徴規格化部３は、特徴抽出部２により抽出された特徴領域より代表点を規定し、代表点を基準に、所定のパターンを形成することにより、特徴の大きさを規格化する。すなわち、特徴規格化部３は、特徴抽出部２により得られた特徴領域を含む所定の位置に、規格化されたパターンを設定する。これにより、特徴規格化部３は、特徴抽出部２によって検出された特徴領域を所定の大きさに規格化する。
【００２０】
投票部４は、特徴規格化部３により設定された規格化パターンが検出された位置（非マスク領域）に対応するメモリアドレスのカウント値をカウントアップする処理、又は、規格化パターンが検出されてなかった位置（マスク領域）に対応するメモリアドレスのカウント値をリセットする処理の何れかの処理である投票処理を行う。これにより、投票部４は、現在処理対象となっているフレームにおいて、規格化パターン、すなわち抽出された特徴が、何フレーム連続して同じ位置に検出されたかという情報を記憶する。
【００２１】
移動速度検出部５は、投票手段１４に記憶されたカウント値と、当該カウント値の複数の位置に亘る勾配に基づき、抽出された特徴領域の移動速度及び移動方向を算出する。
【００２２】
このように構成された動き検出装置は、その処理の概略図を図２に示すように、先ず撮像部１により、対象物である他車両１１を含む画像Ｐ１を取得すると、特徴抽出部２により、画像Ｐ１から他車両１１を示す特徴領域１２を抽出した特徴画像Ｐ２を作成し、当該特徴領域１２を規格化して規格化パターン１３を設定する。このとき、特徴規格化部３は、特徴領域１２の大きさを規格化することによって、当該特徴領域１２を含む位置に規格化された規格化パターン１３を画像Ｐ３内に設定する。そして、動き検出装置では、連続するフレームに亘って、撮像部１、特徴抽出部２及び特徴規格化部３を動作させることにより、投票部４により、同一の規格化パターン１３の検出回数を示すカウント値をカウントすることによって、同一画像内位置に含まれる複数のカウント値１４を得る。
【００２３】
つぎに、上述した動き検出装置における特徴抽出処理及び特徴規格化処理について説明する。
【００２４】
（１）エッジ検出フィルタを用いる場合
先ず、特徴抽出部２によりエッジ検出フィルタを使用して特徴を検出する場合について説明する。
【００２５】
特徴抽出部２は、特徴としてエッジ情報を用いる場合は、Ｓｏｂｅｌフィルタや、Ｐｒｅｗｉｔｔフィルタなどの、濃淡画像のうち、複雑な部分や急激に輝度が変更する部分であるエッジを抽出するフィルタを用いる。これにより、特徴抽出部２は、特徴であるエッジとして認識された画素と、エッジとして認識されない画素とからなるエッジ画像を作成する。
【００２６】
このような特徴抽出部２からエッジ情報が送られる特徴規格化部３は、図３に示すように、２値化部２１、細線化部２２、膨張部２３及びピーク位置検出部２４を備えて構成される。このような特徴規格化部３は、特徴領域の大きさを規格化する処理として、エッジ幅を規格化する。
【００２７】
すなわち、特徴規格化部３は、２値化部２１により特徴抽出部２からのエッジ画像を取得すると、エッジ画像を値が「０」と「１」からなる２値化画像とする２値化処理を行い、２値化後の値が「１」（アクティブ）なエッジに対して、細線化手段２２により細線化処理を、エッジ幅が所定画素数になるまで繰返し行い、検出された全てのエッジ幅を所定画素数（１画素）に統一する。そして、膨張部２３では、エッジ幅が（１画素に）統一されたエッジを必要に応じた所定画素数（例えば３画素）まで膨張させている。
【００２８】
これらの２値化処理、細線化処理及び膨張処理により、特徴抽出部２で抽出されたエッジ画像は、エッジ幅が所定値（３画素）に統一された２値の正規化エッジ画像として生成されることになる。なお、エッジ幅を統一するにあたり、特徴規格化部３のピーク位置検出部２４では、特徴抽出部２から出力されるエッジ画像のエッジピーク位置を検出し、そのエッジピーク位置に所定画素数の幅を持たせた２値画像を生成することでエッジ幅を規格化しても良い。
【００２９】
これにより、特徴規格化部３は、２値化部２１、細線化部２２及び膨張部２３による処理による処理を行うことにより、特徴領域の大きさを規格化することができ、当該規格化された特徴領域の画像内位置を示す情報を投票部４に送る。
【００３０】
（２）コーナーエッジ検出フィルタを用いる場合
つぎに、特徴抽出部２によりコーナーエッジ検出フィルタを使用して特徴を検出する場合について説明する。
【００３１】
ここで、画像内のエッジ成分は、通常、対象物の輪郭又は一部の複雑な部分に相当する画像位置に現れる。これに対し、特徴抽出部２は、コーナーエッジ検出フィルタを使用することにより、対象物の輪郭のうち、当該輪郭が折れ曲がる角部を検出する。
【００３２】
このコーナーエッジ検出フィルタとしては、例えばＳＵＳＡＮオペレータが使用可能である。このＳＵＳＡＮオペレータを使用することにより、特徴抽出部２は、注目画素を中心とした所定領域中に含まれる画素のうち、注目画素の濃度値に近い濃度値を有する画素を検出し、当該検出した画像が所定領域に占める割合に基づいて、対象物のコーナーエッジを検出する。これにより、特徴抽出部２は、図４に示すように、対象物を含む入力画像Ｐ１１の特徴領域（点）として、当該対象物のコーナーエッジ（ａ）、（ｂ）、（ｃ）を検出する。
【００３３】
これに対し、特徴規格化部３は、特徴抽出部２により検出されたコーナーエッジの位置を基準に、当該コーナーエッジの動きを計測する規格化パターンを設定する。このとき、特徴規格化部３は、図４において、入力画像Ｐ１１が入力され、特徴抽出部２で検出されたコーナーエッジ（ａ）〜（ｃ）の位置に相当する位置に、同一の大きさからなる規格化パターン（ａ’）〜（ｃ’）を設定する。これによって、特徴領域の大きさを同一にする規格化を行うことができ、当該規格化された特徴領域の画像内位置を示す情報を投票部４に送る。
【００３４】
（３）特徴ベクトル算出フィルタを用いる場合
つぎに、特徴抽出部２により特徴ベクトル算出フィルタを使用して特徴を検出する場合について説明する。
【００３５】
特徴抽出部２は、入力画像から対象物の特徴を示す特徴ベクトルを生成するに際して、例えば、エッジの特徴を用いた高次局所自己相関関数等を使用した演算を行う。このように、高次局所自己相関関数によってエッジ特徴を抽出することにより、入力画像内に含まれる対象物（物体）の位置に関して不変な特徴抽出が行えると共に、特徴ベクトルの次元数が低い特徴を得ることができる。なお、特徴ベクトルとしては、高次局所自己相関関数に限らず、輝度情報、パターン情報等を用いても良い。
【００３６】
そして、特徴規格化部３は、特徴ベクトルの検出位置に対応した画像内での特徴領域の位置を基準に、規格化パターンを設定する。このとき、特徴規格化部３は、上述したエッジ検出フィルタを使用した場合や、コーナーエッジ検出フィルタを使用した場合と同様の処理を行うことになる。
【００３７】
つぎに、上述した動き検出装置により、特徴領域の移動速度及び方向を求めることによって、対象物の移動速度及び方向を求める処理について図５等を参照して説明する。なお、この説明では、簡単のために、ｘ軸のみの１次元方向に特徴領域が移動し、規格化パターンを、検出された特徴領域を中心に３×３の９領域に設定されるものとして説明する。また、投票部４によるカウントアップは＋１づつされるものとして説明する。
【００３８】
先ず、時刻ｔで取得された入力画像を入力すると（ステップＳ１）、当該入力画像を用いて、特徴抽出部２により特徴抽出を行い（ステップＳ２）、図６中網掛けで示す特徴領域（本例では１画素）が検出されると（図６（ａ−１））、特徴規格化部３により二値化を行い細線化部２２及び膨張部２３により、特徴領域を中心とした例えば３画素×３画素からなる規格化パターンを設定する（図６（ｂ−１）、ステップＳ３）。
【００３９】
そして、特徴領域の中心位置ｘ０を中心として隣接する領域位置ｘ−１、ｘ＋１の投票値（カウント値）をカウントアップし（ステップＳ４）、時刻ｔにおいて図６（ｃ−１）に示すように投票値がカウントされており、次の時刻ｔ＋１のフレームにおいても領域位置ｘ＋１に規格化された特徴領域が観測された場合、当該領域位置の投票値をさらにカウントアップしていき、特徴領域が観測された以外の位置の投票値をリセットする。
【００４０】
次に、時刻ｔ以降の時刻ｔ＋ｍにおいて、特徴抽出部２により特徴領域が検出され（図６（ａ−２））、細線化部２２及び膨張部２３によって規格化パターンが設定された場合に（図６（ｂ−２））、時刻ｔと比較して特徴領域がＸ軸正方向に１画素シフトして位置ｘ＋１に観測されると、当該規格化パターンが設定された領域位置ｘ、ｘ＋１、ｘ＋２の投票値をカウントアップし、規格化パターンが設定されていない位置での投票値、すなわち以前の領域位置ｘ−１での投票値をリセットする（図６（ｃ−３））。
【００４１】
同様に、時刻ｔ＋ｍ以降の時刻ｔ＋ｎにおいても、特徴抽出部２により特徴領域が検出され（図６（ａ−３））、細線化部２２及び膨張部２３によって規格化パターンが設定された場合に（図６（ｂ−３））、時刻ｔ＋ｎと比較して特徴領域がＸ軸正方向に１画素シフトして位置ｘ＋２に観測されると、当該規格化パターンが設定された領域位置ｘ＋１、ｘ＋２、ｘ＋３の投票値をカウントアップし、規格化パターンが設定されていない位置での投票値、すなわち以前の領域位置ｘでの投票値をリセットする（図６（ｃ−３））。
【００４２】
このように特徴抽出部２及び２値化部２１による特徴抽出、細線化部２２及び膨張部２３による特徴の規格化及び投票部４による投票処理を繰り返す処理において、投票値をリセットする処理（ステップＳ５）は、図７に示すように、例えば特徴としてエッジを用いた場合、時刻ｔでエッジ幅が規格化された規格化パターンとして、図７（ａ）のように得られ、図７（ｂ）のように、投票の対象となる領域（非マスク領域、図中の白抜き部分）と、投票の対象とならない領域（マスク領域、図中の黒塗り部分）とが得られる。そして、時刻ｔ−１で生成された投票値（図７（ｃ））は、時刻ｔで設定された規格化パターンより生成される図７（ｂ）により規格化パターンが検出された領域によってカウントアップされ、規格化パターンが検出されない領域はマスク処理、すなわちリセットされて新たな投票値（図７（ｆ）となる。続く時刻ｔ＋１で得られた特徴領域についても同様に、規格化パターンを図７（ｄ）のように得て、図７（ｅ）のようにマスク領域及び非マスク領域を規定してカウントアップされ、当該図７（ｆ）の投票値と図７（ｅ）での投票値とが計算される。
【００４３】
次に、図６のように得られた投票値（カウント値）から、移動速度検出部５により、当該カウント値の勾配を求める（ステップＳ６）。このとき、移動速度検出部５は、３画素分の投票値を用いて、移動方向における投票値の傾きを検出し、当該傾きが特徴領域の移動速度の逆数となることから、特徴領域の移動速度を求める（ステップＳ７）。また、移動速度検出部５は、特徴領域の位置を、画素位置ｘ＋（最小の投票値ｈ／最小の投票値と最大投票値との差Ｈ）なる演算を行って求める（ステップＳ７）。
【００４４】
このカウント値の勾配は、動き検出装置によって規格化パターンの領域位置をカウントする間隔によって決定される。特徴抽出部２により抽出された特徴領域が移動する速度に比べて、入力画像のフレームレートが実際の対象物の移動速度よりも十分高い場合には、連続するフレーム間で観測される特徴領域又は規格化パターンは必ず重複する領域を有する。このように、特徴領域が観測された位置に対応する投票値をカウントアップしていくことで、当該投票値は、特徴領域が同じ位置に観測されている時間と等価となる。
【００４５】
これに対し、特徴領域が移動した場合は、新たに特徴領域が観測された位置の投票値が１となり、観測された特徴領域の中では最も小さな値となる。すなわち、特徴領域が移動する方向における投票値は小さく、また、特徴領域が移動する方向と反対方向の投票値は大きくなる。
【００４６】
したがって、投票値の勾配は、特徴領域が移動するまでに、何フレーム連続して同じ位置で観測されたかを計数した値であり、移動速度検出部５は、投票値の勾配より、特徴領域の移動速度を算出することができる。
【００４７】
更に、入力画像のフレームレートが実際の対象物の移動速度よりも十分高い場合は、対象が等速移動をしていると仮定でき、図６の例では、特徴領域が４フレームで１画素づつ移動していると仮定すると、時刻ｔ＋１の時点では、２フレーム連続して観測されていることより、時刻ｔ＋１では、２フレーム／｛４フレーム／１画素｝＝０．５画素だけ領域位置ｘ０からシフトしていると算出することができる。したがって、移動速度検出部５では、入力画像内の特徴の画像位置から例えば自車両に対する相対位置を求めることができ、更には、対象物の入力画像内の特徴のカウント値の勾配から対象物の移動速度を求めることができる。
【００４８】
［第１実施形態の効果］
以上詳細に説明したように、本発明を適用した第１実施形態に係る動き検出装置によれば、対象物の移動速度に対する十分に早いレートで入力画像の特徴を求める処理等を行うことにより、簡単な処理で対象物の移動速度を検出することができる。すなわち、特徴の大きさを規格化することで統一し、特徴が検出された位置のカウント値をカウントアップし、特徴が検出されなかった位置のカウント値をリセットするので、得られれたカウント値から、特徴が観測された時間を求めることができ、特徴の位置変化、すなわちカウント値の勾配より、特徴が所定画素数移動するのに要するフレーム数を容易に計測することができる。したがって、この動き検出装置によれば、例えばテンプレートマッチングのようなブロックマッチングを用いることなく、カウント値の勾配から対象物の位置及び移動速度を求めることができる。
【００４９】
また、この動き検出装置によれば、特徴抽出部２によりエッジ検出フィルタを用いて抽出されたエッジの幅を、特徴規格化部３により統一し、統一された幅を有するエッジの情報に基づき、投票部４により、エッジが検出された位置のカウント値をカウントアップし、エッジが検出されなかった位置のカウント値をリセットするので、カウント値をエッジが観測された時間計測をしていることと等価とし、移動速度検出部５により算出されるカウント値の勾配より、エッジが所定画素数移動するのに要するフレーム数を容易に計測することができる。
【００５０】
更に、この動き検出装置によれば、特徴抽出部２によりコーナーエッジ検出フィルタを用いて抽出されたコーナーエッジの位置において、その検出点又は領域の大きさを特徴規格化部３により統一し、大きさが統一された領域情報に基づき、投票部４により、規格化パターンが検出された位置のカウント値をカウントアップし、規格化パターンが検出されなかった位置のカウント値をリセットするので、カウント値を規格化パターンが観測された時間計測をしていることと等価とし、移動速度検出部５により算出されるカウント値の勾配より、コーナーエッジが所定画素数移動するのに要するフレーム数を容易に計測することができる。
【００５１】
更にまた、この動き検出装置によれば、特徴抽出部２により抽出された特徴ベクトルが検出された位置において、その検出位置又は領域の大きさを、特徴規格化部３により統一し、大きさが統一された領域情報に基づき、投票部４により、規格化パターンが検出された位置のカウント値をカウントアップし、規格化パターンが検出されなかった位置のカウント値をリセットするので、カウント値を特徴ベクトルが観測された時間計測をしていることと等価とし、移動速度検出部５により算出されるカウント値の勾配より、特徴ベクトルが所定画素数移動するのに要するフレーム数を容易に計測することができる。
【００５２】
更にまた、この動き検出装置によれば、特徴抽出部２により抽出された特徴位置特徴領域より、その特徴を代表する位置を規定して、抽出された特徴のパターンに応じて既知のパターンを形成し、形成された既知のパターンである規格化パターンに基づき、投票部４により、その規格化パターンが検出された位置のカウント値をカウントアップし、規格化パターンが検出されなかった位置のカウント値をリセットするので、カウント値を、規格化パターンが観測された時間計測をしていることと等価とし、移動速度検出部５により算出されるカウント値の勾配より、特徴が所定画素数移動するのに要するフレーム数を容易に計測することができる。
【００５３】
［第２実施形態］
つぎに、第２実施形態に係る動き検出装置について説明する。
【００５４】
図８は本発明に係る動き検出装置の一実施形態の構成を示すブロック図である。同図に示すように、この動き検出装置は、動きを検出する対象物の画像を撮像する撮像部１０１と、撮像部１０１で撮像された画像中からエッジを抽出してエッジ画像を生成するエッジ抽出部１０２と、エッジ抽出部１０２で生成されたエッジ画像中にあるエッジのエッジ幅を、エッジの移動方向に向かって所定の幅に統一するエッジ幅規格化部１０３と、エッジ幅規格化部１０３で規格化されたエッジの検出された位置に対応するメモリアドレスの値をカウントアップするエッジカウント部１０４と、エッジカウント部１０４でカウントアップされたカウント値に基づいてエッジの移動速度、移動方向及び位置を算出する移動速度検出部１０５とから構成されている。
【００５５】
撮像部１０１は、ＣＭＯＳやＣＣＤ等の撮像素子によって構成され、画像を撮像してその画像を一定間隔毎にフレームとして取り出して連続処理を行う。このとき、エッジの移動速度よりも十分に高いフレームレートでフレームを取り出す。
【００５６】
エッジ抽出部１０２は、撮像部１０１で撮像された画像から、Ｓｏｂｅｌフィルタ等を利用することによってエッジを抽出してエッジ画像を生成する。
【００５７】
エッジ幅規格化部１０３は、エッジ抽出部１０２で生成されたエッジ画像中にあるエッジのエッジ幅を、エッジの移動方向に向かって所定の幅、例えば所定の画素数に統一してエッジを規格化する。また、エッジ幅規格化部１０３は、対象物の移動速度に応じて規格化するエッジのエッジ幅を規定する。
【００５８】
エッジカウント部１０４は、エッジ幅規格化部１０３によって規格化されたエッジの検出された位置に対応するメモリアドレスの値をカウントアップして蓄積し、エッジの検出されなかった位置に対応するメモリアドレスの値をリセットする。これによって規格化されたエッジが何フレーム連続して同じ位置で検出されているかという情報を生成する。
【００５９】
移動速度検出部１０５は、エッジカウント部１０４でカウントアップされたカウント値と、そのカウント値の傾きに基づいて、抽出されたエッジの移動速度、移動方向及び位置を算出する。
【００６０】
次に、本実施形態に係る動き検出装置による動き検出処理について図９のフローチャートに基づいて説明する。
【００６１】
撮像部１０１は動きを検出する対象物の画像を撮像すると（Ｓ２１）、一定間隔毎にフレームとして取り出してエッジ抽出部１０２に提供する（Ｓ２２）。ただし、このときエッジの移動速度に比べて、フレームレートが十分に高くなるようにフレームを取り出す。
【００６２】
エッジ抽出部１０２では、撮像部１０１から供給されたフレーム毎の画像に対してＳＯＢＥＬフィルタなどを使って画像のエッジを抽出し、エッジ画像を生成する（Ｓ２３）。
【００６３】
エッジ幅規格化部１０３では、エッジ抽出部１０２で生成されたエッジ画像中にあるエッジのエッジ幅を、エッジの移動方向に向かって所定の幅に統一して規格化する。ここで、エッジ幅規格化部１０３におけるエッジ幅の規格化処理を図１０及び図１１に基づいて説明する。
【００６４】
図１０は、エッジ幅規格化部１０３の詳細な構成を示すブロック図である。同図に示すように、エッジ幅規格化部１０３は、エッジ抽出部１０２で生成されたエッジ画像を２値化する２値化部１３１と、２値化部１３１によって２値化されたエッジのエッジ幅を細線化して所定の画素数に統一する細線化部１３２と、細線化部１３２で細線化されたエッジのエッジ幅を所定の画素数にまで膨張させる膨張部１３３とから構成されている。
【００６５】
このように構成されたエッジ幅規格化部１０３では、エッジ抽出部１０２からエッジ画像が提供されると、２値化部１３１によりエッジ画像に対して２値化処理が行われる（Ｓ２４）。この２値化処理ではエッジの検出された位置の画素を１とし、エッジの検出されなかった位置の画素を０として図１１（ａ）に示すような２値化画像を生成する。
【００６６】
こうして生成された２値化画像に対して、次に細線化部１３２によって細線化処理が行われる（Ｓ２５）。この細線化処理は、検出されたエッジのエッジ幅を所定画素幅になるまで縮小する処理である。例えば、図１１（ｂ）では所定画素幅として１画素になるまでエッジのエッジ幅を細線化している。ただし、ここでは一例として１画素に細線化する場合について説明しているが、その他の画素数に細線化してもよい。そして、このようにエッジを所定の画素幅になるまで細線化することによって、エッジの中心となる中心位置を設定している。
【００６７】
次に、膨張部１３３によって、細線化されたエッジのエッジ幅を膨張させる膨張処理を行う（Ｓ２６）。この膨張処理では、細線化によって設定された中心位置からエッジの移動方向に向かってエッジ幅を膨張させるとともに、中心位置からエッジの移動方向と反対方向にもエッジ幅を膨張させる。例えば、図１１（ｃ）では、エッジの中心位置ｘ０からエッジの移動方向（ｘ軸の正方向）に１画素膨張させるとともに、エッジの中心位置ｘ０からエッジの移動方向と反対方向（ｘ軸の負方向）に１画素膨張させて、エッジ幅を３画素に膨張させている。
【００６８】
このようにして細線化処理と膨張処理とを行うことによって、エッジ抽出部１０２で生成されたエッジのエッジ幅を、エッジの移動方向に向かって所定の幅に統一して規格化している。
【００６９】
また、ここでは細線化処理と膨張処理とを行うことによってエッジ幅を統一しているが、エッジ抽出部１０２で生成されたエッジ画像中のエッジピーク位置を検出し、そのエッジピーク位置から所定の画素数だけの幅を、エッジの移動方向とその反対方向の両方に持たせることによってエッジ幅を規格化してもよい。さらに、ここでは一例として３画素に膨張させた場合について説明しているが、その他の画素数に膨張させてもよい。
【００７０】
次に、エッジ幅の規格化されたエッジに対して、エッジカウント部１０４によるカウントアップ処理が行われる（Ｓ２７）。このカウントアップ処理は、エッジが検出された位置のメモリアドレスの値をカウントアップし、エッジが検出されなかった位置のメモリアドレスの値を初期化するものである。
【００７１】
以下、図１１に基づいてエッジカウント部１０４におけるカウントアップ処理を説明する。同図において、簡単のためにエッジはｘ軸の正方向に移動するものとして説明するが、エッジはｘ軸の負方向やｙ軸方向、あるいは２次元的に移動する場合も同様に説明することができる。
【００７２】
図１１（ｃ）に示すように、エッジはあるフレームにおいて位置ｘ０にエッジの中心位置があり、その中心位置からエッジの移動方向に１画素の位置ｘ０＋１と、中心位置からエッジの移動方向と反対方向に１画素の位置ｘ０−１に膨張されている。
【００７３】
このような場合にエッジカウント部１０４では、カウントアップマスク１４１によってエッジが検出された位置ｘ０−１、ｘ０、ｘ０＋１のカウント値が１ずつカウントアップされ、エッジが検出されなかった位置のカウント値がリセットされる。例えば、図１１（ｄ）では、時刻ｔにおいて位置ｘ０−１、ｘ０、ｘ０＋１にエッジが検出されているので、それぞれの位置で１ずつカウントアップされて、位置ｘ０＋１のカウント値が１、位置ｘ０のカウント値が３、位置ｘ０−１のカウント値が５になっている。そして、続く時刻ｔ＋１でもエッジが移動していないので、位置ｘ０−１、ｘ０、ｘ０＋１の各位置でエッジが検出され、エッジカウント部１０４は図１１（ｅ）に示すように位置ｘ０−１、ｘ０、ｘ０＋１のカウント値をさらに１ずつカウントアップして、位置ｘ０−１のカウント値を２、位置ｘ０のカウント値を４、位置ｘ０＋１のカウント値を６としている。
【００７４】
さらに、続く時刻ｔ＋２では、エッジがｘ軸の正方向に１画素シフトして位置ｘ０、ｘ０＋１、ｘ０＋２の位置でエッジが検出されている。したがって、エッジが検出された位置ｘ０、ｘ０＋１、ｘ０＋２のカウント値がカウントアップされ、エッジが検出されなかった位置ｘ０−１のカウント値がリセットされる。この結果、図１１（ｆ）に示すように位置ｘ０＋２のカウント値が１、位置ｘ０＋１のカウント値が３、位置ｘ０のカウント値が５となっている。さらに、エッジが検出されなかった位置ｘ０−１のカウント値はリセットされて０になっている。
【００７５】
このようにして、エッジカウント部１０４では、エッジが検出された位置のカウント値をカウントアップし、エッジの検出されなかった位置のカウント値をリセットしている。図１１では、カウント値を検出する位置として、エッジの中心位置（ｘ０）と、この中心位置からエッジの移動方向へ１画素の位置（ｘ０＋１）と、中心位置からエッジの移動方向と反対方向に１画素の位置（ｘ０−１）の３箇所でカウント値を検出していたが、後述するカウント値の傾きが求められれば、エッジの移動方向に対して２箇所以上であれば何箇所のカウント値を検出してもよい。
【００７６】
また、エッジが移動する速度に比べて、フレームレートが十分に高く設定されていれば、連続するフレーム間において、エッジは同じ位置で複数回検出される。例えば、図１１のケースでは、位置ｘ０において時刻ｔと時刻ｔ＋１の２回エッジが検出されている。したがって、エッジが検出された位置のカウント値をカウントアップしていくと、そのカウント値はその位置においてエッジが検出されている時間（フレーム数）と等しくなる。とくにエッジのカウント値の中で最小のカウント値ｈは、エッジが移動してから何フレームの間、同じ位置にあるかということを表している。
【００７７】
次に、移動速度検出部１０５によって、エッジの移動速度、移動方向および位置が算出される。移動速度検出部１０５は、まずカウント値の移動方向への傾きを算出し（Ｓ２８）、この傾きに基づいて、エッジの移動方向、移動速度および位置を算出する（Ｓ２９）。
【００７８】
以下、この算出方法について図１１に基づいて説明する。例えば、図１１（ｅ）の場合では、位置ｘ０−１、ｘ０、ｘ０＋１のカウント値がそれぞれ６、４、２となっている。したがって、位置ｘ０−１のカウント値６からｘ０＋１のカウント値２を引くことによって、カウント値の傾きをＨ＝（６−２）／２＝２として算出することができる。これは、
Ｈ＝｛（エッジが位置ｘ０−１に移動してから現在までの時間）−（エッジが位置ｘ０＋１に移動してしまった後の時間）｝／（２画素）
を意味するので、これはエッジが位置ｘ０のある１画素を通過するのに要した時間（フレーム数）を算出したことになる。したがって、カウント値の傾きＨはエッジが１画素移動するために何フレームを要したかを求めることになり、このカウント値の傾きＨに基づいてエッジの移動速度１／Ｈを算出することができる。
【００７９】
例えば、図１１（ｅ）では１画素移動するのに４フレームを要したことになるので、エッジの移動速度は１／４（画素／フレーム）と算出することができる。同様に、図１１（ｆ）でもＨ＝（５−１）／１＝４となるので、エッジの移動速度は１／４（画素／フレーム）になる。
【００８０】
また、エッジの移動方向は、カウント値の大小によって判断することができる。エッジが移動して新たにエッジが検出された位置のカウント値は１であり、各位置のカウント値の中では最も小さな値となる。したがって、エッジが移動する方向のカウント値は小さく、エッジが移動する方向と反対方向のカウント値は大きくなるので、これによってエッジの移動方向を判断することができる。
【００８１】
さらに、エッジが移動する速度に比べてフレームレートが十分に高く設定されていれば、検出対象物は等速移動をしていると仮定することができる。また、現在の位置におけるカウント値の中で最小のカウント値ｈは、エッジがその位置で検出されている時間、すなわちエッジが移動してから何フレームの間、同じ位置にあるかということを表している。
【００８２】
これらのことにより、エッジの位置は、エッジの中心位置をｘ０とすると
エッジの位置＝ｘ０＋ｈ／Ｈ
により求めることができる。例えば図１１（ｅ）では、エッジの速度は１／４（画素／フレーム）で、時刻ｔ＋１の時点では２フレーム連続して同じ位置でエッジが検出されているので、時刻ｔ＋１のエッジの位置は
２（フレーム）×｛１／４（画素／フレーム）｝＝０．５画素
だけ位置ｘ０から移動していると算出することができる。
【００８３】
このようにしてエッジの移動速度、移動方向及び位置が算出されると、移動速度検出部１０５は算出した移動速度をエッジ幅規格化部１０３に送信し、この移動速度を受信したエッジ幅規格化部１０３は、移動速度に基づいて規格化するエッジのエッジ幅を変更する（Ｓ３０）。例えば、図１１（ｃ）では膨張処理をした後のエッジ幅が３画素であったが、受信した移動速度が速い場合にはエッジ幅を大きくするように変更し、移動速度が遅い場合にはエッジ幅を小さくするように変更する。
【００８４】
このように規格化するエッジ幅を変更すれば、検出対象物の移動速度が変化しても、移動速度に応じて連続するフレーム間でエッジが重なりを有するようにエッジ幅を規格化することができ、これによって検出可能な移動速度の範囲を拡大することができる。
【００８５】
上述したように、本実施形態に係る動き検出装置及び動き検出方法では、エッジが検出された位置のカウント値をカウントアップし、カウントアップされたカウント値の傾きに基づいてエッジの移動速度及び移動方向を算出するので、テンプレートマッチングのようなブロックマッチングを用いることなく容易にエッジの移動速度と移動方向を算出することができる。
【００８６】
また、移動速度算出手段５では算出したエッジの移動速度と、カウント値の中で最小のカウント値とに基づいてエッジの位置を求めるので、より細分化されたサブピクセルオーダーでのエッジの位置を算出することができる。
【００８７】
さらに、エッジ幅規格化部１０３では、移動速度検出部１０５で算出した移動速度に基づいて、規格化するエッジ幅を変更するので、対象物の移動速度が変化しても、変化した移動速度に応じて、連続するフレーム間でエッジが重なりを有するようにエッジ幅を規格化することができ、これによって検出することのできる対象物の移動速度の範囲を拡大することができる。
【００８８】
以上、本発明の動き検出装置及びその方法について、図示した実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置き換えることができる。
【００８９】
［第３実施形態］
つぎに、第３実施形態に係る動き検出装置について説明する。
【００９０】
図１２は本発明の一実施例に係る動き検出装置の構成図である。
【００９１】
図１２において、本実施例の動き検出装置は、撮像手段２１１、エッジ抽出手段２１２、エッジ幅規格化手段２１３、マスク生成手段２１４、リセットタイミング生成手段２１５、投票手段２１６および移動速度検出手段２１７を備えて構成されている。
【００９２】
撮像手段２１１はＣＭＯＳやＣＣＤ等の撮像素子で実現され、周辺画像を撮像する。また、エッジ抽出手段２１２は、撮像手段２１１により撮像された画像から、Ｓｏｂｅｌフィルタ等によって対象のエッジ（輪郭）についてエッジ画像を作成する。ここで、Ｓｏｂｅｌ（ゾーベル）フィルタは１次の差分フィルタであるが、他の差分フィルタ（例えば、Prewitt(プレヴィット)フィルタ、水平または垂直方向１次空間微分フィルタ、２次空間微分フィルタ、非線形差分フィルタ等々）を使用しても良い。
【００９３】
エッジ幅規格化手段２１３は、エッジ抽出手段２１２により抽出されたエッジ画像中のエッジ幅を所定の画素数に規格化する。
【００９４】
また、マスク生成手段２１４は、エッジ幅規格化手段２１３により規格化された各エッジ領域について、エッジが検出されていない領域をそのエッジのマスク領域として設定する。具体的には、エッジ幅規格化手段２１３により規格化されたエッジそれぞれについて、前フレームにおけるエッジのマスク領域と現フレームにおいて該エッジが検出されていない領域との論理積で得られる領域を、現フレームにおける該エッジのマスク領域として設定する。なお、後段の投票手段２１６では、このマスク領域の位置のカウント値をリセットし、該マスク領域の補集合である非マスク領域について位置のカウント値をカウントアップすることになる。
【００９５】
また、リセットタイミング生成手段２１５は、隣接エッジとの位置関係に基づき、後段の投票手段２１６によるカウント値並びにマスク生成手段２１４によるマスク領域をリセットするリセットタイミングを設定する。具体的には、隣接するエッジそれぞれの非マスク領域が互いに重畳すると判定されたときにリセットタイミングを生成して、投票手段２１６によるカウント値並びにマスク生成手段２１４によるマスク領域をリセットすることになる。なお、重畳する隣接エッジがなく、マスク領域がカウントし続けられているエッジについては、ある一定時間経過したら自動的にリセットしてもよい。
【００９６】
また、投票手段２１６は、マスク生成手段２１４により生成されたマスク領域によりマスクされていない非マスク領域の位置のカウント値をカウントアップする。具体的には、非マスク領域に対応するメモリアドレスの内容をカウントアップし、逆に、マスク領域に対応するメモリアドレスの内容をリセットする。連続するフレームについて、時系列にこのような投票を行って投票値を蓄積することにより、規格化されたエッジが時系列で何フレーム連続して観測されたかの情報を得ることができる。
【００９７】
さらに、移動速度検出手段２１７は、投票手段２１６により連続するフレームに渡って蓄積されたカウント値の傾きより、そのエッジの移動方向、速度および加速度を算出する。
【００９８】
次に、エッジ幅規格化手段２１３によるエッジ幅の規格化、マスク生成手段２１４によるマスク生成、投票手段２１６による投票、移動速度検出手段２１７によるエッジの移動方向、速度および加速度の算出、並びに、リセットタイミング生成手段２１５によるリセットタイミングの生成について、具体例を示しながら詳細に説明する。
【００９９】
まず、図１３および図１４を参照して、エッジ幅規格化手段２１３によるエッジ幅の規格化について説明する。
【０１００】
まず、図１３はエッジ幅規格化手段２１３のより具体的な構成図である。図１３において、エッジ幅規格化手段２１３は、エッジ抽出手段２１２により抽出されたエッジ画像について２値化処理を行う２値化手段２２１と、エッジ幅が所定画素数になるまで細線化処理を繰返し行い、全てのエッジ幅を所定画素数に統一する細線化手段２２２と、所定画素数に統一されたエッジ幅を所定画素数まで膨張させる膨張手段２２３と、を備えて構成されている。
【０１０１】
次に、図１４はエッジ幅の規格化の手順である２値化（図１４（ａ））、細線化（図１４（ｂ））および膨張（図１４（ｃ））の処理を例示する説明図である。まず、２値化手段２２１では、図１４（ａ）に示すように、抽出されたエッジ画像に対して２値化（０／１）処理を行っている。図中、白抜きの円は「０」の画素、塗り潰しの円は「１」（アクティブ）の画素を示す。次に、細線化手段２２２では、図１４（ｂ）に示すように、エッジ幅が所定画素数（図１４の具体例ではｘ方向について１画素）になるまで、繰返し行い、検出された全てのエッジ幅を所定画素数（１画素）に統一している。
【０１０２】
さらに、膨張手段２２３では、図１４（ｃ）に示すように、エッジ幅が（１画素に）統一されたエッジを必要に応じた所定画素数（図１４の具体例では３画素）まで膨張させている。例えば、位置ｘ０にエッジ位置が観測された場合、位置ｘ０の両側である位置ｘ０−１および位置ｘ０＋１の画素をアクティブ（１）にして、エッジ幅を３画素に統一している。
【０１０３】
これらの２値化処理、細線化処理および膨張処理により、エッジ抽出手段２１２で抽出されたエッジ画像は、エッジ幅が所定値（３画素）に統一された２値の正規化エッジ画像として生成されることになる。なお、エッジ幅を統一するにあたり、エッジ抽出手段２１２から出力されるエッジ画像のエッジピーク位置を検出し、そのエッジピーク位置に所定画素数の幅を持たせた２値画像を生成することでエッジ幅を規格化しても良い。
【０１０４】
次に、図１５を参照して、マスク生成手段２１４によるマスク生成について説明する。図１５は、マスク生成手段２１４によるマスク生成を説明する説明図であり、時刻ｔ、時刻ｔ＋ｍおよび時刻ｔ＋ｎにおける正規化エッジ画像と生成されるマスクを例示している。なお、以下の説明では、簡単のために、ｘ軸の１次元方向にエッジが移動するものとし、抽出されたエッジはｘ軸の正方向に移動するものとする。また、正規化エッジは、エッジ幅規格化手段２１３により３画素のエッジ幅に統一されているものとして説明する。
【０１０５】
マスク生成手段２１４は、エッジ幅規格化手段２１３により規格化されたエッジそれぞれについて、前フレームにおけるエッジのマスク領域と現フレームにおいて該エッジが検出されていない領域との論理積で得られる領域を、現フレームにおける該エッジのマスク領域として設定する。この論理演算は、マスク領域とエッジが検出されていない領域とを真値としたときの正論理演算である。
【０１０６】
図１５では、分かりやすくするために、正規化エッジ画像（図１５（ａ），（ｃ）および（ｅ））と、生成されるマスク（図１５（ｂ），（ｄ）および（ｆ））とを示しており、これらの論理演算を考える場合には負論理演算となる。つまり、前フレームにおけるエッジの非マスク領域と現フレームにおいて該エッジが検出されている領域との論理和で得られる領域を、現フレームにおける該エッジの非マスク領域として設定することになる。
【０１０７】
まず、図１５（ａ）には時刻ｔにおける正規化エッジ画像を示す。このエッジ画像は、エッジ幅規格化手段２１３によりエッジ幅が３画素に統一されたものであり、見やすくするために中心の１画素を塗り潰しの円で、その両側の画素を白抜きの円で示している。この時刻ｔで、リセットタイミング生成手段２１５によってリセットタイミングが生成されたとすれば、エッジが検出されていない領域がそのままマスク領域となって、時刻ｔにおけるマスクは、図１５（ｂ）に示す如く塗り潰した領域となる。なお、図１５（ｂ）において白抜きの領域が非マスク領域である。
【０１０８】
次に、時刻ｍ後の時刻ｔ＋ｍにおいて、正規化エッジ画像が図１５（ｃ）に示すように変化したとすれば、時刻ｔにおける非マスク領域（図１５（ｂ）参照）とエッジが検出されている領域との論理和をとった領域が時刻ｔ＋ｍにおける非マスク領域として得られ、図１５（ｄ）に示す如く、その非マスク領域の補集合である塗り潰しの領域がマスク領域として得られる。
【０１０９】
同様に、時刻ｎ（ｎ＞ｍ）後の時刻ｔ＋ｎにおいて、正規化エッジ画像が図１５（ｅ）に示すように変化したとすれば、時刻ｔ＋ｍにおける非マスク領域（図１５（ｄ）参照）とエッジが検出されている領域との論理和をとった領域が時刻ｔ＋ｎにおける非マスク領域として得られ、図１５（ｆ）に示す如く、その非マスク領域の補集合である塗り潰しの領域がマスク領域として得られる。
【０１１０】
次に、図１６を参照して、投票手段２１６による投票について説明する。図１６は、投票手段２１６による投票を説明する説明図であり、時刻ｔ、時刻ｔ＋ｍおよび時刻ｔ＋ｎにおける非マスク領域と蓄積された投票値（カウント値）を例示している。なお、図１６（ａ１），（ｂ１）および（ｃ１）においては、見やすくするためにエッジの中心の１画素を塗り潰しの円で示しており、この塗り潰しの円と周辺の白抜きの円の集合が非マスク領域である。また、図１６（ａ２），（ｂ２）および（ｃ２）に示す投票値は、図１６（ａ１），（ｂ１）および（ｃ１）において、ｙ軸方向のうちハッチングを施した帯の位置における投票値である。
【０１１１】
まず、時刻ｔにおいて、図１６（ａ１）に示すような非マスク領域がマスク生成手段２１４から与えられると、投票手段２１６は、非マスク領域における各位置の投票値をカウントアップしていく。その際に、非マスク領域の補集合であるマスク領域の投票値についてはリセットする。時刻ｍ後の時刻ｔ＋ｍにおいて、非マスク領域が図１６（ｂ１）のように変化した場合、並びに、時刻ｎ後の時刻ｔ＋ｎにおいて、非マスク領域が図１６（ｃ１）のように変化した場合についても同様に、非マスク領域の各位置の投票値をカウントアップし、マスク領域の投票値はリセットする。
【０１１２】
次に、移動速度検出手段２１７によるエッジの移動方向、速度および加速度の算出について説明する。
【０１１３】
エッジが移動する速度に比べて、フレームレートが十分高い場合、連続するフレーム間で観測されるエッジはほとんどの場合において重複する領域を有する（例示しているケースでは、２画素幅で重複している）。上述したように、投票手段２１６により、エッジが観測された位置に対応する投票値をカウントアップしていくことで、蓄積された投票値はそのエッジが同じ位置に観測されている時間と等価となる。
【０１１４】
エッジが移動した場合は、新たにエッジが観測された位置の投票値は１であり、観測されたエッジの中では最も小さな値となる。つまり、エッジが移動する方向に向かって投票値はだんだん小さくなり、逆に、エッジが移動する方向と反対方向に向かって投票値はだんだん大きくなる。この投票値の勾配は、エッジが移動するまでに、何フレーム連続して同じ位置にエッジが観測されていたかを計数した値であり、この投票値のプロファイル（1次微分、2次微分の値）より、エッジの移動速度および加速度を算出することができる。図１６（ｃ２）の場合は、位置ｘｊ−１からｘｊ＋３までの投票値の勾配から、注目しているエッジの移動速度および加速度を検出することが可能となる。
【０１１５】
なお、直交したエッジ成分を有するコーナーエッジについては，以上説明したｘ軸方向についての処理を、ｙ軸方向についても行い、ｘ軸方向およびｙ軸方向についての移動速度ベクトルを合成することにより、エッジの移動方向と該移動方向への移動速度が得られ、また、ｘ軸方向およびｙ軸方向についての加速度ベクトルを合成することによりエッジの移動方向への加速度が得られる。
【０１１６】
また、本実施例では、エッジ幅を規格化した時系列の正規化エッジに基づき非マスク領域（マスク）を生成しているので、瞬間的に特異なエッジの影響を低く抑えることができ、より信頼性の高いエッジ情報を用いてエッジの移動方向、速度および加速度を検出することになるので、より正確な速度や加速度を観測することができる。
【０１１７】
次に、図１７を参照して、リセットタイミング生成手段２１５によるリセットタイミングの生成について説明する。図１７は、フレーム取得タイミングとリセットタイミングを例示するタイムチャートである。
【０１１８】
エッジの動きを観測する時間が短いときには、瞬時的に出現または消失するエッジ等もあり、この場合の投票値は少ないことから、エッジの移動速度や加速度の計測の信頼性が低下することになる。逆に、エッジを観測する時間が長すぎるときには、エッジの移動速度が速くなったり遅くなったりすると、時間対速度の関係を曲線等でフィッティングすることが難しくなるので、その速度プロファイルを正確に解析することは困難となる。つまり、対象画像のダイナミクスに合わせて、エッジの移動速度を計測する周期を規定することが望ましい。
【０１１９】
フレームレートが十分高い場合は、フレーム間で対象としているエッジの移動は殆ど無く、等速運動をしていると仮定することができる。一方、上述のように、瞬時的に出現または消失するエッジの影響や、少ない投票値のために、計測精度が低くなってしまう場合がある。そこで、投票手段による投票値が有意であると判断できる程度の値であって、且つ、複雑な速度プロファイルを持たない程度の時間変化の範囲内で、注目エッジの動きを観測することが望まれる。
【０１２０】
また、隣接するエッジが存在する場合には、その隣接エッジについても同様に、正規化エッジに基づいてマスクが時系列に生成されており、隣接するエッジの非マスク領域同士が重畳すると、重畳部分の位置の投票値にノイズが加わることになるので、リセットタイミング生成手段２１５は、隣接するエッジそれぞれの非マスク領域が互いに重畳するときには、リセットタイミングを生成して、投票手段２１６による投票値およびマスク領域をリセットする必要がある。
【０１２１】
次に、以上説明したエッジ幅規格化手段２１３によるエッジ幅の規格化、マスク生成手段２１４によるマスク生成、投票手段２１６による投票、移動速度検出手段２１７によるエッジの移動方向、速度および加速度の算出、並びに、リセットタイミング生成手段２１５によるリセットタイミングの生成の処理の流れについて、図１８に示すフローチャートを参照して説明する。
【０１２２】
まずステップＳ１０１では、撮像手段２１１により撮像を行う。次にステップＳ１０２では、エッジ抽出手段２１２によりエッジ画像を抽出する。次にステップＳ１０３では、ステップＳ１０２で抽出したエッジ画像に対して２値化処理を施し、ステップＳ１０４で細線化処理を施してエッジ幅を所定画素数（１画素）に統一した後、ステップＳ１０５の膨張処理により所定画素数（３画素）まで膨張させ、所定幅（３画素）にエッジ幅を統一する。
【０１２３】
次に、ステップＳ１０６では、ステップＳ１０３からステップＳ１０５までの処理で規格化された正規化エッジと前フレームにおけるそのエッジの非マスク領域との論理和で得られる非マスク領域から、現フレームにおけるマスクを生成する。
【０１２４】
次に、ステップＳ１０７では、リセットタイミング生成手段２１５により、前フレームにおけるマスクと現フレームにおけるマスクの有効画素数を比較して、所定値以上の有効画素数の変化があった場合は、隣接するエッジの非マスク領域が重畳したものと判断し、リセットタイミングを生成し、ステップＳ１０９に進んで蓄積された投票値およびマスクをリセットする。この場合、次にステップＳ１０５に戻り、ステップＳ１０３からステップＳ１０５までの処理で規格化された正規化エッジのみに基づきマスクを生成して、ステップＳ１０８に進む。また、ステップＳ１０７において、隣接するエッジの非マスク領域が重畳していないと判断した場合にはステップＳ１０８に進む。
【０１２５】
次に、ステップＳ１０８では、ステップＳ１０６で生成したマスクに基づく有効画素（非マスク領域の画素）に相当するメモリアドレスの投票値をカウントアップし、マスク領域の無効画素に相当するメモリアドレスの投票値をリセットする。
【０１２６】
さらに、ステップＳ１１０では蓄積された投票値の勾配を求め、該投票地の勾配に基づき、ステップＳ１１１でエッジの移動方向、移動速度および加速度を算出する。
【０１２７】
以上説明したように、本実施例の動き検出装置では、撮像手段２１１（撮像ステップ）により撮像された画像について、エッジ抽出手段２１２（エッジ抽出ステップ）によりエッジを抽出し、そのエッジの幅をエッジ幅規格化手段２１３（エッジ幅規格化ステップ）により規格化し、マスク生成手段２１４（マスク生成ステップ）により、規格化されたエッジ情報に基づきエッジが検出されていない領域をそのエッジのマスク領域として設定し、投票手段２１６（投票ステップ）により、該マスク領域の位置のカウント値をリセットすると共に、該マスク領域によりマスクされていない非マスク領域の位置のカウント値をカウントアップし、移動速度検出手段２１７（移動速度検出ステップ）により、連続するフレームに渡って蓄積されたカウント値の傾きに基づき、そのエッジの移動方向、速度および加速度を算出する。
【０１２８】
その結果、カウント値はエッジが観測された時間計測をしていることと等価であるので、該カウント値の勾配からエッジが所定画素数移動するのに要するフレーム数を計測して、そのエッジの移動方向、速度および加速度をテンプレートマッチングのようなブロックマッチングを用いることなく容易に求めることができる。また、マスク領域により他のエッジの画素が取り込まれることを防ぎ、エッジ間で互いに影響を及ぼし合うことが無く、より正確な速度や加速度を観測することができる。さらに、非マスク領域の位置に基づいてのみ算出処理を行うので、より少ないデータ量に対して比較的簡単な手順で処理でき、画像中からの移動速度成分の検出をより高速に処理することができる（請求項１，５の効果）。
【０１２９】
また、本実施例の動き検出装置では、リセットタイミング生成手段１７（リセットタイミング生成ステップ）により、隣接エッジとの位置関係に基づき、投票手段２１６（投票ステップ）によるカウント値並びにマスク領域をリセットするリセットタイミングを設定することとし、より具体的には、隣接するエッジそれぞれの非マスク領域が互いに重畳するとき、リセットタイミングを生成して投票手段２１６（投票ステップ）によるカウント値並びにマスク領域をリセットするので、隣接するエッジ同士の速度および加速度を観測する非マスク領域が重なり合うまで、それぞれのエッジ速度および加速度を観測する時間を確保することができ、時系列的な速度の変化の検出Ｓ／Ｎを向上することが可能となる（請求項２，４，６，８の効果）。
【０１３０】
また、本実施例の動き検出装置では、マスク生成手段２１４（マスク生成ステップ）により、エッジ幅規格化手段２１３（エッジ幅規格化ステップ）で規格化されたエッジそれぞれについて、前フレームにおけるエッジのマスク領域と現フレームにおいて該エッジが検出されていない領域との論理積で得られる領域を、現フレームにおける該エッジのマスク領域として設定するので、移動速度検出手段２１７（移動速度検出ステップ）により算出されるカウント値の勾配から、注目されるエッジが所定画素数移動するのに要するフレーム数を計数することができる。つまり、注目するエッジが何フレーム同じ位置に観測されたかの、時間変化を観測することができるので、対象の速度および加速度の検出Ｓ／Ｎを向上することが可能となる。さらに、エッジ幅を規格化した正規化エッジに基づき非マスク領域（マスク）を生成しているので、瞬間的に特異なエッジの影響を低く抑えることができ、より信頼性の高いエッジ情報を用いてエッジの移動方向、速度および加速度を検出することとなり、より正確な速度や加速度を観測することができる（請求項３，７の効果）。
【０１３１】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【産業上の利用可能性】
【０１３２】
連続する画像の画像処理において対象物の輪郭の動き等の特徴を検出して、対象物の移動速度、移動方向及び位置を簡易に算出する手法として極めて有用である。
【図面の簡単な説明】
【０１３３】
【図１】本発明を適用した動き検出装置の構成を示すブロック図である。
【図２】本発明を適用した動き検出装置の動作を説明するためのブロック図である。
【図３】本発明を適用した動き検出装置の特徴規格化部により、エッジ検出フィルタを使用する場合の構成を示すブロック図である。
【図４】本発明を適用した動き検出装置の特徴規格化部により、コーナーエッジ検出フィルタを使用する場合の動作を示す図である。
【図５】本発明を適用した動き検出装置による対象物の位置及び速度を検出する処理手順を示すフローチャートである。
【図６】本発明を適用した動き検出装置により、規格化パターンからカウント値を得る動作を説明するための図である。
【図７】本発明を適用した動き検出装置による生成するマスクについて説明するための図である。
【図８】本発明の実施形態に係る動き検出装置の構成を示すブロック図である。
【図９】本発明に係る動き検出装置による動き検出処理を説明するためのフローチャートである。
【図１０】エッジ幅規格部の詳細な構成を示すブロック図である。
【図１１】エッジ幅規格化部における細線化処理及び膨張処理と、エッジカウント部におけるカウントアップ処理を説明するための図である。
【図１２】本発明の一実施例に係る動き検出装置の構成図である。
【図１３】エッジ幅規格化手段のより具体的な構成図である。
【図１４】エッジ幅の規格化の手順である２値化（図１４（ａ））、細線化（図１４（ｂ））および膨張（図１４（ｃ））の処理を例示する説明図である。
【図１５】時刻ｔ、時刻ｔ＋ｍおよび時刻ｔ＋ｎにおける正規化エッジ画像と生成されるマスクを例示して、マスク生成手段によるマスク生成を説明する説明図である。
【図１６】時刻ｔ、時刻ｔ＋ｍおよび時刻ｔ＋ｎにおける非マスク領域と蓄積された投票値を例示して、投票手段による投票を説明する説明図である。
【図１７】フレーム取得タイミングとリセットタイミングを例示するタイムチャートである。
【図１８】動き検出装置におけるオプティカルフロー検出方法を説明するフローチャートである。
【符号の説明】
【０１３４】
１，１０１  撮像部
２  特徴抽出部
３  特徴規格化部
４  投票部
５，１０５  移動速度検出部
２１，１３１  ２値化部
２２，１３２  細線化部
２３，１３３  膨張部
２４  ピーク位置検出部
１０２  エッジ抽出部
１０３  エッジ幅規格化部
１０４  エッジカウント部
１４１  カウントアップマスク
２１１  撮像手段
２１２  エッジ抽出手段
２１３  エッジ幅規格化手段
２１４  マスク生成手段
２１５  リセットタイミング生成手段
２１６  投票手段
２１７  移動速度検出手段
２２１  ２値化手段
２２２  細線化手段
２２３  膨張手段
【図１】
2005209155.tif 000003
【図２】
2005209155.tif 000004
【図３】
2005209155.tif 000005
【図４】
2005209155.tif 000006
【図５】
2005209155.tif 000007
【図６】
2005209155.tif 000008
【図７】
2005209155.tif 000009
【図８】
2005209155.tif 000010
【図９】
2005209155.tif 000011
【図１０】
2005209155.tif 000012
【図１１】
2005209155.tif 000013
【図１２】
2005209155.tif 000014
【図１３】
2005209155.tif 000015
【図１４】
2005209155.tif 000016
【図１５】
2005209155.tif 000017
【図１６】
2005209155.tif 000018
【図１７】
2005209155.tif 000019
【図１８】
2005209155.tif 000020