Res2net:多尺度骨干網絡結構


《Res2Net: A New Multi-scale Backbone Architecture》

來自:南開大學程明明組

 論文:https://arxiv.org/abs/1904.01169

>多尺度的信息

首先一張圖片里物體可能有不同的大小,例如沙發和杯子就是不同大小的,第二,必要的上下文信息可能所占的面積要大於物體本身。例如,我們需要根據大桌子的信息來更好的確定桌上的是個杯子或是筆筒。第三點,對細精度分類和語義分割,理解局部,觀察不同尺度下的信息是有必要的。

 

Alexnet按順序堆疊卷積並得到比傳統方法取得顯著的效果。然而,由於網絡深度和卷積核大小的限制,alexnet只有很小的感受野。

VGGnet增加了網絡深度並使用更小的卷積核。更深的網絡結構可以擴大感受野,從更大的尺度提取特征。通過堆疊更多大卷積核的層,是一種更容易擴大感受野的方法。VGG比Alexnet有更少的參數更強的表達能力。但是都是線性堆疊卷積,只能表達不靈活的感受野。

Googlenet采用並行的不同尺度的卷積來增強多尺度的表達能力。但是有受限於計算資源。因此多尺度表征的策略任然沒能更大范圍的感受野。

Resnet引入短連接,因此在有更深的網絡結構的同時緩解了梯度消失的問題。特征提取的過程,短連接讓不同的不同卷積相結合。類似的,densenet里的密集連接也使得網絡能夠處理一個很大范圍的尺度。

 

殘差塊里頭又有殘差連接,所以取名res2net

 

 >Res2Net的bottleneck模塊

 

yi表示Ki()的輸出。 子特征xi和Ki-1()的輸出加在一起,然后送入Ki()。 所有的分塊拼接后在送入1*1的卷積。分塊在拼接的策略能增強卷積更有效處理特征。 為了在增加s的同時減少參數,我們不對x1進行卷積。更大的s一般對應更強的多尺度的表達能力。(這樣子y1,y2,y3,y4就擁有不同尺度的特征)

>Res2Net + 其他模塊

 

1、中間的3x3卷積可以替換成c組卷積操作。 (ResNeXt)

2、實驗也說明了能夠通過SE進一步提高效果

>實驗設置:

1、框架:都是用pytorch (代碼還未開源)

2、在imagenet數據集上SGD,

3、weightdecay設為0.0001,momentum設為0.9,初始學習率是0.1, 每隔30個epoch*0.1.每個模型都是訓練100個epoch;

4、環境:4 Titan Xp GPUs

>實驗結果

ImageNet上的實驗:

Table1,table2 res2net在image上top-1和top-5都有1~2%的提升。

 

Table3 驗證尺度的有效性, 保持計算復雜度,隨着尺度增加精度不斷提升。 Res2Net-50在ImageNet數據集不同規模測試錯誤率結果。其中參數w為卷積寬度(通道數吧),s為scale

 

不同模塊組合的對照結果()

不同維度的對照試驗(cifar100上的實驗)

 

c是基數維度(參照ResNeXt)

可以看到網絡深度提升效果較差

(1)s=2的的地方比增加基數的效果差, 在s=2時只能通過增加1*1卷積來增加模型性能。

(2)s=5,6效果提升有限。 因為cifar100圖片大小32*32沒有很多尺度(那在imagenet上呢?)。

 

類別響應圖Class activation mapping

響應圖更集中在小目標上。 中等大小的物體上,兩者效果差不多。 大的物體上res2net就響應圖包含整個物體。

下面的實驗都是將backbone換成res2net

1)目標檢測應用

Faster -Rcnn: ResNet-50 vs. Res2Net-50進行對比。小目標 中目標 大目標:都有提升 voc & coco 數據集上 AP 都有2%的提升

2)語義分割應用

數據集:PASCAL VOC12 10582 訓練圖片 and 1449驗證圖片

實驗方法: Deeplab v3+

3)實例分割

數據集:coco

Mask-RCNN上:resnet-50 vs res2net-50

 

4)顯著性檢測(Salient Object Detection)  

ResNet-50 和Res2Net-50的顯著目標檢測結果對比

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM