本文主要用于介紹Alejandro Newell等人于2016年提出的用于關(guān)鍵點(diǎn)檢測的Stacked Hourglass網(wǎng)絡(luò)的論文授帕。本筆記主要為方便初學(xué)者快速入門,以及自我回顧宴凉。
論文鏈接:https://arxiv.org/pdf/1603.06937.pdf
源碼地址:http://www-personal.umich.edu/~alnewell/pose
基本目錄如下:
- 摘要
- 核心思想
- 總結(jié)
------------------第一菇 - 摘要------------------
1.1 論文摘要
本論文提出了一種新的卷積網(wǎng)絡(luò)架構(gòu)用于人體關(guān)鍵點(diǎn)識(shí)別改淑。為了捕獲到各種人體關(guān)鍵點(diǎn)之間的空間關(guān)聯(lián)關(guān)系介袜,該網(wǎng)絡(luò)將在各個(gè)尺度上提取特征痹兜。我們發(fā)現(xiàn)重復(fù)使用自上而下,自下而上的處理架構(gòu)益缎,并同時(shí)運(yùn)用中間監(jiān)督學(xué)習(xí)(intermediate supervision)的方法能夠顯著提高模型的準(zhǔn)確率谜慌。我們將這一網(wǎng)絡(luò)架構(gòu)命名為:stacked hourglass,該架構(gòu)在FLIC和MPII數(shù)據(jù)集上的表現(xiàn)均超過了以往的方法莺奔。
------------------第二菇 - 核心思想------------------
2.1 Stacked Hourglass網(wǎng)絡(luò)架構(gòu)詳解
2.1.1 Hourglass Design詳解
我們從名字就可以看出欣范,整體的Stacked Hourglass是由多個(gè)Hourglass模塊集成的令哟,因此恼琼,我們直接來了解一下單個(gè)Hourglass的架構(gòu)。
設(shè)計(jì)Hourglass的初衷就是為了能夠更好的捕獲多個(gè)尺度的信息晴竞,從而能精確的預(yù)測出每一個(gè)關(guān)鍵點(diǎn)的關(guān)鍵信息。因此行嗤,該網(wǎng)絡(luò)必須能夠有效的處理各個(gè)尺度的信息,并能加以融合運(yùn)用堂鲜。這里我們直接先上一張Hourglass的架構(gòu)圖缔莲,
從結(jié)構(gòu)圖我們可以看出,整體的網(wǎng)絡(luò)架構(gòu)先利用卷積和池化操作將特征降到一個(gè)很低的分辨率(4*4)抛虫。在每一步最大池化操作的時(shí)候棉姐,網(wǎng)絡(luò)都會(huì)加上一個(gè)新的卷積分支,用于直接對(duì)池化前的原始分辨率提取特征(類似殘差操作),并與后面上采樣操作后提取出的特征相融合。在到達(dá)最低分辨率之后厅须,網(wǎng)絡(luò)就開始對(duì)特征進(jìn)行上采樣(最近鄰插值)错沽,并結(jié)合不同尺度下的信息甥捺,之后再與前面連接過的特征按元素位置相加镰禾。在到達(dá)輸出分辨率的時(shí)候备韧,再在后面接2個(gè)的卷積來進(jìn)行最后的檢測易阳。最終網(wǎng)絡(luò)的輸出就是一組heatmap潦俺,用于預(yù)測每一個(gè)關(guān)鍵點(diǎn)在每一個(gè)像素點(diǎn)存在的概率事示。
2.1.2 Layer Implementation
上圖只是描述出了整體的架構(gòu),但并未對(duì)其中的每一塊進(jìn)行細(xì)致的描述(上圖一個(gè)方框,就代表了一組卷積網(wǎng)絡(luò)架構(gòu))。因此窃植,接下來绣张,跟隨文章的節(jié)奏侥涵,我們還得好好探索一下每一塊的具體網(wǎng)絡(luò)設(shè)計(jì)嗦明。
作者強(qiáng)調(diào)乘凸,不同的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)會(huì)對(duì)結(jié)果產(chǎn)生不同程度的影響灵嫌。最終猖凛,作者采用的是最流行的殘差模塊(residual modules)玖院,具體的模塊示意圖如下,
當(dāng)然,原作者對(duì)其的描述并不清晰银亲,只是強(qiáng)調(diào)了卷積核大于的不用晕翠,利用了瓶頸層(1*1卷積)來控制整體參數(shù)的個(gè)數(shù)等拿愧,這里從網(wǎng)上盜了張示意圖【1】,方便大家理解叹坦,
簡單理解一下膳灶,上面一行就是傳統(tǒng)的卷積層提取特征,下面一行其實(shí)就是跳級(jí)層,只包含了一個(gè)卷積核為的轧钓。所有的卷積核不改變尺寸序厉,只改變通道數(shù)。其實(shí)這里已經(jīng)體現(xiàn)了模塊化的思想毕箍,即上面的一組卷積操作弛房,就是一個(gè)模塊。該模塊再嵌入到更大的架構(gòu)中而柑,從而完成更多的任務(wù)文捶。
當(dāng)然直接操作會(huì)需要很多的計(jì)算資源,因此媒咳,輸入進(jìn)一個(gè)Hourglass的圖像尺寸只有
粹排,只不過在進(jìn)入到每一個(gè)Hourglass之前,圖像會(huì)先經(jīng)過1個(gè)
的卷積涩澡,再加最大池化操作顽耳,用以將圖像分辨率從256降到64.
2.1.3 Stacked Hourglass with Intermediate Supervision
了解清楚了Residual Module后,我們?cè)倩剡^頭來看Hourglass Module妙同,顯然其是一個(gè)遞歸結(jié)構(gòu)射富,因此我們先來看一下一階的模塊示意圖【1】,
其中Res就是上面說的Residual Module粥帚,Up Sample就是上采樣胰耗。這個(gè)圖大家應(yīng)該很好理解了~而且可以發(fā)現(xiàn),整一個(gè)圖就是一個(gè)翻版的Residual Module芒涡,而多階的Hourglass Module就是把虛線框中的塊遞歸的替補(bǔ)為一個(gè)一階的Hourglass Module柴灯,這里再盜一張4階的示意圖【1】,
因此整一個(gè)棧結(jié)構(gòu)的Hourglass费尽,就達(dá)到了一種重復(fù)自上而下赠群,自下而上提取特征的目的,當(dāng)然依啰,整個(gè)架構(gòu)的核心關(guān)鍵點(diǎn)就是如何在中間生成的熱圖上去計(jì)算損失(The key to this approach is the prediction of intermediate heatmaps upon which we can apply a loss.)
這里作者是在每一個(gè)Hourglass模塊后面都添加了一個(gè)中間監(jiān)督,用于計(jì)算loss店枣,如下圖所示速警,
而最終的預(yù)測也是在經(jīng)過各個(gè)階段的Hourglass模塊后,再生成的鸯两。因此該預(yù)測的結(jié)果能同時(shí)結(jié)合局部和全局的信息闷旧。至于loss的返向傳播問題,這里我的理解一開始也不到位钧唐,具體看知乎上大神們的討論如下忙灼,
這里也借用論文中的話,來說明運(yùn)用這種棧結(jié)構(gòu)的好處,
Local and global cues are integrated within each hourglass module, and asking the network to produce early predictions requires it to have a high-level understanding of the image while only partway through the full network
還有值得一提的就是该园,Hourglass模塊之間的參數(shù)是不共享的酸舍,但是每一次計(jì)算loss的時(shí)候,用的是一個(gè)GT里初。
至此啃勉,整一套Stacked Hourglass網(wǎng)絡(luò)就已經(jīng)解釋清楚了。
2.2 訓(xùn)練細(xì)節(jié)
具體的訓(xùn)練細(xì)節(jié)本文不展開說了双妨,有興趣的同學(xué)可以深入研究一下淮阐,總的來說問題還是有的,比如多人問題刁品,遮擋點(diǎn)問題等泣特,這里貼一張?jiān)摷軜?gòu)在MPII數(shù)據(jù)集上的表現(xiàn),
------------------第三菇 - 總結(jié)------------------
3.1 總結(jié)
到這里挑随,整篇論文的核心思想已經(jīng)說清楚了状您。本論文主要是提出了一種可以用于人體關(guān)鍵點(diǎn)檢測的Stacked Hourglass網(wǎng)絡(luò)架構(gòu),并實(shí)驗(yàn)證明了其可行性镀裤,為后續(xù)發(fā)展奠定了基礎(chǔ)
簡單總結(jié)一下本文就是先羅列了一下該論文的摘要竞阐,再具體介紹了一下本文作者的思路,也簡單表述了一下暑劝,自己對(duì)整個(gè)Stacked Hourglass網(wǎng)絡(luò)架構(gòu)的理解骆莹。希望大家讀完本文后能進(jìn)一步加深對(duì)該論文的理解。有說的不對(duì)的地方也請(qǐng)大家指出担猛,多多交流幕垦,大家一起進(jìn)步~??
參考文獻(xiàn):
【1】https://zhuanlan.zhihu.com/p/45002720