图像目标分割_3 SegNet + U-Net
6.3.1 SegNet背景
SegNet的主要?jiǎng)訖C(jī)是場(chǎng)景理解的應(yīng)用。
- 難點(diǎn):因此它在設(shè)計(jì)的時(shí)候考慮了要在預(yù)測(cè)期間保證內(nèi)存和計(jì)算時(shí)間上的效率。分割的任務(wù)其實(shí)應(yīng)用非常地廣,需要理解各個(gè)像素之間的關(guān)系,比如要區(qū)分出人行道和車行道,建筑物和道路,并且還要能夠檢測(cè)識(shí)別到小的物體,比如路邊的小狗,小貓。所以這個(gè)任務(wù)需要很高的精度,也很具有挑戰(zhàn)性。
- 思想:所以為了有個(gè)好的區(qū)分度,需要對(duì)物體的邊界有一個(gè)非常好的效果,特別是在特征提取的時(shí)候,需要保持這些邊界的信息(忽略高分辨率的特征圖(conv1,conv2的特征圖)肯定會(huì)導(dǎo)致邊緣信息的丟失)。另外在計(jì)算時(shí)間上面的要求也比較高。所以綜合這些原則考慮起來(lái),想像著就比較有挑戰(zhàn)性。 FCN的解碼的部分的上采樣是可以學(xué)習(xí)的,這樣導(dǎo)致有很多的參數(shù)需要學(xué)習(xí),這樣在end to end 訓(xùn)練的時(shí)候比較難。
6.3.2 SegNet介紹
6.3.2.1 特點(diǎn)
- 1、編碼網(wǎng)絡(luò)和VGG-16的卷積層相同
- 2、移除了全連接層
- 3、解碼器使用從相應(yīng)的編碼器接受的max-pooling indices來(lái)進(jìn)行輸入特征圖的非線性u(píng)psampling
- 結(jié)構(gòu):
- 編碼網(wǎng)絡(luò)(encoder network):由13個(gè)卷積層組成(使用的時(shí)預(yù)訓(xùn)練的VGG16的前13層),該部分提取輸入特征,用于目標(biāo)分類,這就是使用預(yù)訓(xùn)練的VGG原理所在,至于丟棄FC層是為了保持更高的分辨率,同時(shí)也減少了參數(shù)。
- 總共5個(gè)Block,每個(gè)Block都由Conv + Batch Norm + ReLU組成
- 解碼網(wǎng)絡(luò)(decoder network):每個(gè)encoder會(huì)對(duì)應(yīng)一個(gè)decoder,故decoder具有13層,將低分辨率的feature map映射回和輸入一樣大小分類器(mask)。Decoder交替采用conv+upsampling
- 每個(gè)block由Upsampling + Conv + BN組成
- 像素分類層(pixelwise classification layer):decoder的輸出會(huì)送到分類層,最終為每個(gè)像素獨(dú)立的產(chǎn)生類別概率
- 編碼網(wǎng)絡(luò)(encoder network):由13個(gè)卷積層組成(使用的時(shí)預(yù)訓(xùn)練的VGG16的前13層),該部分提取輸入特征,用于目標(biāo)分類,這就是使用預(yù)訓(xùn)練的VGG原理所在,至于丟棄FC層是為了保持更高的分辨率,同時(shí)也減少了參數(shù)。
6.3.2.2 max-pooling與deconvolution對(duì)比
- 首先做maxpooling的時(shí)候得到的數(shù)的原始的位置要記住
- 然后在上采樣的時(shí)候,在把這些值給還原到原位置,相當(dāng)于得到了一個(gè)稀疏的上采樣feature,而FCN里面直接是deconvolution進(jìn)行的上采樣。
索引記錄:
解碼網(wǎng)絡(luò)中max-pooling indics的好處:
- 1、減少了端到端訓(xùn)練的參數(shù)量
- 2、僅需要少量的修改而可合并到任何編碼-解碼形式的架構(gòu)
- 3、改善了邊界劃分
decoder階段是沒(méi)有加非線性激活的(即沒(méi)有ReLU)
在上采樣部分,卷積操作不使用偏置和ReLU
- 上采樣過(guò)程,就是通過(guò)卷積將稀疏的特征圖稠密化,ReLU激活引入非線性時(shí)產(chǎn)生很多0稀疏化了結(jié)果,起了反作用,因此不需要ReLU
- 偏置其實(shí)可以看做ReLU作用的閾值,沒(méi)有ReLU自然不需要偏置,總體都加上一個(gè)常數(shù)但沒(méi)有ReLU操作,這個(gè)值就沒(méi)有起到是否需要激活的作用,所以加不加沒(méi)有區(qū)別
6.3.2.3 訓(xùn)練細(xì)節(jié)
1、使用數(shù)據(jù)集
使用CamVid路景數(shù)據(jù)集來(lái)對(duì)基于解碼器變體的性能進(jìn)行基準(zhǔn)測(cè)試.該數(shù)據(jù)集很小,由360×480分辨率的367次訓(xùn)練和233次測(cè)試RGB圖像(白天和黃昏場(chǎng)景)組成。挑戰(zhàn)是劃分道路,建筑,汽車,行人,標(biāo)志,極點(diǎn),側(cè)路等11類.
2、圖像處理
- 使用BN改變數(shù)據(jù)分布,歸一化加速收斂
3、訓(xùn)練
- 1、使用固定學(xué)習(xí)率0.1和動(dòng)量0.9的隨機(jī)梯度下降(SGD)
- 2、每輪之前,訓(xùn)練集被shuffle,然后按順序挑選每個(gè)小批量(12張圖像),從而確保每個(gè)圖像在一個(gè)epoch只被使用一次
- 3、使用交叉熵?fù)p失作為訓(xùn)練網(wǎng)絡(luò)的目標(biāo)函數(shù),損失在一個(gè)小批量的所有像素上求和得到
- 4、訓(xùn)練集中的每個(gè)類別(例如,道路,天空和建筑像素占主導(dǎo)地位的CamVid數(shù)據(jù)集)中像素?cái)?shù)量的變化很大時(shí),根據(jù)真實(shí)類別不同地加權(quán).
- 這被稱為class balancing.使用median frequency balancing
- 分配給損失函數(shù)中的類的權(quán)重是在整個(gè)訓(xùn)練集上計(jì)算的類頻率的中值除以類頻率的比率。這意味著訓(xùn)練集中的較大類的權(quán)重小于1,最小類的權(quán)重最高
- 嘗試了不同類型的訓(xùn)練,無(wú)需類平衡,也可以等效地使用natural frequency balancing
6.3.2.4 效果對(duì)比
SegNet并將其性能與FCN(解碼器結(jié)構(gòu)不同的)進(jìn)行比較,我們使用較小版本的SegNet,稱為SegNet-Basic,它具有4個(gè)編碼器和4個(gè)解碼器。然后創(chuàng)建了FCN-Basic,一個(gè)可比較的FCN版本
1、SegNet-Basic-SingleChannelDecoder:顯著減少了可訓(xùn)練參數(shù)的數(shù)量和推理時(shí)間
-
2、內(nèi)存擴(kuò)大型SegNet(SegNet-Basic-EncoderAddition):這里使用上采樣的max-pooling indices,隨后進(jìn)行卷積步驟以使其稀疏輸入變得更加密集.然后將其逐個(gè)添加到相應(yīng)的編碼器特征圖,以產(chǎn)生解碼器輸出
-
結(jié)論:最好的情況下,當(dāng)內(nèi)存和推理時(shí)間都不受約束時(shí),比如FCN-Basic-NoDimReduction和SegNet-EncoderAddition之類的較大型號(hào)比其他變體更準(zhǔn)確.
- 特別地,在FCN-Basic模型中丟棄維數(shù)降低導(dǎo)致具有高BF分?jǐn)?shù)的FCN Basic變體中的最佳性能。這再次強(qiáng)調(diào)了分割架構(gòu)中存儲(chǔ)器與精度之間的權(quán)衡。
評(píng)測(cè)標(biāo)準(zhǔn)
- G值是global accuracy,測(cè)量數(shù)據(jù)集中所有像素正確分類的百分比。C值class average accuracy,所有類的預(yù)測(cè)準(zhǔn)確度的平均值.還有就是在Pascal VOC12挑戰(zhàn)中使用的所有類的mIoU.
| global accuracy (G) | 在數(shù)據(jù)集上總體的準(zhǔn)確率 |
| class average accuracy (C) | 平均每個(gè)類別的準(zhǔn)確率 |
| mean intersection over union (mIoU) | 類平均IoU |
| bf score(少用) | f1分?jǐn)?shù)(機(jī)器學(xué)習(xí)中的f1計(jì)算) |
6.3.3 SegNet總結(jié)
-
SegNet一種用于語(yǔ)義分割的深度卷積網(wǎng)絡(luò)架構(gòu)。SegNet背后的主要?jiǎng)訖C(jī)是需要設(shè)計(jì)一種有效的道路和室內(nèi)場(chǎng)景理解架構(gòu),這在存儲(chǔ)和計(jì)算時(shí)間方面都是有效的。
-
SegNet更有效率,因?yàn)閮H存儲(chǔ)特征映射的最大池索引,并將其用于解碼器網(wǎng)絡(luò)以實(shí)現(xiàn)良好的性能。在大型和眾所周知的數(shù)據(jù)集中,SegNet具有競(jìng)爭(zhēng)力,實(shí)現(xiàn)道路現(xiàn)場(chǎng)理解的高分。
6.3.4 U-Net-用于生物醫(yī)學(xué)圖像分割的卷積網(wǎng)絡(luò)(冠軍)
6.3.4.1 醫(yī)療影像的特點(diǎn)
生物學(xué)醫(yī)學(xué)領(lǐng)域:在許多視覺(jué)任務(wù)中,尤其是在生物醫(yī)學(xué)圖像處理中,所期待的輸出結(jié)果中應(yīng)包括如位置和每一像素的類別標(biāo)簽等信息。而且,在生物醫(yī)學(xué)任務(wù)中通常難以獲取數(shù)以千計(jì)的訓(xùn)練圖像。
- 1、圖像語(yǔ)義較為簡(jiǎn)單、結(jié)構(gòu)較為固定。比如就用腦CT和腦MRI,由于器官本身結(jié)構(gòu)固定和語(yǔ)義信息沒(méi)有特別豐富,所以高級(jí)語(yǔ)義信息和低級(jí)特征都顯得很重要(UNet的skip connection和U型結(jié)構(gòu)就派上了用場(chǎng))。
- 腦出血: 在CT影像上,高密度的區(qū)域就大概率是一塊出血,如下圖紅色框區(qū)域。
- 2、數(shù)據(jù)量少。醫(yī)學(xué)影像的數(shù)據(jù)獲取相對(duì)難一些,很多比賽只提供不到100例數(shù)據(jù)。所以我們?cè)O(shè)計(jì)的模型不宜多大,參數(shù)過(guò)多,很容易導(dǎo)致過(guò)擬合。
6.3.5 U-Net 詳解
U-Net提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練方法,依靠數(shù)據(jù)增強(qiáng)將有效的標(biāo)注數(shù)據(jù)更為有效地使用。
- 該網(wǎng)絡(luò)由收縮路徑(contracting path)和擴(kuò)張路徑(expanding path)組成。其中,收縮路徑用于獲取上下文信息(context),擴(kuò)張路徑用于精確的定位(localization),且兩條路徑相互對(duì)稱。
- 該網(wǎng)絡(luò)能夠從極少圖像端對(duì)端進(jìn)行訓(xùn)練,并且在ISBI競(jìng)賽中,對(duì)于分割電子顯微鏡中的神經(jīng)元結(jié)構(gòu)的表現(xiàn)好于以前最好的方法(滑動(dòng)窗口卷積網(wǎng)絡(luò))。除此之外,該網(wǎng)絡(luò)的運(yùn)行速度非常快,在最新一個(gè)GPU上,分割一張512*512的圖像不到一秒即可完成。
6.3.5.1 結(jié)構(gòu)
一個(gè)contracting path即收縮路徑(左側(cè))和一個(gè)expansive path即擴(kuò)展路徑(右側(cè))組成。
- 1、收縮路徑遵循卷積網(wǎng)絡(luò)的典型架構(gòu)。它包括重復(fù)使用兩個(gè)3x3卷積(無(wú)填充卷積),每個(gè)卷積后跟一個(gè)線性修正單元(ReLU)和一個(gè)2x2最大池化操作,步長(zhǎng)為2的下采樣。
- 在每個(gè)下采樣步驟中,我們將特征通道的數(shù)量加倍。
- 2、擴(kuò)展路徑中的每一步都包括特征映射的上采樣
- 1、進(jìn)行2x2卷積(“反卷積”),將特征通道數(shù)量減半,與來(lái)自收縮路徑的相應(yīng)裁剪特征映射串聯(lián)
- 2、然后是兩個(gè)3x3卷積,每個(gè)卷積后面接ReLU。
- 由于每一次卷積都會(huì)丟失邊界像素,因此裁剪是必要的。在最后一層,使用1x1卷積將每個(gè)64分量特征向量映射到所需數(shù)量的類別上。
- 3、網(wǎng)絡(luò)采樣細(xì)節(jié)
- UNet的encoder下采樣4次,一共下采樣16倍,對(duì)稱地,其decoder也相應(yīng)上采樣4次,將encoder得到的高級(jí)語(yǔ)義特征圖恢復(fù)到原圖片的分辨率。網(wǎng)絡(luò)較小運(yùn)行速度快
圖中箭頭解釋:
* 每一步都首先使用反卷積(up-convolution),每次使用反卷積都將特征通道數(shù)量減半,特征圖大小加倍。(綠箭頭) * 反卷積過(guò)后,將反卷積的結(jié)果與contracting path中對(duì)應(yīng)步驟的特征圖拼接起來(lái)。(白/藍(lán)塊) * contracting path中的特征圖尺寸稍大,將其修剪過(guò)后進(jìn)行拼接。(左邊深藍(lán)虛線) * 對(duì)拼接后的map再進(jìn)行2次3*3的卷積。(右側(cè)藍(lán)箭頭) * 最后一層的卷積核大小為1*1,將64通道的特征圖轉(zhuǎn)化為特定類別數(shù)量(分類數(shù)量,二分類為2)的結(jié)果。(青色箭頭)為什么效果好
1、底層(深層)信息:經(jīng)過(guò)多次下采樣后的低分辨率信息。能夠提供分割目標(biāo)在整個(gè)圖像中上下文語(yǔ)義信息,可理解為反應(yīng)目標(biāo)和它的環(huán)境之間關(guān)系的特征。這個(gè)特征有助于物體的類別判斷(所以分類問(wèn)題通常只需要低分辨率/深層信息,不涉及多尺度融合)
2、高層(淺層)信息:經(jīng)過(guò)concatenate操作從encoder直接傳遞到同高度decoder上的高分辨率信息。能夠?yàn)榉指钐峁└泳?xì)的特征。
6.3.5.2 訓(xùn)練細(xì)節(jié)
- 1、采用隨機(jī)梯度下降法訓(xùn)練。為了最小化開(kāi)銷并最大限度地利用GPU內(nèi)存,使用大的輸入圖塊而不是大的batch size,從而將批處理減少到單個(gè)圖像。最后一層使用交叉熵函數(shù)與softmax
- 2、為了凸顯某些像素點(diǎn)更加重要,作者在公式中引入了w(x)(類別不均衡)
- 對(duì)每一張標(biāo)注圖像預(yù)計(jì)算了一個(gè)權(quán)重圖,來(lái)補(bǔ)償訓(xùn)練集中每類像素的不同頻率,使網(wǎng)絡(luò)更注重學(xué)習(xí)相互接觸的細(xì)胞之間的小的分割邊界
- 權(quán)重計(jì)算公式如下:使用形態(tài)學(xué)操作計(jì)算分割邊界,w?c??是用于平衡類別出現(xiàn)頻率的權(quán)重,?d1d1代表到最近細(xì)胞的邊界的距離,?d2代表到第二近的細(xì)胞的邊界的距離。基于論文經(jīng)驗(yàn)設(shè)定w?0??=10, σ≈5像素
- 網(wǎng)絡(luò)的權(quán)重進(jìn)行高斯分布初始化,分布的標(biāo)準(zhǔn)差為2/N2/N,N為每個(gè)神經(jīng)元的輸入節(jié)點(diǎn)數(shù)量。
- 例如,對(duì)于一個(gè)上一層是64通道的3x3卷積核來(lái)說(shuō),N=9x64
6.3.5.3 數(shù)據(jù)增強(qiáng)
- 1、平移與旋轉(zhuǎn)不變性,并且對(duì)形變和灰度變化魯棒
- 2、將訓(xùn)練樣本進(jìn)行隨機(jī)彈性形變是訓(xùn)練分割網(wǎng)絡(luò)的關(guān)鍵
- 使用隨機(jī)位移矢量在粗糙的3x3網(wǎng)格上(random displacement vectors on a coarse 3 by 3 grid)產(chǎn)生平滑形變(smooth deformations)。
- 位移是從10像素標(biāo)準(zhǔn)偏差的高斯分布中采樣的。然后使用bic插值計(jì)算每個(gè)像素的位移。在contracting path的末尾采用drop-out 層更進(jìn)一步增加數(shù)據(jù)(bilinear與bicubic 插值圖像處理介紹)
- 使用隨機(jī)位移矢量在粗糙的3x3網(wǎng)格上(random displacement vectors on a coarse 3 by 3 grid)產(chǎn)生平滑形變(smooth deformations)。
6.3.6 U-net實(shí)驗(yàn)效果
下面是U-Net在兩種不同的分割任務(wù)中的應(yīng)用效果
1、U-Net應(yīng)用于光學(xué)顯微圖像中的細(xì)胞分割任務(wù)
ISBI細(xì)胞跟蹤挑戰(zhàn)的結(jié)果。(a)“PhC-U373”數(shù)據(jù)集的輸入圖像的一部分 (b)分割結(jié)果(青色掩模)和人工標(biāo)注的GT(黃色邊框) (c)“DIC-HeLa”數(shù)據(jù)集的輸入圖像 (d)分割結(jié)果(隨機(jī)彩色掩模)和人工GT(黃色邊框)
評(píng)估結(jié)果:包含35個(gè)部分注釋的訓(xùn)練圖像。實(shí)現(xiàn)了92%的平均IOU
其中“DIC-HeLa”另外一個(gè)數(shù)據(jù)集,這里不做介紹了。
2、總結(jié)
U-Net結(jié)構(gòu)在不同的生物醫(yī)學(xué)分割應(yīng)用中都取得了非常好的性能。由于彈性形變的數(shù)據(jù)增強(qiáng),它只需要很少的標(biāo)簽圖像,并且有一個(gè)非常合理的訓(xùn)練時(shí)間,在英偉達(dá)Titan GPU(6GB)只需10小時(shí)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的图像目标分割_3 SegNet + U-Net的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SCI论文写作训练营笔记汇总03_科技论
- 下一篇: 计算机网络阅读报告,计算机网络实验二报告