語義分割之FCN個人總結
阿新 • • 發佈:2018-12-13
一、網路結構
FCN涉及到了不同尺度的feature map的融合。 融合理由是:低層特徵具有較多的的解析度資訊,更加精細,但語義資訊較弱。高層特徵具有較多語義資訊,然而較粗糙,解析度資訊不足。為了融合語義資訊和細節資訊,對高層的feature map進行反捲積,然後將低層的feature map crop成相同尺寸,最後進行畫素級的相加。
最後,從pool3處融合輸出的feature map進行8倍反捲積,得到原圖尺寸。
損失函式為交叉熵損失。
二、crop layer
layer { name: "score" type: "Crop" bottom: "upscore8" bottom: "data" top: "score" crop_param { axis: 2 offset: 31 } }
crop的原理是這樣的: 兩個bottom,一個作為crop之後的shape[n1,c1,w1,h1],一個作為待crop的feature map[n2,c2,w2,h2]。 axis = 2,表明[n,c,w,h]我們只針對w及w後面的維度進行crop,說白了就是平面crop。 offset = 31,表明我們從w2後面第31個畫素開始crop,取w1個畫素;同理從h2後面第31個畫素開始crop,取h1個畫素。
三、deconvolution
反捲積初始化值為雙線性插值,並且引數可以學習。 而最後一層反捲積,則固定為雙線性插值。 反捲積的forward就是卷積的backward。反捲積的backward就是卷積的forward。
四、度量標準(Evalueate Metric)
先介紹幾個表達形式: nij: 表示屬於第i類但是被預測為第j類的畫素數。 ncl: 表示類別數 表示第i類的畫素總數。
常用的度量標準是: mean IU. 即預測值與GT的交併比。
五、問題
FCN沒有考慮畫素之間的聯絡,孤立的對每個畫素進行分類。