本發(fā)明涉及模式識(shí)別和視頻分析領(lǐng)域,更具體地說(shuō),涉及一種基于低秩逼近結(jié)構(gòu)化稀疏表示的異常事件檢測(cè)方法。
背景技術(shù):
視頻序列異常事件檢測(cè)是計(jì)算機(jī)視覺(jué)中的一個(gè)活躍的研究課題,已被廣泛使用在許多應(yīng)用中,如人群監(jiān)控,公共場(chǎng)所檢測(cè),交通安全和個(gè)人行為異常。面對(duì)海量的視頻數(shù)據(jù),傳統(tǒng)的人工標(biāo)記異常事件費(fèi)時(shí)、低效。因此,自動(dòng)化和快速的視頻序列異常檢測(cè)方法是迫切需要的。
雖然關(guān)于異常事件檢測(cè)的研究在特征提取、行為建模和異常測(cè)量等方面已經(jīng)取得了很大的進(jìn)展,但是視頻序列異常事件檢測(cè)仍然是一個(gè)非常具有挑戰(zhàn)性的任務(wù)。首先,對(duì)于視頻中的異常事件沒(méi)有精確的定義。一種常見(jiàn)的異常行為識(shí)別方法是異常行為模式聚類(lèi),另一種是把那些發(fā)生率低的檢測(cè)樣本作為異常。第一種方法的困難之處在于沒(méi)有足夠的先驗(yàn)知識(shí)來(lái)描述異常行為模式;第二種方法需要建立概率模型,異常檢測(cè)依賴(lài)于正常模式的定義和特征的多尺度變化。其次,密集場(chǎng)景中的異常檢測(cè)要求行為模型可以處理高密度的運(yùn)動(dòng)目標(biāo),這需要考慮多個(gè)目標(biāo)之間遮掩和相互作用的影響。
從特征提取的角度看,異常事件檢測(cè)方法可以分為基于目標(biāo)軌跡的方法和基于低層次特征的方法。基于目標(biāo)軌跡的方法首先進(jìn)行運(yùn)動(dòng)目標(biāo)跟蹤,然后利用目標(biāo)軌跡來(lái)檢測(cè)異常事件?;谀繕?biāo)軌跡的方法可以清晰地表示各時(shí)刻目標(biāo)的空間狀態(tài),但是這一類(lèi)方法對(duì)噪聲、遮掩和跟蹤錯(cuò)誤敏感,不能對(duì)密集場(chǎng)景進(jìn)行異常檢測(cè)?;诘蛯哟翁卣鞯姆椒ㄍㄟ^(guò)提取視頻序列中像素級(jí)別的運(yùn)動(dòng)特征和形態(tài)特征,可以克服目標(biāo)軌跡法的缺點(diǎn)。
目前,異常事件檢測(cè)的主流方法包括動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)(DBNs),概率主題模型(PTMs)和稀疏表示模型。在DBNs中,隱藏馬爾可夫模型(HMM)和馬爾可夫隨機(jī)場(chǎng)(MRF)隨著檢測(cè)目標(biāo)的增加會(huì)成幾何級(jí)數(shù)地提高建模代價(jià),導(dǎo)致這些模型不足以處理密集的場(chǎng)景。與DBNs相比,PTMs,如PLSA和LDA,只關(guān)注空間上共生的視覺(jué)單詞,卻忽略了特征的時(shí)序信息,使得概率主題模型不能在時(shí)空上定位異常事件。近年來(lái),針對(duì)異常檢測(cè)的稀疏表示模型引起了人們的關(guān)注。大多數(shù)的稀疏表示模型通過(guò)訓(xùn)練得到一個(gè)過(guò)完備字典,但是沒(méi)有充分挖掘視頻數(shù)據(jù)的低秩特性和內(nèi)在結(jié)構(gòu)冗余。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對(duì)上述異常檢測(cè)技術(shù)中未充分挖掘視頻數(shù)據(jù)的低秩特性和檢測(cè)速率較慢的缺點(diǎn),提出一種基于低秩逼近結(jié)構(gòu)化稀疏表示的異常事件檢測(cè)方法。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種基于低秩逼近結(jié)構(gòu)化稀疏表示的異常事件檢測(cè)方法,包括特征提取、訓(xùn)練和測(cè)試三個(gè)過(guò)程:
特征提取過(guò)程包括以下步驟:
1)提取視頻序列的多尺度三維梯度特征;
2)對(duì)多尺度三維梯度特征進(jìn)行降維,形成訓(xùn)練特征集和測(cè)試特征集。
訓(xùn)練過(guò)程包括以下步驟:
3)初始化剩余訓(xùn)練特征和相關(guān)參數(shù);
4)對(duì)剩余訓(xùn)練特征進(jìn)行迭代學(xué)習(xí)組稀疏字典,獲得正常模式字典集。
測(cè)試過(guò)程包括以下步驟:
5)利用由訓(xùn)練過(guò)程獲取的組稀疏字典集,對(duì)測(cè)試特征進(jìn)行稀疏重建;
6)根據(jù)重建誤差,判斷測(cè)試特征是否為異常特征。
上述方法中,所述步驟1)包括以下具體步驟:
1.1)對(duì)視頻序列的每一幀圖像進(jìn)行不同尺度的縮放,形成一個(gè)三層圖像金字塔。
1.2)對(duì)每一層圖像進(jìn)行時(shí)空立方體采樣,提取空間上不重疊區(qū)域的三維梯度特征。
1.3)針對(duì)每一層視頻序列,將同一空間區(qū)域上連續(xù)5幀的三維梯度特征疊加在一起,組成一個(gè)時(shí)空特征。
上述方法中,所述步驟2)包括以下具體步驟:
2.1)利用主成分分析(PCA),對(duì)上述提取的每一個(gè)時(shí)空特征進(jìn)行降維。
2.2)利用上述方法,將訓(xùn)練視頻序列和測(cè)試視頻序列轉(zhuǎn)換為訓(xùn)練特征集和測(cè)試特征集。
上述方法中,所述步驟3)包括以下具體步驟:
3.1)將步驟2.2)獲取的訓(xùn)練特征集初始化為剩余訓(xùn)練特征集;
3.2)初始化正則化參數(shù)、誤差閾值、迭代次數(shù)和正常模式字典集;
上述方法中,所述步驟4)包括以下具體步驟:
4.1)如果剩余特征集為空,訓(xùn)練過(guò)程結(jié)束;如果剩余特征集不為空,確定聚類(lèi)數(shù)目,對(duì)剩余特征集進(jìn)行K均值聚類(lèi)。
4.2)分別對(duì)每一個(gè)特征聚類(lèi)進(jìn)行字典學(xué)習(xí),得到組稀疏字典。
4.3)挑選合適字典去表示剩余特征。如果字典可以表示剩余特征,則將該字典加入正常模式字典集,并將可以用該字典表示的特征從剩余訓(xùn)練特征集中移除;如果字典不可以表示任意一個(gè)剩余特征,則丟棄該字典。
4.4)迭代次數(shù)加1,跳到步驟4.1);
上述方法中,所述步驟5)包括以下具體步驟:
5.1)對(duì)于每一個(gè)測(cè)試特征,遍歷由訓(xùn)練過(guò)程獲取的正常模式字典集,估算字典對(duì)應(yīng)的稀疏系數(shù);
5.2)根據(jù)特定字典及其對(duì)應(yīng)的稀疏系數(shù),計(jì)算該測(cè)試特征對(duì)應(yīng)于該組稀疏字典的重建誤差;
上述方法中,所述步驟6)包括以下具體步驟:
6.1)對(duì)于某一測(cè)試特征,如果找到一個(gè)對(duì)應(yīng)重建誤差小于重建閾值的字典,則判斷該測(cè)試特征為正常特征;
6.2)對(duì)于某一測(cè)試特征,如果其對(duì)應(yīng)的任意字典集的重建誤差均大于重建閾值,則判斷該測(cè)試特征為異常特征;
本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn):其一,因?yàn)槊總€(gè)視頻特征聚類(lèi)的低秩特性,通過(guò)利用高效的低秩解決算法,如SVD閾值算法,該方法可以學(xué)習(xí)正常行為模式的組稀疏字典;其二,該方法自適應(yīng)地決定每個(gè)正常行為模式的字典基數(shù)目,可以更準(zhǔn)確地進(jìn)行動(dòng)態(tài)場(chǎng)景語(yǔ)義理解;其三,不同于傳統(tǒng)的稀疏表示方法,該方法通過(guò)在一個(gè)字典集中挑選一個(gè)合適的字典,來(lái)表示測(cè)試樣本,使得視頻事件的稀疏重建更精準(zhǔn),顯著提高了檢測(cè)速度,保證實(shí)時(shí)性。
附圖說(shuō)明
圖1為自適應(yīng)異常事件檢測(cè)方法概覽圖。
圖2為三維時(shí)空梯度特征提取流程圖。
圖3為多尺度視頻幀。
圖4為三維梯度特征。
圖5為空間區(qū)域上重疊的時(shí)空立方體。
圖6為組稀疏字典學(xué)習(xí)流程圖。
圖7為異常事件檢測(cè)流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明的異常事件檢測(cè)方法包括特征提取過(guò)程、訓(xùn)練過(guò)程和測(cè)試過(guò)程三個(gè)主要過(guò)程,如圖1所示。
特征提取過(guò)程如圖2所示,包括以下具體步驟:
視頻序列圖像幀轉(zhuǎn)換為三維圖像金字塔過(guò)程21。將視頻序列的每一幀圖像轉(zhuǎn)換為灰度圖像,并將每一幀灰度圖像縮放為三種不同尺度:20×20,30×40和120×160,形成一個(gè)三層圖像金字塔。對(duì)于圖像金字塔的每個(gè)尺度,每一幀被劃分為同樣空間大小(10×10)的不重疊區(qū)域,如圖3所示。
提取視頻序列三維梯度特征過(guò)程22。為了兼顧密集場(chǎng)景中目標(biāo)的形態(tài)特征和運(yùn)動(dòng)特征,采用三維時(shí)空梯度作為特征提取的目標(biāo),如圖4所示。假設(shè)x,y和t分別表示視頻序列中的水平、垂直和時(shí)間方向,G是一個(gè)像素的三維梯度,它對(duì)應(yīng)的三維投影分別是Gx、Gy和Gt。
利用時(shí)空立方體采樣形成時(shí)空特征過(guò)程23。連續(xù)5幀上的同一空間區(qū)域組成時(shí)空立方體,每一個(gè)時(shí)空立方體由一個(gè)大小為10×10×5的立方體中的所有像素構(gòu)成,lx×ly=10×10和lt=5分別表示時(shí)空立方體的空間大小和時(shí)序長(zhǎng)度。一個(gè)時(shí)空立方體中的所有像素的三維梯度構(gòu)成一個(gè)三維時(shí)空梯度特征。為了保持場(chǎng)景事件的時(shí)序信息,在每一個(gè)空間區(qū)域上采樣時(shí)序上重疊的時(shí)空立方體,如圖5所示。假設(shè)一個(gè)時(shí)空立方體的體心為(Sx,Sy,St),那么其時(shí)序上相鄰的時(shí)空立方體位于(Sx,Sy,St-lt/2)和(Sx,Sy,St+lt/2)。
利用時(shí)空特征降維形成訓(xùn)練特征集和測(cè)試特征集過(guò)程24。由于上述三維梯度特征的維數(shù)(10×10×5×3=1500)過(guò)高,會(huì)導(dǎo)致訓(xùn)練過(guò)程和測(cè)試過(guò)程計(jì)算量過(guò)大,影響檢測(cè)的實(shí)時(shí)性,所以使用PCA將時(shí)空特征降到100維。最后,得到訓(xùn)練特征集和測(cè)試特征集。
需要注意的是,訓(xùn)練視頻序列中只包含正常事件;測(cè)試視頻序列既包含正常事件,也包含異常事件。
訓(xùn)練過(guò)程是指通過(guò)已知的正常行為樣本集,學(xué)習(xí)正常行為模式的過(guò)程。包括以下具體步驟:
本發(fā)明采用迭代的方式,分別對(duì)每個(gè)空間位置上的所有特征進(jìn)行訓(xùn)練,得到每個(gè)空間位置上的一個(gè)組稀疏字典集,用來(lái)表示該空間位置上的所有訓(xùn)練特征。對(duì)于每個(gè)空間位置上的所有特征,利用K均值得到相似特征聚類(lèi),然后對(duì)每個(gè)相似特征聚類(lèi)采用低秩逼近算法進(jìn)行字典學(xué)習(xí)。每次迭代將可以用字典表示的特征去除,然后對(duì)剩余特征繼續(xù)下一次迭代的字典學(xué)習(xí),直到所有特征都可以被訓(xùn)練得到的字典表示。
初始化訓(xùn)練參數(shù)過(guò)程61。剩余訓(xùn)練特征集初始化為由特征提取過(guò)程得到的訓(xùn)練特征集,即X=[x1,x2,...,xn],其中n為特征數(shù)目,m為每個(gè)特征的維數(shù),正則化參數(shù)τ=0.015、誤差閾值T=0.01、迭代次數(shù)j=1和正常模式字典集
利用K均值進(jìn)行剩余訓(xùn)練特征集聚類(lèi)過(guò)程62。根據(jù)剩余訓(xùn)練特征的數(shù)目,首先自適應(yīng)地選擇聚類(lèi)數(shù)目,再對(duì)剩余特征集進(jìn)行K均值聚類(lèi)。假設(shè)第jth次迭代中第cth個(gè)聚類(lèi)的特征表示為其中j=1,2,...,N,表示第cth個(gè)聚類(lèi)的特征數(shù)目,函數(shù)f(·)把聚類(lèi)中的特征序號(hào)映射到該特征在初始特征集中的序號(hào)。
如圖6,利用低秩逼近算法學(xué)習(xí)組稀疏字典過(guò)程63。不同于傳統(tǒng)的稀疏表示模型,本發(fā)明利用視頻特征聚類(lèi)的低秩結(jié)構(gòu),采用低秩逼近算法,學(xué)習(xí)包含高度相關(guān)字典基的組稀疏字典,從而拋棄視頻數(shù)據(jù)中的冗余信息。組稀疏字典學(xué)習(xí)的目標(biāo)函數(shù)如下:
其中,采用奇異值分解,τ是正則化參數(shù),ωi是第i個(gè)奇異值λi的權(quán)重。上述加權(quán)低秩優(yōu)化問(wèn)題采用奇異值閾值化算法,公式(1)的閉合解如下:
其中,r是通過(guò)軟閾值操作估算的秩。軟閾值操作作用于每個(gè)奇異值,小于τ·ωi的奇異值被置為0,大于τ·ωi的奇異值仍保持原值。
選擇組稀疏字典過(guò)程64。一旦確定對(duì)于任一特征目標(biāo)函數(shù)如下:
其中,表示的稀疏系數(shù)向量,表示特征是否能夠被字典表示,約束項(xiàng)∑γi,j=1和γi,j={0,1}用于保證只能挑選一個(gè)字典來(lái)表示表示用字典表示特征聚類(lèi)的系數(shù)向量,T表示誤差閾值。γ的閉合解如下:
如果可以表示則把字典加入字典集合D,保留該字典對(duì)應(yīng)的奇異值信息,使得迭代次數(shù)j=j(luò)+1,并把稀疏系數(shù)的特征從剩余特征集Xj中移除;如果不可以表示任意一個(gè)剩余特征則丟棄字典
迭代進(jìn)行過(guò)程63和64,直到剩余特征集為空集。
最后,取得正常特征的組稀疏字典集,每個(gè)字典用于表示正常行為模式。注意,由于訓(xùn)練特征集對(duì)應(yīng)的視頻序列只包含正常事件,所以學(xué)習(xí)到的字典均表示正常行為模式。
如圖7,測(cè)試過(guò)程是指通過(guò)訓(xùn)練過(guò)程學(xué)習(xí)到的正常模式字典集,檢測(cè)測(cè)試樣本是否為異常樣本的過(guò)程。包括以下具體步驟:
初始化測(cè)試參數(shù)過(guò)程71。初始化正常行為模式字典集為由訓(xùn)練過(guò)程得到的字典集,即D=[D1,D2,...DN],重建誤差閾值為。
計(jì)算測(cè)試特征的重建誤差過(guò)程72。針對(duì)任意一個(gè)測(cè)試特征x,對(duì)每個(gè)字典Dk計(jì)算重建誤差,計(jì)算方法如下:
公式(5)中βk的最優(yōu)解為:
此時(shí)重建誤差為:
判斷測(cè)試特征是否為異常特征過(guò)程73。通過(guò)搜索一個(gè)合適的字典來(lái)表示該測(cè)試樣本,進(jìn)而利用重建誤差來(lái)判斷該測(cè)試樣本是否為異常事件。如果重建誤差小于重建誤差閾值,則表明測(cè)試特征x可以被字典Dk表示,即測(cè)試特征x屬于正常事件;否則,測(cè)試特征x不能被字典Dk表示。如果正常模式字典集中的所有字典均不能表示測(cè)試特征x,則測(cè)試特征x屬于異常事件。
這里需要著重指出,相比于目前最先進(jìn)的算法,本發(fā)明采用迭代低秩逼近方法,取得了至少2%的檢測(cè)正確率提升。通過(guò)檢索正常模式字典集的方法,本發(fā)明的檢測(cè)速度可以較傳統(tǒng)異常檢測(cè)方法提升20倍以上。另外,相比于傳統(tǒng)稀疏表示方法,本發(fā)明采用SVD閾值算法可以減少至少10倍的訓(xùn)練時(shí)間。