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