宋相法,呂 明
(河南大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 開封 475004)
人體行為識(shí)別具有很高的應(yīng)用價(jià)值,可應(yīng)用于游戲娛樂[1]、視頻監(jiān)控[2]、老年人護(hù)理等領(lǐng)域[3],因此計(jì)算機(jī)視覺與模式識(shí)別等領(lǐng)域的研究人員對其進(jìn)行了深入研究[4-5]。早期的研究人員主要利用可見光攝像機(jī)獲取的圖像進(jìn)行人體行為識(shí)別的研究,取得了諸多研究成果。但是基于可見光攝像機(jī)獲取的圖像進(jìn)行人體行為識(shí)別的效果對光照和顏色等因素比較敏感,當(dāng)上述因素發(fā)生變化時(shí),識(shí)別精度會(huì)大幅度降低。因此,人體行為識(shí)別仍然極具挑戰(zhàn)性。
近年來,隨著微軟Kinect體感設(shè)備的出現(xiàn),研究人員利用該設(shè)備可以實(shí)時(shí)獲得人體的深度圖像信息。與傳統(tǒng)的可見光攝像機(jī)獲得的圖像相比,深度圖像不受光照和顏色等因素影響;同時(shí),也可以從深度圖像中提取出人體三維骨架信息。所以,基于深度圖像的人體行為識(shí)別和基于三維骨架的人體行為識(shí)別引起了研究人員的廣泛關(guān)注。例如,文獻(xiàn)[6]提出了基于深度運(yùn)動(dòng)圖的梯度方向直方圖特征的識(shí)別方法,文獻(xiàn)[7]提出了基于四維法向量特征的識(shí)別方法,文獻(xiàn)[8]提出了基于深度運(yùn)動(dòng)圖的局部二值模式特征的識(shí)別方法,文獻(xiàn)[9]提出了基于法向量編碼的識(shí)別方法。此外,文獻(xiàn)[10-16]也提出了幾種識(shí)別方法。
在上述研究的基礎(chǔ)上,文中提出了一種融合三維骨架和深度圖像特征的人體行為識(shí)別方法。該方法首先從三維骨架中提取出基于運(yùn)動(dòng)姿態(tài)描述子的稀疏編碼特征,同時(shí)從深度圖像中提取出基于深度運(yùn)動(dòng)圖的梯度方向直方圖特征(histograms of oriented gradients,HOG)[17],然后將得到的這兩種特征分別使用liblinear工具包(http://www.csie.ntu.edu.tw/~cjlin/ liblinear/)進(jìn)行線性分類,最后利用對數(shù)意見匯集規(guī)則[18]對分類結(jié)果進(jìn)行融合,從而得到最終的人體行為識(shí)別結(jié)果。
文中從三維骨架中提取基于運(yùn)動(dòng)姿態(tài)描述子的稀疏編碼特征,同時(shí)從深度圖像中提取基于深度運(yùn)動(dòng)圖的梯度方向直方圖特征,這兩種特征可以增強(qiáng)信息互補(bǔ)性,提高人體行為識(shí)別率。
文獻(xiàn)[11]在研究三維骨架人體行為識(shí)別時(shí)提出了運(yùn)動(dòng)姿態(tài)描述子。運(yùn)動(dòng)姿態(tài)描述子由三維骨架的關(guān)節(jié)點(diǎn)位置、運(yùn)動(dòng)速度和加速度組成,具體實(shí)現(xiàn)詳述如下。
在三維骨架序列中,每一幀數(shù)據(jù)由關(guān)節(jié)點(diǎn)的位置pi(t)=(px,py,pz)組成,其中i∈{1,2,…,n},n為關(guān)節(jié)點(diǎn)總數(shù)。對于每一幀,其關(guān)節(jié)點(diǎn)位置特征向量表示為:
P=[p1(t),p2(t),…,pn(t)]
(1)
把每一幀三維骨架表示為人體關(guān)節(jié)點(diǎn)坐標(biāo)隨時(shí)間變化的連續(xù)函數(shù)P(t),則當(dāng)前幀P(t0)的一階導(dǎo)數(shù)可表示為:
δP(t0)≈P(t1)-P(t-1)
(2)
當(dāng)前幀P(t0)的二階導(dǎo)數(shù)可表示為:
δ2P(t0)≈P(t2)+P(t-2)-2P(t0)
(3)
其中,P(t-1)表示當(dāng)前幀的前一幀;P(t1)表示當(dāng)前幀的后一幀,依次類推。
綜上所述,t0時(shí)刻的運(yùn)動(dòng)姿態(tài)描述子表示為:
Pt0=[P(t0),δP(t0),δ2P(t0)]
(4)
在提取每一幀三維骨架的運(yùn)動(dòng)姿態(tài)描述子的基礎(chǔ)上,為提高特征表達(dá)的魯棒性,文中采用稀疏編碼的方法對運(yùn)動(dòng)姿態(tài)描述子進(jìn)行編碼。
為表述方便,使用X=[x1,x2,…,xm]∈d×m表示輸入運(yùn)動(dòng)姿態(tài)描述子集合,其中xi∈d表示第i個(gè)輸入運(yùn)動(dòng)姿態(tài)描述子,d是輸入運(yùn)動(dòng)姿態(tài)描述子的維數(shù)。相應(yīng)地,用B=[b1,b2,…,bl]∈d×l表示視覺字典,其中bk∈d表示第k個(gè)視覺單詞,l表示字典大小。
近年來,稀疏編碼在計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)等領(lǐng)域得到了廣泛關(guān)注[19-20],它在最小二乘的基礎(chǔ)上加入1-約束從而實(shí)現(xiàn)在一個(gè)過完備視覺字典上響應(yīng)的稀疏性,得到稀疏表示,如下式所示:
(5)
其中,S=[s1,s2,…,sm]∈l×m中的每一列sj表示xj在字典B上的稀疏表示系數(shù);表示矩陣Frobenius范數(shù);λ>0為正則化參數(shù)。
式5中被優(yōu)化的變量是B和系數(shù)矩陣S。通常的求解方法是通過固定B或者S采用多次交替求解的方法。當(dāng)B固定不變時(shí),式5可以轉(zhuǎn)化為一個(gè)關(guān)于S的基于1-約束的凸優(yōu)化問題,可分別通過求解每一個(gè)xj的系數(shù)sj進(jìn)行優(yōu)化:
(6)
當(dāng)S固定時(shí),式5是一個(gè)關(guān)于B的帶二次約束的最小平方凸優(yōu)化問題,即
(7)
文中采用SPAMS工具包(http://spams-devel.gforge.inria.fr/)來求解式6和式7。
一旦得到字典B,就可以根據(jù)式6求解每個(gè)三維骨架的運(yùn)動(dòng)姿態(tài)描述子在B上的稀疏系數(shù),然后采用最大值池化方法得到三維骨架特征MPSC(moving pose sparse coding,MPSC)。
文獻(xiàn)[6]在研究深度圖像人體行為識(shí)別時(shí)提出了基于深度運(yùn)動(dòng)圖的梯度方向直方圖特征的方法。該方法首先把深度圖像序列的每一幀深度圖像Ii投影到由前視圖f,側(cè)視圖s和俯視圖t構(gòu)成的正交笛卡爾平面上,然后提取梯度方向直方圖特征。對于包含N幀的深度圖像序列,根據(jù)式8計(jì)算出它的深度運(yùn)動(dòng)圖DMMv(v(f,s,t)):
(8)
其中,i表示幀索引。
通過式8分別在3個(gè)平面上得到深度運(yùn)動(dòng)圖DMMf,DMMs和DMMt,然后去除深度運(yùn)動(dòng)圖中處于邊緣的全零行和全零列,得到人體行為的有效區(qū)域,如圖1所示。
圖1 DMM框架
為了減少不同深度圖像序列的類內(nèi)差別,文中分別把DMMf,DMMs和DMMt規(guī)范化為96×48,96×72和72×48的深度運(yùn)動(dòng)圖DMMv(v(f,s,t))。
為了進(jìn)一步降低特征維數(shù)和提高識(shí)別性能,在深度運(yùn)動(dòng)圖DMMv(v(f,s,t))的基礎(chǔ)上提取它的梯度方向直方圖特征HOGv(v(f,s,t))。提取HOGv時(shí),把深度運(yùn)動(dòng)圖DMMv劃分成若干個(gè)互不重疊的8×8的單元,每個(gè)單元生成9維HOG特征,每相鄰2×2個(gè)單元組成一個(gè)塊,將每個(gè)塊內(nèi)所有單元生成的HOG串聯(lián)而成一個(gè)36維向量。用塊對DMMv進(jìn)行掃描,步長為一個(gè)單元,最后將所有塊的特征串聯(lián)起來得到HOGv(v(f,s,t))。
文中將提取的HOGf,HOGs和HOGtt串聯(lián)起來得到深度圖像特征DMM-HOG。
把從三維骨架中提取的基于運(yùn)動(dòng)姿態(tài)描述子的稀疏編碼特征MPSC和從深度圖像中提取的基于深度運(yùn)動(dòng)圖的梯度方向直方圖特征DMM-HOG分別作為線性分類器的輸入,然后根據(jù)線性分類器對這兩類特征的輸出結(jié)果利用對數(shù)意見匯集規(guī)則進(jìn)行融合,從而實(shí)現(xiàn)人體行為的識(shí)別。根據(jù)文獻(xiàn)[21]用Sigmoid函數(shù)作為連接函數(shù)將線性分類器的輸出f(x)映射到[0,1],從而實(shí)現(xiàn)其后驗(yàn)概率輸出,其后驗(yàn)概率輸出形式表示為:
(9)
其中,參數(shù)a和b為Sigmoid函數(shù)的參數(shù),文中a=-1,b=0。
在對數(shù)意見匯集規(guī)則中,估計(jì)隸屬度函數(shù)的后驗(yàn)概率pq(yc|x)表示為:
(10)
或者
(11)
樣本x所屬類別標(biāo)號(hào)y*如下式所示:
(12)
文中方法的具體實(shí)現(xiàn)框架如圖2所示。
圖2 文中方法的具體實(shí)現(xiàn)框架
文中使用MSR Action 3D數(shù)據(jù)集[21]進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集包含10個(gè)人分別完成的20種行為,例如水平揮臂、敲打、手抓等行為,總共包括557個(gè)240×320的深度圖像和557個(gè)三維骨架數(shù)據(jù)。
在提取三維骨架特征時(shí),式5中字典B的大小l的取值為1 024,正則參數(shù)λ的取值為0.1。為了保證比較的公平性,實(shí)驗(yàn)中采用文獻(xiàn)[6-16]給出的設(shè)置,表演者1,3,5,7,9的數(shù)據(jù)當(dāng)作訓(xùn)練樣本,表演者2,4,6,8,10的數(shù)據(jù)當(dāng)作測試樣本。實(shí)驗(yàn)的硬件配置為3.6 GHz的四核CPU,32 G內(nèi)存,系統(tǒng)為64位Windows 8,軟件平臺(tái)為Matlab2014a。
文中方法和對比方法在MSR Action3D數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表1所示。
表1 在MSR Action 3D數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
由表1可知:文中方法的識(shí)別精度為98.53%,相比于基于單一的深度圖像特征DMM-HOG方法,識(shí)別精度提高了6.93%,相比于基于單一的三維骨架特征MPSC方法,識(shí)別精度提高了6.95%;相比于其他方法提高了4.93%~13.03%,進(jìn)一步證明了提出的融合三維骨架和深度圖像特征的人體行為識(shí)別方法的有效性。
圖3以混淆矩陣的形式給出了文中方法在MSR Action3D數(shù)據(jù)集上的識(shí)別結(jié)果。
從圖3中可以看出,在20種行為中,有17種行為的識(shí)別精度為100%,平均識(shí)別率為98.53%。
但是hand catch行為的識(shí)別率較低,僅為75%,是因?yàn)閔and catch行為與high throw行為和draw x行為比較相似造成的。
圖3 文中方法在MSR Action3D數(shù)據(jù)集上的混淆矩陣
為了提高人體行為識(shí)別率,提出了一種融合三維骨架和深度圖像特征的人體行為識(shí)別方法。該方法在MSR Action 3D數(shù)據(jù)集上的識(shí)別精度為98.53%,不但超過了基于單一的三維骨架特征MPSC的方法和基于單一的深度圖像特征DMM-HOG的方法,而且也高于其他方法,從而證明了該方法的有效性。