解決的問題:(FCN)
Mismatched Relationship: 比對關系錯誤,如将在水中的船識别為車。
Confusion Categories: 模糊的分類,如 hill 和 mountain的區分。
Inconspicuous classes: 無視小尺寸物品。
這些錯誤與語義間的關系以及不同感覺區域的全局資訊有關。
通常情況下,我們可以粗略認為,卷積層卷積核大小(感覺域)能夠表示結構考慮了多大範圍的context。然而,在研究中表面,卷積層實際感覺域小于理論。是以,很多結構并不能很好地表現全局資訊。(即進行分割任務的時候,不能很好的利用全局資訊來限制分割效果)
PSPNet 結構

上圖結構首先将輸入圖檔(a)用<code>ResNet</code>提取成特征圖(b)。
通過pyramid pooling modules 來進行不同尺寸的池化。文章中将特征圖大小分别池化為:<code>1x1,2x2,3x3,6x6</code>。并通過一個卷積層将每個特征通道數變為feature map通道數的<code>1/N</code>,其中N為級數,此時N=4。
最後将池化結果上采樣(文中使用了雙線性插值),與特征圖(b)連接配接後,通過卷積層輸出結果。
這個結構與FCN不同的是,它通過pyramid的池化層考慮了不同尺寸的全局資訊。而在FCN中隻考慮了某一個池化層,如FCN-16s 隻考慮pool4。
輔助loss
文中還提到了為了訓練使用了一個輔助的loss,網絡越深性能越好,但是也越難訓練.(ResNet solves this problem with skip connection in each block”。作者在網絡中間引入了一個額外的loss函數,這個loss函數和網絡輸出層的loss pass through all previous layers,圖示如下
其中loss1是最終的分割loss(softmax_loss),loss2是添加的輔助loss,二類分交叉熵函數,(多分類問題)
實作細節
圖檔輸入的CNN是ResNet,使用了dilated convolution
Pyramid Pooling Module中的conv是1×1的卷積層,為了減小次元和維持全局特征的權重
Pyramid Pooling Module中的pooling的數量以及尺寸都是可以調節的
上采樣使用的雙線性插值
poly learning rate policy
資料擴增用了:random mirror, random resize(0.5-2), random rotation(-10到10度), random Gaussian blur
選取合适的batchsize