李 麗,莊慶華
(長春工業大學人文信息學院,吉林 長春 130000)
人體行為連續性動作預測對人們工作生活有著巨大性的影響力,是醫學康復、體育健身、VR娛樂等領域的關鍵技術[1]。人體行為連續性動作預測成為研究的熱點話題。
文獻[2]基于LSTM的人體姿態檢測方法。制作了包含3336條帶有人工標注數據的人體姿態數據集,對行走、奔跑、上樓梯、下樓梯和平靜五種日常持續性行為姿態與跌倒、起立、坐下和跳躍這四個突發行為姿態進行預測分類。文獻[3]提出基于BSCPs-RF的人體關節點信息行為識別與預測方法,采用局部線性回歸與單幀關節點歸一化法預處理關節點序列,消除抖動噪聲、位移和尺度的影響,采用基于隨機森林的行為識別與預測方法,并以集成學習方法優化多分類器組合以提高識別精度。文獻[4]提出一種基于人體姿態的時空特征的行為識別方法。首先在獲取視頻中各幀圖像的人體關節位置的基礎上,在空間維度上提取每幀圖像的關節位置關系、時間維度上計算關節空間關系的變化,二者共同構成姿態時空特征描述子,利用Fisher向量模型對不同類型的特征描述子分別進行編碼,得到固定維度的Fisher向量。上述方法關鍵特征映射點包含范圍模糊,存在實時處理速度慢,且錯位率較高的問題。因此本文提出一種基于時域分割的人體行為連續性動作預測。提取人體骨架關節特征,對動作特征加以LLE映射,在此基礎上預測人體行為連續性動作。
想要獲取目標人體準確、實時數據,就必須建立相應的人體骨架模型,例如人體在三維空間行動時,肢體動作會有一個非常典型的特征弱時空相關性與非線性問題,導致該目標關節數據獲取困難,創建關節模型存在的挑戰,直接建立的模型也很難達到實驗要求,會導致接下來的預測結果出現偏差。基于視覺和檢測的人體關節位置標記方式,可有效解決特征弱時空相關性與非線性問題,為特征提取環節打下堅實的基礎。
采用幾何構建方法創建人體骨架模型。利用點數據或者是通過多邊形網絡進行提取人體關節點,構建骨骼框架。利用網絡模型可準確獲得人體行為信息,是人體的活動研究領域關鍵技術,在這其中包含了準確合理的提取骨架數據信息,以及將骨骼進行連接的關節點等。通過三維人體運功捕捉人體動作,獲得人體關節骨骼模型如圖1所示。

圖1 人體運動捕捉的框架
上圖中的人體框架包括了15個關節點,在其中的所有關節點都具有三維數據,通過時域分割確定關節點的位置信息,圍繞父節點為始點的坐標系內的x、y、z軸所轉動的度數。例如其右臂的轉動信息是圍繞著其父節點的右后臂為原點的坐標系中的x,y、z軸轉動系數,通過這種方法,可以捕捉到人體的運動數據,形成一個矩陣,在矩陣中每行對應著一幀,每列代表著一維[5]。
LLE算法是相對于非線性數據的一種全新形降維方式,在進行降維以后的數據還能夠保持初始拓撲關系,是局部優化的計算方法,其計算方式非常簡單,利用LLE把數據映射進二維空間里,就能夠得到低維數據在降維之前的鄰域特性[6]。
本文通過時域分割技術將任意關節點都視為映射特征點,完成人體的運動數據特征提取[7]。假設一個輸入向量采用LLE的計算方法,獲得輸出向量。那么LLE的計算方式分成3部分:

圖2 LLE算法示意圖
1)將所有的樣本相鄰點進行計算,再距所求樣本點最近的點視為相鄰最近點[8]。
2)將樣本點通過局部重建矩陣進行計算,假定一個誤差函數,即

(1)

想要求W矩陣,就得建立一個局部的協方差矩陣

(2)


(3)
而實際的應用中,Qi有可能會是一個奇異的矩陣,這時候就必須將Qi正則化,公式如下
Qi=Qi+rl
(4)
上式中:r代表正則化的參數值,l代表k×k的單位矩陣。
3)把每一個樣本點映射進降維后的空間中,并滿足一個條件:

(5)
式中:ε(Y)代表函數值損失以后的數值;yi則是xi的輸出向量;xij(j=1,2,…,k)則是yi的k相鄰最近點,并且要滿足以下的公式條件

(6)
式中:I代表m×m的單位矩陣。

其損失的函數可以重新寫成

(7)
式中:M代表的是N×N對稱矩陣,公式為
M=(I-W)T(I-W)
(8)
想要使損失的函數參數值最少,就需要將Y視為M最少m個非零的特征值,而相應的特征向量在之后的處理過程,把M的特征值從小到大進行排列,其中,將近似為零的最小特征值舍掉后,取得2~m+1之間的特征值相對的向量視為輸出結果[9]。
使用時域分割將人體骨架簡化,獲得關節深度特征信息,并通過LLE獲得降維之后的流映射,可以分成3個步驟[10]:
1)把人體骨架上的所有關鍵特征都視為映射點。任何一個關鍵點都有深度和平面的坐標,假設人體上有N的關鍵點,Mi代表任意關鍵點,而三維坐標是(xi,yi,zi)。所以人體的隨意動作都可以代表為3N的向量[11]:其公式為
W=(M1,M2,…,MN)
=(x1,y1,z1,x2,y2,z2,…,xN,yN,zN)
(9)
2)收集人體動作,把所有收集的人體動作按照上文方式進行向量轉變,建立動作向量庫。
3)將所有采集的動作都按照LLE計算方式降維,在降維后會得到一個低維動作流映射值。
在人體做出隨意性動作時,其高維動作反映向量用x表示,確定與向量庫中動作相似或者是相同時,就能夠對人體的動作進行提前預判,其具體的方法如下所示:
流形的降低維度需要訓練樣本,首先創建一個人體活動向量矩陣,將這個向量矩陣標記為S。通過以上的方式,設定一個m的值,能夠使高維的向量向低維向量映射。通過映射以后的向量矩陣應該標記為s。
采用Kernel Ridge Regression(KKR)計算方法中的回歸功能函數
f(x)=YT(K+λIn)-1k(x)
(10)
式中:YT=s,K代表的是一個Gram矩陣,K=k(xi,xj),xi和xj兩者數S中隨意的兩個向量,In代表的是單位矩陣,λ代表的是單位矩陣系數,k(x)代表x和S中全部向量的核變換向量,采用高斯核函數進行表達,其公式為

(11)
以上,能夠完成人體連續性動作向量單一降維,從并省去整體的降維過程,以達到減少數據的計算量的目的。


(12)

計算機選擇Intel Core i7 CPU3.40GHz,RAN 16 GB。實驗在Matlab的平臺上進行,且沒有采用其它額外的并行優化方式。本實驗所采用的是IXMS數據集,其中包括了50個視頻序列,任何一個序列都包含了2個人體的連續性動作。采集的關節點數據可以通過轉換映射到圖像坐標系內,圖中分別為人體關節點在圖像平面和三維坐標空間內的顯示效果。

圖3 人體動作示意圖
數據以增量的方式輸入,因為動作預測所需的特征信息只能通過已有數據提取,一旦分割之后就不可能再修改與回溯,如果發生誤差性的時域分割,就很有可能導致接下來的動作沒有辦法正確識別與提取,甚至是不能識別。在實驗中,其識別率公式為

(13)

表1 不同鏡頭下的人體動作識別率
依據上表能夠看出,人體動作相鄰之間的互相干擾非常明顯的,總體而言,相對于幀數的層面上,其識別率還是很高的,說明它和什么都不做或者相鄰動作之間具有很大的相關性,使分割位置很難被正確找到,相對動作幅度特別大的就很容易分割,其正確率很高。
由圖4可以看出,對于連續性的手臂動作,本文方法不僅能對人體的連續性動作進行分割識別,還可以對增量式數據進行處理,時域分割效果優秀。主要原因在于本文方法將任意關節點都視為映射特征點,提取人體的運動數據特征,擴大了人體骨架上的所有關鍵特征映射點包含范圍,提高了實時處理速度,使得分割結果更為快速清晰。

圖4 連續手部動作分割結果分析
在進行動作預測的時間內,從第一幀人體框架的輸入開始,到最后一幀提取結束,在這個過程中,所采用的方法是一直沿著關鍵幀相對的視頻序列來進行回溯,其關鍵幀對人體運動計算的實時性有著非常大的影響,λ是關鍵幀計算中影響最大的關鍵因素,因此在λ值不相同的情況以下,其仿真對程序運算所有序列的計算時間均值如圖5所示。

圖5 不同λ下的平均時間
根據上圖中能夠看出,隨著λ增大,其關鍵幀數目就會變小,同時相對計算時間也在縮小。在一個段有1200幀數也就是40s時間的視頻序列中,對其運算的時間能夠保證在1.2s以下,這就可以保證在進行人體動作的識別的HCI系統中其運行的實時性,其文中將固定λ=2,因其在重復性的實驗中,λ在這個層面進行取值時,最為關鍵的幀數目以及其運行的時間較為穩定,與此同時,它也能夠確保較為適中的回溯跨度,可以提高人體動作的識別率。
獲取準確的人體骨架模型可以增強環境抗性,提供三維數據信息,通過LLE映射下獲取預測結果與人體動作向量庫數據進行對比,其對比結果如圖6所示。

圖6 本文方法與向量庫動作對比圖
通過上圖證明:計算獲得的預測結果與向量庫中人體動作幾乎吻合,所以本文方法能夠有效的對人體連續性動作進行預測,錯誤率較低。主要原因在于本文方法將任意關節點都視為映射特征點,建立動作數據庫更為全面,提高了連續性動作預測精度。
本文提出一種基于時域分割的人類行為連續性動作預測,通過時域分割對人體骨骼模型進行特征提取,并利用LLE方法對人體的行為動作進行識別,建立向量庫,當映射結果一旦與向量庫中動作相同或者相識,即實現連續性動作預測。最終通過實驗證明,本文方法時域分割效果好,實時處理速度快,可有效對人體行為動作進行預測,且錯誤率較低。