本文作者提出了一個這樣的架構:
這樣的一個架構作者把他命名為EDeconveNet,這個架構有兩部分組成一個是 convolution networks 一個是deconvolution network。
本文提出了FCN在圖像語義分割的時候主要注重物體的整體輪廓,而忽略了細小的特征,本文正是修正了這一缺點。
在convolution network中我們提取high-level semantic imformation,由于卷積和pooling層的使用,此時雖然會得到語義資訊,但是同時也會損失掉localization imformation,這也是卷積網絡在semantic segmentation中的一個無法避免的地方,是以CNN非常适用與classification而不能直接應用于senmantic segmentation。但是在本文中提出了一個很好的pooling方法,如下圖:
在進行pooling的時候,用一個switch variables進行存儲activations的位置資訊這樣在進行unpooling的時候就可以很好的進行還原,localization imformation的缺失降低到最小。
在decovolution network中主要起的作用就是upsampling。
在training過程中作者也是用了一些小技巧使網絡能夠在小樣本上訓練,作者在每一層都加了Batch Normalization的過程,訓練分為兩步:第一步使用一些比較容易的的訓練樣本訓練網絡。比如手工指定proposal的位置,背景不複雜的圖檔等,在第二步中,為了能夠使網絡達到instance-wise的效果,作者使用較難的樣本對網路進行fine-tune。
Ensemble with FCN
将FCN對于能夠很好的擷取整體結構,對于EDeconveNet能夠很好的擷取細節資訊,将這兩種方法融合得到了最好效果。
Instance-wise Segmentation:
把每張圖檔截切為很多子圖檔,每張圖檔包含一個執行個體。每張子圖檔進行輸入,得到分割結果,再把這些結果聚合起來,得到整張圖檔的分個圖
注:個人了解這裡的子圖檔是由于你在convolution network中用不同的kernel對原圖檔進行卷積,不同的卷積核會選取不同的圖檔上的objects,進而會産生很多子圖檔。