崔明珠, 范麗亞
(聊城大學 數學科學學院, 山東 聊城 252059)
采集傳輸圖像過程中受傳感器和傳輸介質的影響, 圖像會受到多種噪聲的污染, 因此降噪是圖像處理中一個重要的環(huán)節(jié)。 有關圖像降噪的方法有許多, 如: 圖像稀疏降噪法[1,2], 基于梯度特征降噪法[3,4],K均值聚類降噪法[5], 基于PDEs的圖像特征提取[6-9]等。隨著深度學習[10]技術的不斷提高, 將深度學習理論應用于圖像處理, 在降噪方面比傳統(tǒng)方法更具優(yōu)勢[11]。另一方面, 圖像加噪的方法也有很多。若按噪聲與圖像信號的關系, 可分為加性噪聲(與信號強度無關)和乘性噪聲(與信號強度有關); 若按噪聲類型[12], 有高斯噪聲(服從高斯分布)、泊松噪聲(服從泊松分布)、椒鹽噪聲[13]等。椒鹽噪聲是通過隨機改變一些像素值而產生噪聲。
基于傳統(tǒng)方法與深度學習結合, 2017年, Khaw, H等人[14]將主成分分析(Principal Components Analysis, PCA[11])應用到卷積神經網絡(Convolutional Neural Network, CNN)中進行圖像降噪分析, 該方法先利用卷積提取圖像特征, 再利用PCA對圖像特征進行降維, 最后利用卷積重新得到“干凈”圖像; Hsu, C等人[15]將聯合聚類和表示學習與CNN結合應用于圖像降噪, 從多個維度提取有用信息。同年, 基于深度學習和殘差學習, Zhang, K等人[16]將更深層網絡、殘差學習、正則化與批量歸一化應用于前饋CNN, 以期提升圖像降噪性能。2018年, Hernrich, M P等人[17]提出了用于CT圖像降噪的多層CNN結構。2019年, Peng Y等人[18]提出了將擴張卷積應用于殘差網絡, 提高了訓練的學習效率且網絡層數和參數比之前更少, 在降噪速度和精度上都有所提升。
無論是利用傳統(tǒng)方法與深度學習結合進行圖像降噪, 還是利用深度學習對圖像降噪做更深入的研究[19-21], 均著重于對CNN網絡的改進和提升, 而沒有具體分析CNN網絡中的卷積運算對清晰圖像和噪聲圖像具有怎樣的作用, 是否有利于圖像降噪。以及如何調整卷積核權重的理論方法?;诖? 本文主要研究卷積運算對干凈和噪聲彩色圖像(彩圖)的影響以及如何調整卷積核的權重。
本節(jié)簡要介紹卷積運算的工作原理以及圖像質量的評價指標。
卷積作為一種運算, 是兩個變量在某種范圍內相乘再積分的結果。針對圖像的卷積運算是通過卷積核來完成的, 是圖像數字矩陣與卷積核加權的滑動求和過程。卷積核是卷積運算的核心, 其大小為3×3或5×5矩陣, 其中各元素稱為卷積核的權重, 之和為1。卷積運算在滑動過程中權重不變, 步幅依據任務而定, 一般設為1。卷積運算的結果有兩種, 一是得到更小尺寸的圖像特征矩陣, 另一是通過對圖像矩陣上下左右填充0元素, 得到相同尺寸的圖像特征矩陣。根據任務要求, 可選用1組或多組卷積核, 其大小可表示為卷積核組數×卷積核大小×卷積核通道數,卷積核的通道數與被卷積圖像的通道數相同。灰度圖像有一個通道, 彩色圖像有R、G、B三個通道。所以, 對灰度圖像, 1組卷積核有1個通道; 對彩色圖像, 1組卷積核有3個通道。卷積核的組數是通過網格搜索得到的。下面以一張5×5灰度圖像矩陣為例(見圖1左), 說明卷積運算的工作原理
圖1 卷積運算的工作原理
給定1組卷積核(見圖1中), 它是3×3矩陣, 9個權重均為1/9, 滑動步幅為1。首先, 對圖像矩陣中的黃色部分進行卷積運算, 即與卷積核對應位置權重相乘后再求和, 可得1×(1/9)+2×(1/9)+3×(1/9)+2×(1/9)+3×(1/9)+4×(1/9)+3×(1/9)+4×(1/9)+5×(1/9)=3。
然后將數字3填入圖1右中的(1,1)位置(黃色部分)。其次, 將圖像矩陣中的黃色部分向右滑動1步, 再進行卷積運算, 可得2×(1/9)+3×(1/9)+4×(1/9)+3×(1/9)+4×(1/9)+5×(1/9)+4×(1/9)+5×(1/9)+1×(1/9)=31/9,
并將數字31/9填入圖1右中的(1,2)位置。以此類推, 將圖像矩陣中的黃色部分先向右再向下依次滑動1步, 作為計算窗口進行卷積運算, 即可得到圖1右中的3×3矩陣。
計算
則有SSIM(X,Y)=L(X,Y)·C(X,Y)·S(X,Y)∈[0,1]。
對兩個彩色圖像, 通常有2種方法計算SSIM值 (本文采用第(1)種方法)
(1) 分別計算R、G、B通道上的SSIM值, 然后求平均值;
(2) 將彩色圖像轉換成YCbCr格式, 僅計算Y分量(亮度分量)的SSIM值。
1.2.2 峰值信噪比。峰值信噪比(Peak Signal to Noise Ratio, PSNR)是衡量圖像質量的另一個指標, 值越大, 質量越好, 圖像越清晰。對灰度圖像, 給定大小為m×n的“干凈”圖像I和噪聲圖像K, 兩者間的均方誤差(MSE)定義為
圖像K的PSNR值定義為
(1)
對彩色圖像, 通常有3種方法計算PSNR值 (本文采用第(2)種方法)
(1) 分別計算R、G、B各通道的PSNR值, 然后求平均值;
(2) 分別計算R、G、B各通道的MSE值, 平均后利用(1)式計算PSNR值;
(3) 將RGB轉換成YUV顏色空間, 僅計算Y分量(亮度分量)的PSNR值。
1.2.3 圖像直方圖?;叶葓D像的直方圖展示了各像素值出現的頻率, 橫軸為像素值, 取值從0到255(0表示黑色, 255表示白色, 即從暗到亮), 縱軸是各像素值出現的頻率, 值越大出現的次數越多, 見圖2中左圖。
彩色圖像沒有統(tǒng)一的直方圖, 是R、G、B三個通道上直方圖的混合, 如圖2中右圖所示, (a)、(b)、(c)曲線分別表示R、G、B通道上的灰度圖像直方圖。
圖2 圖像的直方圖
本節(jié)分別討論卷積運算對“干凈”彩圖和噪聲彩圖的影響。隨機選用McMaster數據集[22]中的10張彩圖(見圖3)作為“干凈”圖像進行實驗。McMaster數據集包含18張彩圖, 每張大小為500×500, 格式為.tif。實驗中將其歸一化為125×125, 格式為.jpg。
圖3 McMaster數據集中的10張彩圖
選用常用的K1,…,K4四組卷積核進行卷積運算, 并利用1.2節(jié)中介紹的評價指標衡量卷積運算對圖像質量的影響
其中K1是高斯濾波, 其在水平方向和垂直方向均呈現高斯分布, 突出了中心點在像素平滑后的權重。K2是角點均值濾波, 即選取中心點和四個角點的平均值。K3是均勻濾波, 均值濾波卷積核所覆蓋的九個像素點具有同樣權重, 該卷積核的作用在于取九個值的平均值代替中間像素值, 所以起到的平滑的效果。K4是平移濾波, 將原圖向左上平移一個單位。
本節(jié)通過兩組比對實驗來討論卷積運算對“干凈”彩圖的影響。第1組實驗是將彩圖按R、G、B三個通道分解為灰度圖像(分別記為R灰圖、G灰圖和B灰圖), 然后再合成為彩圖(記為偽彩圖1, 見圖4)。通過SSIM值和PSNR值比對真彩圖與偽彩圖1之間的圖像質量, 實驗結果見表1。
圖4 第1組實驗過程
第2組實驗是先將彩圖分解為R、G、B三個灰圖, 然后進行同尺寸卷積運算后再合成為偽彩圖2(見圖5)。通過SSIM值和PSNR值比對真彩圖與偽彩圖2之間的圖像質量, 實驗結果見表1。
圖5 第2組實驗過程
從表1中可以看出, 不經過卷積運算, “干凈”彩圖的質量幾乎不發(fā)生變化。經過卷積運算后, “干凈”彩圖的質量有所下降, 也就是丟失了部分“干凈”凈彩圖的特征, 使之模糊化。從SSIM的取值還可以看出, 卷積核的選擇也對圖像質量有影響,K1影響較小,K4影響則較大。
表1 10張彩圖在不同卷積核中的兩組實驗結果
為了直觀起見, 隨機選擇1張圖像, 利用直方圖對比四組卷積核(從左至右從上至下分別為K1,K2,K3,K4)下圖像質量的變化(見圖6), 每組卷積核下的左小圖為“干凈”彩圖, 右小圖為偽彩圖2(下同)。
從圖6中可以看出, 卷積核K1,K2,K3主要影響R灰圖的特征, 而卷積核K4不僅影響了R灰圖的特征, 還影響了B灰圖的特征。因此, 卷積運算降低了“干凈”彩圖的質量, 導致“干凈”彩圖模糊化。
在“干凈”彩圖的不同位置添加同一噪聲(本文選用高斯噪聲, 方差σ=20), 是否對彩圖的質量有不同的影響呢?本節(jié)通過兩組對比實驗來討論這一問題。第1組實驗是先將“干凈”彩圖(記為真彩圖)分解為R、G、B三個灰圖, 分別在灰圖上加噪聲后再合并為偽彩圖3(稱為后加噪, 見圖7)。利用1.2節(jié)中介紹的評價指標對比真彩圖與偽彩圖3之間的質量變化, 實驗結果見表2和圖9中的左圖。第2組實驗是先在真彩圖上加噪(稱為前加噪), 然后分解為三個灰圖(R1灰圖、G1灰圖和B1灰圖), 再合成為偽彩圖4(見圖8)。對比真彩圖與偽彩圖4之間的質量變化, 實驗結果見表2和圖9中的右圖。
圖8 前加噪過程
從表2和圖9中可以看出, 后加噪不僅丟失了B灰圖的特征, 還丟失了G灰圖的特征, 對圖像的質量影響較大。前加噪主要丟失的是G灰圖的特征, 對圖像的質量影響較小??傊? 不論是前加噪還是后加噪都對“干凈”彩圖的質量有影響, 且后加噪影響更大。
圖9 前后加噪的直方圖對比結果
本節(jié)主要討論卷積運算對噪聲彩圖的影響。首先討論同一卷積核對不同強度噪聲圖像的影響, 進而討論不同卷積核對相同強度噪聲圖像的影響。
2.3.1 同一卷積核對不同強度噪聲彩圖的影響。 本節(jié)選用卷積核K1, 噪聲強度分別取為σ=10、20、30、40、50, 進行兩組對比實驗。第1組實驗是后加噪得到偽彩圖5, 再進行卷積運算, 得到偽彩圖6(見圖10)。對比真彩圖與偽彩圖5以及與偽彩圖6的質量變化情況。第2組實驗是前加噪得到偽彩圖7, 再進行卷積運算, 得到偽彩圖8(見圖11)。對比真彩圖與偽彩圖7以及與偽彩圖8的質量變化情況。實驗結果均見表3。
從表3中可以看出,不同強度的噪聲對圖像質量的影響不同, 強度越大, 質量越差; 對后加噪過程,卷積運算明顯可以提高圖像的質量; 對前加噪過程, 絕大多數情況下(除σ=10外)卷積運算同樣可以提高圖像的質量, 起到降噪的作用。為直觀感受卷積運算的影響, 隨機選擇1張彩圖, 觀察其在同一強度(σ=50)噪聲下質量的變化情況, 見圖12, 其中左圖依次為真彩圖、偽彩圖5和偽彩圖6, 右圖依次為真彩圖、偽彩圖7和偽彩圖8。
圖12 不同位置加噪+卷積運算下圖像質量的變化情況
表3 10張彩圖在不同強度噪聲下的實驗結果(同一卷積核)
表3 10張彩圖在不同強度噪聲下的實驗結果(同一卷積核)(續(xù))
從圖12中可以看出, 后加噪比前加噪更影響圖像的質量, 但卷積運算明顯起到了降噪作用, 提高了圖像質量。對后加噪情況(左圖), 通過卷積運算, R2、G2和B2三個灰圖的部分特征都得到了恢復(見左圖中的右小圖)。對前加噪情況(右圖), 通過卷積運算, 只是G3和B3兩個灰圖的部分特征得到了恢復, 而R3灰圖的特征恢復得并不好(見右圖中的右小圖)。綜上所知, 卷積運算對噪聲彩圖有降噪的作用, 噪聲越強, 作用越明顯。
2.3.2 不同卷積核對相同強度噪聲彩圖的影響。本節(jié)選用四個卷積核K1,K2,K3,K4強度噪聲取σ=20, 進行兩組對比實驗。實驗過程同2.3.1節(jié)(見圖10和圖11)。對比真彩圖與偽彩圖5和偽彩圖6, 以及對比真彩圖與偽彩圖7和偽彩圖8的質量變化情況。實驗結果均見表4。
從表4中可以看出: 不同卷積核對圖像質量的影響不同, 可以提升或降低圖像質量; 對后加噪過程, 卷積運算絕大多數情況下(除K4外)提高圖像的質量; 對前加噪過程, 圖像質量有升有降, 受卷積核的影響較大。為直觀起見, 隨機選擇1張彩圖, 觀察其在四個卷積核K1,K2,K3,K4下質量的變化情況, 見圖13, 其中前兩排從左至右從上到下分別為卷積核K1,K2,K3,K4下后加噪對比, 左中右小圖分別為真彩圖、偽彩圖5和偽彩圖6; 后兩排從左至右從上到下分別為卷積核K1,K2,K3,K4下前加噪對比。左中右小圖分別為真彩圖、偽彩圖7和偽彩圖8。
表4 10張彩圖在不同卷積核下的實驗結果(同一噪聲)
從圖13中可以看出, 不同卷積核對同一噪聲圖像的質量的影響是不同的; 無論是后加噪, 還是前加噪, 卷積核K1,K2,K3比卷積核K4的降噪效果更明顯, 在各通道上均恢復的更好, 故卷積運算對噪聲彩圖的降噪效果依賴于卷積核的選擇。
圖13 不同位置加噪+不同卷積核下圖像質量的變化情況
從第2節(jié)的討論知, 不論是“干凈”彩圖還是噪聲彩圖, 不同卷積核對圖像質量的影響是不同的。對噪聲彩圖, 如何選擇一個更能提高質量的卷積核呢? 針對這一問題, 本節(jié)先討論二維卷積核權重的調整方法, 然后再討論三維張量卷積核權重的調整方法。
首先給出反向傳播誤差的定義。
(2)
其中(x′,y′)表示第l+1層在前向傳播時受(x,y)位置影響的點,a×b為卷積核的大小且
(3)
于是, 誤差矩陣δl可表示為
δl=δl+1*ROT180(wl+1)⊙σ′(zl),
(4)
其中*號表示卷積運算, ⊙號表示點積運算, ROT180表示旋轉180度。從公式(4)中可以看出, 第l層的誤差矩陣δl是通過將第l+1層誤差矩陣δl+1上下左右填充0元素后旋轉180度與wl+1做卷積運算, 再與σ′(zl)做點積運算得到的。
下面給出公式(4)的詳細證明。由定義1并根據鏈式法則知
且
(5)
(6)
進而, 得
此外,σ′(zl)=?al/?zl。故公式(4)成立。
3.1.2 二維卷積核權重的更新方法。
第1步,已知第l層的誤差矩陣δl, 求誤差函數對第l層參數求導, 即求?C/?wl和?C/?b。在前向卷積過程中(如圖14所示), 能與卷積核(中圖)中區(qū)域A的參數進行計算并影響到卷積結果的只有左圖中的有色部分。以此類推, 可計算卷積核其它位置對參數的導數。因此有
圖14 二維卷積運算受卷積核影響圖
可簡記為
?C/?wl=δl*al-1,?C/?b=∑x∑yδl。
第2步,利用梯度下降法更新卷積核權重, 其中η為更新步長
wl←wl-η·?C/?wl,bl←bl-η·?C/?bl。
3.2.1 張量卷積誤差的計算。
先看正向卷積過程。用d表示卷積核的組數, 用el和el+1分別表示第l層和第l+1層圖像矩陣的通道數。因卷積核的通道數與被卷積圖像矩陣的通道數相同, 故el也是wl+1的通道數。用h表示行數,p表示列數, 用al∈Rh×p×el表示第l層輸出圖像矩陣, 該矩陣有el個通道, 每個通道上的矩陣大小為h×p; 用wl+1∈Rd×h×p×el表示有d組卷積核, 每組卷積核有el個通道, 每個通道上的卷積核大小為h×p; 用zl+1∈Rh×p×el+1表示第l+1層輸入圖像矩陣, 該矩陣有el+1個通道, 且每個通道上的圖像矩陣大小為h×p; 用bl+1∈Rd表示第l+1層的偏差向量。如圖15示, 左圖為al∈R3×3×3, 中圖為wl+1∈R2×2×2×3, 右圖為zl+1∈R2×2×2且bl+1∈R2,則有al*wl+1+bl+1=zl+1。顯然, 張量卷積運算包含二維卷積運算, 但二維卷積運算不能代表張量卷積運算。
圖15 張量卷積過程
以此類推, 可得各位置的誤差值
其中h×p為張量卷積核中一個二維卷積核的大小且滿足x′+h-1=x,y′+p-1=y。進而, 可表示為
于是, 第l層每個通道的誤差矩陣可表示為
(7)
3.2.2 張量卷積核權重的更新方法。
第一步,已知第l層各通道的誤差矩陣δl, 求第l層的參數導數?C/?wl和?C/?b。類似于3.1.2節(jié), 在前向卷積過程中(如圖16所示), 能與卷積核進行計算并影響到卷積后結果(右圖區(qū)域A)的只有左圖第一通道的黃色部分。
圖16 張量卷積受卷積核影響圖
因此有?C/?wl=δl*al-1,?C/?b=∑x∑yδl。
第二步,利用梯度下降法更新各通道上卷積核權重
第三步,將更新后的各通道卷積核組合成4維張量。
卷積運算作為卷積神經網絡的一部分常用于CNN模型中, 但卷積運算自身對彩色圖像的質量有何影響, 這方面的研究卻不多見?;趯嵶C分析, 研究了卷積運算對“干凈”彩圖和噪聲彩圖的影響。對“干凈”彩圖, 卷積運算降低了圖像質量, 導致圖像模糊化.對噪聲彩圖, 卷積運算可以起到降噪的作用, 提高圖像的質量, 但降噪效果的好壞嚴重依賴于卷積核的選擇。為了解決這一問題, 進而研究了調整卷積核權重的方法。在本文的基礎上利用卷積神經網絡對噪聲彩圖的分類, 識別和降噪, 這將是我們的下一步工作。