張雅婷,趙 宸,帥仁俊,吳夢麟
(南京工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 211816)
放射科醫(yī)師通常根據(jù)超聲圖像中結(jié)節(jié)的超聲特征進行診斷。其中,分割是診斷甲狀腺結(jié)節(jié)的必要前提[3]。醫(yī)師對超聲圖像中結(jié)節(jié)的分割較為主觀,高度依賴于個人經(jīng)驗,因此需要一種能準確分割甲狀腺結(jié)節(jié)的方法。
傳統(tǒng)的甲狀腺結(jié)節(jié)分割方法實現(xiàn)過程簡單,但是需要預(yù)先設(shè)置初始輪廓,且效率較低。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)在計算機圖像識別領(lǐng)域取得了很大成功[3-5]。Li等使用FCN對結(jié)節(jié)超聲圖像進行分割[6],Zhou等提出了一種基于U-Net的標記引導(dǎo)分割算法[7],Chen等提出DeepLabv系列模型融合了不同層次的語義信息[8,9]。盡管現(xiàn)有的深度學(xué)習(xí)方法在甲狀腺結(jié)節(jié)分割中已經(jīng)占據(jù)主導(dǎo)地位[10,11],但它們的分割性能仍然有限。
本文受Swin Transformer中使用計算復(fù)雜度更低的W-MSA方法的影響[12],提出了一種稱為Swin Link的U形混合分割網(wǎng)絡(luò),采用Swin Transformer分支提取特征,并采用參數(shù)量更小的卷積神經(jīng)網(wǎng)絡(luò)融合特征實現(xiàn)上采樣,完成超聲圖像中甲狀腺結(jié)節(jié)的分割。Swin Link由CNN分支、Swin Transformer分支和單向特征橋接單元(one-way feature bridging unit,OFU)組成,繼承了CNN和Swin Transformer的結(jié)構(gòu)和優(yōu)點。此外,OFU可視為一種特殊的串行殘差連接。在不同的殘差連接方式下,來自Swin Transformer分支的特征圖經(jīng)過OFU再次下采樣,進一步增大了感受野。同時,多路徑OFU下采樣得到的多層次特征圖是實現(xiàn)多級特征融合的前提。
卷積網(wǎng)絡(luò)擅長提取局部特征,自注意力模塊擅長捕捉全局特征依賴性[13]。為了充分結(jié)合局部特征和全局表示,本文提出了一個稱為Swin Link的U形混合網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。Swin Link由一個Swin Transformer分支、一個CNN分支和3個OFU組成。其中,結(jié)構(gòu)圖的左邊為Swin Transformer分支,右邊為CNN分支,中間為3個OFU。OFU一方面將來自Swin Transformer分支的多層次特征信息再次下采樣傳遞給CNN分支,另一方面進一步擴大感受野并提取特征。Swin Transformer分支依次從下采樣4倍,8倍,16倍和32倍的特征圖中提取多級特征。CNN分支則實現(xiàn)特征融合與特征圖上采樣。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
Swin Transformer分支如圖1所示,Swin Transformer采用特征金字塔結(jié)構(gòu)。特征圖的分辨率隨著網(wǎng)絡(luò)深度的增加而降低,通道數(shù)隨著網(wǎng)絡(luò)深度的增加而增加。輸入圖像首先經(jīng)過一個卷積核為4、步長為4的Patch Partition模塊,然后利用Linear Embedding對通道數(shù)進行變換。經(jīng)過以上步驟,輸入圖像下采樣4倍,通道數(shù)轉(zhuǎn)換為96或128或192,并輸出初始淺層特征圖。其次,特征圖依次經(jīng)過Swin Transformer Block與Patch Merging。每個Swin Transformer Block由不同數(shù)量的Swin Block構(gòu)成,實現(xiàn)特征提取。每個Patch Merging實現(xiàn)2倍特征圖下采樣。Swin Transformer Block和Patch Merging具體細節(jié)如下。
假設(shè)輸入圖像寬度和高度分別為H和W,第一個Swin Transformer Block輸入特征圖的寬度和高度分別為H/4,W/4;第二個Swin Transformer Block輸入特征圖的寬度和高度分別為H/8,W/8;第三個Swin Transformer Block輸入特征圖的寬度和高度分別為H/16,W/16;第四個Swin Transformer Block輸入特征圖的寬度和高度分別為H/32,W/32。即Swin Transformer Blocks依次從下采樣為4、8、16和32倍的特征圖中提取特征。第一個Swin Transformer Block提取更豐富的局部細節(jié),相反,第四個Swin Transformer Block提取更抽象的語義信息。
每個Swin Transformer Block由不同數(shù)量的Swin Block構(gòu)成,每個Swin Block由LayerNorm、Windows Multi-head Self Attention (W-MSA)、MLP和Shift Windows Multi-head Self Attention (SW-MSA)構(gòu)成。Swin Transformer引入W-MSA,將輸入圖像劃分為互不重疊的windows,在每個windows內(nèi)部進行Multi-head Self Attention計算,很大程度上降低了計算量。雖然W-MSA降低了計算復(fù)雜度,但由于不重合的windows之間沒有信息交互,于是進一步引入了SW-MSA來實現(xiàn)不同windows之間的特征交換,SW-MSA流程如圖2所示。以32×32輸入圖像為例,首先經(jīng)過Patch Partition與Linear Embedding模塊后,特征圖分辨率下采樣4倍,輸出分辨率為8×8的特征圖。寬度和高度均為8的特征圖作為第一個Swin Transformer Block的輸入,在W-MSA模塊中,假設(shè)windows為4,則特征圖劃分為互不重疊的4個4×4尺寸的windows,如圖2(a)所示,在每個windows內(nèi)進行Multi-head Self Attention計算。然后,特征元素重新移動組合,如圖2(b)、圖2(c)所示,即左上A區(qū)域移到右下,區(qū)域B移到區(qū)域H下,區(qū)域D移到區(qū)域F右,區(qū)域G移到區(qū)域I右,區(qū)域C移到區(qū)域I下。最后,將新的特征圖再次劃分為互不重疊的4個4×4的windows,如圖2(c)所示,在4個windows內(nèi)再次進行Multi-head Self Attention計算,完成windows之間的特征交換,即SW-MSA。SW-MSA模塊在不增加計算復(fù)雜度的情況下完成windows間的特征交流。區(qū)域E是特征信息交流的證明。
圖2 SW-MSA流程
Patch Merging流程如圖3所示,首先從patch的第一行第一列,第一行第二列,第二行第一列,第二行第二列位置分別出發(fā),按照步長為2,從左到右,從上到下依次取出對應(yīng)元素構(gòu)成X0,X1,X2,X3。然后,將X0,X1,X2,X3在通道維度進行拼接。因此,通道數(shù)增加為原始patch的4倍,分辨率減少為原始的1/2。最后,經(jīng)過一個LayerNorm層與Linear層,通道數(shù)轉(zhuǎn)換為原始patch的2倍。綜上所述,特征圖經(jīng)過Patch Merging后分辨率擴大為原來的2倍,通道數(shù)減少為原來的1/2。
圖3 Patch Merging流程
本文模型將整個CNN分支劃分為6個階段,CNN分支如表1中CNN列所示。首先,Swin Transformer分支的輸出特征圖經(jīng)過Stage C5、C4中的第一個卷積模塊,保持特征圖分辨率和通道數(shù)不變。然后,特征圖經(jīng)過Stage C3、C2和C1的Decoder Blocks[14]。其中,Decoder Blocks包含兩個1×1卷積和一個3×3轉(zhuǎn)置卷積。在經(jīng)過Stage C3、C2和C1后,特征圖分辨率擴大為原來的8倍,通道數(shù)減少為原來的1/8。最后,特征圖經(jīng)過Stage C0,特征圖的分辨率擴大為原來的4倍,恢復(fù)到輸入圖像分辨率,通道數(shù)減小為分類數(shù)。其中,Stage C0由一個卷積和兩個轉(zhuǎn)置卷積組成,s2表示步長為2,h3表示Num heads為3。
表1 Swin Link網(wǎng)絡(luò)結(jié)構(gòu)
CNN分支對來自Swin Transformer的多層次特征圖進行特征融合,上采樣特征圖,直至特征圖恢復(fù)輸入圖像分辨率,呈現(xiàn)出與輸入圖像相同大小的分割圖。
OFU是一個短連接,由3×3轉(zhuǎn)置卷積、BatchNorm和 RELU組成[15,16]。網(wǎng)絡(luò)結(jié)構(gòu)圖第二種視角如圖4所示,一方面,在多路徑OFU橋接方式下,OFU可以結(jié)合不同深度的Swin Transformer分支和CNN分支。圖4(a)表示Swin Link由3個卷積模塊和一個OFU組成,對應(yīng)于表1中的Stage C0,C1。圖4(b)表示Swin Link由4個卷積塊、一個Swin Transformer Block和兩個OFU組成,對應(yīng)于表1中的Stage C0、C1、C2。圖4(c)表示Swin Link由5個卷積塊、兩個Swin Transformer Blocks和3個OFU組成,對應(yīng)于表1中的Stage C0、C1、C2、C3。圖4(d)表示Swin Link由6個卷積塊、4個Swin Transformer Blocks和3個OFU組成,對應(yīng)于表1的Stage C0、C1、C2、C3、C4、C5,即完整的Swin Link網(wǎng)絡(luò)模型。另一方面,OFU對來自Swin Transformer分支的多層次特征信息再次下采樣提取特征,輸入圖像經(jīng)過Patch Partition與Linear Embedding模塊后,作為Stage C1中OFU的輸入進行下采樣;特征圖經(jīng)過Patch Partition、Linear Embedding、一個Swin Transformer Block和一個Patch Merging模塊后,作為Stage C2中OFU的輸入進行下采樣;特征圖經(jīng)過Patch Partition、Linear Embedding、兩個Swin Transformer Blocks和兩個Patch Merging模塊后,作為Stage C3中OFU的輸入進行下采樣,每個OFU進一步增大感受野。不同程度下采樣的OFU路徑是實現(xiàn)多級特征融合的前提。
圖4 網(wǎng)絡(luò)結(jié)構(gòu)圖第二種視角
本文使用兩種損失函數(shù):BCE Loss(binary CrossEntropy loss)和Dice Loss[17,18]。BCE Loss計算預(yù)測分割圖和真實分割圖之間每個像素的誤差,公式為
(1)
式中:P(i,j) 和G(i,j) 表示圖像中位置 (i,j) 的預(yù)測值和真實值的像素。W和H是圖像的寬度和高度。
Dice Loss本質(zhì)上是對預(yù)測分割圖像和真實分割圖像重疊部分的度量,公式如下
(2)
本文使用BCE Loss和Dice Loss共同監(jiān)督預(yù)測分割圖像,公式如下
Loss=αLBCE+βLDice
(3)
式中:α,β是超參數(shù),用于平衡兩個損失函數(shù)之間的權(quán)重,使網(wǎng)絡(luò)能夠獲得更好的性能。在本文中,參數(shù)α設(shè)置為0.4,參數(shù)β設(shè)置為0.6。
本文實驗采用了斯坦福大學(xué)AIMI共享數(shù)據(jù)集,其收集了斯坦福大學(xué)醫(yī)學(xué)中心的167名活檢確診患者的17 412張甲狀腺超聲圖像。該數(shù)據(jù)集由超聲甲狀腺圖像和放射科醫(yī)生標注的分割圖組成,訓(xùn)練、驗證和測試的圖像分別占比60%、20%和20%。為了增加數(shù)據(jù)集,訓(xùn)練模型時采用隨機左右翻轉(zhuǎn),隨機旋轉(zhuǎn)的方式進行數(shù)據(jù)增廣。
本文使用AdamW[19]優(yōu)化器進行網(wǎng)絡(luò)模型優(yōu)化,設(shè)置初始學(xué)習(xí)率為0.0001,權(quán)重衰減率為0.05。模型使用PyTorch1.9.0構(gòu)建,在Linux workstation上訓(xùn)練,并使用內(nèi)存為24 GB的NVIDIA RTX3090 GPU。
本文使用加權(quán)交并比(frequency weighted intersection over union,F(xiàn)WIoU)、平均像素精確度(mean pixel accuracy,MPA)、Dice相似系數(shù)(Dice similarity coefficient,DSC)、真陽性率(true positive rate,TPR)、陽性預(yù)測值(positive predictive value,PPV)和準確率(accuracy,ACC)[20-22]作為超聲甲狀腺結(jié)節(jié)分割任務(wù)的評價指標。公式分別如下
(4)
(5)
式中:a代表結(jié)節(jié),b代表非結(jié)節(jié),k+1代表分割類別數(shù),Pab代表原屬于a預(yù)測為b的像素數(shù),Paa代表原屬于a預(yù)測為a的像素數(shù),Pba表示原屬于b預(yù)測為a的像素數(shù)
(6)
(7)
(8)
(9)
式中:TP定義為被正確地劃分為正例的個數(shù),即實際為結(jié)節(jié)且被正確地分割為結(jié)節(jié)的數(shù)量,TN定義被正確地劃分為負例的個數(shù),即實際為非結(jié)節(jié)且被正確地分割為非結(jié)節(jié)的數(shù)量,F(xiàn)P定義為被錯誤地劃分為正例的個數(shù),即實際為非結(jié)節(jié)且被錯誤地分割為結(jié)節(jié)的數(shù)量,F(xiàn)N定義為被錯誤地劃分為負例的個數(shù),即實際為結(jié)節(jié)且被錯誤地分割為非結(jié)節(jié)的數(shù)量。
2.3.1 不同分割模型對比
為了分析本文方法的性能,將本文方法在甲狀腺數(shù)據(jù)集上分別與其它8種模型,F(xiàn)CN8S、LinkNet、PSPNet+MobileNetV2、DeepLabv3+Xception、Swin-Unet、PSPNet+ResNet-50、U-Net、DeepLabv3+MobileNetV2進行綜合對比實驗,實驗結(jié)果見表2。
表2 不同分割模型對比結(jié)果
由表2可見,本文方法的甲狀腺結(jié)節(jié)分割性能在MPA、FWIoU、DSC、TPR、PPV和ACC指標上都優(yōu)于其它模型。與FCN8S、Swin-Unet、LinkNet和PSPNet+MobileNetV2方法相比,本文方法在MPA指標上分別提高了10.45%、7.54%、6.82%、3.66%。相較于U-Net,在MPA指標值接近的情況下,本文方法在FWIoU和TPR指標上分別提高了1.11%和2.25%。通過上述對比實驗結(jié)果分析可見,本文方法繼承了CNN和Swin Transformer的結(jié)構(gòu)和優(yōu)點,充分結(jié)合了多層次特征信息,可以對超聲甲狀腺圖像實現(xiàn)更準確的分割。
不同分割模型在超聲甲狀腺測試集上的分割結(jié)果如圖5所示。圖5(a)為4張超聲圖像,圖5(b)為放射科醫(yī)生注釋的分割圖,圖5(c)為本文方法的分割結(jié)果,圖5(d)~圖5(k)依次為FCN、U-Net、PSPNet+MobileNetV2、PSPNet+ResNet-50、Swin-Unet、DeepLabv3+Xception、LinkNet、DeepLabv3+MobileNetV2模型分割結(jié)果。由圖5可見,本文所提出的方法對不同大小的結(jié)節(jié)的整體分割效果明顯優(yōu)于其它模型。
圖5 不同分割模型分割結(jié)果
2.3.2 Swin Link模型變體對比
通過調(diào)整模型參數(shù),得到了4種模型變體,分別為Swin Link-T、Swin Link-S、Swin Link-B和Swin Link-L,4種模型參數(shù)見表3。Swin Transformer引入了Windows Multi-head Self Attention(W-MSA),輸入圖像被分割成不重疊的windows,分辨率為224×224和448×448的甲狀腺超聲圖像windows大小為7,分辨率為384×384甲狀腺超聲圖像windows大小為12,每個windows內(nèi)部分別進行Multi-head Self Attention計算。另外,如圖1所示,Swin Transformer包含4個不同的Swin Transformer Blocks,不同的Swin Transformer Blocks對應(yīng)不同數(shù)量的Swin Block,其中Num blocks為2/2/6/2分別表示4個Swin Transfor-mer Blocks中對應(yīng)Swin Block的數(shù)量,即為2、2、6、2,Num heads為3/6/12/24分別表示4個Swin Transformer Blocks中對應(yīng)head的數(shù)量,即為3、6、12、24。
表3 4種模型參數(shù)
本文在Swin Link-T、-S、-B和-L這4種模型變體上分別對比了3種超聲圖像分辨率的分割性能,對比結(jié)果見表4。表4表明,相比于Swin Link-T、Swin Link-B和Swin Link-L這3種模型變體,Swin Link-S在DSC、MPA、PPV、FWIoU和ACC指標上實現(xiàn)了最優(yōu)值,在MPA指標上,Swin Link-S在分辨率為224×224的超聲圖像上分別提高了2.43%、3.24%和6.65%。
表4 4種模型變體對比結(jié)果
3種Swin Link模型變體在超聲甲狀腺測試集上的分割結(jié)果如圖6所示。圖6(a)為6張超聲圖像,圖6(b)為放射科醫(yī)生標注的分割圖像,圖6(c)~圖6(e)為Swin Link-T模型的分割結(jié)果,對應(yīng)超聲圖像的分辨率分別為224×224、384×384和448×448。圖6(f)~圖6(h)為Swin Link-S模型的分割結(jié)果,對應(yīng)超聲圖像分辨率分別為224×224、384×384和448×448,圖6(i)~圖6(k)為Swin Link-L模型的分割結(jié)果,對應(yīng)超聲圖像分辨率分別為224×224、384×384和448×448。
圖6 3種模型變體分割結(jié)果
由圖6可見,在第一行分割結(jié)果中,第f列分割圖最優(yōu),第二行中,第h列分割圖最優(yōu),第三行中,第g列分割圖最優(yōu),第四行中,第i列分割圖最優(yōu),第五行中,第f列分割圖最優(yōu),第六行中,第h列分割圖最優(yōu)。其中,f、g、h列對應(yīng)Swin Link-S模型的分割結(jié)果,超聲圖像的分辨率依次為 224×224、384×384、448×448。綜上所述,Swin Link-S模型的超聲圖像分割性能整體最優(yōu)。
2.3.3 時間對比
不同分割模型平均分割時間(以秒為單位)見表5。為了保證實驗的公平性,所有實驗均在同一臺計算機上進行。
表5 平均分割時間
由表5可見,Swin Link-T和Swin Link-S模型完成圖像分割所需平均時間較少,分別為0.213 s和0.240 s。相比于DeepLabv3+MobileNetV2與LinkNet模型,在計算時間分別相差0.0028 s,0.0023 s的情況下,Swin Link-T模型在MPA指標上分別提高了4.39%,7.59%。在計算時間相差0.0055 s的情況下,相比于DeepLabv3+MobileNetV2模型,Swin Link-S模型在MPA、PPV和FWIoU指標上分別提高了10.02%、1.50%和1.01%。在計算時間相差0.005 s的情況下,相比于LinkNet模型,Swin Link-S模型在MPA、PPV和FWIoU指標上分別提高了6.82%、1.10%和1.11%。綜上所述,本文提出的方法在用時相對較少的情況下,在多個指標上取得了更好的分割性能指標。由此可見,相比于其它分割模型,本文方法的超聲圖像分割性能整體最優(yōu)。
2.4.1 主干網(wǎng)絡(luò)的消融
本文使用Swin Transformer作為主干網(wǎng)絡(luò)提取特征,其采用特征金字塔結(jié)構(gòu),多個Swin Transformer Blocks可以提取豐富的局部細節(jié)和抽象的語義信息。為了實現(xiàn)更好的分割性能,使用Swin Transformer與其它6種主干網(wǎng)絡(luò)進行超聲甲狀腺結(jié)節(jié)分割實驗,實驗結(jié)果見表6。
表6 不同主干網(wǎng)絡(luò)對比結(jié)果
由表6可見,相比于GoogleNet、MobileNetV2、VGG16、ResNet-50、ResNet-101和EfficientNet-B0,Swin Transformer作為主干網(wǎng)絡(luò)在MPA、TPR和PPV指標上實現(xiàn)了最優(yōu)值,尤其在MPA指標上分別提高了4.23%、3.91%、3.46%、3.32%、7.31%和1.2%。相比于主干網(wǎng)絡(luò)VGG16,在FWIoU、DSC、ACC指標上相差0.11%、0.04%、0.05%的情況下,Swin Transformer在MPA、TPR、PPV指標上分別提高了3.46%、0.64%、0.98%。由此可見,本文使用的主干網(wǎng)絡(luò)提取特征能力更強,從而實現(xiàn)了更好的超聲圖像分割性能。
2.4.2 特征橋接單元的消融
單向特征橋接單元(OFU)是實現(xiàn)多級特征融合的前提。一方面,OFU通過在Swin Transformer和卷積神經(jīng)網(wǎng)絡(luò)兩個分支之間橋接不同數(shù)量的Swin Block和卷積模塊來捕獲、融合多層語義特征。另一方面,3個OFU能實現(xiàn)多層次特征圖再次下采樣,進一步增大感受野。為了實現(xiàn)更好的分割性能,實驗采用SwinTransformer為主干網(wǎng)絡(luò),在增加或去掉OFU兩種情況下的實驗結(jié)果見表7。
表7 OFU與No OFU對比結(jié)果
由表7可見,相比于沒有OFU的情況下,Swin Link-B、Swin Link-L兩個模型在6個性能指標上均具有提升。Swin Link-T、Swin Link-S、Swin Link-B和Swin Link-L這4種模型在MPA和PPV指標上均有明顯提升,尤其在MPA指標上提升效果顯著,對比結(jié)果如圖7所示。綜上所述,OFU模塊在本文提高甲狀腺結(jié)節(jié)分割性能的方法中扮演了重要的角色。
圖7 MPA指標對比
2.4.3 損失函數(shù)權(quán)重的消融
本文使用BCE loss和Dice loss共同監(jiān)督預(yù)測分割圖像,如式(3)所示,其中α,β是超參數(shù),用于平衡兩個損失函數(shù)之間的權(quán)重。為了實現(xiàn)更好的分割性能,使用Swin Link-S模型,分別對兩個損失函數(shù)賦予不同的權(quán)重進行實驗,實驗結(jié)果見表8。
表8 不同權(quán)重的損失函數(shù)對比結(jié)果
由表8可見,在參數(shù)α設(shè)置為0.0,參數(shù)β設(shè)置為1.0時,Swin Link-S模型在MPA和PPV指標上取得了最優(yōu)值,分別為90.18%和99.20%,然而,在FWIoU、DSC、TPR與ACC指標上取得了最低值。在參數(shù)α設(shè)置為0.4,參數(shù)β設(shè)置為0.6時,Swin Link-S模型在MPA和PPV指標上取得了次優(yōu)值,然而,在FWIoU、DSC、TPR與ACC這4個指標上取得了最優(yōu)值。綜合實驗結(jié)果,本文設(shè)置參數(shù)α為0.4,參數(shù)β為0.6可以實現(xiàn)更好的整體分割性能。
本文提出了一種多層特征融合的超聲甲狀腺結(jié)節(jié)分割方法。主要利用Swin Transformer分支和CNN分支來捕獲、融合不同特征層次的信息,同時采用單向特征橋接單元(OFU)來橋接多層語義特征。Swin Transformer分支的特征圖分別經(jīng)過3個OFU進行下采樣,進一步增大感受野。本文實驗是在斯坦福大學(xué)AIMI共享數(shù)據(jù)集上進行,利用MPA、FWIoU、DSC、TPR、PPV和ACC這6個指標進行分析。實驗結(jié)果表明,相比于其它模型,所提模型在用時較少的情況下,在MPA、FWIoU、DSC、PPV和ACC這5個指標上都取得了最優(yōu)值。但是所提模型結(jié)構(gòu)較復(fù)雜,訓(xùn)練參數(shù)稍多,因此,后續(xù)本文將重點構(gòu)建一個可部署到醫(yī)療設(shè)備中的輕量級圖像分割網(wǎng)絡(luò)。