邱純乾,陳建森,鄭茜穎
(1.福州大學(xué)物理與信息工程學(xué)院,福建 福州 350108;2.福建醫(yī)科大學(xué)附屬協(xié)和醫(yī)院,福建 福州 350001)
近年來(lái),隨著科技的不斷發(fā)展,計(jì)算機(jī)斷層掃描(computed tomography,CT)等放射成像技術(shù)對(duì)于一些疾病的診斷和評(píng)估中起到重大的作用[1,2],特別是對(duì)胸部肺感染類(lèi)疾病。因此,CT可以作為檢測(cè)新冠肺部感染的常規(guī)手段。COVID-19肺部CT圖片具有一些典型的特征,如磨玻璃陰影、斑片狀的陰影,這些陰影可以相互融合形成肺實(shí)變。通過(guò)CT圖像可以臨床診斷新冠感染,也可以反映治療過(guò)程中肺部感染大小、位置變化,是用來(lái)評(píng)價(jià)治療效果的重要指標(biāo)。然而,在治療的過(guò)程中,反復(fù)查看CT圖像會(huì)極大地浪費(fèi)醫(yī)生的時(shí)間,并且診斷效率低下,不適用于大規(guī)模的治療。所以利用計(jì)算機(jī)自動(dòng)檢測(cè)CT的圖像中的新冠病毒感染將在后續(xù)治療過(guò)程中發(fā)揮重要作用。
目前,對(duì)新冠肺部感染的CT圖像研究很多,許多優(yōu)秀的深度學(xué)習(xí)框架被設(shè)計(jì)來(lái)檢查感染患者。Goze O 等人[3]提出一種利用二維切片分析和三維體積分析實(shí)現(xiàn)COVID-19檢測(cè)的系統(tǒng);Zheng C 等人[4]提出一種弱監(jiān)督的基于深度學(xué)習(xí)的方法,利用3DCT 容積檢測(cè)COVID-19;Cao Y 等人[5]開(kāi)發(fā)了一種基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的CT圖像預(yù)測(cè)模型,用于監(jiān)測(cè)COVID-19 疾病的發(fā)展,并對(duì)肺受累性進(jìn)行量化評(píng)估;Zhao S X等人[6]提出了一個(gè)基于二維CT 圖像的感染區(qū)域分割網(wǎng)絡(luò),該網(wǎng)絡(luò)在U-NET+ +[7]的基礎(chǔ)上重新設(shè)計(jì)鏈接結(jié)構(gòu),并引入了注意力學(xué)習(xí)機(jī)制,獲得了更加準(zhǔn)確的分割結(jié)果;Fan D P 等人[8]提出一種肺部CT 感染區(qū)域分割網(wǎng)絡(luò),該網(wǎng)絡(luò)利用并行部分解碼器聚合高級(jí)特征并生成全局圖,利用反向注意力和邊緣注意力對(duì)邊界進(jìn)行優(yōu)化和增強(qiáng)。
盡管有些深度學(xué)習(xí)算法在新冠肺炎檢測(cè)方面取得不錯(cuò)的成果,但分割感染區(qū)域的相關(guān)工作仍然較少,這是因?yàn)閺亩SCT圖像中分割感染區(qū)域存在以下幾個(gè)難點(diǎn):1)不同二維CT圖像中感染的位置、大小、形狀存在巨大的差異,這通常會(huì)導(dǎo)致假陰性檢測(cè);2)感染區(qū)域與正常區(qū)域?qū)Ρ榷鹊停?)感染區(qū)域邊界通常模糊不清,難以獲得十分準(zhǔn)確的標(biāo)簽。
本文提出了一種基于改進(jìn)CENet[9]的CT 圖像新冠病毒感染區(qū)域分割的深度學(xué)習(xí)網(wǎng)絡(luò)。該網(wǎng)絡(luò)以CENet為主體架構(gòu),引入注意力機(jī)制擠壓和激勵(lì)(squeeze-and-excitation,SE)模塊[10],通過(guò)學(xué)習(xí)的方式獲取到每一個(gè)特征通道的重要程度,再通過(guò)這個(gè)程度來(lái)增強(qiáng)有用的特征,抑制無(wú)用的特征;加入了特征聚合模塊(feature aggregation module,F(xiàn)AM),將高低層次的特征融合,以保留更多的有效特征,從而提高感染區(qū)域的分割精度。
本文所提出的網(wǎng)絡(luò)繼承了CENet的基本結(jié)構(gòu)---解碼和編碼的結(jié)構(gòu)。CENet 是一種優(yōu)秀的圖像分割網(wǎng)絡(luò),在醫(yī)學(xué)圖像分割任務(wù)中取得了優(yōu)異的性能。CENet在特征編碼器中采用了預(yù)訓(xùn)練的ResNet[11]塊,用來(lái)更好地提取特征。在編解碼連接處提出了密集空洞卷積(dense atrous convolution,DAC)和殘差多核池(residual multi-kernel pooling,RMP)用來(lái)捕獲更多的高級(jí)特征并保留更多的空間信息。本文提出的網(wǎng)絡(luò)在CE-Net的基礎(chǔ)上改進(jìn),在編碼的過(guò)程中引入注意力機(jī)制模塊,使得模型更加關(guān)注感染區(qū)域,從而提高分割精度,特別對(duì)小面積感染區(qū)域的檢測(cè)起到重要作用;加入了FAM,在只增加少量參數(shù)的情況下,充分融合低層次特征的位置,細(xì)節(jié)信息和高層次特征的語(yǔ)義信息,從而達(dá)到提升分割精度的效果。
本文所提出的網(wǎng)絡(luò)由3個(gè)階段構(gòu)成,編碼階段,上下文提取模塊,解碼階段。首先,將新冠肺炎數(shù)據(jù)集進(jìn)行預(yù)處理后輸入網(wǎng)絡(luò)編碼部分,經(jīng)過(guò)一個(gè)大小為3 ×3 的卷積核;然后,通過(guò)4 個(gè)ResNet模塊,每個(gè)ResNet模塊后都要經(jīng)過(guò)注意力機(jī)制SE 模塊進(jìn)行擠壓(squeeze)和激勵(lì)(excitation);之后,經(jīng)過(guò)上下文提取模塊DAC 和RMP,用來(lái)捕獲更多的高級(jí)特征并保留更多的空間信息。解碼部分由上采樣層、特征聚合模塊組成。上采樣層是由一個(gè)大小為3 ×3,步長(zhǎng)為2的反卷積層組成,輸出的特征圖大小與對(duì)應(yīng)編碼過(guò)程中特征圖大小一致。但是上采樣會(huì)導(dǎo)致部分感染區(qū)域特征信息損失,因此,接入帶有特征聚合模塊的跳躍連接;最后,通過(guò)Sigmoid激活函數(shù)對(duì)感染區(qū)域與背景圖像進(jìn)行分類(lèi),輸出感染區(qū)域分割結(jié)果。網(wǎng)絡(luò)的整體框架如圖1所示。
圖1 整體模型的結(jié)構(gòu)
醫(yī)學(xué)圖像分割的最大難點(diǎn)就在于分割小目標(biāo)任務(wù),小目標(biāo)物體的紋理信息薄弱,邊緣比較模糊。為了解決上面的問(wèn)題,本文在ResNet模塊編碼后引入注意力機(jī)制SE 模塊。SE模塊被添加到常見(jiàn)的網(wǎng)絡(luò)結(jié)構(gòu)中時(shí),可以增強(qiáng)特征提取階段的感受野,提高與目標(biāo)相關(guān)特征通道的權(quán)重,降低與目標(biāo)無(wú)關(guān)的特征通道的權(quán)重,增強(qiáng)小目標(biāo)分割的效果。SE模塊的基本結(jié)構(gòu)如圖2 所示,SE 模塊主要分為2個(gè)操作:擠壓和激勵(lì)。輸入為X,其維度為RH×W×C,H、W、C分別表示特征圖的高、寬和通道數(shù)。首先將輸入的特征圖進(jìn)行全局平均池化來(lái)進(jìn)行擠壓操作,得到長(zhǎng)度為C的向量,這樣做的目的是為了使每個(gè)通道都擁有全局的信息,用數(shù)學(xué)公式表達(dá)如下
圖2 SE模塊
激勵(lì)操作階段能夠獲取特征圖各通道之間的相互依賴(lài)關(guān)系。該操作首先是將擠壓得到的向量輸入全連接層,得到1 ×1 ×(C/r)的向量,(本文模型r設(shè)為16),使用ReLU函數(shù)激活,然后在經(jīng)過(guò)一個(gè)全連接層,將通道數(shù)由C/r擴(kuò)大為C,緊接著通過(guò)一個(gè)Sigmoid函數(shù)計(jì)算通道的權(quán)重系數(shù)s,從而實(shí)現(xiàn)激勵(lì)操作,計(jì)算公式如下
其中,σ(·)為Sigmoid 激活函數(shù),δ(·)為ReLU 函數(shù),w1,w22個(gè)全連接層的卷積核。最后將權(quán)重系數(shù)乘以相對(duì)應(yīng)的通道數(shù),得到結(jié)果特征圖。
特征聚合的主要目的是把從圖像中提取的特征通過(guò)特定的方法,融合成一個(gè)比原始輸入特征含有更多信息的特征。一般來(lái)說(shuō),圖像的低層次特征包含更多的位置和細(xì)節(jié)信息,但語(yǔ)義信息較低;而高層次特征具有更高的語(yǔ)義信息,但經(jīng)過(guò)多次的卷積池化操作,位置和細(xì)節(jié)信息丟失嚴(yán)重,因此,本文提出一種FAM取代原始CENet的跳躍連接,將經(jīng)過(guò)注意力機(jī)制增強(qiáng)后的不同層次的特征進(jìn)行融合,得到一個(gè)更具有判別能力的特征,從而達(dá)到提高分割精度的效果。
FAM如圖3所示,3種類(lèi)型的線表示不同操作,直線表示同尺寸之間的連接,曲線表示向上線性插值,虛曲線表示向下插值。深色和淺色卷積塊表示模塊的3 個(gè)輸入和輸出。本文FAM的主要原理是利用雙線性插值的方法將不同尺寸的卷積塊融合在一起,從而達(dá)到特征重用的目的。主要過(guò)程如下:首先,將編碼過(guò)程得到的大小為562×128和282×256 的卷積塊分別向上插值2 倍和4 倍得到大小為1122×128和1122×256的卷積塊,再通過(guò)concat的方法將插值后的2 個(gè)卷積塊與輸入的大小為1122×64 的卷積塊融合在一起,得到大小為1122×448 的卷積塊;然后,通過(guò)同樣的方法得到大小為562×448 和282×448 的卷積塊;最后,將得到的3個(gè)卷積塊分配到解碼器的相應(yīng)位置。
圖3 特征聚合模塊
本文需要訓(xùn)練所提出的方法來(lái)區(qū)分每一個(gè)像素是在正常區(qū)域內(nèi)的還是在感染區(qū)域內(nèi),這是一個(gè)二分類(lèi)問(wèn)題,最常見(jiàn)的損失函數(shù)是二元交叉熵?fù)p失(binary_cross entropy loss,BCE Loss,BCE)函數(shù)[12]。然而醫(yī)學(xué)圖像經(jīng)常存在正負(fù)樣本不均衡的情況,只使用交叉熵?fù)p失函數(shù)不能很好地解決這個(gè)問(wèn)題。骰子系數(shù)損失(Dice loss)被提出主要是為了解決前后背景不均衡的情況,如一個(gè)512 ×512 的圖片只有一個(gè)10 ×10的分割樣例,此時(shí)BCE Loss無(wú)法解決這種極度不均衡情況,Dice Loss 卻不受前景大小的影響。因此,本文損失函數(shù)由2種損失函數(shù)組合而成,具體表達(dá)如下
其中,Y={Y1,Y2,…,Yb}為真實(shí)值,Y為預(yù)測(cè)概率,N為批量大小,σ(·)對(duì)應(yīng)Sigmoid激活函數(shù),α取值為0.5。
本文實(shí)驗(yàn)采用COVID-19-CT-Scans數(shù)據(jù)集。數(shù)據(jù)集由1600張二維CT圖像組成,所有的CT圖像均由中國(guó)放射協(xié)會(huì)收集。放射科醫(yī)生使用不同的標(biāo)簽對(duì)CT圖像進(jìn)行分割以識(shí)別感染區(qū)域。其中,1 456張作為訓(xùn)練集,144張作為測(cè)試集。本文先對(duì)數(shù)據(jù)集的數(shù)據(jù)預(yù)處理,即將所有CT 圖像進(jìn)行圖像增強(qiáng),采用限制對(duì)比度自適應(yīng)直方圖均衡算法增強(qiáng)圖像的對(duì)比度,使感染區(qū)域更容易與正常區(qū)域分辨出來(lái),并尋找出肺實(shí)質(zhì)的輪廓,將輪廓以外的部分裁剪,最大程度地減少不相關(guān)部分的影響。
本文采用的圖像經(jīng)過(guò)預(yù)處理之后調(diào)整大小為224 ×224進(jìn)行訓(xùn)練。本文所用的所有網(wǎng)絡(luò)都是基于Pytorch 框架實(shí)現(xiàn)。損失函數(shù)的α設(shè)置為0.5;學(xué)習(xí)率設(shè)置為0.0001;Epoch設(shè)置為100,并且每個(gè)5 個(gè)Epoch保存一次模型。受GPU大小的限制,批次大小(batchsize)設(shè)置為8。優(yōu)化器選擇RMSprop算法進(jìn)行優(yōu)化。實(shí)驗(yàn)所用的計(jì)算機(jī)配置為Intel?CoreTMi5-6500cpu @3.20 GHz 3.19 GHz,16 GB內(nèi)存,顯卡為NVIDIA TeslaP100,16 G顯存。
本文分別測(cè)量了分割結(jié)果與真實(shí)標(biāo)簽之間的Dice 相似系數(shù)(Dice similarity coefficient,DSC)、靈敏度(sensitivity,Sen)、特異性(specificity,Spec)、平均交并比(mean intersection over union,MIoU)。計(jì)算公式分別如下
式中 TP為被正確檢測(cè)為感染區(qū)域的像素?cái)?shù)量,F(xiàn)P 為將正常區(qū)域檢測(cè)為感染區(qū)域的像素?cái)?shù)量,TN為被正確檢測(cè)為正常區(qū)域的像素?cái)?shù)量,F(xiàn)N為將感染區(qū)域檢測(cè)為正常區(qū)域的像素?cái)?shù)量。
本文采用了6種不同的損失函數(shù)進(jìn)行對(duì)比:平均絕對(duì)誤差(mean absolute error,MAE),IoU,BCE,Dice,F(xiàn)ocal,BCE-Dice。不同的損失函數(shù)在相同的環(huán)境和超參數(shù)中訓(xùn)練,實(shí)驗(yàn)結(jié)果如表1 所示??芍?,本文采用的參數(shù)α=0.5的BCE和Dice 的混合損失函數(shù)在DSC 和Sen 上表現(xiàn)最好,領(lǐng)先第2名的Dice 0.32%,0.04%,而在Spec,MIoU落后Dice和BCE 0.13%,0.48%,綜合4 個(gè)指標(biāo)來(lái)看,BCE和Dice的混合損失函數(shù)在2個(gè)指標(biāo)上取得最優(yōu)值,而Dice和BCE分別都只在1 個(gè)指標(biāo)上取得最優(yōu)值,因此,在本文后續(xù)實(shí)驗(yàn)中均采用BCE和Dice的混合損失函數(shù)進(jìn)行實(shí)驗(yàn)。
表1 不同損失函數(shù)在本文提出的方法上的表現(xiàn)%
在比較感染區(qū)域的實(shí)驗(yàn)中,本文將所提出的方法與醫(yī)學(xué)圖像領(lǐng)域中的4 個(gè)經(jīng)典分割模型對(duì)比,包括FCN[13]、DeepLabV3 +[14]、UNet+ +和CENet,實(shí)驗(yàn)結(jié)果如表2所示。本文所提出的方法在COVID-19-CT-Scans數(shù)據(jù)集上的DSC,Sen,Spec,MIoU 等性能分別達(dá)到了74. 32 %,84. 25 %,99.14%,80.34%,與CENet 相比在Dice 相似系數(shù)、特異性、MIoU上分別提高1.91%,0.16%,1.26%,雖然本文提出的網(wǎng)絡(luò)在靈敏度上不如CENet,但是另外3 個(gè)性能指標(biāo)明顯優(yōu)于它,整體較優(yōu)。
表2 不同網(wǎng)絡(luò)的性能對(duì)比%
本文在測(cè)試集中選取5 幅圖像,用上述5 種模型對(duì)其進(jìn)行分割,結(jié)果如圖4所示。其中,圖4(a)為原始感染CT圖像,圖4(b)為標(biāo)簽圖像,圖4(c)~圖4(g)依次為FCN、DeepLabV3 +、UNet+ +、CENet和本文方法分割結(jié)果。通過(guò)對(duì)比圖4第1、2行結(jié)果可以看出,在對(duì)單一目標(biāo)分割時(shí),本文提出的方法得到的結(jié)果與真實(shí)標(biāo)簽是最接近的,而其他4種方法的結(jié)果在大小、輪廓等方面比真實(shí)標(biāo)簽有較大差距。同時(shí)由于特征提取的不完整,其他4 種方法均出現(xiàn)錯(cuò)誤分割的現(xiàn)象,在未感染區(qū)域分割出目標(biāo),而本文方法未出現(xiàn)此現(xiàn)象。通過(guò)對(duì)比第3、4、5 行可以看出,在對(duì)多個(gè)目標(biāo)分割時(shí),本文方法的結(jié)果也是優(yōu)于其他方法。尤其是對(duì)小目標(biāo)分割時(shí),相比于其他4種方法,本文方法能正確分割出每一處小目標(biāo),而且分割出的結(jié)果在形狀,大小的方面是最接近真實(shí)標(biāo)簽的。
圖4 不同模型分割結(jié)果
本文采用了4 種不同的CENet 模型在COVID-19-CTScans數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。通過(guò)4 種指標(biāo)對(duì)比可知,本文提出的2 個(gè)模塊均能一定程度提升CENet在COVID-19-CT-Scans數(shù)據(jù)集上的分割的性能。
表3 網(wǎng)絡(luò)結(jié)構(gòu)消融對(duì)比%
實(shí)驗(yàn)結(jié)果表明,本文網(wǎng)絡(luò)在COVID-19-CT-Scans 數(shù)據(jù)集上能夠更好地捕捉到新冠肺炎感染區(qū)域特征,并有良好的分割效果,對(duì)比原始CENet和其他分割算法在整體上均有顯著的提高。考慮到本文實(shí)驗(yàn)樣本數(shù)較少,導(dǎo)致模型對(duì)分割細(xì)節(jié)上處理不夠,進(jìn)而影響了模型分割效果,后續(xù)工作將研究如何擴(kuò)充實(shí)驗(yàn)樣本,以進(jìn)一步提升本模型的分割精度。