馮 霞,薛晶霞,劉才華+
(1.中國民航大學 計算機科學與技術學院,天津 300300;2.中國民用航空局 智慧機場理論與系統重點實驗室,天津 300300)
在特定人體動作識別[1-6]中,不同人體關鍵姿態(即不同人體關鍵點)的重要程度各不相同。如在檢測是否存在貨物暴力分揀行為時,與動作高度相關的手腕關鍵點識別比眼睛、鼻子等其它關鍵點識別更重要。而大多數現有人體姿態估計方法將人體所有關鍵點同等對待,如文獻[7]通過融合多尺度特征增大局部區域感受野,改善整體關鍵點識別;文獻[8]采用3個反卷積生成高分辨率熱圖,提升整體關鍵點的識別性能;文獻[9]基于文獻[8]框架,使用PixelShuffle上采樣方法進一步提升了整體關鍵點識別性能。以上模型忽略了不同關鍵點的重要程度不同這一重要因素,而且在特征提取階段對特征信息利用不充分。
針對以上問題,本文提出了一種融合注意力機制的人體關鍵姿態估計方法。首先在下采樣-上采樣兩階段融入注意力機制,引導模型在通道和空間維度自適應關注特征區域中的重要信息,弱化不重要的特征信息;其次提出一種代價敏感損失函數,使模型在學習過程中能聚焦于代價更大的目標關鍵點,提升模型對目標關鍵點的識別性能。在COCO公共數據集和CargoSorting數據集上的實驗結果表明,本文方法在少量增加模型參數前提下,提升了目標關鍵點和整體關鍵點識別準確率。
本文模型框架如圖1所示。該框架主要包括3個模塊。①淺層多尺度特征增強模塊。本文采用Resnet50骨干網絡提取特征。為了降低背景信息干擾和下采樣導致特征空間信息的損失,在網絡淺層采用空間注意力機制,幫助模型提取有效的空間信息。在L1~L4的Bottleneck模塊中融入通道注意力機制,幫助模型提取重要的通道特征;②深層多通道特征選取模塊。由于上采樣操作會大幅降低特征通道維度,易造成有效特征丟失問題,因此在上采樣之前加入通道注意力機制,幫助模型學習不同通道特征的重要程度;③代價敏感損失模塊。在模型訓練過程中,增加與特定動作相關的目標關鍵點的誤識別代價,使得人體姿態估計模型在訓練時更專注于目標關鍵點,從而提升模型對目標關鍵點的識別精度。

圖1 人體姿態估計模型框架

通道注意力機制通過建模特征通道間的關系,幫助模型篩選出對任務更加重要的特征[10]。在人體姿態估計中,模型輸出的每個通道表示某個關鍵點的識別結果。提取與關鍵點相關的特征以及減少上采樣階段通道信息丟失非常重要。圖1中(b)部分的fi(i=1,2,3) 表示特征,f1~f3特征的通道維度分別為1024、256、128,最后一層卷積層輸出通道維度為17和6,可見上采樣和最后生成熱圖的卷積操作,會使特征通道維度下降2~21.3倍,造成通道特征信息丟失和利用不充分。因此,本文在特征提取階段和上采樣生成關鍵點熱圖階段融入通道注意力機制,模型分別如圖1的(b)部分和圖2所示。其中,圖1(b)表示在最后卷積層和生成f2、f3特征之前融入通道注意力,圖2表示添加通道注意力后的Bottleneck結構,本文以此結構作為骨干網絡的第一個Bottleneck來構造L1~L4層。

圖2 融入通道注意力機制的Bottleneck
具體的通道注意力機制如式(1)~式(3)所示。首先利用1×1卷積Wq和Wv將輸入特征fi(i=1,2,3) 生成分辨率不變的Q、V特征,其中,Q特征通道被壓縮為1,V特征通道降為輸入特征的一半。然后將兩個特征分別reshape為N×1×1,C/2×N,N=H×W。為了彌補Q特征通道被完全壓縮造成的信息損失,使用softmax對Q特征進行增強,并與V特征相乘后經過1×1卷積、LayerNorm和sigmod激活函數生成通道權重參數,如式(3)所示。最后將通道權重參數與輸入特征fi相乘得到通道注意力圖
Q=Wq(fi)
(1)
V=Wv(fi)
(2)
Ac=σ1(Wq(σ2(R1(Q)))×R2(V))
(3)
其中,Ac表示生成的通道權重參數,R1和R2表示兩個reshape操作,σ1為sigmod激活函數,σ2為softmax激活函數,Wq和Wv為1×1卷積操作。
空間注意力機制通過建模特征內各像素間的關系,幫助模型關注更加重要的特征區域[11]。受文獻[12]的啟發,在特征提取網絡之前加入注意力機制網絡可以改善背景信息對關鍵點識別的影響。因此,本文在骨干網絡第一個特征層之后加入空間注意力機制,增強重要特征信息,減弱不重要的特征信息,幫助模型更好地提取多尺度淺層特征,模型如圖1(a)所示。
具體的空間注意力機制如式(4)~式(6)所示。與通道注意力機制相似,首先利用1×1卷積Wq、Wv將輸入特征f0轉為通道為原通道一半的特征Q和V,通過全局平均池化將V特征壓縮為C/2×1×1來表示輸入特征的全局信息,V特征的空間分辨率保持不變。然后將兩個特征分別reshape為1×C/2和C/2×N,N=H×W。 為了彌補Q特征池化造成的信息損失,使用softmax對Q特征進行增強,并與V特征相乘后經過reshape和sigmod激活函數生成空間權重參數,如式(6)所示。最后將該參數與輸入特征f0相乘得到空間注意力圖
Q=Wq(f0)
(4)
V=Wv(f0)
(5)
As=σ1(R3(σ2(R1(GAP(Q))))×R2(V))
(6)
其中,As表示生成的空間權重參數,R1~R3為reshape操作,GAP表示全局平均池化操作,其它符號與式(3)含義相同。
本文使用的注意力機制對特征處理時,在空間維度和通道維度內均保持較高分辨率,沒有對特征進行很大程度壓縮,這對人體關鍵點識別具有重要意義[13,14]。此外,采用softmax-sigmod組合方式增強特征非線性表達,進一步提升了模型對關鍵點的識別。
本文的代價敏感損失旨在提升模型對目標關鍵點的關注度,模型如圖1(c)所示。主要包括兩個部分,整體關鍵點損失和目標關鍵點損失。整體關鍵點是指標注的所有人體關鍵點(本文共17個),目標關鍵點是指和特定動作識別高度相關的人體關鍵點(本文指和暴力分揀動作相關的人體左右手腕、手肘和腳踝共6個關鍵點)。可以通過代價敏感因子調整目標關鍵點損失在整個損失函數中的權重比例,從而控制目標關鍵點的代價敏感程度。代價敏感損失計算如式(7)所示
L=Ln+λLc
(7)
式中:L為模型的總損失,Ln為整體關鍵點損失,Lc為目標關鍵點的損失,λ為代價敏感因子。由式(7)可知,當λ的值為0時,L退化為標準的人體姿態估計損失,當λ的值逐漸增大時,目標關鍵點損失在總損失中的比例也相應增大。λ可實現平滑調節目標關鍵點損失占比。

(8)
式中:(x,y) 用來表示關鍵點k的真實熱圖的位置,σk表示關鍵點k的尺度自適應方差。
人體姿態估計模型生成的整體關鍵點對應的熱圖損失Ln可由式(9)表示

(9)

同樣的方法,可計算目標關鍵點的預測熱圖和真實熱圖,目標關鍵點的熱圖損失如式(10)所示

(10)

式(7)中,Ln項等同看待每個人體關鍵點,追求模型在整體關鍵點上的識別性能。在實際應用中,不同關鍵點重要性是動作依賴的,基于此,本文的代價敏感損失L在包含整體關鍵點損失的基礎上,增加與特定動作相關的目標關鍵點損失,突顯目標關鍵點的重要性。通過代價敏感因子λ值控制整體關鍵點損失和目標關鍵點的損失在總損失中的比重,λ值越大,意味著目標關鍵點損失占比越大,目標關鍵點識別錯誤產生的代價更大,模型對目標關鍵點的關注度越高。
本文采用的數據集包括Miscrosoft COCO公共數據集和自建的CargoSorting數據集。其中COCO數據集包含約165 K張圖像和150 K個人體目標實例。每個實例被標注了17個關鍵點,分別為鼻子、右眼、左眼、右耳、左耳、右肩、左肩、右肘、左肘、右手腕、左手腕、右臀、左臀、右膝、左膝、右腳踝、左腳踝。實驗在超過118 K張圖像的訓練集上訓練,在5 K張圖像的驗證集上進行驗證。


圖3 CargoSorting數據集標注示例
本文采用關鍵點相似性OKS(object keypoint similarity)評估模型性能,其計算如式(11)所示
(11)
式中:di表示關鍵點i的預測位置和真實位置之間的歐氏距離,S2表示人體的面積,ki表示類型為i的關鍵點歸一化因子,vi表示真實關鍵點i的可見性,vi大于0表示關鍵點可被觀察到,小于0表示該關鍵點不可見。
實驗結果采用平均準確率AP(average precision)和平均召回率AR(average recall)表示。其中,AP是OKS值分別為0.5,0.55,0.60,…,0.95時所有準確率的平均值,AP50和AP75是OKS的值分別為0.5和0.75時的平均識別準確率,APM是中型目標檢測精度,APL是大型目標檢測精度,AR是OKS值分別取0.5,0.55,0.60,…,0.95時所有召回率的平均值。
模型的輸入大小為256×192,輸出整體關鍵點熱圖大小為17×64×48,目標關鍵點熱圖大小為6×64×48。實驗過程采用隨機縮放、隨機旋轉和圖像翻轉的數據增強方式,ResNet50和YOLOv3-spp預訓練模型都基于公開數據集ImageNet。實驗采用Adam優化器進行優化,COCO數據集的初始學習率為0.001,CargoSorting數據集的初始學習率為0.0001,學習率衰減系數為0.1,在MSCOCO數據集和CargoSorting據集上的總訓練周期分別為270和100,批訓練大小都為32。
為了評估本文模型的性能,表1和表2分別給出了本文算法和對比算法在兩個數據集上的識別結果。表中k=17表示模型在17個整體關鍵點上的識別性能,k=6表示模型在6個目標關鍵點上的識別性能。在代價敏感損失的λ值設為0.3時,模型的性能最優。本文λ值選取是通過后續實驗驗證取得。

表1 本文方法和基準方法在COCO 2017驗證集上的實驗結果比較

表2 本文方法和基準方法在CargoSorting數據測試集上的實驗結果比較
從表1可以看出,本文方法與其它方法相比,提高了目標關鍵點和整體關鍵點的識別性能。具體地,相較于FastPose方法,本文方法在少量增加模型參數的前提下,目標關鍵點和整體關鍵點的AP指標分別提高了1.4%和1.1%,AP50、AP75、APM、APL以及AR指標也都有所提高。與CPN相比,目標關鍵點和整體關鍵點AP指標均提高3.7%,與CPN+OHKM相比,AP分別提高3.1%和2.9%,模型參數量增加了1.2。與采用不同骨干網絡的SBL相比,目標關鍵點AP分別提高了1.8%,1.2%和0.7%,整體關鍵點AP分別提升了1.9%,0.9%和0.3%。當SBL的骨干網絡采用ResNet-101和ResNet-152時,本文方法還能夠減少模型的參數量。
表2是本文方法在CargoSorting數據集上與其它模型的對比結果,與FastPose方法相比,本文方法對目標關鍵點和整體關鍵點的AP分別提升了1.5%和1.4%,其它指標也都有不同程度的提高。與CPN相比,目標關鍵點和整體關鍵點AP指標分別提高5.4%、4.7%,與CPN+OHKM相比,AP分別提高3.7%和3.3%。與采用不同骨干網絡的SBL相比,目標關鍵點AP分別提高了2.6%,1.5%和0.8%,整體關鍵點AP分別提升了2.1%,1.3%和0.6%。
本文方法在模型下采樣階段融入空間注意力和通道注意力促使模型關注重要特征區域,豐富了空間和通道特征表示,采用通道注意力彌補上采樣導致特征通道信息損失,增強了模型的高分辨率表達能力。最后在模型訓練過程中引入代價敏感損失,通過更多關注目標關鍵點的誤識別代價,顯著提升與特定動作相關的目標關鍵點識別準確率和整體關鍵點識別準確率。表1和表2的實驗結果驗證了本文方法的有效性。
代價敏感參數λ值的選擇對模型識別結果影響不同,為了選擇合適的參數值,將λ值設為0,0.1,0.2,…,1,并分別在兩個數據集上進行實驗,圖4、圖5分別給出了在COCO數據集和CargoSorting數據集上的實驗結果。圖4和圖5都表明,當λ取值為0.3時,人體關鍵姿態估計模型的結果最優。

圖4 不同λ值在COCO數據集上的結果

圖5 不同λ值在CargoSorting數據集上的結果
為驗證本文方法中注意力模塊和代價敏感損失模塊的有效性,本文分別在兩個數據集上對這兩個模塊做消融實驗,結果見表3和表4。

表3 MSCOCO-val數據集消融實驗

表4 Cargo Sorting-測試集消融實驗
AM-FastPose為單獨使用注意力機制模塊,CSL-FastPose為單獨使用代價敏感損失模塊。由表3和表4可知,相比于基準方法,AM-FastPose模型在兩個數據集上的目標關鍵點識別準確率分別提升了0.5%和0.7%,整體關鍵點識別準確率分別提升了1%和1.2%。CSL-FastPose模型在兩個數據集上目標關鍵點識別準確率分別提升了1%和1%,整體關鍵點識別準確率分別提高了0.2%和0.3%。注意力機制模塊幫助模型從空間和通道兩個維度關注更加重要的特征信息,代價敏感損失模塊幫助模型更好地識別與特定動作相關的目標關鍵點。本文方法通過融入空間通道注意力和引入代價敏感損失,提升了模型對整體關鍵點和目標關鍵點的識別準確率。
為了直觀解釋本文方法的有效性,在COCO數據集上進行姿態估計的可視化結果如圖6所示。其中,第一列表示輸入圖像,第二列和第三列分別表示利用FastPose方法和本文方法生成的人體姿態。為方便對比,在第一列輸入圖像中,用矩形框標注出那些由于擁擠、背景復雜和人體運動等導致的四肢關鍵點不同程度遮擋現象。從圖6可以看出,當存在遮擋時,本文方法較之基準算法,均有更好的表現。

圖6 本文方法和FastPose方法的可視化實驗比較
具體而言,在圖6(a)中,左側目標人體的左肩、左肘和左手腕關鍵點被遮擋,右側目標人體的下肢被物體遮擋,通過對比圖6(b)和圖6(c)可以看出,對于左側人體,本文方法能夠預測出其被遮擋的左手腕目標關鍵點,對于右側人體,本文方法能夠完整預測出被遮擋的腳踝和臀部關鍵點;圖6(d)是在低分辨率情況下,與圖6(e)對比可知,本文方法能夠較好預測出目標人體的左腳踝關鍵點位置;在圖6(g)中,目標人體左手腕位置處的外觀顏色和背景顏色非常相似,容易造成混淆,由圖6(h)和圖6(i)的對比結果可知,本文方法仍然能夠較準確預測出目標關鍵點的位置;在圖6(j)中,目標人體的膝關鍵點被遮擋,通過對比圖6(k)和圖6(l),本文方法可以預測出與腳踝相連的膝關鍵點;在圖6(m)中,目標人體由于運動左手腕產生了自遮擋,圖6(n)和圖6(o)的對比結果表明,本文方法可以較好地預測出目標人體的左手腕關鍵點。
本文提出了一種融合注意力機制的人體關鍵姿態估計方法,該方法可以有效提高與特定動作相關的目標關鍵點的識別準確率。本文將手腕、手肘、腳踝作為目標關鍵點,在特征提取階段融入空間和通道注意力機制,降低背景等信息的干擾;在上采樣階段融入通道注意力機制,幫助模型篩選更重要的通道特征。考慮不同關鍵點的重要程度不同,本文設計了一種代價敏感損失來提高目標關鍵點的重要性。在兩個數據集上實驗,目標關鍵點識別準確率分別提高了1.3%和1.5%,表明了本文方法的有效性。如何自動選擇更優的代價敏感因子以及在保證模型識別準確率的基礎上降低模型復雜度是下一步工作的重點。