梁禮明,何安軍,陽 淵,朱晨錕
(江西理工大學 電氣工程與自動化學院,江西 贛州 341000)
在各種癌癥中,結直腸癌是最常見的惡性腫瘤之一,其發病率和死亡率均位于世界前三[1]。最新發布的數據顯示,2020年世界結直腸癌新發病數約為193萬,占全部惡性腫瘤的10%,且晚期結直腸癌死亡率高達90%[1]。因此,定期通過結腸鏡篩查結腸是預防結直腸癌的有效方法。盡管結腸鏡檢查被認為是結直腸癌篩查的金標準,但這項檢查很大程度取決于內鏡醫生的工作經驗和個人能力,導致息肉檢查的漏檢率高達14%~30%[2]。因此,在臨床環境下設計一種自動準確分割的結直腸息肉算法變得十分重要。
傳統的息肉分割方法主要是通過提取顏色、紋理和形狀等特征,然后使用分類器來區分息肉和其周圍環境。如Gupta等[3]采用一種基于邊緣算法,通過檢測不同區域的像素值或梯度變化顯著的區域,從而分割出目標區域。Vala等[4]提出了一種基于閾值的算法,利用圖像灰度值計算一個或多個閾值,并通過比較圖像的灰度值與所得閾值,進而從背景中分割出目標區域。然而息肉與周圍粘膜之間對比度低,且息肉在大小、顏色和形狀上各異,導致傳統分割方法分割性能低、泛化性能差、漏檢率很高。
近年來,隨著深度學習在計算機視覺領域的不斷發展,已經被證明明顯優于傳統機器學習分割方法。比如,Brandao等[5]首先使用全卷積網絡(Fully Convolution Network,FCN)和預訓練的VGG[6]模型在結腸鏡圖像中識別和分割息肉,實現了端到端的逐像素分割。Zhou等[7]在原U-Net[8]的基礎上添加了一系列嵌套的密集跳躍路徑,形成了一個具有深度監督密集連接的編碼器解碼器網絡U-Net++。Jha等[9]提出了ResUNet++,以ResNet[10]作為骨干網絡,結合殘差塊、空洞空間金字塔池化和注意力模塊,對息肉分割的部分區域具有很高的準確率,但對邊界處理還存在模糊和缺失等問題。Fan等[11]提出了PraNet,使用一個并行解碼器來聚合高級特征,然后使用一個反向注意模塊來建立區域和邊界之間的關系,從而糾正一些錯誤位置的邊界預測。Nguyen等[12]提出了CCBANet利用級聯上下文模塊來提取局部和全局特征,并提出平衡注意模塊來增加對前景、背景和邊界區域的注意。盡管上述方法與傳統方法相比,息肉分割性能有了較大的提升,但仍然存在一些問題,例如息肉與周圍粘膜之間對比度較低的區域分割精度低、分割邊界存在偽影、分割圖像內部不連續以及錯分割和分割不足等問題。
為了解決上述問題,實現更高的邊界分割精度,本文提出了一種融合Transfomer和多尺度并行注意網絡(Fusion of Transfomer and Multiscale Parallel Attention Networks,FTMPA-Net)的結直腸息肉分割算法,主要包括以下幾點工作:① 在跳躍連接處引入多尺度感受場模塊(Multiscale Receptive Field Block,RFB)和高效通道注意力機制,以重新加權編碼器的特征,增強分割任務的關鍵特征,同時抑制背景顏色的響應;② 在譯碼部分采用并行解碼模塊來聚合不同尺度的特征,有效地將上下文信息進行高效融合;③ 提出了一種新的高效多頭注意力機制(Efficient Multi-Head Self-Attention Module,EMHSA),將經過不同模塊的深層特征、淺層特征和全局上下文特征相融合,減少各特征之間的語義鴻溝,細化邊緣信息,構建局部與全局的聯系,提升分割精度。
由于息肉在形狀、大小和位置上有很大的差異性(類內不一致)以及在運動模糊和光反射等條件下,息肉和周圍背景具有高度的相似性(類間不一致),為了克服類內不一致和類間不一致,本文以改進的密集網絡(HarDNet)作為基本主干,提出了FTMPA-Net,其主要結構包括改進的密集網絡、RFB、高效通道注意力機制、并行解碼模塊和EMHSA。
FTMPA-Net的網絡結構如圖1所示。首先將數據增強后的圖像輸入到改進的密集網絡編碼器中,逐層提取息肉圖像的語義信息和空間細節。其次,在編碼器和解碼器之間的跳躍連接部分引入RFB和高效通道注意力機制,利用不同的感受野去捕捉變化尺寸的待分割目標,進而加強空間和通道相關性信息的表征能力。然后,通過并行解碼模塊逐層恢復特征,生成初始預測分割結果圖用于后續深層監督。最后,利用EMHSA以逐像素點的方式完善邊緣結構信息,建立局部與全局的依賴關系,得到最終預測分割結果圖。其中,在生成初始預測分割結果和最終預測分割結果前,都先使用1×1的卷積進行特征提取并通道壓縮,然后采用8×8的雙線性插值上采樣操作使其恢復至原始圖像大小。

圖1 FTMPA-Net網絡模型結構Fig.1 FTMPA-Net network model structure
由于息肉圖像中待分割的目標區域與周圍環境具有高度的相似性,單一尺度的特征學習往往忽略了上下文語義信息,不能建立局部與全局的依賴關系,最終影響分割性能。本文使用RFB[13],用不同的感受野來提取目標區域特征信息,并根據目標區域的大小動態分配不同的學習權重,進而提高特征學習的表征能力和構建全局與局部的聯系。RFB如圖2所示。

圖2 RFBFig.2 Multi-scale receptive field block
包含4個并行的分支:第1個分支采用1×1的卷積操作;第2個分支采用堆疊的1×3,3×1和3×3卷積操作;第3個分支采用堆疊的1×5,5×1和3×3卷積操作;第4個分支采用堆疊的1×7,7×1和3×3卷積操作。在每一個3×3和1×1的卷積后面都加入非線性激活函數(ReLU)和一個批量歸一化(BN)操作,最終每個分支獲得的感受野分別為1,3,5和7。為了保證每條支路特征之間的相關性和完整性,最后將4條支路提取到的多尺度特征進行Concatenate操作。
注意力機制是可以嵌套在機器學習算法中的一種輕量級結構,它可以為其感興趣的區域分配更大的權重,幫助模型重新校準權重的分配。為了捕獲空間和通道特征的相關性信息,同時抑制不相關區域的特征激活,本文使用高效通道注意力模塊(Efficient Channel Attention Moudle,ECAM),沿著通道維度進行注意,有效地修剪特征響應,增強共性特征激活,使模型能準確地定位待分割區域,提高不同尺度特征的適應能力。ECAM是一個輕量級通用模塊,它可以無縫地集成到任何卷積神經網絡架構中,而且可以忽略計算開銷,并且可以與基本卷積神經網絡骨架一起進行端到端訓練[14]。
ECAM如圖3所示。圖中,C為特征圖的通道數,H為特征圖的高度,W為特征圖的寬度。首先,對輸入特征圖采用全局平均池化(AvgPool)和全局最大池化(MaxPool)操作聚焦特征圖的空間信息,得到平均池化特征描述符(FAvgPool)和最大池化特征描述符(FMaxPool)。然后,將這2組特征圖輸送到一個權重共享的多層感知機網絡(Muti-Layer Perceptron,MLP)。多層感知機網絡包括了1×1卷積(降維操作,減少計算量)、ReLU激活函數(增加非線性元素)和一個恢復到與輸入分辨率相同的升維操作(1×1標準卷積操作實現)。再后,將這2個通道注意力映射圖進行和操作。最后,利用Sigmoid激活函數將特征值壓縮到0和1之間,獲得最終的通道相關矩陣。通道相關矩陣Mc為:

圖3 ECAMFig.3 Efficient Channel Attention Moudle
Mc=S{σReLU[MLP(FMaxPool)]+σReLU[MLP(FAvgPool)]},
(1)
式中,S表示Sigmoid激活函數;σReLU表示ReLU激活函數;F為輸入特征圖;Mc∈RC×1×1。
為了增強通道信息的表征能力,將原始特征圖F和經過Sigmoid激活函數獲得的通道相關矩陣Mc進行元素乘法,最終獲得具有空間和位置信息的高效注意力特征圖,其計算式為:
MF=Mc⊙F,
(2)
式中,⊙表示矩陣乘法。
現有的分割網絡都是編碼器解碼器結構,比如U-Net,ResUnet和TGA-Net,這種結構通常聚合卷積神經網絡中提取的所有多層次特征,這使得模型計算量偏大,嚴重消耗計算機資源。為了減少計算資源,加快推理速度,本文采用如圖4所示的并行部分解碼模塊(Parallel Decoding Module,PD)[15]。圖中,MF5,MF4和MF3為編碼器后3個階段經過RFB和ECAM的輸出特征圖。PD具體來說主要由2個級聯部分組成。第一部分,深層特征重構,首先將高級特征圖MF5進行2×2的雙線性插值上采樣操作使其與特征圖MF4具有相同的分辨率,然后通過2個3×3的卷積單元進行特征映射,分別得到F5-1和F5-2,接著將特征映射圖F5-1和特征圖MF4進行矩陣乘法,并將乘積結果與特征映射圖F5-2進行和操作,最后使用3×3的卷積來平滑連接特征,最終得到融合特征圖F5-4,其過程計算式如下:

圖4 并行解碼模塊Fig.4 Parallel decoding module
F5-4=Conv{Conv[up1(MF5)]}⊙MF4+Conv[up1(MF5)],
(3)
式中,Conv表示3×3的標準卷積;up1表示2×2的雙線性插值上采樣;⊙表示矩陣乘法。
第二部分跟第一部分的過程類似。淺層特征與深層特征的高效融合。首先將特征圖MF5,MF4,F5-4分別進行上采樣操作,使其分辨率與特征圖MF3的分辨率相同,并分別利用3×3卷積單元將特征圖平滑處理,得到特征映射結果F5-3,F4-3和F5-4-3。然后將平滑處理得到的特征映射結果F5-3,F4-3與特征圖MF3三者進行矩陣乘法,得到F543,接著將映射結果F543和平滑處理得到的特征圖F5-4-3進行相加,最后將累加得到的特征映射結果依次經過2個3×3的卷積進行降維操作。該操作一方面用于生成初始預測結果,另一方面用于后續邊界監督。該過程計算式如下:
Fout=Conv{Conv[up2(MF5)]⊙Conv[up1(MF4)]⊙
MF3}+Conv[up1(F5-4)],
(4)
式中,Conv表示3×3卷積;up1表示2×2的雙線性插值上采樣;up2表示4×4的雙線性插值上采樣;⊙表示矩陣乘法。
由于圖像是高度結構化的數據,在局部高分辨率特征圖中大多數像素除了邊界區域外都具有相似的特征。因此,在所有像素之間成對注意計算是非常低效和冗余的。從理論角度來看,長序列自我注意本質上是低秩的,這表明大部分信息集中在最大奇異值上。受這一發現以及文獻[16-17]的啟發,提出了EMHSA以高級位置信息作為邊界監督,逐步細化邊緣信息,從不同的維度上建構區域與邊界之間的關系。
EMHSA如圖5所示,其中Fout1和MF2分別是并行解碼模塊的輸出特征圖和編碼第二階段經過ECAM的輸出特征圖,C為特征圖的通道數,H為特征圖的高度,W為特征圖的寬度。首先,將輸入特征圖Fout1和MF2分別采用1×1的標準卷積進行投影映射得到3個特征向量Q,K,V。為了減少計算量,加快收斂速度,采用雙線性插值下采樣操作對特征向量K,V進行空間尺寸收縮,其中收縮尺寸大小為8×8。其次,為了獲得絕對的上下文語義信息以及添加相對應的高度和寬度信息,本文使用二維相對位置進行位置編碼。假設像素i=(ix,iy),像素j=(jx,jy),則i,j之間的相對位置編碼計算式為:

圖5 EMHSAFig.5 Efficient multi-head self-attention module
(5)

為了將位置編碼信息嵌入到高級語義信息特征圖中,首先將特征向量Q與含位置編碼信息特征圖T進行矩陣乘法,并與特征向量Q和降維后的映射鍵矩陣K′相乘的結果進行矩陣加法,得到對應的計算權重值,然后通過Softmax函數將權重值自適應歸一化,在把歸一化得到的結果沿著降維鍵矩陣V′的方向進行加權求和,從而得到EMHSA的輸出,計算式為:
(6)

為了驗證本文算法的有效性,實驗采用了CVC-ClinicDB[18]數據集和Kvasir-SEG[19]數據集。CVC-ClinicDB數據集為2015年由醫學圖像與計算機輔助國際會議發布的公開數據集;Kvasir-SEG數據集于2020年用于計算機輔助胃腸道疾病檢測。各個數據集的細節如表1所示,為了方便模型的訓練和測試,將CVC-ClinicDB數據集和Kvasir-SEG數據集的圖像統一裁剪成352 pixel×352 pixel。根據文獻[20],將CVC-ClinicDB數據集和Kvasir-SEG數據集按照8∶1∶1劃分為訓練集、驗證集和測試集3個部分,為了讓模型能學習到某些細微的特征,在進行模型訓練之前本文對這2個數據集的原始圖像以及對應標簽都同時進行數據歸一化操作。

表1 數據集細節描述Tab.1 Detailed description of datasets
本文實驗環境基于開源的PyTorch框架,所有實驗都是在Ubuntu16.04操作系統Inter Core i7-6700H CPU 16 GB內存上進行,顯卡為NVIDA GeForce GTX2070 GPU 8 GB。在模型訓練過程中采用的網絡損失函數是加權交并比(IoU)損失和加權二值交叉熵(BCE)損失之和,Adam優化器,批量處理大小設置為12,網絡迭代次數epoch設置為60,學習率設置為0.000 1。
為了評估本文算法的分割性能,采用醫學領域上常用的5個性能指標來對模型分割結果的準確性進行定量分析。
① 平均交并比(MIoU):指模型預測分割結果與金標準分割圖像的重疊范圍來度量被檢測圖像的準確度,最后對每一個類別取平均值,計算式為:
(7)
② 平均相似性系數(Mean Dice Similariy Coefficient,MDice):用于評估網絡模型分割結果與金標準圖像之間的相似度,計算式為:
(8)
③ 精確度(Precision):其含義是在實際為正的樣本中被預測為正樣本的概率,計算式為:
(9)
④ 召回率(Recall):其含義是在被所有預測為正的樣本中實際為正樣本的概率,計算式為:
(10)
⑤ 平均絕對誤差(MAE):逐像素比較指標,表示模型預測值與真實值之間絕對誤差的平均值,計算式為:
(11)
式中,TP表示正例被正確判斷成正例的樣本數;FN表示正例被錯誤判斷成負例的樣本數;TN表示負例被正確判斷成負例的樣本數;FP表示負例被錯誤判斷成正例的樣本數;GT為專家標注標簽;SR為網絡分割結果。
為了評估本文提出的FTMPA-Net算法的性能,在CVC-ClinicDB和Kvasir-SEG數據集上將本文算法對息肉圖像分割結果分別與Unet,Unet++,PraNet,ColonSegNet[21]和DDA-Net[22]算法對腸息肉的分割結果進行了對比,最終得到的性能指標對比結果如表2所示,其中加粗表示此項為最優值。從表2中的結果可以看出,本文提出的FTMPA-Net分割算法的MDice, MIoU, Recall, Precision和MAE五項指標均取得了最優的結果,在CVC-ClinicDB數據集上,這5項指標分別達到了95.58%,91.70%,95.86%,95.52%和0.007 2,比經典U-Net網絡的分割結果分別提高了4.41%,6.45%,4.16%,2.99%和降低了0.008 2。與先進CologSegNet網絡相比,在MDice和MIoU上分別提高了3.62%和4.65%。在Kvasir-SEG數據集上,這5項指標分別達到了92.34%,86.77%,95.01%,91.29%和0.021 8。比經典PraNet網絡在MDice, MIoU, Recall, Precision上分別提高了1.41%,1.56%,1.27%和0.74%。實驗結果表明,本文算法能有效地提升息肉分割精度,可以進一步提升醫生診斷的效率和準確率,減少醫生的誤診率。

表2 數據集CVC-ClinicDB和Kvasir-SEG在不同算法下的實驗對比數據Tab.2 Experimental comparison of datasets CVC-ClinicDB and Kvasir-SEG under different algorithms
圖6和圖7分別給出了本文算法與其他分割算法在CVC-ClinicDB數據集和Kvasir-SEG數據集上的分割結果對比。其中,圖6和圖7中的(a)~(h)分別對應的是原圖、真實標簽、U-Net、U-Net++、ColonSegNet、DDA-Net、PraNet和本文算法的分割結果圖。圖6中第1幅和圖7中第1幅圖存在息肉和周圍黏膜對比度低的現象,U-Net,U-Net++,ColonSegNet,DDA-Net和PraNet的分割結果出現了明顯的錯分割和漏分割情況,而FTMPA-Net可以捕獲更多的空間細節特征,高效精準定位息肉,從而使分割結果更能接近金標簽。圖6中第2幅和第3幅圖像存在局部過度曝光的情況,U-Net,U-Net++和ColonSegNet抑制背景顏色干擾能力較差以及精準定位息肉能力較弱,導致分割結果依然存在錯分割和漏分割的現象。DDA-Net和PraNet能有效地抑制干擾因素,但是在局部過度曝光區域邊界出現了偽影以及漏分割的情況。FTMPA-Net可以構建全局與局部的聯系,細化邊緣特征,使分割結果在邊界處能平滑連接。圖7中第2幅和第3幅圖息肉附近的背景顏色與待分割的息肉顏色幾乎一致,背景顏色的干擾容易導致息肉定位不準確,同時也影響息肉邊界分割,使目標區域難以區分。FTMPA-Net豐富的特征提取和強大的邊界處理能力使其在具有極致顏色干擾的背景時也能有效地精準定位息肉,也能在邊界處平滑分割,減少漏分割和錯分割的現象,而其他算法不同程度地出現了分割結果內部不連貫、分割邊界模糊、漏分割和錯分割問題,從而進一步說明本文算法的優越性和魯棒性。

圖6 CVC-ClinicDB數據集分割結果Fig.6 Segmentation results of CVC-ClinicDB dataset

圖7 Kvasir-SEG數據集分割結果Fig.7 Segmentation results of Kvasir-SEG dataset
為了進一步驗證本文算法的分割性能,表3給出了不同的息肉分割方法在Kvasir-SEG數據集的MIou, MDice, Recall和Precision值,數據來自2017—2022年相關文獻,加粗表示此項為最優值。

表3 Kvasir-SEG數據集算法對比Tab.3 Comparison of algorithm indexes in Kvasir-SEG dataset
從表3可知,現有的息肉分割算法在Kvasir-SEG數據集上的MIoU, MDice, Recall均低于本文算法,進而說明本文算法可以更好地定位息肉位置,細化邊緣信息,減少分割結果圖像中內部不連貫、錯分割和分割不足問題。文獻[15]采用編碼器解碼器結構,在跳躍連接處引入多尺度感受塊來減少編碼與譯碼之間的語義鴻溝問題,利用級聯解碼結構來恢復更多的空間細節,但該算法并沒有充分利用淺層特征,導致解碼部分提取特征能力不足,在Kvasir-SEG數據集上指標明顯低于本文算法。文獻[29]以ResNet50作為編碼器,在跳躍連接處采用一種混合通道空間注意模塊對編碼器提取的特征進行重新加權,在譯碼部分采用全局上下文金字塔特征提取模塊來捕獲多尺度接受閾的特征信息。最后利用特征融合模塊,融合高級信息、低級信息和全局上下文信息,來減少語義差異,完善邊緣細節,提高分割精度。在Kvasir-SEG數據集上精確度最高,比本文算法高了1.51%,而MIoU, MDice和Recall均比本文低1.47%,0.74%和3.11%。文獻[25]使用2個U型結構的網絡,在網絡中增加了SE模塊[30]來進一步增強對通道和空間信息的依賴性,同時在譯碼和解碼之間的底部采用ASPP模塊來提取多尺度信息,能很好地定位息肉,減少分割結果內部不連貫問題,獲得較好的分割性能,而本文算法在對比的4項指標上均高于文獻[25],進一步說明本文算法的優越性和準確性。
為了驗證實驗中每個模塊的有效性,并研究其在息肉分割上的實用性,本文使用控制變量方法在CVC-ClinicDB數據集上進行了消融實驗。FTMPA-Net1以密集型網絡為主干,在編碼器和解碼器之間的跳躍連接部分加入RFB和ECAM,解碼部分采用并行解碼模塊來聚合多尺度信息。FTMPA-Net2在FTMPA-Net1的基礎上將解碼部分中的并行解碼模塊替換成EMHSA。FTMPA-Net3和FTMPA-Net4與最終模型FTMPA-Net的區別在于跳躍連接處是否引入RFB和ECAM。定量消融分析結果如表4所示,展示了每個模塊對息肉分割精度的影響,其中加粗表示此項為最優值。從表4可以看出,FTMPA-Net1和FTMPA-Net的MDice分別為93.76%和95.58%,MIoU分別為89.44%和91.70%,明顯提高算法的MDice和MIoU,說明EMHSA模塊能進一步細化邊緣信息,構建局部與全局的聯系。FTMPA-Net2在FTMPA-Net的基礎上去掉了PD,使得MDice和MIoU下降了1.3%和1.96%,從側面反映PD模塊能有效地融合多尺度上下文信息,增強通道和空間特征的表征能力。FTMPA-Net3和FTMPA-Net4在FTMPA-Net的基礎上去掉了RFB和ECAM,實驗結果表明RFB能利用不同的感受野去適應的不同大小的分割目標,ECAM能提高各特征之間的空間細節聯系,抑制背景顏色特征的響應,使得MDice, MIoU和Recall分別提高了0.64%和0.66%,0.55%和0.52%,0.08%和0.73%。本文算法在并行解碼模塊的基礎上加入了EMHSA,在提高交并比的同時能權衡召回率和精確度。

表4 CVC-ClinicDB數據集消融指標對比Tab.4 Comparison of ablation metrics in CVC-ClinicDB dataset
消融結果對比實驗分割圖如圖8所示。從圖8中可以看出,EMHSA能細化邊緣信息,建立局部與全局的關系。對比圖8(c)和圖8(d)的分割結果,圖8(c)分割效果精度更高,邊緣細節更加清晰,然而圖8(d)的分割結果中出現了偽影、錯分割和分割不足現象。高效通道注意力機制,能有效地修剪特征響應,增強共性特征激活,使模型能準確地定位待分割區域,提高不同尺度特征的適應能力。對比圖8(c)和圖8(e)的分割結果,圖8(e)的分割結果中出現了內部不連貫問題,分割邊界出現錯分,而圖8(c)能更好地表征通道維度的信息,區分背景與前景,使其分割結果與真實標簽更接近。并行解碼模塊,能聚合多層次語義信息,減少各特征信息之間的語義差異。對比圖8(c)和圖8(f)分割結果,圖8(c)有更好的邊緣特征、更多的細節信息,沒有出現分割結果不連續問題。RFB利用不同的感受野去學習不同大小的待分割目標,使其保留更多的空間細節,增強有效信息的權重。對比圖8(c)和圖8(g)的分割結果,圖8(g)的分割結果中邊緣細節分割不準確,出現了少部分錯分割和漏分割的問題。綜合上述分析,最終FTMPA-Net在分割結果邊界處與金標簽更為接近,且在分割結果邊界外部不存在圖像偽影和圖像內部不連貫問題。

圖8 CVC-ClinicDB數據集消融結果對比Fig.8 Comparison of ablation results in CVC-ClinicDB dataset
針對結直腸息肉精細分割,提出了一種端到端的醫學圖像分割算法FTMPA-Net,引入了4個功能模塊來解決結直腸息肉分割結果精度低、存在偽影、錯分割和分割不足問題。其中,RFB和ECAM能提取更多的細節特征信息,并建立各信息之間的長期依賴關系,同時有效地抑制背景顏色的響應,提高網絡的性能。PD通過逐層聚合由高效通道注意力機制得到增強特征圖,使各層次之間的特征信息進行有效交互,減少語義差異,最終生成初始預測分割圖,用于后續深層監督。其次,提出的EMHSA去融合高級語義信息和多尺度語義信息,以解決目標腸息肉尺寸大小不一和邊界分割模糊問題,進一步細化邊緣特征,使分割邊界處能平滑連接。在CVC-ClinicDB數據集和Kvasir數據集上評估FTMPA-Net算法的分割性能。實驗結果表明,本文算法的整體分割性能均優于目前先進分割算法,具有重要的臨床參考價值。