史愛武,高睿楊,黃 晉,盛 鐾,馬淑然
(武漢紡織大學 計算機與人工智能學院,湖北 武漢 430200)
新冠肺炎近年來已成為全球熱點話題,對新冠肺炎患者肺部病灶的準確識別與診斷,有助于患者得到及時治療[1]。新冠肺炎(COVID-19)發(fā)生至今已有4 年,2022 年11 月11 日,國務院聯(lián)防聯(lián)控機制綜合組發(fā)布了優(yōu)化疫情防控二十條最新措施;2022 年12 月8 日,全國包括武漢、廣州在內的多個城市進行疫情防控措施調整;2023 年9 月,美國宣布重啟免費新冠檢測計劃。在疫情防控常態(tài)化的背景下,借助人工智能技術輔佐醫(yī)生利用COVID-19 患者CT 影像診斷病情,使用圖像分割技術先行將病灶進行清晰分割,可方便醫(yī)生臨床診斷用藥,對于減輕醫(yī)療系統(tǒng)負擔具有重要的現實意義。在新冠肺炎診斷中,使用CT 圖像進行影像學檢查是安全、有效的[2]。目前對于肺部CT片進行病灶分割有支持向量機和深度學習的方法。邵欣蔚[3]利用支持向量機算法對兒童社區(qū)獲得性肺炎進行分類,分類準確率可達到90%。但采用支持向量機處理醫(yī)療影像,在數據量較大時存在效率低、準確率得不到保障的問題。近年來,以卷積神經網絡為代表的一大批深度學習方法在影像學分類中得到了應用。2017 年,劉長征等[4]使用7 層卷積神經網絡對400 例肺炎患者的CT 影像資料進行分類,準確率相較于支持向量機算法提高了5.7%,但該方法無法有效去除背景對病灶區(qū)域分割的干擾;2018 年,Rajpurkar 等[5]采用自己提出的121 層卷積神經網絡,針對ChestX-ray14 上11 種肺部疾病檢測的準確率與放射科醫(yī)生的診斷結果相似甚至更優(yōu),但其對全局特征的關注存在不足;2021 年,Li 等[6]提出一種基于不確定性引導的深度學習神經網絡,該網絡對肺部CT 影像資料檢測的準確率達到了77%。如 今U-Net[7]、V-Net[8]、3D U-Net[9]、DenseUNet[10]、Y-Net[11]也被應用于各種醫(yī)療影像分割中,這些方法在許多困難的數據集中都取得了令人印象深刻的效果,但在純粹的卷積模式中,每個卷積核只能關注局部而不是全局上下文。目前有一些數據集引入Atrus 卷積[12]和注意力機制[13-20]來解決卷積網絡導致的全局依賴不足的問題,但均存在對小病灶的關注不足、對病灶邊緣描繪不夠精確的問題。
本文針對目前已有算法對病灶邊緣檢測精確度不高、容易忽略小病灶的問題,提出一種基于U-Transformer 和注意力機制改進的分割網絡,在網絡的跳轉鏈接添加自定義注意力模塊,用于增強對于病灶區(qū)域的感知識別,并采用全局—局部分割策略,以期改善傳統(tǒng)分割模型對醫(yī)療影像分割全局上下文關注不足的問題,從而使對小病灶特征點的識別更加準確。
計算機斷層掃描(CT)圖像是最常見的胸部醫(yī)療影像,對其進行病灶影像統(tǒng)計和紋理特征分析被廣泛應用于定量描述病灶圖像特征[21]。
在新冠肺炎影像診斷過程中,不同嚴重程度的新冠肺炎患者具有不同的胸部圖像特征[22],如圖1所示。
Fig.1 CT images of COVID-19 patient圖1 新冠肺炎患者肺部CT圖像
新冠肺炎患者肺部CT 上最常見的特征是毛玻璃混濁(Ground-Glass Opacity,GGO)和實變(Consolidation,CL),隨著病情的加重,GGO 和CL 的數量增加,其主要分布在肺部邊緣。當病情改善時,病灶會被吸收形成纖維化條紋[23-26]。
醫(yī)療圖像分割對于分割邊界要求較高,雖然FCN 在圖像語義分割任務中性能優(yōu)于CNN,但并不適合作為醫(yī)療圖像分割的基本網絡框架。2021 年,Petit 等[27]結合UNET 與Transformer 優(yōu)勢研發(fā)了U-Transformer 網絡,使其在醫(yī)療圖像分割中具有更好的性能。其借助自注意模塊(MHSA),利用編碼器特征之間的全局交互,跳過連接中的交叉注意力(MHCA)模塊,允許過濾掉非語義特征,之后在 U-Net解碼器中進行精細的空間恢復,以克服U-Net 在分割時對于長期上下文相互作用和空間依賴性運用不足的問題。
MHSA 模塊意在從UNET 網絡中提取全局結構信息,因此其位于UNET 網絡的最底部。MHSA 模塊的主要目的是將最深層特征圖中的每個元素相互鏈接,讓上層結構均可以訪問包括所有輸入圖像在內的感受野,從而使一個特定像素的決定受到全部輸入像素的影響。注意力公式如下:
其中,Q 表示查詢矩陣,K 表示鍵矩陣,V 表示值矩陣。softmax 為每個輸出分類的結果都賦予一個概率值,表示屬于每個類別的可能性,如式(2)所示:
其中,Zi為第i 個節(jié)點的輸出值,C 為輸出節(jié)點數量,即分類的類別數量。
本文對注意力模塊進行優(yōu)化,提出十字注意力方式(Criss-cross,CC)進行注意力感知,如圖2 所示。本文在水平和垂直條紋中并行執(zhí)行自注意計算,通過將輸入特征拆分為等寬的塊來獲得每個條紋。這種條紋寬度(Shaped window,Sw)是十字形窗口的一個重要參數,因其可以在限制計算成本的同時實現強大的建模能力。根據網絡深度調整條帶寬度:淺層的寬度較小,深層的寬度較大。
Fig.2 Criss-cross attention method圖2 十字注意力方式
(1)輸入特征X∈R(H×W)×C 首先線性投影到k個頭部上,然后每個頭部在水平或垂直條紋范圍內進行局部自注意力操作。X 被均勻劃分為不重疊的水平條紋 [X1,..,XM],每個水平條紋都包含Sw×W 標記。Sw 是條帶寬度,可以通過調整來平衡學習能力與計算復雜度。形式上,假設第k 個頭部的投影查詢(Q)、鍵(K)和值(V)都具有維度dk,則第k 個頭部水平條紋自注意輸出的定義如式(3)所示:
其中,Xi∈R(Sw×W)×C,M=H/Sw,i=1,...,M。dk,分別表示第k 個頭部查詢、鍵和值的投影矩陣,并且dk 設置為C/K。垂直條紋自注意也可類似地進行推導,僅需修改注意力矩陣劃分模式即可,其第k個頭部的輸出表示為V-Attentionk(X)。
(2)假設輸入圖像沒有方向偏差,本文將k 個頭部平均分成兩個平行組(每組有k/2 個頭部,k 通常是一個偶數值)。第一組頭部執(zhí)行水平條紋自注意操作,第二組頭部執(zhí)行垂直條紋自注意操作。最后,這兩個并行組的輸出將重新連接在一起,如式(4)所示。
其中,WO∈RC×C是常用的投影矩陣,其將自注意結果投影到目標輸出維度(默認設置為C)。
如上所述,在本文的自注意機制設計中,最重要的是將K 分成不同的組,并相應地應用不同的自注意操作。相比之下,現有的自注意機制在不同K 上應用相同的自注意操作。本文方法的計算復雜度如式(5)所示:
對于高分辨率輸入,考慮到H、W 在早期階段大于C,在后期小于C。本文早期選擇較小的Sw,后期選擇較大的Sw,并將Sw 設置為可變參數,提高了算法的靈活性,可以在后期以有效的方式擴大不同層級的注意力區(qū)域,在注意力的感受和性能方面優(yōu)于原先的自注意力模塊。
自注意的排列方式是不變的,并且忽略了標簽的位置信息,時常向注意力網絡中引入位置編碼,尤其在COVID-19 的病灶檢測中。醫(yī)學圖像中病灶分割的空間依賴性強,本文為在分割中更好地使用位置編碼,提出將位置編碼與自注意計算分開計算的方式,以使位置編碼更好地輔佐分割網絡對病灶部分進行精準分割。其位置投影模塊如圖3所示。下文將解釋PE 模塊的計算以及最后的融合公式。
Fig.3 Position projection module圖3 位置投影模塊
本文的PE 模塊位置信息計算公式如式(6)所示。本文將輸入序列表示為x=(x1,...,xn)的n 個元素,并且輸出相同長度的注意力z=(z1,...,zn),其中xi,zi∈RC。自注意計算可表述為:
其中,qi、ki、vi是隊列(Q)、鍵(K)和值(V)通過輸入xi與d的線性變換得到位置信息。zi第k個元素的計算公式如式(7)所示:
(1)CCUNET 主體結構如圖4(a)所示。每一層使用3*3*3 的卷積核進行卷積、批標準化(Batch Normalization,BN),再進行RELU 激活。下采樣采用2*2 的卷積核進行最大池化,上采樣中下層向上層傳遞數據采用1*1 的卷積核進行通道縮減采樣,之后進行BN,再進行RELU 激活。上采樣采用2*2 的核采樣后,用3*3 的卷積核還原尺寸,在最深層次添加一個十字多頭自注意(Criss-Cross Multi-Head Self-Attention,CCMHSA)模塊。CCMHSA 模塊結構如圖4(b)所示。
Fig.4 CCUNET network structure圖4 CCUNET網絡結構
(2)CCMHSA 接受一個(w,h,d)大小的圖像特征數組,然后以wd 為面進行positional encoding,再分別送入CC 和PE 模塊計算注意力矩陣以及位置信息,之后進行疊加運算,計算公式如式(7)所示。
(3)CCMHCA 僅修改了原U-Transformer MHCA 模塊中的MHSA 部分,其他部分沒有變化。其在用于上采樣時更多地關注全局信息,擴大每層感受閾,其具體結構不再贅述。其中,每一層CCMHSA 模塊的Sw 參數設置為[1,2,7,7]。
本文最終設計出基于全局—局部策略以及CCUNET網絡的GP-CCUNET 用于COVID-19 患者CT 影像檢測,其網絡結構如圖5 所示。該網絡同樣分為全局部分和局部部分兩條分支,其中全局部分4 層CCUNET 的Sw 參數選取為[1,2,7,7],局部部分3 層CCUNET 的Sw 參數選取為[1,2,7]。切片圖過大的感受野不但無法提升分割精度,而且會降低與全局分支的互補性,導致整體網絡的分割精度下降。最后,對切片圖進行重定向后,對特征圖以1:1 的權重進行疊加,得到分割結果。下文將用實驗證明該模塊中每個模塊間均具有互補性,可以有效提高針對COVID-19患者CT 影像病灶的分割精度。
Fig.5 GP-CCUNET network structure圖5 GP-CCUNET網絡結構
本文實驗所用到的數據均為從Kaggle 下載的公開標注的COVID-19 數據集。將MosMedData、Coronacases、COVID-19 detection 全部按高度軸切割,將切割出肺部區(qū)域的原始 CT 影像和對應的 GT 影像轉換成 2D 的切片,并按照患者序號進行保存,獲得了39 000 張圖片,其中包含肺部圖像約26 000 張。每張圖像的原始分辨率為512×512,本文將其放縮為256×256,并將灰度值截斷為 [-240,160]再歸一化到[0,1]。同時調整其窗寬為[-1 000,600],將 CT切片保存為 jpg 圖片,將 GT 切片保存為 png 圖片。
醫(yī)療圖像分割問題可被轉化為病灶區(qū)域(即前景)與背景的分類問題。當樣本是正類,分類器將其正確預測為正樣本時,稱為TP(True Positive);正樣本被錯誤地預測成負樣本時,稱為FP(False Positive);相應地,當負樣本被準確預測成負類時,稱為TN(True Negative),負樣本被預測為正樣本時稱為FN(False Negative)。由此得到精度和召回率計算公式如式(8)、式(9)所示。
當新冠肺炎的分割正負樣本數量不均衡時,導致精度及召回率并不能很好地衡量分割效果,所以本文引入F1系數。F1系數是一種用于度量集合相似度的函數,表示分割結果與原醫(yī)生專家標注結果的重疊率,如式(10)所示。F1系數越高,證明分割結果越接近專家的分割標準。
本文針對CCUNET,采用不同的Sw 參數進行實驗,結果如圖6 所示。其中,FLOPS 為運算時間,F1 為評價指標中的F1 分數,F1 越高則分割越精確。從圖中可以看出,當Sw=1 或2 時,感受窗口大小不足,感受野不夠大,準確率較低。當Sw 為[1,2,7,7]、7 時準確率幾乎一致,是因為高層網絡進行訓練時,并無過多信息需要感受,信息密度也并不大,不需要設置7 大小的窗口進行注意力感知。從[14,14,14,7]、[28,28,14,7]兩個模塊可以看出,再增加Sw 的大小,會大幅增加十字注意力模塊的運行時間,但F1 的效果提升并不明顯。所以本文最終選取[1,2,7,7]作為CCUNET 的Sw 參數。
Fig.6 Experimental results of different Sw parameters圖6 不同Sw參數實驗結果
為證明各模塊的有效性,本文進行了CCMHSA、CCMHCA 與 MHSA、MHCA 混合搭配的消融實驗,實驗結果如表1 所示。由實驗結果可以看出,本文兩個模塊相較于基準網絡模塊在本文數據集識別上均有所提升,其原因在于本文在原模塊的基礎上使用十字注意力方式獲得了更大的感受野,并添加位置信息模塊,從而增強了模塊對目標肺炎區(qū)域檢測的準確度。
Table 1 Inter-module ablation experiments表1 模塊間消融實驗
將CCUNET、GP-CCUNET 與基線網絡U-Transformer以及目前角膜分割效果最好的網絡MBT-NET 進行實驗對比,實驗結果如表2 所示。由CCUNET 與U-Transformer 的F1結果可以發(fā)現,將多頭自注意力模塊替換為十字自注意力模塊有助于提高對本文數據集的分割精度,且準確率和召回率分別提升了2.8% 與3%。對比GP-CCUNET 與CCUNET 可以發(fā)現,采用全局—局部策略進行雙線分割,之后進行特征融合的方法,在使用CCUNET 作為基礎網絡結構后仍可以發(fā)揮很好的互補效用,提升分割精度,并且在本文數據集上比在其他領域分割效果很好的MBT-NET的F1 值高出1.1%,證明本文方法可以有效提高分割精度。
各個網絡的分割結果比較如圖7 所示。在此處選取了比較經典的分割圖進行了比較,由第1 行的橘色框可以看出,GP-CCUNET 的分割蒙板與MBT-NET 和GT 圖最為接近,且由第1 行的藍色框可以看出,CCUNET 的邊界識別精度明顯變高;由第2 行的黃色框則更能清晰地看出,GPCCUNET 和MBT-NET 能更好地識別與背景相似的復雜病灶邊界,并將其精準標明;第3 行是病灶塊多且邊界異常不明顯的COVID-19 患者CT 圖,可以看出GT-CCUNET 精準地將藍框中的細節(jié)病灶標注了出來,顯現了本文改進方法的有效性;第4 行為網絡的負面效果圖,由于采用全局—局部融合的策略,本文方法對于不太明顯但分布十分密集的小病灶的識別能力并不強,而MBT-NET 對其的分割效果不錯。該分割結果證明了十字注意力模塊、位置信息的加入以及采用全局—局部的分割策略,均有助于實現對COVID-19 病灶的精準分割。在特征提取過程中,全局策略與局部策略具有互補性。
Fig.7 Comparison of segmentation results using different methods圖7 不同方法分割結果比較
本文提出的網絡繼承U-Net 的優(yōu)勢,相較于SE-Net 等單純的注意力網絡僅需使用少量數據集便可完成訓練,這對于標注困難的醫(yī)療影像方面的病灶分割與識別很重要。相較于DA-Net,本文網絡采用的十字注意力模式可以調整窗口設置以獲取更多的上下文信息。DA-Net 的位置模塊被內嵌于注意力模塊,而本文網絡的位置模塊與注意力模塊分離,可以根據不同環(huán)境設置不同權重以提高分割精度。
綜上所述,針對新冠肺炎的病灶提取,本文方法相較于傳統(tǒng)分割方法具有更好的分割性能和更強的抗干擾能力,對于復雜背景下的分割依然可以達到較好的分割效果,識別出病灶點并進行分割標注,使得本文方法在新冠肺炎的CT 檢測中具有一定的應用價值。
針對肺部CT 片病灶檢測中出現的小病灶檢測困難、背景與病灶部分像素差距小的問題,本文對U-Transformer網絡的卷積結構進行改進,使用注意力核替換卷積核進行學習,解決了傳統(tǒng)卷積方法對圖片全局信息學習不足的問題,并采用全局—局部的分割策略先分開分割再整合信息,使得網絡可更好地識別病灶部位的邊界以及小的病灶區(qū)域。實驗結果表明,相較于傳統(tǒng)分割方法,本文方法對于新冠肺炎病灶的分割在邊界定位的準確度以及對小病灶區(qū)域的識別檢測上具有顯著優(yōu)勢。但該方法對于較不明顯的病灶區(qū)域檢測還存在著一定誤差,下一步將進一步研究新冠肺炎CT 片的特征,以期獲得更好的檢測效果。