多视觉任务的全能: HRNet
多視覺任務(wù)的全能: HRNet
HRNet是微軟亞洲研究院的王井東老師領(lǐng)導(dǎo)的團(tuán)隊(duì)完成的,打通圖像分類、圖像分割、目標(biāo)檢測、人臉對(duì)齊、姿態(tài)識(shí)別、風(fēng)格遷移、Image Inpainting、超分、optical flow、Depth estimation、邊緣檢測等網(wǎng)絡(luò)結(jié)構(gòu)。
王老師在ValseWebinar《物體和關(guān)鍵點(diǎn)檢測》中親自講解了HRNet,講解地非常透徹。以下文章主要參考了王老師在演講中的解讀,配合論文+代碼部分,來為各位讀者介紹這個(gè)全能的Backbone-HRNet。
- 引入
網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)思路
在人體姿態(tài)識(shí)別這類的任務(wù)中,需要生成一個(gè)高分辨率的heatmap來進(jìn)行關(guān)鍵點(diǎn)檢測。這就與一般的網(wǎng)絡(luò)結(jié)構(gòu)比如VGGNet的要求不同,因?yàn)閂GGNet最終得到的feature map分辨率很低,損失了空間結(jié)構(gòu)。
傳統(tǒng)的解決思路
獲取高分辨率的方式大部分都是如上圖所示,采用的是先降分辨率,然后再升分辨率的方法。U-Net、SegNet、DeconvNet、Hourglass本質(zhì)上都是這種結(jié)構(gòu)。
雖然看上去不同,但是本質(zhì)是一致的
- 核心
普通網(wǎng)絡(luò)都是這種結(jié)構(gòu),不同分辨率之間是進(jìn)行了串聯(lián)
不斷降分辨率
王井東老師則是將不同分辨率的feature map進(jìn)行并聯(lián):
并聯(lián)不同分辨率feature
map
在并聯(lián)的基礎(chǔ)上,添加不同分辨率feature map之間的交互(fusion)。
具體fusion的方法如下圖所示:
·
同分辨率的層直接復(fù)制。
·
需要升分辨率的使用bilinear upsample + 1x1卷積將channel數(shù)統(tǒng)一。
·
需要降分辨率的使用strided 3x3 卷積。
·
三個(gè)feature map融合的方式是相加。
至于為何要用strided 3x3卷積,這是因?yàn)榫矸e在降維的時(shí)候會(huì)出現(xiàn)信息損失,使用strided 3x3卷積是為了通過學(xué)習(xí)的方式,降低信息的損耗。所以這里沒有用maxpool或者組合池化。
HR示意圖
另外在讀HRNet的時(shí)候會(huì)有一個(gè)問題,有四個(gè)分支的到底如何使用這幾個(gè)分支呢?論文中也給出了幾種方式作為最終的特征選擇。
三種特征融合方法
(a)圖展示的是HRNetV1的特征選擇,只使用分辨率最高的特征圖。
(b)圖展示的是HRNetV2的特征選擇,將所有分辨率的特征圖(小的特征圖進(jìn)行upsample)進(jìn)行concate,主要用于語義分割和面部關(guān)鍵點(diǎn)檢測。
?圖展示的是HRNetV2p的特征選擇,在HRNetV2的基礎(chǔ)上,使用了一個(gè)特征金字塔,主要用于目標(biāo)檢測網(wǎng)絡(luò)。
再補(bǔ)充一個(gè)(d)圖
HRNetV2分類網(wǎng)絡(luò)后的特征選擇
(d)圖展示的也是HRNetV2,采用上圖的融合方式,主要用于訓(xùn)練分類網(wǎng)絡(luò)。
總結(jié)一下HRNet創(chuàng)新點(diǎn):
·
將高低分辨率之間的鏈接由串聯(lián)改為并聯(lián)。
·
在整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中都保持了高分辨率的表征(最上邊那個(gè)通路)。
·
在高低分辨率中引入了交互來提高模型性能。
- 效果
3.1 消融實(shí)驗(yàn)
- 對(duì)交互方法進(jìn)行消融實(shí)驗(yàn),證明了當(dāng)前跨分辨率的融合的有效性。
交互方法的消融實(shí)現(xiàn)
- 證明高分辨率feature map的表征能力
1x代表不進(jìn)行降維,2x代表分辨率變?yōu)樵瓉硪话?#xff0c;4x代表分辨率變?yōu)樵瓉硭姆种弧32、W48中的32、48代表卷積的寬度或者通道數(shù)。
3.2 姿態(tài)識(shí)別任務(wù)上的表現(xiàn)
以上的姿態(tài)識(shí)別采用的是top-down的方法。
COCO驗(yàn)證集的結(jié)果
可以看到上圖用紅色箭頭串起來的是不是和SELayer很相似。為什么說SENet是HRNet的一個(gè)特例,但從這個(gè)結(jié)構(gòu)來講,可以這么看:
·
SENet沒有像HRNet這樣分辨率變?yōu)樵瓉淼囊话?#xff0c;分辨率直接變?yōu)?x1,比較極端。變?yōu)?x1向量以后,SENet中使用了兩個(gè)全連接網(wǎng)絡(luò)來學(xué)習(xí)通道的特征分布;但是在HRNet中,使用了幾個(gè)卷積(Residual block)來學(xué)習(xí)特征。
·
SENet在主干部分(高分辨率分支)沒有安排卷積進(jìn)行特征的學(xué)習(xí);HRNet在主干部分(高分辨率分支)安排了幾個(gè)卷積(Residual block)來學(xué)習(xí)特征。
·
特征融合部分SENet和HRNet區(qū)分比較大,SENet使用的對(duì)應(yīng)通道相乘的方法,HRNet則使用的是相加。之所以說SENet是通道注意力機(jī)制是因?yàn)橥ㄟ^全局平均池化后沒有了空間特征,只剩通道的特征;HRNet則可以看作同時(shí)保留了空間特征和通道特征,所以說HRNet不僅有通道注意力,同時(shí)也有空間注意力。
HRNet團(tuán)隊(duì)構(gòu)建了分類、分割、檢測、關(guān)鍵點(diǎn)檢測等庫,工作量非常大,而且做了很多扎實(shí)的實(shí)驗(yàn)證明了這種思路的有效性。所以是否可以認(rèn)為HRNet屬于SENet之后又一個(gè)更優(yōu)的backbone呢?還需要自己實(shí)踐中使用這種想法和思路來驗(yàn)證。
- 參考
https://arxiv.org/pdf/1908.07919
https://www.bilibili.com/video/BV1WJ41197dh?t=508
https://github.com/HRNet
總結(jié)
以上是生活随笔為你收集整理的多视觉任务的全能: HRNet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小目标检测的增强算法
- 下一篇: 图像实例分割:CenterMask