(57)【要約】【課題】短時間に精度良く移動体を検出する。【解決手段】テンプレートを用いたマッチング処理を行う前に、予め画像に設定された探索領域からマッチング処理を行う対象となる特徴点を予め選択する。そして、予め選択した特徴点を含む画像についてのみ、テンプレートを用いたマッチング処理を実行する。これにより、マッチング処理を実行することにより得られる相関値が高いと予想される領域についてのみ、選択的にマッチング処理を実行することが可能となる。したがって、短時間に精度よく移動体を検出することが可能となる。【選択図】図１
2011043922.tif 000002
【特許請求の範囲】
【請求項１】
移動する移動体を順次撮像して得られた第１画像及び第２画像それぞれを構成する画素についての特徴量を演算する特徴量演算手段と、
前記特徴量に基づいて、前記第１画像及び前記第２画像それぞれの特徴点を抽出する特徴点抽出手段と、
前記第１画像の前記特徴点の前記特徴量と、前記第２画像の前記特徴点それぞれの前記特徴量との差分を演算し、前記差分が所定の範囲内となる前記第２画像の前記特徴点をそれぞれ選択する選択手段と、
前記第１画像の前記特徴点と、前記選択された前記第２画像の前記特徴点それぞれとの相関値を演算する相関値演算手段と、
前記第１画像の前記特徴点を始点とし、前記始点としての前記特徴点に対する前記相関値が最も高い前記第２画像の前記特徴点を終点とするオプティカルフローを生成するオプティカルフロー生成手段と、
を備える移動体認識装置。
【請求項２】
前記第１画像の前記特徴点にそれぞれ対応する探索領域を、前記第２画像上にそれぞれ設定する探索領域設定手段を更に備え、
前記選択手段は、前記探索領域内で前記第２画像の前記特徴点の選択を実行する請求項１に記載の移動体認識装置。
【請求項３】
前記特徴点抽出手段は、前記特徴量の算出対象となる算出対象画素の前記特徴量と、前記算出対象画素の周囲の前記画素の平均輝度とに基づいて、前記特徴点を抽出する請求項１又は２に記載の移動体認識装置。
【請求項４】
前記特徴点抽出手段は、前記特徴量の算出対象となる前記算出対象画素の前記特徴量の、前記算出対象画素の周囲にある前記画素の平均輝度に対する割合が所定の値以上の場合に、前記算出対象画素に対応する前記特徴点を抽出する請求項３に記載の移動体認識装置。
【請求項５】
前記相関値演算手段は、前記第１画像の前記特徴点を含む画像をテンプレートとし、
前記テンプレートと、前記第２画像の前記特徴点を含む領域内の前記画像との前記相関値を算出する請求項１乃至４のいずれか一項に記載の移動体認識装置。
【請求項６】
移動する移動体を順次撮像して得られた第１画像及び第２画像それぞれを構成する画素についての特徴量を演算する工程と、
前記特徴量に基づいて、前記第１画像及び前記第２画像それぞれの特徴点を抽出する工程と、
前記第１画像の前記特徴点の前記特徴量と、前記第２画像の前記特徴点それぞれの前記特徴量との差分を演算し、前記差分が所定の範囲内となる前記第２画像の前記特徴点をそれぞれ選択する工程と、
前記第１画像の前記特徴点と、前記選択された前記第２画像の前記特徴点それぞれとの相関値を演算する工程と、
前記第１画像の前記特徴点を始点とし、前記始点としての前記特徴点に対する前記相関値が最も高い前記第２画像の前記特徴点を終点とするオプティカルフローを生成する工程と、
を含む移動体認識方法。
【請求項７】
コンピュータを、
移動する移動体を順次撮像して得られた第１画像及び第２画像それぞれを構成する画素についての特徴量を演算する手段と、
前記特徴量に基づいて、前記第１画像及び前記第２画像それぞれの特徴点を抽出する手段と、
前記第１画像の前記特徴点の前記特徴量と、前記第２画像の前記特徴点それぞれの前記特徴量との差分を演算し、前記差分が所定の範囲内となる前記第２画像の前記特徴点をそれぞれ選択する手段と、
前記第１画像の前記特徴点と、前記選択された前記第２画像の前記特徴点それぞれとの相関値を演算する手段と、
前記第１画像の前記特徴点を始点とし、前記始点としての前記特徴点に対する前記相関値が最も高い前記第２画像の前記特徴点を終点とするオプティカルフローを生成する手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体認識装置、移動体認識方法及びプログラムに関し、更に詳しくは、視野内を移動する移動体を認識する移動体認識装置、視野内を移動する移動体を認識するための移動体認識方法及びプログラムに関する。
【背景技術】
【０００２】
近年、自車周辺の移動体や、運転者の死角から自車に接近する移動体を検出する運転支援システムの実用化が進んでいる。この種のシステムでは、その性質上、短時間に精度よく移動体を検出する必要がある。そこで、画像処理を精度よく迅速に行うための方法が種々提案されている（例えば特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１８８６３号公報
【特許文献２】特開平８−０３０７９２号公報
【特許文献３】特開平４−２０７７９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された方法では、移動体を撮像して得られた画像が例えば、第１画像と第２画像とに分割される。そして、危険度に応じて第１画像及び第２画像のうちから一方の画像が選択され、選択された画像についてのみ画像処理が実行される。この方法を用いることにより、移動体の移動方向を短時間に検出することが可能となる。
【０００５】
また、特許文献２に記載された方法では、移動体が移動する際に、橋の欄干やガードレールなどのように周期的に画像中に現れる障害物に起因するオプティカルフローと、移動体に起因するオプティカルフローとが識別される。この方法を用いることにより、障害物に起因するオプティカルフローを除外して、検出対象物である移動体に起因するオプティカルフローのみに基づいて、移動体の検出を行うことができる。したがって、移動体の検出に用いる情報量を少なくすることができ、結果的に迅速に移動体を検出することが可能となる。
【０００６】
また、特許文献３に記載された方法では、１フレーム分だけ時間の異なる画像間のオプティカルフローの中から、最もマッチ度が低いベクトルが検出される。この方法を用いることにより、最も多くの移動体の移動情報を有するベクトルのみに基づいて、移動体の検出を行うことができる。したがって、移動体の検出に用いる情報量を少なくすることができ、結果的に迅速に移動体を検出することが可能となる。
【０００７】
上述した方法それぞれは、画像処理における演算量を削減するために、演算の対象となる領域を制限するものである。しかしながら、画像間の対応する領域を探索するためには、畳み込み演算が必要となる。この、畳み込み演算は、演算量が多く、探索する領域が広いと畳み込み演算に長時間を要することになる。このため、上記３つの方法を実行しようとすると、高速な演算装置が必要となる。
【０００８】
また、探索対象となる画像を構成する画素の輝度が低い場合や、対応する領域を構成する画素の輝度と、その周囲の領域の画素の輝度との差が小さい場合には、対応する領域を正確に探索することが困難となり、オプティカルフローに誤差が含まれることが考えられる。
【０００９】
本発明は、上述の事情の下になされたもので、短時間に精度良く移動体を検出することができる移動体認識装置等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の移動体認識装置は、移動する移動体を順次撮像して得られた第１画像及び第２画像それぞれを構成する画素についての特徴量を演算する特徴量演算手段と、特徴量に基づいて、第１画像及び第２画像それぞれの特徴点を抽出する特徴点抽出手段と、第１画像の特徴点の特徴量と、第２画像の特徴点それぞれの特徴量との差分を演算し、差分が所定の範囲内となる第２画像の特徴点をそれぞれ選択する選択手段と、第１画像の特徴点と、選択された第２画像の特徴点それぞれとの相関値を演算する相関値演算手段と、第１画像の特徴点を始点とし、始点としての特徴点に対する相関値が最も高い第２画像の特徴点を終点とするオプティカルフローを生成するオプティカルフロー生成手段と、を備える。
【００１１】
また、移動体認識装置は、第１画像の特徴点にそれぞれ対応する探索領域を、第２画像上にそれぞれ設定する探索領域設定手段を更に備え、選択手段は、探索領域内で第２画像の特徴点の選択を実行することとしてもよい。
【００１２】
また、特徴点抽出手段は、特徴量の算出対象となる算出対象画素の特徴量と、算出対象画素の周囲の画素の平均輝度とに基づいて、特徴点を抽出することとしてもよい。
【００１３】
また、特徴点抽出手段は、特徴量の算出対象となる算出対象画素の特徴量の、算出対象画素の周囲にある画素の平均輝度に対する割合が所定の値以上の場合に、算出対象画素に対応する特徴点を抽出することとしてもよい。
【００１４】
また、相関値演算手段は、第１画像の特徴点を含む画像をテンプレートとし、テンプレートと、第２画像の特徴点を含む領域内の画像との相関値を算出することとしてもよい。
【００１５】
上記目的を達成するために、本発明の移動体認識方法は、移動する移動体を順次撮像して得られた第１画像及び第２画像それぞれを構成する画素についての特徴量を演算する工程と、特徴量に基づいて、第１画像及び第２画像それぞれの特徴点を抽出する工程と、第１画像の特徴点の特徴量と、第２画像の特徴点それぞれの特徴量との差分を演算し、差分が所定の範囲内となる第２画像の特徴点をそれぞれ選択する工程と、第１画像の特徴点と、選択された第２画像の特徴点それぞれとの相関値を演算する工程と、第１画像の特徴点を始点とし、始点としての特徴点に対する相関値が最も高い第２画像の特徴点を終点とするオプティカルフローを生成する工程と、を含む。
【００１６】
上記目的を達成するために、本発明のプログラムは、コンピュータを、移動する移動体を順次撮像して得られた第１画像及び第２画像それぞれを構成する画素についての特徴量を演算する手段と、特徴量に基づいて、第１画像及び第２画像それぞれの特徴点を抽出する手段と、第１画像の特徴点の特徴量と、第２画像の特徴点それぞれの特徴量との差分を演算し、差分が所定の範囲内となる第２画像の特徴点をそれぞれ選択する手段と、第１画像の特徴点と、選択された第２画像の特徴点それぞれとの相関値を演算する手段と、第１画像の特徴点を始点とし、始点としての特徴点に対する相関値が最も高い第２画像の特徴点を終点とするオプティカルフローを生成する手段と、として機能させる。
【発明の効果】
【００１７】
本発明によれば、短時間に精度良く移動体を検出することができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態に係る移動体認識システムのブロック図である。
【図２】カメラの配置を概略的に示す図である。
【図３】撮像装置によって撮像された画像を示す図（その１）である。
【図４】撮像装置によって撮像された画像を示す図（その２）である。
【図５】特徴点抽出部の動作を説明するための図（その１）である。
【図６】特徴点抽出部の動作を説明するための図（その２）である。
【図７】画像上に設定された探索領域の一例を示す図である。
【図８】画像上に規定されたテンプレートを示す図である。
【図９】相関値演算部の動作を説明するための図である。
【図１０】オプティカルフロー生成部の動作を説明するための図である。
【図１１】第２の実施形態に係る移動体認識システムのブロック図である。
【図１２】移動体認識装置の動作を説明するためのフローチャート（その１）である。
【図１３】移動体認識装置の動作を説明するためのフローチャート（その２）である。
【図１４】移動体認識装置の動作を説明するためのフローチャート（その３）である。
【発明を実施するための形態】
【００１９】
《第１の実施形態》
以下、本発明の第１の実施形態を、図１〜図１１を参照しつつ説明する。図１は本実施形態にかかる移動体認識システム１０の概略的な構成を示すブロック図である。移動体認識システム１０は、例えば撮像装置２０によって順次撮像される画像に含まれる移動体を認識し検出するシステムである。この移動体認識システム１０は、図１に示されるように、撮像装置２０と、撮像装置２０の視野内を移動する移動体を認識する移動体認識装置３０とを有している。
【００２０】
撮像装置２０は、被写体を撮像することにより取得した画像を電気信号に変換して出力する装置である。撮像装置２０は、例えば図２に示されるように、車両１００の後方に取り付けられたカメラ２０ａ介して、車両１００の後方を走行する移動体としての車両を撮像し、撮像して得た画像に関する情報を移動体認識装置３０へ出力する。
【００２１】
例えば、撮像装置２０によって、自車よりも早い速度で右車線を走行する移動体１０１が順次撮像されると、図３に示される画像Ｐ１、図４に示される画像Ｐ２が順次撮像される。画像Ｐ１及び画像Ｐ２に関する情報は、移動体認識装置３０へ出力される。
【００２２】
図１に戻り、移動体認識装置３０は、記憶部３１、特徴点抽出部３２、探索領域設定部３３、特徴点選択部３４、相関値演算部３５、オプティカルフロー生成部３６、グルーピング処理部３７、及び移動体検出部３８を含んで構成されている。
【００２３】
記憶部３１は、撮像装置２０から順次出力される画像に関する情報を時系列的に記憶する。また、上記各部３２〜３８の処理結果としての情報を順次記憶する。
【００２４】
特徴点抽出部３２は、記憶部３１に記憶された画像を構成する画素それぞれについての特徴量を算出し、この特徴量に基づいて画像に含まれる特徴点を抽出する。画像上に規定されたＸＹ座標系で示される画素Ｍ（ｘ、ｙ）の特徴量ｆ（ｘ、ｙ）は、画像の輝度勾配を示す関数Ｉ（ｘ、ｙ）を用いると下記の式（１）によって表される。
【００２５】
【数１】
2011043922.tif 000003
【００２６】
ただし、Ｉｘｘ、Ｉｙｙ、Ｉｘｙはそれぞれ下記の式（２）〜（３）によってそれぞれ表され、ｋは定数である。
【００２７】
【数２】
2011043922.tif 000004
【００２８】
【数３】
2011043922.tif 000005
【００２９】
【数４】
2011043922.tif 000006
【００３０】
特徴点抽出部３２は、まず、式（１）を用いて画像を構成する画素Ｍ（ｘ、ｙ）に対する特徴量ｆ（ｘ、ｙ）をそれぞれ算出する。次に、特徴点抽出部３２は、画素Ｍ（ｘ、ｙ）の周囲にある画素の輝度の平均値ＡＶＧ（ｘ、ｙ）を算出し、特徴量ｆ（ｘ、ｙ）を、輝度の平均値ＡＶＧ（ｘ、ｙ）を４乗したもので除する。特徴点抽出部３２は、これにより得られた比較値Ｖ（＝ｆ（ｘ、ｙ）／ＡＶＧ（ｘ、ｙ）４）を、予め設定された閾値と比較して、比較値Ｖが閾値以上の場合に、このときの画素Ｍ（ｘ、ｙ）を特徴点として抽出する。ここで、特徴量ｆ（ｘ、ｙ）を輝度の平均値ＡＶＧ（ｘ、ｙ）を４乗したもので除する理由は、特徴量ｆ（ｘ、ｙ）を輝度に関して正規化するためである。
【００３１】
図５は、画像Ｐ１から抽出された移動体１０１に関連する特徴点ａ１〜ａ６を模式的に示す図である。また、図６は、画像Ｐ２から抽出された移動体１０１に関連する特徴点ｂ１〜ｂ１８を模式的に示す図である。画像Ｐ１及び画像Ｐ２では、移動体１０１の輪郭が急峻に変化する不連続点や、移動体１０１を構成するパーツの形状が不連続に変化する点などが抽出される。
【００３２】
特徴点抽出部３２は、特徴点の抽出が完了すると、抽出した特徴点に関する情報を記憶部３１へ出力するとともに、特徴点の抽出が完了したことを探索領域設定部３３へ通知する。
【００３３】
図１に戻り、探索領域設定部３３は、順次撮像された１組の画像のうち最初に撮像された第１画像の特徴点を順次選択するとともに、選択した特徴点に対応する探索領域を、第１画像の次に撮像された第２画像に設定する。
【００３４】
例えば、図７には、１組の画像Ｐ１及びＰ２のうち、最初に撮像された画像Ｐ１上の特徴点ａ１に対応した探索領域Ｆ１が示されている。この探索領域Ｆ１は、画像Ｐ１上の特徴点ａ１に対応する特徴点が含まれると予想される領域である。探索領域Ｆ１は、具体的には、画像Ｐ１上の特徴点ａ１を終点とし画像Ｐ１が撮像される前に撮像された画像上の特徴点を始点とするオプティカルフローを用いて予想することが可能な移動体１０１の移動速度、移動方向などを考慮して決定することができる。探索領域設定部３３は、画像Ｐ１上のすべての特徴点ａ１〜ａ６についての探索領域Ｆ１〜Ｆ６（画像Ｐ２の部分領域）を、画像Ｐ２上に設定する。
【００３５】
探索領域設定部３３は、探索領域の設定が完了すると、探索領域に関する情報を記憶部３１へ出力するとともに、探索領域の設定が完了したことを特徴点選択部３４へ通知する。
【００３６】
図１に戻り、特徴点選択部３４は、第１画像の特徴点に対応するように第２画像に設定された探索領域から、第１画像の特徴点の特徴量と同等の特徴量を有する特徴点を選択する。
【００３７】
例えば、特徴点選択部３４は、図５に示される特徴点ａ１の特徴量と、図７に示される探索領域Ｆ１内にある画像Ｐ２の４つの特徴点ｂ１，ｂ３，ｂ４，ｂ９それぞれの特徴量を比較する。そして、特徴点ａ１の特徴量との差分が、予め設定された閾値以下となる特徴点を選択する。特徴点選択部３４は、特徴点ａ２〜ａ６について設定された探索領域Ｆ２〜Ｆ６からも、同様の要領で特徴点を選択する。
【００３８】
図１に戻り、相関値演算部３５は、順次撮像された１組の画像のうちの最初に撮像された第１画像の特徴点を順次選択する。そして、この選択した特徴点と、この特徴点について設定された第２画像の探索領域内から選択された特徴点との相関値を算出する。
【００３９】
具体的には、相関値演算部３５は、まず、図８に示されるように、画像Ｐ１の特徴点ａ１を中心とする長方形の画像（画像Ｐ１の部分画像）をテンプレートＴ１として規定する。このテンプレートＴ１は、Ｍ行Ｎ列のマトリクス状に配置された画素からなる画像である。また、以下の説明では、テンプレートＴ１の座標とは、テンプレートの中心の座標をいうものとする。
【００４０】
次に、相関値演算部３５は、特徴点ｂ１，ｂ３，ｂ４，ｂ９のうち、特徴点選択部３４によって選択された特徴点を含む画像と、テンプレートＴ１とをマッチングさせたときの相関値Ｒを算出する。この相関値Ｒの算出は、例えば正規化相互相関を示す下記の式（５）を用いることができる。なお、Ｉ（ｉ，ｊ）はマッチング対象となる画像の、ｉ行目かつｊ列目に位置する画素の輝度である。また、Ｔ（ｉ，ｊ）はテンプレートＴの、ｉ行目かつｊ列目に位置する画素の輝度である。また、ＩＡＶＧはマッチング対象となる画像を構成する画素の輝度の平均値であり、ＴＡＶＧは、テンプレートを構成する画素の輝度の平均値である。ＩＡＶＧ及びＴＡＶＧは下記の式（６）及び式（７）で示される。
【００４１】
【数５】
2011043922.tif 000007
【００４２】
【数６】
2011043922.tif 000008
【００４３】
【数７】
2011043922.tif 000009
【００４４】
相関値演算部３５は、テンプレートＴ１に含まれる特徴点ａ１と、探索領域Ｆ１内に含まれる特徴点ｂ１，ｂ３，ｂ４，ｂ９のうちから選択した特徴点とを一致させたときの、テンプレートＴ１と、このテンプレートＴ１と重なる対象画像との相関値Ｒを算出する。例えば、特徴点選択部３４によって、探索領域Ｆ１内の特徴点ｂ１が選択された場合には、相関値演算部３５は、テンプレートＴ１の特徴点ａ１が特徴点ｂ１に一致するように、テンプレートＴ１を画像Ｐ２に重ねる。そして、画像Ｐ２のテンプレートＴ１と重なった対象画像と、テンプレートＴ１との相関値Ｒを、上記式（５）に基づいて算出する。
【００４５】
次に、図９を参照するとわかるように、相関値演算部３５は、探索領域Ｆ１内に、特徴点ｂ１を中心とし、テンプレートＴ１より大きいマッチング領域ＭＡを規定する。そして、テンプレートＴ１を、マッチング領域ＭＡ内で所定のピッチで移動させながら、テンプレートＴ１と、このテンプレートＴ１と重なる対象画像との相関値Ｒを、上記式（５）に基づいて順次算出する。
【００４６】
相関値演算部３５は、画像Ｐ１の特徴点ａ２〜ａ６と、特徴点ａ２〜ａ６それぞれについて設定された探索領域Ｆ２〜Ｆ６についても、上述と同様の処理を実行する。
【００４７】
相関値演算部３５は、相関値の算出が完了すると、算出した相関値に関する情報を記憶部３１へ出力するとともに、相関値の算出が完了したことをオプティカルフロー生成部３６へ通知する。
【００４８】
図１に戻り、オプティカルフロー生成部３６は、相関値演算部３５によって算出された相関値に基づいて、第１画像の特徴点を始点とし、第２画像の特徴点或いはその近傍を終点とするオプティカルフローを生成する。
【００４９】
例えば、オプティカルフロー生成部３６は、図９において、テンプレートＴ１と探索領域Ｆ１内の画像との相関値が最も高かったときの、画像Ｐ２上のテンプレートＴ１の位置座標（Ｘ２１、Ｙ２１）を新たな特徴点として特定する。そして、位置座標（Ｘ２１、Ｙ２１）を終点Ｅ１とし、特徴点ａ１の画像Ｐ上の位置座標（Ｘ１１、Ｙ１１）を始点Ｓ１とするオプティカルフローを画像Ｐ１及び画像Ｐ２に共通するＸＹ座標系に規定する。オプティカルフロー生成部３６は、上述と同様の処理を、画像Ｐ１上の特徴点ａ２〜ａ６について実行し、一例として図１０に示されるように、始点Ｓ１〜Ｓ６と終点Ｅ１〜Ｅ６とで規定される１群のオプティカルフローを生成する。
【００５０】
オプティカルフロー生成部３６は、オプティカルフローを生成すると、このオプティカルフローに関する情報を記憶部３１へ出力するとともに、オプティカルフローの生成が完了したことをグルーピング処理部３７へ通知する。
【００５１】
図１に戻り、グルーピング処理部３７は、生成された１群のオプティカルフローのグルーピングを行う。図１０に示されるように、本実施形態では説明の便宜上、移動体１０１に関するオプティカルフローが６本である場合について説明した。しかしながら、実際は、移動体１０１を撮像した画像からは、数十或いは数百の特徴点を抽出することができ、数十或いは数百本のオプティカルフローを規定することができる。
【００５２】
グルーピング処理部３７は、数十或いは数百本のオプティカルフローのうちから、ある程度のノイズ成分を多く含むオプティカルフローを除外し、残りのオプティカルフローをグルーピングする。例えば、移動体１０１が完全な直線運動をしている場合には、各オプティカルフローと一致する直線は一点（消失点）で交わるはずである。そこで、グルーピング処理部３７は、オプティカルフローと一致する直線が、他のオプティカルフローと一致する直線が収束する消失点から著しく離れている場合には、このオプティカルフローを除外し、残りのオプティカルフローを同一の移動体に関連するオプティカルフローとみなしてグルーピングする。
【００５３】
グルーピング処理部３７は、オプティカルフローのグルーピングが完了すると、グルーピングしたオプティカルフローに関する情報を記憶部３１へ出力するとともに、グルーピングが完了したことを、移動体検出部３８へ通知する。
【００５４】
移動体検出部３８は、グルーピングされたオプティカルフローに基づいて、自車と移動体の距離、自車と移動体の相対速度及び相対移動方向などを検出し出力する。例えば、移動体検出部３８は、一群のオプティカルフローの始点の配置と、終点の配置との相違から移動体の相対速度及び相対移動方向を検出し出力する。
【００５５】
以上説明したように、本第１の実施形態では、相関値演算部３５によって、画像Ｐ１の特徴点を含むテンプレートＴを用いたマッチング処理が行われる前に、特徴点選択部３４によって、画像Ｐ２に設定された探索領域からマッチング処理を行う対象となる特徴点が選択される。そして、特徴点選択部３４によって選択された特徴点を含む画像についてのみ、テンプレートＴを用いたマッチング処理が実行される。このため、マッチング処理を実行することにより得られる相関値が高いと予想される領域についてのみ、マッチング処理を実行することができ、結果的に短時間に精度よく移動体を検出することが可能となる。
【００５６】
また、本第１の実施形態では、マッチング処理を実行することにより得られる相関値が高いと予想される領域についてのみ、マッチング処理が実行される。したがって、相互に特徴量が低い画像Ｐ１の特徴点と画像Ｐ２の特徴点とが、マッチング処理の誤りによって相互に対応づけられることを回避することが可能となる。
【００５７】
また、本第１の実施形態では、特徴点抽出部３２は、画像Ｐ１及び画像Ｐ２それぞれを構成する画素の特徴量と、特徴量の算出対象となる画素の周囲に存在する画素の平均輝度とを考慮して、画像Ｐ１及び画像Ｐ２から特徴点を抽出する。したがって、撮像された画像の明るさ、すなわち画像を構成する画素それぞれの輝度に関わらず精度よく特徴点を抽出することが可能となる。
【００５８】
具体的には、一般に画像中の明るい領域はコントラストが高く、特徴量が大きくなる傾向がある。一方、暗い領域ではコントラストが低く、特徴量が小さくなる傾向がある。このため、単に画素について算出した特徴量を所定の閾値と比較すると、明るい領域では、多数の特徴点が抽出され、暗い領域では少数の特徴点が抽出される結果になる。本実施形態にでは、特徴量の算出対象となる画素の周囲に存在する画素の平均輝度を考慮して、特徴量が算出されるため、撮像された画像の明るさに関わらず、適当な特徴点を抽出することが可能となる。
《第２の実施形態》
次に、本発明の第２の実施形態を、図１１〜図１４を参照しつつ説明する。なお、第１の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【００５９】
本実施形態にかかる移動体認識システム１０は、移動体認識装置３０が、一般的なコンピュータ、又はマイクロコンピュータなどの装置と同様の構成によって実現されている点で、第１の実施形態にかかる移動体認識システム１０と相違している。
【００６０】
図１１は、移動体認識システム１０の物理的な構成を示すブロック図である。図１１に示されるように、移動体認識システム１０は、撮像装置２０と、コンピュータからなる移動体認識装置３０とから構成されている。
【００６１】
移動体認識装置３０は、ＣＰＵ（Central Processing Unit）３０ａ、主記憶部３０ｂ、補助記憶部３０ｃ、表示部３０ｄ、入力部３０ｅ、インターフェイス部３０ｆ、及び上記各部を相互に接続するシステムバス３０ｇを含んで構成されている。
【００６２】
ＣＰＵ３０ａは、補助記憶部３０ｃに記憶されているプログラムに従って、撮像装置２０によって取得された画像に対して後述する処理を実行する。
【００６３】
主記憶部３０ｂは、ＲＡＭ（Random Access Memory）等を含んで構成され、ＣＰＵ３０ａの作業領域として用いられる。
【００６４】
補助記憶部３０ｃは、ＲＯＭ（Read Only Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部３０ｃは、ＣＰＵ３０ａが実行するプログラム、及び各種パラメータなどを記憶している。また、撮像装置２０から出力される画像に関する情報、及びＣＰＵ３０ａによる処理結果などを含む情報を順次記憶する。
【００６５】
表示部３０ｄは、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などを含んで構成され、ＣＰＵ３０ａの処理結果を表示する。
【００６６】
入力部３０ｅは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部３０ｅを介して入力され、システムバス３０ｇを経由してＣＰＵ３０ａに通知される。
【００６７】
インターフェイス部３０ｆは、シリアルインターフェイスまたはＬＡＮ（Local Area Network）インターフェイス等を含んで構成されている。撮像装置２０は、インターフェイス部３０ｆを介してシステムバス３０ｇに接続される。
【００６８】
図１２のフローチャートは、ＣＰＵ３０ａによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図１２を参照しつつ、移動体認識装置３０が実行する処理について説明する。なお、この処理は、移動体認識システム１０が起動され、撮像装置２０によって撮像された画像に関する情報が出力された後に実行される。また、前提として、撮像装置２０からは、図５に示される画像Ｐ１、及び図６に示される画像Ｐ２が順次出力され、画像Ｐ１については、特徴点ａ１〜ａ６が既に抽出されているものとする。
【００６９】
まず、最初のステップＳ１０１では、ＣＰＵ３０ａは、撮像装置２０によって撮像された画像Ｐ２を構成する画素それぞれについての特徴量を算出し、この特徴量に基づいて画像Ｐ２に含まれる特徴点を抽出する。図１３は、ステップＳ１０１で実行されるサブルーチン１を示す図である。ＣＰＵ３０ａは、ステップＳ１０１での処理を、図１３に示されるサブルーチン１を実行することにより実現する。
【００７０】
最初のステップＳ２０１では、ＣＰＵ３０ａは、特徴量を算出する画素の座標を設定する。この座標は、撮像装置２０によって撮像された画像Ｐ２上のＸＹ座標系上に規定される。
【００７１】
次のステップＳ２０２では、ＣＰＵ３０ａは、画像Ｐ２を構成する画素Ｍ（ｘ、ｙ）の周囲にある画素の輝度の平均値ＡＶＧ（ｘ、ｙ）を算出する。
【００７２】
次のステップＳ２０３では、ＣＰＵ３０ａは、式（１）を用いて画素Ｍ（ｘ、ｙ）に対する特徴量ｆ（ｘ、ｙ）をそれぞれ算出する。
【００７３】
次のステップＳ２０４では、ＣＰＵ３０ａは、特徴量ｆ（ｘ、ｙ）を、輝度の平均値ＡＶＧ（ｘ、ｙ）を４乗したもので除して、比較値Ｖ（＝ｆ（ｘ、ｙ）／ＡＶＧ（ｘ、ｙ）４）を算出する。
【００７４】
次のステップＳ２０５では、ＣＰＵ３０ａは、比較値Ｖが予め設定された閾値以上であるか否かを判断する。比較値Ｖが閾値以上である場合には、ステップＳ２０５での判断が肯定され、ＣＰＵ３０ａは、ステップＳ２０６へ移行する。一方、比較値Ｖが閾値以下である場合には、ステップＳ２０５での判断が否定され、ＣＰＵ３０ａは、ステップＳ２０７へ移行する。
【００７５】
次のステップＳ２０６では、ＣＰＵ３０ａは、画素Ｍ（ｘ、ｙ）を画像Ｐ２の特徴点として抽出する。
【００７６】
次のステップＳ２０７では、画像Ｐ２を構成する画素についての処理が完了したか否かを判断する。画素Ｐ２のすべての画素について、ステップＳ２０１〜Ｓ２０６までの処理が完了していない場合には、ステップＳ２０７での判断が否定され、ＣＰＵ３０ａは、ステップＳ２０１へ戻る。
【００７７】
ＣＰＵ３０ａは、ステップＳ２０１において、特徴量を算出する画素の座標を再設定し、以降、ステップＳ２０７での判断が肯定されるまで、ステップＳ２０１〜Ｓ２０７の処理を繰り返し実行する。これにより、図６に示されるように、画像Ｐ２からは特徴点ｂ１〜ｂ１８が抽出される。画素Ｐ２のすべての画素について、ステップＳ２０１〜Ｓ２０６までの処理が完了終了すると（ステップＳ２０７：Ｙｅｓ）、ＣＰＵ３０ａは、サブルーチン１を終了し、次のステップＳ１０２へ移行する。
【００７８】
図１２に戻り、次のステップＳ１０２では、ＣＰＵ３０ａは、画像Ｐ１から抽出された特徴点ａ１〜ａ６にそれぞれ対応する探索領域を画像Ｐ２上に設定する。例えば、図７には、１組の画像Ｐ１及びＰ２のうち、最初に撮像された画像Ｐ１上の特徴点ａ１に対応した探索領域Ｆ１が示されている。この探索領域Ｆ１は、画像Ｐ１上の特徴点ａ１に対応する特徴点が含まれると予想される領域である。ＣＰＵ３０ａは、画像Ｐ１上のすべての特徴点ａ１〜ａ６についての探索領域Ｆ１〜Ｆ６を、画像Ｐ２上に設定する。
【００７９】
次のステップＳ１０３では、ＣＰＵ３０ａは、相関値の算出を行う。図１４は、ステップＳ１０３で実行されるサブルーチン２を示す図である。ＣＰＵ３０ａは、ステップＳ１０３での処理を、図１４に示されるサブルーチン２を実行することにより実現する。
【００８０】
最初のステップＳ３０１では、ＣＰＵ３０ａは、画像Ｐ１の特徴点ａ１を選択する。
【００８１】
次のステップＳ３０２では、ＣＰＵ３０ａは、特徴点ａ１の特徴量と、特徴点ａ１に対応する探索領域Ｆ１内にある４つの特徴点ｂ１，ｂ３，ｂ４，ｂ９それぞれの特徴量とを比較する。そして、特徴点ａ１の特徴量との差分が、予め設定された閾値以下となる特徴点を選択する。ここでは、例えば特徴点ｂ１及び特徴点ｂ４が選択されたものとして以下の説明を行う。
【００８２】
次のステップＳ３０３では、ＣＰＵ３０ａは、特徴点ａ１と、探索領域Ｆ１内にある４つの特徴点ｂ１，ｂ３，ｂ４，ｂ９のうちから選択した特徴点ｂ１及び特徴点ｂ４との相関値を算出する。具体的には、ＣＰＵ３０ａは、まず、図８に示されるように、画像Ｐ１の特徴点ａ１を中心とする長方形の画像をテンプレートＴ１として規定する。次に、ＣＰＵ３０ａは、テンプレートＴ１に含まれる特徴点ａ１と、探索領域Ｆ１内に含まれる特徴点ｂ１とを一致させたときの、テンプレートＴ１と、このテンプレートＴ１と重なる対象画像との相関値Ｒ１を、上記式（５）を用いて算出する。
【００８３】
次のステップＳ３０４では、算出した相関値Ｒが最大であるか否かを判断する。算出した相関値Ｒが過去に算出された相関値よりも大きい場合には、ステップＳ３０４での判断が肯定され、ＣＰＵ３０ａは、次のステップＳ３０５へ移行する。また、算出した相関値Ｒが過去に算出された相関値よりも小さい場合には、ステップＳ３０４での判断が否定され、ＣＰＵ３０ａは、ステップＳ３０６へ移行する。ここでは、過去に算出さされた相関値がないため、相関値Ｒ１が最大となる。したがって、ＣＰＵ３０ａは、次のステップＳ３０５へ移行する。
【００８４】
次のステップＳ３０５では、ＣＰＵ３０ａは、特徴点ａ１の画像Ｐ上の位置座標（Ｘ１１、Ｙ１１）を始点Ｓ１とし、ステップＳ３０３におけるテンプレートＴ１の画像Ｐ２上の位置座標（ここでは、特徴点ｂ１の座標（Ｘ２１、Ｙ２１））を終点Ｅ１とするオプティカルフローを画像Ｐ１及び画像Ｐ２に共通するＸＹ座標系に規定する。
【００８５】
次のステップＳ３０６では、ＣＰＵ３０ａは、特徴点ｂ１の周辺領域の探索が完了したか否かを判断する。周辺領域の探索が完了していない場合には、ステップＳ３０６での判断は否定され、ＣＰＵ３０ａは、次のステップＳ３０７へ移行する。一方、完了している場合には、ステップＳ３０６での判断は肯定され、ＣＰＵ３０ａは、次のステップＳ３０８へ移行する。ここでは、特徴点ｂ１の周辺領域の探索が完了していないので、ＣＰＵ３０ａは、次のステップＳ３０７へ移行する。
【００８６】
次のステップＳ３０７では、ＣＰＵ３０ａは、図９を参照するとわかるように、探索領域Ｆ１内に、特徴点ｂ１を中心とし、テンプレートＴ１より大きいマッチング領域ＭＡを規定する。そして、この領域を内にテンプレートＴ１と同形状で、中心が特徴点ｂ１からずれたオフセット領域を設定する。
【００８７】
以降、ＣＰＵ３０ａは、ステップＳ３０３〜Ｓ３０７までの処理をマッチング領域ＭＡに対して繰り返し実行する。これにより、マッチング領域ＭＡ内に順次設定されるオフセット領域に対する相関値が順次算出される。そして、マッチング領域ＭＡ全域についてのマッチングが終了すると、ステップＳ３０６での判断が肯定され、ＣＰＵ３０ａは、次のステップＳ３０８へ移行する。なお、ＣＰＵ３０ａは、テンプレートＴとオフセット領域との相関値が、ステップＳ３０４で最大と判断された場合には、ステップＳ３０５において、このときのテンプレートＴが位置する座標に対応する点を画像Ｐ２の新たな特徴点とし、オプティカルフローの終点を新たな特徴点に変更する。
【００８８】
次のステップＳ３０８では、ＣＰＵ３０ａは、探索領域Ｆ１から選択された特徴点すべてについてのマッチング処理が完了したか否かを判断する。探索領域Ｆ１から選択されたすべての特徴点についてのマッチング処理が完了していない場合には、ステップＳ３０８での判断は否定される。この場合、ＣＰＵ３０ａは、ステップＳ３０２に戻り、次の特徴点ｂ４を選択し、同様に、ステップＳ３０２〜Ｓ３０８までの処理を実行する。以降、ＣＰＵ３０ａは、ステップＳ３０８での判断が肯定されるまで、ステップＳ３０２〜Ｓ３０８までの処理を繰り返し実行する。
【００８９】
一方、探索領域Ｆ１から選択されたすべての特徴点についてのマッチング処理が完了した場合には、ステップＳ３０８での判断は肯定され、ＣＰＵ３０ａは、次のステップＳ３０９へ移行する。
【００９０】
次のステップＳ３０９では、ＣＰＵ３０ａは、画像Ｐ１の特徴点ａ１〜ａ６について、ステップＳ３０２〜Ｓ３０９までの処理が実行されたか否かを判断する。画像Ｐ１の特徴点ａ１〜ａ６についての処理が完了していない場合には、ステップＳ３０１に戻り、次の特徴点を選択し、同様に、ステップＳ３０２〜Ｓ３０９までの処理を実行する。以降、ＣＰＵ３０ａは、ステップＳ３０９での判断が肯定されるまで、ステップＳ３０２〜Ｓ３０９までの処理を繰り返し実行する。一方、画像Ｐ１の特徴点ａ１〜ａ６についての処理が完了した場合には、ステップＳ３０９での判断が肯定され、ＣＰＵ３０ａは、サブルーチン２を終了し、次のステップＳ１０４に移行する。サブルーチン２が終了したときには、図１０に示されるように、一群のオプティカルフローが規定された状態となっている。なお、図１０には、６本の移動体１０１に関するオプティカルフローが示されているが、実際は、数十或いは数百本のオプティカルフローが規定される。
【００９１】
図１２に戻り、次のステップＳ１０４では、ＣＰＵ３０ａは、数十或いは数百本のオプティカルフローのうちから、ある程度のノイズ成分を多く含むオプティカルフローを除外し、残りのオプティカルフローをグルーピングする。例えば、移動体１０１が完全な直線運動をしている場合には、各オプティカルフローと一致する直線は一点（消失点）で交わるはずである。そこで、ＣＰＵ３０ａは、オプティカルフローと一致する直線が、他のオプティカルフローと一致する直線群が収束する消失点から著しく離れている場合には、このオプティカルフローを除外し、残りの一群のオプティカルフローを同一の移動体に関連するオプティカルフローと見なしてグルーピングする。
【００９２】
次のステップＳ１０５では、ＣＰＵ３０ａは、グルーピングされたオプティカルフローに基づいて、自車と移動体の距離、自車と移動体の相対速度及び相対移動方向などを検出し出力する。例えば、ＣＰＵ３０ａは、一群のオプティカルフローの始点の配置と、終点の配置との相違から移動体の相対速度及び相対移動方向を検出し出力する。
【００９３】
以上説明したように、本第２の実施形態では、画像Ｐ１の特徴点を含むテンプレートＴを用いたマッチング処理が行われる前に、画像Ｐ２に設定された探索領域からマッチング処理を行う対象となる特徴点が選択される。そして、選択された特徴点を含む画像についてのみ、テンプレートＴを用いたマッチング処理が実行される。このため、マッチング処理を実行することにより得られる相関値が高いと予想される領域についてのみ、マッチング処理を実行することができ、結果的に短時間に精度よく移動体を検出することが可能となる。
【００９４】
また、本第２の実施形態では、マッチング処理を実行することにより得られる相関値が高いと予想される領域についてのみ、マッチング処理が実行される。したがって、相互に特徴量が低い画像Ｐ１の特徴点と画像Ｐ２の特徴点とが、マッチング処理の誤りによって相互に対応づけられることを回避することが可能となる。
【００９５】
また、本第２の実施形態では、画像Ｐ１及び画像Ｐ２それぞれを構成する画素の特徴量と、特徴量の算出対象となる画素の周囲に存在する画素の平均輝度とを考慮して、画像Ｐ１及び画像Ｐ２から特徴点を抽出する。したがって、撮像された画像の明るさ、すなわち画像を構成する画素それぞれの輝度に関わらず精度よく特徴点を抽出することが可能となる。
【００９６】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【００９７】
例えば、上記各実施形態では、式（１）を用いて特徴量ｆ（ｘ、ｙ）を算出したが、本発明はこれに限定されるものではない。例えば、特徴量は、いわゆるＫＬＴ特徴量ｍｉｎ（λ１、λ２）であってもよい。この場合は、特徴量を上述した平均値ＡＶＧ（ｘ、ｙ）を２乗したもので除することで比較値Ｖを算出することができる。なお、λ１及びλ２は、それぞれ下記の式（８）及び式（９）で示される。
【００９８】
【数８】
2011043922.tif 000010
【００９９】
【数９】
2011043922.tif 000011
【０１００】
なお、Ａ〜Ｃは下記の式（１０）で表される。ただし、Ｉｘ、Ｉｙは、画像上の位置（ｘ、ｙ）における輝度Ｉ（ｘ、ｙ）のＸ軸方向及びＹ軸方向の勾配を示す。具体的には、下記の式（１１）及び式（１２）で表される。
【０１０１】
【数１０】
2011043922.tif 000012
【０１０２】
【数１１】
2011043922.tif 000013
【０１０３】
【数１２】
2011043922.tif 000014
【０１０４】
また、上記各実施形態に係る移動体認識装置３０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【０１０５】
また、第２の実施形態において移動体認識装置３０の補助記憶部３０ｃに記憶されているプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【０１０６】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【０１０７】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【０１０８】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【０１０９】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【０１１０】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【０１１１】
本発明の移動体認識装置、移動体認識方法及びプログラムは、移動体の認識に適している。
【符号の説明】
【０１１２】
１０  移動体認識システム
２０  撮像装置
２０ａ  カメラ
３０  移動体認識装置
３０ａ  ＣＰＵ
３０ｂ  主記憶部
３０ｃ  補助記憶部
３０ｄ  表示部
３０ｅ  入力部
３０ｆ  インターフェイス部
３０ｇ  システムバス
３１  記憶部
３２  特徴点抽出部
３３  探索領域設定部
３４  特徴点選択部
３５  相関値演算部
３６  オプティカルフロー生成部
３７  グルーピング処理部
３８  移動体検出部
１００  車両
１０１  移動体
Ｐ１，Ｐ２  画像
ａ１〜ａ６  特徴点
ｂ１〜ｂ１８  特徴点
ＭＡ  マッチング領域
Ｆ  探索領域
Ｔ  テンプレート
【図１】
2011043922.tif 000015
【図２】
2011043922.tif 000016
【図３】
2011043922.tif 000017
【図４】
2011043922.tif 000018
【図５】
2011043922.tif 000019
【図６】
2011043922.tif 000020
【図７】
2011043922.tif 000021
【図８】
2011043922.tif 000022
【図９】
2011043922.tif 000023
【図１０】
2011043922.tif 000024
【図１１】
2011043922.tif 000025
【図１２】
2011043922.tif 000026
【図１３】
2011043922.tif 000027
【図１４】
2011043922.tif 000028