賀 莉,李慧萌,孫建剛,黃云逸
(皖西學院 體育學院,安徽 六安 237012)
運動動作識別是計算機視覺領(lǐng)域的一個研究熱點,在視覺監(jiān)控、內(nèi)容分析、輔助醫(yī)療、智能人機交互等領(lǐng)域被廣泛地應(yīng)用。其中,健美操領(lǐng)域也應(yīng)用人體動作的識別方法以提升健美操動作的標準程度,但識別中容易受到場景的變化、光照的變化、視角的不同等因素的影響,導(dǎo)致健美操困難的動作識別效果不佳。針對此問題,相關(guān)研究者進行了很多研究。
陸付祥等人研究了基于特征提取的健美操分解動作圖像自適應(yīng)識別方法[1]。該方法采用背景小剪法對人體目標提取,構(gòu)建人體輪廓的二值圖像序列,并采用相似性檢測方法對健美操圖像進行分解與匹配,實現(xiàn)對健美操動作的識別。但該方法在健美操難度動作的細節(jié)識別上考慮較少,存在一定的局限。羅會蘭等人研究了基于深度學習的視頻中人體動作識別方法[2]。該方法將圖像和光流場作為空域和時域的輸入,采用決策融合策略進行動作識別。將此方法應(yīng)用到健美操難度動作識別中,可提升動作識別的精度,但識別的時間開銷較大,仍然需要進一步的改進。
針對上述方法,本文提出一種基于圖卷積神經(jīng)網(wǎng)絡(luò)的健美操難度動作識別方法。圖卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),人工神經(jīng)元在其覆蓋區(qū)域內(nèi)的部分周圍單元會產(chǎn)生響應(yīng),將紋理、顏色等特征輸入到隨機森林等分類器中,再利用神經(jīng)網(wǎng)絡(luò)進行分類,完成目標特征提取,基于該網(wǎng)絡(luò)的這個優(yōu)點,將其應(yīng)用到健美操難度動作識別中,提升了健美操難度動作的識別效果。
健美操動作視頻圖像識別之前,首先需要采集健美操動作視頻圖像。采用專業(yè)防抖動相機拍攝健美操動作,然后將得到的健美操動作圖像通過圖像傳感器采集健美操動作圖像的信息。通過BF609的EPPI1口傳感器對視頻圖像進行處理。將部分健美操運動圖像傳至圖像獲取系統(tǒng)的緩沖區(qū),另一部分傳至預(yù)處理模塊中,將視頻圖像進行流水線的處理。通過BF609的EPPI1口完成健美操視頻圖像的采集傳輸,如圖1所示。
圖1 健美操視頻圖像采集框圖
在本次健美操圖像采集中OV9650芯片作為采集系統(tǒng)的關(guān)鍵,該芯片像素較高,獲取的圖像像素較高。SIO-B和SIO-C共同構(gòu)成時鐘傳輸信號,傳輸時與TWIO接口相連,通過TWIO的控制健美操視頻圖像的輸出格式,為后續(xù)的健美操動作識別奠定基礎(chǔ)。
在上述采集的健美操視頻圖像基礎(chǔ)上,為實現(xiàn)健美操難度動作的識別,首先需要對健美操動作視頻圖像進行分析。該視頻中包含了許多健美操動作,且動作長短不一,相同的動作也會存在差異。因此,需要將健美操視頻劃分成幾幅圖像。采用能量金字塔法對劃分后的動作圖像進行預(yù)處理。在此過程中,構(gòu)造動作圖像的多層金字塔結(jié)構(gòu)[3],求得時間金字塔能量直方圖,然后求解每層的金字塔,計算公式表示為:
(1)
通過上述處理方法能夠?qū)⒔∶啦賵D像序列存儲到金字塔各個層次中,在此基礎(chǔ)上,采用幀間差分法,消除圖像的背景。幀間差分法的具體算法是將兩幀圖像[4]進行灰度變換后相減,以得到每個像素點之間的差值,計算公式如下:
(2)
公式(2)中,1對應(yīng)計算過程中所有變化的像素點,0代表檢測過程中沒有出現(xiàn)變化的像素點,fk-1(x,y)、fk(x,y)均代表檢測圖像,T代表閾值。
通過上述過程將健美操視頻劃分,將其劃分為圖像,并對圖像做了背景消除處理,為健美操難度動作識別提供了基礎(chǔ)。
在對上述健美操動作視頻圖像預(yù)處理的基礎(chǔ)上,對健美操難度動作圖像視覺誤差校正,具體過程如下:
Step 1:設(shè)定灰度共生矩陣分析健美操動作圖像紋理[5],對圖像像素空間分布狀態(tài)進行描述,得到:
f(x,y)=fij(x+a,y+b)
(3)
公式(3)中,fij分別為i,j像素臨接狀態(tài),a代表x方向的長度,b代表y方向的長度。
Step 2:估計健美操圖像局部區(qū)域模糊核,在上述處理后,將動作圖像像素強度與梯度作為模糊核的先驗知識,以求解出整個動作圖像的復(fù)原程度,計算公式表示為:
P(x)=σPt(x)+Pt(?x)
(4)
公式(4)中,Pt(x)代表非零值像素的個數(shù),Pt(?x)代表像素的梯度值,P(x)代表先驗知識,σ為加權(quán)系數(shù)。
Step 3:動作圖像視覺誤差校正。視覺圖像和原始健美操圖像之間存在一定的誤差,需要對此做進一步處理,即:
(5)
在此基礎(chǔ)上,進行最優(yōu)估計,將表達式表示為:
(6)
公式(6)中,gb為差值算子,E代表圖像誤差。
通過上述過程對健美操動作圖像的誤差校正,為健美操難度動作識別提供了基礎(chǔ)。
圖卷積神經(jīng)網(wǎng)絡(luò)模型主要包含兩個部分,第一部分為卷積運算,第二部分為池化操作[6],具體過程如下所示:
卷積層作為網(wǎng)絡(luò)核心部分,主要是對健美操難度動作特征圖進行卷積計算,以獲得更為抽象的圖像特征。該方法通過在該層內(nèi)對前一層輸入數(shù)據(jù)進行卷積計算,得到不同的輸出特征圖,其計算公式表示為:
(7)
公式(7)中,xm+i,n+j代表點m+i,n+j的圖像像素值,wij代表卷積核尺寸在點(i,j)上的權(quán)重值,b代表該層的偏置大小,f代表網(wǎng)絡(luò)激活函數(shù),Q、P分別代表圖像分辨率大小參數(shù)。
池化層:該層主要減少特征圖的分辨率[7],加速健美操難度動作識別的速度,池化操作過程如下:
(8)
公式(8)中,xm×S1+i,n×S2+j代表輸入數(shù)據(jù)在點m×S1+i,n×S2+j上的像素值,ymn代表池化操作后的輸出值。
為了使網(wǎng)絡(luò)中權(quán)重與偏置等參數(shù)能夠達到最佳擬合狀態(tài),還需要構(gòu)建一個多層次的計算模型[8],計算公式如下:
(9)
公式(9)中,X為輸入向量,wi、xi分別代表第i個數(shù)據(jù)的偏置參數(shù),b代表激活函數(shù)。
然后,將多個連續(xù)幀在卷積層中疊加起來,多個連續(xù)幀依次通過卷積層生成上一層的多個相鄰連續(xù)幀串序列:
(10)
公式(10)中,bij代表第i層第j個特征圖的偏差,m代表特征圖的個數(shù),K代表空間維度大小參數(shù),p代表卷積核權(quán)重。
通過上述過程對網(wǎng)絡(luò)預(yù)訓練,使網(wǎng)絡(luò)中的神經(jīng)單元連接,進而可以直接輸入圖像,便于圖像數(shù)據(jù)的處理。
原始骨架數(shù)據(jù)為列幀,每幀都包含一組人體關(guān)節(jié)坐標,為了準確地對健美操難度動作進行識別,構(gòu)建人體有向時空骨架圖[9]。根據(jù)關(guān)節(jié)的2D或者3D坐標提取骨骼信息構(gòu)建自適應(yīng)有向無環(huán)圖,以3D骨架數(shù)據(jù)為例,將原始數(shù)據(jù)的關(guān)節(jié)坐標記作(x,y,z),給定一個骨骼,原關(guān)節(jié)為vs=(xs,ys,zs),目標關(guān)節(jié)表示為v′s=(x′s,y′s,z′s),則將骨骼的向量表示為:
Evs,v′s=(xs-x′s,ys-y′s,zs-z′s)
(11)
傳統(tǒng)的骨架數(shù)據(jù)建模方法忽略關(guān)節(jié)和骨骼之間的運動學依賴性,此次研究中,將人體骨骼表示為有向無環(huán)圖[10]。將關(guān)節(jié)的點作為頂點,將骨骼作為邊,每個骨骼邊的方向由關(guān)節(jié)點與根結(jié)點之間的關(guān)系確定。
通過上述過程將骨架結(jié)構(gòu)表示為有向圖,為提取圖中信息提供了基礎(chǔ)。
利用有向圖神經(jīng)網(wǎng)絡(luò)構(gòu)造有向圖,該神經(jīng)網(wǎng)絡(luò)由多個圖層組成,每一層之間都填充了帶有頂點和骨屬性的圖形[11],能夠在相鄰的關(guān)節(jié)和骨骼中傳播信息,并且能夠在各層之間更新它們的關(guān)聯(lián)信息,輸出屬性更新的圖形[12]。在每一層中,根據(jù)相鄰的邊和頂點來更新屬性,在每一層中,頂點和邊都能收到來自相鄰邊或頂點的屬性信息。在人體骨架有向圖中,包含hv、he兩個聚合函數(shù),該聚合函數(shù)主要用于頂點的多個傳入與傳出邊屬性的表達,由于根節(jié)點中存在較多向心點和離心點,即存在多個輸入、輸出邊以及多源、目標關(guān)節(jié)點的情況,為此根據(jù)根節(jié)點的輸入與輸出邊建立信息的傳播公式,計算公式表示為:
為自適應(yīng)學習人體骨架之間的協(xié)同關(guān)系[13],將αk通過兩層全連接層學習表示,第一次采用非線性函數(shù)激活,第二層為softmax層,利用其學習根節(jié)點與向心點之間的相關(guān)度。如果一個動作中同時出現(xiàn)共現(xiàn)根節(jié)點與無共現(xiàn)相關(guān)節(jié)點,則對這兩個動作之間的相關(guān)節(jié)點計算。將節(jié)點群有向矩陣Av與共相關(guān)度矩陣Ar分別表示為:
節(jié)點有向矩陣Av中共有三行,第一行為向心節(jié)點群,其中,0代表無連接,1代表源關(guān)節(jié)點;第二行為根節(jié)點,第三行代表離心節(jié)點群,1代表目標節(jié)點,0代表無連接。
共相關(guān)度矩陣Ar中,第一行代表向心點與根節(jié)點之間的共現(xiàn)相關(guān)度,第二行代表根節(jié)點自身的共現(xiàn)相關(guān)度,第三行代表根節(jié)點與離心點之間的共現(xiàn)相關(guān)度。αi1、αi4、αi5分別代表自適應(yīng)更新參數(shù)。
通過上述過程完成對人體有向時空圖的表示,能夠保證有向圖網(wǎng)絡(luò)節(jié)點和邊的動作信息的自適應(yīng)更新。
在上述處理后,對骨架序列時域上的運動變化信息建模,許多非線性動態(tài)模型都能夠解決這個問題,此次研究中采用遞歸神經(jīng)網(wǎng)絡(luò)進行解決。將運動變化模型表示為:
i=σ(Whiht-1+wci⊙ct-1+bi)
f=σ(Whfht-1+wcf⊙ct-1+bf)
ct=ft⊙ct-1+it⊙tanh(Whcht-1+bc)
ot=σ(Whoht-1+wco⊙ct+bo)
ht=o⊙tanh(ct)
(16)
上述公式中,⊙代表哈達瑪積,i,f,ct,ot,ht分別代表狀態(tài)更新向量,bi,bf,bc,bc分別代表偏置向量,ct代表中間狀態(tài)向量,wci,wcf,Wzc,Who分別代表權(quán)重矩陣。
由于健美操動作是由不同身體部位協(xié)作完成的,為此,在健美操難度動作識別過程中,對動作單元預(yù)先檢測十分有必要,其可降低不相關(guān)部位的干擾[14]。為了準確檢測到動作單元,設(shè)計動作關(guān)注層作為新的神經(jīng)網(wǎng)絡(luò)層,目的是對不同類別動作骨架關(guān)節(jié)自適應(yīng)進行加權(quán)處理。用一個投影矩陣描述每個節(jié)點的特征,但是考慮到動作不同,期望投影矩陣隨著輸入Z的不同而動態(tài)變化,即形式化變化表示為:
(17)
其中,Wij代表第i個動作對j個動作識別的重要性,該值越大,說明這個關(guān)節(jié)對動作識別越重要。為了對其動態(tài)屬性描述,定義動態(tài)函數(shù):
(18)
公式(18)中,wik代表動態(tài)函數(shù)輸入特征,wij代表第i個指標在動作j上的元素向量。
基于上述過程對健美操動作時序動態(tài)建模,得到每個節(jié)點的特征。
根據(jù)上述分析,對人體骨架拓撲結(jié)構(gòu)圖進行參數(shù)化處理,將其嵌入到網(wǎng)絡(luò)中,目的是方便與模型共同學習和更新。將多種不同骨架圖結(jié)合在一起,使人體骨架圖的拓撲結(jié)構(gòu)具有適應(yīng)性,如下述公式:
(19)
第一部分AK,構(gòu)建有向鄰接矩陣,將其作為人體骨架的自然鉸接式物理結(jié)構(gòu);
第二部分BK,為每個骨架節(jié)點的共同協(xié)同表示,為確定兩個頂點之間的相似度[15],需要實時更新邊和目標節(jié)點的信息,將該過程表示為:
(20)
(21)
第四部分DK,該矩陣通過學習時序差異有向圖,對節(jié)點與關(guān)節(jié)點連接邊信息更新,將公式表示為:
(22)
最后,在健美操難度動作識別上,采用softamx函數(shù)對網(wǎng)絡(luò)輸出歸一化處理,將公式表示為:
(23)
公式(23)中,C代表動作的類別數(shù),eoi代表輸出網(wǎng)絡(luò)。
通過上述過程,將不同樣本的特征圖池化為相同大小,輸出并發(fā)送到分類器中,實現(xiàn)健美操難度動作的識別。
此次實驗在兩個場景下進行,第一部分實驗在固定背景下拍攝健美操動作;第二部分在實際場景下拍攝,其中含有光照信息、部分遮擋、攝像頭移動等情況。分別從拍攝的視頻中選擇100張圖像,共進行十次實驗,每次實驗對10幅圖像進行識別,取其平均數(shù)。對比兩個場景下所提方法、基于特征提取的識別方法與基于深度學習的識別方法的識別效果。
三種方法在簡單背景下的動作識別時間對比結(jié)果如圖2所示。
圖2 簡單背景下動作識別時間對比
分析圖2能夠發(fā)現(xiàn),所研究的方法在動作識別上花費的時間較少,少于其他兩種方法。
表1 簡單背景下動作識別錯誤次數(shù)對比
對比在簡單背景下三種方法的動作識別錯誤次數(shù),如表1所示。分析表1中數(shù)據(jù)能夠發(fā)現(xiàn),在簡單背景下,所研究的基于圖卷積神經(jīng)網(wǎng)絡(luò)的健美操難度動作識別方法沒有出現(xiàn)錯誤識別情況,基于特征提取的識別方法和基于深度學習的識別方法均發(fā)生不同次數(shù)的錯誤識別情況,相比之下所研究的識別方法識別效果較好。
所提出的健美操難度動作識別方法與其他兩種方法在復(fù)雜背景下的動作識別時間對比結(jié)果如圖3。分析圖3能夠發(fā)現(xiàn),所提出的健美操難度動作識別方法花費時間最少,其他兩種方法花費的識別時間較多,明顯多于簡單背景下的動作識別時間,識別效率較差。
圖3 復(fù)雜背景下動作識別時間對比
分析表2中數(shù)據(jù)可知,在復(fù)雜背景下,三種動作識別方法的識別錯誤次數(shù)明顯多于簡單背景下的錯誤識別次數(shù),但所研究的動作識別方法發(fā)生錯誤識別的情況較少。而基于特征提取的識別方法、基于深度學習的識別方法識別錯誤次數(shù)增加較多,識別效果較差。
表2 復(fù)雜背景下動作識別錯誤次數(shù)對比
綜上,所研究的健美操難度動作識別方法在簡單背景下與復(fù)雜背景下錯誤識別的次數(shù)較少,并且花費的時間不多,較其他兩種方法的應(yīng)用效果好。原因是此次研究的健美操難度動作識別方法對健美操圖像進行了預(yù)處理,并采用圖卷積神經(jīng)網(wǎng)絡(luò)對動作做了多步識別,從而提高了健美操難度動作的識別效果。
為提升健美操難度動作識別的效果,提出基于圖卷積神經(jīng)網(wǎng)絡(luò)的健身操難度動作識別方法。通過對健美操難度動作的預(yù)處理,并進行樣本的訓練等,完成健身操難度動作識別。實驗結(jié)果表明:所研究的方法在簡單與復(fù)雜的背景下都能夠準確識別出健美操動作,且花費的時間較少,可有效提升健美操難度動作的識別。