熊承義,李治邦,高志榮,金鑫,秦鵬飛
(1 中南民族大學(xué) 電子信息工程學(xué)院,智能無(wú)線通信湖北省重點(diǎn)實(shí)驗(yàn)室,武漢430074;2 中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢 430074)
2006年,DONOHO、CANDES和陶哲軒等人首次提出了壓縮感知[1](Compressive Sensing,CS)理論,CS指出:假如信號(hào)本身或在某個(gè)變換域上是稀疏的,則可以通過(guò)觀測(cè)矩陣將高維數(shù)的原始信號(hào)投影到一個(gè)低維空間上,并通過(guò)求解一個(gè)優(yōu)化問(wèn)題將原始信號(hào)以高概率重構(gòu)出來(lái).CS理論大大減少了信號(hào)的存儲(chǔ)空間,降低了傳輸代價(jià),在單像素成像[2]、醫(yī)學(xué)成像[3]、無(wú)線通信[4]等領(lǐng)域得到了廣泛的應(yīng)用.
壓縮感知重構(gòu)是壓縮感知理論中關(guān)鍵的問(wèn)題之一,其數(shù)學(xué)模型通常可以轉(zhuǎn)化為凸優(yōu)化問(wèn)題[5],目前已經(jīng)提出了許多傳統(tǒng)的CS重構(gòu)方法,比如交替方向乘子法[6](ADMM)、迭代閾值收縮法[7](ISTA)、快速迭代閾值收縮法[7](FISTA)和近似消息傳遞法[8](AMP)等.但是現(xiàn)有的傳統(tǒng)優(yōu)化算法主要不足之處是需要手動(dòng)設(shè)置相關(guān)參數(shù)而且重構(gòu)時(shí)間太長(zhǎng).
近年來(lái),隨著深度學(xué)習(xí)的發(fā)展,其在計(jì)算機(jī)視覺(jué)和圖像處理方面受到廣泛關(guān)注,并在圖像去噪[9]、圖像超分辨率重建[10]、圖像分割[11]等領(lǐng)域取得了較好的效果.得益于其可以大大降低重構(gòu)時(shí)間的優(yōu)點(diǎn),許多基于深度學(xué)習(xí)的圖像壓縮感知重構(gòu)算法也陸續(xù)被提出.比如KULKARNI等人提出了ReconNet[12],在一個(gè)全連接層后面堆疊兩個(gè)SRCNN模型[10],實(shí)現(xiàn)了非迭代圖像壓縮感知重構(gòu).YAO等人在ReconNet的基礎(chǔ)上引入殘差網(wǎng)絡(luò)提出了DR2-Net[13],網(wǎng)絡(luò)由全連接層和四個(gè)殘差學(xué)習(xí)塊組成,取得了比ReconNet更好的重構(gòu)效果.YANG等人提出ADMM-Net[14],將ADMM算法映射到深度神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn),網(wǎng)絡(luò)中參數(shù)和收縮函數(shù)等均可通過(guò)端對(duì)端的訓(xùn)練學(xué)習(xí).ZHANG提出了ISTA-Net[15],受ISTA算法的啟發(fā),將l1范數(shù)約束下的CS重構(gòu)模型映射到深度網(wǎng)絡(luò)中,采用卷積層和ReLU實(shí)現(xiàn)非線性變換,同時(shí)所有的參數(shù)都可以通過(guò)端到端的學(xué)習(xí)得到,并且模型可解釋性強(qiáng).ISTA-Net雖然在重構(gòu)效果和可解釋性上都有一定提升,但是其模型設(shè)計(jì)相對(duì)復(fù)雜,許多參數(shù)仍需手動(dòng)設(shè)計(jì).之后SHI等人提出了CSNet[16],設(shè)計(jì)了卷積采樣代替固定采樣矩陣,不僅降低了模型設(shè)計(jì)的復(fù)雜度,而且一定程度上提高了圖像的采樣效率,使圖像重構(gòu)質(zhì)量得到了進(jìn)一步提升.然而,CSNet缺乏可解釋性,并且在圖像的深度去噪階段和上述幾種算法一樣都沒(méi)有充分利用圖像的結(jié)構(gòu)和紋理特性.
為了進(jìn)一步改善圖像壓縮感知恢復(fù)性能,本文在ISTA-Net框架基礎(chǔ)上,結(jié)合圖像的結(jié)構(gòu)和紋理特性,提出了一種基于小波變換的圖像壓縮感知重構(gòu)網(wǎng)絡(luò).首先,網(wǎng)絡(luò)引入了自適應(yīng)采樣,以提高圖像的采樣效率;其次,設(shè)計(jì)了一種梯度更新單元,對(duì)初始重構(gòu)圖像進(jìn)行更新操作;然后對(duì)更新后的重構(gòu)圖像進(jìn)行一階小波變換,考慮到圖像噪聲主要分布在高頻部分,因此保留其低頻分量不變,只對(duì)三個(gè)高頻分量進(jìn)行去噪;最后通過(guò)小波逆變換得到去噪圖像.另外,考慮到網(wǎng)絡(luò)深度與重構(gòu)圖像質(zhì)量之間的關(guān)系,本文將梯度更新單元和小波去噪單元進(jìn)行了多次交替級(jí)聯(lián).大量實(shí)驗(yàn)結(jié)果比較驗(yàn)證了所提方法的有效性.
圖像壓縮感知重構(gòu)主要是對(duì)圖像進(jìn)行隨機(jī)投影采樣,并利用圖像在某種變換域的稀疏性作為先驗(yàn)知識(shí),從少量測(cè)量數(shù)據(jù)中重構(gòu)出原始圖像.對(duì)于信號(hào)x∈Rn,如果它本身或者在變換Ψ對(duì)應(yīng)的變換域上是稀疏的,則可以利用隨機(jī)觀測(cè)矩陣Φ將其投影到低維空間上,得到降維采樣的測(cè)量值:
y=Φx,y∈RN,
(1)
當(dāng)M?N時(shí),上式(1)是一個(gè)病態(tài)問(wèn)題,由測(cè)量值重構(gòu)原始信號(hào)會(huì)得到無(wú)窮多解.然而,壓縮感知理論證明了,當(dāng)觀測(cè)矩陣Φ或感知測(cè)量矩陣A=ΦΨ滿(mǎn)足約束等距時(shí),信號(hào)x可以通過(guò)求解式(2)得到:
(2)
其中,‖*‖0表示l0范數(shù),由于求解l0范數(shù)最小化為組合優(yōu)化問(wèn)題,因此式(2)是一個(gè)典型的NP-Hard問(wèn)題,通常將l0范數(shù)松弛為l1范數(shù)對(duì)應(yīng)的凸優(yōu)化問(wèn)題即下式(3):
(3)
這是一個(gè)約束優(yōu)化問(wèn)題,在選擇適當(dāng)?shù)恼齽t化參數(shù)λ時(shí),上式可進(jìn)一步等價(jià)為一個(gè)無(wú)約束優(yōu)化的求解問(wèn)題:
(4)
對(duì)于上式(4)的求解,目前已經(jīng)提出了多種方法,如AMP、ADMM、ISTA以及FISTA等.本文主要對(duì)迭代收縮閾值算法(ISTA)進(jìn)行討論.基于模型的ISTA算法將式(4)轉(zhuǎn)化為下面兩式的交替迭代實(shí)現(xiàn)求解:
r(k)=x(k-1)-ρΦT(Φx(k-1)-y),
(5a)
(5b)
上式中的k和ρ分別代表迭代次數(shù)和步長(zhǎng),變量r(k)代表第k次迭代運(yùn)算得到的圖像x的估計(jì)值,x-r(k)代表第k次迭代生成的誤差圖像.第一步迭代即式(5a)比較容易計(jì)算,第二步迭代(5b)的求解相對(duì)困難,然而觀察發(fā)現(xiàn)當(dāng)φ(x)=‖Ψx‖1時(shí),式(5b)其實(shí)是一個(gè)近似映射proxλφ(r(k)),定義如下:
(6)
當(dāng)φ(x)為l1范數(shù)時(shí),上式(6)可以轉(zhuǎn)換為軟閾值函數(shù)實(shí)現(xiàn)求解.例如,取φ(x)=‖x‖1即Ψ=I(I為單位矩陣)時(shí),x(k)=soft(r(k),λ);若取φ(x)=‖Wx‖1,即Ψ=W(W為小波變換矩陣)時(shí),x(k)=WTsoft(Wr(k),λ).
傳統(tǒng)ISTA算法可以方便的求解壓縮感知重構(gòu)問(wèn)題,但是算法涉及到的所有參數(shù)均需要手動(dòng)設(shè)計(jì),而且需要多次迭代才能取得較滿(mǎn)意的效果,重構(gòu)時(shí)間太長(zhǎng)無(wú)法滿(mǎn)足實(shí)際應(yīng)用的實(shí)時(shí)性.
為解決傳統(tǒng)ISTA算法存在的上述問(wèn)題,ZHANG等人提出了ISTA-Net[15],其整體網(wǎng)絡(luò)框架如圖1所示,其中,x為原始圖像對(duì)應(yīng)的列向量,y為采樣值,x(0)為初始重構(gòu)圖像對(duì)應(yīng)的列向量.
r(k)=x(k-1)-ρΦT(Φx(k-1)-y),
(7a)
(7b)
ISTA-Net與傳統(tǒng)方法相比,不僅重構(gòu)速度得到了大幅提升而且算法中的參數(shù)可以自學(xué)習(xí);與完全基于神經(jīng)網(wǎng)絡(luò)的重構(gòu)算法(如ReconNet和DR2-Net等)相比,ISTA-Net則具有更好的可解釋性.然而,以ISTA-Net為代表的神經(jīng)網(wǎng)絡(luò)重構(gòu)算法在對(duì)初始重構(gòu)圖像去噪階段沒(méi)有充分考慮圖像的結(jié)構(gòu)和紋理特性.
圖像噪聲來(lái)源主要可分為兩個(gè)方面:圖像獲取過(guò)程中和圖像傳輸過(guò)程中.常見(jiàn)噪聲包括加性噪聲和乘性噪聲.假定一個(gè)噪聲模型,其可以表示為:
Yij=Xijδ+N,
(8)
其中X,Y,δ和N分別表示原始圖像,含噪圖像,乘性噪聲和加性噪聲.i和j分別為像素的二維空間位置坐標(biāo).圖像去噪的任務(wù)就是去除噪聲,盡量找出X的估計(jì)值.小波變換能對(duì)時(shí)間和頻率信號(hào)進(jìn)行局部化處理,非常適合對(duì)圖像進(jìn)行去噪[17,18].
含噪圖像經(jīng)過(guò)小波變換后得到高頻分量和低頻分量,高頻分量中包含絕大多數(shù)噪聲信號(hào),低頻分量中大部分為有效信號(hào),并且有效信號(hào)的小波分量模值大于噪聲信號(hào).因此可以選取合適的閾值從高頻分量中篩選出噪聲信號(hào)并置零,再利用小波逆變換恢復(fù)出干凈圖像,得到去噪后的圖像.為了更好的恢復(fù)出圖像的結(jié)構(gòu)和紋理信息,本文引入小波變換并將其嵌入到深度重構(gòu)網(wǎng)絡(luò)中.
傳統(tǒng)優(yōu)化模型的重構(gòu)算法時(shí)間復(fù)雜度太高;基于神經(jīng)網(wǎng)絡(luò)的ISTA-Net雖然大大降低了時(shí)間復(fù)雜度,但是仍存在模型參數(shù)設(shè)計(jì)復(fù)雜、對(duì)圖像的結(jié)構(gòu)和紋理特性利用不夠充分等不足.針對(duì)上述問(wèn)題,本文在ISTA-Net框架基礎(chǔ)上,結(jié)合圖像的結(jié)構(gòu)和紋理特性,提出了一種基于小波變換的圖像壓縮感知重構(gòu)網(wǎng)絡(luò).網(wǎng)絡(luò)框架如下圖2所示,主要包括三部分:卷積采樣層、初始重構(gòu)層和深度重構(gòu)層.
圖2 本文提出方法的網(wǎng)絡(luò)總框架
卷積采樣層采用學(xué)習(xí)采樣代替?zhèn)鹘y(tǒng)的固定基采樣,通過(guò)大小為32×32的卷積核convl對(duì)輸入圖像進(jìn)行卷積,步長(zhǎng)取32,得到的采樣輸出為y.與傳統(tǒng)方法使用固定采樣矩陣進(jìn)行采樣相比,學(xué)習(xí)采樣的卷積核conv1可以端對(duì)端學(xué)習(xí),不僅可以避免手動(dòng)設(shè)計(jì)采樣矩陣而且可以提高采樣效率.初始重構(gòu)層輸入為采樣值y,y經(jīng)過(guò)一個(gè)卷積核為conv2的卷積層和重組(Reshape)拼接(Concat)操作后得到初始重構(gòu)圖像x(0).深度重構(gòu)層包含N個(gè)級(jí)聯(lián)單元,第一個(gè)級(jí)聯(lián)單元的輸入為初始重構(gòu)圖像x(0),之后每一個(gè)級(jí)聯(lián)單元的輸出是后一個(gè)級(jí)聯(lián)單元的輸入.第i個(gè)級(jí)聯(lián)單元Phasei(i=1,2,…,N)對(duì)應(yīng)第i次迭代操作,每個(gè)Phase又包括梯度更新單元(Gradient Update Unit)和小波去噪單元(DWT Denoising Unit),梯度更新單元對(duì)應(yīng)r(0)的更新,小波去噪單元對(duì)應(yīng)r(k)的更新.
針對(duì)上述問(wèn)題,SHI等人提出了CSNet[16],使用卷積采樣代替?zhèn)鹘y(tǒng)固定基采樣,本文采樣和初始重構(gòu)部分采用CSNet中的方法,具體實(shí)現(xiàn)如下圖3所示.
圖3 卷積采樣和初始重構(gòu)
深度重構(gòu)網(wǎng)絡(luò)由多個(gè)級(jí)聯(lián)單元組成,每個(gè)級(jí)聯(lián)單元又包括一個(gè)梯度更新單元和小波去噪單元.
2.2.1 梯度更新單元
梯度更新單元其作用是將ISTA算法中第一步交替迭代過(guò)程映射到神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn),所有參數(shù)均可自學(xué)習(xí),避免了手動(dòng)調(diào)整參數(shù).關(guān)于ISTA算法中第一步交替迭代過(guò)程,即r(k)的迭代求解過(guò)程,傳統(tǒng)ISTA算法和ISTA-Net均是通過(guò)式(9)實(shí)現(xiàn),但是傳統(tǒng)ISTA算法需要手動(dòng)設(shè)計(jì)采樣矩陣Φ,而且需要手動(dòng)調(diào)整步長(zhǎng)ρ;ISTA-Net雖然可以通過(guò)網(wǎng)絡(luò)自學(xué)習(xí)步長(zhǎng)ρ,但仍需要手動(dòng)設(shè)計(jì)采樣矩陣Φ.
r(k)=r(k-1)-ρΦT(Φr(k-1)-y),
(9)
針對(duì)此問(wèn)題,本文設(shè)計(jì)一種梯度更新單元,把式(9)的求解過(guò)程映射到神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn),如下圖4所示.
圖4 梯度更新單元
梯度更新單元的輸出為r(k),輸入為前一個(gè)級(jí)聯(lián)單元的輸出r(k-1),所以梯度更新單元可表示為:
(10)
2.2.2 小波去噪單元
文獻(xiàn)[15]提出了換向流反應(yīng)器一維數(shù)學(xué)模型的一種理論解析方法與2種不同的數(shù)值計(jì)算方法,并將這3種不同求解方法與試驗(yàn)數(shù)據(jù)進(jìn)行了對(duì)比,認(rèn)為解析法在處理實(shí)際問(wèn)題過(guò)程中更容易,更具有優(yōu)勢(shì)。
與ISTA-Net不同,本文采用小波去噪代替其原來(lái)的軟閾值去噪,以期獲得圖像更好的紋理信息.小波去噪單元如下圖5所示:
圖5 小波去噪單元
小波去噪單元的輸入r(k-1)為梯度更新單元的輸出圖像,r(k-1)首先經(jīng)過(guò)一級(jí)小波變換分解為一個(gè)低頻和三個(gè)高頻分量,由于圖像噪聲主要分布在高頻部分,因此保留其低頻分量不變,分別對(duì)三個(gè)高頻分量進(jìn)行去噪.具體操作為將高頻分量依次通過(guò)第一個(gè)卷積層、非線性變換層(ReLU)和第二個(gè)卷積層,其中第一個(gè)卷積層包含32個(gè)3×2×1的卷積核,第二個(gè)卷積層包含1個(gè)3×3×32的卷積核.最后將三個(gè)經(jīng)過(guò)去噪處理的高頻分量和未經(jīng)處理的低頻分量通過(guò)小波逆變換得到輸出圖像x(k).
本文使用和ISTA-Net相同的訓(xùn)練集,共91張圖片.不同的顏色空間對(duì)圖像分類(lèi)、圖像分割有一定的影響,但對(duì)圖像重構(gòu)方面影響較小.為公平起見(jiàn),本文采用與ISTA-Net相同的顏色空間,將RGB圖像空間變換到Y(jié)CrCb圖像空間,選取亮度通道,對(duì)圖像進(jìn)行取塊操作,塊大小為32×32,并對(duì)圖像進(jìn)行翻轉(zhuǎn)旋轉(zhuǎn)等操作最終得到88912個(gè)訓(xùn)練圖像塊.本文使用了7種采樣率對(duì)網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,分別是0.01、0.04、0.1、0.25、0.3、0.4、0.5,并在Set11[12]數(shù)據(jù)集上進(jìn)行了測(cè)試.
本文使用TensorFlow深度學(xué)習(xí)開(kāi)源工具訓(xùn)練網(wǎng)絡(luò),所有實(shí)驗(yàn)均在Inter(R) Xeon(R) Gold 5118 CPU,主頻2.3GHz內(nèi)存128G,顯卡GTX 1080Ti平臺(tái)下完成.本文選擇批次大小為64,共迭代100輪,前2輪迭代選擇較大的學(xué)習(xí)率0.001,之后迭代的學(xué)習(xí)率全部設(shè)置為0.0001.所有卷積層的權(quán)重均使用Xavier方法進(jìn)行初始化,偏置初始化為0.
(11)
(12)
所以,總的損失函數(shù):
L=L(1)+λL(2).
(13)
其中Nb為訓(xùn)練集的圖像總數(shù),N為深度重構(gòu)網(wǎng)絡(luò)的級(jí)聯(lián)數(shù),本文中N=9,NB為訓(xùn)練集中圖像塊的大小,本文中NB=32,λ為正則化參數(shù),本文中取λ=0.01.
本文與已有的5種算法進(jìn)行比較,分別是ReconNet[12]、DR2-Net[13]、ADMM-Net[14]、ISTA-Net[15]和ISTA-Net+[15].首先為了驗(yàn)證深度重構(gòu)網(wǎng)絡(luò)中的級(jí)聯(lián)單元數(shù)對(duì)重構(gòu)質(zhì)量的影響,本文在Set11數(shù)據(jù)集、采樣率為0.25條件下和ISTA-Net+做了相應(yīng)對(duì)比實(shí)驗(yàn),如下圖6所示.可以發(fā)現(xiàn),隨著N的增加,兩種方法的重構(gòu)效果均有所提升,并且當(dāng)N分別為5、7、9、11、13、15時(shí),本文重構(gòu)效果均優(yōu)于ISTA-Net+.當(dāng)N=9時(shí)本文方法已經(jīng)取得了良好的重構(gòu)效果,N大于9時(shí),重構(gòu)質(zhì)量的提升不再明顯,因此本文后面所有實(shí)驗(yàn)均取N=9.
圖6 不同級(jí)聯(lián)單元數(shù)時(shí)本文算法和ISTA-Net+的平均PSNR(dB)
為了比較不同重構(gòu)算法的重構(gòu)質(zhì)量,上表1給出了6種不同重構(gòu)算法在Set11數(shù)據(jù)集上不同采樣率下的平均PSNR.由表1可看出,本文算法的重構(gòu)圖像質(zhì)量在表1的六種算法中表現(xiàn)最佳,特別是在較低采樣率下.比如,在采樣率為0.01的情況下,本文算法的平均PSNR比ISTA-Net+高2.77 dB,比DR2-Net高2.67 dB.
表1 不同重構(gòu)算法在Set11數(shù)據(jù)集上的平均PSNR
為了比較不同重構(gòu)算法的主觀視覺(jué)效果,本文給出了0.25采樣率下三幅圖像的重構(gòu)圖像局部2.5倍放大圖,如圖7-9所示.觀察重構(gòu)結(jié)果可知,本文算法重構(gòu)圖像的結(jié)構(gòu)紋理更加清晰.
圖7 0.25采樣率下不同算法對(duì)lena256重構(gòu)結(jié)果
圖8 0.25采樣率下不同算法對(duì)Monarch重構(gòu)結(jié)果
圖9 0.25采樣率下不同算法對(duì)Boats重構(gòu)結(jié)果
針對(duì)圖像壓縮感知重構(gòu)問(wèn)題,提出了一種基于小波變換的圖像壓縮感知重構(gòu)網(wǎng)絡(luò).不僅引入了自適應(yīng)采樣,以提高圖像的采樣效率,而且設(shè)計(jì)了一種梯度更新單元,對(duì)初始重構(gòu)圖像進(jìn)行更新操作.并對(duì)更新后的重構(gòu)圖像進(jìn)行一階小波變換,保留其低頻分量不變,對(duì)三個(gè)高頻分量進(jìn)行去噪,最后通過(guò)小波逆變換得到去噪圖像.實(shí)驗(yàn)結(jié)果表明,本算法的圖像質(zhì)量?jī)?yōu)于幾種對(duì)比算法,驗(yàn)證了方法的有效性.