李 麗,莊慶華
(長春工業(yè)大學(xué)人文信息學(xué)院,吉林 長春 130000)
人體行為連續(xù)性動作預(yù)測對人們工作生活有著巨大性的影響力,是醫(yī)學(xué)康復(fù)、體育健身、VR娛樂等領(lǐng)域的關(guān)鍵技術(shù)[1]。人體行為連續(xù)性動作預(yù)測成為研究的熱點(diǎn)話題。
文獻(xiàn)[2]基于LSTM的人體姿態(tài)檢測方法。制作了包含3336條帶有人工標(biāo)注數(shù)據(jù)的人體姿態(tài)數(shù)據(jù)集,對行走、奔跑、上樓梯、下樓梯和平靜五種日常持續(xù)性行為姿態(tài)與跌倒、起立、坐下和跳躍這四個突發(fā)行為姿態(tài)進(jìn)行預(yù)測分類。文獻(xiàn)[3]提出基于BSCPs-RF的人體關(guān)節(jié)點(diǎn)信息行為識別與預(yù)測方法,采用局部線性回歸與單幀關(guān)節(jié)點(diǎn)歸一化法預(yù)處理關(guān)節(jié)點(diǎn)序列,消除抖動噪聲、位移和尺度的影響,采用基于隨機(jī)森林的行為識別與預(yù)測方法,并以集成學(xué)習(xí)方法優(yōu)化多分類器組合以提高識別精度。文獻(xiàn)[4]提出一種基于人體姿態(tài)的時空特征的行為識別方法。首先在獲取視頻中各幀圖像的人體關(guān)節(jié)位置的基礎(chǔ)上,在空間維度上提取每幀圖像的關(guān)節(jié)位置關(guān)系、時間維度上計算關(guān)節(jié)空間關(guān)系的變化,二者共同構(gòu)成姿態(tài)時空特征描述子,利用Fisher向量模型對不同類型的特征描述子分別進(jìn)行編碼,得到固定維度的Fisher向量。上述方法關(guān)鍵特征映射點(diǎn)包含范圍模糊,存在實(shí)時處理速度慢,且錯位率較高的問題。因此本文提出一種基于時域分割的人體行為連續(xù)性動作預(yù)測。提取人體骨架關(guān)節(jié)特征,對動作特征加以LLE映射,在此基礎(chǔ)上預(yù)測人體行為連續(xù)性動作。
想要獲取目標(biāo)人體準(zhǔn)確、實(shí)時數(shù)據(jù),就必須建立相應(yīng)的人體骨架模型,例如人體在三維空間行動時,肢體動作會有一個非常典型的特征弱時空相關(guān)性與非線性問題,導(dǎo)致該目標(biāo)關(guān)節(jié)數(shù)據(jù)獲取困難,創(chuàng)建關(guān)節(jié)模型存在的挑戰(zhàn),直接建立的模型也很難達(dá)到實(shí)驗(yàn)要求,會導(dǎo)致接下來的預(yù)測結(jié)果出現(xiàn)偏差?;谝曈X和檢測的人體關(guān)節(jié)位置標(biāo)記方式,可有效解決特征弱時空相關(guān)性與非線性問題,為特征提取環(huán)節(jié)打下堅實(shí)的基礎(chǔ)。
采用幾何構(gòu)建方法創(chuàng)建人體骨架模型。利用點(diǎn)數(shù)據(jù)或者是通過多邊形網(wǎng)絡(luò)進(jìn)行提取人體關(guān)節(jié)點(diǎn),構(gòu)建骨骼框架。利用網(wǎng)絡(luò)模型可準(zhǔn)確獲得人體行為信息,是人體的活動研究領(lǐng)域關(guān)鍵技術(shù),在這其中包含了準(zhǔn)確合理的提取骨架數(shù)據(jù)信息,以及將骨骼進(jìn)行連接的關(guān)節(jié)點(diǎn)等。通過三維人體運(yùn)功捕捉人體動作,獲得人體關(guān)節(jié)骨骼模型如圖1所示。
圖1 人體運(yùn)動捕捉的框架
上圖中的人體框架包括了15個關(guān)節(jié)點(diǎn),在其中的所有關(guān)節(jié)點(diǎn)都具有三維數(shù)據(jù),通過時域分割確定關(guān)節(jié)點(diǎn)的位置信息,圍繞父節(jié)點(diǎn)為始點(diǎn)的坐標(biāo)系內(nèi)的x、y、z軸所轉(zhuǎn)動的度數(shù)。例如其右臂的轉(zhuǎn)動信息是圍繞著其父節(jié)點(diǎn)的右后臂為原點(diǎn)的坐標(biāo)系中的x,y、z軸轉(zhuǎn)動系數(shù),通過這種方法,可以捕捉到人體的運(yùn)動數(shù)據(jù),形成一個矩陣,在矩陣中每行對應(yīng)著一幀,每列代表著一維[5]。
LLE算法是相對于非線性數(shù)據(jù)的一種全新形降維方式,在進(jìn)行降維以后的數(shù)據(jù)還能夠保持初始拓?fù)潢P(guān)系,是局部優(yōu)化的計算方法,其計算方式非常簡單,利用LLE把數(shù)據(jù)映射進(jìn)二維空間里,就能夠得到低維數(shù)據(jù)在降維之前的鄰域特性[6]。
本文通過時域分割技術(shù)將任意關(guān)節(jié)點(diǎn)都視為映射特征點(diǎn),完成人體的運(yùn)動數(shù)據(jù)特征提取[7]。假設(shè)一個輸入向量采用LLE的計算方法,獲得輸出向量。那么LLE的計算方式分成3部分:
圖2 LLE算法示意圖
1)將所有的樣本相鄰點(diǎn)進(jìn)行計算,再距所求樣本點(diǎn)最近的點(diǎn)視為相鄰最近點(diǎn)[8]。
2)將樣本點(diǎn)通過局部重建矩陣進(jìn)行計算,假定一個誤差函數(shù),即
(1)
想要求W矩陣,就得建立一個局部的協(xié)方差矩陣
(2)
(3)
而實(shí)際的應(yīng)用中,Qi有可能會是一個奇異的矩陣,這時候就必須將Qi正則化,公式如下
Qi=Qi+rl
(4)
上式中:r代表正則化的參數(shù)值,l代表k×k的單位矩陣。
3)把每一個樣本點(diǎn)映射進(jìn)降維后的空間中,并滿足一個條件:
(5)
式中:ε(Y)代表函數(shù)值損失以后的數(shù)值;yi則是xi的輸出向量;xij(j=1,2,…,k)則是yi的k相鄰最近點(diǎn),并且要滿足以下的公式條件
(6)
式中:I代表m×m的單位矩陣。
其損失的函數(shù)可以重新寫成
(7)
式中:M代表的是N×N對稱矩陣,公式為
M=(I-W)T(I-W)
(8)
想要使損失的函數(shù)參數(shù)值最少,就需要將Y視為M最少m個非零的特征值,而相應(yīng)的特征向量在之后的處理過程,把M的特征值從小到大進(jìn)行排列,其中,將近似為零的最小特征值舍掉后,取得2~m+1之間的特征值相對的向量視為輸出結(jié)果[9]。
使用時域分割將人體骨架簡化,獲得關(guān)節(jié)深度特征信息,并通過LLE獲得降維之后的流映射,可以分成3個步驟[10]:
1)把人體骨架上的所有關(guān)鍵特征都視為映射點(diǎn)。任何一個關(guān)鍵點(diǎn)都有深度和平面的坐標(biāo),假設(shè)人體上有N的關(guān)鍵點(diǎn),Mi代表任意關(guān)鍵點(diǎn),而三維坐標(biāo)是(xi,yi,zi)。所以人體的隨意動作都可以代表為3N的向量[11]:其公式為
W=(M1,M2,…,MN)
=(x1,y1,z1,x2,y2,z2,…,xN,yN,zN)
(9)
2)收集人體動作,把所有收集的人體動作按照上文方式進(jìn)行向量轉(zhuǎn)變,建立動作向量庫。
3)將所有采集的動作都按照LLE計算方式降維,在降維后會得到一個低維動作流映射值。
在人體做出隨意性動作時,其高維動作反映向量用x表示,確定與向量庫中動作相似或者是相同時,就能夠?qū)θ梭w的動作進(jìn)行提前預(yù)判,其具體的方法如下所示:
流形的降低維度需要訓(xùn)練樣本,首先創(chuàng)建一個人體活動向量矩陣,將這個向量矩陣標(biāo)記為S。通過以上的方式,設(shè)定一個m的值,能夠使高維的向量向低維向量映射。通過映射以后的向量矩陣應(yīng)該標(biāo)記為s。
采用Kernel Ridge Regression(KKR)計算方法中的回歸功能函數(shù)
f(x)=YT(K+λIn)-1k(x)
(10)
式中:YT=s,K代表的是一個Gram矩陣,K=k(xi,xj),xi和xj兩者數(shù)S中隨意的兩個向量,In代表的是單位矩陣,λ代表的是單位矩陣系數(shù),k(x)代表x和S中全部向量的核變換向量,采用高斯核函數(shù)進(jìn)行表達(dá),其公式為
(11)
以上,能夠完成人體連續(xù)性動作向量單一降維,從并省去整體的降維過程,以達(dá)到減少數(shù)據(jù)的計算量的目的。
(12)
計算機(jī)選擇Intel Core i7 CPU3.40GHz,RAN 16 GB。實(shí)驗(yàn)在Matlab的平臺上進(jìn)行,且沒有采用其它額外的并行優(yōu)化方式。本實(shí)驗(yàn)所采用的是IXMS數(shù)據(jù)集,其中包括了50個視頻序列,任何一個序列都包含了2個人體的連續(xù)性動作。采集的關(guān)節(jié)點(diǎn)數(shù)據(jù)可以通過轉(zhuǎn)換映射到圖像坐標(biāo)系內(nèi),圖中分別為人體關(guān)節(jié)點(diǎn)在圖像平面和三維坐標(biāo)空間內(nèi)的顯示效果。
圖3 人體動作示意圖
數(shù)據(jù)以增量的方式輸入,因?yàn)閯幼黝A(yù)測所需的特征信息只能通過已有數(shù)據(jù)提取,一旦分割之后就不可能再修改與回溯,如果發(fā)生誤差性的時域分割,就很有可能導(dǎo)致接下來的動作沒有辦法正確識別與提取,甚至是不能識別。在實(shí)驗(yàn)中,其識別率公式為
(13)
表1 不同鏡頭下的人體動作識別率
依據(jù)上表能夠看出,人體動作相鄰之間的互相干擾非常明顯的,總體而言,相對于幀數(shù)的層面上,其識別率還是很高的,說明它和什么都不做或者相鄰動作之間具有很大的相關(guān)性,使分割位置很難被正確找到,相對動作幅度特別大的就很容易分割,其正確率很高。
由圖4可以看出,對于連續(xù)性的手臂動作,本文方法不僅能對人體的連續(xù)性動作進(jìn)行分割識別,還可以對增量式數(shù)據(jù)進(jìn)行處理,時域分割效果優(yōu)秀。主要原因在于本文方法將任意關(guān)節(jié)點(diǎn)都視為映射特征點(diǎn),提取人體的運(yùn)動數(shù)據(jù)特征,擴(kuò)大了人體骨架上的所有關(guān)鍵特征映射點(diǎn)包含范圍,提高了實(shí)時處理速度,使得分割結(jié)果更為快速清晰。
圖4 連續(xù)手部動作分割結(jié)果分析
在進(jìn)行動作預(yù)測的時間內(nèi),從第一幀人體框架的輸入開始,到最后一幀提取結(jié)束,在這個過程中,所采用的方法是一直沿著關(guān)鍵幀相對的視頻序列來進(jìn)行回溯,其關(guān)鍵幀對人體運(yùn)動計算的實(shí)時性有著非常大的影響,λ是關(guān)鍵幀計算中影響最大的關(guān)鍵因素,因此在λ值不相同的情況以下,其仿真對程序運(yùn)算所有序列的計算時間均值如圖5所示。
圖5 不同λ下的平均時間
根據(jù)上圖中能夠看出,隨著λ增大,其關(guān)鍵幀數(shù)目就會變小,同時相對計算時間也在縮小。在一個段有1200幀數(shù)也就是40s時間的視頻序列中,對其運(yùn)算的時間能夠保證在1.2s以下,這就可以保證在進(jìn)行人體動作的識別的HCI系統(tǒng)中其運(yùn)行的實(shí)時性,其文中將固定λ=2,因其在重復(fù)性的實(shí)驗(yàn)中,λ在這個層面進(jìn)行取值時,最為關(guān)鍵的幀數(shù)目以及其運(yùn)行的時間較為穩(wěn)定,與此同時,它也能夠確保較為適中的回溯跨度,可以提高人體動作的識別率。
獲取準(zhǔn)確的人體骨架模型可以增強(qiáng)環(huán)境抗性,提供三維數(shù)據(jù)信息,通過LLE映射下獲取預(yù)測結(jié)果與人體動作向量庫數(shù)據(jù)進(jìn)行對比,其對比結(jié)果如圖6所示。
圖6 本文方法與向量庫動作對比圖
通過上圖證明:計算獲得的預(yù)測結(jié)果與向量庫中人體動作幾乎吻合,所以本文方法能夠有效的對人體連續(xù)性動作進(jìn)行預(yù)測,錯誤率較低。主要原因在于本文方法將任意關(guān)節(jié)點(diǎn)都視為映射特征點(diǎn),建立動作數(shù)據(jù)庫更為全面,提高了連續(xù)性動作預(yù)測精度。
本文提出一種基于時域分割的人類行為連續(xù)性動作預(yù)測,通過時域分割對人體骨骼模型進(jìn)行特征提取,并利用LLE方法對人體的行為動作進(jìn)行識別,建立向量庫,當(dāng)映射結(jié)果一旦與向量庫中動作相同或者相識,即實(shí)現(xiàn)連續(xù)性動作預(yù)測。最終通過實(shí)驗(yàn)證明,本文方法時域分割效果好,實(shí)時處理速度快,可有效對人體行為動作進(jìn)行預(yù)測,且錯誤率較低。