説明

移動物体認識方法及び装置

【課題】移動物体の動作を、より正確に、認識可能にする。
【解決手段】動きベクトル算出部37において、前フレーム画像を、複数ピクセルからなるブロックに分割したときの、移動物体の一部が含まれる各ブロックについて、現フレーム画像内で、該ブロックと同一形状で類似したものを見つけて、該ブロックの動きベクトルを求め、該移動物体に含まれる複数のブロックの各動きベクトルの代表値を、該移動物体の動きベクトルと決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動物体認識方法及び装置に関する。
【背景技術】
【0002】
車、バイク、自転車及び人などの移動物体をカメラで撮像してその動作を認識しようとすると、分離して写っていた移動物体同士がその後、隣接し又は重なり、その際にカメラと移動物体との間の距離及びアングルに依存して移動物体の形や大きさが変化する場合がある。
【0003】
衝突事故を正確に認識するためには、このような移動物体の動作を正確に認識する必要があるが、従来ではこれが容易でなかった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−40490号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、このような問題点に鑑み、移動物体の動作をより正確に認識することが可能な移動物体認識方法及び装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明による移動物体認識方法では例えば図13及び20(A)に示す如く、
電子カメラで撮影されたフレーム画像を、複数ピクセルからなるブロックに分割し、
移動物体の一部が含まれる各ブロックについて、次フレーム画像内で、該ブロックと同一形状で類似したものを見つけて、該ブロックの動きベクトルを求め、
該移動物体に含まれる複数のブロックの各動きベクトルの代表値を、該移動物体の動きベクトルと決定する。
【0007】
この方法によれば、右折や左折する移動物体の速度を高精度で測定することが可能となる。
【0008】
本発明による他の移動物体認識装置では、例えば図16に示す如く、
撮影された前フレーム画像及び現フレーム画像が格納される画像記憶部(21)と、
該前フレーム画像を、複数ピクセルからなるブロックに分割したときの、移動物体の一部が含まれる各ブロックについて、該現フレーム画像内で、該ブロックと同一形状で類似したものを見つけて、該ブロックの動きベクトルを求め、該移動物体に含まれる複数のブロックの各動きベクトルの代表値を、該移動物体の動きベクトルと決定する動きベクトル算出部(37)とを有する。
【0009】
本発明による他の移動物体認識方法では、
電子カメラで撮影されたフレーム画像を、複数ピクセルからなるブロックに分割し、同一移動物体に属するブロックに同一識別符号を持たせたオブジェクトマップを作成し、
時間的に前後のフレーム画像に基づいて、各移動物体の動きベクトルを求める方法であって、
現フレーム画像について移動物体が存在すると判定されたブロックの各々が、前フレーム画像に存在する移動物体のいずれかの識別符号を持っていると仮定したときの評価関数の値の大小関係に基づいて、該存在ブロックに付与すべき識別符号を決定する。
【0010】
画像上で移動物体間の重なりが生じて、カメラから見て背面側の移動物体の一部が見えなくなっても、カメラから見て前面側の移動物体は見えるので、この移動物体認識方法によれば、存在ブロックがどの移動物体に属するかを評価関数の値に基づき推定することができる。
【0011】
また、時刻tにおいて、移動物体間が重なっていないが接近しているため同一ブロックに2つの移動物体の一部が属し、このブロックのIDが不明であっても、時刻(t−1)では該一部がそれぞれ異なるブロックに属している場合があるので、この移動物体認識方法によれば、存在ブロックがどの移動物体に属するかを評価関数の値に基づき推定することができる。
【0012】
本発明による他の移動物体認識装置では、
撮影されたフレーム画像が格納される画像記憶部と、
該フレーム画像を複数ピクセルからなるブロックに分割し、ブロックに移動物体が存在するかどうかを判定し、同一移動物体に属するブロックに同一識別符号を持たせたオブジェクトマップを作成するオブジェクトマップ作成部と、
該画像記憶部に格納された時間的に前後のフレーム画像に基づいて、各移動物体の動きベクトルを求める動きベクトル算出部と、
現フレーム画像について移動物体が存在すると判定されたブロックの各々が、前フレーム画像に存在する移動物体のいずれかの識別符号を持っていると仮定したときの評価関数の値の大小関係に基づいて、該存在ブロックに付与すべき識別符号を決定するID更新部と、
を有する。
【0013】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。なお、本願特許請求の範囲に関わる実施例は、主に、実施例3以降である。
【図面の簡単な説明】
【0014】
【図1】本発明の移動物体間動作分類装置を交差点に配置した場合を示す概略図である。
【図2】図1中の画像認識装置のハードウェア及びソフトウェアの構成を機能ブロックで示す概略図である。
【図3】図2中の処理を説明するためのベクトル図である。
【図4】危険度ベクトルV/Dの量子化説明図である。
【図5】衝突事故の時系列パターン説明図である。
【図6】他の衝突事故の時系列パターン説明図である。
【図7】さらに他の衝突事故の車両速度ベクトル時系列説明図である。
【図8】(A)は図7の車両速度ベクトルを−θ回転させたものの時系列説明図り、(B)はこの時系列と相対速度ベクトルの時系列とを示す図である。
【図9】left−to−right隠れマルコフモデルの状態遷移図である。
【図10】本発明の実施例2に係る画像認識装置のハードウェア及びソフトウェアの構成を機能ブロックで示す概略図である。
【図11】図10中の移動物体認識部での処理説明図である。
【図12】(A)は衝突事故の車両速度ベクトル時系列の各ベクトル回転説明図、(B)はこの時系列と相対速度ベクトルの時系列とを示す図である。
【図13】図12(A)を時計回りに90゜回転させた速度ベクトル時系列パターンを示す図である。
【図14】HMMモデルにおいて、衝突とこれに類似したタンデムの動作の区別度の状態数依存性を示す線図である。
【図15】状態数が7のときの衝突動作において、状態iから状態j=i+1に遷移し又は状態jに留まって観測量Oを出力する確率の具体例を視覚的に示す3次元棒グラフである。
【図16】本発明の実施例3に係る画像認識装置のハードウェア及びソフトウェアの構成を機能ブロックで示す図である。
【図17】交差点への4つの入口及び交差点からの4つの出口に設定されたスリット及びブロックに付された移動物体のIDを示す説明図である。
【図18】図16の移動物体更新部38での処理説明図であって、それぞれ時刻(t−1)での画像、時刻tでの予測画像及び時刻tでの実際の画像を示す図である。
【図19】(A)及び(B)は、図16の移動物体分割部39での処理説明図であって、それぞれ時刻t及び時刻(t+1)での画像を示す図である。
【図20】(A)は4ブロックの各々の動きベクトルに基づいて得られる移動物体動きベクトルを示し、(B)は、重なって写っている2つの移動物体に属するブロックの各々の動きベクトルに基づいて得られる、2つの移動物体の動きベクトルを示す図である。
【図21】本発明の実施例4に係る画像認識装置を示すブロック図である。
【図22】図21中の一部を示すブロック図である。
【図23】本発明の実施例5に係る画像認識装置を示すブロック図である。
【図24】図23中のシフトレジスタに同時に保持されるデータであって、ある交差点での衝突動作の観測系列O1に対応した、t=0〜19についての部分系列観測確率α(1,t)〜α(N,t)を示す表である。
【図25】図23中のシフトレジスタに同時に保持されるデータパターンであって、他の交差点での衝突動作の観測系列O1Aに対応した、t=0〜19についての部分系列観測確率α(1,t)〜α(N,t)を示す表である。
【図26】図23中のシフトレジスタに同時に保持されるデータパターンであって、タンデム動作の観測系列O2に対応した、t=0〜19についての部分系列観測確率α(1,t)〜α(N,t)を示す表である。
【図27】図23中のシフトレジスタに同時に保持されるデータパターンであって、通過動作の観測系列O3に対応した、t=0〜19についての部分系列観測確率α(1,t)〜α(N,t)を示す表である。
【図28】本発明の実施例6に係る画像認識装置のハードウェア及びソフトウェアの構成を機能ブロックで示す図である。
【図29】図28中の不明ID決定部の入出力関係を模式的に示す図である。
【図30】(A)及び(B)は該不明ID決定部の処理説明図である。
【図31】(A)及び(B)は該不明ID決定部の処理説明図である。
【図32】本発明の実施例7に係る画像認識装置の不明ID決定部での処理を示すフローチャートである。
【実施例1】
【0015】
図1は、本発明の移動物体間動作分類装置を交差点に配置した場合の概略を示している。
【0016】
この装置は、交差点を撮像して画像信号を出力する電子カメラ10と、その画像を処理して移動物体間衝突事故を認識する画像認識装置20とを備えている。
【0017】
図2は、本発明の実施例1に係る画像認識装置20のハードウェア及びソフトウェアの構成を機能ブロックで示している。
【0018】
電子カメラ10からの画像信号は、デジタル化されており、画像メモリ21に格納される。移動物体認識部22は、画像メモリ21内の現画像を過去の画像と比較して、移動物体を認識し、その位置、例えば移動物体の図形の重心を検出する。例えば図1の場合、車M1〜M6の位置P1〜P6を検出する。これらの位置座標は、位置レジスタアレイ23の内容が位置レジスタアレイ24にコピーされた後、位置レジスタアレイ23に保持される。移動物体認識部22はまた、移動物体間の距離、例えば図3(A)に示す距離dを画素単位で測定し、位置レジスタアレイ内の2位置の組み合わせと対応させて、相対距離レジスタアレイ25に格納する。
【0019】
V/D計算部26は、位置レジスタアレイ23と24の対応するレジスタの内容の差を移動物体の速度ベクトルとして求め、次に、全ての移動物体間の相対速度ベクトルVを計算する。例えば、図3(A)に示す車M1の速度ベクトルV1と車M2の速度ベクトルV2の相対速度ベクトルVは図3(B)に示す如くなる。V/D計算部26はさらに、各移動物体間について、相対速度ベクトルVの2物体に対応した相対距離位置レジスタアレイ24の内容dを読み出し、ベクトルV/Dを計算する。ここに、D=d+εであり、εはD>0を保証するための定数であって、ε≧0である。εの値はdの定義によって異なり、必ずD>0であればε=0とすることができる。
【0020】
相対的なベクトルであるV/Dの時系列パターンが同一であれば同一パターンであると認識されるので、様々な衝突事故を認識することが可能となる。衝突危険度は、相対速度ベクトルVが大きいほど、相対距離dが小さいほど大きいと考えられるので、V/Dは衝突危険度を示している。図1の場合、移動物体間の組み合わせは15通りあり、各組み合わせについてV/Dを計算する。その計算結果は、V/D時系列メモリ27に格納される。
【0021】
V/D時系列メモリ27は、例えばFIFOメモリであり、最も古いデータがV/D時系列メモリ27から排出されるとともに、V/D計算部26からの新たなデータがV/D時系列メモリ27格納される。次の表1は、V/D時系列メモリ27内のデータ格納状態を示している。
【0022】
【表1】

【0023】
表1中、(V/D)ijtは、車MiとMjの組の時刻tにおける危険度ベクトルV/Dの値を示している。V/Dは、例えばX座標とY座標の値で表される。
【0024】
V/Dが小さければ衝突が生じないので、認識開始判定部28は、V/D計算部26の出力からその絶対値|V/D|を計算し、これが設定値Cより大きいかどうかを判定し、その結果をV/D時系列切り出し部29に供給する。
【0025】
|V/D|>Cと判定されると、その後所定時間以内に交通事故が生ずるかもしれないので、該所定時間経過後にV/D時系列切り出し部29はそのV/D時系列をV/D時系列メモリ27から切り出す。
【0026】
このようにすれば、|V/D|≦Cのときには衝突事故の認識をしないので、無駄な処理が省かれ、処理速度が低速で安価な装置を用いて衝突事故認識に必要な処理時間を確保することが可能になる。
【0027】
ここで、様々な衝突事故を容易に認識可能にするためには、類似の衝突事故を同種事故と分類する必要がある。例えば、ある衝突事故の時系列パターンと、静止座標系を回転させれば同一になる時系列パターンとが、同一観測系列になるようにした方が好ましい。すなわち、交差点の形状やカメラ10の取付位置などに観測系列が依存しないようにすべきである。
【0028】
そこでベクトル回転部30は、V/D時系列切り出し部29で切り出されたV/D時系列内の最初の時刻t=1のベクトル(V/D)ij1のX軸に対する角度θを計算する。次に、このV/D時系列の各ベクトルV/Dを−θ回転させる。例えば図3(C)に示す如く回転させる。これにより、例えば図5に示す衝突パターンのV/D時系列とこれを180度回転させた図6に示すような衝突パターンのそれは同一になる。
【0029】
簡単化のためにV/Dの替わりに速度ベクトルのみで説明すると、図7に示す車M1及びM2の時刻t=1〜4での速度ベクトルV11〜V14及びV21〜V24は、−θ回転により図8(A)に示す速度ベクトルV11a〜V14a及びV21a〜V24aになり、相対速度ベクトルは図8(B)に示すV=V1〜V4となる。
【0030】
量子化部31は、このように回転されたV/D時系列の各V/Dについて、図4に示す如く、量子化する。例えばV/D=vの時系列が{v0,v1,v2}の場合、時系列{0,1,2}と量子化する。量子化された観測量の時系列を観測系列と称す。例えば図5に示す時刻t=4〜9の観測系列は{1,2,3,0,8,7}となる。図6の衝突パターンについても同じである。この量子化により、ある衝突パターンと類似の衝突パターンは同一観測系列となるので、様々な衝突事故を容易に認識可能になる。また、量子化により観測系列が簡単な数値列になるので、その後の認識処理が簡単になる。
【0031】
類似度計算部32は、具体的な衝突事故の観測系列を参照系列とし、量子化部31から供給される観測系列の参照系列に対する類似度を計算する。上記のことから、少ない参照系列で様々な衝突事故を容易に認識可能になる。
【0032】
公知のパターン類似度計算には、隠れマルコフモデル(HMM)法やパターンマッチング法などがあり、これらのいずれかを利用することができる。例えば、具体的な衝突事故の観測系列を学習系列としてパラメータを決定したHMMにより、量子化部31で得られた観測系列が生ずる確率P=EXP(μ)を計算する。この計算方法は、後述する。学習系列に対称パターンが含まれていなければ、量子化部31で得られた観測系列と対称なパターンについても確率Pを計算し、確率Pの大きい方の値を類似度とする。例えば、観測系列{0,1,4,5,2}に対し、図4との関係でこれと対称なパターンは{0,1,10,11,2}である。
【0033】
衝突事故判定部33は、μが設定値μ0より大きければ、この観測系列が衝突事故であると判定し、その結果を出力する。この結果は、警察に自動通報され、これにより救助活動が迅速に行われるとともに、実地検分が迅速に行われて事故渋滞が緩和される。
【0034】
図2の構成要素28〜33の処理は、コンピュータで実行することができる。
【0035】
次に上記計算方法を説明する。
【0036】
図9に示すような状態数Nのleft−to−rijht HMMを考える。HMMにおける状態は観測量ではなく、具体的なイメージと対応していないのが通常である。観測量は図4に示す如く量子化されたものであり、時刻tでの観測量をOtと表記する。1≦i≦Nなる任意のiについて、時刻(t−1)で状態iであるとき、時刻tで状態jになる確率をaijと表記し、このとき観測量Otを出力する確率をbij(Ot)と表記すると、次の関係が成立する。
【0037】
j≠iかつj≠i+1に対し、aij=0、bij(Ot)=0 1≦i≦N−1なる任意のiに対し、aii+ai(i+1)=1
状態Nは最終状態であり、次の状態には遷移できず、aNN=1
j=i又はj=i+1に対し、
ij(0)+bij(1)+・・・+bij(12)=1
例えば初期t=0に状態1である確率が1であり、時刻t=1、2の観測系列{2,5}が生ずる確率Pは、時刻t=1、2の状態系列{1,1}、{1,2}、{2,2}、{2,3}の各々について観測系列{2,5}を出力する確率の総和であり、次式で表される。
【0038】
P=a11・b11(2)・a11・b11(5)
+a11・b11(2)・a12・b12(5)
+a12・b12(2)・a22・b22(5)
+a12・b12(2)・a23・b23(5)
初期t=0に状態iにいる確率をπiと表記する。HMMモデルは、初期状態の確率分布π={π1,π2,π3,,,,,πN}と、上記確率aij及びbij(k)の集合とにより定まる。これらのパラメータをλと表記する。
【0039】
以下、観測系列の長さをT、観測量の数をL(図4ではL=13)と表記する。また、時刻tまでに観測系列{O12...t}を出力し、状態iになる部分系列観測確率をα(i,t)と表記する。
【0040】
モデルパラメータλの下で観測系列{O12...T}が生ずる確率P(O12...T|λ)は一般に、以下の3ステップからなる前向きアルコリズムで計算されることが知られている。
【0041】
ステップ1:t=1
α(1,1)=π1・b11
2≦j≦Nの各jに対し、
α(j,1)=π(j-1)・b(j-1)j+πj・bjj
ステップ2:t=1,2,・・・,T−1の各々について順次
1≦j≦Nの各jに対し、
【0042】
【数1】

【0043】
ステップ3:
【0044】
【数2】

【0045】
確率Pは、公知の後ろ向きアルコリズムでも、さらにViterbiアルゴリズムでも計算することができる(電子・情報工学講座19「情報処理概論」、榑松明著、培風館)。
【0046】
ここで、時刻tで状態iにいるとき、時刻(t+1)からの観測系列が{Ot+1t+2・・・OT}となる確率をβ(i,t)と表記すると、次の関係式が成立する。
【0047】
【数3】

【0048】
また、学習系列{O12・・・OT}に関し、時刻(t−1)に状態iにいて時刻tで状態jに遷移する確率をγ(i,j,t)と表記する。
【0049】
モデルパラメータは、衝突事故の観測系列を学習系列として、Baum−Welchアルゴリズムにより求めることができる。すなわち、モデルパラメータに初期値を与え、1≦i≦N、1≦j≦Nの各i及びjに対し、以下のステップ1でγ(i,j,t)を計算し、得られたγ(i,j,t)を用いてステップ2でモデルパラメータを更新し、同様にステップ1と2の計算をモデルパラメータが収束するまで繰り返すことにより、モデルパラメータが決定される。
【0050】
ステップ1:γ(i,j,t)の計算
【0051】
【数4】

【0052】
ここに、Fは状態の全集合{1,2,・・・,N}であり、総和のiはi∈Fと同じ意味である。
【0053】
ステップ2:モデルパラメータ更新
【0054】
【数5】

【0055】
ここに、総和のi及びjはいずれもi∈F及びj∈Fを意味している。また、t:yt=kは、時刻tにおいて観測量kであるもののみの総和をとることを意味している。
【0056】
学習系列が複数ある場合には、例えば、1つの学習系列につき上記方法でモデルパラメータを決定し、このモデルパラメータを初期値として次の学習系列につき上記方法でモデルパラメータを決定し、以降同様の処理を繰り返す。
【実施例2】
【0057】
図10は、本発明の実施例2に係る画像認識装置20Aのハードウェア及びソフトウェアの構成を機能ブロックで示している。
【0058】
移動物体認識部22Aは、メモリを有し、画像メモリ21内の画像の解像度を低減し、移動物体のみの図10に示すようなパターン情報を該メモリに書き込む。例えば、画像メモリ21の1フレームが480×640ピクセルの場合、8×8ピクセルを1ブロックの情報に低減して、60×80ブロックのパターン情報に変換する。ブロック情報は、移動物体毎に異なる識別符号であり、図10では図1中の車M1〜M6に対応してそれぞれ識別符号1〜6の情報が書き込まれている。
【0059】
移動物体認識部22Aは、上記実施例1と同様に移動物体の位置を検出し、また、異なる識別符号の画素間距離の最小値を移動物体間距離dと決定する。
【0060】
次に、本実施例2で用いる観測量について説明する。
【0061】
図12(A)において、車M1及びM2の時刻t=1〜4での速度ベクトルV11〜V14がX方向になるようにそれぞれθ1〜θ4回転させたものを速度ベクトルV11b〜V14bとする。速度ベクトルが0である場合にはその方向を、0になる直前の速度ベクトルの方向であるとみなす。θ1〜θ4回転に対応して、車M2の時刻t=1〜4での速度ベクトルV21〜V24をそれぞれθ1〜θ4回転させたものを速度ベクトルV21b〜V24bとする。i=1〜4について、図12(B)に示す相対速度ベクトルVi=V2ib−V1ibを求める。換言すれば、車M1の速度ベクトルV1iのX軸に対する角度がθiのとき、車M1とM2の相対速度ベクトル(V2i−V1i)を−θ回転させたベクトルViを求める。次に、ベクトルv=Vi/Diを図4に示すように量子化したものを、時刻t=iでの観測量として求める。ここにDiは、時刻t=iでの上述のD=d+εである。
【0062】
図13は、図12(A)を時計回りに90゜回転させた速度ベクトル時系列パターンを示している。この場合、上記同様に回転して得られる速度ベクトルV11b〜V14b及びV21b〜V24bは、図12(A)のそれと同一になり、観測系列も図12(A)の場合と同一になる。
【0063】
すなわち、この観測系列は、図13において、車M1に固定された座標系から見た車M2の相対的な観測量V/Dの時系列であり、地上静止座標系を回転させても同一になる。
【0064】
このような観測系列を用いれば、図10に示す如く、V/D計算部26で求められたV/Dをベクトル回転部30Aに供給してベクトルV/Dをリアルタイムで上記−θ回転させ、次にこれを量子化部31で図4に示す如く量子化し、観測系列メモリ27Aに格納することができる。
【0065】
したがって、図2の場合のようにθ決定時点を選ぶ必要がない。また、量子化後の観測量がメモリ27Aに格納されるので、その必要な容量は、量子化前のベクトル量が格納される図2のメモリ27のそれより少なくなる。
【0066】
他の点は、上記実施例1と同一である。
【0067】
次に、上記実施例2の効果を示す実験結果について説明する。
【0068】
(1)衝突動作パターンに対するモデルパラメータλ1の決定 状態数N=7とした。aijの初期値を、
i=1〜6の各々についてaii=0.5
77=1.0とし、bijの初期値を、
i=1〜6、j=i+1、k=0〜2の各々について、
ii(k)=0.10、bij(k)=0.10
i=7、k=0〜2の各々について、
ii(k)=0.10
i=1〜6、j=i+1、k=3〜12の各々について、
ii(k)=0.07、bij(k)=0.07
i=7、k=0〜2の各々について、
ii(k)=0.07とした。また、初期t=0での状態確率分布を、
π1=1、i=2〜7に対しπi= 0
とした、さらに、以下の表2のNo1〜10の衝突事故観測系列を学習系列とした。この学習系列はいずれも、図5又は図6に示すような同一車線上の同一方向の車間の衝突に関するものである。
【0069】
【表2】

【0070】
このような条件の下で、上記Baum−Welchアルゴリズムによりパラメータaijを次の表3のように決定し、パラメータbij(0)〜bij(6)及びbij(7)〜bij(12)をそれぞれ以下の表4及び表5のように決定した。
【0071】
【表3】

【0072】
【表4】

【0073】
【表5】

【0074】
このモデルパラメータをλ1と表記する。
【0075】
(2)他の動作パターンに対するモデルパラメータの決定
上記同様にして、次の2つの動作パターンに対するモデルパラメータλ2及びλ3を決定した。
【0076】
(1)交差点で同一方向に直列に隣合った車どうしが衝突を起こさずにストップ/スタート動作(タンデム動作)するパターン 次の表6のNo1〜10の観測系列をこの動作の学習系列とした。タンデム動作は、後ろの車が前の車に接近した後、前の車が後ろの車から離れるので、衝突動作に類似している。
【0077】
【表6】

【0078】
上記同様にして得られたモデルパラメータをλ2と表記する。
【0079】
(2)異なる車線で少なくとも一方が移動して他方を通過する動作(通過動作)パターン
次の表7のNo1〜10の観測系列をこの動作の学習系列とした。
【0080】
【表7】

【0081】
上記同様にして得られたモデルパラメータをλ3と表記する。
【0082】
同一車線上の同一方向の車間のある衝突事故の観測系列O1、タンデムスタート/ストップ動作の観測系列O2及び通過動作の観測系列O3の各々について、モデルパラメータλ1、λ2及びλ3の下で該観測系列が生ずる確率P(Oi|λj)=EXP(μij)、i=1〜3、j=1〜3の指数部μijを計算したところ、次の表8に示す結果が得られた。
【0083】
【表8】

【0084】
この表から、例えば、
P(O1|λ1)/P(O2|λ1)=EXP(11.2)
P(O1|λ1)/P(O3|λ1)=EXP(29.7)
と確率比が大きく、動作分離性能が高いことがわかる。
【0085】
次に、衝突事故のHMMモデルにおける状態の理解を深めるための解析結果を説明する。
【0086】
図14は、HMMモデルにおいて、衝突動作(Accident)とこれに類似したタンデム動作(Tandem)との区別の程度が状態数Nによりどのように変化するかの解析結果を示す。モデルパラメータは、40の衝突事故の観測系列を学習系列として決定した。横軸は状態数Nであり、縦軸はこのモデルで計算された観測系列の確率P=EXP(μ)の指数部を、複数の観測系列について合計し、さらに−1を乗じた値である。図14中のAccidentは、前記40の観測系列に関するものであり、Tandemは他の40のタンデム動作の観測系列に関するものである。
【0087】
この図から、Nが6又は7以上でTandemとAccidentの区別がよくできることが分かる。
【0088】
図15は、N=7のときの上記モデルパラメータの下で、状態iから状態j=i+1に遷移し又は状態jに留まって観測量Oを出力する確率(bij(O)+bjj(O))の具体例を視覚的に示す3次元棒グラフである。
【0089】
HMMの状態には明示的な意味はないが、このグラフから、状態を次のように解釈することができる。
【0090】
無干渉(状態1及び2):観測量0
接近(状態3):観測量1又は2
急接近(状態4):観測量3
衝突の瞬間(状態5):観測量0
反動(状態6):観測量7又は8
停止(状態7):観測量0
【実施例3】
【0091】
図16は、本発明の実施例3に係る画像認識装置20Bのハードウェア及びソフトウェアの構成を機能ブロックで示している。
【0092】
図10とは、構成要素34〜40のみ異なる。まず、構成要素35〜39での処理を概説する。
【0093】
画像メモリ21の1フレームが480×640ピクセルの場合、8×8ピクセルを1ブロックとし、1フレームを60×80ブロックに分割する。ブロック単位で移動物体が存在するかどうかを判断し、存在すれば、移動物体毎に異なる識別符号を付す。図11では、升目がブロックを示しており、図1中の車M1〜M6に対応してそれぞれ識別符号1〜6の情報がブロック単位で書き込まれている。典型的には、一つの移動物体に5〜30程度のブロックが属する。移動物体としては、車、バイク、自転車、人などがある。
【0094】
移動物体識別番号(ID)の生成及び消滅処理を行うために、図17に示す如く、フレーム上(画像メモリ21内)において、交差点への4つの入口及び交差点からの4つの出口にそれぞれスリットEN1〜EN4及びEX1〜EX4を初期設定しておく。
【0095】
次に、構成要素34〜40での処理の詳細を説明する。
【0096】
背景画像は、移動物体が存在しない画像である。背景画像生成部34は、画像メモリ21をアクセスし、例えば過去10分間の全画像について、対応するピクセルの画素値のヒストグラムを作成し、その最頻値(モード)をそのピクセルの画素値とする画像を背景画像として生成し、画像メモリ21内の所定領域に格納する。背景画像は、背景画像生成部34により定期的に更新される。
【0097】
ブロック情報メモリ35は、60×80ブロック及び移動物体の情報を記憶するためのものであり、構成要素35〜39及びV/D計算部26によりアクセスされる。画像メモリ21内のブロックは、アドレスにより識別される。なお、画像メモリ21とブロック情報メモリ35とは同一メモリ内の異なる記憶領域であってもよい。
【0098】
ID生成/消滅部36は、画像メモリ21から入口スリットEN1〜EN4内の画像データを読み込み、これらスリット内に移動物体が存在するかどうかをブロック単位で判定する。あるブロックに移動物体が存在するかどうかは、このブロックの各ピクセルと背景画像の対応するピクセルとの差の絶対値の総和が所定値以上であるかどうかにより判定する。
【0099】
入口スリット内の移動物体存在ブロックが、識別符号を持ったブロックと隣接していない場合には、該移動物体存在ブロックに新たなIDを付す。
【0100】
移動物体が存在すると判定された隣接ブロックに同一IDを付すことにより、該移動物体に対応したクラスタができる。例えば図17中の入口スリットEN1内にはID=1が生成されている。新たな移動物体のブロックが、すでに存在する移動物体のブロックと隣接しているときには、すでに存在する移動物体のIDと同じにする。例えば図17中の入口スリットEN4内の移動物体存在ブロックには、すでに存在する移動物体のIDと同じID=5が付加される。
【0101】
ID生成/消滅部36はさらに、画像メモリ21から出口スリットEX1〜EX4内の画像データを読み込み、これらスリット内に移動物体が存在するかどうかをブロック単位で判定し、出口スリットを移動物体が通過したときにそのIDを消滅させる。例えば図17中の出口スリットEX1内のブロックにIDが付されている状態から、IDが付されない状態に変化したときに、ID=3を消滅させる。消滅IDは、次の生成IDとして用いることができる。
【0102】
動きベクトル算出部37は、画像メモリ21から画像データを読み込み、時刻(t−1)での前フレーム中の移動物体に属するブロック毎に独立に、これと時刻tでの現フレーム内の位置可変ブロックとの間で、MPEGの符号化で用いられているブロックマッチングを適用して、該ブロックの動きベクトルを求める。動きベクトル算出部37はさらに、移動物体毎に、求めた複数の動きベクトルの代表値、例えばモード、メジアン又は平均値を、その移動物体の動きベクトルと推定し、これを、該移動物体の情報としてブロック情報メモリ35に書き込む。代表値がメジアン又は平均値である場合には、中心分布から著しく離れる動きベクトルを除外した後に代表値を求めることにより、より正確な値を得るようにしてもよい。
【0103】
例えば4ブロックの移動物体の動きベクトルが図20(A)に示す細線ベクトルである場合、平均値である太線ベクトルをこの移動物体の動きベクトルと推定する。
【0104】
これにより、右折や左折する移動物体の速度を高精度で測定して、衝突事故の認識率を高めることが可能となる。
【0105】
動きベクトル算出部37は、図17に示すID=2のような欠落のない移動物体のみならず、ID=1、3及び5のような移動物体一部についても、その動きベクトルを推定する。
【0106】
なお、MPEGでの動きベクトルは、データ圧縮のためのものであって、クラスタ単位の動きベクトルという概念はない。また、動きベクトルが小さい場合には、ブロックマッチングの他にオプティカルフローの推定も有用な手法として用いることができる。
【0107】
ある移動物体に属するブロック内の各ピクセルの色がほぼ同一である場合、すなわちテクスチャの少ないブロックがクラスタに存在する場合、ブロックマッチングやオプティカルフローなどの手法により正確な動きベクトルを得ることができない。
【0108】
そこで動きベクトル算出部37は、このようなブロック、例えばそのブロック内の全画素値の散布度、例えば分散σ2、標準偏差σ、平均偏差MD、四分偏差QD、範囲R又はエントロピーなどが所定値以下であるブロックについては、動きベクトルを求めず、移動物体の動きベクトル推定に使用しない。この場合であっても、タイヤの部分のように色が一様でないブロック群が存在するので、動きベクトル算出部37は移動物体の動きベクトルを推定することができる。
【0109】
動きベクトルを求めるべきブロックであるかどうかを判断するのに、エッジ画像を利用することができる。すなわち、原画像に対しエッジ強調処理を行い、次いで2値画像に変換し、ブロック内に‘1’のエッジ画素の数が所定値以下であれば、動きベクトルを求めるのに適しないブロックと判定してもよい。エッジ強調画像は、原画像に1次微分オペレータ又はラプラシアンオペレータなどの2次微分オペレータをかけて簡単なフィルタ処理を行うことにより得られる。エッジ画像取得には、Sobel、Roberts又はPrewittなどの公知手法を用いてもよい。
【0110】
次に、移動物体更新部38での処理の具体例を説明する。
【0111】
図18は、車がカメラ側へ向かった後、車から見て右折する場合の、移動物体更新部の処理説明図である。
【0112】
画像P1中の車のクラスタ(ドット領域)を、上記のようにして求めた動きベクトルだけ平行移動させると、次フレームの予測画像P2が得られる。この予測画像のクラスタ周囲を、1ブロック外側まで拡大させて、太線で境界を示す領域を考える。次フレームの実際の画像は、P3であるとする。この場合、移動物体更新部38は、予測画像P2の拡大領域(太線枠内)に対応する画像メモリ21内の領域について、ブロック毎に、上記のように移動物体が存在するかどうかを判定し、存在すると判定されたブロックに対しては、画像P1中のクラスタに付されたIDと同じIDを付す。このようにして更新されたクラスタを予測画像P2中のクラスタと比較すると、結果として、予測クラスタから削除されたブロック(斜線部)と、予測クラスタに追加されたブロック(縦線部)とがある。
【0113】
すなわち、移動物体更新部38は、ブロック情報メモリ35から移動物体のオブジェクトマップ及び動きベクトルを読み込み、この動きベクトルだけ、該移動物体を該オブジェクトマップ内で平行移動させ、さらにその周囲を拡大した範囲について、画像メモリ21内の現フレームに移動物体が存在するかどうかをブロック毎に判定することにより、該移動物体のクラスタを更新する。この動きベクトルは、時刻(t−1)でのフレームと時刻tでのフレームとの間で動きベクトル算出部37により求められたものであり、画像メモリ21内の現フレームは時刻(t+1)でのものである。
【0114】
このようにすることにより、カメラに分離して写っていた車同士がその後、隣接し、その際にカメラと移動物体との間の距離及びアングルに依存してクラスタのブロック数や形が変化しても、両者を異なる車として認識することが可能になる。例えば図19(A)に示す1つのクラスタを2台の車として認識することができる。
【0115】
移動物体更新部38は、前記拡大範囲が移動物体間で重なった場合、重なったブロックがどの移動物体に属するかどうかが不明であるので、重なったブロックはいずれの移動物体にも属さないとみなし、移動物体が存在するかどうかを判定しない、すなわち重なったブロックにはIDを付加しない。
【0116】
これにより、カメラに分離して写っていた車同士がその後、重なり、その際にカメラと移動物体との間の距離及びアングルに依存してクラスタのブロック数や形が変化しても、両者の動きベクトルが不正確になるのを防止することができる。
【0117】
したがって、このような重なりや変化により衝突事故の判定ができなくなるのを防止することができる。
【0118】
入口スリットなどで複数の移動物体が重なって写り、単一クラスタと認識されても、動きベクトル算出部37でブロック毎に動きベクトルを求めたとき、図20(B)に示すように動きベクトルが複数のグループに分かれる場合には、移動物体分割部39はグループ毎に異なる移動物体と認識する。そして、これにともなって新たなIDを生成し、各移動物体の動きベクトルを上記のように推定し、各移動物体のこれらID及び動きベクトルをブロック情報メモリ35に書き込む。
【0119】
移動物体分割部39はまた、動きベクトルが複数のグループに分かれなくても、ブロック情報メモリ35内のオブジェクトマップについて、例えば時刻tで図19(A)に示す単一クラスタが、次の時刻(t+1)で図19(B)に示すように2つのクラスタに分かれたとき、互いに異なる移動物体と認識し、これにともなって新たなIDを生成しこれをブロック情報メモリ35に書き込む。
【0120】
移動物体間距離算出部40は、ブロック情報メモリ35内のオブジェクトマップから、移動物体間の最短距離dを求め、これをその2つのIDと共にV/D計算部26に供給する。V/D計算部26は、この2つのIDの動きベクトルをブロック情報メモリ35から読み出し、上述の衝突危険度V/(d+ε)を算出する。
【0121】
他の点は、上記実施例2と同一である。
【0122】
以下の表9は、本実施例3の装置による認識実験の結果を示す。衝突、タンデム及び通過の動作を認識するためのモデルパラメータの決定には、衝突、タンデム及び通過の動作の各々について40個の学習系列を用いた。上記モデルパラメータλ1、λ2及びλ3に対応したこの場合のモデルパラメータをそれぞれλ1a、λ2a及びλ3aと表記する。
【0123】
【表9】

【0124】
認識される観測系列のうち、O1、O2及びO3は上記実施例2で述べたものと同一であって、それぞれ衝突、タンデム及び通過の動作を示している。O1Aは、O1と異なる交差点での衝突の観測系列である。
【実施例4】
【0125】
図21は、本発明の実施例4に係る画像認識装置を示している。
【0126】
画像処理装置41は、図16の装置20Bから類似度計算部32及び衝突事故判定部33を除いた部分と同一である。画像認識装置は、画像処理装置41と、これら要素32及び33の替わりに用いられるデコーダ42、シフトレジスタ43、ニューラルネットワーク44及びコンパレータ45とを備えている。
【0127】
デコーダ42は、観測系列切り出し部29Aからの4ビット観測量をデコードして、1ビットのみ‘1’である13ビットにし、シフトレジスタ43の初段に供給する。シフトレジスタ43は、13×20=260個のフリップフロップを備え、すなわち20ビットのシフトレジスタを13個備え、図22に示す如く、1ワード=13ビットの観測量を時刻t=0〜19について保持している。t=19がシフトレジスタ43の初段に相当している。
【0128】
すなわち、シフトレジスタ43には、事故を判定可能な数の観測量からなる観測系列の2値パターンが一時記憶されている。
【0129】
図22に示す、シフトレジスタ43に同時に保持されている観測系列は、衝突事故を示しており、その観測量は、t=0〜3で0(無干渉)、t=3及び4で1(接近)、t=5〜7で3(急接近)、t=8〜10で0(衝突)、t=11で8(反動)、t=12〜14で7(反動)、t=15〜19で0(停止)である。
【0130】
ニューラルネットワーク44は一般的な構成であり、入力層、中間層及び出力層を備えている。入力層のノード数は、シフトレジスタ43のビット数260に等しく、各ノードの入力値は‘0’または‘1’である。入力層のノードにはそれぞれシフトレジスタ43のビットが供給される。すなわち、シフトレジスタ43の全ビットが入力パターンとして、ニューラルネットワーク44の入力層に供給される。ニューラルネットワーク44の中間層のノード数は思考錯誤で定められ、例えば50である。本実施例4では、衝突事故のみを判定するので、出力層のノード数は1であり、そのノードの出力値の範囲は0〜1である。
【0131】
ニューラルネットワーク44の出力は、参照系列に対する類似度を示しており、コンパレータ45の一方の入力端に供給され、コンパレータ45の他方の入力端には参照値として0.5が供給される。ニューラルネットワーク44の出力が0.5より大きいとき、コンパレータ45の出力が‘1’となって、衝突事故と認識される。
【0132】
ニューラルネットワーク44のパラメータは、例えば通常のバックプロパゲーションアリゴリズムでトレーニングされて定められる。前記参照系列は、このパラメータを定めるための学習系列と考えることができる。
【0133】
以下の表10は、図23の装置による認識実験の結果を示す。但し、ニューラルネットワーク44の中間層及び出力層のノード数をそれぞれ50及び3として、衝突のみならず上述のタンデム及び通過の動作も認識できるようにした。
【0134】
【表10】

【0135】
この実験に使用した学習系列は、上記実施例3で述べたものと同一である。また、認識される観測系列も上記実施例3で述べたものと同一である。
【0136】
1Aに対する上記実施例3での識結果は正しかったが、表10はこれに対する認識結果が間違っていることを示している。
【0137】
これは、HMMとニューラルネットワーク44との本質的な相違に基ずくものと考えられる。すなわち、HMMでは状態遷移において同じ状態に留まる場合を考慮するので、少ない学習データで時間軸方向に関し伸縮した様々な類似パターンを吸収することができ、これにより高い認識率が得られると考えられる。ニューラルネットワーク44の欠点を解消するためには、学習データ数を増やせばよい。
【0138】
ニューラルネットワーク44を用いたことの利点は、リアルタイムで観測系列全体を同時入力することができるので、高速処理が可能になるということである。
【実施例5】
【0139】
図23は、本発明の実施例5に係る画像認識装置を示している。
【0140】
画像処理装置41Aは、図21の画像処理装置41に部分系列観測確率算出部46を付加したものである。部分系列観測確率算出部46は、観測系列切り出し部29Aから観測量が供給される毎に、上述の、HMMにおける部分系列観測確率α(i,t)、すなわち時刻tまでに観測系列{O12...t}を出力し、状態iになる確率を、全ての状態i=1〜Nについて算出して出力する。α(1,t)〜α(N,t)は同時に、シフトレジスタ43Aの入力段に供給される。α(i,t)が小数であるので、シフトレジスタ43Aのビット数は図21のそれよりも多い。
【0141】
図24は、上述の観測系列O1に対応しており、部分系列観測確率α(1,t)〜α(7,t)がt=0〜19についてシフトレジスタ43Aに保持された場合のデータパターンを示している。
【0142】
任意の時点におけるシフトレジスタ43A内のデータ数は7×20=140であり、それぞれニューラルネットワーク44Aの入力層のノードに供給される。ニューラルネットワーク44Aの入力層の各ノードの入力値は、0〜1の範囲の小数である。ニューラルネットワーク44Aの出力は、コンパレータ45の一方の入力端に供給され、図21と同様にして衝突事故が認識される。
【0143】
図25〜27はそれぞれ、上述の観測系列O1A、O2及びO3に対応した、t=0〜19についての部分系列観測確率α(1,t)〜α(7,t)のデータパターンを示している。
【0144】
以下の表11は、ニューラルネットワーク44Aの出力層のノード数を3にして衝突、タンデム及び通過を認識可能にした場合の、表10に対応した認識実験結果を示す。部分系列観測確率α(1,t)〜α(N,t)はHMMモデルパラメータに依存するが、衝突のそれを用いた。タンデム及び通過のそれを用いても、学習系列が互いに類似しているので、同様の結果が得られると考えられる。
【0145】
【表11】

【0146】
この表から、実施例5のほうが実施例4よりも認識率が高いことが分かる。
【実施例6】
【0147】
上記実施例3では、移動物体更新部38において、時点(t−1)で予測した時点tでの移動物体の拡大範囲が他の移動物体のそれと重なった場合、重なったブロックがいずれの移動物体にも属さないとみなし、移動物体IDを付加しなかった。
【0148】
しかし、移動物体の重なり部分の割合が大きくなると、重なり部分について料移動物体の情報がなくなるので、両移動物体を正確にトレースすることができなくなる。
【0149】
画像上でこのような移動物体間の重なりが生じて、カメラから見て背面側の移動物体の一部が見えなくなっても、カメラから見て前面側の移動物体は見えるので、そのブロックがどの移動物体に属するかを、簡単な画像処理により推定することを考える。また、時刻tにおいて、移動物体間が重なっていないが接近しているため同一ブロック(混合ブロック)に2つの移動物体の一部が属する場合であっても、時刻(t−1)では該一部がそれぞれ異なるブロックに属している場合がある。この場合、時刻(t−1)での画像を参照することにより、混合ブロックにどちらの移動物体がより多く属しているかを容易に推定することを考える。
【0150】
図28は、このような推定を用いて移動物体をより正確にトレースすることを可能にする本発明の実施例6に係る画像認識装置20Cを示す。
【0151】
この装置は、画像メモリ21、ブロック情報メモリ35及び移動物体更新部38に接続された不明ID決定部47を備えている点で、図16の画像認識装置20Bと異なる。
【0152】
上述のように、移動物体更新部38は、ブロック情報メモリ35に格納されている時点(t−1)でのオブジェクトマップ及び各クラスタの動きベクトルと、画像メモリ21に格納されている時点tでのフレーム画像とに基づいて、時点tでのオブジェクトマップを作成する。作成中において、移動物体が存在すると判定されたが上記のように移動物体IDが付されなかったブロック(ID不明ブロック)が存在した場合には、作成後に、これを不明ID決定部47に通知する。
【0153】
不明ID決定部47は、これに応答して、以下のようにしてID不明ブロックの移動物体IDを決定する。
【0154】
図29は、不明ID決定部47の入出力関係を模式的に示す。
【0155】
図29中、F1及びF2はそれぞれ時点(t−1)及びtでの、図28の画像メモリ21に格納されているフレーム画像の一部を概略的に示す。1つの枡目は1画素を表している。BL1(t−1)及びBL1(t)はそれぞれ、時点(t−1)及びtでの移動物体M1の境界線であり。BL2(t)は時点tでの移動物体M2の境界線である。
【0156】
Q1及びQ2はそれぞれフレーム画像F1及びF2に対応した、図28のブロック情報メモリ35に格納されているオブジェクトマップの概略を示す図である。1つの枡目は1つのブロックを表している。オブジェクトマップは、移動体IDを持っているブロックと持っていないブロックとからなる。図29では理解を容易にするために、オブジェクトマップ中にも移動物体の境界線を太線で表している。オブジェクトマップQ1及びQ2中のハッチングは、IDが付されたブロックであることを示している。右上がり斜線が付されたブロックはID=1を持ち、右下がり斜線が付されたブロックはID=2を持っている。
【0157】
オブジェクトマップQ2中のブロックB1、B2及びB3のいずれにも移動物体M1とM2の一部が含まれているので、移動物体更新部38は、これらのブロックがいずれの移動物体に属するかを判定することができない。
【0158】
不明ID決定部47は、これらフレーム画像F1、F2、オブジェクトマップQ1及びQ2並びに移動物体M1及びM2の動きベクトルに基づき、ブロックB1、B2及びB3のIDを決定して、オブジェクトマップQ3を得る。
【0159】
以下、オブジェクトマップQ2中のブロックB2が移動物体M1とM2のいずれに属するかを決定する方法を、具体的に説明する。この決定は、ブロックB2が移動物体M1であると仮定したときの評価値と、ブロックB2が移動物体M2であると仮定したときの評価値との大小関係に基づいて行なわれる。評価値は、以下の要素(1)〜(3)を含んである。
【0160】
(1)時点tでのオブジェクトマップのみに関係した評価要素UN
ブロックB2と隣接する9ブロックについて、ID=1を持ったブロックの数N1が多いほどブロックB2が移動物体M1のブロックである確度が高いと考えられる。そこで、ブロックB2のIDが1であることを評価する要素UN(1)を例えば次式で表す。
【0161】
UN(1)=α(N1−9)2
ここに、αは正の定数である。UN(1)の値が小さいほどブロックB2が移動物体M1に属する確度が高いと言える。
【0162】
同様に、ブロックB2のIDが2であることを評価する要素UN(2)を次式で表す。
【0163】
UN(2)=α(N2−9)2
ここにN2は、ブロックB2と隣接する9ブロックのうち、ID=2を持ったブロックの数である。
【0164】
図29の場合、UN(1)=16α、UN(2)=64αである。したがって、オブジェクトマップQ2のみから判断すると、ブロックB2は、ID=1である確度が、ID=2である確度よりも高いと言える。
【0165】
(2)時点(t−1)でのオブジェクトマップと移動物体の動きベクトルとに関係した評価要素US
図30(A)は大略、図29中のオブジェクトマップQ1とQ2とを重ね合わせ、かつ、ハッチングを削除したものである。図中、MV1は移動物体M1の動きベクトルであり、点線はBL1(t−1)をMVだけ平行移動させたものである。
【0166】
図30(B)に示す如く、ブロックB2を−MV1だけ平行移動させることにより、移動物体M1に固定された座標系から見て、時点(t−1)でのブロックB2に対応すると推定される判定枠B21が得られる。時点tでブロックB2に移動物体M1の一部と移動物体M2の一部とが含まれていても、時点(t−1)で判定枠B21には移動物体M2の一部が含まれていない場合があり、この場合、判定枠B21内を見ることにより、ブロックB2がID=1であるかどうかをより正確に推定することが可能となる。
【0167】
判定枠B21内の右上がり斜線部(ID=1の部分)の面積S1が広いほど、ブロックB2がID=1を持つことの確度が高くなると考えられる。
【0168】
そこで、オブジェクトマップの各ブロックを、8×8の同一IDアレイに拡大したマップを作成し、この拡大マップ上で、図31(A)に示す如く、ID=1の画素の個数を数えることにより、斜線部面積S1を求める。図31(A)中の斜線部はID=1の領域を示している。S1が64であるとき、ID=1である確度が最大となる。そこで、ブロックB2のIDが1であることを評価する要素US(1)を例えば次式で表す。
【0169】
US(1)=β(S1−64)2
ここに、βは正の定数である。US(1)の値が小さいほどブロックB2が移動物体M1に属する確度が高いと言える。
【0170】
同様に、ブロックB2のIDが2であることを評価する要素US(2)を次式で表す。
【0171】
US(2)=β(S2−64)2
ここにS2は、図31(A)に示す如く、ブロックB2を−MV2だけ平行移動させて得られる判定枠B22内のID=2の個数(右下がり斜線部面積)である。MV2は、移動物体M2の動きベクトルである。
【0172】
(3)時点t及び(t−1)でのフレーム画像と移動物体の動きベクトルとに関係した評価要素UD
図30(B)のブロックB2と判定枠B21とに対応した図29のフレーム画像F2及びF1中の局所画像の相関が強いほど、ブロックB2がID=1である確度が高いと言える。図31(B)に示すB2F及びB21Fはそれぞれ、図30中のブロックB2及び判定枠B21に対応したフレーム画像F2及びF1中の局所画像を示す。
【0173】
ブロックB2のIDが1であることを評価する要素UD(1)を例えば次式で表す。
【0174】
UD(1)=γΣ|B21F(i,j)−B2F(i,j)|
ここに、γは正の定数であり,B21F(i,j)及びB2F(i,j)はそれぞれ局所画像B2F及びB21F内の第i行第j列の画素値であり、Σはi=1〜8及びj=1〜8についての総和(ブロック内全画素についての総和)を意味している。
【0175】
UD(1)の値が小さいほどブロックB2が移動物体M1に属する確度が高いと言える。
【0176】
同様に、ブロックB2のIDが2であることを評価する要素UD(2)を次式で表す。
【0177】
UD(1)=γΣ|B22F(i,j)−B2F(i,j)|
ここに、B22F(i,j)は局所画像B22F内の第i行第j列の画素値であり、局所画像B22Fは図31(A)中の判定枠B22に対応したフレーム画像F1中の局所画像である。
【0178】
不明IDブロックのIDをより正確に推定するために、以上の(1)〜(3)を総合し、評価関数の値
U(1)=UN(1)+US(1)+UD(1)
と、
U(2)=UN(2)+US(2)+UD(2)
との大小関係に基づいて、ブロックB2のIDを決定する。すなわち、
U12=U(1)−U(2)
の値が負であればID=1と決定し、正であればID2=2と決定する。U(1)及びU(2)の最小値はいずれも0である。U12の値が小さいほど、ブロックB2がID=1である確度が高くなる。
【0179】
図29のオブジェクトマップQ2において、上記具体例ではブロックB1及びB3のIDを考慮しなかったが、実際には、ブロックB1、B2及びB3のIDを同時に仮定し、ブロックB1、B2及びB3の各々の評価関数の総和が最小となるように、ブロックB1、B2及びB3のIDを決定する。 この際、メトロポリス(Metropolis)アルゴリズム又はギッブスサンプラー(Gibbs Sampler)アルゴリズムなどの確率的緩和アルゴリズムを用いて最小値へ導く。また、評価値の極小値を最小値と間違えないようにするとともに、極小の谷から速く脱出するために、公知のシミュレーティッドアニーリング(Simulated Annealing)法を適用する。
【0180】
これにより、複数のID不明ブロックのIDを、より正確かつ容易に決定することができる。
【0181】
定数α、β及びγは、実際の画像を処理して、移動物体トラッキング成功率が高くなるように定められる。
【0182】
本発明者らは、上記のような評価関数を用いることが適切であることを数学的に確かめた。すなわち、マルコフ・ランダム・フィールド(Markov Random Field)モデルを時空間画像に拡張して適用し、表現された画像のエネルギー分布を確率緩和過程により最適化した結果、上記結果評価関数の最小化と同一になった。この点は、後述する実施例7についても同様である。
【0183】
なお、上記入口スリットで複数の移動物体が重なって写り、単一クラスタと認識された場合、これを不明ID決定部47で分離認識できないので、移動物体分割部39は本実施例6においても用いられる。
【0184】
次の表12は、本実施例6を適用した実験結果を示す。
【0185】
【表12】

【0186】
フレーム画像は、カラーではなく8ビットの濃淡画像を用いた。
【0187】
この表は、移動物体のトラキックング成功率を、画像中の垂直方向と水平方向の交通の流れに分けて示している。表は、交差点での実際の画像を解析して得られたものであり、複雑な交通の流れも上記いずれかの場合に分けられている。
【0188】
トラッキングが失敗した例は、一方の移動物体中に他方の移動物体が完全に重なった場合であった。水平方向のトラッキング成功率が、左右方向のそれよりも高い理由は、左右方向の交通の方が、移動物体間の重なりが垂直方向のそれよりも大きいためである。
【実施例7】
【0189】
上記実施例6では、時点tでのID不明ブロックが、互いに接近し又は重なった移動物体M1又はM2に属すると仮定して評価関数の値の大小関係に基づき不明IDを決定した。
【0190】
しかし、1つのブロックに3以上の移動物体の一部が含まれる場合がある。また、多くの移動物体について、互いに接近しようとしている移動物体がどれであるかを判断しなければならない。
【0191】
他方、評価要素US及びUDはいずれも、時点tと時点(t−1)での相関度が低いブロック間では値が大きく高いブロック間では値が小さい。これらの値を見るだけで上記のことを判断することができる。また、評価値の計算は容易である。
【0192】
そこで、本発明の実施例7では、図28の不明ID決定部47において、ID不明ブロックは、時点(t−1)のオブジェクトマップに含まれる全てのID=1〜mのいずれかを持つと考えて、評価関数の値の大小関係に基づき不明IDを決定する。
【0193】
時点tでのID不明ブロックを、BK1〜BKpで表し、ID不明ブロックBKiのIDがIDj(1≦IDj≦m)であると仮定したときの、ID不明ブロックBKiの上記評価関数U=UN+US+UDの値をU(BKi,IDj)で表すと,次のようにしてID不明ブロックBK1〜BKpのIDを決定する。
【0194】
すなわち、ID不明ブロックBK1〜BKpのIDをそれぞれID1〜IDpと仮定し、評価関数の値
UT=U(BK1,ID1)+U(BK2,ID2)+・・・+U(BKp,IDp)を計算する。この値が最小になるID1〜IDpを、繰り返し計算により求め、求めたものをID不明ブロックBK1〜BKpのIDと決定する。この繰り返し計算において、上記確率的緩和アルゴリズム及びシミュレーティッドアニーリング法を適用する。
【0195】
他の点は上記実施例6と同一である。
【0196】
次に、図32を参照して、メトロポリスアルゴリズムを用いて解を求める場合を説明する。
【0197】
(S1)ID不明ブロックBK1〜BKpの識別符号ID1〜IDp及びその解IID1〜IIDpに初期値ID10〜IDp0を与える。i及びjに初期値1を代入する(i←1、j←1)。UTの前回値UTBに、大きな初期値UTBmaxを与える。
【0198】
(S2)評価関数の値
UT=U(BK1,ID1)+U(BK2,ID2)+・・・+U(BKp,IDp)
を計算する。
【0199】
(S3、S4)UT<UTBであれば、IIDi←IDi、UTB←UT。
【0200】
(S5)j←j+1
(S6、S7)j≦mであればブロックBKiのIDiの値を更新してステップS2へ戻り、そうでなければ次のステップS6へ進む。
【0201】
(S8)IDi←IIDi、i←i+1
(S9)i≦pであればステップS2へ戻り、そうでなければ処理を終了する。
【0202】
このようにして、ID不明ブロックBK1〜BKpのIDがそれそれIID1〜IIDpと決定される。
【0203】
理論的には、時点tでの全ブロックをID不明ブロックとして上記計算により適正なIDを決定可能である。
【0204】
なお、本発明には外にも種々の変形例が含まれる。
【0205】
例えば、類似度計算部32ではパターンマッチング度を求めてもよい。例えば、図4において観測量の相違度を、横切る境界線の数と定義する。例えば、観測量0と0は相違度0、観測量0と7は相違度1、観測量4と8は相違度2である。参照系列が{1,2,0}で観測系列が{3,2,1}の場合、対応する成分間の相違度を求め、その総和(2+0+1)の逆数1/3を一致度として求め、複数の参照系列について同様の計算を行い、そのうち最も大きい一致度を類似度としてもよい。
【0206】
また、参照系列に対し観測系列を時間軸方向にずらし、ずらしたものについても類似度を計算し、最大値を最終的な類似度として求めてもよいことは勿論である。
【0207】
さらに、上記実施形態では、図2又は図10の認識開始判定部28において|V/D|>Cと判定された場合のみV/D時系列切り出し部29で切り出しを行う場合を説明したが、認識開始判定部28、及び、時系列切り出し部29又は29Aを省略し、時系列メモリ27又は27A内の各時点における全ての時系列に対しブロック32で確率Pを計算する構成であってもよい。
【0208】
また、本発明の適用は各種移動物体間衝突事故に限定されず、衝突以外の動作に対しても本発明を適用可能である。
【0209】
さらにまた、要求される処理速度によっては、図2又は図10の画像認識装置での全処理をコンピュータで実行することも可能である。
【0210】
また、評価関数は上記3要素のうち少なくとも1つを含むものであればよい。各要素の上記関数は一例であり、推定の確度が上がるほど一方向に変化(単調変化)する種々の形のものを用いることができる。
【符号の説明】
【0211】
10 電子カメラ
20、20A〜20C 画像認識装置
21 画像メモリ
22、22A 移動物体認識部
23、24 位置レジスタアレイ
25 相対距離レジスタアレイ
26、26A V/D計算部
27 V/D時系列メモリ
27A O時系列メモリ
28 認識開始判定部
29 V/D時系列切り出し部
29A 観測系列切り出し部
30、30A ベクトル回転部
31 量子化部
32 類似度計算部
33 衝突事故判定部
M1〜M6 車
34 背景画像生成部
36 ID生成/消滅部
37 動きベクトル算出部
38 移動物体更新部
39 移動物体分割部
40 移動物体間距離算出部
41、41A 画像処理装置
42 デコーダ
43、43A シフトレジスタ
44、44A ニューラルネットワーク
45 コンパレータ
46 部分系列観測確率算出部
47 不明ID決定部
B1、B2、B3 ブロック
F1、F2 フレーム画像
Q1〜Q3 オブジェクトマップ
MV1、MV2 動きベクトル
B21、B22 判定枠
B21F、B2F 局所画像

【特許請求の範囲】
【請求項1】
電子カメラで撮影されたフレーム画像を、複数ピクセルからなるブロックに分割し、
移動物体の一部が含まれる各ブロックについて、次フレーム画像内で、該ブロックと同一形状で類似したものを見つけて、該ブロックの動きベクトルを求め、
該移動物体に含まれる複数のブロックの各動きベクトルの代表値を、該移動物体の動きベクトルと決定する、
ことを特徴とする移動物体認識方法。
【請求項2】
上記フレーム画像に入口スリット及び出口スリットを設定し、
該入口スリット内に移動物体が存在するかどうかを上記ブロックの単位で判定し、
移動物体が存在すると判定された、該入口スリット内のブロックが、識別符号を持ったブロックと隣接していない場合には、該ブロックに新たな識別符号を付し、
移動物体が存在すると判定された隣接ブロックに同一識別符号を付し、
該出口スリットを通り抜けた移動物体の識別符号を消滅させる、
ことを特徴とする請求項1記載の移動物体認識方法。
【請求項3】
撮影された前フレーム画像及び現フレーム画像が格納される画像記憶部と、
該前フレーム画像を、複数ピクセルからなるブロックに分割したときの、移動物体の一部が含まれる各ブロックについて、該現フレーム画像内で、該ブロックと同一形状で類似したものを見つけて、該ブロックの動きベクトルを求め、該移動物体に含まれる複数のブロックの各動きベクトルの代表値を、該移動物体の動きベクトルと決定する動きベクトル算出部と、
を有することを特徴とする移動物体認識装置。
【請求項4】
同一移動物体に属する上記ブロックに同一識別符号を持たせたオブジェクトマップが格納されるブロック情報記憶部と、
該オブジェクトマップに含まれる移動物体をその上記動きベクトルだけ平行移動させ、平行移動した該移動物体をその周囲のブロックまで拡大した範囲について、次フレーム画像に移動物体が存在するかどうかをブロック毎に判定し、存在すると判定されたブロックに、該平行移動前の該移動物体のブロックと同じ識別符号を付加することにより、該次フレーム画像に対応したオブジェクトマップを生成する移動物体更新部と、
をさらに有することを特徴とする請求項3記載の移動物体認識装置。
【請求項5】
電子カメラで撮影されたフレーム画像を、複数ピクセルからなるブロックに分割し、同一移動物体に属するブロックに同一識別符号を持たせたオブジェクトマップを作成し、
時間的に前後のフレーム画像に基づいて、各移動物体の動きベクトルを求める移動物体認識方法であって、
現フレーム画像について移動物体が存在すると判定されたブロックの各々が、前フレーム画像に存在する移動物体のいずれかの識別符号を持っていると仮定したときの評価関数の値の大小関係に基づいて、該存在ブロックに付与すべき識別符号を決定する、
ことを特徴とする移動物体認識方法。
【請求項6】
上記評価関数は、時刻tでのオブジェクトマップ上の着目ブロックと隣接するブロックの同一識別符号の数が多いほど、該着目ブロックが該同一識別符号を持つ確度が高くなる関数を含む、
ことを特徴とする請求項5記載の移動物体認識方法。
【請求項7】
上記評価関数は、時刻(t−1)のオブジェクトマップ上の判定枠内に含まれる、同一識別符号を持つブロックの面積が広いほど、着目ブロックが該同一識別符号を持つ確度が高くなる関数を含み、
該判定枠は、時刻tでのオブジェクトマップ上の該着目ブロックに対応した、該同一識別符号を持つ移動物体の上記動きベクトルに基づいて推定される、時刻(t−1)でのオブジェクトマップ上のブロック枠である、
ことを特徴とする請求項5又は6記載の移動物体認識方法。
【請求項8】
上記評価関数は、時刻tでのフレーム画像上の着目ブロックに対応した局所画像と、上記動きベクトルに基づいて推定される、時刻(t−1)でのフレーム画像上の該着目ブロックに対応する局所画像との相関度が高くなるほど、該着目ブロックが、該動きベクトルを持つ移動物体と同一識別符号を持つ確度が高くなる関数を含む、
ことを特徴とする請求項5乃至7のいずれか1つに記載の移動物体認識方法。
【請求項9】
撮影されたフレーム画像が格納される画像記憶部と、
該フレーム画像を複数ピクセルからなるブロックに分割し、ブロックに移動物体が存在するかどうかを判定し、同一移動物体に属するブロックに同一識別符号を持たせたオブジェクトマップを作成するオブジェクトマップ作成部と、
該画像記憶部に格納された時間的に前後のフレーム画像に基づいて、各移動物体の動きベクトルを求める動きベクトル算出部と、
現フレーム画像について移動物体が存在すると判定されたブロックの各々が、前フレーム画像に存在する移動物体のいずれかの識別符号を持っていると仮定したときの評価関数の値の大小関係に基づいて、該存在ブロックに付与すべき識別符号を決定するID更新部と、
を有することを特徴とする移動物体認識装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate


【公開番号】特開2010−20808(P2010−20808A)
【公開日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2009−252293(P2009−252293)
【出願日】平成21年11月2日(2009.11.2)
【分割の表示】特願2000−48981(P2000−48981)の分割
【原出願日】平成12年2月21日(2000.2.21)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【出願人】(801000049)財団法人生産技術研究奨励会 (72)
【Fターム(参考)】