論文:MedNeXt: Transformer-driven Scaling of ConvNets for Medical Image Segmentation
ConvNeXt網(wǎng)絡(luò)是一種借鑒Transformer的思想進(jìn)行了改進(jìn)實(shí)現(xiàn)的全卷積網(wǎng)絡(luò),其通過(guò)全卷積網(wǎng)絡(luò)和逆向殘差瓶頸單元的設(shè)計(jì),可以實(shí)現(xiàn)比較大的空間感受野。本文在此基礎(chǔ)上提出了新的可伸縮,標(biāo)準(zhǔn)化的網(wǎng)絡(luò)結(jié)構(gòu)MedNeXt。
MedNeXt是一個(gè)全卷積的Encoder-Decoder模式的醫(yī)學(xué)圖像分割網(wǎng)絡(luò),適用于2d,3d的醫(yī)學(xué)圖像分割。模型內(nèi)部ConvNeXt上采樣,ConvNeXt下采樣模塊可以更好的實(shí)現(xiàn)特征的傳遞。同時(shí)論文提出了UpKern方法來(lái)通過(guò)小卷積核對(duì)大卷積核進(jìn)行初始化來(lái)反之少量數(shù)據(jù)訓(xùn)練時(shí)候的模型飽和問(wèn)題。MedNeXt還是可以自由伸縮的模型,支持多個(gè)維度(depth, width, kernel size)的伸縮來(lái)適應(yīng)不同的應(yīng)用場(chǎng)合。ConvNeXt在效果上也是略優(yōu)于nnUNet。
?
主要貢獻(xiàn):
(1)利用ConvNeXt這種全卷積網(wǎng)絡(luò)的思想,設(shè)計(jì)了一個(gè)純卷積模塊(purely of ConvNeXt blocks)組成的網(wǎng)絡(luò)結(jié)構(gòu)MedNeXt。
(2)有別于正常的上采樣,下采樣模塊,論文提出了逆向殘差瓶頸單元(Residual Inverted Bottlenecks),使用該模塊來(lái)實(shí)現(xiàn)上下采樣操作。該模塊有助于保存豐富的特征同時(shí)提高了梯度的傳遞效果。
(3)提出了一個(gè)簡(jiǎn)單高效的不同大小kernel的參數(shù)初始化方法UpKern,保證模型具有較好的初始化。
(4)提出了模型伸縮的方法(Compound Scaling),保證了模型在寬度width (channels),感受野receptive field (kernel size) , 深度depth (number of layers)等方向的伸縮。
網(wǎng)絡(luò)結(jié)構(gòu):
網(wǎng)絡(luò)的整體設(shè)計(jì)還是全卷積編碼器-解碼器這種U型結(jié)構(gòu)。如果是3d分割輸入為128*128*128,如果是2d分割輸入為512*512。
其中R代表通道的擴(kuò)展率,C表示通道數(shù),B表示block的堆疊次數(shù),L表示輸入的分辨率大小。
Steam block(粉色):
由于MedNeXt網(wǎng)絡(luò)同時(shí)支持2d,3d的分割任務(wù)。由于是全卷積的設(shè)計(jì)思想,所以不同輸入圖像的寬,高不會(huì)產(chǎn)生影響,但是不同的通道數(shù)卻是會(huì)對(duì)模型產(chǎn)生影響。如果做到訓(xùn)練一個(gè)預(yù)訓(xùn)練模型,同時(shí)兼任2d,3d任務(wù)呢?這就是steam模塊的作用。該模塊通過(guò)一個(gè)1*1*1的卷積實(shí)現(xiàn),可以實(shí)現(xiàn)將不同通道數(shù)的輸入都?jí)嚎s在同樣的通道數(shù)目上,這樣就保證了模型參數(shù)的可復(fù)用。
MedNeXt block(黃色):
該模塊整體是一個(gè)逆向的殘差模塊,模塊先經(jīng)過(guò)一個(gè)stride=1的深度可分離卷積(DW),然后做一個(gè)GroupNorm操作,這里有別于Swin-Transformers中的LayerNorm操作。這樣做的目的是為了保證小batch訓(xùn)練的穩(wěn)定性。然后再經(jīng)過(guò)一個(gè)1*1*1卷積,對(duì)通道數(shù)進(jìn)行R倍增加,并基于GELU激活,最后再經(jīng)過(guò)一個(gè)1*1*1,對(duì)通道數(shù)進(jìn)行壓縮,最終保證輸入的通道數(shù)等于輸出的通道數(shù),輸入的分辨率等于輸出的分辨率。最后將該分支的輸出和shortcut直連的輸出進(jìn)行匯合,得到最終的模塊輸出。
MedNeXt 2x Down block(藍(lán)色):
該模塊與MedNeXt block的區(qū)別有2點(diǎn)。第1個(gè)區(qū)別是輸入部分換為stride=2的深度可分離卷積(DW),實(shí)現(xiàn)了網(wǎng)絡(luò)的下采樣操作。第2個(gè)區(qū)別是shortcut分支加入了1*1*1卷積保證輸出的通道數(shù)2倍增加,以及最后一個(gè)1*1*1卷積實(shí)現(xiàn)了通道數(shù)的2倍增加。最終輸入特征通過(guò)MedNeXt 2x Up block可以實(shí)現(xiàn)2倍的下采樣,通道2倍的升維。
MedNeXt 2x Up block(綠色):
該模塊與MedNeXt block的區(qū)別有2點(diǎn)。第1個(gè)區(qū)別是輸入部分換為stride=2的深度可分離反卷積(DW ConvTranspose),實(shí)現(xiàn)了網(wǎng)絡(luò)的上采樣操作。第2個(gè)區(qū)別是shortcut分支加入了1*1*1卷積保證輸出的通道數(shù)2倍減少,以及最后一個(gè)1*1*1卷積實(shí)現(xiàn)了通道數(shù)的2倍減少。最終輸入特征通過(guò)MedNeXt 2x Down block可以實(shí)現(xiàn)2倍的上采樣,通道2倍的降維。
Output/Deep Supervision block(紫色):
該模塊通過(guò)1*1*1卷積實(shí)現(xiàn)將特征縮放到classes維度。
UpKern:
Swin Transformer V2中大的attention-window的初始化是使用小的attention-window進(jìn)行初始化的。偏置參數(shù) B大小為(2M-1)×(2M-1),M表示attention-window中的patch個(gè)數(shù),不同大小窗口的B是不一樣的,這里也是通過(guò)空間插值(spatially interpolating)的方法進(jìn)行實(shí)現(xiàn)的。本文的UpKern思想就來(lái)源于此。對(duì)于一樣大小的卷積核使用直接復(fù)制權(quán)值的方法進(jìn)行初始化,對(duì)于比較大的卷積核,通過(guò)對(duì)小的卷積核進(jìn)行三線插值得到大的卷積核。通過(guò)這樣的初始化方法可以避免模型的性能飽和。
論文給出了Pytorch版本的實(shí)現(xiàn),?
import torch . functional as F
def upkern_init_load_weights ( network , pretrained_net ):
pretrn_dct = pretrained_net . state_dict ()
model_dct = network . state_dict ()
for k in model_dct . keys ():
# Only common keys and core algorithm in Demo code
if k in model_dct . keys () and k in pretrn_dct . keys ():
inc1 , outc1 , * spt_dims1 = model_dct [k]. shape
inc2 , outc2 , * spt_dims2 = pretrn_dct [k]. shape
if spt_dims1 == spt_dims2 : # standard init
model_dct [k] = pretrn_dct [k]
else : # Upsampled kernel init
model_dct [k] = F. interpolate (pretrn_dct [k],size = spt_dims1 ,mode =’trilinear ’)
network . load_state_dict ( model_dct )
return network
Compound Scaling of Depth, Width and Receptive Field:
本文的模型通過(guò)調(diào)節(jié)block count (B)來(lái)調(diào)節(jié)深度(depth),調(diào)節(jié)expansion ratio (R) 來(lái)調(diào)節(jié)寬度(width),調(diào)節(jié)kernel size (k) 來(lái)調(diào)節(jié)感受野(receptive field size)。最終實(shí)現(xiàn)模型的可伸縮擴(kuò)展。最終提出了S,B,M,L四種不同大小的網(wǎng)絡(luò)來(lái)適應(yīng)不同應(yīng)用場(chǎng)景。
實(shí)驗(yàn)結(jié)果:?
總結(jié):
本文提出了一種具備高度可擴(kuò)展性的類ConvNeXt的 3D 分割架構(gòu),其在有限的醫(yī)學(xué)圖像數(shù)據(jù)集上優(yōu)于其它 7 個(gè)頂流方法,當(dāng)中就包含了非常強(qiáng)的nnUNet。MedNeXt設(shè)計(jì)作為標(biāo)準(zhǔn)卷積塊的有效替代,完全可作為醫(yī)學(xué)圖像分割領(lǐng)域的新網(wǎng)絡(luò)架構(gòu)標(biāo)桿之作!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-403349.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-403349.html
到了這里,關(guān)于醫(yī)學(xué)圖像分割之MedNeXt的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!