劉 帥 安 冬* 須 穎,2 邵 萌 鄒德芳 劉振鵬
1(沈陽建筑大學(xué)機(jī)械工程學(xué)院 遼寧 沈陽 110168) 2(廣東工業(yè)大學(xué)機(jī)電工程學(xué)院 廣東 廣州 510006) 3(沈陽建筑大學(xué)質(zhì)量管理與評價辦公室 遼寧 沈陽 110168)
CT掃描過程中會產(chǎn)生高劑量輻射對人體造成損傷,所以需要降低輻射劑量以減少對人體的傷害,但同時也要保證圖像質(zhì)量來滿足臨床診斷需求。降低輻射劑量主要產(chǎn)生量子噪聲,還會產(chǎn)生條紋偽影,圖像質(zhì)量較差,影響診斷性能[1]。大量實驗結(jié)果證明,低劑量CT圖像中含有量子噪聲,量子噪聲的統(tǒng)計分布規(guī)律大約服從泊松分布[2]。
早期提高低劑量CT圖像質(zhì)量的主流算法為投影域去噪算法、圖像重建算法和圖像域去噪算法等。投影域去噪算法是在圖像重建前對原始數(shù)據(jù)進(jìn)行濾波,典型的方法包括懲罰加權(quán)最小二乘(PWLS)算法[3]和雙邊濾波[4]。然而,當(dāng)圖像的邊緣不能很好地保留時,圖像的空間分辨率往往會下降。當(dāng)前CT圖像重建算法中主流的算法是濾波反投影(FBP)算法、改進(jìn)的FBP算法[5]、自適應(yīng)統(tǒng)計迭代算法(ASIR)和基于模型的迭代重建(MBIR)等[6]。但是對于典型的圖像重建算法,其復(fù)雜度和計算時間都大大增加。圖像域去噪算法是當(dāng)前的熱點算法,和前兩類最明顯的區(qū)別在于它不依賴投影數(shù)據(jù)直接對低劑量CT圖進(jìn)行去噪。由于低劑量CT圖像中噪聲的統(tǒng)計分布不服從均勻分布,因此傳統(tǒng)的去噪方法很難完全去除圖像中的噪聲和偽影。
目前在醫(yī)學(xué)圖像處理領(lǐng)域,已經(jīng)有很多學(xué)者運用深度學(xué)習(xí)對圖像進(jìn)行研究[7],卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的應(yīng)用也越來越廣泛,人們提出了許多基于CNN的方法對低劑量CT進(jìn)行去噪,并且其目的是找到低劑量CT和相應(yīng)的正常劑量CT圖像之間的pixel-wise關(guān)系[8]。例如,Chen等[9]提出了一個結(jié)合自編碼的卷積神經(jīng)網(wǎng)絡(luò)對低劑量CT圖像去噪;Kang等[10]在小波域上采用了類似的方法取得了相當(dāng)大的成功,這些方法在低劑量CT圖像去噪中表現(xiàn)出較好的效果;Zhang等[11]提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像去噪方法,該方法采用梯度剪裁方案來防止梯度爆炸,并使網(wǎng)絡(luò)能快速收斂;在“2016年NIH-AAPM-Mayo臨床低劑量CT”中,基于方向小波的深卷積神經(jīng)網(wǎng)絡(luò)用于低劑量X射線CT重建[9]獲得較好的成績;Wurfl等[12]將濾波后的反投影(FBP)工作流程映射到深度CNN架構(gòu)中,將重建誤差降低了2倍;Lefkimmiatis[13]提出了一種基于非局部圖像模型的灰度和彩色圖像去噪深度網(wǎng)絡(luò)結(jié)構(gòu),其提出利用DCNN來學(xué)習(xí)NSS的參數(shù);文獻(xiàn)[14-15]直接使用DCNN來實現(xiàn)去噪任務(wù),將含噪聲的圖像輸入到DCNN中,經(jīng)過DCNN輸出清晰圖像。
本文針對低劑量CT圖像去噪問題提出一種新的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。首先輸入完整的CT圖像以保留圖像細(xì)節(jié)信息,并將批量歸一化與殘差學(xué)習(xí)相結(jié)合[16],通過引入長跳躍連接,避免梯度消失和準(zhǔn)確度下滑問題;然后提出尺度不變的空間金字塔池化(S-SPP),增加網(wǎng)絡(luò)有效特征;最后卷積過程中使用擴(kuò)張卷積增大網(wǎng)絡(luò)的感受野,保留圖像內(nèi)部數(shù)據(jù)結(jié)構(gòu),得到更好的分割效果。
低劑量CT圖像去噪的目的是從低劑量CT圖像Y中觀察到潛在的正常劑量圖像X,R表示Y與X的殘差,即圖像中的噪聲,式(1)表示三者之間的關(guān)系。
Y=X+R
(1)
大多數(shù)傳統(tǒng)去噪方法直接實現(xiàn)低劑量圖像Y到正常劑量圖像X的映射。由于正常劑量CT圖像比噪聲圖像包含更多的信息,所以輸出正常劑量CT圖像中存在的現(xiàn)有信息比噪聲圖像中存在的信息更復(fù)雜。這意味著預(yù)測潛在清晰圖像的網(wǎng)絡(luò)的學(xué)習(xí)負(fù)擔(dān)遠(yuǎn)遠(yuǎn)高于預(yù)測噪聲圖像的網(wǎng)絡(luò)的學(xué)習(xí)負(fù)擔(dān)。
(2)
圖1為RN-CNN網(wǎng)絡(luò)的示意圖,包括卷積(Conv)、尺度不變的空間金字塔池化(S-SPP)、修正線性單元(ReLU)、批量歸一化(BN)。在傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)框架中,增加網(wǎng)絡(luò)的深度可以增加網(wǎng)絡(luò)的非線性達(dá)到更好的學(xué)習(xí)效果。但是隨著網(wǎng)絡(luò)的深度不斷加深,特征面數(shù)目越來越多,網(wǎng)絡(luò)的計算量逐漸增加,網(wǎng)絡(luò)容易出現(xiàn)梯度消失或梯度爆炸的現(xiàn)象,導(dǎo)致網(wǎng)絡(luò)性能退化、錯誤率上升。針對網(wǎng)絡(luò)深度加深容易出現(xiàn)梯度消失或梯度爆炸的現(xiàn)象,本文在網(wǎng)絡(luò)學(xué)習(xí)過程中引入殘差學(xué)習(xí)策略提升網(wǎng)絡(luò)性能,同時利用尺度不變的空間金字塔池化增加有效特征、增加擴(kuò)張卷積來擴(kuò)大網(wǎng)絡(luò)感受野[17]。
圖1 RN-CNN網(wǎng)絡(luò)示意圖
1.2.1網(wǎng)絡(luò)結(jié)構(gòu)
本文提出的網(wǎng)絡(luò)結(jié)構(gòu)模型共10層,分析如下:
(1) conv+ReLU層:第一層網(wǎng)絡(luò)卷積核的數(shù)量為64個,大小為5×5。將模擬的低劑量CT圖像每一個局部區(qū)域與卷積核做卷積運算,從而得到低劑量CT圖在該處不同特征的激活值;然后將不同的激活值進(jìn)行加權(quán),再傳遞給ReLU函數(shù),得到該層的輸出。
(3)
(3) conv+BN+ReLU層:該層設(shè)置在第3-第9層,采用48個大小為3×3的卷積核,第3、第4、第8、第9層使用步長為2的擴(kuò)張卷積,第5、第6、第7層使用了步長為3的擴(kuò)張卷積,所以第3、第4、第8、第9層得實際卷積為5×5,第5、第6、第7層的實際卷積核為7×7。此外,第3-第9層與第一層不同之處在于第3-第9層在訓(xùn)練過程中引入了批量正則化(BN),以改善網(wǎng)絡(luò)的梯度提高網(wǎng)絡(luò)的準(zhǔn)確率和網(wǎng)絡(luò)的訓(xùn)練速度。
(4) conv層:最后一層網(wǎng)絡(luò)有64個大小為5×5的卷積核,輸出大小為512×512的噪聲圖像,然后根據(jù)相應(yīng)的數(shù)學(xué)運算得到去噪之后的圖像。
網(wǎng)絡(luò)的損失函數(shù)F(θ)為:
(4)
1.2.2特征提取
為了使網(wǎng)絡(luò)可以從輸入圖像數(shù)據(jù)得到更多更有效的特征信息,提高網(wǎng)絡(luò)的預(yù)測效果,本文借鑒空間金字塔池化(SPP)思想提出尺度不變的空間金字塔池化(Scale-invariant Spatial Pyramid Pooling,S-SPP),從而豐富卷積神經(jīng)網(wǎng)絡(luò)提取的特征信息。提出的S-SPP模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,S-SPP模塊主要由4個并行的最大值池化層、1個連接層和1個卷積層組成。最大值池化層的內(nèi)核大小分別為1×1、5×5、9×9和13×13。4個最大值池化層能夠在輸入的圖像特征中提取具有不同感受野的多尺度特征;連接層能夠整合4個最大值池化層提取的多尺度特征,在特征圖的通道維中進(jìn)行融合;卷積層的主要目的是將特征恢復(fù)到進(jìn)入S-SPP模塊前的大小,使得S-SPP模塊引入的額外的特征不會在此處影響后續(xù)操作。圖3表示特征在S-SPP模塊中的尺度變化過程。深層神經(jīng)網(wǎng)絡(luò)在同一層內(nèi)獲得的多尺度特征可以進(jìn)一步提高網(wǎng)絡(luò)的預(yù)測精度,且計算量小。
圖2 S-SPP模塊的網(wǎng)絡(luò)結(jié)構(gòu)
圖3 特征傳遞過程
本文網(wǎng)絡(luò)共10層,輸入為512×512的低劑量圖像,輸出為512×512的預(yù)測噪聲圖像。其中第一個conv層和最后一個conv層有64個大小為5×5的卷積核,3-9層有48個大小為3×3的卷積核。本文使用擴(kuò)張卷積增大感受野提升網(wǎng)絡(luò)的整體性能,其中3、4、8、9層使用步長為2的擴(kuò)張卷積,5、6、7層使用了步長為3的擴(kuò)張卷積,所以3、4、8、9層得實際卷積核為5×5,5、6、7層的實際卷積核為7×7。圖4為擴(kuò)張卷積原理示意圖,其中(a)對應(yīng)3×3的1-dilated conv,(b)對應(yīng)3×3的2-dilated conv,可以看出網(wǎng)絡(luò)的kernel size雖然只有3×3,但是感受野已經(jīng)增大到7×7,(c)是4-dilated conv操作,能達(dá)到15×15的感受野。
(a) 1-dilated conv (b) 2-dilated conv
(c) 4-dilated conv圖4 擴(kuò)張卷積示意圖
(5)
1.2.3融合批量正則化(BN)與殘差學(xué)習(xí)的圖像去噪
增加網(wǎng)絡(luò)的寬度和深度可以提高網(wǎng)絡(luò)的性能,但是當(dāng)網(wǎng)絡(luò)層數(shù)達(dá)到一定的數(shù)目性能就會飽和,再增加網(wǎng)絡(luò)深度就會導(dǎo)致網(wǎng)絡(luò)的錯誤率上升,性能下降,深度網(wǎng)絡(luò)的訓(xùn)練就變得更加困難[19]。針對這個問題,本文使用BN與殘差學(xué)習(xí)相結(jié)合。BN層在激活函數(shù)前對輸入進(jìn)行歸一化,以解決輸入數(shù)據(jù)發(fā)生偏移和增大的問題。BN不僅加快訓(xùn)練速度增大學(xué)習(xí)率,而且不用選擇擬合中droupout、L2正則化項的參數(shù),減少了梯度彌散和梯度消失。式(6)-式(9)為BN公式。
(6)
(7)
(8)
(9)
圖5 殘差網(wǎng)絡(luò)示意圖
將要優(yōu)化的目標(biāo)H(x)=F(x)+x(x就是該結(jié)構(gòu)的輸入)由H(x)轉(zhuǎn)化為H(x)-x。在圖像去噪中H(x)代表含噪聲圖,H(x)-x為噪聲圖。由于噪聲圖殘差相比于H(x)會減少很多特征,所以會更容易地找到最優(yōu)結(jié)果[20]。通過這種方式就可以解決網(wǎng)絡(luò)太深難訓(xùn)練的問題,網(wǎng)絡(luò)訓(xùn)練時間會相應(yīng)地減少,性能也會提高。
選取2 000幅不同患者的肺部CT作為訓(xùn)練數(shù)據(jù),500幅作為測試數(shù)據(jù),圖像尺寸為512 pixel×512 pixel,CT圖像來自廣州醫(yī)科大學(xué)附屬第一醫(yī)院,為了不影響數(shù)據(jù)的整體性,本文沒有對數(shù)據(jù)進(jìn)行縮放處理。將每幅正常劑量的CT圖加入泊松噪聲以模擬對應(yīng)的低劑量CT圖像,加噪式如下:
In=Poisson[b·exp(-S)]
(10)
Sn=ln(b/In)
(11)
式中:b發(fā)射光子數(shù),其值設(shè)為106;S為正常劑量CT圖做扇形射束投影變換后的投影矩陣;In為探測器接收到的光子數(shù);Sn為噪聲污染后的投影矩陣。
本文選用帶有Intel Core i7- 9700K CPU @ 3.60 GHz、64 GB RAM和Nvidia GeForce RTX 2080 Ti的Windows工作站來訓(xùn)練和評估模型。同時使用Keras深度學(xué)習(xí)框架在pyCharm上進(jìn)行仿真模擬。
本文訓(xùn)練測試集時使用早停機(jī)制(early stopping)來幫助網(wǎng)絡(luò)的收斂,損失函數(shù)以測試集的損失函數(shù)作為參考,當(dāng)模型在測試集上的表現(xiàn)開始下降的時候停止訓(xùn)練。早停機(jī)制不僅能有效防止過擬合,還能防止欠擬合現(xiàn)象。本實驗中設(shè)置一個較大的初始周期,早停機(jī)制會使網(wǎng)絡(luò)在初始周期之前停止訓(xùn)練,保證訓(xùn)練時間不會太長,提高RN-CNN網(wǎng)絡(luò)的效率。其中早停機(jī)制的patience設(shè)為10。
本文采用主觀和客觀兩種評價標(biāo)準(zhǔn)對結(jié)果進(jìn)行評價。為了驗證算法的有效性,將所提網(wǎng)絡(luò)與RED-CNN、DnCNN、NLM進(jìn)行對比,圖6為測試數(shù)據(jù)中隨機(jī)抽取的6幅CT圖像。
(a) (b)
(c) (d)
(e) (f)圖6 測試圖
主觀評價是利用目測法觀察圖像的形態(tài)問題,圖7是以圖6(a)為例展示去噪效果,圖7(e)為采用NLM算法處理后的效果圖,可以看出邊緣明顯變得模糊,而且丟失了內(nèi)部的紋理信息;圖7(c)和圖7(d)中雖然處理后的圖像噪聲消除很多,但是器官內(nèi)部一些微小細(xì)節(jié)也被消除;圖7(f)為本文算法處理后的效果圖,去除噪聲后的圖像細(xì)節(jié)信息較清楚,去噪效果更明顯。
(a) 原圖 (b) 添加泊松噪聲圖
(c) RED-CNN去噪圖 (d) DnCNN去噪圖
(e) NLM去噪圖 (f) 本文算法去噪圖圖7 仿真模擬圖
圖8為不同方法下同一圖像紋理細(xì)節(jié)的比較,對圖8(a)中圈框部分放大觀察效果,可以看出低劑量圖像中有明顯的噪聲,圖8(c)-圖8(f)都有一定的降噪效果。NLM相對降噪效果較弱且白色骨質(zhì)部分有較明顯的偽影;DnCNN去噪后骨質(zhì)周圍較亮,難以保留細(xì)節(jié)信息;RED-CNN和本文算法去噪效果相差不多,在降低噪聲的同時都能很好地保留細(xì)節(jié)紋理信息,但是RED-CNN結(jié)合了自編碼器和解卷積,這種基于補丁的去噪方法在網(wǎng)絡(luò)訓(xùn)練后需要花很長時間來處理圖像補丁,而本文算法結(jié)構(gòu)相對簡單,運算時間和成本大大降低。
(a) 正常劑量圖像 (b) 低劑量圖像
(c) NLM去噪圖(d) RED-CNN去噪圖
(e) DnCNN去噪圖(f) 本文算法去噪圖圖8 細(xì)節(jié)對比圖
圖9表示同一圖像不同狀態(tài)下的3D曲面灰度分析圖:圖9(a)為正常劑量圖像曲面灰度圖,圖9(b)為低劑量圖像曲面灰度圖,圖9(c)為本文算法對低劑量CT圖像去噪之后的曲面灰度圖。可以看出低劑量CT圖像細(xì)節(jié)不夠清晰,經(jīng)過本文算法處理后的灰度圖和正常劑量圖像的灰度已經(jīng)很接近,進(jìn)一步說明本文算法的有效性。
(a) 正常劑量圖像曲面灰度圖 (b) 低劑量圖像曲面灰度圖
(c) 去噪后曲面灰度圖圖9 3D曲面灰度圖
客觀指標(biāo)采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)與結(jié)構(gòu)相似指數(shù)(Structural Similarity Index Measurement,SSIM),公式如下:
(12)
(13)
(14)
式中:x和y分別代表正常劑量圖像和噪聲圖像;m、n分別代表圖像的寬和高;c為常數(shù);μ為平均值;σ2為方差;σxy為比較兩幅圖像的協(xié)方差;MAXx為正常劑量圖像像素最大值。PSNR可以衡量算法的去噪能力,值越大去除噪聲能力越強;SSIM用來衡量兩幅圖的相似程度,范圍是0~1,數(shù)值越大說明兩幅圖越相似,去噪后保留的細(xì)節(jié)信息也就越多。表1中數(shù)據(jù)是對6幅測試圖評價指標(biāo)的詳細(xì)結(jié)果和平均值,可以看出本文所提網(wǎng)絡(luò)對于PSNR指標(biāo)領(lǐng)先DnCNN、NLM,在PSNR指標(biāo)上平均提高1.80;在SSIM指標(biāo)上所提網(wǎng)絡(luò)略高于RED-CNN,比DnCNN高0.100 5,比NLM高0.097 1,對于SSIM指標(biāo)平均提高了0.078 3。因此本文有效的去除了低劑量CT中的噪聲。
表1 實驗結(jié)果比較
為了驗證S-SPP模塊的有效性,將S-SPP模塊替換成池化核為2×2的最大池化層,取6幅測試圖與原方法進(jìn)行對比,依然使用PSNR、SSIM作為評價指標(biāo)。實驗結(jié)果如表2所示,可以看出,尺度不變的空間金字塔池化相對于最大池化可以使網(wǎng)絡(luò)獲得更好的去噪效果。
表2 不同結(jié)構(gòu)比較結(jié)果
本文針對低劑量CT含有大量量子噪聲的問題提出一種新型結(jié)合ResNet模型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),以去除圖像中的噪聲和偽影。本文提出的網(wǎng)絡(luò)以低劑量CT圖像作為輸入并預(yù)測噪聲圖像,通過將預(yù)測的噪聲圖像與低劑量CT圖像分離來得到潛在的清晰圖像,結(jié)合BN與殘差學(xué)習(xí)的優(yōu)勢;通過S-SPP增加有效特征,并利用擴(kuò)張卷積增大網(wǎng)絡(luò)感受野;訓(xùn)練過程中使用早停機(jī)制幫助網(wǎng)絡(luò)收斂。與其他經(jīng)典算法相比,本文所提出的網(wǎng)絡(luò)在PSNR指標(biāo)上平均提高1.80,在SSIM指標(biāo)上平均提高了0.078 3。