趙一丹,肖秦琨,高 嵩
(西安工業(yè)大學 電子信息工程學院,陜西 西安 710021)
近年來,人體動作識別研究已經(jīng)成為計算機視覺領域的核心問題。由于人體動作識別在空間上的復雜性和時間上的差異性,使其在識別研究領域并沒有統(tǒng)一有效的研究框架,所以人體動作識別仍然是一個非常具有挑戰(zhàn)性的課題。
許多動作識別方法側(cè)重于設計有效的描述符呈現(xiàn)運動特征或提取運動特征,然后通過特征匹配的方法將待識別動作進行分類[1-2]。以往的動作識別主要包含兩類:特征表示和動作分類。根據(jù)文獻[3]了解到,特征表示始終是動作識別過程中的關(guān)鍵任務。一般而言,運動序列特征的表示通常分為全局特征表示和局部特征表示。全局特征呈現(xiàn)總圖像,但是,全局特征經(jīng)常受到遮擋、視點變化和噪聲的干擾?;谌值奶卣鞅硎景ɑ诠饬鞯某尸F(xiàn)[4]、基于剪影的描述符[5]、基于邊緣的特征表示[6]和運動歷史圖像(MHI)[7]等。局部特征描述子可以更有效地呈現(xiàn)動作視頻,尤其是處理噪聲圖像、部分遮擋等復雜的情況。
有研究人員利用許多常規(guī)方法對人體動作進行分類[1-2,8-9]。比如,文獻[2]提出了一種SVM多類分類器,使用動態(tài)規(guī)劃將運動序列分段。在文獻[1]中,局部描述符被組合成用于動作識別的SVM。在文獻[8]中,使用K-最近鄰分類器來預測動作標簽。然而,這些常規(guī)的識別方法難以及時捕獲動態(tài)時空序列信息。
除了常規(guī)的分類器方法,還有條件隨機場(CRF)[10]、隱馬爾可夫模型(HMM)[11]、動態(tài)貝葉斯網(wǎng)絡(DBN)[12]等基于圖模型的多序列標注模型是識別動作的有效工具,適用于建模和分析人類行為。在文獻[13]中,也提出利用線性圖序列模型來構(gòu)建語義和動作識別的非線性映射。
在上述研究的基礎上,文中提出了一種復雜視頻序列語義識別的圖模型結(jié)構(gòu)?;谝韵氯c考慮這一問題:(1)為了減少動作視頻維度和識別時間,采用模糊c-均值(fuzzy c-means,F(xiàn)CM)聚類方法[14-16]獲得關(guān)鍵幀。所選擇的辨別功能比原始功能具有更好的性能。基于FCM,從原始動作視頻獲得更好的辨別功能。(2)為了提高魯棒性,考慮使用層次圖模型進行動作語義識別,基本識別級別是基于模糊神經(jīng)網(wǎng)絡的關(guān)鍵幀動作識別,較高的識別級別是基于概率圖模型將關(guān)鍵幀動作序列進行分類。(3)同時,還發(fā)現(xiàn)概率圖模型是挖掘隱藏狀態(tài)信息的有效途徑[17-19]。DBN是目前呈現(xiàn)隨機時間序列信號很有效的工具,因此,選擇模糊神經(jīng)網(wǎng)絡圖模型(FNNGM)來呈現(xiàn)人體動作?;趫D模型的信號處理可以完成三個任務:一是完全清楚地呈現(xiàn)動作;二是挖掘更多隱藏的語義信息;三是在此基礎上,將高級語義分析和圖模型結(jié)合起來,以獲得有效的動作表示。
所提出的算法在圖1中給出了圖解說明,該算法那分為系統(tǒng)學習和動作識別兩個階段。在系統(tǒng)學習階段,首先提取運動數(shù)據(jù)集中動作的幀圖像。其次,使用模糊c-均值聚類算法對幀圖像進行聚類獲取運動的關(guān)鍵幀。設計了一個模糊神經(jīng)網(wǎng)絡分類器來識別關(guān)鍵幀的運動姿態(tài),關(guān)鍵幀標記的姿態(tài)特征數(shù)據(jù)集被用作教師信號來訓練模糊神經(jīng)網(wǎng)絡。最后,使用模糊神經(jīng)網(wǎng)絡圖模型的概率圖模型對關(guān)鍵幀序列進行分類。文中設計的圖模型是基于隱馬爾可夫模型和模糊神經(jīng)網(wǎng)絡的組合。在動作識別階段,自動提取待識別動作的關(guān)鍵幀特征,然后使用FNNGM推理算法得到動作語義分類結(jié)果。
圖1 算法流程
通過系統(tǒng)學習來構(gòu)建和訓練FNNGM模型,從而進行人體運動序列動作識別。
1.2.1 運動序列預處理
首先,采用FCM通過聚類獲取關(guān)鍵幀[20-22]。假設獲取的一個動作其關(guān)鍵幀運動序列為{rfi}i=1,2,…,k,其中rfi表示第i個運動關(guān)鍵幀特征??梢允褂胹維四元數(shù)矢量rfj=(x1,x2,…,xn)來描述身體姿態(tài)。文中考慮在骨架中使用26個關(guān)節(jié)狀態(tài)信息來呈現(xiàn)身體姿態(tài),每個關(guān)節(jié)采用一個四元數(shù)描述符(1×4)進行描述,其中n=26×4=104。
其次,基于所有動作關(guān)鍵幀訓練數(shù)據(jù)集。首先建立動作語義集S={S1,S2,…,Sω}。然后關(guān)鍵幀動作通過K-means進行姿態(tài)聚類以形成相似運動姿態(tài)集合G={G1,G2,…,Gq},其中q是聚類組的個數(shù)。
1.2.2 使用FNN對關(guān)鍵幀進行識別
一般而言,動作語義是由不同關(guān)鍵幀組合決定的,這意味著不同的身體姿態(tài)組合代表不同的動作語義。文中首先構(gòu)建一個T-S模糊神經(jīng)網(wǎng)絡模型,來識別由每個關(guān)鍵幀確定的身體姿態(tài)語義,此外,使用概率圖推理來分類動作序列語義。使用數(shù)據(jù)(rfi,Gj),i=1,2,…,n,j=1,2,…,p對FNN進行訓練,具體過程如下:
T-S模糊系統(tǒng)具有較強的適應性能,并且能夠自我更新,所以可以自動地修改模糊子集的隸屬函數(shù)。T-S模糊系統(tǒng)的使用遵循“if-then”規(guī)則,規(guī)則如下:
if
then
假定輸入rfi=(x1,x2,…,xn),則根據(jù)模糊規(guī)則可計算xj的模糊隸屬度為:
(1)
則rfi的模糊隸屬度計算公式為:
(2)
同時,輸出yi計算為:
(3)
T-S模糊神經(jīng)網(wǎng)絡分為四層,包括輸入層、模糊層、模糊規(guī)則層和輸出層。在輸入層中沒有計算操作,在模糊層使用式1計算模糊隸屬度,然后根據(jù)式2得到規(guī)則推理結(jié)果,最終通過式3計算輸出。FNN訓練包括以下三個步驟:
(1)誤差計算。
(4)
其中,yd是期望輸出;yc是實際輸出;e是期望輸出與實際輸出之間的誤差。
(2)系數(shù)修正。
(5)
(3)參數(shù)修正。
(6)
1.3.1 圖模型構(gòu)建
FNNGM模型如圖2所示。
圖2 用于動作識別的FNNGM圖模型結(jié)構(gòu)
該模型包括三層:最低層是測量信號層,從最低層輸入RF序列((rf1,rf2,…,rfk));中間層是運動姿勢層,在這一層呈現(xiàn)由FNN推斷的離散姿勢狀態(tài)信號((g1,g2,…,gk));最高層是動作語義層,根據(jù)中間層和最低層的信息,在該層中計算最終動作語義((s1,s2,…,sk))。
(7)
其中,S={S1,S2,…,Sw}和G={G1,G2,…,Gp}分別是動作語義集和相似姿態(tài)集合。
基于S和G中的rfi數(shù)量,計算圖模型參數(shù)。首先,先驗概率的計算為:
(8)
其中,nrf∈Si為屬于語義Si的關(guān)鍵幀數(shù);nrf為訓練數(shù)據(jù)集中所有關(guān)鍵幀的數(shù)量。
其次,估計語義交易可能性aij:
(9)
其中,nSj|Si表示訓練數(shù)據(jù)中從rft(rft∈Si)到rft+1(rft+1∈Sj)相鄰鏈接的數(shù)目;nS|Si表示訓練數(shù)據(jù)中從rft(rft∈Si)到rft+1(rft+1∈Sj,S所有可能的語義)的鄰接鏈路的數(shù)量。
(10)
其中,nGj|Si表示訓練數(shù)據(jù)中rft(rft∈Si∩Gj)的數(shù)目;nSi表示訓練數(shù)據(jù)中rft(rft∈Si)的數(shù)量。
基于初始參數(shù)估計,進一步使用Baum-Welch算法優(yōu)化參數(shù),對數(shù)似然值對應于參數(shù)學習的全局收斂性能,當對數(shù)似然值變得穩(wěn)定時,意味著參數(shù)收斂到最優(yōu)值。
1.3.2 圖模型推理
基于所構(gòu)建的FNNGM圖模型結(jié)構(gòu)進行圖模型推理,對動作語義序列進行分類。將{rf1:k}作為一個測量的圖模型。系統(tǒng)狀態(tài)序列為S={s1:k}和G={g1:k},基于圖模型推理的動作識別描述如下:
給定檢測量{rf1:k},以更新隱藏狀態(tài)信號S={s1:k}和g={h1:k}。首先,根據(jù)貝葉斯規(guī)則,計算P(s1):
(11)
將s0和P(s1|s0)設置為初始系統(tǒng)輸入,因此,根據(jù)式8、9、11可以得到P(s1)。
接下來,預測C使用檢測量更新為:
(12)
同時,確保α的輸出結(jié)果在區(qū)間[0,1]中。此外,通過測量結(jié)果,濾波方程可以重新寫為:
P(s1+t|g1:1+t,rf1:1+t)=
P(s1+t|rf1+t,rf1:t)P(s1+t|g1+t,g1:t)=
αP(rf1+t|s1+t,rf1:t)
(13)
基于濾波方程(式13),進一步得到最大可能狀態(tài)路徑:
(14)
最終獲得語義序列最大可能性狀態(tài)值。
為了評估所提出的動作識別方法的性能[23],構(gòu)建了一個人體運動數(shù)據(jù)庫,包括360個不同的動作剪輯。動作剪輯大致分為20個動作語義組,這里選用四元數(shù)描述符[24]來呈現(xiàn)身體運動姿態(tài)。文中采用26個骨骼關(guān)節(jié)[25]呈現(xiàn)身體運動姿態(tài),因此得到104維(26×4=104)的四元數(shù)描述符。
使用FNNGM模型來實現(xiàn)動作序列數(shù)據(jù)分類。利用兩個評價標準以評估提出方法的性能。幀精度計算如下:
(15)
由于運動數(shù)據(jù)集中的視頻被分割,每個視頻中只有一種動作[26]。每個預測序列中的類標簽通過多數(shù)表決計算。基于上述,視頻精度可以計算如下:
(16)
所有的比較方法可以分為兩類:(1)包含CRF的序列模型、條件隨機場(CRF)與單隱層神經(jīng)網(wǎng)絡(NNCRF)耦合的序列模型;(2)包含支持向量機(SVM)的非序列模型、單隱層神經(jīng)網(wǎng)絡的非序列模型。對基于幀的樣本進行非序列模型訓練。SVM模型是具有線性內(nèi)核的多類SVM模型。作為非線性模型,神經(jīng)網(wǎng)絡用一個隱層進行訓練。對于序列模型,選擇標準線性鏈CRF作為基線方法之一。選擇非線性鏈NNCRF作為非線性序列模型的基線。使用一個隱藏層,枚舉隱藏節(jié)點的數(shù)量。在線性鏈CRF和非線性NNCRF方法中都加入正則化術(shù)語,以避免在訓練過程中過度擬合。調(diào)整正則化參數(shù)[27],并通過交叉驗證調(diào)整正則化的參數(shù)。將提出的方法在兩種配置下進行測試。
動作識別示例如圖3所示。其中,圖(a)是動作的“cartwheelLHandStart1Reps”插圖,圖(b)是HMM參數(shù)學習的對數(shù)似然-時間圖(loglik-time)?;谙闰炛R估計初始參數(shù),然后使用Baum-Welch算法優(yōu)化參數(shù),對數(shù)似然值對應于參數(shù)學習的全局收斂性能,當對數(shù)似然值變得穩(wěn)定時,意味著參數(shù)收斂到最優(yōu)值。圖(c)是HMM參數(shù)矩陣,參數(shù)為λ=(πS,AS,BG,Brf),因為Brf包含太多參數(shù),只將πS,AS和BG組合成一個大矩陣在(c)中顯示。其中,πS為1×20的矩陣,對應于20個動作語義;AS為20×20的矩陣;BG為20×25的矩陣,對應于20個動作語義中的25個待識別姿勢組。圖(d)是FNNGM的對數(shù)概率矩陣,對應于圖模型推理對數(shù)概率值,在運動數(shù)據(jù)集中,動作“cartwheelLHandStart1Reps”包含21個樣本,前50%樣本為訓練數(shù)據(jù),其余樣本為檢測數(shù)據(jù)。檢測數(shù)據(jù)的識別結(jié)果如圖(d)所示,矩陣中的每一行對應于動作樣本與不同F(xiàn)NNGM模型之間的匹配概率。在實驗中,由于動作“carwheelLHandStart1Reps”在數(shù)據(jù)集中被標注為數(shù)字#1動作語義組,從識別結(jié)果看出,第一列具有最高匹配概率值。
同時,為了評估FNNGNM動作識別模型的識別性能,將其與基于構(gòu)建框架的其他方法進行比較,結(jié)果如表1所示。從中可以得出以下結(jié)果:線性序列模型(CRF)優(yōu)于線性支持向量機(SVM),表明結(jié)構(gòu)依賴對于動作識別很重要;(2)非線性模型比線性模型獲得了更好的性能;(3)通過將CRF與隱藏層相結(jié)合,NNCRF模型進一步提高了標準CRF的性能;(4)所有三個特征函數(shù)的組合比標準CRF特征函數(shù)組合有更好的性能。因此,可以得出結(jié)論,文中方法得到的識別結(jié)果精度最佳。
圖3 FNNGM模型動作識別示例
表1 與現(xiàn)有方法的比較結(jié)果 %
提出了一種新的基于圖模型和模糊神經(jīng)網(wǎng)的動作識別方法。構(gòu)建了一個新的基于圖模型的動作識別模型,該模型將模糊神經(jīng)網(wǎng)絡和概率圖模型推理有效地結(jié)合起來,并采用基于遞歸的方法識別視頻動作數(shù)據(jù)?;谪惾~斯規(guī)則、圖模型等理論,提出了基于概率的遞歸計算結(jié)構(gòu),以獲得較高的動作識別精度。通過與現(xiàn)有模型進行比較,驗證了該算法具有良好的精確性和有效性。