申小鳳,王春佳
(西華大學計算機與軟件工程學院,成都 610039)
人體姿態估計(Human Pose Estimation)是在給定的圖像或視頻中對人體的關鍵部位或主要關節進行檢測,最終輸出人體全部或局部肢體相關參數(各個關節點的相對位置關系)的過程,例如人體輪廓、頭部的位置與朝向、人體關節的位置和部位類別等[1]。人體姿態估計研究涉及了計算機視覺中幾乎所有與人類有關的問題,從整個人體姿態分析到詳細的人體部位定位,其廣泛應用在活動識別、智能監控、人機交互等任務中。人體姿態估計是計算機視覺中的基礎問題。當今社會隨著移動設備的迅速普及,如:智能手機、數碼相機、平板電腦等,每天每時每刻都會產生大量的圖片和視頻數據,這些數據中蘊含著豐富的行為信息,為人體姿態估計的發展提供了大量的數據,也進一步促使人體姿態估計成為研究的重點。
人體姿態估計作為人體動作識別和行為分析的關鍵,在計算機視覺方向的應用前景較為廣闊。傳統的單人體姿態估計多采用概率圖形模型或圖形結構模型[2-3]。近年來,隨著深度學習技術的快速發展,人體姿態估計效果不斷提升。目前,深度卷積神經網絡提供了主流的解決方案[4-7]。主要有兩種方法:回歸關鍵點位置[8-9]和估算關鍵點熱圖(Heatmaps)[10-12],然后選擇熱值最高的位置作為關鍵點。大多數卷積神經網絡主體主要采用高到低和低到高分辨率的框架,可增加多尺度融合和中繼監督。
目前2D 人體姿態估計性能越來越高效,但因背景干擾、遮擋、光照、尺度和姿態各異等因素,2D 人體姿態估計仍然存在值得研究。
人體姿態估計任務是給定一張靜態w×H×3 的圖像或者一段視頻序列,通過某種方法在該圖像或視頻中準確地定位出人體k 個關鍵點或部位(如肘部、手腕)的位置,然后通過連接相鄰關節就可以得出人體姿態信息。現有的方法將此問題轉化為估計K 個熱圖,{H1,H2,…,Hk},K 個熱圖的大小為w×H(其中 W 代表寬度,H 代表高度),每個熱圖Hk表示第K 個關鍵點的位置置信度。
一般都會對人體的14-17 個關節的位置進行標記,本文研究的是17 個關鍵點的定位,分別是:左眼、左耳、左肩膀、左手肘、左手腕、左臀部、左膝蓋、左腳、鼻子、右眼、右耳、右肩膀、右手肘、右手腕、右臀部、右膝蓋、右腳。
目前大多數已有的網絡架構都通過將分辨率由高到低,再由低到高的方式進行多尺度信息的融合。例如,Hourglass[13]通過對稱的低到高分辨率過程恢復高分辨率,CPN[14]構建聯金字塔模型得到多尺度特征,最后上采樣至高分辨率進行姿態估計。Simple Baseline[15]采用少量的轉置卷積層來生成高分辨率的表示等等。
本文研究的基礎模型HRNet 是2019 年由中科大和微軟亞洲研究院Ke Sun 等人[16]共同提出的高分辨人體姿態估計網絡(HRNet),刷新了三項COCO 紀錄,同時入選2019 CVPR。HRNet 與以往的串行人體姿態估計模型不同,HRNet 擁有與眾不同的并聯結構,通過并行連接高分辨率到低分辨率卷積,可以隨時保持高分辨率表征,并通過重復跨并行卷積執行多尺度融合來增強高分辨率表示,不只靠從低分辨率特征恢復高分辨率特征,這樣在保持高分辨率信息的同時也更好的融合了低分辨率信息。如此一來,姿勢識別的效果明顯提升。
HRNet 包含四個階段,主體為四個并行的子網,其分辨率逐漸降低到一半,相應的寬度(通道數)增加了一倍。第一階段包含4 個殘差單元,每個單元都和ResNet-50 一樣,是由一個寬度為64 的bottleneck 組成,緊隨其后的是一個3×3 卷積特征圖的寬度減少到(通道數 C),第二、第三、第四階段分別包含 1、4、3 個交換塊。一個交換塊包含4 個殘差單元,其中每個單元在每個分辨率中包含2 個3×3 的卷積,以及一個分辨率的交換單元。綜上所述,共有8 個交換單元,即共進行8 次多尺度融合。HRNet 結構如圖1 所示。

圖1 HRNet模型
HRNet 使用top-down 的方式,先利用目標檢測方法Faster R-CNN 檢測出人體框,隨后進行單人人體姿態估計,HRNet 主體以與其輸入特征圖相同的分辨率輸出特征圖,回歸器估計關鍵點位置并轉換為全分辨率的熱圖。下面介紹常見的串行多分辨子網和HRNet中并行多分辨率子網、反復多尺度融合和估計熱圖。
(1)常見的串行多分辨子網
現有的用于姿態估計的網絡是將高-低分辨率的子網絡串聯起來。有S 個階段由高分辨率到低分辨率的網絡可表示如圖2 所示,其中Nsr代表S 階段的子網,r 代表分辨率指數。

圖2 串行子網結構
(2)HRNet 的并行多分辨率子網
HRNet 以高分辨率子網為第一階段,逐步將高分辨率子網逐級下采樣至低分辨率階段,形成低分辨率子網。HRNet 的包含4 個并行子網的示例網絡結構如圖3 所示。

圖3 并行子網結構
(3)反復多尺度融合模塊
反復多尺度融合模塊是HRNet 中重要的組成部分,引入了跨并行子網的交換單元,使每個子網重復接收來自其他并行子網的信息。圖4 展示信息交換方案的示例。

圖4 信息交換方案示例
(4)估計熱圖
直接在HRNet 模型高分辨率最后一層估計熱圖,最后計算預測的熱圖結果和真值熱圖結果間的均方誤差,如式(1)所示:

其中p代表關鍵點,l代表關鍵點位置信息,代表預測的關鍵帶點p 的熱圖信息,yp表示真實的關鍵點的熱圖信息。
研究表明獲得更大的感受野,融合多尺度信息將有利于人體姿態估計,但由于人體姿態的多變性、尺度不一、遮擋等因素,若為獲得更大的感受野持續不斷下采樣后,部分本身較小的關鍵點(手腕、腳腕、膝蓋)其信息將無法重建,最后無法正確檢測其位置信息。空洞卷積廣泛應用于語義分割與目標檢測等任務中,本文提出將空洞空間金字塔池化模塊(Atrous Spatial Pyr?amid Pooling,ASPP)用高分辨的人體姿態估計中,以不同采樣率的空洞卷積進行采樣,在不下采樣的基礎上增加感受野,增加多尺度信息,提升HRNet 模型獲得多尺度信息的能力,本文稱之為ASPP-HRNet 模型。
空洞卷積(Atrous Convolutions)又名擴張卷積(Di?lated Convolutions),是向卷積層引入新參數擴張率(di?lation rate),該參數定義了卷積核處理數據時各值的間距。
該結構的目的在于不用池化(池化層會導致信息損失)且計算量相當的情況下,提供更大的感受野。空洞卷積在圖像中,卷積核的大小不變,但是在圖像中通過增加間隔。當stride=1 時,間隔為0,也就成為普通的卷積。如圖5 所示,卷積核沒有紅點標記位置為0,紅點標記位置同正常卷積核。

圖5 空洞卷積
空洞卷積感受野的計算方式如式(4):

其中 k 為卷積核(kernel size),d 為擴張率(dila?tion_rate),ri為第i 層的感受野,帶擴張率的卷積核大小為:k‘=(d-1)*(k-1)+k
空洞空間金字塔池化模塊(ASPP)主要通過設計不同擴張率(6、12、18)的卷積核,組成類似于金字塔方式對傳入的卷積特征層進行卷積操作,如圖6 所示。通過這樣可以不降低分辨率的情況下,增大特征感受野,同時捕獲多個尺度的對象和圖像上下文信息。

圖6 ASPP
ASPP-HRNet 是基于HRNet 模型進行改進。具體在HRNet 分辨率最低層添加ASPP 模塊,在不改變特征大小的情況下,增大感受野,融合多尺度信息,增加ASPP 后的 HRNet 模型(ASPP-HRNet)如圖 7 所示。
(1)設計一個1×1 卷積層,輸入輸出深度都為256;
二是健全河湖保護法規政策體系。參照《恩施州酉水河保護條例》《襄陽市漢江流域水環境保護條例》和《宜昌市黃柏河流域保護條例》模式,加快推進重點河湖立法保護工作,形成以《湖北省河湖長制工作條例》《湖北省湖泊保護條例》等河湖總體保護法律法規為骨架、單個河湖保護條例為脈絡、多種保護方案、實施方案為基礎的河湖保護法規政策體系。
(2)設計三個 3×3 的空洞卷積,其 rate 為(6、12、18),在HRNet 模型的分辨率最低層添加ASPP 模塊,(這些卷積層的輸出channel 數均為256);
(3)將(1)和(2)得到的 4 個不同尺度的特征在channel 維度連接在一起,然后送入1×1 的卷積進行融合并得到256-channel 的新特征。
COCO 是微軟發布的大型圖像數據集,專為對象檢測、分割、人體關鍵點檢測、語義分割和字幕生成而設計。本研究基于COCO 中目標關鍵點集進行訓練和測試。COCO 數據集包含超過 200000 個圖像和250000 個帶有17 個關鍵點的個人實例。在COCO Train2017 數據集上訓練我們的模型,包括57K 個圖像和150K 個人實例。我們對Val2017 集包含5000 幅圖像進行評估。

圖7 ASPP-HRNet
在Ubuntu 16.04 上使用Python 3.6 開發,基于Py?Torch 平臺實現,使用 1 個 NVIDIA GPU。
將人類檢測框的高度或寬度擴展到一個固定的長寬比:高度:寬度=4:3,然后從圖像中裁剪該框,大小調整為固定大小256×192。數據增強包括隨機旋轉(-45,45),隨機尺度([-45;+45]),隨機標度是([0.65,1.35]),同時設置隨機翻轉。訓練次數為210 次。訓練使用Adam 優化器,基本學習率設置為1e-3,隨后在170 和200 次時將學習率設置為1e-4 和1e-5。
標準的評估指標是基于對象關鍵點的相似性(Ob?ject Keypoint Similarity,OKS),如式(3)所示:

其中di表示檢測到的關鍵點和相應的關鍵點真值之間的歐幾里得距離。vi代表正值是否可見,s 表示物體的尺寸,ki是控制衰減的每個關鍵點常量。
表1 展示了多人姿態估計算法在COCO 驗證集上的性能比較。由結果可見基于ASPP 的高分辨率卷積神經網絡在COCO 數據集基本所有的評價指標上人體姿態估計平均精度都有所提升,最終的平均精度提升0.5%,平均召回率提升0.4%。

表1 多人姿態估計算法在COCO 驗證集上的性能比較
基于ASPP-HRNet 模型得到的人體姿態估計可視化結果如圖8 所示,GPU 設置為一次處理32 張圖片。

圖8 ASPP-HRNet 人體姿態估計可視化結果
本文主要提出基于ASPP 的高分辨率卷積神經網絡2D 人體姿態估計(ASPP-HRNet),成功的原因在于不下采樣的基礎上增大感受野,融合多尺度信息,提供可靠的高分辨率表示,對部分本身較小的關鍵點(手腕、腳腕、膝蓋)信息重建有幫助,進而幫助整體獲得精確的關鍵點熱圖。