(57)【特許請求の範囲】
【請求項１】
道路の車両走行方向の斜め後方から撮像され、画面単位で時系列に取り込まれてくる画像データを処理して、車両を検出する方式の車両検出方法において、
前記画像データによる画面の任意の領域を小領域に分割し、
或る時点の画面における前記小領域と、前記或る時点から所定時間前の時点の画面における前記小領域を比較して、各小領域毎に移動ベクトルを算出し、
この算出した移動ベクトルを分布形状として記憶し、
この記憶した分布形状を解析して車両間の区切りを検出することを特徴とする車両検出方法。
【請求項２】
請求項１に記載の発明において、
前記車両間の区切りの検出は、
前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とし、
前記車両状態が所定回数経過し、かつ、前記空間状態になったとき、前記車両の区切り位置とすることを特徴とする車両検出方法。
【請求項３】
請求項１に記載の発明において、
前記車両間の区切りの検出は、
前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とし、
前記車両状態が所定回数経過し、かつ、前記移動ベクトルの分布形状があらかじめ定めた形状に類似したときを前記車両の区切り位置とすることを特徴とする車両検出方法。
【請求項４】
請求項１に記載の発明において、
前記車両間の区切りの検出は、
前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とし、
複数台の車両について、車両状態の移動ベクトルの平均ベクトル値と、車両状態から空間状態になるまでの平均経過時間を算出し、
該平均ベクトル値と前記平均経過時間の関係を定義し、前記車両状態の移動ベクトル値から予測経過時間を算出し、前記車両状態になってから前記予測経過時間を経過した後に前記車両の区切り位置を算出することを特徴とする車両検出方法。
【請求項５】
道路の車両走行方向の斜め後方から撮像され、画面単位で時系列に取り込まれてくる画像データを処理して、車両を検出する方式の車両検出装置において、
前記画像データによる画面の任意の領域を小領域に分割し、或る時点の画面における前記小領域と、前記或る時点から所定時間前の時点の画面における前記小領域を比較して、各小領域毎に移動ベクトルを算出する移動ベクトル算出部と、
この算出した移動ベクトルを分布形状として記憶する移動ベクトル記憶部と、
該移動ベクトル記憶部に記憶されている分布形状を解析して車両間の区切り位置を検出する車両区切検出部からなることを特徴とする車両検出装置。
【請求項６】
請求項５に記載の発明において、
前記車両区切検出部は、
前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とした上で、前記車両状態が所定回数経過し、かつ、前記空間状態になったとき、前記車両の区切り位置とすることを特徴とする車両検出装置。
【請求項７】
請求項５に記載の発明において、
前記車両区切検出部は、
前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とした上で、前記車両状態が所定回数経過し、かつ、前記移動ベクトルの分布形状があらかじめ定めた形状に類似したときを前記車両の区切り位置とすることを特徴とする車両検出装置。
【請求項８】
請求項５に記載の発明において、
前記車両の区切検出部は、
前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とした上で、複数台の車両について、車両状態の移動ベクトルの平均ベクトル値と、車両状態から空間状態になるまでの平均経過時間を算出し、該平均ベクトル値と前記平均経過時間の関係を定義し、前記車両状態の移動ベクトル値から予測経過時間を算出し、前記車両状態になってから前記予測経過時間を経過した後に前記車両の区切り位置を算出することを特徴とする車両検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置を用いた車両検出方法と装置に係り、特に、特定の位置を通過する車両台数の計測と車両の追跡に好適な車両検出方法及び装置に関する。
【０００２】
【従来の技術】
近年、道路交通網の拡大に伴い、特に長大トンネルを含む道路が多くなってきた結果、交通状況の監視が、安全対策上、更に重要な要素であるとの認識が高まっている。
そこで、道路での交通状況の監視のため、道路上や道路の近傍に設置したカメラ(テレビジョンカメラ)で撮像した画像データを画像処理することより車両軌跡を把握し、交通量と異常交通状態の発生を計測する方法が広く用いられるようになってきた。
【０００３】
ここで、従来の車両監視の分野で用いられている車両検出方法としては、或る時点での画像と、その直前のフレームでの画像との差分を取ることにより、移動領域を抽出するフレーム間差分法や、予め記憶してある背景画像と入力画像の差分により移動領域を抽出する背景差分法などの方法が用いられていた。
【０００４】
例えば、特開平８−１６７０２２号公報では、画面を小領域に区切り、各小領域と類似する小領域を過去に入力された画像から検出することにより移動領域を抽出し、この移動領域内で平行に移動する領域を１個の移動物体とし、複数のフレーム間で移動物体同志の対応をとることにより、移動物体の追跡が得られるようにした方法について開示している。
【０００５】
一方、上記した方法とは別に、複数のカメラを用い、複数の画像の立体視により３次元の位置を特定し、これにより車両の重なりを排除し、個々の車両が分離して認識できるようにした方法も、従来から知られている。
【０００６】
【発明が解決しようとする課題】
上記従来技術は、明るさの変動による影響について配慮がされておらず、移動した領域だけの抽出が困難であるという問題があった。
また、従来技術では、移動領域と背景の区別しかできないため、渋滞などで車両同志が重なって動いている場合には、個々の車両の分離が困難であるという問題もあった。
【０００７】
例えば、上記した特開平８−１６７０２２号公報による移動物体の検出方法では、当初、分離していた領域が重なった場合には対応できるが、初めから重なっている場合には分離して抽出できない。
また、予め区切った小領域間での類似度を用いて移動ベクトルを算出しているため、移動ベクトルの精度が小領域の大きさに依存して決まってしまう。
【０００８】
さらに、この移動物体の検出方法は、道路画像のような同一方向に向かう移動体の識別を対象にしていないので、事実上、ここで用いている手法を道路画像に適用しても、車両の分離は難しかった。
また、立体視による方法では、１箇所の監視に複数台のカメラが必要であり、コストがかかるという問題点があった。
【０００９】
発明の目的は、個々の車両を確実に分離して検出できるようにした車両検出方法および装置を提供することである。
【００１０】
【課題を解決するための手段】
上記目的は、道路の車両走行方向の斜め後方から撮像され、画面単位で時系列に取り込まれてくる画像データを処理して、車両を検出する方式の車両検出方法において、前記画像データによる画面の任意の領域を小領域に分割し、或る時点の画面における前記小領域と、前記或る時点から所定時間前の時点の画面における前記小領域を比較して、各小領域毎に移動ベクトルを算出し、この算出した移動ベクトルを分布形状として記憶し、この記憶した分布形状を解析して車両間の区切りを検出することにより達成される。
【００１１】
このときの前記車両間の区切りの検出は、前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とし、前記車両状態が所定回数経過し、かつ、前記空間状態になったとき、前記車両の区切り位置とするようにしても良く、前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とし、前記車両状態が所定回数経過し、かつ、前記移動ベクトルの分布形状があらかじめ定めた形状に類似したときを前記車両の区切り位置とするようにしても良い。
【００１２】
同じく、このときの前記車両間の区切りの検出は、前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とし、複数台の車両について、車両状態の移動ベクトルの平均ベクトル値と、車両状態から空間状態になるまでの平均経過時間を算出し、該平均ベクトル値と前記平均経過時間の関係を定義し、前記車両状態の移動ベクトル値から予測経過時間を算出し、前記車両状態になってから前記予測経過時間を経過した後に前記車両の区切り位置を算出するものであっても良い。
【００１３】
また、上記目的は、道路の車両走行方向の斜め後方から撮像され、画面単位で時系列に取り込まれてくる画像データを処理して、車両を検出する場合、前記画像データによる画面の任意の領域を小領域に分割し、或る時点の画面における前記小領域と、前記或る時点から所定時間前の時点の画面における前記小領域を比較して、各小領域毎に移動ベクトルを算出する移動ベクトル算出部と、この算出した移動ベクトルを分布形状として記憶する移動ベクトル記憶部と、該移動ベクトル記憶部に記憶されている分布形状を解析して車両間の区切り位置を検出する車両区切検出部とを備えることにより達成される。
【００１４】
このとき、前記車両区切検出部は、前記移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とした上で、前記車両状態が所定回数経過し、かつ、前記空間状態になったとき、前記車両の区切り位置とするものであっても良い。
【００１５】
同じく、このとき、前記車両区切検出部は、移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とした上で、前記車両状態が所定回数経過し、かつ、前記移動ベクトルの分布形状があらかじめ定めた形状に類似したときを前記車両の区切り位置とするものであっても良い。
【００１６】
更に、このとき、前記車両の区切検出部は、移動ベクトルが所定個数発生している状態を車両状態、発生しないときを空間状態とした上で、複数台の車両について、車両状態の移動ベクトルの平均ベクトル値と、車両状態から空間状態になるまでの平均経過時間を算出し、該平均ベクトル値と前記平均経過時間の関係を定義し、前記車両状態の移動ベクトル値から予測経過時間を算出し、前記車両状態になってから前記予測経過時間を経過した後に前記車両の区切り位置を算出するものであっても良い。
【００１７】
本発明によれば、移動ベクトルの発生する領域を画面上で車両の存在する領域の形状として抽出しているので、画面上で車両に重なりや隠れが生じ、画像処理だけでは車両間の分離がし難い場合でも、車両間の区切りの形状を抽出することができる。
【００１８】
【発明の実施の形態】
以下、本発明による車両検出方法と車両検出装置について、図示の実施の形態により詳細に説明する。
図１は、本発明による車両検出装置の一実施形態で、この実施形態は、図示のように、画像入力部１と画像格納部２、移動ベクトル算出部３、移動ベクトル領域設定部４、移動ベクトル分布記憶部５、それに車間区切り検出部６で構成されている。
【００１９】
画像入力部１は、道路上や道路の近傍に設置されている１台又は複数台のテレビカメラから画像(画像データ)を入力し、Ａ／Ｄ変換して画像格納部２に取り込む働きをする。ここで、道路には、トンネル内にある部分も含まれる。
【００２０】
画像格納部２は、画像入力部１から入力されてくる画像を１枚づつ、画像処理周期ｄt 間隔でｎ枚まで格納してゆく働きをする。ここで、１枚の画像とは、１フレーム分の画像データからなる画像のことで、このときの画像処理周期ｄt については、例えば１００ミリ秒程度が選ばれている。
【００２１】
従って、この画像格納部２には、入力時刻を現在時刻ｔとして、この時刻ｔから画像処理周期ｄt づつ遡った時刻ｔ−ｄt、ｔ−２ｄt、……、ｔ−ｎｄt における画像のデータが格納されていることになり、この結果、或る時刻ｔでの画像だけではなく、これから過去に遡ってｎ枚の画面を画像処理の対象とすることができる。
【００２２】
移動ベクトル算出部３は、任意の時刻ｔでの画像と時刻ｔ-ｎｄt での画像の間で、移動体の移動の方向と大きさを算出する働きをする。
ここでの移動ベクトルの算出方法には種々の方法があり、いずれの方法を用いても良いが、ここでは、一例として、濃淡パターンマッチング法を用いた方法について説明する。
【００２３】
この濃淡パターンマッチング法は、時刻ｔの画像における任意の領域のパターンをテンプレートとして、時刻ｔ−ｎｄt の画像上でパターンを検索し、一致度の高いパターンが見つかった位置と方向ベクトルを求める方法で、以下、この処理について、図２を用いて更に詳細に説明する。なお、以下、表示された画像については画面と記すことにする。
【００２４】
まず、図２(a)は、時刻ｔにおける画面の一例を示したもので、同図(b)は、時刻ｔから時間ｄt 前の画面の一例を示したものである。
この図２は、左側通行になっている道路を通行方向の後方から撮像した場合の画面で、このときカメラの視野に、たまたま走行中の車両２１があったときの画像であり、ここで、各画面の中に斜めになって表示されている３本の太線は、道路に描かれている通行区分線の像である。
【００２５】
いま、図２(a)の画面で、小さな四角形による領域２２と領域２３が移動ベクトルを算出する領域であるとし、それぞれの領域の中心の座標を２４(ｘ２２，ｙ２２)、２５(ｘ２３，ｙ２３)とする。
ここで、領域２２は移動している車両２１上の領域であり、領域２３は車両を含まない路面上の領域である。
【００２６】
まず、車両２１を含む領域２２における移動ベクトルの算出について、説明する。
基準となる領域２２が与えられると、領域２２のパターンをテンプレートとして、図２(b)の画面に示すように、時刻ｔ−ｄt での画面の中から類似したパターンを検索し、最もパターンが一致する領域２２'を検出する。
【００２７】
ここで、検出した領域２２'の中心座標を２４'(ｘ２２'，ｙ２２')とする。
【００２８】
そうすると、図２(c)の画面に示すように、領域２２'の中心座標２４'から、領域２２の中心座標２４に向かう矢印２６(ｘ２２−ｘ２２'，ｙ２２−ｙ２２')が、時刻ｔ−ｄt と時刻ｔの間における領域２２の移動ベクトルとして求まることになる。
【００２９】
次に、車両２１を含まない領域２３における移動ベクトルの算出について、説明する。
基準となる領域２３が与えられると、領域２３のパターンをテンプレートとして、図２(b)の画面に示すように、時刻ｔ−ｄt での画面中から類似したパターンを検索し、最もパターンが一致する領域２３'を検出する。
【００３０】
そうすると、この例の場合、路面のパターンは移動しないので、領域２３'の中心座標２５'(ｘ２３'，ｙ２３')は、今度は領域２３の中心座標２５(ｘ２３，ｙ２３)と一致している。
つまり、この例のように、移動体を含まない領域２３の場合は、矢印で表わさなければならない移動ベクトルは発生せず、図２(c)の画面に、点２７で示すようになる。
【００３１】
そこで、移動ベクトル算出部３は、以上のような手順により、任意の時刻ｔにおける画面と、時刻ｔ−ｄt における画面の間での移動ベクトルを算出し、入力した画像中の任意の領域に移動体が含まれているか否かを検出するのである。
【００３２】
移動ベクトル算出領域設定部４は、移動ベクトル算出用の領域を画面上に設定する働きをする。
上記したように、移動ベクトル算出部３によれば、入力した画像中の任意の領域に移動体があるか否かは容易に検出できるが、このままでは、車両同志が画面上で重なっていて、見かけ上ひとかたまりの移動物体となっているような場合には、車両同士の区切りを検出することができない。
【００３３】
ここで、車両が重なっている場合、人間は、車両間の重なりの形状、異なった車両間の速度の違いの認識、等から車両間の区切りの認識を行っていると考えられ、このことから次の２種の条件を満たす方法を取る必要がある。
(1) 移動体の輪郭がはっきり認識できること。
(2) 移動ベクトルの大きさが正確に算出できること。
【００３４】
そして、この条件を満たすための本発明の特徴部分が移動ベクトル算出領域設定部４であり、これにより、前述のように、移動ベクトル算出用の領域を画面上に設定するもので、以下、この設定動作について詳細に説明する。
図３は、道路の画面手前の車線に走行中の車両があり、これを斜め後方から撮影した場合の画像の一例で、以下、この画像から車両を検出するものとして説明する。
【００３５】
まず、車両などの移動体が存在する領域を検出するため、画面内で車両が入ってくる位置の道路や車体を包括する領域に、図３(a)の画面に示すように、移動ベクトル算出領域群を設定する。ここで、この図(a)の中にある四角形の点が、それぞれの移動ベクトル算出領域の中心座標を表わしており、これらは、図示のように、ｘ軸とｙ軸方向に等間隔に配置してある。
【００３６】
次に、これらの点を中心にして、例えば図３(b)の画面に示すように、同じ大きさの移動ベクトル算出領域を一律に格子状に設定した上で、各領域毎に移動ベクトル算出部３により移動ベクトルを算出する。
そうすると、このときの図３の画像の場合は、例えば同図(c)の画面に示すような移動ベクトルの算出が想定される。
【００３７】
そこで、図３(d)の画面に示すように、移動ベクトルが発生した領域だけを囲むことにより、このとき算出された移動ベクトルの分布状態が判り、この分布状態から、画像情報がなくても移動物体の存在する領域が、図示のように特定できることになる。
【００３８】
ところで、このとき設定すべき移動ベクトル算出領域の大きさであるが、本発明の目的からすれば、車両の輪郭が充分に出せるような大きさに設定する必要があり、この見地に立てば、この領域は小さくするにこしたことはない。
【００３９】
しかし、領域を小さくするとマッチングの精度が落ち、かつ、領域数が多くなるので計算時間が多く要するようになり、移動ベクトルをリアルタイムで算出するのが困難になる。
そこで、例えば、画面に入ってきた１台の車両が、縦８個、横８個程度の領域数で包括するくらいの大きさを目安とするとよい。
【００４０】
また、このとき、この移動ベクトル算出領域は、車両の輪郭をよりよく出すため、車両の輪郭に沿って配置する方が望ましい。
図３の例では、画面中での水平方向と垂直方向は、画面の輪郭と平行になっており、従って、移動ベクトル算出領域も画面の水平方向と垂直方向に平行に設定してある。
【００４１】
ここで、この図３(b)の画面に示すように、移動ベクトル算出領域を一律の大きさに設定した場合には、各移動ベクトル算出領域は、入力される画像には依存しないでカメラの設置位置により固定されるため、予め座標が設定できることになり、オフライン処理にすることができるが、他の実施形態としては、各移動ベクトル算出領域の大きさを固定せず、画面入力毎に動的に設定するようにしてもよい。
【００４２】
ところで、図２で説明したように、時刻ｔにおいて、任意の移動ベクトル算出領域をテンプレートとして、任意周期前の時刻ｔ−ｎｄt の画面を検索する際、テンプレートに登録する領域に、例えば輝度が一様であるなど特徴とする点が無いときには、どこを一致度の高いパターンとして登録するか判定できなくなってしまう。
【００４３】
従って、画像エッジ部など輝度にそれなりの変化が存在する領域を選んでテンプレートとするのが好ましく、このために、領域内の輝度の分散が所定値以上の値となる領域をテンプレートとする必要があるが、このとき、上記した固定の移動ベクトル算出領域を初期値とし、画像入力毎に特徴の出るような領域を設定する方法を用いることができる。
【００４４】
このときの具体的な処理方法について、図４により説明する。
まず、図４(b)の画面に示されている領域４１は、同図(a)の画面に示してある移動ベクトル算出領域の中の１個であるが、この場合の領域４１は、図示のように、車両４２の窓(リアウィンドウ)に含まれている。
【００４５】
ここで、車両の窓は概ね輝度が一様で特徴の無い領域であるのが通例であり、従って、この場合、領域４１による画像は、図４(b)の右側に示されているように、何も特徴の無いものとなってしまい、従って、これをテンプレートとしたのでは、一致度の高い領域が検出できなかったり、誤った領域を検出してしまう虞れがある。
【００４６】
そこで、このような場合は、図４(c)の画面に示すように、領域４１の中心座標４４を中心として領域を拡大してやると、領域４３で示すように、窓の枠を含む領域になるので、これをテンプレートとしてやれば、一致するパターンの判別が容易にできることになり、また、窓の枠や車体の領域も含むことで、領域内の輝度の分散も高くできることになる。
【００４７】
以上の処理について、図５のフローチャートにより説明する。
まず、この図５の処理は、画像処理周期毎に、つまり時間間隔ｔで起動されるが、このとき、各移動ベクトル算出領域はｉとし、その座標の初期値には、図４の画面(a)に示すように、予め各領域毎に座標ｘsi，ｙsi，ｘei，ｙei が設定されているものとし、ここで、ｘsi は領域ｉの始点のｘ座標、ｙsi は領域ｉの始点のｙ座標、ｘei は領域ｉの終点のｘ座標、ｙei は領域ｉの終点のｙ座標である。
【００４８】
処理が開始されると、まず、処理ｓ５１で画像を入力し、これにより処理ｓ５２で領域のインデックスｉを０に初期化する。次に処理ｓ５３で、領域ｉの座標を初期値(ｘsi，ｙsi，ｘei，ｙei)にした後、処理ｓ５４で領域ｉの輝度の分散を算出する。
【００４９】
そして、処理ｓ５５では、領域ｉの分散と座標(ｘei−ｘsi)の値を調べ、領域ｉの分散が所定値以上であるか、又は座標(ｘei−ｘsi)の値が領域幅上限値以上であれば処理ｓ５７に進み、所定値以下で、且つ座標(ｘei−ｘsi)の値が領域幅の上限値以下であれば処理ｓ５６に進む。
【００５０】
ここで所定値とは、例えば２０など、領域のパターンに特徴が出てマッチングがしやすくなるような値を設定する。
そして、まず、処理ｓ５６では、領域ｉの領域を、それぞれ四方向に、設定値ｐitch だけ広げる。
このときの設定値ｐitch は任意の値であるが、一般的には３〜５画素くらいの値が適当であると思われる。
【００５１】
この処理ｓ５６の後、処理ｓ５３に戻り、この処理以降の処理に進む。
一方、処理Ｓｓ５７では、領域ｉの座標を(ｘsi，ｙsi，ｘei，ｙei)とし、処理ｓ５８で処理対象の領域インデックスｉを次の領域に進める。
【００５２】
そして、ここで進めたインデックスの番号が領域数以上だったら、処理ｓ５９では移動ベクトル算出領域設定の本処理を終了させ、領域数以下のときは処理ｓ５３に戻り、処理を繰り返す。
従って、この実施形態によれば、画像入力毎に、分散が一定値以上になるまで領域が広げられるので、テンプレートによる各移動ベクトルのマッチング精度を充分に高めることができる。
【００５３】
なお、図５の処理の流れの例では、処理ｓ５５で領域の分散が低いと判断されたとき、次の処理ｓ５６では、上下左右共に等しく、同じ設定値ｐitch だけ広げるようにしているが、これは必ずしもそうしなくてはならない訳ではなく、上下と左右を異なった値にしても、或いは全部異なった値でもかまわない。
【００５４】
ここで、ｓ５３からｓ５６までの処理により領域を広げる場合、分散が所定値を越えるまで無制限に広げるのではなく、領域幅に上限値を設けているが、これは、例えば車両が存在せず分散値が低い路面パターンになっていたときなどに無制限に領域が広がってしまうのを防ぐためである。
【００５５】
移動ベクトル分布記憶部５は、以上のようにして、移動ベクトル算出部３で算出した移動ベクトルを、車間区切り検出部６で車間区切りの検出に必要な形式で記憶する働きをする。
このとき、ここでの記憶の形式は車間区切り検出部６の処理に依存するので、この記憶形式については、車間区切り検出部６の説明と一緒に後述する。
【００５６】
上述のように、画面を移動ベクトル算出領域設定部４によって区切り、各移動ベクトル算出領域毎に移動ベクトルを算出することで、図３に示したように、移動している領域を正確に抽出することができる。
そして、このように抽出した移動領域から、車両間の区切りを検出するのが、ここで説明する車間区切り検出部６の役目である。
【００５７】
すなわち、車間区切り検出部６は、移動ベクトル算出部３で算出し、移動ベクトル分布記憶部５に記憶された移動ベクトルの分布情報から、車間の区切りを検出する手段であり、ここでは、その実現方法について、３種の実施形態により順に説明する。
【００５８】
まず、第１の実施形態について説明すると、これは、ある時刻の画面における移動ベクトルの分布形態から、車両間の区切りを認識する方式である。
まず、図６(a)は、道路の左側の車線を走行方向の後方から俯瞰した状態で撮影した画面の一例で、この場合、カメラの位置の関係から、前後に連なって走行している車両６１〜６３は、図示のように、横方向に順次右側にずれた重なり方をして写る。
【００５９】
この場合、後続車が接近しても、最小限の車間距離は保たれる以上、最後まで隠れない部分が先行車両の左下隅に残る筈なので、図６(b)の画面に示す三角形の空間６４、６５が車両間の隙間になる。
そこで、この第１の実施形態では、このように、カメラの画角から決定される車両間の隙間の形状を検出することにより、車両間の区切りを検出するようにしたものである。
【００６０】
そして、この第１の実施形態では、まず、図７(a)の画面に示したような各領域毎の移動ベクトルの大きさを、例えば同図(b)に示すような形式で、ｘとｙのマトリックスとして整理し、移動ベクトル分布記憶部５に記憶し、次に、図６の画面(a)に示すように、記憶した移動ベクトルの分布の中で、各行の移動ベクトルが存在する一番左の位置から、図６(b)の画面の三角形６４、６５で示すような段差が生じる位置を検出するのである。
【００６１】
このときの車両間の区切りの検出には種々の方法が考えられるが、その一種にパターンマッチングにより車間の区切りパターンを検出する方法がある。
この方法は、予め考えられる段差のくびれの形状を何通りか作成しておき、入力された画面のパターンとマッチングをとる方法である。
【００６２】
この方法は、例えば、図８(a)に示すように、記憶した移動ベクトルの分布をベクトルの有無(０or１)の情報に変換し、同図(b)に示すように二値化する方法であり、この結果、同図(c)に示すように、移動する領域は黒、移動しない領域は白の二値の配列に変換できる。
【００６３】
そこで、これを利用し、想定されるくびれの形状を、予め図９に示すような同様の配列で定義しておき、これと、入力された画像の二値の配列パターンとでマッチングを取って検出するようにしたのが、第１の方法である。
【００６４】
次に、この区切りを検出する第２の方法としては、画像入力毎に得られる配列に対して、車両間のくびれを定義する条件判定を行い、それを満たした場合に車両間のくびれとする方法もある。
具体的には、移動ベクトル分布記憶部５に記憶した画面上の移動ベクトルの配列が、一例として図１０に示すようになっていたとすると、以下のような条件を満たしたとき、車両間のくびれとするのである。
【００６５】
条件Ａ
任意のｎ列目の一番左の移動ベクトルのＸ座標をＸn、ｎ＋１列目の一番左の移動ベクトルのＸ座標をＸn+1 とし、以下の(数１)式を満たしたとき。
Ｘn+1≧Ｘn+2 ……        ……(数１)
条件Ｂ
ｎ＋１、ｎ＋２、ｎ＋３、ｎ＋４列目の一番左の移動ベクトルのＸ座標をそれぞれＸn+1、Ｘn+2、Ｘn+3、Ｘn+4とし、以下の(数２)式を満たしたとき。
Ｘn+2＝Ｘn+1−１
Ｘn+3＝Ｘn+4−１
Ｘn+4＝Ｘn+3−１ ……    ……(数２)
【００６６】
すなわち、図１１に示すように、この場合、ｎ列目に先行車両の最後尾があるため、その下のｎ＋１列目との間に段差が生じた場合が条件Ａであり、ｎ＋１列目から下に後続車両の車体の形状に沿ってなだらかな段差が生じた場合が条件Ｂとなる。
以上に挙げた条件は一例であるが、この方法により車間の区切りの形状を検出することができる。
【００６７】
ところで、ここに説明した車間区切り検出方法は、上記したように、ある時刻に算出された移動ベクトルの分布からの判定だけなので、実際の車両間の区切り以外にも、例えば輝度の急激な変化の影響などで段差が生じた場合、これを車両間の区切りであると誤判定をしてしまう可能性がある。
【００６８】
そこで、本発明の一実施形態として、図１２に示すような誤検出除去部７と、車間時間予測部８を付加した構成があり、これによれば、より正確に車両を検出することができる。
ここで、まず誤検出除去部７は、画面上の移動ベクトルの発生状況の履歴をとり、この履歴情報から移動体が通過したか否かの判定を行う手段であり、この手段による車両通過の判定方法の例について、以下、図１３と図１４を用いて説明する。
【００６９】
図１３において、まず同図(a)〜(f)は、車両１３２が画面手前から奥に向かって走行したときの経過を、時間間隔ｔで順次入力されてくる画面により時系列的に示したもので、図には、画面に設定されている移動ベクトル算出領域群の中の任意の一行が領域１３１で示してあり、更に、この領域１３１の中には１２個の移動ベクトル算出領域が含まれていることが示されている。
【００７０】
そして、図１３(g)は、上記した移動ベクトル算出領域１３１におけるベクトルの有無を時刻毎に縦方向に並べて表示したもので、ここでは、ベクトルを有する領域は網目部分１３３で示してあり、領域１３１一行の移動ベクトルの大きさの総和は１３４で示してある。
【００７１】
従って、この総和１３４から、車両１３２が領域１３１を通過する部分での移動ベクトルの発生状況が時系列的に知ることができ、しかも、この図１３の例のように、車両が通過する場合には、移動ベクトルがある程度連続して発生することが判る。
【００７２】
一方、図１４は、例えばノイズなどにより画面に移動ベクトルが発生した場合の一例を示したもので、移動物体が何も存在しない場合でも、急激な輝度の変化などで、例えば、図１４(b)の画面に示すように、段差１４１を伴う移動ベクトルが発生する場合があり、このような場合、この画面だけでは、車両などの移動物体の通過によるものか、ノイズによるものであるのかは判断できない。
【００７３】
しかし、このとき、任意の行の領域１４１における移動ベクトルの有無を、図１４(d)に示すように、図１３(g)と同様に表示してみると、このときは、移動ベクトルが時刻ｔ＋ｄt においてしか発生していないことが判る。
【００７４】
そこで、この点に着目し、誤検出除去部８では、画面上の移動ベクトル発生状況の履歴から、車両などの移動体の通過かノイズの発生によるものかを判定するようにしたのがこの実施形態の特徴であり、これにより移動物体の通過と誤判定してしまう虞れが生じないようになっている。
【００７５】
ここで、判定に使用する移動ベクトルの発生状況としては、図１３(g)に示すように、ある特定の行のベクトルの大きさの総和１３４を使用しても良いし、このとき、検出値の変動を平滑化するため、更に２、３行分のベクトルの大きさの総和を用いても良い。
【００７６】
一方、上記したように、ベクトルの大きさを用いるのではなく、移動ベクトルの発生数を発生状況として用いることもできる。
そこで、以下では、移動ベクトルの発生数を用いて判定するようにした場合の一実施形態について、図１５により説明する。
【００７７】
この図１５は、画像処理毎に算出した移動ベクトル発生状況の値の変動を波形１５１、１５２、１５３、１５４で表わしたもので、ここには、車間区切り検出部６において車間の区切りを判定するタイミングも三角マーク１５５〜１５８で示してある。
【００７８】
そして、各波形１５１〜１５４の下側には、それぞれの波形の継続時間の長さが矢印で示してあり、これらの矢印には、それぞれの波形の継続時間を、画像処理周期を単位とする回数で示した数値“２２”、“２１”、“１８”、“３”が付してある。
【００７９】
そこで、この場合は、各判定タイミング１５５〜１５８の中で、判定タイミング１５５、１５６、１５７については、移動ベクトルが連続している回数が各々２２回、２１回、１８回であるので、これらは何れも車両の通過によるものであると判定する。
【００８０】
そして、判定タイミング１５８では、移動ベクトルが連続して３回しか判定されていないので、これはノイズによるものとして判定するのであり、従って、これによりノイズによる誤判定が確実に防止できることになる。
【００８１】
以上をまとめて、図１２に示した誤検出除去部７を備えた実施形態による車間区切り検出部６の具体的な動作について、以下、図１６により説明する。
ここで、この図１６による処理は、移動ベクトル算出部３の処理を受けて、画像処理周期毎に起動されるものである。
【００８２】
処理が開始されると、まず、処理ｓ１６１で、最新の画像Ｖｔにおいて、例えば図１３に符号１３１で示してあるような任意の一行、若しくは複数行に移動ベクトルがあるか否かを判定し、移動ベクトルがあれば処理ｓ１６２に進み、移動ベクトルが無いときは処理ｓ１６３に進む。
【００８３】
そして、処理ｓ１６２では移動ベクトルカウンタをインクリメントし、処理ｓ１６３では移動ベクトルカウンタを０にクリアする。
従って、この移動ベクトルカウンタは、ある画面での移動ベクトルの発生状況が１以上の場合にインクリメントされ、この結果、この移動ベクトルカウンタにより、移動物体が何周期連続したかがカウントされることになる。
【００８４】
ここでカウントされる移動ベクトルの発生状況については、上記したように、例えば特定行のベクトルの大きさの総和などで決まるものである。
次いで、処理ｓ１６４で移動ベクトルカウンタの値が一定値以上か否かを判定し、一定値以上のときは処理ｓ１６５に進み、一定値以下のときは処理ｓ１６８に進みむ。
【００８５】
処理ｓ１６５では、時刻ｔの移動ベクトル分布に段差の有無を判定し、段差ありのときは処理ｓ１６６に進み、段差がないときは処理ｓ１６８に進む。
そして、処理ｓ１６６では車間区切り検出処理を行い、次いで処理ｓ１６７で移動ベクトルカウンタを０にクリアしてから処理ｓ１６８に進んだ後、処理ｓ１６８で次の周期での処理に移行するのである。
【００８６】
従って、この実施形態によれば、移動ベクトルカウンタにより、移動ベクトルの発生状況を監視しながら連続して移動ベクトルが観測でき、車両が通過したと判定できる場合に車間の区切りを検出することができる。
【００８７】
次に、車間時間予測部８について説明する。
上記した車間区切り検出部６の各実施形態では、移動ベクトルが発生する位置を、移動物体が存在する領域であると仮定し、移動ベクトルが０の位置を、移動物体が存在しない領域であると仮定している。
【００８８】
しかし、移動ベクトル算出領域に特徴部分がなく、分散が０、若しくは０に近いときは、たとえその領域が移動していたとしても、移動ベクトルが求まらない場合がある。
ここで、例えば図１７(a)は、一例として、小型車両１７１に大型車両１７２が重なっている場合の画面と画像の移動ベクトルを示したもので、同じく図１７(b)は、同図(a)の画面から移動ベクトル情報だけを抽出したものである。
【００８９】
そうすると、ここで、例えば図(a)の画面中における領域１７３、１７４のように、移動している領域ではあるが、領域中の輝度が一様で特徴部分が含まれないような場合には、移動ベクトルが求まらないことがある。
この場合、図１７(b)に示すような段差１７５が現れてしまい、この結果、図示のように、１台の車両に２個所の区切り１７６、１７７が検出され、誤検出になってしまう。
【００９０】
この場合、１台の車両の通過にかかる時間Ｔを移動ベクトルの大きさから予測し、車両を１回検出したときは、それから時間Ｔが経過するまでは再検出しないという手法を、車間時間予測部８に適用してやればよく、これにより上記した誤検出を防止することができる。
【００９１】
このときの時間Ｔは、カメラの画角と、画面を通過する車両の平均の移動ベクトルの大きさと関係から予測できる。
ここで、この予測に必要な式の設定には、オフラインとオンラインの２種の方法が考えられるが、まず、オフラインによる方法について説明する。
【００９２】
いま、例えば図１８において、(a)の画面に示すように、予め定めた移動ベクトル算出領域の任意の１行の領域１８２に車両１８１の上部が最初にかかる時刻ｔから、この領域１８２の中を車両１８１が通過していって、同図(b)の画面に示すように、最後に車両１８１の下部が領域１８２にかかる時刻をｔ＋ｎｄｔとすると、画面(a)と画面(b)の時間差ｎｄｔが通過にかかった時間Ｔになる。
【００９３】
そこで、この時間Ｔを算出する処理と、図１８の画面(a)から画面(b)に車両が通過する間の平均の移動ベクトルの大きさ、つまり移動ベクトルの平均値Ｖを算出する処理を、予め数１０台の車両について実行し、結果を得ておく。
【００９４】
図１９は、得られた結果を散布図としてプロットした特性図の一例であり、図中の直線１９１は、これらの関係を、次の(数３)式で表わされる直線式で近似したものである。
Ｔ＝ａＶ＋ｂ ……          ……(数３)
但し、ａ、ｂはパラメータ(定数)である。
【００９５】
そこで、車間時間予測部８は、そのときの平均移動ベクトルＶの値から、上記(数３)式により、常時、１台当たり通過所要時間Ｔを算出する。
このため、まず、予め移動ベクトルの大きさを観測する行を決定しておき、画像が入力される毎に、該当する行で発生する移動ベクトルの大きさの平均値をとる。
【００９６】
例えば、図２０の場合において、移動ベクトルを観測する行を２０２と決めておくと、この画面の場合、行２０２で観測される移動ベクトルは枠２０１で囲まれた３個の移動ベクトル(３、２、３)となる。
そうすると、この場合は、移動ベクトルの平均値Ｖ＝２.６７となり、この値を(数３)式に代入することにより、時間Ｔを算出することができる。
【００９７】
次に、オンラインによる方法について説明すると、この場合、要するに、前記オフラインで用いているデータは、画像処理中でも収集できるので、これを利用するだけである。
すなわち、オンラインで収集したデータに基づいて、(数３)式のパラメータを一定周期毎に更新してやればよい。
【００９８】
次に、図２１は、車間時間予測部８を付加したときの移動ベクトル算出部３と車間区切り検出部６による処理の流れを示したもので、ここで、intervalは、一旦車両検出を行った時刻からの時間の計時に使用する変数値である。
【００９９】
図２１による処理について説明すると、まず、処理ｓ２１１で画像を入力し、次いで処理ｓ２１２では、移動ベクトル算出部３により各移動ベクトル算出領域の移動ベクトルを算出して、車間時間予測部８により、１台当りの通過所要時間の予測値が計算されるようにする。
【０１００】
そして、処理ｓ２１３では、車間時間予測部８で算出した１台当たり通過所要時間の予測値が、予め設定してある変数値Intervalより小さいときは処理ｓ２１４に進み、大きいときは処理ｓ２１５に進む。
ここで、処理ｓ２１４に進んだときは、変数値Intervalをインクリメントしてから処理ｓ２１１に戻り、次回の画像入力処理に備える。
【０１０１】
一方、処理ｓ２１５に進んだときは、ここで車間区切り検出部６の車間区切り検出処理を実行し、次いで処理２１６では、車間区切りが検出されたか否かを判定する。
【０１０２】
そして、この処理ｓ２１６で車間区切りが検出されたと判定された場合には、処理ｓ２１７で変数値intervalを０にクリアし、次回の時刻での画像入力処理に進むが、車間区切りが検出されないと判定された場合には、処理ｓ２１８で変数値intervalをインクリメントしてから次回の時刻の画像処理に進むのである。
【０１０３】
従って、この実施形態によれば、画像処理周期ｄt で画像が入力される毎に、前回車両検出してからの時間が予測車間距離以上か否かが判定され、予測車間時間以上経過していない場合は車間区切り検出処理が行われないようにする処理が実行されることになり、この結果、１台の車両を２回以上検出してしまうことによる誤検出の発生頻度を減少させるここができる。
【０１０４】
また、このとき、誤検出除去部７と車間時間予測部８を用いることで、画面毎の移動ベクトルの分布形状だけではなく、車両の通過や車間の時間も考慮されることにより正確な車間の区切りの検出を得ることができる。
【０１０５】
次に、車間区切り検出部６の第２の実施形態について説明する。
上記した第１の実施形態では、ある時刻に算出された移動ベクトルの分布だけを用いて車間区切りの判定を行っていた。
【０１０６】
しかし、この第２の実施形態は、既に前述の第１の実施形態における図１３で説明したような、任意の１行の移動ベクトル発生状況を時間軸方向に投影した分布を記憶し、その分布形状から車間の区切りを検出する方法であり、以下、この車間区切り検出部６の第２の実施形態について、図２２を用いて更に詳しく説明する。
【０１０７】
図２２の(a)〜(i)は、走行中の車両を表示している画面の一例で、これまでの例と同様、左側後方から撮影した画面を時系列的に順次示したものであり、ここで、車両２２２と車両２２３は前後して走行していて、最初の画面(a)を除き、画面上では重なっている。
【０１０８】
ここで、移動ベクトル算出領域の行２２１は、画面(a)、(b)では先行する車両２２２の車体だけを含んでいるが、画面(c)、(d)、(e)では車両２２２と車両２２３の双方が重なっている部分を含み、画面(f)、(g)、(h)、(i)では追従する車両２２３の車体だけを含んでいる。そして、画面(e)が、先行する車両２２２の最後尾が行２２１を通過する瞬間の画像で、画面(f)は、車両２２２が行２２１を通過した直後の画像である。
【０１０９】
一方、図２２(j)は、行２２１で示されている移動ベクトル算出領域における移動ベクトルの有無を、ｔから始まって画像処理周期ｄt 毎に増加している時刻毎に投影した図であるが、ここには、時刻ｔ＋４ｄt と時刻ｔ＋５ｄt の間に段差が現れている。
【０１１０】
そして、この図２２(j)の投影図を、各時刻毎の画面(a)〜(i)と対照させてみると、上記した段差は、先行する車両２２２の最後尾により現れているものであり、従って、このことから、行単位で移動ベクトルを投影した場合も、車両間の区切りには段差ができ、このような段差を検出することにより車両の最後尾が検出できることが判る。
【０１１１】
そこで、この第２の実施形態では、移動ベクトル分布記憶部５には任意の行の移動ベクトル情報が時刻毎に記憶されるように構成する。
このときの移動ベクトル分布記憶部５の記憶形式の一例が図２３で、図示のように、画像処理周期ｄt 毎に特定の一行の移動ベクトルの値をｘ方向に順に記憶するのである。
【０１１２】
そして、このようにして移動ベクトル分布記憶部５に記憶した移動ベクトルの分布から車間の区切りを検出するのであるが、この検出方法については、既に説明した第１の実施形態と同じく、パターンマッチングによる技法や条件判定による技法を用いて行えばよい。
【０１１３】
このとき、同じく第１の実施形態と同様、誤検出除去部７と車間時間予測部８を付加した処理を行うことにより、さらに正確な区切り検知を得ることができるのはいうまでもない。
【０１１４】
以上が車間区切り検出部６の第２の実施形態であるが、次に、車間区切り検出部６の第３の実施形態について説明する。
この第３の実施形態では、移動ベクトルの分布パターンから車両の通過状態を判定するのにニューラルネットワークを用い、通過状態の連続パターンから車両間の区切りを判定するようにしたものである。
【０１１５】
既に述べたように、移動ベクトル算出手段により算出した移動ベクトルの発生状況によれば、画面上での移動領域の形状が抽出できる。
そして、車両通過中の画面上の移動ベクトル分布パターンは、その形状が有する特徴に応じて、例えば、車両本体によるものと、車間くびれによるもの、及び空間(車両が存在しない)によるものの３種類の状態に分けることができる。
【０１１６】
そこで、このことを利用し、上記３種類の車両検出領域の移動ベクトルの分布パターンをニューラルネットワークに学習させることにより通過中の状態を画面毎に判定し、その状態の遷移で車両の通過状態を把握するようにしたのが、この第３の実施形態である。
【０１１７】
まず、図２４は、このときの移動ベクトル分布パターンの代表例を示したもので、図において、１８１が車両本体によるパターンの一例で、１８２は車間区切りによるパターンの一例であり、１８３が空間によるパターンの一例である。
【０１１８】
次に、図２５は、この実施形態で、ニューラルネットワークを利用した場合でのネットワーク構造を示したものであるが、ここで、ニューラルネットワークで扱うデータ範囲は０から１の実数に限られる。
そこで、まず、図２５(a)に示すような移動ベクトル分布については、同図(b)に示すように、０(移動ベクトルあり)か１(移動ベクトルなし)の二値の配列情報に変換する。
【０１１９】
そして、この図２５(b)に示した二値の配列情報を、同図(c)に示したニューラルネットワークの入力層に順に入力するのである。
この例では、ニューラルネットワークが５×９のマトリックス構成になっているので、ａ[０][０]〜ａ[４][８]の４５パタンの配列情報がニューラルネットワークの入力層に供給され、その出力層には、図２４に示した３種類の形状パターン毎の出力が用意される。
【０１２０】
そして、図２５(b)に示す情報をニューラルネットワークの入力層に入力し、学習時は教師データとしてパターン番号を与えることにより学習する。
ここで、認識に際しては、画像入力毎に算出した移動ベクトルの分布を同様に二値化した情報として入力し、認識結果を得る。
【０１２１】
このときの認識結果としては、前述の３通りのいずれかのパターン番号が得られるので、画像入力毎に、その画面にもっとも類似度の高いパターン番号の出力が得られる。
そして、画像入力毎に出力される認識結果をもとに、現在の画像が３通りのうちの何れの状態であるかを判定する必要がある。
【０１２２】
このときの状態の遷移は、上述の３種類のパターンの例では、
「車体」 → 「車間区切り」 ……
或いは、
「空間」 → 「車体」 ……
の遷移が繰り返されるので、具体的には図２６に示すような処理の流れで状態遷移を決定することになる。
【０１２３】
そこで、以下、この図２６による処理について説明すると、まず、ここで「認識結果」とは、ニューラルネットワークの認識による出力のことで、「現在の状態」が、この処理の結果として判定した現在の状態のことである。
【０１２４】
そして、ｓ２６４からｓ２６６までの処理により、現在の状態が「空間」に遷移する場合の処理が実行され、ｓ２６７からｓ２７０までの処理では、現在の状態が「車間区切り」に遷移する場合の処理が実行され、更に、ｓ２７１からｓ２７３までの処理で、現在の状態が「車体」に遷移する場合の処理が実行されることになる。
【０１２５】
また、この図２６は、車間区切り検出部６としての処理であるため、現在の状態が「車間区切り」、又は「空間」に遷移した場合に車両検出判定を実行することになるが、これは、画面上で車両が重なっていないとき車両間に空間ができるためである。
【０１２６】
この図２６の処理は、移動ベクトル算出部３の処理を受けて、毎画像処理周期毎に起動される。
そして、起動されると、まず処理ｓ２６１で、移動ベクトル分布記憶部５から移動ベクトルの分布を読み出し、次いで、この移動ベクトルを二値化し、“１”と“０”の配列データに変換する。
【０１２７】
次に、処理ｓ２６２で、この二値化された配列データをニューラルネットワークに入力し、認識結果を得た後、処理ｓ２６３に進み、ここから、処理ｓ２６２での認識結果が「空間」で、且つ現在の状態が「車体」であった場合には処理ｓ２６４に進み、それ以外の場合は処理ｓ２６７に進む。
【０１２８】
まず、処理ｓ２６４に進んだときは、認識結果が３回以上連続して「空間」と判定されていたか否かを調べ、結果がＹｅｓのときは処理ｓ２６５に進み、Ｎｏのときは次周期の処理へ進む。
処理ｓ２６５では、現在の状態は「空間」であるとし、この後、処理ｓ２６６で車両検出判定とする。
【０１２９】
次に、処理ｓ２６７に進んだときは、認識結果が「車間区切り」で、且つ現在の状態が「車体」である場合、処理ｓ２６８に進み、それ以外の場合は処理ｓ２７１に進む。
処理ｓ２６８では、認識結果が３回以上連続して「車間区切り」と判定されていれば処理ｓ２６９に進み、それ以外は次周期の処理へ進む。
処理ｓ２６９では、現在の状態は「車間区切り」であるとし、この後、処理ｓ２７０で、車両検出判定されたとするのである。
【０１３０】
処理ｓ２７１に進んだときは、認識結果が「車体」で、現在の状態が「車間区切り」又は「空間」である場合、処理ｓ２７２に進み、それ以外の場合は次周期処理に進む。
処理ｓ２７２では、 認識結果が３回以上連続して「車体」と判定されていれば処理ｓ２７３に進み、それ以外は次周期の処理へ進む。
そして、処理ｓ２７３で現在の状態は「車体」であるとするのである。
【０１３１】
図２７は、上記の処理による時刻毎の認識結果と、現在の状態の遷移の関係を示したもので、この図には、最上段の時刻に対応して、２段目に認識結果が、そして３段目には状態の遷移が各々示されており、従って、以上の処理により、画面入力毎に判定した状態から車両が検出できることが判る。
【０１３２】
なお、この図２６に示した実施形態では、簡単化のため、認識結果と現在の状態の組合せパターンが３種類にしてあるが、より細かいパターン分けを行っても良い。また、同じ認識結果が３回連続したとき、状態が遷移するように構成されているが、これは誤認識により誤った状態遷移が起こるのを避けるためであり、従って、複数回であれば、必ずしも３回でなくても良い。
【０１３３】
以上、車間区切り検出部６について、複数の実施形態により説明したが、これらを図１と図１２の本発明の実施形態に適用することにより、画面中で車両同志の重なりが生じた場合でも、確実に車両間の区切りを検出することができる。
【０１３４】
次に、本発明による車両検出装置の他の実施形態について説明する。
まず、この実施形態は、現在時刻から数周期前の画像に遡り、該遡った時刻の画像における移動領域が現在時刻に至るまでにどの程度隠れたかを検出し、最も隠れの大きい部分を車両間の区切りとする方法である。
【０１３５】
ここで、図２８の各画面(a)〜(d)は、画像格納部２に記憶されている時刻ｔ−３ｄt から時刻ｔまでの画像であるが、この実施形態では、まず、この中で一番古い時刻ｔ−３ｄt の画面(a)を選ぶ。
次に、この画面(a)の中から、移動ベクトル分布記憶部５に記憶されている移動ベクトル分布を用い、移動ベクトルが存在する小領域(移動物体のある領域)を抽出する。
【０１３６】
そして、時刻ｔ−２ｄt、ｔ−ｄt、ｔの各画面(b)、(c)、(d)において、上記抽出した各小領域毎に、パターンマッチングによる検出処理を行うのである。
ここで、図２８の各画面(b)、(c)、(d)の中には、このとき検出した各小領域に対応する領域がそれぞれ矩形で示されているが、これらの小領域の中で斜線が付してある領域が、後続車両２８２に隠されていてパターンが検出できなかった領域である。
【０１３７】
従って、例えば、この図２８の例では、時刻ｔ−３ｄt の時点では、画面(a)から明らかなように、車両２８１に含まれる領域内には２０個の移動している小領域があったが、時刻ｔ−２ｄt での画面(b)と、時刻ｔ−ｄt の画面(c)、それに時刻ｔの画面(d)では、後続車両２８２によって隠されたため、図中それぞれ２個、５個、１２個の領域が検出できなくなっている。
【０１３８】
そして、このとき、後続車両２８２は、画面下から画面中に入って先行車両２８１と徐々に重なるため、先行車両２８１の最後尾２８３の行から順に隠されていくことが分かる。
そこで、これを利用し、任意周期前の時刻ｔ−ｎｄt における各移動ベクトルの存在領域をテンプレートパターンとし、画像格納２に格納されている時刻ｔ迄のｎ枚の画像上に各パターンが存在するか否かを順に検出してゆく。
【０１３９】
そして、検出できなかったテンプレートパターンの個数を各行毎に、この例では行２８３、２８４、２８５毎に累計する。
この場合、前述したように、車両同志が重なる場合、先行車両２８１の最後尾がもっとも隠される頻度が高い領域であるので、累計した頻度は図２８(e)に示すように山形を呈する。
【０１４０】
そこで、以上の処理を画像処理周期ｄt 毎に行い、頻度分布特性(e)を得た上で、この山形の特性の中で頂点になる行を車両の最後尾、つまり車間の区切りとして登録するのである。ちなみに、このときは、図示のように、行２８３が車間の区切りとなる。
従って、この実施形態によれば、画面中で車両同志の重なりが生じた場合でも確実に車両間の区切りを検出することができる。
【０１４１】
次に、図２９は、本発明のさらに別の一実施形態で、この実施形態は、入力画面から抽出した移動領域から、車両が１台１台存在する領域を抽出するようにしたもので、このため、図１の実施形態における車間区切り検出部６に代えて、図示の用に移動ベクトルの分布から車両領域を抽出する車両領域抽出部９を設けたものである。
【０１４２】
この車両領域抽出部９は、画面上で走行している移動物体が、テレビカメラから近いほど見掛け上の移動ベクトル量が大きいことを利用して、個々の車両を分離し、検出するように構成されている。
例えば、図３０は、車両３０１と車両３０２が画面上で重なっている例であるが、この場合、移動ベクトルの集合としては、見掛け上ひとかたまりの物体に見える。
【０１４３】
しかし、実際には、テレビカメラからの距離が車両毎に異なっているため、個々のベクトルの大きさでみると車両毎に異なっている。
そこで、上記したように、これを利用し、移動ベクトルの大きさが同じ領域をグルーピングすることにより、車両毎の領域を分離することができる。
【０１４４】
なお、理想的には、１台の車両の領域から算出される移動ベクトルは等しくなる筈であるが、実際には、テレビカメラから車両の各部分までは距離が微妙に異なっていることや、その他、ノイズの影響などもあるため、全く等しくなることはない。
【０１４５】
しかし、画面上に発生する移動ベクトルの大きさ毎に発生頻度分布をとると、図３１のように、移動体毎に頻度分布に山ができると考えられるので、このような頻度分布の山毎に１台の車両であると看做すことでき、従って、移動ベクトルの大きさが同じ領域をグルーピングすることにより、車両毎の領域を容易に分離することができる。
【０１４６】
以上、本発明の実施形態によれば、移動ベクトルの大きさを用いることで、フレーム間差分による実施形態では得られなかった、画面上で重なった車両毎の領域を分離することができる。
【０１４７】
【発明の効果】
本発明によれば、移動ベクトルを算出することにより、画面上での移動領域の輪郭が明瞭に抽出できるので、車両間の区切りの形状認識を確実に得ることができ、この結果、画面上で車両に重なりや隠れが生じて、フレーム間差分法や背景差分法などによる画像処理手法では車両の分離が難しい場合でも、個々の車両を常に確実に分離して検出することができる。
【図面の簡単な説明】
【図１】本発明による車両検出装置の一実施形態を示すブロック図である。
【図２】本発明の一実施形態における移動ベクトル算出方法の説明図である。
【図３】本発明の一実施形態における移動ベクトル算出領域設定法の説明図である。
【図４】本発明の一実施形態において移動ベクトル算出領域を動的に設定するための処理方法の説明図である。
【図５】本発明の一実施形態による移動ベクトル算出領域を動的に設定する処理の流れ図である。
【図６】本発明の一実施形態における画面の移動ベクトルの分布から車間の区切りを求める方法の説明図である。
【図７】本発明の一実施形態における移動ベクトル分布の格納形式の説明図である。
【図８】本発明の一実施形態におけるパターンマッチングのためのデータ変換方法の説明図である。
【図９】本発明の一実施形態において想定される車間のくびれの例の説明図である。
【図１０】本発明の一実施形態における画面上の移動ベクトル配列の一例を示す説明図である。
【図１１】本発明の一実施形態における移動ベクトルの発生状況の一例を示す説明図である。
【図１２】本発明の他の一実施形態を示すブロック図である。
【図１３】本発明の他の一実施形態における移動ベクトルの発生状況の履歴による車両通過の判定方法の説明図である。
【図１４】本発明の他の一実施形態において画面上にノイズにより移動ベクトルが発生した場合の説明図である。
【図１５】本発明の他の一実施形態によるノイズを除去しながら車間の区切りを求める方法の説明図である。
【図１６】本発明の一実施形態において誤検出除去部を備えた場合の車間区切り検出部の処理を示す流れ図である。
【図１７】本発明の実施形態において誤検出が発生する場合の説明図である。
【図１８】本発明の一実施形態における車両の通過にかかる所要時間と移動ベクトルの大きさの計測方法の説明図である。
【図１９】本発明の一実施形態において車両の通過にかかる所要時間と移動ベクトルの関係を示す説明図である。
【図２０】本発明の一実施形態における移動ベクトルの平均値を算出する方法の説明図である。
【図２１】本発明の一実施形態において車間時間予測部を付加したときの移動ベクトル算出部および車間区切り検出部の処理を示す流れ図である。
【図２２】本発明の他の一実施形態における車間区切り検出動作の説明図である。
【図２３】本発明の他の一実施形態における車間区切り検出部での移動ベクトル分布記憶部の記憶形式の説明図である。
【図２４】本発明の他の一実施形態における代表的な移動ベクトルの分布パターンの例を示す説明図である。
【図２５】本発明の一実施形態においてニューラルネットワークを利用した場合のネットワークの構造を示す説明図である。
【図２６】本発明の他の一実施形態における状態遷移を決定する処理の流れ図である。
【図２７】本発明の他の一実施形態における時刻毎の認識結果の出力と現在の状態の遷移の関係を示す説明図である。
【図２８】本発明の更に別の一実施形態における車両の検出方法の説明図である。
【図２９】本発明の更に別の一実施形態に車両領域抽出部を付加した場合を示すブロック図である。
【図３０】本発明の更に別の一実施形態における車両領域抽出部の動作を示す説明図である。
【図３１】本発明の更に別の一実施形態において移動ベクトルの大きさ毎に発生頻度分布を取った例を示す説明図である。
【符号の説明】
１  画像入力部
２  画像格納部
３  移動ベクトル算出部
４  移動ベクトル算出領域設定部
５  移動ベクトル分布記憶部
６  車間区切り検出部
７  誤検出除去部
８  車間時間予測部
２１  車両
２２  移動している車両を含む領域
２３  路面の領域
２４、２５  領域の中心の座標
【図１】
0003920535.tif 000002
【図２】
0003920535.tif 000003
【図３】
0003920535.tif 000004
【図４】
0003920535.tif 000005
【図５】
0003920535.tif 000006
【図６】
0003920535.tif 000007
【図７】
0003920535.tif 000008
【図８】
0003920535.tif 000009
【図９】
0003920535.tif 000010
【図１０】
0003920535.tif 000011
【図１１】
0003920535.tif 000012
【図１２】
0003920535.tif 000013
【図１３】
0003920535.tif 000014
【図１４】
0003920535.tif 000015
【図１５】
0003920535.tif 000016
【図１６】
0003920535.tif 000017
【図１７】
0003920535.tif 000018
【図１８】
0003920535.tif 000019
【図１９】
0003920535.tif 000020
【図２０】
0003920535.tif 000021
【図２１】
0003920535.tif 000022
【図２２】
0003920535.tif 000023
【図２３】
0003920535.tif 000024
【図２４】
0003920535.tif 000025
【図２５】
0003920535.tif 000026
【図２６】
0003920535.tif 000027
【図２７】
0003920535.tif 000028
【図２８】
0003920535.tif 000029
【図２９】
0003920535.tif 000030
【図３０】
0003920535.tif 000031
【図３１】
0003920535.tif 000032