牛 悅, 王安南, 吳勝昔
(華東理工大學(xué)能源化工過程智能制造教育部重點(diǎn)實驗室,上海 200237)
姿態(tài)估計通常是指識別和定位圖像中的人體關(guān)鍵點(diǎn),它是人體動作識別和人機(jī)交互等許多計算機(jī)視覺研究方向的基礎(chǔ)課題。早期的人體姿態(tài)估計被表述為樹形圖形結(jié)構(gòu)模型[1-6]的問題,一般采用手工標(biāo)注關(guān)鍵點(diǎn)位置來預(yù)測特征。近年來,依賴于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[7]的發(fā)展,姿態(tài)估計網(wǎng)絡(luò)的性能得到極大的改善,但在一些特殊場景如視頻安監(jiān)人員危險作業(yè)的拍攝過程中,往往人員稀少且常出現(xiàn)人體部分區(qū)域被物體遮擋或重疊的情況,難以獲取包含人體所有關(guān)鍵點(diǎn)的圖像,這給人體姿態(tài)估計任務(wù)帶來很大的挑戰(zhàn)。
DeepPose[8]首次使用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)獲取人體全部關(guān)鍵點(diǎn)的上下文信息,將人體姿態(tài)估計作為關(guān)鍵點(diǎn)回歸問題。堆疊沙漏網(wǎng)絡(luò)(Stacked Hourglass Networks)[9]利用下采樣和上采樣模塊來處理和整合各個尺度的特征,通過生成熱圖[10]捕捉人體關(guān)鍵點(diǎn)之間的空間關(guān)系。Simple Baselines 網(wǎng)絡(luò)[11]提供了一個簡單的基線方法用于人體姿態(tài)估計,雖然這兩個模型可以提高姿態(tài)估計的性能,但其中的上采樣和反卷積操作會導(dǎo)致部分信息損失從而無法準(zhǔn)確定位關(guān)鍵點(diǎn)。高分辨率網(wǎng)絡(luò)(High-Resolution Network,HRNet)[12]通過一系列的卷積和多尺度特征融合可以得到包含更豐富語義信息和更精確空間位置信息的高分辨率表征,但計算量繁雜且需要一定的存儲空間來保存各個尺度特征信息。級聯(lián)金字塔網(wǎng)絡(luò)(Cascaded Pyramid Network,CPN)[13]由全局網(wǎng)絡(luò)(GlobalNet)和精煉網(wǎng)絡(luò)(RefineNet)組成,GlobalNet基于類似特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)的主干網(wǎng)絡(luò)提取足夠的上下文信息以識別簡單關(guān)鍵點(diǎn),RefineNet 將來自GlobalNet的所有尺度的特征進(jìn)行處理并融合,結(jié)合在線困難關(guān)鍵點(diǎn)挖掘(Online Hard Keypoint Mining, OHKM)算法對困難關(guān)鍵點(diǎn)進(jìn)行預(yù)測,使模型對被遮擋人體關(guān)鍵點(diǎn)的檢測性能得到進(jìn)一步改善。
在特征提取網(wǎng)絡(luò)中添加注意力機(jī)制[14]可以讓模型自適應(yīng)地尋找需要關(guān)注的區(qū)域并對該部分分配更大的權(quán)重,突出重要特征并抑制和忽略無關(guān)特征以提高網(wǎng)絡(luò)的表示能力。STN[15]引入了一個可學(xué)習(xí)的空間維度轉(zhuǎn)換模塊,使模型具有空間不變性。SENet[16]從通道維度上得到權(quán)重矩陣對特征進(jìn)行重構(gòu),它沒有充分利用空間信息,同時也忽略了使用最大池化操作進(jìn)一步細(xì)化特征。殘差注意力網(wǎng)絡(luò)(Residual Attention Network)[17]是兼顧通道抽象特征和空間位置特征信息的混合注意力機(jī)制,但其參數(shù)量和計算量較大。具有廣泛適用性的卷積塊注意力機(jī)制(Convolutional Block Attention Module,CBAM)[18]將通道和空間信息混合在一起進(jìn)行特征提取,它利用平均池化和最大池化生成注意力圖,依次通過通道和空間注意力模塊來重構(gòu)細(xì)化特征。
綜上所述,本文以CPN 作為被遮擋人體姿態(tài)估計的整體網(wǎng)絡(luò)架構(gòu),提出一種結(jié)合注意力機(jī)制的級聯(lián)金字塔模型CBAM-CPN。本文模型的整體架構(gòu)遵循自上而下的檢測方法,首先使用類似于FPN 的目標(biāo)檢測器找到人體邊界框的位置,再在其中用CBAM-CPN 進(jìn)行姿態(tài)估計;將深度殘差網(wǎng)絡(luò)ResNet-50[19]作為提取不同尺度特征圖的基礎(chǔ)框架,并把CBAM 注意力機(jī)制引入殘差模塊的Bottleneck 之后,含注意力機(jī)制的深度殘差網(wǎng)絡(luò)將會提取更豐富的特征信息,這使得模型能夠檢測人體目標(biāo)和精準(zhǔn)識別被遮擋關(guān)鍵點(diǎn);同時在RefineNet 中使用OHKM 算法來計算損失函數(shù),給予了難以識別的關(guān)鍵點(diǎn)更多的關(guān)注,從而使模型精確度進(jìn)一步提高。
CBAM-CPN 的整體框架包括特征提取網(wǎng)絡(luò)和級聯(lián)金字塔姿態(tài)估計網(wǎng)絡(luò),如圖1 所示,其中Ci是不同級別的特征圖。
圖1 CBAM-CPN 整體框架Fig.1 Framework of the CBAM-CPN
相同深度的殘差網(wǎng)絡(luò)相較于普通網(wǎng)絡(luò)精確度顯著提高且更容易訓(xùn)練。為了進(jìn)一步提升網(wǎng)絡(luò)的檢測性能,在考慮使用ResNet 作為主干網(wǎng)絡(luò)的基礎(chǔ)上,本文將能夠無縫集成到任何CNN 中的簡單高效的CBAM 注意力機(jī)制添加到殘差分支中。CBAM 是一個用于前饋卷積神經(jīng)網(wǎng)絡(luò)且具有廣泛適用性的輕量級通用模塊,對網(wǎng)絡(luò)的效率幾乎沒有影響,并且可以與CNN 一起進(jìn)行端到端的訓(xùn)練,使網(wǎng)絡(luò)自適應(yīng)地提取重要特征的同時抑制或忽視不必要的特征,以此來增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力,也有助于網(wǎng)絡(luò)中的信息傳遞。
CPN 包括GlobalNet 和RefineNet 兩個模塊。GlobalNet 網(wǎng)絡(luò)架構(gòu)基于添加了CBAM 的ResNet 主干能提取不同層級的特征表示,它可以提供豐富的信息。該網(wǎng)絡(luò)能夠有效定位容易識別的關(guān)鍵點(diǎn),對于精確預(yù)測被遮擋或重疊的關(guān)鍵點(diǎn)卻無能為力。雖然存在許多難以通過單個GlobalNet 直接識別的關(guān)鍵點(diǎn),但GlobalNet 的輸出對于推斷這些關(guān)鍵點(diǎn)的位置是至關(guān)重要的。為了提高效率并保持信息傳輸?shù)耐暾裕琑efineNet 通過拼接來自GlobalNet 的所有尺寸的特征圖,實現(xiàn)跨不同層級傳輸信息,再借助OHKM算法計算損失函數(shù)來預(yù)測余下的困難關(guān)鍵點(diǎn)。
為了提供給姿態(tài)估計網(wǎng)絡(luò)更豐富的特征信息,將引入了CBAM 注意力機(jī)制的ResNet-50 作為模型的特征提取網(wǎng)絡(luò)。
2.1.1 殘差網(wǎng)絡(luò) 由于ResNet 更容易訓(xùn)練且只需簡單地將殘差映射的權(quán)重置零就可以擬合普通網(wǎng)絡(luò)難以擬合的恒等映射。根據(jù)網(wǎng)絡(luò)的層數(shù),將常見的ResNet 進(jìn)行分類,如表1 所示。
表1 常見ResNet 網(wǎng)絡(luò)的結(jié)構(gòu)Table 1 The structure of common ResNet
針對ResNet-50 這類殘差映射為瓶頸結(jié)構(gòu)的深層網(wǎng)絡(luò),通常用 1×1 卷積進(jìn)行降維和升維來解決輸入特征圖通道維度較大帶來的參數(shù)量增多的問題。RseNet-50 的通道數(shù)是不含瓶頸結(jié)構(gòu)的殘差網(wǎng)絡(luò)的4 倍,這意味著它較后者可以提取更多的通道域信息,但 1×1 卷積操作使得二者具有相似的時間復(fù)雜度,即ResNet-50 在模型容量和性能上有一個較好的權(quán)衡。
本文用ResNet-50 來提取特征,它由多個殘差模塊堆疊而成。殘差模塊如圖2 所示。
圖2 殘差模塊Fig.2 Residual module
用式(1)表示為:
其中:x、y分別是殘差模塊的輸入與輸出特征圖。函數(shù)F(x) 為由3 層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的殘差映射。用式(2)表示為:
式中: σ 表示ReLU 激活函數(shù)。
在ResNet-50 的殘差映射F(x) 中,對輸入依次進(jìn)行 1×1 、 3×3 和 1×1 卷積操作用以降維、特征處理和升維,將輸出的維數(shù)恢復(fù)后,與恒等映射的輸出逐元素相加,再對其使用ReLU 激活函數(shù)。
ResNet-50 一共有5 個階段,其整體結(jié)構(gòu)如圖3所示。
圖3 ResNet-50 整體結(jié)構(gòu)Fig.3 Structure of ResNet-50
在一個階段內(nèi),殘差模塊輸出特征圖尺度不變,維度與恒等映射的輸出相同,二者直接逐元素相加;進(jìn)入到下一階段后,在第一個殘差模塊中使用步長為2 的卷積進(jìn)行下采樣,特征圖大小減半且通道數(shù)發(fā)生改變,需要用 1×1 卷積處理恒等映射來匹配維度,用式(3)表示為:
因為每個階段的最深層模塊具有最豐富的特征表示,所以將第2~5 個階段中最后一個殘差模塊的特征激活輸出,以提取4 種不同深度的圖像特征信息用于人體姿態(tài)估計。
2.1.2 CBAM 注意力機(jī)制 為了進(jìn)一步增強(qiáng)特征提取網(wǎng)絡(luò)的表達(dá)能力,在ResNet-50 的殘差模塊中加入即插即用的輕量級的CBAM 注意力機(jī)制,如圖4 所示。
圖4 加入CBAM 注意力機(jī)制的殘差模塊Fig.4 Residual module with CBAM attention mechanism added
特征圖 Feature ∈RC×H×W為CBAM 的輸入,其中C、H、W分別為通道數(shù)、高和寬。
因為生成單一維度的注意力圖需要較少的參數(shù)量和計算成本,所以針對三維輸入特征圖,CBAM 通過分解過程依次得到一維的通道注意力圖和二維的空間注意力圖,通過二者自適應(yīng)地細(xì)化輸入特征圖,而不是直接計算三維的注意力圖,用式(4)和式(5)表示為:
式中: ? 表示逐元素乘法,Mc∈RC×1×1是通道注意力機(jī)制生成的權(quán)重矩陣即通道注意力圖, Feature′是通道注意力模塊的輸出,Ms∈R1×H×W是空間注意力圖,F(xiàn)eature′′是空間注意力模塊的輸出。
通道注意力機(jī)制壓縮了輸入特征圖的空間維度,利用其通道間關(guān)系生成注意力圖,如圖5 所示。
圖5 通道注意力機(jī)制Fig.5 Channel attention module
首先通過平均池化和最大池化操作聚合輸入特征圖的空間信息,得到兩個不同的空間語義描述算子∈RC×1×1和∈RC×1×1,然后將二者分別作為共享的包含一個隱藏層的多層感知機(jī)(Multilayer Perceptron,MLP)的輸入以生成通道注意力特征向量。為了減少參數(shù)量,隱藏層神經(jīng)元的個數(shù)為C/r(其中r為通道縮減率),因為中間特征圖的通道數(shù)和訓(xùn)練批量通??杀?6 整除,所以r固定為16[18],以提升MLP 的效率。將得到的兩個通道注意力特征向量的對應(yīng)元素相加,再使用激活函數(shù),獲得最終的通道注意力圖Mc(Feature)∈RC×1×1。該過程用式(6)表示為:
式中: σ′為sigmoid 激活函數(shù),W0、W1∈RC×C/r均為共享MLP 的權(quán)重。Mc中每個權(quán)重表示對應(yīng)通道的特征圖對于關(guān)鍵信息的重要性和關(guān)聯(lián)度。
空間注意力機(jī)制利用被重構(gòu)之后特征圖的空間關(guān)系生成空間注意力圖,如圖6 所示。首先沿通道方向同時進(jìn)行平均池化和最大池化聚合輸入特征圖的通道信息,分別得到兩個二維的通道特征描述算子∈R1×H×W和∈R1×H×W。為使二者特征融合將它們進(jìn)行維度拼接以生成有效的空間特征矩陣,然后用 7×7 卷積獲得空間注意力矩陣,再通過激活函數(shù)得到一個二維的空間注意力圖Ms(Feature)∈R1×H×W,它包含了要關(guān)注或抑制信息的空間位置。該過程用式(7)表示為:
圖6 空間注意力機(jī)制Fig.6 Spatial attention module
式中:f7×7表示過濾器為 7×7 卷積運(yùn)算??臻g與通道注意力機(jī)制相輔相成,可以有效地突出含有關(guān)鍵信息的區(qū)域[20]。
從利用CBAM 增強(qiáng)后的ResNet-50 中提取到淺層特征和深層特征均包含更多的信息,而網(wǎng)絡(luò)性能的提升正是源于注意力機(jī)制對有意義信息的準(zhǔn)確關(guān)注和對無關(guān)信息的抑制。
CPN 包含GlobalNet 和RefineNet 兩個模塊,它采用自上而下的檢測策略處理被遮擋的人體姿態(tài)估計問題。首先使用類似于FPN 的目標(biāo)檢測器生成人體邊界框,因為池化操作會造成一定程度的信息損失,所以目標(biāo)檢測器用Mask R-CNN[21]中的ROIAlign取代FPN 中的ROIPooling 操作,然后在邊界框內(nèi)進(jìn)行單個人體關(guān)鍵點(diǎn)的準(zhǔn)確定位。
2.2.1 全局網(wǎng)絡(luò) 把從特征提取網(wǎng)絡(luò)中得到的4 個不同層級的特征圖C2,C3,C4,C5作為GlobalNet 的輸入,由它們構(gòu)成特征金字塔。把 3×3 的過濾器直接用于C2,C3,C4,C5以生成關(guān)鍵點(diǎn)熱圖。其中C2和C3是淺層特征,具有較高的空間分辨率,但缺乏語義信息;C4和C5是深層特征層,包含更多的語義信息,但由于多次跨步卷積或池化,空間位置信息較少。為了使所有尺度的特征都具有豐富的語義信息,把深層特征通過上采樣和上一層的淺層特征通過橫向連接(Lateral Connection)逐元素相加。上采樣操作是在原有圖像的像素點(diǎn)之間采用雙線性插值算法插入新元素,從而改變原圖像的大小。
GlobalNet 的具體流程如圖7 所示。迭代開始時,在最后一個階段的輸出C5上進(jìn)行 1×1 卷積得到最粗略的特征圖,通過上采樣改變其空間尺寸大小,再將它與C4均進(jìn)行一次 1×1 卷積操作以保證橫向連接的兩層特征維度相同,然后通過逐元素加法進(jìn)行求和得到融合了不同層級特征、具有更豐富信息的特征圖。這樣逐層迭代,最終生成最精細(xì)的特征圖。為了消除上采樣的混疊效應(yīng)用兩次卷積來處理(i=2,3,4,5) ,最后再通過上采樣生成GlobalNet 的輸出P2,P3,P4,P5(Pi是GlobalNet 的不同級別的輸出)。
圖7 GlobalNet 的流程圖Fig.7 Flowchart of GlobalNet
GlobalNet 的預(yù)測網(wǎng)絡(luò)通過預(yù)測熱圖獲得簡單關(guān)鍵點(diǎn)坐標(biāo),如圖8 所示。
它對各層級的關(guān)鍵點(diǎn)都進(jìn)行預(yù)測。GlobalNet 的損失函數(shù)用式(8)和式(9)表示為:
式中: Lossg為4 路損失函數(shù)值之和,采用的是均方根誤差(Mean Squared Error,MSE);Mi為第i個層級的關(guān)鍵點(diǎn)預(yù)測值;M*為人工注釋關(guān)鍵點(diǎn)的真實值;Nj,k、分別為第j個人體的第k種關(guān)鍵點(diǎn)的預(yù)測值和人工注釋關(guān)鍵點(diǎn)的真實值;n為人體邊界框個數(shù);m為1 個人體的關(guān)鍵點(diǎn)個數(shù)。
2.2.2 精煉網(wǎng)絡(luò) GlobalNet 的輸出作為RefineNet 的輸入,將P2,P3,P4,P5先分別通過4 路由一定數(shù)量堆疊的瓶頸模塊和上采樣構(gòu)成的精煉網(wǎng)絡(luò),將各層級的特征在通道域上拼接之后再通過一個瓶頸模塊得到RefineNet 的輸出。如圖9 所示。
圖9 RefineNet 的流程圖Fig.9 Flowchart of RefineNet
RefineNet 的預(yù)測網(wǎng)絡(luò)如圖10 所示。它通過熱圖定位難以識別的關(guān)鍵點(diǎn)坐標(biāo),采用的損失函數(shù)為Lossohkm。網(wǎng)絡(luò)在訓(xùn)練中會逐漸出現(xiàn)更加關(guān)注可見關(guān)鍵點(diǎn)的傾向,而這些關(guān)鍵點(diǎn)可能在GlobalNet 中就已經(jīng)被準(zhǔn)確定位。相反,網(wǎng)絡(luò)給予被遮擋關(guān)鍵點(diǎn)的關(guān)注不夠,它們難以被有效預(yù)測。為了確保復(fù)雜關(guān)鍵點(diǎn)也能被識別, Lossohkm使用OHKM 算法來計算損失函數(shù),在線篩選難以識別的關(guān)鍵點(diǎn)并在這些關(guān)鍵點(diǎn)上使用梯度下降和誤差反向傳播的方法,增加網(wǎng)絡(luò)對它們的關(guān)注度。用式(10)表示為:
圖10 RefineNet 的預(yù)測網(wǎng)絡(luò)Fig.10 Prediction network of RefineNet
式中Ni,j、分別為第i個人體的第j種關(guān)鍵點(diǎn)的預(yù)測值和人工注釋關(guān)鍵點(diǎn)的真實值。先將每個關(guān)鍵點(diǎn)的均方根誤差降序排序,它們的排名表示關(guān)鍵點(diǎn)的預(yù)測復(fù)雜程度,排名越高即該關(guān)鍵點(diǎn)越難預(yù)測,應(yīng)給予更多的關(guān)注,用前 topk個關(guān)鍵點(diǎn)的均方根誤差計算OHKM 誤差,以這些關(guān)鍵點(diǎn)的損失函數(shù)代替RefineNet 網(wǎng)絡(luò)整體的損失函數(shù)進(jìn)行訓(xùn)練。
CBAM-CPN 的實驗驗證分為標(biāo)準(zhǔn)人體姿態(tài)估計和被遮擋人體姿態(tài)估計兩個部分。本節(jié)依次介紹人體姿態(tài)估計的數(shù)據(jù)集、評價指標(biāo),再對實驗設(shè)置進(jìn)行說明,最后對實驗結(jié)果進(jìn)行分析。
標(biāo)準(zhǔn)人體姿態(tài)估計實驗使用MPII 數(shù)據(jù)集和MS COCO2017 數(shù)據(jù)集進(jìn)行驗證,被遮擋人體姿態(tài)估計實驗使用3DOH50K 數(shù)據(jù)集進(jìn)行驗證。MPII 和MS COCO2017 是用于人體姿態(tài)估計的公開基準(zhǔn)數(shù)據(jù)集。MPII 從在線視頻中提取出大約25 000 張圖像,每張圖像包含1 個或多個人,總共有超過40 000個人帶有注釋的身體關(guān)鍵點(diǎn),一般將28 000 個樣本用作訓(xùn)練集,11 000 個用作測試集。MS COCO2017是由微軟公司收集和發(fā)布的1 個大規(guī)模的關(guān)鍵點(diǎn)檢測數(shù)據(jù)集,它分別提供了大約118 000 和5 000 個樣本作為人體姿態(tài)估計的訓(xùn)練集和驗證集。3DOH50K是第1 個用于遮擋場景中人體重建和姿態(tài)估計的3D 數(shù)據(jù)集,它包含51 600 張具有準(zhǔn)確的2D 和3D 注釋的圖像,其中訓(xùn)練集和測試集的樣本個數(shù)分別為50 310 和1 290。本文采用的是含有14 種人體關(guān)鍵點(diǎn)的2D 注釋。
標(biāo)準(zhǔn)人體姿態(tài)估計實驗使用由MPII 數(shù)據(jù)集規(guī)定的正確關(guān)鍵點(diǎn)比例(Percentage of Correct Keypoint,PCK)和由MSCOCO2017 數(shù)據(jù)集規(guī)定的目標(biāo)關(guān)鍵點(diǎn)相似度(Object Keypoint Similarity,OKS)作為模型精度的評價指標(biāo)。
在MPII 數(shù)據(jù)集中,將人體頭部長度作為歸一化參考值,提出PCKh 評價指標(biāo),它常用的閾值為0.5、0.2和0.1,分別對應(yīng)PCKh@0.5、PCKh@0.2 和PCKh@0.1,預(yù)測關(guān)鍵點(diǎn)與其對應(yīng)的人工注釋真實值之間的歸一化距離小于設(shè)定閾值,則此關(guān)鍵點(diǎn)被視為正確預(yù)測。用式(11)表示為:
式中:i為關(guān)鍵點(diǎn)下標(biāo),di為第i個關(guān)鍵點(diǎn)預(yù)測值與其人工注釋真實值之間的歐式距離,ddef為歸一化參考值即人體頭部長度,T為設(shè)定的閾值。
在MS COCO2017 數(shù)據(jù)集中,評價指標(biāo)是通過計算預(yù)測關(guān)鍵點(diǎn)和其真實值的相似度來衡量的,用式(12)表示:
式中:vi為第i個關(guān)鍵點(diǎn)的可見度標(biāo)志位; δ(·) 為可見度判斷函數(shù);vi=1 表示第i個關(guān)鍵點(diǎn)無遮擋且已被注釋;vi=2表示第i個關(guān)鍵點(diǎn)有遮擋但已被注釋;s=為關(guān)鍵點(diǎn)的衰減常數(shù),其值為人體邊界框面積的平方根;ki為第i類關(guān)鍵點(diǎn)的歸一化參考值,是通過計算所有樣本集中人工注釋的關(guān)鍵點(diǎn)與其真實值之間的標(biāo)準(zhǔn)差得到的,ki越大表示此類型的關(guān)鍵點(diǎn)越難注釋。OKS 的值在 [0,1] 范圍內(nèi), OKS=1 表示完美預(yù)測,但它通常為一個范圍,當(dāng)其大于或等于設(shè)定閾值T時,表示預(yù)測關(guān)鍵點(diǎn)正確,否則預(yù)測錯誤。
在3DOH50K 數(shù)據(jù)集中,單個人體包含14 種關(guān)鍵點(diǎn),根據(jù)圖像中被遮擋人體關(guān)鍵點(diǎn)的個數(shù)1~3、4、···、8、9 將數(shù)據(jù)集分別劃分為10%、20%、···、60%、70%這7 種不同的遮擋比例,將對這7 種樣本進(jìn)行檢測,其OKS 值對應(yīng)的平均分?jǐn)?shù)分別為mAP10、mAP20、 mAP30、 mAP40、 mAP50、 mAP60 和mAP70,并用平均精度作為被遮擋人體姿態(tài)估計模型的評價指標(biāo)。
具體實驗環(huán)境設(shè)置如下:本文網(wǎng)絡(luò)結(jié)構(gòu)使用深度學(xué)習(xí)框架Pytorch 搭建。硬件配置:操作系統(tǒng)為Windows10,處理器為Intel(R) Core(TM) i9-9900K CPU@3.60 GHz,安裝內(nèi)存大小為32 G,GPU 型號為NVIDIA GeForce RTX 2080 Ti,安裝的為Cuda10.0。
在實驗中將結(jié)合注意力機(jī)制的級聯(lián)金字塔網(wǎng)絡(luò)模型的訓(xùn)練周期設(shè)置為100,批量大小設(shè)置為64,優(yōu)化器設(shè)置為Adam,學(xué)習(xí)率設(shè)置為0.01,學(xué)習(xí)率衰減率設(shè)置為0.03,學(xué)習(xí)率衰減周期設(shè)置為10 000 批次,模型驗證周期設(shè)置為1 000 批次,輸出輸入尺寸的比值為8,輸出維度為 19×38 。
3.4.1 標(biāo)準(zhǔn)人體姿態(tài)估計實驗 CBAM-CPN 在MPII數(shù)據(jù)集上進(jìn)行標(biāo)準(zhǔn)人體姿態(tài)估計實驗驗證,結(jié)果如表2 所示。以PCKh@0.5 作為模型在MPII 數(shù)據(jù)集上的評價指標(biāo),分別得到各個關(guān)鍵點(diǎn)的精度并計算它們的平均精度。由表2 可知,相比Stacked Hourglass模型[9]、Simple Baselines 模型[11]、HRNet 模型[12]、Structure AwareNet 模型[22]、能夠?qū)崟r跟蹤人體關(guān)鍵點(diǎn)的PoseNet 模型[23]和GHRCPN 模型[24],本文提出的CBAM-CPN 模型的各個關(guān)鍵點(diǎn)預(yù)測精度和平均預(yù)測精度較高,尤其是頭部和肩部關(guān)鍵點(diǎn)的識別分?jǐn)?shù)分別達(dá)到了99.1 和97.5,為人體姿態(tài)估計與其他領(lǐng)域的交互提供了有利條件,如安全帽佩戴檢測和安全背心檢測等。
表2 MPII 數(shù)據(jù)集PCKh@0.5 對比實驗結(jié)果Table 2 Comparative experimental results of MPII dataset PCKh@0.5
在MS COCO2017 數(shù)據(jù)集上進(jìn)行標(biāo)準(zhǔn)人體姿態(tài)估計實驗驗證,結(jié)果如表3 所示。表中,APT為閾值為T時的分?jǐn)?shù),APL、APM分別為圖像中大目標(biāo)和中等目標(biāo)檢測的AP 分?jǐn)?shù)。
表3 MS COCO2017 數(shù)據(jù)集OKS 對比實驗結(jié)果Table 3 MS COCO2017 data set OKS comparison experiment results
由表3 可知,本文提出的CBAM-CPN模型的精度相比Stacked Hourglass 模型[9]、Simple Baselines 模型[11]、HRNet 模型[12]、HigherHRNet 模型[25]、G-RMI模型[26]和相較PoseNet 模型[23]擁有更快計算性能的MoveNet 模型[27]均有不同程度的提升。實驗結(jié)果表明,CBAM-CPN 模型在標(biāo)準(zhǔn)人體姿態(tài)估計上表現(xiàn)出更優(yōu)的關(guān)鍵點(diǎn)預(yù)測性能。
3.4.2 物體遮擋人體姿態(tài)估計實驗 在3DOH50K 數(shù)據(jù)集上進(jìn)行被遮擋人體姿態(tài)估計實驗驗證,按照人體14 個關(guān)鍵點(diǎn)被遮擋比例將數(shù)據(jù)集中的樣本劃分為7 個類別進(jìn)行實驗,取 topk為8,結(jié)果如表4 所示。
表4 3DOH50K 數(shù)據(jù)集OKS 對比實驗結(jié)果Table 4 3DOH50K data set OKS comparison experiment results
以O(shè)KS 作為模型在3DOH50K 數(shù)據(jù)集上的評價指標(biāo),通過實驗統(tǒng)計得到在各種遮擋比例下的OKS 平均分?jǐn)?shù)。由表4 可知,SimplePose 模型[28]、MultiStageConv 模型[29]和CrowdPose 模型[30]在遮擋比例超過30%的場景中姿態(tài)估計的平均精度小于70%,HRNet 模型[12]和GHRCPN 模型[24]在遮擋比例超過40%時,平均分?jǐn)?shù)小于70,CBAM-CPN 模型比這些相關(guān)研究具有更好的魯棒性且在遮擋比例達(dá)到50%的情況下,平均分?jǐn)?shù)仍可保持在70 以上。
在3DOH50K 數(shù)據(jù)集上,可視化CBAM-CPN 模型在物體遮擋比例為10%、20%、30%、50%、60%、70%的6 種場景下人體姿態(tài)估計實驗中的預(yù)測結(jié)果如圖11所示。
圖11 物體遮擋人體姿態(tài)估計實驗可視化Fig.11 Object occlusion human pose estimation experiment visualization
由實驗結(jié)果可知,CBAM-CPN 模型可以有效地定位被遮擋的人體關(guān)鍵點(diǎn),是一種具有較高精度的人體姿態(tài)估計模型,且在被遮擋的場景中具有很好的魯棒性,它為關(guān)鍵點(diǎn)被遮擋、關(guān)鍵點(diǎn)重合和復(fù)雜背景等情況下的人體姿態(tài)估計問題提供了一種可供參考的解決方案。
3.4.3 CBAM 注意力機(jī)制消融實驗 本文比較了基本的CPN 模型和在特征提取網(wǎng)絡(luò)中融入注意力機(jī)制的CBAM-CPN 模型在標(biāo)準(zhǔn)和物體遮擋人體姿態(tài)估計實驗中的性能,網(wǎng)絡(luò)的其他結(jié)構(gòu)不變,結(jié)果如表5、表6 所示。
表5 標(biāo)準(zhǔn)人體姿態(tài)估計CBAM 注意力機(jī)制消融實驗Table 5 Standard human pose estimation CBAM attention mechanism ablation experiment
表6 物體遮擋人體姿態(tài)估計CBAM 注意力機(jī)制消融實驗Table 6 Object occlusion human pose estimation CBAM attention mechanism ablation experiment
由表5 可知,在標(biāo)準(zhǔn)人體姿態(tài)估計實驗中,相比基本的CPN 模型,本文模型在MPII 數(shù)據(jù)集上的平均分?jǐn)?shù)提高了1.2,在MS COCO2017 數(shù)據(jù)集上的各個OKS 閾值下的識別精度均較高,其中,整體分?jǐn)?shù)提高了4.1,為基本模型(CPN)的5.6%。CBAM-CPN 模型比基本模型在兩個典型的公開數(shù)據(jù)集上都表現(xiàn)出更優(yōu)的關(guān)鍵點(diǎn)預(yù)測性能。
由表6 可知,在物體遮擋人體姿態(tài)估計實驗中,相比基本的CPN 模型,CBAM-CPN 模型在3DOH50K數(shù)據(jù)集上的不同遮擋比例下的OKS 精度均較高,其中,平均分?jǐn)?shù)提高了4.0,為基本模型的5.9%。這是因為CBAM-CPN 在基礎(chǔ)的特征提取網(wǎng)絡(luò)ResNet-50 的殘差分支中添加了CBAM 注意力機(jī)制,增加網(wǎng)絡(luò)對重要的通道抽象特征和空間位置特征的關(guān)注,從而獲得包含更有效信息的關(guān)鍵點(diǎn)特征。
姿態(tài)估計任務(wù)不僅需要有實驗的硬件配置和網(wǎng)絡(luò)算法,還需要具備龐大的數(shù)據(jù)訓(xùn)練庫作為基礎(chǔ)。對于標(biāo)準(zhǔn)人體姿態(tài)估計實驗,用兩個具有代表性的公開數(shù)據(jù)集MPII 和MS COCO2017 來訓(xùn)練網(wǎng)絡(luò),二者均提供了大量的訓(xùn)練樣本使網(wǎng)絡(luò)能夠得到較為理想的實驗結(jié)果。但對于物體遮擋人體姿態(tài)估計實驗,使用3DOH50K 數(shù)據(jù)集中包含的訓(xùn)練和測試樣本數(shù)量較少,數(shù)據(jù)集中圖像背景單一且風(fēng)格類似,這一定程度上對遮擋實驗的結(jié)果造成影響。
優(yōu)質(zhì)數(shù)據(jù)集能夠提升模型的準(zhǔn)確率,但無論是依靠手工標(biāo)注還是動作捕捉設(shè)備,數(shù)據(jù)集的制作成本都很高。當(dāng)前遮擋場景下的人體姿態(tài)估計數(shù)據(jù)集的采集大多利用動作捕捉設(shè)備,其僅能對特定環(huán)境中固定范圍內(nèi)活動的人體進(jìn)行動作捕捉,故在室外場景遮擋人體姿態(tài)估計任務(wù)的數(shù)據(jù)樣本相對匱乏,僅依靠目前的公開數(shù)據(jù)集訓(xùn)練出的網(wǎng)絡(luò)性能仍有待提高。
人體姿態(tài)估計是當(dāng)前計算機(jī)視覺領(lǐng)域的熱門研究課題,現(xiàn)有的一些相關(guān)研究均可以有效地預(yù)測關(guān)鍵點(diǎn),但在被遮擋的場景下卻難以達(dá)到準(zhǔn)確識別關(guān)鍵點(diǎn)的目的。本文提出了一個結(jié)合注意力機(jī)制的級聯(lián)金字塔模型(CBAM-CPN)用于解決物體遮擋人體姿態(tài)估計問題,將CBAM 注意力機(jī)制融入CPN 模型的特征提取網(wǎng)絡(luò)ResNet-50 的殘差模塊中,使得深度殘差網(wǎng)絡(luò)給予重要區(qū)域的特征信息更多的關(guān)注,從而可以提取到對于正確定位被遮擋關(guān)鍵點(diǎn)更加有用的信息,通過相輔相成的GlobalNet 和RefineNet 依次預(yù)測出簡單關(guān)鍵點(diǎn)和困難關(guān)鍵點(diǎn)的位置。實驗結(jié)果表明,CBAM-CPN 模型在標(biāo)準(zhǔn)情況和物體遮擋情況下的人體姿態(tài)估計均有較優(yōu)準(zhǔn)確性和較強(qiáng)魯棒性。如何獲取包含更多遮擋人體樣本的數(shù)據(jù)集,以及如何進(jìn)一步提高模型的精度和使模型輕量化將是今后的研究方向。