王 瓊,王 旭,劉云麟,任偉建,3*
(1. 東北石油大學(xué)電氣信息工程學(xué)院,黑龍江 大慶 163318;2. 哈爾濱電氣國際工程有限責(zé)任公司,黑龍江 哈爾濱 150000;3. 黑龍江省網(wǎng)絡(luò)化與智能控制重點實驗室,黑龍江 大慶 163318)
長期以來,基于視頻的人體行為識別一直是計算機視覺中視頻分析領(lǐng)域的熱點話題[1],在諸多領(lǐng)域中具有重大的研究意義以及應(yīng)用價值。圖像分類是按照圖像中的目標(biāo)進行軟分類,基于視頻的行為識別和圖像分類原理上較為相似,但相比于圖像分類,視頻多了一個時序維度,而這個問題恰恰是目前計算機領(lǐng)域的研究難點[2]。
目前的行為識別算法中,基于密集軌跡算法的技術(shù)是研究熱點之一[3]。許多學(xué)者以該算法的理念進行改進獲得更好的識別效果。朱偉[4]等人通過人體姿態(tài)估計模塊檢測人體并定位,再對人體進行密集點采樣,以部位關(guān)鍵點軌跡取代原算法的全圖密集關(guān)鍵點軌跡;程海栗[5]等提出了采用運動顯著性圖來確定人體區(qū)域的方法,取得了較好的效果;王健弘[6]等提出通過融合運動、視覺顯著性圖等信息構(gòu)建的綜合顯著性圖來描述人體區(qū)域的方法;李嵐[7]等提出了一種新的特征加權(quán)的融合方法,將基于稠密軌跡(Dense Trajectory)的特征與時空興趣點特征(STIP)加權(quán)融合,并通過支持向量機(SVM)分類學(xué)習(xí)實現(xiàn)行為識別。以上研究學(xué)者都采取了相應(yīng)方法獲取人體運動區(qū)域,避免了背景光流所帶來的影響,但是學(xué)者們忽略了特征點長時間跟蹤形成軌跡存在著軌跡漂移現(xiàn)象,以及在分類過程中分類器對數(shù)據(jù)集的兼容性問題。
通過對傳統(tǒng)密集軌跡算法以及各位學(xué)者對其改進方式的分析,發(fā)現(xiàn)使用軌跡技術(shù)對人體行為識別存在兩個關(guān)鍵點:有效軌跡的獲取和分類器的可靠性。針對這兩個問題,采用選擇性搜索策略[8]來獲取目標(biāo)人體區(qū)域,根據(jù)顯著性信息對區(qū)域中有效軌跡進行提純,然后使用改進蜂群算法優(yōu)化后的支持向量機對人體行為進行識別。
應(yīng)用選擇性搜索方法獲取視頻圖像人體運動區(qū)域,這種生成候選區(qū)域的方法具有運算效率快和覆蓋范圍全面等優(yōu)勢,在視頻圖像各領(lǐng)域均得到了廣泛應(yīng)用[8]。該算法利用分割算法得到原始區(qū)域,再計算相鄰區(qū)域內(nèi)顏色相似度、紋理相似度、大小和吻合相似度后進行迭代,從而獲得若干個可能的目標(biāo)區(qū)域。將該方法獲取視頻圖像人體運動區(qū)域的具體步驟如下:
首先提取視頻的起始幀,使用圖像分割算法將圖片分割成多個候選區(qū)域R={r1,r2,…rn},并對這些候選區(qū)中相鄰區(qū)域按上述給出的公式計算顏色、紋理、大小和形狀交疊四個相似度獲得最終相似度的準(zhǔn)則進行合并找出相似度最高的兩個新集進行合并rt=ri∪rj;
然后將與ri和rj相關(guān)數(shù)據(jù)從S集合種移除,計算合并后的新集合rt和與它相鄰所有區(qū)域的相似性S(rt,r*),繼續(xù)遵循相似度準(zhǔn)則進行合并直至S集合為空,重復(fù)以上步驟即可得到包含人體目標(biāo)位置的多個候選區(qū)域r;
最后得到的候選框均為矩形,因此可以通過候選區(qū)的中心點r(xi,xj)獲取候選區(qū)的位置,通過獲取各候選區(qū)的[w,,hi]寬度和高度得知候選區(qū)的覆蓋范圍,當(dāng)ri∩rj不為空集時,則令ri∪rj,直至ri∩rj為空,則所求得的rt就是所需的人體目標(biāo)區(qū)域,在獲得的候選區(qū)域內(nèi)進行密集采樣即可獲得有效區(qū)域密集特征點。
2.2.1 密集軌跡
密集軌跡算法是一種基于多特征融合的人體行為識別算法,對視頻原始幀進行特征提取后使用分類器進行分類。該算法主要使用的是軌跡特征,但所有軌跡都是依據(jù)光流計算得到的[9]。
(1)
設(shè)采集到的某個特征點為Pt=(xt,yt),則通過式(2)式計算該特征點在下一幀的位置:
Pt+1=(xt+1,yt+1)=(xt,yt)+(M*ωt)|xt,yt
(2)
式(2)中ωt=(ut,vt)為由視頻t幀It和下一幀It+1計算得到的密集光流場,u和v分別代表了光流的水平分量和垂直分量。M代表尺寸為3*3的中值濾波器,該式是利用計算鄰域內(nèi)的光流中值來獲得特征點的運動方向。采集到的某個特征點在連續(xù)的L幀圖像上的位置即構(gòu)成了一段軌跡(Pt,Pt+1,…Pt+L),對位移矢量進行正則化操作就可以得到軌跡特征描述子。其正則化公式如式(3)所示
(3)
2.2.2 基于運動顯著性信息的有效軌跡提純
由于特征點長時間跟蹤會導(dǎo)致軌跡漂移問題。引入運動顯著性信息來衡量特征點變化程度,設(shè)定閾值濾除掉大于閾值的特征點,減小該問題對后續(xù)計算特征描述子的不良影響。這里獲取的是動態(tài)運動顯著性信息,采用特征點光流特征與周邊區(qū)域的平均光流差異來衡量運動顯著性,獲得更優(yōu)的顯著性信息,來達到更好的有效軌跡提純效果。
周邊區(qū)域采用的是Achanta R[10]在2010年提出的對稱周邊區(qū)域定義,設(shè)特征點坐標(biāo)為(x,y),則對稱周邊區(qū)域可表示成
A(x,y)={(x′,y′)||x-x′|≤Δx,|y-y′|≤Δy}
(4)
其中偏移量Δx和Δy定義為
(5)
式中w和h分別代表該視頻幀的寬度和高度。根據(jù)不同特征點的位置不同,其對稱區(qū)域的大小范圍會發(fā)生變化。根據(jù)周邊區(qū)域定義,采用x2距離作為衡量標(biāo)準(zhǔn)來表示特征點與周邊區(qū)域光流直方圖的差異。
運動顯著性定義為
St(Pt,i)=Dχ2(H(A4(i)),H(A(i)))
(6)
式(6)中S(Pt,i)為表示第t幀圖像特征點i的顯著性強度,A4(i)表示特征點i的四鄰域,H表示直方圖信息,hj表示直方圖中所對應(yīng)的第j個bin值。
使用這種方法獲取顯著性強度的好處是不會增加過多的額外計算量,避免給算法帶來過大的負擔(dān)。則特征點相鄰兩幀的運動顯著性差異表示如下
T1={Pt,i|Pt,i∈T,|St+1(Pt+1,i)-St(Pt,i)|≤η}
(7)
式(7)中Ti={Pt,i}代表為提純的軌跡,其中Pt,i為表示第t幀圖像特征點i的坐標(biāo)位置(x,y),對變化過于劇烈的點,即相鄰兩幀間特征點的顯著性強度差值大于閾值η,定義為發(fā)生軌跡漂移的特征點,則提純軌跡位移矢量特征描述因子表示為式(8),最后對軌跡位移特征進行正則化處理
ΔT1={ΔPt,i=Pt+1,i-Pt,i|Pt,i∈T1}
(8)
正則化公式如式(18)所示
(9)
沿著軌跡構(gòu)成的空間-時空體計算方向梯度直方圖[11](HOG)、光流直方圖[12](HOF)和運動邊界直方圖[3](MBH),將這些特征描述子進行特征編碼后送入非線性RBF核支持向量機[13](SVM)進行分類,從而達到人體行為識別的目的。
獲得提純后的軌跡后,要選擇一個優(yōu)良的分類器。支持向量機在針對解決非線性、小樣本數(shù)據(jù)有著明顯的優(yōu)勢,但其在處理不同類型數(shù)據(jù)時,仍需要設(shè)置相關(guān)重要的參數(shù)。對此提出采用改進型人工蜂群算法對支持向量機進行參數(shù)優(yōu)化,針對各種類型的數(shù)據(jù)均能自動獲得最優(yōu)性能參數(shù)來提升算法在各個數(shù)據(jù)集的兼容性以及獲得更高的準(zhǔn)確率。
人工蜂群(ABC)算法[14]是模仿蜜蜂采蜜所提出的一種智能優(yōu)化算法,它是由蜜源、雇傭蜂和非雇傭蜂三部分組成。算法首先對有關(guān)參數(shù)進行初始化,其中包括確定種群數(shù)SN、最大迭代次數(shù)MCN、控制參數(shù)limit和確定搜索空間范圍在搜索空間中隨機生成初始解Xi=(Xi,1,Xi,2…Xi,D),代表著種群中第i個蜜源的位置,D為問題的維度初始化種群位置可由式(10)生成
(10)
在雇傭蜂時期,雇傭蜂會根據(jù)記憶中的蜜源位置進行鄰居搜索,尋找花蜜量更好的蜜源位置,尋找更優(yōu)蜜源位置的工作由式(11)完成
Vi,j=Xi,j+ri,j·(Xi,j-Xk,j)
(11)
式(11)中,Vi,j表示第i個個體在第j維產(chǎn)生的新值;Xi,j和Xk,j分別代表第i個個體和第k個個體的第j維蜜源,其中k∈[1,SN],且k≠i;ri,j是[-1,1]之間的隨機實數(shù)。解的適應(yīng)值,可以通過式(11)轉(zhuǎn)化成最小化問題來求解。
(12)
式(12)中,fiti代表第i個個體Xi的適應(yīng)度,f(Xi)為Xi對于優(yōu)化問題的函數(shù)值。
在跟隨蜂時期,跟隨蜂會根據(jù)這些信息使用輪盤賭的方式進行一種隨機的選擇。其個體被選中概率計算公式如式(13)所示
(13)
當(dāng)食物源被跟隨蜂選中后,再利用式(13)產(chǎn)生鄰居蜜源,再計算其適應(yīng)度值,若新解的適應(yīng)度值比之前蜜源的適應(yīng)度值高,則跟隨蜂將記住新解;反之將保留舊解。
針對傳統(tǒng)ABC算法存在接近最優(yōu)解時可能陷入局部最優(yōu)和后期收斂速度較慢等問題,提出一種改進的人工蜂群算法(IABC)。首先考慮到初始種群的質(zhì)量對整體尋優(yōu)結(jié)果的影響,引入分段Logistic混沌映射來初始化種群,然后考慮隨著算法不斷迭代到達后期時,可能會出現(xiàn)接近最優(yōu)的解,提出一種新的搜索策略:讓雇傭蜂和偵察蜂依據(jù)具體搜索過程中獲得的信息進行有針對性的搜索,而不是按照一個策略進行隨機搜索。
分段Logistic混沌映射算子如式(14)所示
(14)
式(14)中,μ為控制參數(shù),當(dāng)μ的值為4時,則處于完全的混沌狀態(tài),可由不同的初值迭代出不同的序列。
更新搜索公式如式(15)所示
(15)
其中ri,j∈[-1,1],是一個隨機數(shù),保證了算法最優(yōu)位置附近尋優(yōu)時仍具備一定的隨機性;Gi,j全局最優(yōu)解位置,將式(11)中隨機選擇的鄰居改為選擇當(dāng)前發(fā)現(xiàn)的最優(yōu)蜜源。由式(15)可以看出,隨著算法進行到中后期,在引入全局最優(yōu)位置的引導(dǎo)下,縮小了算法的尋優(yōu)范圍,進一步提高算法在中后期的開采能力。
采用的非線性支持向量機的分類函數(shù)[11]如式(16)所示
(16)
其中k(xi,x)為核函數(shù),α和b為拉格朗日參數(shù)。采用徑向基核函數(shù)為SVM分類函數(shù),如式(17)所示
(17)
式(17)中σ是RBF是函數(shù)寬度。
采用改進后的人工蜂群算法對參數(shù)σ和C進行優(yōu)化,來獲得更優(yōu)的識別效果。采用誤分率的倒數(shù)作為IABC算法的適應(yīng)度函數(shù)如式(18)所示
(18)
式中,Vacc為支持向量機的的識別準(zhǔn)確率。
對SVM進行參數(shù)優(yōu)化的具體步驟為:
1)對數(shù)據(jù)集進行預(yù)處理操作,將數(shù)據(jù)集分為訓(xùn)練集A和測試集B;
2)初始化IABC算法各個參數(shù),確定種群的搜索范圍,并在搜索范圍內(nèi)利用分段Logistic混沌映射獲取初始種群xi(i=1,2,…,SN),每個解是一個二維向量(C,σ);
3)對非線性支持向量機進行初始化,核函數(shù)選擇RBF徑向基核函數(shù),使用支持向量機對訓(xùn)練集A進行機器學(xué)習(xí)得到訓(xùn)練模型,對上一步的學(xué)習(xí)結(jié)果模型使用測試集B進行驗證,輸出訓(xùn)練集中每個視頻預(yù)測的行為種類結(jié)果,每預(yù)測正確一個視頻,計數(shù)器加1,最后獲得整個測試集分類正確視頻的個數(shù),最終與整個測試集視頻數(shù)相除,即可得到支持向量機的識別準(zhǔn)確率即Vacc,獲得個體的適應(yīng)度值;
4)在雇傭蜂階段:根據(jù)算法的迭代次數(shù)獲得合適的新解,并獲得新解的適應(yīng)度值,判斷新解的適應(yīng)度值是否大于原解的適應(yīng)度值,若大于原解,則更新已有蜜源;
5)在跟隨蜂階段:通過貪婪算法選擇蜜源后,同樣在其附近尋找新蜜源,經(jīng)比較兩者的適宜度后,保留更優(yōu)蜜源并更新蜜源;
6)如果某只跟隨蜂連續(xù)lim it次未能找到更好的蜜源,則進入偵察蜂階段,當(dāng)前跟隨蜂變?yōu)閭刹旆洌a(chǎn)生一個新的蜜源代替淘汰的蜜源;
7)判斷是否符合終止條件,若符合終止條件,此時蜜源(參數(shù))即為找到的優(yōu)化的[C,σ]參數(shù)值;
8)根據(jù)最優(yōu)蜜源獲得的最優(yōu)參數(shù)建立RBF核SVM分類模型,進行人體行為識別最終的識別過程。
為了驗證經(jīng)過改進人工蜂群算法對支持向量機優(yōu)化后的性能,使用KTH[15]數(shù)據(jù)集驗證提出識別方法的可行性,實驗使用libsvm中的開源 程序進行改進,相關(guān)參數(shù)設(shè)置為:
初始種群SN數(shù)目為60,雇傭蜂數(shù)量為30;因為需要優(yōu)化參數(shù)C和σ,所以維數(shù)D為2,將參數(shù)C和σ的隨機組合編譯為蜜源位置Xi,j;種群的搜索范圍為[0.1,500],最大搜索次數(shù)lim it設(shè)置為30,最大迭代次數(shù)MCN設(shè)置為90,循環(huán)終止條件定義為算法迭代5次得到的適應(yīng)度值不變即結(jié)束循環(huán),經(jīng)過算法輸出的最優(yōu)參數(shù)的C和σ分別是247.29和1.36,改進蜂群算法與傳統(tǒng)人工蜂群算法優(yōu)化支持向量機參數(shù)的迭代收斂曲線如圖1所示。
圖1 改進人工蜂群優(yōu)化參數(shù)收斂曲線
由圖1觀察得知,改進人工蜂群算法在優(yōu)化支持向量機參數(shù)上能夠更快地收斂到最優(yōu)解,并且獲得的適應(yīng)度值更優(yōu)。這是因為改進的蜂群搜索策略在算法中后期,蜜蜂搜索新值時將已經(jīng)搜索到的最優(yōu)解的位置代替隨機生成解的位置,增強了算法尋優(yōu)收斂速度和開采能力。
為驗證優(yōu)化后分類器的性能,使用混淆矩陣作為驗證算法的性能評價指標(biāo)?;煜仃嚨拿恳涣写砹祟A(yù)測類型,其總數(shù)表示預(yù)測為該類別的數(shù)據(jù)數(shù)目;每一行代表了數(shù)據(jù)的真實歸屬類別,其總數(shù)表示該類別的數(shù)據(jù)實例的數(shù)目,兩個算法在KTH數(shù)據(jù)集上的混淆矩陣分別如表1和表2所示。
表1 ABC算法在KTH數(shù)據(jù)集上的混淆矩陣
表1中主對角線上數(shù)值代表該行為動作在整個數(shù)據(jù)集上的識別正確率,例如“拳擊”動作的準(zhǔn)確率為0.98,橫向觀察第一行,在“鼓掌”動作下的數(shù)值為0.02,表示“拳擊”動作在判別時有0.02的誤差率將本屬于“拳擊”類別的視頻分類到了“鼓掌”動作上,通過表1可以非常清晰的看到原算法識別各個行為動作的誤差率。
表2 IABC算法在KTH數(shù)據(jù)集上的混淆矩陣
通過比較表1和表2兩個混淆矩陣可以發(fā)現(xiàn),IABC算法在識別性能上優(yōu)于原算法。IABC算法對拳擊和揮手兩個動作均識別正確,鼓掌行為的識別率有0.97,其誤差率有0.03落在了揮手上;而走路、慢跑、跑步三個行為相似度較大,有一定的混淆性,但相比于原算法,每個行為的識別率均有所提升,表3給出兩種方法在KTH數(shù)據(jù)集上的整體識別率。
表3 兩種方法在KTH數(shù)據(jù)集上的總體識別率
通過表3可以看出,在每個動作分類更為準(zhǔn)確的前提下,改進后的 IABC算法比傳統(tǒng)ABC算法的整體識別率提升了1.4%,說明了該算法的有效性。
采用相比KTH數(shù)據(jù)集更接近真實環(huán)境的UCF101[17]以及HMDB51[18]兩個公開數(shù)據(jù)集對改進算法進行驗證,實驗采用Opencv、Ffmpeg和LibSVM軟件進行編譯。
選擇性搜索主要參數(shù)設(shè)置:初始分割區(qū)域為R=1000,各個相似度的比例權(quán)重均為1,最大候選區(qū)域覆蓋像素為2000,軌跡提純所需閾值η采用實驗驗證的方式選取,以0.1為增量進行實驗。
圖2 不同參數(shù)η對兩種數(shù)據(jù)集識別結(jié)果的影響
通過圖2可以看出,當(dāng)參數(shù)η=0.6時,兩個數(shù)據(jù)集分別取得85.9%和62.2%的識別效果,當(dāng)η=0.62時,算法在兩個數(shù)據(jù)集均獲得最好效果,識別率分別為86.2%和62.4%,因此選取參數(shù)η=0.62作為實驗最優(yōu)參數(shù)。隨機抽取UCF101共450段視頻、HMDB51共360段視頻作為模擬數(shù)據(jù)集,訓(xùn)練集和測試集的比例約為2:1,保證每個行為種類都被抽取,優(yōu)化的各個參數(shù)設(shè)定跟第2節(jié)保持一致,算法輸出兩個模擬數(shù)據(jù)集的最優(yōu)參數(shù)如表4所示。
表4 IABC在兩個模擬數(shù)據(jù)集上的SVM分類最優(yōu)參數(shù)
改進算法可視化以UCF101數(shù)據(jù)集中“轉(zhuǎn)呼啦圈”為例,對該視頻幀進行選擇性搜索,獲得人體主體區(qū)域,即有效區(qū)域,效果如圖3所示。
圖3 “轉(zhuǎn)呼啦圈”有效區(qū)域獲取
從圖3的有效區(qū)域獲取來看,改進算法采用選擇性搜索算法的多個候選區(qū)域?qū)⑷梭w主體完全覆蓋在內(nèi),而改進算法與原算法在兩個行為上提取軌跡效果對比如圖4所示(左為ABC,右為IABC)。
圖4 “跳傘”軌跡效果實驗對比
觀察圖4,發(fā)現(xiàn)視頻在經(jīng)過選擇性搜索確定主體區(qū)域后,特征軌跡更加集中于人體,起到了有效的減少背景冗余信息,提高算法的計算效率的作用。
為了驗證提出算法的效率,列出幾種行為動作采樣的經(jīng)過提純后的軌跡數(shù)目與原算法進行比較,比較結(jié)果如表5所示。
表5 改進后算法與原算法軌跡數(shù)目比較
從表5可以看出,“彈吉他”動作使用兩種算法獲得軌跡數(shù)量比為83.8%,通過分析發(fā)現(xiàn)因為“彈吉他”這個動作主要集中在人體運動部位,因此效果不明顯。
為了進一步驗證算法的性能,使用改進后算法與多種經(jīng)典算法在應(yīng)用于UCF101和HMDB51兩個數(shù)據(jù)集上整體行為識別準(zhǔn)確率進行比較,具體如表6所示。
表6 多種算法在行為識別數(shù)據(jù)集上的準(zhǔn)確率
由表6可以看出,與改進后算法進行比較的既涵蓋STIP+BOV、DT+BOV等方式的傳統(tǒng)機器學(xué)習(xí)方法,又包括例如C3D、motion-C3D-LSTM等的深度學(xué)習(xí)方法,與這兩大種類的算法進行準(zhǔn)確率對比,發(fā)現(xiàn)改進后算法無論在UCF101數(shù)據(jù)集上或是HMDB51數(shù)據(jù)集上準(zhǔn)確率均有一定的提升,證明了算法的有效性。
通過對密集軌跡算法進行分析,針對其存在的缺陷進行改進,并對改進后算法的性能進行驗證與分析。首先使用選擇性搜索確定人體運動區(qū)域,消除背景光流對識別效果的干擾;其次計算特征點相鄰幀的運動顯著性,濾除大于閾值的軌跡,以減小軌跡漂移現(xiàn)象產(chǎn)生的不良影響;最后采用改進的人工蜂群算法對支持向量機進行參數(shù)優(yōu)化,以提升分類器的準(zhǔn)確率和算法對于不同數(shù)據(jù)集的兼容性。通過實驗將改進后算法與其它經(jīng)典人體行為識別方法在UCF101和HMDB51兩個數(shù)據(jù)集進行對比,證明了提出算法的有效性。