人體姿態估計常用預測熱點圖的方法預測x和y的坐標值,熱點圖可以理解為概率響應圖,通過求熱點圖最大值所在位置坐標,就可以得到該關鍵點的位置坐標
熱點圖法的缺點
1. 量化產生的精度損失:卷積網絡下采樣使模型的計算量減小,輸出可能是輸入圖像大小的四分之一,而坐標經過量化[x/n]再還原回去,就不可避免的產生偏差- 監督熱點圖標簽,不是直接的監督坐標,有一定問題,如下圖。(為什么不直接回歸坐標呢?實驗證明直接輸出坐標不如監督熱點圖,如何結合起來?於是有了soft-argmax)
soft-argmax
思想就是如何通過熱點圖,用某種計算方法得到坐標。在文獻【2】中叫積分法,圖像中的積分是累加和,我的理解就是加權求和。下面按照文獻【3】中的描述具體介紹
- 對關鍵點的熱點圖作歸一化,目的是使得下一步的加權求和范圍在0-1之間
\[\Phi \left ( h_{i,j} \right )=\frac{e^{h_{i,j}}}{\sum_{k=1}^{M}\sum_{l=1}^{H}e^{h_{k,l}}} \]
- 分別用x,y兩個與熱點圖大小一樣的卷積核對歸一化后的熱點圖加權就和,等價於對應元素相乘再相加,等價於卷積運算
形象的看一下x和y的參數W是怎樣的,顏色漸變,白色表示權重大,實際上就是反應坐標位置。
總結:概率響應圖上個響應值利用對應坐標作為權值,加權求和...
優缺點
優點:一定意義上緩解了量化精度損失問題,可以直接學習熱點圖和位置坐標,學習的目標更直接。網絡可以直接輸出所需目標,一體化程度高。個人的實驗發現,實現soft-argmax可以采用分組卷積,即輸入是k個通道(k表示關鍵點個數),則分組為k,分組卷積指通道上不做卷積的聚合。
缺點:會增加訓練所需時間,畢竟加了一層運算,如果輸入熱點圖的尺寸較大如128,應該是會增加一點時間的。測試時間影響不大,因為沒有soft-argmax也要用argmax,所以測試速度應該影響不大。
參考文獻
Numerical Coordinate Regression with Convolutional Neural Networks
Integral Human Pose Regression
Human Pose Regression by Combining Indirect Part Detection and Contextual Information