王亞東,秦會(huì)斌
(杭州電子科技大學(xué) 新型電子器件與應(yīng)用研究所,浙江 杭州 310018)
隨著社會(huì)發(fā)展,監(jiān)控視頻分析正從人工走向智能,從傳統(tǒng)走向現(xiàn)代。人體關(guān)鍵點(diǎn)檢測是以人為中心的視頻分析中的重要環(huán)節(jié),又稱為人體姿態(tài)估計(jì)[1]。人體關(guān)鍵點(diǎn)是具有明確語義的關(guān)節(jié)點(diǎn)和部位,是行為識(shí)別[2]、人機(jī)交互[3]和動(dòng)作捕捉[4]等應(yīng)用的重要基礎(chǔ)。
隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的發(fā)展,人體關(guān)鍵點(diǎn)檢測取得顯著進(jìn)步,精度逐漸提升。基于深度卷積神經(jīng)網(wǎng)絡(luò)的人體關(guān)鍵點(diǎn)檢測算法分為兩類:基于熱圖表示的檢測方法和基于坐標(biāo)表示的回歸方法。
自從Tompson 等人[5]首次提出用熱圖表示關(guān)節(jié)點(diǎn),檢測方法成為二維姿態(tài)估計(jì)的主流。孫科等人[6]針對(duì)關(guān)鍵點(diǎn)檢測任務(wù)提出HRNet,整個(gè)網(wǎng)絡(luò)中保持高分辨率的特征圖,通過并行連接多個(gè)不同分辨率的子網(wǎng)絡(luò),并在它們之間進(jìn)行信息交互和融合,避免了信息的丟失和模糊。檢測方法具有精度高、訓(xùn)練效率高和空間泛化性好等優(yōu)點(diǎn)。但是熱圖分辨率低于原圖分辨率導(dǎo)致的量化誤差和解碼過程中argmax 操作不可微分,使得檢測方法依賴高分辨率熱圖,限制了在嵌入式設(shè)備中的使用。
回歸方法在人體姿態(tài)估計(jì)中研究較早,但相關(guān)工作較少?;貧w方法直接端到端產(chǎn)生圖像中關(guān)鍵點(diǎn)的坐標(biāo)。Toshev 等人[7]首次提出利用CNN 回歸坐標(biāo)進(jìn)行人體姿態(tài)估計(jì)。Carreira 等人[8]提出了一個(gè)迭代誤差反饋框架(Iterative Error Feedback,IEF),引入自上而下的反饋,預(yù)測當(dāng)前估算值的偏移量并進(jìn)行迭代矯正。Nie 等人[9]提出了單階段的多人姿態(tài)估計(jì)網(wǎng)絡(luò)(Single-stage Multiperson Pose Machine,SPM),采用根節(jié)點(diǎn)預(yù)測人體位置,然后預(yù)測關(guān)節(jié)點(diǎn)的偏移量。回歸方法擁有簡單靈活高效等優(yōu)點(diǎn),但性能仍遜色于檢測方法,尤其在遮擋、截?cái)嗪瓦\(yùn)動(dòng)模糊等場景中誤差較大。
實(shí)際應(yīng)用中,往往需要在計(jì)算能力弱和內(nèi)存空間有限的設(shè)備上運(yùn)行神經(jīng)網(wǎng)絡(luò),大型神經(jīng)網(wǎng)絡(luò)難以在移動(dòng)端和嵌入式設(shè)備部署,為此研究人員提出一系列輕量級(jí)模型,例如MobileNets[10]、ShuffleNet[11]和MicroNet[12]。輕量級(jí)模型基于空洞卷積、可分離卷積和組卷積等操作,減少網(wǎng)絡(luò)參數(shù)和計(jì)算量,而不損失網(wǎng)絡(luò)性能。但這些網(wǎng)絡(luò)大多是為了目標(biāo)檢測而設(shè)計(jì),對(duì)于人體關(guān)鍵點(diǎn)檢測缺少針對(duì)性。
為了解決人體姿態(tài)估計(jì)在移動(dòng)端的性能問題,本文改進(jìn)積分姿態(tài)回歸[13]算法(Integral Pose Regression,IPR),以輕量的Lite-HRNet[14]為主干網(wǎng)絡(luò),使用低分辨率的熱圖編碼和soft-argmax 解碼來降低時(shí)空復(fù)雜度。針對(duì)標(biāo)注的模糊性,結(jié)合不確定性估計(jì)進(jìn)行誤差分布估計(jì),預(yù)測分布的尺度參數(shù);根據(jù)最大似然估計(jì),提出尺度損失。更進(jìn)一步,利用預(yù)測的尺度參數(shù),人工渲染目標(biāo)熱圖進(jìn)行監(jiān)督,對(duì)隱式熱圖中概率分布進(jìn)行約束。COCO[15]數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果表明,與積分姿態(tài)回歸算法相比,熱圖分辨率為64×48 的改進(jìn)算法提高了1.7%的平均精度,熱圖分辨率為16×12 的改進(jìn)算法提高了3.3%的平均精度,降低了資源占用。
IPR 算法結(jié)合了檢測方法和回歸方法的優(yōu)點(diǎn),編碼過程中使用低分辨率隱式熱圖代替高分辨率熱圖,解碼過程中使用可微分的soft-argmax 代替argmax。
檢測方法把CNN 作為濾波器,針對(duì)每類關(guān)鍵點(diǎn)產(chǎn)生二維網(wǎng)格狀熱圖,每個(gè)像素值表示此處包含關(guān)鍵點(diǎn)的概率,稱為編碼過程,如圖1 (a)所示。通過argmax 獲得熱圖中概率最大的位置坐標(biāo)映射到原圖坐標(biāo),稱為解碼過程。檢測方法按標(biāo)注信息人工渲染每個(gè)關(guān)鍵點(diǎn)的高斯熱圖作為目標(biāo),對(duì)輸出熱圖進(jìn)行密集監(jiān)督。
圖1 人體關(guān)鍵點(diǎn)檢測方法示意圖
檢測方法依賴高分辨率的輸出熱圖,因?yàn)楦叻直媛薀釄D可以提供更精細(xì)的關(guān)鍵點(diǎn)定位,保留更多的圖像細(xì)節(jié)和語義信息,有利于提高關(guān)鍵點(diǎn)檢測的準(zhǔn)確性和魯棒性。但高分辨率熱圖需要更多的計(jì)算資源、內(nèi)存空間和訓(xùn)練時(shí)間,存在量化誤差和分辨率限制,不能完全避免關(guān)鍵點(diǎn)定位的偏差和不確定性。因此輕量級(jí)的關(guān)鍵點(diǎn)檢測必須克服對(duì)高分辨率熱圖的依賴,在低分辨率時(shí)保持較高的精度。
回歸方法的基本思想是將關(guān)鍵點(diǎn)檢測問題轉(zhuǎn)化為坐標(biāo)回歸問題,直接同時(shí)預(yù)測每個(gè)關(guān)鍵點(diǎn)在圖像中的坐標(biāo),過程中無熱圖,如圖1 (b)所示。編碼過程和解碼過程完全由神經(jīng)網(wǎng)絡(luò)完成,外部難以解釋和控制。優(yōu)點(diǎn)是可以簡化姿態(tài)估計(jì)的流程,缺點(diǎn)是性能不如檢測方法。
IPR 算法的編碼過程與檢測方法大同小異,區(qū)別在于IPR 算法產(chǎn)生的熱圖分辨率較低,如圖1(c)所示。對(duì)于輸入圖像I中每個(gè)關(guān)鍵點(diǎn),模型輸出一張熱圖∈RM×N,其中M和N是熱圖的高和寬。熱圖中每個(gè)像素的值表示此處包含關(guān)鍵點(diǎn)的概率P(J|I),其中J∈R1×2是在圖像I上的坐標(biāo)。選取人體的K個(gè)關(guān)鍵點(diǎn),模型同時(shí)預(yù)測K張熱圖,對(duì)應(yīng)不同的關(guān)鍵點(diǎn),記為∈RK×M×N。例如K為17,對(duì)于分辨率為256 × 192 的圖像,模型輸出17 張熱圖,分辨率為原圖的1/4,即的形狀為17 × 64 × 48。
IPR 算法的解碼過程與檢測方法大相徑庭。對(duì)于每個(gè)關(guān)鍵點(diǎn),使用soft-argmax 從熱圖得到關(guān)鍵點(diǎn)坐標(biāo)。具體過程為:對(duì)于模型輸出的熱圖,通過softmax 操作使熱圖的和為1,得到歸一化熱圖,如式(1)所示。在x軸和y軸上按坐標(biāo)對(duì)取期望,如式(2)所示,得到關(guān)鍵點(diǎn)在各軸上的坐標(biāo)和。所得坐標(biāo)近似熱圖最大值所在坐標(biāo),此過程可微分且沒有量化誤差。
其中,Ω為熱圖中所有像素點(diǎn)坐標(biāo)的集合,p和p'是熱圖上的坐標(biāo),為熱圖上p位置對(duì)應(yīng)值。β為人工選取的控制softmax 平滑程度的參數(shù),β越小越平滑,當(dāng)熱圖分辨率為64×48時(shí)β取14,為16×12時(shí)β取10。
soft-argmax 解碼過程如下:
輸入:h熱圖,形狀為[H,W];beta 指數(shù)因子。
輸出: [x,y] 最大值的坐標(biāo)。
IPR 算法僅預(yù)測關(guān)鍵點(diǎn)坐標(biāo),對(duì)預(yù)測坐標(biāo)的可信程度無法預(yù)測,對(duì)預(yù)測坐標(biāo)與真實(shí)坐標(biāo)的誤差難以有效評(píng)估。
給定輸入圖像I,關(guān)鍵點(diǎn)標(biāo)注坐標(biāo)為μ,模型的預(yù)測坐標(biāo)為x,兩者距離稱為誤差。不同的誤差分布對(duì)應(yīng)不同的損失函數(shù)。
以一維坐標(biāo)系為例,關(guān)鍵點(diǎn)坐標(biāo)的標(biāo)注值為μ時(shí),分布應(yīng)為如圖2 所示的狄拉克分布。訓(xùn)練網(wǎng)絡(luò)時(shí)使用的均方誤差損失函數(shù)意味著網(wǎng)絡(luò)輸出的是高斯分布的期望值,忽略了高斯分布的方差。圖2 中兩個(gè)高斯分布期望相同,但高且集中的高斯分布方差更小,更接近理想分布,可信程度更高。
圖2 目標(biāo)分布與預(yù)測分布示意圖
此外,準(zhǔn)確的標(biāo)注信息利于訓(xùn)練模型,但由于關(guān)鍵點(diǎn)和部位是一個(gè)區(qū)域而非一個(gè)點(diǎn),人工誤差無法避免,標(biāo)注不可能完全準(zhǔn)確,具有模糊性。
為了降低標(biāo)注誤差對(duì)訓(xùn)練的影響,提高結(jié)果的可信程度,提出結(jié)合不確定性估計(jì),讓網(wǎng)絡(luò)為每個(gè)關(guān)鍵點(diǎn)預(yù)測一個(gè)尺度參數(shù),預(yù)測結(jié)果誤差分布的尺度參數(shù)。在基于熱圖的檢測方法中,人工渲染的高斯熱圖中關(guān)鍵點(diǎn)周圍的像素值非零,可視為對(duì)標(biāo)注模糊性的補(bǔ)償和軟化標(biāo)簽,與不確定性估計(jì)異曲同工。
由于標(biāo)注值與真實(shí)值的誤差更接近拉普拉斯分布,這里假設(shè)誤差分布服從拉普拉斯分布,即:
式中,x為預(yù)測坐標(biāo),μ為標(biāo)注坐標(biāo),為預(yù)測尺度參數(shù),θ表示模型的可學(xué)習(xí)參數(shù)。
最大似然估計(jì)是一種基于概率分布的參數(shù)估計(jì)方法,它的目標(biāo)是找到一組參數(shù),使得給定數(shù)據(jù)的概率最大。根據(jù)式(3),得到似然函數(shù):
按照最大似然估計(jì),使得標(biāo)注坐標(biāo)處的似然程度最大,使用對(duì)數(shù)似然作為損失函數(shù)。若固定為1,忽略常數(shù)得到常用的損失函數(shù)L1距離。
本文使用的主干網(wǎng)絡(luò)為Lite-HRNet,在Small HRNet和HRNet[6]的基礎(chǔ)上添加跨分辨率的通道注意力機(jī)制,進(jìn)一步提高了精度,網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3 所示。
圖3 主干網(wǎng)絡(luò)結(jié)構(gòu)圖
結(jié)合不確定性估計(jì)的網(wǎng)絡(luò)頭部如圖4 所示,把主干網(wǎng)絡(luò)的輸出特征圖作為頭部網(wǎng)絡(luò)的輸入特征圖,將輸入特征圖拆分,一部分作為熱圖,一部分用于不確定性估計(jì)。進(jìn)行不確定性估計(jì)時(shí),對(duì)特征圖做全局平均池化(Global Average Pooling,GAP),再經(jīng)過全連接層產(chǎn)生K個(gè)σ,即每個(gè)關(guān)鍵點(diǎn)誤差分布的尺度參數(shù)。
圖4 頭部網(wǎng)絡(luò)結(jié)構(gòu)圖
根據(jù)式(4)設(shè)計(jì)尺度損失Lre,用來評(píng)估模型輸出和真實(shí)標(biāo)簽之間的差異,如式(5)所示。
IPR 算法和改進(jìn)后的IPR 算法都是比較預(yù)測坐標(biāo)和標(biāo)注坐標(biāo),訓(xùn)練時(shí)效率較低,難以優(yōu)化和控制。本文利用不確定性估計(jì)得到的尺度參數(shù)對(duì)隱式熱圖進(jìn)行直接監(jiān)督。
對(duì)比IPR 和DSNT[16],發(fā)現(xiàn)在高分辨率情況下,IPR精度低于檢測方法,隨著分辨率的降低,IPR 仍能保持較高的精度,而檢測方法迅速下降。Gu 等人[17]通過將樣本按不同難度劃分,實(shí)驗(yàn)發(fā)現(xiàn)IPR 在難樣本中的效果較好,檢測方法在簡單樣本中的效果較好,其他情況兩者相當(dāng),原因是隱式熱圖的概率分布形狀不規(guī)則和解碼方式導(dǎo)致的梯度消失。
對(duì)熱圖取期望是從熱圖到坐標(biāo)的映射,多種熱圖對(duì)應(yīng)一個(gè)坐標(biāo),只有集中且規(guī)則的熱圖才具有良好的泛化性和穩(wěn)健性,如圖5 所示,從左到右熱圖逐漸收斂,最右邊熱圖的穩(wěn)定性最好。
圖5 不同形狀的熱圖
本文利用不確定性估計(jì)得到的尺度參數(shù)σ?對(duì)隱式熱圖進(jìn)行直接監(jiān)督。對(duì)于一個(gè)關(guān)鍵點(diǎn),根據(jù)標(biāo)注坐標(biāo)μ和尺度參數(shù)渲染高斯熱圖,逐像素計(jì)算與輸出熱圖的距離。熱圖損失函數(shù)為Lde,如式(6)所示:
最終模型的損失函數(shù)為兩者的組合,如式(7)所示,熱圖損失的權(quán)重為λ。訓(xùn)練開始時(shí)λ較大可以加速訓(xùn)練,訓(xùn)練后期調(diào)小λ或取零進(jìn)行微調(diào)??倱p失為K張熱圖的損失之和。
本文實(shí)驗(yàn)在Ubuntu 18.04 操作系統(tǒng)下運(yùn)行,CPU 為Intel Xeon Gold 6148 @ 2.40 GHz,GPU 為Tesla V100,顯存為16 GB,CUDA 版本為11.2,采用飛漿深度學(xué)習(xí)框架,版本號(hào)為2.4.0。
對(duì)本文算法的實(shí)驗(yàn)將在COCO 數(shù)據(jù)集[15]上按照自頂向下框架進(jìn)行。第一步為人體檢測:檢測圖像中的人,得到單人邊界框;剪裁得到多張單人圖像,分別進(jìn)行人體姿態(tài)估計(jì)。第二步為姿態(tài)估計(jì):給定單人圖像I作為輸入,得到K個(gè)關(guān)鍵點(diǎn)在I中的坐標(biāo)作為輸出。
COCO 數(shù)據(jù)集有超過20 萬張圖像和25 萬個(gè)標(biāo)注17個(gè)關(guān)鍵點(diǎn)的人體實(shí)例。本文的模型在train2017 數(shù)據(jù)集上訓(xùn)練,在val2017 數(shù)據(jù)集上驗(yàn)證和測試。
部分實(shí)驗(yàn)結(jié)果如圖6 所示,模型對(duì)于單人和多人場景、近景和遠(yuǎn)景都能檢測,對(duì)遮擋魯棒。
圖6 部分檢測結(jié)果
模型的主干網(wǎng)絡(luò)均為Lite-HRNet-30,選取Adam 優(yōu)化器,批次大小為128,初始學(xué)習(xí)率為0.002,在第170 輪和200 輪學(xué)習(xí)率縮小10 倍。
訓(xùn)練時(shí),人體邊界框高寬比為4:3,從原圖中剪裁出實(shí)例圖,然后雙線性插值產(chǎn)生分辨率為256 × 192 的圖像。每個(gè)實(shí)例圖都會(huì)經(jīng)過數(shù)據(jù)增強(qiáng),包括隨機(jī)旋轉(zhuǎn)([-30°,30°])、隨機(jī)放 縮([0.75,1.25])、隨機(jī)水平翻轉(zhuǎn)和 上半身數(shù)據(jù)增強(qiáng)。
前向推理時(shí),采用自頂向下框架,使用人體檢測網(wǎng)絡(luò)得到人體邊界框,再剪裁出實(shí)例圖預(yù)測人體關(guān)鍵點(diǎn)。人體檢測網(wǎng)絡(luò)使用Faster R-CNN[18]。預(yù)測時(shí),將進(jìn)行翻轉(zhuǎn)測試,翻轉(zhuǎn)圖像和未翻轉(zhuǎn)的熱圖相加,然后計(jì)算坐標(biāo),除此之外,無其他后處理過程。
評(píng)估時(shí),本文采用目標(biāo)關(guān)鍵點(diǎn)相似性(Object Keypoint Similarity,OKS)測量預(yù)測姿態(tài)和真實(shí)姿態(tài)的距離,報(bào)告標(biāo)準(zhǔn)的平均精度和召回率。
本文算法對(duì)比Lite-HRNet 和IPR 在COCO 驗(yàn)證集上的結(jié)果如表1 所示(L-HR 代表Lite-HRNet)。3 種模型均以分辨率為256×192 的圖像為輸入,產(chǎn)生熱圖有分辨率為64×48 和16×12 兩種,前者像 素?cái)?shù)量是后 者的16 倍。評(píng)價(jià)指標(biāo)使用平均精度AP,而AP50和AP75分別是OKS閾值為50%和75%時(shí)計(jì)算出的平均精度,APM和APL分別是中等面積和大面積時(shí)的平均精度,AR 則是平均召回率。
結(jié)果顯示,3 種模型熱圖分辨率縮小時(shí)精度分別下降了13.2%、2.6%和1%,證明本文算法對(duì)熱圖分辨率的變化最不敏感。在高分辨率熱圖下,本文算法和Lite-HRNet 表現(xiàn)相當(dāng),相比IPR 提升1.7%,而在低分辨率熱圖下,本文算法遠(yuǎn)超Lite-HRNet 和IPR,分別超過12.1%和3.3%。低分辨率的本文算法相比高分辨率的IPR 算法,平均精度提高了0.7%,證明了本文算法克服了對(duì)高分辨率熱圖的依賴,在低分辨率時(shí)保持較高的精度。
為驗(yàn)證本文算法中尺度損失和熱圖約束的有效性,對(duì)兩個(gè)關(guān)鍵模塊做消融實(shí)驗(yàn)。在COCO 測試集中,分別固定網(wǎng)絡(luò)的熱圖分辨率為64×48 和16×12,實(shí)驗(yàn)3 種模型中,模型A 為IPR 算法,模型B 為IPR 算法加不確定性估計(jì),模型C 為模型B 加隱式熱圖監(jiān)督,結(jié)果如表2 和表3所示。
表2 熱圖分辨率為64×48 的消融實(shí)驗(yàn)(%)
表3 熱圖分辨率為16×12 的消融實(shí)驗(yàn)(%)
表2 中高分辨率時(shí)在IPR 的基礎(chǔ)上增加不確定性估計(jì),平均精度提高0.3%,更進(jìn)一步約束熱圖,平均精度再提高1.4%。
表3 中低分辨率時(shí)在IPR 的基礎(chǔ)上增加不確定性估計(jì),平均精度提高1.9%,更進(jìn)一步約束熱圖,平均精度再提高1.4%。
消融實(shí)驗(yàn)的結(jié)果驗(yàn)證了不確定性估計(jì)和隱式熱圖監(jiān)督的有效性,提高了IPR 算法的精度和效率。
本文以IPR 為基礎(chǔ),提出一種結(jié)合不確定性估計(jì)的輕量級(jí)人體關(guān)鍵點(diǎn)檢測算法,采用輕量級(jí)的主干網(wǎng)絡(luò)Lite-HRNet,設(shè)計(jì)了輕量級(jí)的頭部網(wǎng)絡(luò),添加了對(duì)誤差分布方差的預(yù)測,設(shè)計(jì)了新的尺度損失函數(shù),使預(yù)測結(jié)果的精度和可信度提高。利用預(yù)測的方差,渲染熱圖對(duì)隱式熱圖進(jìn)行監(jiān)督,約束熱圖的形狀,提高了網(wǎng)絡(luò)的精度和魯棒性,獲得更好的估計(jì)結(jié)果。本文在COCO 數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn)和對(duì)比試驗(yàn)。消融實(shí)驗(yàn)驗(yàn)證了不確定性估計(jì)和監(jiān)督隱式熱圖的有效性。對(duì)比試驗(yàn)中當(dāng)隱式熱圖的分辨率是高分辨率網(wǎng)絡(luò)的1/16時(shí),本文算法仍能保證平均精度只下降了1.1%,而IPR 下降了4.4%;低分辨率的本文算法相比高分辨率的IPR 算法,平均精度提高了0.7%。實(shí)驗(yàn)表明,本文算法提高了檢測精度,降低了時(shí)空復(fù)雜度。
輕量級(jí)人體姿態(tài)估計(jì)能夠有效降低計(jì)算資源,是部署到嵌入式設(shè)備實(shí)際應(yīng)用的基礎(chǔ)。后續(xù)研究中,仍需考慮改進(jìn)主干網(wǎng)絡(luò),提高預(yù)測精度和效率。