画像における移動物体の追跡方法及び装置
【課題】画像上で背景が動いても移動物体を追跡可能にする。
【解決手段】撮像装置により移動体の時系列フレーム画像を取得してメモリに格納し、これらから空間的差分フレームを生成する。更に該空間的差分フレーム画像の各画像を、複数画素からなるブロックに分割し、背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求め、移動物体を追跡可能とする。
【解決手段】撮像装置により移動体の時系列フレーム画像を取得してメモリに格納し、これらから空間的差分フレームを生成する。更に該空間的差分フレーム画像の各画像を、複数画素からなるブロックに分割し、背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求め、移動物体を追跡可能とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列画像を処理して画像中の移動物体(車、自転車、動物等の移動可能なもの)を追跡する移動物体追跡方法及び装置に関する。
【背景技術】
【0002】
交通事故の早期発見は、迅速な救助活動により人命救助の成功率を高めるだけでなく、警察の実地検分などを迅速にすることにより事故渋滞を緩和することもできるので、様々な交通事故の認識自動化が期待されている。交通事故の認識率を高めるためには、カメラで撮像された画像を処理して移動物体を正確に追跡する必要がある。
【0003】
図28は、高速道路の中央線上方に設置されたカメラで撮像された時刻t=1〜4の画像を模式的に示す。
【0004】
画像上で車両同士が頻繁に重なるので、画像処理により各車両を追跡するのが困難になる。この問題を解決するには、道路に沿って複数台のカメラを設置し、それらの画像を総合的に処理する必要がある。
【0005】
しかし、カメラ及び画像処理装置を複数台備える必要があるので、コスト高になる。また、各カメラの撮影画像を関係付けて総合的に処理しなければならないので、処理が複雑になる。
【0006】
そこで、本願発明者らは、次のように時間を遡って移動物体を追跡する方法でこの問題を解決した(特許文献1参照。)。
【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とを追跡することが可能となる。
【特許文献1】特開2002−133421
【非特許文献1】S.Kamijo, M.Sakauchi, "Illumination Invariant and Oclusion Robust Vehicle Tracking by Spatio-Temporal MRF Model", 9th World Congress on ITS, Chicago, Oct. 2002.
【非特許文献2】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.
【非特許文献3】S.Kamijo, "Trafic Image Analysys based on Spattio-Temporal Markov Random Field Model", Ph.D. Thesis, 2001
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、背景に対しカメラが動くと移動物体を追跡できなくなるという問題点がある。
【0011】
本発明の目的は、このような問題点に鑑み、背景に対しカメラが動いても移動物体を追跡することが可能な、画像における移動物体の追跡方法及び装置を提供することにある。
【課題を解決するための手段及びその作用効果】
【0012】
本発明の一態様では、コンピュータが、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、
(a)各画像を、複数画素からなるブロックに分割し、
(b)背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求める。
【0013】
この構成によれば、背景に対しカメラが動いても移動物体を追跡するすることが可能となる。
【0014】
本発明の他の態様では、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められ、動きベクトルが未定の第1ブロックが存在する場合、
(a)該第1ブロックの回りの決定済動きベクトルを抽出し、
(b)該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分け、
(c)ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第1ブロックの動きベクトルと推定する。
【0015】
このアルゴリズムによれば、未定の動きベクトルが多く存在していても、該未定動きベクトルが合理的に推定される。これにより、複数のオブジェクトを含む1つのクラスタを動きベクトルに基づいて分割することが可能となる。
【0016】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【0017】
以下、図面を参照して本発明の実施例を説明する。複数の図中の対応する同一又は類似の構成要素には、同一又は類似の符号を付している。本願発明は主に、実施例5に関するものである。なお、実施例5では実施例1〜4を引用しており、実施例5はこれらの内容も含む。
【実施例1】
【0018】
図1は、交差点及びこれに配置された本発明の実施例1の移動物体追跡装置の概略を示す。
【0019】
この装置は、交差点を撮像して画像信号を出力する電子カメラ10と、その画像を処理して移動物体を追跡する移動物体追跡装置20とを備えている。
【0020】
図2は、この移動物体追跡装置20の機能ブロック図である。移動物体追跡装置20の構成要素のうち、記憶部以外はコンピュータソフトウェア、専用のハードウェア又はコンピュータソフトウエアと専用のハードウエアの組み合わせで構成することができる。
【0021】
電子カメラ10で撮影された時系列画像は、例えば12フレーム/秒のレートで、画像メモリ21に格納され、最も古いフレームが新しいフレーム画像で書き換えられる。
【0022】
画像変換部22は、画像メモリ21内の各フレーム画像について、これをフレームバッファメモリ23にコピーし、コピーされた画像のデータを用いて画像メモリ21内の対応するフレーム画像を空間的差分フレーム画像に変換する。この変換は2段階で行われる。
【0023】
元のフレーム画像の第i行第j列の画素値(輝度値)をG(i,j)とすると、第1段階における変換後の第i行第j列の画素値H(i,j)は、次式で表される。
【0024】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)
−G(i,j)| (1)
ここにΣneighberpixcelsは、cを自然数とすると、di=−c〜c及びdj=−c〜cにわたっての総和を意味し、例えばc=1のとき、第i行第j列の画素と隣り合う8画素にわたる総和である。照度が変化すると、画素値G(i,j)とその付近の画素値G(i+di,j+dj)が同様に変化するので、H(i,j)の画像は、照度の変化に対し不変である。
【0025】
ここで、隣り合う画素の差分の絶対値は、一般に画素値が大きいほど大きい。移動物体追跡の成功率を高めるには、画素値が小さくて差分が小さい場合も、画素値及び差分が大きい場合とほぼ等価にエッジ情報を取得した方が好ましい。そこで、H(i,j)を次のように規格化する。
【0026】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)
−G(i,j)|/(Gi,j,max/Gmax) (2)
ここに、Gi,j,maxは、H(i,j)の計算に用いた元の画素の値の最大値であり、例えばc=1の場合、第i行第j列の画素を中心とする3×3画素の値の最大値であり、Gmaxは画素値G(i,j)の取りうる最大値、例えば画素値が8ビットで表される場合、255である。以下、c=1、Gmax=255である場合について説明する。
【0027】
H(i,j)の取りうる最大値は、移動物体毎に異なる。例えばG(i,j)=Gmaxで第i行第j列の画素に隣り合う8画素の値がいずれも0で有る場合、H(i,j)=8Gmaxとなって、H(i,j)を8ビットで表すことができない。
【0028】
一方、移動物体のエッジ部のH(i,j)の値のヒストグラムを作成してみると、頻度の大部分がH=50〜110の範囲に含まれることがわかった。すなわち、Hの値が約110より大きくなるほど移動物体追跡のためのエッジ情報の数が少ないので、重要度が低い。
【0029】
したがって、Hの値の大きい部分を抑圧して変換画素のビット長を短くすることにより、画像処理を高速に行なったほうが好ましい。そこで、第2段階として、このH(i,j)を、シグモイド関数を用いた次式により、I(i,j)に変換する。
【0030】
I=Gmax/{1+exp〔−β(H−α)〕} (3)
シグモイド関数はH=αの付近で線形性が良い。そこで、閾値αの値を、エッジ情報を持つHの度数分布の最頻値、例えば80にする。
【0031】
画像変換部22は、上式(2)及び(3)に基づいて、画素値G(i,j)の画像を画素値I(i,j)の空間的差分フレーム画像に変換し、これを画像メモリ21に格納する。
【0032】
背景画像生成部24、ID生成/消滅部25及び移動物体追跡部27は、画像メモリ21中の空間的差分フレーム画像に基づいて処理を行う。以下においては、空間的差分フレーム画像を単にフレーム画像と称す。
【0033】
背景画像生成部24は、記憶部と処理部とを備え、処理部は、画像メモリ21をアクセスし、例えば過去10分間の全てのフレーム画像の対応する画素について画素値のヒストグラムを作成し、その最頻値(モード)をその画素の画素値とする画像を、移動物体が存在しない背景画像として生成し、これを該記憶部に格納する。背景画像は、この処理が定期的に行われて更新される。
【0034】
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においても行われる。
【0035】
ID生成/消滅部25は、ブロック内に移動物体が存在すると判定すると、このブロックに新たなオブジェクト識別符号(ID)を付与する。ID生成/消滅部25は、ID付与済ブロックと隣接しているブロックに移動物体が存在すると判定すると、この隣接ブロックに付与済ブロックと同一のIDを付与する。このID付与済ブロックは入口スリットに隣接しているブロックも含まれる。例えば図3中の入口スリットEN1内のブロックにはID=1が付与される。
【0036】
IDの付与は、オブジェクトマップ記憶部26内の対応するブロックに対して行われる。オブジェクトマップ記憶部26は、上述の場合60×80ブロックのオブジェクトマップを記憶するためのものであり、各ブロックには、IDが付与されているかどうかのフラグ、IDが付与されている場合にはその番号と後述のブロック動きベクトルとがブロック情報として付与される。なお、該フラグを用いずに、ID=0のときIDが付与されていないと判定してもよい。また、IDの最上位ビットをフラグとしてもよい。
【0037】
入口スリットを通過したクラスタに対しては、移動物体追跡部27により、移動方向のブロックに対するIDの付与及び移動と反対方向のブロックに対するIDの消滅、すなわちクラスタの追跡処理が行われる。移動物体追跡部27による追跡処理は、各クラスタについて出口スリット内まで行われる。
【0038】
ID生成/消滅部25はさらに、オブジェクトマップ記憶部26の内容に基づき出口スリットEX1〜EX4内のブロックにIDが付与されているかどうかを調べ、付与されていれば、出口スリットをクラスタが通過したときにそのIDを消滅させる。例えば図3中の出口スリットEX1内のブロックにID=3が付されている状態から、IDが付されない状態に変化したときに、ID=3を消滅させる。消滅IDは、次の生成IDとして用いることができる。
【0039】
移動物体追跡部27は、オブジェクトマップ記憶部26に格納されている時刻(t−1)のオブジェクトマップと、画像メモリ21に格納されている時刻(t−1)及びtのフレーム画像とに基づいて、時刻tのオブジェクトマップを記憶部26内に作成する。以下、これを説明する。
【0040】
図4〜図7はいずれも、時刻t−1とtの画像を模式的に示す。図4、図6及び図7中の点線はブロックの境界線であり、図5中の点線は画素の境界線である。
【0041】
第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画素移動させる毎に求める(ブロックマッチング)。
【0042】
範囲AMはブロックよりも大きく、その一辺は例えばブロックの一辺の画素数の1.5倍である。範囲AMの中心は、ブロックB(t:1,5)の中心を略−MV移動させた位置にある画素である。
【0043】
相関度は、例えば時空的テクスチャ相関度であり、ブロックB(t:1,5)と領域AXの対応する画素値の差の絶対値の総和である評価値UDが小さいほど、大きいとする。
【0044】
範囲AM内で相関度が最大になる領域AXを求め、この領域の中心を始点としブロックB(1,5)の中心を終点とするベクトルを、ブロックB(t:1,5)の動きベクトルと決定する。また、相関度が最大になる領域AXに最も近い、時刻t−1のブロックのIDを、ブロックB(t:1,5)のIDと決定する。
【0045】
移動物体追跡部27は、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与する。これにより、1つのクラスタであっても、互いに異なるIDをもつ複数のオブジェクト(移動物体)に分割される。図6では、オブジェクト間の境界を太線で示している。
【0046】
オブジェクトマップ上には移動物体の画像が存在しないが、図6では理解を容易にするためにオブジェクトマップ上に移動物体が模式的に描かれている。図7は、オブジェクトマップにオブジェクトの境界を太線で示したものであり、図6に対応している。
【0047】
例えば図3の入口スリットEN1で1つのクラスタが検出され、複数のオブジェクトに分割されず、その後、時刻t1に上記のようにして複数のオブジェクトに分割された場合、時刻t1から時間を遡って、時間が正方向の場合と同様にオブジェクトマップを求めることにより、時刻t1よりも前のオブジェクトマップに対し、複数のオブジェクトに分割する。これにより、分割できなかったオブジェクトを分割して認識することができ、個々のオブジェクトを追跡することができる。
【0048】
特許文献1では、1つのクラスタが複数のクラスタに分離してから時間を遡って個々のオブジェクトを追跡していたが、本実施例によれば、複数のクラスタに分離する前に、例えば図28のt=4より前のt=2から、時間を遡って個々のオブジェクトを追跡することができるので、画像メモリ21の記憶容量を低減でき、また、画像処理量を低減してCPUの負担を軽くすることができる。
【0049】
上記説明では、クラスタ内のブロックの動きベクトルが求まる場合について説明したが、図9(A)に示すように、動きベクトルが求まらないブロックが存在する場合、その位置によっては該ブロックがどちらのオブジェクトに属するのか不明である。ある移動物体に属するブロック内の各画素の色がほぼ同一であった場合、上述のブロックマッチングにより動きベクトルを決定することができない。例えば、画像(空間的差分フレーム画像)を2値画像に変換し、ブロック内に‘1’の画素の数が所定値以下であれば、上記方法により動きベクトルを求めるのに適しないブロックと判定する。
【0050】
このようなブロックの動きベクトルを、図8に示す方法で推定する。
【0051】
(S1)未定の動きベクトルが存在すればステップS2へ進み、そうでなければ未定動きベクトル推定処理を終了する。
【0052】
(S2)動きベクトルが未定のブロックB(i,j)の回りの8個のブロックのうち、決定されている動きベクトルMV1〜MVnを取り出す。
【0053】
(S3)ステップS2で決定済動きベクトルが存在すればステップS4へ進み、そうでなければステップS6へ進む。
【0054】
(S4)動きベクトルMV1〜MVnを、ベクトル間の差の絶対値が所定値以内のグループに分ける。
【0055】
(S5)動きベクトル数が最大のグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。動きベクトル数が最大のグループが複数存在する場合、任意の1つのグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。次にステップS1へ戻る。
【0056】
なお、同一グループの動きベクトルは互いに略等しいので、該同一グループの動きベクトルの任意の1つをブロックB(i,j)の動きベクトルと推定してもよい。
【0057】
(S6)ステップS5で推定された動きベクトルを、決定された動きベクトルとみなし、ステップS1へ戻る。
【0058】
このような処理により、未定動きベクトルを一意的に推定することができる。
【0059】
次に具体例を説明する。図9(A)において、第i行第j列のブロックB(i,j)の動きベクトルをMV(i,j)と表記する。図9(A)では、ブロックB(2,2)、B(2,4)及びB(3,3)の動きベクトルが未定である。
【0060】
ブロック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
と推定する。
【0061】
ブロック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
と推定する。
【0062】
ブロック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
と推定する。
【0063】
このようにして、図9(B)に示すようなオブジェクトマップが生成される。図9(B)では、オブジェクトの境界を太線で示している。
【0064】
図10(A)のように未定動きベクトルの数が多い場合であっても、ステップS3で否定判定されるまで、ステップS1〜S5を繰り返すと、一意的に動きベクトルが推定されて図10(B)のようになる。次に、ステップS6で推定動きベクトルを、決定された動きベクトルとみなして、再度ステップS1〜S5を実行することにより、ブロックB(3,4)の動きベクトルが一意的に推定されて、図10(C)のようになる。次に、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与することにより、1つのクラスタが、互いに異なるIDをもつ複数のオブジェクトに分割される。
【0065】
なお、移動物体追跡部27は、オブジェクトマップ26に格納されているオブジェクトマップの時系列を、追跡結果として不図示のハードディスクに格納する。
【実施例2】
【0066】
上記実施例1では、未定動きベクトルをその周囲のブロックの動きベクトルのみに基づいて決定しているので、未定動きベクトルが多く存在する場合、それらのブロックのID及び動きベクトルの決定精度が低くなる。
【0067】
この精度を向上させるために、本発明の実施例2では、後述する評価関数の値に基づいて、全ブロックのID及び動きベクトルを同時に決定する。この実施例2においても上記実施例1と同様に、図2の移動物体追跡部27は、オブジェクトマップ記憶部26に格納されている時刻(t−1)のオブジェクトマップと、画像メモリ21に格納されている時刻(t−1)及びtのフレーム画像とに基づいて、時刻tのオブジェクトマップを記憶部26内に作成する。
【0068】
まず、移動物体の一部を含む任意のブロックB(t:i,j)の評価関数U(i,j)について説明する。評価関数U(i,j)は、次式のように4つのサブ評価関数の一次結合で表される。
【0069】
U(i,j)=aUD+bUM+cUN+fUV (1)
ここにa〜c及びfは、定数であり、試行錯誤により定められる。
【0070】
以下において、1ブロックをm×m画素とし、時刻tの画像の第g行第h列の画素の値をG(t:g,h)で表し、ブロックB(t:i,j)の推定動きベクトルMVを(MVX,MVY)で表す。i≧0、j≧0とする。
【0071】
(1)時空的テクスチャ相関度を示すサブ評価関数UD
サブ評価関数UDは、時空的テクスチャ相関度を示し、上記実施例1で説明したものと同一であって、次式で表される。
【0072】
UD(i,j,MV)=Σ|G(t:mi+x,mj+y)
−G(t−1:mi+x−MVX,mj+y−MVY)| (2)
ここにΣは、x=0〜m−1及びy=0〜m−1についての総和を意味している。
【0073】
図12において、点線はブロック境界線であり、ハッチングを施した部分は移動物体を示している。図12(B)は、着目ブロックB(t:1,2)の推定動きベクトルがMVである場合を示し、図12(A)は、ブロックB(t−1:1,2)を−MV移動させた領域AXを示す。この場合、ブロックB(t:1,2)の画像と領域AXの画像との評価関数UD(1,2,MV)が算出される。MVを変化させるとUDの値が変化し、UDの値が小さいほどブロックB(t:1,2)の画像と領域AXの画像との間のテクスチャ相関度が大きい。UDが最小値のときのMVが最も確からしい動きベクトルである。移動物体の速度には限度があるので、着目ブロックB(t:1,2)の中心から、所定範囲内、例えば上下±25画素、左右±25画素の範囲内で、領域AXを移動させてUDの最小値を求める。この所定範囲は、実施例1で述べたように、時刻t−1の動きベクトルを用いて予測した範囲AMであってもよい。
【0074】
(2)時空的ID相関度を示すサブ評価関数UM
図13(A)及び(B)はそれぞれ図12(A)及び(B)に対応しており、ハッチングを施した部分は移動物体が存在すると判定されたブロックを示している。
【0075】
着目ブロックB(t:1,2)のIDがID1であると推定したとき、上記領域AX内に含まれるID=ID1の画素数をMとする。図13(A)の場合、領域AX内のハッチングが施された部分の画素数がMである。但し、着目ブロックB(t:1,2)の推定IDが領域AX内のIDと全く異なる場合、M=0となる。Mの最大値はm2である。
【0076】
サブ評価関数UMは、時空的ID相関度を示し、次式で表される。
【0077】
UM(i,j,MV)=(M−m2)2 (3)
UMの値が小さいほど、時空的ID相関度が高い。
【0078】
着目ブロックB(t:i,j)の中心から、上記所定範囲内で領域AXを移動させてaUD+bUMの最小値を求めることにより、着目ブロックのIDとMVを同時に決定することが可能である。
【0079】
(3)空間的ID相関度を示すサブ評価関数UN
図13(B)において、着目ブロックB(t:1,2)のIDがID1であると推定したとき、着目ブロックの回りの8個のブロックB(t:0,1)、B(t:0,2)、B(t:0,3)、B(t:1,3)、B(t:2,3)、B(t:2,2)、B(t:2,1)及びB(t:1,1)のうち、IDがID1であるブロックの数をNとする。図13(B)のハッチングが施された部分のIDが全て同一である場合、着目ブロックB(t:1,2)のNの値は5である。
【0080】
サブ評価関数UNは、空間的ID相関度を示し、次式で表される。
【0081】
UN(i,j)=(N−8)2 (4)
UNの値が小さいほど、空間的ID相関度が高い。
【0082】
(4)空間的MV相関度を示すサブ評価関数UV
着目ブロックB(t:i,j)の中心から、上記所定範囲内で領域AXを移動させてaUD+bUM+cUNの最小値を求めることにより、着目ブロックのIDとMVを同時に決定することが可能である。
【0083】
しかしながら、領域AXを移動させたとき、着目ブロックと同一テクスチャの領域が複数存在する場合、動きベクトルMVが定まらない。この動きベクトルMVは、着目ブロックの近くかつ同一IDのブロックの動きベクトルMVとほぼ同じと推定できる。そこで、空間的MV相関度を示す次のようなサブ評価関数UVを定義する。
【0084】
UV(i,j)=Σ|MV−MVneigher|/L (5)
ここに、MVは上記(1)で述べた着目ブロックB(t:i,j)の推定動きベクトルであり、MVneigherは、着目ブロックB(t:i,j)の回りの8個のブロックのうち、着目ブロックB(t:i,j)の推定IDと同一IDを有するブロックの動きベクトルであり、Σは該同一IDを有するブロックについての総和を意味し、Lは該同一IDを有するブロックの数である。
【0085】
図14(A)の場合、ハッチングを施したブロックが同一IDであるとすると、
UV(1,2)=(|MV−MV1|+|MV−MV2|+|MV−MV3|+|MV−MV4|+|MV−MV5|)/5
である。
【0086】
時刻t−1での上記領域AXが図14(B)の場合、UV(1,2)の値が大きくなり、推定動きベクトルMVの確からしさが小さい。UVの値が小さいほど、空間的MV相関度が高い。
【0087】
着目ブロックB(t:i,j)の中心から、上記所定範囲内で領域AXを移動させて、すなわちMVを変化させて、上式(1)の評価関数Uが最小値になるように、着目ブロックのIDとMVを同時に決定することが可能である。
【0088】
なお、MVneigherは、着目ブロックB(t:i,j)の回りのブロックのものであればよく、例えば、上下左右4個のブロック、着目ブロックB(t:i,j)の回り(1回り)の8個のブロックのうち任意の1個のブロック又は着目ブロックB(t:i,j)の回り(2回り)の24個のブロックのうち、着目ブロックB(t:i,j)の推定IDと同一IDを有するブロックの動きベクトルであってもよい。また、MVneigherは、時刻t−1の対応する動きベクトルで近似してもよい。すなわち、着目ブロックB(t:i,j)を−MV移動させた領域の中心が属するブロックをB(t−1,p,q)とすると、ブロックB(t−1,p,q)の近くのブロックのうち、着目ブロックB(t:i,j)の推定IDと同一IDを有するブロックの動きベクトルであってもよい。
【0089】
サブ評価関数UN及びUVはいずれも時刻tでの空間的相関度に関するので、理想的には、全てのブロックについての評価関数Uの総和の最小値を求めることにより、時刻tの全てのブロックのIDとMVを同時に決定する。実際には、処理時間を短くしてリアルタイム処理を可能にするために、図11に示すような近似法によりIDとMVを決定する。
【0090】
(S11)時刻tで移動物体の一部が含まれる各ブロックについて、上式(2)の評価関数UDの値を最小にする動きベクトルMVを求める。但し、上述の動きベクトルを求めるのに適しないブロックについては動きベクトルMVを求めない。次に、動きベクトルを求めるのに適しない各ブロックについて、上式(5)の評価関数UVの値を最小にする動きベクトルMVを求める。この場合、図8のステップS1〜S3及びS6の処理を加えることにより、一意的に動きベクトルMVを決定してもよい。
【0091】
(S12)動きベクトルMVを有する各ブロックについて、上式(3)の評価関数UMが最小になるようにIDを決定する。この動きベクトルMVは、ステップS11で求められたものであり、固定である。時刻t−1でIDが付与されていない最初の画像については、隣り合うブロックの動きベクトルMVの差が所定値以内のブロックに同一IDを付与する。
【0092】
(S13)ID及びMVが求められた各ブロックの評価関数Uの値の総和UTを求める。
【0093】
(S14)総和UTをより小さくするID及びMVの分布を求めるために、該分布を変更する。
【0094】
(S15)ステップS13及びS14を所定回数繰り返したと判定され、又は、総和UTが収束したと判定されれば、処理を終了し、そうでなければステップS15へ戻る。
【0095】
このようにして、総和UTを略最小にするID及びMVの分布をリアルタイムで求めることができる。
【0096】
例えば、ステップS14で、1つのブロックのMVを所定範囲内で1画素ずらし又は1つのブロックのIDを変更し、ステップS13に戻って総和UTが前の値より大きくなれば、ステップS14で、変更したMV又はIDを元に戻し、小さくなれば、次のブロックについて同様の変更を行う。該所定範囲は例えば、上下左右の各々について+4画素である。
【0097】
また、1つのブロックのMV又はIDを変更してもその影響は全てのブロックの評価関数に波及しないので、総和UTを求めずに、全ブロックのうち影響を受けるブロックの評価関数Uの値の総和UTportionを略最小にしてもよい。この場合、各ブロックの評価関数Uの値を一時記憶しておき、その前回値と今回値を比較することにより、影響の有無を判定することができる。
【0098】
さらに、ステップS13〜S15の繰り返し処理を行う替わりに、総和UTを小さくする処理を予め推定し、この処理を行って総和UT又はUTportionを計算し、その値が処理前より小さくなっていればそのオブジェクトマップを採用し、そうでなければ処理前のオブジェクトマップを採用するようにしてもよい。この推定処理は例えば、上式(5)に基づく動きベクトルの空間的平均化である。すなわち、式(5)中のMVを、MV=ΣMVneigher/Lとすることにより式(5)の値を最小にすることができるので、既に求まっているMVneigherを用いて、MVをMV=ΣMVneigher/Lとする。
【0099】
また、ステップS11において、動きベクトルを求めるのに適しないブロックの動きベクトルを求めないで、ステップS13〜S15の処理又はこれに替わる前記処理により、動きベクトルを求めるのに適しないブロックの動きベクトルを決定してもよい。
【0100】
次に、実施例2の実験結果を説明する。
【0101】
定数a〜c及びfは試行錯誤により、a=32/1000000、b=1/256、c=1/2、f=1/4と決定された。また、ステップS13〜S15の繰り返し処理を行う替わりに、上記動きベクトルの空間的平均化処理を行った。
【0102】
図15(A)及び(B)はそれぞれ、交差点での撮影画像及びそのIDのオブジェクトマップを示す。図中の太線は、同一IDが含まれる矩形を示す(以下同様)。
【0103】
図16(A)及び(B)はそれぞれ、高速道路での低角度撮影画像及びそのIDのオブジェクトマップを示す。
【0104】
図17(A)及び(B)はそれぞれ、横断歩道での撮影画像、及び、これとIDのオブジェクトマップのID付与部のメッシュとを重ね合わせた画像を示す。
【0105】
図16(A)及び図17(B)中の矩形に付与された番号は、オブジェクトのIDである。
【0106】
このような混雑し重なった移動物体を追跡することができた。
【実施例3】
【0107】
図10(C)のようにオブジェクト境界の両側に、推定された動きベクトルの数が多く、かつ、境界の両側の動きベクトルの差の絶対値が比較的小さい場合、オブジェクト境界の精度が悪くなる。このような場合、時間を遡ってオブジェクトを追跡すると、追跡精度も悪くなる。
【0108】
隣り合うブロックの動きベクトルMVの差が所定値以内のブロックに同一IDを付与するという規則における該所定値を大きくすることにより、この問題を解決することもできるが、この場合、時間を遡る追跡処理の開始時点が遅れることになる。
【0109】
そこで、本発明の実施例3ではこれらの問題を解決するため、図18に示す方法を行うことにより、時間を遡る追跡処理の開始時点を決定する。この方法では、連続するN画像、例えば3画像について、時間的に隣り合う画像における同一オブジェクト間の相関度(オブジェクトの時空的相関度)が所定値以上である場合、オブジェクト境界の信頼性が高いと判定する。
【0110】
例えば図19(A)に示すような時刻t−1のオブジェクトマップが既に作成されているとする。
【0111】
(S21)カウンタCNTに初期値0を代入する。
【0112】
(S22)時刻tのオブジェクトマップを、上記実施例1で述べた方法で作成する。図19(B)は時刻tのオブジェクトマップを示す。
【0113】
(S23)1つのクラスタに複数のオブジェクトが含まれる場合にはステップS24へ進み、そうでなければステップS27へ進む。
【0114】
(S24)時刻t−1とtのオブジェクトマップについて、オブジェクトの時空的相関度を求める。
【0115】
例えば、図19(A)の一方のオブジェクトOBJ1(t−1)を、このオブジェクトの平均動きベクトルだけ移動した図形と、図19(B)の該一方に対応するオブジェクトOBJ1(t)の図形との図形論理積(図19(C)のハッチングが施された図形)の面積A1を求め、オブジェクトOBJ1(t−1)の図形の面積A0を求め、比A1/A0を相関度として求める。面積A0は、オブジェクトOBJ1(t)の図形の面積であってもよい。
【0116】
(S25)A1/A0が所定値r0以上であればステップS26へ進み、そうでなければステップS27へ進む。
【0117】
(S26)カウンタCNTを1だけインクリメントし、ステップS28へ進む。
【0118】
(S27)カウンタCNTをゼロクリアする。
【0119】
(S28)CNT<N−1であればステップS29へ進み、そうでなければステップS30へ進む。
【0120】
(S29)次の時刻t+1をtとしてステップS21へ戻る。
【0121】
(S30)オブジェクトの時空的相関度が高いと判定し、時間tから遡ってオブジェクトを追跡する。
【実施例4】
【0122】
図20は、本発明の実施例4のオブジェクトマップ説明図である。
【0123】
ブロックサイズを小さくすればオブジェクトの境界精度が向上する。しかし、ブロックサイズを小さくするほど、ブロックマッチングにより動きベクトルを決定することが困難になる。
【0124】
この問題を解決するために、本発明の実施例4では、ID及び動きベクトルMVを付与する各ブロックB(i,j)の動きベクトルを決定するためのブロックB’(i,j)のサイズを、ブロックB(i,j)のサイズよりも大きくしている。ブロックB’(i,j)はブロックB(i,j)と同心であり、ブロックB’(i,j)内にブロックB(i,j)が含まれている。
【0125】
例えば図20において、ブロックB’(t:3,10)は、ブロックB(t:3,10)の動きベクトルを求めるためのものである。図5の場合と同様に、ブロックB’(t:3,10)の画像と、時刻t−1のブロックサイズの領域AXの画像とのテクスチャ相関度を、所定範囲AM内で領域AXを1画素移動させる毎に求める。
【0126】
他の点は、上記実施例1、2又は3と同一である。
【実施例5】
【0127】
上記実施例では、ブロック単位で背景画像と比較することにより、オブジェクトが存在するかどうかを調べているので、背景画像を特別扱いしなければならない。また、例えば過去10分間の撮影画像に基づいて背景画像を生成しているので、カメラが揺れた場合には、この揺れを背景画像に反映させることができない。
【0128】
そこで、本発明の実施例5では、このような問題を解決するために、背景画像もオブジェクトとみなしてオブジェクトマップを作成する。オブジェクトマップ生成方法は、背景画像と比較してブロックに移動物体が存在するかどうかを判定する点以外は、上記実施例1、2、3又は4と同一である。背景画像もオブジェクトとみなすので、全てのブロックについて、ブロックマッチングを行うことによりIDを付与しMVを決定する。
【0129】
次に、図11の処理により時刻tのオブジェクトマップが作成される過程の概略を図21及び図22に基づいて説明する。
【0130】
(S11)時刻tで各ブロックについて、上式(2)の評価関数UDの値を最小にする動きベクトルMVを求める。但し、上述の動きベクトルを求めるのに適しないブロックについては動きベクトルMVを求めない。
【0131】
図21(A)に示すような画像に対し、この処理を行うことにより、図21(B)に示すような動きベクトルのオブジェクトマップが得られる。図21(B)において、点線はブロックの境界線であり、ドットは動きベクトルが0であることを示している。
【0132】
次に、動きベクトルを求めるのに適しない各ブロックについて、上式(5)の評価関数UVの値を最小にする動きベクトルMVを求める。これにより、図22(A)に示すような動きベクトルのオブジェクトマップが得られる。
【0133】
ステップS12〜S15の処理は実施例2と同一である。
【0134】
ステップS12の処理により、図22(B)に示すようなIDのオブジェクトマップが得られる。
【0135】
このようにすれば、特別な背景画像を用いる必要がなく、また、カメラが揺れても、背景画像を識別することができる。また、画像上に入口スリットを設ける必要がなくなる。さらに、画像の枠から出たオブジェクトのIDを消滅させることにより、出口スリットを用いなくてもよい。
【実施例6】
【0136】
以上の実施例では、画像をブロックに分割し、ブロック単位でオブジェクトのID及びMVを決定していたので、ブロックの境界と無関係な移動物体の一部、例えばブロックサイズの領域を追跡することができなかった。
【0137】
本発明の実施例6では、画像をブロックに分割し、ブロック単位でオブジェクトのID及びMVを決定するとともに、ブロックの境界と無関係な移動物体の一部を追跡する。
【0138】
図2のオブジェクトマップ記憶部26には、図23に示すように、時刻t〜t−5の時系列画像に対応したオブジェクトマップOM(t)〜OM(t−5)が格納されている。
【0139】
次の時刻では、t→t−1とされ、すなわちオブジェクトマップOM(t)〜OM(t−5)がそれぞれOM(t−1)〜OM(t−6)とされる。そして、最も古いオブジェクトマップOM(t−6)が新たなオブジェクトマップOM(t)で更新される。
【0140】
図2の移動物体追跡部27において、移動物体の一部の追跡が以下のようにして行われる。
【0141】
図24(A)に示すように、オブジェクトマップOM(t)上の着目領域A(t)の動きベクトルがMV(t)であるとする。図24(A)中の点線はブロックの境界であり、この例では着目領域A(t)が1つのブロックに一致している。
【0142】
図24(B)に示すように、着目領域A(t)を、−MV(t)移動させた領域に対応するオブジェクトマップOM(t−1)の着目領域A(t−1)を求める。
【0143】
着目領域A(t−1)の動きベクトルMV(t−1)を、次のような重み付き平均により求める。
【0144】
MV(t−1)=(MV1・S1+MV2・S2+MV3・S3+MV4・S4)/(S1+S2+S3+S4)
ここに、MV1〜MV4は着目領域A(t−1)と重なった第1〜4ブロックの動きベクトルであり、S1〜S4は着目領域A(t−1)と重なった第1〜4ブロックの重なり部分画素数である。
【0145】
図24(C)に示すように、着目領域A(t−1)を、−MV(t−1)移動させた領域に対応するオブジェクトマップOM(t−2)の着目領域A(t−2)を求める。
【0146】
着目領域A(t−2)の動きベクトルMV(t−2)を、上記同様にして求める。
【0147】
このような着目領域の移動と移動後の着目領域の動きベクトル算出の処理を繰り返すことにより、着目領域を、ブロックの境界と無関係に追跡することができる。すなわち、時刻tの着目領域A(t)に対し、時刻t−1〜t−5の着目領域A(t−1)〜A(t−5)を求めることができる。
【0148】
本発明の実施例6によれば、移動物体の一部である着目領域を追跡することができ、例えば着目領域の行動パターンを解析したり、分類したり、特定の行動パターンであると判定したりすることが可能となる。また、複数の着目領域間の相対位置の行動パターンを解析したり、分類したり、特定の行動パターンであると判定したりすることが可能となる。
【0149】
上記の例では、時刻tでの着目領域が1つのブロックに一致する場合を説明したが、図24(B)のように着目領域が1つのブロックに一致しない場合であってもよい。この場合の着目領域の動きベクトルは、上記のように重み付き平均により求める。
【0150】
また、上記の例では、時間を遡って着目領域を追跡する場合を説明したが、オブジェクトマップOM(t−5)上の着目領域A(t−5)から出発し、動きベクトルの正方向へ着目領域を移動させることにより、着目領域を追跡してもよい。この場合、新たなオブジェクトマップOM(t)が求まる毎に、着目領域A(t)を求めることにより、着目領域を追跡することができる。
【0151】
さらに、着目領域はブロックサイズより大きくても小さくてもよい。
【実施例7】
【0152】
次に、オブジェクト境界認識に上記実施例6の方法を利用した例を、実施例7として説明する。
【0153】
図25(A)において、オブジェクトマップOM(t)上の隣り合う着目領域Ai(t)及びAj(t)の動きベクトルがそれぞれMVi(t)及びMVj(t)であるとする。領域Ai(t)及びAj(t)が互いに異なる移動物体の一部であっても、|MVi(t)−MVj(t)|が比較的小さい場合、両者を異なる移動物体と認識することができない。特に、カメラから遠く離れた複数の移動物体が互いに重なって見える場合、この問題が生ずる。
【0154】
そこで、上記実施例6の方法により、オブジェクトマップOM(t−5)上の着目領域Ai(t−5)及びAj(t−5)を決定する。領域Ai(t−5)の中心から領域Ai(t)の中心までの動きベクトルを、早送り動きベクトルMVi(t−5,t)として求める。同様に、領域Aj(t−5)の中心から領域Aj(t)の中心までの動きベクトルを、早送り動きベクトルMVj(t−5,t)として求める。そして、|MVi(t−5,t)−MVj(t−5,t)|の値が所定値εを越えていれば、着目領域Ai(t)とAj(t)の境界が互いに異なる移動物体の境界であると認識する。
【0155】
このような処理を、オブジェクトマップOM(t)上の1つのクラスタ内の全ての隣り合うブロックに適用することにより、該クラスタに含まれている複数の移動物体を分割認識することができる。
【0156】
上記の例では|MVi(t−k,t)−MVj(t−k,t)|のkが5である場合を説明したが、重なって見える移動物体間の画像上相対速度が小さいほどkの値を大きくした方が好ましい。
【0157】
そこで、1つのクラスタについて、図26に示すような動きベクトルの絶対値のヒストグラムを作成する。ピークが複数存在すれば、このクラスタに複数の移動物体が含まれていると推定できる。ピーク間の距離ΔVに対し、kの値を、
k=[αΔV]
と決定する。ここにαは試行錯誤により定められる定数であり、[]は四捨五入による整数化を意味する。
【実施例8】
【0158】
図27は、本発明の実施例8の移動体境界認識方法を示すフローチャートである。
【0159】
この方法では、上記ヒストグラムを作成せずに、図25(A)の2つの着目領域について、以下のようにkの値を0から最大値kmaxまで変化させる。kmaxは例えば、10フレーム/秒の場合、5である。
【0160】
(S31)kに初期値0を代入する。
【0161】
(S32)|MVi(t−k,t)−MVj(t−k,t)|>εであればステップS33へ進み、そうでなければステップS34へ進む。
【0162】
(S33)着目領域Ai(t)とAj(t)の境界が互いに異なる移動物体の境界であると認識する。
【0163】
(S34)kの値を1だけインクリメントする。
【0164】
(S35)k>kmaxであればステップS36へ進み、そうでなければステップS32へ戻る。
【0165】
(S36)着目領域Ai(t)とAj(t)が同一移動物体に属すると認識する。
【0166】
他の点は、上記実施例7と同一である。
【0167】
この実施例8によれば、上記ヒストグラムを作成せずにkの値が自動的に決定される。
【0168】
なお、本発明には外にも種々の変形例が含まれる。
【0169】
例えば、上記実施例では空間的差分画像を処理して移動物体を追跡する場合を説明したが、本発明は各種エッジ画像や原画像を処理して移動物体(移動物体の一部を含む)を追跡する構成であってもよい。
【図面の簡単な説明】
【0170】
【図1】交差点及びこれに配置された本発明の実施例1の移動物体追跡装置の概略を示す図である。
【図2】図1中の移動物体追跡装置の機能ブロック図である。
【図3】図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】本発明の実施例2のオブジェクトマップ作成方法を示すフローチャートである。
【図12】(A)及び(B)は時空的テクスチャ相関度の説明図である。
【図13】(A)及び(B)は空間的ID相関度の説明図である。
【図14】(A)及び(B)は空間的動きベクトル相関度の説明図である。
【図15】本発明の実施例2の実験結果を示す図であって、(A)及び(B)はそれぞれ、交差点での撮影画像及びそのIDのオブジェクトマップを示す図である。
【図16】本発明の実施例2の実験結果を示す図であって、(A)及び(B)はそれぞれ、高速道路での低角度撮影画像及びそのIDのオブジェクトマップを示す図である。
【図17】本発明の実施例2の実験結果を示す図であって、(A)及び(B)はそれぞれ、横断歩道での撮影画像、及び、これとIDのオブジェクトマップのID付与部のメッシュとを重ね合わせた画像を示す図である。
【図18】本発明の実施例3の、クラスタを分割するオブジェクト境界が確定したかどうかを判断する方法を示すフローチャートである。
【図19】(A)〜(C)は図18の処理を説明するための図である。
【図20】本発明の実施例4のブロックマッチング説明図であって、(A)及び(B)はそれぞれ時刻t−1及びtの画像をブロック境界線とともに模式的に示す図である。
【図21】(A)及び(B)は本発明の実施例5を説明するための図であって、(A)は画像を模式的に示す図、(B)は第1段階で求められる動きベクトルのオブジェクトマップを示す図である。
【図22】(A)及び(B)は該実施例5を説明するための図であって、(A)は第2段階で求められる動きベクトルのオブジェクトマップを示す図、(B)はIDのオブジェクトマップを示す図である。
【図23】着目領域を追跡する本発明の実施例6を説明するための時系列オブジェクトマップを示す図である。
【図24】(A)〜(C)は、時間を遡って着目領域を追跡する方法の説明図である。
【図25】(A)及び(B)は本発明の実施例7のオブジェクト境界認識方法説明図である。
【図26】1つのクラスタについての、動きベクトルの絶対値のヒストグラムを示す図である。
【図27】本発明の実施例8のオブジェクト境界認識方法を示すフローチャートである。
【図28】道路中央線上方に設置されたカメラで撮像された時系列画像を模式的に示す図である。
【符号の説明】
【0171】
10 カメラ
20 移動物体追跡装置
21 画像メモリ
22 画像変換部
23 フレームバッファメモリ
24 背景画像生成部
25 ID生成/消滅部
26 オブジェクトマップ記憶部
【技術分野】
【0001】
本発明は、時系列画像を処理して画像中の移動物体(車、自転車、動物等の移動可能なもの)を追跡する移動物体追跡方法及び装置に関する。
【背景技術】
【0002】
交通事故の早期発見は、迅速な救助活動により人命救助の成功率を高めるだけでなく、警察の実地検分などを迅速にすることにより事故渋滞を緩和することもできるので、様々な交通事故の認識自動化が期待されている。交通事故の認識率を高めるためには、カメラで撮像された画像を処理して移動物体を正確に追跡する必要がある。
【0003】
図28は、高速道路の中央線上方に設置されたカメラで撮像された時刻t=1〜4の画像を模式的に示す。
【0004】
画像上で車両同士が頻繁に重なるので、画像処理により各車両を追跡するのが困難になる。この問題を解決するには、道路に沿って複数台のカメラを設置し、それらの画像を総合的に処理する必要がある。
【0005】
しかし、カメラ及び画像処理装置を複数台備える必要があるので、コスト高になる。また、各カメラの撮影画像を関係付けて総合的に処理しなければならないので、処理が複雑になる。
【0006】
そこで、本願発明者らは、次のように時間を遡って移動物体を追跡する方法でこの問題を解決した(特許文献1参照。)。
【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とを追跡することが可能となる。
【特許文献1】特開2002−133421
【非特許文献1】S.Kamijo, M.Sakauchi, "Illumination Invariant and Oclusion Robust Vehicle Tracking by Spatio-Temporal MRF Model", 9th World Congress on ITS, Chicago, Oct. 2002.
【非特許文献2】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.
【非特許文献3】S.Kamijo, "Trafic Image Analysys based on Spattio-Temporal Markov Random Field Model", Ph.D. Thesis, 2001
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、背景に対しカメラが動くと移動物体を追跡できなくなるという問題点がある。
【0011】
本発明の目的は、このような問題点に鑑み、背景に対しカメラが動いても移動物体を追跡することが可能な、画像における移動物体の追跡方法及び装置を提供することにある。
【課題を解決するための手段及びその作用効果】
【0012】
本発明の一態様では、コンピュータが、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、
(a)各画像を、複数画素からなるブロックに分割し、
(b)背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求める。
【0013】
この構成によれば、背景に対しカメラが動いても移動物体を追跡するすることが可能となる。
【0014】
本発明の他の態様では、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められ、動きベクトルが未定の第1ブロックが存在する場合、
(a)該第1ブロックの回りの決定済動きベクトルを抽出し、
(b)該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分け、
(c)ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第1ブロックの動きベクトルと推定する。
【0015】
このアルゴリズムによれば、未定の動きベクトルが多く存在していても、該未定動きベクトルが合理的に推定される。これにより、複数のオブジェクトを含む1つのクラスタを動きベクトルに基づいて分割することが可能となる。
【0016】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【0017】
以下、図面を参照して本発明の実施例を説明する。複数の図中の対応する同一又は類似の構成要素には、同一又は類似の符号を付している。本願発明は主に、実施例5に関するものである。なお、実施例5では実施例1〜4を引用しており、実施例5はこれらの内容も含む。
【実施例1】
【0018】
図1は、交差点及びこれに配置された本発明の実施例1の移動物体追跡装置の概略を示す。
【0019】
この装置は、交差点を撮像して画像信号を出力する電子カメラ10と、その画像を処理して移動物体を追跡する移動物体追跡装置20とを備えている。
【0020】
図2は、この移動物体追跡装置20の機能ブロック図である。移動物体追跡装置20の構成要素のうち、記憶部以外はコンピュータソフトウェア、専用のハードウェア又はコンピュータソフトウエアと専用のハードウエアの組み合わせで構成することができる。
【0021】
電子カメラ10で撮影された時系列画像は、例えば12フレーム/秒のレートで、画像メモリ21に格納され、最も古いフレームが新しいフレーム画像で書き換えられる。
【0022】
画像変換部22は、画像メモリ21内の各フレーム画像について、これをフレームバッファメモリ23にコピーし、コピーされた画像のデータを用いて画像メモリ21内の対応するフレーム画像を空間的差分フレーム画像に変換する。この変換は2段階で行われる。
【0023】
元のフレーム画像の第i行第j列の画素値(輝度値)をG(i,j)とすると、第1段階における変換後の第i行第j列の画素値H(i,j)は、次式で表される。
【0024】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)
−G(i,j)| (1)
ここにΣneighberpixcelsは、cを自然数とすると、di=−c〜c及びdj=−c〜cにわたっての総和を意味し、例えばc=1のとき、第i行第j列の画素と隣り合う8画素にわたる総和である。照度が変化すると、画素値G(i,j)とその付近の画素値G(i+di,j+dj)が同様に変化するので、H(i,j)の画像は、照度の変化に対し不変である。
【0025】
ここで、隣り合う画素の差分の絶対値は、一般に画素値が大きいほど大きい。移動物体追跡の成功率を高めるには、画素値が小さくて差分が小さい場合も、画素値及び差分が大きい場合とほぼ等価にエッジ情報を取得した方が好ましい。そこで、H(i,j)を次のように規格化する。
【0026】
H(i,j)=Σneighberpixcels|G(i+di,j+dj)
−G(i,j)|/(Gi,j,max/Gmax) (2)
ここに、Gi,j,maxは、H(i,j)の計算に用いた元の画素の値の最大値であり、例えばc=1の場合、第i行第j列の画素を中心とする3×3画素の値の最大値であり、Gmaxは画素値G(i,j)の取りうる最大値、例えば画素値が8ビットで表される場合、255である。以下、c=1、Gmax=255である場合について説明する。
【0027】
H(i,j)の取りうる最大値は、移動物体毎に異なる。例えばG(i,j)=Gmaxで第i行第j列の画素に隣り合う8画素の値がいずれも0で有る場合、H(i,j)=8Gmaxとなって、H(i,j)を8ビットで表すことができない。
【0028】
一方、移動物体のエッジ部のH(i,j)の値のヒストグラムを作成してみると、頻度の大部分がH=50〜110の範囲に含まれることがわかった。すなわち、Hの値が約110より大きくなるほど移動物体追跡のためのエッジ情報の数が少ないので、重要度が低い。
【0029】
したがって、Hの値の大きい部分を抑圧して変換画素のビット長を短くすることにより、画像処理を高速に行なったほうが好ましい。そこで、第2段階として、このH(i,j)を、シグモイド関数を用いた次式により、I(i,j)に変換する。
【0030】
I=Gmax/{1+exp〔−β(H−α)〕} (3)
シグモイド関数はH=αの付近で線形性が良い。そこで、閾値αの値を、エッジ情報を持つHの度数分布の最頻値、例えば80にする。
【0031】
画像変換部22は、上式(2)及び(3)に基づいて、画素値G(i,j)の画像を画素値I(i,j)の空間的差分フレーム画像に変換し、これを画像メモリ21に格納する。
【0032】
背景画像生成部24、ID生成/消滅部25及び移動物体追跡部27は、画像メモリ21中の空間的差分フレーム画像に基づいて処理を行う。以下においては、空間的差分フレーム画像を単にフレーム画像と称す。
【0033】
背景画像生成部24は、記憶部と処理部とを備え、処理部は、画像メモリ21をアクセスし、例えば過去10分間の全てのフレーム画像の対応する画素について画素値のヒストグラムを作成し、その最頻値(モード)をその画素の画素値とする画像を、移動物体が存在しない背景画像として生成し、これを該記憶部に格納する。背景画像は、この処理が定期的に行われて更新される。
【0034】
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においても行われる。
【0035】
ID生成/消滅部25は、ブロック内に移動物体が存在すると判定すると、このブロックに新たなオブジェクト識別符号(ID)を付与する。ID生成/消滅部25は、ID付与済ブロックと隣接しているブロックに移動物体が存在すると判定すると、この隣接ブロックに付与済ブロックと同一のIDを付与する。このID付与済ブロックは入口スリットに隣接しているブロックも含まれる。例えば図3中の入口スリットEN1内のブロックにはID=1が付与される。
【0036】
IDの付与は、オブジェクトマップ記憶部26内の対応するブロックに対して行われる。オブジェクトマップ記憶部26は、上述の場合60×80ブロックのオブジェクトマップを記憶するためのものであり、各ブロックには、IDが付与されているかどうかのフラグ、IDが付与されている場合にはその番号と後述のブロック動きベクトルとがブロック情報として付与される。なお、該フラグを用いずに、ID=0のときIDが付与されていないと判定してもよい。また、IDの最上位ビットをフラグとしてもよい。
【0037】
入口スリットを通過したクラスタに対しては、移動物体追跡部27により、移動方向のブロックに対するIDの付与及び移動と反対方向のブロックに対するIDの消滅、すなわちクラスタの追跡処理が行われる。移動物体追跡部27による追跡処理は、各クラスタについて出口スリット内まで行われる。
【0038】
ID生成/消滅部25はさらに、オブジェクトマップ記憶部26の内容に基づき出口スリットEX1〜EX4内のブロックにIDが付与されているかどうかを調べ、付与されていれば、出口スリットをクラスタが通過したときにそのIDを消滅させる。例えば図3中の出口スリットEX1内のブロックにID=3が付されている状態から、IDが付されない状態に変化したときに、ID=3を消滅させる。消滅IDは、次の生成IDとして用いることができる。
【0039】
移動物体追跡部27は、オブジェクトマップ記憶部26に格納されている時刻(t−1)のオブジェクトマップと、画像メモリ21に格納されている時刻(t−1)及びtのフレーム画像とに基づいて、時刻tのオブジェクトマップを記憶部26内に作成する。以下、これを説明する。
【0040】
図4〜図7はいずれも、時刻t−1とtの画像を模式的に示す。図4、図6及び図7中の点線はブロックの境界線であり、図5中の点線は画素の境界線である。
【0041】
第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画素移動させる毎に求める(ブロックマッチング)。
【0042】
範囲AMはブロックよりも大きく、その一辺は例えばブロックの一辺の画素数の1.5倍である。範囲AMの中心は、ブロックB(t:1,5)の中心を略−MV移動させた位置にある画素である。
【0043】
相関度は、例えば時空的テクスチャ相関度であり、ブロックB(t:1,5)と領域AXの対応する画素値の差の絶対値の総和である評価値UDが小さいほど、大きいとする。
【0044】
範囲AM内で相関度が最大になる領域AXを求め、この領域の中心を始点としブロックB(1,5)の中心を終点とするベクトルを、ブロックB(t:1,5)の動きベクトルと決定する。また、相関度が最大になる領域AXに最も近い、時刻t−1のブロックのIDを、ブロックB(t:1,5)のIDと決定する。
【0045】
移動物体追跡部27は、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与する。これにより、1つのクラスタであっても、互いに異なるIDをもつ複数のオブジェクト(移動物体)に分割される。図6では、オブジェクト間の境界を太線で示している。
【0046】
オブジェクトマップ上には移動物体の画像が存在しないが、図6では理解を容易にするためにオブジェクトマップ上に移動物体が模式的に描かれている。図7は、オブジェクトマップにオブジェクトの境界を太線で示したものであり、図6に対応している。
【0047】
例えば図3の入口スリットEN1で1つのクラスタが検出され、複数のオブジェクトに分割されず、その後、時刻t1に上記のようにして複数のオブジェクトに分割された場合、時刻t1から時間を遡って、時間が正方向の場合と同様にオブジェクトマップを求めることにより、時刻t1よりも前のオブジェクトマップに対し、複数のオブジェクトに分割する。これにより、分割できなかったオブジェクトを分割して認識することができ、個々のオブジェクトを追跡することができる。
【0048】
特許文献1では、1つのクラスタが複数のクラスタに分離してから時間を遡って個々のオブジェクトを追跡していたが、本実施例によれば、複数のクラスタに分離する前に、例えば図28のt=4より前のt=2から、時間を遡って個々のオブジェクトを追跡することができるので、画像メモリ21の記憶容量を低減でき、また、画像処理量を低減してCPUの負担を軽くすることができる。
【0049】
上記説明では、クラスタ内のブロックの動きベクトルが求まる場合について説明したが、図9(A)に示すように、動きベクトルが求まらないブロックが存在する場合、その位置によっては該ブロックがどちらのオブジェクトに属するのか不明である。ある移動物体に属するブロック内の各画素の色がほぼ同一であった場合、上述のブロックマッチングにより動きベクトルを決定することができない。例えば、画像(空間的差分フレーム画像)を2値画像に変換し、ブロック内に‘1’の画素の数が所定値以下であれば、上記方法により動きベクトルを求めるのに適しないブロックと判定する。
【0050】
このようなブロックの動きベクトルを、図8に示す方法で推定する。
【0051】
(S1)未定の動きベクトルが存在すればステップS2へ進み、そうでなければ未定動きベクトル推定処理を終了する。
【0052】
(S2)動きベクトルが未定のブロックB(i,j)の回りの8個のブロックのうち、決定されている動きベクトルMV1〜MVnを取り出す。
【0053】
(S3)ステップS2で決定済動きベクトルが存在すればステップS4へ進み、そうでなければステップS6へ進む。
【0054】
(S4)動きベクトルMV1〜MVnを、ベクトル間の差の絶対値が所定値以内のグループに分ける。
【0055】
(S5)動きベクトル数が最大のグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。動きベクトル数が最大のグループが複数存在する場合、任意の1つのグループの動きベクトルの平均値を、ブロックB(i,j)の動きベクトルと推定する。次にステップS1へ戻る。
【0056】
なお、同一グループの動きベクトルは互いに略等しいので、該同一グループの動きベクトルの任意の1つをブロックB(i,j)の動きベクトルと推定してもよい。
【0057】
(S6)ステップS5で推定された動きベクトルを、決定された動きベクトルとみなし、ステップS1へ戻る。
【0058】
このような処理により、未定動きベクトルを一意的に推定することができる。
【0059】
次に具体例を説明する。図9(A)において、第i行第j列のブロックB(i,j)の動きベクトルをMV(i,j)と表記する。図9(A)では、ブロックB(2,2)、B(2,4)及びB(3,3)の動きベクトルが未定である。
【0060】
ブロック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
と推定する。
【0061】
ブロック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
と推定する。
【0062】
ブロック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
と推定する。
【0063】
このようにして、図9(B)に示すようなオブジェクトマップが生成される。図9(B)では、オブジェクトの境界を太線で示している。
【0064】
図10(A)のように未定動きベクトルの数が多い場合であっても、ステップS3で否定判定されるまで、ステップS1〜S5を繰り返すと、一意的に動きベクトルが推定されて図10(B)のようになる。次に、ステップS6で推定動きベクトルを、決定された動きベクトルとみなして、再度ステップS1〜S5を実行することにより、ブロックB(3,4)の動きベクトルが一意的に推定されて、図10(C)のようになる。次に、隣り合うブロックの動きベクトルの差の絶対値が所定値以下のブロックに同一のIDを付与することにより、1つのクラスタが、互いに異なるIDをもつ複数のオブジェクトに分割される。
【0065】
なお、移動物体追跡部27は、オブジェクトマップ26に格納されているオブジェクトマップの時系列を、追跡結果として不図示のハードディスクに格納する。
【実施例2】
【0066】
上記実施例1では、未定動きベクトルをその周囲のブロックの動きベクトルのみに基づいて決定しているので、未定動きベクトルが多く存在する場合、それらのブロックのID及び動きベクトルの決定精度が低くなる。
【0067】
この精度を向上させるために、本発明の実施例2では、後述する評価関数の値に基づいて、全ブロックのID及び動きベクトルを同時に決定する。この実施例2においても上記実施例1と同様に、図2の移動物体追跡部27は、オブジェクトマップ記憶部26に格納されている時刻(t−1)のオブジェクトマップと、画像メモリ21に格納されている時刻(t−1)及びtのフレーム画像とに基づいて、時刻tのオブジェクトマップを記憶部26内に作成する。
【0068】
まず、移動物体の一部を含む任意のブロックB(t:i,j)の評価関数U(i,j)について説明する。評価関数U(i,j)は、次式のように4つのサブ評価関数の一次結合で表される。
【0069】
U(i,j)=aUD+bUM+cUN+fUV (1)
ここにa〜c及びfは、定数であり、試行錯誤により定められる。
【0070】
以下において、1ブロックをm×m画素とし、時刻tの画像の第g行第h列の画素の値をG(t:g,h)で表し、ブロックB(t:i,j)の推定動きベクトルMVを(MVX,MVY)で表す。i≧0、j≧0とする。
【0071】
(1)時空的テクスチャ相関度を示すサブ評価関数UD
サブ評価関数UDは、時空的テクスチャ相関度を示し、上記実施例1で説明したものと同一であって、次式で表される。
【0072】
UD(i,j,MV)=Σ|G(t:mi+x,mj+y)
−G(t−1:mi+x−MVX,mj+y−MVY)| (2)
ここにΣは、x=0〜m−1及びy=0〜m−1についての総和を意味している。
【0073】
図12において、点線はブロック境界線であり、ハッチングを施した部分は移動物体を示している。図12(B)は、着目ブロックB(t:1,2)の推定動きベクトルがMVである場合を示し、図12(A)は、ブロックB(t−1:1,2)を−MV移動させた領域AXを示す。この場合、ブロックB(t:1,2)の画像と領域AXの画像との評価関数UD(1,2,MV)が算出される。MVを変化させるとUDの値が変化し、UDの値が小さいほどブロックB(t:1,2)の画像と領域AXの画像との間のテクスチャ相関度が大きい。UDが最小値のときのMVが最も確からしい動きベクトルである。移動物体の速度には限度があるので、着目ブロックB(t:1,2)の中心から、所定範囲内、例えば上下±25画素、左右±25画素の範囲内で、領域AXを移動させてUDの最小値を求める。この所定範囲は、実施例1で述べたように、時刻t−1の動きベクトルを用いて予測した範囲AMであってもよい。
【0074】
(2)時空的ID相関度を示すサブ評価関数UM
図13(A)及び(B)はそれぞれ図12(A)及び(B)に対応しており、ハッチングを施した部分は移動物体が存在すると判定されたブロックを示している。
【0075】
着目ブロックB(t:1,2)のIDがID1であると推定したとき、上記領域AX内に含まれるID=ID1の画素数をMとする。図13(A)の場合、領域AX内のハッチングが施された部分の画素数がMである。但し、着目ブロックB(t:1,2)の推定IDが領域AX内のIDと全く異なる場合、M=0となる。Mの最大値はm2である。
【0076】
サブ評価関数UMは、時空的ID相関度を示し、次式で表される。
【0077】
UM(i,j,MV)=(M−m2)2 (3)
UMの値が小さいほど、時空的ID相関度が高い。
【0078】
着目ブロックB(t:i,j)の中心から、上記所定範囲内で領域AXを移動させてaUD+bUMの最小値を求めることにより、着目ブロックのIDとMVを同時に決定することが可能である。
【0079】
(3)空間的ID相関度を示すサブ評価関数UN
図13(B)において、着目ブロックB(t:1,2)のIDがID1であると推定したとき、着目ブロックの回りの8個のブロックB(t:0,1)、B(t:0,2)、B(t:0,3)、B(t:1,3)、B(t:2,3)、B(t:2,2)、B(t:2,1)及びB(t:1,1)のうち、IDがID1であるブロックの数をNとする。図13(B)のハッチングが施された部分のIDが全て同一である場合、着目ブロックB(t:1,2)のNの値は5である。
【0080】
サブ評価関数UNは、空間的ID相関度を示し、次式で表される。
【0081】
UN(i,j)=(N−8)2 (4)
UNの値が小さいほど、空間的ID相関度が高い。
【0082】
(4)空間的MV相関度を示すサブ評価関数UV
着目ブロックB(t:i,j)の中心から、上記所定範囲内で領域AXを移動させてaUD+bUM+cUNの最小値を求めることにより、着目ブロックのIDとMVを同時に決定することが可能である。
【0083】
しかしながら、領域AXを移動させたとき、着目ブロックと同一テクスチャの領域が複数存在する場合、動きベクトルMVが定まらない。この動きベクトルMVは、着目ブロックの近くかつ同一IDのブロックの動きベクトルMVとほぼ同じと推定できる。そこで、空間的MV相関度を示す次のようなサブ評価関数UVを定義する。
【0084】
UV(i,j)=Σ|MV−MVneigher|/L (5)
ここに、MVは上記(1)で述べた着目ブロックB(t:i,j)の推定動きベクトルであり、MVneigherは、着目ブロックB(t:i,j)の回りの8個のブロックのうち、着目ブロックB(t:i,j)の推定IDと同一IDを有するブロックの動きベクトルであり、Σは該同一IDを有するブロックについての総和を意味し、Lは該同一IDを有するブロックの数である。
【0085】
図14(A)の場合、ハッチングを施したブロックが同一IDであるとすると、
UV(1,2)=(|MV−MV1|+|MV−MV2|+|MV−MV3|+|MV−MV4|+|MV−MV5|)/5
である。
【0086】
時刻t−1での上記領域AXが図14(B)の場合、UV(1,2)の値が大きくなり、推定動きベクトルMVの確からしさが小さい。UVの値が小さいほど、空間的MV相関度が高い。
【0087】
着目ブロックB(t:i,j)の中心から、上記所定範囲内で領域AXを移動させて、すなわちMVを変化させて、上式(1)の評価関数Uが最小値になるように、着目ブロックのIDとMVを同時に決定することが可能である。
【0088】
なお、MVneigherは、着目ブロックB(t:i,j)の回りのブロックのものであればよく、例えば、上下左右4個のブロック、着目ブロックB(t:i,j)の回り(1回り)の8個のブロックのうち任意の1個のブロック又は着目ブロックB(t:i,j)の回り(2回り)の24個のブロックのうち、着目ブロックB(t:i,j)の推定IDと同一IDを有するブロックの動きベクトルであってもよい。また、MVneigherは、時刻t−1の対応する動きベクトルで近似してもよい。すなわち、着目ブロックB(t:i,j)を−MV移動させた領域の中心が属するブロックをB(t−1,p,q)とすると、ブロックB(t−1,p,q)の近くのブロックのうち、着目ブロックB(t:i,j)の推定IDと同一IDを有するブロックの動きベクトルであってもよい。
【0089】
サブ評価関数UN及びUVはいずれも時刻tでの空間的相関度に関するので、理想的には、全てのブロックについての評価関数Uの総和の最小値を求めることにより、時刻tの全てのブロックのIDとMVを同時に決定する。実際には、処理時間を短くしてリアルタイム処理を可能にするために、図11に示すような近似法によりIDとMVを決定する。
【0090】
(S11)時刻tで移動物体の一部が含まれる各ブロックについて、上式(2)の評価関数UDの値を最小にする動きベクトルMVを求める。但し、上述の動きベクトルを求めるのに適しないブロックについては動きベクトルMVを求めない。次に、動きベクトルを求めるのに適しない各ブロックについて、上式(5)の評価関数UVの値を最小にする動きベクトルMVを求める。この場合、図8のステップS1〜S3及びS6の処理を加えることにより、一意的に動きベクトルMVを決定してもよい。
【0091】
(S12)動きベクトルMVを有する各ブロックについて、上式(3)の評価関数UMが最小になるようにIDを決定する。この動きベクトルMVは、ステップS11で求められたものであり、固定である。時刻t−1でIDが付与されていない最初の画像については、隣り合うブロックの動きベクトルMVの差が所定値以内のブロックに同一IDを付与する。
【0092】
(S13)ID及びMVが求められた各ブロックの評価関数Uの値の総和UTを求める。
【0093】
(S14)総和UTをより小さくするID及びMVの分布を求めるために、該分布を変更する。
【0094】
(S15)ステップS13及びS14を所定回数繰り返したと判定され、又は、総和UTが収束したと判定されれば、処理を終了し、そうでなければステップS15へ戻る。
【0095】
このようにして、総和UTを略最小にするID及びMVの分布をリアルタイムで求めることができる。
【0096】
例えば、ステップS14で、1つのブロックのMVを所定範囲内で1画素ずらし又は1つのブロックのIDを変更し、ステップS13に戻って総和UTが前の値より大きくなれば、ステップS14で、変更したMV又はIDを元に戻し、小さくなれば、次のブロックについて同様の変更を行う。該所定範囲は例えば、上下左右の各々について+4画素である。
【0097】
また、1つのブロックのMV又はIDを変更してもその影響は全てのブロックの評価関数に波及しないので、総和UTを求めずに、全ブロックのうち影響を受けるブロックの評価関数Uの値の総和UTportionを略最小にしてもよい。この場合、各ブロックの評価関数Uの値を一時記憶しておき、その前回値と今回値を比較することにより、影響の有無を判定することができる。
【0098】
さらに、ステップS13〜S15の繰り返し処理を行う替わりに、総和UTを小さくする処理を予め推定し、この処理を行って総和UT又はUTportionを計算し、その値が処理前より小さくなっていればそのオブジェクトマップを採用し、そうでなければ処理前のオブジェクトマップを採用するようにしてもよい。この推定処理は例えば、上式(5)に基づく動きベクトルの空間的平均化である。すなわち、式(5)中のMVを、MV=ΣMVneigher/Lとすることにより式(5)の値を最小にすることができるので、既に求まっているMVneigherを用いて、MVをMV=ΣMVneigher/Lとする。
【0099】
また、ステップS11において、動きベクトルを求めるのに適しないブロックの動きベクトルを求めないで、ステップS13〜S15の処理又はこれに替わる前記処理により、動きベクトルを求めるのに適しないブロックの動きベクトルを決定してもよい。
【0100】
次に、実施例2の実験結果を説明する。
【0101】
定数a〜c及びfは試行錯誤により、a=32/1000000、b=1/256、c=1/2、f=1/4と決定された。また、ステップS13〜S15の繰り返し処理を行う替わりに、上記動きベクトルの空間的平均化処理を行った。
【0102】
図15(A)及び(B)はそれぞれ、交差点での撮影画像及びそのIDのオブジェクトマップを示す。図中の太線は、同一IDが含まれる矩形を示す(以下同様)。
【0103】
図16(A)及び(B)はそれぞれ、高速道路での低角度撮影画像及びそのIDのオブジェクトマップを示す。
【0104】
図17(A)及び(B)はそれぞれ、横断歩道での撮影画像、及び、これとIDのオブジェクトマップのID付与部のメッシュとを重ね合わせた画像を示す。
【0105】
図16(A)及び図17(B)中の矩形に付与された番号は、オブジェクトのIDである。
【0106】
このような混雑し重なった移動物体を追跡することができた。
【実施例3】
【0107】
図10(C)のようにオブジェクト境界の両側に、推定された動きベクトルの数が多く、かつ、境界の両側の動きベクトルの差の絶対値が比較的小さい場合、オブジェクト境界の精度が悪くなる。このような場合、時間を遡ってオブジェクトを追跡すると、追跡精度も悪くなる。
【0108】
隣り合うブロックの動きベクトルMVの差が所定値以内のブロックに同一IDを付与するという規則における該所定値を大きくすることにより、この問題を解決することもできるが、この場合、時間を遡る追跡処理の開始時点が遅れることになる。
【0109】
そこで、本発明の実施例3ではこれらの問題を解決するため、図18に示す方法を行うことにより、時間を遡る追跡処理の開始時点を決定する。この方法では、連続するN画像、例えば3画像について、時間的に隣り合う画像における同一オブジェクト間の相関度(オブジェクトの時空的相関度)が所定値以上である場合、オブジェクト境界の信頼性が高いと判定する。
【0110】
例えば図19(A)に示すような時刻t−1のオブジェクトマップが既に作成されているとする。
【0111】
(S21)カウンタCNTに初期値0を代入する。
【0112】
(S22)時刻tのオブジェクトマップを、上記実施例1で述べた方法で作成する。図19(B)は時刻tのオブジェクトマップを示す。
【0113】
(S23)1つのクラスタに複数のオブジェクトが含まれる場合にはステップS24へ進み、そうでなければステップS27へ進む。
【0114】
(S24)時刻t−1とtのオブジェクトマップについて、オブジェクトの時空的相関度を求める。
【0115】
例えば、図19(A)の一方のオブジェクトOBJ1(t−1)を、このオブジェクトの平均動きベクトルだけ移動した図形と、図19(B)の該一方に対応するオブジェクトOBJ1(t)の図形との図形論理積(図19(C)のハッチングが施された図形)の面積A1を求め、オブジェクトOBJ1(t−1)の図形の面積A0を求め、比A1/A0を相関度として求める。面積A0は、オブジェクトOBJ1(t)の図形の面積であってもよい。
【0116】
(S25)A1/A0が所定値r0以上であればステップS26へ進み、そうでなければステップS27へ進む。
【0117】
(S26)カウンタCNTを1だけインクリメントし、ステップS28へ進む。
【0118】
(S27)カウンタCNTをゼロクリアする。
【0119】
(S28)CNT<N−1であればステップS29へ進み、そうでなければステップS30へ進む。
【0120】
(S29)次の時刻t+1をtとしてステップS21へ戻る。
【0121】
(S30)オブジェクトの時空的相関度が高いと判定し、時間tから遡ってオブジェクトを追跡する。
【実施例4】
【0122】
図20は、本発明の実施例4のオブジェクトマップ説明図である。
【0123】
ブロックサイズを小さくすればオブジェクトの境界精度が向上する。しかし、ブロックサイズを小さくするほど、ブロックマッチングにより動きベクトルを決定することが困難になる。
【0124】
この問題を解決するために、本発明の実施例4では、ID及び動きベクトルMVを付与する各ブロックB(i,j)の動きベクトルを決定するためのブロックB’(i,j)のサイズを、ブロックB(i,j)のサイズよりも大きくしている。ブロックB’(i,j)はブロックB(i,j)と同心であり、ブロックB’(i,j)内にブロックB(i,j)が含まれている。
【0125】
例えば図20において、ブロックB’(t:3,10)は、ブロックB(t:3,10)の動きベクトルを求めるためのものである。図5の場合と同様に、ブロックB’(t:3,10)の画像と、時刻t−1のブロックサイズの領域AXの画像とのテクスチャ相関度を、所定範囲AM内で領域AXを1画素移動させる毎に求める。
【0126】
他の点は、上記実施例1、2又は3と同一である。
【実施例5】
【0127】
上記実施例では、ブロック単位で背景画像と比較することにより、オブジェクトが存在するかどうかを調べているので、背景画像を特別扱いしなければならない。また、例えば過去10分間の撮影画像に基づいて背景画像を生成しているので、カメラが揺れた場合には、この揺れを背景画像に反映させることができない。
【0128】
そこで、本発明の実施例5では、このような問題を解決するために、背景画像もオブジェクトとみなしてオブジェクトマップを作成する。オブジェクトマップ生成方法は、背景画像と比較してブロックに移動物体が存在するかどうかを判定する点以外は、上記実施例1、2、3又は4と同一である。背景画像もオブジェクトとみなすので、全てのブロックについて、ブロックマッチングを行うことによりIDを付与しMVを決定する。
【0129】
次に、図11の処理により時刻tのオブジェクトマップが作成される過程の概略を図21及び図22に基づいて説明する。
【0130】
(S11)時刻tで各ブロックについて、上式(2)の評価関数UDの値を最小にする動きベクトルMVを求める。但し、上述の動きベクトルを求めるのに適しないブロックについては動きベクトルMVを求めない。
【0131】
図21(A)に示すような画像に対し、この処理を行うことにより、図21(B)に示すような動きベクトルのオブジェクトマップが得られる。図21(B)において、点線はブロックの境界線であり、ドットは動きベクトルが0であることを示している。
【0132】
次に、動きベクトルを求めるのに適しない各ブロックについて、上式(5)の評価関数UVの値を最小にする動きベクトルMVを求める。これにより、図22(A)に示すような動きベクトルのオブジェクトマップが得られる。
【0133】
ステップS12〜S15の処理は実施例2と同一である。
【0134】
ステップS12の処理により、図22(B)に示すようなIDのオブジェクトマップが得られる。
【0135】
このようにすれば、特別な背景画像を用いる必要がなく、また、カメラが揺れても、背景画像を識別することができる。また、画像上に入口スリットを設ける必要がなくなる。さらに、画像の枠から出たオブジェクトのIDを消滅させることにより、出口スリットを用いなくてもよい。
【実施例6】
【0136】
以上の実施例では、画像をブロックに分割し、ブロック単位でオブジェクトのID及びMVを決定していたので、ブロックの境界と無関係な移動物体の一部、例えばブロックサイズの領域を追跡することができなかった。
【0137】
本発明の実施例6では、画像をブロックに分割し、ブロック単位でオブジェクトのID及びMVを決定するとともに、ブロックの境界と無関係な移動物体の一部を追跡する。
【0138】
図2のオブジェクトマップ記憶部26には、図23に示すように、時刻t〜t−5の時系列画像に対応したオブジェクトマップOM(t)〜OM(t−5)が格納されている。
【0139】
次の時刻では、t→t−1とされ、すなわちオブジェクトマップOM(t)〜OM(t−5)がそれぞれOM(t−1)〜OM(t−6)とされる。そして、最も古いオブジェクトマップOM(t−6)が新たなオブジェクトマップOM(t)で更新される。
【0140】
図2の移動物体追跡部27において、移動物体の一部の追跡が以下のようにして行われる。
【0141】
図24(A)に示すように、オブジェクトマップOM(t)上の着目領域A(t)の動きベクトルがMV(t)であるとする。図24(A)中の点線はブロックの境界であり、この例では着目領域A(t)が1つのブロックに一致している。
【0142】
図24(B)に示すように、着目領域A(t)を、−MV(t)移動させた領域に対応するオブジェクトマップOM(t−1)の着目領域A(t−1)を求める。
【0143】
着目領域A(t−1)の動きベクトルMV(t−1)を、次のような重み付き平均により求める。
【0144】
MV(t−1)=(MV1・S1+MV2・S2+MV3・S3+MV4・S4)/(S1+S2+S3+S4)
ここに、MV1〜MV4は着目領域A(t−1)と重なった第1〜4ブロックの動きベクトルであり、S1〜S4は着目領域A(t−1)と重なった第1〜4ブロックの重なり部分画素数である。
【0145】
図24(C)に示すように、着目領域A(t−1)を、−MV(t−1)移動させた領域に対応するオブジェクトマップOM(t−2)の着目領域A(t−2)を求める。
【0146】
着目領域A(t−2)の動きベクトルMV(t−2)を、上記同様にして求める。
【0147】
このような着目領域の移動と移動後の着目領域の動きベクトル算出の処理を繰り返すことにより、着目領域を、ブロックの境界と無関係に追跡することができる。すなわち、時刻tの着目領域A(t)に対し、時刻t−1〜t−5の着目領域A(t−1)〜A(t−5)を求めることができる。
【0148】
本発明の実施例6によれば、移動物体の一部である着目領域を追跡することができ、例えば着目領域の行動パターンを解析したり、分類したり、特定の行動パターンであると判定したりすることが可能となる。また、複数の着目領域間の相対位置の行動パターンを解析したり、分類したり、特定の行動パターンであると判定したりすることが可能となる。
【0149】
上記の例では、時刻tでの着目領域が1つのブロックに一致する場合を説明したが、図24(B)のように着目領域が1つのブロックに一致しない場合であってもよい。この場合の着目領域の動きベクトルは、上記のように重み付き平均により求める。
【0150】
また、上記の例では、時間を遡って着目領域を追跡する場合を説明したが、オブジェクトマップOM(t−5)上の着目領域A(t−5)から出発し、動きベクトルの正方向へ着目領域を移動させることにより、着目領域を追跡してもよい。この場合、新たなオブジェクトマップOM(t)が求まる毎に、着目領域A(t)を求めることにより、着目領域を追跡することができる。
【0151】
さらに、着目領域はブロックサイズより大きくても小さくてもよい。
【実施例7】
【0152】
次に、オブジェクト境界認識に上記実施例6の方法を利用した例を、実施例7として説明する。
【0153】
図25(A)において、オブジェクトマップOM(t)上の隣り合う着目領域Ai(t)及びAj(t)の動きベクトルがそれぞれMVi(t)及びMVj(t)であるとする。領域Ai(t)及びAj(t)が互いに異なる移動物体の一部であっても、|MVi(t)−MVj(t)|が比較的小さい場合、両者を異なる移動物体と認識することができない。特に、カメラから遠く離れた複数の移動物体が互いに重なって見える場合、この問題が生ずる。
【0154】
そこで、上記実施例6の方法により、オブジェクトマップOM(t−5)上の着目領域Ai(t−5)及びAj(t−5)を決定する。領域Ai(t−5)の中心から領域Ai(t)の中心までの動きベクトルを、早送り動きベクトルMVi(t−5,t)として求める。同様に、領域Aj(t−5)の中心から領域Aj(t)の中心までの動きベクトルを、早送り動きベクトルMVj(t−5,t)として求める。そして、|MVi(t−5,t)−MVj(t−5,t)|の値が所定値εを越えていれば、着目領域Ai(t)とAj(t)の境界が互いに異なる移動物体の境界であると認識する。
【0155】
このような処理を、オブジェクトマップOM(t)上の1つのクラスタ内の全ての隣り合うブロックに適用することにより、該クラスタに含まれている複数の移動物体を分割認識することができる。
【0156】
上記の例では|MVi(t−k,t)−MVj(t−k,t)|のkが5である場合を説明したが、重なって見える移動物体間の画像上相対速度が小さいほどkの値を大きくした方が好ましい。
【0157】
そこで、1つのクラスタについて、図26に示すような動きベクトルの絶対値のヒストグラムを作成する。ピークが複数存在すれば、このクラスタに複数の移動物体が含まれていると推定できる。ピーク間の距離ΔVに対し、kの値を、
k=[αΔV]
と決定する。ここにαは試行錯誤により定められる定数であり、[]は四捨五入による整数化を意味する。
【実施例8】
【0158】
図27は、本発明の実施例8の移動体境界認識方法を示すフローチャートである。
【0159】
この方法では、上記ヒストグラムを作成せずに、図25(A)の2つの着目領域について、以下のようにkの値を0から最大値kmaxまで変化させる。kmaxは例えば、10フレーム/秒の場合、5である。
【0160】
(S31)kに初期値0を代入する。
【0161】
(S32)|MVi(t−k,t)−MVj(t−k,t)|>εであればステップS33へ進み、そうでなければステップS34へ進む。
【0162】
(S33)着目領域Ai(t)とAj(t)の境界が互いに異なる移動物体の境界であると認識する。
【0163】
(S34)kの値を1だけインクリメントする。
【0164】
(S35)k>kmaxであればステップS36へ進み、そうでなければステップS32へ戻る。
【0165】
(S36)着目領域Ai(t)とAj(t)が同一移動物体に属すると認識する。
【0166】
他の点は、上記実施例7と同一である。
【0167】
この実施例8によれば、上記ヒストグラムを作成せずにkの値が自動的に決定される。
【0168】
なお、本発明には外にも種々の変形例が含まれる。
【0169】
例えば、上記実施例では空間的差分画像を処理して移動物体を追跡する場合を説明したが、本発明は各種エッジ画像や原画像を処理して移動物体(移動物体の一部を含む)を追跡する構成であってもよい。
【図面の簡単な説明】
【0170】
【図1】交差点及びこれに配置された本発明の実施例1の移動物体追跡装置の概略を示す図である。
【図2】図1中の移動物体追跡装置の機能ブロック図である。
【図3】図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】本発明の実施例2のオブジェクトマップ作成方法を示すフローチャートである。
【図12】(A)及び(B)は時空的テクスチャ相関度の説明図である。
【図13】(A)及び(B)は空間的ID相関度の説明図である。
【図14】(A)及び(B)は空間的動きベクトル相関度の説明図である。
【図15】本発明の実施例2の実験結果を示す図であって、(A)及び(B)はそれぞれ、交差点での撮影画像及びそのIDのオブジェクトマップを示す図である。
【図16】本発明の実施例2の実験結果を示す図であって、(A)及び(B)はそれぞれ、高速道路での低角度撮影画像及びそのIDのオブジェクトマップを示す図である。
【図17】本発明の実施例2の実験結果を示す図であって、(A)及び(B)はそれぞれ、横断歩道での撮影画像、及び、これとIDのオブジェクトマップのID付与部のメッシュとを重ね合わせた画像を示す図である。
【図18】本発明の実施例3の、クラスタを分割するオブジェクト境界が確定したかどうかを判断する方法を示すフローチャートである。
【図19】(A)〜(C)は図18の処理を説明するための図である。
【図20】本発明の実施例4のブロックマッチング説明図であって、(A)及び(B)はそれぞれ時刻t−1及びtの画像をブロック境界線とともに模式的に示す図である。
【図21】(A)及び(B)は本発明の実施例5を説明するための図であって、(A)は画像を模式的に示す図、(B)は第1段階で求められる動きベクトルのオブジェクトマップを示す図である。
【図22】(A)及び(B)は該実施例5を説明するための図であって、(A)は第2段階で求められる動きベクトルのオブジェクトマップを示す図、(B)はIDのオブジェクトマップを示す図である。
【図23】着目領域を追跡する本発明の実施例6を説明するための時系列オブジェクトマップを示す図である。
【図24】(A)〜(C)は、時間を遡って着目領域を追跡する方法の説明図である。
【図25】(A)及び(B)は本発明の実施例7のオブジェクト境界認識方法説明図である。
【図26】1つのクラスタについての、動きベクトルの絶対値のヒストグラムを示す図である。
【図27】本発明の実施例8のオブジェクト境界認識方法を示すフローチャートである。
【図28】道路中央線上方に設置されたカメラで撮像された時系列画像を模式的に示す図である。
【符号の説明】
【0171】
10 カメラ
20 移動物体追跡装置
21 画像メモリ
22 画像変換部
23 フレームバッファメモリ
24 背景画像生成部
25 ID生成/消滅部
26 オブジェクトマップ記憶部
【特許請求の範囲】
【請求項1】
コンピュータが、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、
(a)各画像を、複数画素からなるブロックに分割し、
(b)背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求める、
ことを特徴とする画像上移動物体追跡方法。
【請求項2】
該ステップ(b)は、背景画像であるかどうかを区別せずに時刻t1の画像についてブロック毎の識別番号と動きベクトルが決定されている場合に、該時刻t2の画像に含まれる各ブロックBについて、ブロックBの識別符号及び動きベクトルをそれぞれID及びMVと仮定し、該時刻t1の画像と該時刻t2の画像との相関を示す各ブロックBの評価関数U(ID,MV)の総和に基づいて、該ID及び該MVを決定する、
ことを特徴とする請求項1記載の画像上移動物体追跡方法。
【請求項3】
該ステップ(b)の評価関数U(ID,MV)は、該ブロックBを−MV移動させたときの該時刻t1の画像上の領域をAXとしたとき、
該ブロックBと該領域AXとの間のブロックマッチングの程度が大きいほど相関が大きいことを示す第1サブ評価関数と、
該領域AXに含まれる、移動物体識別符号がIDであるブロックの画素数が多いほど相関が大きいことを示す第2サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致するブロックの数が多いほど相関が大きいことを示す第3サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致する各ブロックの動きベクトルと該ブロックBの動きベクトルMVとの差の絶対値の平均値小さいほど相関が大きいことを示す第4サブ評価関数と、
の和を含むことを特徴とする請求項2記載の画像上移動物体追跡方法。
【請求項4】
各ブロックBについて、該ブロックBの動きベクトルMVを、該第1サブ評価関数が、相関が最大であることを示すときの動きベクトルであると近似し、このとき該第2サブ評価関数が、相関が最大であることを示すときのIDを、該ブロックBの移動物体識別符号であると近似し、
次に各ブロックBに対応した該領域AXを所定範囲内で1画素ずつ移動させる毎に該総和の値を求め、該値が、相関が最大であることを示すときの各ブロックBの動きベクトルMV及び移動物体識別符号IDを近似解として求める、
ことを特徴とする請求項3記載の画像上移動物体追跡方法。
【請求項5】
時系列画像及びプログラムが格納される記憶装置と、
該記憶装置に結合されたプロセッサと、
を有し、該プログラムが該プロセッサに対し、該時系列画像を読み出させ、各画像を、複数画素からなるブロックに分割させ、背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与させるとともにブロック単位で該移動物体の動きベクトルを求めさせることにより画像中の移動物体を追跡させる画像上移動物体追跡装置であって、該プログラムは該プロセッサに対し、
背景画像であるかどうかを区別せずに時刻t1の画像についてブロック毎の識別番号と動きベクトルが決定されている場合に、該時刻t2の画像に含まれる各ブロックBについて、ブロックBの識別符号及び動きベクトルをそれぞれID及びMVと仮定させ、該時刻t1の画像と該時刻t2の画像との相関を示す各ブロックBの評価関数U(ID,MV)の総和に基づいて、該ID及び該MVを決定させる、
ことを特徴とする画像上移動物体追跡装置。
【請求項6】
該評価関数U(ID,MV)は、該ブロックBを−MV移動させたときの該時刻t1の画像上の領域をAXとしたとき、
該ブロックBと該領域AXとの間のブロックマッチングの程度が大きいほど相関が大きいことを示す第1サブ評価関数と、
該領域AXに含まれる、移動物体識別符号がIDであるブロックの画素数が多いほど相関が大きいことを示す第2サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致するブロックの数が多いほど相関が大きいことを示す第3サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致する各ブロックの動きベクトルと該ブロックBの動きベクトルMVとの差の絶対値の平均値小さいほど相関が大きいことを示す第4サブ評価関数と、
の和を含むことを特徴とする請求項5記載の画像上移動物体追跡装置。
【請求項7】
該プログラムは該プロセッサに対し、
各ブロックBについて、該ブロックBの動きベクトルMVを、該第1サブ評価関数が、相関が最大であることを示すときの動きベクトルであると近似させ、このとき該第2サブ評価関数が、相関が最大であることを示すときのIDを、該ブロックBの移動物体識別符号であると近似させ、
次に各ブロックBに対応した該領域AXを所定範囲内で1画素ずつ移動させる毎に該総和の値を求めさせ、該値が、相関が最大であることを示すときの各ブロックBの動きベクトルMV及び移動物体識別符号IDを近似解として求めさせる、
ことを特徴とする請求項6記載の画像上移動物体追跡装置。
【請求項8】
時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められ、動きベクトルが未定の第1ブロックが存在する場合、
(a)該第1ブロックの回りの決定済動きベクトルを抽出し、
(b)該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分け、
(c)ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第1ブロックの動きベクトルと推定する、
ことを特徴とする画像上移動物体追跡方法。
【請求項9】
該ステップ(a)において抽出すべき決定済動きベクトルが存在しない場合、該ステップ(c)で推定された動きベクトルを決定済動きベクトルとみなして、該ステップ(a)〜(c)を実行することを特徴とする請求項8記載の画像上移動物体追跡方法。
【請求項10】
時系列画像及びプログラムが格納される記憶装置と、
該記憶装置に結合されたプロセッサと、
を有する画像上移動物体追跡装置において、該プログラムは該プロセッサに対し該時系列画像を読み出して処理することにより画像中の移動物体を追跡し、該処理により、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められており、該プログラムは、動きベクトルが未定の第1ブロックが存在する場合、
(a)該第1ブロックの回りの決定済動きベクトルを抽出する手順と、
(b)該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分ける手順と、
(c)ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第1ブロックの動きベクトルと推定する手順と、
を有することを特徴とする画像上移動物体追跡装置。
【請求項11】
該プログラムはさらに、
(d)該ステップ(a)において抽出すべき決定済動きベクトルが存在しない場合、該ステップ(c)で推定された動きベクトルを決定済動きベクトルとみなし、該ステップ(a)〜(c)を実行させる手順、
を有することを特徴とする請求項10記載の画像上移動物体追跡装置。
【請求項1】
コンピュータが、時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、
(a)各画像を、複数画素からなるブロックに分割し、
(b)背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与するとともにブロック単位で該移動物体の動きベクトルを求める、
ことを特徴とする画像上移動物体追跡方法。
【請求項2】
該ステップ(b)は、背景画像であるかどうかを区別せずに時刻t1の画像についてブロック毎の識別番号と動きベクトルが決定されている場合に、該時刻t2の画像に含まれる各ブロックBについて、ブロックBの識別符号及び動きベクトルをそれぞれID及びMVと仮定し、該時刻t1の画像と該時刻t2の画像との相関を示す各ブロックBの評価関数U(ID,MV)の総和に基づいて、該ID及び該MVを決定する、
ことを特徴とする請求項1記載の画像上移動物体追跡方法。
【請求項3】
該ステップ(b)の評価関数U(ID,MV)は、該ブロックBを−MV移動させたときの該時刻t1の画像上の領域をAXとしたとき、
該ブロックBと該領域AXとの間のブロックマッチングの程度が大きいほど相関が大きいことを示す第1サブ評価関数と、
該領域AXに含まれる、移動物体識別符号がIDであるブロックの画素数が多いほど相関が大きいことを示す第2サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致するブロックの数が多いほど相関が大きいことを示す第3サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致する各ブロックの動きベクトルと該ブロックBの動きベクトルMVとの差の絶対値の平均値小さいほど相関が大きいことを示す第4サブ評価関数と、
の和を含むことを特徴とする請求項2記載の画像上移動物体追跡方法。
【請求項4】
各ブロックBについて、該ブロックBの動きベクトルMVを、該第1サブ評価関数が、相関が最大であることを示すときの動きベクトルであると近似し、このとき該第2サブ評価関数が、相関が最大であることを示すときのIDを、該ブロックBの移動物体識別符号であると近似し、
次に各ブロックBに対応した該領域AXを所定範囲内で1画素ずつ移動させる毎に該総和の値を求め、該値が、相関が最大であることを示すときの各ブロックBの動きベクトルMV及び移動物体識別符号IDを近似解として求める、
ことを特徴とする請求項3記載の画像上移動物体追跡方法。
【請求項5】
時系列画像及びプログラムが格納される記憶装置と、
該記憶装置に結合されたプロセッサと、
を有し、該プログラムが該プロセッサに対し、該時系列画像を読み出させ、各画像を、複数画素からなるブロックに分割させ、背景画像も移動物体の1つとみなして、ブロック単位で移動物体の識別符号を付与させるとともにブロック単位で該移動物体の動きベクトルを求めさせることにより画像中の移動物体を追跡させる画像上移動物体追跡装置であって、該プログラムは該プロセッサに対し、
背景画像であるかどうかを区別せずに時刻t1の画像についてブロック毎の識別番号と動きベクトルが決定されている場合に、該時刻t2の画像に含まれる各ブロックBについて、ブロックBの識別符号及び動きベクトルをそれぞれID及びMVと仮定させ、該時刻t1の画像と該時刻t2の画像との相関を示す各ブロックBの評価関数U(ID,MV)の総和に基づいて、該ID及び該MVを決定させる、
ことを特徴とする画像上移動物体追跡装置。
【請求項6】
該評価関数U(ID,MV)は、該ブロックBを−MV移動させたときの該時刻t1の画像上の領域をAXとしたとき、
該ブロックBと該領域AXとの間のブロックマッチングの程度が大きいほど相関が大きいことを示す第1サブ評価関数と、
該領域AXに含まれる、移動物体識別符号がIDであるブロックの画素数が多いほど相関が大きいことを示す第2サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致するブロックの数が多いほど相関が大きいことを示す第3サブ評価関数と、
該時刻t2での該ブロックBの回りのブロックのうち移動物体識別符号が該IDと一致する各ブロックの動きベクトルと該ブロックBの動きベクトルMVとの差の絶対値の平均値小さいほど相関が大きいことを示す第4サブ評価関数と、
の和を含むことを特徴とする請求項5記載の画像上移動物体追跡装置。
【請求項7】
該プログラムは該プロセッサに対し、
各ブロックBについて、該ブロックBの動きベクトルMVを、該第1サブ評価関数が、相関が最大であることを示すときの動きベクトルであると近似させ、このとき該第2サブ評価関数が、相関が最大であることを示すときのIDを、該ブロックBの移動物体識別符号であると近似させ、
次に各ブロックBに対応した該領域AXを所定範囲内で1画素ずつ移動させる毎に該総和の値を求めさせ、該値が、相関が最大であることを示すときの各ブロックBの動きベクトルMV及び移動物体識別符号IDを近似解として求めさせる、
ことを特徴とする請求項6記載の画像上移動物体追跡装置。
【請求項8】
時系列画像を処理して画像中の移動物体を追跡する画像上移動物体追跡方法において、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められ、動きベクトルが未定の第1ブロックが存在する場合、
(a)該第1ブロックの回りの決定済動きベクトルを抽出し、
(b)該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分け、
(c)ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第1ブロックの動きベクトルと推定する、
ことを特徴とする画像上移動物体追跡方法。
【請求項9】
該ステップ(a)において抽出すべき決定済動きベクトルが存在しない場合、該ステップ(c)で推定された動きベクトルを決定済動きベクトルとみなして、該ステップ(a)〜(c)を実行することを特徴とする請求項8記載の画像上移動物体追跡方法。
【請求項10】
時系列画像及びプログラムが格納される記憶装置と、
該記憶装置に結合されたプロセッサと、
を有する画像上移動物体追跡装置において、該プログラムは該プロセッサに対し該時系列画像を読み出して処理することにより画像中の移動物体を追跡し、該処理により、各画像が、複数画素からなるブロックに分割され、移動物体の動きベクトルがブロック単位で求められており、該プログラムは、動きベクトルが未定の第1ブロックが存在する場合、
(a)該第1ブロックの回りの決定済動きベクトルを抽出する手順と、
(b)該抽出された動きベクトルを、相互のベクトルの差の絶対値が所定値以下になるようにグループに分ける手順と、
(c)ベクトル数が最大のグループに含まれる動きベクトルの略平均ベクトルを、該第1ブロックの動きベクトルと推定する手順と、
を有することを特徴とする画像上移動物体追跡装置。
【請求項11】
該プログラムはさらに、
(d)該ステップ(a)において抽出すべき決定済動きベクトルが存在しない場合、該ステップ(c)で推定された動きベクトルを決定済動きベクトルとみなし、該ステップ(a)〜(c)を実行させる手順、
を有することを特徴とする請求項10記載の画像上移動物体追跡装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2012−89141(P2012−89141A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2011−248771(P2011−248771)
【出願日】平成23年11月14日(2011.11.14)
【分割の表示】特願2010−5040(P2010−5040)の分割
【原出願日】平成14年12月20日(2002.12.20)
【出願人】(801000049)財団法人生産技術研究奨励会 (72)
【Fターム(参考)】
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願日】平成23年11月14日(2011.11.14)
【分割の表示】特願2010−5040(P2010−5040)の分割
【原出願日】平成14年12月20日(2002.12.20)
【出願人】(801000049)財団法人生産技術研究奨励会 (72)
【Fターム(参考)】
[ Back to top ]