王柳程,歐陽城添,梁 文
(江西理工大學信息工程學院,江西贛州 341000)
通過識別人類姿態(tài)和行為動作解析人的需求是實現(xiàn)人體關(guān)鍵點定位的過程。人體姿態(tài)在醫(yī)療安全監(jiān)控、醫(yī)療殘疾人監(jiān)護、運動目標檢測、高級人機交互、游戲體感操作、體育運動分析、視頻圖像檢索等領(lǐng)域具有較高的應用價值。
基于深度學習方法,人體姿態(tài)估計對二維和三維的人體進行建模,檢測出人體關(guān)鍵點位置信息。由于傳統(tǒng)模型匹配方法的局限性[1-3],人體姿態(tài)估計主要用深度學習方法解決,其中卷積網(wǎng)絡(luò)為首選?;旌喜考P突贖OG 等手工特征對人體姿態(tài)進行處理[2],但并未得到關(guān)鍵點之間空間結(jié)構(gòu)關(guān)系?;诰矸e神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的姿態(tài)估計,利用訓練關(guān)鍵點的熱點圖獲得關(guān)鍵點之間的局部和全局空間關(guān)系。
文獻[4]提出DeepPose 對人體關(guān)鍵點進行深度神經(jīng)網(wǎng)絡(luò)回歸學習,在人體姿態(tài)估計上優(yōu)于傳統(tǒng)方法,常作為深度學習模型的主干網(wǎng)絡(luò)。目前人體姿態(tài)估計主要采用CNN 檢測關(guān)鍵點,雖然CNN 的深層特征利于類別識別,但不利于對象的定位。大多數(shù)神經(jīng)網(wǎng)絡(luò)檢測器只在網(wǎng)絡(luò)的頂層進行關(guān)鍵點檢測,而特征金字塔網(wǎng)絡(luò)(Feature Pyrapaid Networks,F(xiàn)PN)[5]在前向傳播過程中形成一個特征金字塔,獲取不同語義信息并提高檢測小目標的性能。由于FPN 缺乏上下文信息結(jié)合,一旦IOU 增大,檢測性能就下降,在人體姿態(tài)估計上很難判斷關(guān)鍵檢測位置。文獻[6]利用級聯(lián)金字塔方法改善檢測關(guān)鍵點的性能。文獻[7]利用反卷層將低分辨率特征擴張為原尺度預測關(guān)鍵點熱點圖,但并未預測其坐標。大多數(shù)人體姿態(tài)估計方法對人體關(guān)鍵點高斯熱點圖回歸訓練并未直接輸出坐標。文獻[8]采用積分回歸坐標的方法和文獻[9]提出soft-argmax 訓練關(guān)鍵點坐標,均使用微分計算取代不可微的argmax 運算,實現(xiàn)關(guān)鍵點坐標回歸。
本文提出一種基于改進特征金字塔網(wǎng)絡(luò)的人體姿態(tài)跟蹤方法。在原特征金字塔網(wǎng)絡(luò)的采樣模型基礎(chǔ)上增加多尺度卷積的分支結(jié)構(gòu)和坐標變換層。分支結(jié)構(gòu)提取高分辨率強語義信息的特征,坐標變換層將關(guān)鍵點的高斯熱點圖轉(zhuǎn)為關(guān)鍵點的坐標。該網(wǎng)絡(luò)具有橫向連接的自頂向下體系結(jié)構(gòu)、提取多尺度特征、判斷關(guān)鍵點上下文信息定位難檢測部位、熱點圖到坐標轉(zhuǎn)換等功能。改進特征金字塔網(wǎng)絡(luò)結(jié)合特征金字塔結(jié)構(gòu)的低級和高級語義信息特征,實現(xiàn)關(guān)鍵點端到端的訓練過程。
整體網(wǎng)絡(luò)如圖1 所示。第1 部分為原始特征金字塔結(jié)構(gòu),由主干網(wǎng)絡(luò)前向傳播中產(chǎn)生的特征層組成;第2 部分為改進特征金字塔結(jié)構(gòu),由原始特征金字塔經(jīng)過采樣模塊和并行殘差層(Parallel Residual Layers,PRL)后改進而得到;第3 部分為預測模塊,負責對級聯(lián)金字塔特征結(jié)合上下文信息對關(guān)鍵點進行檢測和分類;第4 部分為高斯熱點圖轉(zhuǎn)換為坐標的過程。
圖1 改進特征金字塔網(wǎng)絡(luò)架構(gòu)Fig.1 Improved pyramid feature network architecture
主干網(wǎng)絡(luò)主要以ResNet 結(jié)構(gòu)為主獲取圖片特征。從空間結(jié)構(gòu)分析,主干網(wǎng)絡(luò)由從底向上的分支、從頂向下的分支和橫向分支組成。在原始特征金字塔結(jié)構(gòu)基礎(chǔ)上,將采樣模塊和PRL 融合到特征網(wǎng)絡(luò)進一步提取圖像特征。為提取關(guān)鍵點部位的紋理和形狀等低級語義特征,并增強對難檢測關(guān)鍵點部位的搜索性能,在橫向分支增加PRL,串聯(lián)PRL 數(shù)量依據(jù)目標值的分辨率與特征層分辨率關(guān)系來定義,改善特征金字塔。
從底向上的分支是由主干網(wǎng)絡(luò)前向傳播計算而得,計算不同步長多尺度特征映射組成的特征通道。通常有許多特征通道產(chǎn)生相同尺度的輸出映射,這些通道位于同一個網(wǎng)絡(luò)階段,并定義每個階段為一個金字塔網(wǎng)絡(luò)層,將conv2、conv3,conv4 和conv5 的輸出特征分別表示為C1、C2、C3和C4,相對于輸入圖像,其步長分別為4、8、16 和32 個像素值寬度。該部分網(wǎng)絡(luò)參數(shù)如表1 所示。
表1 網(wǎng)絡(luò)參數(shù)Table 1 The network parameters
若輸入圖片特征為X∈RH×W×C,第0 層x(0)=X,第l層輸入特征為x(l)和網(wǎng)絡(luò)權(quán)值為W(l),卷積函數(shù)為F(·),主干網(wǎng)絡(luò)總層數(shù)為L,則其前向傳播如式(1)所示:
由式(1)得到特征C1、C2、C3和C4,采樣模型得到的特征如式(2)所示:
其中,yc 為第c 層金字塔變換特征,F(xiàn) (·)為1×1卷積函數(shù),U(·) 為上采樣函數(shù)。原始卷積特征經(jīng)式(2)計算和PRL 處理后組成新的特征金字塔結(jié)構(gòu),該計算方法如式(3)所示:
其中,F(xiàn)PRL(·)為PRL函數(shù),輸入特征x0=yc,c為第c層改進特征金字塔的特征。
實現(xiàn)改進特征金字塔,過程如下:
1)主干網(wǎng)絡(luò)對圖片特征提取,如式(1)所示,建立4 個分辨率和通道數(shù)不同的卷積特征。
2)按從上往下的順序取4 層網(wǎng)絡(luò)特征{C4,C3,C2,C1}進行2 倍上采樣并壓縮通道數(shù)為256 維度。
3)取后3 層網(wǎng)絡(luò)特征{C1,C2,C3},分別經(jīng)過1×1卷積降維處理,壓縮特征的通道數(shù)為256 維度。
4)將步驟2)的后3 層網(wǎng)絡(luò)特征與步驟3)的3 層特征,結(jié)合式(2)計算得到3 層特征。
5)將步驟4)3 層特征與步驟2)的最頂層特征經(jīng)過式(3)得到新特征金字塔。
并行殘差層是本網(wǎng)絡(luò)的重要檢測器。普通的特征金字塔在橫向增加一個3×3 卷積,以消除上采樣混疊效應。但單尺度小型卷積對其進行全卷積滑窗操作,使得滑動窗口對應的特征信息不均勻,采用多尺度卷積使得每層得到均勻的特征[10]?;诙喑叨染矸e的分支結(jié)構(gòu)能消除混疊影響,獲取均勻特征,并擴大感受野檢測難樣本,壓縮通道數(shù),獲取高分辨率強語義信息的特征,結(jié)合上下文判斷較難的關(guān)鍵點信息。PRL 如式(4)所示:其中,x為輸入特征,W為對應網(wǎng)絡(luò)權(quán)重,U(·)為上采樣,σ(·)為激活函數(shù),N為分支數(shù)量,y為輸出特征。
本文取分支數(shù)量N=2,PRL 結(jié)構(gòu)如圖2 所示,主要由2 個分支組成。第1 個分支是瓶頸模塊[11](Bottleneck),由3 個卷積層、歸一化層和激活層構(gòu)成:第1 個1×1 卷積核用于特征維度降維,第2 個3×3卷積核對特征下采樣,第3 個1×1 卷積核用于特征維度升維;第2 個分支由3 個卷積層、歸一化層、激活層和上下采樣層構(gòu)成;對2 個并行分支輸出的結(jié)果進行殘差連接獲得新特征。殘差連接符號⊕為元素加法運算,使網(wǎng)絡(luò)在反向傳播中深層的梯度能有效傳播到上一層和訓練淺層的網(wǎng)絡(luò)層參數(shù)。在圖2 中輸入特征向量[d,wc,hc]為原始特征金字塔第c層的特征,經(jīng)過PRL 輸出為新特征。PRL 保證不同卷積操作輸出的特征圖大小一樣,以便于特征拼接;原始特征在1×1 卷積核降維后由于減少了通道數(shù),經(jīng)過3×3卷積操作后網(wǎng)絡(luò)有效地訓練數(shù)據(jù)和提取特征;由1×1卷積核恢復特征的原始維度,最終2 倍上采樣對特征分辨率增加2 倍。原始特征經(jīng)過PRL 串聯(lián)結(jié)構(gòu),得到新特征金字塔作為預測模型1 的輸入特征。
圖2 并行殘差網(wǎng)絡(luò)層框架Fig.2 Network framework of parallel residual layers
在人體姿態(tài)估計的算法中常用關(guān)鍵點的高斯熱點圖監(jiān)督學習,通過線下用argmax 處理關(guān)鍵點概率響應圖得到其坐標。雖然在人體姿態(tài)估計中以回歸熱力圖的方法將人體關(guān)鍵點坐標映射到熱力圖中高亮部分,產(chǎn)生很好的效果,但仍存在一定缺點:1)高斯熱點圖尺度不能太小,與原圖成1/n倍數(shù)關(guān)系,本文為1/4;2)原坐標與高斯熱點圖概率最大的位置坐標之間存在量化誤差,即后者返回原圖位置時不能完全對齊,即,比值n越大,其量化誤差變大,則還原原坐標過程的偏差就會越大。
將熱點圖轉(zhuǎn)為坐標可以解決熱點圖量化后精度缺失的問題。本文提出一種轉(zhuǎn)換坐標層(Cordinate Transformation Layer,CTL),部分理論參考文獻[12]和文獻[13]。從尺度(wg,hg)的熱點圖到坐標點過程,轉(zhuǎn)換坐標層如式(5)所示:
根據(jù)上述理論,坐標轉(zhuǎn)換層結(jié)構(gòu)如圖3 所示。函數(shù)softmax 對預測模塊2 輸出的高斯熱點圖歸一化處理得到,并聯(lián)合概率分布的期望值,均分層將關(guān)鍵點坐標轉(zhuǎn)為均勻分布,生成矩陣X和矩陣Y。將兩個矩陣與進行F 范數(shù)運算得關(guān)鍵點坐標的置信度,用該置信度求得坐標。
圖3 坐標轉(zhuǎn)換層結(jié)構(gòu)Fig.3 Coordinate transformer layer structure
預測模型的基本組成結(jié)構(gòu)如圖4 所示。通過結(jié)合特征金字塔的上下文信息獲得高語義特征,實現(xiàn)分類關(guān)鍵點熱點圖的功能。預測模型1 主要由2 個卷積和1 個上采樣組成,先合并新特征金字塔,經(jīng)過1×1 卷積降維,再經(jīng)過3×3 卷積分類出k個關(guān)鍵點熱點圖。k個關(guān)鍵點熱點圖由上采樣增加尺度。該尺度為預設(shè)的高斯圖尺度(wg,hg),其預測結(jié)果與標簽值進行損失計算。預測模型2主要由瓶頸模型和3×3卷積構(gòu)成,瓶頸模型對特征降維減少計算量,有效提取特征,進一步獲取較高層次的特征及其感興趣區(qū)間,進而判斷較難檢測的關(guān)鍵點部位,分類出k個關(guān)鍵點的熱點圖。人體姿態(tài)估計流程如圖5 所示,預測模型對標簽熱點圖進行監(jiān)督訓練,通過網(wǎng)絡(luò)對人體姿態(tài)估計的流程說明訓練標簽到坐標輸出的過程。
圖4 預測模型結(jié)構(gòu)Fig.4 Prediction mode structure
圖5 人體姿態(tài)估計流程Fig.5 Flow of the human pose estimation
預測模塊1的損失函數(shù)采用均方誤差,如式(6)所示:
其中,N為行人樣本數(shù),Si為第i個關(guān)鍵點高斯熱點圖標簽值,S^i為預測第i個關(guān)鍵點高斯熱點圖。
圖1 中L2損失函數(shù)如式(7)所示:
其中,λ=1 為正則項系數(shù)為CTL 損失函數(shù),第k個關(guān)鍵點坐標(x,y)均勻化處理后為向量zk=[(2x-(wg+1))/wg,(2y-(hg+1))/hg],μk為網(wǎng)絡(luò)預測坐標值為在預測模塊2 中的熱點圖損失函數(shù)為歸一化的熱點圖標簽值。
預測模塊2 的損失函數(shù)不同于預測模塊1 的損失函數(shù)。前者將坐標和熱點圖值當概率形成聯(lián)合概率分布,且坐標則均分處理組成兩個矩陣,與熱點圖歸一化后的矩陣進行F 范數(shù)運算,則理想輸出聯(lián)合概率分布是二元高斯分布,用MSE 計算概率分布并不合適;而后者并未歸一化處理熱點圖,用MSE 度量損失仍會存在量化偏差[12]。另一方面,由于KL 散度大量用于衡量兩個分布相似性上,但并非具有對稱性,即兩個分布概率值交換位置運算結(jié)果是不一樣的,影響網(wǎng)絡(luò)學習高斯熱點圖。因為網(wǎng)絡(luò)更傾向于學習對稱的高斯聯(lián)合概率分布,而其變種JS 散度(Jensen-Shannon)值域范圍是[0,1],且是對稱的。最終本文使用JS 散度,則該損失函數(shù)為:
其中,P=N為標簽訓練的高斯分布,σt為標簽的高斯核為預測的聯(lián)合概率分布,D(·||·)為JS 離散度。
JS 散度基于KL 散度,求兩種概率分布的相似性,該散度越小則比較的分布越相似,反之相似性低。該離散度如式(9)所示:
綜合式(6)和式(7),網(wǎng)絡(luò)損失函數(shù)表示為式(10)。
驗證本算法的平臺是Ubuntu19.04,64 位操作系統(tǒng),i7-4790k CPU,內(nèi)存24 GB,顯卡GTX 1070 的硬件條件以及CUDA10、cuDNN7.5 和Python3.6 的軟件平臺上進行訓練。網(wǎng)絡(luò)預訓練參數(shù)使用在Imagenet 數(shù)據(jù)集的預訓練模型的參數(shù)。人體姿態(tài)估計數(shù)據(jù)集采用MPII 和COCO,及其兩種評價指標。
2.1.1 PCKh 評價標準
通過對測試圖像中每個人進行明確的邊界限定來獲得檢測準確率。給定邊界框(h,w),框內(nèi)的候選區(qū)域包含原始關(guān)鍵點坐標位置,控制相關(guān)閾值得到不同準確率來判斷預測的關(guān)鍵點是否定位合理,選擇閾值r=0.5。PCKh 用人體軀干大小替代頭部框大小,將該尺度作為歸一化其他部件的距離。如果檢測關(guān)鍵點與標簽關(guān)鍵點的歐氏距離在該閾值范圍內(nèi),則該檢測結(jié)果是正確的。以第k類人體關(guān)鍵點為例,PCKh 的計算方式如下:
其中,Pc(k)是第k個關(guān)鍵點PCKh 的值,其累加和的均值為最終結(jié)果為第i個圖片中第k類人體關(guān)鍵點的標簽值為對應關(guān)鍵點的預測結(jié)果,N為樣本總數(shù),以頭部框的尺度sh結(jié)合距離歸一化系數(shù)r為判斷條件,該閾值越小表示評價標準越嚴格,PCKh@0.5則表示當r=0.5 時以距離閾值為0.5sh進行對真值與預測值距離比較。
2.1.2 OKS 評價標準
基于COCO 評估指標OKS,AP 是對不同關(guān)鍵點類型和人物尺寸的歸一化,是關(guān)鍵點之間的平均關(guān)鍵點相似度,在[0,1]之間,預測結(jié)果越接近原值則越趨向于1,反之為0。OKS 定義如式(12)所示:
其中,d為真值坐標θ(p)與預測坐標之間的度量距離為人體在圖像中所占面積,ki為歸一化因子,δ(νi>0)表示關(guān)鍵點可見性大于0。
對人體姿態(tài)估計AP為平均精確度,如式(13)所示:
其中,t為給定OKS 的閾值處理,該式預測準確率由測試集所有圖片中人物的OKS 指標計算得到。
在網(wǎng)絡(luò)中輸入圖片尺寸,對應MPII 數(shù)據(jù)集為256像素×256 像素,對應COCO 數(shù)據(jù)集為256 像素×192 像素和384 像素×288 像素。圖片預處理參數(shù)均值M=[0.485,0.456,0.406]和標準差S=[0.229,0.224,0.225]。將人體處于圖像中間,采用隨機旋轉(zhuǎn)[-45°,45°]、翻轉(zhuǎn)、鏡像、縮放等數(shù)據(jù)增擴。MPII 數(shù)據(jù)集訓練迭代次數(shù)為50 次,每批次數(shù)據(jù)為32;當COCO 數(shù)據(jù)集圖片尺寸為256像素×192像素和384像素×288像素時,訓練迭代次數(shù)分別為30 次和24 次,每批次數(shù)據(jù)分別為34 和16。優(yōu)化器為Adam。其參數(shù):計算梯度平方系數(shù)為0.5,增加分母的數(shù)值為10e-8,權(quán)重懲罰系數(shù)1e-5;學習速率為5e-4,每隔5 次迭代減少為原來的一半。高斯核大小從底層到頂層分別為7、9、11 和15。
本文分別在MPII、COCO 數(shù)據(jù)集上進行實驗。
2.3.1 對比實驗結(jié)果分析
參考文獻[7]處理MPII 測試集的方法,共2 958張圖片,當輸入圖片尺寸為256 像素×256 像素時,不同方法的關(guān)鍵點檢測結(jié)果如表2 所示。從表2 可知本文IPFN 在關(guān)鍵點平均預測精度高于其他方法,在腳踝、膝蓋、肘、手腕和肩較難檢測的部位,精度高于文獻[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]等方法對關(guān)鍵點進行多個階段校準獲得多尺度特征信息,輸出關(guān)鍵點的坐標,只需要進行一次網(wǎng)絡(luò)推理得到了更高的精度。對比文獻[17]使用遞歸卷積神經(jīng)網(wǎng)絡(luò)增大感受野區(qū)域來獲取圖片特征的方法,本文IPFN 在檢測腳踝上提升了3.04 個百分點,在臀部和肩部分別提升了1.97 和0.65 個百分點。在MPII 驗證集上IPFN 與基線模型的效果對比如圖6 所示。不同迭代次數(shù)下兩種模型性能對此如圖7 所示。
圖6 在MPII 驗證集上兩種模型效果Fig.6 The model effect of two algorithms on MPII validation dataset
圖7 不同迭代次數(shù)下兩種模型性能對比Fig.7 Performance comparison of two models in different epoch
表2 不同算法在MPII 數(shù)據(jù)集上的性能比較(PCKh@0.5)Table 2 Performance comparison of various algorithms on MPII dataset(PCKh@0.5)
IPFN方法在整體上要優(yōu)于基線模型[5]和其他方法,對較難檢測部位的精度普遍高于其他方法,且計算量較少。
從圖7 可以看出,對比基線模型[5],IPFN 在各個訓練階段都保持較好的檢測性能,在難檢測的部位也具有優(yōu)良的性能。對COCO 數(shù)據(jù)集則采用2017 年測試集,不同方法的平均準確度如表3 所示。對比采用多尺寸方法CPN,當輸入256 像素×192 像素尺寸的圖片時,本文網(wǎng)絡(luò)的AP提高了1.3個百分點;當輸入384像素×288像素尺寸的圖片時,AP 提高了2.1 個百分點。對比文獻[8]采用積分回歸坐標的方法,本文網(wǎng)絡(luò)的AP 提高了2.9 個百分點。網(wǎng)絡(luò)計算量較低,分別為9.06×109和6.81×109參數(shù)時,對比基線模型[5],對應PCKh 均值和AP 分別提升了2.05和3.2個百分點。當輸入圖片尺寸為384像素×288像素時,對比尺寸256像素×192像素,在增加計算量8.52×109下,AP提高了3.5個百分點,說明增大圖片尺寸利于對關(guān)鍵點定位,且能有效提高檢測精度。
表3 不同模型在COCO 測試集上性能比較(AP 和AR)Table 3 Performance comparison of different models on COCO dataset(AP and AR)
在256 像素×192 像素尺寸的圖片訓練中基線模型和IPFN的訓練差異如圖8所示。從圖8可以看出,IPFN網(wǎng)絡(luò)在COCO 測試集上的平均準確率和召回率得到明顯提升。
圖8 不同迭代次數(shù)下兩種模型性能對比Fig.8 Performance comparison of two models in different epoch
在可視化COCO 測試集上不同方法的預測對比如圖9所示。采用其驗證集測試效果,從圖9中可以看出,本文模型在整體上要優(yōu)于其他方法,從不同視角上對關(guān)鍵點部位檢測效果更好,在外物遮擋和肢體交互掩蓋等復雜情況下表現(xiàn)更佳。
圖9 在COCO 測試集上不同方法效果Fig.9 The effect of different algorithms in COCO test dataset
2.3.2 消融實驗結(jié)果分析
該試驗對數(shù)據(jù)增強設(shè)置均一致,并得出不同模塊對算法性能的影響。由于COCO 訓練過程耗時較多,選擇在MPII 訓練和測試的結(jié)果如表4 所示。與基線模型相比[5],網(wǎng)絡(luò)增加PRL 使PCKh@0.5 指標提升了1.71%,在難檢測部位中檢測指標明顯提升,如肘部、手腕、膝蓋和腳踝分別提升了1.33、1.59、2.63 和3.40 個百分點。在PRL 基礎(chǔ)上網(wǎng)絡(luò)增加CTL,肘部、手腕、臀部、膝蓋和腳踝的檢測指標有提升,對比PRL 分別提升了0.72、0.93、0.14、0.17 和0.55 個百分點,說明坐標轉(zhuǎn)換層在解決熱點圖量化后精度缺失問題上有一定效果。
表4 在MPII 測試集上不同組件的PCKh@0.5 比較Table 4 PCKh@0.5 comparison of different components on MPII test dataset
本文針對人體姿態(tài)估計問題,提出一種改進特征金字塔網(wǎng)絡(luò)模型。該模型結(jié)合低級和高級語義信息特征以實現(xiàn)關(guān)鍵點端到端訓練過程。實驗結(jié)果表明,在MPII和COCO 數(shù)據(jù)集上,IPFN 模型檢測精度高于傳統(tǒng)特征金字塔網(wǎng)絡(luò),模型計算量對難檢測部位的檢測效果具有較高準確率。在人體姿態(tài)估計中,多尺度檢測具有運算量大、訓練和測試復雜度極高等特點,下一步將通過改進的IPFN 模型降低復雜度和優(yōu)化網(wǎng)絡(luò)推理速度,并結(jié)合不同損失函數(shù)加強網(wǎng)絡(luò)泛化能力和提高關(guān)鍵點識別精度。