【論文閱讀】HRNetV2論文筆記

Titile: High-Resolution Representations for Labeling Pixels and Regions
論文地址:https://arxiv.org/pdf/1904.04514.pdf
代碼地址:https://github.com/HRNet/HRNet-Object-Detection


1. 1. 概述

基於深度學習的特徵表示在計算機視覺任務中通常分爲兩類:低分辨率表示(low-resolution representations)和高分辨率表示(high-resolution representations),他們分別應用於不同的任務。低分辨表示主要應用在圖像分類,而高分辨對很多其他的視覺任務非常重要,例如:語義分割,目標檢測和姿態識別等。本篇論文是通過網絡結構的改造來獲取圖像的高分辨表示來更好的完成後一項任務。

目前有兩種主要的方法來獲取高分辨率表示:

  1. 從網絡(例如,ResNet)輸出的低分辨率表示恢復高分辨率表示,或從可選的中間中等分辨率表示中恢復高分辨率表示,如Hourglass,SegNet,DeconvNet,U-Net,encoder- decoder等。其實就是從down-sampling後獲取的feature map中再upsample來獲得高分辨表示。

  2. 通過高分辨率卷積保持高分辨率表示,並通過並行低分辨率卷積加強表示。

此外,空洞卷積(dilated convolution)也被用於替代分類卷積和分類網絡中相關的常規卷積來計算中等分辨率表示。

作者沿着第二種路線,基於作者之前的文章:K. Sun, B. Xiao, D. Liu, and J. Wang. Deep high-resolution representation learning for human pose estimation. In CVPR,2019 進行改進。之前這篇文章所述的網絡結構被稱爲HRNetV1,HRNetV1通過並行連接高分辨率卷積並在並行卷積中重複進行多尺度融合來維持高分辨率表示。由此產生的高分辨率表示不僅強大而且空間精確。而在本篇論文中,作者通過簡單修改HRNetV1的模型結構得到了更強的高分辨表示,且只增加了很小的計算開銷,稱爲HRNetV2。並給出了面部特徵識別,目標檢測和語義分割的實驗結果。

在語義分割任務中,作者所提出的方法在使用具有相似模型大小和較低計算複雜度的情況下,在PASCAL Context,Cityscapes和LIP上得到了最先進的結果。在面部特徵檢測中,作者的方法在以下四個標準數據集上實現了總體最佳結果:AFLW,COFW,300W和WFLW。


2. 2. 網絡結構

高分辨特徵表示
在這裏插入圖片描述
在這裏插入圖片描述

多分辨塊(Multi-resolution block)

如圖 Figure 2 所示,一個多分辨塊由一個多分辨羣卷積(group convolution)和一個多分辨卷積組成。多分辨羣卷積,如圖Figure 2(a)所示,是羣卷積的一個簡單擴展,它將輸入通道分成了幾組,並在不同空間尺度和每組之間分別應用常規卷積。多分辨卷積,即如圖 Figure 2(b) 中所示的,像常規卷積一樣以全連接的方式將不同分支連接起來。但有兩點不同的是,1) 多分辨卷積的通道間存在不同分辨率,2) 輸入和輸出通道間的連接因分辨率不同需要降低或提高分辨率,分辨率的降低通過一個或多個步長爲2卷積核尺寸爲3x3的卷積實現,分辨率的提高通過雙線性插值的上採樣實現。

將輸入通道劃分成組進行卷積的方法可以參考論文:T. Zhang, G. Qi, B. Xiao, and J. Wang. Interleaved group convolutions. In ICCV, pages 4383–4392, 2017.

瞭解了多分辨塊,再來看看如圖 Figure 1 所示的HRNet的基礎結構,它分爲4個部分,第2,3,4部分通過重複模塊化的多分辨塊組成。


修改

在原始的HRNetV1網絡中,只取了一個高分辨特徵表示作爲輸出,如Figure 3(a) 所示,這意味着只有高分辨卷積的特徵被保留了下來。因此,作者探索了將其他幾個低分辨卷積也作爲特徵表示輸出。這樣做的好處是將多分辨卷積都應用起來了,而且只能加了很少的參數和計算量。

對於分辨率較低的層,作者對其應用雙線性插值上採樣至高分辨,並將得到的上採樣過的特徵表示concat連接起來得到HRNetV2。爲了應用於目標檢測任務,還對concat後的特徵表示做了後續處理得到了HRNetV2p。如圖Figure 3(b)©所示。

HRNetV2: 將網絡的四種分辨率輸出中的低分辨輸出進行雙線性上採樣到高分辨輸出的尺寸,並將這四種高分辨輸出連接起來作爲高分辨的特徵表示,這個特徵表示用在了語義分割,面部特徵檢測等。不同分辨率間的特徵融合採用的是1x1卷積。

HRNetV2p: 對於目標檢測任務,作者採用的是多級特徵表示。方法是利用平均池化下采樣上一步得到的高分辨特徵表示,從而得到較低分辨的另外三種特徵表示。

在這裏插入圖片描述

網絡結構

  1. 先是兩個stride=2的3x3卷積將輸入圖像分辨率降採樣至1/4。

  2. stage 1有4個residual單元,每個單元由width爲64的bottleneck和緊隨其後的一個3x3卷積將feature map的width減少爲C組成,這裏的width其實就是通道數。

  3. stage 2,stage 3和stage 4分別包含1,4和3個多分辨塊。對於每個多分辨塊的四個不同分辨率的卷積,其通道數分別爲C,2C,4C和8C。

  4. 多分辨羣卷積的每一個分支包含4個residual單元,每個單元在每個分辨率中包含兩個3x3卷積。

想進一步瞭解網絡結構,可以參考作者在github的開源代碼,其實現基於mmdetection(這個東西好啊,實現想法的效率槓槓的,有空研究下)。

在實際應用中,對語義分割和麪部特徵檢測任務,作者採用如圖Figure 3(b)所示的結構,通過使用1x1卷積來融合四個不同分辨率的feature map,從而產生具有15C通道數的特徵表示。將每個位置的混合表示傳遞給具有softmax/MSE損失的線性分類器/迴歸器,以預測分割maps/面部特徵heatmaps。對於語義分割,通過用於訓練和測試的雙線性上採樣,將分割圖上採樣(4倍)到輸入大小。對目標檢測任務,與FPN類似,在組成特徵金字塔前,通過1x1卷積將高分辨特徵的通道數減少爲256。


3. 3. 實驗結果

如Table 2所示,在Cityscapes數據集上對比了HRNetV2-W48與當前的sota算法。在train訓練集和train+val訓練集上,HRNetV2-W48取得了最佳效果,並比之前的sota算法高出1個點。

在這裏插入圖片描述

Table 5-7是在COCO上的檢測結果,可以看到,HRNetV2p的模型大小計算複雜度都較小。在LS=1x時,HRNetV2p-W32優於ResNet-101-FPN,HRNetV2p-W18比ResNet- 50-FPN差一些。在LS=2x時,HRNetV2p-W18和HRNetV2p- W32的表現都更好些。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

如Table 8所示,在COCO test-dev上,基於Faster R-CNN和Cascade R-CNN的框架,都得到了更好的結果。

在這裏插入圖片描述


4. 4. 經驗分析

如圖Figure 4(a)和(b)中給出的分割和目標檢測結果表明HRNetV2明顯優於HRNetV1,除了對Cityscapes分割的大模型情況下增益較小。作者還測試了一個變體(由HRNetV1h表示),它是通過附加1x1卷積來增加輸出高分辨率表示的維度而構建的。Figure 4(a)和4(b)中的結果表明,該變體實現了對HRNetV1的稍許改進,這意味着聚合HRNetV2中低分辨率並行卷積的表示對於提高網絡能力至關重要。
在這裏插入圖片描述


END - END -

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章