張云絢,董綿綿,王鵬,李曉艷,呂志剛,邸若海,毋寧
(西安工業大學電子信息工程學院,西安 710021)
人體骨骼關鍵點的定位對于描述人體姿態實例,預測人體行為動作是首要前提,因此人體骨骼關鍵點檢測是諸多計算機視覺領域應用的基本問題,如人體行為分析[1]、人的重新識別[2]、人機交互[3]等。而人體姿態可為人體部位分割和標記提供結構信息。但不同距離拍攝攝像機等終端與相應目標之間拍攝高度和角度的變化,以及人體目標自身大小不一致,使得在同一張圖像或者不同圖像中人體目標的尺度和姿態存在較為明顯的差異,這些尺度的問題會造成人體目標某些特征上的變化,這對人體關鍵點定位的準確性檢測提出了一定要求。
人體是非剛性和柔性的,相對而言人體姿態靈活性、自由度極高,使得它們的準確程度受到限制。因此,在預測人體姿態估計面臨許多挑戰[4],特別是在任務中遇到的多尺度實例問題[5],文獻[6]采用對稱空間變換網絡,對自頂向下框架中的不同尺度目標候選框進行修正,選擇一個精準的目標提議區域,從而提高模型的性能;文獻[7]采用4個并行的分支結構,最后對4個通道進行組合;文獻[8]采用串行的多尺度特征結構,通過跳層連接來實現特征組合;文獻[9]采用不同的特征尺度進行預測,最后將結果進行融合。文獻[10]和文獻[11]以將上述的方法進行組合,即將高層的特征添加到相鄰的低層組合成新的特征,當然也可以反向的將低層的特征添加到高層。文獻[12]設計了金字塔殘差模塊來有效提取人體多尺度信息。但這些都沒有針對性解決尺度問題,部分原因是早期方法[13-15]的表達能力較差,首先關鍵點局部信息的區分性較弱,需要考慮較大的感受野區域;其次人體不同關鍵點的檢測的難易程度不一樣,尤其是受尺度變換影響下;最后更高的分辨率表示對高質量特征圖的特征提取會更加友好,而不僅是通過上采樣進行分辨率恢復。
深度卷積網絡目前在視覺識別任務中取得了較好的表現,HRNet(high-resolution network)[8]目前在人體姿態估計任務中取得了前沿的、先進的(state-of-the-art,SOTA)表現。在此之前,主流的關鍵點檢測的高分辨率網絡是由一系列串聯的高到低分辨率子網組成,最后通過上采樣才做輸出高分辨率的表示,這類網絡由于上采樣操作而帶來空間分辨率的信息損失,導致最終輸出的高分辨率表征所具有的空間敏感度并不高,很大程度上受限于語義表達力強的表征所對應的分辨率;還有一些高分辨率網絡雖然將不同分辨率的子網并行鏈接,但子網間并沒有進行多尺度的信息交換,最終輸出的高分辨率表征只是由原本的高分辨率表征經過少量的卷積操作得到,導致網絡最終輸出的高分辨率表征只能是低層次的語義表達。因此,HRNet相比于其他的人體姿態估計高分辨率網絡能夠輸出更可靠的高分辨率表征,但信息融合的越多不可避免的帶來特征圖的冗余信息,增加了特征圖的空間維度和計算資源消耗,降低了模型的效率,對圖像尺度變化帶來的影響,沒有得到有效的解決。
在無約束圖像中,人體尺度變化通常很大,這可能會對人體姿態估計方法的性能產生負面影響。同時由于圖像內容的復雜多變性,在進行人體姿態估計時,不僅要考慮關節本身的相似度之外,還要考慮人體整個的多尺度形變。雖然本身人體的定位不會產生太大的偏差,但不同圖片中的多尺度變化、遮擋導致相連關節的實際定位情況并不相同,估計結果可能較差。為此,以主流算法HRNet為基礎框架進行結構設計,提出了結合二階注意力機制的多尺度網絡(global second-order attention and octave scale convolutional high-resolution networks,GOS-HRNet)。為了對多尺度圖像提取高質量特征圖,利用Octave卷積擴大經典卷積有限的感受野大小;通過二階的注意力機制捕獲圖像遠處位置的特征相關性,增強特征的表示能力。采用尺度增強訓練的方法訓練模型,提高模型對圖像尺度變化的魯棒性,盡可能保留上采樣獲取更準確的位置信息和下采樣中提取的語義信息。
多分辨率網絡從多個接受域中提取大量上下文信息,以獲得更好的語義特征。但其中冗余的信息可能會誤導關鍵點定位和識別,為了減少空間信息冗余,提出了一種采用Octave模塊的改進HRNet人體姿態估計算法GOS-HRNet。GOS-HRNet算法整體流程框圖如圖1所示。

圖1 GOS-HRNet算法流程框圖
建立初始人體姿態估計網絡模型GO-HRNet。采用Octave卷積模塊完成卷積操作,通過分別存儲和處理低頻和高頻特征生成Octave特征圖,不僅降低了內存和計算成本,而且在低頻段和高頻段之間進行有效的通信,同時增大接收域的大小,獲得更多的全局信息,從而提高識別性能。在網絡模型中引入二階注意力GSoP(global second-order pooling)模塊,充分利用空間注意力來更好的挖掘不同尺度特征之間的上下文信息,學習高階表示,豐富特征圖的信息,進而有效提升網絡性能,完成GO-HRNet模型的建立。利用尺度增強的方法確定尺度域,得到漸近融合的GOS-HRNet模型。基于尺度增強的方式訓練初始模型再對網絡模型進行尺度域微調,在保證人體姿態估計準確度的同時,提升模型對人體實例尺度變換的魯棒性,從而獲得高精度、多分辨率、高效的多尺度人體姿態估計模型。
通過少量的卷積層,得到的特征分辨率高,包含更多位置、細節信息,但其所包含的語義信息少,噪聲多。而通過大量的卷積層,得到的特征分辨率偏低,對細節的感知能力差。構建多分辨率的網絡結構主要目的是提取多尺度特征,以應對人體的各種尺度變化,處理不同比例的身體部位,如面部、手部、腳等,并獲得更大的全局和局部推理感受野。改進高分辨率網絡HRNet,如圖2所示,來捕獲不同尺度和分辨率節點之間的相互依賴關系。相較于原有網絡結構,增加了密集連接結構,在不同的分辨率階段將不同的感受野擴大逐步實現特征細化,可以更好地結合全局信息。有效加強網絡前層和后層之間的關聯,同時保留原有網絡之間不同分辨率之間的信息關聯,網絡整體之間可以有效地復用各層之間的特征圖計算,進一步保證感受野區域融合多尺度特征,減少每層需要用的訓練參數。

圖2 改進的HRNet結構
Chen等[16]研究表明,特征圖中也存在高頻部分和低頻部分,但是低頻特征圖包含的信息較少,為了降低特征圖的冗余信息,因此提出一種新的卷積方式Octave卷積模塊。一般在進行傳統卷積運算時:令w∈Rc×k×k,其中,k為卷積核尺寸,c為輸入的通道數或特征圖,輸入張量和輸出張量分別表示為X、Y,X,Y∈Rc×h×w,其中,h和w分別為輸入數據的長和寬,表示空間維數。傳統卷積和Octave卷積示意圖如圖3所示。通過傳統卷積公式[式(1)]得到特征圖。
(1)


(2)

YH=YH→H+YL→H
(3)
YL=YH→L+YL→L
(4)
式中:YH→H、YL→L為相同頻率進行頻率內更新;YL→H、YH→L為不同頻率間進行頻率間通信;相同頻率進行頻率內更新,不同頻率間進行頻率間通信。為了更好地計算參數,卷積核W由兩個分量組成,令W={WH,WL},每個分量可進一步分為頻率內和頻率間部分,其表達式分別為
WH=[WH→H,WL→H]
(5)
WL=[WH→L,WL→L]
(6)
經過式(3)~式(6)計算可以有效地對應處理多頻特征,實現高效的頻率間通信,如圖3(d)所示。最后特征圖計算公式為

圖3 傳統卷積與Octave卷積


(7)

(8)
式中:?」表示向下取整操作;*為卷積。
與傳統卷積相比,Octave模塊可以有效地將感受野擴大2倍,有助于人體姿態估計網絡在面對不同尺度變換時,捕獲更多上下文信息,提高人體姿態估計網絡性能。在整個多分辨率的網絡中,替換了所有的傳統卷積模塊為Octave卷積模塊。
為了更好地增大感受野,融合局部特征與全局特征,注意力機制被引入到網絡架構中,選擇通道注意力[17]的一種,GSoP模塊[18]可以通過局部操作激發圖片的顯著性特征,從而對圖片進行整體性建模。輸入數據為一個三維張量h′×w′×c′,其中h′和w′分別空間高度和寬度,c′為輸入通道數,首先,使用1×1卷積進行通道降維,得到一個新的三維張量h′×w′×c′;然后,通過二階池化操作計算通道與通道之間的相互性,得到一個c×c的協方差矩陣,也就是一行通道與所有通道的相關性;最后通過Sigmoid函數得到一個權重向量,與輸入數據進行相乘,恢復成與輸入數據一樣的大小,作為輸出數據,GSoP模塊如圖4所示。

圖4 GSoP模塊
二階的池化層可以有效保留圖像空間特征,GSoP模塊相對于傳統卷積的最大池化操作選擇了平均池化層,且對統計量進行了二階計算,擴大了感受野,再通過不同權重的通道得到了重要的全局特征和局部特征,最后進行了特征融合,豐富了特征信息,從而提升人體關鍵點檢測性能。綜合考慮引入參數以及二階注意力機制模塊的實際應用性,在卷積層末端融入多個二階注意力模塊,考慮到多尺度和參數的影響,采用GSoP-Net1結構,其引入位置如圖5所示,引入多個GSoP模塊后的HRNet模型稱為GO-HRNet。

圖5 GSoP模塊引入位置
本文模型采用尺度增強的方法來提高模型對圖像尺度的魯棒性。在訓練中,選擇并應用隨機比例因子。根據圖片的實際情況進行人體姿態估計,避免人體多尺度變化對人體關鍵點定位的影響。通過尺度增強訓練,每一次輸入的尺度將選擇一個尺度因子進行尺度變換,然后送入網絡模型中進行訓練。圖片裁剪寬高比為384∶288,采用隨機翻轉策略將圖片隨機旋轉(-45°~+45°)并改變圖像尺度,尺度變化為0.7∶1∶1.35三個不同尺度[19],如圖6所示。

圖6 尺度變化示意圖
實驗的測試環境為Ubuntu 18.04操作系統,采用深度學習框架Pytorch,實現了GOHNet人體姿態估計算法。服務器硬件配置為:Intel(R)Core(TM)i7-8700CPU@3.20 GHz,內存32 G,1TSSD+1THDD,Geforce RTX 2060Ti顯卡。
MSCOCO數據集被廣泛使用在多種深度視覺任務中,它分為3個版本,即COCO2014、COCO2015和COCO2017。選擇COCO2017作為數據集,它包含80個類別,200 000張圖像,以及目標檢測,人體關鍵點檢測等5種標注信息。COCO2017中已經劃分好訓練集、驗證集和測試集。其中訓練集、驗證集分別為train2017和val2017。train2017包含57 000張圖像,150 000標注有人體關鍵點的人體實例,val2017包含5 000 張圖像。而訓練集有test-dev2017、test-change和test-standard共3個版本,均包含20 000張圖像。使用train2017來訓練模型,使用val2017和 test-dev2017來驗證以及測試本文模型。MSCOCO評估指標中,對象關鍵點相似性(object keypoint similarity, OKS)定義為
(9)
式(9)中:p為地面實況中人的ID;i為關鍵點的ID;dpi為地面實況中每個人關鍵點與預測關鍵點的歐氏距離;Sp為當前人的尺度因子即此人在地面實況中所占面積的平方根;σi為第i個關鍵點的歸一化因子;vpi為第p個人的第i個關鍵點是否可見;δ為將可見點 選出來進行計算的函數。
對比了GOS-HRNet與其他的人體姿態估計網絡的實驗結果,如表1所示,GOS-HRNet與其他網絡在COCO2017數據集上的驗證結果表明,GOS-HRNet相比于其他網絡取得了較好的精確度。

表1 不同模型AP-AR值
由于本文數據預處理中采用隨機翻轉與旋轉策略,且生成3個不同的圖像尺度,既擴增了數據規模,也使得數據具有良好的尺度不變性和旋轉不變性。網絡結構設計中融合不同層目標特征,加入上下文語義信息,有利于提高困難關鍵點的檢測準確率。由2017COCOtest-dev數據集評估指標可得,本文模型關鍵點檢測精度得到提高,平均檢測精度比CPN(cascaded pyramid network)模型提升了6.1%,比HRNet模型提升了2.2%其中,CPN模型姿態估計器采用ResNet(deep residual networks)+Inception,Simple Base姿態估計器采用ResNet。
模型在輸入圖像尺寸為256×192和384×288時不同交并比下AP與AR值如表2所示,姿態估計模型訓練過程中,人體檢測框數據基于數據集中標注的人體邊界框數據。隨著輸入圖像尺寸增加,本文姿態估計模型的平均準確率有所提高,模型的性能也隨之提升,其原因在于圖像尺寸和分辨率越大,網絡提取的特征圖分辨率就越高,模型的表現也就越好。

表2 不同輸入下模型AP-AR值
通過Octave卷積和二階注意力機制的方法來對網絡模型進行改進,平均準確率上升了2.2%,在對比實驗分析中對僅引入Octave卷積和二階注意力機制的融合方法進行實驗驗證,如表3所示的消融實驗中對比了兩種方法的分別引入和融合方法對網絡模型帶來的影響。
從表3中可以看出,兩種方法的引入均得到了比較好的準確度(mean Average Precision, mAP)提升,其中在僅使用Octave卷積方法O-HRNet時準確度得到了0.9%的提升,對于OS-HRNet方法是通過尺度增強訓練后的網絡模型,再通過引入二階注意力機制的融合方法時GO-HRNet模型準確度相比于HRNet得到了1.9%的提升,最后完成的模型GOS-HRNet方法相比于HRNet得到了2.2%的提升。通過引入Octave卷積作為基礎卷積,在網絡基礎特征提取部分可以有效改善傳統卷積感受野不足,不能抓取更多上下文信息的缺點;二階注意力機制充分利用全局二階統計信息,可以捕獲長期的統計相關性,使網絡具有更好的適用性。實驗結果可以證明,引入二階注意力的多尺度網絡可以更好地提取特征,減少空間冗余,更好的利用網絡中不同分辨率子網不同多尺度圖像下的特征圖信息。

表3 消融實驗分析
以網絡圖像、自主拍攝和COCO2017數據集圖像為例進行人體姿態估計,展示多尺度、遮擋和公共數據集下的模型泛化能力。原網絡和本文網絡GOS-HRNet人體姿態結果對比圖,如圖7所示。其中,圖7(a)、圖7(b)是在俯視角度下存在遮擋情況的效果圖,本文網絡可以更好地識別出在俯視角度下目標存在遮擋時的結果。圖7(c)、圖7(d)是在俯視角度下,因距離變換導致尺度變換結果,可以看出在視角較近時兩個網絡均可以識別出,但增加距離后原網絡模型無法很好地識別出結果。圖7(e)、圖7(f)是在同一視角下,連續改變距離帶來的多尺度影響結果。可以看出,尺度變換、帶有部分遮擋、角度改變的情況下本文網絡的預測結果均有較好的表現。

彩色點的位置表示人體實例關鍵點位置;點與點之間的線段表示人體實例關鍵點之間的連線
提出了一種基于Octave模塊的結合二階注意力機制的多尺度人體姿態估計算法GOS-HRNet。通過實驗結果,得出以下結論。
(1)通過Octave模塊增加了對卷積特征圖的感受野,對特征圖內部的高頻信息進行處理,同時在空間上,減少冗余信息,提升了基礎網絡的人體關鍵點定位準確率。
(2)利用二階的注意力機制模塊,以協方差的形式重新體現了通道與通道之間的關系,對圖像進行整體性建模,獲取更多的上下文信息。
(3)采用多分辨的網絡結構以及密集跳層連接,融合了不同分辨率層的特征信息交換,得到了高質量的特征圖,能夠有效提取圖像尺度變換后的特征,并在訓練階段使用尺度增強的訓練方式,提升模型的魯棒性。