本發(fā)明屬于圖像處理技術領域,更進一步涉及機器學習和計算機視覺技術領域中的一種基于拉普拉斯正則組稀疏的人體行為識別方法,本發(fā)明可以通過對視頻中人體行為特征進行學習,恰當?shù)谋碚鞒霾煌娜梭w行為,從而在此基礎上實現(xiàn)計算機自主的對于不同行為進行分類識別。
背景技術:人體行為的識別和分析是現(xiàn)代計算機視覺領域中的研究熱點,其研究主要致力于尋找使計算機智能地學習和識別人類行為乃至理解人類復雜行為的技術方法。人體行為識別在智能監(jiān)控,人機交互以及智能攝像等領域均有良好應用前景。最為普遍的人體行為識別方法通常是:首先從包含人體運動的視頻中檢測和提取初級特征,通過對初級特征的學習得到人體運動的高級特征,并在此基礎上對人體行為進行分類。其中的一個關鍵問題就是如何對不同的人體行為進行恰當?shù)谋硎?,因為表示的合理與否決定了后續(xù)分類的性能上限。另外,由于包含人體行為的視頻具有數(shù)據(jù)量大、冗余信息多、含有噪聲等不利因素,因此要求在對初級特征學習時用到的技術方法高效、簡單且有一定抗噪聲干擾能力。電子科技大學申請的專利“一種基于相對梯度的ISA模型的行為識別方法”(申請?zhí)枺?01210578578.6,公開號:CN103065158A,公布日:2013.04.24)公開了一種基于相對梯度的ISA模型的行為識別方法,該方法的具體步驟為:第1步:樣本數(shù)據(jù)的預處理;第2步:特征提?。坏?步:特征聚類;第4步:分類/識別。該方法雖然能夠對人體行為進行準確的分類與識別,但是,仍然存在的不足之處是:該方法是基于所有視頻塊,計算復雜度高,并且該方法中采用的主成分分析法,是一種線性分析方法,難以利用數(shù)據(jù)中的非線性信息。YanZhu等人在論文“SparseCodingonLocalSpatial-TemporalVolumesforHumanActionRecognition”(ACCV,2010)中利用基于SparseCoding的方法進行行為識別。該方法的具體步驟為第1步:提取樣本初級特征;第2步:訓練字典;第3步:根據(jù)字典對初級特征進行編碼得到稀疏編碼向量,對稀疏編碼向量做max-pooling得到每個視頻的高級特征;第4步:對高級特征用支持矢量機方法進行分類。這種方法雖然對初級特征編碼相對準確,但是,仍然存在的不足之處是,計算復雜度較高。SamyBengio等人在論文“GroupSparseCoding”(NIPS,2009)中提出GroupSparseCoding方法,該方法的具體步驟為第1步:提取樣本的初級特征;第2步:構造字典;第3步:根據(jù)字典對初級特征進行編碼得到組稀疏編碼向量;第4步:根據(jù)這種組稀疏編碼向量進行分類。這種方法雖然利用了字典原子的結構特性,使得對初級特征編碼相對準確,且計算復雜度較低,但是,仍然存在的不足之處是:對于人體行為視頻序列內(nèi)部的結構信息未能加以利用。
技術實現(xiàn)要素:本發(fā)明針對上述現(xiàn)有技術的不足,提出一種新的無監(jiān)督特征學習方法,在對人體運動中的初級特征進行編碼時加入結構信息,使得人體行為的編碼更具判別性,從而進一步提高對人體行為的智能識別能力。實現(xiàn)本發(fā)明的具體思路是:從行為視頻中檢測并提取出初級特征,在該初級特征的基礎上構造初級特征的相似度圖和初始字典,由此得到圖的拉普拉斯矩陣,利用具有拉普拉斯正則的組稀疏編碼對視頻中的初級特征進行編碼,得到編碼系數(shù)矩陣,對編碼系數(shù)矩陣的每一行求l2范數(shù),得到人體行為視頻的高級特征,對人體行為視頻高級特征利用分類器進行分類,從而達到識別人體行為的目的。為了實現(xiàn)上述目的,本發(fā)明方法包括如下步驟:(1)輸入人體行為視頻序列;(2)提取初級特征:2a)采用空時角點檢測方法,提取人體行為視頻序列興趣點;所述空時角點檢測方法的具體步驟為:第1步,計算人體行為視頻序列中圖像像素點在水平方向,垂直方向和時間方向的梯度,得到矩陣Q:其中,Q表示矩陣,Ix表示人體行為視頻序列中圖像像素點在水平方向的梯度,Iy表示人體行為視頻序列中圖像像素點在垂直方向的梯度,It表示人體行為視頻序列中圖像像素點在時間方向的梯度;第2步,對矩陣Q進行高斯濾波,得到濾波后的矩陣U:其中,U表示濾波后的矩陣,g(x,y,t;σ2,τ2)表示用來對矩陣Q進行濾波的空時高斯函數(shù),x,y,t分別表示圖像像素點的位置坐標,表示卷積,σ表示空域尺度,τ表示時域尺度;第3步,計算人體行為視頻序列中圖像像素點的興趣值R:R=det(U)-ktr3(U)其中,R表示人體行為視頻序列中圖像像素點的興趣值,det(U)表示濾波后矩陣U的行列式,k表示平衡因子,k的取值是0.04,tr(U)表示濾波后矩陣U的跡;第4步,設定一個閾值T=0.03;第5步,將大于閾值T的興趣值的像素點,作為人體行為視頻序列中的興趣點;2b)根據(jù)興趣點,提取人體行為視頻序列的初級特征;(3)構建初始字典和相似度矩陣:3a)根據(jù)人體行為視頻序列的初級特征,構建初始字典;3b)根據(jù)人體行為視頻序列的初級特征,構建相似度矩陣;(4)編碼初級特征:4a)對人體行為視頻序列中,每個視頻的初級特征進行拉普拉斯正則組稀疏編碼的目標函數(shù)如下其中,B表示編碼系數(shù)矩陣,yi表示人體行為視頻序列中每個視頻的初級特征中第i個特征向量,M表示人體行為視頻序列中每個視頻的初級特征中特征向量的個數(shù),表示編碼系數(shù)矩陣B的第j行第i列元素,dj表示初始字典D0的第j列,||·||22表示2-范數(shù)的平方和,λ和μ分別表示權重因子,||·||p表示p范數(shù),tr(BLBT)表示矩陣BLBT的跡,L表示人體行為視頻序列中每個視頻的拉普拉斯矩陣;4b)使用坐標下降的方法,對目標函數(shù)進行求解,得到人體行為視頻序列中每個視頻的初級特征的編碼系數(shù)矩陣:其中,B表示N行M列的編碼系數(shù)矩陣,N表示初始字典原子的個數(shù),M表示人體行為視頻序列中每個視頻的初級特征中特征向量的個數(shù);βjT表示編碼系數(shù)矩陣B的第j行,j表示編碼系數(shù)矩陣的行坐標,bi表示編碼系數(shù)矩陣B的第i列向量,i表示編碼系數(shù)矩陣B的列坐標;4c)對編碼系數(shù)矩陣B的每一行求2-范數(shù),得到人體行為視頻序列中每個視頻的高級特征Z:Z=[z1,...zk,...,zN]T其中,Z表示人體行為視頻序列中每個視頻的高級特征,zk表示人體行為視頻序列中每個視頻的高級特征Z的第k個元素,zk=||Bk||2,||Bk||2表示對編碼系數(shù)矩陣B的第k行求2范數(shù),k=1,2,...,N,N表示人體行為視頻序列中每個視頻的高級特征的維數(shù);(5)分類:5a)將每一個動作者的人體行為視頻的所有高級特征分別作為測試集,其他動作者的人體行為視頻的高級特征作為訓練集,利用訓練集中的所有樣本組成N行m列的字典H=[H1,...,Hj,...,Hc],Hj表示第j類的字典原子,j表示字典的類別標號,j=1,2,...,c,c表示總類別數(shù),N表示人體行為視頻序列中每個視頻的高級特征的維數(shù),m表示字典H所有原子個數(shù);5b)按照下式,計算每個測試樣本的稀疏編碼系數(shù)向量:其中,表示測試集中的測試樣本,H是訓練集中的所有樣本組成的字典,θ表示稀疏編碼系數(shù)向量,||·||22表示2-范數(shù)的平方和,||·||1表示向量的l1范數(shù),η是用于平衡重建誤差和編碼稀疏性的參數(shù);5c)按照下式,計算測試樣本在每類字典上的殘差:其中:表示測試樣本在每類字典上的殘差,表示測試集中的測試樣本,θj表示測試樣本在第j類字典Hj上的編碼系數(shù)向量;5d)將最小殘差所對應的字典類標賦給測試樣本得到測試樣本的類標;(6)輸出檢測結果。本發(fā)明與現(xiàn)有技術相比,具有以下優(yōu)點:第一,本發(fā)明利用三維角點檢測的方法,檢測出人體行為視頻中的興趣點,對興趣點進行特征表示,克服了現(xiàn)有技術中對整個視頻塊和視頻幀的進行操作,而來帶的對特征表示不準確和計算復雜度高的不足,使得本發(fā)明具有識別速度更快的優(yōu)點。第二,本發(fā)明利用組稀疏編碼方法,克服了現(xiàn)有技術中稀疏編碼計算復雜度高的不足,提高了人體行為識別的計算效率,使得本發(fā)明具有識別速度更快的優(yōu)點。第三,本發(fā)明利用了人體行為視頻內(nèi)部的結構信息,克服了現(xiàn)有技術中組稀疏編碼方法沒有考慮視頻內(nèi)部結構信息的缺點,使得本發(fā)明具有對視頻編碼判別性高和識別精度高的優(yōu)點。附圖說明圖1為本發(fā)明方法的流程圖;圖2為本發(fā)明仿真實驗中視頻序列的圖像。具體實施措施下面結合附圖對發(fā)明做進一步描述。結合附圖1對本發(fā)明的具體步驟描述如下:步驟1,輸入人體行為視頻序列。輸入人體行為視頻序列,該視頻是人體行為識別領域中有代表性的人體運動視頻序列:Weizmann視頻序列或者KTH視頻序列。步驟2,提取初級特征。第1步,計算人體行為視頻序列中圖像像素點在水平方向,垂直方向和時間方向的梯度,得到矩陣Q:其中,Q表示矩陣,Ix表示人體行為視頻序列中圖像像素點在水平方向的梯度,Iy表示人體行為視頻序列中圖像像素點在垂直方向的梯度,It表示人體行為視頻序列中圖像像素點在時間方向的梯度。第2步,對矩陣Q進行高斯濾波,得到濾波后的矩陣U:其中,U表示濾波后的矩陣,g(x,y,t;σ2,τ2)表示用來對矩陣Q進行濾波的空時高斯函數(shù),x,y,t分別表示圖像像素點的位置坐標,表示卷積,σ表示空域尺度,τ表示時域尺度。第3步,計算人體行為視頻序列中圖像像素點的興趣值R:R=det(U)-ktr3(U)其中,R表示人體行為視頻序列中圖像像素點的興趣值,det(U)表示濾波后矩陣U的行列式,k表示平衡因子,k的取值是0.04,tr(U)表示濾波后矩陣U的跡。第4步,設定一個閾值T=0.03。第5步,將大于閾值T的興趣值的像素點,作為人體行為視頻序列中的興趣點。第6步,在每個興趣點的鄰域內(nèi)提取梯度直方圖,將梯度直方圖作為該興趣點的特征向量,將人體行為視頻序列中每個視頻的所有興趣點的特征向量組成矩陣,得到該視頻的初級特征;Y=[y1,...,yi,...,yM]其中,Y表示人體行為視頻序列中每個視頻的初級特征,yi表示人體行為視頻序列初級特征Y中第i個特征向量,i=1,...,M,M表示人體行為視頻的初級特征Y的特征向量的個數(shù)。步驟3,構建初始字典和相似度矩陣。第1步,從提取的人體行為視頻初級特征中,隨機的選取多個特征向量作為初始字典的原子,得到初始字典:D0=[d1,...,di,...,dN]其中,D0表示初始字典,di表示字典的第i個原子,i=1,...,N,N表示與隨機選取的人體行為視頻初級特征中特征向量個數(shù)相同的初始字典的原子個數(shù)。第2步,在人體行為視頻序列的每個視頻的初級特征中,采用最近鄰算法尋找每個特征向量的5個最近鄰特征向量,按照下式求該特征向量與5個最近鄰特征向量之間的相似度:其中,H(ys,yt)表示人體行為視頻序列中每個視頻的初級特征中特征向量ys和yt之間的相似度,ys和yt分別表示人體行為視頻序列中每個視頻的初級特征中特征向量。P表示人體行為視頻序列中每個視頻的初級特征中特征向量的維數(shù),ys(q)表示人體行為視頻序列中每個視頻的初級特征中特征向量ys的第q個元素。yt(q)表示人體行為視頻序列中每個視頻的初級特征中特征向量yt的第q個元素,q=1,...,P。第3步,按照下式,計算人體行為視頻序列中,每個視頻的初級特征的相似度矩陣:其中,W(s,t)表示人體行為視頻序列中每個視頻的初級特征的相似度矩陣W的第s行第t列的元素,s表示該相似度矩陣的行坐標,s=1,...,V,V表示人體行為視頻序列中每個視頻初級特征的特征向量的個數(shù),t表示相似度矩陣的列坐標,t=1,...,V,V表示人體行為視頻序列中,該視頻初級特征的特征向量的個數(shù)。H(ys,yt)表示人體行為視頻序列中每個視頻的初級特征中特征向量ys和yt之間的相似度,ys表示人體行為視頻序列中每個視頻的初級特征中第s列的特征向量,yt表示人體行為視頻序列中每個視頻的初級特征中第t列的特征向量。Ns表示人體行為視頻序列中每個視頻的初級特征中特征向量ys的最近鄰特征向量的集合。第4步,計算人體行為視頻序列中每個視頻的度矩陣F,其主對角線上的第i個元素如下:其中,F(xiàn)(i,i)表示人體行為視頻序列中每個視頻的度矩陣F主對角線上的第i個元素,W(i,t)表示人體行為視頻序列中每個視頻的初級特征的相似度矩陣W在第i行第t列的元素。第5步,計算人體行為視頻序列中每個視頻的拉普拉斯矩陣:L=F-W其中,L表示人體行為視頻序列中每個視頻的拉普拉斯矩陣。F表示人體行為視頻序列中每個視頻的度矩陣。W表示人體行為視頻序列中每個視頻的初級特征的相似度矩陣。步驟4,編碼初級特征。第1步,對人體行為視頻序列中,每個視頻的初級特征進行拉普拉斯正則的組稀疏編碼的目標函數(shù)如下:其中,B表示編碼系數(shù)矩陣,yi表示人體行為視頻序列中每個視頻的初級特征中第i個特征向量,M表示人體行為視頻序列中每個視頻的初級特征中特征向量的個數(shù),表示編碼系數(shù)矩陣B的第j行第i列元素,dj表示初始字典D0的第j列,||·||22表示2-范數(shù)的平方和,λ和μ分別表示平衡編碼稀疏矩陣稀疏性和拉普拉斯約束的正則參數(shù),取值范圍是0~1,||·||p表示P范數(shù),tr(BLBT)表示矩陣BLBT的跡,L表示人體行為視頻序列中每個視頻的拉普拉斯矩陣。第2步,使用坐標下降的方法,對目標函數(shù)進行求解,得到人體行為視頻序列中每個視頻的初級特征的編碼系數(shù)矩陣:其中,B表示N行M列的編碼系數(shù)矩陣,N表示初始字典原子的個數(shù),M表示人體行為視頻序列中每個視頻的初級特征中特征向量的個數(shù);βjT表示編碼系數(shù)矩陣B的第j行,j表示編碼系數(shù)矩陣的行坐標,bi表示編碼系數(shù)矩陣B的第i列,i表示編碼系數(shù)矩陣B的列坐標。第3步,對編碼系數(shù)矩陣的每一行求2-范數(shù),得到人體行為視頻序列中每個視頻的高級特征Z:Z=[z1,...zk,...,zN]T其中,Z表示人體行為視頻序列中每個視頻的高級特征,zk表示人體行為視頻序列中每個視頻的高級特征Z的第k個元素,zk=||Bk||2,||Bk||2表示對編碼系數(shù)矩陣B的第k行求2范數(shù),k=1,2,...,N,N表示人體行為視頻序列中每個視頻的高級特征的維數(shù)。步驟5,分類。第1步,將一個動作者的人體行為視頻的高級特征分別作為測試集,其他動作者的人體行為視頻的高級特征作為訓練集,利用訓練集中的所有樣本組成N行m列的字典H=[H1,...,Hj,...,Hc],Hj表示第j類的字典原子,j表示字典的類別標號,j=1,2,...,c,c表示總類別數(shù),N表示人體行為視頻序列中每個視頻的高級特征的維數(shù),m表示字典H所有原子個數(shù)。第2步,按照下式,計算每個測試樣本的稀疏編碼系數(shù)向量:其中,表示測試集中的測試樣本,H是訓練集中的所有樣本組成的字典,θ表示稀疏編碼系數(shù)向量,||·||22表示2-范數(shù)的平方和,||·||1表示向量的l1范數(shù),η表示平衡重建誤差和編碼稀疏性的正則參數(shù),取值范圍是0~1。第3步,按照下式,計算測試樣本在每類字典上的殘差:其中:表示測試樣本在每類字典上的殘差,表示測試樣本,θj表示測試樣本在第j類字典Hj上的編碼系數(shù)向量。第4步,將最小殘差所對應的字典類標賦給測試樣本得到測試樣本的類標。步驟6,輸出分類結果。下面結合附圖2對本發(fā)明的效果做進一步描述。本發(fā)明的仿真實驗是在IntelCore(TM)2DuoCPU、主頻2.33GHz,內(nèi)存2G,Windows7平臺上的MATLAB7.14上實現(xiàn)的。本發(fā)明的仿真是在兩個代表性的人體運動視頻序列Weizmann和KTH上進行的,Weizmann視頻序列包含9個人的10類行為:行走,奔跑,側行,雙腳跳,單腳跳,揮手跳,原地跳,彎腰,單臂揮手和雙臂揮手;KTH視頻序列包含25個人在4個不同的場景下的6類行為:行走,慢跑,快跑,打拳,揮手,拍手。圖2表示視頻序列的圖像,圖2(a)表示W(wǎng)eizmann視頻序列中,類別為走的視頻圖像,圖2(b)表示KTH視頻序列中,類別為拳擊的視頻圖像。本發(fā)明的仿真實驗中將正則參數(shù)設置為:λ=0.2,μ=0.25,η=0.1。本發(fā)明與現(xiàn)有技術Bag-of-Feature,LLC,GroupSparseCoding三種方法在Weizmann視頻序列上進行仿真實驗,得到的分類精度如表1所示。表1不同方法在Weizmann視頻序列的分類精度特征編碼方法分類精度Bagoffeature87.1%LLC89.2%GroupSparseCoding93.3%本發(fā)明方法97.8%從表1可以看出,在Weizmann視頻序列上的仿真結果,本發(fā)明的分類精度為97.8%,分類精度更高。本發(fā)明與現(xiàn)有技術Bag-of-Feature,SparseCoding,GroupSparseCoding等方法在KTH視頻序列上的進行仿真實驗,得到的平均分類精度如表2所示。表2不同方法在KTH視頻序列的分類精度特征編碼方法分類精度Bag-of-Feature91.8%SparseCoding94.92%GroupSparseCoding93.7%本發(fā)明方法95.7%從表2可以看出,在KTH視頻序列上的仿真結果,本發(fā)明的分類精度為95.7%,分類精度更高。通過在Weizmann視頻序列和KTH視頻序列的仿真實驗,可以看出本發(fā)明能夠獲得較高的分類精度。因此,本發(fā)明是一種比較有效的人體行為識別方法。