陳 成,張 正,肖 迪
(南京工業(yè)大學電氣工程與控制科學學院,江蘇 南京211816)
自2019年12月以來,一種新型冠狀病毒在世界范圍內廣泛傳播。2020年1月12日,世界衛(wèi)生組織(WHO)正式將其命名為2019-nCoV。這種新病毒可以引起咳嗽、發(fā)燒、肌痛和呼吸困難[1],嚴重時甚至危及生命。盡管世界各國積極治療患者,嚴格限制人員流動,以減緩病毒傳播,但許多國家的新感染人數(shù)仍呈指數(shù)級增長。截至2021年6月22日,世界衛(wèi)生組織的情況報告顯示,全球患總病例數(shù)超過1.77億,每周新增病例超過 250 萬,死亡人數(shù)超過 64 000[2]。
目前,基于逆轉錄聚合酶鏈反應(RT-PCR)的檢測方法是檢測COVID-19最常用的方法,但由于RT-PCR的靈敏度可能不夠高[3,4],因此,由專業(yè)技術人員從患者身上獲取的計算機斷層掃描(CT)圖像的診斷是COVID-19檢測的重要輔助和補充方法之一。與RT-PCR相比,基于CT診斷的方法具有更高的檢測準確率[3]。一般情況下,對于不能通過RT-PCR檢測確診的病例,醫(yī)生會通過CT獲取患者的肺部影像集,然后根據(jù)他們的臨床經(jīng)驗確認患者是否確診。
由于病例過多,且手工繪制肺部病變輪廓是一項繁瑣而累人的任務,為了加快診斷速度,學者們提出了一些基于深度學習的COVID-19檢測方法[5-7]。例如,Wang等人[8]利用全連接網(wǎng)絡分類模型訓練和多分類器預測,訓練CNN模型從隨機輸入的3D CT切片中提取特征。為了從胸部x光圖像中檢測COVID-19病例,wang等人[9]設計了一種定制的深度卷積神經(jīng)網(wǎng)絡COVID-Net;基于V-net模型,Shan等人[10]提出了一種改進的網(wǎng)絡VB-net來分割感染區(qū)域。由于COVID-19圖像數(shù)量有限,以上方法的普適性得不到充分驗證。隨著更多數(shù)據(jù)集的公開,學者們仍在嘗試在不同數(shù)據(jù)集上應用新的網(wǎng)絡來提升分割效果。
到目前為止,全卷積網(wǎng)絡已經(jīng)證明它優(yōu)于其它廣泛應用的基于配準的分割方法,特別是U-net[11]模型在醫(yī)學圖像分割領域得到了廣泛的應用[12-14]。
U-net是基于FCN的語義分割網(wǎng)絡,分為上、下采樣兩部分,網(wǎng)絡中只含有卷積層和池化層,全連接層用1*1卷積核代替。其中淺層網(wǎng)絡提取低級特征來實現(xiàn)像素定位,深層網(wǎng)絡提取抽象特征用于像素分類。相比FCN上采樣會導致像素定位模糊,U-net使用了跳躍連接操作將上采樣層與同分辨率下采樣層特征融合,提高了像素定位的精確性。此外較為精確的FCN-8s網(wǎng)絡需要訓練三次,U-net網(wǎng)絡只需訓練一次,訓練效率更高。其具體網(wǎng)絡結構如圖1所示。
圖1 U-net網(wǎng)絡結構[11]
從圖中看到U-net可分為上下采樣兩個部分,其中下采樣部分經(jīng)過4個池化層,連原圖共有5個尺度。上采樣部分通過反卷積操作將特征圖尺度還原,且每上采樣一次后都通過跳躍連接將對應的特征圖剪裁至同一尺度融合,使紋理信息在高分辨率層中傳播。這種路徑結合的操作使得圖像可以在一次前向傳播完成分割。
U-net的大網(wǎng)絡架構使得它能夠通過少量樣本得到相對精確的結果。U-net在醫(yī)學圖像處理中也表現(xiàn)良好,醫(yī)學圖像通常需先對大分辨率原圖進行切割,產(chǎn)生的切圖會有重疊,剛好適應U-net對邊緣信息的需求。但與此同時,U-net難以兼顧感受野大小與邊界分割精度,且僅能在單一尺度上操作,仍有很大的改進空間。
殘差學習模塊是在ResNet[12]中提出的,其結構如圖2所示。它使用恒等映射將前層輸出直接傳遞到后層,且能使梯度直接向前傳遞,解決了梯度消失和梯度爆炸問題。
圖2 ResNet的殘差學習模塊[12]
殘差網(wǎng)絡使用許多了旁路shortcut,具體結構如圖3所示。這些shortcut使網(wǎng)絡只需要學習輸入與輸出的殘差F(x)=H(x)-x,當F(x)=0,就是恒等映射,此時殘差塊不會增加參數(shù)量和計算復雜度。為了加深網(wǎng)絡,提高模型分割性能,可以在U-net網(wǎng)絡中在任意位置添加殘差塊,都不會影響網(wǎng)絡的學習效率。
圖3 ResNet的shortcut注:(a)不包含shortcut的模塊;(b)包含shortcut的模塊
Inception模塊[13]對傳統(tǒng)卷積神經(jīng)網(wǎng)絡的下采樣過程進行了多尺度優(yōu)化,具體方法是,分別使用四個不同大小的卷積核,將原圖的單分支卷積池化操作分成4個分支,再聚合在一起,這樣可以增加卷積層的寬度,提高網(wǎng)絡對尺度的適應性,提高網(wǎng)絡的計算效率。
參考inception模塊,本文改進了特征提取子網(wǎng)絡,使用不同大小的池化核得到多尺度特征。其具體結構如圖4所示。其中一條路線使用4×4的池化核對輸入圖像進行最大池化,將其尺寸降至原始分辨率的1/4,另兩條支路分別先后使用2×2的最大池化核和3×3的卷積核,將圖像尺寸降至原始尺寸的1/2。由此得到并行且不同級別的尺度特征,然后將這些不同尺度的特征融合作為后續(xù)的輸入。
圖4 多尺度特征提取模塊
在分割任務中需要結合圖像的全局信息和局部信息,來實現(xiàn)病灶的準確定位,因此可以通過多分辨率層組合來改進結構。由于U-net網(wǎng)絡經(jīng)過多次卷積后得到的特征圖較為抽象,恢復尺寸的過程也會導致像素定位不精準,因此上采樣后的特征會比較模糊,尤其不能很好地提取腫瘤的邊緣特征。
為了更好的識別腫瘤區(qū)域,提高其邊界分割精度,本文在多尺度特征的基礎上進一步做出改進,在上采樣過程中加入了原始圖像的位置信息。具體操作方式為將輸入圖像放縮至原始分辨率的一定比例,并將其作為一個特征圖與網(wǎng)絡得到的特征圖融合,輸入網(wǎng)絡。詳見3.3節(jié)中實際網(wǎng)絡結構。
改進后的網(wǎng)絡在U-net的基礎上結合了多尺度特征提取步驟,并在反卷積過程中加入了位置信息,其整體結構如圖5所示。其中Simple block和殘差塊(Residual block)的結構分別如圖6和圖7所示。
圖5 改進的網(wǎng)絡結構
圖6 Simple block結構
圖7 Residual block結構
Simple block中有兩次卷積操作(3×3卷積核,步長1,填充1),每次卷積后計算BN,再經(jīng)過Relu非線性激活函數(shù)。殘差塊(Residual block)中有三個殘差單元,每個殘差單元就如2.2節(jié)中殘差學習模塊所示,有兩條支路:兩次卷積加BN、中間經(jīng)過Relu激活函數(shù)的支路和直接輸出支路。
在下采樣過程中,兩條Simple block支路聚合后經(jīng)過一個殘差塊與一個2×2最大池化層,將圖像尺寸降至1/4,再與單次4×4池化的支路聚合。通過使用殘差塊代替U-net中的普通卷積,可以在不增加網(wǎng)絡計算復雜度的同時加深網(wǎng)絡,提高網(wǎng)絡的特征提取能力。下采樣子網(wǎng)絡經(jīng)過4次卷積和池化的交替操作,能很好地捕捉到輸入圖像的全局信息。
在上采樣子網(wǎng)絡中,采用與池化對應的反卷積操作來提高特征圖分辨率??偣残枰?jīng)過4次反卷積操作將特征圖尺寸恢復至與輸入圖像一致。其中在倒數(shù)第二個反卷積操作后,將原始圖像尺寸縮小一半作為一個新特征圖與網(wǎng)絡的特征圖融合。本文通過剪裁與跳躍連接操作,將上下采樣過程的同分辨率特征圖融合,結合了全局和局部信息,提高了檢測、定位和分割的精度。
1)正則化:為了防止模型過擬合,引入正則化來降低模型的復雜度,提高模型的泛化能力。不同的Ω函數(shù)對權重ω的最優(yōu)解有不同的偏好, 因此它們會產(chǎn)生不同的正則化效果。最常用的有兩種Ω函數(shù),即l1范數(shù)和l2范數(shù),分別稱為l1正則化和l2正則化。
(1)
(2)
其中ω是權重系數(shù)向量,λ1=λ2=10-5.
2)激活函數(shù):在U-Net中,除最后一層外,所有卷積層都使用ReLU激活函數(shù)[14];最后的卷積層使用Sigmoid激活函數(shù)。由于需要解決左右肺、病灶和背景分割的多分類問題,在輸出層用Softmax激活函數(shù)代替原模型中的Sigmoid,解決了U-Net只能解決兩分類問題的局限性。
3)損失函數(shù):大多數(shù)醫(yī)學圖像分割任務實際上是兩個分類問題,即判斷每個像素是否屬于某一類。然而,本文的研究本質上是一個多分類問題,換句話說,需要完成一個多類的像素級分類。因此,不能用單一的損失函數(shù)來評價模型的訓練進度。所以組合了二元交叉熵損失Lb,灶性損失Lf和Tversky損失Lt,作為損失函數(shù),最終的損失函數(shù)是
L=0.4×Lb+0.2×Lf+0.4×Lt
(3)
該數(shù)據(jù)集包含20個標記的COVID-19 CT掃描,共3520個切片。左肺、右肺和感染由兩名放射科醫(yī)生標記,并由經(jīng)驗豐富的放射科醫(yī)生驗證。本文使用其中70%(14例)作為訓練集,15%(3例)作為驗證集,15%(3例)測試集。
由于數(shù)據(jù)集中病例數(shù)量有限,本文在訓練前進行了數(shù)據(jù)擴充。本文隨機選取一些切片進行90度、180度和270度旋轉,生成360張圖片;隨機選取一些圖片進行0.5倍和1.5倍的縮放,得到200張圖片;此外,由于數(shù)據(jù)集中的原始圖片大小是512×512和630×630,本文使用opencv25將圖片大小轉換為416×416并對其進行灰度化,得到了額外的500張圖片。上述一系列操作大大增加了數(shù)據(jù)集中的圖像數(shù)量。
本文將兩張隨機的CT切片圖像輸入到訓練的模型中,訓練集和驗證集的Dice相似系數(shù)和組合損失擬合曲線分別如圖8和圖9所示。輸出可視化的分割結果(左、右肺、病灶和背景),如圖10所示。
圖8 Dice系數(shù)
圖9 組合損失
圖10 分割結果的可視化
圖10中,圖像(a)和(f)是兩次掃描的預處理胸部CT圖像。圖像(b)和(g)是右肺區(qū)域的檢測結果。為了使結果更易識別,紅色用于表示ROI,黑色用于表示區(qū)域的其余部分。圖像(c)和(h)是左肺區(qū)域的檢測結果。圖像(d)和(i)是covd-19病變區(qū)域的檢測結果,圖像(e)和(j)分割整個背景區(qū)域。
表1給出了網(wǎng)絡對于測試集的性能指標。其中Dice相似系數(shù)(DSC)表示地面真值分割圖和預測分割之間的相似度量[15]。其中A是被分割的感染區(qū)域,B表示相應的參考區(qū)域,|A∩B|表示兩個圖像共有的像素數(shù)。如式(4)所示,DSC是A和B的Dice相似系數(shù)。
表1 測試集的性能指標
(4)
精度是指模型確定為陽性的所有樣本中有多少是真陽性樣本。如果TP為真陽性,FP為假陽性,則精度P可表示
(5)
Hausdorff距離是兩組點集之間相似性的度量。它是兩組點之間距離的定義。當它用于評估圖像分割時,如果X是被分割出的感染區(qū)域像素集,Y是對應的參考區(qū)域像素集,那么X和Y之間的hausdorff距離dH
可以表示為
(6)
可以看出面積越大,分割效果越好,但像素點比例最大的區(qū)域是背景,像素點比例最小的區(qū)域是病灶。然而,在covid-19 CT圖像感染區(qū)的自動分割中,良好的背景分割沒有太大意義。因此降低了背景分割評價系數(shù)的權重。最后,總體Dice相似系數(shù)為0.851。
為了驗證多尺度特征和加入位置信息對于病灶分割的有效提升,在相同實驗設置下,分別消去以上改進,與基礎U-Net網(wǎng)絡的分割結果進行對比。此處只比較病灶的分割結果,在表2和表3中顯示。其中VOE系數(shù)與DICE相似,用來表示錯誤率,如式(7)所示,其中A和B表示集合中元素的數(shù)量:
表2 單尺度特征與多尺度特征模型的病灶分割性能對比
表3 未加入位置信息與加入位置信息的病灶分割性能對比
(7)
RVD表示兩者體積的差異,其數(shù)學表達式為:
(8)
定義Rseg為預測結果A的邊界像素,Rgt為真值標簽的邊界像素,Sseg的定義如式(9)所示,Sgt同理,由此得出ASD的定義式(10):
(9)
ASD=mean({Ssg,Sgl})
(10)
可以看到多尺度特征將DICE系數(shù)提升至0.665,加入位置信息則將DICE提升至0.661,兩者同時作用,DICE由0.650提升至0.678了,驗證了兩種改進均可以有效提高網(wǎng)絡對病灶的分割性能。
為了進一步驗證本文改進U-Net模型的可推廣性,找到公開數(shù)據(jù)集COVID-CT-Dataset[16]和JSRT Dataset[17],對其使用本文模型進行分割測試,得到性能指標如表4所示。
表4 改進U-Net在不同公開數(shù)據(jù)集的病灶分割結果性能對比
可以看到在COVID-CT-Dataset上的病灶分割DICE系數(shù)達到了0.691;在JSRT Dataset上的DICE系數(shù)為0.656。對比結果驗證了本文的改進U-Net模型在不同公開數(shù)據(jù)集中仍有較好的適用性。
本文在U-net模型的基礎上改進了網(wǎng)絡,通過在下采樣過程中多尺度提取特征,在上采樣過程中加入位置信息,使網(wǎng)絡對二維肺切片的左右肺、病灶和背景四個區(qū)域的分割有較好的效果;并對分割結果進行了對比與分析,驗證了模型對于covid-19數(shù)據(jù)集分割的有效性。這是一個很好的基于深度學習的計算機輔助自動分割covid-19感染區(qū)的實現(xiàn)。