周博超,韓雨男,桂志國,2,李郁峰,張 權,2
(1.中北大學電子測試技術國家重點實驗室,太原 030051;2.中北大學生物醫學成像與影像大數據山西省重點實驗室,太原 030051;3.中北大學 軍民融合協同創新研究院,太原 030051)
計算機斷層掃描(Computed Tomography,CT)成像技術是現代臨床醫療影像學診斷的常用手段。然而,常規X 射線CT 掃描的放射性較高,會對人體造成一定的危害。低劑量CT(Low-Dose CT,LDCT)[1]通過降低X 射線管電壓或管電流,以減弱放射性造成的傷害,但同時也降低成像質量。如何改善LDCT 的成像質量成為醫學影像處理的研究熱點。
目前,改善LDCT 圖像質量的研究方法主要分為投影域去噪算法、改進重建算法和圖像域去噪算法[2]。其中圖像域去噪算法是基于稀疏表示的K-SVD(K-Singular Value Decomposition)算法[3-4],在去除輕度噪聲偽影方面取得了良好的效果,但是基于質量退化嚴重的LDCT 圖像學習到的字典原子中包含較多的噪聲原子,無法有效地去除噪聲[5]。針對上述問題,文獻[6]提出分類字典的概念,通過對字典原子進行區分,提升K-SVD 算法的去噪性能。文獻[7]提出一種基于正則化方法的K-SVD 算法,通過在字典原子更新時引入正則項,改善去噪效果。文獻[8]提出一種深層字典學習算法,能夠更好地保留圖像邊緣和細節信息,但在去除噪聲偽影方面表現一般。文獻[9]提出一種基于卷積神經網絡的LDCT 圖像去噪方法,通過學習LDCT 圖像與其噪聲圖像之間的映射關系,從而改進去噪效果。然而,LDCT 圖像與正常劑量的CT 圖像難以對應。
為改善LDCT 圖像質量,本文將改進的VGG[10-12]網絡與深層字典相結合,提出一種LDCT 圖像去噪算法。構建適合字典原子分類的VGG 網絡模型,并將其應用于學習到深層字典的第一層字典原子中,同時根據分類結果將稀疏矩陣中噪聲原子對應的元素設置為零,從而降低噪聲原子對圖像去噪效果的影響。
K-SVD 算法是在最優方向算法(MOD)[13]的基礎上提出的。MOD 算法的目標函數如式(1)所示:

其中:D為字典原子;Y為樣本數據集;X={xi}為字典D對應的稀疏矩陣;ε為稀疏度,即稀疏表示系數中非零元素的個數。
MOD 算法通過實現表征誤差最小化來更新字典,即在公式兩端對D求偏導。整個字典的更新過程如式(2)所示:

該運算需要對矩陣求逆,會耗費大量的計算資源。K-SVD 算法每次只更新一個字典原子和對應的稀疏編碼向量,直至更新完所有的字典原子。本文假設圖像Y可以描述為Y=DX,其中D∈RN×M,X為D對應的稀疏矩陣。K-SVD 算法分為以下兩個階段:
1)稀疏編碼階段
稀疏編碼階段可以描述為求解模型,其過程如式(3)所示:

其中:||X||0是l0范數,為X中非零元素的個數;T0為非零元素個數的最大值。字典D可以初始化為一個離散余弦變換(Discrete Cosine Transform,DCT)字典[14],通過正交匹配追蹤(Orthogonal Matching Pursuit,OMP)[15]算法計算得到稀疏編碼矩陣X。
2)字典學習階段
字典學習階段主要是根據稀疏矩陣X迭代更新字典D中的原子。字典學習過程可以描述為求解模型,其過程如式(4)和式(5)所示:

其中:||Xi||0是Xi的l0范數。K-SVD 算法的主要原理是先固定字典D,利用OMP 算法求解稀疏矩陣X,然后再固定X,根據X更新字典D,如此交替進行,直到求出字典D和稀疏矩陣X的最優解。
深度學習[16]已發展出眾多網絡模型,其中適用于圖像識別與分類的卷積神經網絡是一種專門用來處理具有相似網格結構數據的神經網絡[17-18]。VGG-16 網絡結構如圖1 所示。

圖1 VGG-16 網絡結構Fig.1 Structure of VGG-16 network
VGG 網絡是輕量級卷積神經網絡中分類性能表現較優的網絡模型之一。與AlexNet[19]網絡相比,VGG網絡最主要的特點是采用多個堆疊的3×3 卷積核代替AlexNet 網絡中較大的單個卷積核,如5×5、7×7、11×11。對于相同的感受野,相比單個大卷積核,VGG網絡采用堆疊的小卷積核,能夠以更小的參數代價獲得更優的非線性。VGG 網絡全部采用相同大小的卷積核(3×3)和最大池化層(2×2),保證網絡結構的簡潔性,同時通過對VGG 網絡的不同層數進行比較分析,驗證了加深網絡層數可以提高網絡性能的有效性。隨著網絡層數的加深,需要求解的參數數目也隨之增加,其中大部分參數來自于全連接層。
本文在VGG-16 網絡的基礎上,通過去掉池化層和部分全連接層,并引入直連通道[20]構建區分噪聲原子和信息原子的網絡模型,如圖2 所示。

圖2 改進的VGG 網絡結構Fig.2 Structure of improved VGG network
該模型主要包含5 個卷積段、1 個全連接層以及2 個標簽的Softmax 層。5 個卷積段總共包含13 個卷積層,卷積核尺寸均為3×3,每段內卷積核數量一致,越靠后段的卷積核數量越多,分別為64、128、256、512、512,滑動步長為1,采用邊界填充確保前后數據維數相同,激活函數采用ReLu。由于字典原子圖像僅為8×8 像素,因此去除全部池化層。經典VGG 網絡是為1 000 個分類類別設計的,而本文只有2 個分類類別,且需要求解的參數大部分來自于全連接層,因此僅保留1 個全連接層。同時在經典VGG 網絡的基礎上加入直連通道,將原始輸入的信息直接傳入到后面的網絡層中,以抑制梯度消失且加快網絡收斂速度。本文考慮到改進的VGG 網絡共有13 個卷積層,并且過多的直連通道會增加網絡的復雜度,因此分別在卷積層的第1 層和第4 層、第5層和 第7 層、第8 層和第10 層、第11 層和第13 層設置直連通道。
SNIGDHA 等通過將字典學習和深度學習的概念相結合,基于K-SVD 算法提出了深層字典學習的概念。但是,單層字典的收斂條件并不適用于深層字典,并且在學習深層字典時,需要求解的參數增多,由于訓練數據有限,會導致過擬合現象。為此,深層字典采用貪婪方式[21]學習字典,并將第1 層學習到的特征作為第2 層的輸入。字典的求解可以是稠密或者稀疏的,稠密求解模型如式(6)所示:

其中:Y為輸入圖像;D為學到的 字典;X為字典D對應的稀疏矩陣。式(6)可以采用交替最小化[22]的方法求解,如式(7)所示:

其中:k為深層字典的層數,k=1,2,…,n。在稀疏求解中需加入L1 范數進行正則化,即求解如式(8)所示:

式(8)也可以通過交替最小化來求解,如式(9)所示:

若字典層數為N層,求解如 式(10)~式(13)所示:

此時Y可以表示為:

其中:Dk、Xk為第k層學習到的字典及對應的稀疏矩陣,k=0,1,…,N。
深層字典通過學習多層字典來提取數據的特征,但對于LDCT 圖像而言,深層字典無法區分圖像中的結構信息和噪聲信息。因此,深層字典學習到的字典原子中仍含有較多的噪聲原子,導致深層字典在處理LDCT 圖像時,雖然能夠較好地保留圖像的結構信息,但是無法有效抑制噪聲對LDCT 圖像質量的影響。
盡管深層字典可以學習到更多的圖像細節信息,但深層字典的去噪能力較差,而LDCT 圖像通常噪聲強度較高。為提高深層字典的去噪性能和改善LDCT圖像質量,本文通過改進的VGG 網絡對深層字典學習算法進行相應的改進,算法結構如圖3 所示。

圖3 改進的深層字典學習算法結構Fig.3 Structure of improved deep dictionary learning algorithm
本文所提的算法采用3 層結構。第1 層采用稀疏求解,字典大小設置為64×144,稀疏度為1,利用改進的VGG 網絡將學習到的第1 層字典D1中的字典原子區分為噪聲原子和信息原子,如圖4 所示,并將稀疏矩陣中噪聲原子所對應的元素設置為0,降低噪聲原子對圖像去噪效果的影響,得到一個新的稀疏矩陣X′1,如圖5 所示。

圖4 區分字典原子示意圖Fig.4 Schematic diagram of distinguishing dictionary atomic

圖5 稀疏矩陣中噪聲原子所對應元素置零示意圖Fig.5 Schematic diagram of zeroing elements corresponding to noise atoms in sparse matrix
這個過程如式(15)所示:

為保留圖像中更多結構和邊緣信息,字典的第2層和第3 層均采用稠密求解,字典大小分別設置為144×256、256×441,如式(16)和式(17)所示:

本文算法主要分為以下7 個步驟:
1)輸入原始LDCT 圖像Y;
2)利用式(7)得到字典D1和稀疏矩陣X1;
3)利用改進的VGG 網絡將字典D1中的字典原子區分為噪聲原子和信息原子;
4)將稀疏矩陣X1中噪聲原子所對應的元素置零,得到新的稀疏矩陣
5)利用式(16)得到字典D2和稀疏矩陣X2;
6)利用式(17)得到字典D3和稀疏矩陣X3;
7)利用式(18)輸出去噪圖像Y。
本文采用的數據集是原始LDCT 仿真圖像,通過K-SVD 算法學習字典原子圖像塊,字典大小設置為64×256,稀疏度設置為1。一幅原始LDCT 仿真圖像可以得到256 幅8×8 像素的單個字典原子圖像塊,并利用labelme 軟件進行標注。利用20 幅原始LDCT 仿真圖像得到5 120 幅字典原子圖像塊組成的數據集。為保證數據集中正負樣本數的一致性,本文篩選5 000 幅字典原子圖像塊,并經過鏡像、翻轉操作擴展至10 000 幅。
本文實驗將256×252 像素的骨盆體模LDCT仿真圖像作為輸入圖像,將處理結果與K-SVD 算法、正則化K-SVD 算法、深層字典學習算法的處理結果進行對比分析。為定量評價各算法的處理結果,本文選用結構相似性(Structural Similarity,SSIM)、峰值信噪比(Peak Signal to Noise Ratio,PSNR)、平均絕對誤差(Mean Absolute Error,MAE)作為客觀評價指標。
圖6 為在迭代訓練100 次時,改進VGG 網絡模型在訓練集和驗證集上的損失值和準確率的變化,最終在字典原子數據集上的準確率達到97.7%。

圖6 在訓練集和驗證集上改進VGG 網絡的損失值和準確率變化Fig.6 Change of loss value and accuracy rate of improved VGG network on training set and validation set
圖7從直觀上給出了改進的VGG網絡模型對字典原子的分類結果,如圖中箭頭所示,只有個別字典原子分類錯誤。

圖7 改進VGG 網絡對字典原子分類結果Fig.7 Classification result of improved VGG network to the dictionary atomic
圖8 為不同算法的去噪結果圖及局部放大圖。從圖中可以看出,傳統的K-SVD 算法在處理LDCT圖像時,仍殘留較多的噪聲偽影,同時損失了邊緣和細節信息。正則化K-SVD 算法雖然提高了去噪性能,但與傳統K-SVD 算法相似,損失了較多的細節和邊緣信息。傳統的深層字典學習算法能夠保留較多的細節信息,但仍含有明顯的噪聲偽影。本文算法在提高去噪性能的同時保留了更多的邊緣和細節信息。因此,本文算法在視覺效果上明顯優于其他同類算法。

圖8 不同算法的去噪結果及局部放大圖Fig.8 Denoising results of different algorithms and local enlargement images
表1 為不同算法處理LDCT 圖像后的評價指標對比。從表中可以看出,本文算法在結構相似性、峰值信噪比和平均絕對誤差方面均優于其他同類對比算法。

表1 不同算法處理LDCT 圖像后的評價指標Table 1 Evaluation indexes of LDCT images processed with different algorithms
表2 為本文算法在稀疏度為1,字典原子圖像塊大小為8×8 的情況下,不同字典大小對實驗結果的影響,其中ki表示深層字典第i層字典大小,i=1,2,…,n。從表2 可以看出,當字典尺寸較大時,算法的去噪效果較好,其主要原因是字典尺寸越大,能夠包含的圖像信息越多,有利于對噪聲圖像進行稀疏重構。但是當字典尺寸過大時,去噪效果反而下降了,這是因為LDCT 圖像包含較多的噪聲偽影信息,字典尺寸過大時,會將較多的噪聲偽影信息引入字典中,從而導致去噪效果下降。本文所采用的字典大小是經過多次實驗得到的,但這種方法選取的字典大小為經驗值,而非最優解。

表2 不同字典大小對實驗結果的影響Table 2 Influence of different dictionary sizes on experimental results
為提高LDCT 圖像質量,本文提出一種基于VGG網絡和深層字典的去噪算法,通過改進的VGG 網絡將深層字典的第一層字典原子區分為信息原子和噪聲原子,并將稀疏矩陣中噪聲原子所對應的元素置零,從而彌補深層字典學習算法去噪能力的不足。實驗結果表明,相比K-SVD、正則化K-SVD 和深層字典學習算法,本文算法在提高圖像去噪能力的同時保留了較多的邊緣和細節信息。后續將通過自適應選取字典大小的最優解,進一步提高算法的去噪效果。