(57)【特許請求の範囲】
【請求項１】
コンピュータが、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、
（ａ）各画像を、複数画素からなるブロックに分割し、
（ｂ）背景画像も移動物体の１つとみなして、背景画像であるかどうかを区別せずに時刻ｔ１の画像についてブロック毎の識別番号と動きベクトルが決定されている場合に、該時刻ｔ２の画像に含まれる各ブロックＢについて、ブロックＢの識別符号及び動きベクトルをそれぞれＩＤ及びＭＶと仮定し、該時刻ｔ１の画像と該時刻ｔ２の画像との相関を示す各ブロックＢの評価関数Ｕ（ＩＤ，ＭＶ）の総和に基づいて、該ＩＤ及び該ＭＶを決定し、
該ステップ（ｂ）の評価関数Ｕ（ＩＤ，ＭＶ）は、該ブロックＢを−ＭＶ移動させたときの該時刻ｔ１の画像上の領域をＡＸとしたとき、
該ブロックＢと該領域ＡＸとの間のブロックマッチングの程度が大きいほど相関が大きいことを示す第１サブ評価関数と、
該領域ＡＸに含まれる、移動物体識別符号がＩＤであるブロックの画素数が多いほど相関が大きいことを示す第２サブ評価関数と、
該時刻ｔ２での該ブロックＢの回りのブロックのうち移動物体識別符号が該ＩＤと一致するブロックの数が多いほど相関が大きいことを示す第３サブ評価関数と、
該時刻ｔ２での該ブロックＢの回りのブロックのうち移動物体識別符号が該ＩＤと一致する各ブロックの動きベクトルと該ブロックＢの動きベクトルＭＶとの差の絶対値の平均値が小さいほど相関が大きいことを示す第４サブ評価関数と、
の和を含む、
ことを特徴とする画像上移動物体追跡方法。
【請求項２】
各ブロックＢについて、該ブロックＢの動きベクトルＭＶを、該第１サブ評価関数が、相関が最大であることを示すときの動きベクトルであると近似し、このとき該第２サブ評価関数が、相関が最大であることを示すときのＩＤを、該ブロックＢの移動物体識別符号であると近似し、
次に各ブロックＢに対応した該領域ＡＸを所定範囲内で１画素ずつ移動させる毎に該総和の値を求め、該値が、相関が最大であることを示すときの各ブロックＢの動きベクトルＭＶ及び移動物体識別符号ＩＤを近似解として求める、
ことを特徴とする請求項１記載の画像上移動物体追跡方法。
【請求項３】
時系列画像及びプログラムが格納される記憶装置と、
該記憶装置に結合されたプロセッサと、
を有し、該プログラムが該プロセッサに対し、該時系列画像を読み出させ、各画像を、複数画素からなるブロックに分割させ、背景画像も移動物体の１つとみなして、ブロック単位で移動物体の識別符号を付与させるとともにブロック単位で該移動物体の動きベクトルを求めさせることにより画像中の移動物体を追跡させる画像上移動物体追跡装置であって、該プログラムは該プロセッサに対し、
背景画像であるかどうかを区別せずに時刻ｔ１の画像についてブロック毎の識別番号と動きベクトルが決定されている場合に、該時刻ｔ２の画像に含まれる各ブロックＢについて、ブロックＢの識別符号及び動きベクトルをそれぞれＩＤ及びＭＶと仮定させ、該時刻ｔ１の画像と該時刻ｔ２の画像との相関を示す各ブロックＢの評価関数Ｕ（ＩＤ，ＭＶ）の総和に基づいて、該ＩＤ及び該ＭＶを決定させ、
該評価関数Ｕ（ＩＤ，ＭＶ）は、該ブロックＢを−ＭＶ移動させたときの該時刻ｔ１の画像上の領域をＡＸとしたとき、
該ブロックＢと該領域ＡＸとの間のブロックマッチングの程度が大きいほど相関が大きいことを示す第１サブ評価関数と、
該領域ＡＸに含まれる、移動物体識別符号がＩＤであるブロックの画素数が多いほど相関が大きいことを示す第２サブ評価関数と、
該時刻ｔ２での該ブロックＢの回りのブロックのうち移動物体識別符号が該ＩＤと一致するブロックの数が多いほど相関が大きいことを示す第３サブ評価関数と、
該時刻ｔ２での該ブロックＢの回りのブロックのうち移動物体識別符号が該ＩＤと一致する各ブロックの動きベクトルと該ブロックＢの動きベクトルＭＶとの差の絶対値の平均値が小さいほど相関が大きいことを示す第４サブ評価関数と、
の和を含む、
ことを特徴とする画像上移動物体追跡装置。
【請求項４】
該プログラムは該プロセッサに対し、
各ブロックＢについて、該ブロックＢの動きベクトルＭＶを、該第１サブ評価関数が、相関が最大であることを示すときの動きベクトルであると近似させ、このとき該第２サブ評価関数が、相関が最大であることを示すときのＩＤを、該ブロックＢの移動物体識別符号であると近似させ、
次に各ブロックＢに対応した該領域ＡＸを所定範囲内で１画素ずつ移動させる毎に該総和の値を求めさせ、該値が、相関が最大であることを示すときの各ブロックＢの動きベクトルＭＶ及び移動物体識別符号ＩＤを近似解として求めさせる、
ことを特徴とする請求項３記載の画像上移動物体追跡装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列画像を処理して画像中の移動物体（車、自転車、動物等の移動可能なもの）を追跡する移動物体追跡方法及び装置に関する。
【背景技術】
【０００２】
交通事故の早期発見は、迅速な救助活動により人命救助の成功率を高めるだけでなく、警察の実地検分などを迅速にすることにより事故渋滞を緩和することもできるので、様々な交通事故の認識自動化が期待されている。交通事故の認識率を高めるためには、カメラで撮像された画像を処理して移動物体を正確に追跡する必要がある。
【０００３】
図２８は、高速道路の中央線上方に設置されたカメラで撮像された時刻ｔ＝１〜４の画像を模式的に示す。
【０００４】
画像上で車両同士が頻繁に重なるので、画像処理により各車両を追跡するのが困難になる。この問題を解決するには、道路に沿って複数台のカメラを設置し、それらの画像を総合的に処理する必要がある。
【０００５】
しかし、カメラ及び画像処理装置を複数台備える必要があるので、コスト高になる。また、各カメラの撮影画像を関係付けて総合的に処理しなければならないので、処理が複雑になる。
【０００６】
そこで、本願発明者らは、次のように時間を遡って移動物体を追跡する方法でこの問題を解決した（特許文献１参照。）。
【０００７】
時刻ｔ＝１〜４の時系列画像を一時記憶しておき、ｔ＝４から出発して車両Ｍ１とＭ２を識別し、車両Ｍ１とＭ２の動きベクトルを求め、この動きベクトルでｔ＝４の画像中の車両Ｍ１とＭ２を移動させて、車両Ｍ１とＭ２が識別されているｔ＝３の画像を想定し、これとｔ＝３の実際の画像との相関関係から、ｔ＝３の画像中の車両Ｍ１とＭ２を識別する。
【０００８】
次に、ｔ＝３とｔ＝２の画像について同様の処理により、ｔ＝２の画像中の車両Ｍ１とＭ２を識別する。次に、ｔ＝２とｔ＝１の画像について同様の処理により、ｔ＝１の画像中の車両Ｍ１とＭ２を識別する。
【０００９】
このような処理により、１台のカメラで車両Ｍ１とＭ２とを追跡することが可能となる。
【特許文献１】特開２００２−１３３４２１
【非特許文献１】S.Kamijo, M.Sakauchi, "Illumination Invariant and Oclusion Robust Vehicle Tracking by Spatio-Temporal MRF Model", 9th World Congress on ITS, Chicago, Oct. 2002.
【非特許文献２】S.Kamijo, K.Ikeuchi, M.Sakauchi, "Vehicle Tracking in Low-angle and Front-View Images based on Spatio-Temporal Markov Random Field Model", 8th World Congress on ITS, Sydney, Oct. 2001, CD-ROM.
【非特許文献３】S.Kamijo, "Trafic Image Analysys based on Spattio-Temporal Markov Random Field Model", Ph.D. Thesis, 2001
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、背景に対しカメラが動くと移動物体を追跡できなくなるという問題点がある。
【００１１】
本発明の目的は、このような問題点に鑑み、背景に対しカメラが動いても移動物体を追跡することが可能な、画像における移動物体の追跡方法及び装置を提供することにある。
【課題を解決するための手段及びその作用効果】
【００１２】
本発明の一態様では、コンピュータが、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、
（ａ）各画像を、複数画素からなるブロックに分割し、
（ｂ）背景画像も移動物体の１つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求める。
【００１３】
この構成によれば、背景に対しカメラが動いても移動物体を追跡するすることが可能となる。
【００１４】
本発明の他の態様では、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められ、動きベクトルが未定の第１ブロックが存在する場合、
（ａ）該第１ブロックの回りの決定済動きベクトルを抽出し、
（ｂ）該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分け、
（ｃ）ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第１ブロックの動きベクトルと推定する。
【００１５】
このアルゴリズムによれば、未定の動きベクトルが多く存在していても、該未定動きベクトルが合理的に推定される。これにより、複数のオブジェクトを含む１つのクラスタを動きベクトルに基づいて分割することが可能となる。
【００１６】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【００１７】
以下、図面を参照して本発明の実施例を説明する。複数の図中の対応する同一又は類似の構成要素には、同一又は類似の符号を付している。本願発明は主に、実施例５に関するものである。なお、実施例５では実施例１〜４を引用しており、実施例５はこれらの内容も含む。
【実施例１】
【００１８】
図１は、交差点及びこれに配置された本発明の実施例１の移動物体追跡装置の概略を示す。
【００１９】
この装置は、交差点を撮像して画像信号を出力する電子カメラ１０と、その画像を処理して移動物体を追跡する移動物体追跡装置２０とを備えている。
【００２０】
図２は、この移動物体追跡装置２０の機能ブロック図である。移動物体追跡装置２０の構成要素のうち、記憶部以外はコンピュータソフトウェア、専用のハードウェア又はコンピュータソフトウエアと専用のハードウエアの組み合わせで構成することができる。
【００２１】
電子カメラ１０で撮影された時系列画像は、例えば１２フレーム／秒のレートで、画像メモリ２１に格納され、最も古いフレームが新しいフレーム画像で書き換えられる。
【００２２】
画像変換部２２は、画像メモリ２１内の各フレーム画像について、これをフレームバッファメモリ２３にコピーし、コピーされた画像のデータを用いて画像メモリ２１内の対応するフレーム画像を空間的差分フレーム画像に変換する。この変換は２段階で行われる。
【００２３】
元のフレーム画像の第ｉ行第ｊ列の画素値（輝度値）をＧ（ｉ，ｊ）とすると、第１段階における変換後の第ｉ行第ｊ列の画素値Ｈ（ｉ，ｊ）は、次式で表される。
【００２４】
Ｈ（ｉ，ｊ）＝Σneighberpixcels｜Ｇ（ｉ＋ｄｉ，ｊ＋ｄｊ）
−Ｇ（ｉ，ｊ）｜      （１）
ここにΣneighberpixcelsは、ｃを自然数とすると、ｄｉ＝−ｃ〜ｃ及びｄｊ＝−ｃ〜ｃにわたっての総和を意味し、例えばｃ＝１のとき、第ｉ行第ｊ列の画素と隣り合う８画素にわたる総和である。照度が変化すると、画素値Ｇ（ｉ，ｊ）とその付近の画素値Ｇ（ｉ＋ｄｉ，ｊ＋ｄｊ）が同様に変化するので、Ｈ（ｉ，ｊ）の画像は、照度の変化に対し不変である。
【００２５】
ここで、隣り合う画素の差分の絶対値は、一般に画素値が大きいほど大きい。移動物体追跡の成功率を高めるには、画素値が小さくて差分が小さい場合も、画素値及び差分が大きい場合とほぼ等価にエッジ情報を取得した方が好ましい。そこで、Ｈ（ｉ，ｊ）を次のように規格化する。
【００２６】
Ｈ（ｉ，ｊ）＝Σneighberpixcels｜Ｇ（ｉ＋ｄｉ，ｊ＋ｄｊ）
−Ｇ（ｉ，ｊ）｜／（Ｇｉ，ｊ，max／Ｇmax）    （２）
ここに、Ｇｉ，ｊ，maxは、Ｈ（ｉ，ｊ）の計算に用いた元の画素の値の最大値であり、例えばｃ＝１の場合、第ｉ行第ｊ列の画素を中心とする３×３画素の値の最大値であり、Ｇmaxは画素値Ｇ（ｉ，ｊ）の取りうる最大値、例えば画素値が８ビットで表される場合、２５５である。以下、ｃ＝１、Ｇmax＝２５５である場合について説明する。
【００２７】
Ｈ（ｉ，ｊ）の取りうる最大値は、移動物体毎に異なる。例えばＧ（ｉ，ｊ）＝Ｇmaxで第ｉ行第ｊ列の画素に隣り合う８画素の値がいずれも０で有る場合、Ｈ（ｉ，ｊ）＝８Ｇmaxとなって、Ｈ（ｉ，ｊ）を８ビットで表すことができない。
【００２８】
一方、移動物体のエッジ部のＨ（ｉ，ｊ）の値のヒストグラムを作成してみると、頻度の大部分がＨ＝５０〜１１０の範囲に含まれることがわかった。すなわち、Ｈの値が約１１０より大きくなるほど移動物体追跡のためのエッジ情報の数が少ないので、重要度が低い。
【００２９】
したがって、Ｈの値の大きい部分を抑圧して変換画素のビット長を短くすることにより、画像処理を高速に行なったほうが好ましい。そこで、第２段階として、このＨ（ｉ，ｊ）を、シグモイド関数を用いた次式により、Ｉ（ｉ，ｊ）に変換する。
【００３０】
Ｉ＝Ｇmax／｛１＋ｅｘｐ〔−β（Ｈ−α）〕｝      （３）
シグモイド関数はＨ＝αの付近で線形性が良い。そこで、閾値αの値を、エッジ情報を持つＨの度数分布の最頻値、例えば８０にする。
【００３１】
画像変換部２２は、上式（２）及び（３）に基づいて、画素値Ｇ（ｉ，ｊ）の画像を画素値Ｉ（ｉ，ｊ）の空間的差分フレーム画像に変換し、これを画像メモリ２１に格納する。
【００３２】
背景画像生成部２４、ＩＤ生成／消滅部２５及び移動物体追跡部２７は、画像メモリ２１中の空間的差分フレーム画像に基づいて処理を行う。以下においては、空間的差分フレーム画像を単にフレーム画像と称す。
【００３３】
背景画像生成部２４は、記憶部と処理部とを備え、処理部は、画像メモリ２１をアクセスし、例えば過去１０分間の全てのフレーム画像の対応する画素について画素値のヒストグラムを作成し、その最頻値（モード）をその画素の画素値とする画像を、移動物体が存在しない背景画像として生成し、これを該記憶部に格納する。背景画像は、この処理が定期的に行われて更新される。
【００３４】
ＩＤ生成／消滅部２５には、図３に示す如くフレーム画像内の、交差点への４つの入口及び交差点からの４つの出口にそれぞれ配置されるスリットＥＮ１〜ＥＮ４及びＥＸ１〜ＥＸ４の位置及びサイズのデータが予め設定されている。ＩＤ生成／消滅部２５は、画像メモリ２１から入口スリットＥＮ１〜ＥＮ４内の画像データを読み込み、これら入口スリット内に移動物体が存在するかどうかをブロック単位で判定する。図３中のメッシュの升目はブロックであり、１ブロックは例えば８×８画素であり、１フレームが４８０×６４０画素の場合、１フレームは６０×８０ブロックに分割される。あるブロックに移動物体が存在するかどうかは、このブロック内の各画素と背景画像の対応する画素との差の絶対値の総和が所定値以上であるかどうかにより判定する。この判定は、移動物体追跡部２７においても行われる。
【００３５】
ＩＤ生成／消滅部２５は、ブロック内に移動物体が存在すると判定すると、このブロックに新たなオブジェクト識別符号（ＩＤ）を付与する。ＩＤ生成／消滅部２５は、ＩＤ付与済ブロックと隣接しているブロックに移動物体が存在すると判定すると、この隣接ブロックに付与済ブロックと同一のＩＤを付与する。このＩＤ付与済ブロックは入口スリットに隣接しているブロックも含まれる。例えば図３中の入口スリットＥＮ１内のブロックにはＩＤ＝１が付与される。
【００３６】
ＩＤの付与は、オブジェクトマップ記憶部２６内の対応するブロックに対して行われる。オブジェクトマップ記憶部２６は、上述の場合６０×８０ブロックのオブジェクトマップを記憶するためのものであり、各ブロックには、ＩＤが付与されているかどうかのフラグ、ＩＤが付与されている場合にはその番号と後述のブロック動きベクトルとがブロック情報として付与される。なお、該フラグを用いずに、ＩＤ＝０のときＩＤが付与されていないと判定してもよい。また、ＩＤの最上位ビットをフラグとしてもよい。
【００３７】
入口スリットを通過したクラスタに対しては、移動物体追跡部２７により、移動方向のブロックに対するＩＤの付与及び移動と反対方向のブロックに対するＩＤの消滅、すなわちクラスタの追跡処理が行われる。移動物体追跡部２７による追跡処理は、各クラスタについて出口スリット内まで行われる。
【００３８】
ＩＤ生成／消滅部２５はさらに、オブジェクトマップ記憶部２６の内容に基づき出口スリットＥＸ１〜ＥＸ４内のブロックにＩＤが付与されているかどうかを調べ、付与されていれば、出口スリットをクラスタが通過したときにそのＩＤを消滅させる。例えば図３中の出口スリットＥＸ１内のブロックにＩＤ＝３が付されている状態から、ＩＤが付されない状態に変化したときに、ＩＤ＝３を消滅させる。消滅ＩＤは、次の生成ＩＤとして用いることができる。
【００３９】
移動物体追跡部２７は、オブジェクトマップ記憶部２６に格納されている時刻（ｔ−１）のオブジェクトマップと、画像メモリ２１に格納されている時刻（ｔ−１）及びｔのフレーム画像とに基づいて、時刻ｔのオブジェクトマップを記憶部２６内に作成する。以下、これを説明する。
【００４０】
図４〜図７はいずれも、時刻ｔ−１とｔの画像を模式的に示す。図４、図６及び図７中の点線はブロックの境界線であり、図５中の点線は画素の境界線である。
【００４１】
第ｉ行第ｊ列のブロックをＢ（ｉ，ｊ）、時刻ｔでの第ｉ行第ｊ列のブロックをＢ（ｔ：ｉ，ｊ）と表記する。ブロックＢ（ｔ−１：１，４）の動きベクトルがＭＶであるとする。ブロックＢ（ｔ−１：１，４）をＭＶ移動させた領域に最も対応する、時刻ｔのブロックを見つける。図４（Ｂ）の場合、このブロックはＢ（ｔ：１，５）である。図５に示すように、ブロックＢ（ｔ：１，５）の画像と、時刻ｔ−１のブロックサイズの領域ＡＸの画像との相関度を、所定範囲ＡＭ内で領域ＡＸを１画素移動させる毎に求める（ブロックマッチング）。
【００４２】
範囲ＡＭはブロックよりも大きく、その一辺は例えばブロックの一辺の画素数の１．５倍である。範囲ＡＭの中心は、ブロックＢ（ｔ：１，５）の中心を略−ＭＶ移動させた位置にある画素である。
【００４３】
相関度は、例えば時空的テクスチャ相関度であり、ブロックＢ（ｔ：１，５）と領域ＡＸの対応する画素値の差の絶対値の総和である評価値ＵＤが小さいほど、大きいとする。
【００４４】
範囲ＡＭ内で相関度が最大になる領域ＡＸを求め、この領域の中心を始点としブロックＢ（１，５）の中心を終点とするベクトルを、ブロックＢ（ｔ：１，５）の動きベクトルと決定する。また、相関度が最大になる領域ＡＸに最も近い、時刻ｔ−１のブロックのＩＤを、ブロックＢ（ｔ：１，５）のＩＤと決定する。
【００４５】
移動物体追跡部２７は、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のＩＤを付与する。これにより、１つのクラスタであっても、互いに異なるＩＤをもつ複数のオブジェクト（移動物体）に分割される。図６では、オブジェクト間の境界を太線で示している。
【００４６】
オブジェクトマップ上には移動物体の画像が存在しないが、図６では理解を容易にするためにオブジェクトマップ上に移動物体が模式的に描かれている。図７は、オブジェクトマップにオブジェクトの境界を太線で示したものであり、図６に対応している。
【００４７】
例えば図３の入口スリットＥＮ１で１つのクラスタが検出され、複数のオブジェクトに分割されず、その後、時刻ｔ１に上記のようにして複数のオブジェクトに分割された場合、時刻ｔ１から時間を遡って、時間が正方向の場合と同様にオブジェクトマップを求めることにより、時刻ｔ１よりも前のオブジェクトマップに対し、複数のオブジェクトに分割する。これにより、分割できなかったオブジェクトを分割して認識することができ、個々のオブジェクトを追跡することができる。
【００４８】
特許文献１では、１つのクラスタが複数のクラスタに分離してから時間を遡って個々のオブジェクトを追跡していたが、本実施例によれば、複数のクラスタに分離する前に、例えば図２８のｔ＝４より前のｔ＝２から、時間を遡って個々のオブジェクトを追跡することができるので、画像メモリ２１の記憶容量を低減でき、また、画像処理量を低減してＣＰＵの負担を軽くすることができる。
【００４９】
上記説明では、クラスタ内のブロックの動きベクトルが求まる場合について説明したが、図９（Ａ）に示すように、動きベクトルが求まらないブロックが存在する場合、その位置によっては該ブロックがどちらのオブジェクトに属するのか不明である。ある移動物体に属するブロック内の各画素の色がほぼ同一であった場合、上述のブロックマッチングにより動きベクトルを決定することができない。例えば、画像（空間的差分フレーム画像）を２値画像に変換し、ブロック内に‘１’の画素の数が所定値以下であれば、上記方法により動きベクトルを求めるのに適しないブロックと判定する。
【００５０】
このようなブロックの動きベクトルを、図８に示す方法で推定する。
【００５１】
（Ｓ１）未定の動きベクトルが存在すればステップＳ２へ進み、そうでなければ未定動きベクトル推定処理を終了する。
【００５２】
（Ｓ２）動きベクトルが未定のブロックＢ（ｉ，ｊ）の回りの８個のブロックのうち、決定されている動きベクトルＭＶ１〜ＭＶｎを取り出す。
【００５３】
（Ｓ３）ステップＳ２で決定済動きベクトルが存在すればステップＳ４へ進み、そうでなければステップＳ６へ進む。
【００５４】
（Ｓ４）動きベクトルＭＶ１〜ＭＶｎを、ベクトル間の差の絶対値が所定値以内のグループに分ける。
【００５５】
（Ｓ５）動きベクトル数が最大のグループの動きベクトルの平均値を、ブロックＢ（ｉ，ｊ）の動きベクトルと推定する。動きベクトル数が最大のグループが複数存在する場合、任意の１つのグループの動きベクトルの平均値を、ブロックＢ（ｉ，ｊ）の動きベクトルと推定する。次にステップＳ１へ戻る。
【００５６】
なお、同一グループの動きベクトルは互いに略等しいので、該同一グループの動きベクトルの任意の１つをブロックＢ（ｉ，ｊ）の動きベクトルと推定してもよい。
【００５７】
（Ｓ６）ステップＳ５で推定された動きベクトルを、決定された動きベクトルとみなし、ステップＳ１へ戻る。
【００５８】
このような処理により、未定動きベクトルを一意的に推定することができる。
【００５９】
次に具体例を説明する。図９（Ａ）において、第ｉ行第ｊ列のブロックＢ（ｉ，ｊ）の動きベクトルをＭＶ（ｉ，ｊ）と表記する。図９（Ａ）では、ブロックＢ（２，２）、Ｂ（２，４）及びＢ（３，３）の動きベクトルが未定である。
【００６０】
ブロックＢ（２，２）の回りのブロックの動きベクトルは、ＭＶ（２，１）、ＭＶ（３，１）、ＭＶ（３，２）及びＭＶ（２，３）のグループと、ＭＶ（１，２）及びＭＶ（１，３）のグループに分けられるので、前者のグループを選択し、
ＭＶ（２，２）＝（ＭＶ（２，１）＋ＭＶ（３，１）＋ＭＶ（３，２）＋ＭＶ（２，３））／４
と推定する。
【００６１】
ブロックＢ（２，４）の回りのブロックの動きベクトルは、ＭＶ（２，３）、ＭＶ（３，４）及びＭＶ（３，５）のグループと、ＭＶ（１，３）、ＭＶ（１，４）、ＭＶ（１，５）及びＭＶ（２，５）のグループに分けられるので、後者のグループを選択し、
ＭＶ（２，４）＝（ＭＶ（１，３）＋ＭＶ（１，４）＋ＭＶ（１，５）＋ＭＶ（２，５））／４
と推定する。
【００６２】
ブロックＢ（３，３）の回りのブロックの動きベクトルは、ＭＶ（２，３）、ＭＶ（３，２）、ＭＶ（４，２）、ＭＶ（４，４）及びＭＶ（３，４）の１グループであるので、
ＭＶ（３，３）＝（ＭＶ（２，３）＋ＭＶ（３，２）＋ＭＶ（４，２）＋ＭＶ（４，４）＋ＭＶ（３，４））／５
と推定する。
【００６３】
このようにして、図９（Ｂ）に示すようなオブジェクトマップが生成される。図９（Ｂ）では、オブジェクトの境界を太線で示している。
【００６４】
図１０（Ａ）のように未定動きベクトルの数が多い場合であっても、ステップＳ３で否定判定されるまで、ステップＳ１〜Ｓ５を繰り返すと、一意的に動きベクトルが推定されて図１０（Ｂ）のようになる。次に、ステップＳ６で推定動きベクトルを、決定された動きベクトルとみなして、再度ステップＳ１〜Ｓ５を実行することにより、ブロックＢ（３，４）の動きベクトルが一意的に推定されて、図１０（Ｃ）のようになる。次に、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のＩＤを付与することにより、１つのクラスタが、互いに異なるＩＤをもつ複数のオブジェクトに分割される。
【００６５】
なお、移動物体追跡部２７は、オブジェクトマップ２６に格納されているオブジェクトマップの時系列を、追跡結果として不図示のハードディスクに格納する。
【実施例２】
【００６６】
上記実施例１では、未定動きベクトルをその周囲のブロックの動きベクトルのみに基づいて決定しているので、未定動きベクトルが多く存在する場合、それらのブロックのＩＤ及び動きベクトルの決定精度が低くなる。
【００６７】
この精度を向上させるために、本発明の実施例２では、後述する評価関数の値に基づいて、全ブロックのＩＤ及び動きベクトルを同時に決定する。この実施例２においても上記実施例１と同様に、図２の移動物体追跡部２７は、オブジェクトマップ記憶部２６に格納されている時刻（ｔ−１）のオブジェクトマップと、画像メモリ２１に格納されている時刻（ｔ−１）及びｔのフレーム画像とに基づいて、時刻ｔのオブジェクトマップを記憶部２６内に作成する。
【００６８】
まず、移動物体の一部を含む任意のブロックＢ（ｔ：ｉ，ｊ）の評価関数Ｕ（ｉ，ｊ）について説明する。評価関数Ｕ（ｉ，ｊ）は、次式のように４つのサブ評価関数の一次結合で表される。
【００６９】
Ｕ（ｉ，ｊ）＝ａＵＤ＋ｂＵＭ＋ｃＵＮ＋ｆＵＶ      （１）
ここにａ〜ｃ及びｆは、定数であり、試行錯誤により定められる。
【００７０】
以下において、１ブロックをｍ×ｍ画素とし、時刻ｔの画像の第ｇ行第ｈ列の画素の値をＧ（ｔ：ｇ，ｈ）で表し、ブロックＢ（ｔ：ｉ，ｊ）の推定動きベクトルＭＶを（ＭＶＸ，ＭＶＹ）で表す。ｉ≧０、ｊ≧０とする。
【００７１】
（１）時空的テクスチャ相関度を示すサブ評価関数ＵＤ
サブ評価関数ＵＤは、時空的テクスチャ相関度を示し、上記実施例１で説明したものと同一であって、次式で表される。
【００７２】
ＵＤ（ｉ，ｊ，ＭＶ）＝Σ｜Ｇ（ｔ：ｍｉ＋ｘ，ｍｊ＋ｙ）
−Ｇ（ｔ−１：ｍｉ＋ｘ−ＭＶＸ，ｍｊ＋ｙ−ＭＶＹ）｜   （２）
ここにΣは、ｘ＝０〜ｍ−１及びｙ＝０〜ｍ−１についての総和を意味している。
【００７３】
図１２において、点線はブロック境界線であり、ハッチングを施した部分は移動物体を示している。図１２（Ｂ）は、着目ブロックＢ（ｔ：１，２）の推定動きベクトルがＭＶである場合を示し、図１２（Ａ）は、ブロックＢ（ｔ−１：１，２）を−ＭＶ移動させた領域ＡＸを示す。この場合、ブロックＢ（ｔ：１，２）の画像と領域ＡＸの画像との評価関数ＵＤ（１，２，ＭＶ）が算出される。ＭＶを変化させるとＵＤの値が変化し、ＵＤの値が小さいほどブロックＢ（ｔ：１，２）の画像と領域ＡＸの画像との間のテクスチャ相関度が大きい。ＵＤが最小値のときのＭＶが最も確からしい動きベクトルである。移動物体の速度には限度があるので、着目ブロックＢ（ｔ：１，２）の中心から、所定範囲内、例えば上下±２５画素、左右±２５画素の範囲内で、領域ＡＸを移動させてＵＤの最小値を求める。この所定範囲は、実施例１で述べたように、時刻ｔ−１の動きベクトルを用いて予測した範囲ＡＭであってもよい。
【００７４】
（２）時空的ＩＤ相関度を示すサブ評価関数ＵＭ
図１３（Ａ）及び（Ｂ）はそれぞれ図１２（Ａ）及び（Ｂ）に対応しており、ハッチングを施した部分は移動物体が存在すると判定されたブロックを示している。
【００７５】
着目ブロックＢ（ｔ：１，２）のＩＤがＩＤ１であると推定したとき、上記領域ＡＸ内に含まれるＩＤ＝ＩＤ１の画素数をＭとする。図１３（Ａ）の場合、領域ＡＸ内のハッチングが施された部分の画素数がＭである。但し、着目ブロックＢ（ｔ：１，２）の推定ＩＤが領域ＡＸ内のＩＤと全く異なる場合、Ｍ＝０となる。Ｍの最大値はｍ2である。
【００７６】
サブ評価関数ＵＭは、時空的ＩＤ相関度を示し、次式で表される。
【００７７】
ＵＭ（ｉ，ｊ，ＭＶ）＝（Ｍ−ｍ2）2    （３）
ＵＭの値が小さいほど、時空的ＩＤ相関度が高い。
【００７８】
着目ブロックＢ（ｔ：ｉ，ｊ）の中心から、上記所定範囲内で領域ＡＸを移動させてａＵＤ＋ｂＵＭの最小値を求めることにより、着目ブロックのＩＤとＭＶを同時に決定することが可能である。
【００７９】
（３）空間的ＩＤ相関度を示すサブ評価関数ＵＮ
図１３（Ｂ）において、着目ブロックＢ（ｔ：１，２）のＩＤがＩＤ１であると推定したとき、着目ブロックの回りの８個のブロックＢ（ｔ：０，１）、Ｂ（ｔ：０，２）、Ｂ（ｔ：０，３）、Ｂ（ｔ：１，３）、Ｂ（ｔ：２，３）、Ｂ（ｔ：２，２）、Ｂ（ｔ：２，１）及びＢ（ｔ：１，１）のうち、ＩＤがＩＤ１であるブロックの数をＮとする。図１３（Ｂ）のハッチングが施された部分のＩＤが全て同一である場合、着目ブロックＢ（ｔ：１，２）のＮの値は５である。
【００８０】
サブ評価関数ＵＮは、空間的ＩＤ相関度を示し、次式で表される。
【００８１】
ＵＮ（ｉ，ｊ）＝（Ｎ−８）2      （４）
ＵＮの値が小さいほど、空間的ＩＤ相関度が高い。
【００８２】
（４）空間的ＭＶ相関度を示すサブ評価関数ＵＶ
着目ブロックＢ（ｔ：ｉ，ｊ）の中心から、上記所定範囲内で領域ＡＸを移動させてａＵＤ＋ｂＵＭ＋ｃＵＮの最小値を求めることにより、着目ブロックのＩＤとＭＶを同時に決定することが可能である。
【００８３】
しかしながら、領域ＡＸを移動させたとき、着目ブロックと同一テクスチャの領域が複数存在する場合、動きベクトルＭＶが定まらない。この動きベクトルＭＶは、着目ブロックの近くかつ同一ＩＤのブロックの動きベクトルＭＶとほぼ同じと推定できる。そこで、空間的ＭＶ相関度を示す次のようなサブ評価関数ＵＶを定義する。
【００８４】
ＵＶ（ｉ，ｊ）＝Σ｜ＭＶ−ＭＶneigher｜／Ｌ    （５）
ここに、ＭＶは上記（１）で述べた着目ブロックＢ（ｔ：ｉ，ｊ）の推定動きベクトルであり、ＭＶneigherは、着目ブロックＢ（ｔ：ｉ，ｊ）の回りの８個のブロックのうち、着目ブロックＢ（ｔ：ｉ，ｊ）の推定ＩＤと同一ＩＤを有するブロックの動きベクトルであり、Σは該同一ＩＤを有するブロックについての総和を意味し、Ｌは該同一ＩＤを有するブロックの数である。
【００８５】
図１４（Ａ）の場合、ハッチングを施したブロックが同一ＩＤであるとすると、
ＵＶ（１，２）＝（｜ＭＶ−ＭＶ１｜＋｜ＭＶ−ＭＶ２｜＋｜ＭＶ−ＭＶ３｜＋｜ＭＶ−ＭＶ４｜＋｜ＭＶ−ＭＶ５｜）／５
である。
【００８６】
時刻ｔ−１での上記領域ＡＸが図１４（Ｂ）の場合、ＵＶ（１，２）の値が大きくなり、推定動きベクトルＭＶの確からしさが小さい。ＵＶの値が小さいほど、空間的ＭＶ相関度が高い。
【００８７】
着目ブロックＢ（ｔ：ｉ，ｊ）の中心から、上記所定範囲内で領域ＡＸを移動させて、すなわちＭＶを変化させて、上式（１）の評価関数Ｕが最小値になるように、着目ブロックのＩＤとＭＶを同時に決定することが可能である。
【００８８】
なお、ＭＶneigherは、着目ブロックＢ（ｔ：ｉ，ｊ）の回りのブロックのものであればよく、例えば、上下左右４個のブロック、着目ブロックＢ（ｔ：ｉ，ｊ）の回り（１回り）の８個のブロックのうち任意の１個のブロック又は着目ブロックＢ（ｔ：ｉ，ｊ）の回り（２回り）の２４個のブロックのうち、着目ブロックＢ（ｔ：ｉ，ｊ）の推定ＩＤと同一ＩＤを有するブロックの動きベクトルであってもよい。また、ＭＶneigherは、時刻ｔ−１の対応する動きベクトルで近似してもよい。すなわち、着目ブロックＢ（ｔ：ｉ，ｊ）を−ＭＶ移動させた領域の中心が属するブロックをＢ（ｔ−１，ｐ，ｑ）とすると、ブロックＢ（ｔ−１，ｐ，ｑ）の近くのブロックのうち、着目ブロックＢ（ｔ：ｉ，ｊ）の推定ＩＤと同一ＩＤを有するブロックの動きベクトルであってもよい。
【００８９】
サブ評価関数ＵＮ及びＵＶはいずれも時刻ｔでの空間的相関度に関するので、理想的には、全てのブロックについての評価関数Ｕの総和の最小値を求めることにより、時刻ｔの全てのブロックのＩＤとＭＶを同時に決定する。実際には、処理時間を短くしてリアルタイム処理を可能にするために、図１１に示すような近似法によりＩＤとＭＶを決定する。
【００９０】
（Ｓ１１）時刻ｔで移動物体の一部が含まれる各ブロックについて、上式（２）の評価関数ＵＤの値を最小にする動きベクトルＭＶを求める。但し、上述の動きベクトルを求めるのに適しないブロックについては動きベクトルＭＶを求めない。次に、動きベクトルを求めるのに適しない各ブロックについて、上式（５）の評価関数ＵＶの値を最小にする動きベクトルＭＶを求める。この場合、図８のステップＳ１〜Ｓ３及びＳ６の処理を加えることにより、一意的に動きベクトルＭＶを決定してもよい。
【００９１】
（Ｓ１２）動きベクトルＭＶを有する各ブロックについて、上式（３）の評価関数ＵＭが最小になるようにＩＤを決定する。この動きベクトルＭＶは、ステップＳ１１で求められたものであり、固定である。時刻ｔ−１でＩＤが付与されていない最初の画像については、隣り合うブロックの動きベクトルＭＶの差が所定値以内のブロックに同一ＩＤを付与する。
【００９２】
（Ｓ１３）ＩＤ及びＭＶが求められた各ブロックの評価関数Ｕの値の総和ＵＴを求める。
【００９３】
（Ｓ１４）総和ＵＴをより小さくするＩＤ及びＭＶの分布を求めるために、該分布を変更する。
【００９４】
（Ｓ１５）ステップＳ１３及びＳ１４を所定回数繰り返したと判定され、又は、総和ＵＴが収束したと判定されれば、処理を終了し、そうでなければステップＳ１５へ戻る。
【００９５】
このようにして、総和ＵＴを略最小にするＩＤ及びＭＶの分布をリアルタイムで求めることができる。
【００９６】
例えば、ステップＳ１４で、１つのブロックのＭＶを所定範囲内で１画素ずらし又は１つのブロックのＩＤを変更し、ステップＳ１３に戻って総和ＵＴが前の値より大きくなれば、ステップＳ１４で、変更したＭＶ又はＩＤを元に戻し、小さくなれば、次のブロックについて同様の変更を行う。該所定範囲は例えば、上下左右の各々について＋４画素である。
【００９７】
また、１つのブロックのＭＶ又はＩＤを変更してもその影響は全てのブロックの評価関数に波及しないので、総和ＵＴを求めずに、全ブロックのうち影響を受けるブロックの評価関数Ｕの値の総和ＵＴportionを略最小にしてもよい。この場合、各ブロックの評価関数Ｕの値を一時記憶しておき、その前回値と今回値を比較することにより、影響の有無を判定することができる。
【００９８】
さらに、ステップＳ１３〜Ｓ１５の繰り返し処理を行う替わりに、総和ＵＴを小さくする処理を予め推定し、この処理を行って総和ＵＴ又はＵＴportionを計算し、その値が処理前より小さくなっていればそのオブジェクトマップを採用し、そうでなければ処理前のオブジェクトマップを採用するようにしてもよい。この推定処理は例えば、上式（５）に基づく動きベクトルの空間的平均化である。すなわち、式（５）中のＭＶを、ＭＶ＝ΣＭＶneigher／Ｌとすることにより式（５）の値を最小にすることができるので、既に求まっているＭＶneigherを用いて、ＭＶをＭＶ＝ΣＭＶneigher／Ｌとする。
【００９９】
また、ステップＳ１１において、動きベクトルを求めるのに適しないブロックの動きベクトルを求めないで、ステップＳ１３〜Ｓ１５の処理又はこれに替わる前記処理により、動きベクトルを求めるのに適しないブロックの動きベクトルを決定してもよい。
【０１００】
次に、実施例２の実験結果を説明する。
【０１０１】
定数ａ〜ｃ及びｆは試行錯誤により、ａ＝３２／１００００００、ｂ＝１／２５６、ｃ＝１／２、ｆ＝１／４と決定された。また、ステップＳ１３〜Ｓ１５の繰り返し処理を行う替わりに、上記動きベクトルの空間的平均化処理を行った。
【０１０２】
図１５（Ａ）及び（Ｂ）はそれぞれ、交差点での撮影画像及びそのＩＤのオブジェクトマップを示す。図中の太線は、同一ＩＤが含まれる矩形を示す（以下同様）。
【０１０３】
図１６（Ａ）及び（Ｂ）はそれぞれ、高速道路での低角度撮影画像及びそのＩＤのオブジェクトマップを示す。
【０１０４】
図１７（Ａ）及び（Ｂ）はそれぞれ、横断歩道での撮影画像、及び、これとＩＤのオブジェクトマップのＩＤ付与部のメッシュとを重ね合わせた画像を示す。
【０１０５】
図１６（Ａ）及び図１７（Ｂ）中の矩形に付与された番号は、オブジェクトのＩＤである。
【０１０６】
このような混雑し重なった移動物体を追跡することができた。
【実施例３】
【０１０７】
図１０（Ｃ）のようにオブジェクト境界の両側に、推定された動きベクトルの数が多く、かつ、境界の両側の動きベクトルの差の絶対値が比較的小さい場合、オブジェクト境界の精度が悪くなる。このような場合、時間を遡ってオブジェクトを追跡すると、追跡精度も悪くなる。
【０１０８】
隣り合うブロックの動きベクトルＭＶの差が所定値以内のブロックに同一ＩＤを付与するという規則における該所定値を大きくすることにより、この問題を解決することもできるが、この場合、時間を遡る追跡処理の開始時点が遅れることになる。
【０１０９】
そこで、本発明の実施例３ではこれらの問題を解決するため、図１８に示す方法を行うことにより、時間を遡る追跡処理の開始時点を決定する。この方法では、連続するＮ画像、例えば３画像について、時間的に隣り合う画像における同一オブジェクト間の相関度（オブジェクトの時空的相関度）が所定値以上である場合、オブジェクト境界の信頼性が高いと判定する。
【０１１０】
例えば図１９（Ａ）に示すような時刻ｔ−１のオブジェクトマップが既に作成されているとする。
【０１１１】
（Ｓ２１）カウンタＣＮＴに初期値０を代入する。
【０１１２】
（Ｓ２２）時刻ｔのオブジェクトマップを、上記実施例１で述べた方法で作成する。図１９（Ｂ）は時刻ｔのオブジェクトマップを示す。
【０１１３】
（Ｓ２３）１つのクラスタに複数のオブジェクトが含まれる場合にはステップＳ２４へ進み、そうでなければステップＳ２７へ進む。
【０１１４】
（Ｓ２４）時刻ｔ−１とｔのオブジェクトマップについて、オブジェクトの時空的相関度を求める。
【０１１５】
例えば、図１９（Ａ）の一方のオブジェクトＯＢＪ１（ｔ−１）を、このオブジェクトの平均動きベクトルだけ移動した図形と、図１９（Ｂ）の該一方に対応するオブジェクトＯＢＪ１（ｔ）の図形との図形論理積（図１９（Ｃ）のハッチングが施された図形）の面積Ａ１を求め、オブジェクトＯＢＪ１（ｔ−１）の図形の面積Ａ０を求め、比Ａ１／Ａ０を相関度として求める。面積Ａ０は、オブジェクトＯＢＪ１（ｔ）の図形の面積であってもよい。
【０１１６】
（Ｓ２５）Ａ１／Ａ０が所定値ｒ０以上であればステップＳ２６へ進み、そうでなければステップＳ２７へ進む。
【０１１７】
（Ｓ２６）カウンタＣＮＴを１だけインクリメントし、ステップＳ２８へ進む。
【０１１８】
（Ｓ２７）カウンタＣＮＴをゼロクリアする。
【０１１９】
（Ｓ２８）ＣＮＴ＜Ｎ−１であればステップＳ２９へ進み、そうでなければステップＳ３０へ進む。
【０１２０】
（Ｓ２９）次の時刻ｔ＋１をｔとしてステップＳ２１へ戻る。
【０１２１】
（Ｓ３０）オブジェクトの時空的相関度が高いと判定し、時間ｔから遡ってオブジェクトを追跡する。
【実施例４】
【０１２２】
図２０は、本発明の実施例４のオブジェクトマップ説明図である。
【０１２３】
ブロックサイズを小さくすればオブジェクトの境界精度が向上する。しかし、ブロックサイズを小さくするほど、ブロックマッチングにより動きベクトルを決定することが困難になる。
【０１２４】
この問題を解決するために、本発明の実施例４では、ＩＤ及び動きベクトルＭＶを付与する各ブロックＢ（ｉ，ｊ）の動きベクトルを決定するためのブロックＢ’（ｉ，ｊ）のサイズを、ブロックＢ（ｉ，ｊ）のサイズよりも大きくしている。ブロックＢ’（ｉ，ｊ）はブロックＢ（ｉ，ｊ）と同心であり、ブロックＢ’（ｉ，ｊ）内にブロックＢ（ｉ，ｊ）が含まれている。
【０１２５】
例えば図２０において、ブロックＢ’（ｔ：３，１０）は、ブロックＢ（ｔ：３，１０）の動きベクトルを求めるためのものである。図５の場合と同様に、ブロックＢ’（ｔ：３，１０）の画像と、時刻ｔ−１のブロックサイズの領域ＡＸの画像とのテクスチャ相関度を、所定範囲ＡＭ内で領域ＡＸを１画素移動させる毎に求める。
【０１２６】
他の点は、上記実施例１、２又は３と同一である。
【実施例５】
【０１２７】
上記実施例では、ブロック単位で背景画像と比較することにより、オブジェクトが存在するかどうかを調べているので、背景画像を特別扱いしなければならない。また、例えば過去１０分間の撮影画像に基づいて背景画像を生成しているので、カメラが揺れた場合には、この揺れを背景画像に反映させることができない。
【０１２８】
そこで、本発明の実施例５では、このような問題を解決するために、背景画像もオブジェクトとみなしてオブジェクトマップを作成する。オブジェクトマップ生成方法は、背景画像と比較してブロックに移動物体が存在するかどうかを判定する点以外は、上記実施例１、２、３又は４と同一である。背景画像もオブジェクトとみなすので、全てのブロックについて、ブロックマッチングを行うことによりＩＤを付与しＭＶを決定する。
【０１２９】
次に、図１１の処理により時刻ｔのオブジェクトマップが作成される過程の概略を図２１及び図２２に基づいて説明する。
【０１３０】
（Ｓ１１）時刻ｔで各ブロックについて、上式（２）の評価関数ＵＤの値を最小にする動きベクトルＭＶを求める。但し、上述の動きベクトルを求めるのに適しないブロックについては動きベクトルＭＶを求めない。
【０１３１】
図２１（Ａ）に示すような画像に対し、この処理を行うことにより、図２１（Ｂ）に示すような動きベクトルのオブジェクトマップが得られる。図２１（Ｂ）において、点線はブロックの境界線であり、ドットは動きベクトルが０であることを示している。
【０１３２】
次に、動きベクトルを求めるのに適しない各ブロックについて、上式（５）の評価関数ＵＶの値を最小にする動きベクトルＭＶを求める。これにより、図２２（Ａ）に示すような動きベクトルのオブジェクトマップが得られる。
【０１３３】
ステップＳ１２〜Ｓ１５の処理は実施例２と同一である。
【０１３４】
ステップＳ１２の処理により、図２２（Ｂ）に示すようなＩＤのオブジェクトマップが得られる。
【０１３５】
このようにすれば、特別な背景画像を用いる必要がなく、また、カメラが揺れても、背景画像を識別することができる。また、画像上に入口スリットを設ける必要がなくなる。さらに、画像の枠から出たオブジェクトのＩＤを消滅させることにより、出口スリットを用いなくてもよい。
【実施例６】
【０１３６】
以上の実施例では、画像をブロックに分割し、ブロック単位でオブジェクトのＩＤ及びＭＶを決定していたので、ブロックの境界と無関係な移動物体の一部、例えばブロックサイズの領域を追跡することができなかった。
【０１３７】
本発明の実施例６では、画像をブロックに分割し、ブロック単位でオブジェクトのＩＤ及びＭＶを決定するとともに、ブロックの境界と無関係な移動物体の一部を追跡する。
【０１３８】
図２のオブジェクトマップ記憶部２６には、図２３に示すように、時刻ｔ〜ｔ−５の時系列画像に対応したオブジェクトマップＯＭ（ｔ）〜ＯＭ（ｔ−５）が格納されている。
【０１３９】
次の時刻では、ｔ→ｔ−１とされ、すなわちオブジェクトマップＯＭ（ｔ）〜ＯＭ（ｔ−５）がそれぞれＯＭ（ｔ−１）〜ＯＭ（ｔ−６）とされる。そして、最も古いオブジェクトマップＯＭ（ｔ−６）が新たなオブジェクトマップＯＭ（ｔ）で更新される。
【０１４０】
図２の移動物体追跡部２７において、移動物体の一部の追跡が以下のようにして行われる。
【０１４１】
図２４（Ａ）に示すように、オブジェクトマップＯＭ（ｔ）上の着目領域Ａ（ｔ）の動きベクトルがＭＶ（ｔ）であるとする。図２４（Ａ）中の点線はブロックの境界であり、この例では着目領域Ａ（ｔ）が１つのブロックに一致している。
【０１４２】
図２４（Ｂ）に示すように、着目領域Ａ（ｔ）を、−ＭＶ（ｔ）移動させた領域に対応するオブジェクトマップＯＭ（ｔ−１）の着目領域Ａ（ｔ−１）を求める。
【０１４３】
着目領域Ａ（ｔ−１）の動きベクトルＭＶ（ｔ−１）を、次のような重み付き平均により求める。
【０１４４】
ＭＶ（ｔ−１）＝（ＭＶ１・Ｓ１＋ＭＶ２・Ｓ２＋ＭＶ３・Ｓ３＋ＭＶ４・Ｓ４）／（Ｓ１＋Ｓ２＋Ｓ３＋Ｓ４）
ここに、ＭＶ１〜ＭＶ４は着目領域Ａ（ｔ−１）と重なった第１〜４ブロックの動きベクトルであり、Ｓ１〜Ｓ４は着目領域Ａ（ｔ−１）と重なった第１〜４ブロックの重なり部分画素数である。
【０１４５】
図２４（Ｃ）に示すように、着目領域Ａ（ｔ−１）を、−ＭＶ（ｔ−１）移動させた領域に対応するオブジェクトマップＯＭ（ｔ−２）の着目領域Ａ（ｔ−２）を求める。
【０１４６】
着目領域Ａ（ｔ−２）の動きベクトルＭＶ（ｔ−２）を、上記同様にして求める。
【０１４７】
このような着目領域の移動と移動後の着目領域の動きベクトル算出の処理を繰り返すことにより、着目領域を、ブロックの境界と無関係に追跡することができる。すなわち、時刻ｔの着目領域Ａ（ｔ）に対し、時刻ｔ−１〜ｔ−５の着目領域Ａ（ｔ−１）〜Ａ（ｔ−５）を求めることができる。
【０１４８】
本発明の実施例６によれば、移動物体の一部である着目領域を追跡することができ、例えば着目領域の行動パターンを解析したり、分類したり、特定の行動パターンであると判定したりすることが可能となる。また、複数の着目領域間の相対位置の行動パターンを解析したり、分類したり、特定の行動パターンであると判定したりすることが可能となる。
【０１４９】
上記の例では、時刻ｔでの着目領域が１つのブロックに一致する場合を説明したが、図２４（Ｂ）のように着目領域が１つのブロックに一致しない場合であってもよい。この場合の着目領域の動きベクトルは、上記のように重み付き平均により求める。
【０１５０】
また、上記の例では、時間を遡って着目領域を追跡する場合を説明したが、オブジェクトマップＯＭ（ｔ−５）上の着目領域Ａ（ｔ−５）から出発し、動きベクトルの正方向へ着目領域を移動させることにより、着目領域を追跡してもよい。この場合、新たなオブジェクトマップＯＭ（ｔ）が求まる毎に、着目領域Ａ（ｔ）を求めることにより、着目領域を追跡することができる。
【０１５１】
さらに、着目領域はブロックサイズより大きくても小さくてもよい。
【実施例７】
【０１５２】
次に、オブジェクト境界認識に上記実施例６の方法を利用した例を、実施例７として説明する。
【０１５３】
図２５（Ａ）において、オブジェクトマップＯＭ（ｔ）上の隣り合う着目領域Ａｉ（ｔ）及びＡｊ（ｔ）の動きベクトルがそれぞれＭＶｉ（ｔ）及びＭＶｊ（ｔ）であるとする。領域Ａｉ（ｔ）及びＡｊ（ｔ）が互いに異なる移動物体の一部であっても、｜ＭＶｉ（ｔ）−ＭＶｊ（ｔ）｜が比較的小さい場合、両者を異なる移動物体と認識することができない。特に、カメラから遠く離れた複数の移動物体が互いに重なって見える場合、この問題が生ずる。
【０１５４】
そこで、上記実施例６の方法により、オブジェクトマップＯＭ（ｔ−５）上の着目領域Ａｉ（ｔ−５）及びＡｊ（ｔ−５）を決定する。領域Ａｉ（ｔ−５）の中心から領域Ａｉ（ｔ）の中心までの動きベクトルを、早送り動きベクトルＭＶｉ（ｔ−５，ｔ）として求める。同様に、領域Ａｊ（ｔ−５）の中心から領域Ａｊ（ｔ）の中心までの動きベクトルを、早送り動きベクトルＭＶｊ（ｔ−５，ｔ）として求める。そして、｜ＭＶｉ（ｔ−５，ｔ）−ＭＶｊ（ｔ−５，ｔ）｜の値が所定値εを越えていれば、着目領域Ａｉ（ｔ）とＡｊ（ｔ）の境界が互いに異なる移動物体の境界であると認識する。
【０１５５】
このような処理を、オブジェクトマップＯＭ（ｔ）上の１つのクラスタ内の全ての隣り合うブロックに適用することにより、該クラスタに含まれている複数の移動物体を分割認識することができる。
【０１５６】
上記の例では｜ＭＶｉ（ｔ−ｋ，ｔ）−ＭＶｊ（ｔ−ｋ，ｔ）｜のｋが５である場合を説明したが、重なって見える移動物体間の画像上相対速度が小さいほどｋの値を大きくした方が好ましい。
【０１５７】
そこで、１つのクラスタについて、図２６に示すような動きベクトルの絶対値のヒストグラムを作成する。ピークが複数存在すれば、このクラスタに複数の移動物体が含まれていると推定できる。ピーク間の距離ΔＶに対し、ｋの値を、
ｋ＝[αΔＶ］
と決定する。ここにαは試行錯誤により定められる定数であり、［］は四捨五入による整数化を意味する。
【実施例８】
【０１５８】
図２７は、本発明の実施例８の移動体境界認識方法を示すフローチャートである。
【０１５９】
この方法では、上記ヒストグラムを作成せずに、図２５（Ａ）の２つの着目領域について、以下のようにｋの値を０から最大値ｋmaxまで変化させる。ｋmaxは例えば、１０フレーム／秒の場合、５である。
【０１６０】
（Ｓ３１）ｋに初期値０を代入する。
【０１６１】
（Ｓ３２）｜ＭＶｉ（ｔ−ｋ，ｔ）−ＭＶｊ（ｔ−ｋ，ｔ）｜＞εであればステップＳ３３へ進み、そうでなければステップＳ３４へ進む。
【０１６２】
（Ｓ３３）着目領域Ａｉ（ｔ）とＡｊ（ｔ）の境界が互いに異なる移動物体の境界であると認識する。
【０１６３】
（Ｓ３４）ｋの値を１だけインクリメントする。
【０１６４】
（Ｓ３５）ｋ＞ｋmaxであればステップＳ３６へ進み、そうでなければステップＳ３２へ戻る。
【０１６５】
（Ｓ３６）着目領域Ａｉ（ｔ）とＡｊ（ｔ）が同一移動物体に属すると認識する。
【０１６６】
他の点は、上記実施例７と同一である。
【０１６７】
この実施例８によれば、上記ヒストグラムを作成せずにｋの値が自動的に決定される。
【０１６８】
なお、本発明には外にも種々の変形例が含まれる。
【０１６９】
例えば、上記実施例では空間的差分画像を処理して移動物体を追跡する場合を説明したが、本発明は各種エッジ画像や原画像を処理して移動物体（移動物体の一部を含む）を追跡する構成であってもよい。
【図面の簡単な説明】
【０１７０】
【図１】交差点及びこれに配置された本発明の実施例１の移動物体追跡装置の概略を示す図である。
【図２】図１中の移動物体追跡装置の機能ブロック図である。
【図３】図３に示す如くフレーム画像内の、交差点への４つの入口及び交差点からの４つの出口にそれぞれ設定されたスリット及びブロックに付与された移動物体のＩＤを示す説明図である。
【図４】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像をブロック境界線とともに模式的に示す図である。
【図５】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像を画素境界線とともに模式的に示す図である。
【図６】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像を、ブロックに付与された動きベクトルとともに模式的に示す図である。
【図７】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔのオブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図８】未定動きベクトルの推定方法を示すフローチャートである。
【図９】（Ａ）及び（Ｂ）は図８の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図１０】（Ａ）〜（Ｃ）は図８の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図１１】本発明の実施例２のオブジェクトマップ作成方法を示すフローチャートである。
【図１２】（Ａ）及び（Ｂ）は時空的テクスチャ相関度の説明図である。
【図１３】（Ａ）及び（Ｂ）は空間的ＩＤ相関度の説明図である。
【図１４】（Ａ）及び（Ｂ）は空間的動きベクトル相関度の説明図である。
【図１５】本発明の実施例２の実験結果を示す図であって、（Ａ）及び（Ｂ）はそれぞれ、交差点での撮影画像及びそのＩＤのオブジェクトマップを示す図である。
【図１６】本発明の実施例２の実験結果を示す図であって、（Ａ）及び（Ｂ）はそれぞれ、高速道路での低角度撮影画像及びそのＩＤのオブジェクトマップを示す図である。
【図１７】本発明の実施例２の実験結果を示す図であって、（Ａ）及び（Ｂ）はそれぞれ、横断歩道での撮影画像、及び、これとＩＤのオブジェクトマップのＩＤ付与部のメッシュとを重ね合わせた画像を示す図である。
【図１８】本発明の実施例３の、クラスタを分割するオブジェクト境界が確定したかどうかを判断する方法を示すフローチャートである。
【図１９】（Ａ）〜（Ｃ）は図１８の処理を説明するための図である。
【図２０】本発明の実施例４のブロックマッチング説明図であって、（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像をブロック境界線とともに模式的に示す図である。
【図２１】（Ａ）及び（Ｂ）は本発明の実施例５を説明するための図であって、（Ａ）は画像を模式的に示す図、（Ｂ）は第１段階で求められる動きベクトルのオブジェクトマップを示す図である。
【図２２】（Ａ）及び（Ｂ）は該実施例５を説明するための図であって、（Ａ）は第２段階で求められる動きベクトルのオブジェクトマップを示す図、（Ｂ）はＩＤのオブジェクトマップを示す図である。
【図２３】着目領域を追跡する本発明の実施例６を説明するための時系列オブジェクトマップを示す図である。
【図２４】（Ａ）〜（Ｃ）は、時間を遡って着目領域を追跡する方法の説明図である。
【図２５】（Ａ）及び（Ｂ）は本発明の実施例７のオブジェクト境界認識方法説明図である。
【図２６】１つのクラスタについての、動きベクトルの絶対値のヒストグラムを示す図である。
【図２７】本発明の実施例８のオブジェクト境界認識方法を示すフローチャートである。
【図２８】道路中央線上方に設置されたカメラで撮像された時系列画像を模式的に示す図である。
【符号の説明】
【０１７１】
１０  カメラ
２０  移動物体追跡装置
２１  画像メモリ
２２  画像変換部
２３  フレームバッファメモリ
２４  背景画像生成部
２５  ＩＤ生成／消滅部
２６  オブジェクトマップ記憶部
【図１】
0005165103.tif 000002
【図２】
0005165103.tif 000003
【図３】
0005165103.tif 000004
【図４】
0005165103.tif 000005
【図５】
0005165103.tif 000006
【図６】
0005165103.tif 000007
【図７】
0005165103.tif 000008
【図８】
0005165103.tif 000009
【図９】
0005165103.tif 000010
【図１０】
0005165103.tif 000011
【図１１】
0005165103.tif 000012
【図１２】
0005165103.tif 000013
【図１３】
0005165103.tif 000014
【図１４】
0005165103.tif 000015
【図１５】
0005165103.tif 000016
【図１６】
0005165103.tif 000017
【図１７】
0005165103.tif 000018
【図１８】
0005165103.tif 000019
【図１９】
0005165103.tif 000020
【図２０】
0005165103.tif 000021
【図２１】
0005165103.tif 000022
【図２２】
0005165103.tif 000023
【図２３】
0005165103.tif 000024
【図２４】
0005165103.tif 000025
【図２５】
0005165103.tif 000026
【図２６】
0005165103.tif 000027
【図２７】
0005165103.tif 000028
【図２８】
0005165103.tif 000029