Stacked Hourglass Networks for Human Pose Estimation
key words:
人體姿態估計 Human Pose Estimation 給定單張RGB圖像,輸出人體某些關鍵點的精確像素位置.
堆疊式沙漏網絡 Stacked Hourglass Networks
多尺度特征 Features processed across all scales
特征用於捕捉人體的空間關系 Capture spatial relationships associated with body
中間監督 Intermediate supervision
圖 - Stacked Hourglass Networks由多個 stacked hourglass 模塊組成,通過重復進行bottom-up, top-down推斷以估計人體姿態.
沙漏設計 Hourglass Design
動機:捕捉不同尺度下圖片所包含的信息.
局部信息,對於比如臉部、手部等等特征很有必要,而最終的姿態估計需要對整體人體一致理解. 不同尺度下,可能包含了很多有用信息,比如人體的方位、肢體的動作、相鄰關節點的關系等等.
Hourglass設計:
圖 - 單個hourglass模塊示例. 圖中個方框分別對應一個residual模塊. 整個hourglass中,特征數是一致的.
hourglass設置:
首先Conv層和Max Pooling層用於將特征縮放到很小的分辨率;
每一個Max Pooling(降采樣)處,網絡進行分叉,並對原來pre-pooled分辨率的特征進行卷積;
得到最低分辨率特征后,網絡開始進行upsampling,並逐漸結合不同尺度的特征信息. 這里對較低分辨率采用的是最近鄰上采樣(nearest neighbor upsampling)方式,將兩個不同的特征集進行逐元素相加.
整個hourglass是對稱的,獲取低分辨率特征過程中每有一個網絡層,則在上采樣的過程中相應低就會有一個對應網絡層.
得到hourglass網絡模塊輸出后,再采用兩個連續的 1×1 Conv層進行處理,得到最終的網絡輸出.
Stacked Hourglass Networks輸出heatmaps的集合,每一個heatmap表征了關節點在每個像素點存在的概率.
Residual模塊提取了較高層次的特征(卷積路),同時保留了原有層次的信息(跳級路)。不改變數據尺寸,只改變數據深度。可以把它看做一個保尺寸的高級“卷積”層。
中間監督 Intermediate Supervision
Hourglass網絡輸出heatmaps集合(藍色方框部分),與真值進行誤差計算。 其中利用1×1的Conv層對heatmaps進行處理並將其添加回特征空間中,作為下一個hourglass model的輸入特征。每一個Hourglass網絡都添加Loss層.Intermediate Supervision的作用在[2]中提到:如果直接對整個網絡進行梯度下降,輸出層的誤差經過多層反向傳播會大幅減小,即發生vanishing gradients現象。
為解決此問題,[2]在每個階段的輸出上都計算損失。這種方法稱為intermediate supervision,可以保證底層參數正常更新。
堆棧沙漏與中級監督 Stack Hourglass with Intermediate Supervision
正如本文開頭所示,網絡的核心結構為堆疊多個hourglass model,這為網絡提供了重復自下而上,自上而下推理的機制,允許重新評估整個圖像的初始估計和特征。實現這一過程的核心便是預測中級熱度圖並讓中級熱度圖參與loss計算。
如果對單一的Hourglass Model進行Intermediate Supervision,監督放在哪個位置比較合適呢?如果在網絡進行上采樣后提供監督,那么在更大的全球堆疊沙漏網絡人類姿勢估計上下文中,無法相對於彼此重新評估這些特征;如果在上采樣之前監督,此時,給定像素處的特征是處理相對局部感受野的結果,因此不知道關鍵的全局線索。本文提供的解決方式是repeated bottom-up,top-down inference with Stacked hourglass(圖解在本文文首),通過該方式, the network can maintain precise local information while considering and then reconsidering the overall coherence of the features。
Reference:
[1] https://blog.csdn.net/shenxiaolu1984/article/details/51094959
[2] Wei, S.E., Ramakrishna, V., Kanade, T., Sheikh, Y.: Convolutional pose machines. Computer Vision and Pattern Recognition (CVPR), 2016 IEEE Conference on (2016)
[3] https://blog.csdn.net/zziahgf/article/details/72732220