




摘 要:針對結直腸息肉圖像中由于病灶形狀不規則導致分割邊界模糊及分割精度低的問題,提出了一種基于混合注意力和金字塔池化的結直腸息肉分割算法PC-TransUnet(Pyramid Convolutional TransUnet)。首先,采用金字塔池化模塊(Pyramid Pooling Module,PPM)捕獲不同尺度的上下文信息,從而增強網絡的感受野;其次,利用混合注意力模塊(Convolutional Block Attention Module,CBAM)關注重要的語義特征并抑制無關的信息;最后,將解碼器中的激活函數ReLU替換為SiLU,通過增加激活范圍進一步提高分割精度。在Kvasir-SEG和CVC-Clinic DB數據集上的實驗結果顯示,該算法的平均相似性系數分別達到了96.99%和96.41%,較基礎網絡分別提高了2.91百分點和2.96百分點。經過實驗驗證,PC-TransUnet在提高分割精度、減少分割邊界模糊方面表現出色,整體性能均優于當前的主流算法。
關鍵詞:結直腸息肉分割;混合注意力;金字塔池化;SiLU
中圖分類號:TP394.1 文獻標志碼:A
0 引言(Introduction)
結直腸癌的患病率長期保持在一個較高的水平,多年來一直位居全球癌癥發病率的第三位[1]。根據病情的嚴重程度,結直腸癌患者可分為I期至V期。其中。I期結直腸癌患者的5年相對生存率為90%,如果在病情早期能夠得到及時治療,其5年相對生存率能夠提高至90%以上;然而,一旦病情發展至晚期,即V期,結直腸癌患者的5年相對生存率將大大降低,僅為14%[2]。因此,在早期對結直腸癌進行排查顯得尤為重要,患者若能早期進行檢查,并得到有效且及時的診治,可以有效地降低患者的死亡率。
當前,預防結直腸癌最直接的做法是定期進行結腸鏡檢查。以往,對于結直腸息肉的診斷,大多依賴于醫生的專業技能和經驗,這一過程耗時費力。在結腸鏡的觀察中,息肉在尺寸、形狀、色彩及紋路方面存在顯著差異,與其周邊的組織黏膜相似度高且異常組織邊界不明確,所以診斷在很大程度上需要依賴醫生的經驗。這種過度依賴可能會增大診斷錯誤或漏診的風險[3]。因此,在臨床實踐場景中,設計一種能夠自動、準確分割的結直腸息肉算法顯得尤為重要。
1 相關研究(Relatedresearch)
傳統的分割方法依賴于提取物體的顏色、形態及紋理等重要特征,采用分類器將息肉與其附近的非息肉部分進行分隔。MAMONOV等[4]運用二值識別分類器,將視頻幀標識為包含或不包含息肉片,從而精確地區分出所需的目標區域。VALA等[5]運用閾值計算圖像的灰度值,通過比較圖像的灰度級別和計算得出的閾值,能夠有效地將目標區域與背景信息區分開來。然而,這些方法往往存在分割性能不佳和泛化能力差的問題。
近年來,隨著深度學習技術的不斷進步,基于深度學習構建的神經網絡在醫學圖像領域也展示出了極大的應用潛力。例如,RONNEBERGER等[6]提出了一種基于UNet網絡的完全對稱編解碼器結構,該結構通過跳躍連接,實現編碼器和解碼器之間的特征融合。CHEN等[7]提出了TransUnet(Merit both Transformers andU-Net)模型,其擁有長距離依賴性和多頭自注意力的并行計算能力。但在Transformer的編碼過程中,沒有實現圖片在局部區域內的有效信息交互,并且沒有考慮到通道和位置之間的相互關聯。FAN等[8]提出了PraNet,通過并行解碼器結合高級特征,并加入反向注意模塊,以捕獲區域與邊界的相互關系,從而有效地解決了邊界預測中的位置誤差問題。
綜上所述,當前的結直腸息肉分割方法主要存在以下問題:①卷積神經網絡和Transformer的結合方式簡單,忽略了不同的特征信息之間的聯系,進而影響了息肉分割的準確率;②缺乏在多尺度特征之間探索目標區域,阻礙了網絡對多變化息肉的特征學習。為了解決上述問題,實現更高的分割精度,本文提出了基于混合注意力與金字塔池化的結直腸息肉分割算法PC-TransUnet。首先,在編碼器后一層使用PPM(Pyramid Pooling Module)模塊,用于捕捉不同尺度的上下文信息,從而提高網絡的感受野;其次,利用CBAM(Convolutional Block Attention Module)注意力模塊嵌入解碼器的最后一層,幫助解碼器更好地關注重要的語義特征并抑制無關的信息,從而提高模型的性能和泛化能力;最后,將解碼器中的ReLU激活函數替換成SiLU函數,通過擴大激活范圍進一步提高分割精度。
2 相關工作(Related work)
TransUnet[7]是2021年提出的一種應用在醫學圖像領域的語義分割模型,它通過引入自注意力模塊,能夠更好地捕捉圖像中的上下文信息,從而提高了分割的精度和準確性。TransUnet在編碼階段,使用經卷積神經網絡提取的編碼標記后的特征圖patch作為Transformer的輸入,以獲得圖像特征的全局依賴關系,進而生成了一個一維的向量;在解碼階段,對Transformer的輸出特征進行3輪的上采樣操作,最終將一維向量恢復為其原始圖像。同時,在編碼器和解碼器之間進行了3 次的跳躍連接操作,與CNN (Convolutional Neural Networks)輸出的各層級特征圖進行結合,以實現對目標區域精準的定位分割。然而,在TransUnet的Transformer編碼過程中,圖片在特定區域內的信息交流并不充分。在解碼階段,僅是簡單地將編碼后的特征與高分辨率特征結合,而沒有考慮到它們之間的通道和位置的關聯性;此外,TransUnet很難同時考慮到感知野的大小和邊界的分割精度,并且只能在一個特定的尺度上進行操作,因此還有很大的優化空間。
3 本文網絡結構(Network structure)
3.1 改進的PC-TransUnet網絡結構本文提出了一種基于混合注意力與金字塔池化的結直腸息肉分割算法PC-TransUnet,它分為編碼器、解碼器、跳躍連接3個部分,其中解碼器包括上采樣模塊、PPM 模塊和CBAM注意力模塊。將PPM模塊放在解碼器的第一層,這樣可以在上采樣之前捕捉不同尺度的上下文信息,充分擴大其感受野,以便于解碼器恢復足夠多的特征信息;由于在上采樣后擁有足夠的特征信息,所以將CBAM注意力模塊引入解碼器后,不僅可以幫助模型更好地關注重要語義特征,避免其混淆特征空間,還可以減少模型訓練的難度;將解碼器中的激活函數ReLU改為SiLU,可以幫助模型全面激活特征層,從而提高分割精度。PC-TransUnet網絡結構如圖1所示。
3.2 卷積混合注意力模塊
近年來,注意力廣泛地應用于計算機視覺任務中。在網絡中,所有輸入的特征對于模型訓練結果的影響是不同的,為了讓模型在學習過程中自動地關注更重要且有用的特征,引入注意力模塊是很關鍵的。
本文將使用CBAM 注意力模塊[9],利用前向網絡對圖像進行特征提取,從而得到更準確的特征信息。卷積混合注意力模塊的結構如圖2所示。該算法是基于局部區域內圖像之間的相似性來計算注意力值的,它主要由兩個部分組成:一個是空間注意力模塊(Spatial Attention Module,SAM),另一個是通道注意力模塊(Channel Attention Module,CAM)。基于提供的一個中間特征圖,依次通過不同的維度(通道和空間)推導出注意力圖,將注意力圖與輸入特征圖相乘,實現自適應特征優化,進而獲得最終的特征圖。該方法能夠動態地調整特征圖中各個通道和空間位置的重要性,在混合域中產生注意力向量完成特征重構。以上操作可以增加重要通道信息和空間信息的權重,抑制無關信息。盡管增加了額外的計算量,但是能在保持較低的額外計算成本的同時,顯著提高算法的性能。
3.2.1 通道注意力模塊
CAM模塊的工作原理是在空間維度上對特征圖進行壓縮處理,從而獲得一個一維矢量,然后進行一系列相關操作。通道注意力模塊如圖3所示,其操作方式如下:輸入特征F 的尺寸為H ×W ×C,H 代表特征圖的高度,W 代表特征圖的寬度,C 代表通道數量。首先,對輸入的特征圖進行全局平均池化和最大池化處理,從而獲得平均池化特征描述符和最大池化特征描述符,這些描述符用于整合特征映射的空間信息,以彌補空間信息的不足。其次,進一步將兩者通過權重共享的多層感知網絡(Muti-Layer Perception,MLP)進行處理,該網絡包含1×1卷積、ReLU激活函數以及一個升維操作。最后,將兩個生成的通道注意力特征向量進行累加,利用Sigmoid激活函數得到最終的通道注意力向量MC ,其計算公式為
MC=S{σ[MLP(A(F) ) ]+σ[MLP(M (F) ) ] } (1)
其中:F 是輸入特征圖;S 是Sigmoid激活函數;σ 是ReLU激活函數;A 是AvgPool;M 是MaxPool;MC 是最終生成的通道注意力向量,尺寸為1×1×C。
經過通道注意力模塊后,在每個特征通道上生成一個權重,再通過元素相乘的方式對輸入特征F 進行重標定,恢復其尺寸即H ×W ×C,生成最終的向量FC 。
3.2.2 空間注意力模塊
SAM模塊主要負責通道的壓縮操作。為了簡化計算的復雜度,該模塊采用了基于深度卷積神經網絡的模型。空間注意力模塊如圖4所示,其操作方式如下:利用CAM 模塊輸出的特征圖作為輸入特征圖F1,尺寸為H ×W ×C。首先,在通道的維度上執行全局的平均池化和最大池化操作,得到兩個尺寸不同的特征描述符,尺寸為H ×W ×1。其次,根據這些特征向量計算出它們之間的相似度,并與閾值比較,如果小于閾值則認為該圖像屬于同一個物體;利用兩個描述符進行數據拼接,得到了一個尺寸為H ×W ×2的特征圖;同時,為了避免出現冗余信息,將上述步驟合并。最后,通過一個卷積核尺寸為7×7的卷積步驟,將維度降低到一個通道,再經過Sigmoid激活函數生成空間注意力向量MS ,其計算公式為
MS=S(f7×7 [AvgPool(F1);MaxPool(F1) ])) (2)
其中:F1是輸入特征圖;S 是Sigmoid激活函數;MS 是最終生成的空間注意力向量,尺寸為H ×W ×1。
通過元素相乘的方式對輸入特征F1進行重標定,恢復其尺寸即H ×W ×C,生成最終的向量F2。
3.3 金字塔池化模塊
由于不同結直腸息肉圖像中待分割目標區域的大小和位置存在巨大的差異,所以有限的感受野無法有效地兼顧全局上下文信息,導致不同子區域之間的信息可能丟失,進而影響分割性能。為了在上采樣之前聚合不同尺度、不同子區域的上下文信息,擴大感受野,本文采用PPM 模塊[10]優化解碼器,使其能夠恢復足夠多的特征信息,以提高網絡獲取全局信息的能力。金字塔池化模塊如圖5所示。
金字塔池化融合了不同比例的特征,具體包括4個比例,其中最粗糙的是全局尺度的池化,尺寸為1×1,其余尺寸分別為2×2、3×3和6×6的池化操作,形成不同區域的信息表示,并得到多個尺寸的特征圖。隨后,執行1×1的卷積操作處理不同尺寸的特征圖,這樣可以顯著減少特征圖中包含的通道數量;采用上采樣(雙線性插值)技術得到金字塔模塊前部具有相同大小的特征圖,并在多個通道上執行拼接步驟。
3.4 其他改進
激活函數:在TransUnet解碼器部分,由于ReLU函數為非零均值函數,會使神經網絡的收斂速度變慢,并且不能全面激活特征層,因此將解碼器中的ReLU函數改成SiLU 函數。相較于ReLU函數,SiLU函數在接近零時具有更平滑的曲線,并且網絡的輸出范圍為0~1,既能夠緩解梯度消失問題,又能解決ReLU函數在負數部分的梯度為零的問題,并且可以全面激活特征層。
4 實驗結果與分析(Experimental results and analysis)
4.1 實驗數據集
為了驗證本文提出模型的實用性和適應性,使用了兩套公共醫學影像結腸鏡圖像的數據集,分別是CVC-ClinicDB[11]數據集與Kvasir-SEG[12]數據集,數據集的細節描述如表1所示。
在實驗之中,將CVC-ClinicDB數據集和Kvasir-SEG數據集按照8∶1∶1的比例劃分為訓練集、驗證集和測試集3個部分[13],并對數據進行歸一化操作。本文提出的算法運行的硬件環境如下:Inter Corei7-6700H CPU 16GB內存,顯卡為NVIDA GeForceGTX3060 GPU32GB,12GB顯存。網絡架構均在Python3.7版本下使用tensroflow2.6版本進行構建。
4.2 評估指標
為了公正地評價本文提出的模型與其他模型在分割精度上的差異,并確保模型構建的合理性,本研究采用相同的參數配置和數據集進行模型的訓練和測試,并進行了比對分析。評價過程中,具體使用了三種常用的評估指標衡量模型的性能。
(1)平均交并比(Mean Intersecti onover Union,MIoU):描述的是模型預測的分割結果與金標準分割圖像之間的重合區域,以此評估被檢測圖像的準確性,并在此基礎上對每個分類取其平均值,計算式為
其中:D 為原標注標簽,E 為網絡分割結果。
4.3 實驗結果分析
為了檢驗本文提出的模型PC-TransUnet在分割性能方面的表現,將其與現有的主流算法(包括U-Net、U-Net++、TransUnet、CaraNet和PraNet)進行了對比分析,并最終確定了不同模型在分割性能方面的具體指標。
將PC-TransUnet與相關文獻提出的方法如U-Net、UNet++、TransUnet、CaraNet、PraNet在CVC-ClinicDB數據集進行了比較。在CVC-ClinicDB數據集上各類算法的對比結果如表2所示,表中加粗的數值表示此項指標為最優。由表2中的結果可知,PC-TransUnet的平均相似性系數、平均交并比、平均絕對誤差均得到最優的結果,分別為96.41%、90.80%、0.50%。與TransUnet相比,PC-TransUnet的平均相似性系數、平均交并比分別提高了2.96百分點、2.20百分點,平均絕對誤差降低了0.30百分點;與CaraNet相比,則分別提高了2.81百分點、2.10百分點以及降低了0.20百分點。
表3將PC-TransUnet與相關文獻提出的方法如U-Net、U-Net++、TransUnet、CaraNet、PraNet在Kvasir-SEG數據集上進行了比較。在Kvasir-SEG數據集上各類算法的對比結果如表3所示,由表3中的結果可知,PC-TransUnet的平均相似性系數、平均交并比、平均絕對誤差均得到最優的結果,分別為96.99%、92.60%、1.0%。與TransUnet相比,PC-TransUnet 的平均相似性系數提高了2.91百分點,平均交并比提高了2.10 百分點,平均絕對誤差降低了0.80百分點;與CaraNet相比,PC-TransUnet的平均相似性系數提高了5.19百分點,平均交并比提高了6.10百分點,平均絕對誤差降低了1.30百分點。
圖6進一步展示了本文提出的模型在圖像器官分割精度以及對邊緣預測能力上的提升效果。實驗結果表明,本文算法能夠精準定位息肉,有效地提升息肉分割精度,進而有效提升了醫生診斷的效率和準確率,同時降低了醫生的誤診率。
4.4 消融實驗
為了驗證本文提出的模型中各個模塊的有效性,研究人員以TransUnet作為基準模型,在CVC-ClinicDB和Kvasir-SEG數據集上進行消融實驗,依次添加部分模塊來驗證其對模型性能的影響,消融實驗的結果如表4 所示。表4 中,M1 為TransUnet模型;M2為TransUnet+SiLU,即將模型中解碼器中激活函數ReLU 替換為SiLU;M3為TransUnet+SiLU+CABM,即在M2 的基礎上在解碼器的最后一層后加入CABM;M4為TransUnet+SiLU+CABM+PPM,即在M3的基礎上將PPM 放在解碼器第一層,也就是本文方法PCTransUnet。
表4中的結果展示了每個模塊對息肉分割精度的影響,其中加粗是表示此項為最優值。其中,M2結構優于M1,平均相似性系數分別為93.99% 和93.28%,平均交并比分別為90.80%和90.00%。平均相似性系數和平均交并比的提升,說明SiLU函數可以確保模型能夠更好地學習到息肉的特征信息,從而提高模型的性能。M3結構優于M2,平均相似性系數和平均交并比分別提升了1.80百分點和0.30百分點,說明CBAM 注意力模塊的加入能夠幫助模型更關注重要的邊緣語義特征,從而進一步提高分類精度。M4結構優于M3,平均相似性系數和平均交并比分別提升了0.63百分點和0.10百分點,同時平均絕對誤差也相較于M1降低了0.6百分點,反映出將PPM模塊放在解碼器第一層,充分擴大了其感受野,使得解碼器恢復了足夠多的特征信息。以上實驗結果表明,本文提出的PC-TransUnet具有一定的合理性和有效性。
5 結論(Conclusion)
為了解決結直腸息肉圖像中由于病灶形狀不規則導致的分割邊界模糊及分割精度低的問題,本文提出了一種基于混合注意力和金字塔池化的結直腸息肉分割算法,即PCTransUnet。其中,金字塔池化模塊能捕捉不同尺度的上下文信息,從而有效地擴大感受野;將CBAM 注意力模塊嵌入解碼器的最后一層,可以使模型更關注重要的語義特征并抑制無關的信息,從而提高模型的性能和泛化能力;將解碼器中的ReLU函數替換成SiLU函數,可以確保模型能夠更好地學習到息肉的邊緣特征信息,從而提高分割精度。在Kvasir-SEG數據集和CVC-ClinicDB數據集上的測試結果顯示,平均相似性系數分別為96.99%和96.41%,分別提升了2.91百分點和2.96百分點。同時,在CVC-ClinicDB和Kvasir-SEG數據集上進行消融實驗的結果,進一步說明了本文方法的有效性和合理性。實驗結果表明,PC-TransUnet能顯著提高分割精度,減少分割邊界模糊問題,整體性能優于當前主流算法的性能。但PC-TransUnet網絡由于其自注意力及混合注意力模塊計算復雜度高,可以考慮將其輕量化。
作者簡介:
王宇航(1999-),男(漢族),榆林,碩士生。研究領域:醫學圖像處理。
楊云(1965-),女(漢族),青島,教授,博士。研究領域:智能信息處理,數據挖掘。本文通信作者。