(57)【要約】【課題】背景が変動する画像からでも、画像中の移動物体を正確に検出することができる移動物体追跡装置を提供する。【解決手段】移動物体追跡装置が、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が移動物体に対応するブロックに付けられて記憶されているオブジェクトマップ記憶部と、時系列画像の画像から移動物体の輪郭を抽出する輪郭抽出部と、輪郭抽出部が抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号を補正する補正部と、を有する。【選択図】図２
2010244207.tif 000002
【特許請求の範囲】
【請求項１】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、
前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部と、
前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出部と、
前記輪郭抽出部が抽出した輪郭に基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する補正部と、
を有することを特徴とする移動物体追跡装置。
【請求項２】
前記輪郭抽出部が、
前記オブジェクトマップ記憶部に記憶されている前記移動物体のブロックに対応する画像領域に基づいて、前記移動物体の輪郭を抽出する対象領域を設定する対象領域設定部と、
前記対象領域設定部が設定した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出処理部と、
を有することを特徴とする請求項１に記載の移動物体追跡装置。
【請求項３】
前記輪郭抽出部が、
前記時系列画像の画像をエッジ抽出処理した画像に対して、前記対象領域設定部が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて前記対象領域設定部が設定した対象領域を前記座標軸毎に補正する対象領域補正部、
を有し、
前記輪郭抽出処理部が、
前記対象領域補正部が補正した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する、
ことを特徴とする請求項２に記載の移動物体追跡装置。
【請求項４】
前記輪郭抽出部が、
オクルージョンが発生している複数の移動物体を一体の移動物体とし、前記時系列画像の画像から前記一体とした移動物体の輪郭を抽出する、
ことを特徴とする請求項１から請求項３のいずれかに記載の移動物体追跡装置。
【請求項５】
前記補正部は、
前記オブジェクトマップ記憶部に記憶されている前記オクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、前記輪郭抽出部により前記オクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する、
ことを特徴とする請求項４に記載の移動物体追跡装置。
【請求項６】
背景画像が変動しているか否かを判定する判定部と、
前記判定部が背景画像が変動していると判定した場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第１の制御部と、
を有することを特徴とする請求項１から請求項５に記載の移動物体追跡装置。
【請求項７】
前記オブジェクトマップ記憶部に記憶されている移動物体のサイズまたは移動量の変動量を、前記識別符号に基づいて単位時間毎に検出する移動物体変動量検出部と、
前記移動物体変動量検出部により検出された単位時間毎の前記移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第２の制御部と、
を有することを特徴とする請求項１から請求項６に記載の移動物体追跡装置。
【請求項８】
前記オブジェクトマップ記憶部には、
前記識別符号が前記移動物体に対応する前記ブロックに付けられているとともに、前記ブロックに対応する前記移動物体の動きベクトルが前記ブロックに付けられて記憶されており、
前記時系列画像を画像処理した結果に基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する移動物体追跡部、
を有し、
前記移動物体追跡部は、
前記時系列画像のうち連続するＮ画像（Ｎ≧２）の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順と、
前記Ｎ画像の各々において、第１識別符号が付けられたブロック群である第１オブジェクトと第２識別符号が付けられたブロック群である第２オブジェクトとが接し、かつ、前記Ｎ画像について時間的に隣り合う画像の第１オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順と、
前記判定手順で肯定と判定された後に、時間を遡って前記第１オブジェクトと前記第２オブジェクトとを追跡する追跡手順と、
前記追跡手順により時間を遡って追跡された前記第１オブジェクトと前記第２オブジェクトとに基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順と、
を実行することを特徴とする請求項１から請求項７に記載の移動物体追跡装置。
【請求項９】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置において用いられる画像上移動物体追跡方法であって、
輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順と、
補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順と、
を有することを特徴とする移動物体追跡方法。
【請求項１０】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置としてのコンピュータに、
輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順を実行し、
補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順を実行する、
ようにさせるための移動物体追跡プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列画像を画像処理して画像中の移動物体（車、自転車、動物等の移動可能なもの）を追跡する移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラムに関する。
【背景技術】
【０００２】
近年、カメラで撮像された画像を画像処理して、画像中の移動物体を正確に検出する技術が求められている。たとえば、交通事故の早期発見は、迅速な救助活動により人命救助の成功率を高めるだけでなく、警察の実地検分などを迅速にすることにより事故渋滞を緩和することもできるので、様々な交通事故の認識自動化が期待されている。このように交通事故の認識率を高めるためには、カメラで撮像された画像を画像処理して移動物体を正確に検出する必要がある。
【０００３】
図２０は、高速道路の中央線上方に設置されたカメラで撮像された時刻ｔ＝１〜４の画像を模式的に示す。
【０００４】
画像上で車両同士が頻繁に重なるので、画像処理により各車両を追跡するのが困難になる。この問題を解決するには、道路に沿って複数台のカメラを設置し、それらの画像を総合的に画像処理する必要がある。
【０００５】
しかし、カメラ及び画像処理装置を複数台備える必要があるので、コスト高になる。また、各カメラの撮影画像を関係付けて総合的に画像処理しなければならないので、画像処理が複雑になる。
【０００６】
そこで、本願発明者らは、次のように時間を遡って移動物体を検出する方法でこの問題を解決した（特許文献１および特許文献２参照。）。
【０００７】
たとえば、時刻ｔ＝１〜４の時系列画像を一時記憶しておき、時刻ｔ＝４から出発して車両Ｍ１とＭ２を識別し、車両Ｍ１とＭ２の動きベクトルを求め、この動きベクトルで時刻ｔ＝４の画像中の車両Ｍ１とＭ２を移動させて、車両Ｍ１とＭ２が識別されている時刻ｔ＝３の画像を想定し、これと時刻ｔ＝３の実際の画像との相関関係から、時刻ｔ＝３の画像中の車両Ｍ１とＭ２を識別する。
【０００８】
次に、時刻ｔ＝３と時刻ｔ＝２との画像について同様の画像処理により、時刻ｔ＝２の画像中の車両Ｍ１とＭ２を識別する。次に、時刻ｔ＝２と時刻ｔ＝１の画像について同様の画像処理により、時刻ｔ＝１の画像中の車両Ｍ１とＭ２を識別する。
【０００９】
このような画像処理により、１台のカメラで車両Ｍ１とＭ２とを追跡することが可能となる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−１３３４２１号公報
【特許文献２】特開２００４−２０７７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このような従来技術においては、カメラが固定されている状態で撮像された画像、すなわち、背景が固定されている画像を画像処理して、画像中の移動物体を正確に検出していた。
【００１２】
これに対して、カメラをパンニングまたはズーミングした場合には、それまで固定されていた背景画像も、カメラをパンニングまたはズーミングに応じて変動してしまう。このように背景が変動する画像を画像処理した場合には、移動物体の画像領域と背景画像との境界が明確でなくなり、画像中の移動物体を正確に検出できないという問題があった。
【００１３】
本発明は、このような事情に鑑みてなされたもので、その目的は、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
この発明は上述した課題を解決するためになされたもので、請求項１に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部と、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出部と、前記輪郭抽出部が抽出した輪郭に基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する補正部と、を有することを特徴とする移動物体追跡装置である。
【００１５】
請求項２に記載の発明は、前記輪郭抽出部が、前記オブジェクトマップ記憶部に記憶されている前記移動物体のブロックに対応する画像領域に基づいて、前記移動物体の輪郭を抽出する対象領域を設定する対象領域設定部と、前記対象領域設定部が設定した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出処理部と、を有することを特徴とする請求項１に記載の移動物体追跡装置である。
【００１６】
請求項３に記載の発明は、前記輪郭抽出部が、前記時系列画像の画像をエッジ抽出処理した画像に対して、前記対象領域設定部が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて前記対象領域設定部が設定した対象領域を前記座標軸毎に補正する対象領域補正部、を有し、前記輪郭抽出処理部が、前記対象領域補正部が補正した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する、ことを特徴とする請求項２に記載の移動物体追跡装置である。
【００１７】
請求項４に記載の発明は、前記輪郭抽出部が、オクルージョンが発生している複数の移動物体を一体の移動物体とし、前記時系列画像の画像から前記一体とした移動物体の輪郭を抽出する、ことを特徴とする請求項１から請求項３のいずれかに記載の移動物体追跡装置である。
【００１８】
請求項５に記載の発明は、前記補正部は、前記オブジェクトマップ記憶部に記憶されている前記オクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、前記輪郭抽出部により前記オクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する、ことを特徴とする請求項４に記載の移動物体追跡装置である。
【００１９】
請求項６に記載の発明は、背景画像が変動しているか否かを判定する判定部と、前記判定部が背景画像が変動していると判定した場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第１の制御部と、を有することを特徴とする請求項１から請求項５に記載の移動物体追跡装置である。
【００２０】
請求項７に記載の発明は、前記オブジェクトマップ記憶部に記憶されている移動物体のサイズまたは移動量の変動量を、前記識別符号に基づいて単位時間毎に検出する移動物体変動量検出部と、前記移動物体変動量検出部により検出された単位時間毎の前記移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第２の制御部と、を有することを特徴とする請求項１から請求項６に記載の移動物体追跡装置である。
【００２１】
請求項８に記載の発明は、前記オブジェクトマップ記憶部には、前記識別符号が前記移動物体に対応する前記ブロックに付けられているとともに、前記ブロックに対応する前記移動物体の動きベクトルが前記ブロックに付けられて記憶されており、前記時系列画像を画像処理した結果に基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する移動物体追跡部、を有し、前記移動物体追跡部は、前記時系列画像のうち連続するＮ画像（Ｎ≧２）の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順と、前記Ｎ画像の各々において、第１識別符号が付けられたブロック群である第１オブジェクトと第２識別符号が付けられたブロック群である第２オブジェクトとが接し、かつ、前記Ｎ画像について時間的に隣り合う画像の第１オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順と、前記判定手順で肯定と判定された後に、時間を遡って前記第１オブジェクトと前記第２オブジェクトとを追跡する追跡手順と、前記追跡手順により時間を遡って追跡された前記第１オブジェクトと前記第２オブジェクトとに基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順と、を実行することを特徴とする請求項１から請求項７に記載の移動物体追跡装置である。
【００２２】
請求項９に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置において用いられる画像上移動物体追跡方法であって、輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順と、補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順と、を有することを特徴とする移動物体追跡方法である。
【００２３】
請求項１０に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置としてのコンピュータに、輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順を実行し、補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順を実行する、ようにさせるための移動物体追跡プログラムである。
【発明の効果】
【００２４】
この本発明によれば、抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号を補正することにより、背景が変動する画像からでも、画像中の移動物体を正確に検出することができるという効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】交差点及びこれに配置された本発明の移動物体追跡装置を用いた移動物体追跡システムの概略を示すブロック図である。
【図２】図１の移動物体追跡装置の一例としての構成を示すブロック図である。
【図３】フレーム画像内の、交差点への４つの入口及び交差点からの４つの出口にそれぞれ設定されたスリット及びブロックに付与された移動物体のＩＤを示す説明図である。
【図４】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像をブロック境界線とともに模式的に示す図である。
【図５】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像を画素境界線とともに模式的に示す図である。
【図６】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔの画像を、ブロックに付与された動きベクトルとともに模式的に示す図である。
【図７】（Ａ）及び（Ｂ）はそれぞれ時刻ｔ−１及びｔのオブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図８】未定動きベクトルの推定方法を示すフローチャートである。
【図９】（Ａ）及び（Ｂ）は図８の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図１０】（Ａ）〜（Ｃ）は図８の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図１１】移動物体追跡装置２０におけるモードの状態遷移を示す状態遷移図である。
【図１２】図１１の補正モードにおける移動物体追跡装置２０の動作を示すフローチャート図である。
【図１３】面積項Ｅａｒｅａを示す説明図である。
【図１４】一例としてのＳｎａｋｅｓ処理結果を示す説明図である。
【図１５】一例としてのエッジ分布およびヒストグラムの生成を示す説明図である。
【図１６】Ｓｎａｋｅｓによるオブジェクトマップの修正例を示す説明図である。
【図１７】カメラ１０が変動する場合において、階層間協調アルゴリズムが無い場合における移動物体検出の結果を示す結果図である。
【図１８】カメラ１０が変動する場合において、階層間協調アルゴリズムがある場合における移動物体検出の結果を示す結果図である。
【図１９】カメラ１０が変動する場合において、オクルージョンが発生している場合における移動物体検出の結果を示す結果図である。
【図２０】高速道路の中央線上方に設置されたカメラで撮像された時刻ｔ＝１〜４の画像を模式的に示す図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態による移動物体追跡装置２０を用いた移動物体追跡システムの構成を示す概略ブロック図である。この移動物体追跡システムは、一例として図１に示すように、交差点を撮像して画像信号を出力する電子カメラ１０と、その画像を処理して移動物体を追跡する移動物体追跡装置２０とを備えている。
【００２７】
電子カメラ１０で撮影された時系列画像は、例えば１２フレーム／秒のレートで、移動物体追跡装置２０が有する後述する画像メモリ２１に格納され、最も古いフレームが新しいフレーム画像で書き換えられる。この電子カメラ１０は、パンニングまたはズーミングされ、撮影する画像領域を変更することができる。この電子カメラ１０に対するパンニングまたはズーミングは、たとえば、移動物体追跡装置２０が制御してもよいし、当該移動物体追跡システムを制御する上位制御装置が制御してもよい。
【００２８】
移動物体追跡装置２０は、電子カメラ１０で撮影された時系列画像（後述する画像メモリ２１に格納された時系列画像）を画像処理して、時系列画像を画像処理して画像中の移動物体を検出する。
【００２９】
次に図２を用いて、移動物体追跡装置２０の一例としての構成について説明する。
【００３０】
画像変換部２２は、画像メモリ２１内の各フレーム画像について、これをフレームバッファメモリ２３にコピーし、コピーされた画像のデータを用いて画像メモリ２１内の対応するフレーム画像を空間的差分フレーム画像に変換する。この変換は２段階で行われる。
【００３１】
元のフレーム画像の第ｉ行第ｊ列の画素値（輝度値）をＧ（ｉ，ｊ）とすると、第１段階における変換後の第ｉ行第ｊ列の画素値Ｈ（ｉ，ｊ）は、次式で表される。
【００３２】
Ｈ（ｉ，ｊ）＝Σneighberpixcels｜Ｇ（ｉ＋ｄｉ，ｊ＋ｄｊ）−Ｇ（ｉ，ｊ）｜ ・・・（式１）
【００３３】
ここにΣneighberpixcelsは、ｃを自然数とすると、ｄｉ＝−ｃ〜ｃ及びｄｊ＝−ｃ〜ｃにわたっての総和を意味し、例えばｃ＝１のとき、第ｉ行第ｊ列の画素と隣り合う８画素にわたる総和である。照度が変化すると、画素値Ｇ（ｉ，ｊ）とその付近の画素値Ｇ（ｉ＋ｄｉ，ｊ＋ｄｊ）が同様に変化するので、Ｈ（ｉ，ｊ）の画像は、照度の変化に対し不変である。
【００３４】
ここで、隣り合う画素の差分の絶対値は、一般に画素値が大きいほど大きい。移動物体追跡の成功率を高めるには、画素値が小さくて差分が小さい場合も、画素値及び差分が大きい場合とほぼ等価にエッジ情報を取得した方が好ましい。そこで、Ｈ（ｉ，ｊ）を次のように規格化する。
【００３５】
Ｈ（ｉ，ｊ）＝Σneighberpixcels｜Ｇ（ｉ＋ｄｉ，ｊ＋ｄｊ）−Ｇ（ｉ，ｊ）｜／（Ｇｉ，ｊ，max／Ｇmax） ・・・（式２）
【００３６】
ここに、Ｇｉ，ｊ，maxは、Ｈ（ｉ，ｊ）の計算に用いた元の画素の値の最大値であり、例えばｃ＝１の場合、第ｉ行第ｊ列の画素を中心とする３×３画素の値の最大値であり、Ｇmaxは画素値Ｇ（ｉ，ｊ）の取りうる最大値、例えば画素値が８ビットで表される場合、２５５である。以下、ｃ＝１、Ｇmax＝２５５である場合について説明する。
【００３７】
Ｈ（ｉ，ｊ）の取りうる最大値は、移動物体毎に異なる。例えばＧ（ｉ，ｊ）＝Ｇmaxで第ｉ行第ｊ列の画素に隣り合う８画素の値がいずれも０で有る場合、Ｈ（ｉ，ｊ）＝８Ｇmaxとなって、Ｈ（ｉ，ｊ）を８ビットで表すことができない。
【００３８】
一方、移動物体のエッジ部のＨ（ｉ，ｊ）の値のヒストグラムを作成してみると、頻度の大部分がＨ＝５０〜１１０の範囲に含まれることがわかった。すなわち、Ｈの値が約１１０より大きくなるほど移動物体追跡のためのエッジ情報の数が少ないので、重要度が低い。
【００３９】
したがって、Ｈの値の大きい部分を抑圧して変換画素のビット長を短くすることにより、画像処理を高速に行なったほうが好ましい。そこで、第２段階として、このＨ（ｉ，ｊ）を、シグモイド関数を用いた次式により、Ｉ（ｉ，ｊ）に変換する。
【００４０】
Ｉ＝Ｇmax／｛１＋ｅｘｐ〔−β（Ｈ−α）〕｝ ・・・（式３）
【００４１】
シグモイド関数はＨ＝αの付近で線形性が良い。そこで、閾値αの値を、エッジ情報を持つＨの度数分布の最頻値、例えば８０にする。
【００４２】
画像変換部２２は、上式（２）及び（３）に基づいて、画素値Ｇ（ｉ，ｊ）の画像を画素値Ｉ（ｉ，ｊ）の空間的差分フレーム画像に変換し、これを画像メモリ２１に格納する。
【００４３】
背景画像生成部２４、ＩＤ生成／消滅部２５及び移動物体追跡部２７は、画像メモリ２１中の空間的差分フレーム画像に基づいて処理を行う。以下においては、空間的差分フレーム画像を単にフレーム画像と称す。
【００４４】
背景画像生成部２４は、記憶部と処理部とを備え、処理部は、画像メモリ２１をアクセスし、例えば過去１０分間の全てのフレーム画像の対応する画素について画素値のヒストグラムを作成し、その最頻値（モード）をその画素の画素値とする画像を、移動物体が存在しない背景画像として生成し、これを該記憶部に格納する。背景画像は、この処理が定期的に行われて更新される。
【００４５】
ＩＤ生成／消滅部２５には、図３に示す如くフレーム画像内の、交差点への４つの入口及び交差点からの４つの出口にそれぞれ配置されるスリットＥＮ１〜ＥＮ４及びＥＸ１〜ＥＸ４の位置及びサイズのデータが予め設定されている。ＩＤ生成／消滅部２５は、画像メモリ２１から入口スリットＥＮ１〜ＥＮ４内の画像データを読み込み、これら入口スリット内に移動物体が存在するかどうかをブロック単位で判定する。図３中のメッシュの升目はブロックであり、１ブロックは例えば８×８画素であり、１フレームが４８０×６４０画素の場合、１フレームは６０×８０ブロックに分割される。あるブロックに移動物体が存在するかどうかは、このブロック内の各画素と背景画像の対応する画素との差の絶対値の総和が所定値以上であるかどうかにより判定する。この判定は、移動物体追跡部２７においても行われる。
【００４６】
ＩＤ生成／消滅部２５は、ブロック内に移動物体が存在すると判定すると、このブロックに新たなオブジェクト識別符号（ＩＤ）を付与する。ＩＤ生成／消滅部２５は、ＩＤ付与済ブロックと隣接しているブロックに移動物体が存在すると判定すると、この隣接ブロックに付与済ブロックと同一のＩＤを付与する。このＩＤ付与済ブロックは入口スリットに隣接しているブロックも含まれる。例えば図３中の入口スリットＥＮ１内のブロックにはＩＤ＝１が付与される。
【００４７】
ＩＤの付与は、オブジェクトマップ記憶部２６内の対応するブロックに対して行われる。オブジェクトマップ記憶部２６は、上述の場合６０×８０ブロックのオブジェクトマップを記憶するためのものであり、各ブロックには、ＩＤが付与されているかどうかのフラグ、ＩＤが付与されている場合にはその番号と後述のブロック動きベクトルとがブロック情報として付与される。なお、該フラグを用いずに、ＩＤ＝０のときＩＤが付与されていないと判定してもよい。また、ＩＤの最上位ビットをフラグとしてもよい。
【００４８】
入口スリットを通過したクラスタに対しては、移動物体追跡部２７により、移動方向のブロックに対するＩＤの付与及び移動と反対方向のブロックに対するＩＤの消滅、すなわちクラスタの追跡処理が行われる。移動物体追跡部２７による追跡処理は、各クラスタについて出口スリット内まで行われる。
【００４９】
ＩＤ生成／消滅部２５はさらに、オブジェクトマップ記憶部２６の内容に基づき出口スリットＥＸ１〜ＥＸ４内のブロックにＩＤが付与されているかどうかを調べ、付与されていれば、出口スリットをクラスタが通過したときにそのＩＤを消滅させる。例えば図３中の出口スリットＥＸ１内のブロックにＩＤ＝３が付されている状態から、ＩＤが付されない状態に変化したときに、ＩＤ＝３を消滅させる。消滅ＩＤは、次の生成ＩＤとして用いることができる。
【００５０】
移動物体追跡部２７は、オブジェクトマップ記憶部２６に格納されている時刻（ｔ−１）のオブジェクトマップと、画像メモリ２１に格納されている時刻（ｔ−１）及びｔのフレーム画像とに基づいて、時刻ｔのオブジェクトマップをオブジェクトマップ記憶部２６内に作成する。以下、これを説明する。
【００５１】
図４〜図７はいずれも、時刻ｔ−１とｔの画像を模式的に示す。図４、図６及び図７中の点線はブロックの境界線であり、図５中の点線は画素の境界線である。
【００５２】
第ｉ行第ｊ列のブロックをＢ（ｉ，ｊ）、時刻ｔでの第ｉ行第ｊ列のブロックをＢ（ｔ：ｉ，ｊ）と表記する。ブロックＢ（ｔ−１：１，４）の動きベクトルがＭＶであるとする。ブロックＢ（ｔ−１：１，４）をＭＶ移動させた領域に最も対応する、時刻ｔのブロックを見つける。図４（Ｂ）の場合、このブロックはＢ（ｔ：１，５）である。図５に示すように、ブロックＢ（ｔ：１，５）の画像と、時刻ｔ−１のブロックサイズの領域ＡＸの画像との相関度を、所定範囲ＡＭ内で領域ＡＸを１画素移動させる毎に求める（ブロックマッチング）。
【００５３】
範囲ＡＭはブロックよりも大きく、その一辺は例えばブロックの一辺の画素数の１．５倍である。範囲ＡＭの中心は、ブロックＢ（ｔ：１，５）の中心を略−ＭＶ移動させた位置にある画素である。
【００５４】
相関度は、例えば時空的テクスチャ相関度であり、ブロックＢ（ｔ：１，５）と領域ＡＸの対応する画素値の差の絶対値の総和である評価値ＵＤが小さいほど、大きいとする。
【００５５】
範囲ＡＭ内で相関度が最大になる領域ＡＸを求め、この領域の中心を始点としブロックＢ（１，５）の中心を終点とするベクトルを、ブロックＢ（ｔ：１，５）の動きベクトルと決定する。また、相関度が最大になる領域ＡＸに最も近い、時刻ｔ−１のブロックのＩＤを、ブロックＢ（ｔ：１，５）のＩＤと決定する。
【００５６】
移動物体追跡部２７は、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のＩＤを付与する。これにより、１つのクラスタであっても、互いに異なるＩＤをもつ複数のオブジェクト（移動物体）に分割される。図６では、オブジェクト間の境界を太線で示している。
【００５７】
オブジェクトマップ上には移動物体の画像が存在しないが、図６では理解を容易にするためにオブジェクトマップ上に移動物体が模式的に描かれている。図７は、オブジェクトマップにオブジェクトの境界を太線で示したものであり、図６に対応している。
【００５８】
例えば図３の入口スリットＥＮ１で１つのクラスタが検出され、複数のオブジェクトに分割されず、その後、時刻ｔ１に上記のようにして複数のオブジェクトに分割された場合、時刻ｔ１から時間を遡って、時間が正方向の場合と同様にオブジェクトマップを求めることにより、時刻ｔ１よりも前のオブジェクトマップに対し、複数のオブジェクトに分割する。これにより、分割できなかったオブジェクトを分割して認識することができ、個々のオブジェクトを追跡することができる。
【００５９】
特許文献１では、１つのクラスタが複数のクラスタに分離してから時間を遡って個々のオブジェクトを追跡していたが、本実施形態によれば、複数のクラスタに分離する前に、例えば図２０のｔ＝４より前のｔ＝２から、時間を遡って個々のオブジェクトを追跡することができるので、画像メモリ２１の記憶容量を低減でき、また、画像処理量を低減してＣＰＵの負担を軽くすることができる。
【００６０】
上記説明では、クラスタ内のブロックの動きベクトルが求まる場合について説明したが、図９（Ａ）に示すように、動きベクトルが求まらないブロックが存在する場合、その位置によっては該ブロックがどちらのオブジェクトに属するのか不明である。ある移動物体に属するブロック内の各画素の色がほぼ同一であった場合、上述のブロックマッチングにより動きベクトルを決定することができない。例えば、画像（空間的差分フレーム画像）を２値画像に変換し、ブロック内に‘１’の画素の数が所定値以下であれば、上記方法により動きベクトルを求めるのに適しないブロックと判定する。
【００６１】
このようなブロックの動きベクトルを、図８に示す方法で推定する。
【００６２】
（Ｓ１）未定の動きベクトルが存在すればステップＳ２へ進み、そうでなければ未定動きベクトル推定処理を終了する。
【００６３】
（Ｓ２）動きベクトルが未定のブロックＢ（ｉ，ｊ）の回りの８個のブロックのうち、決定されている動きベクトルＭＶ１〜ＭＶｎを取り出す。
【００６４】
（Ｓ３）ステップＳ２で決定済動きベクトルが存在すればステップＳ４へ進み、そうでなければステップＳ６へ進む。
【００６５】
（Ｓ４）動きベクトルＭＶ１〜ＭＶｎを、ベクトル間の差の絶対値が所定値以内のグループに分ける。
【００６６】
（Ｓ５））動きベクトル数が最大のグループの動きベクトルの平均値を、ブロックＢ（ｉ，ｊ）の動きベクトルと推定する。動きベクトル数が最大のグループが複数存在する場合、任意の１つのグループの動きベクトルの平均値を、ブロックＢ（ｉ，ｊ）の動きベクトルと推定する。次にステップＳ１へ戻る。
【００６７】
なお、同一グループの動きベクトルは互いに略等しいので、該同一グループの動きベクトルの任意の１つをブロックＢ（ｉ，ｊ）の動きベクトルと推定してもよい。
【００６８】
（Ｓ６）ステップＳ５で推定された動きベクトルを、決定された動きベクトルとみなし、ステップＳ１へ戻る。
【００６９】
このような処理により、未定動きベクトルを一意的に推定することができる。
【００７０】
次に具体例を説明する。図９（Ａ）において、第ｉ行第ｊ列のブロックＢ（ｉ，ｊ）の動きベクトルをＭＶ（ｉ，ｊ）と表記する。図９（Ａ）では、ブロックＢ（２，２）、Ｂ（２，４）及びＢ（３，３）の動きベクトルが未定である。
【００７１】
ブロックＢ（２，２）の回りのブロックの動きベクトルは、ＭＶ（２，１）、ＭＶ（３，１）、ＭＶ（３，２）及びＭＶ（２，３）のグループと、ＭＶ（１，２）及びＭＶ（１，３）のグループに分けられるので、前者のグループを選択し、
ＭＶ（２，２）＝（ＭＶ（２，１）＋ＭＶ（３，１）＋ＭＶ（３，２）＋ＭＶ（２，３））／４
と推定する。
【００７２】
ブロックＢ（２，４）の回りのブロックの動きベクトルは、ＭＶ（２，３）、ＭＶ（３，４）及びＭＶ（３，５）のグループと、ＭＶ（１，３）、ＭＶ（１，４）、ＭＶ（１，５）及びＭＶ（２，５）のグループに分けられるので、後者のグループを選択し、
ＭＶ（２，４）＝（ＭＶ（１，３）＋ＭＶ（１，４）＋ＭＶ（１，５）＋ＭＶ（２，５））／４
と推定する。
【００７３】
ブロックＢ（３，３）の回りのブロックの動きベクトルは、ＭＶ（２，３）、ＭＶ（３，２）、ＭＶ（４，２）、ＭＶ（４，４）及びＭＶ（３，４）の１グループであるので、
ＭＶ（３，３）＝（ＭＶ（２，３）＋ＭＶ（３，２）＋ＭＶ（４，２）＋ＭＶ（４，４）＋ＭＶ（３，４））／５
と推定する。
【００７４】
このようにして、図９（Ｂ）に示すようなオブジェクトマップが生成される。図９（Ｂ）では、オブジェクトの境界を太線で示している。
【００７５】
図１０（Ａ）のように未定動きベクトルの数が多い場合であっても、ステップＳ３で否定判定されるまで、ステップＳ１〜Ｓ５を繰り返すと、一意的に動きベクトルが推定されて図１０（Ｂ）のようになる。次に、ステップＳ６で推定動きベクトルを、決定された動きベクトルとみなして、再度ステップＳ１〜Ｓ５を実行することにより、ブロックＢ（３，４）の動きベクトルが一意的に推定されて、図１０（Ｃ）のようになる。次に、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のＩＤを付与することにより、１つのクラスタが、互いに異なるＩＤをもつ複数のオブジェクトに分割される。
【００７６】
なお、移動物体追跡部２７は、オブジェクトマップ記憶部２６に格納されているオブジェクトマップの時系列を、追跡結果として不図示のハードディスクに格納する。
【００７７】
上述したような処理により、オブジェクトマップ記憶部２６には、時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が移動物体に対応するブロックに付けられているとともに、ブロックに対応する移動物体の動きベクトルがブロックに付けられて記憶されている。
【００７８】
そして移動物体追跡部２７は、上述したように時系列画像を画像処理した結果に基づいて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号と動きベクトルとを更新する。具体的には、移動物体追跡部２７は、次の（１）から（４）の手順により、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号と動きベクトルとを更新する。
【００７９】
（１）時系列画像のうち連続するＮ画像（Ｎ≧２）の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順。
【００８０】
（２）Ｎ画像の各々において、第１識別符号が付けられたブロック群である第１オブジェクトと第２識別符号が付けられたブロック群である第２オブジェクトとが接し、かつ、Ｎ画像について時間的に隣り合う画像の第１オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順。
【００８１】
（３）判定手順で肯定と判定された後に、時間を遡って第１オブジェクトと第２オブジェクトとを追跡する追跡手順。
【００８２】
（４）追跡手順により時間を遡って追跡された第１オブジェクトと第２オブジェクトとに基づいて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順。
【００８３】
輪郭抽出部３０は、時系列画像の画像から移動物体の輪郭を抽出する。また、この輪郭抽出部３０は、オクルージョンが発生している複数の移動物体を一体の移動物体とし、時系列画像の画像から一体とした移動物体の輪郭を抽出する。
【００８４】
この輪郭抽出部３０は、対象領域設定部３０１と、対象領域補正部３０２と、輪郭抽出処理部３０３とを、有している。
【００８５】
対象領域設定部３０１は、オブジェクトマップ記憶部２６に記憶されている移動物体のブロックに対応する画像領域に基づいて、移動物体の輪郭を抽出する対象領域を設定する。
【００８６】
輪郭抽出処理部３０３は、対象領域設定部３０１が設定した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出する。
【００８７】
対象領域補正部３０２は、時系列画像の画像をエッジ抽出処理した画像に対して、対象領域設定部３０１が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて対象領域設定部３０１が設定した対象領域を座標軸毎に補正する。
【００８８】
そして上述した輪郭抽出処理部３０３は、対象領域補正部３０２が補正した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出してもよい。
【００８９】
補正部３１は、輪郭抽出部３０の輪郭抽出処理部３０３が抽出した輪郭に基づいて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正する。
【００９０】
また、この補正部３１は、オブジェクトマップ記憶部２６に記憶されているオクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、輪郭抽出部３０によりオクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正する。
【００９１】
判定部３２は、背景画像が変動しているか否かを判定する。たとえば判定部３２は、カメラ１０がパンニングまたはズーミングされたことを示す信号がカメラ１０から入力され、この信号に基づいて、背景画像が変動しているか否かを判定する。
【００９２】
または判定部３２は、背景画像生成部２４が生成した背景画像と、カメラ１０から入力される画像とを比較して、背景画像が変動しているか否かを判定してもよい。または、背景となる領域に予めマーカが埋め込まれており、判定部３２は、カメラ１０から入力される画像に含まれているマーカの画像における位置の変動を検出することにより、背景画像が変動しているか否かを判定してもよい。
【００９３】
制御部３４（第１の制御部）は、判定部３２が背景画像が変動していると判定した場合に、たとえば予め定められている所定期間毎にまたは所定フレーム毎に、輪郭抽出部３０を制御して輪郭を抽出させ、補正部３１を制御してオブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正させる。
【００９４】
移動物体変動量検出部３３については、後述する。
【００９５】
＜背景ブロック＞
上記の説明においては、ブロック単位で背景画像と比較することにより、オブジェクトが存在するかどうかを調べているので、背景画像を特別扱いしなければならない。また、例えば過去１０分間の撮影画像に基づいて背景画像を生成しているので、カメラが揺れた場合には、この揺れを背景画像に反映させることができない。
【００９６】
そこで、背景画像もオブジェクトとみなしてオブジェクトマップを作成してもよい。オブジェクトマップ生成方法は、背景画像と比較してブロックに移動物体が存在するかどうかを判定する点のみが異なる。背景画像もオブジェクトとみなすので、全てのブロックについて、ブロックマッチングを行うことによりＩＤを付与しＭＶを決定する。
【００９７】
なお、この背景画像には、背景画像に対して予め定められているＩＤを付与するようにしてもよい。この予め定められているＩＤにより背景画像と、移動物体とが識別しやすくなる。
【００９８】
このように、背景画像を１つのブロックとして、背景画像に対してＩＤを付与するようにしても、背景画像と移動物体との間で図４から図７に示したようにブロックの属する画像を判定することが可能である。
【００９９】
このように、背景画像を１つのブロックとすることにより、カメラがパンニングまたはズーミングされたことに応じて背景画像が変動する場合においても、背景画像が固定されていた場合と同様に処理できるようになる。
【０１００】
＜移動物体追跡装置２０に動作＞
次に図１１と図１２とを用いて、移動物体追跡装置２０の動作ついて説明する。まず図１１を用いて、移動物体追跡装置２０に動作モードについて説明する。
【０１０１】
まず、移動物体追跡装置２０は、カメラ固定モードの状態にあるとする。このカメラ固定モードにおいては、背景画像はオブジェクトとしてのＩＤが付与されることなしに、背景画像生成部２４により生成されている画像を背景画像として用いている。これはカメラが固定されているため、背景画像に変動がないためである。
【０１０２】
このカメラ固定モードの状態にある場合には、背景画像が固定されているために、移動物体追跡部２７により移動物体を識別されている。
【０１０３】
次にカメラがパンニングまたはズーミングされたことに応じて、判定部３２が、背景画像が変動していることを判定する。この判定に応じて制御部３４が、カメラ固定モードから、カメラ変動モードに遷移させるとともに（ステップＳ１）、背景画像をオブジェクトに登録してＩＤを付与する。
【０１０４】
カメラ変動モードにおいて、予め定められている所定期間毎にまたは所定フレーム毎に、制御部３４は、補正モードに遷移させる（ステップＳ２）。この補正モードにおいて、制御部３４は、輪郭抽出部３０を制御して輪郭を抽出させ、補正部３１を制御してオブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正させる。
【０１０５】
制御部３４は、補正モードにおいて補正が完了すると、補正モードからカメラ変動モードに遷移させる（ステップＳ３）。
【０１０６】
その後、カメラ１０が変動している期間においては、制御部３４は、カメラ変動モードと補正モードとを交互に遷移させる。
【０１０７】
その後、カメラ１０の変動が停止したことを判定部３２が判定したことに応じて、制御部３４は、背景画像に付与されているＩＤを削除し、背景画像生成部２４により生成されている画像を背景画像として用いる。
【０１０８】
なお、背景画像生成部２４により背景画像が生成されるには、たとえば１０分などの所定の期間を要する。そのため、背景画像生成部２４により背景画像が生成されるまでは、背景画像をオブジェクトとして用いることが望ましい。
【０１０９】
次に図１２を用いて、図１１の補正モードにおいて、制御部３４が、輪郭抽出部３０を制御して輪郭を抽出させ、補正部３１を制御してオブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正させる動作について説明する。
【０１１０】
まず、オクルージョン検出部３５が、オブジェクトマップ記憶部２６に記憶されているオブジェクトマップに基づいて、オクルージョンの発生の有無を判定する（ステップＳ１２０１）。
【０１１１】
このステップＳ１２０１でオクルージョンの発生が無いと判定された場合には、対象領域設定部３０１が、オクルージョンが無い移動物体に対して対象領域を設定する（ステップＳ１２０２）。
【０１１２】
次に、対象領域補正部３０２が、上述したヒストグラムを生成し、生成したヒストグラムに基づいて対象領域設定部３０１が設定した対象領域を座標軸毎に補正する（ステップＳ１２０３）。
【０１１３】
次に輪郭抽出処理部３０３は、対象領域補正部３０２が補正した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出する（ステップＳ１２０４）。
【０１１４】
次に補正部３１は、輪郭抽出部３０が抽出した輪郭に基づいて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正する（ステップＳ１２０５）。
【０１１５】
一方ステップＳ１２０１でオクルージョンの発生があると判定された場合には、輪郭抽出部３０の対象領域設定部３０１が、オクルージョンが発生している複数の移動物体を一体の移動物体とする（ステップＳ１２１２）。
【０１１６】
次に対象領域設定部３０１が、一体とした移動物体に対して対象領域を設定する（ステップＳ１２１３）。
【０１１７】
次に、対象領域補正部３０２が、一体とした移動物体に対して上述したヒストグラムを生成し、生成したヒストグラムに基づいて対象領域設定部３０１が設定した対象領域を座標軸毎に補正する（ステップＳ１２１４）。
【０１１８】
次に輪郭抽出処理部３０３は、対象領域補正部３０２が補正した対象領域に対して、時系列画像の画像から、一体とした移動物体移動物体の輪郭を抽出する（ステップＳ１２１５）。
【０１１９】
次に補正部３１は、図４から図７を用いて説明したようにして検出されているオクルージョンが生じている移動物体の境界と、輪郭抽出部３０が抽出した輪郭とに基づいて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正する（ステップＳ１２１６）。
【０１２０】
上記に説明した処理が、オブジェクトマップ記憶部２６に記憶されている全ての移動物体に対して終了した後、制御部３４は、補正モードからカメラ変動モードへと遷移させる。
【０１２１】
以上図１１と図１２とを用いて説明したようにして、移動物体追跡装置２０は、カメラが固定している場合でも変動している場合でも、移動物体を追跡することができる。なおカメラ固定モードでは背景画像をオブジェクトに登録していないことにより、図４から図７に示すような処理を背景画像のオブジェクトに対して実行する必要がないために、移動物体追跡装置２０における処理量または負荷を軽減することができる。
【０１２２】
以降、オブジェクトマップ記憶部２６に記憶されているブロック毎の識別符号および動きベクトルを、「時空間ＭＲＦ（Ｍａｒｋｏｖ  Ｒａｎｄｏｍ  Ｆｉｅｌｄ）」と称して説明する。次に、上記図１２を用いて説明した動作とその結果について、図１３から図１９を用いて具体的に説明する。
【０１２３】
＜Ｓｎａｋｅｓ＞
まず、輪郭抽出部３０による画像から移動物体の輪郭を抽出について説明する。輪郭抽出部３０の構成のうち、まず、輪郭抽出処理部３０３による移動物体の輪郭を抽出する一例としての技術について詳述する。ここでは、輪郭を抽出する技術としてＳｎａｋｅｓ（文献１参照）を用いる場合について説明する。
【０１２４】
（文献１）Kass et.al “Snakes: Active contour models”, Proc. of 1st ICCV, pp.259-268, 1987
【０１２５】
最初に、このＳｎａｋｅｓの概要について説明する。一般にＳｎａｋｅｓは、画像平面（ｘ，  ｙ）上で媒介変数表現されたスプライン（制御点の集合）ｖ（ｓ）＝（ｘ（ｓ）、ｙ（ｓ））（０≦ｓ≦１）を、次式（４）で定義されるエネルギー関数を最小化するように変形し、エネルギーの極小状態としてその形状が決まる輪郭抽出のモデルである。
【０１２６】
【数１】
2010244207.tif 000003
【０１２７】
この式（４）の第一項Ｅｉｎｔは、内部エネルギーと呼ばれ、これにより、Ｓｎａｋｅｓのスプラインが凸型に滑らかに収縮する性質をもつ。理論上の定義は次式（５）で表され、式（５）における第一項によりスプラインが凸型に滑らかになり、第二項によりスプラインが収縮する性質をもつ。
【０１２８】
【数２】
2010244207.tif 000004
【０１２９】
次に、式（４）の第二項Ｅｉｍａｇｅは画像エネルギーと呼ばれ、スプライン全体として、エッジ（輪郭などの輝度の勾配が大きい箇所）上に存在する割合が大きいほど、その値が小さくなるという性質をもつ。本エネルギーは画像の輝度Ｉ（ｖ（ｓ））により次式（６）で定義する。今回、照度によらず安定して輪郭エッジを抽出するために、これまで我々が開発してきた照度不変フィルタ画像を画像エネルギーとして用いた。
【０１３０】
【数３】
2010244207.tif 000005
【０１３１】
ここで、照度不変フィルタ画像とは、画像変換部２２により上述した式１から式３により変換された画像のことである。
【０１３２】
そして、式（４）の第三項Ｅｃｏｎは外部エネルギーと言われ、Ｓｎａｋｅｓに外部から強制的に力を働かせる場合に用いる。このエネルギーは必要に応じて定義できる。今回は、内部エネルギーに用いられるＥｉｎｔの影響で抽出が困難であった凹形状の輪郭抽出用に提案された面積項（文献２参照）を外部エネルギーとして定義した。面積項Ｅａｒｅａは次式（７）で導出される（図１３参照）。
【０１３３】
【数４】
2010244207.tif 000006
【０１３４】
（文献２）荒木昭一, 横矢直和, 岩佐英彦, 竹村治雄:“複数物体の抽出を目的とした交差判定により分裂する動的輪郭モデル”, 電子情報通信学会論文誌(D-II)Vol.J79-DII, No.10,pp1704-1711(Oct,1996)
【０１３５】
図１４にＳｎａｋｅｓ処理結果を示す。まず、輪郭を抽出したい対象の周囲に、初期制御点を配置する（図１４（ａ））。次に、Ｓｎａｋｅｓは収縮を始め（図１４（ｂ））、最後に輪郭線付近で収縮が止まる（図１４（ｃ））。
【０１３６】
ここで、この図１４に示す初期制御点が、対象領域設定部３０１が設定した対象領域に対応する。
【０１３７】
＜局所領域におけるエッジ分布の解析＞
次に、局所領域におけるエッジ分布の解析について説明する。Ｓｎａｋｅｓは，エネルギー関数Ｅｓｎａｋｅｓを最小化するようにスプラインを変形し，極小状態をもってその探索を終えるアルゴリズムである。背景エッジが多く含まれる場合に初期制御点を輪郭から離れた場所に配置すると、スプラインがオブジェクトの輪郭線に収束する前に背景エッジに捉われ、エネルギーが極小状態になり、オブジェクトの輪郭線抽出に失敗してしまうことがある。
【０１３８】
そのため、初期制御点をある程度オブジェクトの輪郭付近に配置しなければならない。一方、時空間ＭＲＦで得られる人物の局所領域は、パンニング中は背景オブジェクトと人物オブジェクトの境界が曖昧になることが時折見受けられる。
【０１３９】
そこで、オブジェクトマップによって得られる人物オブジェクトの周辺矩形内におけるエッジ分布（照度不変フィルタ画像の２値分布）を解析し、人物領域を推定し、その周囲に初期制御点を配置することで、輪郭抽出の精度を向上する。エッジ分布の解析は、水平軸、鉛直軸にそれぞれ射影し、ヒストグラムを生成することで解析を行う（図１５参照）。
【０１４０】
次に、一例としてのエッジ分布解析の手順について説明する。エッジ分布解析は、次のＳＴＥＰ１からＳＴＥＰ３の手順により実行される。
【０１４１】
（ＳＴＥＰ１：エッジ分布の前処理）
エッジ画像をラベリングし、面積の小さいものをノイズとして除外する。
【０１４２】
（ＳＴＥＰ２：水平軸ヒストグラム解析）
ＳＴＥＰ１で得られたエッジ分布から水平軸ヒストグラムを生成する。人物は縦に連続する長いエッジを持つことから、縦方向の連続性の弱いエッジを除去した後、一度水平軸に正射影し、縦方向の強い分布から人物の水平領域を絞る。
【０１４３】
その後、絞られた領域内において、得られたエッジ分布を水平軸に射影し、ヒストグラムを生成する。そして、得られた水平軸ヒストグラムにおいてウインドウをスキャンし、連続して分布する領域を求めることで、水平成分における人物エッジの分布領域の推定を行う（図１５（ａ））。
【０１４４】
（ＳＴＥＰ３：鉛直軸ヒストグラム解析）
ＳＴＥＰ１で得られたエッジ分布から鉛直軸ヒストグラムを生成する。人物は横方向にもある程度長い連続エッジを持つことから、横方向の連続性の弱いエッジを除去した後、一度鉛直軸に射影し、横方向の分布から人物の鉛直領域を絞る。
【０１４５】
その後、絞られた領域内において、エッジ分布を鉛直軸に射影し、ヒストグラムを生成する。そして、得られた水平軸ヒストグラムにおいてウインドウをスキャンし、連続して分布する領域を求めることで、水平成分における人物エッジの分布領域の推定を行う（図１５（ｂ））。
【０１４６】
なお、このＳＴＥＰ３において、ＳＴＥＰ１で得られたエッジ分布から鉛直軸ヒストグラムを生成しているが、鉛直軸ヒストグラムは、ＳＴＥＰ２で狭められた局所領域内のエッジ分布から生成することもできる。
【０１４７】
以上のステップにより、エッジの分布情報を参照することで、より正確な人物の外接矩形領域を得ることができる（図１５（ｃ））。
【０１４８】
なお、ヒストグラム閾値（初期制御点）の設定方法として次のようにしてもよい。
まず、ヒストグラムの頻度値を２つのグループにクラスタリングする。クラスタリング方法はk-mean法（１次元）など、いずれの方法でもよい。これにより、高頻度クラスタと低頻度クラスタに分かれることになる。
【０１４９】
次に、画像の両端から内側へ探索して、初めて高頻度クラスタに属する頻度値に当たった場合、直前の低頻度の位置と当該高頻度の位置との間を境界とする。この場合、高頻度のさらに内側に低頻度のものがあったとしても問題ない。
【０１５０】
＜階層間協調アルゴリズム＞
ここで、時空間ＭＲＦとＳｎａｋｅｓとの階層間協調によるトラッキングの処理ステップを述べる。以降、時空間ＭＲＦとＳｎａｋｅｓとを相互に用いてオブジェクトマップを修正することを、階層間協調と称して説明する。
【０１５１】
まず、Ｓｎａｋｅｓによるオブジェクトマップの修正（オクルージョンなし）の場合、すなわち、図１２のステップＳ１２０２からＳ１２０５に対応する処理について説明する。
【０１５２】
ＳＴＥＰ１：時空間ＭＲＦの出力として、オブジェクトマップを受け取り、各オブジェクトにおける外接矩形領域の情報を得る。
【０１５３】
ＳＴＥＰ２：各オブジェクトにおいて、ＳＴＥＰ２で得られた局所領域においてエッジの分布解析を行い、オブジェクトの輪郭周辺にＳｎａｋｅｓの初期制御点を配置する。
【０１５４】
ＳＴＥＰ３：各オブジェクトにおいて、Ｓｎａｋｅｓを実行する。ＳＴＥＰ１で得られた外接矩形の大きさと比較し、スプラインが収縮しすぎてしまったオブジェクトに関してはオブジェクトマップを修正せず、それ以外のオブジェクトに対してはＳｎａｋｅｓの処理結果を反映し、オブジェクトマップを修正する。
【０１５５】
次に、Ｓｎａｋｅｓによるオブジェクトマップの修正（オクルージョンあり）の場合、すなわち、図１２のステップＳ１２１２からＳ１２１５に対応する処理について説明する。
【０１５６】
ＳＴＥＰ１：時空間ＭＲＦの出力として、オブジェクトマップを受け取り、各オブジェクトにおける外接矩形領域の情報を得る。オクルージョンが検知された（他のオブジェクトの外接矩形と重複領域をもつ）オブジェクトに対しては、オクルージョンし合っているものを一つのグループとして外接矩形領域を求める。
【０１５７】
ＳＴＥＰ２：ＳＴＥＰ２で得られた局所領域においてエッジの分布解析を行い、オブジェクトの輪郭周辺にＳｎａｋｅｓの初期制御点を配置する。
【０１５８】
ＳＴＥＰ３：Ｓｎａｋｅｓを実行する。ＳＴＥＰ１で得られた外接矩形の大きさと比較し、スプラインが収縮しすぎてしまったオブジェクトに関してはオブジェクトマップを修正せず、それ以外のオブジェクトに対してはＳｎａｋｅｓの処理結果を反映し、オブジェクトマップを修正する。その際、Ｓｎａｋｅｓで抽出された輪郭に囲まれた内部領域の各オブジェクトのＩＤ番号のラベリングにおいては、時空間ＭＲＦモデルの出力結果によりラベリングを行なう。ただし、当該輪郭内部領域において、背景オブジェクトと認識されたブロックについては、ラベルを背景オブジェクトから不定へ変更することで、次フレームにおいて時空間ＭＲＦモデルによるＩＤ割り当てが行われる。あるいは、現フレームにおいて、当該ブロックのみ時空間ＭＲＦモデルによるＩＤ割り当てを再度行なうことも可能である。
【０１５９】
図１６にＳｎａｋｅｓによるオブジェクトマップの修正例を示す。図１６（１−ａ）と（１−ｂ）はオクルージョンのない場合の例、図１６（２−ａ）と（２−ｂ）はオクルージョン時の例である。
【０１６０】
図１６（２−ａ）と（２−ｂ）では、一度ＩＤ番号６とＩＤ番号７の人物を一つのグループとし、Ｓｎａｋｅｓによりグループの輪郭線（背景と人物との境界）を求めている。そして、グループ内の領域分割は、時空間ＭＲＦによる出力情報を反映している。
【０１６１】
＜Ｓｎａｋｅｓによるオブジェクトマップの修正＞
次に図１７と図１８とを用いて、カメラ１０が変動する場合における階層間協調アルゴリズムによる効果を示す。ここでは図１７と図１８とに示すように、同じシーンの同じフレームに対して、階層間協調なしと階層間協調ありとの場合における移動物体検出の処理結果を対比して説明する。
【０１６２】
図１７（ａ）は階層間協調なしの処理結果であり、図１７（ｂ）はそのオブジェクトマップである。図１８（ａ）は階層間協調ありの処理結果であり、図１８（ｂ）はそのオブジェクトマップである。
【０１６３】
カメラのパンニングはフレーム番号８０の直後から始まる。階層間協調アルゴリズムを行わない場合、２０フレーム超のトラッキングに成功しているものの、人物オブジェクトと背景オブジェクトとの境界は、その徐々に曖昧になってしまっている（フレーム９５およびフレーム１０７）。
【０１６４】
その一方で、Ｓｎａｋｅｓにより協調させた場合、時空間ＭＲＦの出力を参照することでオブジェクト間の境界を補正することができており、長時間のトラッキングが可能となることがわかる。また、ズーミングした場合においても、階層間協調アルゴリズムの効果があることがわかる（フレーム１４２およびフレーム１５３の右２列）。
【０１６５】
図１９はオクルージョンが発生している場合に、カメラ１０が変動した場合に移動物体を検出した結果である。図１９（ａ）ではオクルージョンが発生しておらず、その後、図１９（ｂ）でオクルージョンが発生している。いずれの場合においても、本実施形態による移動物体追跡装置２０は、移動物体を追跡できていることがわかる。
【０１６６】
以上説明したように、本実施形態による移動物体追跡装置２０は、抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号および動きベクトルを補正することにより、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる。
【０１６７】
なお、上記の実施形態の説明においては、オブジェクトマップ記憶部に記憶されているブロックの識別符号とともに動きベクトルを補正するものとして説明したが、識別符号のみを補正してもよい。このようにしても、同様に、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる。
【０１６８】
なお、上述した移動物体変動量検出部３３は、オブジェクトマップ記憶部２６に記憶されている移動物体のサイズまたは移動量の変動量を、識別符号または動きベクトルに基づいて単位時間毎に検出する。
【０１６９】
そして制御部３４（第２の制御部）は、移動物体変動量検出部３３により検出された単位時間毎の移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、輪郭抽出部３０を制御して輪郭を抽出させ、補正部３１を制御してオブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正させる。
【０１７０】
このようにオブジェクトマップ記憶部２６に記憶されている移動物体のサイズまたは移動量の変動量も応じて、オブジェクトマップ記憶部２６に記憶されているブロックの識別符号および動きベクトルを補正させてもよい。
【０１７１】
これにより制御部３４が、単に予め定められている所定期間毎にまたは所定フレーム毎にオブジェクトマップを補正する場合に対比して、移動物体を検出することに失敗しそうなタイミングで、オブジェクトマップを補正することが可能となる。そのために、移動物体をより的確に検出して追跡することが可能となる。
【０１７２】
なお上述した図２のフレームバッファメモリ３、画像メモリ２１またはオブジェクトマップ記憶部２６などの記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記憶媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【０１７３】
また図２における画像変換部２２、背景生成部２４、ＩＤ生成／消滅部２５、移動物体追跡部２７、輪郭抽出部３０、補正部３１、判定部３２、移動物体変動量検出部３３、制御部３４またはオクルージョン検出部３５という処理部は、専用のハードウェアにより実現されるものであってもよく、また、この処理部はメモリおよびＣＰＵ（中央演算装置）により構成され、処理部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【０１７４】
また、図１における画像変換部２２、背景生成部２４、ＩＤ生成／消滅部２５、移動物体追跡部２７、輪郭抽出部３０、補正部３１、判定部３２、移動物体変動量検出部３３、制御部３４またはオクルージョン検出部３５という処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、この処理部による処理を実行してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１７５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１７６】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１７７】
１０…カメラ、２０…移動物体追跡装置、２１…画像メモリ、２２…画像変換部、２３…フレームバッファメモリ、２４…背景画像生成部、２５…ＩＤ生成／消滅部、２６…オブジェクトマップ記憶部、２７…移動物体追跡部、３０…輪郭抽出部、３１…補正部、３２…判定部、３３…移動物体変動量検出部、３４…制御部、３５…オクルージョン検出部、３０１…対象領域設定部、３０２…対象領域補正部、３０３…輪郭抽出処理部
【図１】
2010244207.tif 000007
【図２】
2010244207.tif 000008
【図３】
2010244207.tif 000009
【図４】
2010244207.tif 000010
【図５】
2010244207.tif 000011
【図６】
2010244207.tif 000012
【図７】
2010244207.tif 000013
【図８】
2010244207.tif 000014
【図９】
2010244207.tif 000015
【図１０】
2010244207.tif 000016
【図１１】
2010244207.tif 000017
【図１２】
2010244207.tif 000018
【図１３】
2010244207.tif 000019
【図１４】
2010244207.tif 000020
【図１５】
2010244207.tif 000021
【図１６】
2010244207.tif 000022
【図１７】
2010244207.tif 000023
【図１８】
2010244207.tif 000024
【図１９】
2010244207.tif 000025
【図２０】
2010244207.tif 000026