閆琳
(西安航空職業技術學院,陜西 西安 710089)
近年來,隨著計算機視覺技術逐漸走向成熟,越來越多的基于視覺檢測的應用被普及。形體動作識別是機器視覺技術的一個重要應用領域[1],通過該技術能夠快速、精準地識別運動員或舞蹈演員的不規范動作,并分析訓練制約因素以提高學習效率,從而實現智能化標準形體動作培訓[2-3]。
形體動作識別旨在對人體的各個關鍵點進行檢測,進而判斷人體的動作姿態,其關鍵是人體姿態估計技術。早期的人體姿態估計是通過預設的人體姿態模板來擬合圖片中的人體,隨著深度學習(Deep Learning,DL)的發展,業界學者逐漸采用基于卷積神經網絡的算法來完成姿態估計。文獻[4]在姿態估計任務中引入深度學習算法并提出DeepPose 算法。文獻[5]將姿態估計看作是檢測任務,設計Flow Convnet輸出熱力圖。文獻[6]提出了Hourglass 網絡,通過遞歸使用下采樣及上采樣來高效地學習多尺度信息。文獻[7]設計了GlobalNet 與RefineNet 以提高算法對困難關鍵點的挖掘能力,并憑借其優異的性能,該算法獲得Face++2017 年COCO Keypoints Challenge 的冠軍。由于大部分網絡均是由高到低的結構,因此會導致最終表示的分辨率較低。因此,中國科技大學聯合微軟公司的學者設計了一種新的網絡結構,即HRNet(High-Resoultion Net)[8]。與其他網絡不同,HRNet 在前向傳播過程中始終保持高分辨率特征,同時通過密集連接以獲取深層語義。隨后在圖像分類[9]、人體姿態估計[10]及圖像分割[11]等機器視覺任務中證明了有效性。
形體動作識別需對一些微弱與復雜的動作進行識別,這便需要較強的語義信息。因此,采用HRNet網絡結構進行特征提取。但由于始終保持高分辨率傳輸及密集運算,HRNet 具有復雜的網絡結構,導致其計算效率較低。隨著Transformer[12]在自然語言處理中取得巨大成功,眾多學者將其拓展至計算機視覺領域。實驗表明,Transformer 在視覺任務中能夠在保持較高準確率的同時,實現更高的計算效率。此外,Transformer 由多頭注意力和自注意力構成,可捕捉不同關鍵點特征間的聯系[13-14]。為此,基于HRNet 網絡結構,該文引入Transformer Block 設計了一種高分辨率形體動作識別算法,以用于形體動作的識別。
為提升模型對形體動作的識別性能,基于HRNet網絡結構,引入了Transformer 模塊,設計了一種多分辨率特征相關的形體動作識別算法,其能夠在整個過程中維護高分辨率,并挖掘特征的相關性。
相比于日常的人體動作,舞蹈形體較為夸張,尺度變化也更為劇烈,這便給形體動作識別帶來了挑戰。基于HRNet 的網絡結構通過高分辨率計算,可獲取更為精細的局部特征。而利用密集連接多分辨率的深度特征,可提取包含全局信息及深層語義的特征。因此,該文采用HRNet 結構來搭建姿態估計網絡模型[15-16]。
HRNet 的具體網絡架構如圖1 所示,特征提取部分包含4 個階段:第1 階段的特征圖分辨率縮放比為1∶4,主要包含兩個Bottlenect Block,每個由兩個1×1卷積和一個3×3 卷積組成;第2 階段在原有分辨率特征圖的基礎上增加了8 倍降采樣的支路,該階段同樣由兩個Block 組成,但與第1 階段不同,從第2 階段起Block 替換為能夠捕捉特征相關性的Transformer Block;第3 階段和第4 階段依次增加16 倍降采樣支路和32 倍降采樣支路,且每個支路還包含有兩個Transformer Block 來進行特征提取。每個階段銜接處進行多尺度特征融合,以交換多分辨率信息。

圖1 基于HRNet的形體動作識別算法
該文方法的多尺度特征融合部分是一個密集連接塊,需通過上采樣和下采樣操作統一尺度后再進行融合,如圖2 所示。

圖2 多分辨率特征融合示意圖
向上信息融合模式對于小尺度特征,采用兩次上采樣操作將特征圖統一為大尺度特征,通過1×1卷積將特征圖通道數與大尺度進行統一;對于中尺度特征,采用一次上采樣操作,然后通過1×1 卷積將特征圖通道數與大尺度進行統一;最后,將所有結果按相應通道進行疊加。
在中間信息融合模式,大尺度和小尺度特征分別采用降采樣和上采樣操作實現特征圖分辨率上的統一。然后通過1×1 卷積整合通道數,最后將所有結果按相應通道進行疊加。向下信息融合模式與向上信息融合模式相似,大尺度和中尺度特征分別通過兩次和一次降采樣操作將特征圖降為小尺度,將通道數和尺度均統一為小尺度的三個特征圖進行疊加。
由于Transformer 具有高效率、高擴展性的特點,將基于HRNet 結構引入Transformer Block,以降低HRNet 的計算復雜度,進而提升形體動作識別的性能。
首先,將輸入的特征圖X∈RN×D平均裁剪成一組無交叉的窗口特征圖序列,即{X1,X2,…,Xp}。其中,N表示特征圖大小,D表示通道數,每個窗口特征圖的尺寸為k×k,p則表示窗口數量,且每個窗口分別執行多頭注意力。第p個窗口的多頭注意力模塊計算方法為:
式中,Wo∈RD×D,H表示多頭注意力的Head 數,每個Head 由一個自注意力機制構成。文中多頭注意力機制的Head 數與降采樣倍數正相關:特征圖在4、8、16、32 倍降采樣后的多頭注意力操作對應Head 數為1、2、3、4。MultiHead(·)為多頭注意力機制,具體計算如下:
其中,Head(·)為自注意力機制,具體計算如下:
其中,Wq,Wk,Wv∈RD×D/H,均為自注意力機制的參數權重。XMHSA表示多頭注意力輸出結果,具體操作為聚合每個窗口中信息,如式(4)所示:
由于所有的自注意力在窗口特征圖單獨執行,所以窗口特征圖之間缺少信息交換。因此,在信息聚合后采用一個3×3 卷積進行通道間信息交互,具體如圖3 所示。

圖3 Transformer Block結構圖
在Balletto 數據集上進行實驗,該數據集是一個芭蕾舞形體動作數據庫,共有9 845 張標注的形體動作圖片,按2∶1 進行訓練集與測試集分配。
該文實驗均在Ubuntu18.04 系統下進行,GPU 采用Nvidia RTX2080Ti,深度學習框架采用了Pytorch框架。
將Transformer Block 引入HRNet 會造成整體網絡結構的參數規模與運算復雜度發生變化。為了測試HRNet 各階段網絡結構對形體動作識別的性能,對其各階段逐一進行消融實驗。實驗結果如表1 與圖4 所示。表1 中,2 Stage、3 Stage 和4 Stage 分別指2 階段、3 階段和4 階段的HRNet 結構。

表1 HRNet網絡結構階段性能測試實驗結果

圖4 HRNet網絡結構階段性能測試效果
由圖表可知,在第2 階段,參數量與浮點計算量大幅降低,但由于特征提取不充分,導致準確度與召回率受到影響。而圖4 中舞者動作幅度過大的腿部關鍵點檢測性能不足,故左腿未能成功檢出;對于第3 階段,其網絡參數量為2.1 MB,浮點運算量僅為3.8 GFLOPs,準確率和召回率也均較為理想;而在第4 階段,相比前兩個階段,左右腿關鍵點檢測獲得了提升。據分析,深層特征與Transformer 的結合,有助于挖掘特征相關性,提升了關鍵點檢測準確率。
表2 所示為CPN、Hourglass、HRNet 及該文方法在數據集上對人體姿態估計的定量結果,主要采用模型大小與浮點運算量來衡量模型的復雜度,并用各關鍵點的KOS 準確率來評估模型精度。

表2 模型各關鍵點準確率分析
在模型的準確率測試中,CPN 的平均關鍵點檢測準確率為85.7%,Hourglass 的平均關鍵點檢測準確率為85.9%,但HRNet 及該方法準確率均達到了86.1%。這表明,基于HRNet 的網絡結構在形體識別中具有更優的特征提取能力。在具體關鍵點檢測中,手部和足部等關鍵點尺度變化劇烈,經常互相交錯遮擋,因而檢測難度較大。但文中方法引入Transformer Block,借助自注意力機制(Self Attention)和多頭注意力機制(Multi-Headed Attention),充分挖掘各個階段特征間的自相關性與互相關性,從而達到了較好的檢測效果。相比于原HRNet,手部及足部關鍵點的檢測準確率分別提高了0.8%和1.3%。
在模型復雜度的分析中,基于Hourglass 的算法模型參數量最大,為92 MB。CPN 和HRNet 的參數則相差較小,分別為27 MB 和28.5 MB。而該文方法的模型參數量最小,僅為7.8 MB,且浮點運算量為6.2 GFLOPs。經分析,該算法采用Transform Block 取代卷積操作,大幅降低了模型參數量。
為了提升形體動作識別的性能,文中設計了一種針對關鍵點交錯遮擋隱藏場景下的形體動作識別算法。在Balletto 數據集中進行的實驗結果表明,相比于原HRNet,該算法的計算效率得到顯著提升,且在一些交錯關鍵點中表現出了更高的檢測精度。但該算法對于其他關鍵點的檢測仍略顯不足,這將在未來的研究中對此進行改進。