論文閱讀筆記十三:The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation(FC-DenseNets)(CVPR2016)


 

 

論文鏈接:https://arxiv.org/pdf/1611.09326.pdf

tensorflow代碼:https://github.com/HasnainRaz/FC-DenseNet-TensorFlow

實驗代碼:https://github.com/fourmi1995/IronSegExperiment-FC-DenseNet.git

摘要

       經典的分割結構大致由以下部分構成:(1)用於提取粗略特征的下采樣過程。(2)可訓練的上采樣通道,用於將模型的輸出至輸入圖片大小的分辨率。(3)可選擇的加上一個后處理過程,來增強分割邊緣,像CRF等。

       一種新型的CNN結構DenseNet,其主要思想是在網絡的前向傳播過程中,每一層網絡與其他各層都直接相連,大大提高了網絡的准確率,同時,使網絡也更易訓練。本文,對DenseNet進行改進用於分割任務,此改進網絡並沒有后處理模型,同時,由於DenseNet結構的優點,改進后的網絡現有的模型也具有更少的參數。

介紹

       網絡很深的CNN在一些標准benchmarks上表現出驚人的效果,但網絡由於連續的卷積池化操作大大減少了圖像的輸入分辨率。FCNs在標准的CNN上增加上采樣,來實現模型輸出的分辨率恢復(輸入分辨率的大小)。因此,FCNs可以處理任意尺寸大小的圖片。FCNs通過在下采樣與上采樣之間引入跳躍結構來恢復分辨率上的損失。

       ResNet通過增加一個殘差塊(將輸入的非線性變換與輸入相加)來優化深層網絡的訓練過程。改進ResNet通過引入shortcut paths變為FCN,提高了分割的准確率,同時也加速了模型的收斂。

       DenseNet可以看作是ResNet的改進,由dense block和池化操作組成。dense block 由上幾層網絡的feature maps進行拼接而成。 改進后,DenseNet有如下幾個效果:(1)更加有效的利用模型的參數。(2)簡介的深層監督,通過引入short paths來實現深層監督。(3)feature resue:通過跳躍結構引入前幾層網絡的feature map及不同尺寸的信息。

       該文將DenseNet引入上采樣通道,來恢復輸入feature map的分辨率,而這樣做的一個缺點是在softmax層前引入大量難以處理的高分辨率feature map,而且,會有大量的filters與feature map進行卷積操作,大大增加了計算量和參數。因此,該文只對dense block后的feature map進行upsampling ,從而在上采樣的過程中,每種分辨率的feature map上在不依賴池化層數量的基礎上允許有大量的dense block。上采樣中的dense block組合相同分辨率下的另一個dense block的特征信息。更高分辨率的信息通過上下采樣通道之間的跳躍結構進行連接。網絡結構如下,該文貢獻:

                                          (1)改進DenseNet結構為FCN用於分割,同時緩解了feature map數量的激增。

                                          (2)根據dense block提出的上采樣結構,比普通的上采樣方式效果好很多。

                                          (3)該模型不需要預訓練模型和后處理過程。

 

 相關工作

        分割網絡結構上的改進有:(1)改進上采樣過程,同時增加全卷積網絡內的連接。(2)增加可以獲得上下文信息的模型。(3)讓FCN具有結構化輸出的能力。

         (1)不同的方法用於分辨率的恢復,從雙線性插值,上采樣,到轉置卷積,下采樣與上采樣之間的跳躍結構也可以獲得一個更好的恢復效果。

         (2)分割網絡中利用更多的上下文信息,一種非監督的全局圖像描述因子經計算后添加到每個像素的feature map中。RNN從水平和垂直兩個方向上進行旋轉過的圖片中重新提取語義信息。在CNN后端的池化層用空洞卷積進行替換,從而在不減少圖像尺寸的條件下捕捉更多的語義信息。

         (3)條件隨機場CRF在增強分割網絡輸出的結構連續性上有着較大的影響,同時,近年來,也引入了RNN來近似CRF的優化效果,同時,允許FCN與RNN進行端到端的聯合訓練。

         (4)目前的分割網絡仍依賴於預訓練的模型(VGG or  ResNet)進行訓練。

 

方法

      全卷積DenseNets:FCNs主要由上采樣,下采樣及跳躍結構構成。該文主要針對DenseNet進行改進,並在網絡的上采樣過程中進行了處理避免feature map 數量激增。該文首先回顧了DenseNets,提出了上采樣通道並介紹了他的優點。

      DenseNets: x_l 為第l層網絡的輸出,將上一層網絡的輸出進行H非線性處理(ReLU或者dropout),得到最終的輸出結果。

      訓練較深的網絡會產生梯度彌散的情況,ResNet因此引入了殘差塊,可以將輸入與非線性處理后的feature map進行相加處理,進而可以重新利用前面網絡的feature map,同時保證前幾層網絡的梯度可以直接進行傳播。注意這里的H代表的意義是,ResNet中重復2到3個由BN,ReLU,和卷積層組成的dense block形式的非線性操作。

      DenseNets的連接模式更加密集,將網絡前向過程中的每一個feature map都進行拼接,從而可以使每一層都可以直接接受訓練信息,最終,第l層的輸出如下,H代表BN,RelU,卷積,DropOut等非線性操作。第l層網絡輸出由k個feature map,這里,k代表一個參數,所以,DenseNets深度的增加,feature maps的數量也是呈線性的上升。通過一個1x1的卷積與一個大小為2x2的pooling操作組合進而減少feature map空間上的數量。

      Dense block 的功能使輸入feature map,然后輸出新的feature map,結構如下,將通道數m的圖片輸入第一層網絡后,得到通道數為k的featur map ,記為x1,然后與通道數為m的輸入x0,進行拼接為[x0,x1],送入到下一層網絡中。也得到通道數為k的feature map。這一個dense block中重復n次操作,最終,一個dense block得到n*k個feature map。

      將DesneNets結構組成FC-DenseNet的上采樣通道。  下采樣過程中,feature map 的數量在增長,但每個feature map經過池化后空間分辨率會有所下降。下采樣的最后一層通常是網絡的中間部分。

      為了恢復輸入尺寸的分辨率,FC-DenseNet將卷積操作替換為Desne block和一個上采樣操作,其中,這里包含着一個轉置卷積用於對以前的feature map上采樣。上采樣后的feature map與跳躍結構的輸出進行級聯,然后作為新的dense block的輸入。由於上采樣過程增加了feature map的空間分辨率,同時,feature map的數量也不少,大大增加了內存的壓力,特別是在soltmax前需要輸入全部feature map的分辨率。因此,上采樣通道的Dense block的輸入並不與block輸出進行級聯,減少空間維度。因此,轉置卷積只是在最后一個Dense blokc應用,並沒有對所有feature map產生效果。同時,最后一層Desne block結合前幾個Dense block相同分辨率信息的feature mapde 信息。在下采樣通道中,feature map的信息會有所損失,但通過跳躍結構可以盡可能的利用所有可利用的feature maps。

     該文將DenseNet103改進用於分割任務。定義了Desne Block Layer,下變換,上變換,結構組成如下,block layer的輸出通道為16

     網絡的整體結構層數說明:

             

          最后經過上采樣通道,將feature map的通道數降為256,通過像素級的交叉熵損失進行訓練。

實驗

      在CamVid與Gatech兩個數據集上進行實驗。

      初始化:HeUniform,

      優化方法:RMSprop,

      learning rate: 1e-3,

      exponential decal:0.995,

      weight decay:1e-4,

      對圖片進行隨機裁剪與旋轉進行數據增強。

     

 

 

 

 

 

Reference

           [1] V. Badrinarayanan, A. Kendall, and R. Cipolla. Segnet: A deep convolutional encoder-decoder architecture for image segmentation. CoRR, abs/1511.00561, 2015.

           [2] G. J. Brostow, J. Shotton, J. Fauqueur, and R. Cipolla. Segmentation and recognition using structure from motion point clouds. In European Conference on Computer Vision (ECCV), 2008.

          [3] L. Castrejon, Y. Aytar, C. Vondrick, H. Pirsiavash, and A. Torralba. Learning aligned cross-modal representations from weakly aligned data. CoRR, abs/1607.07295, 2016.   

個人實驗結果  

                         

 

 

      

 


免責聲明!

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



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