梁橋康 ,吳樾
(1.湖南大學(xué) 電氣與信息工程學(xué)院,湖南 長沙 410082;2.航天江南集團(tuán)有限公司,貴州 貴陽 550009)
人體姿態(tài)估計是計算機(jī)視覺中最基本和最具有挑戰(zhàn)性的任務(wù)之一,旨在從圖像或者視頻序列中檢測并識別人體關(guān)鍵點(diǎn)的位置和類型.其在行為識別[1]、自動駕駛和行人檢測[2]等后續(xù)任務(wù)中具有廣泛的應(yīng)用.
近年來,隨著深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Net?works,DNN)的不斷發(fā)展,DNN 在計算機(jī)視覺領(lǐng)域得到了廣泛的應(yīng)用并取得了巨大的成功,人體姿態(tài)估計取得了顯著的進(jìn)展.
早期的基于卷積神經(jīng)網(wǎng)絡(luò)的(Convolutional Neu?ral Networks,CNN)方法直接從圖像中預(yù)測關(guān)節(jié)點(diǎn)的位置,DeepPose[3]利用深度神經(jīng)網(wǎng)絡(luò)直接從圖像中回歸關(guān)鍵點(diǎn)坐標(biāo),這種方法很難獲得精確的坐標(biāo),而且網(wǎng)絡(luò)的收斂速度非常緩慢.Tompson 等人[4]使用馬爾可夫隨機(jī)場為每個關(guān)節(jié)點(diǎn)創(chuàng)建一個與其他關(guān)節(jié)點(diǎn)相關(guān)的圖模型(Graphical Model)結(jié)構(gòu),并利用熱力圖表示關(guān)節(jié)點(diǎn)信息,熱力圖數(shù)值的大小表示該位置是關(guān)節(jié)點(diǎn)的概率大小,熱力圖中最大值的坐標(biāo)即為關(guān)節(jié)點(diǎn)的坐標(biāo).由于熱力圖可以通過卷積操作直接得到,因此,使用熱力圖表示關(guān)節(jié)點(diǎn)位置這一方法很大程度上促進(jìn)了基于CNN 的人體姿態(tài)估計方法的發(fā)展.現(xiàn)有的大多數(shù)人體姿態(tài)估計方法都是基于熱力圖預(yù)測.Huang 等人[5]提出了一種由無偏坐標(biāo)系統(tǒng)變換和無偏關(guān)鍵點(diǎn)格式變換組成的無偏數(shù)據(jù)處理(Unbi?ased Data Processing,UDP)系統(tǒng),該系統(tǒng)可以很容易地與任何人體姿態(tài)估計網(wǎng)絡(luò)相結(jié)合,進(jìn)一步提高預(yù)測精度.DARK(Distribution-Aware Coordinate Repre?sentation of Keypoints)[6]提出了一種基于泰勒展開的坐標(biāo)解碼和無偏亞像素中心坐標(biāo)編碼方法.
目前,多人姿態(tài)估計主要有兩種主流策略,即自上而下和自下而上兩種方法.自上而下的方法需要先檢測出人體邊界框,然后對識別到的人體進(jìn)行單人姿態(tài)估計.自下而上的方法不進(jìn)行人體框的檢測,而是直接檢測出所有的關(guān)鍵點(diǎn),然后將它們進(jìn)行分組.自上而下的方法精度更高但是會犧牲速度,而且受人體框檢測精度的影響.自下而上方法速度更快但是精度相對不高,現(xiàn)有的自下而上方法主要集中在如何將檢測到的屬于同一個人的關(guān)節(jié)點(diǎn)關(guān)聯(lián)在一起.
OpenPose[7]提出部分親和力場(Part Affinity Fields,PAFs)的概念,PAFs 存儲了肢體的位置和方向信息,結(jié)合預(yù)測的熱力圖快速地將各關(guān)節(jié)點(diǎn)分組到每個人.Kreiss 等人[8]提出用部分強(qiáng)度場(Part In?tensity Field,PIF)來表示關(guān)節(jié)點(diǎn)的位置和用部分關(guān)聯(lián)場(Part Association Field,PAF)來表示關(guān)節(jié)點(diǎn)之間的關(guān)聯(lián),利用部分關(guān)聯(lián)場特征將屬于同一個人體的關(guān)節(jié)點(diǎn)關(guān)聯(lián)起來.DEKR(Disentangled Keypoint Re?gression)[9]提出了一種多分支結(jié)構(gòu)的解耦關(guān)鍵點(diǎn)回歸方法,每個分支分別對特定關(guān)鍵點(diǎn)進(jìn)行獨(dú)立的特征提取和回歸,實現(xiàn)了關(guān)鍵點(diǎn)之間的解耦,解耦后的特征能夠獨(dú)立地表示特定關(guān)鍵點(diǎn)區(qū)域.Pishchulin 等人[10]提出把所有的關(guān)節(jié)點(diǎn)作為節(jié)點(diǎn)形成一個圖結(jié)構(gòu),然后利用預(yù)測的人體框信息,將屬于同一個人的關(guān)節(jié)點(diǎn)歸入同一個類別.AE(Associative Embedding)[11]提出了一個端到端的單階段網(wǎng)絡(luò),同時為每個關(guān)節(jié)點(diǎn)生成熱力圖和分類標(biāo)簽,標(biāo)簽值接近的關(guān)節(jié)點(diǎn)屬于同一個人.
CPM(Convolutional Pose Machines)[12]通過序列化的多階段網(wǎng)絡(luò)逐步細(xì)化關(guān)鍵點(diǎn)預(yù)測,利用中間監(jiān)督信息可以有效地解決梯度消失的問題.Chen 等人[13]提出了一個兩階段的級聯(lián)金字塔網(wǎng)絡(luò),前一階段用于預(yù)測一個粗略的姿態(tài),后一階段在前一階段的基礎(chǔ)上改進(jìn)預(yù)測結(jié)果.模擬人類認(rèn)知的過程,即先注意能夠直接看到的關(guān)節(jié)點(diǎn),然后利用已知的關(guān)節(jié)點(diǎn)信息推測出看不見的部分,RSN(Residual Steps Network)[14]提出了姿態(tài)調(diào)整機(jī),能夠進(jìn)一步細(xì)化初始姿態(tài),提高姿態(tài)估計的精度.HRNet(High Resolu?tion Net)[15]以一個高分辨率的子網(wǎng)絡(luò)作為第一階段,之后的每個階段比前一階段多一個并行的低分辨率子網(wǎng)絡(luò),在同一階段內(nèi),不同分辨率子網(wǎng)絡(luò)的信息被反復(fù)融合,這種保持高分辨率特征的策略能夠顯著提高人體姿態(tài)估計的精度.
由于算力和內(nèi)存限制,移動設(shè)備和嵌入式平臺不適合部署大型網(wǎng)絡(luò)[16],因此,目前的人體姿態(tài)估計網(wǎng)絡(luò)難以得到廣泛應(yīng)用.Osokin 等人[17]利用減少細(xì)化階段層數(shù)減少網(wǎng)絡(luò)參數(shù)量和使用空洞卷積提升感受野的大小等方法提出了一個輕量化的Openpose網(wǎng)絡(luò),在CPU 上實現(xiàn)了實時的人體姿態(tài)估計.Lite-HRNet[18]提出條件通道加權(quán),從所有通道中學(xué)習(xí)權(quán)重,實現(xiàn)跨通道和分辨率交換信息,與其他輕量化網(wǎng)絡(luò)相比,取得了更好的精度.Zhang 等人[19]構(gòu)建了一個輕量化的沙漏網(wǎng)絡(luò),利用快速姿態(tài)蒸餾模型學(xué)習(xí)策略,能夠更有效地訓(xùn)練輕量化人體姿態(tài)估計網(wǎng)絡(luò).
與以往的輕量化人體姿態(tài)估計方法不同,本文提出了一種兼顧精度和輕量化人體姿態(tài)估計網(wǎng)絡(luò),在保持精度的前提下有效地減少了網(wǎng)絡(luò)的計算量和參數(shù)量,為移動設(shè)備、嵌入式平臺等運(yùn)算能力、內(nèi)存大小有限的設(shè)備提出了一種有效的輕量化人體姿態(tài)估計網(wǎng)絡(luò).
增加網(wǎng)絡(luò)的容量(更深或更寬)能夠促使網(wǎng)絡(luò)提取到更加復(fù)雜、高級的特征信息,可以相對容易地提高網(wǎng)絡(luò)的精度.然而,網(wǎng)絡(luò)的性能并不會隨著網(wǎng)絡(luò)深度或?qū)挾鹊倪f增線性地增長,可能會出現(xiàn)性能飽和甚至下降,網(wǎng)絡(luò)的參數(shù)量和內(nèi)存消耗量也會越來越高,其對硬件計算能力和內(nèi)存的要求也增大.動態(tài)卷積[20]根據(jù)注意力程度動態(tài)地聚合多個卷積核,能夠在不增加網(wǎng)絡(luò)深度和寬度的條件下增加模型的復(fù)雜度.Inception[21]提出的在同一模塊中使用不同尺寸的卷積核,使得網(wǎng)絡(luò)能夠自主地提取不同尺寸目標(biāo)的特征.Szegedy 等人[22]提出使用兩個一維卷積核替代一個二維卷積核,以此來減小網(wǎng)絡(luò)的參數(shù)量.ResNet(Residual Net)[23]提出殘差學(xué)習(xí)來解決網(wǎng)絡(luò)退化的問題,其提出了兩種不同的殘差塊,Basic 塊和Bottle?neck塊,如圖1所示.
圖1 殘差塊Fig.1 ResNet blocks
ResNet模塊可表示為:
式中,x為輸入特征,y是輸出特征,F(xiàn)(?)是ResNet 學(xué)習(xí)到的映射變換,殘差連接的主要優(yōu)點(diǎn)是特性再利用,可以減少特性冗余.
當(dāng)輸入特征大小為Hin×Win×Din,輸出特征大小為Hout×Wout×Dout,卷積核大小為S×S時,標(biāo)準(zhǔn)卷積可學(xué)習(xí)的參數(shù)量為:
Basic 塊由兩個3 × 3 卷積組成,當(dāng)保持特征輸入輸出通道數(shù)D不變時,其可學(xué)習(xí)的參數(shù)量為:
Bottleneck 塊由兩個1 × 1 卷積和一個3 × 3 卷積組成,其可學(xué)習(xí)的參數(shù)量為:
由計算可知Bottleneck 模塊的參數(shù)量下降為Ba?sic模塊的.
分組卷積(Grouped Convolution,GC)是指在通道方向上對輸入特征進(jìn)行分組,每組特征被相應(yīng)分組的卷積核單獨(dú)卷積,之后通過拼接組合產(chǎn)生輸出特征.分組卷積最早由AlexNet[24]提出,由于當(dāng)時硬件的運(yùn)算能力和內(nèi)存資源有限,在網(wǎng)絡(luò)訓(xùn)練時,一個GPU 無法處理所有的卷積操作,所以作者將模型部署在兩個GPU 上,最后將兩個GPU 的結(jié)果融合在一起.
在分組卷積中,輸入特征和卷積核都會被分成g組,每組特征的大小為,每組卷積核的數(shù)量為,每個卷積核大小為,每組卷積核只對相應(yīng)分組的特征進(jìn)行卷積操作,則分組卷積可學(xué)習(xí)的參數(shù)量為:
深度可分離卷積(Depthwise Separable Convolu?tion,DSC)[26-27]是將標(biāo)準(zhǔn)卷積分解成兩部分,即深度卷積和1 × 1 卷積,每個深度卷積核只對輸入特征的一個通道進(jìn)行卷積操作,卷積核的數(shù)量與特征的通道數(shù)相同,因此,深度卷積不改變特征的通道數(shù)量.1×1 卷積用于實現(xiàn)特征的升維或降維.與常規(guī)的卷積操作相比,深度可分離卷積的參數(shù)量和運(yùn)算成本相對更低.
如圖2 所示,ResNeXt[28]提出了深度和寬度之外的下一個維度,即基數(shù)(Cardinality),增加基數(shù)可以在保持模型復(fù)雜度的情況下提高模型的性能.ResNeXt 在圖像分類方面的巨大成功促使我們將其引入人體姿態(tài)估計領(lǐng)域,并用其改進(jìn)當(dāng)前的人體姿態(tài)估計方法.
圖2 兩種ResNeXt模塊Fig.2 ResNeXt blocks
ResNeXt模塊可表示為:
式中,x為輸入特征,y是輸出特征,Ti是ResNeXt 第i個分支學(xué)習(xí)到的映射變換,g是基數(shù),即分組數(shù).
ResNeXt 模塊由兩個1×1 卷積和一個3×3 分組卷積組成,其可學(xué)習(xí)的參數(shù)量為:
由式(3)、式(7)可得:
在神經(jīng)網(wǎng)絡(luò)中,不同像素大小的特征分別蘊(yùn)含著不同層次的信息.
檢測任務(wù)的目標(biāo)是準(zhǔn)確地檢測目標(biāo)在圖像中的空間位置.一般來說,高像素特征蘊(yùn)含豐富的空間位置信息,其位置敏感性更強(qiáng),有利于檢測任務(wù).
分類任務(wù)的目標(biāo)是對圖片中的目標(biāo)進(jìn)行分類.實驗表明,隨著卷積神經(jīng)網(wǎng)絡(luò)層數(shù)的不斷增加,輸出特征具有的語義信息逐漸增強(qiáng),其位置不變性更強(qiáng),有助于分類任務(wù)[29].人體姿態(tài)估計既包含定位關(guān)節(jié)點(diǎn)位置的檢測任務(wù),又包含分類不同關(guān)節(jié)點(diǎn)的分類任務(wù),因此,人體姿態(tài)估計任務(wù)的性質(zhì)決定了網(wǎng)絡(luò)既要具有分類任務(wù)的位置不變性,又要具有檢測任務(wù)的位置敏感性.
HRNet 采用多分支結(jié)構(gòu),在網(wǎng)絡(luò)中高像素特征分支與低像素特征分支并行排列,不同分辨率特征的相互融合提高了神經(jīng)網(wǎng)絡(luò)的位置敏感性和位置不變性.一方面這使得其在目標(biāo)檢測、語義分割和人體姿態(tài)估計等方面展示出了卓越的能力.另一方面也產(chǎn)生了參數(shù)量巨大、難以訓(xùn)練和內(nèi)存消耗大等問題.
本文聚焦于在HRNet的基礎(chǔ)上設(shè)計一個輕量化的人體姿態(tài)估計網(wǎng)絡(luò).首先利用Bottleneck 模塊替換掉HRNet 中大量使用的Basic 模塊,然后利用ResNeXt 替換Bottleneck 模塊進(jìn)一步減少網(wǎng)絡(luò)的參數(shù).為了向HRNet 和ResNeXt 致敬,將本章提出的方法命名為X-HRNet.
X-HRNet 網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,X-HRNet 與HRNet 具有相同的網(wǎng)絡(luò)構(gòu)架,總共有四個階段,每個階段分別有1、2、3、4 個不同分辨率的分支.預(yù)處理階段使用兩個步長為2 的3×3 卷積將輸入圖片的分辨率降低為1/4,通道數(shù)由3增加為64.第一階段利用4 個Bottleneck 模塊進(jìn)行特征提取.從第二階段開始使用ResNeXt 模塊替換原始HRNet 網(wǎng)絡(luò)中大量使用的Basic 模塊進(jìn)行特征提取,各分支的分辨率分別為1/4、1/8、1/16、1/32,通道數(shù)分別為48、96、192、384.為了避免分辨率下降造成特征圖信息丟失,每個新增的低分辨率分支通道數(shù)增加一倍.第四階段的末尾,將四個分支的特征上采樣到相同的分辨率,然后使用元素加得到最終的輸出,最終的輸出為17 個關(guān)節(jié)點(diǎn)的熱力圖.網(wǎng)絡(luò)的具體結(jié)構(gòu)如表1 所示.其中,(3 ×3,s=2) × 2 表示兩個步長為2 的3 × 3 卷積,(3 ×3,GC)表示3×3分組卷積.
表1 X-HRNet的結(jié)構(gòu)Tab.1 Architecture of X-HRNet
圖3 X-HRNet模型的結(jié)構(gòu)Fig.3 The structure of X-HRNet
網(wǎng)絡(luò)的訓(xùn)練使用了NVIDIA RTX 2080Ti GPU,操作系統(tǒng)為Ubuntu 18.04 LTS,使用的深度學(xué)習(xí)框架為Pytorch,代碼框架基于MMpose[30].訓(xùn)練過程中使用了隨機(jī)縮放、水平翻轉(zhuǎn)、隨機(jī)剪裁等常用數(shù)據(jù)增強(qiáng)方法.使用DARK[6]作為坐標(biāo)編解碼方法.輸入圖片固定為384 × 288,使用Adam 作為網(wǎng)絡(luò)優(yōu)化器,總訓(xùn)練輪數(shù)為210輪,初始學(xué)習(xí)率為5e-4,在第170輪時,學(xué)習(xí)率下降為5e-5,在第200 輪時,學(xué)習(xí)率下降為1e-5.最小批次大小為14.數(shù)據(jù)集為COCO[31],COCO數(shù)據(jù)集是目前最主流的二維人體姿態(tài)估計數(shù)據(jù)集之一,它包含20萬張以上的圖像和25萬個帶有關(guān)鍵點(diǎn)注釋的人體實例.
高斯熱力圖已被廣泛應(yīng)用于關(guān)鍵點(diǎn)坐標(biāo)的編碼和解碼.關(guān)節(jié)點(diǎn)P={p1,p2,...,pk:pi=(ai,bi)},其高斯熱力圖可表示為:
式中,Gi為第i個關(guān)節(jié)點(diǎn)的熱力圖,ai、bi分別是關(guān)節(jié)點(diǎn)pi的橫坐標(biāo)和縱坐標(biāo),λ是控制高斯熱力圖大小的常數(shù).
在網(wǎng)絡(luò)訓(xùn)練期間使用的損失函數(shù)為:
在網(wǎng)絡(luò)預(yù)測過程中,利用公式(11)將高斯熱力圖解碼為關(guān)節(jié)點(diǎn)的坐標(biāo).
1)基于對象關(guān)節(jié)點(diǎn)相似度(Object Keypoint Similarity,OKS)的平均精度(Average Precision,AP)
本文使用COCO 數(shù)據(jù)集人體姿態(tài)估計任務(wù)標(biāo)準(zhǔn)的評價指標(biāo),即基于OKS 的AP,評估了不同閾值和不同對象大小下的平均精度:AP、AP50、AP75、APM、APL和平均召回率AR.
式中,di是預(yù)測關(guān)鍵點(diǎn)位置與真實值之間的歐式距離,s是目標(biāo)尺度因子,ki是與關(guān)節(jié)點(diǎn)相關(guān)的衰減常數(shù),vi是關(guān)鍵點(diǎn)是否可見的標(biāo)識符,當(dāng)關(guān)節(jié)點(diǎn)標(biāo)注時,δ=1,當(dāng)關(guān)節(jié)點(diǎn)未標(biāo)注時,δ=0.
2)浮點(diǎn)運(yùn)算次數(shù)(Floating-point of Operations,F(xiàn)LOPs)
浮點(diǎn)運(yùn)算次數(shù)主要用來衡量算法復(fù)雜度.卷積操作的計算量為:
式中,Din是輸入特征的通道數(shù),S為卷積核的大小,Hout、Wout、Dout分別為輸出特征的高、寬和通道數(shù).
表2 展示了本文所提出的方法與其他方法在COCO 驗證集上的表現(xiàn).結(jié)果顯示,X-HRNet-W48-G12(表示ResNeXt 模塊的基數(shù)為12)達(dá)到了77.8%的精度,顯著優(yōu)于其他輕量化網(wǎng)絡(luò).與FastNet-W48相比,獲得了3.3%的精度增長,參數(shù)量下降了4.4M,計算量減少了7.4GFLOPs(Giga Floating-point of Op?erations).與Lite-HRNet-30 和Lite-HRNet-18 相比,精度分別增長了7.4%和10.2%.相比MobileNet V2和ShufflfleNet V2,精度分別增加了10.5%和14.2%.
表2 與現(xiàn)有算法在COCO驗證集上的性能比較Tab.2 Performance comparison with the existing algorithms on the COCO validation set
X-HRNet-W48-G1 的精度為78.2%,參數(shù)量為41.4M,計算量為5.6GFLOPs.相比HRNet,精度上升了1.9%,參數(shù)量下降了22.2M,計算量下降了27.3GFLOPs.相比HRNet-W48+DARK,精度上升了1.0%,參數(shù)量下降了22.2M,計算量下降了27.4GFLOPs.與MSPN 相比,X-HRNet-W48-G1 的精度取得了1.3%增長,參數(shù)量下降了78.6M,計算量下降39.23GFLOPs.與4×RSN-50 相比,雖然精度由79.2%下降到了78.2%,但是參數(shù)量下降了70.4M,計算量下降了27.43GFLOPs.
與大模型相比,X-HRNet 以更低的參數(shù)量和計算量取得了可以媲美的精度.
表3 展示了X-HRNet 和其他方法在COCO testdev 測試集上的表現(xiàn).X-HRNet-W48-G12 取得了74.7%的精度,相比FastNet-W48 精度增加了0.9%.相比Lite-HRNet-30 精度值提高了5.0%.與Mo?bileNet V2 相比,精度值增加了7.9%,和ShuffleNet-V2 相比,精度值提高了11.8%.X-HRNet 在COCO test-dev 測試集上取得了比其他輕量化網(wǎng)絡(luò)更高的精度值.
表3 與現(xiàn)有算法在COCO test-dev上的性能比較Tab.3 Performance comparison with the existing algorithms on the COCO test-dev set
X-HRNet-W48-G1 取得了75.0%的精度,相比Simple Baseline、CPN 和CFN,精度值分別提高了1.3%、2.9%、2.4%.雖然X-HRNet 在精度上與其他大模型相比存在差距,但是X-HRNet 的優(yōu)點(diǎn)是參數(shù)量和計算量很低.
由實驗結(jié)果可知,X-HRNet在保持精度的同時,有效地降低了網(wǎng)絡(luò)的參數(shù)量和計算量,更好地實現(xiàn)了精度和網(wǎng)絡(luò)計算量之間的平衡.
3.5.1 基數(shù)的消融實驗
為了研究不同基數(shù)對人體姿態(tài)估計精度的影響,本節(jié)在COCO 數(shù)據(jù)集上進(jìn)行消融實驗.所有網(wǎng)絡(luò)都從隨機(jī)初始化狀態(tài)開始訓(xùn)練,輸入圖片固定為384 × 288.
消融實驗的結(jié)果如表4 和圖4 所示,X-HRNet-W48-G12與X-HRNet-W48-G1相比,精度只下降了0.4%,參數(shù)量下降了26.1 M.當(dāng)基數(shù)繼續(xù)增加到24和48 時,關(guān)節(jié)點(diǎn)定位精度分別比X-HRNet-W48-G1 下降了0.9% 和2.0%,參數(shù)量分別下降了27.3M 和27.9M.
圖4 消融實驗結(jié)果Fig.4 Results of ablation experiments
值得注意的是,精度最低的網(wǎng)絡(luò)X-HRNet-W48-G48 取得了76.2%的精度,僅比HRNet-W48 低0.1%,參數(shù)量減少了50.1 M.
消融實驗1 的結(jié)果表明,增加基數(shù)可以有效地降低網(wǎng)絡(luò)的參數(shù)量,但是精度也會降低.對于基數(shù)的選擇,需要結(jié)合實際情況合理平衡精度和參數(shù)量的關(guān)系.
3.5.2 解耦關(guān)節(jié)點(diǎn)特征表示
基于熱力圖的姿態(tài)估計方法通常會為每個關(guān)節(jié)點(diǎn)預(yù)測一個熱力圖,熱力圖上最大值處即為對應(yīng)關(guān)節(jié)點(diǎn)的坐標(biāo).理想情況下,不同的熱力圖只會關(guān)注于特定的區(qū)域.在自下而上的方法中,為了讓每個通道更加專注于一個關(guān)節(jié)點(diǎn)而不受其他關(guān)節(jié)點(diǎn)的干擾,Geng 等人[9]提出解耦各關(guān)節(jié)點(diǎn)之間的特征表示,利用多分支結(jié)構(gòu)回歸關(guān)節(jié)點(diǎn)坐標(biāo).該方法可以表示為:
式中,是第i個關(guān)節(jié)點(diǎn)的預(yù)測熱力圖.Bi為分支i的輸入特征,Ui(?)為第i個分支學(xué)習(xí)到的映射.
在COCO 數(shù)據(jù)中,共標(biāo)注了17個關(guān)節(jié)點(diǎn),由于通道數(shù)必須能整除基數(shù),為了保持相近的參數(shù)量,本節(jié)的消融實驗將最高分辨率分支的通道數(shù)設(shè)為51,基數(shù)設(shè)為17,得到X-HRNet-W51-G17.
由表4 和圖4 可知,與X-HRNet-W48-G12 相比,X-HRNet-W51-G17 的精度下降了0.5%,參數(shù)量上升了1.2M.與X-HRNet-W48-G24 相比,精度下降了0.1%,參數(shù)量增加了1.4M.
表4 消融實驗結(jié)果Tab.4 Results of ablation experiments
消融實驗2 的結(jié)果表明,雖然多分支結(jié)構(gòu)可以使每個分支專注于一個關(guān)節(jié)點(diǎn),但是,人體姿態(tài)是一個整體的結(jié)構(gòu),不同關(guān)節(jié)點(diǎn)之間存在著相互依賴的關(guān)系,為了能夠利用不同關(guān)節(jié)點(diǎn)之間相互依賴的信息,保持多個分支之間的信息融合更加有利于提高自上而下人體姿態(tài)估計方法的精度.X-HRNet 在COCO 驗證集上取得了較好的效果,部分結(jié)果如圖5所示.
圖5 在COCO驗證集上的部分結(jié)果Fig.5 Some results on the COCO validation set
由于嵌入式平臺計算能力和內(nèi)存限制,常用的基于神經(jīng)網(wǎng)絡(luò)的人體姿態(tài)估計算法難以部署在嵌入式平臺上.為了滿足實際應(yīng)用中對神經(jīng)網(wǎng)絡(luò)輕量化的要求,本文在HRNet 的基礎(chǔ)上,利用ResNeXt 替換原模型中的Basic 模塊,利用深度可分離卷積對網(wǎng)絡(luò)進(jìn)行改進(jìn),在保證精度的前提下,達(dá)到減少網(wǎng)絡(luò)的參數(shù)量和計算量的目的,提出了一種改進(jìn)的輕量化人體姿態(tài)估計算法.實驗表明,相比其他輕量化人體姿態(tài)估計網(wǎng)絡(luò),本文提出的方法在COCO 數(shù)據(jù)集上取得了更高的精度,是一種有效平衡了精度和網(wǎng)絡(luò)復(fù)雜度的方法.