孫毅堂,宋慧慧,張開(kāi)華,嚴(yán) 飛
圖像超分辨率重建是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)經(jīng)典的問(wèn)題,其旨在從給定的低分辨率(Low Resolution,LR)圖像中推斷出具有關(guān)鍵信息的高分辨率(High Resolution,HR)圖像。其中,人臉超分辨率重建是其重要的分支之一。人臉超分辨率重建在人臉識(shí)別、身份認(rèn)證、智能監(jiān)控等諸多領(lǐng)域有著重要的應(yīng)用價(jià)值。
當(dāng)前超分辨率重建的方法[1]主要有:1)將超分看成是圖像處理中的不適定問(wèn)題,通過(guò)引入先驗(yàn)信息解決該問(wèn)題。2)采用機(jī)器學(xué)習(xí)的方法來(lái)學(xué)習(xí)到低分辨率和高分辨率圖像之間的映射關(guān)系,從而實(shí)現(xiàn)圖像超分辨率重建。目前,基于學(xué)習(xí)的算法可以獲得比其他超分辨率重建技術(shù)更好的視覺(jué)效果,且可以處理更高的放大倍數(shù)。其中,鄰域嵌入[2-3]的方法采用插補(bǔ)補(bǔ)丁子空間的策略。稀疏編碼(Sparse Coding, SC)[4]的方法使用基于稀疏信號(hào)表示的字典學(xué)習(xí)LR和HR之間的映射關(guān)系。最近隨機(jī)森林(Random Forest, RF)[5]和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)也被用于提升重建精度。其中Dong等[6]已證明CNN可以被有效應(yīng)用于端到端的學(xué)習(xí)LR到HR的映射,其所提方法稱為SRCNN(Single-image Reconstruction CNN)。受到上述方法的啟發(fā),很多研究人員開(kāi)始使用深度卷積網(wǎng)絡(luò)來(lái)處理超分辨率重建的問(wèn)題。Wang等[7]將稀疏編碼與卷積網(wǎng)絡(luò)相結(jié)合,以解決超分辨率方法中的一致性問(wèn)題。Cui等[8]結(jié)合稀疏編碼的專長(zhǎng)和深度學(xué)習(xí)的優(yōu)點(diǎn),提出了大型、任意縮放因子的級(jí)聯(lián)網(wǎng)絡(luò);Nie等[9]將多個(gè)卷積網(wǎng)絡(luò)串聯(lián)起來(lái)進(jìn)行人臉超分辨率重建。
盡管CNN被成功應(yīng)用于處理人臉超分辨率重建問(wèn)題并取得了不錯(cuò)的效果,但是,其在如下幾個(gè)方面也存在局限性:CNN的重建依賴于小圖像塊之間的細(xì)節(jié)信息;隨著層數(shù)的增加,感受野變大會(huì)導(dǎo)致重建圖像細(xì)節(jié)易丟失;訓(xùn)練收斂速度太慢。
本文設(shè)計(jì)了一種極深卷積網(wǎng)絡(luò)來(lái)解決以上問(wèn)題。首先,本文方法通過(guò)加深網(wǎng)絡(luò)層數(shù)來(lái)擴(kuò)大感受野的大小,使得網(wǎng)絡(luò)能夠在更大的圖像塊中來(lái)來(lái)獲取更多的細(xì)節(jié)信息。人臉超分由于受很多復(fù)雜因素的影響,通常情況下小圖像塊中包含的信息對(duì)于細(xì)節(jié)恢復(fù)來(lái)說(shuō)不夠充分,因此,本文采用極深卷積網(wǎng)絡(luò)獲得大的感受野以提取大圖像中的豐富信息。其次,本文采用了殘差學(xué)習(xí)[10]的方法,一方面可以提升收斂的速度,另一方面還可以避免因感受野變大而導(dǎo)致的細(xì)節(jié)丟失問(wèn)題。最后,本文采用了一種單模超分方法來(lái)靈活處理放大系數(shù)問(wèn)題。放大系數(shù)可以由用戶指定的,也可以是任意的,本文在實(shí)驗(yàn)中發(fā)現(xiàn)所設(shè)計(jì)的單個(gè)卷積網(wǎng)絡(luò)可以較好處理多尺度放大系數(shù)的超分辨率重建問(wèn)題。
總之,本文提出的基于極深卷積網(wǎng)絡(luò)的高精度的人臉超分辨率重建方法主要有以下幾方面的優(yōu)點(diǎn):
1)采用了極深的卷積網(wǎng)絡(luò),可以提取更加精確的圖像細(xì)節(jié)信息。
2)采用了殘差學(xué)習(xí)的方法,提升了訓(xùn)練的速度,避免了細(xì)節(jié)丟失的問(wèn)題。
3)采用了多個(gè)放大因子同時(shí)訓(xùn)練的方法,減少了所需模型的數(shù)量。
單幅圖像超分辨率問(wèn)題要求如下:給定低分辨率圖像Y,恢復(fù)相同場(chǎng)景的高分辨率圖像X?;镜募s束是要求恢復(fù)的X應(yīng)與輸入Y一致。其重建約束如下所述:
Y=DHX
(1)
其中:H表示一個(gè)模糊濾波器;D表示下采樣算子。
超分辨率重建依然是一個(gè)不可能精確恢復(fù)的病態(tài)問(wèn)題,因?yàn)閷?duì)于給定的低分辨率圖像Y,有無(wú)限多的高分辨率圖像X滿足上述約束。本文的工作就是要找到一個(gè)很好的D和H,使得本文的重建能夠取得較好的結(jié)果。
以下,本文分別介紹兩類與本文的工作最相關(guān)的方法,即基于稀疏表示和基于CNN的超分辨率重建算法。
稀疏表示是將原始信號(hào)x表示為字典元素的一個(gè)線性組合x(chóng)=Dα,其中:D是訓(xùn)練獲得的字典;α為原始信號(hào)x在字典D上的表示,即稀疏系數(shù)。壓縮感知理論(Compressive Sensing, CS)[11]指出,一幅圖像能夠在非常苛刻的條件下由它的一組稀疏表示系數(shù)在超完備字典上得到重建。Yang等[4]首先提出了基于稀疏表示的超分辨率重建的方法。
(2)
VGG(Visual Geometry Group)網(wǎng)絡(luò)模型是由Simonyan等[12]在2014年提出的卷積神經(jīng)網(wǎng)絡(luò),包含了19個(gè)卷積/全連接層。該網(wǎng)絡(luò)在每一個(gè)卷積層都使用了3×3大小的卷積核,訓(xùn)練和測(cè)試時(shí)使用了多放大尺度的圖片。
其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示:該網(wǎng)絡(luò)探索了卷積神經(jīng)網(wǎng)絡(luò)的深度與其性能之間的關(guān)系,通過(guò)反復(fù)使用3×3的小卷積核和2×2的最大池化(pooling)層,成功地構(gòu)筑了一個(gè)19層的卷積神經(jīng)網(wǎng)絡(luò)。VGG網(wǎng)絡(luò)相對(duì)于之前的網(wǎng)絡(luò)結(jié)構(gòu)取得了更好的效果,有效地證明了卷積網(wǎng)絡(luò)深度越深性能越好。
圖1 VGG19網(wǎng)絡(luò)結(jié)構(gòu)
受到Simonyan工作[12]啟發(fā),本文設(shè)計(jì)了一個(gè)極深的卷積網(wǎng)絡(luò)來(lái)處理人臉的超分辨率重建問(wèn)題,其結(jié)構(gòu)如圖2所示。不同于SRCNN的三層結(jié)構(gòu),本文使用了20個(gè)卷積層,除了輸入層與輸出層外,其他卷積層都采用了64個(gè)3×3×64的濾波器,并且在每一個(gè)濾波器后面都使用了線性激勵(lì)單元(Rectified Linear Unit, ReLU)。本文把輸入記為Y,通過(guò)學(xué)習(xí)一種映射F(Y)使得本文能夠預(yù)測(cè)圖像的細(xì)節(jié),其表達(dá)式如下所示:
Fn(Y)=max(0,Wn*Fn-1(Y)+Bn);n=1,2,…,20
(3)
其中:Fn表示第n個(gè)卷積層的輸出;Wn表示64×3×3×64的一個(gè)權(quán)重矩陣;Bn表示一個(gè)64維的偏置向量。
如圖3所示,本文的網(wǎng)絡(luò)采用經(jīng)過(guò)雙三次插值(Bicubic)的低分辨率圖像作為輸入,并且對(duì)圖像的細(xì)節(jié)進(jìn)行預(yù)測(cè)建模。圖像細(xì)節(jié)通常被用于超分辨率重建方法[13-15 ],本文發(fā)現(xiàn)基于CNN的方法可以有效學(xué)習(xí)出圖像的細(xì)節(jié)信息。
使用極深的網(wǎng)絡(luò)來(lái)預(yù)測(cè)密集輸出導(dǎo)致的一個(gè)問(wèn)題是每次運(yùn)用卷積運(yùn)算時(shí),特征圖會(huì)變小。舉例來(lái)說(shuō),一個(gè)(n+1)×(n+1)大小的輸入圖像,其感受野為n×n,經(jīng)過(guò)n個(gè)卷積層后的輸出則變?yōu)?×1。其次,由于一般的超分辨率重建的方法都需要用周圍的像素來(lái)正確推斷中心像素,從而導(dǎo)致周圍區(qū)域會(huì)給重建問(wèn)題帶來(lái)更多的限制。對(duì)于圖像邊界附近的信息,由于這種關(guān)系不能被充分利用,所以許多超分方法會(huì)對(duì)結(jié)果圖像進(jìn)行裁剪。但是,如果所需要的環(huán)繞區(qū)域非常大則不能采用裁剪的方法,因?yàn)椴眉艉笞罱K的圖像會(huì)很小,無(wú)法在視覺(jué)上令人滿意。為了解決以上問(wèn)題,本文在每個(gè)卷積層之前填零(Padding)以保持所有特征圖的大小相同。其示意圖如圖3所示。
最后,將低分辨率圖片輸入到訓(xùn)練好的網(wǎng)絡(luò)來(lái)獲取預(yù)測(cè)的包含有高分辨率細(xì)節(jié)信息的殘差圖像,再和輸入的低分辨率圖像(LR)相加以得到最終的高分辨率(HR)圖像。
圖2 極深卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖3 填零示意圖
所采用的網(wǎng)絡(luò)由于存在很多的權(quán)重層而產(chǎn)生了一種非常長(zhǎng)的端對(duì)端的關(guān)系,所以非常容易產(chǎn)生梯度消失或者梯度爆炸[16]的問(wèn)題。因此,本文采用了殘差學(xué)習(xí)的方法來(lái)解決這個(gè)問(wèn)題。由于輸入圖像和輸出圖像在很大程度上是相似的,所以本文定義殘差圖像R=X-Y,其中大多數(shù)的數(shù)值可能為零或者非常地小。本文現(xiàn)在需要對(duì)這個(gè)殘差圖像進(jìn)行預(yù)測(cè),其損失函數(shù)表示如下:
(4)
在損失層中,有三個(gè)輸入?yún)?shù):殘差估計(jì)、輸入LR圖像和真實(shí)HR圖像。損失計(jì)算為重建圖像和真實(shí)圖像之間的歐氏距離。
本文使用CASPEAL-R1的正臉圖像和FERET(Face Recognition Technology)人臉庫(kù)中的正臉圖像作為訓(xùn)練集和測(cè)試集。本文使用了CASPEAL中的600張和FERET中的400張人臉圖像作為訓(xùn)練集,另外挑選了其中的100張作為測(cè)試集。因?yàn)樵跀?shù)據(jù)庫(kù)中男士和女士的人臉圖像數(shù)量并不是相等的,為了使得結(jié)果更加公平,本文的訓(xùn)練集采用了500張男士人臉圖像和500張女士人臉圖像,然后用50張女士人臉圖像和其余的50張男士人臉圖像組成測(cè)試集。
由于所提網(wǎng)絡(luò)有大量參數(shù)需要訓(xùn)練,所以需要對(duì)數(shù)據(jù)進(jìn)行擴(kuò)充來(lái)更好地匹配所提模型。本文將人臉圖像進(jìn)行旋轉(zhuǎn),將高分辨率圖像進(jìn)行插值下采樣之后會(huì)丟失高分辨率的細(xì)節(jié)信息,所以可以將插值后的低分辨率圖像作為本文的訓(xùn)練集,通過(guò)本文所提的網(wǎng)絡(luò)來(lái)獲取高低分辨率圖像之間的細(xì)節(jié)信息進(jìn)行重建。為了解決不同放大因子的問(wèn)題,本文將訓(xùn)練集中的數(shù)據(jù)分別以不同的放大因子(2~4)進(jìn)行下采樣,最終可以得到一個(gè)包含10 000張人臉圖像的、可以應(yīng)對(duì)不同放大因子的一個(gè)訓(xùn)練集。
為了驗(yàn)證本文方法在與訓(xùn)練集不同的測(cè)試集上也能取得很好的效果,本文還使用了FEI人臉庫(kù)中的正臉圖像來(lái)進(jìn)行測(cè)試。
人臉圖像感受野的大小對(duì)重建效果有著很大的影響,感受野越大圖像所能獲得的信息就越多。本文每一個(gè)圖像塊的大小都設(shè)置為41×41,所提網(wǎng)絡(luò)有20個(gè)權(quán)重層,每一層的卷積核大小為3×3,訓(xùn)練時(shí)每一批的圖片數(shù)量為64,動(dòng)量和權(quán)重衰減設(shè)為0.9和0.000 1。初始的學(xué)習(xí)率設(shè)為0.001。每迭代50 000次學(xué)習(xí)率乘以0.1,對(duì)于權(quán)重的初始化,本文使用He方法[17]。本文設(shè)置迭代次數(shù)15萬(wàn)次,在GPU Tatin X上訓(xùn)練時(shí)間為2 d左右。
為了評(píng)價(jià)超分結(jié)果的性能,本文采用了圖像峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)和圖像結(jié)構(gòu)相似度(Structural SIMilarity index, SSIM)兩種性能指標(biāo)。PSNR表示圖像的信號(hào)與噪聲的方差之比,它的值越高表示圖像的重建效果越好,計(jì)算公式如下:
(5)
其中:N為圖像像素區(qū)的大小;MSE是均方值誤差(Mean Square Error);In指原始圖像I第n個(gè)像素值;Pn指經(jīng)處理后的圖像P第n個(gè)像素值。PSNR值越大,就代表失真越少。
SSIM結(jié)構(gòu)相似性是衡量?jī)煞鶊D像相似度的指標(biāo)。給定兩個(gè)圖像x和y,兩張圖像的結(jié)構(gòu)相似性的計(jì)算公式如下:
(6)
在對(duì)經(jīng)過(guò)插值獲取的低分辨率人臉進(jìn)行重建過(guò)后,本文方法在細(xì)節(jié)的重建上有著更好的視覺(jué)效果。由于人的眼睛是人臉圖像中信號(hào)能量較大的區(qū)域,也是人臉最重要的表征。
因此,本文選取了放大因子為4的人臉重建圖像并選取圖像中眼睛的細(xì)節(jié)進(jìn)行說(shuō)明。如圖4所示:圖4(a)為低分辨率人臉圖像的眼部細(xì)節(jié)圖;圖4(b)為經(jīng)過(guò)雙三次插值(Bicubic)后的人臉圖像眼部細(xì)節(jié)圖;圖4(c)為本文方法4倍放大重建后的人臉圖像眼部細(xì)節(jié)圖。從圖4可以看出:低分辨率圖像眼睛周圍非常模糊,細(xì)節(jié)信息很少;經(jīng)過(guò)插值法重建后的圖像能夠看區(qū)分眼球與眼白的邊緣,但是,仍然是比較模糊的;而經(jīng)過(guò)本文方法重建獲得的圖像,眼睛周圍的輪廓比較銳利,區(qū)分十分明顯,而且能夠重建瞳孔的細(xì)節(jié)。
圖4 放大因子為4的人臉重建圖像細(xì)節(jié)
本文分別對(duì)CASPEAL人臉測(cè)試集進(jìn)行了不同放大因子下的重建,并對(duì)重建結(jié)果采用PSNR和SSIM進(jìn)行量化評(píng)估,其結(jié)果如表1所示。
表1 兩種方法的 PSRN 和 SSIM 比較
從表1可看出:由于放大因子越大重建的難度就會(huì)越大,所以放大因子越大所取得的結(jié)果也會(huì)有一定程度的減弱,但是相對(duì)于傳統(tǒng)的方法,本文方法在PSNR的值上平均高出了2.7 dB,SSIM的值也平均高出0.020 8。
本文還將所提方法與雙三次插值的方法和SRCNN的方法進(jìn)行了比較。本文在CASPEAL的測(cè)試集用不同的方法,在放大因子為4的情況下進(jìn)行了超分辨率重建,并用PSNR值來(lái)進(jìn)行定量評(píng)估,其比較結(jié)果如圖5所示。
圖5 不同方法的PSNR比較
為了能更加直觀地比較用不同方法放大進(jìn)行重建后的差別,本文選取了在4倍放大因子下進(jìn)行重建的人臉圖像進(jìn)行比較。
從圖6可以看出,在放大因子為4時(shí),本文方法和SRCNN的方法在重建后相對(duì)于Bicubic在輪廓上要更加銳利;由于采用了更加深的卷積網(wǎng)絡(luò)和更大的感受野,本文方法相對(duì)于SRCNN的方法在眉毛、眼睛等部位邊緣更加分明,模糊較少,有著更好的細(xì)節(jié)信息。
圖6 CASPEAL人臉重建結(jié)果對(duì)比(放大因子4)
為驗(yàn)證本文方法在與訓(xùn)練集不同的測(cè)試集上也能取得很好的效果,還使用了FEI人臉庫(kù)中的200張正臉圖像來(lái)進(jìn)行測(cè)試。同CASPEAL的測(cè)試集一樣,選取了2~4倍放大因子下作實(shí)驗(yàn),其量化結(jié)果如表2所示。
表2 本文算法在不同放大因子下的FEI人臉結(jié)果
由表2可知,本文方法在FEI的200張人臉圖片中也能取得較好的重建結(jié)果,其量化結(jié)果數(shù)值與在CASPEAL上的結(jié)果比較接近,其視覺(jué)圖如圖7所示。
圖7 FEI人臉重建結(jié)果(放大因子2~4)
從圖7可以看出,本文方法在FEI人臉測(cè)試集上也能取得較好的視覺(jué)效果和細(xì)節(jié)。
本文提出了一種基于極深卷積神經(jīng)網(wǎng)絡(luò)的人臉圖像超分辨率重建算法。首先,本文采用了一個(gè)20層的極深卷積神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行人臉超分辨率重建;其次,本文還采用了殘差學(xué)習(xí)的方法來(lái)進(jìn)行更好的細(xì)節(jié)提取;最后,本文采用了多種放大因子共同訓(xùn)練的方法來(lái)減少所需要的網(wǎng)絡(luò)模型。實(shí)驗(yàn)結(jié)果表明,本文方法能夠應(yīng)對(duì)不同放大因子的人臉圖像的超分辨率重建,并取得了比傳統(tǒng)超分辨率重建方法更好的視覺(jué)效果。
參考文獻(xiàn)(References)
[1] 蘇衡, 周杰, 張志浩. 超分辨率圖像重建方法綜述[J]. 自動(dòng)化學(xué)報(bào), 2013, 39(8): 1202-1213.(SU H, ZHOU J, ZHANG Z H. Survey of super-resolution image reconstruction methods[J]. Acta Automatica Sinica, 2013, 39(8): 1202-1213.)
[2] CHANG H, YEUNG D-Y, XIONG Y. Super-resolution through neighbor embedding[C]// CVPR 2004: Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2004: 275-282.
[3] BEVILACQUA M, ROUMY A, GUILLEMOT C, et al. Low-complexity single-image super-resolution based on nonnegative neighbor embedding[EB/OL]. [2017- 05- 10]. http: //eprints.imtlucca.it/2412/1/Bevilacqua_2012.pdf.
[4] YANG J, WRIGHT J, HUANG T S, et al. Image super-resolution via sparse representation[J]. IEEE Transactions on Image Processing, 2010, 19(11): 2861-2873.
[5] SCHULTER S, LEISTNER C, BISCHOF H. Fast and accurate image upscaling with super-resolution forests[C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2015: 3791-3799.
[6] DONG C, LOY C C, HE K, et al. Image super-resolution using deep convolutional networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(2): 295-307.
[7] WANG Z, LIU D, YANG J, et al. Deep networks for image super-resolution with sparse prior[C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 370-378.
[8] CUI Z, CHANG H, SHANG S, et al. Deep network cascade for image super-resolution[C]// ECCV 2014: Proceedings of the 13th European Conference on Computer Vision. Berlin: Springer, 2014: 49-64.
[9] NIE H, LU Y, IKRAM J. Face hallucination via convolution neural network[C]// Proceedings of the 2016 IEEE 28th International Conference on Tools with Artificial Intelligence. Piscataway, NJ: IEEE, 2017: 485-489.
[10] KIM C, CHOI K, RA J B. Improvement on learning-based super-resolution by adopting residual information and patch reliability[C]// Proceedings of the 2009 16th IEEE International Conference on Image Processing. Piscataway, NJ: IEEE, 2010: 1197-1200.
[11] TIMOFITE R, DE V, GOOL L V. Anchored neighborhood regression for fast example-based super-resolution[C]// Proceedings of the 2013 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2014: 1920-1927.
[12] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1409.1556.
[13] TIMOFTE R, SMET V D, GOOL L V. A+: adjusted anchored neighborhood regression for fast super-resolution[C]// ACCV 2014: Proceedings of the 12th Asian Conference on Computer Vision. Berlin: Springer, 2014: 111-126.
[14] TIMOFTE R, ROTHE R, GOOL L V. Seven ways to improve example-based single image super resolution[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 1865-1873.
[15] 練秋生, 張鈞芹, 陳書(shū)貞. 基于兩級(jí)字典與分頻帶字典的圖像超分辨率算法[J]. 自動(dòng)化學(xué)報(bào), 2013, 39(8): 1310-1320.(LIAN Q S, ZHANG J Q, CHEN S Z. Single image super-resolution algorithm based on two-stage and multi-frequency-band dictionaries[J]. Acta Automatica Sinica, 2013, 39(8): 1310-1320.)
[16] BENGIO Y, SIMARD P, FRASCION P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Transactions on Neural Networks, 1994, 5(2): 157-66.
[17] HE K, ZHANG X, REN S, et al. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification[C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 1026-1034.
[18] 傅天宇, 金柳頎, 雷震, 等. 基于關(guān)鍵點(diǎn)逐層重建的人臉圖像超分辨率方法[J]. 信號(hào)處理, 2016, 32(7): 834-841.(FU T Y, JIN L Q, LEI Z, et al. Face super-resolution method based on key points layer by layer[J]. Journal of Signal Processing, 2016, 32(7): 834-841.)
This work is partially supported by the National Natural Science Foundation of China (41501377, 61605083), the Natural Science Foundation of Jiangsu Province (BK20150906, BK20170040).