Stacked Hourglass 筆記

Stacked Hourglass 論文:Stacked Hourglass Networks for Human Pose Estimation

Stacked Hourglass 為 Hourglass 網(wǎng)絡(luò)結(jié)構(gòu)的延伸蛔翅。論文中的網(wǎng)絡(luò)被用于人體位姿關(guān)鍵點(diǎn)預(yù)測(cè),直觀上一個(gè)關(guān)鍵點(diǎn)的位置應(yīng)該和其它關(guān)鍵點(diǎn)相關(guān)吠撮,所以 Stacked Hourglass 的設(shè)計(jì)思路是:網(wǎng)絡(luò)不同的輸出之間能夠顯式地相互影響名挥。它的思想可以應(yīng)用于許多圖到圖的預(yù)測(cè)網(wǎng)絡(luò)中葫隙。

Stacked Hourglass 的成功證明娄帖,重復(fù)的 top-down,bottom-up 處理麦撵,以及中繼監(jiān)督策略對(duì)于網(wǎng)絡(luò)的性能有著很關(guān)鍵的提升上遥。


Stacked Hourglass結(jié)構(gòu)示意圖


人體位姿預(yù)測(cè)

在人體位姿預(yù)測(cè)中搏屑,一個(gè)重要的過(guò)程是預(yù)測(cè)每個(gè)人體關(guān)鍵點(diǎn)的位置:輸出它們?cè)谙袼氐燃?jí)上的準(zhǔn)確位置。

一個(gè)優(yōu)秀的人體位姿預(yù)測(cè)系統(tǒng)粉楚,需要對(duì)圖像的變形辣恋、遮擋、出界等問(wèn)題表現(xiàn)出魯棒性模软,并且在比較奇葩的姿勢(shì)上也能有好的效果伟骨,需要與其它外在因素——如衣著、光線等——無(wú)關(guān)燃异。

輸出設(shè)計(jì)

Stacked Hourglass 網(wǎng)絡(luò)的最終輸出為一組 heatmap携狭,它的每個(gè)維度對(duì)應(yīng)一個(gè)人體關(guān)鍵點(diǎn),每個(gè)維度上的個(gè)個(gè)像素值表示了該關(guān)鍵點(diǎn)位于這個(gè)像素處的概率回俐。很明顯逛腿,這需要一個(gè)能夠進(jìn)行 pixel-to-pixel 預(yù)測(cè)的網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。


Hourglass

一些網(wǎng)絡(luò)采用多 pipeline 的結(jié)構(gòu)以處理不同尺度上的特征(如YOLO2)仅颇,在這種結(jié)構(gòu)下单默,不同尺度上的特征是互不相關(guān)的。

Hourglass(沙漏網(wǎng)絡(luò)結(jié)構(gòu))被設(shè)計(jì)以用來(lái)捕捉圖像在不同尺度等級(jí)上的特征忘瓦,但它在各尺度上的特征是相關(guān)的搁廓,它通過(guò)跳線的方式來(lái)結(jié)合不同尺度上的特征。

一階 Hourglass

一階 Hourglass:圖中淺綠色的圓角矩形為余差塊政冻。特征圖輸入兩個(gè)支路枚抵。上面一個(gè)支路正常提取特征线欲;下面一個(gè)支路先做下采樣(Pooling)將特征圖尺度減小到一半明场,再提取特征,再做上采樣(可以用反卷積李丰,也可以用插值法上采樣等苦锨,論文中采用臨近插值)恢復(fù)特征圖原大小。最后這兩個(gè)支路在 Channel 上連接(論文中采用的是每個(gè)元素直接相加)到一起。通過(guò)一階Hourglass舟舒,相當(dāng)于在兩個(gè)不同的尺度上提取了特征圖信息拉庶。

注意圖中被虛線框起來(lái)的地方,此時(shí)里面是一個(gè)余差塊秃励。

二階Hourglass

二階 Hourglass:將一階 Hourglass 中虛線部分替換為另一個(gè)一階 Hourglass氏仗,即構(gòu)成二階 Hourglass《嵯剩可見(jiàn)皆尔,二階 Hourglass 能夠在三個(gè)不同的尺度上提取特征圖信息。

四階Hourglass

以此類推币励,能得到任意階數(shù)的 Hourglass 結(jié)構(gòu)慷蠕。注意不論 Hourglass 的階數(shù)為多少,它都被看作是一個(gè)單個(gè)的 Hourglass食呻。

設(shè)計(jì)細(xì)節(jié)

Stacked Hourglass 論文中所有的 Hourglass 都采用四階流炕,也就是說(shuō),網(wǎng)絡(luò)能夠考慮到四個(gè)不同尺度上的特征仅胞,且特征圖最小會(huì)變成原始尺寸的 1/8(所以輸入圖像的尺寸最好應(yīng)能夠被 8 整除)每辟。在每個(gè) Hourglass 的輸出處,都加了兩個(gè) 1×1 的卷積層干旧,以預(yù)測(cè)人體關(guān)鍵點(diǎn)的一組 heatmap影兽。網(wǎng)絡(luò)的其它部分采用的卷積核大小統(tǒng)一為 3×3。余差塊結(jié)構(gòu)如下圖所示莱革。

余差塊

在輸入圖像(256×256)輸入 Hourglass 之前峻堰,先通過(guò)帶 stride 的卷積,和池化操作盅视,下采樣到(64×64)捐名。這么做的原因是,不下采樣的話 GPU 內(nèi)存不夠用闹击∠馓#可見(jiàn)在 Hourglass 的大量并行通路下,其缺點(diǎn)在于龐大的運(yùn)算開(kāi)銷赏半。


Stacked Hourglass

單個(gè) Hourglass 能夠做到提取特征圖在不同尺度上的信息贺归,但是仍然不能在預(yù)測(cè)時(shí)(顯式地)考慮不同關(guān)鍵點(diǎn)之間的關(guān)系。所以才需要進(jìn)一步設(shè)計(jì) Stacked Hourglass断箫。

中繼監(jiān)督

中繼監(jiān)督的思想在更早的網(wǎng)絡(luò)里就已經(jīng)被提出了拂酣。GoogLeNet V1 就在網(wǎng)絡(luò)中部和中后部額外設(shè)置了全連接層分類支路,和最終的輸出一樣仲义,這些支路對(duì) Loss 有一定的貢獻(xiàn)婶熬。當(dāng)時(shí)的想法是剑勾,由于深層網(wǎng)絡(luò)的多次下采樣操作,一定尺度上的特征信息會(huì)丟失赵颅,所以才設(shè)計(jì)了這些中繼監(jiān)督位點(diǎn)虽另。與 Stacked Hourglass 不同,GoogLeNet 中的這些中繼監(jiān)督位點(diǎn)的輸出并沒(méi)有再返回網(wǎng)絡(luò)里饺谬。

Stacked Hourglass 的堆疊結(jié)構(gòu)和中繼監(jiān)督

Stacked Hourglass 將總共 8 個(gè) Hourglass 首尾相連捂刺。在每個(gè) Hourglass 末尾的第一個(gè) 1×1 卷積層后,分支出一個(gè)用于 heatmap 預(yù)測(cè)的 1×1 卷積層(下圖中藍(lán)色部分)募寨,此處可以與 Ground Truth? 進(jìn)行比較叠萍,并得到一個(gè) Loss 。之后绪商,預(yù)測(cè)結(jié)果會(huì)被重新通過(guò) 1×1 卷積苛谷,將維度調(diào)整到和中間特征相同,然后與中間特征按元素相加格郁。

按元素相加雖然直觀上看比較奇怪腹殿,但實(shí)際上,concatenate到一起之后例书,再通過(guò)一次卷積降維锣尉,那次卷積的最后其實(shí)也是按元素相加的操作。所以這里直接按元素相加决采,可以當(dāng)作之前的卷積層已經(jīng)得到了可相加的特征自沧,這并沒(méi)有什么不妥。

Hourglass連接方式(怎么沒(méi)說(shuō)虛線是什么意思...)

直觀上树瞭,將中繼監(jiān)督點(diǎn)的輸出重新返回網(wǎng)絡(luò)中拇厢,起到了一種“讓網(wǎng)絡(luò)對(duì)當(dāng)前的特征和預(yù)測(cè)結(jié)果進(jìn)行再評(píng)估”的作用。通過(guò)重復(fù)地將多個(gè) Hourglass 和中繼監(jiān)督串聯(lián)晒喷,網(wǎng)絡(luò)能夠顯式地學(xué)習(xí)每個(gè)預(yù)測(cè)目標(biāo)之間的關(guān)系孝偎,越靠后的預(yù)測(cè)越能夠結(jié)合所有關(guān)鍵點(diǎn)的位置信息,做出更準(zhǔn)確的關(guān)鍵點(diǎn)位置預(yù)測(cè)凉敲。有了這種特性衣盾,網(wǎng)絡(luò)就基本不會(huì)預(yù)測(cè)出一些從解剖學(xué)上不成立的人體姿勢(shì)。

這個(gè)堆疊結(jié)構(gòu)是 Stacked Hourglass 的主要?jiǎng)?chuàng)新點(diǎn)爷抓。提出的思路也很直接:首先需要加入中繼監(jiān)督進(jìn)行中間的預(yù)測(cè)势决,但是如果只有一個(gè) Hourglass,中繼監(jiān)督放哪里比較好蓝撇?放到前端考慮不到全局信息果复,放到后面又沒(méi)有機(jī)會(huì)進(jìn)行再評(píng)估。喔唉地,不如多來(lái)幾個(gè) Hourglass 串聯(lián)在一起据悔,每個(gè) Hourglass 的輸出處設(shè)一個(gè)中繼監(jiān)督吧。


訓(xùn)練細(xì)節(jié)

訓(xùn)練集

訓(xùn)練集使用了 FLIC 和 MPII Human Pose 兩個(gè)訓(xùn)練集內(nèi)的樣本耘沼。MPII 的樣本中有可能有很多人存在极颓,但 Stacked Hourglass 網(wǎng)絡(luò)被用于預(yù)測(cè)單個(gè)人物的關(guān)鍵點(diǎn),這通過(guò)在 MPII 的訓(xùn)練集中群嗤,只取最靠中間的任務(wù)的關(guān)鍵點(diǎn)作為樣本來(lái)實(shí)現(xiàn)菠隆。所有訓(xùn)練集均被裁剪、變形至 256×256 尺寸狂秘。

注:涉及到多個(gè)人物的關(guān)鍵點(diǎn)預(yù)測(cè)骇径,最好采用 Mask R-CNN 的 pipeline。

數(shù)據(jù)增強(qiáng)

隨機(jī)對(duì)樣本做了 ±30° 以內(nèi)的旋轉(zhuǎn)者春,和 ±25% 幅度的縮放破衔。沒(méi)有做平移,因?yàn)榫W(wǎng)絡(luò)需要預(yù)測(cè)在圖像正中間的人物钱烟。

損失函數(shù)

每個(gè)關(guān)鍵點(diǎn)的 Ground Truth 定義為以該關(guān)鍵點(diǎn)為峰值位置的 2D 高斯函數(shù)晰筛。Loss Function 定義為 Ground Truth 與預(yù)測(cè)得到的 heatmap 之間的均方誤差。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拴袭,一起剝皮案震驚了整個(gè)濱河市读第,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拥刻,老刑警劉巖怜瞒,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異般哼,居然都是意外死亡吴汪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蒸眠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)浇坐,“玉大人,你說(shuō)我怎么就攤上這事黔宛〗酰” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵臀晃,是天一觀的道長(zhǎng)觉渴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)徽惋,這世上最難降的妖魔是什么案淋? 我笑而不...
    開(kāi)封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮险绘,結(jié)果婚禮上踢京,老公的妹妹穿的比我還像新娘誉碴。我一直安慰自己,他們只是感情好瓣距,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布黔帕。 她就那樣靜靜地躺著,像睡著了一般蹈丸。 火紅的嫁衣襯著肌膚如雪成黄。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天逻杖,我揣著相機(jī)與錄音奋岁,去河邊找鬼。 笑死荸百,一個(gè)胖子當(dāng)著我的面吹牛闻伶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播够话,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼虾攻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了更鲁?” 一聲冷哼從身側(cè)響起霎箍,我...
    開(kāi)封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎澡为,沒(méi)想到半個(gè)月后漂坏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡媒至,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年顶别,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拒啰。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驯绎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谋旦,到底是詐尸還是另有隱情剩失,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布册着,位于F島的核電站拴孤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏甲捏。R本人自食惡果不足惜鸽扁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一钾唬、第九天 我趴在偏房一處隱蔽的房頂上張望膛檀。 院中可真熱鬧,春花似錦兄纺、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至获三,卻和暖如春旁蔼,著一層夾襖步出監(jiān)牢的瞬間锨苏,已是汗流浹背疙教。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伞租,地道東北人贞谓。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像葵诈,于是被迫代替她去往敵國(guó)和親裸弦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容