徐 文,楊曉梅,徐秋怡,田巧玉,劉 凱
(1.四川大學(xué)錦江學(xué)院 電氣與電子信息工程學(xué)院,四川 眉山 620860; 2.四川大學(xué) 電氣工程學(xué)院,成都610207;3.中央民族大學(xué) 信息工程學(xué)院,北京100081)
大數(shù)據(jù)信息時(shí)代,超分辨率圖像重建技術(shù)通過軟件編程的方式來提高圖像的分辨率,在沒有替換原有的成像設(shè)備前提下,從包含不同細(xì)節(jié)的低分辨圖像中采集有用信息融合成一幅高分辨圖像。其技術(shù)主要的思想是用同一場(chǎng)景的圖像序列的時(shí)間分辨率來換取更高的一個(gè)空間分辨率[1]。通過超分辨重建的方法處理視頻圖像就是從多個(gè)低分辨率圖像中連續(xù)幀之間的相關(guān)聯(lián)系來得到原始圖像中高分辨圖像的相關(guān)信息,獲得更清晰、分辨率更高、內(nèi)容信息更加豐富的圖像視頻信息。超分辨率圖像和視頻重建在監(jiān)控設(shè)備、衛(wèi)星圖像和醫(yī)學(xué)影像等領(lǐng)域都有重要的應(yīng)用價(jià)值。
20世紀(jì)80年代,Tsai和 Huang[2]首先發(fā)現(xiàn)了基于序列或多幀圖像的超分辨率重建問題,他們通過實(shí)驗(yàn)分析且證明了從互相平移得到的圖像序列中能夠獲取到分辨率更高的靜態(tài)圖像,并且給出了在從時(shí)域轉(zhuǎn)換到頻域里解決問題的方法。近年來,壓縮感知增強(qiáng)技術(shù)和超分辨率圖像復(fù)原技術(shù)為圖像復(fù)原的研究注入了新的力量[3-9]。人工智能中深度學(xué)習(xí)的發(fā)展,突破了圖像的分割和分類的傳統(tǒng)技術(shù),特別是基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的單幅圖像重建(Super-Resolution CNN,SRCNN)[10]算法能夠快速重建高分辨率的圖像。但SRCNN算法對(duì)網(wǎng)絡(luò)參數(shù)敏感,要求訓(xùn)練參數(shù)稠密,減緩了訓(xùn)練速度,對(duì)細(xì)節(jié)恢復(fù)效果欠佳。VDSR(Accurate Image Super-Resolution Using Very Deep Convolutional Networks)[11]算法提出只針對(duì)殘差進(jìn)行訓(xùn)練,減輕了網(wǎng)絡(luò)的負(fù)擔(dān),又加速了學(xué)習(xí)速率。再之后的SRGAN(Super-Resolution GAN)[12]等算法將生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)用于SR問題,提升重建圖片的真實(shí)感。
從數(shù)學(xué)角度看,超分辨率重建是一個(gè)典型的病態(tài)不適應(yīng)問題[13]。 對(duì)于不適應(yīng)問題,正則化的求解方法是非常有效的。正則化的方法為保證求解過程的穩(wěn)定性,通過加入性質(zhì)不同的先驗(yàn)信息來約束重建過程,從而將超分辨率圖像重建由病態(tài)轉(zhuǎn)為良態(tài)問題。相對(duì)于深度學(xué)習(xí)圖像處理問題,基于三層神經(jīng)網(wǎng)絡(luò)SRCNN算法雖然通過使用較大的卷積核可以減少計(jì)算量,但卷積計(jì)算時(shí)大量丟失高頻信息,對(duì)于紋理的處理仍然出現(xiàn)過平滑,特征的提取不夠準(zhǔn)確,重建質(zhì)量受到影響。SRGAN算法能提升高頻圖像真實(shí)感,但仍存在放大細(xì)節(jié)部分的像素塊模糊[12]。 考慮到此類模型訓(xùn)練的數(shù)據(jù)量龐大與研究設(shè)備費(fèi)用高昂?jiǎn)栴},本文仍堅(jiān)持以傳統(tǒng)非深度學(xué)習(xí)的方法為研究重點(diǎn),探討正則項(xiàng)的選取對(duì)于圖像高頻紋理細(xì)節(jié)重建保持問題,分析超分辨率圖像重建的過平滑現(xiàn)象根源,改善圖像重建質(zhì)量。
本文提出基于傳統(tǒng)的全變分正則化(Total Variation,TV)模型引入了交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)[14]。 ADMM重建算法將有約束的問題轉(zhuǎn)化為無約束的問題,在求解模型中某一個(gè)變量的同時(shí)固定另一個(gè)變量,通過固定迭代的方式更新模型中的每一個(gè)變量達(dá)到求解目的。針對(duì)TV-ADMM重建效果中出現(xiàn)的問題,本文引入分?jǐn)?shù)階全變分(Fractional Order Total Variation,FOTV)正則項(xiàng)約束的模型,同樣使用ADMM算法進(jìn)行求解,改善超分辨率圖像重建效果。
ADMM算法是專門用于解決可分離凸規(guī)劃問題而被提出的一種方法,適用于各類優(yōu)化問題。ADMM算法一般解決的問題形式如下[14]:
minf(x)+g(z)
(1)
s.t.A(x)+B(z)=C。
(2)
式中:x∈n,z∈m,A∈p×n,B∈p×m,C∈p,p、m、n分別為空間的維度;f(x)和g(z)表示的是凸函數(shù);增廣拉格朗日(Lagrangian)函數(shù)用于求解凸優(yōu)化問題,
Lρ(x,z,λ)=f(x)+g(z)+λT(Ax+Bz-C)+
(3)
式中:λ為Lagrangian 乘子,ρ>0為懲罰參數(shù)。
ADMM算法的迭代步驟如下:
xk+1=arg minxLρ(x,zk,λk) ,
(4)
zk+1=arg minzLρ(xk+1,z,λk),
(5)
λk+1=λk+ρ(Axk+1+Bzk+1-C) 。
(6)
式中:ρ>0是懲罰參數(shù)。ADMM迭代算法包括x、z變量極小化和一個(gè)對(duì)偶變量的迭代。為方便計(jì)算,將ADMM算法迭代步驟等價(jià)為下列式子,定義參量
r=Ax+Bz-C,
(7)
計(jì)算得到
(8)
(9)
(10)
uk+1=uk-Axk+1+Bzk+1-C。
(11)
乘子法和ADMM乘子法類似,把x、z兩個(gè)變量一起求解,而ADMM是將目標(biāo)函數(shù)分離求解,和Gauss-Seidel方法迭代一步類似。和乘子法相似,只是用zk+1最小化式子:
(12)
其中用到了對(duì)偶式子
(13)
ADMM算法的有效性主要由選取的拉格朗日(Lagrange)乘子決定,可以從算法的收斂性分析中得出。
超分辨率圖像退化模型表示為[15]
Y=DHMu+n。
(14)
式中:u為高清圖像,Y為低分辨率圖像,D為下采樣因子,H為模糊因子,M為運(yùn)動(dòng)因子,n為隨機(jī)噪聲,μ為正則化參數(shù),本文中沒有移位變換所以M不考慮為1?;赥V全變分約束的正則化圖像重建模型描述為以下形式:
(15)
模型由保真項(xiàng)和正則項(xiàng)組成,其中正則項(xiàng)φ(u)=TV(u)為全變分[16]可以表示為圖像像素離散梯度之和,即離散梯度的l1范數(shù)形式:
(16)
(17)
(18)
超分辨率圖像重建問題(15)是病態(tài)的逆問題,ADMM算法通過引入變量d替換原模型中的不可微項(xiàng)φ(u),可以得到與其等價(jià)的約束優(yōu)化問題:
(19)
對(duì)于約束優(yōu)化問題,其增廣拉格朗日乘子函數(shù)
(20)
式中:<>表示內(nèi)積。從而將式(20)轉(zhuǎn)換為兩個(gè)子問題m、n。
(1)子問題m:固定u求d
(21)
子問題m可以通過收縮閾值方法求解:
(22)
(23)
(2)子問題n:固定d求u
(24)
問題(24)等價(jià)于
(25)
本文中φ(u)=u為正則項(xiàng),其中Y是輸入的低分辨圖像。用快速傅里葉變換處理公式(25),得
μHTDT(DHu-T)+λT+βTu-βTd=0,
(26)
(27)
更新
λk+1=λ-γβ(dk+1-u) ,
(28)
Yk+1=Yk+(Y-DHuk+1) 。
(29)
L曲線是以(‖Axμ-b‖2,‖xμ‖2)為坐標(biāo)所構(gòu)成的一條單調(diào)遞減曲線,該項(xiàng)對(duì)應(yīng)于本文模型(15)中的‖Y-DHu‖,這些點(diǎn)與正則化參數(shù)呈一一對(duì)應(yīng)的關(guān)系。圖1為Tikhonov正則化的L曲線[17],其中圓圈表示TGSVD正則化的L曲線。
圖1 Tikhonov正則化的L曲線
‖Axμ-b‖2為殘差項(xiàng),‖Lxμ‖2為正則化解,對(duì)于L曲線法來說,作為基本問題需要同時(shí)考慮到正則化解和殘差項(xiàng)。圖1中L曲線水平部分與垂直部分的相交處作為正則化最優(yōu)參數(shù)解。由于正則化參數(shù)過大會(huì)引起正則化誤差主導(dǎo)水平位置對(duì)應(yīng)的正則化解,過小則會(huì)使垂直部分對(duì)應(yīng)的正則化解主要受到b中的誤差影響,而在相交處,均衡了都較小的一個(gè),因此這個(gè)相交點(diǎn)就對(duì)應(yīng)了一個(gè)最優(yōu)的正則化參數(shù)。所以采用L曲線法,實(shí)際上就是為了求出曲線相交處的位置。
自適應(yīng)的離散L曲線算法的關(guān)鍵之處就是適量的移除曲線上的點(diǎn),來盡可能快速地找到該曲線的相交處。自適應(yīng)算法的流程如下:
Step1 初始化處理,將所有殘差項(xiàng)和正則化解為0的點(diǎn)進(jìn)行移除。
Step2 選出所有的轉(zhuǎn)折點(diǎn)。
Step3 選出真正的相交處。
本文基于L曲線曲率最大的規(guī)則即曲線是二次可微的,求解最大曲率點(diǎn)K(μ):
(30)
式中:ρ=‖Axu-b‖2,η=‖xμ‖2,ρ′表示的是對(duì)μ求導(dǎo)。但如果采用的正則化方法求得的正則化參數(shù)是非連續(xù)變動(dòng)的,則該曲線不可微,所以不能直接求出曲率,需要利用一條曲線去擬合這些離散點(diǎn)去選取正則化參數(shù),接著再尋找相交處的位置,然后從離散點(diǎn)中選擇離擬合曲線相交處最近的點(diǎn),這個(gè)點(diǎn)就是最佳正則化參數(shù)。
分?jǐn)?shù)階理論中出現(xiàn)了不同定義的分?jǐn)?shù)階函數(shù),利用其中的Grümwald-Letnikov(G-L)定義構(gòu)造分?jǐn)?shù)階梯度算子。一般意義下的二次項(xiàng)系數(shù)定義為
(31)
式中:
(32)
(33)
(34)
(35)
(36)
分?jǐn)?shù)階可以表示為
(37)