移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラム
【課題】背景が変動する画像からでも、画像中の移動物体を正確に検出することができる移動物体追跡装置を提供する。
【解決手段】移動物体追跡装置が、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が移動物体に対応するブロックに付けられて記憶されているオブジェクトマップ記憶部と、時系列画像の画像から移動物体の輪郭を抽出する輪郭抽出部と、輪郭抽出部が抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号を補正する補正部と、を有する。
【解決手段】移動物体追跡装置が、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が移動物体に対応するブロックに付けられて記憶されているオブジェクトマップ記憶部と、時系列画像の画像から移動物体の輪郭を抽出する輪郭抽出部と、輪郭抽出部が抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号を補正する補正部と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列画像を画像処理して画像中の移動物体(車、自転車、動物等の移動可能なもの)を追跡する移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラムに関する。
【背景技術】
【0002】
近年、カメラで撮像された画像を画像処理して、画像中の移動物体を正確に検出する技術が求められている。たとえば、交通事故の早期発見は、迅速な救助活動により人命救助の成功率を高めるだけでなく、警察の実地検分などを迅速にすることにより事故渋滞を緩和することもできるので、様々な交通事故の認識自動化が期待されている。このように交通事故の認識率を高めるためには、カメラで撮像された画像を画像処理して移動物体を正確に検出する必要がある。
【0003】
図20は、高速道路の中央線上方に設置されたカメラで撮像された時刻t=1〜4の画像を模式的に示す。
【0004】
画像上で車両同士が頻繁に重なるので、画像処理により各車両を追跡するのが困難になる。この問題を解決するには、道路に沿って複数台のカメラを設置し、それらの画像を総合的に画像処理する必要がある。
【0005】
しかし、カメラ及び画像処理装置を複数台備える必要があるので、コスト高になる。また、各カメラの撮影画像を関係付けて総合的に画像処理しなければならないので、画像処理が複雑になる。
【0006】
そこで、本願発明者らは、次のように時間を遡って移動物体を検出する方法でこの問題を解決した(特許文献1および特許文献2参照。)。
【0007】
たとえば、時刻t=1〜4の時系列画像を一時記憶しておき、時刻t=4から出発して車両M1とM2を識別し、車両M1とM2の動きベクトルを求め、この動きベクトルで時刻t=4の画像中の車両M1とM2を移動させて、車両M1とM2が識別されている時刻t=3の画像を想定し、これと時刻t=3の実際の画像との相関関係から、時刻t=3の画像中の車両M1とM2を識別する。
【0008】
次に、時刻t=3と時刻t=2との画像について同様の画像処理により、時刻t=2の画像中の車両M1とM2を識別する。次に、時刻t=2と時刻t=1の画像について同様の画像処理により、時刻t=1の画像中の車両M1とM2を識別する。
【0009】
このような画像処理により、1台のカメラで車両M1とM2とを追跡することが可能となる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2002−133421号公報
【特許文献2】特開2004−207786号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
このような従来技術においては、カメラが固定されている状態で撮像された画像、すなわち、背景が固定されている画像を画像処理して、画像中の移動物体を正確に検出していた。
【0012】
これに対して、カメラをパンニングまたはズーミングした場合には、それまで固定されていた背景画像も、カメラをパンニングまたはズーミングに応じて変動してしまう。このように背景が変動する画像を画像処理した場合には、移動物体の画像領域と背景画像との境界が明確でなくなり、画像中の移動物体を正確に検出できないという問題があった。
【0013】
本発明は、このような事情に鑑みてなされたもので、その目的は、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラムを提供することにある。
【課題を解決するための手段】
【0014】
この発明は上述した課題を解決するためになされたもので、請求項1に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部と、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出部と、前記輪郭抽出部が抽出した輪郭に基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する補正部と、を有することを特徴とする移動物体追跡装置である。
【0015】
請求項2に記載の発明は、前記輪郭抽出部が、前記オブジェクトマップ記憶部に記憶されている前記移動物体のブロックに対応する画像領域に基づいて、前記移動物体の輪郭を抽出する対象領域を設定する対象領域設定部と、前記対象領域設定部が設定した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出処理部と、を有することを特徴とする請求項1に記載の移動物体追跡装置である。
【0016】
請求項3に記載の発明は、前記輪郭抽出部が、前記時系列画像の画像をエッジ抽出処理した画像に対して、前記対象領域設定部が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて前記対象領域設定部が設定した対象領域を前記座標軸毎に補正する対象領域補正部、を有し、前記輪郭抽出処理部が、前記対象領域補正部が補正した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する、ことを特徴とする請求項2に記載の移動物体追跡装置である。
【0017】
請求項4に記載の発明は、前記輪郭抽出部が、オクルージョンが発生している複数の移動物体を一体の移動物体とし、前記時系列画像の画像から前記一体とした移動物体の輪郭を抽出する、ことを特徴とする請求項1から請求項3のいずれかに記載の移動物体追跡装置である。
【0018】
請求項5に記載の発明は、前記補正部は、前記オブジェクトマップ記憶部に記憶されている前記オクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、前記輪郭抽出部により前記オクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する、ことを特徴とする請求項4に記載の移動物体追跡装置である。
【0019】
請求項6に記載の発明は、背景画像が変動しているか否かを判定する判定部と、前記判定部が背景画像が変動していると判定した場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第1の制御部と、を有することを特徴とする請求項1から請求項5に記載の移動物体追跡装置である。
【0020】
請求項7に記載の発明は、前記オブジェクトマップ記憶部に記憶されている移動物体のサイズまたは移動量の変動量を、前記識別符号に基づいて単位時間毎に検出する移動物体変動量検出部と、前記移動物体変動量検出部により検出された単位時間毎の前記移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第2の制御部と、を有することを特徴とする請求項1から請求項6に記載の移動物体追跡装置である。
【0021】
請求項8に記載の発明は、前記オブジェクトマップ記憶部には、前記識別符号が前記移動物体に対応する前記ブロックに付けられているとともに、前記ブロックに対応する前記移動物体の動きベクトルが前記ブロックに付けられて記憶されており、前記時系列画像を画像処理した結果に基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する移動物体追跡部、を有し、前記移動物体追跡部は、前記時系列画像のうち連続するN画像(N≧2)の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順と、前記N画像の各々において、第1識別符号が付けられたブロック群である第1オブジェクトと第2識別符号が付けられたブロック群である第2オブジェクトとが接し、かつ、前記N画像について時間的に隣り合う画像の第1オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順と、前記判定手順で肯定と判定された後に、時間を遡って前記第1オブジェクトと前記第2オブジェクトとを追跡する追跡手順と、前記追跡手順により時間を遡って追跡された前記第1オブジェクトと前記第2オブジェクトとに基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順と、を実行することを特徴とする請求項1から請求項7に記載の移動物体追跡装置である。
【0022】
請求項9に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置において用いられる画像上移動物体追跡方法であって、輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順と、補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順と、を有することを特徴とする移動物体追跡方法である。
【0023】
請求項10に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置としてのコンピュータに、輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順を実行し、補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順を実行する、ようにさせるための移動物体追跡プログラムである。
【発明の効果】
【0024】
この本発明によれば、抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号を補正することにより、背景が変動する画像からでも、画像中の移動物体を正確に検出することができるという効果を奏する。
【図面の簡単な説明】
【0025】
【図1】交差点及びこれに配置された本発明の移動物体追跡装置を用いた移動物体追跡システムの概略を示すブロック図である。
【図2】図1の移動物体追跡装置の一例としての構成を示すブロック図である。
【図3】フレーム画像内の、交差点への4つの入口及び交差点からの4つの出口にそれぞれ設定されたスリット及びブロックに付与された移動物体のIDを示す説明図である。
【図4】(A)及び(B)はそれぞれ時刻t−1及びtの画像をブロック境界線とともに模式的に示す図である。
【図5】(A)及び(B)はそれぞれ時刻t−1及びtの画像を画素境界線とともに模式的に示す図である。
【図6】(A)及び(B)はそれぞれ時刻t−1及びtの画像を、ブロックに付与された動きベクトルとともに模式的に示す図である。
【図7】(A)及び(B)はそれぞれ時刻t−1及びtのオブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図8】未定動きベクトルの推定方法を示すフローチャートである。
【図9】(A)及び(B)は図8の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図10】(A)〜(C)は図8の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図11】移動物体追跡装置20におけるモードの状態遷移を示す状態遷移図である。
【図12】図11の補正モードにおける移動物体追跡装置20の動作を示すフローチャート図である。
【図13】面積項Eareaを示す説明図である。
【図14】一例としてのSnakes処理結果を示す説明図である。
【図15】一例としてのエッジ分布およびヒストグラムの生成を示す説明図である。
【図16】Snakesによるオブジェクトマップの修正例を示す説明図である。
【図17】カメラ10が変動する場合において、階層間協調アルゴリズムが無い場合における移動物体検出の結果を示す結果図である。
【図18】カメラ10が変動する場合において、階層間協調アルゴリズムがある場合における移動物体検出の結果を示す結果図である。
【図19】カメラ10が変動する場合において、オクルージョンが発生している場合における移動物体検出の結果を示す結果図である。
【図20】高速道路の中央線上方に設置されたカメラで撮像された時刻t=1〜4の画像を模式的に示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による移動物体追跡装置20を用いた移動物体追跡システムの構成を示す概略ブロック図である。この移動物体追跡システムは、一例として図1に示すように、交差点を撮像して画像信号を出力する電子カメラ10と、その画像を処理して移動物体を追跡する移動物体追跡装置20とを備えている。
【0027】
電子カメラ10で撮影された時系列画像は、例えば12フレーム/秒のレートで、移動物体追跡装置20が有する後述する画像メモリ21に格納され、最も古いフレームが新しいフレーム画像で書き換えられる。この電子カメラ10は、パンニングまたはズーミングされ、撮影する画像領域を変更することができる。この電子カメラ10に対するパンニングまたはズーミングは、たとえば、移動物体追跡装置20が制御してもよいし、当該移動物体追跡システムを制御する上位制御装置が制御してもよい。
【0028】
移動物体追跡装置20は、電子カメラ10で撮影された時系列画像(後述する画像メモリ21に格納された時系列画像)を画像処理して、時系列画像を画像処理して画像中の移動物体を検出する。
【0029】
次に図2を用いて、移動物体追跡装置20の一例としての構成について説明する。
【0030】
画像変換部22は、画像メモリ21内の各フレーム画像について、これをフレームバッファメモリ23にコピーし、コピーされた画像のデータを用いて画像メモリ21内の対応するフレーム画像を空間的差分フレーム画像に変換する。この変換は2段階で行われる。
【0031】
元のフレーム画像の第i行第j列の画素値(輝度値)をG(i,j)とすると、第1段階における変換後の第i行第j列の画素値H(i,j)は、次式で表される。
【0032】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)−G(i,j)| ・・・(式1)
【0033】
ここにΣneighberpixcelsは、cを自然数とすると、di=−c〜c及びdj=−c〜cにわたっての総和を意味し、例えばc=1のとき、第i行第j列の画素と隣り合う8画素にわたる総和である。照度が変化すると、画素値G(i,j)とその付近の画素値G(i+di,j+dj)が同様に変化するので、H(i,j)の画像は、照度の変化に対し不変である。
【0034】
ここで、隣り合う画素の差分の絶対値は、一般に画素値が大きいほど大きい。移動物体追跡の成功率を高めるには、画素値が小さくて差分が小さい場合も、画素値及び差分が大きい場合とほぼ等価にエッジ情報を取得した方が好ましい。そこで、H(i,j)を次のように規格化する。
【0035】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)−G(i,j)|/(Gi,j,max/Gmax) ・・・(式2)
【0036】
ここに、Gi,j,maxは、H(i,j)の計算に用いた元の画素の値の最大値であり、例えばc=1の場合、第i行第j列の画素を中心とする3×3画素の値の最大値であり、Gmaxは画素値G(i,j)の取りうる最大値、例えば画素値が8ビットで表される場合、255である。以下、c=1、Gmax=255である場合について説明する。
【0037】
H(i,j)の取りうる最大値は、移動物体毎に異なる。例えばG(i,j)=Gmaxで第i行第j列の画素に隣り合う8画素の値がいずれも0で有る場合、H(i,j)=8Gmaxとなって、H(i,j)を8ビットで表すことができない。
【0038】
一方、移動物体のエッジ部のH(i,j)の値のヒストグラムを作成してみると、頻度の大部分がH=50〜110の範囲に含まれることがわかった。すなわち、Hの値が約110より大きくなるほど移動物体追跡のためのエッジ情報の数が少ないので、重要度が低い。
【0039】
したがって、Hの値の大きい部分を抑圧して変換画素のビット長を短くすることにより、画像処理を高速に行なったほうが好ましい。そこで、第2段階として、このH(i,j)を、シグモイド関数を用いた次式により、I(i,j)に変換する。
【0040】
I=Gmax/{1+exp〔−β(H−α)〕} ・・・(式3)
【0041】
シグモイド関数はH=αの付近で線形性が良い。そこで、閾値αの値を、エッジ情報を持つHの度数分布の最頻値、例えば80にする。
【0042】
画像変換部22は、上式(2)及び(3)に基づいて、画素値G(i,j)の画像を画素値I(i,j)の空間的差分フレーム画像に変換し、これを画像メモリ21に格納する。
【0043】
背景画像生成部24、ID生成/消滅部25及び移動物体追跡部27は、画像メモリ21中の空間的差分フレーム画像に基づいて処理を行う。以下においては、空間的差分フレーム画像を単にフレーム画像と称す。
【0044】
背景画像生成部24は、記憶部と処理部とを備え、処理部は、画像メモリ21をアクセスし、例えば過去10分間の全てのフレーム画像の対応する画素について画素値のヒストグラムを作成し、その最頻値(モード)をその画素の画素値とする画像を、移動物体が存在しない背景画像として生成し、これを該記憶部に格納する。背景画像は、この処理が定期的に行われて更新される。
【0045】
ID生成/消滅部25には、図3に示す如くフレーム画像内の、交差点への4つの入口及び交差点からの4つの出口にそれぞれ配置されるスリットEN1〜EN4及びEX1〜EX4の位置及びサイズのデータが予め設定されている。ID生成/消滅部25は、画像メモリ21から入口スリットEN1〜EN4内の画像データを読み込み、これら入口スリット内に移動物体が存在するかどうかをブロック単位で判定する。図3中のメッシュの升目はブロックであり、1ブロックは例えば8×8画素であり、1フレームが480×640画素の場合、1フレームは60×80ブロックに分割される。あるブロックに移動物体が存在するかどうかは、このブロック内の各画素と背景画像の対応する画素との差の絶対値の総和が所定値以上であるかどうかにより判定する。この判定は、移動物体追跡部27においても行われる。
【0046】
ID生成/消滅部25は、ブロック内に移動物体が存在すると判定すると、このブロックに新たなオブジェクト識別符号(ID)を付与する。ID生成/消滅部25は、ID付与済ブロックと隣接しているブロックに移動物体が存在すると判定すると、この隣接ブロックに付与済ブロックと同一のIDを付与する。このID付与済ブロックは入口スリットに隣接しているブロックも含まれる。例えば図3中の入口スリットEN1内のブロックにはID=1が付与される。
【0047】
IDの付与は、オブジェクトマップ記憶部26内の対応するブロックに対して行われる。オブジェクトマップ記憶部26は、上述の場合60×80ブロックのオブジェクトマップを記憶するためのものであり、各ブロックには、IDが付与されているかどうかのフラグ、IDが付与されている場合にはその番号と後述のブロック動きベクトルとがブロック情報として付与される。なお、該フラグを用いずに、ID=0のときIDが付与されていないと判定してもよい。また、IDの最上位ビットをフラグとしてもよい。
【0048】
入口スリットを通過したクラスタに対しては、移動物体追跡部27により、移動方向のブロックに対するIDの付与及び移動と反対方向のブロックに対するIDの消滅、すなわちクラスタの追跡処理が行われる。移動物体追跡部27による追跡処理は、各クラスタについて出口スリット内まで行われる。
【0049】
ID生成/消滅部25はさらに、オブジェクトマップ記憶部26の内容に基づき出口スリットEX1〜EX4内のブロックにIDが付与されているかどうかを調べ、付与されていれば、出口スリットをクラスタが通過したときにそのIDを消滅させる。例えば図3中の出口スリットEX1内のブロックにID=3が付されている状態から、IDが付されない状態に変化したときに、ID=3を消滅させる。消滅IDは、次の生成IDとして用いることができる。
【0050】
移動物体追跡部27は、オブジェクトマップ記憶部26に格納されている時刻(t−1)のオブジェクトマップと、画像メモリ21に格納されている時刻(t−1)及びtのフレーム画像とに基づいて、時刻tのオブジェクトマップをオブジェクトマップ記憶部26内に作成する。以下、これを説明する。
【0051】
図4〜図7はいずれも、時刻t−1とtの画像を模式的に示す。図4、図6及び図7中の点線はブロックの境界線であり、図5中の点線は画素の境界線である。
【0052】
第i行第j列のブロックをB(i,j)、時刻tでの第i行第j列のブロックをB(t:i,j)と表記する。ブロックB(t−1:1,4)の動きベクトルがMVであるとする。ブロックB(t−1:1,4)をMV移動させた領域に最も対応する、時刻tのブロックを見つける。図4(B)の場合、このブロックはB(t:1,5)である。図5に示すように、ブロックB(t:1,5)の画像と、時刻t−1のブロックサイズの領域AXの画像との相関度を、所定範囲AM内で領域AXを1画素移動させる毎に求める(ブロックマッチング)。
【0053】
範囲AMはブロックよりも大きく、その一辺は例えばブロックの一辺の画素数の1.5倍である。範囲AMの中心は、ブロックB(t:1,5)の中心を略−MV移動させた位置にある画素である。
【0054】
相関度は、例えば時空的テクスチャ相関度であり、ブロックB(t:1,5)と領域AXの対応する画素値の差の絶対値の総和である評価値UDが小さいほど、大きいとする。
【0055】
範囲AM内で相関度が最大になる領域AXを求め、この領域の中心を始点としブロックB(1,5)の中心を終点とするベクトルを、ブロックB(t:1,5)の動きベクトルと決定する。また、相関度が最大になる領域AXに最も近い、時刻t−1のブロックのIDを、ブロックB(t:1,5)のIDと決定する。
【0056】
移動物体追跡部27は、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与する。これにより、1つのクラスタであっても、互いに異なるIDをもつ複数のオブジェクト(移動物体)に分割される。図6では、オブジェクト間の境界を太線で示している。
【0057】
オブジェクトマップ上には移動物体の画像が存在しないが、図6では理解を容易にするためにオブジェクトマップ上に移動物体が模式的に描かれている。図7は、オブジェクトマップにオブジェクトの境界を太線で示したものであり、図6に対応している。
【0058】
例えば図3の入口スリットEN1で1つのクラスタが検出され、複数のオブジェクトに分割されず、その後、時刻t1に上記のようにして複数のオブジェクトに分割された場合、時刻t1から時間を遡って、時間が正方向の場合と同様にオブジェクトマップを求めることにより、時刻t1よりも前のオブジェクトマップに対し、複数のオブジェクトに分割する。これにより、分割できなかったオブジェクトを分割して認識することができ、個々のオブジェクトを追跡することができる。
【0059】
特許文献1では、1つのクラスタが複数のクラスタに分離してから時間を遡って個々のオブジェクトを追跡していたが、本実施形態によれば、複数のクラスタに分離する前に、例えば図20のt=4より前のt=2から、時間を遡って個々のオブジェクトを追跡することができるので、画像メモリ21の記憶容量を低減でき、また、画像処理量を低減してCPUの負担を軽くすることができる。
【0060】
上記説明では、クラスタ内のブロックの動きベクトルが求まる場合について説明したが、図9(A)に示すように、動きベクトルが求まらないブロックが存在する場合、その位置によっては該ブロックがどちらのオブジェクトに属するのか不明である。ある移動物体に属するブロック内の各画素の色がほぼ同一であった場合、上述のブロックマッチングにより動きベクトルを決定することができない。例えば、画像(空間的差分フレーム画像)を2値画像に変換し、ブロック内に‘1’の画素の数が所定値以下であれば、上記方法により動きベクトルを求めるのに適しないブロックと判定する。
【0061】
このようなブロックの動きベクトルを、図8に示す方法で推定する。
【0062】
(S1)未定の動きベクトルが存在すればステップS2へ進み、そうでなければ未定動きベクトル推定処理を終了する。
【0063】
(S2)動きベクトルが未定のブロックB(i,j)の回りの8個のブロックのうち、決定されている動きベクトルMV1〜MVnを取り出す。
【0064】
(S3)ステップS2で決定済動きベクトルが存在すればステップS4へ進み、そうでなければステップS6へ進む。
【0065】
(S4)動きベクトルMV1〜MVnを、ベクトル間の差の絶対値が所定値以内のグループに分ける。
【0066】
(S5))動きベクトル数が最大のグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。動きベクトル数が最大のグループが複数存在する場合、任意の1つのグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。次にステップS1へ戻る。
【0067】
なお、同一グループの動きベクトルは互いに略等しいので、該同一グループの動きベクトルの任意の1つをブロックB(i,j)の動きベクトルと推定してもよい。
【0068】
(S6)ステップS5で推定された動きベクトルを、決定された動きベクトルとみなし、ステップS1へ戻る。
【0069】
このような処理により、未定動きベクトルを一意的に推定することができる。
【0070】
次に具体例を説明する。図9(A)において、第i行第j列のブロックB(i,j)の動きベクトルをMV(i,j)と表記する。図9(A)では、ブロックB(2,2)、B(2,4)及びB(3,3)の動きベクトルが未定である。
【0071】
ブロックB(2,2)の回りのブロックの動きベクトルは、MV(2,1)、MV(3,1)、MV(3,2)及びMV(2,3)のグループと、MV(1,2)及びMV(1,3)のグループに分けられるので、前者のグループを選択し、
MV(2,2)=(MV(2,1)+MV(3,1)+MV(3,2)+MV(2,3))/4
と推定する。
【0072】
ブロックB(2,4)の回りのブロックの動きベクトルは、MV(2,3)、MV(3,4)及びMV(3,5)のグループと、MV(1,3)、MV(1,4)、MV(1,5)及びMV(2,5)のグループに分けられるので、後者のグループを選択し、
MV(2,4)=(MV(1,3)+MV(1,4)+MV(1,5)+MV(2,5))/4
と推定する。
【0073】
ブロックB(3,3)の回りのブロックの動きベクトルは、MV(2,3)、MV(3,2)、MV(4,2)、MV(4,4)及びMV(3,4)の1グループであるので、
MV(3,3)=(MV(2,3)+MV(3,2)+MV(4,2)+MV(4,4)+MV(3,4))/5
と推定する。
【0074】
このようにして、図9(B)に示すようなオブジェクトマップが生成される。図9(B)では、オブジェクトの境界を太線で示している。
【0075】
図10(A)のように未定動きベクトルの数が多い場合であっても、ステップS3で否定判定されるまで、ステップS1〜S5を繰り返すと、一意的に動きベクトルが推定されて図10(B)のようになる。次に、ステップS6で推定動きベクトルを、決定された動きベクトルとみなして、再度ステップS1〜S5を実行することにより、ブロックB(3,4)の動きベクトルが一意的に推定されて、図10(C)のようになる。次に、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与することにより、1つのクラスタが、互いに異なるIDをもつ複数のオブジェクトに分割される。
【0076】
なお、移動物体追跡部27は、オブジェクトマップ記憶部26に格納されているオブジェクトマップの時系列を、追跡結果として不図示のハードディスクに格納する。
【0077】
上述したような処理により、オブジェクトマップ記憶部26には、時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が移動物体に対応するブロックに付けられているとともに、ブロックに対応する移動物体の動きベクトルがブロックに付けられて記憶されている。
【0078】
そして移動物体追跡部27は、上述したように時系列画像を画像処理した結果に基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号と動きベクトルとを更新する。具体的には、移動物体追跡部27は、次の(1)から(4)の手順により、オブジェクトマップ記憶部26に記憶されているブロックの識別符号と動きベクトルとを更新する。
【0079】
(1)時系列画像のうち連続するN画像(N≧2)の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順。
【0080】
(2)N画像の各々において、第1識別符号が付けられたブロック群である第1オブジェクトと第2識別符号が付けられたブロック群である第2オブジェクトとが接し、かつ、N画像について時間的に隣り合う画像の第1オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順。
【0081】
(3)判定手順で肯定と判定された後に、時間を遡って第1オブジェクトと第2オブジェクトとを追跡する追跡手順。
【0082】
(4)追跡手順により時間を遡って追跡された第1オブジェクトと第2オブジェクトとに基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順。
【0083】
輪郭抽出部30は、時系列画像の画像から移動物体の輪郭を抽出する。また、この輪郭抽出部30は、オクルージョンが発生している複数の移動物体を一体の移動物体とし、時系列画像の画像から一体とした移動物体の輪郭を抽出する。
【0084】
この輪郭抽出部30は、対象領域設定部301と、対象領域補正部302と、輪郭抽出処理部303とを、有している。
【0085】
対象領域設定部301は、オブジェクトマップ記憶部26に記憶されている移動物体のブロックに対応する画像領域に基づいて、移動物体の輪郭を抽出する対象領域を設定する。
【0086】
輪郭抽出処理部303は、対象領域設定部301が設定した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出する。
【0087】
対象領域補正部302は、時系列画像の画像をエッジ抽出処理した画像に対して、対象領域設定部301が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて対象領域設定部301が設定した対象領域を座標軸毎に補正する。
【0088】
そして上述した輪郭抽出処理部303は、対象領域補正部302が補正した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出してもよい。
【0089】
補正部31は、輪郭抽出部30の輪郭抽出処理部303が抽出した輪郭に基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する。
【0090】
また、この補正部31は、オブジェクトマップ記憶部26に記憶されているオクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、輪郭抽出部30によりオクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する。
【0091】
判定部32は、背景画像が変動しているか否かを判定する。たとえば判定部32は、カメラ10がパンニングまたはズーミングされたことを示す信号がカメラ10から入力され、この信号に基づいて、背景画像が変動しているか否かを判定する。
【0092】
または判定部32は、背景画像生成部24が生成した背景画像と、カメラ10から入力される画像とを比較して、背景画像が変動しているか否かを判定してもよい。または、背景となる領域に予めマーカが埋め込まれており、判定部32は、カメラ10から入力される画像に含まれているマーカの画像における位置の変動を検出することにより、背景画像が変動しているか否かを判定してもよい。
【0093】
制御部34(第1の制御部)は、判定部32が背景画像が変動していると判定した場合に、たとえば予め定められている所定期間毎にまたは所定フレーム毎に、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる。
【0094】
移動物体変動量検出部33については、後述する。
【0095】
<背景ブロック>
上記の説明においては、ブロック単位で背景画像と比較することにより、オブジェクトが存在するかどうかを調べているので、背景画像を特別扱いしなければならない。また、例えば過去10分間の撮影画像に基づいて背景画像を生成しているので、カメラが揺れた場合には、この揺れを背景画像に反映させることができない。
【0096】
そこで、背景画像もオブジェクトとみなしてオブジェクトマップを作成してもよい。オブジェクトマップ生成方法は、背景画像と比較してブロックに移動物体が存在するかどうかを判定する点のみが異なる。背景画像もオブジェクトとみなすので、全てのブロックについて、ブロックマッチングを行うことによりIDを付与しMVを決定する。
【0097】
なお、この背景画像には、背景画像に対して予め定められているIDを付与するようにしてもよい。この予め定められているIDにより背景画像と、移動物体とが識別しやすくなる。
【0098】
このように、背景画像を1つのブロックとして、背景画像に対してIDを付与するようにしても、背景画像と移動物体との間で図4から図7に示したようにブロックの属する画像を判定することが可能である。
【0099】
このように、背景画像を1つのブロックとすることにより、カメラがパンニングまたはズーミングされたことに応じて背景画像が変動する場合においても、背景画像が固定されていた場合と同様に処理できるようになる。
【0100】
<移動物体追跡装置20に動作>
次に図11と図12とを用いて、移動物体追跡装置20の動作ついて説明する。まず図11を用いて、移動物体追跡装置20に動作モードについて説明する。
【0101】
まず、移動物体追跡装置20は、カメラ固定モードの状態にあるとする。このカメラ固定モードにおいては、背景画像はオブジェクトとしてのIDが付与されることなしに、背景画像生成部24により生成されている画像を背景画像として用いている。これはカメラが固定されているため、背景画像に変動がないためである。
【0102】
このカメラ固定モードの状態にある場合には、背景画像が固定されているために、移動物体追跡部27により移動物体を識別されている。
【0103】
次にカメラがパンニングまたはズーミングされたことに応じて、判定部32が、背景画像が変動していることを判定する。この判定に応じて制御部34が、カメラ固定モードから、カメラ変動モードに遷移させるとともに(ステップS1)、背景画像をオブジェクトに登録してIDを付与する。
【0104】
カメラ変動モードにおいて、予め定められている所定期間毎にまたは所定フレーム毎に、制御部34は、補正モードに遷移させる(ステップS2)。この補正モードにおいて、制御部34は、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる。
【0105】
制御部34は、補正モードにおいて補正が完了すると、補正モードからカメラ変動モードに遷移させる(ステップS3)。
【0106】
その後、カメラ10が変動している期間においては、制御部34は、カメラ変動モードと補正モードとを交互に遷移させる。
【0107】
その後、カメラ10の変動が停止したことを判定部32が判定したことに応じて、制御部34は、背景画像に付与されているIDを削除し、背景画像生成部24により生成されている画像を背景画像として用いる。
【0108】
なお、背景画像生成部24により背景画像が生成されるには、たとえば10分などの所定の期間を要する。そのため、背景画像生成部24により背景画像が生成されるまでは、背景画像をオブジェクトとして用いることが望ましい。
【0109】
次に図12を用いて、図11の補正モードにおいて、制御部34が、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる動作について説明する。
【0110】
まず、オクルージョン検出部35が、オブジェクトマップ記憶部26に記憶されているオブジェクトマップに基づいて、オクルージョンの発生の有無を判定する(ステップS1201)。
【0111】
このステップS1201でオクルージョンの発生が無いと判定された場合には、対象領域設定部301が、オクルージョンが無い移動物体に対して対象領域を設定する(ステップS1202)。
【0112】
次に、対象領域補正部302が、上述したヒストグラムを生成し、生成したヒストグラムに基づいて対象領域設定部301が設定した対象領域を座標軸毎に補正する(ステップS1203)。
【0113】
次に輪郭抽出処理部303は、対象領域補正部302が補正した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出する(ステップS1204)。
【0114】
次に補正部31は、輪郭抽出部30が抽出した輪郭に基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する(ステップS1205)。
【0115】
一方ステップS1201でオクルージョンの発生があると判定された場合には、輪郭抽出部30の対象領域設定部301が、オクルージョンが発生している複数の移動物体を一体の移動物体とする(ステップS1212)。
【0116】
次に対象領域設定部301が、一体とした移動物体に対して対象領域を設定する(ステップS1213)。
【0117】
次に、対象領域補正部302が、一体とした移動物体に対して上述したヒストグラムを生成し、生成したヒストグラムに基づいて対象領域設定部301が設定した対象領域を座標軸毎に補正する(ステップS1214)。
【0118】
次に輪郭抽出処理部303は、対象領域補正部302が補正した対象領域に対して、時系列画像の画像から、一体とした移動物体移動物体の輪郭を抽出する(ステップS1215)。
【0119】
次に補正部31は、図4から図7を用いて説明したようにして検出されているオクルージョンが生じている移動物体の境界と、輪郭抽出部30が抽出した輪郭とに基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する(ステップS1216)。
【0120】
上記に説明した処理が、オブジェクトマップ記憶部26に記憶されている全ての移動物体に対して終了した後、制御部34は、補正モードからカメラ変動モードへと遷移させる。
【0121】
以上図11と図12とを用いて説明したようにして、移動物体追跡装置20は、カメラが固定している場合でも変動している場合でも、移動物体を追跡することができる。なおカメラ固定モードでは背景画像をオブジェクトに登録していないことにより、図4から図7に示すような処理を背景画像のオブジェクトに対して実行する必要がないために、移動物体追跡装置20における処理量または負荷を軽減することができる。
【0122】
以降、オブジェクトマップ記憶部26に記憶されているブロック毎の識別符号および動きベクトルを、「時空間MRF(Markov Random Field)」と称して説明する。次に、上記図12を用いて説明した動作とその結果について、図13から図19を用いて具体的に説明する。
【0123】
<Snakes>
まず、輪郭抽出部30による画像から移動物体の輪郭を抽出について説明する。輪郭抽出部30の構成のうち、まず、輪郭抽出処理部303による移動物体の輪郭を抽出する一例としての技術について詳述する。ここでは、輪郭を抽出する技術としてSnakes(文献1参照)を用いる場合について説明する。
【0124】
(文献1)Kass et.al “Snakes: Active contour models”, Proc. of 1st ICCV, pp.259-268, 1987
【0125】
最初に、このSnakesの概要について説明する。一般にSnakesは、画像平面(x, y)上で媒介変数表現されたスプライン(制御点の集合)v(s)=(x(s)、y(s))(0≦s≦1)を、次式(4)で定義されるエネルギー関数を最小化するように変形し、エネルギーの極小状態としてその形状が決まる輪郭抽出のモデルである。
【0126】
【数1】
【0127】
この式(4)の第一項Eintは、内部エネルギーと呼ばれ、これにより、Snakesのスプラインが凸型に滑らかに収縮する性質をもつ。理論上の定義は次式(5)で表され、式(5)における第一項によりスプラインが凸型に滑らかになり、第二項によりスプラインが収縮する性質をもつ。
【0128】
【数2】
【0129】
次に、式(4)の第二項Eimageは画像エネルギーと呼ばれ、スプライン全体として、エッジ(輪郭などの輝度の勾配が大きい箇所)上に存在する割合が大きいほど、その値が小さくなるという性質をもつ。本エネルギーは画像の輝度I(v(s))により次式(6)で定義する。今回、照度によらず安定して輪郭エッジを抽出するために、これまで我々が開発してきた照度不変フィルタ画像を画像エネルギーとして用いた。
【0130】
【数3】
【0131】
ここで、照度不変フィルタ画像とは、画像変換部22により上述した式1から式3により変換された画像のことである。
【0132】
そして、式(4)の第三項Econは外部エネルギーと言われ、Snakesに外部から強制的に力を働かせる場合に用いる。このエネルギーは必要に応じて定義できる。今回は、内部エネルギーに用いられるEintの影響で抽出が困難であった凹形状の輪郭抽出用に提案された面積項(文献2参照)を外部エネルギーとして定義した。面積項Eareaは次式(7)で導出される(図13参照)。
【0133】
【数4】
【0134】
(文献2)荒木昭一, 横矢直和, 岩佐英彦, 竹村治雄:“複数物体の抽出を目的とした交差判定により分裂する動的輪郭モデル”, 電子情報通信学会論文誌(D-II)Vol.J79-DII, No.10,pp1704-1711(Oct,1996)
【0135】
図14にSnakes処理結果を示す。まず、輪郭を抽出したい対象の周囲に、初期制御点を配置する(図14(a))。次に、Snakesは収縮を始め(図14(b))、最後に輪郭線付近で収縮が止まる(図14(c))。
【0136】
ここで、この図14に示す初期制御点が、対象領域設定部301が設定した対象領域に対応する。
【0137】
<局所領域におけるエッジ分布の解析>
次に、局所領域におけるエッジ分布の解析について説明する。Snakesは,エネルギー関数Esnakesを最小化するようにスプラインを変形し,極小状態をもってその探索を終えるアルゴリズムである。背景エッジが多く含まれる場合に初期制御点を輪郭から離れた場所に配置すると、スプラインがオブジェクトの輪郭線に収束する前に背景エッジに捉われ、エネルギーが極小状態になり、オブジェクトの輪郭線抽出に失敗してしまうことがある。
【0138】
そのため、初期制御点をある程度オブジェクトの輪郭付近に配置しなければならない。一方、時空間MRFで得られる人物の局所領域は、パンニング中は背景オブジェクトと人物オブジェクトの境界が曖昧になることが時折見受けられる。
【0139】
そこで、オブジェクトマップによって得られる人物オブジェクトの周辺矩形内におけるエッジ分布(照度不変フィルタ画像の2値分布)を解析し、人物領域を推定し、その周囲に初期制御点を配置することで、輪郭抽出の精度を向上する。エッジ分布の解析は、水平軸、鉛直軸にそれぞれ射影し、ヒストグラムを生成することで解析を行う(図15参照)。
【0140】
次に、一例としてのエッジ分布解析の手順について説明する。エッジ分布解析は、次のSTEP1からSTEP3の手順により実行される。
【0141】
(STEP1:エッジ分布の前処理)
エッジ画像をラベリングし、面積の小さいものをノイズとして除外する。
【0142】
(STEP2:水平軸ヒストグラム解析)
STEP1で得られたエッジ分布から水平軸ヒストグラムを生成する。人物は縦に連続する長いエッジを持つことから、縦方向の連続性の弱いエッジを除去した後、一度水平軸に正射影し、縦方向の強い分布から人物の水平領域を絞る。
【0143】
その後、絞られた領域内において、得られたエッジ分布を水平軸に射影し、ヒストグラムを生成する。そして、得られた水平軸ヒストグラムにおいてウインドウをスキャンし、連続して分布する領域を求めることで、水平成分における人物エッジの分布領域の推定を行う(図15(a))。
【0144】
(STEP3:鉛直軸ヒストグラム解析)
STEP1で得られたエッジ分布から鉛直軸ヒストグラムを生成する。人物は横方向にもある程度長い連続エッジを持つことから、横方向の連続性の弱いエッジを除去した後、一度鉛直軸に射影し、横方向の分布から人物の鉛直領域を絞る。
【0145】
その後、絞られた領域内において、エッジ分布を鉛直軸に射影し、ヒストグラムを生成する。そして、得られた水平軸ヒストグラムにおいてウインドウをスキャンし、連続して分布する領域を求めることで、水平成分における人物エッジの分布領域の推定を行う(図15(b))。
【0146】
なお、このSTEP3において、STEP1で得られたエッジ分布から鉛直軸ヒストグラムを生成しているが、鉛直軸ヒストグラムは、STEP2で狭められた局所領域内のエッジ分布から生成することもできる。
【0147】
以上のステップにより、エッジの分布情報を参照することで、より正確な人物の外接矩形領域を得ることができる(図15(c))。
【0148】
なお、ヒストグラム閾値(初期制御点)の設定方法として次のようにしてもよい。
まず、ヒストグラムの頻度値を2つのグループにクラスタリングする。クラスタリング方法はk-mean法(1次元)など、いずれの方法でもよい。これにより、高頻度クラスタと低頻度クラスタに分かれることになる。
【0149】
次に、画像の両端から内側へ探索して、初めて高頻度クラスタに属する頻度値に当たった場合、直前の低頻度の位置と当該高頻度の位置との間を境界とする。この場合、高頻度のさらに内側に低頻度のものがあったとしても問題ない。
【0150】
<階層間協調アルゴリズム>
ここで、時空間MRFとSnakesとの階層間協調によるトラッキングの処理ステップを述べる。以降、時空間MRFとSnakesとを相互に用いてオブジェクトマップを修正することを、階層間協調と称して説明する。
【0151】
まず、Snakesによるオブジェクトマップの修正(オクルージョンなし)の場合、すなわち、図12のステップS1202からS1205に対応する処理について説明する。
【0152】
STEP1:時空間MRFの出力として、オブジェクトマップを受け取り、各オブジェクトにおける外接矩形領域の情報を得る。
【0153】
STEP2:各オブジェクトにおいて、STEP2で得られた局所領域においてエッジの分布解析を行い、オブジェクトの輪郭周辺にSnakesの初期制御点を配置する。
【0154】
STEP3:各オブジェクトにおいて、Snakesを実行する。STEP1で得られた外接矩形の大きさと比較し、スプラインが収縮しすぎてしまったオブジェクトに関してはオブジェクトマップを修正せず、それ以外のオブジェクトに対してはSnakesの処理結果を反映し、オブジェクトマップを修正する。
【0155】
次に、Snakesによるオブジェクトマップの修正(オクルージョンあり)の場合、すなわち、図12のステップS1212からS1215に対応する処理について説明する。
【0156】
STEP1:時空間MRFの出力として、オブジェクトマップを受け取り、各オブジェクトにおける外接矩形領域の情報を得る。オクルージョンが検知された(他のオブジェクトの外接矩形と重複領域をもつ)オブジェクトに対しては、オクルージョンし合っているものを一つのグループとして外接矩形領域を求める。
【0157】
STEP2:STEP2で得られた局所領域においてエッジの分布解析を行い、オブジェクトの輪郭周辺にSnakesの初期制御点を配置する。
【0158】
STEP3:Snakesを実行する。STEP1で得られた外接矩形の大きさと比較し、スプラインが収縮しすぎてしまったオブジェクトに関してはオブジェクトマップを修正せず、それ以外のオブジェクトに対してはSnakesの処理結果を反映し、オブジェクトマップを修正する。その際、Snakesで抽出された輪郭に囲まれた内部領域の各オブジェクトのID番号のラベリングにおいては、時空間MRFモデルの出力結果によりラベリングを行なう。ただし、当該輪郭内部領域において、背景オブジェクトと認識されたブロックについては、ラベルを背景オブジェクトから不定へ変更することで、次フレームにおいて時空間MRFモデルによるID割り当てが行われる。あるいは、現フレームにおいて、当該ブロックのみ時空間MRFモデルによるID割り当てを再度行なうことも可能である。
【0159】
図16にSnakesによるオブジェクトマップの修正例を示す。図16(1−a)と(1−b)はオクルージョンのない場合の例、図16(2−a)と(2−b)はオクルージョン時の例である。
【0160】
図16(2−a)と(2−b)では、一度ID番号6とID番号7の人物を一つのグループとし、Snakesによりグループの輪郭線(背景と人物との境界)を求めている。そして、グループ内の領域分割は、時空間MRFによる出力情報を反映している。
【0161】
<Snakesによるオブジェクトマップの修正>
次に図17と図18とを用いて、カメラ10が変動する場合における階層間協調アルゴリズムによる効果を示す。ここでは図17と図18とに示すように、同じシーンの同じフレームに対して、階層間協調なしと階層間協調ありとの場合における移動物体検出の処理結果を対比して説明する。
【0162】
図17(a)は階層間協調なしの処理結果であり、図17(b)はそのオブジェクトマップである。図18(a)は階層間協調ありの処理結果であり、図18(b)はそのオブジェクトマップである。
【0163】
カメラのパンニングはフレーム番号80の直後から始まる。階層間協調アルゴリズムを行わない場合、20フレーム超のトラッキングに成功しているものの、人物オブジェクトと背景オブジェクトとの境界は、その徐々に曖昧になってしまっている(フレーム95およびフレーム107)。
【0164】
その一方で、Snakesにより協調させた場合、時空間MRFの出力を参照することでオブジェクト間の境界を補正することができており、長時間のトラッキングが可能となることがわかる。また、ズーミングした場合においても、階層間協調アルゴリズムの効果があることがわかる(フレーム142およびフレーム153の右2列)。
【0165】
図19はオクルージョンが発生している場合に、カメラ10が変動した場合に移動物体を検出した結果である。図19(a)ではオクルージョンが発生しておらず、その後、図19(b)でオクルージョンが発生している。いずれの場合においても、本実施形態による移動物体追跡装置20は、移動物体を追跡できていることがわかる。
【0166】
以上説明したように、本実施形態による移動物体追跡装置20は、抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号および動きベクトルを補正することにより、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる。
【0167】
なお、上記の実施形態の説明においては、オブジェクトマップ記憶部に記憶されているブロックの識別符号とともに動きベクトルを補正するものとして説明したが、識別符号のみを補正してもよい。このようにしても、同様に、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる。
【0168】
なお、上述した移動物体変動量検出部33は、オブジェクトマップ記憶部26に記憶されている移動物体のサイズまたは移動量の変動量を、識別符号または動きベクトルに基づいて単位時間毎に検出する。
【0169】
そして制御部34(第2の制御部)は、移動物体変動量検出部33により検出された単位時間毎の移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる。
【0170】
このようにオブジェクトマップ記憶部26に記憶されている移動物体のサイズまたは移動量の変動量も応じて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させてもよい。
【0171】
これにより制御部34が、単に予め定められている所定期間毎にまたは所定フレーム毎にオブジェクトマップを補正する場合に対比して、移動物体を検出することに失敗しそうなタイミングで、オブジェクトマップを補正することが可能となる。そのために、移動物体をより的確に検出して追跡することが可能となる。
【0172】
なお上述した図2のフレームバッファメモリ3、画像メモリ21またはオブジェクトマップ記憶部26などの記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【0173】
また図2における画像変換部22、背景生成部24、ID生成/消滅部25、移動物体追跡部27、輪郭抽出部30、補正部31、判定部32、移動物体変動量検出部33、制御部34またはオクルージョン検出部35という処理部は、専用のハードウェアにより実現されるものであってもよく、また、この処理部はメモリおよびCPU(中央演算装置)により構成され、処理部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0174】
また、図1における画像変換部22、背景生成部24、ID生成/消滅部25、移動物体追跡部27、輪郭抽出部30、補正部31、判定部32、移動物体変動量検出部33、制御部34またはオクルージョン検出部35という処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、この処理部による処理を実行してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0175】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0176】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0177】
10…カメラ、20…移動物体追跡装置、21…画像メモリ、22…画像変換部、23…フレームバッファメモリ、24…背景画像生成部、25…ID生成/消滅部、26…オブジェクトマップ記憶部、27…移動物体追跡部、30…輪郭抽出部、31…補正部、32…判定部、33…移動物体変動量検出部、34…制御部、35…オクルージョン検出部、301…対象領域設定部、302…対象領域補正部、303…輪郭抽出処理部
【技術分野】
【0001】
本発明は、時系列画像を画像処理して画像中の移動物体(車、自転車、動物等の移動可能なもの)を追跡する移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラムに関する。
【背景技術】
【0002】
近年、カメラで撮像された画像を画像処理して、画像中の移動物体を正確に検出する技術が求められている。たとえば、交通事故の早期発見は、迅速な救助活動により人命救助の成功率を高めるだけでなく、警察の実地検分などを迅速にすることにより事故渋滞を緩和することもできるので、様々な交通事故の認識自動化が期待されている。このように交通事故の認識率を高めるためには、カメラで撮像された画像を画像処理して移動物体を正確に検出する必要がある。
【0003】
図20は、高速道路の中央線上方に設置されたカメラで撮像された時刻t=1〜4の画像を模式的に示す。
【0004】
画像上で車両同士が頻繁に重なるので、画像処理により各車両を追跡するのが困難になる。この問題を解決するには、道路に沿って複数台のカメラを設置し、それらの画像を総合的に画像処理する必要がある。
【0005】
しかし、カメラ及び画像処理装置を複数台備える必要があるので、コスト高になる。また、各カメラの撮影画像を関係付けて総合的に画像処理しなければならないので、画像処理が複雑になる。
【0006】
そこで、本願発明者らは、次のように時間を遡って移動物体を検出する方法でこの問題を解決した(特許文献1および特許文献2参照。)。
【0007】
たとえば、時刻t=1〜4の時系列画像を一時記憶しておき、時刻t=4から出発して車両M1とM2を識別し、車両M1とM2の動きベクトルを求め、この動きベクトルで時刻t=4の画像中の車両M1とM2を移動させて、車両M1とM2が識別されている時刻t=3の画像を想定し、これと時刻t=3の実際の画像との相関関係から、時刻t=3の画像中の車両M1とM2を識別する。
【0008】
次に、時刻t=3と時刻t=2との画像について同様の画像処理により、時刻t=2の画像中の車両M1とM2を識別する。次に、時刻t=2と時刻t=1の画像について同様の画像処理により、時刻t=1の画像中の車両M1とM2を識別する。
【0009】
このような画像処理により、1台のカメラで車両M1とM2とを追跡することが可能となる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2002−133421号公報
【特許文献2】特開2004−207786号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
このような従来技術においては、カメラが固定されている状態で撮像された画像、すなわち、背景が固定されている画像を画像処理して、画像中の移動物体を正確に検出していた。
【0012】
これに対して、カメラをパンニングまたはズーミングした場合には、それまで固定されていた背景画像も、カメラをパンニングまたはズーミングに応じて変動してしまう。このように背景が変動する画像を画像処理した場合には、移動物体の画像領域と背景画像との境界が明確でなくなり、画像中の移動物体を正確に検出できないという問題があった。
【0013】
本発明は、このような事情に鑑みてなされたもので、その目的は、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる移動物体追跡装置、移動物体追跡方法および移動物体追跡プログラムを提供することにある。
【課題を解決するための手段】
【0014】
この発明は上述した課題を解決するためになされたもので、請求項1に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部と、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出部と、前記輪郭抽出部が抽出した輪郭に基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する補正部と、を有することを特徴とする移動物体追跡装置である。
【0015】
請求項2に記載の発明は、前記輪郭抽出部が、前記オブジェクトマップ記憶部に記憶されている前記移動物体のブロックに対応する画像領域に基づいて、前記移動物体の輪郭を抽出する対象領域を設定する対象領域設定部と、前記対象領域設定部が設定した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出処理部と、を有することを特徴とする請求項1に記載の移動物体追跡装置である。
【0016】
請求項3に記載の発明は、前記輪郭抽出部が、前記時系列画像の画像をエッジ抽出処理した画像に対して、前記対象領域設定部が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて前記対象領域設定部が設定した対象領域を前記座標軸毎に補正する対象領域補正部、を有し、前記輪郭抽出処理部が、前記対象領域補正部が補正した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する、ことを特徴とする請求項2に記載の移動物体追跡装置である。
【0017】
請求項4に記載の発明は、前記輪郭抽出部が、オクルージョンが発生している複数の移動物体を一体の移動物体とし、前記時系列画像の画像から前記一体とした移動物体の輪郭を抽出する、ことを特徴とする請求項1から請求項3のいずれかに記載の移動物体追跡装置である。
【0018】
請求項5に記載の発明は、前記補正部は、前記オブジェクトマップ記憶部に記憶されている前記オクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、前記輪郭抽出部により前記オクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する、ことを特徴とする請求項4に記載の移動物体追跡装置である。
【0019】
請求項6に記載の発明は、背景画像が変動しているか否かを判定する判定部と、前記判定部が背景画像が変動していると判定した場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第1の制御部と、を有することを特徴とする請求項1から請求項5に記載の移動物体追跡装置である。
【0020】
請求項7に記載の発明は、前記オブジェクトマップ記憶部に記憶されている移動物体のサイズまたは移動量の変動量を、前記識別符号に基づいて単位時間毎に検出する移動物体変動量検出部と、前記移動物体変動量検出部により検出された単位時間毎の前記移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第2の制御部と、を有することを特徴とする請求項1から請求項6に記載の移動物体追跡装置である。
【0021】
請求項8に記載の発明は、前記オブジェクトマップ記憶部には、前記識別符号が前記移動物体に対応する前記ブロックに付けられているとともに、前記ブロックに対応する前記移動物体の動きベクトルが前記ブロックに付けられて記憶されており、前記時系列画像を画像処理した結果に基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する移動物体追跡部、を有し、前記移動物体追跡部は、前記時系列画像のうち連続するN画像(N≧2)の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順と、前記N画像の各々において、第1識別符号が付けられたブロック群である第1オブジェクトと第2識別符号が付けられたブロック群である第2オブジェクトとが接し、かつ、前記N画像について時間的に隣り合う画像の第1オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順と、前記判定手順で肯定と判定された後に、時間を遡って前記第1オブジェクトと前記第2オブジェクトとを追跡する追跡手順と、前記追跡手順により時間を遡って追跡された前記第1オブジェクトと前記第2オブジェクトとに基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順と、を実行することを特徴とする請求項1から請求項7に記載の移動物体追跡装置である。
【0022】
請求項9に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置において用いられる画像上移動物体追跡方法であって、輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順と、補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順と、を有することを特徴とする移動物体追跡方法である。
【0023】
請求項10に記載の発明は、時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置としてのコンピュータに、輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順を実行し、補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順を実行する、ようにさせるための移動物体追跡プログラムである。
【発明の効果】
【0024】
この本発明によれば、抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号を補正することにより、背景が変動する画像からでも、画像中の移動物体を正確に検出することができるという効果を奏する。
【図面の簡単な説明】
【0025】
【図1】交差点及びこれに配置された本発明の移動物体追跡装置を用いた移動物体追跡システムの概略を示すブロック図である。
【図2】図1の移動物体追跡装置の一例としての構成を示すブロック図である。
【図3】フレーム画像内の、交差点への4つの入口及び交差点からの4つの出口にそれぞれ設定されたスリット及びブロックに付与された移動物体のIDを示す説明図である。
【図4】(A)及び(B)はそれぞれ時刻t−1及びtの画像をブロック境界線とともに模式的に示す図である。
【図5】(A)及び(B)はそれぞれ時刻t−1及びtの画像を画素境界線とともに模式的に示す図である。
【図6】(A)及び(B)はそれぞれ時刻t−1及びtの画像を、ブロックに付与された動きベクトルとともに模式的に示す図である。
【図7】(A)及び(B)はそれぞれ時刻t−1及びtのオブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図8】未定動きベクトルの推定方法を示すフローチャートである。
【図9】(A)及び(B)は図8の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図10】(A)〜(C)は図8の処理を説明するための、オブジェクトマップに付与された動きベクトル及びオブジェクト境界を模式的に示す図である。
【図11】移動物体追跡装置20におけるモードの状態遷移を示す状態遷移図である。
【図12】図11の補正モードにおける移動物体追跡装置20の動作を示すフローチャート図である。
【図13】面積項Eareaを示す説明図である。
【図14】一例としてのSnakes処理結果を示す説明図である。
【図15】一例としてのエッジ分布およびヒストグラムの生成を示す説明図である。
【図16】Snakesによるオブジェクトマップの修正例を示す説明図である。
【図17】カメラ10が変動する場合において、階層間協調アルゴリズムが無い場合における移動物体検出の結果を示す結果図である。
【図18】カメラ10が変動する場合において、階層間協調アルゴリズムがある場合における移動物体検出の結果を示す結果図である。
【図19】カメラ10が変動する場合において、オクルージョンが発生している場合における移動物体検出の結果を示す結果図である。
【図20】高速道路の中央線上方に設置されたカメラで撮像された時刻t=1〜4の画像を模式的に示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による移動物体追跡装置20を用いた移動物体追跡システムの構成を示す概略ブロック図である。この移動物体追跡システムは、一例として図1に示すように、交差点を撮像して画像信号を出力する電子カメラ10と、その画像を処理して移動物体を追跡する移動物体追跡装置20とを備えている。
【0027】
電子カメラ10で撮影された時系列画像は、例えば12フレーム/秒のレートで、移動物体追跡装置20が有する後述する画像メモリ21に格納され、最も古いフレームが新しいフレーム画像で書き換えられる。この電子カメラ10は、パンニングまたはズーミングされ、撮影する画像領域を変更することができる。この電子カメラ10に対するパンニングまたはズーミングは、たとえば、移動物体追跡装置20が制御してもよいし、当該移動物体追跡システムを制御する上位制御装置が制御してもよい。
【0028】
移動物体追跡装置20は、電子カメラ10で撮影された時系列画像(後述する画像メモリ21に格納された時系列画像)を画像処理して、時系列画像を画像処理して画像中の移動物体を検出する。
【0029】
次に図2を用いて、移動物体追跡装置20の一例としての構成について説明する。
【0030】
画像変換部22は、画像メモリ21内の各フレーム画像について、これをフレームバッファメモリ23にコピーし、コピーされた画像のデータを用いて画像メモリ21内の対応するフレーム画像を空間的差分フレーム画像に変換する。この変換は2段階で行われる。
【0031】
元のフレーム画像の第i行第j列の画素値(輝度値)をG(i,j)とすると、第1段階における変換後の第i行第j列の画素値H(i,j)は、次式で表される。
【0032】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)−G(i,j)| ・・・(式1)
【0033】
ここにΣneighberpixcelsは、cを自然数とすると、di=−c〜c及びdj=−c〜cにわたっての総和を意味し、例えばc=1のとき、第i行第j列の画素と隣り合う8画素にわたる総和である。照度が変化すると、画素値G(i,j)とその付近の画素値G(i+di,j+dj)が同様に変化するので、H(i,j)の画像は、照度の変化に対し不変である。
【0034】
ここで、隣り合う画素の差分の絶対値は、一般に画素値が大きいほど大きい。移動物体追跡の成功率を高めるには、画素値が小さくて差分が小さい場合も、画素値及び差分が大きい場合とほぼ等価にエッジ情報を取得した方が好ましい。そこで、H(i,j)を次のように規格化する。
【0035】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)−G(i,j)|/(Gi,j,max/Gmax) ・・・(式2)
【0036】
ここに、Gi,j,maxは、H(i,j)の計算に用いた元の画素の値の最大値であり、例えばc=1の場合、第i行第j列の画素を中心とする3×3画素の値の最大値であり、Gmaxは画素値G(i,j)の取りうる最大値、例えば画素値が8ビットで表される場合、255である。以下、c=1、Gmax=255である場合について説明する。
【0037】
H(i,j)の取りうる最大値は、移動物体毎に異なる。例えばG(i,j)=Gmaxで第i行第j列の画素に隣り合う8画素の値がいずれも0で有る場合、H(i,j)=8Gmaxとなって、H(i,j)を8ビットで表すことができない。
【0038】
一方、移動物体のエッジ部のH(i,j)の値のヒストグラムを作成してみると、頻度の大部分がH=50〜110の範囲に含まれることがわかった。すなわち、Hの値が約110より大きくなるほど移動物体追跡のためのエッジ情報の数が少ないので、重要度が低い。
【0039】
したがって、Hの値の大きい部分を抑圧して変換画素のビット長を短くすることにより、画像処理を高速に行なったほうが好ましい。そこで、第2段階として、このH(i,j)を、シグモイド関数を用いた次式により、I(i,j)に変換する。
【0040】
I=Gmax/{1+exp〔−β(H−α)〕} ・・・(式3)
【0041】
シグモイド関数はH=αの付近で線形性が良い。そこで、閾値αの値を、エッジ情報を持つHの度数分布の最頻値、例えば80にする。
【0042】
画像変換部22は、上式(2)及び(3)に基づいて、画素値G(i,j)の画像を画素値I(i,j)の空間的差分フレーム画像に変換し、これを画像メモリ21に格納する。
【0043】
背景画像生成部24、ID生成/消滅部25及び移動物体追跡部27は、画像メモリ21中の空間的差分フレーム画像に基づいて処理を行う。以下においては、空間的差分フレーム画像を単にフレーム画像と称す。
【0044】
背景画像生成部24は、記憶部と処理部とを備え、処理部は、画像メモリ21をアクセスし、例えば過去10分間の全てのフレーム画像の対応する画素について画素値のヒストグラムを作成し、その最頻値(モード)をその画素の画素値とする画像を、移動物体が存在しない背景画像として生成し、これを該記憶部に格納する。背景画像は、この処理が定期的に行われて更新される。
【0045】
ID生成/消滅部25には、図3に示す如くフレーム画像内の、交差点への4つの入口及び交差点からの4つの出口にそれぞれ配置されるスリットEN1〜EN4及びEX1〜EX4の位置及びサイズのデータが予め設定されている。ID生成/消滅部25は、画像メモリ21から入口スリットEN1〜EN4内の画像データを読み込み、これら入口スリット内に移動物体が存在するかどうかをブロック単位で判定する。図3中のメッシュの升目はブロックであり、1ブロックは例えば8×8画素であり、1フレームが480×640画素の場合、1フレームは60×80ブロックに分割される。あるブロックに移動物体が存在するかどうかは、このブロック内の各画素と背景画像の対応する画素との差の絶対値の総和が所定値以上であるかどうかにより判定する。この判定は、移動物体追跡部27においても行われる。
【0046】
ID生成/消滅部25は、ブロック内に移動物体が存在すると判定すると、このブロックに新たなオブジェクト識別符号(ID)を付与する。ID生成/消滅部25は、ID付与済ブロックと隣接しているブロックに移動物体が存在すると判定すると、この隣接ブロックに付与済ブロックと同一のIDを付与する。このID付与済ブロックは入口スリットに隣接しているブロックも含まれる。例えば図3中の入口スリットEN1内のブロックにはID=1が付与される。
【0047】
IDの付与は、オブジェクトマップ記憶部26内の対応するブロックに対して行われる。オブジェクトマップ記憶部26は、上述の場合60×80ブロックのオブジェクトマップを記憶するためのものであり、各ブロックには、IDが付与されているかどうかのフラグ、IDが付与されている場合にはその番号と後述のブロック動きベクトルとがブロック情報として付与される。なお、該フラグを用いずに、ID=0のときIDが付与されていないと判定してもよい。また、IDの最上位ビットをフラグとしてもよい。
【0048】
入口スリットを通過したクラスタに対しては、移動物体追跡部27により、移動方向のブロックに対するIDの付与及び移動と反対方向のブロックに対するIDの消滅、すなわちクラスタの追跡処理が行われる。移動物体追跡部27による追跡処理は、各クラスタについて出口スリット内まで行われる。
【0049】
ID生成/消滅部25はさらに、オブジェクトマップ記憶部26の内容に基づき出口スリットEX1〜EX4内のブロックにIDが付与されているかどうかを調べ、付与されていれば、出口スリットをクラスタが通過したときにそのIDを消滅させる。例えば図3中の出口スリットEX1内のブロックにID=3が付されている状態から、IDが付されない状態に変化したときに、ID=3を消滅させる。消滅IDは、次の生成IDとして用いることができる。
【0050】
移動物体追跡部27は、オブジェクトマップ記憶部26に格納されている時刻(t−1)のオブジェクトマップと、画像メモリ21に格納されている時刻(t−1)及びtのフレーム画像とに基づいて、時刻tのオブジェクトマップをオブジェクトマップ記憶部26内に作成する。以下、これを説明する。
【0051】
図4〜図7はいずれも、時刻t−1とtの画像を模式的に示す。図4、図6及び図7中の点線はブロックの境界線であり、図5中の点線は画素の境界線である。
【0052】
第i行第j列のブロックをB(i,j)、時刻tでの第i行第j列のブロックをB(t:i,j)と表記する。ブロックB(t−1:1,4)の動きベクトルがMVであるとする。ブロックB(t−1:1,4)をMV移動させた領域に最も対応する、時刻tのブロックを見つける。図4(B)の場合、このブロックはB(t:1,5)である。図5に示すように、ブロックB(t:1,5)の画像と、時刻t−1のブロックサイズの領域AXの画像との相関度を、所定範囲AM内で領域AXを1画素移動させる毎に求める(ブロックマッチング)。
【0053】
範囲AMはブロックよりも大きく、その一辺は例えばブロックの一辺の画素数の1.5倍である。範囲AMの中心は、ブロックB(t:1,5)の中心を略−MV移動させた位置にある画素である。
【0054】
相関度は、例えば時空的テクスチャ相関度であり、ブロックB(t:1,5)と領域AXの対応する画素値の差の絶対値の総和である評価値UDが小さいほど、大きいとする。
【0055】
範囲AM内で相関度が最大になる領域AXを求め、この領域の中心を始点としブロックB(1,5)の中心を終点とするベクトルを、ブロックB(t:1,5)の動きベクトルと決定する。また、相関度が最大になる領域AXに最も近い、時刻t−1のブロックのIDを、ブロックB(t:1,5)のIDと決定する。
【0056】
移動物体追跡部27は、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与する。これにより、1つのクラスタであっても、互いに異なるIDをもつ複数のオブジェクト(移動物体)に分割される。図6では、オブジェクト間の境界を太線で示している。
【0057】
オブジェクトマップ上には移動物体の画像が存在しないが、図6では理解を容易にするためにオブジェクトマップ上に移動物体が模式的に描かれている。図7は、オブジェクトマップにオブジェクトの境界を太線で示したものであり、図6に対応している。
【0058】
例えば図3の入口スリットEN1で1つのクラスタが検出され、複数のオブジェクトに分割されず、その後、時刻t1に上記のようにして複数のオブジェクトに分割された場合、時刻t1から時間を遡って、時間が正方向の場合と同様にオブジェクトマップを求めることにより、時刻t1よりも前のオブジェクトマップに対し、複数のオブジェクトに分割する。これにより、分割できなかったオブジェクトを分割して認識することができ、個々のオブジェクトを追跡することができる。
【0059】
特許文献1では、1つのクラスタが複数のクラスタに分離してから時間を遡って個々のオブジェクトを追跡していたが、本実施形態によれば、複数のクラスタに分離する前に、例えば図20のt=4より前のt=2から、時間を遡って個々のオブジェクトを追跡することができるので、画像メモリ21の記憶容量を低減でき、また、画像処理量を低減してCPUの負担を軽くすることができる。
【0060】
上記説明では、クラスタ内のブロックの動きベクトルが求まる場合について説明したが、図9(A)に示すように、動きベクトルが求まらないブロックが存在する場合、その位置によっては該ブロックがどちらのオブジェクトに属するのか不明である。ある移動物体に属するブロック内の各画素の色がほぼ同一であった場合、上述のブロックマッチングにより動きベクトルを決定することができない。例えば、画像(空間的差分フレーム画像)を2値画像に変換し、ブロック内に‘1’の画素の数が所定値以下であれば、上記方法により動きベクトルを求めるのに適しないブロックと判定する。
【0061】
このようなブロックの動きベクトルを、図8に示す方法で推定する。
【0062】
(S1)未定の動きベクトルが存在すればステップS2へ進み、そうでなければ未定動きベクトル推定処理を終了する。
【0063】
(S2)動きベクトルが未定のブロックB(i,j)の回りの8個のブロックのうち、決定されている動きベクトルMV1〜MVnを取り出す。
【0064】
(S3)ステップS2で決定済動きベクトルが存在すればステップS4へ進み、そうでなければステップS6へ進む。
【0065】
(S4)動きベクトルMV1〜MVnを、ベクトル間の差の絶対値が所定値以内のグループに分ける。
【0066】
(S5))動きベクトル数が最大のグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。動きベクトル数が最大のグループが複数存在する場合、任意の1つのグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。次にステップS1へ戻る。
【0067】
なお、同一グループの動きベクトルは互いに略等しいので、該同一グループの動きベクトルの任意の1つをブロックB(i,j)の動きベクトルと推定してもよい。
【0068】
(S6)ステップS5で推定された動きベクトルを、決定された動きベクトルとみなし、ステップS1へ戻る。
【0069】
このような処理により、未定動きベクトルを一意的に推定することができる。
【0070】
次に具体例を説明する。図9(A)において、第i行第j列のブロックB(i,j)の動きベクトルをMV(i,j)と表記する。図9(A)では、ブロックB(2,2)、B(2,4)及びB(3,3)の動きベクトルが未定である。
【0071】
ブロックB(2,2)の回りのブロックの動きベクトルは、MV(2,1)、MV(3,1)、MV(3,2)及びMV(2,3)のグループと、MV(1,2)及びMV(1,3)のグループに分けられるので、前者のグループを選択し、
MV(2,2)=(MV(2,1)+MV(3,1)+MV(3,2)+MV(2,3))/4
と推定する。
【0072】
ブロックB(2,4)の回りのブロックの動きベクトルは、MV(2,3)、MV(3,4)及びMV(3,5)のグループと、MV(1,3)、MV(1,4)、MV(1,5)及びMV(2,5)のグループに分けられるので、後者のグループを選択し、
MV(2,4)=(MV(1,3)+MV(1,4)+MV(1,5)+MV(2,5))/4
と推定する。
【0073】
ブロックB(3,3)の回りのブロックの動きベクトルは、MV(2,3)、MV(3,2)、MV(4,2)、MV(4,4)及びMV(3,4)の1グループであるので、
MV(3,3)=(MV(2,3)+MV(3,2)+MV(4,2)+MV(4,4)+MV(3,4))/5
と推定する。
【0074】
このようにして、図9(B)に示すようなオブジェクトマップが生成される。図9(B)では、オブジェクトの境界を太線で示している。
【0075】
図10(A)のように未定動きベクトルの数が多い場合であっても、ステップS3で否定判定されるまで、ステップS1〜S5を繰り返すと、一意的に動きベクトルが推定されて図10(B)のようになる。次に、ステップS6で推定動きベクトルを、決定された動きベクトルとみなして、再度ステップS1〜S5を実行することにより、ブロックB(3,4)の動きベクトルが一意的に推定されて、図10(C)のようになる。次に、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与することにより、1つのクラスタが、互いに異なるIDをもつ複数のオブジェクトに分割される。
【0076】
なお、移動物体追跡部27は、オブジェクトマップ記憶部26に格納されているオブジェクトマップの時系列を、追跡結果として不図示のハードディスクに格納する。
【0077】
上述したような処理により、オブジェクトマップ記憶部26には、時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が移動物体に対応するブロックに付けられているとともに、ブロックに対応する移動物体の動きベクトルがブロックに付けられて記憶されている。
【0078】
そして移動物体追跡部27は、上述したように時系列画像を画像処理した結果に基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号と動きベクトルとを更新する。具体的には、移動物体追跡部27は、次の(1)から(4)の手順により、オブジェクトマップ記憶部26に記憶されているブロックの識別符号と動きベクトルとを更新する。
【0079】
(1)時系列画像のうち連続するN画像(N≧2)の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順。
【0080】
(2)N画像の各々において、第1識別符号が付けられたブロック群である第1オブジェクトと第2識別符号が付けられたブロック群である第2オブジェクトとが接し、かつ、N画像について時間的に隣り合う画像の第1オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順。
【0081】
(3)判定手順で肯定と判定された後に、時間を遡って第1オブジェクトと第2オブジェクトとを追跡する追跡手順。
【0082】
(4)追跡手順により時間を遡って追跡された第1オブジェクトと第2オブジェクトとに基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順。
【0083】
輪郭抽出部30は、時系列画像の画像から移動物体の輪郭を抽出する。また、この輪郭抽出部30は、オクルージョンが発生している複数の移動物体を一体の移動物体とし、時系列画像の画像から一体とした移動物体の輪郭を抽出する。
【0084】
この輪郭抽出部30は、対象領域設定部301と、対象領域補正部302と、輪郭抽出処理部303とを、有している。
【0085】
対象領域設定部301は、オブジェクトマップ記憶部26に記憶されている移動物体のブロックに対応する画像領域に基づいて、移動物体の輪郭を抽出する対象領域を設定する。
【0086】
輪郭抽出処理部303は、対象領域設定部301が設定した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出する。
【0087】
対象領域補正部302は、時系列画像の画像をエッジ抽出処理した画像に対して、対象領域設定部301が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて対象領域設定部301が設定した対象領域を座標軸毎に補正する。
【0088】
そして上述した輪郭抽出処理部303は、対象領域補正部302が補正した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出してもよい。
【0089】
補正部31は、輪郭抽出部30の輪郭抽出処理部303が抽出した輪郭に基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する。
【0090】
また、この補正部31は、オブジェクトマップ記憶部26に記憶されているオクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、輪郭抽出部30によりオクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する。
【0091】
判定部32は、背景画像が変動しているか否かを判定する。たとえば判定部32は、カメラ10がパンニングまたはズーミングされたことを示す信号がカメラ10から入力され、この信号に基づいて、背景画像が変動しているか否かを判定する。
【0092】
または判定部32は、背景画像生成部24が生成した背景画像と、カメラ10から入力される画像とを比較して、背景画像が変動しているか否かを判定してもよい。または、背景となる領域に予めマーカが埋め込まれており、判定部32は、カメラ10から入力される画像に含まれているマーカの画像における位置の変動を検出することにより、背景画像が変動しているか否かを判定してもよい。
【0093】
制御部34(第1の制御部)は、判定部32が背景画像が変動していると判定した場合に、たとえば予め定められている所定期間毎にまたは所定フレーム毎に、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる。
【0094】
移動物体変動量検出部33については、後述する。
【0095】
<背景ブロック>
上記の説明においては、ブロック単位で背景画像と比較することにより、オブジェクトが存在するかどうかを調べているので、背景画像を特別扱いしなければならない。また、例えば過去10分間の撮影画像に基づいて背景画像を生成しているので、カメラが揺れた場合には、この揺れを背景画像に反映させることができない。
【0096】
そこで、背景画像もオブジェクトとみなしてオブジェクトマップを作成してもよい。オブジェクトマップ生成方法は、背景画像と比較してブロックに移動物体が存在するかどうかを判定する点のみが異なる。背景画像もオブジェクトとみなすので、全てのブロックについて、ブロックマッチングを行うことによりIDを付与しMVを決定する。
【0097】
なお、この背景画像には、背景画像に対して予め定められているIDを付与するようにしてもよい。この予め定められているIDにより背景画像と、移動物体とが識別しやすくなる。
【0098】
このように、背景画像を1つのブロックとして、背景画像に対してIDを付与するようにしても、背景画像と移動物体との間で図4から図7に示したようにブロックの属する画像を判定することが可能である。
【0099】
このように、背景画像を1つのブロックとすることにより、カメラがパンニングまたはズーミングされたことに応じて背景画像が変動する場合においても、背景画像が固定されていた場合と同様に処理できるようになる。
【0100】
<移動物体追跡装置20に動作>
次に図11と図12とを用いて、移動物体追跡装置20の動作ついて説明する。まず図11を用いて、移動物体追跡装置20に動作モードについて説明する。
【0101】
まず、移動物体追跡装置20は、カメラ固定モードの状態にあるとする。このカメラ固定モードにおいては、背景画像はオブジェクトとしてのIDが付与されることなしに、背景画像生成部24により生成されている画像を背景画像として用いている。これはカメラが固定されているため、背景画像に変動がないためである。
【0102】
このカメラ固定モードの状態にある場合には、背景画像が固定されているために、移動物体追跡部27により移動物体を識別されている。
【0103】
次にカメラがパンニングまたはズーミングされたことに応じて、判定部32が、背景画像が変動していることを判定する。この判定に応じて制御部34が、カメラ固定モードから、カメラ変動モードに遷移させるとともに(ステップS1)、背景画像をオブジェクトに登録してIDを付与する。
【0104】
カメラ変動モードにおいて、予め定められている所定期間毎にまたは所定フレーム毎に、制御部34は、補正モードに遷移させる(ステップS2)。この補正モードにおいて、制御部34は、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる。
【0105】
制御部34は、補正モードにおいて補正が完了すると、補正モードからカメラ変動モードに遷移させる(ステップS3)。
【0106】
その後、カメラ10が変動している期間においては、制御部34は、カメラ変動モードと補正モードとを交互に遷移させる。
【0107】
その後、カメラ10の変動が停止したことを判定部32が判定したことに応じて、制御部34は、背景画像に付与されているIDを削除し、背景画像生成部24により生成されている画像を背景画像として用いる。
【0108】
なお、背景画像生成部24により背景画像が生成されるには、たとえば10分などの所定の期間を要する。そのため、背景画像生成部24により背景画像が生成されるまでは、背景画像をオブジェクトとして用いることが望ましい。
【0109】
次に図12を用いて、図11の補正モードにおいて、制御部34が、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる動作について説明する。
【0110】
まず、オクルージョン検出部35が、オブジェクトマップ記憶部26に記憶されているオブジェクトマップに基づいて、オクルージョンの発生の有無を判定する(ステップS1201)。
【0111】
このステップS1201でオクルージョンの発生が無いと判定された場合には、対象領域設定部301が、オクルージョンが無い移動物体に対して対象領域を設定する(ステップS1202)。
【0112】
次に、対象領域補正部302が、上述したヒストグラムを生成し、生成したヒストグラムに基づいて対象領域設定部301が設定した対象領域を座標軸毎に補正する(ステップS1203)。
【0113】
次に輪郭抽出処理部303は、対象領域補正部302が補正した対象領域に対して、時系列画像の画像から移動物体の輪郭を抽出する(ステップS1204)。
【0114】
次に補正部31は、輪郭抽出部30が抽出した輪郭に基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する(ステップS1205)。
【0115】
一方ステップS1201でオクルージョンの発生があると判定された場合には、輪郭抽出部30の対象領域設定部301が、オクルージョンが発生している複数の移動物体を一体の移動物体とする(ステップS1212)。
【0116】
次に対象領域設定部301が、一体とした移動物体に対して対象領域を設定する(ステップS1213)。
【0117】
次に、対象領域補正部302が、一体とした移動物体に対して上述したヒストグラムを生成し、生成したヒストグラムに基づいて対象領域設定部301が設定した対象領域を座標軸毎に補正する(ステップS1214)。
【0118】
次に輪郭抽出処理部303は、対象領域補正部302が補正した対象領域に対して、時系列画像の画像から、一体とした移動物体移動物体の輪郭を抽出する(ステップS1215)。
【0119】
次に補正部31は、図4から図7を用いて説明したようにして検出されているオクルージョンが生じている移動物体の境界と、輪郭抽出部30が抽出した輪郭とに基づいて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正する(ステップS1216)。
【0120】
上記に説明した処理が、オブジェクトマップ記憶部26に記憶されている全ての移動物体に対して終了した後、制御部34は、補正モードからカメラ変動モードへと遷移させる。
【0121】
以上図11と図12とを用いて説明したようにして、移動物体追跡装置20は、カメラが固定している場合でも変動している場合でも、移動物体を追跡することができる。なおカメラ固定モードでは背景画像をオブジェクトに登録していないことにより、図4から図7に示すような処理を背景画像のオブジェクトに対して実行する必要がないために、移動物体追跡装置20における処理量または負荷を軽減することができる。
【0122】
以降、オブジェクトマップ記憶部26に記憶されているブロック毎の識別符号および動きベクトルを、「時空間MRF(Markov Random Field)」と称して説明する。次に、上記図12を用いて説明した動作とその結果について、図13から図19を用いて具体的に説明する。
【0123】
<Snakes>
まず、輪郭抽出部30による画像から移動物体の輪郭を抽出について説明する。輪郭抽出部30の構成のうち、まず、輪郭抽出処理部303による移動物体の輪郭を抽出する一例としての技術について詳述する。ここでは、輪郭を抽出する技術としてSnakes(文献1参照)を用いる場合について説明する。
【0124】
(文献1)Kass et.al “Snakes: Active contour models”, Proc. of 1st ICCV, pp.259-268, 1987
【0125】
最初に、このSnakesの概要について説明する。一般にSnakesは、画像平面(x, y)上で媒介変数表現されたスプライン(制御点の集合)v(s)=(x(s)、y(s))(0≦s≦1)を、次式(4)で定義されるエネルギー関数を最小化するように変形し、エネルギーの極小状態としてその形状が決まる輪郭抽出のモデルである。
【0126】
【数1】
【0127】
この式(4)の第一項Eintは、内部エネルギーと呼ばれ、これにより、Snakesのスプラインが凸型に滑らかに収縮する性質をもつ。理論上の定義は次式(5)で表され、式(5)における第一項によりスプラインが凸型に滑らかになり、第二項によりスプラインが収縮する性質をもつ。
【0128】
【数2】
【0129】
次に、式(4)の第二項Eimageは画像エネルギーと呼ばれ、スプライン全体として、エッジ(輪郭などの輝度の勾配が大きい箇所)上に存在する割合が大きいほど、その値が小さくなるという性質をもつ。本エネルギーは画像の輝度I(v(s))により次式(6)で定義する。今回、照度によらず安定して輪郭エッジを抽出するために、これまで我々が開発してきた照度不変フィルタ画像を画像エネルギーとして用いた。
【0130】
【数3】
【0131】
ここで、照度不変フィルタ画像とは、画像変換部22により上述した式1から式3により変換された画像のことである。
【0132】
そして、式(4)の第三項Econは外部エネルギーと言われ、Snakesに外部から強制的に力を働かせる場合に用いる。このエネルギーは必要に応じて定義できる。今回は、内部エネルギーに用いられるEintの影響で抽出が困難であった凹形状の輪郭抽出用に提案された面積項(文献2参照)を外部エネルギーとして定義した。面積項Eareaは次式(7)で導出される(図13参照)。
【0133】
【数4】
【0134】
(文献2)荒木昭一, 横矢直和, 岩佐英彦, 竹村治雄:“複数物体の抽出を目的とした交差判定により分裂する動的輪郭モデル”, 電子情報通信学会論文誌(D-II)Vol.J79-DII, No.10,pp1704-1711(Oct,1996)
【0135】
図14にSnakes処理結果を示す。まず、輪郭を抽出したい対象の周囲に、初期制御点を配置する(図14(a))。次に、Snakesは収縮を始め(図14(b))、最後に輪郭線付近で収縮が止まる(図14(c))。
【0136】
ここで、この図14に示す初期制御点が、対象領域設定部301が設定した対象領域に対応する。
【0137】
<局所領域におけるエッジ分布の解析>
次に、局所領域におけるエッジ分布の解析について説明する。Snakesは,エネルギー関数Esnakesを最小化するようにスプラインを変形し,極小状態をもってその探索を終えるアルゴリズムである。背景エッジが多く含まれる場合に初期制御点を輪郭から離れた場所に配置すると、スプラインがオブジェクトの輪郭線に収束する前に背景エッジに捉われ、エネルギーが極小状態になり、オブジェクトの輪郭線抽出に失敗してしまうことがある。
【0138】
そのため、初期制御点をある程度オブジェクトの輪郭付近に配置しなければならない。一方、時空間MRFで得られる人物の局所領域は、パンニング中は背景オブジェクトと人物オブジェクトの境界が曖昧になることが時折見受けられる。
【0139】
そこで、オブジェクトマップによって得られる人物オブジェクトの周辺矩形内におけるエッジ分布(照度不変フィルタ画像の2値分布)を解析し、人物領域を推定し、その周囲に初期制御点を配置することで、輪郭抽出の精度を向上する。エッジ分布の解析は、水平軸、鉛直軸にそれぞれ射影し、ヒストグラムを生成することで解析を行う(図15参照)。
【0140】
次に、一例としてのエッジ分布解析の手順について説明する。エッジ分布解析は、次のSTEP1からSTEP3の手順により実行される。
【0141】
(STEP1:エッジ分布の前処理)
エッジ画像をラベリングし、面積の小さいものをノイズとして除外する。
【0142】
(STEP2:水平軸ヒストグラム解析)
STEP1で得られたエッジ分布から水平軸ヒストグラムを生成する。人物は縦に連続する長いエッジを持つことから、縦方向の連続性の弱いエッジを除去した後、一度水平軸に正射影し、縦方向の強い分布から人物の水平領域を絞る。
【0143】
その後、絞られた領域内において、得られたエッジ分布を水平軸に射影し、ヒストグラムを生成する。そして、得られた水平軸ヒストグラムにおいてウインドウをスキャンし、連続して分布する領域を求めることで、水平成分における人物エッジの分布領域の推定を行う(図15(a))。
【0144】
(STEP3:鉛直軸ヒストグラム解析)
STEP1で得られたエッジ分布から鉛直軸ヒストグラムを生成する。人物は横方向にもある程度長い連続エッジを持つことから、横方向の連続性の弱いエッジを除去した後、一度鉛直軸に射影し、横方向の分布から人物の鉛直領域を絞る。
【0145】
その後、絞られた領域内において、エッジ分布を鉛直軸に射影し、ヒストグラムを生成する。そして、得られた水平軸ヒストグラムにおいてウインドウをスキャンし、連続して分布する領域を求めることで、水平成分における人物エッジの分布領域の推定を行う(図15(b))。
【0146】
なお、このSTEP3において、STEP1で得られたエッジ分布から鉛直軸ヒストグラムを生成しているが、鉛直軸ヒストグラムは、STEP2で狭められた局所領域内のエッジ分布から生成することもできる。
【0147】
以上のステップにより、エッジの分布情報を参照することで、より正確な人物の外接矩形領域を得ることができる(図15(c))。
【0148】
なお、ヒストグラム閾値(初期制御点)の設定方法として次のようにしてもよい。
まず、ヒストグラムの頻度値を2つのグループにクラスタリングする。クラスタリング方法はk-mean法(1次元)など、いずれの方法でもよい。これにより、高頻度クラスタと低頻度クラスタに分かれることになる。
【0149】
次に、画像の両端から内側へ探索して、初めて高頻度クラスタに属する頻度値に当たった場合、直前の低頻度の位置と当該高頻度の位置との間を境界とする。この場合、高頻度のさらに内側に低頻度のものがあったとしても問題ない。
【0150】
<階層間協調アルゴリズム>
ここで、時空間MRFとSnakesとの階層間協調によるトラッキングの処理ステップを述べる。以降、時空間MRFとSnakesとを相互に用いてオブジェクトマップを修正することを、階層間協調と称して説明する。
【0151】
まず、Snakesによるオブジェクトマップの修正(オクルージョンなし)の場合、すなわち、図12のステップS1202からS1205に対応する処理について説明する。
【0152】
STEP1:時空間MRFの出力として、オブジェクトマップを受け取り、各オブジェクトにおける外接矩形領域の情報を得る。
【0153】
STEP2:各オブジェクトにおいて、STEP2で得られた局所領域においてエッジの分布解析を行い、オブジェクトの輪郭周辺にSnakesの初期制御点を配置する。
【0154】
STEP3:各オブジェクトにおいて、Snakesを実行する。STEP1で得られた外接矩形の大きさと比較し、スプラインが収縮しすぎてしまったオブジェクトに関してはオブジェクトマップを修正せず、それ以外のオブジェクトに対してはSnakesの処理結果を反映し、オブジェクトマップを修正する。
【0155】
次に、Snakesによるオブジェクトマップの修正(オクルージョンあり)の場合、すなわち、図12のステップS1212からS1215に対応する処理について説明する。
【0156】
STEP1:時空間MRFの出力として、オブジェクトマップを受け取り、各オブジェクトにおける外接矩形領域の情報を得る。オクルージョンが検知された(他のオブジェクトの外接矩形と重複領域をもつ)オブジェクトに対しては、オクルージョンし合っているものを一つのグループとして外接矩形領域を求める。
【0157】
STEP2:STEP2で得られた局所領域においてエッジの分布解析を行い、オブジェクトの輪郭周辺にSnakesの初期制御点を配置する。
【0158】
STEP3:Snakesを実行する。STEP1で得られた外接矩形の大きさと比較し、スプラインが収縮しすぎてしまったオブジェクトに関してはオブジェクトマップを修正せず、それ以外のオブジェクトに対してはSnakesの処理結果を反映し、オブジェクトマップを修正する。その際、Snakesで抽出された輪郭に囲まれた内部領域の各オブジェクトのID番号のラベリングにおいては、時空間MRFモデルの出力結果によりラベリングを行なう。ただし、当該輪郭内部領域において、背景オブジェクトと認識されたブロックについては、ラベルを背景オブジェクトから不定へ変更することで、次フレームにおいて時空間MRFモデルによるID割り当てが行われる。あるいは、現フレームにおいて、当該ブロックのみ時空間MRFモデルによるID割り当てを再度行なうことも可能である。
【0159】
図16にSnakesによるオブジェクトマップの修正例を示す。図16(1−a)と(1−b)はオクルージョンのない場合の例、図16(2−a)と(2−b)はオクルージョン時の例である。
【0160】
図16(2−a)と(2−b)では、一度ID番号6とID番号7の人物を一つのグループとし、Snakesによりグループの輪郭線(背景と人物との境界)を求めている。そして、グループ内の領域分割は、時空間MRFによる出力情報を反映している。
【0161】
<Snakesによるオブジェクトマップの修正>
次に図17と図18とを用いて、カメラ10が変動する場合における階層間協調アルゴリズムによる効果を示す。ここでは図17と図18とに示すように、同じシーンの同じフレームに対して、階層間協調なしと階層間協調ありとの場合における移動物体検出の処理結果を対比して説明する。
【0162】
図17(a)は階層間協調なしの処理結果であり、図17(b)はそのオブジェクトマップである。図18(a)は階層間協調ありの処理結果であり、図18(b)はそのオブジェクトマップである。
【0163】
カメラのパンニングはフレーム番号80の直後から始まる。階層間協調アルゴリズムを行わない場合、20フレーム超のトラッキングに成功しているものの、人物オブジェクトと背景オブジェクトとの境界は、その徐々に曖昧になってしまっている(フレーム95およびフレーム107)。
【0164】
その一方で、Snakesにより協調させた場合、時空間MRFの出力を参照することでオブジェクト間の境界を補正することができており、長時間のトラッキングが可能となることがわかる。また、ズーミングした場合においても、階層間協調アルゴリズムの効果があることがわかる(フレーム142およびフレーム153の右2列)。
【0165】
図19はオクルージョンが発生している場合に、カメラ10が変動した場合に移動物体を検出した結果である。図19(a)ではオクルージョンが発生しておらず、その後、図19(b)でオクルージョンが発生している。いずれの場合においても、本実施形態による移動物体追跡装置20は、移動物体を追跡できていることがわかる。
【0166】
以上説明したように、本実施形態による移動物体追跡装置20は、抽出した輪郭に基づいて、オブジェクトマップ記憶部に記憶されているブロックの識別符号および動きベクトルを補正することにより、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる。
【0167】
なお、上記の実施形態の説明においては、オブジェクトマップ記憶部に記憶されているブロックの識別符号とともに動きベクトルを補正するものとして説明したが、識別符号のみを補正してもよい。このようにしても、同様に、背景が変動する画像からでも、画像中の移動物体を正確に検出することができる。
【0168】
なお、上述した移動物体変動量検出部33は、オブジェクトマップ記憶部26に記憶されている移動物体のサイズまたは移動量の変動量を、識別符号または動きベクトルに基づいて単位時間毎に検出する。
【0169】
そして制御部34(第2の制御部)は、移動物体変動量検出部33により検出された単位時間毎の移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、輪郭抽出部30を制御して輪郭を抽出させ、補正部31を制御してオブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させる。
【0170】
このようにオブジェクトマップ記憶部26に記憶されている移動物体のサイズまたは移動量の変動量も応じて、オブジェクトマップ記憶部26に記憶されているブロックの識別符号および動きベクトルを補正させてもよい。
【0171】
これにより制御部34が、単に予め定められている所定期間毎にまたは所定フレーム毎にオブジェクトマップを補正する場合に対比して、移動物体を検出することに失敗しそうなタイミングで、オブジェクトマップを補正することが可能となる。そのために、移動物体をより的確に検出して追跡することが可能となる。
【0172】
なお上述した図2のフレームバッファメモリ3、画像メモリ21またはオブジェクトマップ記憶部26などの記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【0173】
また図2における画像変換部22、背景生成部24、ID生成/消滅部25、移動物体追跡部27、輪郭抽出部30、補正部31、判定部32、移動物体変動量検出部33、制御部34またはオクルージョン検出部35という処理部は、専用のハードウェアにより実現されるものであってもよく、また、この処理部はメモリおよびCPU(中央演算装置)により構成され、処理部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0174】
また、図1における画像変換部22、背景生成部24、ID生成/消滅部25、移動物体追跡部27、輪郭抽出部30、補正部31、判定部32、移動物体変動量検出部33、制御部34またはオクルージョン検出部35という処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、この処理部による処理を実行してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0175】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0176】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0177】
10…カメラ、20…移動物体追跡装置、21…画像メモリ、22…画像変換部、23…フレームバッファメモリ、24…背景画像生成部、25…ID生成/消滅部、26…オブジェクトマップ記憶部、27…移動物体追跡部、30…輪郭抽出部、31…補正部、32…判定部、33…移動物体変動量検出部、34…制御部、35…オクルージョン検出部、301…対象領域設定部、302…対象領域補正部、303…輪郭抽出処理部
【特許請求の範囲】
【請求項1】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、
前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部と、
前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出部と、
前記輪郭抽出部が抽出した輪郭に基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する補正部と、
を有することを特徴とする移動物体追跡装置。
【請求項2】
前記輪郭抽出部が、
前記オブジェクトマップ記憶部に記憶されている前記移動物体のブロックに対応する画像領域に基づいて、前記移動物体の輪郭を抽出する対象領域を設定する対象領域設定部と、
前記対象領域設定部が設定した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出処理部と、
を有することを特徴とする請求項1に記載の移動物体追跡装置。
【請求項3】
前記輪郭抽出部が、
前記時系列画像の画像をエッジ抽出処理した画像に対して、前記対象領域設定部が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて前記対象領域設定部が設定した対象領域を前記座標軸毎に補正する対象領域補正部、
を有し、
前記輪郭抽出処理部が、
前記対象領域補正部が補正した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する、
ことを特徴とする請求項2に記載の移動物体追跡装置。
【請求項4】
前記輪郭抽出部が、
オクルージョンが発生している複数の移動物体を一体の移動物体とし、前記時系列画像の画像から前記一体とした移動物体の輪郭を抽出する、
ことを特徴とする請求項1から請求項3のいずれかに記載の移動物体追跡装置。
【請求項5】
前記補正部は、
前記オブジェクトマップ記憶部に記憶されている前記オクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、前記輪郭抽出部により前記オクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する、
ことを特徴とする請求項4に記載の移動物体追跡装置。
【請求項6】
背景画像が変動しているか否かを判定する判定部と、
前記判定部が背景画像が変動していると判定した場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第1の制御部と、
を有することを特徴とする請求項1から請求項5に記載の移動物体追跡装置。
【請求項7】
前記オブジェクトマップ記憶部に記憶されている移動物体のサイズまたは移動量の変動量を、前記識別符号に基づいて単位時間毎に検出する移動物体変動量検出部と、
前記移動物体変動量検出部により検出された単位時間毎の前記移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第2の制御部と、
を有することを特徴とする請求項1から請求項6に記載の移動物体追跡装置。
【請求項8】
前記オブジェクトマップ記憶部には、
前記識別符号が前記移動物体に対応する前記ブロックに付けられているとともに、前記ブロックに対応する前記移動物体の動きベクトルが前記ブロックに付けられて記憶されており、
前記時系列画像を画像処理した結果に基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する移動物体追跡部、
を有し、
前記移動物体追跡部は、
前記時系列画像のうち連続するN画像(N≧2)の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順と、
前記N画像の各々において、第1識別符号が付けられたブロック群である第1オブジェクトと第2識別符号が付けられたブロック群である第2オブジェクトとが接し、かつ、前記N画像について時間的に隣り合う画像の第1オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順と、
前記判定手順で肯定と判定された後に、時間を遡って前記第1オブジェクトと前記第2オブジェクトとを追跡する追跡手順と、
前記追跡手順により時間を遡って追跡された前記第1オブジェクトと前記第2オブジェクトとに基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順と、
を実行することを特徴とする請求項1から請求項7に記載の移動物体追跡装置。
【請求項9】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置において用いられる画像上移動物体追跡方法であって、
輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順と、
補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順と、
を有することを特徴とする移動物体追跡方法。
【請求項10】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置としてのコンピュータに、
輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順を実行し、
補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順を実行する、
ようにさせるための移動物体追跡プログラム。
【請求項1】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置であって、
前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部と、
前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出部と、
前記輪郭抽出部が抽出した輪郭に基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する補正部と、
を有することを特徴とする移動物体追跡装置。
【請求項2】
前記輪郭抽出部が、
前記オブジェクトマップ記憶部に記憶されている前記移動物体のブロックに対応する画像領域に基づいて、前記移動物体の輪郭を抽出する対象領域を設定する対象領域設定部と、
前記対象領域設定部が設定した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出処理部と、
を有することを特徴とする請求項1に記載の移動物体追跡装置。
【請求項3】
前記輪郭抽出部が、
前記時系列画像の画像をエッジ抽出処理した画像に対して、前記対象領域設定部が設定した対象領域内でエッジに対応する画素数の個数についてのヒストグラムを座標軸毎に射影して生成し、当該座標軸毎に生成したヒストグラムに基づいて前記対象領域設定部が設定した対象領域を前記座標軸毎に補正する対象領域補正部、
を有し、
前記輪郭抽出処理部が、
前記対象領域補正部が補正した対象領域に対して、前記時系列画像の画像から前記移動物体の輪郭を抽出する、
ことを特徴とする請求項2に記載の移動物体追跡装置。
【請求項4】
前記輪郭抽出部が、
オクルージョンが発生している複数の移動物体を一体の移動物体とし、前記時系列画像の画像から前記一体とした移動物体の輪郭を抽出する、
ことを特徴とする請求項1から請求項3のいずれかに記載の移動物体追跡装置。
【請求項5】
前記補正部は、
前記オブジェクトマップ記憶部に記憶されている前記オクルージョンが発生している複数の移動物体に対応する識別符号に基づいた当該複数の移動物体の境界を示す情報と、前記輪郭抽出部により前記オクルージョンが発生している複数の移動物体を一体とした抽出された移動物体の輪郭とに基づいて、前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正する、
ことを特徴とする請求項4に記載の移動物体追跡装置。
【請求項6】
背景画像が変動しているか否かを判定する判定部と、
前記判定部が背景画像が変動していると判定した場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第1の制御部と、
を有することを特徴とする請求項1から請求項5に記載の移動物体追跡装置。
【請求項7】
前記オブジェクトマップ記憶部に記憶されている移動物体のサイズまたは移動量の変動量を、前記識別符号に基づいて単位時間毎に検出する移動物体変動量検出部と、
前記移動物体変動量検出部により検出された単位時間毎の前記移動物体のサイズまたは移動量の変動量が、予め定められているサイズまたは移動量の変動量よりも大きい場合に、前記輪郭抽出部を制御して輪郭を抽出させ、前記補正部を制御して前記オブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を補正させる第2の制御部と、
を有することを特徴とする請求項1から請求項6に記載の移動物体追跡装置。
【請求項8】
前記オブジェクトマップ記憶部には、
前記識別符号が前記移動物体に対応する前記ブロックに付けられているとともに、前記ブロックに対応する前記移動物体の動きベクトルが前記ブロックに付けられて記憶されており、
前記時系列画像を画像処理した結果に基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する移動物体追跡部、
を有し、
前記移動物体追跡部は、
前記時系列画像のうち連続するN画像(N≧2)の各々について、隣り合うブロックの動きベクトルの差の絶対値が所定値以内のブロックに同一の識別符号を付けることにより、画像上で互いに重なった移動物体に互いに異なる識別符号を付ける識別符号手順と、
前記N画像の各々において、第1識別符号が付けられたブロック群である第1オブジェクトと第2識別符号が付けられたブロック群である第2オブジェクトとが接し、かつ、前記N画像について時間的に隣り合う画像の第1オブジェクト間の相関度が所定値以上であるか否かを判定する判定手順と、
前記判定手順で肯定と判定された後に、時間を遡って前記第1オブジェクトと前記第2オブジェクトとを追跡する追跡手順と、
前記追跡手順により時間を遡って追跡された前記第1オブジェクトと前記第2オブジェクトとに基づいて、前記オブジェクトマップ記憶部に記憶されているブロックの識別符号と動きベクトルとを更新する更新手順と、
を実行することを特徴とする請求項1から請求項7に記載の移動物体追跡装置。
【請求項9】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置において用いられる画像上移動物体追跡方法であって、
輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順と、
補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順と、
を有することを特徴とする移動物体追跡方法。
【請求項10】
時系列画像を画像処理して画像中の移動物体を検出する画像上移動物体追跡装置としてのコンピュータに、
輪郭抽出部が、前記時系列画像の画像から前記移動物体の輪郭を抽出する輪郭抽出手順を実行し、
補正部が、前記時系列画像の各画像が複数のブロックに分割され、当該画像中の移動物体を示す識別符号が前記移動物体に対応する前記ブロックに付けられて記憶されているオブジェクトマップ記憶部に記憶されている前記ブロックの識別符号を、前記輪郭抽出部が抽出した輪郭に基づいて補正する補正手順を実行する、
ようにさせるための移動物体追跡プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2010−244207(P2010−244207A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−90489(P2009−90489)
【出願日】平成21年4月2日(2009.4.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成20年度 独立行政法人 情報通信研究機構 民間基盤技術研究促進制度「高度画像監視センサネットワーク技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【Fターム(参考)】
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願日】平成21年4月2日(2009.4.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成20年度 独立行政法人 情報通信研究機構 民間基盤技術研究促進制度「高度画像監視センサネットワーク技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【Fターム(参考)】
[ Back to top ]