ICCV 2021 | 重铸Regression荣光!具有残差对数似然估计的人体姿态回归
??作者?|?Tau
單位?|?網(wǎng)易
研究方向?|?計(jì)算機(jī)視覺
本文是一篇新鮮出爐的 ICCV Oral,由于我的工作內(nèi)容是姿態(tài)估計(jì)相關(guān),因此也在第一時(shí)間拜讀了一下,以下是一些筆記和過往經(jīng)驗(yàn)的總結(jié)。由于我自身能力有限,文章中存在錯(cuò)誤請見諒,歡迎指正。
論文標(biāo)題:
Human Pose Regression with Residual Log-likelihood Estimation
論文地址:
https://jeffli.site/res-loglikelihood-regression/resources/ICCV21-RLE.pdf
開源地址:
https://github.com/Jeff-sjtu/res-loglikelihood-regression
這兩天抓緊時(shí)間看了下作者放出來的代碼,發(fā)現(xiàn)有些地方值得注意:
1. 本文走的是用(joint_num*3)維的 FC 層直接回歸出坐標(biāo)點(diǎn)的路子,可以說是非常暴力了,這和我一開始想的 soft-argmax 的路線還不太一樣,這顯得 RLE 更強(qiáng)了;
2. 根據(jù)我過去工作的經(jīng)驗(yàn),用 soft-argmax 積分熱圖來回歸的方法應(yīng)該能取得比純 FC 更好的效果,在對比實(shí)驗(yàn)中也沒有把 RLE 用到 Integral Pose 上的實(shí)驗(yàn),直覺上應(yīng)該能再漲點(diǎn)才對。我正在自己的數(shù)據(jù)上跑實(shí)驗(yàn),出了結(jié)果會(huì)在這里更新。后續(xù):我跟作者取得了聯(lián)系,根據(jù)作者的說法積分熱圖確實(shí)能帶來輕微的提升,但增加了計(jì)算量。
Hi Tau. Actually, we did conduct experiments on the soft-argmax based method. We use ResNet-50 and usingsigmoidto predict the normalized heatmap. The original model obtains 65.7 mAP on the COCO validation set, and the model trained with RLE obtain 70.7 mAP. This is slightly better than the direct regression method (70.5 mAP without pretrained). Although using soft-argmax is better, but we think the improvement is marginal and it brings more computation.
調(diào)了幾天,終于在我自己的項(xiàng)目上跑起來了,記錄一些遇到的坑:
1. RLE 這個(gè) loss 數(shù)值是可正可負(fù)的,因?yàn)?L=-log p,當(dāng) p>1 的時(shí)候就會(huì)為負(fù)數(shù),基本上訓(xùn)到后面都會(huì)是負(fù)的,這是正?,F(xiàn)象;
2. 這個(gè) loss 對數(shù)據(jù)噪聲比較敏感,很容易導(dǎo)致模型訓(xùn)崩,我之前的訓(xùn)練數(shù)據(jù)清洗得不夠干凈(自己沒發(fā)現(xiàn)),但在 L1 loss 上訓(xùn)練沒有遇到問題,在 RLE 上模型直接訓(xùn)崩了,debug 了很久才發(fā)現(xiàn)是數(shù)據(jù)噪聲問題(比如坐標(biāo)值超出了圖片范圍);
3. 作者的訓(xùn)練代碼里,坐標(biāo)值是經(jīng)過了歸一化的,在 RegressionFlow 模型中使用的 bar_mu = (pred_jts - gt_uvd) / sigma?時(shí),sigma 也進(jìn)行了 sigmoid 限制在 0~1 之間。
前言
一般來說,我們可以把姿態(tài)估計(jì)任務(wù)分成兩個(gè)流派:Heatmap-based 和 Regression-based。其主要區(qū)別在于監(jiān)督信息的不同,Heatmap-based 方法監(jiān)督模型學(xué)習(xí)的是高斯概率分布圖,即把 GroundTruth 中每個(gè)點(diǎn)渲染成一張高斯熱圖,最后網(wǎng)絡(luò)輸出為 K 張?zhí)卣鲌D對應(yīng) K 個(gè)關(guān)鍵點(diǎn),然后通過 argmax 或 soft-argmax 來獲取最大值點(diǎn)作為估計(jì)結(jié)果。
這種方法由于需要渲染高斯熱圖,且由于熱圖中的最值點(diǎn)直接對應(yīng)了結(jié)果,不可避免地需要維持一個(gè)相對高分辨率的熱圖(常見的是 64x64,再小的話誤差下界過大會(huì)造成嚴(yán)重的精度損失),因此也就自然而然導(dǎo)致了很大的計(jì)算量和內(nèi)存開銷。
Regression-based 方法則非常簡單粗暴,直接監(jiān)督模型學(xué)習(xí)坐標(biāo)值,計(jì)算坐標(biāo)值的 L1 或 L2 loss。由于不需要渲染高斯熱圖,也不需要維持高分辨率,網(wǎng)絡(luò)輸出的特征圖可以很小(比如 14x14 甚至 7x7),拿 Resnet-50 來舉例的話,FLOPs 是 Heatmap-based 方法的兩萬分之一,這對于計(jì)算力較弱的設(shè)備(比如手機(jī))是相當(dāng)友好的,在實(shí)際的項(xiàng)目中,也更多地是采用這種方法。
說到 Regression-based 方法的優(yōu)點(diǎn),那是就是好呀就是好,可以簡單總結(jié)為以下三點(diǎn):
1. 沒有高分辨率熱圖,無負(fù)一身輕。計(jì)算成本和內(nèi)存開銷一起大幅降低;
2. 輸出為連續(xù)的,不用擔(dān)心量化誤差。(Heatmap-based 輸出的熱圖最大值點(diǎn)在哪,對應(yīng)到原圖的點(diǎn)也就確定了,輸出熱圖的分辨率越小,這個(gè)點(diǎn)放大后對應(yīng)回去就越不準(zhǔn)。Regression-based 輸出為一個(gè)數(shù)值,小數(shù)點(diǎn)后可以有很多位,精度不受縮放影響);
3. 可拓展性高。不論是 one-stage 還是 two-stage,image-based 還是 video-based,2D 還是 3D,Regression-based 方法都可以一把梭。此前就有用這種方法來將 2D 和 3D 數(shù)據(jù)放在一起聯(lián)合訓(xùn)練的文章。這是Heatmap-based方法做不到的,因?yàn)檩敵鍪歉叨榷ㄖ苹?#xff0c;2D 輸出必須渲染 2D 高斯熱圖,3D 就必須渲染 3D 的高斯熱圖,計(jì)算量和內(nèi)存開銷也蹭蹭蹭地暴漲。
而 Heatmap-based 方法通過顯式地渲染高斯熱圖,讓模型學(xué)習(xí)輸出的目標(biāo)分布,也可以看成模型單純地在學(xué)習(xí)一種濾波方式,將輸入圖片濾波成為最終希望得到的高斯熱圖即可,這極大地簡化了模型的學(xué)習(xí)難度,且非常契合卷積網(wǎng)絡(luò)的特性(卷積本身就可以看成一種濾波),并且這種方式規(guī)定了學(xué)習(xí)的分布,相對于除了結(jié)果以外內(nèi)部一切都是黑盒的 Regression-based 方法,對于各種情況(遮擋、動(dòng)態(tài)模糊、截?cái)嗟?#xff09;要魯棒得多。
基于以上種種優(yōu)點(diǎn),Heatmap-based 方法在姿態(tài)估計(jì)領(lǐng)域是處于主導(dǎo)地位的,SOTA 方案也都是基于此,這也導(dǎo)致了一種學(xué)術(shù)研究與算法落地的割裂,你在各種數(shù)據(jù)集和比賽里指標(biāo)刷得飛起,但項(xiàng)目落地時(shí)我們工程師卻只能干著急,因?yàn)槟阌玫姆椒ㄓ致殖詢?nèi)存,真實(shí)項(xiàng)目里根本沒法用啊。
終于,這一天有篇文章站出來說,重鑄 Regression 榮光,吾輩義不容辭!不僅將 Regression-based 方法提到了超越 Heatmap-based 方法的高度,還保留了其一直以來的節(jié)省計(jì)算資源和內(nèi)存資源的優(yōu)點(diǎn),真正做到了又快又準(zhǔn),簡直是項(xiàng)目落地算法工程師的福音,接下來就讓我們一起來學(xué)習(xí)一下這篇文章。
核心思想
從極大似然估計(jì)(Maximum Likelihood Estimation, MLE)的角度來看問題,損失函數(shù)的選擇其實(shí)是基于我們對目標(biāo)分布的假設(shè)的,如果我們假設(shè)目標(biāo)分布服從高斯分布,那么損失函數(shù)就應(yīng)該選擇 L2 loss,如果假設(shè)為拉普拉斯分布,則應(yīng)該選擇 L1 loss。
這里其實(shí)我還延申出來一個(gè)理解,早一些時(shí)候的文章大家都選擇 L2 loss 作為損失函數(shù),但近來越來越多的文章選擇 L1 loss,并且有翔實(shí)的實(shí)驗(yàn)顯示 L1 在大多數(shù)情況下都會(huì)優(yōu)于 L2,對于這個(gè)現(xiàn)象我一開始是作為一種實(shí)驗(yàn)得到的經(jīng)驗(yàn)結(jié)論進(jìn)行記憶的,但到這里我才理解,選擇 L2 其實(shí)是一件很自然的事情,因?yàn)楦咚狗植季哂写罅績?yōu)秀的特性:采樣方便、解析的密度已知、KL 距離容易計(jì)算,還有中心極限定理的保證——任何大的數(shù)據(jù)都趨近于高斯分布,所以你怎么用它幾乎都是對的。但對于姿態(tài)估計(jì)任務(wù)而言,由于要精確地預(yù)測關(guān)鍵點(diǎn)位置,實(shí)際上概率分布是相對來說比較稀疏的,只有小部分區(qū)域具有概率,因此將拉普拉斯分布作為先驗(yàn)可能是一種更好的假設(shè)。
從這個(gè)視角來思考,我們其實(shí)可以把 Heatmap-based 方法看成是對模型的中間結(jié)果進(jìn)行了監(jiān)督,顯式地要求模型學(xué)習(xí)高斯概率分布,進(jìn)而得出結(jié)果;而 Regression-based 方法由于缺少對概率分布的監(jiān)督約束,模型內(nèi)部學(xué)到的分布是不穩(wěn)定的,完全受到訓(xùn)練數(shù)據(jù)的支配,因此在性能和魯棒性上遜于 Heatmap-based 方法也就不難想象了。
因此我們也可以知道,一個(gè)正確的密度函數(shù)假設(shè)對優(yōu)化結(jié)果是起到主導(dǎo)性作用的。但在實(shí)際問題中,目標(biāo)的分布是未知的,我們所掌握的數(shù)據(jù)也是有限的,模型很難單純通過數(shù)據(jù)回歸出真實(shí)的密度函數(shù),有沒有比草率地假設(shè)某一個(gè)分布更好的選擇呢?有的,這里我們將引入這篇文章的核心之一,標(biāo)準(zhǔn)化流(Normalizing Flows)。
標(biāo)準(zhǔn)化流
標(biāo)準(zhǔn)化流是一類深度生成式模型,具體的數(shù)學(xué)原理有興趣的朋友可以自行搜索,我這里比較膚淺地將其理解為,通過構(gòu)造一個(gè)可逆的變換函數(shù),能將一些基本的簡單分布(如高斯分布)變換為任意的復(fù)雜分布。
這里用李宏毅老師的視頻截圖來進(jìn)行直觀展示,通過一系列可逆變換的疊加,可以將簡單分布變換成任意的復(fù)雜分布:
換句話說,雖然現(xiàn)階段我們條件有限,我們的回歸模型只能擬合一個(gè)簡單分布,但我可以對擬合出來的結(jié)果進(jìn)行變換,讓變換后的結(jié)果更接近真實(shí)分布,只要我的變換足夠復(fù)雜,理論上我可以擬合任意的目標(biāo)分布。
而這里的變換,實(shí)際上也就是我們的神經(jīng)網(wǎng)絡(luò),因?yàn)樯窠?jīng)網(wǎng)絡(luò)理論上可以逼近任意的函數(shù),因此流模型中那一系列疊加的可逆變換可以通過疊加的 FC 層實(shí)現(xiàn)。也就是說,我們將網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo),從讓網(wǎng)絡(luò)直接擬合目標(biāo)分布,變成了擬合簡單分布+流模型變換調(diào)整兩個(gè)步驟。
結(jié)果用極大似然估計(jì)法,損失函數(shù)可以表示為:
以上的描述對應(yīng)圖中的(a)設(shè)計(jì)。
重參數(shù)化
盡管思想上是說得通了,但在實(shí)際實(shí)現(xiàn)中,還需要一些技巧。
Regression-based 方法是要網(wǎng)絡(luò)直接預(yù)測坐標(biāo)值的,但是(a)中的設(shè)計(jì)顯然增加了步驟,而且讓網(wǎng)絡(luò)先擬合簡單分布再進(jìn)行變換的思路,似乎也有點(diǎn)繞彎路的感覺。因此作者進(jìn)一步改進(jìn)了方案,我們先對一個(gè)標(biāo)準(zhǔn)的基礎(chǔ)分布進(jìn)行變換,然后讓網(wǎng)絡(luò)直接學(xué)變換后的真實(shí)分布不是更好嗎?
在實(shí)際操作中,作者假設(shè)所有底層分布共享相同的密度函數(shù)族,但是根據(jù)輸入不同,會(huì)有不同的均值和方差(可以理解為需要對原始分布進(jìn)行平移和縮放)。我們以標(biāo)準(zhǔn)正態(tài)分布為基礎(chǔ)分布,通過流模型將基礎(chǔ)分布變換為真實(shí)分布的原始分布,用回歸網(wǎng)絡(luò)來預(yù)測平移和縮放系數(shù) 和 。這里的平移和縮放參數(shù),實(shí)際上就是預(yù)測值和 GT 的偏移量。
注意這里的符號(hào)!!帶 hat 的是偏移量,或者說平移縮放系數(shù),頭上帶 overline 一橫的是真實(shí)目標(biāo)分布。
到了這里,我們模型的學(xué)習(xí)目標(biāo)也發(fā)生了改變,已經(jīng)從(a)中的:回歸模型學(xué)習(xí)基礎(chǔ)分布,流模型學(xué)習(xí)將基礎(chǔ)分布變換為真實(shí)分布;變成了:流模型學(xué)習(xí) GT 的偏移量的原始分布變換,回歸模型學(xué)習(xí)變換后的原始分布的平移縮放參數(shù)。
損失函數(shù)也因此可以簡化為:
經(jīng)過以上的簡化,我們的模型已經(jīng)可以端到端地進(jìn)行訓(xùn)練了,但實(shí)際上還是存在一些問題。
不難發(fā)現(xiàn),我們的回歸模型的學(xué)習(xí)是完全依賴于流模型變換的結(jié)果的,而在模型訓(xùn)練的初期,我們學(xué)到的變換函數(shù)是非常不準(zhǔn)的,如果讓回歸模型去擬合基于不正確的變換得到的目標(biāo)分布,對于模型性能是有害的。但端到端訓(xùn)練的原則讓我們不想將訓(xùn)練變成二階段的(即先訓(xùn)練流模型,訓(xùn)好以后再訓(xùn)練回歸模型),因此本文又引入了一個(gè)殘差對數(shù)似然估計(jì)(Residual Log-likelihood Estimation, RLE)的概念。
殘差對數(shù)似然估計(jì)
要解決上面提到的模型依賴問題,本文設(shè)計(jì)了一條梯度 shortcut 來降低依賴程度。
用公式表示流模型擬合的目標(biāo)分布,可以構(gòu)造拆分為三項(xiàng):
其中第一項(xiàng) Q(x) 是一個(gè)簡單分布(如高斯分布或拉普拉斯分布),第二項(xiàng)我們稱之為殘差對數(shù)似然項(xiàng),第三項(xiàng)是一個(gè)常數(shù) s。
我們可以假設(shè) Q(x) 是大致上接近于目標(biāo)分布的,只是不夠完美,這在之前我們已經(jīng)有眉目了,選高斯分布不會(huì)錯(cuò),選拉普拉斯分布更優(yōu)。殘差對數(shù)似然項(xiàng)是對第一項(xiàng)的一個(gè)補(bǔ)充,用于填補(bǔ)簡單分布不夠完美的部分,因此目標(biāo)概率分布公式可以寫成:
其中 G(x) 是流模型所需要學(xué)習(xí)的分布。經(jīng)過這樣的變換后,我們可以發(fā)現(xiàn),回歸模型對流模型的依賴被大大減輕了,因?yàn)椴徽摿髂P蛯W(xué)到的結(jié)果如何,都只是在簡單分布的基礎(chǔ)上進(jìn)行補(bǔ)充。這里的簡單分布恰好正是我們前人使用的 baseline,所以不管怎么學(xué),我們的回歸模型都不會(huì)太差,相反,隨著流模型對變換參數(shù)的預(yù)測越來越準(zhǔn)確,回歸模型所擬合的分布將比 baseline 更加接近真實(shí)分布。
最終得到訓(xùn)練的損失函數(shù)為:
而當(dāng)訓(xùn)練結(jié)束,回歸模型學(xué)到的平移縮放參數(shù)就固定了,我們的流模型也固定了,由于我們假設(shè)所有的數(shù)據(jù)都服從我們的目標(biāo)分布,變換函數(shù)是不會(huì)因?yàn)檩斎霐?shù)據(jù)的變化而受影響的。更牛逼的是,由于是在 N(0, I)的標(biāo)準(zhǔn)分布上進(jìn)行的變換,在測試推理階段,平移縮放系數(shù)直接就可以看成最終預(yù)測的坐標(biāo)值。
因此在推理階段我們就不再需要運(yùn)行流模型了,我們的回歸網(wǎng)絡(luò)至此已經(jīng)學(xué)到了流模型變換后的真實(shí)分布。這也是本文提出的方法的妙處所在,訓(xùn)練時(shí)對目標(biāo)分布的假設(shè)就已經(jīng)確定了,剩下的就又回到了 Regression-based 方法的既定流程上,確定分布假設(shè),對應(yīng)設(shè)計(jì)損失函數(shù)即可。
流模型這部分的邏輯比較繞,而且 (a) (b) (c) 三種方案里幾個(gè) mu 和 sigma 的含義是有不同,但又能互相轉(zhuǎn)化的,建議對照著那張路程圖多看幾遍,最好結(jié)合原文來理解,筆者才疏學(xué)淺,表達(dá)得可能不夠清晰。
流模型
本文選擇的基礎(chǔ)分布為拉普拉斯分布,這也是符合前人實(shí)驗(yàn)結(jié)論的,大量的實(shí)驗(yàn)結(jié)果佐證了拉普拉斯分布應(yīng)該是一個(gè)比較接近于真實(shí)目標(biāo)分布的假設(shè),只是不夠完美,但這足夠我們選擇它作為變換的基礎(chǔ),有利于簡化變換的難度,降低學(xué)習(xí)的難度。
而常見的可以選擇流模型其實(shí)有很多種,本文經(jīng)過實(shí)驗(yàn)對比最終選擇了 RealNVP,可逆變換函數(shù)用 3 個(gè)具有 64 個(gè)神經(jīng)元的全連接層來表示。這樣一個(gè)簡單的輕量級(jí)的流模型,對訓(xùn)練速度的影響是幾乎可以忽略的。
在文章最后的附錄中,作者也對學(xué)到的分布進(jìn)行了可視化:
實(shí)驗(yàn)結(jié)果
對所提出方法的消融實(shí)驗(yàn)如下:
這個(gè)實(shí)驗(yàn)以在 Resnet50 上對 L1 loss 進(jìn)行直接回歸作為 baseline,通過加入重參數(shù)化后的流模型進(jìn)行直接似然估計(jì)的端到端訓(xùn)練(Direct Likelihood Estimation, DLE)可以帶來 4.6mAP 的提升,加入殘差對數(shù)似然估計(jì)來減輕模型依賴后的提升變?yōu)?12.4mAP,最后加入前人文章中用到的訓(xùn)練技巧,先用 heatmap 對 backbone 進(jìn)行預(yù)訓(xùn)練,然后再用 Regression-based 方法進(jìn)行微調(diào),可以最終帶來 13.2mAP 的提升。
PS:這個(gè)預(yù)訓(xùn)練技巧其實(shí)還蠻有用的,可以學(xué)一手。
跟現(xiàn)有 SOTA 方法的對比如圖,可以看到能讓 Regression-based 方法達(dá)到媲美 Heatmap-based 方法的高度,其他更多的消融實(shí)驗(yàn)和參數(shù)選擇實(shí)驗(yàn)我在這里就不一一貼出來了,有興趣的朋友可以自行查閱論文。
以上是對本文進(jìn)行學(xué)習(xí)后的一些記錄,可能存在一些理解有誤或者不夠精準(zhǔn)的地方,后續(xù)可能會(huì)進(jìn)行修改,也歡迎大家進(jìn)行指正,感謝閱讀。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。
?????稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時(shí)聯(lián)系方式(微信),以便我們在稿件選用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的ICCV 2021 | 重铸Regression荣光!具有残差对数似然估计的人体姿态回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今日arXiv精选 | 14 篇 ICC
- 下一篇: u盘里word文件错误怎么办 U盘Wor