于燕山,郭鵬
(1.西安工程大學 體育部,陜西 西安 710048;2.滄州交通學院 通識教育學院,河北 滄州 061199)
視頻內(nèi)容中人物活動分析在人機交互、虛擬現(xiàn)實、視頻檢索以及內(nèi)容識別等方面應(yīng)用廣泛,引起學術(shù)界的廣泛關(guān)注[1]。唐超等[2]提出基于多視圖半監(jiān)督學習的人體行為識別方法,提出3種模態(tài)視圖數(shù)據(jù)表征人體動作,使用多視圖半監(jiān)督學習框架建模,利用不同視圖提供的互補信息確保少量標記和大量未標記數(shù)據(jù)半監(jiān)督學習取得更好的分類精度,實現(xiàn)人體行為識別。李梁華等[3]提出高效3D密集殘差網(wǎng)絡(luò)及其在人體行為識別中的應(yīng)用。設(shè)計了高效 3D卷積塊替換原來計算量大的 3×3×3卷積層用于人體行為識別。高效 3D卷積塊由獲取視頻空間特征的 1×3×3卷積層和獲取視頻時間特征的3×1×1卷積層組合而成。將高效 3D卷積塊組合在密集殘差網(wǎng)絡(luò)的多個位置中,完成人體行為的識別。
當前常用的人體行為識別方法受到復(fù)雜背景、可變光照及視角變化等影響,無法準確識別人體運動軌跡。為此,提出基于改進坐標轉(zhuǎn)換的人體運動軌跡識別方法,通過研究關(guān)節(jié)活動幅度軌跡對人體運動軌跡進行深入分析。
本節(jié)對視頻中人體運動區(qū)域進行分割,為后續(xù)處理提供基礎(chǔ),降低整體計算量[4]。區(qū)域分割通過背景提取與差分二級化實現(xiàn)。
通過背景消除法對人體運動軌跡區(qū)域進行分割時,需從圖像序列中恢復(fù)背景圖像[5],假設(shè){Om,m=1,2,…,M}為含M幀圖像的視頻,那么背景圖像G獲取式為式(1)。
G=γ1Om+γ2G′
(1)
式中,γ1+γ2=1,在初始化時G′=O1。
為了將前景人體運動區(qū)域從背景中分割出來,完成差分處理,需通過式(2)。
(2)
式中,0≤F(u,v)<1;0≤u(x,y);v(x,y)≤255;u(x,y)與v(x,y)依次用于描述當前圖像與背景圖像在像素(x,y)處的亮度值。針對人體運動圖像O(x,y),利用二值化提取函數(shù)得到圖像中改變的像素,得到前景圖像G′,實現(xiàn)人體運動區(qū)域分割。
為了最大程度地降低人體運動中個體間的差異,需把人體運動空間描述轉(zhuǎn)換至人體運動關(guān)節(jié)點空間坐標系,構(gòu)造符合人體運動的交互動作特性[6-7]。本節(jié)將人體右手方向看作X軸正方向,頭部正上方看作Y軸正方向,面向正前方當成Z軸正方向,兩肩中心當成坐標原點。
在進行人體運動關(guān)節(jié)活動幅度軌跡識別的過程中,身體正方向不一定和拍攝設(shè)備平面垂直,需對得到的人體關(guān)節(jié)節(jié)點數(shù)據(jù)進行轉(zhuǎn)換[8-9],構(gòu)造關(guān)節(jié)節(jié)點坐標系,空間坐標系轉(zhuǎn)換示意圖如圖1所示。
(a)人體運動空間坐標系
圖1(a)所示的是運動空間坐標系,O′代表坐標系O′X′Y′Z′的原點。圖1(b)所示的是拍攝設(shè)備空間坐標系下人體繞Y軸旋轉(zhuǎn)的俯視圖,其中P(x1,z1)用于描述設(shè)備空間坐標系中左肩映射坐標點;Q(xq,zq)代表右肩映射坐標點;φ(-45°<φ<45°)用于描述針對設(shè)備XOY平面的旋轉(zhuǎn)角度[10]。
因為得到的關(guān)節(jié)點數(shù)據(jù)為鏡面對稱數(shù)據(jù),所以設(shè)備空間坐標系下坐標點S(x,y,z)和人體空間坐標系O′X′Y′Z′下坐標點S(x′,y′,z′)間的轉(zhuǎn)換關(guān)系如式(3)
(3)
式中,O′(x0,y0,z0)為人體空間坐標系;O′XY′Z′為原點坐標;φ為相對于XOY平面的旋轉(zhuǎn)角度,φ=arctan((xq-xp)/(zq-zp)),其中xq>xp。
通常情況下,可將人體看作局部剛性不變的鏈式結(jié)構(gòu),其包括很多關(guān)節(jié)點,而關(guān)節(jié)活動幅度的改變體現(xiàn)了人體活動的改變過程,為人體動作的分析提供有效依據(jù)[11]。從影像采集設(shè)備獲取的深度圖像中有20個節(jié)點的三維空間坐標[12],如圖2所示。
圖2 關(guān)節(jié)點位置示意圖
20個關(guān)節(jié)點在圖2中詳細標識,這些關(guān)節(jié)點空間坐標構(gòu)成關(guān)節(jié)活動幅度軌跡,從而利用關(guān)節(jié)活動幅度軌跡描述人體動作A,也就是A=[V1,V2,…,Vi,…,VN]。其中,Vi為關(guān)節(jié)點i的運動軌跡;N為關(guān)節(jié)點數(shù)量。
關(guān)節(jié)活動幅度軌跡為該關(guān)節(jié)不同時刻位置向量組成的序列,不同動作關(guān)節(jié)活動幅度軌跡長度不同,所以把軌跡有重疊地分割成相同長度的軌跡片段[13-14]。假設(shè)關(guān)節(jié)點i在t時刻的位置為式(4)。
pi(t)=(xi(t),yi(t),zi(t))
(4)
將t時刻作為起點,長度是L的軌跡為式(5)。
Vi=(pi(t),pi(t+1),…,pi(t+L-1))
(5)
為了描述關(guān)節(jié)i的局部運動模式,求出關(guān)節(jié)i在相鄰時刻的位移向量,也就是(Δpi(t),Δpi(t+1),…,Δpi(t+L-1)),其中Δpi(t)=pi(t+1)-pi(t)。
下面通過歸一化位移向量序列[15]標識關(guān)節(jié)活動幅度軌跡為式(6)。
(6)
Fisher向量有很好的分類結(jié)果,本節(jié)將其作為特征,為人體運動關(guān)節(jié)活動幅度軌跡識別提供依據(jù)[16-17]。
通過高斯混合模型對運動關(guān)節(jié)活動幅度軌跡進行建模,用J={xj,1≤j≤n}描述訓練集合中關(guān)節(jié)i的活動幅度軌跡集合,其可通過含c各成分的高斯混合模型獲取,如式(7)。
(7)
式中,φ={λc,εc,σc},c=1,2,…,C;λc代表高斯成分系數(shù);εc代表最小圍距;σc代表邊緣區(qū)間關(guān)節(jié)點個數(shù)。
Fisher向量主要包括2部分,如式(8)、式(9)。
(8)
(9)
人體關(guān)節(jié)活動幅度軌跡識別選用DTW方法[18],其可有效實現(xiàn)對不同關(guān)節(jié)活動幅度軌跡長度模板的匹配。
假設(shè)參考模板為B={B(Ψ1),B(Ψ2),…,B(ΨM)},測試模板為U={U(Ψ1),U(Ψ2),…,U(ΨN)},其中B(Ψm)與U(Ψn)代表其內(nèi)部特征矢量。用r[U(Ψni),B(Ψmi)]描述特征矢量U(Ψni)與B(Ψmi)獲取的失真量,R[U(Ψni),B(Ψmi)]可從U(Ψ1)與B(Ψ1)開始計算,經(jīng)若干關(guān)節(jié)點對,直至U(Ψni)與B(Ψmi)的累積失真量,也就是式(10)。
(10)
可以看出R[U(Ψni),B(Ψmi)]相當于求解一條連接不同特征關(guān)節(jié)點對的軌跡累積失真量。
為了減少計算量,給出迭代過程如式(11)—式(13)。
R[U(Ψni),B(Ψmi)]=r[U(Ψni),B(Ψmi)]+
R[U(Ψni-1),B(Ψmi-1)]
(11)
(12)
R[U(Ψni-1),B(Ψmi-1)]=min(R[U(Ψni-1),
B(Ψmi)],R[U(Ψni-1),B(Ψmi-1)],
R[U(Ψni-1),B(Ψmi-2)])
(13)
在上述迭代的基礎(chǔ)上,從U(Ψ1)與B(Ψ1)開始反復(fù)遞歸至U(ΨN)與B(ΨM),從而獲取參考模板與測試模板間的最小累積失真量。把測試模板和全部參考模板匹配,將測試模板歸類于全部累積失真量最小的一類。完整算法流程圖如圖3所示。
圖3 算法流程圖
本節(jié)依據(jù)實驗數(shù)據(jù)庫,將基于光流關(guān)鍵點多尺度軌跡的人體動作識別(文獻[6])、基于深度圖像的人體運動姿態(tài)跟蹤和識別算法(文獻[7])作為實驗對照組,驗證本文提出的人體動作軌跡識別方法的有效性。實驗系統(tǒng)建立在32G內(nèi)存的3.20GHz的PC機上,采用MATLAB 9.0進行仿真實驗,并通過OpenPose人體姿態(tài)識別軟件生成人體關(guān)節(jié)點,關(guān)節(jié)識別示例如圖4所示。
圖4 OpenPose人體關(guān)節(jié)識別示例
實驗數(shù)據(jù)庫源于MPII人姿數(shù)據(jù)庫(http://human-pose.mpi-inf.mpg.de/),數(shù)據(jù)庫中包含410種人類活動視頻,背景含攝像機抖動,背景、尺度和光照條件存在差異。數(shù)據(jù)集示意圖如圖5所示。
圖5 數(shù)據(jù)庫圖像示意圖
針對數(shù)據(jù)庫圖像,進行Fisher向量提取,發(fā)現(xiàn)大部分人體運動動作Fisher向量符合趨勢如圖6所示。
圖6 人體運動動作Fisher向量
依據(jù)人體運動動作Fisher向量,通過DTW方法匹配,對走、跑、跳3種典型動作關(guān)節(jié)活動幅度識別,得到的軌跡變化情況,如圖7所示。
觀察圖7可知,將所提方法軌跡識別結(jié)果與實際結(jié)果相比,所提方法識別的人體動作和實際動作趨勢基本吻合,沒有明顯差異,說明所提方法識別結(jié)果有效。
為了進一步驗證所提方法能否有效識別人體運動軌跡,將文獻[6]方法和文獻[7]方法作為對比進行測試,驗證所提方法的識別有效性。采用所提方法、文獻[6]方法和文獻[7]方法識別實驗數(shù)據(jù)庫中隨機選取的200段未分割的視頻中人體運動軌跡。通過仿真平臺判定,以可以準確識別為判斷標準,識別率越高,識別效果越好,識別率計算公式為式(14)。
(14)
式中,tα表示準確識別視頻數(shù)量;Tβ表示識別視頻總數(shù)量。實驗結(jié)果如表1所示。
由表1數(shù)據(jù)可知,在運動軌跡識別過程中,所提方法識別率均高于95%,而對照組方法的識別率均低于92%。因為所提方法依據(jù)人體關(guān)節(jié)活為該關(guān)節(jié)不同時刻位置向量組成序列,將軌跡有重疊地分割成相同長度的軌跡片段。通過高斯混合模型對運動關(guān)節(jié)活動幅度軌跡進行建模,提高了人體運動軌跡識別率。
(a)走步動作
表1 不同方法軌跡識別率
為進一步驗證所提方法的識別速度,基于上述實驗環(huán)境,識別200段數(shù)據(jù)庫中的人體運動軌跡,對比3種方法的識別時間,實驗結(jié)果如圖8所示。
圖8 不同方法軌跡識別時間
由圖8可知,在相同樣本數(shù)量下,所提方法識別時間低于30 s,而對照組方法的識別時間則高于35 s。綜合分析上述實驗結(jié)果可以看出,采用所提方法對人體運動軌跡進行識別,識別結(jié)果可靠,準確性明顯高于其它方法,識別效率較高,為人體運動軌跡識別提供有效的科學依據(jù)。
為了為人體運動識別提供可靠依據(jù),提出一種基于改進坐標轉(zhuǎn)換的人體運動軌跡識別方法。
(1)通過背景提取與差分二級化實現(xiàn)人體運動區(qū)域分割,為后續(xù)處理提供基礎(chǔ),降低整體計算量。
(2)把人體運動空間描述轉(zhuǎn)換至人體運動關(guān)節(jié)點空間坐標系,構(gòu)造符合人體運動的交互動作特性。將人體右手方向看作X軸正方向,頭部正上方看作Y軸正方向,面向正前方當成Z軸正方向,兩肩中心當成坐標原點。對得到的人體關(guān)節(jié)節(jié)點數(shù)據(jù)進行轉(zhuǎn)換,構(gòu)造關(guān)節(jié)節(jié)點坐標系。
(3)從影像采集設(shè)備獲取的深度圖像中有20個節(jié)點的三維空間坐標,通過歸一化位移向量序列標識關(guān)節(jié)活動幅度軌跡。
(4)人體關(guān)節(jié)活動幅度軌跡識別選用DTW方法,獲取參考模板與測試模板間的最小累積失真量,把測試模板和全部參考模板匹配,將測試模板歸類于全部累積失真量最小的一類中,實現(xiàn)對不同關(guān)節(jié)活動幅度軌跡長度模板的匹配。
(5)實驗結(jié)果表明,所提方法識別的人體運動軌跡和實際軌跡間趨勢趨近相似,說明所提方法識別結(jié)果有效。
綜上可知,采用所提方法對人體運動軌跡進行識別,識別結(jié)果可靠,準確性高,有較強的可行性,能夠為人體運動識別提供有效的科學依據(jù)。