華 臻,張海程,李晉江
1(山東工商學(xué)院 信息與電子工程學(xué)院,山東 煙臺 264000)
2(山東工商學(xué)院 山東省高等學(xué)校協(xié)同創(chuàng)新中心:未來智能計(jì)算,山東 煙臺 264000)
圖像超分辨率(super-resolution,SR)重建是指通過圖像處理算法對模糊的低分辨率(low-resolution,LR)圖像進(jìn)行處理,以獲得高分辨率(high-resolution,HR)圖像,此圖像有高像素密度,可以提供更多的細(xì)節(jié)信息,能提高計(jì)算機(jī)識別圖像的準(zhǔn)確性.該技術(shù)在醫(yī)學(xué)成像、視頻監(jiān)控、遙感圖像等領(lǐng)域非常廣泛.
如果考慮噪聲e,低分辨率圖像Y和高分辨率圖像X可以表示為:
Y=SHX+e
(1)
其中,S為下采樣,H表示模糊濾波器.由于LR圖像數(shù)量的不足、病態(tài)配準(zhǔn)問題以及未知的模糊操作,因此SR重建是一個(gè)典型的病態(tài)問題.要解決這個(gè)問題,需要通過合理的先驗(yàn)知識并獲得某些約束條件來求得最優(yōu)解.
目前,SR重建技術(shù)可以分為三類:基于插值、基于重構(gòu)和基于學(xué)習(xí)的方法.其中基于學(xué)習(xí)的方法是目前研究的熱點(diǎn)[1-7],其基本思想是通過訓(xùn)練樣本得到LR圖像到HR圖像的映射,從而預(yù)測出HR圖像.基于馬爾科夫網(wǎng)絡(luò)[3]、局部線性嵌入法[4]、錨定鄰居[5]等大量的學(xué)習(xí)算法被提出,但是這些方法都有各自的局限性,學(xué)習(xí)過程中特征提取和表達(dá)能力有限.
近年來,稀疏表示理論成為圖像處理領(lǐng)域的研究熱點(diǎn),在圖像去噪、人臉識別[6]、超分辨率等領(lǐng)域都有廣泛的應(yīng)用.為了避免人為的進(jìn)行近鄰選擇,Yang等人從壓縮感知(Pressive Sensing)的理論出發(fā),開創(chuàng)性地提出一種基于稀疏編碼的SR重構(gòu)算法[7],但是有字典學(xué)習(xí)效率低,重建效果差等缺點(diǎn).Zhan等人提出了一種耦合特征空間下改進(jìn)字典學(xué)習(xí)的圖像SR重建算法,使用了迭代反投影算法對重建后的圖像進(jìn)行處理,獲得了不錯(cuò)的重建效果[8].為了提高稀疏表示系數(shù)的精度,文獻(xiàn)[9]在稀疏表示中引入了正則化技術(shù).Zhang等人提出了基于K-SVD算法和半耦合字典學(xué)習(xí)框架融合的圖像SR重建方法,解決了字典訓(xùn)練費(fèi)時(shí)問題,同時(shí)提高重建質(zhì)量[10].
這種基于稀疏表示的超分辨率重構(gòu)算法,需要通過優(yōu)化算法對稀疏表示模型進(jìn)行優(yōu)化.比如:正交匹配追蹤算法(Orthogonal MP,OMP)[11,12]、稀疏度自適應(yīng)匹配追蹤算法[13]等.其中OMP 算法應(yīng)用較為廣泛,但是重構(gòu)時(shí)間較長,重構(gòu)不夠精確.
最近,Vu等人提出一種新的貪心算法,即自適應(yīng)匹配追蹤(Adaptive Matching Pursuit,AMP)算法[14].本文將此算法應(yīng)用到SR重建中,進(jìn)行稀疏優(yōu)化.在Yang等人提出的稀疏表示框架的基礎(chǔ)上,本文提出了一個(gè)基于AMP稀疏表示的圖像SR重建算法.實(shí)驗(yàn)發(fā)現(xiàn),此算法重建效果較理想,特別是在細(xì)節(jié)重建方面更加突出,成功解決了OMP算法重構(gòu)不精確的缺點(diǎn).
Zhong和Mallat等人首先提出信號可以在冗余字典上稀疏分解的思想,選取合適的冗余字典可以用來更好的表示信號的基,且基的數(shù)目最少,這就是信號的稀疏表示.
假設(shè)信號x∈RN可以用過完備字典D∈RN×M(M>N)中有限的原子進(jìn)行線性表示,即
x=Dα,s.t.‖α‖0≤n
(2)
其中‖*‖0是L0范數(shù),‖α‖0代表向量α的非零元素的個(gè)數(shù),稱α為x的 稀 疏 表 示系數(shù).D是包含M個(gè)原子的過完備字典,D=[d1,d2,…,dn],D∈RN,di是D中列元素構(gòu)成的向量,記η為D列向量線性相關(guān)的最小值.則當(dāng)‖α‖0<η/2時(shí),x的稀疏表示系數(shù)α是唯一存在的[15].因此,稀疏表示的問題就是求解稀疏表示系數(shù)α,即:
min‖α‖0,s.t.x=Dα
(3)
獲得(3)式的精確解被證明是NP難問題,而且是非凸優(yōu)化問題,通常都考慮其近似解法.研究發(fā)現(xiàn),將L1范數(shù)替換L0范數(shù),可以使得上述問題從一個(gè)非凸問題轉(zhuǎn)變成凸優(yōu)化的問題.目前應(yīng)用廣泛的稀疏表示模型是:
(4)
其中xi表示每一個(gè)訓(xùn)練樣本,‖αi‖表示每一列的稀疏表示系數(shù),λ是稀疏平衡因子,這樣稀疏優(yōu)化問題就轉(zhuǎn)化為凸優(yōu)化問題,可以用一些標(biāo)準(zhǔn)的優(yōu)化算法求得α*的解.
圖像的超分辨率重建算法主要解決,如何將一幅低分辨率圖像恢復(fù)成高分辨率圖像的問題.其中有兩個(gè)最重要的問題:訓(xùn)練字典和稀疏編碼.
設(shè)x∈RN為提取出來的HR圖像塊,y∈RM為相關(guān)的LR圖像塊,都以列向量的形式表示.本次工作就是將HR圖像塊x由字典中的原子線性稀疏表示出來,即x=Dhα,其中Dh為高分辨率字典,相應(yīng)的低分辨率圖像塊可以表示為y=Dlα+e,Dl為低分辨率字典.
根據(jù)公式(4),此問題可以轉(zhuǎn)化為稀疏向量的α的優(yōu)化問題,即:
(5)
本文所提出的自適應(yīng)匹配追蹤圖像超分辨重建算法流程圖如圖1所示.
圖1 自適應(yīng)匹配追蹤圖像超分辨重建Fig.1 Image SR algorithm based on AMP
字典通常從一組訓(xùn)練樣本X={x1,x2,…,xt}中學(xué)習(xí).對于所有的訓(xùn)練集,需要求解以下優(yōu)化問題:
(6)
其中,A的列向量αi為樣本圖像塊的稀疏系數(shù),‖dj‖為字典D的標(biāo)準(zhǔn)化原子,T0為信號稀疏度.求解此類問題通常需要固定其中一個(gè)變量來求另外一個(gè)變量.
(7)
超分辨率是嚴(yán)重的病態(tài)逆問題,為了解決這個(gè)逆問題,采用稀疏性這個(gè)先驗(yàn)知識,這個(gè)先驗(yàn)知識要求訓(xùn)練得到的字典Dh和Dl有較強(qiáng)的同構(gòu)性.可以通過訓(xùn)練單個(gè)字典達(dá)到訓(xùn)練兩個(gè)字典的目的.
假設(shè)給出的訓(xùn)練圖像塊對為P={Xh,Yl},其中,Xh={x1,x2,…,xn}為采樣后的HR圖像塊組,Yl={y1,y2,…,yn} 為相關(guān)的LR圖像塊組.根據(jù)式(4)可以知道,HR和LR圖像塊空間的稀疏編碼問題分別是:
(8)
和
(9)
要使兩個(gè)特征空間有相同的稀疏表示,即αh=αl,公式(8)(9)可以合寫成以下問題[16]:
(10)
其中,N和M是HR和LR圖像塊的維數(shù),寫成訓(xùn)練單個(gè)字典的形式為:
(11)
目前提取高頻的方法有很多,Li等人[17]使用高斯邊緣濾波.Tang等人[18]使用LR圖像的一階、二階梯度作來提取圖像梯度信息.由于此方法簡單有效,本文使用將一階、二階梯度作為特征,用來提取的四個(gè)濾波器分別是:
(12)
其中T表示向量轉(zhuǎn)置,這四個(gè)濾波器不是直接應(yīng)用到LR圖像塊中,而是應(yīng)用到訓(xùn)練圖像.濾波完成后會得到四個(gè)梯度圖.然后從梯度圖像的每個(gè)位置提取四個(gè)的小塊圖像,將四個(gè)小塊圖像連接成一個(gè)特征向量,將特征向量作為LR圖像塊的最終特征表示.同時(shí),每個(gè)LR圖像塊的特征表示也對其相鄰信息進(jìn)行編碼,提高SR圖像相鄰圖像塊的兼容性.
AMP是解決稀疏表示最為新穎的算法.該算法的基本思想是通過依次迭代的方法更新每一步的稀疏信號的有效集合,然后推導(dǎo)出稀疏表示系數(shù)的解.
在每一步中,不斷更新殘差以確定是否吸收或移除集合中的元素.大多數(shù)OMP算法需要已知信號的稀疏性,這在實(shí)踐中通常是未知的.AMP算法可以自適應(yīng)地解決這一問題,并且在準(zhǔn)確度和效率上都得到了顯著提高.實(shí)質(zhì)上,在算法的每一步中,通過添加或刪除索引來更新元素集時(shí),無論哪個(gè)在效率上都有很好的改進(jìn).另外,該算法的中間步驟通過簡單的Cholesky分解來計(jì)算,這使得算法更快[14].
假設(shè)一組稀疏信號α∈Rp,根據(jù)y=Dα+e從較少的線性測度y∈Rq中恢復(fù)出來,其中q遠(yuǎn)遠(yuǎn)小于p,D∈Rq×p是測量矩陣,e表示高斯噪聲.
(13)
(14)
(15)
AMP 算法描述如算法1所示.
算法1.自適應(yīng)匹配追蹤AMP 算法
function(α*)=AMP(y,D,λ,ρ)
% ifS=φ,thenL=[]
3. whiletruedo
4. 計(jì)算u和αS:LSu=wS,LSαS=u;
5. 更新殘差rS:rS=z-HSαS;
7. 判 斷條件
插入索引S=S∪{i},更新LS;
else 移除索引S=S{j},更新LS;
end if
8. end while
9. 依次更新:αS?α*
end functio
通過2.2小節(jié)的介紹可知,SR重建的模型表示為公式(5).在實(shí)驗(yàn)過程中,不是直接在低分辨率圖像上操作,而是先加入特征提取算子F用來提取LR圖像上的高頻信息.結(jié)合高低分辨率圖像塊間的聯(lián)系,將式(5)轉(zhuǎn)化為:
(16)
利用拉格朗日乘子法,式(16)可以進(jìn)一步合寫成
(17)
之后采用AMP算法求解稀疏表示系數(shù)α*.通過公式x=Dhα*生成包含高頻信息的HR圖像塊,加上平均像素后得到初始HR圖像X0,但是,這時(shí)恢復(fù)出的HR圖像僅包含局部高頻信息.
稀疏表示的約束并不是一個(gè)精確的等式,可能圖像中會有噪聲等污染,因此局部模型得到的高分辨率圖像X0可能不是最優(yōu)結(jié)果.接下來需要通過全局模型重建消除局部模型中的人造結(jié)果,使圖像更為自然.
研究發(fā)現(xiàn),將局部模型重建得到的高分辨率圖像X0投影到Y(jié)=SHX的解空間上可以消除誤差,即
(18)
此優(yōu)化問題能夠采用反向傳播算法[20]和梯度下降法來解決.本文使用反向傳播算法進(jìn)行求解,即通過式(18)進(jìn)行每一步迭代更新,即
Xt+1=Xt+((Y-SHXt)↑s)×φ
(19)
其中,Xt是HR圖像經(jīng)過第t次迭代之后的估計(jì)值,φ反投影濾波器,s表示上采樣.最終結(jié)果X*即為HR圖像的最終估計(jì).
基于AMP的超分辨率重建算法描述如算法2所示:
算法2.基于AMP算法的超分辨率重建
Input:字典對Dh和Dl,低分辨率圖像Y
Output:重建后的超分辨率圖像X*
1. for 來自Y的每一個(gè)b×b大小的圖像塊ydo
2. 從左上角開始取圖像塊,每個(gè)方向重疊1個(gè)像素,計(jì)算平均像素p;
3. 調(diào)用AMP算法計(jì)算公式(20)中的稀疏表示系數(shù)α*;
4. 通過公式x=Dhα*生成包含高頻信息的HR圖像塊;
5. 將x加上平均像素p得到初始HR圖像X0;
6. for end
7. 使用反投影算法估計(jì)出最終HR圖像X*.
為了驗(yàn)證本文所提算法的有效性,所有的仿真實(shí)驗(yàn)用Matlab語言編寫,軟硬件的運(yùn)行環(huán)境為:Inter(R)Core(TM)i7-6700 CPU @ 3.40GHZ處理器、運(yùn)行內(nèi)存為8GB、64位Windows7 SP1 操作系統(tǒng)、Matlab R2016a.
數(shù)據(jù)集訓(xùn)練:超分辨率重建所用的方法不同,使用的數(shù)據(jù)集也有所不同.例如,RFL[21]使用了兩種方法,第一種方法是使用了來自Yang等人[7]的91幅圖像,第二種方法是使用了291個(gè)圖像.SRCNN[22]使用了非常大的ImageNet數(shù)據(jù)集.
可以簡單地從類似的訓(xùn)練圖像中隨機(jī)抽樣原始色塊來生成字典統(tǒng)計(jì)性質(zhì).本實(shí)驗(yàn)使用來自文獻(xiàn)[21]的圖像進(jìn)行訓(xùn)練.準(zhǔn)備了兩個(gè)字典:一個(gè)字典的訓(xùn)練集是從花中抽取的,應(yīng)用于具有相對簡單紋理的通用圖像;一個(gè)字典的訓(xùn)練集從動物中抽取的,包括各種人頭、毛發(fā)等,具有精細(xì)的紋理,能夠更好的重建頭部等精細(xì)圖像.
數(shù)據(jù)集測試:本實(shí)驗(yàn)采用了三個(gè)數(shù)據(jù)集進(jìn)行測試,分別為:數(shù)據(jù)集“Set5”[24]、“Set14”和“B100”.數(shù)據(jù)集“Set5”和“Set14”通常也用于其他作品[5].數(shù)據(jù)集“B100”是Timofte等人[5]所用的伯克利分割數(shù)據(jù)集中的自然圖像.
實(shí)驗(yàn)選取了30幅具有豐富紋理的高分辨率圖像,然后對這些高分辨率圖像2倍下采樣,模擬圖像的降質(zhì)過程,得到對應(yīng)的LR圖像.將這些HR和LR圖像,隨機(jī)采樣80,000個(gè)9×9大小的圖像塊,以訓(xùn)練字典.利用前面所分析的聯(lián)合字典訓(xùn)練方法,得到高、低分辨率字典.生成字典的大小為1024.
在重建過程中,將輸入的低分辨率圖像利用雙立方插值算法進(jìn)行2倍上采樣,使用3×3的低分辨率圖像塊(上采樣到6×6),相鄰塊之間有1個(gè)像素的重疊,對應(yīng)的9×9高分辨率圖像塊有3個(gè)像素塊的重疊,實(shí)驗(yàn)5.4中也給出了放大2倍、4倍時(shí)的結(jié)果.對于彩色圖像,由于人類的視覺特性對亮度細(xì)節(jié)更為敏感,因此僅將算法應(yīng)用到亮度通道,而色度通道(Cb,Cr)用雙立方插值算法進(jìn)行計(jì)算.算法中的自由參數(shù)λ設(shè)為0.1,用來平衡稀疏性和重建約束的保真度,σ設(shè)為0.018.
實(shí)驗(yàn)中,將本文算法與Bicubic、Yang′s[7]、Fu′s[24]、 CFS[6]、WDM[25]算法進(jìn)行了重建效果的比較.使用評價(jià)指標(biāo)峰值信噪比(Peak Signal to Noise Ratio,PSNR)和結(jié)構(gòu)相似性(Structural Similarity Index,SSIM)進(jìn)行定量分析,通過重建效果對比圖進(jìn)行定性分析.
表1展示了圖像“Set5”、“Set14”和“B100”在不同算法下重建后的PSNR和SSIM值,圖像的放大尺度分別為2,3 和4.從表中可以看出,Bicubic算法的性能最差,其他算法都使用了稀疏表示思想,性能明顯提高,PSNR大約提高1-3db.隨著倍數(shù)的增加,算法的PSNR和SSIM都相應(yīng)的減少.本文算法雖然在放大4倍時(shí)性能有所下降,但是大多數(shù)情況下,PSNR和SSIM值都高于其他算法.
圖2至圖6為不同算法關(guān)于圖像child、lena、boy的效果對比圖.從圖中可以看出,Bicubic和Yang′s重建圖像比較模糊,Fu′s、 CFS和WDM算法雖然有了提升,但是細(xì)節(jié)上的重建效果不是很理想,而本文算法大大提升了細(xì)節(jié)上的重建效果,而且重建圖像也較清晰.為了更加清晰地看到不同算法在細(xì)節(jié)上的重建效果,將效果圖進(jìn)行了放大,圖2的眼部放大效果圖如圖3所示.可以看出,相比其他算法,本文算法重建后的眉毛更加濃密、眼球更加清晰.圖5是boy圖像的局部放大圖,可以看到,本文算法鼻子上面的紅斑數(shù)量比其他算法更多,細(xì)節(jié)重建效果佳.圖6是lena圖像效果圖,本文算法與CFS、WDM算法效果差不多,能重建出較多的細(xì)節(jié),但其他算法圖像模糊且出現(xiàn)鋸齒現(xiàn)象.
圖2 child圖像使用不同算法重建效果對比圖Fig.2 Effect of reconstruction comparisonchart of child image
圖3 child圖像局部對比圖Fig.3 Partial comparison chart of child image
圖4 boy圖像使用不同算法重建效果對比圖Fig.4 Effect of reconstruction comparison chart of boy image
圖5 boy圖像局部對比圖Fig.5 Partial comparison chart of boy image
表1 不同算法在PSNR和SSIM方面的對比值Table 1 Benchmark results.Average PSNR/SSIMs for scale factor 2,3 and 4 on datasets Set5,Set14 and B100
圖6 lena圖像使用不同算法重建效果對比圖Fig.6 Reconstruction comparison chart of lena image
本次實(shí)驗(yàn)從定量和定性兩個(gè)方面對算法進(jìn)行比較,大多數(shù)情況下,本文算法的PSNR和SSIM比其他算法高,PSNR大約高1~2dB.從視覺上也可以看出,本文算法對細(xì)節(jié)的重建較為突出,是較為理想的SR重建算法.
表2 各種算法字典訓(xùn)練時(shí)間的比較(min)Table 2 Comparison of various algorithm dictionary training times(min)
為了證明所提方法的效率,對字典訓(xùn)練所花費(fèi)的時(shí)間進(jìn)行了驗(yàn)證.本實(shí)驗(yàn)與Yang′s、Fu′s、CFS算法進(jìn)行了比較,表2記錄了各算法在字典訓(xùn)練階段所消耗的時(shí)間.可以明顯看出,本算法在一定程度上減少了運(yùn)行時(shí)間.
針對目前算法重建圖像細(xì)節(jié)處理不足的現(xiàn)象,本文提出了一種基于自適應(yīng)匹配追蹤的稀疏表示超分辨率重建算法,大大提高重建的效果.將大量的訓(xùn)練集通過K-SVD算法進(jìn)行字典訓(xùn)練,訓(xùn)練得到高、低分辨率字典,然后利用訓(xùn)練得到的字典將輸入的低分辨率圖像進(jìn)行超分辨率重建,使用自適應(yīng)匹配追蹤算法進(jìn)行稀疏編碼.實(shí)驗(yàn)結(jié)果表明,與基于OMP的各種算法相比,不論在客觀上還是主觀上,本文算法都達(dá)到了不錯(cuò)的重建效果,特別在細(xì)節(jié)方面,重建效果更為理想.同時(shí),字典訓(xùn)練的時(shí)間也明顯優(yōu)于其他算法.因此,本文算法在精度和效率上都有明顯的提升.但是,隨著放大尺度的增加,算法的性能有所降低,下一步的研究將會集中在這一方面.