朱樸懷 朱航霖 張劍
摘? 要: 在視頻監(jiān)控中,常常需要根據(jù)低分辨率圖像辨識身份,此時人臉圖像超分辨率技術(shù)將起到重要作用。為此提出一種基于深層自編碼器的深度學習方法,用基于深層自編碼器的深度前饋神經(jīng)網(wǎng)絡學習高-低圖像塊間的映射關(guān)系,結(jié)合分塊超分辨率和基于鄰域嵌入的殘差增強得到最終結(jié)果。該算法得到的高分辨率圖像與真實圖像整體上較為相似,并具有一定細節(jié)信息。該技術(shù)在數(shù)字娛樂、安全監(jiān)控等領(lǐng)域有潛在應用價值。
關(guān)鍵詞: 人臉超分辨率; 自編碼器; 深度學習; 前饋神經(jīng)網(wǎng)絡
中圖分類號:TP391? ? ? ? ? 文獻標志碼:A? ? ?文章編號:1006-8228(2019)01-67-04
Abstract: In video surveillance, identifying a person with low-resolution face is a common problem, and face super-resolution plays important role in this context. This paper proposes an auto-encoder-based deep learning method to address this problem in which multiple deep feed forward neural network based on auto-encoders are trained to learn the mapping from the low-resolution image blocks to their high-resolution counterparts. Then the high-resolution image can be obtained by using both block-wise super-resolution and neighbor embedding-based residue compensation. Images produced by this method share global similarity with the ground truth high-resolution faces and contain obvious local details. This technique has potential application value in digital entertainment, security monitoring and other fields.
Key words: face super-resolution; auto-encoder; deep learning; feed forward neural network
0 引言
在視頻監(jiān)控中,攝像頭拍攝的人臉圖像往往具有較低分辨率,對身份識別產(chǎn)生了不利影像。因此,研究基于單幅圖像的人臉超分辨率(Face Super-Resolution,F(xiàn)SR)技術(shù)將具有重要意義。
基于單幅圖像的FSR技術(shù)主要依靠機器學習方法實現(xiàn)。核心思想是利用機器學習方法得到高-低分辨率樣本圖像之間的映射關(guān)系,基于此對給定的低分辨率人臉圖像進行超分辨率。Liu等人利用線性子空間分析建立映射,實現(xiàn)全局超分辨率,并利用馬爾可夫隨機域?qū)D像的殘差信息進行建模,從而增強重建圖像的局部細節(jié)[1]。Zhuang等人利用流形學習實現(xiàn)全局超分辨率,采用局部鄰域嵌入技術(shù)增強圖像的局部細節(jié)信息[2]。Li等人采用非參數(shù)化貝葉斯方法對低分辨率圖像聚類,再用回歸建立低分辨率類簇到高分辨率圖像的映射[3]。Liu等人用SIFT流方法計算測試圖像和樣本集中低分辨率圖像的對應關(guān)系,在貝葉斯框架下利用高分辨率樣本圖像得到超分辨率后的圖像[4]。另外有人使用張量分析計算低分辨率圖像的重建系數(shù),并用該系數(shù)組合高分辨率樣本圖像得到超分辨率結(jié)果[5]。
近年來,由于神經(jīng)網(wǎng)絡在圖像識別領(lǐng)域中的巨大成就,不少研究者利用深度學習解決FSR問題。Zhou提出一個雙通道的卷積神經(jīng)網(wǎng)絡同時實現(xiàn)圖像特征提取和FSR[6]。最近又有人使用基于小波的卷積神經(jīng)網(wǎng)絡實現(xiàn)多尺度FSR[7]。盡管卷積神經(jīng)網(wǎng)絡取得了很好的結(jié)果,但網(wǎng)絡的優(yōu)化異常復雜,過多的參數(shù)使訓練過程不易逼近全局最優(yōu)解。相比而言,深層自編碼器(Auto-encoder)構(gòu)造簡單,優(yōu)化目標明確,并且可以無監(jiān)督的方式提取特征[8]。鑒于這些特點,Auto-encoder獲得一批研究者的關(guān)注。Zhang利用Auto-encoder進行了三維人臉的重構(gòu)[9],Hong利用Auto-encoder實現(xiàn)了三維人體的姿態(tài)估算[10]。
本文提出一種基于深度Auto-encoder的FSR方法。在訓練中,把高-低分辨率樣本圖像對拆分成塊,為每一對高-低分辨率圖像塊訓練多層Auto-encoder,用其參數(shù)初始化深度前饋神經(jīng)網(wǎng)絡,實現(xiàn)基于塊的超分辨率。在此基礎(chǔ)上構(gòu)造低分辨率塊對應的高分辨率殘差塊。在測試中,把低分辨率圖像劃分成塊,利用每一塊對應的前饋神經(jīng)網(wǎng)絡進行基于塊的超分辨率。利用鄰域嵌入方法基于樣本構(gòu)造高分辨率殘差塊,以增強人臉的局部細節(jié)。
1 基于Auto-encoder的人臉圖像超分辨率
1.1 訓練
首先,將成對的高-低分辨率樣本圖像分塊,用同一位置上的成對圖像塊訓練一個基于Auto-encoder的深度前饋神經(jīng)網(wǎng)絡,能根據(jù)輸入的低分辨率圖像塊得到高分辨率圖像塊,過程如圖1所示。
為簡單起見,圖1中圖像被分為4塊,實際執(zhí)行中分塊數(shù)遠大于4。用訓練好的深度神經(jīng)網(wǎng)絡為每個低分辨率圖像塊生成相應的高分辨率圖像塊,并計算與真實高分辨率樣本塊之間的殘差,目的是為圖像細節(jié)增強做準備,過程如圖2所示。
1.1.1 Auto-encoder
一個Auto-encoder是一個非線性激活函數(shù)和一個線性變換的復合函數(shù),能從原始數(shù)據(jù)中提取特征,其目標是根據(jù)這個特征盡可能好地重構(gòu)原始數(shù)據(jù)。Auto-encoder可以用兩層神經(jīng)網(wǎng)絡(一層全連接層和一層激活層)實現(xiàn)。目標函數(shù)是:
其中xi是一個樣本,W,b和c是Auto-encoder的參數(shù),是根據(jù)原始數(shù)據(jù)重構(gòu)的數(shù)據(jù),h_i是隱層特征,g()是激活函數(shù):
實際應用中,常把若干Auto-encoder堆疊在一起形成一個深層結(jié)構(gòu),使低層Auto-encoder的輸出成為相鄰的高一層Auto-encoder的輸入。該深層結(jié)構(gòu)可用一個深度神經(jīng)網(wǎng)絡實現(xiàn)。
1.1.2 位置相關(guān)的端到端深度神經(jīng)網(wǎng)絡
針對每一位置上的高-低分辨率樣本圖像塊,利用兩個多層Auto-encoder分別提取高-低分辨率圖像塊特征,用其權(quán)重分別初始化兩個前饋神經(jīng)網(wǎng)絡,其中一個前饋神經(jīng)網(wǎng)絡連接低分辨率圖像塊和低分辨率特征,另一個前饋神經(jīng)網(wǎng)絡連接高分辨率特征和高分辨率圖像塊。用一個全連接層連接低分辨率特征和高分辨率特征,從而構(gòu)造了一個端到端的前饋深度神經(jīng)網(wǎng)絡,能根據(jù)給定的低分辨率圖像塊直接輸出高分辨率圖像塊。示意圖如圖3所示。
假設(shè)用來提取低分辨率圖像的Auto-encoder共有L1層,用來提取高分辨率圖像特征的Auto-encoder共有L2層,則上述深度前饋神經(jīng)網(wǎng)絡包含L1+L2+1層。為簡單起見,該神經(jīng)網(wǎng)絡每一層都用全連接層實現(xiàn)。其前L1層參數(shù)用低分辨率圖像對應的Auto-encoder初始化,第L1+1層參數(shù)隨機初始化,第L1+2層直到第L1+L2+1層參數(shù)用高分辨率圖像對應的Auto-encoder初始化。
1.2 測試
給定一幅低分辨率人臉圖像,首先將其按照訓練中的方式拆分成若干同樣規(guī)格的圖像塊,把每一個圖像塊輸入相應位置上的深度前饋神經(jīng)網(wǎng)絡,得到相應的高分辨率圖像塊。把所有的高分辨率圖像塊按位置排列在一起,得到比較光滑的高分辨率人臉圖像。排列圖像時,若相鄰圖像塊有重疊,則對像素取平均作為輸出。
對于每個低分辨率圖像塊,在相應位置上的樣本圖像塊中進行K近鄰搜索,找到歐氏距離最近的K個圖像塊,計算由K個圖像塊線性重構(gòu)當前低分辨率圖像塊的組合系數(shù)。用這些系數(shù)組合與K近鄰塊對應的高分辨率殘差塊,得到當前低分辨率圖像塊對應的高分辨率殘差塊。按類似的方法把所有高分辨率殘差塊拼接起來形成高分辨率殘差圖像。假設(shè)I為輸入的低分辨率圖像塊,是相應位置上的K個近鄰,則
其中{w1,w2,…,wK}是組合系數(shù)。
將光滑高分辨率圖像和高分辨率殘差圖像相加,得到最終的人臉超分辨率結(jié)果。整個測試流程如圖4。
2 實驗結(jié)果
2.1 數(shù)據(jù)集
本文在韓國PF01人臉數(shù)據(jù)庫上測試。該數(shù)據(jù)庫包含103人的1,751張不同光照、姿態(tài)和表情的面部圖像。為每個人挑出一張正面、均勻光照且無表情的圖像,裁剪得到152*200大小的人臉面部區(qū)域。對圖像下采樣獲得大小為38*50的小圖,構(gòu)造包含103個人的高-低分辨率成對圖像的樣本集。
2.2 實現(xiàn)細節(jié)
對高-低分辨率圖像分塊。兩種分辨率的圖像均分為190塊,高分辨率圖像塊尺寸為8×20像素,低分辨率圖像塊尺寸為2×5像素。將8×20像素的圖像拉伸為160維向量,2×5像素的圖像拉伸為10維向量。所有高分辨率圖像塊形成一個160×103的矩陣,低分辨率圖像塊形成一個10×103的矩陣。用三層Auto-encoder提取高分辨率圖像塊的特征,連同輸入層每層隱含神經(jīng)元個數(shù)分別是 [160 100 50 10],用兩層Auto-encoder提取低分辨率圖像塊的特征,連同輸入層每層隱含神經(jīng)元個數(shù)分別是[10 20 10]。
2.3 結(jié)果與結(jié)論
在103對圖像中隨機選擇80對作為訓練集,剩余23對作為測試集。圖5顯示了在測試數(shù)據(jù)集中隨機選擇的6幅低分辨率圖像和相應的高分辨率圖像。其中左起第一列為雙線性插值方法的結(jié)果,第二列為本文方法的結(jié)果,第三列為真實高分辨率圖像。從圖5的結(jié)果不難發(fā)現(xiàn),本文方法的結(jié)果在整體輪廓上比雙線性插值的結(jié)果更接近真實圖像,同時具有較明顯的局部細節(jié)信息。
3 結(jié)束語
本文提出一種基于Auto-encoder的端到端前饋深度神經(jīng)網(wǎng)絡,實現(xiàn)了基于圖像塊劃分的人臉超分辨率。同時,利用鄰域嵌入方法為高分辨率圖像補充局部細節(jié)信息。實驗表明恢復后的圖像基本能表現(xiàn)真實高分辨率圖像的總體特征,同時具有一定的細節(jié)信息。
本文提出的基于圖像塊的人臉超分辨率框架具有普適性。Auto-encoder簡單易行,但在特征的語義表達方面可能會有欠缺,將來擬采用其他深度神經(jīng)網(wǎng)絡(卷積神經(jīng)網(wǎng)絡)實現(xiàn)這一框架。同時,殘差圖像的生成也擬利用深度神經(jīng)網(wǎng)絡實現(xiàn)。
參考文獻(References):
[1] C. Liu, H. Shum, C. Zhang. A two-step approach to hallucinating faces: global parametric model and local nonparametric model [A]. 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition [C]. Kauai, Hawaii: IEEE Computer Society,2001:192-198
[2] Y. Zhuang, J. Zhang, F. Wu. Hallucinating faces: LPH super-resolution and neighbor reconstruction for residue compensation[J].Pattern Recognition,2007.40(11):3178-3194
[3] M. Li, D. Xu, R. Yi, X. He. Face hallucination based on nonparametric Bayesian learning[A]. 2015 IEEE International Conference on Image Processing[C]. Québec: IEEE Computer Society,2015:986-990
[4] M. F. Tappen, C. Liu. A Bayesian approach to alignment-based image hallucination[A].2012 European Conference on Computer Vision[C]. Florence: Springer,2012:23-249
[5] W. Liu, D. Lin, X. Tang. Hallucinating faces: tensor patch super-resolution and coupled residue compensation[A]. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition[C]. Boston: IEEE Computer Society, 2005:478-484
[6] E. Zhou, H. Fan, Z. Cao, Y. Jiang, Q. Yin. Learning face hallucination in the wild [A]. Twenty-Ninth AAAI Conference on Artificial Intelligence[C]. Hyatt Regency, Austin: AAAI, 2015:3871-3877
[7] H. Huang, R. He, Z. Sun, T. Tan. Wavelet-SRNet: A Wavelet-based CNN for multi-scale face super resolution [A]. 2018 IEEE International Conference on Computer Vision [C]. Venice: IEEE Computer Society,2018:1698-1706
[8] G. E. Hinton, R. R. Salakhutdinov. Reducing the dimen-sionality of data with neural networks[J]. Science,2006.313(5786):504-507
[9] J. Zhang, K. Li, Y. Liang, N. Li. Learning 3D faces from?2D images via stacked contractive Autoencoder[J].Neurocomputing,2017.257:67-78
[10] J. Yu, C. Hong, Y. Rui, D. Tao. Multitask Autoencoder?model for recovering human poses. IEEE Transactions on Industrial Electronics[J]. 2018.65(6):5060-5068