吳佳豪,周 鳳,李亮亮
(貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴陽 550025)
人體姿態(tài)估計是從輸入圖像中確定人體關(guān)節(jié)的像素位置,再將這些關(guān)鍵點按照人體關(guān)節(jié)的方式相連,進而得到人體的姿態(tài).它是計算機視覺中一項基本而具有挑戰(zhàn)性的任務(wù),是行為識別[1,2]、運動捕捉[3,4]、人機交互[5]和視頻監(jiān)控[6]等其他相關(guān)任務(wù)的研究基礎(chǔ).遮擋點的可見性、視角等因素都會影響檢測精度,解決這些問題的關(guān)鍵是如何提取強大的低級和中級外觀特征來捕獲每個尺度上的相關(guān)上下文信息,以及如何建立復(fù)雜的部件關(guān)系以實現(xiàn)有效的姿態(tài)推斷.
傳統(tǒng)的人體姿態(tài)估計方法基于圖結(jié)構(gòu)模型,利用樹結(jié)構(gòu)來建立人體的空間關(guān)系[7].圖形結(jié)構(gòu)模型通過探索身體各部分與連接肢體的運動先驗之間的空間相關(guān)性,構(gòu)建了一個經(jīng)典的樹結(jié)構(gòu)圖形框架,從而捕獲各部件之間的關(guān)系.最近,利用深度神經(jīng)網(wǎng)絡(luò)[8-11]取得了很大的進展,其中,沙漏網(wǎng)絡(luò)[10]可以很好地捕捉各種尺度的信息,用于魯棒的人體姿態(tài)估計,此外,幾個沙漏網(wǎng)絡(luò)被堆疊起來,用于自上而下的推理,并能夠重新評估初始估計結(jié)果和特征.與堆疊沙漏網(wǎng)絡(luò)不同,CPN[12]設(shè)計了另一種級聯(lián)多個階段的策略,即GlobalNet,GlobalNet的目的是通過在上采樣過程中的每個元素和過程之前應(yīng)用1×1卷積核來獲得與FPN[13]不同的初始人體姿態(tài).除了上述的自頂向下方法外,像OpenPose[14]這樣的自底向上方法也可以在實時人體姿態(tài)估計方面取得較好的結(jié)果.
本文提出并設(shè)計了一種有效的人體姿態(tài)估計方法.在堆疊沙漏網(wǎng)絡(luò)中使用兩種不同的殘差模塊作為沙漏網(wǎng)絡(luò)的基本構(gòu)建塊,在分辨率較高時,使用大感受野殘差模塊捕獲人體結(jié)構(gòu)信息,當(dāng)達到最低分辨率時為了更好的捕獲深層信息,因此仍使用原本的殘差模塊; 同時為了更好的獲得結(jié)構(gòu)信息和進行信息傳遞,設(shè)計一個預(yù)處理模塊提取包含豐富局部信息的低級特征,并通過跳過連接將得到的結(jié)果傳遞給沙漏塊.將身體結(jié)構(gòu)作為先驗信息,可以在可見的基礎(chǔ)上為推斷困難關(guān)鍵點的位置提供指導(dǎo),增加預(yù)處理模塊來捕獲包含豐富局部信息的低級特征,可以有效地提取關(guān)于不同關(guān)鍵點之間相對位置的結(jié)構(gòu)信息; 另一方面,在重復(fù)的上采樣和下采樣操作中會逐漸丟失低級特征中的信息,為了保證信息傳遞,設(shè)計了一個分層連接的方式,不僅可以補償每個沙漏塊的信息損失,而且可以重用結(jié)構(gòu)信息,進一步提高局部特征表示的能力.
圖1是一個單獨的沙漏網(wǎng)絡(luò)的模型圖,它由池層、上采樣層和殘差模塊組成.圖片從C1輸入,逐步經(jīng)過池化層后降低特征圖的分辨率,在抵達最低分辨率C7后,網(wǎng)絡(luò)開始逐步地對特征圖進行上采樣操作和跨尺度的特征融合,沙漏網(wǎng)絡(luò)的結(jié)構(gòu)是對稱的,因此最后輸出時達到與輸入時相同的分辨率.

圖1 沙漏網(wǎng)絡(luò)模型圖
在人體姿態(tài)估計中局部特征對于關(guān)節(jié)點估計更為重要,最終的姿態(tài)估計需要對整個身體的連貫理解.在人體姿態(tài)估計中,不同的特征圖上對不同的關(guān)節(jié)點的識別精度也不同,所以利用沙漏網(wǎng)絡(luò)能更好地進行特征提取,進行多尺度特征融合后達到網(wǎng)絡(luò)的輸出分辨率C1b之后,輸出最后的估計結(jié)果,得到一組熱圖,是每個像素關(guān)節(jié)點存在的概率.熱圖包括了所有的關(guān)節(jié)點,也就意味著第2個沙漏網(wǎng)絡(luò)可以利用前一個沙漏網(wǎng)絡(luò)的輸出結(jié)果,即利用關(guān)節(jié)點間的相互關(guān)系,從而提升了關(guān)節(jié)點的預(yù)測精度.
殘差模塊[15]是沙漏網(wǎng)絡(luò)中的基本塊,其結(jié)構(gòu)如圖2中所示.殘差模塊由兩個分支組成:第1個分支是標(biāo)識映射分支,第2個分支由卷積層、批歸一化層和ReLU激活層組成.使用殘差模塊不僅減少了網(wǎng)絡(luò)的計算量,同時解決了深層網(wǎng)絡(luò)可能會出現(xiàn)的問題,提高了網(wǎng)絡(luò)的性能.

圖2 殘差模塊圖
在人體姿態(tài)估計中,較大的感受野[16]已被證明對局部身體部位的定位很重要.原殘差模塊的感受野較小,為了更好地獲得局部信息,進一步了解各關(guān)節(jié)之間的相關(guān)性,對原殘差模塊進行改進,并設(shè)計了一個大感受野殘差模塊.圖 3 是其原理圖.

圖3 大感受野殘差模塊圖
該模型主要由卷積層、Batch norm層、ReLU激活層、池化層、上采樣層和Spatial dropout 層組成.該模塊在原殘差模塊的基礎(chǔ)上添加了一個分支,即圖中的分支(3),包括兩個3×3卷積層、上下采樣,另外在該模塊中引入了 Spatial dropout 層加入分支,在模型中有防止激活變強和防止過度擬合的作用,提高了模型的精度.這3個分支中通過分支(1)和分支(2)來獲得高分辨率信息,同時使用分支(3)增加特征提取時的感受野,最后將特征融合后進行輸出,傳遞至下一模塊.但并不是所有的殘差模塊都需要大感受野,在圖 1 中的C5、C6、C7 中仍然使用原殘差模塊,獲取深層的語義信息,其余的殘差模塊則使用大感受野的殘差模塊,能更好的獲取結(jié)構(gòu)信息.這種卷積分支的加入可以有效地增加圖像在特征提取時的感受野,所以能在人體姿態(tài)估計中發(fā)揮相當(dāng)好的作用.
以往的研究表明,高層特征包含語義等全局信息,而局部信息往往存在于低層特征中,設(shè)計合理的預(yù)處理模塊可以有效地提取關(guān)節(jié)結(jié)構(gòu)作為先驗,有助于更好地處理遮擋、大姿態(tài)變化、復(fù)雜背景等比較困難的圖像.而對于每個單獨的沙漏模塊,采用跳過層進行信息傳遞和特征融合,避免在重復(fù)的自下而上和自上而下的過程中逐漸丟失低層的信息.預(yù)處理模塊如圖 4所示.

圖4 預(yù)處理模塊圖
現(xiàn)階段的大多數(shù)方法在預(yù)處理階段都是通過卷積池層降低了輸入圖像的分辨率,然后經(jīng)過一個簡單的殘差模塊.淺層特征對于人體姿態(tài)識別更為重要,因此本文使用了一個多分支并行模塊在預(yù)處理過程中,以取代原來的殘差模塊,能更好的捕捉淺層特征,并通過該模塊來提取多尺度特征.不同大小的卷積核不僅可以使網(wǎng)絡(luò)提取多尺度特征,對關(guān)鍵點定位任務(wù)具有重要意義,此外,感受野的大小直接決定了關(guān)節(jié)結(jié)構(gòu)能否有效地獲得,在此基礎(chǔ)上使用3×3空洞卷積代替普通卷積作為分支之一,空洞卷積能在不丟失分辨率下擴大感受野,相較其他方法能更好的獲得淺層特征.結(jié)構(gòu)特征可以通過連接4個分支的輸出來捕獲,然后將它們輸入到堆疊沙漏網(wǎng)絡(luò)中.
對于每個單獨的沙漏塊,采用跳過連接的方式進行信息傳遞和特征融合,但每個沙漏網(wǎng)絡(luò)之間沒有聯(lián)系,每個沙漏網(wǎng)絡(luò)都經(jīng)歷自下而上和自上而下的這一過程,這將導(dǎo)致在反復(fù)操作的過程中丟失所獲得的信息.為了使網(wǎng)絡(luò)充分利用人體結(jié)構(gòu)信息并執(zhí)行消息傳遞,本文設(shè)計了不同沙漏塊之間的分層連接結(jié)構(gòu),如圖 5所示.

圖5 分層連接結(jié)構(gòu)圖
具體而言,就是將上一階段得到的淺層和深層的特征進行融合,以獲得局部詳細(xì)信息和全局上下文信息,能更好的進行人體姿態(tài)估計.堆疊沙漏網(wǎng)絡(luò)每個沙漏塊之間沒有聯(lián)系,因此容易丟失所獲得的信息,現(xiàn)階段的許多方法將各個沙漏模塊的輸入與輸出結(jié)果進行特征融合,較好的提高了估計精度.通過建立沙漏塊之間的連接,可以有效地將結(jié)構(gòu)特征傳遞到每個沙漏塊的開始,這樣得到的特征可以為整個網(wǎng)絡(luò)提供有價值的結(jié)構(gòu)信息作為先驗,由于從不同階段聚集特征的優(yōu)點,有助于更好地處理遮擋、大姿態(tài)變化、復(fù)雜背景等具有挑戰(zhàn)性的場景,并更具魯棒性.在此基礎(chǔ)上,本文還融合了每個階段的結(jié)果,通過平均每個階段的輸出熱圖,進一步的特征融合,充分利用了人體結(jié)構(gòu)信息,改善了人體姿態(tài)估計結(jié)果.
為了評估本文提出的網(wǎng)絡(luò)模型的性能,本文使用的數(shù)據(jù)集為LSP(Leeds Sports Pose)和MPII這兩種數(shù)據(jù)集.
LSP數(shù)據(jù)集[17]是從Flickr收集的圖像樣本,每個圖像都注釋了14個身體關(guān)節(jié)點,并包含一些難以估計的姿勢.數(shù)據(jù)集由11 000個訓(xùn)練圖像樣本和1000個測試圖像樣本組成,其左側(cè)和右側(cè)關(guān)節(jié)始終以人為中心進行標(biāo)記.
MPII人體姿勢數(shù)據(jù)集[18]包括大約25 000幅圖像,包括超過40 000個帶注釋的姿勢,這些圖像是從YouTube視頻中收集的,并對人的16個全身關(guān)節(jié)進行注釋.
實驗中使用了正確關(guān)鍵點的百分比(PCK)[19]標(biāo)準(zhǔn)來評估網(wǎng)絡(luò)模型的性能,如果檢測到的關(guān)節(jié)與真實關(guān)節(jié)之間的歸一化距離小于設(shè)定閾值的比例,則認(rèn)為關(guān)節(jié)被檢測到.另外,在MPII數(shù)據(jù)集上的官方基準(zhǔn)是中是以頭部長度(head length)作為歸一化參考,即 PCKh.
該網(wǎng)絡(luò)使用Torch實現(xiàn),并使用RMSProp進行優(yōu)化,參數(shù)隨機初始化.設(shè)置300個epoch訓(xùn)練本文的模型和批次大小為6,初始的學(xué)習(xí)率為2.5×10?4,在第240次epoch后降低到1/10,在上述的兩個數(shù)據(jù)集上對模型進行訓(xùn)練.
為了評價本文提出的大感受野殘差模塊和預(yù)處理模塊對人體姿態(tài)估計的影響,本文使用不同數(shù)量的沙漏網(wǎng)絡(luò)在LSP數(shù)據(jù)集上進行實驗,并給出了在PCK評價標(biāo)準(zhǔn)下的實驗結(jié)果.結(jié)果如表1所示.

表1 LSP數(shù)據(jù)集上PCK結(jié)果(%)
因為網(wǎng)絡(luò)的感受野很小,使得每個沙漏網(wǎng)絡(luò)的學(xué)習(xí)能力有限,將本文提出的模塊放入沙漏網(wǎng)絡(luò),增加網(wǎng)絡(luò)的感受野,這樣能夠?qū)W習(xí)更多的特征信息,再增加沙漏網(wǎng)絡(luò)的數(shù)量以提高網(wǎng)絡(luò)的性能,最終提高人體姿態(tài)估計的精度.
將本文提出的方法與近年來的其他人體姿態(tài)估計方法進行了比較,在LSP數(shù)據(jù)集上給出了PCK標(biāo)準(zhǔn)下的比較實驗結(jié)果,其中,(+)表示將MPII訓(xùn)練集作為額外的樣本進行訓(xùn)練.如表2所示.

表2 LSP 數(shù)據(jù)集上 PCK 比較結(jié)果(%)
在MPII數(shù)據(jù)集的實驗中,選擇了近年來與MPII數(shù)據(jù)集相關(guān)的幾種姿態(tài)估計方法,并與我們的方法進行了比較,在PCKh標(biāo)準(zhǔn)下的比較結(jié)果在表3中給出.

表3 MPII 數(shù)據(jù)集上 PCKh 比較結(jié)果(%)
根據(jù)表 1 中的結(jié)果可以看出,增大感受野對人體姿態(tài)估計有較好的影響,同時增加沙漏子網(wǎng)絡(luò)的數(shù)量可以有效地提高網(wǎng)絡(luò)的性能.以往的研究表明,高層特征包含語義等全局信息,而局部信息往往存在于低層特征中,淺層的特征對于姿態(tài)估計更為重要,因此增加特征提取時的感受野能更好的對人體關(guān)鍵點進行定位.根據(jù)表2、表3中的結(jié)果驗證了本文提出的方法的可行性,因為我們在訓(xùn)練過程中利用大感受野來學(xué)習(xí)關(guān)節(jié)點之間的相關(guān)性,預(yù)處理模塊來更好的獲得結(jié)構(gòu)信息,連接各個沙漏網(wǎng)絡(luò),并對每個沙漏網(wǎng)絡(luò)的輸出結(jié)果進行特征融合,提高了人體姿態(tài)估計的準(zhǔn)確性.
本文提出了一種用于人體姿態(tài)估計的改進堆疊沙漏網(wǎng)絡(luò).該網(wǎng)絡(luò)利用兩種殘差模塊提取圖像特征信息和了解關(guān)節(jié)點間的相互關(guān)系,因此能更準(zhǔn)確地定位關(guān)節(jié)點位置; 另一方面,在堆疊沙漏網(wǎng)絡(luò)前加上了預(yù)處理模塊,有效地提取關(guān)節(jié)結(jié)構(gòu)作為先驗,在可見的基礎(chǔ)上為推斷困難關(guān)鍵點提供了指導(dǎo); 最后將不同的沙漏模塊進行分層連接,對估計結(jié)果進行特征融合,以進一步改善人體姿態(tài)估計的精度.本方法在兩個數(shù)據(jù)集上進行了測試,在取得了較好的結(jié)果的同時,也在實驗中也觀察到了一些失敗,包括多人或罕見的姿勢在圖片中,在一個端到端的體系結(jié)構(gòu)中處理多個人也是一個具有挑戰(zhàn)性的問題,今后的工作將繼續(xù)對這兩方面的情況探索.