1. 摘要
UNet及其最新的擴展如TransUNet是近年來領(lǐng)先的醫(yī)學(xué)圖像分割方法。然而,由于這些網(wǎng)絡(luò)參數(shù)多、計算復(fù)雜、使用速度慢,因此不能有效地用于即時應(yīng)用中的快速圖像分割。為此,我們提出了一種基于卷積多層感知器(MLP)的圖像分割網(wǎng)絡(luò)unext。我們設(shè)計了一種有效的UNeXt方法,即在前期采用卷積階段和在后期采用MLP階段。我們提出了一個標(biāo)記化的MLP塊,在該塊中,我們有效地標(biāo)記和投射卷積特征,并使用MLP來建模表示。
為了進一步提高性能,我們建議在輸入mlp時shift輸入的channel,以便專注于學(xué)習(xí)局部依賴性。在潛在空間中使用標(biāo)記化的mlp減少了參數(shù)的數(shù)量和計算復(fù)雜度,同時能夠產(chǎn)生更好的表示,以幫助分割。該網(wǎng)絡(luò)還包括各級編碼器和解碼器之間的跳躍連接。測試結(jié)果表明,與目前最先進的醫(yī)學(xué)圖像分割架構(gòu)相比,UNeXt的參數(shù)數(shù)量減少了72x,計算復(fù)雜度降低了68x,推理速度提高了10x,同時也獲得了更好的分割性能。
2. 網(wǎng)絡(luò)結(jié)構(gòu)
2.1 網(wǎng)絡(luò)設(shè)計:
UNeXt是一個編碼器-解碼器體系結(jié)構(gòu),有兩個階段:
1) 卷積階段
2) tokenized MLP階段。
輸入圖像通過編碼器,其中前3個塊是卷積,下2個是tokenized MLP塊。解碼器有2個tokenized MLP塊,后面跟著3個卷積塊。每個編碼器塊減少特征分辨率2倍,每個解碼器塊增加特征分辨率2。跳躍連接也被應(yīng)用在了編碼器和解碼器之間
作者減少了每個stage的通道數(shù)。
每個stage的通道數(shù),對比標(biāo)準(zhǔn)的Unet:
UNeXt:32 64 128 160 256
UNet:64 128 256 512 1024
在這里面就減少了很多的參數(shù)量
2.2 卷積階段
有三個conv block,每個block都有一個卷積層(傳統(tǒng)Unet是兩個)、批量歸一化層和ReLU激活。我們使用的內(nèi)核大小為3×3, stride為1,padding為1。編碼器的conv塊使用帶有池窗口2×2的max-pooling層,而解碼器的conv塊使用雙線性插值層對特征圖進行上采樣。我們使用雙線性插值而不是轉(zhuǎn)置卷積,因為轉(zhuǎn)置卷積基本上是可學(xué)習(xí)的上采樣,會導(dǎo)致產(chǎn)生更多可學(xué)習(xí)的參數(shù)
2.3 Shifted MLP
在shifted MLP中,在tokenize之前,我們首先移動conv features通道的軸線。這有助于MLP只關(guān)注conv特征的某些位置,從而誘導(dǎo)塊的位置。這里的直覺與Swin transformer類似,在swin中引入基于窗口的注意,以向完全全局的模型添加更多的局域性。由于Tokenized MLP塊有2個mlp,我們在一個塊中跨越寬度移動特征,在另一個塊中跨越高度移動特征,就像軸向注意力中一樣。我們對這些特征做了h個劃分,并根據(jù)指定的軸通過j個位置移動它們。這有助于我們創(chuàng)建隨機窗口,引入沿軸線的局部性。
Shift操作
圖中灰色是特征塊的位置,白色是移動之后的padding。
2.4 Tokenized MLP階段
image-20220402001733482
在Tokenized MLP塊中,我們首先shift features并將它們投射到token中。為了進行token化,我們首先使用3x3conv把特征投射到E維,其中E是embadding維度(token的數(shù)量),它是一個超參數(shù)。然后我們將這些token傳遞給一個shifted MLP(跨越width)。接下來,特征通過 DW-Conv傳遞。然后我們使用GELU激活層。然后,我們通過另一個shifted MLP(跨越height)傳遞特征,該mlp把特征的尺寸從H轉(zhuǎn)換為了O。我們在這里使用一個殘差連接,并將原始標(biāo)記添加為殘差。然后我們利用layer norm(LN),并將輸出特征傳遞到下一個塊。LN比BN更可取,因為它更有意義的是沿著token進行規(guī)范化,而不是在Tokenized MLP塊的整個批處理中進行規(guī)范化。
我們在這個塊中使用DWConv有兩個原因:
1)它有助于編碼MLP特征的位置信息。從中可以看出,在一個MLP塊中Conv層已經(jīng)足夠?qū)ξ恢眯畔⑦M行編碼,并且實際性能優(yōu)于標(biāo)準(zhǔn)的位置編碼技術(shù)。當(dāng)測試或者訓(xùn)練分辨率不相同時,像ViT中的位置編碼技術(shù)需要插值,這通常會導(dǎo)致性能下降。
2)DWConv使用更少的參數(shù),因此提高了效率。
Tokenized block的計算流程
所有這些計算都是在嵌入維數(shù)h上執(zhí)行的,這個維數(shù)明顯小于特征的維數(shù) (H/N)×(H/N) ,N是關(guān)于降維的2的因子。在我們的實驗中,除非另有說明,否則我們使用768。這種設(shè)計tokenized MLP block的方法有助于編碼有意義的特征信息,而不會對計算或參數(shù)貢獻太多。
3.實驗結(jié)果
在ISIC和BUSI數(shù)據(jù)集進行了實驗
在ISIC數(shù)據(jù)集的對比
4. 個人感悟
首先每個convolutional階段只有一個卷積層,極大的減少了運算量,是答主第一次見了。
其次是把MLP的模塊引入了Unet,算是很新穎了。
在Tokenized MLP block中使用DW- CONV,讓人眼前一亮。
-
解碼器
+關(guān)注
關(guān)注
9文章
1165瀏覽量
41825 -
圖像分割
+關(guān)注
關(guān)注
4文章
182瀏覽量
18293 -
感知器
+關(guān)注
關(guān)注
0文章
34瀏覽量
11978 -
MLP
+關(guān)注
關(guān)注
0文章
57瀏覽量
4530
原文標(biāo)題:MICCAI 2022 | UNeXt:第一個基于卷積和MLP的快速醫(yī)學(xué)圖像分割網(wǎng)絡(luò)
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
使用全卷積網(wǎng)絡(luò)模型實現(xiàn)圖像分割
如何使用Keras框架搭建一個小型的神經(jīng)網(wǎng)絡(luò)多層感知器
基于MLP的快速醫(yī)學(xué)圖像分割網(wǎng)絡(luò)UNeXt相關(guān)資料分享
一文詳解CNN
人工神經(jīng)網(wǎng)絡(luò)在金相圖像分割中的應(yīng)用研究

人工智能–多層感知器基礎(chǔ)知識解讀
聚焦語義分割任務(wù),如何用卷積神經(jīng)網(wǎng)絡(luò)處理語義圖像分割?
全卷積網(wǎng)絡(luò)FCN進行圖像分割
多層感知機(MLP)的設(shè)計與實現(xiàn)

PyTorch教程5.2之多層感知器的實現(xiàn)

使用多層感知器進行機器學(xué)習(xí)

評論