仝宗和 劉 釗
1(中國人民公安大學(xué)信息技術(shù)與網(wǎng)絡(luò)安全學(xué)院 北京 102623)2(中國人民公安大學(xué)網(wǎng)絡(luò)空間安全與法治協(xié)同創(chuàng)新中心 北京 100038)
人臉圖像在安防、電子商務(wù)等領(lǐng)域中得到了越來越廣泛的應(yīng)用。例如:搜索引擎運用人臉圖像進行人物搜索;手機、電腦等電子設(shè)備采用人臉圖像解鎖;公安領(lǐng)域運用人臉識別技術(shù)偵破案件等。但在現(xiàn)實應(yīng)用中,受制于實際場景下的各種因素,清晰人臉難以獲得,一些圖像質(zhì)量差、模糊的人臉圖像無法滿足應(yīng)用要求。一方面,為了消除模糊人臉對識別準(zhǔn)確率的影響,人們提出了很多不同的模糊人臉識別方法[1-3],這些方法都是從模糊人臉圖像提取更多的人臉信息,以達到識別的要求,但識別度仍不如清晰人臉。另一方面,文獻[4-6]利用圖像增強技術(shù)[7-10]處理模糊人臉圖像以達到應(yīng)用要求。模糊人臉增強是圖像增強技術(shù)的一個應(yīng)用方向,傳統(tǒng)的圖像增強技術(shù)主要分為空間域法和頻率域法??臻g域法主要指圖像平滑和銳化[11];頻率域法基本的增強方法為低通濾波法、高通濾波法和同態(tài)濾波法[12]。這類方法能夠在一定程度上將模糊人臉清晰化,但在運用場景上較單一,一般只適用于特定的環(huán)境或某一種特定的模糊圖像,普適性較差。
模糊人臉清晰化需要考慮兩個關(guān)鍵點:生成的清晰圖像與原本的模糊圖像的底層顏色、紋理和形狀特征信息不變,即底層信息不變;生成的清晰圖像與真實清晰圖像的像素分布保持一致,即圖像真實性。隨著人工智能技術(shù)的迅速發(fā)展,人們在越來越多的方面采用機器學(xué)習(xí)的方法去替代傳統(tǒng)算法,在效果上有很大的提升。生成對抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)[13]包含生成器模型和判別器模型,生成器模型可以很好地從圖像到圖像的訓(xùn)練集中學(xué)習(xí)到輸入圖像的底層信息,滿足了生成圖像的底層信息不變;判別器模型可以判斷生成圖像的真實性,滿足了生成圖像的真實性。因此,本文運用生成對抗網(wǎng)絡(luò)從數(shù)據(jù)集中不斷學(xué)習(xí)并優(yōu)化模糊人臉圖像到清晰人臉圖像間的映射關(guān)系,學(xué)習(xí)人臉特征信息從而生成清晰化的人臉圖像,提高了模糊人臉圖像的運用效果[14]。本文算法生成效果如圖1所示。
圖1 本文算法生成效果圖
生成模型是概率統(tǒng)計和機器學(xué)習(xí)中的一類重要模型,指一系列用于隨機生成可觀測數(shù)據(jù)的模型[15]。生成模型的應(yīng)用十分廣泛,可用與圖像、文本、聲音等方面。主流的深度生成模型主要有自回歸模型(Autoregressive Model,AR)[16]、變分自動編碼器(Variational Auto-Encoder,VAE)[17]、生成對抗網(wǎng)絡(luò)[13]等。其中生成對抗網(wǎng)絡(luò)受博弈論中的零和博弈啟發(fā),將生成問題視作判別器和生成器兩個網(wǎng)絡(luò)的對抗和博弈:生成器從給定噪聲中(一般是指均勻分布或者正態(tài)分布)產(chǎn)生合成數(shù)據(jù),判別器分辨生成器的輸出和真實數(shù)據(jù)。前者試圖產(chǎn)生更接近真實的數(shù)據(jù),相應(yīng)地,后者試圖更完美地分辨真實數(shù)據(jù)與生成數(shù)據(jù)。由此,兩個網(wǎng)絡(luò)在對抗中優(yōu)化,在優(yōu)化后繼續(xù)對抗,由生成式網(wǎng)絡(luò)得的數(shù)據(jù)就越來越逼近真實數(shù)據(jù),從而可以生成想要得到的數(shù)據(jù)(圖片、序列、視頻等),優(yōu)化的目標(biāo)就是尋找二者間的納什均衡[18]。
生成對抗網(wǎng)絡(luò)包含生成器模型G和判別器模型D,其目的是學(xué)習(xí)到訓(xùn)練數(shù)據(jù)的分布Pg。為了學(xué)習(xí)該分布,首先定義一個輸入噪聲變量Pz(z),再將其映射到數(shù)據(jù)空間G(z,θg),這里的G就是一個以θg作為參數(shù)的多層感知網(wǎng)絡(luò)構(gòu)成的生成模型。此外,定義一個判別模型D(x,θd)用來判斷輸入的數(shù)據(jù)是來自生成模型還是訓(xùn)練數(shù)據(jù),D的輸出為x,即訓(xùn)練數(shù)據(jù)的概率。最后,訓(xùn)練D使其盡可能準(zhǔn)確地判斷數(shù)據(jù)來源,訓(xùn)練G使其生成的數(shù)據(jù)盡可能符合訓(xùn)練數(shù)據(jù)的分布[19]。其目標(biāo)函數(shù)為:
Εz~pz(z)[log(1-D(G(z)))]
(1)
生成對抗網(wǎng)絡(luò)在圖像生成領(lǐng)域得到了廣泛的關(guān)注與應(yīng)用,因此也產(chǎn)生了各種各樣的變體,大概可以分為兩個方向:無條件生成對抗網(wǎng)絡(luò)(GAN)和條件生成對抗網(wǎng)絡(luò)(CGAN)[20],其網(wǎng)絡(luò)模型結(jié)構(gòu)圖如圖2-圖3所示。由圖像到圖像的GAN模型是條件生成對抗網(wǎng)絡(luò)里的一種應(yīng)用方式,其衍生模型主要有:pix2pix[21]、Cycle-GAN[22]、cVAE-GAN[23]、cLR-GAN[24-25]和Bicycle-GAN[14]等模型。本文通過實驗發(fā)現(xiàn)Bicycle-GAN在人臉模糊圖像清晰化的能力上比其他幾種方法更為優(yōu)越,能夠有效地學(xué)習(xí)到人臉特征信息,從而生成更接近原圖、更真實、更清晰的人臉圖像。
圖2 無條件生成對抗網(wǎng)絡(luò)結(jié)構(gòu)
圖3 條件生成對抗網(wǎng)絡(luò)結(jié)構(gòu)圖
Bicycle-GAN是將條件變分自編碼生成對抗網(wǎng)絡(luò)(cVAE-GAN)[23]和條件潛在回歸生成對抗網(wǎng)絡(luò)(cLR-GAN)[24-25]的目標(biāo)函數(shù)結(jié)合在一起的混合網(wǎng)絡(luò)模型[14]。
pix2pix[21]使用條件生成對抗網(wǎng)絡(luò)在圖像到圖像轉(zhuǎn)換過程中能夠輸出高質(zhì)量的結(jié)果。傳統(tǒng)的生成對抗網(wǎng)絡(luò)通過輸入隨機向量z學(xué)習(xí)到圖像y,即G:z→y;條件生成對抗網(wǎng)絡(luò)(CGAN)[20]則是通過輸入圖像x及隨機向量z學(xué)習(xí)到圖像y,即G:{x,z}→y。因此CGAN的目標(biāo)函數(shù)是:
LCGAN(G,D)=ΕA,B~p(A,B)[log(D(A,B))]+
ΕA~p(A),z~p(z)[log(1-D(A,G(A,z)))]
(2)
為了增強生成器的輸出與輸入匹配性以及訓(xùn)練的穩(wěn)定性,Isola等[21]使用輸出和真實圖像之間的L1損失,在CGAN的基礎(chǔ)上添加了L1損失函數(shù)。
LL1(G)=Εx,y~pdata(x,y),z~pz(z)[‖y-G(x,z)‖1]
(3)
pix2pix模型訓(xùn)練結(jié)構(gòu)如圖4所示,其目標(biāo)函數(shù)為:
(4)
圖4 pix2pix+noise模型訓(xùn)練結(jié)構(gòu)圖
條件變分自編碼生成對抗網(wǎng)絡(luò)(cVAE-GAN)通過學(xué)習(xí)輸出的隱編碼分布,強制將期望輸出圖像的隱編碼分布反映射到條件生成器得到的輸出上。利用KL散度對潛在分布進行正則化,使其接近標(biāo)準(zhǔn)正態(tài)分布,從而在推理過程中對隨機編碼進行采樣。然后將變分目標(biāo)函數(shù)與判別器損失函數(shù)一起優(yōu)化。
控制潛在編碼z的一種有效方法是使用編碼函數(shù)E直接將真實圖片B映射到z。 生成器G使用潛在代碼和輸入圖像A來合成期望的輸出B*。 整體模型可以很容易地理解為:使用潛在編碼z與輸入圖像A共同重建B——類似于自動編碼器[26]。在沒有對抗性目標(biāo)的無條件情景中,這種方法已經(jīng)在變分自動編碼器[17]中成功實現(xiàn)。將其擴展到條件場景,潛在編碼z的Q(z|B)使用具有高斯假設(shè)的編碼器E獲得。
Q(z|B)E(B)
(5)
為了反映這一點,將式(2)修改為使用預(yù)訓(xùn)練參數(shù)對z~E(B)進行采樣,允許直接反向傳播[27],即:
ΕA,B~p(A,B),z~E(B)[log(1-D(A,G(A,z)))]
(6)
并且對式(3)中的L1損失項中進行相應(yīng)的變化,當(dāng)B未知時,鼓勵E(B)編碼的潛在分布接近隨機高斯,以便能夠在推理時進行采樣。
LKL(E)=EB~p(B)[DKL(E(B)‖N(0,I))]
(7)
式中:
(8)
則cVAE-GAN模型訓(xùn)練結(jié)構(gòu)如圖5所示,其目標(biāo)函數(shù)為:
(9)
圖5 cVAE-GAN模型訓(xùn)練結(jié)構(gòu)圖
條件潛在回歸生成對抗網(wǎng)絡(luò)(cLR-GAN)是在隱編碼中進行模式捕獲的另一種方法。從隨機抽樣的隱編碼開始,條件生成器產(chǎn)生一個輸出,當(dāng)它作為輸入給編碼器時,返回相同的隱編碼,從而實現(xiàn)自我一致性。從潛在編碼的角度來看cLR-GAN是另一種控制生成網(wǎng)絡(luò),利用潛在代碼嵌入z的方法,同時保持接近實際測試時間分布p(z)。如圖6所示,從隨機抽取的潛在代碼z開始,并嘗試用Z*=E(G(A,z))恢復(fù)它:
(10)
生成圖像B*中包含判別器損失LGAN(G,D),以促使網(wǎng)絡(luò)生成更加接近實際的結(jié)果。cLR-GAN模型訓(xùn)練結(jié)構(gòu)如圖6所示,其目標(biāo)函數(shù)為:
(11)
圖6 cLR-GAN模型訓(xùn)練結(jié)構(gòu)圖
對于cVAE-GAN,編碼是從實際數(shù)據(jù)中學(xué)習(xí)的,但隨機潛碼可能無法在測試時產(chǎn)生逼真的圖像,則 KL損失可能未得到很好的優(yōu)化。更重要的是,對抗性分類器D沒有機會在訓(xùn)練期間看到先前采樣的結(jié)果。在cLR-GAN中,潛在的空間是從簡單的分布中輕松采樣,但生成器的訓(xùn)練沒有得到真實圖像輸入-輸出對的好處。為了結(jié)合兩個循環(huán)的優(yōu)點(B→z→B*和z→B*→Z*),Bicycle-GAN在cVAE-GAN和cLR-GAN兩個方向同時進行訓(xùn)練。模型訓(xùn)練結(jié)構(gòu)如圖7所示,其目標(biāo)函數(shù)為:
G*,E*=LcVAE-GAN(G,E)+LcLR-GAN(G,E)
(12)
圖7 Bicycle-GAN模型訓(xùn)練結(jié)構(gòu)圖
由于模糊圖像與清晰圖像之間存在空間對應(yīng)關(guān)系,對于生成器G,我們采用U型網(wǎng)絡(luò)結(jié)構(gòu)[28],它包含編碼器-解碼器架構(gòu),具有對稱跳躍連接。當(dāng)輸入和輸出對之間存在空間對應(yīng)時,該架構(gòu)在單峰圖像預(yù)測中能夠產(chǎn)生質(zhì)量很好的結(jié)果。對于判別器D,由于目標(biāo)函數(shù)中添加了L1損失函數(shù)加強了生成圖像低頻域的正確性,只需加強判別器對高頻結(jié)構(gòu)進行建模的約束,增加生成圖像的清晰度。因此,本文的判別器模型結(jié)構(gòu)采用了 PatchGAN[21],這樣能夠只以塊的規(guī)模來懲罰結(jié)構(gòu)。判別器模型盡力地區(qū)分每幅圖像中N×N大小的每一塊是否真實,然后平均所有響應(yīng)作為最終輸出。對于編碼器E,只需能夠提取圖像的特征信息即可,本文采用了ResNet網(wǎng)絡(luò)結(jié)構(gòu)[29]。
實驗選取CelebFaces Attributes Dataset (CelebA)人臉圖像數(shù)據(jù)集,共包含202 599幅不同年齡段、不同性別的人臉圖像。本文從中機抽取16 000幅作為訓(xùn)練集,4 000幅作為測試集。本文用于訓(xùn)練算法模型的服務(wù)器操作系統(tǒng)為Ubuntu 16.04,訓(xùn)練GPU為8塊Tesla P4,CPU為2塊Inter E5-2680,內(nèi)存大小為448 GB。
為檢驗算法在多種模糊條件下的魯棒性,首先采用了7種模糊方法對人臉圖像進行預(yù)處理,分別為高斯模糊、中值模糊、均值模糊、添加高斯噪聲、椒鹽噪聲、下采樣和污損,并且每種模糊方法都采用隨機的方法進行不同程度的模糊處理。各種模糊處理方法的效果如圖8所示。
圖8 數(shù)據(jù)集模糊預(yù)處理效果
高斯模糊預(yù)處理的模糊半徑在3~6像素之間隨機抽?。痪的:A(yù)處理的模糊半徑在9~15像素之間隨機抽??;中值模糊預(yù)處理的模糊半徑在7~15像素之間隨機抽??;高斯噪聲模糊預(yù)處理在數(shù)據(jù)集上隨機添加5%~15%噪聲;椒鹽噪聲模糊預(yù)處理在數(shù)據(jù)集上隨機添加10%~30%噪聲;下采樣模糊預(yù)處理的下采樣率在10%~30%之間隨機選?。晃蹞p模糊預(yù)處理通過手動生成100幅隨機污損核,并對其進行旋轉(zhuǎn)、平移等處理,共生成400個不同類型的污損mask。然后將人臉圖像與mask進行像素位取反和像素位求和操作,在人臉圖像上分別添加白色污損和黑色污損。經(jīng)過預(yù)處理的數(shù)據(jù)集基本涵蓋了常見的各類應(yīng)用中面臨的困難情況。訓(xùn)練集和測試集的模糊預(yù)處理均采用上述方法進行模糊處理。在污損這一類中,訓(xùn)練集和測試集采用不同的mask。數(shù)據(jù)集具體劃分情況如表1所示。
表1 數(shù)據(jù)集分類 幅
3.3.1定性分析
本文選取主流的深度生成模型pix2pix[21]、MUNIT-GAN[30]進行對比,訓(xùn)練參數(shù)為默認(rèn)參數(shù)。圖9為3種生成模型在7種模糊處理的圖片上的處理效果,可以看出Bicycle-GAN在各種模糊方式下生成的增強圖像的質(zhì)量都優(yōu)于其他模型。
圖9 3種算法在7種模糊圖片上的生成圖像對比
3.3.2定量分析
針對本文網(wǎng)絡(luò)結(jié)構(gòu)是圖像到圖像的特點,選用了對抗生成網(wǎng)絡(luò)評價指標(biāo)中較合理的3種評價指標(biāo)[31],分別為Fréchet Inception 距離[32](FID)、模型分?jǐn)?shù)(Mode Score,MD)[33]和核最大均值差異[34](Kernel MMD)。
FID是真實樣本與生成樣本在特征空間中的距離。首先利用Inception網(wǎng)絡(luò)提取圖像中間層特征,然后使用高斯模型對特征空間進行建模。根據(jù)高斯模型的均值和協(xié)方差進行距離計算:
FID(Pr,Pg)=‖μr-μg‖+
Τr(Cr+Cg-2(CrCg)1/2)
(13)
較低的FID意味著較高圖片的質(zhì)量和多樣性。
模型分?jǐn)?shù)(MD)能夠反映生成圖像的多樣性和視覺質(zhì)量,并且能通過 KL散度度量真實分布Pr與生成分布Pg之間的差異:
MS(Pg)=eΕx~Pg[KL(PM(y|x)‖PM(y))]-KL(PM(y)‖PM(y*))
(14)
較高的模型分?jǐn)?shù)表示模型生成效果更好。
核最大均值差異(MMD)度量真實分布Pr與生成分布Pg之間的差異,兩個分布間的MMD可以通過有限樣本的期望逼近計算:
(15)
較低的MMD表示Pg更接近與Pr。
3種模型在3個指標(biāo)F的評價結(jié)果如表2-表4所示,可以看出3種模型都提高了模糊圖像的質(zhì)量和清晰度,Bicycle-GAN在3個評價指標(biāo)中都優(yōu)與其他2種模型,說明Bicycle-GAN生成的圖像更接近于真實人臉圖像,能夠很好地將模糊人臉圖像清晰化。
表2 輸入輸出圖像與真實圖像之間的Fréchet Inception 距離(FID)
表3 輸入輸出圖像與真實圖像之間的模型分?jǐn)?shù)
表4 輸入輸出圖像與真實圖像之間的核最大均值差異(Kernel MMD)
本文針對模糊人臉圖像,采用多種算法進行清晰化處理,提出了一種基于深度學(xué)習(xí)的模糊人臉增強方法。實驗結(jié)果表明,通過預(yù)處理數(shù)據(jù)集訓(xùn)練后的Bicycle-GAN能夠有效地將各種模糊人臉圖像清晰化,生成更接近于原圖的清晰人臉圖像。但對于模糊程度較高的圖像,其生成的圖像質(zhì)量會急劇下降,需要進一步優(yōu)化模型,使其適用范圍更廣。