黑龍江科技大學電子與信息工程學院 王赫 于梁 楊慶江 郭陽
隨人工智能產品的體驗式增強,手勢姿態估計作為一種經典的計算機視覺任務,具有廣泛的應用場景。針對目前應用在移動端智能產品都需輕量化的網絡模型,本文基于CPM(Convolutional Pose Machine)多階段人體姿態估計網絡,設計出一種輕量級的手勢姿態估計模型。基于RHD開源數據集進行對比實驗,對比分析了輕量級的CPM手勢估計模型在保證精度的同時,可以有效的減小模型參數量,為研發實時移動端手勢姿態估計提供了基礎。
姿態估計,就是將關節點聯系起來判斷人體部位的狀態和行為[1]。姿態估計包括自頂向下[2]與自底向上[3]兩種方法。其中,手勢姿態作為一種重要的人體姿態部分,是一種根據精確定位出手部關鍵點上之間的位置關系,進而去推理出相應的姿態估計方法。根據研究方法可將手勢姿態估計分為生成法(Generative Methods)、判別法(Discriminative Methods)和混合法(Discriminative Methods and Generative Methods)三種方法。生成法是通過對輸入的圖像與預先定義好的手模型進行匹配。判別法是一種基于外貌直接對輸入的深度圖像進行手關節的定位的方法。隨機森林就是較為傳統的判別方法,其可以快速準確處理大量的輸入變數,但對于手深度圖存在的自我遮擋、分辨率低等缺點,使其結果存在大量的誤差。利用卷積神經網絡對手勢姿態估計的處理方式正不斷克服這些問題。Tompson等人初次使用CNN對手部的關鍵點進行定位且估計每個關節點的2D熱土進行估計。Ge等人通過3D CNN直接將2D輸入深度圖轉換為估計的3D坐標。將生成法和判別法結合的方法的混合法,是通過先使用判別法,然后通過生成的方法對結果進行校正。Ye等人使用混合方法,通過多階段和分層的方式進行手勢估計,具有較好的魯棒性。
我們處于大數據普及的時代,人工智能等電子產品相繼研發出現,取得了顯著的發展。隨深度學習的發展,人機交互領域中人體姿態識別、手勢姿態估計等較為先進且新穎的方式,具有較為廣泛的應用前景。其中,基于機器視覺的手勢估計作為人機交互的核心技術之一,取得了較好的進展。綜上而言,對手勢進行姿態估計是一個涉及到自然語言處理、模式識別與計算機視覺等多個領域交叉的任務。對于手勢進行有效估計識別促進了機器學習等領域技術的進步,為全球化的實現加快了進程,因此具有一定的研究意義。
手勢姿態估計隨著計算機視覺領域的發展,其常被應用于人機交互、視頻監控等多種場景中。通常卷積神經網絡存在較大的參數量和計算量,不能較好的應用于移動端或嵌入式設備中。為更好的實現在移動端或嵌入式設備上進行實時手勢姿態估計,需對網絡模型進行輕量化處理。本文基于人體姿態估計中的多階段卷積姿態機CPM(Convolutional Pose Machine)網絡,進行手勢姿態估計網絡的設計,同時設計了輕量化的網絡,在保證精度穩定的同時,極大程度上降低了模型的參數量。
Convolutional Pose Machines(CPM)算法是一種基于序列化的全卷積網絡結構,學習空間信息的多階段姿態估計網絡。其是將卷積網絡整合進Pose Machines,以學習圖像特征和圖像相關的空間模型;由全卷積網絡組成的序列化結構,卷積網絡直接在前一階段的置信圖(Belief Maps)操作,輸出更為精細化的關節點位置估計結果,以處理結構化的預測任務;利用中間監督損失解決梯度消失問題的一種端到端學習網絡。CPM算法是一種由多階段的卷積神經網絡組成的多層的網絡結構。其通過各個階段的卷積神經網絡來生成置信圖,進而預測各階段的每個關鍵點的位置。其中,gt表示各階段卷積神經網絡,bt表示置信圖,使用t表示多層次順序結構中的每個階段,且當t>1成為強化階段。
對于初級階段,利用特征提取網絡對圖像提取特征,通過g1預測每個位置的位置置信度。對于強化階段,CPM網絡使用特征提取網絡對原圖像重新提取特征,與其哪一階段的置信圖進行映射融合。通過每個階段最后得到的階段損失函數值,對CPM算法進行局部監督。
同時,CPM算法由于特征提取網絡并未統一,存在每次提取原圖像特征需消耗大量算力的缺點。且CPM在強化階段,需進行前向映射特征,存在消耗較大算力且較為復雜等問題。
卷積姿態機CPM(Convolutional Pose Machine)姿態估計網絡常常被用于人體姿態檢測,本文基于CPM多層次順序姿態估計網絡思路,將設計網絡結構,將其應用于手勢姿態估計中。針對CPM算法提取特征過程中的計算量巨大,本文將部分標準卷積層結構更改為深度可分離卷積層,并將各階段所得損失進行融合,得到輕量級CPM手勢姿態估計網絡。為手勢估計在移動端或嵌入式設備上實時進行估計檢測提供了基礎。
由卷積結構與姿態機結構組合的結構稱為卷積姿態機,該結構可以從訓練數據集中自動學習特征,且對關鍵點之間的距離結構關系進行推理學習,可將其應用于本文的手勢姿態估計中的關鍵點的定位。
遷移的CPM手部姿態估計網絡在對圖像進行關鍵節點回歸坐標位置信息的過程為:利用表示各個關節點之間的空間約束信息的響應熱力圖Heatmap和特征圖作為數據在網絡中進行傳遞;使用多階段的卷積神經網絡進行監督訓練,處理關鍵節點的響應信息。
從CPM手勢姿態估計網絡的結構圖中可以看出網絡在進行手部姿態估計的整體流程。其中,CPM姿態估計網絡的卷積部分包含卷積和最大池化層。基于VGGNet網絡修改而成的網絡用于主干特征提取網絡特征。圖中CONVx(x=1,2,3)由一系列的卷積層與池化層堆疊組成。
CPM姿態估計網絡是一種多階段預測網絡,基于手勢關鍵點之間的拓撲關系,使用較低階段就可滿足手勢姿態估計的精度要求。因此,本文使用的CPM手勢姿態估計網絡總共包含三個階段。使用各個階段的熱力圖來表征關鍵節點的位置信息,對應較小感受野的階段位于網絡的前階段,因此得到的預測結果相對誤差較大。而位于后面強化層階段對應較大的感受野,且能夠得到前面階段上下文信息及圖像特征,因此得到相對誤差較小的預測結果。該階段型姿態估計網絡可以對人手姿態進行一步一步更為精確的推理,最終對得到的損失值進行融合,得出最終的預測關節點位置信息。
鑒于移動端或嵌入式進行姿態估計任務,需要較為輕量化模型,本文為降低模型整體的參數量,對三階段的CPM手勢姿態估計網絡中的卷積核替換成1×1和3×3大小,可以較為精確的估計關鍵點位置和降低模型參數量,得到較為輕量化的手勢姿態估計網絡。
深度可分離卷積是將普通卷積分解為深度卷積與1×1逐點卷積兩部分操作實現的一種因式化卷積。第一步,深度卷積操作利用單個卷積和對輸入的通道進行輕量化濾波操作,即實現卷積核與特征圖逐個進行的卷積操作。第二步,利用前一個得到的特征圖的基礎上使用1×1卷積核進行逐點卷積操作,對輸出的特征圖進行線性組合。相比于普通卷積層一步操作,深度可分離卷積利用深度卷積和逐點卷積兩步,對單個通道進行卷積再將其結合。可以極大程度上減小模型的參數量和計算量。
其中,深度可分離卷積的計算量和參數量與標準卷積層進行對比如下:
標準卷積的計算量:

標準卷積的參數量:

深度卷積的計算量:

逐點卷積的計算量:

深度卷積的參數量:

逐點卷積的參數量:

深度可分離卷積的參數量:

深度可分離卷積的計算量:

以上公式表明,深度可分離卷積可極大程度上減小網絡參數量和計算量,因此本文引入深度可分離卷積替代CPM多階段姿態估計網絡中的部分卷積層結構,得到較為輕量化的CPM手勢姿態估計網絡。
文中使用的環境是anaconda+keras2.24+Tensor Flow1.14+cuda9.2,顯卡NVDIAGTX2080。
本文使用RHD開源手勢姿態數據集作為訓練數據集。該數據集是由41258張訓練圖像和2728張測試圖像組成的合成RGB圖像的手勢數據集。它是通過要求20個不同的人體模型隨機執行39個不同的動作并隨即生成任意而畢竟而獲得的。由于視點和手比例的巨大變化,以及由圖像的隨機噪聲和模糊性引起的巨大視覺差異,數據集具有相當大的挑戰性。對于每個RGB圖像,它提供相應的深度圖像、遮擋標簽、2D標簽以及21個關鍵點的3D標簽。
我們使用RHD數據集將其分成訓練集、測試集、驗證集之比為8∶1∶1的比例進行訓練。設置Batch Size為8,初始學習率為0.0001,迭代次數為60000次,每次迭代10000時學習率下降為10倍,且使用Adam優化方法。
3.2.1 測試集評估模型
本文使用模型精度和模型大小來衡量本文提出的手勢姿態估計模型的相關性能。
模型精度:PCK(Percentage of Correct Keypoints)表示對于手勢的21個實際關鍵點與預測關鍵點歸一化的距離小于指定閾值的百分比。而以閾值為橫坐標,PCK值為縱坐標,繪制出不同誤差閾值下的PCK曲線下的面積為AUC(Area Under Curve,AUC)。
由表可知,相比于原始CPM手勢姿態估計網絡,引入了深度可分離對CPM手勢姿態做輕量化處理的網絡模型,能夠在保證模型精度穩定的前提下,使模型大小縮小為原來的4倍多。Flops值將為原來的四倍左右。可以有效的減小模型參數量,為研發實時移動端手勢姿態估計提供了基礎。
3.2.2 檢測效果可視化
檢測效果在anaconda+keras2.24+TensorFlow1.1 4+cuda9.2實驗環境下對RHD數據集驗證的效果如圖1所示。

圖1 檢測效果可視化Fig.1 Visualization of detection effect
手勢姿態估計隨著計算機視覺領域的發展,其常被應用于人機交互、視頻監控等多種場景中。通常卷積神經網絡存在較大的參數量和計算量,不能較好的應用于移動端或嵌入式設備中。為更好的實現在移動端或嵌入式設備上進行實時手勢姿態估計,需對網絡模型進行輕量化處理。本文對基于人體姿態估計的CPM更改其網絡結構,將其遷移到手勢姿態估計。同時,引入深度可分離卷積替代網絡結構中的部分卷積層結構,極大程度上減低的模型的計算量和運算量。
通過實驗對比和可視化表明,輕量化的CPM姿態估計網絡能夠在被遮擋、形變等復雜環境下仍然有良好的檢測效果,能夠在保證精度穩定的前提下,極大程度上降低模型的參數量和計算量,為在移動端或嵌入式設備上實時運行手勢姿態算法奠定了基礎。