?

健身行為的人體姿態估計及動作識別

2024-03-05 08:15付惠琛高軍偉車魯陽
液晶與顯示 2024年2期
關鍵詞:關鍵點注意力損失

付惠琛, 高軍偉*, 車魯陽

(1.青島大學 自動化學院, 山東 青島 266071;2.山東省工業控制技術重點實驗室, 山東 青島 266071)

1 引言

人體姿態估計和動作識別在社會安防、醫療防護和運動健身等領域有重要的應用價值[1-2]。在安防監控領域,可以幫助提醒潛在的犯罪行為或危險情況,在捕捉到危險事故時可以及時給出警示以防止事態惡化,同時極大地減少監控人員的工作量。在醫療保健領域[3-4],可以在患者康復過程中給予幫助,并在患者發生跌倒等意外情況時及時檢測和預警,極大地縮短獲得醫療救護的時間,盡可能地保障人們的生命安全。在運動健身領域,可以幫助識別動作,提取動作特征,進行動作評估和指導,從而幫助改善人們的運動姿態,提高運動效果以及防止因運動姿勢錯誤而產生的運動傷害[5-7]。

早期的人體姿態估計主要采用模板匹配的方法,通過建立不同姿態的模板與檢測目標進行對比,分析兩者特征的異同,推斷檢測目標中人體骨骼關節點的位置[8-9]。隨著深度學習的發展,卷積神經網絡被廣泛運用到目標檢測和姿態估計問題中[10-13],其中又分為基于概率熱力圖和坐標點回歸這兩種方法?;诟怕薀崃D的方法是對檢測圖像中的每一個像素點用高斯分布的疊加進行概率估計,將原始圖像編碼成概率分布熱力圖,在熱力圖中越是符合關鍵點特征的位置其概率值越高。隨后將概率分布熱力圖解碼成原始檢測圖像,得到原始圖像中的骨骼關節點的空間坐標,其中又分為自低向上和自頂向下兩種方法[14]。

基于坐標點回歸的方法是直接在原始目標圖片上學習目標特征,直接得到目標的骨骼關鍵點的位置。文獻[15]采用了自底向上的openpose網絡模型,采用了MobileNets輕量化網絡,使模型能夠快速地檢測宇航員的操作姿態。雖然檢測計算速度較快,但在實際應用中,自底向上的方法受復雜的環境和遮擋的影響較大。文獻[16]采用了自頂向下的alphapose模型,采用了Track-Net算法評估球員的運動狀態。雖然檢測的精度較高,但是計算量過高,檢測時間較長,難以做到實時檢測。

本文針對復雜的健身動作識別,采用基于坐標點回歸的YOLOv7-POSE算法作為框架,在原本只有姿態估計功能的網絡中加入了動作分類的功能,并引入CA注意力機制,將通道注意力沿兩個空間方向分解并聚合特征,有效地強化了網絡對人體動作特征的學習。引入了HorNet網絡結構替代原模型中的CBS卷積核,通過門控卷積和遞歸結構實現特征的空間交互,在減少計算量的同時提升檢測性能。將主干網絡中的空間金字塔池化結構替換為空洞空間金字塔池化結構,在提升識別精度的同時加快了收斂速度。將模型中目標檢測部分的CIOU損失函數更改為EIOU損失函數,將CIOU中的預測框的長寬比損失項拆分為預測框與錨框長框的差值,加速了損失收斂并提高了坐標回歸的精度。

2 主干網絡及結構改進

2.1 YOLO-POSE網絡

不同于基于概率熱力圖的方法,YOLO-POSE省略了將原始圖像編碼成熱力分布圖的步驟,直接端對端地訓練模型,大幅提升了訓練和推理的速度。將人物目標檢測和人體關鍵點估計在同一個框架中進行組合,采用了多尺度預測的策略,將一個人物的所有關鍵點與目標檢測的錨框相關聯,在完成姿態估計任務的同時不引入大量的計算量。其網絡結構如圖1所示。

圖1 YOLOv7-POSE結構圖Fig.1 YOLOv7-POSE structure diagram

YOLOv7-POSE的主要網絡結構由Backbone主干網絡和Head區組成,最基本的卷積核為CBS卷積核。多個基礎的CBS卷積構成了高效聚合網絡ELAN結構。ELAN結構通過在輸入和輸出端之間添加短路徑的連接以及對網絡層權重的調整,能夠控制梯度路徑的長短,從而保留更多的特征信息,從輸入的圖片中提取出重要的特征,能夠提高訓練效率,加快收斂速度。圖2(a)和圖2(b)分別是輸入ELAN結構的圖像以及ELAN網絡結構提取的部分特征圖。

圖2 ELAN特征提取圖Fig.2 Extraction diagram of ELAN feature

Backbone層輸入的信息經由Head層中PANet網絡融合各個尺度的特征,最后每個Head層的輸出會連接兩個解耦頭用來預測人物目標框和人體關鍵點,其輸出結果為人體目標以及每個人體上的17個關鍵點,具體部位如圖3所示。

圖3 YOLOv7-POSE的17個人體關鍵點Fig.3 17 key points of the human bod有of YOLOv7-POSE output

每個檢測目標框由錨點橫坐標Cx、錨點縱坐標Cy、預測框的寬W、預測框的高H以及檢測框置信度boxconf和類別置信度classconf六個數據所確定。每個關鍵點由橫坐標、縱坐標和置信度三個數據元素所確定,因此網絡對每個目標人物,目標框檢測頭要預測6個元素,關鍵點檢測頭要預測51個元素,共需要預測57個元素,如式(1)所示:

2.2 CA注意力機制

CA注意力(Coordinate Attention)的結構如圖4所示。與傳統通道注意力機制不同,CA注意力將通道注意力沿兩個空間方向分解成兩個一維特征,一個方向關注特征的通道間的信息,另一個方向關注特征的位置信息[17]。

圖4 CA注意力機制結構圖Fig.4 Structure diagram of CA attention mechanism

SE(Squeeze-and-Excitation)等傳統的注意力采用了全局池化的方法獲取通道關系信息,但是難以獲取位置信息[18],針對這種情況,CA注意力機制分別使用尺寸為(H,1)和(1,W)的兩個池化核將輸入信息x沿橫縱坐標方向對每個通道進行編碼,將輸入量進行分解成兩個一維特征和,得到的第c維的特征輸出結果如式(2)和式(3)所示。

隨后將輸出的中間特征f分別在橫縱兩個方向上分解,得到兩個獨立的中間特征f h和fw,并分別使用一個1×1的卷積和sigmiod激活函數σ進行變換使其維度與最初的輸入相等,從而得到特征gh和gw,如式(5)和式(6)所示。

最后將上一步的輸出gh和gw合并最終得到了CA注意力機制的輸出,如式(7)所示。

通過對通道和位置特征的關注,CA注意力能加強網絡對特征的學習,提高檢測精度,同時參數量較小,不會影響模型的推理速度。

2.3 HorNet網絡

HorNet網絡借鑒了Transformer的動態權重、長距離建模以及高階空間交互等特點[19],采用了高階的門控卷積以及遞歸設計來實現高階空間交互,從而強化了網絡的模型容量,獲得了與Transformer相似的自適應空間混合能力。HorNet的引入使得網絡在不增加額外計算量的情況下獲得精度提升,因此本文用HorNet代替YOLOv7-POSE中的CBS卷積核,HorNet結構如圖5所示。

圖5 HorNet結構圖Fig.5 HorNet structure diagram

圖5左側為門控卷積GnConv,其內部運算操作包括卷積、線性投影以及元素積,其輸入輸出關系如式(8)所示,其中x、y分別為門控卷積的輸入輸出特征。首先將輸入x進行線性投影運算φ得到T0、P0,將P0做卷積運算并與T0進行點積運算得到T1從而完成一階空間交互。

高階空間交互與一階交互類似,首先對輸入x進行線性投影,求得投影特征T0和P如式(9)所示,隨后將投影特征依次送進門控卷積中進行遞歸運算,如式(10)所示,并通過將每次的輸出特征縮小a倍來平緩訓練過程。式(10)中的gk是維度映射函數,能夠保證空間交互過程中的維度始終相等,gk函數如式(11)所示。

最終的遞歸輸出Pn會再次進行線性投影從而得到GnConv的結果,同時對每一階的通道數進行約束,如式(12)所示,來保證高階空間的交互運算不會帶來過多計算量。以此來確??傔\算量是有界的,其上界如式(13)所示。

2.4 空洞空間金字塔池化

空間金字塔池化結構可以在對圖片進行放縮和剪裁處理時防止圖片發生失真,從而使得特征網絡的輸入端能夠接納任意寬高比的圖片[20]。

空洞空間金字塔池化能在擴大感受野的同時,不降低輸入圖片的分辨率[21],在幫助提高檢測人體大目標的同時,也能更加精確的估計骨骼關鍵點的小目標,非常適合人體姿態估計任務。本文將YOLOv7中原有的空間金字塔池化結構替換為空洞空間金字塔池化結構,空洞空間金字塔池化結構如圖6所示。

圖6 空洞空間金字塔池化結構圖Fig.6 Structure diagram of space pyramid pool

空洞空間金字塔池化結構具有4個并行的且采樣率不同的空洞卷積層,這些采樣率不同的卷積層會形成不同的感受野,從多個尺度獲取圖片中的特征信息,再對各個空洞卷積層提取到的特征進行融合,得到了最終的特征提取結果[21]。

2.5 邊界框損失函數

YOLOv7-POSE中的目標邊界框損失函數采用了CIOU損失函數,其計算公式如式(14)所示,其中IOU是真實框與預測框的交集面積與并集面積的比值,如式(15)所示,其中b與bgt分別表示預測框和真實框中心點的坐標位置,ρ(b,bgt)是兩個中心點的歐式距離的平方,c2是預測框與真實框所組成的最小閉區域的對角線的長度,w和h是框的寬和高,α是權重系數,v是預測框與真實框寬高比的懲罰項。

CIOU損失函數結合了真實框與預測框的重合面積、中心的歐氏距離并且考慮到了中心點重合并且寬高比不同的情況[22]。但是在式(16)中沒有考慮寬和高與置信度的直接差異,增加了縱橫比的相似性,減緩了收斂速度,阻礙了網絡模型有效地減少預測框和真實框之間的差異。本文引入了Yi-Fan Zhang提出的EIOU邊界框損失函數,如式(18)所示[23]。EIOU舍棄了CIOU中復雜且定義不明的懲罰項v,并用歐式空間距離來表示獨立的寬和高的損失項,解決了模型訓練時縱橫比相似性帶來的阻礙,有效提高了收斂速度,提高了邊界框的回歸精度。

3 實驗與結果分析

3.1 實驗環境

本文的模型訓練在Win10和Python3.9環境下進行。使用Pytorch 1.12.1作為深度學習框架,并使用了CUDA11.3硬件加速工具。實驗使用了NVIDIA RTX3080 GPU,Intel(R)Core(TM) i7-12700KF@3.60 GHz處理器,設備內存為32.0 GB。

3.2 數據集的準備

本文針對健身動作人體姿態估計及動作分類的任務,組織同學在不同背景下,從不同角度拍攝了健身運動中的6種常見動作,并采用LabelImg軟件自行標注了動作數據集16 000余張,分為俯臥撐(Push up)、躺姿抬腿(Lying Leg Raise)、盤腿坐(Sit in Meditation)、臀橋(Glute Bridge)、深蹲(Squatting)、壓腿(Leg Pressing)6種類別,并將訓練集、測試集和驗證集按照8∶1∶1的比例進行劃分,訓練批次為16,學習率為0.005,模型迭代120輪。數據集中各類別具體數量如表1所示。

表1 數據集中的目標分類及數量Tab.1 Classification and number of targets in the data set

3.3 模型評估指標

對于人體關鍵點估計任務,不能只是簡單地通過真實點與預測點之間的歐氏距離來衡量估計的精度,而是要為不同類型的點賦予不同的加權值,計算真實點與預測點之間的相似度。本文針對人體姿態估計任務采用了關鍵點相似性指標OKS、平均精度AP和均值平均精度mAP評估網絡模型的預測點與真實點的相似度,并用混淆矩陣評價動作分類的準確度。

目標關鍵點相似度OKS計算方式如式(19)所示:

其中:p表示檢測圖片中人物的編號;pi表示該人物的骨骼關鍵點編號;vpi表示該關鍵點在圖片上的可見性,vpi=0表示該關鍵點未標注,vpi=1表示該關鍵點不可見,vpi=2表示該關鍵點可見;dp表示真實點與預測點之間的歐式距離,dp的值越小表示該點預測的效果越好,即距離dp與oks指標成反比;Sp表示識別該人物的目標檢測框所占面積的平方根,當距離dp相等時,目標人物面積越小則預測的效果越好,即Sp與OKS指標成反比;σi度量不同關鍵點的標準差,是對現有的數據集中所有關鍵點進行計算得到,表示不同關鍵點對人體整體的影響情況,σi的值越小,表示該點對數據集整體的影響效果越好。

最后通過歸一化使關鍵點的歐式距離dp、人體目標的面積Sp、標注偏移σ與OKS的增減性與上述分析保持一致。

平均準確率(Average Precision,AP)是預測的結果在驗證集上的平均準確率。如式(20)所示。給定OKS一個閾值s,若某關鍵點的OKS值大于s則認為該點成功檢出,否則認為該點錯檢或誤檢。

平均準確率均值(mean Average Precision,mAP)通過給定關鍵點不同的閾值,計算不同閾值情況下對應的AP并進行平均計算。

對于動作分類任務,本文沿用了混淆矩陣作為評估指標?;煜仃囀欠诸惾蝿罩械某S弥笜?,矩陣中元素表示了各類別的檢測分類情況。矩陣中每列的類別為網絡對各個類別的預測分類,每行的類別表示數據集中的正確類別。每列中的元素表示網絡在分類預測中,將數據集中真實的各個類別分類到該列對應的類別的數量;每行中的元素表示數據集中該行的真實的類別樣本在網絡分類預測中被分類到各個類別的數量。

3.4 實驗設計

為了驗證改進后的算法對人體姿態估計以及動作分類的檢測效果及改進部分對性能的提升情況,本文進行了4組對照實驗。

第一組實驗用熱力圖對引入CA注意力機制前后的模型進行檢驗,驗證CA注意力機制的效果。

第二組實驗將HorNET結構的模型復雜度與原始模型及Swin Transfomer結構進行對比,驗證HorNET是否優于原始卷積及Swin Transfomer結構。

第三組進行消融實驗,把本文算法逐個剔除各個改進部分并依次進行訓練,并將訓練后的mAP指標與原始算法、本文改進算法以及數據集格式相同的主流算法High-Resolution Net進行對照,驗證各個改進部分對姿態估計性能的提升效果。

第四組實驗首先比較改進后的算法與原始算法的混淆矩陣,驗證在分類功能上的提升效果;隨后在驗證集上采用隨機抽樣檢測的方法,抽取驗證集中的圖像進行實際檢測效果的比較。

3.5 損失函數收斂對比

改進前后的YOLOv7-POSE的驗證集損失函數對比如圖7所示。圖7中曲線A為原始的YOLOv7-POSE損失函數,曲線B為改進后的損失函數。從圖7中可以看出,改進前模型的損失函數在初始約20輪的曲線下降較快,且曲線波動較大。在訓練60輪之后,波動趨于平緩,損失函數逐漸減小。在訓練約100輪時,損失函數逐漸穩定,模型逐漸收斂。而改進后模型的損失函數在訓練約50輪趨于平緩,在訓練約80輪時損失函數逐漸穩定。由此可見,改進后算法的損失函數收斂更快,且收斂后損失函數的值更低。

圖7 損失函數對比Fig.7 Example of dataset images

3.6 對比實驗

為了驗證CA注意力的效果,采用Grad-CAM可視化結構對引入CA注意力前后的模型進行對比驗證,對比結果如圖8所示。圖8(a)和圖8(b)分別是引入CA注意力前后的模型驗證圖??梢钥闯?,引入了CA注意力后,模型能更好地聚焦于人體區域。

圖8 特征關注對比圖Fig.8 Feature focus contrast diagram

各個模型的模型復雜程度如表2所示,由表中數據可得,HorNet網絡結構的引入提升了模型精度,同時降低了模型的參數量以及計算量。而引入Swin Transfomer結構之后,雖然能夠提升模型精度,但模型的大小、參數以及計算量大幅提升,因而在本檢測任務中,HorNet結構優于原始結構以及Swin Transfomer結構。

表2 不同改進的模型復雜度Tab.2 Different improved model complexity

本文通過對原始模型和各類改進方法的檢測指標以及數據集格式相同的High-Resolution Net算法進行對比來設計了消融實驗,來驗證改進部分對算法性能的提升效果,表3為引入不同改進方法后算法的檢測指標。由表3數據可得,YOLOv7-POSE-E引入表中所有改進項,mAP值達到95.7%,比High-Resolution Net高4.2%,比原始YOLOv7-POSE提高了4%。YOLOv7-POSE-A在YOLOv7-POSE-E的基礎上去掉了CA注意力機制,mAP值為94.8%,比原始YOLOv7-POSE-E下降了1.3%。YOLOv7-POSE-B在YOLOv7-POSE-E的基礎上去掉了HorNet結構,mAP值為93.6%,比YOLOv7-POSE-E下降了2.1%。YOLOv7-POSE-C在YOLOv7-POSEE的基礎上去掉了空洞空間金字塔池化,mAP值為94.2%,比YOLOv7-POSE-E下降了1.5%。YOLOv7-POSE-D在YOLOv7-POSE-E的基礎上去掉了EIOU損失函數,mAP值為95.4%,比YOLOv7-POSE-E下降了0.2%??梢缘贸鲆氲母鱾€改進項能帶來精度的提升。

表3 不同改進方法的性能指標Tab.3 Performance index of different improvement methods

3.7 改進前后網絡的動作分類性能對比

改進前后網絡的混淆矩陣分別由圖9、圖10所示。對比可見,改進后網絡的躺姿抬腿類別的分類準確率提高了15%,臀橋類別的分類準確率提高了13%,壓腿類別的分類準確率提高了13%。改進后的動作分類性能顯著提升。

圖9 原始網絡的混淆矩陣Fig.9 Confusion matrix of original network

圖10 改進后網絡的混淆矩陣Fig.10 Confusion matrix of the improved network

訓練結束后,將改進前后的模型在測試集上推理測試,測試集中也包含了各類復雜背景下不同角度拍攝的動作,部分測試集中的結果如圖11和圖12所示。圖11為測試集在增加了分類功能的原始網絡模型上的部分推理結果,圖12為測試集在改進后網絡模型上的部分推理結果。由圖11(a)和圖12(a)對比可得,改進前的模型在側面躺姿抬腿圖中的左髖、左膝和左踝3個關鍵點處的偏差較大;而改進后模型對上述3點的估計偏差明顯減小,且算法置信度有所提升。由圖11(b)和圖12(b)對比可得,改進前模型在側面臀橋圖上漏檢了左肩和右手腕處的關鍵點;而改進后模型對該圖中的左肩和右手腕處關鍵點正確地進行了估計。由圖11(c)和圖12(c)對比可得,改進前模型在上側面臀橋圖中整體關鍵點估計偏差較大,且把改圖錯誤的分到了躺姿抬腿類別中;而改進后模型對該圖中的關鍵點估計整體偏差較低,并將其正確地分類為臀橋類別,且置信度較高。由圖11(d)和圖12(d)對比可得,改進前模型在側面俯臥撐圖中對左膝和左踝兩處關鍵點的估計偏差較大,且整體置信度偏低;而改進后模型對該圖中所有關鍵點正確地進行了估計且置信度較高。由此可見,改進后模型對關鍵點估計和分類的效果有所提升。尤其對于臀橋類別,改進前模型的關鍵點估計偏差較高,分類精度較低,而在改進后模型的關鍵點估計和動作分類情況均有較大提升。

圖11 原始網絡模型的識別效果Fig.11 Recognition effect of original network model

圖12 改進后網絡模型的識別效果Fig.12 Recognition effect of improved network model

4 結論

針對健身行為的人體姿態估計和動作識別問題,本文提出了一種改進的YOLOv7-POSE姿態估計及動作識別算法,通過自行拍攝不同環境下各種角度的健身動作制作了數據集。在原始YOLOv7-POSE網絡中添加了分類功能,并引入了CA注意力機制,沿兩個空間方向分解了通道注意力并對其進行聚合特征,強化了網絡模型對人體動作特征的學習。引入了HorNet結構替代原模型中的CBS卷積核,強化了網絡的模型容量,減少了網絡模型的計算量并提高了關鍵點的估計準確率和動作識別。根據人體姿態估計要同時檢測人體大目標和估計關節點小目標的任務,將主干網絡中的空間金字塔池化結構替換為空洞空間金字塔池化結構,在不降低識別精度的同時加快了收斂速度和識別速度。將模型中目標檢測部分的CIOU損失函數更改為EIOU損失函數,加速了損失收斂并提高了坐標回歸的精度。改進后網絡相比于原始網絡,mAP值提高了4%,躺姿抬腿類別的分類準確率提高了15%,臀橋類別的分類準確率提高了13%,壓腿類別的分類準確率提高了13%,關鍵點錯檢、漏檢的情況顯著減少。

猜你喜歡
關鍵點注意力損失
讓注意力“飛”回來
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
胖胖損失了多少元
玉米抽穗前倒伏怎么辦?怎么減少損失?
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
一般自由碰撞的最大動能損失
損失
醫聯體要把握三個關鍵點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合