摘 要:針對(duì)現(xiàn)有的人體姿態(tài)估計(jì)算法無(wú)法準(zhǔn)確檢測(cè)小尺寸、大尺寸人體關(guān)鍵點(diǎn)和精確度較低的問(wèn)題,提出一種具有尺度不變性的卷積神經(jīng)網(wǎng)絡(luò)用于估計(jì)人體姿態(tài)。首先設(shè)計(jì)圖像縮放網(wǎng)絡(luò)將輸入圖像縮放到標(biāo)準(zhǔn)尺寸。該網(wǎng)絡(luò)能夠抑制由插值引起的特征丟失。其次引入非局部卷積,增加網(wǎng)絡(luò)的感受野。再次為多分辨率特征融合引入分辨率注意力機(jī)制,提高網(wǎng)絡(luò)的尺度不變性。最后設(shè)計(jì)優(yōu)化網(wǎng)絡(luò),抑制由采樣引起的量化誤差。在COCO數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)的結(jié)果表明,所提算法的平均精度均值達(dá)到79.2%高于其他算法,因此所提算法的尺度不變性和準(zhǔn)確度優(yōu)于現(xiàn)有人體姿態(tài)估計(jì)算法。
關(guān)鍵詞:人體姿態(tài)估計(jì);卷積神經(jīng)網(wǎng)絡(luò);尺度不變性;人體關(guān)鍵點(diǎn)檢測(cè);非局部卷積;量化誤差
DOI:10.15938/j.jhust.2024.04.007
中圖分類號(hào): TP391.41
文獻(xiàn)標(biāo)志碼: A
文章編號(hào): 1007-2683(2024)04-0059-10
A Human Pose Estimation Algorithm with Scale Invariant
SUN Ruiyang1, YANG Huixin1, ZHAO Lanfei2
(1.College of National Traditional Sports, Harbin Sport University, Harbin 150008, China;
2.The Higher Educational Key Laboratory for Measuring and Control Technology and Instrumentations of Heilongjiang Province,
Harbin University of Science and Technology, Harbin 150080, China)
Abstract:Due to the existing issues in current human pose estimation algorithms, which struggle with accurately detecting small and large-sized human keypoints as well as having lower precision, this paper proposes a scale invariant convolution neural network to estimate human pose. First, resizing network is constructed for resizing the input image to the standard resolution. This network would reduce feature loss caused by interpolation. Second, the receptive field of network is increased by introducing non-local convolution. Thirdly, resolution attention mechanism is introduced into multi-resolution feature fusion, leading to enhance invariance in scales. Finally, optimized network is designed to reduce quantisation error caused by sampling. Experimental results conducted on the COCO dataset indicate that the proposed algorithm achieves an average accuracy of 79.2%, which is higher than other algorithms. Therefore, the proposed algorithm exhibits better scale invariance and accuracy than existing human pose estimation algorithms.
Keywords:human pose estimation; convolutional neural network; scale invariance; human keypoints detection; non-local convolution; quantisation error
0 引 言
人體姿勢(shì)估計(jì)是計(jì)算機(jī)視覺(jué)方面具有挑戰(zhàn)性的關(guān)鍵性問(wèn)題之一。人體姿態(tài)估計(jì)的目的是檢測(cè)人體的眼睛、鼻子、肘部、手腕等人體關(guān)鍵點(diǎn)。該技術(shù)具有較為廣泛的應(yīng)用,例如人類行為識(shí)別、人機(jī)交互、電影和動(dòng)畫制作、虛擬現(xiàn)實(shí)、運(yùn)動(dòng)動(dòng)作分析、安防監(jiān)控等[1-2]。
經(jīng)典算法主要采用約束模型[3]、隨機(jī)森林[4-5]、概率模型等[6]對(duì)人體姿勢(shì)進(jìn)行估計(jì)。雖然在一定程度上解決了人體姿態(tài)估計(jì)問(wèn)題,但是這類算法存在一些問(wèn)題,例如只能檢測(cè)單一人體的關(guān)鍵點(diǎn),只能檢測(cè)上半身的人體姿態(tài),姿態(tài)估計(jì)準(zhǔn)確度不高等。為了解決傳統(tǒng)算法存在的問(wèn)題,基于卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network, CNN)的人體姿態(tài)估計(jì)算法應(yīng)運(yùn)而生。
目前,基于CNN的人體姿態(tài)估計(jì)算法主要分為兩類:自頂而下和自底向上[7]。前者先檢測(cè)出圖像中的人類個(gè)體,再檢測(cè)每個(gè)人對(duì)應(yīng)的關(guān)鍵點(diǎn)。由于這類算法較為依賴于人體檢測(cè)算法,對(duì)于人體之間相互遮擋,大尺寸或者小尺寸人體這三類較為復(fù)雜的目標(biāo),自頂而下算法的準(zhǔn)確度會(huì)受到較大的影響。后者先檢測(cè)出圖像中所有的人體關(guān)鍵點(diǎn),再為每個(gè)關(guān)鍵點(diǎn)進(jìn)行分組配對(duì)從而形成完整的骨骼形狀。這類算法的計(jì)算成本較高,對(duì)于高分辨率圖像,檢測(cè)和連接關(guān)鍵點(diǎn)的計(jì)算量比較大。另外,圖像中的噪聲、其他人體的關(guān)鍵點(diǎn)、復(fù)雜的人體姿態(tài)都會(huì)影響姿態(tài)估計(jì)的準(zhǔn)確性。
自頂而下這類算法包括:Sun等[8]提出的高分辨率網(wǎng)絡(luò)(HRNet)通過(guò)在不同分辨率網(wǎng)絡(luò)之間進(jìn)行信息交換,從而提高了CNN對(duì)于高分辨率圖像的處理能力;Nie等[9]提出的HCRN模型通過(guò)引入多尺度和多層次的上下文信息以及簡(jiǎn)單到復(fù)雜式的遞推分層結(jié)構(gòu),使CNN能夠更好地理解圖像中的語(yǔ)義信息;Artacho等[10]提出的Unipose算法使用上下文信息以及Atrous卷積算子構(gòu)建人體姿態(tài)估計(jì)模型;Rogez等[11]提出的Lcr-net++模型將區(qū)域中已估計(jì)的姿態(tài)與已設(shè)定好的姿態(tài)做對(duì)比,通過(guò)非極大值抑制篩選出得分最高的人體姿態(tài);Fang等[12]提出的RMPE模型首先采用Faster RCNN[13]檢測(cè)圖像中的人體區(qū)域,再利用堆疊沙漏網(wǎng)絡(luò)[14]檢測(cè)出人體的關(guān)鍵點(diǎn)。
自底向上這類算法包括:Cao等[15]提出OpenPose模型,該模型通過(guò)置信圖以及二維矢量場(chǎng)構(gòu)建人體關(guān)鍵點(diǎn)的位置和方向,通過(guò)貪婪推理法解析置信度圖和二維矢量場(chǎng)進(jìn)而預(yù)測(cè)出人體的關(guān)鍵點(diǎn)。Duan等[16]構(gòu)造一種基于殘差網(wǎng)絡(luò)[17]的網(wǎng)絡(luò)模型,在網(wǎng)絡(luò)輸出各關(guān)鍵點(diǎn)對(duì)應(yīng)的熱力圖基礎(chǔ)上,通過(guò)具有全連接形式的條件隨機(jī)場(chǎng)精確地定位人體關(guān)鍵點(diǎn)的位置。Cheng等[18]提出的Higherhrnet網(wǎng)絡(luò)在訓(xùn)練階段生成高分辨率的特征金字塔,在推理階段對(duì)多分辨率熱圖進(jìn)行聚合,提高小尺寸人體姿態(tài)估計(jì)準(zhǔn)確度。Kreiss等[19]提出的OpenPifPaf模型分別使用部分強(qiáng)度場(chǎng)和部分關(guān)聯(lián)場(chǎng)檢測(cè)以及連接人體關(guān)鍵點(diǎn)。
雖然現(xiàn)有人體姿態(tài)估計(jì)算法在一定程度上解決人體關(guān)鍵點(diǎn)檢測(cè)這一難題,但是目前主流的人體姿態(tài)估計(jì)算法存在無(wú)法準(zhǔn)確檢測(cè)小尺寸、大尺寸人體關(guān)鍵點(diǎn)以及人體姿態(tài)估計(jì)精度較低這兩個(gè)問(wèn)題。針對(duì)現(xiàn)有人體姿態(tài)估計(jì)算法存在的問(wèn)題,本文在HRNet模型的基礎(chǔ)上設(shè)計(jì)一種具有尺度不變性的CNN用于估計(jì)人體姿態(tài)。首先設(shè)計(jì)一個(gè)以雙線性插值為核心的圖像縮放網(wǎng)絡(luò),將非標(biāo)準(zhǔn)尺寸圖像轉(zhuǎn)化為網(wǎng)絡(luò)輸入的標(biāo)準(zhǔn)尺寸圖像。其次設(shè)計(jì)非局部卷積算子用于替代HRNet網(wǎng)絡(luò)中的最低分辨率網(wǎng)絡(luò)以及次低分辨率網(wǎng)絡(luò)中的卷積算子。再次本文設(shè)計(jì)一個(gè)全連接網(wǎng)絡(luò)并利用該網(wǎng)絡(luò)實(shí)現(xiàn)多分辨率特征融合過(guò)程中的分辨率注意力機(jī)制。最后本文設(shè)計(jì)一個(gè)優(yōu)化網(wǎng)絡(luò)對(duì)標(biāo)注出的人體關(guān)鍵點(diǎn)位置進(jìn)行修正,從而解決由上采樣和下采樣引起的量化誤差(關(guān)鍵點(diǎn)移位現(xiàn)象)。實(shí)驗(yàn)結(jié)果表明本文算法對(duì)于不同尺度的人體關(guān)鍵點(diǎn)均具有較強(qiáng)的檢測(cè)能力,人體關(guān)鍵點(diǎn)檢測(cè)精度較高。
1 本文算法
1.1 HRNet網(wǎng)絡(luò)模型
HRNet網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。HRNet將通過(guò)雙線性插值縮放后的圖像作為網(wǎng)絡(luò)的輸入,輸出為人體關(guān)鍵點(diǎn)的位置。網(wǎng)絡(luò)由一個(gè)高分辨率的主干網(wǎng)絡(luò)以及并行的3個(gè)低分辨率的主干子網(wǎng)絡(luò)構(gòu)成。其中主干網(wǎng)絡(luò)用于保證輸出高分辨率圖像,主干子網(wǎng)絡(luò)在一定程度上提高了卷積過(guò)程的感受野,進(jìn)而增加了人體關(guān)鍵點(diǎn)檢測(cè)精度。
1.2 本文算法設(shè)計(jì)思路
HRNet網(wǎng)絡(luò)存在以下4點(diǎn)不足:
1)HRNet通過(guò)傳統(tǒng)的雙線性插值對(duì)網(wǎng)絡(luò)輸入的圖像進(jìn)行縮放,從而降低網(wǎng)絡(luò)對(duì)于硬件設(shè)備的要求、提高網(wǎng)絡(luò)的訓(xùn)練速度以及推斷速度。采用這類插值算法進(jìn)行圖像縮放易造成圖像特征丟失,從而降低人體姿態(tài)估計(jì)的精確度;
2)HRNet采用卷積算子提取圖像的特征。常用的卷積核大小為3×3或5×5,感受野較小從而影響人體關(guān)鍵點(diǎn)檢測(cè)精度;
3)HRNet利用具有相同權(quán)重的多分辨率特征融合方法融合不同尺度的圖像特征。該方法無(wú)法模擬人眼具有的選擇性特點(diǎn),即在關(guān)注較為重要特征的同時(shí)抑制非必要的特征;
4)HRNet通過(guò)一系列的上采樣和下采樣將被縮放的熱力圖的尺寸轉(zhuǎn)化為原始圖像的尺寸。這一過(guò)程容易產(chǎn)生量化誤差(關(guān)鍵點(diǎn)的移位)[20],從而影響網(wǎng)絡(luò)的準(zhǔn)確度。
針對(duì)以上4點(diǎn)不足本文在HRNet網(wǎng)絡(luò)模型的基礎(chǔ)上構(gòu)建一個(gè)具有尺度不變性的人體姿態(tài)估計(jì)網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
首先在網(wǎng)絡(luò)的輸入端設(shè)計(jì)圖像縮放網(wǎng)絡(luò)用于替換傳統(tǒng)的圖像插值算法,進(jìn)而抑制傳統(tǒng)插值算法引起的圖像特征丟失。其次本文設(shè)計(jì)一種非局部卷積算子,利用該算子替換HRNet中的并行最低分辨率以及次低分辨率兩個(gè)主干子網(wǎng)絡(luò)中的卷積運(yùn)算,從而增加了網(wǎng)絡(luò)的感受野。再次引入分辨率注意力機(jī)制用于融合不同尺度對(duì)應(yīng)的圖像特征。最后設(shè)計(jì)一個(gè)優(yōu)化網(wǎng)絡(luò),抑制由采樣引起的量化誤差現(xiàn)象。
1.3 圖像縮放網(wǎng)絡(luò)
圖像縮放網(wǎng)絡(luò)輸入為由紅、綠、藍(lán)三通道組成的輸入特征圖,即X∈RH×W×3。網(wǎng)絡(luò)輸出為縮放后的輸出特征圖,即Y∈RH′×W′×3。該網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖3所示。
由圖3可知,網(wǎng)絡(luò)的核心部分是雙線性插值模塊,其作用是將輸入尺寸為H×W×3的特征圖轉(zhuǎn)換為HRNet輸入的標(biāo)準(zhǔn)特征圖尺寸H′×W′×3。該網(wǎng)絡(luò)利用3個(gè)3×3卷積以及激活函數(shù)提取雙線性插值前、后對(duì)應(yīng)的圖像特征。圖像縮放網(wǎng)絡(luò)的表達(dá)式為
Y=δ(δ(b(δ(v1*X))*v2)*v3)+b(X)(1)
其中:函數(shù)b為雙線性插值函數(shù);δ為激活函數(shù);*為卷積算子;v1,v2,v3分別為三次3×3卷積對(duì)應(yīng)的卷積核。
區(qū)別于傳統(tǒng)的插值方法,圖像縮放網(wǎng)絡(luò)是一種基于CNN的網(wǎng)絡(luò)模型。圖像縮放網(wǎng)絡(luò)可以與后續(xù)的人體姿態(tài)估計(jì)網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練,從而在縮放圖像的同時(shí)提高人體關(guān)鍵點(diǎn)檢測(cè)的準(zhǔn)確度。另外該網(wǎng)絡(luò)為縮放后的圖像引入一些額外的視覺(jué)元素,圖4為對(duì)一幅圖像進(jìn)行縮放后的結(jié)果。
從圖4可知,圖像縮放網(wǎng)絡(luò)引入了一些高頻的圖像細(xì)節(jié)信息,縮放后的圖像出現(xiàn)許多顆粒狀的視覺(jué)元素。這些視覺(jué)元素可以改善由傳統(tǒng)插值方法引起的特征丟失現(xiàn)象,從而改善基準(zhǔn)模型的性能。
1.4 非局部卷積算子
假設(shè)非局部卷積算子輸入特征圖為X={xi,j}且X∈RH×W×C,其中特征向量xi,j由位于平面位置(i,j)的C個(gè)特征值構(gòu)成,即xi,j=[x1i,j,x2i,j,…,xCi,j]T。非局部卷積算子如式(2)所示:
yi,j=1HW∑∑i′,j′∈RHW[(i,j·i′,j′)xi′,j′](2)
其中:yi,j為非局部卷積運(yùn)算結(jié)果;i,j為特征向量xi,j對(duì)應(yīng)的單位特征向量;i,j·i′,j′為單位特征向量的點(diǎn)積。
根據(jù)式(2)可知,全體像素均參與卷積運(yùn)算過(guò)程,因此該方法的感受野達(dá)到最大。另外,非局部卷積的權(quán)重是由能夠反映兩個(gè)單位特征向量之間的相似度的點(diǎn)積運(yùn)算所決定,因此非局部卷積在擴(kuò)大感受野的同時(shí),排除非相干特征對(duì)于卷積運(yùn)算的干擾。對(duì)輸入特征圖進(jìn)行非局部卷積運(yùn)算的結(jié)構(gòu)圖如圖5所示。
根據(jù)圖5可知,非局部卷積運(yùn)算首先通過(guò)通道變換將尺寸為H×W×C的特征圖轉(zhuǎn)化為C×H×W尺寸的特征圖并與輸入特征圖進(jìn)行卷積得到尺寸為H×W×H×W的相似度特征圖;再將相似度特征圖與經(jīng)過(guò)通道變換后的尺寸為
C×H×W的特征圖進(jìn)行相乘,實(shí)現(xiàn)如式(2)所示的權(quán)重累加運(yùn)算;最后將非局部運(yùn)算結(jié)果與輸入特征圖相加,從而抑制網(wǎng)絡(luò)的退化問(wèn)題。
1.5 分辨率注意力機(jī)制
令u表示全局平均池化向量,uk為第k個(gè)特征圖對(duì)應(yīng)的全局池化結(jié)果,其表達(dá)式為:
uk=1HW∑Hi=1∑Wj=1xi,j,k(3)
其中:xi,j,k為像素(i,j)的第k個(gè)特征值。假設(shè)X為分辨率注意力機(jī)制的輸入特征圖;Y為輸出特征圖,則Y可以表示為
Y=δ(δ(c1*X)*c2)p(σ(Wu))(4)
其中:c1和c2分別表示兩個(gè)3×3卷積核;u為根據(jù)式(3)得到的全局平均池化向量;函數(shù)σ為sigmoid函數(shù);W為全連接層的權(quán)重矩陣,W與u的乘積可以表示為
Wu=ω1,1ω1,2…ω1,C
ω2,1ω2,2…ω2,C
ωC,1ωC,2…ωC,Cu1u2uC(5)
函數(shù)p的作用是對(duì)三維卷積塊進(jìn)行通道變換。通道變換之后得到一個(gè)C×1×1的權(quán)重向量,向量中的每個(gè)元素對(duì)應(yīng)各通道的注意力權(quán)重。分辨率注意力機(jī)制模塊的結(jié)構(gòu)圖如圖6所示。
通過(guò)分辨率注意力機(jī)制模塊可為不同分辨率網(wǎng)絡(luò)分配一個(gè)特定的權(quán)重,再對(duì)不同分辨率的熱力圖進(jìn)行融合,從而模擬人眼的選擇性,即關(guān)注場(chǎng)景中的一部分景物,同時(shí)忽略其他可見(jiàn)的信息。
1.6 優(yōu)化網(wǎng)絡(luò)
HRNet網(wǎng)絡(luò)在輸出的熱力圖中找到數(shù)值最大的像素點(diǎn)對(duì)應(yīng)的坐標(biāo)即為該關(guān)鍵點(diǎn)對(duì)應(yīng)的位置。在關(guān)鍵點(diǎn)檢測(cè)過(guò)程中,HRNet采用多次的下采樣降低圖像的分辨率,在輸出端采用多次上采樣恢復(fù)圖像的分辨率。雖然上述過(guò)程可以提高模型的效率,但是容易造成關(guān)鍵點(diǎn)的移位,從而引起量化誤差[20]。圖7為分別通過(guò)HRNet和本文算法對(duì)于圖像person的左肩進(jìn)行關(guān)鍵點(diǎn)檢測(cè)的結(jié)果。由于HRNet首先通過(guò)圖像縮放將待姿態(tài)估計(jì)的圖像尺寸縮放到256×192,然后通過(guò)4倍下采樣將待姿態(tài)估計(jì)的圖像的尺寸縮放到64×48,即HRNet網(wǎng)絡(luò)規(guī)定的輸入圖像的標(biāo)準(zhǔn)尺寸。HRNet網(wǎng)絡(luò)輸出同樣是分辨率64×48的熱力圖,熱力圖中的每個(gè)像素點(diǎn)的強(qiáng)度表示該點(diǎn)為人體關(guān)鍵點(diǎn)的概率。因此圖7(b)和圖7(c)中3個(gè)坐標(biāo)軸分別對(duì)應(yīng)HRNet網(wǎng)絡(luò)和本文算法輸出熱力圖的寬度、高度以及每個(gè)像素點(diǎn)為人體關(guān)鍵點(diǎn)的概率。
理想的熱力圖應(yīng)存在唯一的波峰(極大值),該波峰所在的像素點(diǎn)即為左肩膀所在的位置。從圖7(b)可以看出HRNet輸出的熱力圖在關(guān)鍵點(diǎn)附近產(chǎn)生了多個(gè)波峰(極大值),此時(shí)左肩膀所在的位置無(wú)法最終確定。如果將多個(gè)波峰中強(qiáng)度最大值的像素作為左肩膀所在位置,則會(huì)出現(xiàn)關(guān)鍵點(diǎn)移位的現(xiàn)象。從圖7(c)可以看出,本文算法輸出的熱力圖存在唯一的波峰,因此該熱力圖比較接近理想熱力圖。分別提取并標(biāo)識(shí)這兩張熱力圖中數(shù)值最大的像素作為關(guān)鍵點(diǎn)檢測(cè)結(jié)果,如圖8所示。
從圖8可以看出,相對(duì)于真實(shí)的關(guān)鍵點(diǎn),HRNet檢測(cè)的關(guān)鍵點(diǎn)具有一個(gè)明顯的移位。這一問(wèn)題降低了關(guān)鍵點(diǎn)檢測(cè)的精確度。本文設(shè)計(jì)一個(gè)優(yōu)化網(wǎng)絡(luò)抑制這種關(guān)鍵點(diǎn)移位現(xiàn)象。該網(wǎng)絡(luò)結(jié)構(gòu)圖如圖9所示。
假設(shè)優(yōu)化網(wǎng)絡(luò)的輸入為特征圖X,輸出為特征圖Y,Y的表達(dá)式為
Y=(R(R(z*X)+X)+R(z*X)+X)*φ(6)
其中:z為反卷積采用的卷積核;φ為1×1卷積采用的卷積核;函數(shù)R為殘差網(wǎng)絡(luò)。殘差網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖9(b)所示,表達(dá)式為
R(X)=δ(δ(X*ω1)*ω2)+X(7)
其中:ω1、ω2分別對(duì)應(yīng)于第一次和第二次3×3卷積采用的卷積核。
2 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)采用的仿真軟件為PyCharm,操作系統(tǒng)為Windows 7。
硬件平臺(tái)是一個(gè)臺(tái)式機(jī)電腦,其硬件組成為:i7-11700型號(hào)的中央處理器;32GB DDR4型號(hào)的內(nèi)存;RTX 3070型號(hào)的顯示卡。本文利用COCO數(shù)據(jù)集[21]對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和驗(yàn)證。
2.1 人體關(guān)鍵點(diǎn)檢測(cè)評(píng)價(jià)指標(biāo)
實(shí)驗(yàn)部分采用COCO數(shù)據(jù)集中的目標(biāo)關(guān)鍵點(diǎn)相似度(object keypoint similarity, OKS)測(cè)量人體關(guān)鍵點(diǎn)檢測(cè)的精度。OKS計(jì)算方法為
On=∑17m=1exp-d2m2s2nk2mγ(vmgt;0)∑17m=1γ(vmgt;0)(8)
其中:On為第n張圖片對(duì)應(yīng)的OKS值;m為人體關(guān)鍵點(diǎn)的索引號(hào);COCO數(shù)據(jù)集標(biāo)注出總共17個(gè)人體關(guān)鍵點(diǎn),因此式(8)累加上限為17;dm為第m個(gè)關(guān)鍵點(diǎn)位置與真實(shí)位置之間的歐式距離;vm為第m個(gè)關(guān)鍵點(diǎn)是否被遮擋,即如果vmgt;0表示關(guān)鍵點(diǎn)未被遮擋,反之亦然;sn為第n張圖片中目標(biāo)人體的像素面積;km為第m個(gè)關(guān)鍵點(diǎn)對(duì)應(yīng)的衰減常量;γ為沖激函數(shù)。
根據(jù)式(8)可知,On的取值范圍為[0,1],On的數(shù)值越接近1則人體關(guān)鍵點(diǎn)檢測(cè)越準(zhǔn)確。實(shí)驗(yàn)部分設(shè)定一個(gè)置信閾值t,只有當(dāng)Ongt;t時(shí)則認(rèn)為算法準(zhǔn)確地對(duì)第n張圖片進(jìn)行關(guān)鍵點(diǎn)檢測(cè)。平均精度(average precision, AP)評(píng)價(jià)指標(biāo)APt的計(jì)算方法為
APt=1Z∑Zn=1γ(Ongt;t)(9)
式中Z為測(cè)試集圖像總數(shù)。由式(9)可知,APt表示置信閾值超出t的圖像占總圖像數(shù)量的比例。本文選用AP0.5、AP0.75、AP0.953個(gè)指標(biāo)評(píng)價(jià)人體關(guān)鍵點(diǎn)檢測(cè)的準(zhǔn)確性。實(shí)驗(yàn)部分選用的另一類評(píng)價(jià)指標(biāo)為均值平均精度(mean average precision, mAP)。均值平均精度在置信閾值大于0.5的前提下,通過(guò)統(tǒng)計(jì)不同置信閾值對(duì)應(yīng)平均精度的均值,進(jìn)而評(píng)價(jià)各算法的準(zhǔn)確度。mAP的計(jì)算方法為
mAP=110∑9h=0AP0.5+0.05×h(10)
由式(10)可知,mAP以0.05為步長(zhǎng),統(tǒng)計(jì)置信閾值區(qū)間[0.5,0.95]中人體關(guān)鍵點(diǎn)檢測(cè)平均精度的均值。
為了評(píng)價(jià)算法對(duì)于不同尺度的人體關(guān)鍵點(diǎn)的檢測(cè)準(zhǔn)確度,實(shí)驗(yàn)部分按照面積將人體分為三類:大尺度人體(像素面積不小于96×96);中尺度人體(像素面積小于96×96,不小于32×32);小尺度人體(像素面積小于32×32)。再分別統(tǒng)計(jì)這三類人體的均值平均精度,即大尺度人體表示為mAP(L)、中尺度人體表示為mAP(M)、小尺度人體表示為mAP(S)。
2.2 模型訓(xùn)練
COCO數(shù)據(jù)庫(kù)包括11.8萬(wàn)張用于訓(xùn)練的圖像和5千張用于測(cè)試的圖像。實(shí)驗(yàn)過(guò)程將使用訓(xùn)練集進(jìn)行訓(xùn)練,并在測(cè)試集上進(jìn)行評(píng)價(jià)。使用改進(jìn)的Adam優(yōu)化器[22]更新參數(shù),初始學(xué)習(xí)率設(shè)置為10-2,在第170個(gè)和第200個(gè)epoch時(shí)分別降低為10-3和10-4。使用240個(gè)epoch來(lái)訓(xùn)練網(wǎng)絡(luò)模型,采用均方誤差(mean square error, MSE)作為損失函數(shù)。圖10為訓(xùn)練過(guò)程中損失函數(shù)以及mAP值的變化曲線。
2.3 測(cè)試集實(shí)驗(yàn)數(shù)據(jù)分析
實(shí)驗(yàn)部分對(duì)比算法包括:HRNet[8],OpenPose[9],OpenPifPaf[19],Vitpose[23],LCR-Net++[12],KAPAO[24]以及本文算法。通過(guò)以上算法對(duì)COCO數(shù)據(jù)集進(jìn)行測(cè)試,分別統(tǒng)計(jì)各算法對(duì)應(yīng)的客觀評(píng)價(jià)指標(biāo)如表1所示。
根據(jù)表1中AP0.5、AP0.75、AP0.95、mAP4個(gè)客觀評(píng)價(jià)指標(biāo)可知,本文算法在0.5、0.75、0.95三種置信閾值對(duì)應(yīng)的平均精度以及置信閾值區(qū)間[0.5,0.95]對(duì)應(yīng)的均值平均精度均高于同類算法,因此本文在檢測(cè)人體關(guān)鍵點(diǎn)方面的準(zhǔn)確度高于傳統(tǒng)算法。根據(jù)mAP(L)、mAP(M)、mAP(S)3個(gè)評(píng)價(jià)指標(biāo)可知本文算法對(duì)于不同尺度的人體均具有較強(qiáng)的關(guān)鍵點(diǎn)檢測(cè)能力。另外對(duì)比mAP(M)和mAP(S)兩個(gè)指標(biāo)可知各算法的mAP指標(biāo)均產(chǎn)生一定程度的下降,但是本文算法對(duì)應(yīng)的mAP指標(biāo)下降幅度較小,而其他傳統(tǒng)算法下降幅度較大,因此本文算法對(duì)于大尺寸和小尺度人體關(guān)鍵點(diǎn)檢測(cè)能力高于傳統(tǒng)算法。
表2為九類人體關(guān)鍵對(duì)應(yīng)的mAP指標(biāo)。從表2可知本文算法對(duì)于各個(gè)關(guān)鍵點(diǎn)檢測(cè)能力均高于傳統(tǒng)算法。本文在HRNet網(wǎng)絡(luò)的基礎(chǔ)上提出4種改進(jìn)方法,即圖像縮放網(wǎng)絡(luò)、非局部卷積算子、分辨率注意力機(jī)制以及優(yōu)化網(wǎng)絡(luò)。為了單獨(dú)驗(yàn)證這4種改進(jìn)方法,實(shí)驗(yàn)分別為HRNet模型加入圖像縮放網(wǎng)絡(luò)、非局部卷積算子、分辨率注意力機(jī)制以及優(yōu)化網(wǎng)絡(luò),再利用mAP進(jìn)行客觀評(píng)價(jià),實(shí)驗(yàn)結(jié)果如表3所示。根據(jù)表3可知,4種改進(jìn)方法均能提高網(wǎng)絡(luò)的mAP指標(biāo)。在這4種改進(jìn)方法中,非局部卷積算子對(duì)于mAP指標(biāo)提升的幅度最大,因?yàn)榉蔷矸e算子提高卷積運(yùn)算的感受野從而增強(qiáng)了網(wǎng)絡(luò)的泛化能力以及關(guān)鍵點(diǎn)檢測(cè)精度。
為了對(duì)比各算法對(duì)于大尺度以及小尺度人體關(guān)鍵點(diǎn)檢測(cè)能力,實(shí)驗(yàn)部分通過(guò)前述7種算法分別對(duì)COCO數(shù)據(jù)庫(kù)中的兩幅測(cè)試圖像man、baseball game進(jìn)行人體姿態(tài)估計(jì)。其中圖像man對(duì)應(yīng)的人體關(guān)鍵點(diǎn)尺度較大,圖像baseball game對(duì)應(yīng)的人體關(guān)鍵點(diǎn)尺度較小。人體姿態(tài)估計(jì)結(jié)果分別如圖11、圖12所示。
根據(jù)圖11可知,HRNet算法無(wú)法檢測(cè)右肩,人體后側(cè)的沙發(fā)椅被誤檢為關(guān)鍵點(diǎn);OpenPose算法將手機(jī)正面對(duì)應(yīng)的3個(gè)像素點(diǎn)誤檢為關(guān)鍵點(diǎn);OpenPifPaf算法漏檢肩部以及手腕,并將腦門和嘴唇誤檢為關(guān)鍵點(diǎn);ViTPose誤把右手附近的一些像素誤檢為人體關(guān)鍵點(diǎn);LCR-Net++算法無(wú)法檢測(cè)右側(cè)手腕以及左肩并且將下顎誤檢為關(guān)鍵點(diǎn);KAPAO無(wú)法檢測(cè)左肩,并將手心像素誤檢為關(guān)鍵點(diǎn);本文算法能夠檢測(cè)出全部人體關(guān)鍵點(diǎn)。
根據(jù)圖12可知,HRNet算法只能估計(jì)出3個(gè)運(yùn)動(dòng)員的身體姿態(tài),左側(cè)運(yùn)動(dòng)員的關(guān)鍵點(diǎn)位置出現(xiàn)了較大的偏差;OpenPose算法能夠估計(jì)出6名運(yùn)動(dòng)的身體姿態(tài),另外兩名目標(biāo)較小的運(yùn)動(dòng)員無(wú)法進(jìn)行姿態(tài)估計(jì);OpenPifPaf算法和ViTPose算法均只能完全估計(jì)出最近的兩個(gè)運(yùn)動(dòng)員的姿態(tài),遠(yuǎn)處的運(yùn)動(dòng)員只能檢測(cè)出部分關(guān)鍵點(diǎn),ViTPose算法還將天空誤檢為關(guān)鍵點(diǎn);LCR-Net++算法只能估計(jì)近處兩名運(yùn)動(dòng)員的身體姿態(tài);KAPAO算法可以完全檢測(cè)出六名運(yùn)動(dòng)員的身體姿態(tài),另外有3名運(yùn)動(dòng)員只能檢測(cè)出部分關(guān)鍵點(diǎn);本文算法可以檢測(cè)出全部8名運(yùn)動(dòng)員的身體姿態(tài),并且各關(guān)鍵點(diǎn)的位置較為準(zhǔn)確。
3 結(jié)論與展望
本文提出一種具有尺度不變性的人體姿態(tài)估計(jì)算法。首先設(shè)計(jì)一個(gè)圖像縮放網(wǎng)絡(luò)將任意尺寸的圖像縮放為標(biāo)準(zhǔn)尺寸,再將該標(biāo)準(zhǔn)尺寸圖像作為網(wǎng)絡(luò)的輸入。其次設(shè)計(jì)一種非局部卷積算子用于替換傳統(tǒng)HRNet網(wǎng)絡(luò)中第二主干子網(wǎng)絡(luò)以及第三主干子網(wǎng)絡(luò)中的卷積算子。再次在多分辨率圖像融合過(guò)程中引入分辨率注意力機(jī)制,從而提高網(wǎng)絡(luò)的多尺度特性。最后提出一種優(yōu)化網(wǎng)絡(luò)校正由上采樣和下采樣引起的人體關(guān)鍵點(diǎn)移位現(xiàn)象。實(shí)驗(yàn)部分通過(guò)COCO數(shù)據(jù)集驗(yàn)證本文算法對(duì)于多種尺度的人體均能夠準(zhǔn)確檢測(cè)關(guān)鍵點(diǎn),人體姿態(tài)估計(jì)的精確度得到有效提高。
本文設(shè)計(jì)的人體姿態(tài)估計(jì)算法主要存在三方面的不足:當(dāng)人體關(guān)鍵點(diǎn)被遮擋時(shí),算法的準(zhǔn)確度不高;由于該算法采用HRNet作為基線模型,因此網(wǎng)絡(luò)的參數(shù)量比較大;該算法只能完成二維人體姿態(tài)估計(jì),無(wú)法兼容三維人體姿態(tài)估計(jì)。
針對(duì)以上三點(diǎn)不足作者會(huì)將未來(lái)的研究重點(diǎn)集中于以下3個(gè)方面:優(yōu)化網(wǎng)絡(luò)模型,增加訓(xùn)練數(shù)據(jù)中遮擋人體姿態(tài)的樣本,從而提高模型應(yīng)對(duì)遮擋的魯棒性;采用模型剪枝、知識(shí)蒸餾等技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)的輕量化;嘗試將對(duì)現(xiàn)有的模型進(jìn)行改進(jìn),應(yīng)用改進(jìn)的模型對(duì)二維和三維數(shù)據(jù)集進(jìn)行訓(xùn)練,使該模型能夠兼顧二維和三維人體姿態(tài)估計(jì)任務(wù)。
參 考 文 獻(xiàn):
[1] 張鋒. 基于卷積神經(jīng)網(wǎng)絡(luò)的人體姿態(tài)估計(jì)方法研究[D]. 成都: 電子科技大學(xué), 2020.
[2] SONGL C, YU G, YUAN J S, et al. Human Pose Estimation and Its Application to Action Recognition: A Survey[J]. Journal of Visual Communication and Image Representation, 2021, 76: 103055.
[3] 劉今越,劉彥開(kāi),賈曉輝,等. 基于模型約束的人體姿態(tài)視覺(jué)識(shí)別算法研究[J]. 儀器儀表學(xué)報(bào), 2020, 41(4): 208.
[4] LIU Jinyue, LIU Yankai, JIA Xiaohui, et al. Research on Human Pose Visual Recognition Algorithm Based on Model Constraints[J]. Chinese Journal of Scientific Instrument, 2020, 41(4): 208.
[5] CHANG J Y, NAM S W. Fast Random Forest Based Human Pose Estimation Using a Multi-scale and Cascade Approach[J]. ETRI Journal, 2013, 35(6): 949.
[6] ROGEZ G, RIHAN J, ORRITE-URUUELA C, et al.Fast Human Pose Detection Using Randomized Hierarchical Cascades of Rejectors[J]. International Journal of Computer Vision, 2012, 99(1): 25.
[7] FERRARI V, MARIN-JIMENEZ M, ZISSERMAN A. ProgressiveSearch Space Reduction for Human Pose Estimation[C]//IEEE Conference on Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2008: 1.
[8] CHEN Y, TIAN Y, HE M. MonocularHuman Pose Estimation: A Survey of Deep Learning-Based Methods[J]. Computer Vision and Image Understanding, 2020 (192): 1.
[9] SUN K, XIAO B, LIU D, et al.Deep High-Resolution Representation Learning for Human Pose Estimation[C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Jersey: IEEE Press, 2019: 5693.
[10]NIE X, FENG J, XING J, et al.Hierarchical Contextual Refinement Networks for Human Pose Estimation[J]. IEEE Transactions on Image Processing, 2018, 28(2): 924.
[11]ARTACHO B, SAVAKIS A.Unipose: Unified Human Pose Estimation in Single Images and Videos[C] //Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Jersey: IEEE Press, 2020: 7035.
[12]ROGEZ G, WEINZAEPFEL P, SCHMID C.Lcr-net++: Multi-person 2d and 3d Pose Detection in Natural Images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019, 42(5): 1146.
[13]FANG H S, XIE S, TAI Y W, et al.Rmpe: Regional Multi-person Pose Estimation[C]//Proceedings of the IEEE International Conference on Computer Vision. Washington: IEEE Computer Society, 2017: 2334.
[14]GIRSHICK R. FastR-cnn[C]//Proceedings of the IEEE International Conference on Computer Vision. New Jersey: IEEE Press, 2015: 1440.
[15]NEWELL A, YANG K, DENG J. StackedHourglass Networks for Human Pose Estimation[C]//European Conference on Computer Vision. Berlin: Springer, 2016: 483.
[16]CAO Z, HIDALGO G, SIMON T, et al.OpenPose: Realtime Multi-person 2D Pose Estimation Using Part Affinity Fields[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 43(1): 172.
[17]DUAN P, WANG T, CUI M, et al.Multi-person Pose Estimation Based on a Deep Convolutional Neural Network[J]. Journal of Visual Communication and Image Representation, 2019, 62: 245.
[18]HE K, ZHANG X, REN S, et al. Deep Residual Learning for Image Recognition[J]. IEEE Conference on Computer Vision and Pattern Recognition, 2016: 770.
[19]CHENG B, XIAO B, WANG J, et al.Higherhrnet: Scale-aware Representation Learning for Bottom-up Human Pose Estimation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Jersey: IEEE Press, 2020: 5386.
[20]KREISS S, BERTONI L, ALAHI A.Openpifpaf: Composite Fields for Semantic Keypoint Detection and Spatio-temporal Association[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 23(8): 13498.
[21]ZHANG F, ZHU X, DAI H, et al.Distribution-aware Coordinate Representation for Human Pose Estimation[C] //Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Jersey: IEEE Press, 2020: 7093.
[22]LIN T Y, MAIRE M, BELONGIE S, et al.Microsoft Coco: Common Objects in Context[C]//European Conference on Computer Vision. Berlin: Springer, 2014: 740.
[23]YI D, AHN J, JI S. An Effective Optimization Method for Machine Learning Based on ADAM[J]. Applied Sciences, 2020, 10(3): 1073.
[24]XU Y, ZHANG J, ZHANG Q, et al. Vitpose: Simple Vision Transformer Baselines for Human Pose Estimation[J]. Advances in Neural Information Processing Systems, 2022, 35: 38571.
[25]MCNALLY W, VATS K, WONG A, et al. RethinkingKeypoint Representations: Modeling Keypoints and Poses as Objects for Multi-person Human Pose Estimation [C]//European Conference on Computer Vision. Cham: Springer, 2022: 37.
(編輯:溫澤宇)
哈爾濱理工大學(xué)學(xué)報(bào)2024年4期