周昆陽,趙夢(mèng)婷,張海潮,邵葉秦
(1.南通大學(xué)張謇學(xué)院,江蘇 南通 226019; 2.南通大學(xué)交通與土木工程學(xué)院,江蘇 南通 226019)
人體姿態(tài)估計(jì)是人體運(yùn)動(dòng)識(shí)別、運(yùn)動(dòng)學(xué)分析、人機(jī)交互、動(dòng)畫制作等方面的基礎(chǔ)性工作。人體姿態(tài)估計(jì)的目的是借助攝像頭等傳感器,在復(fù)雜場景、不同人群中對(duì)人體的關(guān)節(jié)點(diǎn)進(jìn)行準(zhǔn)確定位。
多年來,人體姿態(tài)估計(jì)大多基于手工特征,主要包括基于可穿戴設(shè)備[1]和基于模版匹配[2]的方法。這2種方法都存在泛化能力較低、檢測流程繁瑣等缺點(diǎn)。隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,人體姿態(tài)估計(jì)取得了很大的進(jìn)展。Wei等[3]提出了卷積姿態(tài)網(wǎng)絡(luò)(Convolutional Pose Machine, CPM),首次對(duì)人體關(guān)節(jié)點(diǎn)信息進(jìn)行建模,基于模型輸出的熱力圖,在每個(gè)通道上找到最大響應(yīng)點(diǎn)實(shí)現(xiàn)人體姿態(tài)估計(jì)。同時(shí),由于行人檢測算法性能逐步提升,出現(xiàn)很多優(yōu)秀的檢測模型,例如YOLO、Faster-RCNN等。這使得姿態(tài)估計(jì)算法逐漸從單人姿態(tài)估計(jì)轉(zhuǎn)向多人姿態(tài)估計(jì)。按照姿態(tài)估計(jì)實(shí)現(xiàn)方式的差異,多人姿態(tài)估計(jì)分為2類:自底向上(Bottom-Up)和自頂向下(Top-Down)。
自底向上的多人姿態(tài)估計(jì)是先檢測所有關(guān)節(jié)點(diǎn),然后根據(jù)所屬人體組裝這些關(guān)節(jié)點(diǎn),其典型模型是OpenPose[4]。OpenPose通過CPM定位所有關(guān)節(jié)點(diǎn)的位置,并采用部件親和場(Part Affinity Fields)組裝定位好的各個(gè)關(guān)節(jié)點(diǎn)。OpenPose已經(jīng)被許多學(xué)者廣泛應(yīng)用到各個(gè)領(lǐng)域中。Hung等[5]將OpenPose應(yīng)用到傳統(tǒng)武術(shù)表演評(píng)價(jià)中,唐心宇等[6]將OpenPose應(yīng)用到患者康復(fù)醫(yī)療中。也有學(xué)者根據(jù)OpenPose的優(yōu)缺點(diǎn)和應(yīng)用場景對(duì)OpenPose進(jìn)行改進(jìn)。馮文宇等[7]提出了CT-OpenPose,通過將OpenPose的底層特征提取網(wǎng)絡(luò)替換為帶有軟閾值的殘差網(wǎng)絡(luò),并且改進(jìn)了OpenPose底層特征提取的流程和模型壓縮方式,在特征提取網(wǎng)絡(luò)中加入權(quán)值修剪和跨層連接機(jī)制,有效提高了模型的檢測速度和準(zhǔn)確度,但CT-OpenPose僅在特定場景下對(duì)OpenPose模型進(jìn)行了改進(jìn),通用性不高。
自頂向下的多人姿態(tài)估計(jì)是先通過人體檢測器檢測出人所在區(qū)域,然后在該區(qū)域上進(jìn)行單人姿態(tài)估計(jì)。具有代表性的是曠世科技提出的級(jí)聯(lián)金字塔網(wǎng)絡(luò)(Cascaded Pyramid Network, CPN)[8]和Fang等[9]提出的RMPE。級(jí)聯(lián)金字塔網(wǎng)絡(luò)是一種由粗到細(xì)的網(wǎng)絡(luò)模型,利用單人的上下文信息完成人體姿態(tài)估計(jì)。RMPE由對(duì)稱空間變換網(wǎng)絡(luò)(Symmetric Spatial Transformation Networks)、參數(shù)姿態(tài)非極大抑制(Non-maximum Suppression)和姿態(tài)引導(dǎo)提議生成器(Pose Guide Proposal Generator)這3個(gè)部分組成,通過處理不精確的人體定位框和檢測冗余,有效地提高了人體姿態(tài)估計(jì)的準(zhǔn)確率。這些主流人體姿態(tài)估計(jì)算法雖然提高了模型識(shí)別的準(zhǔn)確率,但存在模型過大、預(yù)測速度較慢的問題,不利于實(shí)際使用。
本文提出一種基于通道切分的自頂向下的人體姿態(tài)估計(jì)算法Channel-Split Residual Steps Network (Channel-Split RSN):
1)在傳統(tǒng)殘差階梯網(wǎng)絡(luò)(Residual Steps Network, RSN)基礎(chǔ)上,提出一種通道切分模塊,將輸入特征的通道分成k個(gè)部分,對(duì)k-1個(gè)部分分別使用卷積提取特征,再將k個(gè)特征沿通道進(jìn)行拼接,并和通道切分模塊的輸入特征相融合,得到豐富的特征表示。
2)在通道切分模塊的基礎(chǔ)上引入特征增強(qiáng)模塊,使用分組卷積和逐點(diǎn)卷積,對(duì)特征通道不同部分采取不同的處理策略,以減少通道內(nèi)的相似特征,提高特征提取的效果。
3)為了提高人體姿態(tài)估計(jì)的準(zhǔn)確性,提出一種基于改進(jìn)的空間注意力機(jī)制的姿態(tài)修正機(jī)Context-PRM,通過考慮特征在空間上的相關(guān)性,提升姿態(tài)估計(jì)的準(zhǔn)確率。
實(shí)驗(yàn)結(jié)果表明,本文方法能夠有效地提高人體姿態(tài)估計(jì)的準(zhǔn)確率,且模型具有較快的預(yù)測速度和較高的實(shí)用性。
殘差階梯網(wǎng)絡(luò)[10]是曠世科技提出的人體姿態(tài)估計(jì)算法,算法采用自頂向下方法進(jìn)行人體姿態(tài)估計(jì),人體檢測器使用MegDetv2[11]。整體網(wǎng)絡(luò)結(jié)構(gòu)由多個(gè)殘差階梯網(wǎng)絡(luò)級(jí)聯(lián)而成,每個(gè)殘差階梯網(wǎng)絡(luò)包含8個(gè)殘差階梯塊(Residual Steps Block, RSB),如圖1所示。每個(gè)殘差階梯塊通過密集的逐個(gè)元素相加方式加強(qiáng)特征的融合,有效地豐富了人體姿態(tài)估計(jì)的特征表示。
圖1 傳統(tǒng)殘差階梯網(wǎng)絡(luò)結(jié)構(gòu)圖
另外,殘差階梯網(wǎng)絡(luò)還包含了一個(gè)基于注意力機(jī)制的姿態(tài)修正機(jī)(Pose Refine Machine, PRM),如圖2所示。輸入特征經(jīng)過3×3卷積后進(jìn)入3條路徑:第1條路徑(First path)用于得到通道注意力,第3條路徑(Third path)用于生成空間注意力,第2條路徑(Second path)是將這2條路徑生成的注意力作用在輸入特征上。姿態(tài)修正機(jī)使用通道注意力和空間注意力進(jìn)一步提高人體關(guān)節(jié)點(diǎn)的定位精度。
圖2 姿態(tài)修正機(jī)示意
本文采用自頂向下的方式實(shí)現(xiàn)人體姿態(tài)估計(jì),使用RSN18作為特征提取網(wǎng)絡(luò),YOLOv4[12]作為人體檢測器,算法結(jié)構(gòu)如圖3所示。輸入圖像首先經(jīng)過卷積和最大池化提取特征,接著特征經(jīng)過一個(gè)包含8個(gè)殘差階梯塊的殘差階梯網(wǎng)絡(luò),跨層連接和上采樣得到人體姿態(tài)估計(jì)的初步結(jié)果。需要注意的是,本文在最后一個(gè)殘差階梯塊中引入通道切分模塊,替換原有的3×3卷積,如圖3中黑色方塊所示。最后,基于改進(jìn)的姿態(tài)修正機(jī)(Context-PRM),得到更加準(zhǔn)確的人體姿態(tài)估計(jì)。整體算法命名為Channel-Split Residual Steps Network (Channel-Split RSN)。
圖3 Channel-Split RSN網(wǎng)絡(luò)結(jié)構(gòu)
2.2.1 通道切分模塊算法流程
為了得到豐富的特征表示,本文提出通道切分模塊,將特征通道分成若干等份,分別提取每個(gè)部分的特征后,再融合起來,如圖4所示。
圖4 通道切分模塊(k=4)
具體來說,輸入特征首先沿通道平均分成k個(gè)部分,每個(gè)部分記為Fi(1≤i≤k,k>2)。每一部分的特征進(jìn)行如下操作:
FS1=F1,i=1
(1)
FS2,1,FS2,2=H2(F2),i=2
(2)
FSi,1,FSi,2=Hi(Fi+Fi-1,2), 3≤i≤k-1
(3)
FSk=Conv3×3(Fk+Fk-1,2),i=k
(4)
其中,Hi(2≤i≤k-1)表示特征增強(qiáng)模塊,Conv3×3包括3×3卷積批量歸一化層(Batch Normalization, BN)ReLU激活函數(shù),+號(hào)表示拼接(Concat)。
然后,將FS1、FSi,1(2≤i≤k-1)、FSk沿通道拼接,經(jīng)過一個(gè)1×1卷積后再和通道切分模塊輸入特征相加,得到整個(gè)通道切分模塊的輸出。這里,通道切分模塊的輸入和輸出特征具有相等的尺寸和通道數(shù)。
通道切分模塊通過切分特征通道并融合不同大小通道數(shù)的特征促進(jìn)特征之間的信息交流,進(jìn)而豐富通道切分模塊中的特征表示。同時(shí),通道切分模塊使用特征增強(qiáng)模塊減少特征通道內(nèi)的相似特征,提高特征提取的效果。
2.2.2 特征增強(qiáng)模塊
標(biāo)準(zhǔn)卷積對(duì)輸入特征的所有通道進(jìn)行相同的卷積操作。經(jīng)過標(biāo)準(zhǔn)卷積后的特征中,部分通道的特征十分相似,如圖5所示,因此這些通道信息存在冗余,對(duì)相似特征進(jìn)行特征提取會(huì)造成特征冗余且增加計(jì)算量。即使將特征通道(通道數(shù)為32)簡單地平均分成2個(gè)部分,如圖6所示,得到的yi,1和yi,2這2個(gè)部分中仍有相似的特征,若對(duì)yi,1和yi,2使用相同處理方式,還會(huì)導(dǎo)致得到的特征通道中存在較多相似特征。
圖5 標(biāo)準(zhǔn)卷積的部分通道特征展示
(a) yi,1通道特征圖
為了減少通道內(nèi)的相似特征,GhostNet[13]中提出對(duì)特征的每個(gè)通道進(jìn)行對(duì)應(yīng)的線性變換以此來減少通道內(nèi)的相似特征。受到該思想的啟發(fā),本文設(shè)計(jì)一個(gè)特征增強(qiáng)模塊,對(duì)不同的特征部分采用不同的處理策略,如圖7所示。具體來說,將特征沿通道平均分成2個(gè)不同部分yi,1和yi,2,對(duì)yi,1使用1×1卷積提取特征以補(bǔ)充局部細(xì)節(jié)信息,而對(duì)yi,2使用3×3分組卷積和逐點(diǎn)卷積(pointwise convolution)[14]提取內(nèi)在特征,如圖7所示。分組卷積將特征的通道分為g組(g>1),每個(gè)組分別進(jìn)行卷積操作。與標(biāo)準(zhǔn)卷積不同,分組卷積不同組的卷積核參數(shù)不同,相當(dāng)于每個(gè)組進(jìn)行不同的操作,因此每個(gè)組的輸出特征是各不相同的,有效減少特征通道內(nèi)的相似特征。但因?yàn)閥i,2的通道信息中包含若干模塊,每個(gè)模塊都表示一個(gè)主要的特征(例如:條紋、顏色等),分組卷積使得模塊間的信息交流被隔斷[15]。為此,本文增加逐點(diǎn)卷積,實(shí)現(xiàn)輸入特征在通道方向上的加權(quán)組合,然后將分組卷積和逐點(diǎn)卷積提取的特征相加,豐富yi,2通道的特征表示。
圖7 特征增強(qiáng)模塊
2.2.3 通道切分模塊計(jì)算復(fù)雜度分析
本文使用通道切分模塊替代卷積核大小大于2的卷積操作。為了衡量通道切分模塊的計(jì)算復(fù)雜度,本文對(duì)比s×s(s>2)標(biāo)準(zhǔn)卷積的計(jì)算復(fù)雜度(公式(5))和通道切分模塊的計(jì)算復(fù)雜度(公式(9)),這里,標(biāo)準(zhǔn)卷積計(jì)算復(fù)雜度用Pnormal表示,通道切分模塊計(jì)算復(fù)雜度用P表示。
Pnormal=s×s×k×w×k×w
(5)
其中,k為特征被通道切分模塊分成的份數(shù),k>2,w為每個(gè)部分的通道數(shù)。
每個(gè)特征增強(qiáng)模塊對(duì)應(yīng)的計(jì)算復(fù)雜度Pi如下:
(6)
其中,2≤i≤k-1,g為分組卷積的分組數(shù),g>1。當(dāng)i=1時(shí),通道切分模塊計(jì)算復(fù)雜度為0,當(dāng)i=k時(shí),對(duì)應(yīng)的3×3卷積,其計(jì)算復(fù)雜度Pk如公式(7):
(7)
通道切分模塊中1×1卷積的計(jì)算復(fù)雜度如公式(8)所示:
P1×1=w2×k2
(8)
因此,整個(gè)通道切分模塊的計(jì)算復(fù)雜度P如下:
(9)
= = ∵當(dāng)k>2,s>2時(shí)(k-2)×s-k≥0 又∵k2×s2-s2×(4k-4)-k2可以分解因式為[(k-2)×s+k]×[(k-2)×s-k] ∴k2×s2-s2×(4k-4)-k2≥0成立 ∴w2×[s2×(4k-4)+k2]≤w2×k2×s2 ∵P ∴P 因此,本文提出的通道切分模塊相較于標(biāo)準(zhǔn)卷積計(jì)算復(fù)雜度更小,只需要更少的計(jì)算資源。 殘差階梯網(wǎng)絡(luò)使用一種基于注意力的姿態(tài)修正機(jī),如圖2所示。本文在姿態(tài)修正機(jī)的基礎(chǔ)上,對(duì)姿態(tài)修正機(jī)的空間注意力機(jī)制進(jìn)行改進(jìn),提出了Context-PRM,如圖8所示。 圖8 Context-PRM結(jié)構(gòu) Context-PRM的空間注意力機(jī)制如公式(10): attentionspace=ContextAttention(DW(Conv1×1(Cin))) (10) 其中,Cin表示空間注意力機(jī)制的輸入特征,Conv1×1表示1×1的卷積操作,DW表示深度可分離卷積,ContextAttention為本文提出的Context-Attention模塊。Context-Attention模塊的具體結(jié)構(gòu)如圖9所示。 圖9 Context-Attention結(jié)構(gòu) 輸入特征首先分別經(jīng)過2個(gè)1×1卷積,之后將輸出特征的尺寸重塑(reshape)成二維,得到2個(gè)輸出R、Q,其中N=H×W。Q進(jìn)行轉(zhuǎn)置,尺寸變成(N,C)。為了得到2個(gè)特征R和Q間的關(guān)聯(lián)性,這里構(gòu)造一個(gè)關(guān)聯(lián)特征A=Q×R。接著,將A重塑到N×H×W的三維矩陣。為了將關(guān)聯(lián)特征A歸一化,本文采用平均池化+Sigmoid激活函數(shù),將A的維度從三維變成二維,得到大小為H×W的注意力矩陣(Attention Matrix)。最后通過逐個(gè)元素相乘將注意力矩陣作用于第2條路徑的特征。 3.1.1 實(shí)驗(yàn)數(shù)據(jù) 本文數(shù)據(jù)集使用COCO數(shù)據(jù)集[16]和CrowdPose數(shù)據(jù)集[17]。COCO數(shù)據(jù)集的訓(xùn)練集COCO train2017包含50000張行人圖片和150000個(gè)人體標(biāo)注實(shí)例。驗(yàn)證集COCO minival dataset包含5000張圖片,測試集COCO test-dev包含20000圖片,模型輸入圖像大小為256×192。 CrowdPose數(shù)據(jù)集包含較多擁擠的場景,相較于COCO數(shù)據(jù)集更具挑戰(zhàn)性。其中訓(xùn)練集包括10000張圖片,驗(yàn)證集包括2000張圖片,測試集包括20000張圖片,模型輸入圖像大小為512×512。 數(shù)據(jù)預(yù)處理:本文對(duì)數(shù)據(jù)集進(jìn)行了數(shù)據(jù)增廣,具體操作包括隨機(jī)旋轉(zhuǎn)、隨機(jī)縮放、隨機(jī)亮度調(diào)整、隨機(jī)對(duì)比度調(diào)整、隨機(jī)飽和度調(diào)整等圖像增強(qiáng)方式。隨機(jī)縮放的比例因子為0.7~1.35;隨機(jī)旋轉(zhuǎn)角度為-45°~+45°;隨機(jī)亮度調(diào)整首先設(shè)定閾值為0.5,然后隨機(jī)在區(qū)間(0,1)內(nèi)抽取一個(gè)數(shù)a,如果a≥0.5,則亮度調(diào)整比例為a,如果a<0.5,則在區(qū)間(-a,a)內(nèi)隨機(jī)抽一個(gè)數(shù)b,調(diào)整比例即為b+1。隨機(jī)對(duì)比度和隨機(jī)飽和度的調(diào)整與隨機(jī)亮度調(diào)整方法相同,閾值均取0.5。 本文方法的超參數(shù)如下:通道切分模塊k=4,特征增強(qiáng)模塊中分組卷積分組數(shù)g=2,COCO數(shù)據(jù)集共訓(xùn)練200輪,CrowdPose數(shù)據(jù)集共訓(xùn)練250輪,單批次訓(xùn)練樣本數(shù)量(batch_size)為20。參數(shù)k值和分組卷積分組數(shù)g的確定將在實(shí)驗(yàn)部分進(jìn)行詳細(xì)闡述。本文使用基于Object Keypoint Similarity (Oks)[18]的平均準(zhǔn)確率(Average Precision, AP)作為模型準(zhǔn)確度的評(píng)價(jià)標(biāo)準(zhǔn),每秒預(yù)測圖片數(shù)量(Frames Per Second, FPS)作為模型預(yù)測速度的評(píng)價(jià)標(biāo)準(zhǔn),Params(M)作為模型大小的評(píng)價(jià)指標(biāo)。Oks定義為: (11) 其中,p表示某個(gè)人的id,pi表示某個(gè)人的第i個(gè)關(guān)節(jié)點(diǎn),dpi表示預(yù)測的第i個(gè)關(guān)節(jié)點(diǎn)和真實(shí)關(guān)節(jié)點(diǎn)間的歐氏距離,vpi表示這個(gè)關(guān)節(jié)點(diǎn)在圖片上是否可見,Sp表示這個(gè)人所占面積的平方根(根據(jù)人的標(biāo)注框計(jì)算得到),σi表示第i個(gè)關(guān)節(jié)點(diǎn)的歸一化因子,它是第i個(gè)關(guān)節(jié)點(diǎn)在數(shù)據(jù)集中坐標(biāo)的標(biāo)準(zhǔn)差,σi越大,說明這個(gè)關(guān)節(jié)點(diǎn)在數(shù)據(jù)集上的坐標(biāo)變化越大,否則說明它的坐標(biāo)變化小。對(duì)于δ(vpi=1),如果vpi=1成立,那么δ(vpi=1)=1,否則δ(vpi=1)=0,這里表示僅計(jì)算真實(shí)值中已標(biāo)注的關(guān)節(jié)點(diǎn)。計(jì)算基于Oks的平均準(zhǔn)確率的步驟為:先設(shè)定閾值th,若某幅圖片計(jì)算的Oks值大于th,表明該圖片關(guān)節(jié)點(diǎn)檢測有效,否則無效。本文的th=0.95。基于所有圖片的檢測結(jié)果,計(jì)算平均準(zhǔn)確率AP的公式為: (12) FPS定義的公式為: (13) Params(M)定義為: (14) 3.1.2 實(shí)驗(yàn)平臺(tái) 模型訓(xùn)練與測試在百度AI Studio平臺(tái)進(jìn)行,CPU是Intel(R) Xeon(R) Gold 6271C @ 2.60 GHz,GPU為Tesla V100,顯存16 GB,內(nèi)存32 GB。編程環(huán)境為Python3.7,深度學(xué)習(xí)框架為PaddlePaddle 1.8.4。 本文在4個(gè)Tesla V100 GPU上進(jìn)行訓(xùn)練,優(yōu)化方法選擇Adam。為了加快模型的收斂,本文選擇余弦學(xué)習(xí)率和指數(shù)移動(dòng)平均的訓(xùn)練策略(Exponential Moving Average, EMA)。學(xué)習(xí)率和總訓(xùn)練輪數(shù)(epochs)的關(guān)系為: (15) 其中,begin_rate=0.0005為初始學(xué)習(xí)率,epoch為當(dāng)前訓(xùn)練輪數(shù),epochs為總的訓(xùn)練輪數(shù)。 為了使得模型參數(shù)平緩更新,本文在模型訓(xùn)練時(shí)采用指數(shù)移動(dòng)平均策略。指數(shù)移動(dòng)平均通過指數(shù)衰減方式計(jì)算參數(shù)更新過程中的移動(dòng)平均值。對(duì)于每一個(gè)參數(shù)W,都有一個(gè)指數(shù)移動(dòng)平均值Wt,如公式(16): Wt=α×Wt-1+(1-α)×W(t≥1) (16) 其中,α=0.998為衰減系數(shù),t表示迭代次數(shù),W0為0。 此外,本文在訓(xùn)練模型時(shí)也采用遷移學(xué)習(xí)策略,先在公開數(shù)據(jù)集ImageNet[19]上得到預(yù)訓(xùn)練權(quán)重,接著遷移到本文數(shù)據(jù)集上。預(yù)訓(xùn)練時(shí),模型的超參數(shù)與訓(xùn)練時(shí)保持一致。 3.3.1 通道切分模塊和特征增強(qiáng)模塊作用 為了驗(yàn)證通道切分模塊和特征增強(qiáng)模塊的作用,本文在RSN18基礎(chǔ)上依次加上通道切分模塊和包含不同分組數(shù)的特征增強(qiáng)模塊。從表1可以看出,相比于RSN18,增加了通道切分模塊的Channel-Split RSN18的FPS降低了4.3,但AP提升了1.12個(gè)百分點(diǎn)。在使用特征增強(qiáng)模塊后,分組卷積代替原來的3×3卷積,其分組數(shù)g分別取2、4、6,模型Channel-Split RSN18(g=2)、Channel-Split RSN18(g=4)和Channel-Split RSN18(g=6)的AP和FPS均高于未使用特征增強(qiáng)模塊的Channel-Split RSN18。相較于RSN18,雖然Channel-Split RSN18(g=2)、Channel-Split RSN18(g=4)和Channel-Split RSN18(g=6)的FPS有所降低,但AP分別提升1.46、1.8、1.69個(gè)百分點(diǎn)。因此,本文提出的通道切分模塊和特征增強(qiáng)模塊對(duì)于模型檢測準(zhǔn)確率的改進(jìn)是有效的。 表1 通道切分模塊和特征增強(qiáng)模塊的作用(未使用注意力機(jī)制) 此外,通過對(duì)比分組卷積的不同分組數(shù)(g=2、4、6)可以看出,使用4個(gè)分組的Channel-Split RSN18(g=4)相較于使用2個(gè)分組的Channel-Split RSN18(g=2),其AP和FPS分別增加0.34個(gè)百分點(diǎn)和0.4,而相較于使用6個(gè)分組的Channel-Split RSN18(g=6),雖然其FPS降低了0.5,但是AP提高0.11個(gè)百分點(diǎn)。在FPS差不多的情況下,考慮算法在AP上的性能,本文選擇g=4的特征增強(qiáng)模塊。 3.3.2 Context-PRM作用 為了衡量改進(jìn)的空間注意力機(jī)制對(duì)姿態(tài)修正機(jī)的影響,本文實(shí)驗(yàn)對(duì)比了改進(jìn)的姿態(tài)修正機(jī)(Context-PRM)和傳統(tǒng)的姿態(tài)修正機(jī)(PRM)。 從表2可以看出,將Channel-Split RSN的姿態(tài)修正機(jī)替換為Context-PRM后,雖然模型檢測速度有所下降,但模型AP提高了1.89個(gè)百分點(diǎn)。 表2 Context-PRM的作用 3.3.3 與主流注意力機(jī)制的對(duì)比 本文使用現(xiàn)階段其他的主流注意力機(jī)制代替Context-PRM實(shí)現(xiàn)姿態(tài)修正機(jī),并對(duì)比了它們的性能,如表3所示。 表3 不同注意力機(jī)制對(duì)比 Convolutional Block Attention Module(CBAM)[20]和SE-block[21]是具有代表性的注意力機(jī)制。從表3結(jié)果可以看出,在使用CBAM和SE-block后,RSN18的AP分別下降0.72和0.1個(gè)百分點(diǎn)。而改進(jìn)的姿態(tài)修正機(jī)(Context-PRM)和傳統(tǒng)的姿態(tài)修正機(jī)(PRM)在模型的AP上明顯優(yōu)于CBAM和SE-Block。 另外,本文也對(duì)比了不同的特征提取網(wǎng)絡(luò)RSN18和RSN50。結(jié)果表明,在PRM上,RSN18和RSN50的AP分別提高1.59和0.38個(gè)百分點(diǎn);在Context-PRM上,RSN18和RSN50的AP分別提高1.74和0.56個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,Context-PRM比PRM對(duì)于模型AP提升更有效,同時(shí)相較于容量較大的RSN50模型,Context-PRM對(duì)于容量較小模型RSN18的AP提升更明顯。 3.3.4 通道切分模塊的k值選擇 不同的k值對(duì)模型的準(zhǔn)確率和預(yù)測速度有不同的影響,本文通過控制變量法確定k值,如圖10所示。本文輸入通道切分模塊的通道數(shù)為512。通道切分模塊將特征分成k個(gè)通道數(shù)相等的部分,即k=2n(n>1,k≥4)。從圖10中的實(shí)驗(yàn)結(jié)果可知,當(dāng)k=8和k=16時(shí),雖然AP比k=4提升了0.28和0.41個(gè)百分點(diǎn),但FPS比k=4分別低了6.15和16.03。在AP差不多的情況下,考慮算法在FPS上的性能,本文選擇k=4。 (a) k與準(zhǔn)確率曲線 3.3.5 COCO test-dev數(shù)據(jù)集上與主流姿態(tài)估計(jì)算法對(duì)比 前面的對(duì)比實(shí)驗(yàn)均在COCO minival dataset上進(jìn)行。為了實(shí)驗(yàn)對(duì)比的公平性,本文將Channel-Split RSN和主流姿態(tài)估計(jì)算法在COCO test-dev上進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果見表4。 表4 COCO test-dev測試結(jié)果 從表4的實(shí)驗(yàn)結(jié)果可以看出,與主流人體姿態(tài)估計(jì)算法相比,本文方法在平均準(zhǔn)確率上超過現(xiàn)階段主要姿態(tài)估計(jì)算法,并且模型的Params(M)低于現(xiàn)階段多數(shù)主流人體姿態(tài)估計(jì)算法。另外,即使未使用預(yù)訓(xùn)練和數(shù)據(jù)增廣策略,本文方法的AP達(dá)到了74.9%,僅比HRNet-W48低0.6個(gè)百分點(diǎn),比CPN提高2.8個(gè)百分點(diǎn),比RSN18提高了4個(gè)百分點(diǎn),比RSN50提高了2.4個(gè)百分點(diǎn),而模型的Params(M)為18.3 MB,比HRNet-W48低45.3 MB,比CPN低40.5 MB,比RSN50低7.4個(gè)百分點(diǎn),F(xiàn)PS提升了12.08。使用數(shù)據(jù)增廣和預(yù)訓(xùn)練后,本文方法的AP達(dá)到了75.9%,比HRNet-W48高0.4個(gè)百分點(diǎn),比RSN18高5個(gè)百分點(diǎn),比RSN50高3.4個(gè)百分點(diǎn)。以上實(shí)驗(yàn)結(jié)果表明本文提出的方法是有效的。 3.3.6 CrowdPose數(shù)據(jù)集上與主流姿態(tài)估計(jì)算法對(duì)比 為了驗(yàn)證本文算法具有較高的魯棒性和泛化能力,本文將Channel-Split RSN與主流人體姿態(tài)估計(jì)算法在更具挑戰(zhàn)性的CrowdPose數(shù)據(jù)集上進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表5所示。其中,CrowdPose數(shù)據(jù)集上本文方法的超參數(shù)設(shè)置與COCO數(shù)據(jù)集一致。 表5 CrowdPose test-dev實(shí)驗(yàn)結(jié)果 從表5實(shí)驗(yàn)結(jié)果可以看出,在CrowdPose數(shù)據(jù)集上本文方法在平均準(zhǔn)確率上超過主流人體姿態(tài)估計(jì)算法。未使用預(yù)訓(xùn)練和實(shí)驗(yàn)數(shù)據(jù)增廣策略,本文方法達(dá)到66.1%的平均準(zhǔn)確率,比Mask-RCNN高8.9個(gè)百分點(diǎn),比HrHRNet提高0.2個(gè)百分點(diǎn),比RSN18提高3.8個(gè)百分點(diǎn)。使用數(shù)據(jù)增廣的策略后,本文方法的平均準(zhǔn)確率達(dá)到66.9%,比DEKR提高1.2個(gè)百分點(diǎn),比RSN50提高2個(gè)百分點(diǎn);FPS達(dá)到19.16,比RSN50高9.06。以上實(shí)驗(yàn)結(jié)果均表明,本文方法在復(fù)雜的CrowdPose數(shù)據(jù)集上性能優(yōu)于主流人體姿態(tài)估計(jì)算法。 本文分別將COCO數(shù)據(jù)集和CrowdPose數(shù)據(jù)集上的檢測結(jié)果進(jìn)行可視化。在COCO test-dev數(shù)據(jù)集上,本文可視化了本文方法、CPN、SimpleBase、HRNet-W32這4類人體姿態(tài)估計(jì)算法的實(shí)驗(yàn)結(jié)果。本文用直線將檢測到的人體各個(gè)相鄰關(guān)節(jié)點(diǎn)連接起來,如圖11所示。實(shí)驗(yàn)結(jié)果顯示,在單人場景下,本文方法的關(guān)節(jié)點(diǎn)定位比CPN和SimpleBase更加準(zhǔn)確。多人場景下,相較于CPN、SimpleBase、HRNet-W32,本文方法能夠?qū)Ω嗟娜诉M(jìn)行姿態(tài)估計(jì)。此外,在光線較暗的情況下,本文方法對(duì)多人人體姿態(tài)估計(jì)結(jié)果優(yōu)于CPN、SimpleBase和HRNet-W32??梢暬Y(jié)果表明,本文方法在人體姿態(tài)估計(jì)方面準(zhǔn)確率高、魯棒性強(qiáng)。 單人場景 多人場景 光線較暗場景 在CrowdPose數(shù)據(jù)集上,本文可視化了本文方法、Mask-RCNN、HrHRNet共3類人體姿態(tài)估計(jì)方法的實(shí)驗(yàn)結(jié)果,結(jié)果如圖12所示。CrowdPose數(shù)據(jù)集中主要以擁擠場景為主,本文從CrowdPose數(shù)據(jù)集中選擇人在圖像邊緣(邊緣場景)、人在圖像中較遠(yuǎn)距離(目標(biāo)較遠(yuǎn)場景)、人與人相互遮擋(遮擋場景)這3類典型場景進(jìn)行可視化。從邊緣場景的可視化結(jié)果可以看出,相較于Mask-RCNN和HrHRNet,本文方法能夠有效地對(duì)圖像邊緣的人進(jìn)行姿態(tài)估計(jì)。從目標(biāo)較遠(yuǎn)的場景中可以看出,本文方法能夠有效對(duì)圖像中較遠(yuǎn)的人進(jìn)行姿態(tài)估計(jì)。在遮擋場景中,本文方法相較于Mask-RCNN和HrHRNet,能夠有效地對(duì)被遮擋的人進(jìn)行姿態(tài)估計(jì)。以上實(shí)驗(yàn)結(jié)果表明本法方法在多人的復(fù)雜場景下仍然具有較好的魯棒性和較高的檢測準(zhǔn)確率。 邊緣場景 目標(biāo)較遠(yuǎn)場景 遮擋場景 本文基于通道切分模塊提出一種改進(jìn)的人體姿態(tài)估計(jì)模型Channel-Split RSN。首先通過通道切分模塊增強(qiáng)卷積特征提取能力,同時(shí)減少卷積的計(jì)算復(fù)雜度;接著通過特征增強(qiáng)模塊減少特征通道的相似特征以獲得更加豐富的特征表示;最后提出一種改進(jìn)的姿態(tài)修正機(jī)Context-PRM,用于獲得更準(zhǔn)確的人體姿態(tài)關(guān)節(jié)點(diǎn)檢測結(jié)果。在COCO test-dev上的實(shí)驗(yàn)表明,本文方法的AP達(dá)到75.9%,F(xiàn)PS達(dá)到55.36,相較于RSN18,AP提高了5個(gè)百分點(diǎn)。與現(xiàn)階段主流姿態(tài)估計(jì)算法相比,本文方法在AP上優(yōu)于主流姿態(tài)估計(jì)算法,且模型的Params(M)低于多數(shù)主流姿態(tài)估計(jì)算法。在更具挑戰(zhàn)性的CrowdPose數(shù)據(jù)集上,本文方法達(dá)到66.9%的AP,模型性能優(yōu)于主流人體姿態(tài)估計(jì)算法。 人體姿態(tài)估計(jì)是一個(gè)具有挑戰(zhàn)性的問題,本文提出的Channel-Split RSN在COCO數(shù)據(jù)集和CrowdPose數(shù)據(jù)集上達(dá)到不錯(cuò)的效果。今后將從網(wǎng)絡(luò)結(jié)構(gòu)、注意力機(jī)制上進(jìn)一步改進(jìn)本文方法,使其具有更好的性能,并可應(yīng)用到更多實(shí)際場景。2.3 Context-PRM算法
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)數(shù)據(jù)與平臺(tái)
3.2 訓(xùn)練策略
3.3 實(shí)驗(yàn)結(jié)果分析
3.4 實(shí)驗(yàn)結(jié)果可視化
4 結(jié)束語
4.1 總結(jié)
4.2 展望