劉 帥 安 冬* 須 穎,2 邵 萌 鄒德芳 劉振鵬
1(沈陽建筑大學機械工程學院 遼寧 沈陽 110168) 2(廣東工業大學機電工程學院 廣東 廣州 510006) 3(沈陽建筑大學質量管理與評價辦公室 遼寧 沈陽 110168)
CT掃描過程中會產生高劑量輻射對人體造成損傷,所以需要降低輻射劑量以減少對人體的傷害,但同時也要保證圖像質量來滿足臨床診斷需求。降低輻射劑量主要產生量子噪聲,還會產生條紋偽影,圖像質量較差,影響診斷性能[1]。大量實驗結果證明,低劑量CT圖像中含有量子噪聲,量子噪聲的統計分布規律大約服從泊松分布[2]。
早期提高低劑量CT圖像質量的主流算法為投影域去噪算法、圖像重建算法和圖像域去噪算法等。投影域去噪算法是在圖像重建前對原始數據進行濾波,典型的方法包括懲罰加權最小二乘(PWLS)算法[3]和雙邊濾波[4]。然而,當圖像的邊緣不能很好地保留時,圖像的空間分辨率往往會下降。當前CT圖像重建算法中主流的算法是濾波反投影(FBP)算法、改進的FBP算法[5]、自適應統計迭代算法(ASIR)和基于模型的迭代重建(MBIR)等[6]。但是對于典型的圖像重建算法,其復雜度和計算時間都大大增加。圖像域去噪算法是當前的熱點算法,和前兩類最明顯的區別在于它不依賴投影數據直接對低劑量CT圖進行去噪。由于低劑量CT圖像中噪聲的統計分布不服從均勻分布,因此傳統的去噪方法很難完全去除圖像中的噪聲和偽影。
目前在醫學圖像處理領域,已經有很多學者運用深度學習對圖像進行研究[7],卷積神經網絡(Convolutional Neural Network,CNN)的應用也越來越廣泛,人們提出了許多基于CNN的方法對低劑量CT進行去噪,并且其目的是找到低劑量CT和相應的正常劑量CT圖像之間的pixel-wise關系[8]。例如,Chen等[9]提出了一個結合自編碼的卷積神經網絡對低劑量CT圖像去噪;Kang等[10]在小波域上采用了類似的方法取得了相當大的成功,這些方法在低劑量CT圖像去噪中表現出較好的效果;Zhang等[11]提出一種基于深度卷積神經網絡的圖像去噪方法,該方法采用梯度剪裁方案來防止梯度爆炸,并使網絡能快速收斂;在“2016年NIH-AAPM-Mayo臨床低劑量CT”中,基于方向小波的深卷積神經網絡用于低劑量X射線CT重建[9]獲得較好的成績;Wurfl等[12]將濾波后的反投影(FBP)工作流程映射到深度CNN架構中,將重建誤差降低了2倍;Lefkimmiatis[13]提出了一種基于非局部圖像模型的灰度和彩色圖像去噪深度網絡結構,其提出利用DCNN來學習NSS的參數;文獻[14-15]直接使用DCNN來實現去噪任務,將含噪聲的圖像輸入到DCNN中,經過DCNN輸出清晰圖像。
本文針對低劑量CT圖像去噪問題提出一種新的卷積神經網絡結構。首先輸入完整的CT圖像以保留圖像細節信息,并將批量歸一化與殘差學習相結合[16],通過引入長跳躍連接,避免梯度消失和準確度下滑問題;然后提出尺度不變的空間金字塔池化(S-SPP),增加網絡有效特征;最后卷積過程中使用擴張卷積增大網絡的感受野,保留圖像內部數據結構,得到更好的分割效果。
低劑量CT圖像去噪的目的是從低劑量CT圖像Y中觀察到潛在的正常劑量圖像X,R表示Y與X的殘差,即圖像中的噪聲,式(1)表示三者之間的關系。
Y=X+R
(1)
大多數傳統去噪方法直接實現低劑量圖像Y到正常劑量圖像X的映射。由于正常劑量CT圖像比噪聲圖像包含更多的信息,所以輸出正常劑量CT圖像中存在的現有信息比噪聲圖像中存在的信息更復雜。這意味著預測潛在清晰圖像的網絡的學習負擔遠遠高于預測噪聲圖像的網絡的學習負擔。


(2)
圖1為RN-CNN網絡的示意圖,包括卷積(Conv)、尺度不變的空間金字塔池化(S-SPP)、修正線性單元(ReLU)、批量歸一化(BN)。在傳統的深度學習網絡框架中,增加網絡的深度可以增加網絡的非線性達到更好的學習效果。但是隨著網絡的深度不斷加深,特征面數目越來越多,網絡的計算量逐漸增加,網絡容易出現梯度消失或梯度爆炸的現象,導致網絡性能退化、錯誤率上升。針對網絡深度加深容易出現梯度消失或梯度爆炸的現象,本文在網絡學習過程中引入殘差學習策略提升網絡性能,同時利用尺度不變的空間金字塔池化增加有效特征、增加擴張卷積來擴大網絡感受野[17]。

圖1 RN-CNN網絡示意圖
1.2.1網絡結構
本文提出的網絡結構模型共10層,分析如下:
(1) conv+ReLU層:第一層網絡卷積核的數量為64個,大小為5×5。將模擬的低劑量CT圖像每一個局部區域與卷積核做卷積運算,從而得到低劑量CT圖在該處不同特征的激活值;然后將不同的激活值進行加權,再傳遞給ReLU函數,得到該層的輸出。

(3)
(3) conv+BN+ReLU層:該層設置在第3-第9層,采用48個大小為3×3的卷積核,第3、第4、第8、第9層使用步長為2的擴張卷積,第5、第6、第7層使用了步長為3的擴張卷積,所以第3、第4、第8、第9層得實際卷積為5×5,第5、第6、第7層的實際卷積核為7×7。此外,第3-第9層與第一層不同之處在于第3-第9層在訓練過程中引入了批量正則化(BN),以改善網絡的梯度提高網絡的準確率和網絡的訓練速度。
(4) conv層:最后一層網絡有64個大小為5×5的卷積核,輸出大小為512×512的噪聲圖像,然后根據相應的數學運算得到去噪之后的圖像。
網絡的損失函數F(θ)為:
(4)

1.2.2特征提取
為了使網絡可以從輸入圖像數據得到更多更有效的特征信息,提高網絡的預測效果,本文借鑒空間金字塔池化(SPP)思想提出尺度不變的空間金字塔池化(Scale-invariant Spatial Pyramid Pooling,S-SPP),從而豐富卷積神經網絡提取的特征信息。提出的S-SPP模塊的網絡結構如圖2所示,S-SPP模塊主要由4個并行的最大值池化層、1個連接層和1個卷積層組成。最大值池化層的內核大小分別為1×1、5×5、9×9和13×13。4個最大值池化層能夠在輸入的圖像特征中提取具有不同感受野的多尺度特征;連接層能夠整合4個最大值池化層提取的多尺度特征,在特征圖的通道維中進行融合;卷積層的主要目的是將特征恢復到進入S-SPP模塊前的大小,使得S-SPP模塊引入的額外的特征不會在此處影響后續操作。圖3表示特征在S-SPP模塊中的尺度變化過程。深層神經網絡在同一層內獲得的多尺度特征可以進一步提高網絡的預測精度,且計算量小。

圖2 S-SPP模塊的網絡結構

圖3 特征傳遞過程
本文網絡共10層,輸入為512×512的低劑量圖像,輸出為512×512的預測噪聲圖像。其中第一個conv層和最后一個conv層有64個大小為5×5的卷積核,3-9層有48個大小為3×3的卷積核。本文使用擴張卷積增大感受野提升網絡的整體性能,其中3、4、8、9層使用步長為2的擴張卷積,5、6、7層使用了步長為3的擴張卷積,所以3、4、8、9層得實際卷積核為5×5,5、6、7層的實際卷積核為7×7。圖4為擴張卷積原理示意圖,其中(a)對應3×3的1-dilated conv,(b)對應3×3的2-dilated conv,可以看出網絡的kernel size雖然只有3×3,但是感受野已經增大到7×7,(c)是4-dilated conv操作,能達到15×15的感受野。

(a) 1-dilated conv (b) 2-dilated conv

(c) 4-dilated conv圖4 擴張卷積示意圖

(5)

1.2.3融合批量正則化(BN)與殘差學習的圖像去噪
增加網絡的寬度和深度可以提高網絡的性能,但是當網絡層數達到一定的數目性能就會飽和,再增加網絡深度就會導致網絡的錯誤率上升,性能下降,深度網絡的訓練就變得更加困難[19]。針對這個問題,本文使用BN與殘差學習相結合。BN層在激活函數前對輸入進行歸一化,以解決輸入數據發生偏移和增大的問題。BN不僅加快訓練速度增大學習率,而且不用選擇擬合中droupout、L2正則化項的參數,減少了梯度彌散和梯度消失。式(6)-式(9)為BN公式。
(6)
(7)
(8)
(9)


圖5 殘差網絡示意圖
將要優化的目標H(x)=F(x)+x(x就是該結構的輸入)由H(x)轉化為H(x)-x。在圖像去噪中H(x)代表含噪聲圖,H(x)-x為噪聲圖。由于噪聲圖殘差相比于H(x)會減少很多特征,所以會更容易地找到最優結果[20]。通過這種方式就可以解決網絡太深難訓練的問題,網絡訓練時間會相應地減少,性能也會提高。
選取2 000幅不同患者的肺部CT作為訓練數據,500幅作為測試數據,圖像尺寸為512 pixel×512 pixel,CT圖像來自廣州醫科大學附屬第一醫院,為了不影響數據的整體性,本文沒有對數據進行縮放處理。將每幅正常劑量的CT圖加入泊松噪聲以模擬對應的低劑量CT圖像,加噪式如下:
In=Poisson[b·exp(-S)]
(10)
Sn=ln(b/In)
(11)
式中:b發射光子數,其值設為106;S為正常劑量CT圖做扇形射束投影變換后的投影矩陣;In為探測器接收到的光子數;Sn為噪聲污染后的投影矩陣。
本文選用帶有Intel Core i7- 9700K CPU @ 3.60 GHz、64 GB RAM和Nvidia GeForce RTX 2080 Ti的Windows工作站來訓練和評估模型。同時使用Keras深度學習框架在pyCharm上進行仿真模擬。
本文訓練測試集時使用早停機制(early stopping)來幫助網絡的收斂,損失函數以測試集的損失函數作為參考,當模型在測試集上的表現開始下降的時候停止訓練。早停機制不僅能有效防止過擬合,還能防止欠擬合現象。本實驗中設置一個較大的初始周期,早停機制會使網絡在初始周期之前停止訓練,保證訓練時間不會太長,提高RN-CNN網絡的效率。其中早停機制的patience設為10。
本文采用主觀和客觀兩種評價標準對結果進行評價。為了驗證算法的有效性,將所提網絡與RED-CNN、DnCNN、NLM進行對比,圖6為測試數據中隨機抽取的6幅CT圖像。

(a) (b)

(c) (d)

(e) (f)圖6 測試圖
主觀評價是利用目測法觀察圖像的形態問題,圖7是以圖6(a)為例展示去噪效果,圖7(e)為采用NLM算法處理后的效果圖,可以看出邊緣明顯變得模糊,而且丟失了內部的紋理信息;圖7(c)和圖7(d)中雖然處理后的圖像噪聲消除很多,但是器官內部一些微小細節也被消除;圖7(f)為本文算法處理后的效果圖,去除噪聲后的圖像細節信息較清楚,去噪效果更明顯。

(a) 原圖 (b) 添加泊松噪聲圖

(c) RED-CNN去噪圖 (d) DnCNN去噪圖

(e) NLM去噪圖 (f) 本文算法去噪圖圖7 仿真模擬圖
圖8為不同方法下同一圖像紋理細節的比較,對圖8(a)中圈框部分放大觀察效果,可以看出低劑量圖像中有明顯的噪聲,圖8(c)-圖8(f)都有一定的降噪效果。NLM相對降噪效果較弱且白色骨質部分有較明顯的偽影;DnCNN去噪后骨質周圍較亮,難以保留細節信息;RED-CNN和本文算法去噪效果相差不多,在降低噪聲的同時都能很好地保留細節紋理信息,但是RED-CNN結合了自編碼器和解卷積,這種基于補丁的去噪方法在網絡訓練后需要花很長時間來處理圖像補丁,而本文算法結構相對簡單,運算時間和成本大大降低。

(a) 正常劑量圖像 (b) 低劑量圖像

(c) NLM去噪圖(d) RED-CNN去噪圖

(e) DnCNN去噪圖(f) 本文算法去噪圖圖8 細節對比圖
圖9表示同一圖像不同狀態下的3D曲面灰度分析圖:圖9(a)為正常劑量圖像曲面灰度圖,圖9(b)為低劑量圖像曲面灰度圖,圖9(c)為本文算法對低劑量CT圖像去噪之后的曲面灰度圖。可以看出低劑量CT圖像細節不夠清晰,經過本文算法處理后的灰度圖和正常劑量圖像的灰度已經很接近,進一步說明本文算法的有效性。

(a) 正常劑量圖像曲面灰度圖 (b) 低劑量圖像曲面灰度圖

(c) 去噪后曲面灰度圖圖9 3D曲面灰度圖
客觀指標采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)與結構相似指數(Structural Similarity Index Measurement,SSIM),公式如下:
(12)
(13)
(14)
式中:x和y分別代表正常劑量圖像和噪聲圖像;m、n分別代表圖像的寬和高;c為常數;μ為平均值;σ2為方差;σxy為比較兩幅圖像的協方差;MAXx為正常劑量圖像像素最大值。PSNR可以衡量算法的去噪能力,值越大去除噪聲能力越強;SSIM用來衡量兩幅圖的相似程度,范圍是0~1,數值越大說明兩幅圖越相似,去噪后保留的細節信息也就越多。表1中數據是對6幅測試圖評價指標的詳細結果和平均值,可以看出本文所提網絡對于PSNR指標領先DnCNN、NLM,在PSNR指標上平均提高1.80;在SSIM指標上所提網絡略高于RED-CNN,比DnCNN高0.100 5,比NLM高0.097 1,對于SSIM指標平均提高了0.078 3。因此本文有效的去除了低劑量CT中的噪聲。

表1 實驗結果比較
為了驗證S-SPP模塊的有效性,將S-SPP模塊替換成池化核為2×2的最大池化層,取6幅測試圖與原方法進行對比,依然使用PSNR、SSIM作為評價指標。實驗結果如表2所示,可以看出,尺度不變的空間金字塔池化相對于最大池化可以使網絡獲得更好的去噪效果。

表2 不同結構比較結果
本文針對低劑量CT含有大量量子噪聲的問題提出一種新型結合ResNet模型的卷積神經網絡結構,以去除圖像中的噪聲和偽影。本文提出的網絡以低劑量CT圖像作為輸入并預測噪聲圖像,通過將預測的噪聲圖像與低劑量CT圖像分離來得到潛在的清晰圖像,結合BN與殘差學習的優勢;通過S-SPP增加有效特征,并利用擴張卷積增大網絡感受野;訓練過程中使用早停機制幫助網絡收斂。與其他經典算法相比,本文所提出的網絡在PSNR指標上平均提高1.80,在SSIM指標上平均提高了0.078 3。