RefineNet
這個方法在前一段時間是PASCAL VOC 2012排行榜上的第三,現在的第四。
本方法主要想解決的限制是:
多階段的卷積池化會降低最后預測結果圖片的尺寸,從而損失很多精細結構信息。
現有方法的解決辦法:
? 反卷積作為上采樣的操作
反卷積不能恢復低層的特征,畢竟已經丟失了
? Atrous Convolution (Deeplab提出的)
帶孔卷積的提出就是為了生成高分辨率的feature map,但是計算代價和存儲代價較高
? 利用中間層的特征
最早的FCN-8S就是這樣做的,但是始終還是缺少強的空間信息
以上所說方法在我的這篇文章(https://zhuanlan.zhihu.com/p/22308032?group_id=820586814145458176)中都有提到,感興趣的同學可以猛戳,這里就不贅述了。
作者主張所有層的特征都是有用的,高層特征有助于類別識別,低層特征有助于生成精細的邊界。所以有了接下來的網絡結構,說實話我是覺得有點復雜。
網絡結構
可以看見,整個結構其實是類似于FCN-8S的結構的,只是抽出特征更早,而且經過了RefineNet進行處理。
整個流程就是,1/32的feature map輸入RefineNet處理后和1/16的feature map再一起又輸入一個RefineNet優化,后面的過程類似。
RefineNet
可以看出,每個RefineNet的輸入是可以調整的,所以整個網絡的連接也是可以修改的,當然作者做實驗說明在他提出的其他變體中這種連接的效果最好。
Residual Convolution Unit(RCU)
Multi-resolution Fusion
這里將輸入的不同分辨率的feature map上采樣到和最大feature map 等尺寸然后疊加,此處的conv用于輸入的參數自適應。
Chained Residual Pooling
文中提到:
? conv作為之后加和的權重
? relu對接下來pooling的有效性很重要,而且使得模型對學習率的變化沒這么敏感
? 這個鏈式結構能從大范圍區域上獲取背景context
此處不得不提到,這個結構中大量使用了identity mapping這樣的連接,無論長距離或者短距離的,這樣的結構允許梯度從一個block直接向其他任一block傳播。
現在回過頭來看看RefineNet整個網絡結構還是有些復雜的,但是確實還是有一些效果,這種直接將低層特征抽取來優化高層特征的措施可以想象能對結果進行一些優化。但是始終還是覺得這樣的處理有點太復雜了。
接下來看一下RefineNet在PASCAL VOC 2012上測試的結果:
說明圖很好的一篇有關博文:https://blog.csdn.net/kevin_zhao_zl/article/details/84750779
總結
- 上一篇: 目标检测神文
- 下一篇: Pyramid Scene Parsin