龔 安,趙 莉,姚鑫杰
(中國石油大學(xué)(華東) 計算機科學(xué)與技術(shù)學(xué)院,山東 青島 266580)
氣胸是一種可危及生命的常見疾病,具體是因為氣體進入胸膜腔隙從而導(dǎo)致一些臨床表現(xiàn),如情況較輕時可能會出現(xiàn)胸部不適、呼吸不順暢、咳嗽等癥狀,重則造成實質(zhì)性肺損害的疾病從而危及生命[1]。早期對其進行快速準確的診斷和及時救治,有助于保障病人的生命安全。目前其主要診斷手段是采用X線胸片進行篩查和診斷。通?;加袣庑氐男仄憩F(xiàn)為縱隔旁呈條帶狀透明亮度或胸腔頂端與橫膈面肺底之間呈弧形透明光亮帶,膈面或心緣較為清晰,患處肺野透光度較高,胸腔外中帶可見壓縮肺組織邊緣和無肺紋理區(qū)[2-3]。因此通過胸片診斷病人是否有氣胸以及氣胸范圍時,常常需要具備良好資質(zhì)和豐富經(jīng)驗的放射科醫(yī)生。然而在現(xiàn)階段醫(yī)療系統(tǒng)中,X線相對其他醫(yī)學(xué)影像診斷在費用上有明顯的優(yōu)勢,每天產(chǎn)生的X線胸片數(shù)量相對較多[4],并且現(xiàn)階段中國醫(yī)患比嚴重失衡[5]。因此,高效準確的計算機輔助診斷技術(shù)是非常迫切和急需的。
基于此,文中將設(shè)計一種自動化分割氣胸的高效算法,通過學(xué)習(xí)數(shù)據(jù)集中不同類型氣胸圖像的特征,從而實現(xiàn)氣胸區(qū)域的自動分割。
目前借助計算機輔助診斷氣胸的研究成果相對較少,且在速度和精確度等方面尚不能滿足臨床應(yīng)用的需求標準。Chan等[6]提出了一種基于多尺度強度紋理分割氣胸的自動檢測方法,該方法一方面計算相對復(fù)雜誤差較大,另一方面實驗采用32例(年齡18~65歲)外傷性氣胸和自發(fā)性氣胸以及10例正常胸片,樣本稀疏且相對單一。Ouyang等[7]提出一種基于深度學(xué)習(xí)的弱監(jiān)督分割氣胸算法,允許部分訓(xùn)練數(shù)據(jù)僅使用圖像級標簽進行弱注釋,實現(xiàn)了交并比(IOU)為0.669的分割精度。Viniavskyi等[8]提出一種僅以圖像級分類標簽作為監(jiān)督的醫(yī)學(xué)胸片語義分割方法,先利用有監(jiān)督的分類模型生成偽分割標簽,然后用得到的偽標簽訓(xùn)練一個完全監(jiān)督分割模型,較之前的氣胸分割算法性能有一定提升,但未完全滿足臨床應(yīng)用的需求標準。Luo等[9]采用全卷積密度網(wǎng)(FC-DenseNet)結(jié)合空間和通道壓縮與激勵模塊(scSE)以及多尺度模塊進行氣胸分割,在陽性樣本中Dice相似性系數(shù)(DSC)達到0.84的分割精度。
近年來,基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的醫(yī)學(xué)圖像分割算法不斷涌現(xiàn),其中Ronneberger等人[10]提出了U-Net網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)模型受到廣泛關(guān)注,在全卷積網(wǎng)絡(luò)(FCN)[11]基礎(chǔ)上,該網(wǎng)絡(luò)模型使用編碼-解碼結(jié)構(gòu)以及跳躍連接技術(shù),這樣的網(wǎng)絡(luò)結(jié)構(gòu)大幅提升了分割的準確度,同時訓(xùn)練的速度得到有效提升,并且不需要大量的標記數(shù)據(jù)集,如在視網(wǎng)膜圖像中的血管分割、皮膚病分割[12]和肺損傷分割等[13]都表現(xiàn)出良好的分割效果。綜合上述研究,針對在氣胸分割的深度學(xué)習(xí)模型相對較少和自動化分割氣胸的精確度有待提升的現(xiàn)狀問題,而目前U-Net網(wǎng)絡(luò)模型性能在醫(yī)學(xué)圖像分割表現(xiàn)出的明顯優(yōu)勢,文中借鑒圖像分割模型U-Net體系結(jié)構(gòu),將ResNet50作為其編碼器,借助遷移學(xué)習(xí)方法,在減少模型參數(shù)以及計算成本的情況下,提高特征提取能力,加快網(wǎng)絡(luò)收斂速度,最后通過全連接條件隨機場來優(yōu)化模型分割結(jié)果,獲得更高的分割精度,使得計算機輔助診斷工具成為臨床醫(yī)生的得力助手,為相關(guān)領(lǐng)域醫(yī)生減輕工作壓力。
U-Net網(wǎng)絡(luò)體系結(jié)構(gòu)包含一個收縮路徑(下采樣)與擴張路徑(上采樣),也被稱為編碼器-解碼器結(jié)構(gòu),兩條路徑相互對稱,并使用跳躍連接(skip connection)的方法。如圖1所示,該網(wǎng)絡(luò)模型結(jié)構(gòu)與FCN相比,最大的優(yōu)勢是采用了跳躍連接,將收縮路徑中與擴張路徑中具有相同分辨率的子模塊的輸出進行拼接,拼接后內(nèi)容作為擴張路徑中下一子模塊的輸入。該方法充分結(jié)合局部像素特征信息和全局信息,通過信息整合的方式提高像素點類別的預(yù)測準確率。該模型的輸入輸出都是圖像,沒有全連接層,這樣可以很大程度上減少網(wǎng)絡(luò)訓(xùn)練的參數(shù),并且其U型結(jié)構(gòu)可以更好地保留圖片中所有有效的信息。除此,該網(wǎng)絡(luò)結(jié)構(gòu)其收縮路徑遵循典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),類似于VGG網(wǎng)絡(luò)結(jié)構(gòu)。在擴張路徑中,每一步都包含對特征圖進行上采樣,通過此操作分辨率依次上升,相關(guān)語義信息將被傳遞到高分辨率的卷積層。總之,此U型網(wǎng)絡(luò)體系結(jié)構(gòu)將淺層網(wǎng)絡(luò)中獲取的細節(jié)信息與深層網(wǎng)絡(luò)獲取相對抽象的語義信息,通過拼接方式有效融合,保留更多維度信息,大大提升了網(wǎng)絡(luò)模型的分割效果。
圖1 U-Net網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)
ResNet[14]網(wǎng)絡(luò)模型在2015年由Kaiming及其團隊提出,在ImageNet比賽分類任務(wù)上成功應(yīng)用,獲得了冠軍。該模型提出殘差學(xué)習(xí)的思想,假設(shè)用x表示網(wǎng)絡(luò)的輸入,H(x)表示要擬合的輸出映射,F(xiàn)(x)表示殘差映射,即F(x)=H(x)-x。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,模型在訓(xùn)練過程中改變學(xué)習(xí)目標,采用連接方式“shortcut connection”將輸入信息通過捷徑直接傳輸?shù)较乱粚?,整個網(wǎng)絡(luò)只需要學(xué)習(xí)輸入和輸出差別的那一部分,簡化了學(xué)習(xí)難度,并且實驗結(jié)果表明,殘差網(wǎng)絡(luò)更容易優(yōu)化。ResNet網(wǎng)絡(luò)模型的提出,一定程度上解決了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中或多或少的信息丟失、損耗等問題,同時還改善一些無法繼續(xù)訓(xùn)練的問題,如某些很深的網(wǎng)絡(luò)在訓(xùn)練過程中梯度消失或梯度爆炸,而且該網(wǎng)絡(luò)模型能夠獲取到更深層的抽象信息,有效提高了圖像分類準確率。
圖2 兩層及三層的ResNet殘差學(xué)習(xí)模塊
文中提出的基于改進的U-Net網(wǎng)絡(luò)模型的氣胸分割算法流程如圖3所示。對含有氣胸的胸片圖像進行相應(yīng)的圖像預(yù)處理,將預(yù)處理圖像以及相應(yīng)標簽輸入到U型網(wǎng)絡(luò)分割模型進行特征提取,再通過像素點分類模塊獲得分割結(jié)果,對模型預(yù)測的分割結(jié)果利用全連接條件隨機場(CRF)對圖像后處理,得到最終的氣胸分割結(jié)果。
圖3 算法流程
文中采用的網(wǎng)絡(luò)模型主要是在U-Net網(wǎng)絡(luò)模型基礎(chǔ)上進行改進,具體結(jié)構(gòu)如圖4所示,保持編解碼結(jié)構(gòu)體系,依舊使用U-Net中特征融合的方式,將收縮路徑中的特征與擴張路徑中具有相同分辨率的特征圖進行融合。該方式能夠充分利用胸片局部和整體的特征,保留編碼器部分下采樣過程丟失的信息,使得最后輸出的分割結(jié)果含有更豐富的邊緣細節(jié)信息。針對U-Net結(jié)構(gòu)中編碼器部分卷積層相對簡單,提取特征的能力滿足不了現(xiàn)有的圖像分割任務(wù)的需求,于是引入了ResNet結(jié)構(gòu)作為模型基礎(chǔ)網(wǎng)絡(luò),提高網(wǎng)絡(luò)特征提取能力,使用ImageNet[15]數(shù)據(jù)集上預(yù)訓(xùn)練的ResNet50上的網(wǎng)絡(luò)參數(shù),將ResNet50后面的全連接層替換為卷積層,以便獲得一張二維特征圖。在該網(wǎng)絡(luò)模型中編碼器部分經(jīng)歷四次下采樣過程,相應(yīng)地解碼器部分進行四次上采樣過程,將編碼器部分得到的高級語義特征圖進行恢復(fù)。由于目標輸出是胸片上氣胸區(qū)域和非氣胸區(qū)域,采用sigmoid函數(shù)獲取二類輸出,得到輸入數(shù)據(jù)在兩種語義類別上出現(xiàn)的概率,獲得每個像素點的分類信息,每一個像素點對應(yīng)值表示該點屬于氣胸的概率,最后挑選一個最佳閾值,高于該閾值的為正樣本,即氣胸像素;反之低于該閾值的為負樣本,即非氣胸像素,最終獲得網(wǎng)絡(luò)分割模型預(yù)測的分割效果圖。
圖4 改進的U-Net網(wǎng)絡(luò)結(jié)構(gòu)
深度學(xué)習(xí)中有多種訓(xùn)練算法,如隨機梯度下降(stochastic gradient descent,SGD)、自適應(yīng)梯度下降(adaptive subgradient,Adagrad)、自適應(yīng)學(xué)習(xí)率調(diào)整法(adaptive learning rate method,Adadelta)、均方根傳遞(root mean sqaure prop,RMSprop)、動量梯度下降法(momentum)和自適應(yīng)動量估計(adaptive moment estimation,Adam)等。文中選用最常用的訓(xùn)練算法Adam優(yōu)化算法[16],該算法是一種將Momentum算法和RMSProp算法兩者的優(yōu)點結(jié)合在一起的算法。Momentum算法主要是基于梯度的指數(shù)移動加權(quán)平均,將過去時間步的梯度進行加權(quán)平均,同時權(quán)重按照時間步指數(shù)衰減,使得網(wǎng)絡(luò)在優(yōu)化的過程中有一個很好的收斂速度,同時梯度擺動幅度變得相對較小,大大提升了網(wǎng)絡(luò)收斂速度;RMSProp算法采用小批量隨機梯度,根據(jù)元素平方的指數(shù)加權(quán)移動平均來調(diào)整學(xué)習(xí)率,改變自變量每個元素學(xué)習(xí)率在迭代時候一直降低(或不變)的情況。Adam算法結(jié)合兩者優(yōu)點之外還使用了偏差修正,實踐表明采用Adam算法能夠很快實現(xiàn)優(yōu)良的結(jié)果。
文中在訓(xùn)練過程采用多損失訓(xùn)練方法。在訓(xùn)練開始階段采用交叉熵損失函數(shù)[17],定義如下:
(1)
其中,yi表示樣本每個像素點的真實標簽值,pi表示每個像素點預(yù)測為氣胸區(qū)域的概率值,n表示樣本像素點數(shù)量。在模型訓(xùn)練達到一定收斂程度時,改用Dice損失函數(shù)對模型權(quán)重參數(shù)進行最后的微調(diào)訓(xùn)練,定義如下:
(2)
其中,p表示網(wǎng)絡(luò)預(yù)測值,g表示真實值,pixels表示每個圖像塊像素點個數(shù)。氣胸分割即二分類分割項目,病灶區(qū)域即目標區(qū)域(正樣本),非病灶區(qū)域即背景區(qū)域(負樣本)。實驗表明對正樣本的Dice加權(quán)系數(shù)設(shè)置為0.75,負樣本的Dice加權(quán)系數(shù)設(shè)置為0.25,此時Dice取得最大值。同時,實驗結(jié)果表明利用該損失訓(xùn)練方法有效提高了氣胸分割精度。
為優(yōu)化網(wǎng)絡(luò)模型預(yù)測分割結(jié)果,能夠使得病灶區(qū)域輪廓更加清晰地被描繪,減少邊緣像素分類的誤差率,文中引用了全連接條件隨機場(CRF)對網(wǎng)絡(luò)模型產(chǎn)生的語義粗分割結(jié)果進行圖像后處理,恢復(fù)目標區(qū)域細節(jié)部分,進一步提高氣胸分割精度。對觀測數(shù)據(jù)圖像I,在全連接條件隨機場中,i表示每個像素,xi表示第i個像素所屬的類別標簽,yi表示對應(yīng)的觀測值[18]。全連接條件隨機場的吉布斯能量分布函數(shù)由兩部分組成,具體公式如下:
(3)
(4)
(5)
由上面公式定義可知,只有像素i和j所屬標簽不同時,二元勢能才有相應(yīng)函數(shù)值,否則兩個像素間不存在相互作用的勢能。
實驗的硬件環(huán)境配置如下:采用(RAM)Intel(R) Core(TM) i7-6700K CPU 處理器,內(nèi)存(RAM)為16.00 GB和NVIDIA GeForce GTX TITAN X的GPU處理器。實驗的軟件環(huán)境設(shè)置如下:操作系統(tǒng)為64bit Windows10專業(yè)版,采用Python編程語言進行開發(fā)設(shè)計,同時借助PyTorch的深度學(xué)習(xí)框架進行卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和預(yù)測分割結(jié)果。
文中采用的X線胸片圖像來源于Kaggle網(wǎng)站提供的氣胸分割競賽數(shù)據(jù)(https://www.kaggle.com/c/siim-acr-pneumothorax-segmentation/data),這個數(shù)據(jù)集由ChestX-ray14數(shù)據(jù)集的子集形成,又經(jīng)過放射學(xué)專家重新標記,并在像素級別上附加注釋。實驗從該競賽數(shù)據(jù)集中獲得2 669張1 024×1 024含有氣胸的X線胸片圖像和相對應(yīng)的像素級的注釋標簽掩膜數(shù)據(jù),數(shù)據(jù)集以DICOM格式給出,掩膜數(shù)據(jù)通過CSV格式的文件給出,分別通過相應(yīng)代碼將數(shù)據(jù)集以及對應(yīng)的標簽統(tǒng)一變?yōu)閜ng格式。將該數(shù)據(jù)集隨機劃分為訓(xùn)練集70%、驗證集10%、測試集20%。
深度學(xué)習(xí)模型的性能是由數(shù)據(jù)驅(qū)動的,合適的數(shù)據(jù)預(yù)處理使得模型在訓(xùn)練過程學(xué)習(xí)到的特征更加豐富,同時有效避免網(wǎng)絡(luò)過擬合問題,能夠有效提升模型分割效果。觀察整個數(shù)據(jù)集后得知,數(shù)據(jù)集中存在著部分傾斜的圖片,對比度相對較低的圖片以及X光照片未占滿整張圖的圖片,同時數(shù)據(jù)集較少且氣胸像素分布不均,會降低網(wǎng)絡(luò)分割模型的訓(xùn)練效果。為緩解上述問題,文中采取了一些數(shù)據(jù)增強方法,對訓(xùn)練集圖片使用隨機旋轉(zhuǎn)操作,旋轉(zhuǎn)角度在0°到15°之間,上下翻轉(zhuǎn)和隨機裁剪,亮度和對比度變化以及直方圖均衡化,驗證集和測試集不進行任何變化。
為了能夠定量地評價文中算法對X線胸片的氣胸分割效果,選用兩種常見的利用網(wǎng)絡(luò)分割模型對醫(yī)學(xué)圖像進行分割的評價指標,分別是Dice相似性系數(shù)(dice similarity coefficient,DSC)和Jaccard系數(shù)(Jaccard distance,JD)。DSC用于評估真實分割區(qū)域與通過文中算法預(yù)測的分割區(qū)域之間的相似程度,DSC值越大表示真實值與預(yù)測值相似性越高。Jaccard系數(shù)通常用于在有限樣本集間評估預(yù)測結(jié)果與真實值之間的相似性,同樣指標越高代表分割結(jié)果越好,表達式分別如下:
(6)
(7)
其中,G表示真實氣胸區(qū)域的像素點集,P表示網(wǎng)絡(luò)分割模型預(yù)測的氣胸區(qū)域像素點集。
在文中設(shè)計的硬件環(huán)境和軟件環(huán)境以及數(shù)據(jù)集上,對基于改進的U-Net網(wǎng)絡(luò)模型進行訓(xùn)練,在該數(shù)據(jù)集上取得良好分割結(jié)果,Dice相似系數(shù)穩(wěn)定在0.851,Jaccard系數(shù)穩(wěn)定在0.769。
在U-Net網(wǎng)絡(luò)模型的基礎(chǔ)上,引入殘差學(xué)習(xí)模塊[19],采用遷移學(xué)習(xí)的方法,使用預(yù)訓(xùn)練模型ResNet50中的參數(shù),更好地幫助新模型訓(xùn)練,一定程度上減少了網(wǎng)絡(luò)分割模型所需的訓(xùn)練數(shù)據(jù)、計算成本等,并且有效加快了模型學(xué)習(xí)效率。為驗證采用遷移學(xué)習(xí)方法對網(wǎng)絡(luò)模型訓(xùn)練階段收斂速度以及效果的有效性,文中實驗對改進的U-Net網(wǎng)絡(luò)模型,在采用同一網(wǎng)絡(luò)模型的前提下,在訓(xùn)練階段設(shè)置對照實驗,即編碼器ResNet50網(wǎng)絡(luò)隨機初始化權(quán)重和采用在ImageNet經(jīng)過預(yù)訓(xùn)練的ResNet50網(wǎng)絡(luò)模型參數(shù),將兩者訓(xùn)練過程中的交叉熵損失進行比較,如圖5所示。
圖5 交叉熵損失比較
由圖5對照實驗發(fā)現(xiàn),采用預(yù)訓(xùn)練網(wǎng)絡(luò)模型作為編碼器,收斂速度相對較快,同時收斂效果更穩(wěn)定,證明了采用遷移學(xué)習(xí)方法的有效性。為測試網(wǎng)絡(luò)模型分割性能,突出文中算法在氣胸分割任務(wù)中的優(yōu)勢,將文中的氣胸分割算法與原始U-Net網(wǎng)絡(luò)模型和DeepLab v3+網(wǎng)絡(luò)模型的分割結(jié)果在評價指標Dice相似系數(shù)與Jaccard系數(shù)上進行比較,如表1所示。
表1 不同網(wǎng)絡(luò)模型分割結(jié)果的比較
依據(jù)表1,U-Net網(wǎng)絡(luò)模型相比DeepLab v3+網(wǎng)絡(luò)模型在氣胸分割任務(wù)上性能表現(xiàn)更優(yōu),同時實驗過程中U-Net相比DeepLab v3+網(wǎng)絡(luò)模型具有較少的訓(xùn)練參數(shù)和時間成本,表明在氣胸分割任務(wù)采用U型網(wǎng)絡(luò)有明顯優(yōu)勢,但分割精度仍未滿足臨床應(yīng)用需求。文中在U-Net網(wǎng)絡(luò)模型基礎(chǔ)上進行改進,網(wǎng)絡(luò)深度加深,增強特征學(xué)習(xí)能力,一定程度上解決了原始U-Net在池化操作步驟丟失信息的問題。對于比較小的氣胸區(qū)域分割,文中網(wǎng)絡(luò)模型表現(xiàn)出良好的分割效果,同時使用預(yù)訓(xùn)練網(wǎng)絡(luò)模型參數(shù)初始化,在訓(xùn)練過程中大大提高了網(wǎng)絡(luò)收斂速度,最后采用全連接條件隨機場在氣胸分割任務(wù)中優(yōu)化網(wǎng)絡(luò)模型分割結(jié)果,通過最大化條件概率來獲得每個像素的最佳標簽,一定程度上提高了分割精度。
圖6 氣胸分割可視化結(jié)果
圖6是通過文中改進的網(wǎng)絡(luò)模型預(yù)測的部分可視化分割結(jié)果以及采用CRF處理后的分割結(jié)果。從中可以看出,CRF對模型預(yù)測的氣胸分割結(jié)果進行圖像處理之后,模型預(yù)測結(jié)果中某些像素錯分類可以得到解決,在一定程度上使得圖像邊緣分割更加精細化,優(yōu)化分割結(jié)果。由(b)、(d)兩列比較得知,文中算法得到的預(yù)測結(jié)果與真實值相似性較高,且整體視覺感知良好,表明了文中研究工作的有效性。
提出了基于U-Net網(wǎng)絡(luò)模型改進方案,利用殘差學(xué)習(xí)模塊代替U-Net網(wǎng)絡(luò)模型編碼器中的簡單卷積層結(jié)構(gòu),一方面有效提高了網(wǎng)絡(luò)特征學(xué)習(xí)能力,另一方面利用預(yù)訓(xùn)練網(wǎng)絡(luò)模型參數(shù)有效加快了網(wǎng)絡(luò)收斂速度以及使得收斂效果更加穩(wěn)定,最后采用全連接條件隨機場(CRF)對網(wǎng)絡(luò)預(yù)測分割結(jié)果進一步優(yōu)化,使得分割精度進一步提高。實驗結(jié)果表明,提出的氣胸分割算法有效提高了氣胸自動化分割的精度,對于不同的氣胸患者都能得到相對較好的分割結(jié)果,算法擁有良好的穩(wěn)健性與泛化能力,同時也為相關(guān)領(lǐng)域圖像自動化分割帶來一定參考價值。另一方面,該算法的分割結(jié)果與臨床實際應(yīng)用需求還存在一定差距,分割精度有待進一步提升。