石翠萍, 王立國(guó), 那與晶, 黃柏鋒
(1.哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱 150001;2.齊齊哈爾大學(xué) 通信與電子工程學(xué)院,黑龍江 齊齊哈爾 161006;3.中國(guó)電信股份有限公司河池分公司,廣西 河池 547000)
傳統(tǒng)的采樣定理要求采樣頻率至少是信號(hào)帶寬的2倍,才能完全恢復(fù)出原信號(hào)。隨著信號(hào)帶寬的日益增加,傳統(tǒng)的采樣定理對(duì)采樣速率要求越來(lái)越高。隨著壓縮感知(compressive sensing,CS)概念的提出,由于其允許采樣和壓縮同時(shí)進(jìn)行,且對(duì)采樣速率要求很低,故壓縮感知迅速成為研究熱點(diǎn)[1-2]。壓縮感知是在遠(yuǎn)小于奈奎斯特采樣率的條件下,通過(guò)隨機(jī)采樣來(lái)獲取離散信號(hào)。該理論指出一個(gè)可壓縮信號(hào)或在變換域?yàn)橄∈璧男盘?hào),可通過(guò)一個(gè)與變換基無(wú)關(guān)的測(cè)量矩陣,將變換后的高維信號(hào)投影到低維空間,并采用優(yōu)化算法從少量投影中完成高質(zhì)量重構(gòu)。近年來(lái),基于壓縮感知的圖像采樣和重構(gòu)引起了人們的廣泛關(guān)注[3-8]。在傳統(tǒng)方法中,圖像壓縮通常在變換域內(nèi)進(jìn)行,而壓縮感知可以直接作用在原始圖像上,并可通過(guò)任意CS重構(gòu)技術(shù)來(lái)恢復(fù)圖像[9]。將壓縮感知算法應(yīng)用到二維圖像上時(shí),面臨的一個(gè)挑戰(zhàn)在于重建多維信號(hào)需要巨大的計(jì)算量。另外,當(dāng)隨機(jī)采樣算子表示為一個(gè)稠密矩陣時(shí),會(huì)帶來(lái)很大的存儲(chǔ)負(fù)擔(dān)。為了解決這些問(wèn)題,有效的方法是將圖像劃分為若干塊,然后以塊為單位進(jìn)行采樣[10]。文獻(xiàn)[11]提出了基于平滑投影重建的塊壓縮感知算法(block-based CS with smoothed projected Landweber reconstruction, BCS-SPL)。相比于對(duì)整幅圖像直接處理,能夠減小測(cè)量矩陣所需的存儲(chǔ)空間。同時(shí),在采樣端對(duì)分塊信號(hào)采樣時(shí)直接進(jìn)行壓縮,降低了采樣端的復(fù)雜度。這種塊處理方法能夠?qū)崿F(xiàn)圖像快速重建,但這是以重建圖像質(zhì)量變差為代價(jià)的。此外,分塊壓縮感知還容易出現(xiàn)塊效應(yīng)現(xiàn)象。文獻(xiàn)[12]提出了一種基于非局部相似模型的壓縮感知恢復(fù)算法,將傳統(tǒng)的二維圖像塊的稀疏性擴(kuò)展到相似圖像塊組在三維空間上的稀疏性,在提高圖像表示稀疏度的同時(shí),提高了壓縮感知圖像恢復(fù)效率,使恢復(fù)圖像在紋理和結(jié)構(gòu)保持方面有了較大的改善,提高了重建圖像質(zhì)量。文獻(xiàn)[13]提出了一種基于秩極小化的壓縮感知圖像恢復(fù)方法,將相似圖像塊作為列向量構(gòu)建一個(gè)二維相似塊矩陣,然后將壓縮感知測(cè)量作為約束條件,通過(guò)增廣拉格朗日方法將受限優(yōu)化問(wèn)題轉(zhuǎn)換為非受限優(yōu)化問(wèn)題,對(duì)二維相似塊矩陣進(jìn)行恢復(fù)求解。文獻(xiàn)[14]提出了一種加權(quán)結(jié)構(gòu)組稀疏表示的圖像壓縮感知重構(gòu)方法,其采用非局部相似圖像塊結(jié)構(gòu)組加權(quán)系數(shù)表示的L1范數(shù)作為規(guī)則化項(xiàng),進(jìn)行優(yōu)化重構(gòu)約束,能夠在更好地恢復(fù)圖像高頻信息的同時(shí),減少圖像低頻成分的損失,從而改善圖像重構(gòu)質(zhì)量。文獻(xiàn)[15]在BCS-SPL的基礎(chǔ)上,提出了一種基于多假設(shè)預(yù)測(cè)的塊壓縮感知方法(multihypothesis predictions BCS-SPL, MH-BCS-SPL),該方法先用初始BCS-SPL方法對(duì)圖像進(jìn)行重建,然后在CS隨機(jī)投影域內(nèi)對(duì)每個(gè)圖像塊進(jìn)行多假設(shè)預(yù)測(cè)。相比于BCS-SPL方法,MH-BCS-SPL能較大程度改善重建圖像質(zhì)量,但重建時(shí)間卻大大延長(zhǎng)了。從重建圖像質(zhì)量的角度,對(duì)整幅圖像采樣的結(jié)果,要優(yōu)于局部采樣的結(jié)果。一個(gè)典型的例子是基于全變差(total-variation, TV)的壓縮感知方法,其能得到較高質(zhì)量的重構(gòu)圖像,但重構(gòu)時(shí)間也特別長(zhǎng)[16]??梢?jiàn),重構(gòu)圖像質(zhì)量和重構(gòu)時(shí)間,往往是矛盾的。為了實(shí)現(xiàn)2者間的相對(duì)平衡,文獻(xiàn)[17]提出了一種基于多尺度變量的塊壓縮感知方法(multiscale variant BCS-SPL, MS-BCS-SPL),該方法是在離散小波變換(Discrete wavelet transform, DWT)域內(nèi)進(jìn)行的。其重構(gòu)圖像的速度只比BCS-SPL略慢,但能獲得重構(gòu)質(zhì)量上較大的增益。然而,MS-BCS-SPL方法對(duì)小波域內(nèi)各層子帶中的各子塊,均采用相同的采樣速率。由于小波子帶間信息量差別很大,這種采樣方式會(huì)限制重構(gòu)質(zhì)量的提升。針對(duì)該問(wèn)題,本文在MS-BCS-SPL方法的基礎(chǔ)上,通過(guò)研究圖像上下文特征,同時(shí)考慮掃描順序?qū)D像重構(gòu)性能的影響,提出了一種基于自適應(yīng)采樣及平滑投影的分塊壓縮感知方法。
對(duì)傳統(tǒng)塊壓縮感知算法,在對(duì)原始圖像信號(hào)進(jìn)行采樣時(shí),各圖像塊往往采用固定的采樣率。這種不考慮圖像內(nèi)容的采樣方式,限制了壓縮感知算法性能的提升。本文提出了一種改進(jìn)的多尺度塊及平滑投影壓縮感知算法。首先,通過(guò)分析圖像上下文特征,同時(shí)考慮掃描順序?qū)D像重構(gòu)性能的影響,設(shè)計(jì)了一種面向分塊的自適應(yīng)掃描和采樣方法。該方法充分利用了子帶中各塊對(duì)圖像重構(gòu)的不同貢獻(xiàn),基于塊內(nèi)容進(jìn)行子帶自適應(yīng)采樣率計(jì)算。然后,采用基于迭代投影的壓縮感知重建算法進(jìn)行圖像重構(gòu)。實(shí)驗(yàn)結(jié)果表明,本文方法能夠有效提升整體重構(gòu)圖像質(zhì)量,且重構(gòu)速度更快。改進(jìn)的多尺度塊及平滑投影的壓縮感知算法整體框架如圖1所示。
圖1 本文算法整體框架Fig.1 The overall flow chart of the proposed method
分塊壓縮感知(block-based CS,BCS)先將目標(biāo)圖像信號(hào)變換到小波域,然后分割成大小相同但不重疊的塊。每個(gè)圖像塊大小為B×B,采用相同的觀測(cè)矩陣ΦB分別對(duì)每個(gè)塊進(jìn)行觀測(cè)。假設(shè)xi是第i塊的原始輸入圖像,則其輸出分塊可表示為:
yi=ΦBxi
(1)
式中:ΦB是矩陣為MB×B2的觀測(cè)矩陣,ΦB與圖像塊不相關(guān)。xi是具有B2個(gè)樣本的列矢量。在BCS中,整個(gè)測(cè)量矩陣Φ變?yōu)閴K對(duì)角結(jié)構(gòu),可表示為:
(2)
對(duì)BCS來(lái)講,其塊采樣率為R=MB/B2。基于BCS的算法對(duì)圖像進(jìn)行采樣時(shí),只需存儲(chǔ)大小為MB×B2的觀測(cè)矩陣對(duì)每個(gè)圖像塊進(jìn)行觀測(cè)即可,降低了計(jì)算成本和存儲(chǔ)要求。然而,這種方法對(duì)每個(gè)圖像塊采用相同的采樣率,這較大地限制了重構(gòu)圖像的質(zhì)量。事實(shí)上,由于各高頻子帶反映的圖像信息不同,且子帶間的信息量可能相差很多,不同的塊采樣順序和采樣率會(huì)導(dǎo)致重構(gòu)圖像質(zhì)量相差很多,故本文采用了一種基于自適應(yīng)采樣順序和采樣率的方法。
設(shè)原始圖像為X,具體步驟如下:
1)用A表示變換矩陣,經(jīng)L級(jí)小波變換后,變換圖像為:
Y=[(Y)(1)(Y)(2)… (Y)k)]
(3)
式中k表示小波子帶總數(shù)。
2)對(duì)每個(gè)子帶(Y)(i),(i=1,2,…,k),其高頻子帶的能量為:
(4)
式中:c(m,n)表示子帶中(m,n)位置處的系數(shù);P和Q分別表示子帶的行和列。
3)將高頻子帶按能量Ei降序的順序,確定子帶間的掃描順序。即:
(5)
式中permu表示子帶順序的重排。
4)設(shè)子帶(Y)(i)的能量為Ei,子帶的基礎(chǔ)采樣率為Ri,其內(nèi)部被分割為N個(gè)塊,塊大小為B×B。對(duì)每一個(gè)塊Bl,其塊采樣率為:
(6)
式中:el是第l個(gè)塊的能量;rl表示計(jì)算出的該塊的采樣率。
可以使用最小線性均方誤差準(zhǔn)則(MMSE)估計(jì)出較好的初始圖像,以此可以加速重構(gòu)過(guò)程。在MMSE中,圖像塊的初始解計(jì)算公式為:
(7)
式中ρ的取值為0.9~1。通過(guò)仿真得知,只有當(dāng)ρ取值為0.95,分塊尺寸B取值為32時(shí),圖像重建效果最佳。
原始的Landweber算法是一種簡(jiǎn)單的線性恢復(fù)方法,該算法適用于簡(jiǎn)單的一維信號(hào)重建,而對(duì)于圖像信號(hào)卻不是很適用。當(dāng)圖像信號(hào)的亮度值趨近于0時(shí),若采用Landweber算法進(jìn)行迭代,則在恢復(fù)過(guò)程中可能會(huì)出現(xiàn)亮度值為負(fù)的情況[15]。另外,原始的Landweber算法收斂速度比較慢,這增加了重構(gòu)時(shí)間,并且很難選擇到對(duì)應(yīng)該算法的一個(gè)合適的松馳參數(shù)。
本文采用了一種基于迭代投影的CS重建算法,該算法將投影Landweber算法應(yīng)用到CS中[12]。實(shí)現(xiàn)過(guò)程主要包含2步:先進(jìn)行初始化x[0]=ΦTy,然后再進(jìn)行n+1次迭代過(guò)程,從x[n]產(chǎn)生近似圖像x[n+1]。具體過(guò)程為:
傳統(tǒng)的BCS-SPL算法雖然改善了重構(gòu)圖像的塊效應(yīng),但是在平滑塊效應(yīng)和噪聲的同時(shí),也把圖像信號(hào)中存在的一些邊緣和紋理平滑了,這使得圖像的邊緣和紋理信息變得模糊。本研究采用了一種基于迭代投影的CS重建算法,對(duì)每一圖像塊分別進(jìn)行投影,改善了重構(gòu)圖像信號(hào)中存在的邊緣模糊的問(wèn)題。
本文優(yōu)化的多尺度塊及平滑投影壓縮感知算法重構(gòu)圖像的過(guò)程,主要根據(jù)各子塊及對(duì)應(yīng)的采樣率rl,求出各層子塊中各塊的測(cè)量向量和測(cè)量矩陣,在進(jìn)行平滑投影Landweber重建算法進(jìn)行圖像重構(gòu)的過(guò)程中,先通過(guò)測(cè)量向量和測(cè)量矩陣求出小波域圖像,然后進(jìn)行逆變換,并采取維納濾波去除塊效應(yīng)。在此期間,平滑投影和濾波操作持續(xù)交替的進(jìn)行迭代,直到恢復(fù)圖像。
為了驗(yàn)證本文算法的有效性,這里將本文算法與BCS-SPL、基于梯度投影的稀疏重建(gradient projection for sparse reconstruction, GPSR)[17]、TV、MH-BCS-SPL 4種算法進(jìn)行比較。實(shí)驗(yàn)選取了不同場(chǎng)景的6幅圖像作為測(cè)試圖像,包括人物、物體以及自然景象。圖像具有不同的復(fù)雜度,其中,Lena、pepper相對(duì)平滑,goldhill、Barbara、mandrill具有復(fù)雜的紋理,SanDiego是遙感圖像,其反映的是城市地貌,包含了大量的紋理細(xì)節(jié)。每幅圖像的大小均為512×512,測(cè)試圖像如圖2所示。
圖2 測(cè)試圖像集Fig.2 The test image set in this paper
實(shí)驗(yàn)分塊大小均采用8×8。在采樣率為0.1~0.5時(shí),對(duì)lena圖像分別采用上述5種算法進(jìn)行重構(gòu),并對(duì)重構(gòu)圖像的峰值信噪比(peak signal to noise ratio, PSNR)進(jìn)行比較,結(jié)果如圖3所示。實(shí)驗(yàn)根據(jù)基礎(chǔ)采樣率計(jì)算得到的各塊采樣率,保留到小數(shù)點(diǎn)后5位。由圖3可見(jiàn),相比于其他4種方法,本文方法在圖像的重構(gòu)質(zhì)量上具有較大的優(yōu)勢(shì)。對(duì)于其他5幅測(cè)試圖像,其重構(gòu)圖像對(duì)應(yīng)的PSNR結(jié)果,分別見(jiàn)表1~表5。
為了進(jìn)一步驗(yàn)證本文算法,在采樣率為0.3時(shí),對(duì)這5種算法的平均重構(gòu)時(shí)間進(jìn)行了比較。實(shí)驗(yàn)中計(jì)算機(jī)硬件配置為Intel i5-3317U處理器,1.7 GHz,4 G內(nèi)存,Windows 7系統(tǒng)。編程語(yǔ)言為Matlab。實(shí)驗(yàn)結(jié)果見(jiàn)表6。
由圖3以及表1~表6的結(jié)果可知,在0.1~0.5的采樣率下,本文提出的多尺度塊及平滑投影壓縮感知算法,總體上比其他5種算法得到的圖像重構(gòu)質(zhì)量更高。
圖3 采用5種方法對(duì)Lena圖像的重構(gòu)結(jié)果比較Fig.3 The comparisons of reconstructed images obtained by five methods for Lena
表1 peppers圖像上各項(xiàng)算法PSNR結(jié)果對(duì)比Table 1 The PSNR comparison of different methods on pepper dB
表2 goldhill圖像上各項(xiàng)算法PSNR結(jié)果對(duì)比Table 2 The PSNR comparison of different methods on goldhill dB
表3 Barbara圖像上各項(xiàng)算法PSNR結(jié)果對(duì)比Table 3 The PSNR comparison of different methods on Barbara dB
表4 Mandrill圖像上各項(xiàng)算法PSNR結(jié)果對(duì)比Table 4 The PSNR comparison of different methods on Mandrill dB
表5 SanDiego圖像上各項(xiàng)算法PSNR結(jié)果對(duì)比Table 5 The PSNR comparison of different methods on SanDiego dB
表6 6種算法重構(gòu)時(shí)間比較Table 6 Comparison of reconstruction time of six algorithms
相比于常見(jiàn)的BCS-SPL算法,采用本文算法得到的重構(gòu)圖像,其PSNR值要提高1~3 dB,證明了本文算法的有效性。從計(jì)算復(fù)雜度上看,本文算法是在MS-BCS-SPL算法上的改進(jìn)。相比于MS-BCS-SPL,本文算法增加了子帶間掃描順序的確定及子帶塊自適應(yīng)采樣率的計(jì)算。設(shè)圖像大小為M×N,小波分解層數(shù)為J,則乘法計(jì)算次數(shù)為CM=MN(1-1/22J),加法計(jì)算次數(shù)為CA=MN(1-1/22J)-3J-1,比較次數(shù)為CM=2J。其中,增加的乘法主要是平方運(yùn)算。平方運(yùn)算的實(shí)現(xiàn)并不復(fù)雜。由表5可見(jiàn),從重構(gòu)時(shí)間上看,本文算法所需時(shí)間比MS-BCS-SPL略長(zhǎng)。但相比于其他4種算法,本文算法所需的重構(gòu)時(shí)間還是短很多。
下面對(duì)一些紋理信息較多的圖像結(jié)果進(jìn)行分析。以Barbara圖像為例,由表1~6可見(jiàn),相對(duì)于BCS-SPL算法,本文算法無(wú)論是重構(gòu)圖像的PSNR值,還是重構(gòu)時(shí)間,均能得到更好的結(jié)果;相對(duì)于TV算法,本文算法的重構(gòu)質(zhì)量基本與TV算法重構(gòu)質(zhì)量持平,本文算法更明顯的優(yōu)點(diǎn)在于算法的重構(gòu)時(shí)間,對(duì)比TV算法,本文算法所需時(shí)間大大減少。在個(gè)別采樣率下,MH-BCS-SPL算法的圖像重構(gòu)質(zhì)量要優(yōu)于本文算法,但MH-BCS-SPL算法的缺點(diǎn)在于時(shí)間過(guò)長(zhǎng),本文算法在重構(gòu)時(shí)間上有較大優(yōu)勢(shì)。對(duì)于細(xì)節(jié)和紋理較多的圖像,本文算法重構(gòu)質(zhì)量有時(shí)優(yōu)勢(shì)不明顯。其原因在于:較少的平滑區(qū)域會(huì)導(dǎo)致信號(hào)更難稀疏,而一些計(jì)算復(fù)雜度較高的算法,如GPSR算法,其采用了凸優(yōu)化,這使得該算法利用L1范數(shù)求解優(yōu)化問(wèn)題時(shí),得到的局部最優(yōu)解為全局最優(yōu)解。這種重構(gòu)性能的提升是以大幅犧牲圖像重構(gòu)時(shí)間為代價(jià)的。盡管如此,在大多數(shù)情況下,本文方法的重構(gòu)質(zhì)量,依然優(yōu)于GPSR算法。對(duì)于SanDiego圖像,其細(xì)節(jié)信息也較多,但采用本文方法,在多個(gè)采樣率下,均能得到最佳的性能,進(jìn)一步證明了本文方法的有效性。與MS-BCS-SPL方法相比,本文算法采用了塊自適應(yīng)采樣率計(jì)算,在給定基礎(chǔ)采樣率下,能夠根據(jù)各塊對(duì)重構(gòu)的貢獻(xiàn)動(dòng)態(tài)分配采樣率,故能得到更好的重構(gòu)質(zhì)量。這種優(yōu)勢(shì)在低碼率的情況下更為明顯。這是由于低碼率下,對(duì)有限比特?cái)?shù)的不同分配方法,對(duì)整幅圖像重構(gòu)效果影響更大。
圖4給出了采樣率為0.1時(shí),分別采用本文算法和其他5種算法,得到的重構(gòu)圖像及殘差圖像的結(jié)果比較。可見(jiàn),與其他算法相比,本文算法的殘差相對(duì)小一些,尤其是在方框內(nèi)的區(qū)域。結(jié)合表6的結(jié)果可知,本文算法在重構(gòu)時(shí)間上具有較大的優(yōu)勢(shì),不同于一般的以犧牲重構(gòu)圖像質(zhì)量為代價(jià)換取重構(gòu)速度的算法,本文算法得到的總體重構(gòu)質(zhì)量依然較好,證明了本文算法的有效性。
圖4 不同算法的圖像重構(gòu)圖像及殘差圖像比較Fig.4 Comparison of the reconstructed images and the error images with different methods
1)本文提出的基于自適應(yīng)采樣及平滑投影的分塊壓縮感知方法,通過(guò)對(duì)圖像內(nèi)容的分析,同時(shí)考慮掃描順序?qū)χ貥?gòu)性能的影響,較好地解決了傳統(tǒng)壓縮感知方法由于固定碼率分配從而限制了稀疏表示性能的問(wèn)題。
2)本文提出的方法重構(gòu)速度很快,且能得到質(zhì)量較好的重構(gòu)圖像。
本文提出的算法僅是從稀疏效果的角度進(jìn)行設(shè)計(jì),并未考慮圖像的后續(xù)應(yīng)用。在一些應(yīng)用中,有時(shí)會(huì)對(duì)圖像稀疏提出特別要求,比如保留小目標(biāo)。在特定應(yīng)用背景下設(shè)計(jì)高效的壓縮感知算法,將作為下一步工作進(jìn)行探索研究。