張懿揚,陳 志*,岳文靜,張怡靜
(1.南京郵電大學 計算機學院,江蘇 南京 210023; 2.南京郵電大學 通信與信息工程學院,江蘇 南京 210023; 3.南京郵電大學 物聯網學院,江蘇 南京 210023)
在進行人物姿態分類時,一般認為人的行為具有多種模式,在群體人物行為中表現為三個或者更多相互作用、相互影響、有共同目標的人物組成的群體的相對運動現象[1],具體到競技比賽中表現為運動者做出一些具有典型特點的競技運動行為。通過對運動特征的分析與處理來提出可行性建議,可以提高運動質量,優化人們生活品質,提升體育競技水平[2]。當前已開始使用深度學習等算法進行研究實驗,形成了基于人工特征提取[3]的傳統方法和基于深度學習[4]的方法。
在Microsoft Kinect、OpenPose等人體姿態檢測系統中,人體關鍵點的運動軌跡為動作的描述提供了較好的表征,基于骨架關鍵點的模型通常能傳達出重要的特征信息。以連續的視頻幀中檢測到的人體骨架關鍵點序列為輸入,能夠輸出在視頻中發生的人物動作類別。在早期使用骨骼進行人物動作識別時,僅僅利用單個時間步長的關鍵點坐標形成的特征向量,對其進行時間分析,并沒有顯式地利用關鍵點之間的空間聯系。
在近期的研究中,利用關鍵點間自然聯系的方法已經被開發出來[5],其效果較早期方法有著長足的進步,證明了連接的重要性。目前多數方法仍需要用手工制作的規則及部件來分析空間模式[6],這導致應用程序的設計模型很難泛化使用。
Yan S考慮到骨架的結構特征,提出了新的動態骨架模型:ST-GCN[7](時空圖卷積網絡)。因為其以圖結構而非網絡形式呈現,給卷積網絡模型的使用造成困難。近來發現可以對任意圖結構進行卷積的GCN(圖卷積網絡)有了快速的發展,不同于傳統的基于圖像的CNN(卷積神經網絡),GCN可以基于任意拓撲結構進行卷積,因此可以基于人體姿態估計構造拓撲的人體結構,對人體結構進行運動學分析,最后以時序的人體結構進行CNN卷積,基于卷積的結果進行人體運動姿態分類。
盡管人體運動姿態分類任務有了新方向,在進行卷積網絡模型訓練時常常會出現特征冗余的問題。在卷積網絡訓練的過程中,關鍵點檢測是檢測人體的不同部分,并不是人體各個部分的特征都集中在最后一層特征圖上,不同部分的特征可能會分布到不同尺度的特征圖上,如果只是通過最后一層的特征圖來進行關鍵點檢測,會得到比較差的結果。Feichtenhofer等[8]在分類器級融合[9]的基礎上提出了時間與空間特征融合算法,通過在Softmax層和卷積層之后的ReLU層進行操作以實現特征級的融合,有效避免特征冗余的問題,增強模型的魯棒性。
考慮到要處理視頻時需要分別進行空間部分與時序部分的網絡訓練,引入ST-GCN(spatial temporal graph convolutional networks)模型,即,該模型是結合圖卷積網絡和時間卷積網絡進行的基于骨骼點的動作識別分類模型。
首先,為得到骨骼的數據,先使用OpenPose對視頻進行預處理。該步驟將人體關節連接成骨骼,從而進行姿態估計。ST-GCN模型只需要關注其輸出,由一系列的輸入幀的身體關節序列構造時空圖,時空圖中將人體的關節作為圖節點,將人體結構和時間上的連通性對應的兩類邊組成圖的邊。因此,ST-GCN將圖節點的聯合坐標向量作為輸入,再對數據進行多層時空圖卷積操作,從而形成更高級別的特征圖。最后由SoftMax分類器分類到相應的動作類別。
在描述特征時需要表達多層骨骼序列從而盡可能保留原有的信息,ST-GCN使用時空卷積圖來描述,能夠很好地做到這一點。該模型使用每一幀每一個人體骨骼的坐標表示骨架關鍵點序列,基于此構建一個時空圖,其中人體的關節關鍵點為圖的節點V,以骨架自然連接方式構建空間圖,得到空間邊集Esp;身體結構的連通性和時間上的連通性為圖的時序邊集Et。由以上節點集與空間邊集可構成訓練時所需要的時空特征圖。
在該模型中使用的卷積公式為:
aggre(x)=D-1AX
(1)


第一部分連接根節點本身,表示靜止的特征;第二部分連接比節點本身更靠近骨架重心的相鄰節點集,表示向心運動的特征;第三部分連接比節點本身更遠離骨架重心的相鄰節點集,表示離心運動的特征。
由此,一個卷積核將被劃分為三個,其中每個卷積結果都代表了不同尺度的動作運動特征,將它們進行加權平均便能得到卷積的結果。
在完成以上步驟后,可以得到帶有k個卷積核的圖卷積表達式:
(2)
式中,n表示視頻中的人數,k表示卷積核數量,使用上述子圖劃分方法后一般值為3,c表示關節特征數,t表示關鍵幀數,v、w表示OpenPose預處理后的輸出關節數。對v求和代表節點的加權平均,對k求和代表不同卷積核的加權平均。
在通過圖卷積網絡得到空間上的節點特征后,還需要學習得到時間中節點的變化特征。在該模型中使用TCN,即時間卷積網絡,通過傳統卷積層的時間卷積操作來完成這項任務。
與此同時,考慮到在運動過程中,不同部分的軀干變化特征的重要性各不相同,因此在每個ST-GCN單元中都引入了注意力模型[10],用于在最后加權計算時保證每個單元有自己合適的權重,提高模型訓練的準確性。最終利用標準的Softmax分類器將合并所有時空特征后的特征圖分類到相應的類別當中,并用梯度下降SGD進行結果誤差優化。
時空卷積網絡ST-GCN具有良好的人體運動動作分類能力,但該模型仍存在不足之處。經過特征提取后得到的特征數據也存在著一些問題,例如,一單元內的方差較小,整體數據各個單元之間卻有著較大數值的方差,而因為對圖像部分特性的變化和其他特性的變化相比,同一種特征的敏感性不相同,因此當兩類圖像差異在某種特征敏感特性上的差異不大時,基于單一特征訓練的分類器將無法得出正確的分類。此外,其他問題也會導致特征數據質量下降,例如復雜的背景噪聲等,既增加了分類器訓練難度,也降低了其準確性。
特征融合的方法可以解決這種問題,這種方法同時提取多種特征進行分類器訓練,實現特征的互補。Simonyan提出了一種使用雙流架構的網絡模型[9],該模型屬于分類器級的融合,通過對建立的空間流和時間流卷積神經網絡分別進行獨立訓練,最終由Softmax分類器將上述兩個網絡融合。而Feichtenhofer在上述模型基礎上做了網絡融合方面的改進[8],提出了空間特征融合和時間特征融合算法,可以同時在分類器級和ReLU層進行融合操作,實現特征級的融合。
ST-GCN模型目前僅適用于分類器級的融合,因此對該模型進行如下改進:
針對該模型的時空特征圖進行特征的融合,融合函數定義為[8]:
(3)

融合函數包括加性融合函數、級聯融合函數、卷積融合函數等,為了盡可能保留原本特征圖的結果,此處使用級聯融合函數ycat=fcat(xa,xb),即:
(4)
式中,y∈H×W×2D,i∈[1,H],j∈[1,W],d∈[1,D]。它能夠保留兩個特征圖的結果,保證特征描述的準確性,而融合后特征圖的通道數量會變為原始特征圖的兩倍。實現特征級的融合,增強分類器結果的魯棒性[11]。
實驗的數據集來源于hmdb51數據集[12],該數據集是當前識別動作研究領域最為重要的幾個數據集之一,多數來源于電影,還有一部分來自公共數據庫以及YouTube等網絡視頻庫,包含51類動作,共有6 849個視頻,每個動作每類至少包含有101段樣本,分辨率為320*240。本次實驗采用該數據集中的肢體動作部分,包括一般身體動作(general body movements)、與對象交互動作(body movements with object interaction)和人體動作(body movements for human interaction)三大類,實驗數據集參數如表1所示。

表1 實驗數據集參數
為證明基于ST-GCN的視頻人物運動分類改進模型的有效性以及更好的魯棒性,現對某一視頻進行運動人物檢測與跟蹤。該視頻分辨率為320*240,幀率為30 F/s。
前10幀中每隔一幀取一次圖像輸出的運動人物檢測與跟蹤結果,如圖1至圖5所示,分類結果為上述圖中人物正進行射門(足球運動)。

圖1 第1幀圖像(左)與運動姿態分類結果 (中上為原ST-GCN模型輸出的骨骼圖,中下為改進后模型骨骼圖;右上為原ST-GCN模型輸出的RGB渲染圖,右下為改進后模型渲染圖)

圖2 第3幀圖像(左)與運動姿態分類結果 (中上為原ST-GCN模型輸出的骨骼圖,中下為改進后模型骨骼圖;右上為原ST-GCN模型輸出的RGB渲染圖,右下為改進后模型渲染圖)

圖3 第5幀圖像(左)與運動姿態分類結果 (中上為原ST-GCN模型輸出的骨骼圖,中下為改進后模型骨骼圖;右上為原ST-GCN模型輸出的RGB渲染圖,右下為改進后模型渲染圖)

圖4 第7幀圖像(左)與運動姿態分類結果 (中上為原ST-GCN模型輸出的骨骼圖,中下為改進后模型骨骼圖;右上為原ST-GCN模型輸出的RGB渲染圖,右下為改進后模型渲染圖)

圖5 第9幀圖像(左)與運動姿態分類結果 (中上為原ST-GCN模型輸出的骨骼圖,中下為改進后模型骨骼圖;右上為原ST-GCN模型輸出的RGB渲染圖,右下為改進后模型渲染圖)
實驗采用HMDB51數據集進行測試,將結果根據動作分類進行每一類的對比后,再將改進后的模型與雙流法Two-stream模型、深度監督網絡Deeply-Supervised Nets模型[13]、殘差網絡ResNet-152[14]模型、TVNet[15]模型進行了對比,結果如表2和表3所示。

表2 模型改進前后不同動作的準確性比較 %

表3 改進模型與其他模型的準確度比較 %
圖1至圖5展示了視頻中人物運動姿態分類模型的姿態分類結果,結果顯示原ST-GCN與改進后的模型均能夠正確地分類視頻中的人物動作,但是相比于原模型,改進后的模型對于每個關節節點的特征進行卷積時的權重分配更符合人體運動規律。從表2和表3中能夠看出,改進模型改善了原模型特征類內方差較小而類間方差較大的問題,具有更好的魯棒性。
文中提出了基于時空圖卷積網絡的視頻中人物姿態分類改進模型,該模型首先將輸入的視頻人體骨骼關鍵點進行處理,構造關節序列的時空圖,繼而將得到的時間特征圖與空間特征圖分別劃分并進行級聯特征融合,最后基于空間構型劃分進行時序卷積與圖卷積操作,得到分類結果。該模型能夠準確得到視頻中人物姿態的分類結果,解決了卷積網絡在訓練中的特征冗余問題,有效地提高人物姿態分類的魯棒性。
在后續的研究中,可以考慮對視頻中的一個群體進行動作分類,此外該算法是針對完整目標檢測后的特征圖分析與訓練結果的分類,對于畫面中有不完整人物出現時的目標檢測仍有較大的發展空間。