李春龍 潘海俠 王華峰
(北京航空航天大學(xué) 軟件學(xué)院,北京100191)
近年來隨著硬件的快速發(fā)展,多處理器設(shè)備已普及化,且很多設(shè)備支持GPU.因此圖像數(shù)值計(jì)算不再是瓶頸問題,用戶開始轉(zhuǎn)變?yōu)樽非蟾叻直媛蕡D像和高清視頻.與低分辨率圖像相比,高分辨率圖像能提供更豐富的細(xì)節(jié)信息.目前,大量現(xiàn)存的圖像獲取設(shè)備只能獲取低分辨率圖像,不能滿足人們的需要.更換設(shè)備耗費(fèi)巨大,不易實(shí)現(xiàn),且分辨率也不能無限制提高.一種有效的方式是利用圖像插值獲取高分辨率圖像.傳統(tǒng)插值算法[1-2]的主要缺陷是不能很好地保持圖像邊緣,插值后的圖像會產(chǎn)生邊緣模糊和鋸齒.
為了解決插值后圖像邊緣模糊或鋸齒等缺陷,研究人員提出了多種邊緣插值算法.Li等人提出一種基于協(xié)方差的邊緣導(dǎo)向插值算法[3],從低分辨率圖像中估計(jì)局部協(xié)方差系數(shù),根據(jù)高、低分辨率圖像局部協(xié)方差之間的幾何對偶關(guān)系實(shí)現(xiàn)高分辨率插值.Zhang等人在Li等人的基礎(chǔ)上進(jìn)行改進(jìn),提出軟判決的插值算法[4],通過增加局部窗口內(nèi)像素點(diǎn)之間的約束條件來得到更精確的插值效果.Cvetkovic等人提出一種在小波域中對圖像高頻分量進(jìn)行估計(jì)的插值算法[5],雖然這些算法[3-7]都能得到較滿意的效果,但運(yùn)算復(fù)雜度較高且占用內(nèi)存空間較大.為了使算法得到進(jìn)一步提高,孫毓敏提出結(jié)合數(shù)據(jù)融合技術(shù)的插值算法[8],每個(gè)待插值點(diǎn)均融合2個(gè)方向上估計(jì)值.該算法的插值效果優(yōu)于雙線性算法,但其只能進(jìn)行2的整數(shù)倍的插值.針對傳統(tǒng)圖像縮放算法邊緣處理效果較差,邊緣插值算法復(fù)雜度較高的問題,本文提出了一種有效增強(qiáng)邊緣的自適應(yīng)立方卷積插值算法.
最鄰近插值算法利用待插值點(diǎn)距離最近的像素進(jìn)行插值,算法簡單、運(yùn)算量小,但沒有考慮其他鄰域像素的影響.雙線性插值算法在水平和垂直方向上進(jìn)行兩次線性插值,與最鄰近插值相比,雙線性插值考慮了鄰域4個(gè)點(diǎn)的影響.立方卷積插值算法利用待插值點(diǎn)鄰域4個(gè)方向上的16個(gè)像素點(diǎn)進(jìn)行插值.該算法不僅考慮到4個(gè)直接相鄰像素點(diǎn)的影響,而且考慮到各方向像素變化率的影響.插值算法可用公式[9]表示為
其中,h(x-xi)為插值基函數(shù);Ci為第i個(gè)原函數(shù)的值.
不同的插值算法只是基函數(shù)及選取的插值點(diǎn)個(gè)數(shù)n不同.大多數(shù)三次插值均采用Keys[2]提出的三次插值基函數(shù).
如圖1所示 x-1,x0,x1,x2為等間隔的已知像素點(diǎn),x為待插值點(diǎn),設(shè)h=x1-x0.
Keys[2]的三次插值基函數(shù)表達(dá)式為
圖1 待插值點(diǎn)示意圖Fig.1 Diagram of integration point
三次運(yùn)算可以得到更接近高分辨率圖像的放大效果,但其沒有考慮圖像的局部特性.為此,本文提出一種基于邊緣檢測的自適應(yīng)立方卷積插值算法:
式中,f1(x)為水平方向或45°對角線方向的立方卷積結(jié)果;b為權(quán)值,在2.2節(jié)中將給出權(quán)值的計(jì)算公式;f2(x)為垂直方向或135°對角線方向的立方卷積結(jié)果.
傳統(tǒng)插值算法的本質(zhì)是利用直接鄰接點(diǎn)的像素值,或鄰接點(diǎn)間像素變化率進(jìn)行插值.而本文算法首先檢測像素點(diǎn)局部特征,根據(jù)閾值分為邊緣點(diǎn)和非邊緣點(diǎn),然后對兩類像素點(diǎn)采用不同的插值策略.具體流程如圖2所示.
圖2 本文圖像插值流程圖Fig.2 Flowchart of proposed algorithm
在圖2所示的第1步中,選擇局部7×7窗口分別沿水平、垂直和兩個(gè)對角線方向計(jì)算像素間差值,與閾值比較.若像素點(diǎn)間差值比預(yù)置閾值小,則待插值點(diǎn)歸類為非邊緣像素點(diǎn),直接使用立方卷積進(jìn)行插值;反之,如果像素點(diǎn)間差值比預(yù)置閾值大,則待插值點(diǎn)歸類為邊緣像素點(diǎn),該類像素點(diǎn)使用本文算法進(jìn)行插值.
設(shè)原圖像為 IL,大小為 M×N,將其放大 k倍,放大后圖像記為IH,大小為kM×kN.為方便研究,取k=2.
如圖3a所示,黑色圓點(diǎn)為原圖像像素點(diǎn),白色圓點(diǎn)、方塊點(diǎn)和灰色圓點(diǎn)為放大圖像新增像素點(diǎn),本文插值分兩步實(shí)現(xiàn),首先對白色方塊點(diǎn)進(jìn)行插值,插值結(jié)果如圖3b所示,然后利用第1步結(jié)果對白色圓點(diǎn)和灰色圓點(diǎn)進(jìn)行插值.
圖3 插值示意圖Fig.3 Diagrams of integration
為了完成插值,首先進(jìn)行邊緣檢測,通常根據(jù)梯度變化進(jìn)行邊緣檢測.對于模擬圖像,其邊緣方向是任意的,但對于數(shù)字圖像,在某一像素的鄰域內(nèi)只有 4 個(gè)邊緣方向[9-11],即水平、垂直、45°對角線和135°對角線.
首先以白色方塊點(diǎn)為中心點(diǎn)計(jì)算梯度,在鄰域內(nèi)4個(gè)對角為已知像素點(diǎn),分別計(jì)算45°和135°對角線方向的梯度.如圖4所示,在鄰域進(jìn)行梯度計(jì)算,則45°對角線梯度計(jì)算公式為
然后以圓點(diǎn)為中心計(jì)算梯度,此時(shí)方塊點(diǎn)為已知,如圖5所示,待插值點(diǎn)相鄰4像素點(diǎn)為已知點(diǎn),即水平相鄰點(diǎn)和垂直相鄰點(diǎn),且分兩種情況;一種情況如圖5a水平方向?yàn)榈头直媛蕡D像實(shí)際像素點(diǎn),垂直方向?yàn)榈?次已完成插值的點(diǎn);另一種情況如圖5b垂直方向?yàn)榈头直媛蕦?shí)際像素點(diǎn),水平方向?yàn)榈?次已完成插值點(diǎn).
圖4 對角線梯度示意圖Fig.4 Diagram of diagonal gradient
圖5 水平與垂直梯度示意圖Fig.5 Diagrams of horizontal and vertical gradient
選取5×5鄰域進(jìn)行梯度計(jì)算,中心像素點(diǎn)I(x,y)的水平梯度計(jì)算公式為
此時(shí),兩個(gè)正交方向的梯度G1和G2為已知,因此可根據(jù)兩個(gè)梯度的比值(式(10))來確定像素點(diǎn)I(x,y)的強(qiáng)邊緣方向.
為防止分母為0,對分子、分母作加1處理,閾值T的選取將在第2.3節(jié)進(jìn)行討論.
本節(jié)討論如何計(jì)算待插值點(diǎn)的像素值.在強(qiáng)邊緣方向上缺失的像素點(diǎn)I(x,y)將根據(jù)立方卷積算法完成插值.對于弱邊緣方向或紋理區(qū)域?qū)⒏鶕?jù)兩個(gè)正交方向所計(jì)算像素加權(quán)估計(jì)[12-13].待插值點(diǎn)像素對兩正交方向所得像素的相似度與梯度成反比.假設(shè)待插值點(diǎn)I(x,y)的兩正交方向所得像素分別為p1(45°對角線方向或水平方向)和p2(135°對角線方向或垂直方向),則p1和p2相結(jié)合的權(quán)值計(jì)算公式為
其中k是一個(gè)指數(shù)參數(shù),用于調(diào)整權(quán)重的影響,將在第2.3節(jié)中討論k的選取.為防止分母為0作加1處理.在弱邊緣方向或紋理區(qū)域的待插值點(diǎn)像素計(jì)算公式為
算法描述:
1)初始化:將n×n的低分辨率圖像IL放大為(2n-1)×(2n-1)的高分辨率圖像IH,兩圖像對應(yīng)關(guān)系為 IH(2x-1,2y-1)=IL(x,y),其中 x,y=1,2,…,n.
2)第 1輪插值,對圖 3a中的白色方塊IH(2x,2y),x,y=1,2,…,n 進(jìn)行插值,根據(jù)立方卷積計(jì)算每一待插值點(diǎn)的45°對角線方向和135°對角線方向的像素p1和p2,根據(jù)式(13)確定該點(diǎn)的像素值:
3)第2輪插值,此時(shí)方塊點(diǎn)為已知像素,對圖3b中的灰色圓點(diǎn)IH(2x-1,2y)和白色圓點(diǎn)IH(2x,2y-1),x,y=1,2,…,n 進(jìn)行插值,根據(jù)立方卷積計(jì)算每一待插值點(diǎn)水平方向和垂直方向的像素p1和p2,根據(jù)式(13)確定該點(diǎn)的像素值.
本文算法的關(guān)鍵在于閾值T和指數(shù)k的確定,但這兩個(gè)參數(shù)并不能簡單地根據(jù)所給低分辨率圖像計(jì)算所得.本文選用24色圖像根據(jù)機(jī)器學(xué)習(xí)[9]進(jìn)行計(jì)算.首先對樣本進(jìn)行灰度化,并轉(zhuǎn)換為低分辨率圖像,然后選取不同的T和k構(gòu)建高分辨率圖像.根據(jù)經(jīng)驗(yàn)值k的選取范圍為1~6,步長為1,T的選取范圍為1~1.5,步長為0.05.峰值信噪比(PSNR,Peak Signal-to-Noise Ratio)變化趨勢如圖6所示.
圖6 信噪比變化圖Fig.6 Curves of PSNR
由圖6可知,k=5和k=6的曲線趨于相同,因此增加k并不能進(jìn)一步提高信噪比,選取k=5.隨著T的增加信噪比逐漸增大,但T>1.25時(shí)信噪比開始下降,1.25的T也許是最佳的選擇,但是T越大,可能會失去一些強(qiáng)邊緣,對比實(shí)驗(yàn)結(jié)果,本文選擇T=1.15.
針對圖像的質(zhì)量,常用的評價(jià)方法[14]有平均平方誤差(MSE,Mean Squared Error)、平均絕對誤差(MAE,Mean Absolute Error)及 PSNR等.這些方法能較好地反映出圖像的質(zhì)量,但是它們均需要原始圖像的參與.圖像的平均亮度值(MLV,Mean Luminous Value)直接反映人的主觀感受,可以作為其中的一個(gè)參考因素.標(biāo)準(zhǔn)差(SD,Standard Deviation)描述了直方圖的相對平滑度,熵評價(jià)方法(EEM,Entropy Evaluation Method)體現(xiàn)了圖像的平均信息量,圖像銳利(sharpness)代表了圖像的清晰度,高階統(tǒng)計(jì)量(HOS,High Order Statistics)刻畫了圖像的細(xì)節(jié)信號對圖像質(zhì)量的貢獻(xiàn).
利用雙線性插值、立方卷積,基于邊緣特征插值和本文算法進(jìn)行圖像放大,從客觀上對放大圖像進(jìn)行質(zhì)量評估.將琳達(dá)和花等原始圖像重新取樣縮小至1/4,然后分別按雙線性插值、立方卷積,基于邊緣特征插值和本文算法放大4倍,并與原始圖像比較,如圖7所示.
圖7 各算法插值結(jié)果圖Fig.7 A set of result images
PSNR值和平均計(jì)算時(shí)間如表1所示.
表1 PSNR比較結(jié)果和平均計(jì)算時(shí)間Table 1 PSNR result and average time s
由表1可知,與傳統(tǒng)立方卷積插值算法相比,峰值信噪比增加0.89 dB,與基于特征的插值算法相比,平均運(yùn)行時(shí)間降低了3.19 s.
使用本文所提的自適應(yīng)立方卷積插值算法插值后的圖像:
1)邊緣定向平滑,具有較高的視覺質(zhì)量,成功消除了傳統(tǒng)插值算法存在的邊緣鋸齒現(xiàn)象;
2)與傳統(tǒng)立方卷積插值算法相比,信噪比增加了0.89 dB;
3)與基于特征的插值算法相比,本文所提算法的平均運(yùn)行時(shí)間降低了3.19 s.
References)
[1] Hou H S,Andrews H C.Cubic splines for image interpolation and digital filtering[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1978,26(6):508-517
[2] Keys R C.Cubic convolution interpolation for digital image processing[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1981,29(6):1153-1160
[3] Li X,Orchard M T.New edge-directed interpolation[J].IEEE Transactions on Image Processing,2001,10(10):1521-1527
[4] Zhang X J,Wu X L.Image interpolation by adaptive 2-d autoregressive modeling and soft-decision estimation[J].IEEE Transactions on Image Processing,2008,17(6):887-896
[5] Chang S G,Cvetkovic Z,Vetterli M.Locally adaptive waveletbased image interpolation[J].IEEE Transactions on Image Processing,2006,15(7):1471-1485
[6]程光權(quán),成禮智.基于小波的方向自適應(yīng)圖像插值[J].電子與信息學(xué)報(bào),2009,31(3):265-272 Cheng Guangquan,Cheng Lizhi.Direction adaptive image interpolation via wavelet transform[J].Journal of Electronics& Information Technology,2009,31(3):265-272(in Chinese)
[7] Han J W,Kim J H,Cheon S H,et al.A novel image interpolation method using the bilateral filter[J].IEEE Transactions on Consumer Electronics,2010,56(1):175-181
[8]孫毓敏.一種基于融合的方向自適應(yīng)插值算法及其應(yīng)用[D].西安:西安電子科技大學(xué),2009 Sun Yumin.A locally orientation-adaptive and fusion-based algorithm for image interpolation[D].Xi'an:Xidian University,2009(in Chinese)
[9] Zhou D,Shen X,Dong W.Image zooming using directional cubic convolution interpolation[J].IET Image Processing,2012,6(6):627-634
[10]楊鶴猛,黃戰(zhàn)華.基于梯度的快速圖像插值算法[J].計(jì)算機(jī)應(yīng)用,2012,32(10):2821-2826 Yang Hemeng,Huang Zhanhua.Fast image interpolation algorithm based on gradient[J].Journal of Computer Applications,2012,32(10):2821-2826(in Chinese)
[11] Feng X J,Allebach J P.Segmented image interpolation using edge direction and texture synthesis[C]//Proceedings of IEEE International Conference on Image Processing.Piscataway,NJ:IEEE,2008:881-884
[12]黨向盈,吳錫生,趙勇.基于邊緣最大相關(guān)性的快速圖像插值算法[J].計(jì)算機(jī)應(yīng)用,2006,26(12):2880-2883 Dang Xiangying,Wu Xisheng,Zhao Yong.Fast image interpolation algorithm based on edge-directed max-relativity[J].Computer Applications,2006,26(12):2880-2883(in Chinese)
[13] Li M,Nguyen T.Markov random field model-based edge-directed image interpolation[J].IEEE Transactions on Image Process,2008,17(7):1121-1128
[14]賈小軍,喻擎蒼,方玫,等.約束點(diǎn)模型的圖像放大方法[J].計(jì)算機(jī)工程,2008,34(2):232-234 Jia Xiaojun,Yu Qingcang,F(xiàn)ang Mei,et al.Image enlargement method based on constrained points model[J].Computer Engineering,2008,34(2):232-234(in Chinese)