余孝源,謝 巍
(華南理工大學自動化科學與工程學院,廣東廣州 510640)
圖像模糊問題在圖像處理領域中一直備受關注[1-3].圖像模糊的模型可以表示為如下式:
其中:?表示卷積符號,g表示獲得的模糊圖像,k為模糊核,一般被稱為點擴散函數(shù)(point spread function,PSF),f表示清晰的原圖,n表示隨機的噪聲.因此,模糊圖像可以認為是清晰圖像f與模糊核k卷積后再加上隨機噪聲所得到的結果.圖像去模糊的目的就是如何從模糊圖像g中估計清晰圖像f.如果模糊核k是已知的,該問題等同于非盲去卷積問題,其求解過程相對簡單.如果模糊核k是未知的,該問題等同于盲去卷積問題,則需要同時估計模糊核與清晰圖像.早期的圖像盲去卷積問題,主要集中在小尺度模糊核的估計上,如Chan等[4]利用全變分正則化對模糊卷積核進行約束,進而估計出較為準確的卷積核.但是當模糊核較為復雜并且尺寸較大時,所估計的結果不夠準確,容易產(chǎn)生振鈴現(xiàn)象.
為了進一步準確估計模糊圖像的卷積核,圖像的相關先驗知識被加入到圖像的去模糊框架中.Fergus等人[5]使用一種零均值的混合高斯模型去表示圖像的梯度分布,然后利用最大后驗估計方法對圖像進行去模糊處理.Zuo等人[6]利用lp范數(shù)的廣義收縮閾值算子去估計不同程度的圖像模糊核,進而構建出清晰圖像.考慮到圖像的顯著邊緣對模糊核估計的效果,Cho等人[7]提出了一種用于提取中間圖像顯著邊緣的多尺度框架,進而可以提高模糊核的估計準確性.Xu等人[8]則是在Cho等人的基礎上,提出了一種用于估計模糊核的兩相法.Pan等[9]根據(jù)模糊圖像與清晰圖像的暗通道特點,通過暗通道先驗的方法提取圖像的隱形邊緣,進而對去模糊模型進行約束,實現(xiàn)模糊圖像的準確還原.
近年來,深度學習方法已經(jīng)成功應用于圖像分割以及圖像復原等方面.在圖像分割方面,Long等[10]提出了一種全卷積網(wǎng)絡,能夠有效地對圖像的場景進行分割.Ronneberger 等[11]在編碼解碼器的基礎上,根據(jù)醫(yī)學圖像的特點,提出一種卷積網(wǎng)絡結構,實現(xiàn)對醫(yī)學圖像地有效分割.在圖像復原方面,Dong等[12]利用深度卷積網(wǎng)絡的特性,實現(xiàn)對圖像的超分辨率處理.針對圖像去模糊的問題,Vasu等[13]針對不準確卷積核的問題,提出了一種基于深度神經(jīng)網(wǎng)絡的非盲去卷積方法.Kupyn等[14]利用條件式生成對抗網(wǎng)絡作為基本框架,結合深度殘差網(wǎng)絡模塊,對模糊-清晰圖像對進行訓練,獲得端到端的圖像去模糊網(wǎng)絡參數(shù).本文借鑒了編碼解碼器的思路,直接對模糊圖像的顯著邊緣結構進行提取,進而用于圖像模糊核估計.值得注意的是,本文所提出的網(wǎng)絡結構與文獻[11]類似,但源域與目標域完全不同于文獻[11]所述,因此需要對網(wǎng)絡的結構中的相關卷積核大小進行修改;此外,與文獻[14]相比,本文是以顯著邊緣結構的提取作為訓練工作進行展開,這有利于去模糊求解過程的可解釋性.
無論是基于圖像的先驗知識還是啟發(fā)式的邊緣選擇方法,在估計卷積核時,都使用了多尺度的卷積核估計框架,即從粗糙到精細的圖像模糊核估計策略.這種策略不可避免的需要大量的處理時間,特別是處理大尺寸的模糊圖像.本文不同于之前的方法,利用深度編碼-解碼器的結構,預測圖像中有效的邊緣信息,并結合L2范數(shù)對卷積核進行約束,進行模糊核估計.這不需要提前的人為參數(shù)設置和多尺度的卷積核估計框架,因此,可以減少計算的復雜度和運行的時間.針對清晰圖像的估計,本文結合超拉普拉斯先驗知識和所估計的模糊核,能夠有效減少圖像的振鈴,獲得清晰的圖像.
深度編碼-解碼器網(wǎng)絡[11,15]是一種對稱的卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)結構.在編碼階段,通過網(wǎng)絡結構將輸入數(shù)據(jù)轉化為特征圖(小空間尺寸和多特征通道);在解碼階段,將特征圖轉化為輸入數(shù)據(jù)的特定結構(如圖像邊緣、語義分割等).此外,在編碼階段和解碼階段之間,將相關的特征圖進行跳躍式連接,這增加了不同特征圖之間的聯(lián)系,綜合利用更多的卷積特征圖信息.在文獻[16]中,編碼模塊中使用多種步長卷積層對輸入數(shù)據(jù)的特征圖提取,并且解碼模塊中使用相應的去卷積層來實現(xiàn)數(shù)據(jù)特定結構的重構.
針對顯著邊緣的特性[7,17],本文設計了一種基于編碼-解碼器的深度網(wǎng)絡框架.該框架用于從模糊圖像中獲取顯著的邊緣結構,再將邊緣結構用于模糊圖像的模糊卷積核估計算法中.如圖1所示,所提出的網(wǎng)絡框架是學習模糊圖像與對應的清晰圖像顯著邊緣結構之間的映射關系,其網(wǎng)絡結構可以表示為如下:
其中:Encode(·)表示網(wǎng)絡中的編碼結構;Decode(·)表示網(wǎng)絡中的解碼結構;并且θE與θD分別是編碼結構與解碼結構對應的參數(shù).
整個網(wǎng)絡結構的細節(jié)如圖1所示,編碼結構部分包含4層特征圖提取網(wǎng)絡,每個特征圖提取層使用步長為2的卷積核對上一層的特征圖進行下采樣處理,并同時增加一倍的特征圖通道數(shù),進而可以對圖像中的噪聲和圖像細節(jié)進行抑制,保留主要圖像結構.具體的,本文所訓練的模糊圖像為彩色圖像,其通道數(shù)為3通道經(jīng)過第1層CNN結構和ReLU處理后,其特征圖通道數(shù)變?yōu)?2;經(jīng)過第2層后,特征圖通道數(shù)變?yōu)?4,以此類推,到第5層的通道數(shù)為512.網(wǎng)絡結構中與編碼結構對應的解碼結構也包含4層網(wǎng)絡,通過對應的上采樣操作,并結合特征圖跳躍式連接的方式,逐步將高維抽象的特征還原為與之對應的顯著邊緣結構信息,進而用于之后的模糊核估計.
1)數(shù)據(jù)構建.為了訓練深度編碼解碼網(wǎng)絡用于提取顯著的圖像邊緣,本文通過以下策略設計網(wǎng)絡訓練數(shù)據(jù)集.首先,清晰圖像數(shù)據(jù)的來源是Arbelaez等[18]所提出的BSDS500數(shù)據(jù)集,圖2(a)所示為部分清晰圖像;其次,由于shock濾波[19]能夠增強顯著的邊緣信息,所以本文以shock濾波方法為基礎,提取所用的200張清晰圖像的顯著邊緣結構,并將其作為網(wǎng)絡訓練的目標域,其泊松重構的可視化結果如圖2(b)所示;接著,為了構建合理的模糊數(shù)據(jù)集,本文利用Rolf Kohler等[20]所提出的模糊核生成方法,生成了多個大小不同的模糊核,部分模糊核如圖2(c);最后,本文根據(jù)圖像模糊模型(1),對清晰圖像進行不同模糊核的模糊處理,并隨機添加不同程度的高斯噪聲,增加模糊數(shù)據(jù)的多樣性,部分圖像如圖2(d)所示;最終本文構建了模糊圖像顯著邊緣結構數(shù)據(jù)集,用于深度網(wǎng)絡的訓練.
圖2 基于BSDS500數(shù)據(jù)集的訓練數(shù)據(jù)生成示例Fig.2 Training data generation example based on BSDS500 dataset
2)網(wǎng)絡訓練.如圖1所示,其輸入的圖像為彩色模糊圖像g,其輸出為估計的圖像顯著邊緣結構S.因此,結合式(2)-(3),本文使用以下均方差損失函數(shù)對網(wǎng)絡進行訓練:
其中:M與N分別表示圖像的長度與寬度,S=Fd(g)是預測的顯著邊緣結構圖像,SGT為目標域中與之對應的清晰圖像顯著邊緣.通過不斷優(yōu)化,實現(xiàn)從模糊圖像中提取類似清晰圖像的顯著邊緣結構.
根據(jù)上述的深度編碼解碼網(wǎng)絡獲得顯著的圖像邊緣S后,本文利用以下的優(yōu)化式估計模糊卷積核:
其中:?=[?h?v]T表示求解圖像的梯度操作,f?是中間估計的圖像,α與β的正的正則化系數(shù).本文通過交替求解模糊核k與中間估計圖像f?,并利用?f?對式(5)中的S變量進行替換,進而估計出準確的模糊核k.針對式(5),利用快速傅里葉變換(fast Fourier transform,FFT)的方法,可獲得其閉環(huán)解為
其中F與F?1分別表述傅里葉變換與傅里葉逆變換,
針對式(6),通過加入輔助變量以及半二次方分裂法解決模型的非凸問題[21].因此,假設輔助變量為u,式(6)可以分解為以下的優(yōu)化函數(shù):
其中λ為正則化系數(shù).首先,固定u.類似于求解式(5),式(8)的閉環(huán)解為
接著,固定f?.根據(jù)L0的求解方法[22],輔助變量u的最優(yōu)解如下所示:
在模糊卷積核被估計出來后,利用非盲去卷積的方法可以對清晰圖像進行估計.本文利用超拉普拉斯先驗知識的方法[23]對清晰圖像進行估計:
利用迭代加權最小均方處理方法,可以獲得清晰圖像的最優(yōu)解.
根據(jù)上述的求解過程,整體的算法框架如圖3所示.首先,利用訓練好的深度編碼-解碼器提取模糊圖像的對應顯著邊緣結構;接著,結合顯著邊緣結構圖像與模糊圖像,根據(jù)式(10)-(11)和式(7)多次交替求解,獲得準確的模糊核估計;最后,根據(jù)所估計的模糊核與模糊圖像,利用式(12),估計出相應的清晰圖像.
圖3 整體算法框架Fig.3 The framework of overall algorithmic
在本節(jié)中,首先介紹相關的設計細節(jié),然后選取了基于暗通道先驗的去模糊方法[9]以及基于生成對抗網(wǎng)絡的去模糊方法[14]進行對比試驗.
本文所生成的訓練數(shù)據(jù)集包含有10400對圖像對.源域圖像(即輸入圖像)是從BSDS500數(shù)據(jù)集中選取的200張圖像,然后分別與所生成的52個模糊核進行卷積處理,最終生成10400張模糊圖像;而目標域圖像(即顯著邊緣結構圖像)通過對200張清晰圖像進行Shock濾波處理后所獲得的顯著邊緣結構圖像,再復制52次形成與模糊圖像對應的10400張顯著邊緣結構圖像.同時,為了豐富訓練數(shù)據(jù)集,本文對于模糊核的生成是隨機的,模糊核的大小從12像素到55像素;并且在每個模糊圖像中隨機加入強度從0.5%到2%的高斯噪聲.網(wǎng)絡訓練是基于pytorch深度學習框架,所使用的訓練批次大小為24,訓練迭代次數(shù)為80次,使用Adam優(yōu)化器進行損失函數(shù)優(yōu)化,學習率設置為0.001,優(yōu)化器正則化系數(shù)為0.0001.在使用Titan GPU的情況下,整個網(wǎng)絡訓練過程耗費14個小時.另外,本文所提出的圖像去模糊處理算法是基于MATLAB框架下,調(diào)用上述網(wǎng)絡訓練的結果對圖像進行去模糊處理,其相關參數(shù)設置為α=2,β=0.01,λ=0.005,γ=0.03.
4.2.1 去模糊處理效果
為了更好說明所提出的方法的處理效果,本文選取了4張典型的模糊圖像進行去模糊處理.同時,本文的對比方法有兩種,包括了基于暗通道先驗的去模糊方法以及基于生成對抗網(wǎng)絡的去模糊方法.為了能對圖像去模糊的效果進行量化,本文使用峰值信噪比(peak signal-to-noise ratio,PSNR)和結構相似性(structural similarity index,SSIM)作為評價指標.當圖像的恢復效果越接近于原圖時,指標PSNR的數(shù)值越大,并且指標SSIM的數(shù)值越接近于1.此外,為了進一步顯示本文算法對模糊卷積核估計的準確性,本文利用了文獻[24]所提出的模糊核一致性(kernel similarity,KSIM)的方法,對模糊卷積核進行評價.所估計的模糊核越接近于真實值,KSIM的數(shù)值越接近于1.
如圖4所示,所提出的方法能夠獲得相對清晰的去模糊圖像.文獻[14]所獲得的圖像效果過于平滑,大部分邊緣中有振鈴現(xiàn)象;文獻[9]所獲得圖像前景部分邊緣突出,但背景中有少量的振鈴效果;本文提出的方法能夠獲得較為準確的模糊核,但與文獻[9]的結果相比,圖像較為平滑.圖5-6的模糊圖像來源于Rolf Kohler所提出的數(shù)據(jù)集[20].
圖4 樣本1:不同方法處理效果示例Fig.4 Sample 1:Processing results by different methods
圖5 樣本2:不同方法處理效果示例Fig.5 Sample 2:Processing results by different methods
圖6 樣本3:不同方法處理效果示例Fig.6 Sample 3:Processing results by different methods
從圖5-6中結果可以看出,所提出的方法所處理的效果相近甚至優(yōu)于文獻[9]的結果.而文獻[14]所處理的結果效果較差,圖像中包含了大量模糊細節(jié)與振鈴現(xiàn)象.
上述處理圖像的量化結果如表1-3所示是不同方法所處理結果的評價指標.由于Kupyn等人[14]的方法是一種端到端的圖像生成方法,因此無法計算出對應的模糊核.從表1-3可以看出,本文所提出的方法所估計的模糊核的KSIM指標較高,進而其模糊圖像的恢復效果也較好,這從表格中PSNR指標和SSIM指標可以看出.這說明了所提出的方法能夠估計出較為準確的模糊核,進而回復出相對高質(zhì)量的清晰圖像.對于樣本1而言,兩種方法所估計的模糊核相似性較低,但其去模糊圖像的SSIM結果卻較高.這是因為樣本1的模糊核較小,所處理的模糊圖像的模糊效果不太明顯所造成的.
表1 不同方法處理結果的PSNR量化比較Table 1 Quantitative comparison of different methods by PSNR
表2 不同方法處理結果的SSIM量化比較Table 2 Quantitative comparison of different methods by SSIM
表3 不同方法處理結果的KSIM量化比較Table 3 Quantitative comparison of different methods by KSIM
圖7的模糊圖像來源于Lai等人所提出的數(shù)據(jù)集[25],該模糊圖像沒有對應的清晰圖像作為對照,因此無法利用上述的評價指標對恢復效果進行評價.從圖中可以看出,本文所提出的方法能夠恢復出相對清晰的圖像.由于模糊核估計不準確,文獻[9]所獲得圖像具有大量的振鈴效果,其恢復效果不能令人滿意;而文獻[14]所獲得的圖像與原模糊圖像相似,未能達到去模糊的效果.
圖7 樣本4:不同方法處理效果示例Fig.7 Sample 4:Processing results by different methods
4.2.2 算法處理的時間
本文所提出的算法不需要額外的邊緣設計規(guī)則,也不需要多尺度的模糊核估計框架,因此能夠降低算法的復雜度,提高算法處理的效率.如表4所示,所有的方法都是在相同的電腦硬件下進行處理的.雖然基于Python語言的文獻[14]的方法所需時間很少,但其圖像所恢復的效果有時欠佳.本文所提出的方法在獲得相對高質(zhì)量的恢復圖像的同時,其所需的算法處理時間遠遠小于傳統(tǒng)方法所需的時間.此外,為了使到評估的結果更具有廣泛性和準確性,本文利用文獻[20]中的模糊圖像數(shù)據(jù)集進行測試.該數(shù)據(jù)集有48張模糊圖像,每張圖像的大小為800×800.利用不同去模糊方法對該數(shù)據(jù)集進行處理,其對應的平均處理時間如表5所示.可以看出,所提出的方法所需時間較為適中,具有一定的可行性.下一步的工作是嘗試從平臺與硬件方面入手,優(yōu)化算法處理時間.
表4 不同方法處理不同尺度圖像所對應時間Table 4 Run-time of image with different size by different methods s
表5 不同方法處理數(shù)據(jù)集[20]所對應平均時間Table 5 Average Run-time of dataset[20] by different methods
4.2.3 不同濾波器的有效性
本文以圖8(a)為例,探究不同濾波器所提取的顯著邊緣結構對圖像去模糊的影響.首先,利用多種濾波器(包括雙邊濾波器、梯度濾波以及shock濾波)對清晰圖像(圖8(a))進行處理,獲得相應的顯著邊緣結構,其泊松重構可視化結果分別如圖8(d),8(g)和8(j)所示;其次,利用本文所提出的圖像去模糊方法,將所獲取的顯著邊緣結構對模糊圖像(圖8(b))進行去模糊處理,獲得各自的去模糊效果,如圖8(e),8(h)和8(k)所示.從實驗的結果可以看出,利用shock濾波所提取的顯著邊緣結構能夠獲得更準確的模糊核以及更少振鈴的恢復圖像.因此,利用shock濾波提取的清晰圖像的顯著邊緣結構,能夠作為網(wǎng)絡訓練的參考值.
圖8 不同濾波器下的圖像去模糊結果示例Fig.8 Example of image deblurring results with different filter
此外,為了說明基于編碼解碼器的邊緣預測網(wǎng)絡的有效性,本文選取了與圖8相同的示例,如圖9所示.圖9(b)是直接利用Shock濾波方法對模糊圖像求解的顯著邊緣結構;利用圖9(b)的結果所估計的模糊卷積核和清晰圖像如圖9(e)所示.可以看出,由于模糊圖像中存在不同程度的噪聲以及嚴重的模糊效果,所提取的邊緣結構不夠完整,因此所估計的模糊核存在噪聲,并且所估計的清晰圖像存在邊緣振鈴現(xiàn)象.類似,圖9(c)是利用所提出的邊緣預測網(wǎng)絡對模糊圖像預測的結果;并獲得如圖9(f)所示的圖像估計結果.可以看出,本文所提出的邊緣預測網(wǎng)絡能夠獲得更有效的邊緣結構,有利于獲得更準確的模糊卷積核和更好的恢復效果.
圖9 基于編碼解碼器的模糊核估計方法的有效性示例Fig.9 The effectiveness of blur kernel estimation method based on encoder-decoder network
4.2.4 網(wǎng)絡特征層可視化
為了探究網(wǎng)絡框架對顯著邊緣結構提取的有效性,本文以圖10(a)的模糊圖像為例,其網(wǎng)絡輸出的一些特征圖的可視化結果如圖像10(b)-10(f)所示.首先,在編碼器階段,其特征圖輸出中包含了模糊圖像的主要結構,并逐步提取出顯著輪廓信息;接著,由于編碼器與解碼器的特征圖之間進行跳躍式連接,在解碼器階段,其特征圖輸出從輪廓信息開始,不斷加入顯著的結構信息,提取出顯著的邊緣結構;最后,經(jīng)過進一步的卷積層平滑作用,網(wǎng)絡的輸出去除了細微的紋理與噪聲,僅包含顯著邊緣結構.
圖10 網(wǎng)絡不同隱含層輸出特征圖的可視化結果Fig.10 Visualization of feature maps from different hidden layers of the network
4.2.5 去模糊框架中參數(shù)選取的影響
本文以樣本2為例,設計了不同參數(shù)取值對圖像進行恢復,通過利用多種圖像質(zhì)量度量方式(PSNR、SSIM和KSIM),給出了不同參數(shù)下算法所恢復的圖像效果,進而發(fā)現(xiàn)不同參數(shù)對實驗結果的影響.主要的參數(shù)有模糊核正則化項系數(shù)α、圖像約束項的正則化項系數(shù)λ和圖像非盲去模糊的約束項γ.
1)模糊核正則化項系數(shù)α.
模糊核正則化項系數(shù)α主要是約束模糊核的生成,因此利用KSIM作為度量方式.如圖11(a)所示,當系數(shù)α增大時,所估計的模糊會在α=2時取得一個峰值,這說明在這種取值下,圖像所估計的模糊達到最好的效果.
2)圖像約束項的正則化項系數(shù)λ.
圖像約束項的正則化項系數(shù)λ是對中間圖像的估計進行約束,因此,本文利用KSIM以及PSNR作為度量方式.如圖11(b)所示,可以看出,模糊核的估計準確與否會直接影響到圖像最終的生成質(zhì)量,當系數(shù)λ=0.005時,圖像的模糊核估計獲得最好的估計準確性,并且圖像的去模糊質(zhì)量也最好.同時,圖像的約束系數(shù)β與正則化項系數(shù)λ是成倍關系,其取值為β=0.01.
3)圖像非盲去模糊的約束項γ.
當利用式(12)對清晰圖像估計時,圖像非盲去模糊的約束項γ影響的是圖像最終的生成質(zhì)量,因此,本文利用SSIM以及PSNR作為度量方式.其圖像恢復效果如圖11(c)所示.從圖11(c)可以看出,在約束系數(shù)γ=0.03附近時,圖像的去模糊效果最好.
圖11 不同參數(shù)對圖像恢復效果的影響Fig.11 Effect of different parameters for image deblurring
本文提出了一種基于深度編碼-解碼器的圖像模糊核估計方法.通過構建相關的訓練數(shù)據(jù)集,本文對所提出的深度編碼-解碼器的網(wǎng)絡進行訓練,進而可以通過所提出的網(wǎng)絡對模糊圖像的顯著邊緣結構進行預測.在所預測顯著邊緣結構的基礎上,本文所提出的模糊核估計方法不需要應用目前廣泛使用的多尺度迭代框架,進而可以減少相應的算法處理時間.實驗結果表明,所提出的方法能夠很好地預測模糊圖像的顯著邊緣結構,在獲得相對準確的模糊核和高質(zhì)量恢復圖像的同時,能夠減少圖像處理的時間.