黃宇達(dá), 王迤冉, 牛四杰
(1.周口職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,河南 周口 466000;2.周口師范學(xué)院 網(wǎng)絡(luò)工程學(xué)院,河南 周口 466000;3.濟(jì)南大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南 250000)
超分辨率重構(gòu)技術(shù)[1]能夠把低分辨率的圖像重構(gòu)出與真實圖像相近的超分辨率圖像,這樣可從軟件角度解決成像的硬件設(shè)備問題。超分辨率重構(gòu)技術(shù)作為目前計算機(jī)視覺領(lǐng)域的主要研究熱點(diǎn)之一,在遙感成像[2]、醫(yī)學(xué)影像分析[3]、工業(yè)成像等領(lǐng)域具有廣泛的應(yīng)用前景。目前,超分辨率重構(gòu)技術(shù)主要分為3類:插值、重構(gòu)和學(xué)習(xí)的超分辨率重構(gòu)算法。
基于插值算法[4-5]就是利用低分辨率圖像中已知像素點(diǎn)對未知像素點(diǎn)進(jìn)行估計,雖然其計算復(fù)雜度較低,但易放大邊緣,造成細(xì)節(jié)模糊和鋸齒邊界?;谥貥?gòu)的超分辨率算法是利用數(shù)字圖像處理技術(shù)求解成像模型的逆過程,從而進(jìn)一步實現(xiàn)超分辨重構(gòu),常用的模型有全變分正則化模型[6-7]、梯度輪廓先驗[8]等。其盡管引入了先驗知識,但對具有較為豐富結(jié)構(gòu)信息類型的圖像來說,該方法仍難以獲得邊界清晰的視覺效果。
Freeman等[9-10]首先提出了基于學(xué)習(xí)思想的圖像超分辨重構(gòu),主要分為2個階段:訓(xùn)練階段和重構(gòu)階段。該方法訓(xùn)練所需樣本數(shù)量大,重構(gòu)速度慢。隨后,Sun等[11]在文獻(xiàn)[9-10]的算法基礎(chǔ)上提出了樣本學(xué)習(xí)法,因為從原始圖像空間中學(xué)習(xí)到維度較小的圖像基元空間,所以可以用少數(shù)基元表示原始圖像,從而改善高低分辨率之間的映射關(guān)系,提高重構(gòu)精度。
Chang等[12]借鑒流形學(xué)習(xí)的思想,引入局部線性嵌入,提出了基于鄰域嵌入方法的圖像超分辨率復(fù)原算法。Yang等[13-14]提出了基于稀疏表示(sparse coding super resolution,SCSR)的圖像超分辨率重構(gòu)算法,該方法通過訓(xùn)練學(xué)習(xí)高、低分辨率圖像的映射關(guān)系,用優(yōu)化方法求得低分辨圖像的稀疏系數(shù)矩陣,最后通過稀疏系數(shù)矩陣重構(gòu)高分辨率圖像。Zeyde等[15]對文獻(xiàn)[13-14]的方法進(jìn)行了改進(jìn),并采用K-奇異值分解(K-singular value decomposition,K-SVD)算法[16]和最優(yōu)方向法(method of optimal direction,MOD)[17]分別學(xué)習(xí)高、低分辨率的字典,大大提升了學(xué)習(xí)效率。以上各方法雖然可小幅提升超分辨率重構(gòu)質(zhì)量,但高、低分辨率字典稀疏系數(shù)矩陣不具有不變性的缺陷,制約了重構(gòu)圖像質(zhì)量的提升。王杰等[18]采用自適應(yīng)交替方向乘子方法對圖像進(jìn)行去模糊,在保證計算速度的同時自適應(yīng)地復(fù)原出最佳圖像。針對上述不足,Wang等[19]提出半耦合字典學(xué)習(xí)(semi-coupled dictionary learning,SCDL)算法,該方法從樣本圖像中學(xué)習(xí)到的高、低分辨率字典稀疏系數(shù)矩陣具有不變性,提高了算法的重構(gòu)效果。楊愛萍等[20]利用分類稀疏編碼、非局部相似性改進(jìn)SCDL算法,進(jìn)一步提高了重構(gòu)精度。盡管SCDL框架和改進(jìn)的方法增強(qiáng)了學(xué)習(xí)高、低分辨率圖像塊之間映射關(guān)系的能力,提升了重構(gòu)精度,但由于忽略了較為重要的細(xì)節(jié)信息,比如邊界,而這些細(xì)節(jié)信息對于重構(gòu)后的圖像影響較大,從而限制了算法的重構(gòu)精度。
筆者針對半耦合字典學(xué)習(xí)算法的不足,提出了基于細(xì)節(jié)約束因子和半耦合字典學(xué)習(xí)的圖像超分辨重構(gòu)方法:以半耦合字典學(xué)習(xí)算法為框架,引入雙向梯度的邊界差異,構(gòu)建邊界保持約束項,重構(gòu)出接近真實而豐富邊界;引入邊界保持約束項,考慮邊界差異的拉普拉斯分布,提出了自適應(yīng)邊界約束系數(shù)求解方法,使其能夠在半耦合字典學(xué)習(xí)算法整體框架下實現(xiàn)超分辨率重構(gòu),進(jìn)一步提升超分辨率重構(gòu)質(zhì)量。
低分辨率圖像的獲取過程被認(rèn)為是高質(zhì)量圖像退化過程,假設(shè)給定低分辨率圖像y,則圖像的獲取過程可描述為
y=BHx+n。
(1)
式中:x為高質(zhì)量圖像;B為采樣因子;H為模糊操作;n為噪聲。
通過上述過程可以看出,超分辨率重構(gòu)過程實際上是圖像退化過程的逆向?qū)崿F(xiàn)過程。然而從低分辨率圖像中重構(gòu)出高分辨率圖像y,是一種病態(tài)問題。為了解決這個問題,稀疏表示[9-13]被提出來實現(xiàn)超分辨重構(gòu)。將稀疏表示的相關(guān)理論引入到圖像超分辨過程,主要包括2個階段:字典訓(xùn)練階段和重構(gòu)階段。
假定來自低分辨率圖像y的塊yi可用字典Dy來表示,即yi=Dyαi??赏ㄟ^優(yōu)化如下目標(biāo)函數(shù)來求得稀疏系數(shù)αi:
(2)
假設(shè)給定高、低分辨率圖像塊數(shù)據(jù)X=[x1,x2,…,xn]和Y=[y1,y2,…,yn],其中{xi,yi}是相應(yīng)的高、低分辨率對應(yīng)的圖像塊,Dx、Dy分別表示高、低分辨率對應(yīng)字典,αx、αy分別表示高、低分辨率圖像塊對應(yīng)的稀疏表示系數(shù)。半耦合字典學(xué)習(xí)的基本思想是首先建立對應(yīng)的高低分辨率圖像塊,然后假設(shè)圖像塊在相應(yīng)字典下的稀疏表示系數(shù)不再是相同的,而是通過一個稀疏域的映射矩陣相關(guān)聯(lián)。SCDL 算法框架放寬了約束條件,加強(qiáng)了高、低分辨率圖像塊之間映射關(guān)系的學(xué)習(xí)能力,提高了重構(gòu)質(zhì)量,其在訓(xùn)練階段可一并得到半耦合的高、低分辨率字典以及稀疏域映射矩陣W:
αx=Wαy。
(3)
SCDL算法基于l1范數(shù)正則化的稀疏表示模型,引入了映射誤差懲罰項,改進(jìn)高、低分辨率稀疏表示問題,從而獲得半耦合字典學(xué)習(xí)模型,即
(4)
在SCDL算法中,半耦合字典學(xué)習(xí)最優(yōu)化問題轉(zhuǎn)化為3個子問題交替求解,采用以LARS算法為基礎(chǔ)的SPARS工具箱解決l1范數(shù)正則化的稀疏表示子問題。筆者這里采用交替啟發(fā)式學(xué)習(xí)框架進(jìn)行稀疏求解。首先初始化映射矩陣W和字典對Dx和Dy,稀疏系數(shù)可通過下面子問題進(jìn)行求解:
(5)
(6)
式(5)、(6)是一個多任務(wù)LASSO問題,筆者采用LARS進(jìn)行求解。然后,根據(jù)已求的αx和αy,同樣采用交替迭代學(xué)習(xí)策略求解Dx和Dy:
(7)
固定Dx、Dy、αx和αy,求解映射矩陣W:
(8)
訓(xùn)練階段的偽代碼描述如下。
輸入:低分辨率圖像X,高分辨率圖像Y,Dx、 隨機(jī)初始化字典矩陣Dy,初始化映射矩陣W,參數(shù)λx、λy、λW、γ。
for每次迭代until收斂
for每個聚類中心
Step1根據(jù)式(5)和(6)計算稀疏系數(shù)αx和αy;
Step2根據(jù)式(7)更新字典Dx、Dy;
Step3根據(jù)式(8)更新映射函數(shù)W
輸出:Dx、Dy、Wx、Wy。
筆者所提出的算法框架的訓(xùn)練過程如圖1所示。
圖1 所提算法的流程圖Figure 1 Flow chart of the proposed algorithm
2.2.1 細(xì)節(jié)約束因子
細(xì)節(jié)信息的重構(gòu)對于后續(xù)圖像分析非常有價值。然而,在超分辨率圖像重構(gòu)過程中,往往會丟失重要的細(xì)節(jié)信息。因此,筆者試圖利用一維圖像處理,充分考慮各個方向上的紋理梯度信息。對于圖像x而言,紋理梯度信息定義為
(9)
(10)
實際上,真實超分辨率圖像x是未知變量。為了衡量紋理差異,將其轉(zhuǎn)化為低分辨率圖像y與超分辨率重構(gòu)圖像的退化圖像的紋理差異:
(11)
利用稀疏表示,式(11)重新寫為
GD=G(y)-G(BHDα)。
(12)
2.2.2 測試階段
通過半耦合字典學(xué)習(xí)交替進(jìn)行的學(xué)習(xí)策略,能夠?qū)W到對應(yīng)的稀疏系數(shù)和字典矩陣。為了保證重構(gòu)圖像的細(xì)節(jié),在測試階段引入細(xì)節(jié)保持因子。給定低分辨率圖像x,字典矩陣Dx和Dy,通過構(gòu)造以下目標(biāo)函數(shù)重構(gòu)高分辨率圖像y:
(13)
式中:xi和yi分別表示低分辨率和重構(gòu)圖像的圖像塊。筆者采用one-by-one求解策略來更新稀疏系數(shù)。固定稀疏系數(shù)αyi,稀疏系數(shù)αxi可以通過下面表達(dá)式進(jìn)行優(yōu)化:
(14)
然后通過式(15)求解稀疏系數(shù)αyi:
(15)
其中,μ為正則項參數(shù),用來約束紋理細(xì)節(jié)項的貢獻(xiàn)。為了更好描述約束項的貢獻(xiàn),筆者采用一種權(quán)重自適應(yīng)優(yōu)化方法:
(16)
式中:σn為噪聲標(biāo)準(zhǔn)差;σi為第i塊的差異標(biāo)準(zhǔn)差。
通過式(17)可求得高分辨率圖像的稀疏系數(shù)αyi,根據(jù)稀疏字典表示方法重構(gòu)高分辨率圖像:
yi=Dyαyi。
(17)
(18)
(19)
為了評價筆者所提算法性能,將其與現(xiàn)有的單幅圖像超分辨率重構(gòu)算法進(jìn)行對比分析,選取近年來相對較為先進(jìn)的超分辨率重構(gòu)算法,主要包括Bicubic插值、SRCNN算法[22]、SCDL算法[19]。為了使對比更為客觀,采用相同的訓(xùn)練集和測試集。
筆者采用的實驗方案如下:①受篇幅限制,對超分辨率圖像只進(jìn)行2倍下采樣獲得低分辨率圖像,評價算法的重構(gòu)性能;②對超分辨圖像進(jìn)行加噪聲,然后進(jìn)行2倍下采樣獲得含有噪聲的低分辨率圖像,評價算法的重構(gòu)性能。
實驗1:未加噪聲實驗分析。以butterfly為例,評價圖像在2倍下采樣各算法的超分辨率重構(gòu)結(jié)果如圖2所示。由實驗看出,利用Bicubic插值算法重構(gòu)的圖像存在鋸齒邊界,而且邊界模糊。而采用深度學(xué)習(xí)方法SRCNN效果好于Bicubic插值算法,消除了鋸齒狀邊界,但大邊界仍存在模糊現(xiàn)象。SCDL算法重構(gòu)的圖像雖具有更強(qiáng)的邊界表達(dá)能力,然而在局部區(qū)域會出現(xiàn)一定的噪聲和邊界模糊。筆者提出的算法在重構(gòu)紋理細(xì)節(jié)、消除噪聲及重構(gòu)細(xì)節(jié)結(jié)構(gòu)方面具有很好的效果,重構(gòu)圖像更能接近原始高分辨率圖像,表1給出了上述各超分辨率算法重構(gòu)圖像的PSNR值和SSIM值。
圖2 在2倍下采樣各算法超分辨率重構(gòu)結(jié)果Figure 2 Super resolution reconstruction results of each algorithm for 2 times down sampling
實驗2:加噪聲實驗分析。以Parthenon為例,在無噪聲圖像上加噪聲水平nsignal=10的噪聲,評價圖像在2倍下采樣各算法的超分辨率重構(gòu)結(jié)果如圖3所示。對于有噪聲圖像而言,Bicubic插值對噪聲敏感,放大了噪聲水平。SRCNN算法對噪聲具有一定的克服能力,但在邊界上仍有噪聲存在,從而導(dǎo)致重構(gòu)圖像的邊界細(xì)節(jié)重構(gòu)能力明顯不足。SCDL算法雖然有一定的克服能力,但在重構(gòu)過程中,邊界細(xì)節(jié)重構(gòu)方面的能力仍然不足。筆者提出的算法對噪聲具有一定的魯棒性,在有效去除噪聲的同時能夠很好地重構(gòu)出細(xì)節(jié)信息。表1給出了在噪聲條件下,各算法的重構(gòu)圖像的PSNR值和SSIM值。
表1 不同策略下重構(gòu)圖像的PSNR值和SSIM值Table 1 PSNR values and SSIM values of reconstructed images under different strategies
圖3 在2倍下采樣各算法超分辨率重構(gòu)結(jié)果(nsignal=10)Figure 3 Super resolution reconstruction results of each algorithm for 2 times down sampling(nsignal=10)
針對單幅圖像的超分辨率細(xì)節(jié)弱重構(gòu)的問題,筆者采用將細(xì)節(jié)約束因子引入到半耦合字典學(xué)習(xí)框架中的方法,捕獲圖像的結(jié)構(gòu)信息,重構(gòu)出更多的圖像細(xì)節(jié)信息;根據(jù)邊界差異的分布實現(xiàn)參數(shù)自適應(yīng)選擇。另外,筆者又采用了利用交替學(xué)習(xí)策略進(jìn)行模型的優(yōu)化。實驗結(jié)果表明,筆者提出的引入細(xì)節(jié)約束因子的半耦合字典學(xué)習(xí)超分辨重構(gòu)算法構(gòu)造的模型能夠較好地重構(gòu)出圖像細(xì)節(jié)結(jié)構(gòu)。