王柳程,歐陽城添,梁 文
(江西理工大學信息工程學院,江西贛州 341000)
通過識別人類姿態和行為動作解析人的需求是實現人體關鍵點定位的過程。人體姿態在醫療安全監控、醫療殘疾人監護、運動目標檢測、高級人機交互、游戲體感操作、體育運動分析、視頻圖像檢索等領域具有較高的應用價值。
基于深度學習方法,人體姿態估計對二維和三維的人體進行建模,檢測出人體關鍵點位置信息。由于傳統模型匹配方法的局限性[1-3],人體姿態估計主要用深度學習方法解決,其中卷積網絡為首選。混合部件模型基于HOG 等手工特征對人體姿態進行處理[2],但并未得到關鍵點之間空間結構關系。基于卷積神經網絡(Convolutional Neural Networks,CNN)的姿態估計,利用訓練關鍵點的熱點圖獲得關鍵點之間的局部和全局空間關系。
文獻[4]提出DeepPose 對人體關鍵點進行深度神經網絡回歸學習,在人體姿態估計上優于傳統方法,常作為深度學習模型的主干網絡。目前人體姿態估計主要采用CNN 檢測關鍵點,雖然CNN 的深層特征利于類別識別,但不利于對象的定位。大多數神經網絡檢測器只在網絡的頂層進行關鍵點檢測,而特征金字塔網絡(Feature Pyrapaid Networks,FPN)[5]在前向傳播過程中形成一個特征金字塔,獲取不同語義信息并提高檢測小目標的性能。由于FPN 缺乏上下文信息結合,一旦IOU 增大,檢測性能就下降,在人體姿態估計上很難判斷關鍵檢測位置。文獻[6]利用級聯金字塔方法改善檢測關鍵點的性能。文獻[7]利用反卷層將低分辨率特征擴張為原尺度預測關鍵點熱點圖,但并未預測其坐標。大多數人體姿態估計方法對人體關鍵點高斯熱點圖回歸訓練并未直接輸出坐標。文獻[8]采用積分回歸坐標的方法和文獻[9]提出soft-argmax 訓練關鍵點坐標,均使用微分計算取代不可微的argmax 運算,實現關鍵點坐標回歸。
本文提出一種基于改進特征金字塔網絡的人體姿態跟蹤方法。在原特征金字塔網絡的采樣模型基礎上增加多尺度卷積的分支結構和坐標變換層。分支結構提取高分辨率強語義信息的特征,坐標變換層將關鍵點的高斯熱點圖轉為關鍵點的坐標。該網絡具有橫向連接的自頂向下體系結構、提取多尺度特征、判斷關鍵點上下文信息定位難檢測部位、熱點圖到坐標轉換等功能。改進特征金字塔網絡結合特征金字塔結構的低級和高級語義信息特征,實現關鍵點端到端的訓練過程。
整體網絡如圖1 所示。第1 部分為原始特征金字塔結構,由主干網絡前向傳播中產生的特征層組成;第2 部分為改進特征金字塔結構,由原始特征金字塔經過采樣模塊和并行殘差層(Parallel Residual Layers,PRL)后改進而得到;第3 部分為預測模塊,負責對級聯金字塔特征結合上下文信息對關鍵點進行檢測和分類;第4 部分為高斯熱點圖轉換為坐標的過程。

圖1 改進特征金字塔網絡架構Fig.1 Improved pyramid feature network architecture
主干網絡主要以ResNet 結構為主獲取圖片特征。從空間結構分析,主干網絡由從底向上的分支、從頂向下的分支和橫向分支組成。在原始特征金字塔結構基礎上,將采樣模塊和PRL 融合到特征網絡進一步提取圖像特征。為提取關鍵點部位的紋理和形狀等低級語義特征,并增強對難檢測關鍵點部位的搜索性能,在橫向分支增加PRL,串聯PRL 數量依據目標值的分辨率與特征層分辨率關系來定義,改善特征金字塔。
從底向上的分支是由主干網絡前向傳播計算而得,計算不同步長多尺度特征映射組成的特征通道。通常有許多特征通道產生相同尺度的輸出映射,這些通道位于同一個網絡階段,并定義每個階段為一個金字塔網絡層,將conv2、conv3,conv4 和conv5 的輸出特征分別表示為C1、C2、C3和C4,相對于輸入圖像,其步長分別為4、8、16 和32 個像素值寬度。該部分網絡參數如表1 所示。

表1 網絡參數Table 1 The network parameters
若輸入圖片特征為X∈RH×W×C,第0 層x(0)=X,第l層輸入特征為x(l)和網絡權值為W(l),卷積函數為F(·),主干網絡總層數為L,則其前向傳播如式(1)所示:

由式(1)得到特征C1、C2、C3和C4,采樣模型得到的特征如式(2)所示:

其中,yc 為第c 層金字塔變換特征,F (·)為1×1卷積函數,U(·) 為上采樣函數。原始卷積特征經式(2)計算和PRL 處理后組成新的特征金字塔結構,該計算方法如式(3)所示:

其中,FPRL(·)為PRL函數,輸入特征x0=yc,c為第c層改進特征金字塔的特征。
實現改進特征金字塔,過程如下:
1)主干網絡對圖片特征提取,如式(1)所示,建立4 個分辨率和通道數不同的卷積特征。
2)按從上往下的順序取4 層網絡特征{C4,C3,C2,C1}進行2 倍上采樣并壓縮通道數為256 維度。
3)取后3 層網絡特征{C1,C2,C3},分別經過1×1卷積降維處理,壓縮特征的通道數為256 維度。
4)將步驟2)的后3 層網絡特征與步驟3)的3 層特征,結合式(2)計算得到3 層特征。
5)將步驟4)3 層特征與步驟2)的最頂層特征經過式(3)得到新特征金字塔。
并行殘差層是本網絡的重要檢測器。普通的特征金字塔在橫向增加一個3×3 卷積,以消除上采樣混疊效應。但單尺度小型卷積對其進行全卷積滑窗操作,使得滑動窗口對應的特征信息不均勻,采用多尺度卷積使得每層得到均勻的特征[10]。基于多尺度卷積的分支結構能消除混疊影響,獲取均勻特征,并擴大感受野檢測難樣本,壓縮通道數,獲取高分辨率強語義信息的特征,結合上下文判斷較難的關鍵點信息。PRL 如式(4)所示:其中,x為輸入特征,W為對應網絡權重,U(·)為上采樣,σ(·)為激活函數,N為分支數量,y為輸出特征。

本文取分支數量N=2,PRL 結構如圖2 所示,主要由2 個分支組成。第1 個分支是瓶頸模塊[11](Bottleneck),由3 個卷積層、歸一化層和激活層構成:第1 個1×1 卷積核用于特征維度降維,第2 個3×3卷積核對特征下采樣,第3 個1×1 卷積核用于特征維度升維;第2 個分支由3 個卷積層、歸一化層、激活層和上下采樣層構成;對2 個并行分支輸出的結果進行殘差連接獲得新特征。殘差連接符號⊕為元素加法運算,使網絡在反向傳播中深層的梯度能有效傳播到上一層和訓練淺層的網絡層參數。在圖2 中輸入特征向量[d,wc,hc]為原始特征金字塔第c層的特征,經過PRL 輸出為新特征。PRL 保證不同卷積操作輸出的特征圖大小一樣,以便于特征拼接;原始特征在1×1 卷積核降維后由于減少了通道數,經過3×3卷積操作后網絡有效地訓練數據和提取特征;由1×1卷積核恢復特征的原始維度,最終2 倍上采樣對特征分辨率增加2 倍。原始特征經過PRL 串聯結構,得到新特征金字塔作為預測模型1 的輸入特征。

圖2 并行殘差網絡層框架Fig.2 Network framework of parallel residual layers
在人體姿態估計的算法中常用關鍵點的高斯熱點圖監督學習,通過線下用argmax 處理關鍵點概率響應圖得到其坐標。雖然在人體姿態估計中以回歸熱力圖的方法將人體關鍵點坐標映射到熱力圖中高亮部分,產生很好的效果,但仍存在一定缺點:1)高斯熱點圖尺度不能太小,與原圖成1/n倍數關系,本文為1/4;2)原坐標與高斯熱點圖概率最大的位置坐標之間存在量化誤差,即后者返回原圖位置時不能完全對齊,即,比值n越大,其量化誤差變大,則還原原坐標過程的偏差就會越大。
將熱點圖轉為坐標可以解決熱點圖量化后精度缺失的問題。本文提出一種轉換坐標層(Cordinate Transformation Layer,CTL),部分理論參考文獻[12]和文獻[13]。從尺度(wg,hg)的熱點圖到坐標點過程,轉換坐標層如式(5)所示:

根據上述理論,坐標轉換層結構如圖3 所示。函數softmax 對預測模塊2 輸出的高斯熱點圖歸一化處理得到,并聯合概率分布的期望值,均分層將關鍵點坐標轉為均勻分布,生成矩陣X和矩陣Y。將兩個矩陣與進行F 范數運算得關鍵點坐標的置信度,用該置信度求得坐標。

圖3 坐標轉換層結構Fig.3 Coordinate transformer layer structure
預測模型的基本組成結構如圖4 所示。通過結合特征金字塔的上下文信息獲得高語義特征,實現分類關鍵點熱點圖的功能。預測模型1 主要由2 個卷積和1 個上采樣組成,先合并新特征金字塔,經過1×1 卷積降維,再經過3×3 卷積分類出k個關鍵點熱點圖。k個關鍵點熱點圖由上采樣增加尺度。該尺度為預設的高斯圖尺度(wg,hg),其預測結果與標簽值進行損失計算。預測模型2主要由瓶頸模型和3×3卷積構成,瓶頸模型對特征降維減少計算量,有效提取特征,進一步獲取較高層次的特征及其感興趣區間,進而判斷較難檢測的關鍵點部位,分類出k個關鍵點的熱點圖。人體姿態估計流程如圖5 所示,預測模型對標簽熱點圖進行監督訓練,通過網絡對人體姿態估計的流程說明訓練標簽到坐標輸出的過程。

圖4 預測模型結構Fig.4 Prediction mode structure

圖5 人體姿態估計流程Fig.5 Flow of the human pose estimation
預測模塊1的損失函數采用均方誤差,如式(6)所示:

其中,N為行人樣本數,Si為第i個關鍵點高斯熱點圖標簽值,S^i為預測第i個關鍵點高斯熱點圖。
圖1 中L2損失函數如式(7)所示:

其中,λ=1 為正則項系數為CTL 損失函數,第k個關鍵點坐標(x,y)均勻化處理后為向量zk=[(2x-(wg+1))/wg,(2y-(hg+1))/hg],μk為網絡預測坐標值為在預測模塊2 中的熱點圖損失函數為歸一化的熱點圖標簽值。
預測模塊2 的損失函數不同于預測模塊1 的損失函數。前者將坐標和熱點圖值當概率形成聯合概率分布,且坐標則均分處理組成兩個矩陣,與熱點圖歸一化后的矩陣進行F 范數運算,則理想輸出聯合概率分布是二元高斯分布,用MSE 計算概率分布并不合適;而后者并未歸一化處理熱點圖,用MSE 度量損失仍會存在量化偏差[12]。另一方面,由于KL 散度大量用于衡量兩個分布相似性上,但并非具有對稱性,即兩個分布概率值交換位置運算結果是不一樣的,影響網絡學習高斯熱點圖。因為網絡更傾向于學習對稱的高斯聯合概率分布,而其變種JS 散度(Jensen-Shannon)值域范圍是[0,1],且是對稱的。最終本文使用JS 散度,則該損失函數為:

其中,P=N為標簽訓練的高斯分布,σt為標簽的高斯核為預測的聯合概率分布,D(·||·)為JS 離散度。
JS 散度基于KL 散度,求兩種概率分布的相似性,該散度越小則比較的分布越相似,反之相似性低。該離散度如式(9)所示:

綜合式(6)和式(7),網絡損失函數表示為式(10)。

驗證本算法的平臺是Ubuntu19.04,64 位操作系統,i7-4790k CPU,內存24 GB,顯卡GTX 1070 的硬件條件以及CUDA10、cuDNN7.5 和Python3.6 的軟件平臺上進行訓練。網絡預訓練參數使用在Imagenet 數據集的預訓練模型的參數。人體姿態估計數據集采用MPII 和COCO,及其兩種評價指標。
2.1.1 PCKh 評價標準
通過對測試圖像中每個人進行明確的邊界限定來獲得檢測準確率。給定邊界框(h,w),框內的候選區域包含原始關鍵點坐標位置,控制相關閾值得到不同準確率來判斷預測的關鍵點是否定位合理,選擇閾值r=0.5。PCKh 用人體軀干大小替代頭部框大小,將該尺度作為歸一化其他部件的距離。如果檢測關鍵點與標簽關鍵點的歐氏距離在該閾值范圍內,則該檢測結果是正確的。以第k類人體關鍵點為例,PCKh 的計算方式如下:

其中,Pc(k)是第k個關鍵點PCKh 的值,其累加和的均值為最終結果為第i個圖片中第k類人體關鍵點的標簽值為對應關鍵點的預測結果,N為樣本總數,以頭部框的尺度sh結合距離歸一化系數r為判斷條件,該閾值越小表示評價標準越嚴格,PCKh@0.5則表示當r=0.5 時以距離閾值為0.5sh進行對真值與預測值距離比較。
2.1.2 OKS 評價標準
基于COCO 評估指標OKS,AP 是對不同關鍵點類型和人物尺寸的歸一化,是關鍵點之間的平均關鍵點相似度,在[0,1]之間,預測結果越接近原值則越趨向于1,反之為0。OKS 定義如式(12)所示:

其中,d為真值坐標θ(p)與預測坐標之間的度量距離為人體在圖像中所占面積,ki為歸一化因子,δ(νi>0)表示關鍵點可見性大于0。
對人體姿態估計AP為平均精確度,如式(13)所示:

其中,t為給定OKS 的閾值處理,該式預測準確率由測試集所有圖片中人物的OKS 指標計算得到。
在網絡中輸入圖片尺寸,對應MPII 數據集為256像素×256 像素,對應COCO 數據集為256 像素×192 像素和384 像素×288 像素。圖片預處理參數均值M=[0.485,0.456,0.406]和標準差S=[0.229,0.224,0.225]。將人體處于圖像中間,采用隨機旋轉[-45°,45°]、翻轉、鏡像、縮放等數據增擴。MPII 數據集訓練迭代次數為50 次,每批次數據為32;當COCO 數據集圖片尺寸為256像素×192像素和384像素×288像素時,訓練迭代次數分別為30 次和24 次,每批次數據分別為34 和16。優化器為Adam。其參數:計算梯度平方系數為0.5,增加分母的數值為10e-8,權重懲罰系數1e-5;學習速率為5e-4,每隔5 次迭代減少為原來的一半。高斯核大小從底層到頂層分別為7、9、11 和15。
本文分別在MPII、COCO 數據集上進行實驗。
2.3.1 對比實驗結果分析
參考文獻[7]處理MPII 測試集的方法,共2 958張圖片,當輸入圖片尺寸為256 像素×256 像素時,不同方法的關鍵點檢測結果如表2 所示。從表2 可知本文IPFN 在關鍵點平均預測精度高于其他方法,在腳踝、膝蓋、肘、手腕和肩較難檢測的部位,精度高于文獻[5]、文獻[14]和文獻[15],與文獻[16]肘部指標接近,對比文獻[17],手腕和膝蓋精度略低,肘部指標則接近。對比文獻[16],本文IPFN 在腳踝、膝蓋和手腕檢測精度上分別提升了6.94、4.4 和1.13 個百分點;對比基線模型[5],在腳踝、膝蓋、手腕和肘較檢測精度上,IPFN 分別提升了3.95、2.80、2.52 和1.05個百分點;而在較易檢測到的部位提升效果并不明顯。本 文IPFN 無需像Openpose[14]、文 獻[18]、MultiPoseNet[19]等方法對關鍵點進行多個階段校準獲得多尺度特征信息,輸出關鍵點的坐標,只需要進行一次網絡推理得到了更高的精度。對比文獻[17]使用遞歸卷積神經網絡增大感受野區域來獲取圖片特征的方法,本文IPFN 在檢測腳踝上提升了3.04 個百分點,在臀部和肩部分別提升了1.97 和0.65 個百分點。在MPII 驗證集上IPFN 與基線模型的效果對比如圖6 所示。不同迭代次數下兩種模型性能對此如圖7 所示。

圖6 在MPII 驗證集上兩種模型效果Fig.6 The model effect of two algorithms on MPII validation dataset

圖7 不同迭代次數下兩種模型性能對比Fig.7 Performance comparison of two models in different epoch

表2 不同算法在MPII 數據集上的性能比較(PCKh@0.5)Table 2 Performance comparison of various algorithms on MPII dataset(PCKh@0.5)
IPFN方法在整體上要優于基線模型[5]和其他方法,對較難檢測部位的精度普遍高于其他方法,且計算量較少。
從圖7 可以看出,對比基線模型[5],IPFN 在各個訓練階段都保持較好的檢測性能,在難檢測的部位也具有優良的性能。對COCO 數據集則采用2017 年測試集,不同方法的平均準確度如表3 所示。對比采用多尺寸方法CPN,當輸入256 像素×192 像素尺寸的圖片時,本文網絡的AP提高了1.3個百分點;當輸入384像素×288像素尺寸的圖片時,AP 提高了2.1 個百分點。對比文獻[8]采用積分回歸坐標的方法,本文網絡的AP 提高了2.9 個百分點。網絡計算量較低,分別為9.06×109和6.81×109參數時,對比基線模型[5],對應PCKh 均值和AP 分別提升了2.05和3.2個百分點。當輸入圖片尺寸為384像素×288像素時,對比尺寸256像素×192像素,在增加計算量8.52×109下,AP提高了3.5個百分點,說明增大圖片尺寸利于對關鍵點定位,且能有效提高檢測精度。

表3 不同模型在COCO 測試集上性能比較(AP 和AR)Table 3 Performance comparison of different models on COCO dataset(AP and AR)
在256 像素×192 像素尺寸的圖片訓練中基線模型和IPFN的訓練差異如圖8所示。從圖8可以看出,IPFN網絡在COCO 測試集上的平均準確率和召回率得到明顯提升。

圖8 不同迭代次數下兩種模型性能對比Fig.8 Performance comparison of two models in different epoch
在可視化COCO 測試集上不同方法的預測對比如圖9所示。采用其驗證集測試效果,從圖9中可以看出,本文模型在整體上要優于其他方法,從不同視角上對關鍵點部位檢測效果更好,在外物遮擋和肢體交互掩蓋等復雜情況下表現更佳。

圖9 在COCO 測試集上不同方法效果Fig.9 The effect of different algorithms in COCO test dataset
2.3.2 消融實驗結果分析
該試驗對數據增強設置均一致,并得出不同模塊對算法性能的影響。由于COCO 訓練過程耗時較多,選擇在MPII 訓練和測試的結果如表4 所示。與基線模型相比[5],網絡增加PRL 使PCKh@0.5 指標提升了1.71%,在難檢測部位中檢測指標明顯提升,如肘部、手腕、膝蓋和腳踝分別提升了1.33、1.59、2.63 和3.40 個百分點。在PRL 基礎上網絡增加CTL,肘部、手腕、臀部、膝蓋和腳踝的檢測指標有提升,對比PRL 分別提升了0.72、0.93、0.14、0.17 和0.55 個百分點,說明坐標轉換層在解決熱點圖量化后精度缺失問題上有一定效果。

表4 在MPII 測試集上不同組件的PCKh@0.5 比較Table 4 PCKh@0.5 comparison of different components on MPII test dataset
本文針對人體姿態估計問題,提出一種改進特征金字塔網絡模型。該模型結合低級和高級語義信息特征以實現關鍵點端到端訓練過程。實驗結果表明,在MPII和COCO 數據集上,IPFN 模型檢測精度高于傳統特征金字塔網絡,模型計算量對難檢測部位的檢測效果具有較高準確率。在人體姿態估計中,多尺度檢測具有運算量大、訓練和測試復雜度極高等特點,下一步將通過改進的IPFN 模型降低復雜度和優化網絡推理速度,并結合不同損失函數加強網絡泛化能力和提高關鍵點識別精度。