劉穎,鄭力新
(華僑大學工學院,泉州262500)
人體姿態估計在當代生活中的重要性日益凸顯,它在自動駕駛、人體尺度測量、人體異常檢測、人口密度分析、醫學等多個方面起到很重要的作用。在各種人工智能展會上我們都會發現留有它的一席之地。
現在的人體姿態估計算法主要有基于top-down[1-4]和down-up[5-7]兩個思想的研究。top-down 是先檢測出人體框,然對框類人體進行關鍵點檢測[8]。down-up 是直接對圖片中的人體關鍵點進行檢測,然后對檢測出的關鍵點進行人體歸屬分類。down-up 方法雖然檢測速度比較快,但在檢測精度上相比top-down 方法相差還是比較多,因此近年top-down 方法成為人體姿態估計研究的主流思想。本文采用top-down 方法綜合以往對姿態估計的研究成果進一步對算法進行了改進,在關鍵點的檢測精度上取得了一定的提高。
本文是基于HRNet 網絡的一種改進網絡[1]。在HRNet 中只將最后一個stage 的輸出作為反向參數調整的依據,這樣可能會導致中間各層訓練效果的丟失,因此我使用了中間監督的方法,將每一個階段的的輸出結果計算出的loss 值進行相加,以此作為反向參數調整的依據。反卷積利用了卷積核對尺度較小的圖片矩陣進行尺寸上的擴張,相對于直接像素復制擴張的上采樣,保留了更多的原始尺寸上的特征,有利于檢測出各尺度圖片上的特征信息,使最終的檢測結果更加的準確。因此本次研究在每一個中間監督輸出網絡上都使用了反卷積。我們在中間監督輸出部分加入了一個子網絡,它包括一個反卷積層將原始像素進行擴張,接著是一個殘差網絡對擴張后的圖片信息進行提取,最后使用了一個卷積網絡將其縮小到原始HRNet 網絡輸出的格式。
HRNet 網絡總體來看是由三個不同分辨率的分支組成,最后使用上采樣對特征進行融合輸出,它分為4個stage,第一個stage 包含一個(32×64×64),然后經過一個分辨率變化層將(32×64×64)變化成為(32×64×64)和(64×32×32),然后進入第二個stage,stage2 包含3 個相同的module,每個module 最后一層卷積層均進行特征融合,低分辨率向高分辨率融合采用直接上采樣,高分辨率到低分辨率采用卷積,重復分辨率擴張層和stage,到stage4 時能獲得含有四個分辨你和通道數的stage,在最后一個module 的最后一層卷積層只進行低分辨率到最高分辨率的特征融合,如圖1 所示。本次研究在HRNet 上做了一些改善。

圖1
HRNet 中網絡結構最大的優勢是訓練了多分辨率上的圖片特征,分別是64×64、32×32、16×16、8×8,它們之間相互聯系又相對獨立的訓練,盡可能多地捕獲到了圖片不同分辨率上的特征和聯系,使得檢測結果獲得了很大的提高,但是隨著網絡層數的增加有一些淺層的特征過度訓練,導致特征效果降低。但是如果網絡設置太短會使得一些更深層次的特征得不到提取,因此在本次實驗中引入了中間監督,將短網絡和深網絡訓練的特征都進行提取,對它們進行訓練和加強,使得訓練效果得到了很大的提高。
本次對HRNet 中每個stage 輸出結果都進行了監督。我們在每一個stage 中的最后一個模塊的fuse 層輸出的結果增加了一個out 用于輸出最高分辨率的圖片特征,最后計算每一個out 分支的loss,將所有分支loss 和作為總loss 進行反向傳播。如圖2 所示;這樣的改進有利于對前幾層信息的充分利用。
HRNet 是在64×64、32×32、16×16、8×8 四個級別的分辨率上對圖片特征進行訓練,本次改進算法中我們使用了反卷積算法在每一個stage 輸出上對分辨率進行了放大,由原本的64×64 放大到了128×128,這樣可以提高對中小型人物特征的獲取。緊接著我們使用了一個殘差網絡對128×128 分辨率特征進行訓練。我們嘗試過使用更多的殘差模塊對其進行特征訓練,但是當殘差網絡為一個時取得了最佳的結果。原始HRNet中上采樣都是使用的基于像素復制的直接擴張方法,相比于直接擴張方法利用反卷積進行尺度擴張更能保留原始尺寸中的特征信息。在本次研究中我們將每個中間層的輸出使用反卷積操作對其像素進行擴張。中間監督部分輸出后的網絡結構如圖3。

圖2 改進網絡總體結構圖

圖3 中間監督輸出網絡圖
HRNet 網絡是基于殘差網絡單元實現的,我們對殘差基本單元進行了改進,給殘差網絡多加了一個分支,在這個分支中,首先對殘差輸入c*H*W 中每一個通道進行平均池化,使其結構變為C*1*1,再將其進行歸一化,用激活函數ReLU 對其進行激活,接著將其進行Sigmoid 操作,將其轉換成0-1 的值,再將其與第一個平均池化的結果相乘,得到最終每個通道的權重W,利用W 對殘差輸入的每個通道進行軟化。將得到的軟化結果與殘差輸入和原始輸入X 相加,得到最終的改進殘差網絡輸出結果[8]。殘差網絡廣泛應用在所有的網絡算法中,主要是因為它即能很好地保持底層的特征不被破壞又能提煉出更深層次的圖片特征。實現了圖片特征的跨層傳遞[9]。因為其是沒有領域針對性的,雖然訓練效果得到了提高,但在一些目的性比較強的網絡中,如對物體分類、分割和關鍵點檢測,它不能很好很快的集中到我們想要獲取物體的地方,使得訓練難度加大,結果差強人意,因此我提出了這個改進殘差網絡,它可以在保留原始殘差信息的同時又保持注意力集中機制,使訓練結果更加的準確。如圖4 所示。

圖4 改進殘差網絡圖
我們在MPII 數據集上對實驗結果進行了分析,這個數據集來源于人們日常生活拍攝,包含了各種類型的圖片,是當前進行姿態訓練和評估比較權威的一個數據集。它包括22246 個訓練圖片和2958 個測試數據[10]。我們使用PCKH(正確關鍵點的頭歸一化概率)得分作為評價指標。將原始HRNet 網絡與我們的該進HRNet 算法在MPII 數據集上的檢測精度進行了比較。
表1 和表2 比較了兩個算法的結果、模型大小和方法的GELOPs,可知改進后的算法相比原來的算法在每個關鍵點的檢測精度上都有提升[11]。使用ResNet-152 作為主干,輸入大小為256×256[1]。我們的方法達到了91.0 KCh@0.5 的分數,HRNet 的結果為90.0,得到了比較大的提升。

表2 模型大小和方法的GELOPs 表
COCO 數據集:COCO 數據集[12]包含超過20 萬張圖像和25 萬個人體實例,這些實例都標有17 個關鍵點。我們在COCO 的train2017 數據集上訓練我們的模型,包括57K 個圖像和150K 個person 實例。我們使用OSK 作為評判工具將改進后的網絡和原始HRNet 網絡在COCO 數據集上的檢測精度進行了比較,實驗結果如表3。
由表3 可知我們的改進算法在中等大小人體身上的關鍵點檢測精度得到了提高。

表1 MPII 數據集上檢測結果對比表

表3 COCO 數據集上檢測結果對比表
本文對原始HRNet 網絡進行了改善,將改進后的壓縮殘差網絡代替原始的殘差網絡[13-14],能更好地檢測出人體的關鍵點。在網絡中加入了中間監督概念[15-17],并用反卷積代替原始簡單的像素賦值擴張,這樣可以提高圖片中較小人體的關鍵點檢測精度,在我們實際拍攝照片時,往往較小型人體占大多數,故改進的算法更貼近實際應用。