董希加,羅京
(四川大學計算機學院,成都610065)
人臉識別是當前應用最為廣泛的身份識別技術之一,早在上世紀90 年代,人臉識別就已經(jīng)是一個熱門的研究領域,大量的諸如EigenFace[1]、FisherFace[2]、Gabor[3]、LBP[4]的基于特征的人臉識別技術被提出。2014 年以來,DeepFace[5]和DeepID[6]等深層神經(jīng)網(wǎng)絡在非限制場景下取得了較好的效果,SphereFace[7]、CosFace[8]、ArcFace[9]等系列提出的網(wǎng)絡結構和損失函數(shù)基本達到了非限制人臉數(shù)據(jù)集上的最佳效果,但是在跨姿態(tài)、跨年齡等跨因素的人臉識別上,準確率將大幅下降。隨著越來越多類型的神經(jīng)網(wǎng)絡被提出,人臉算法由一開始的人臉識別逐漸擴展到人臉關鍵點檢測、人臉修復、人臉生成等眾多領域。2014 年,Good fellow[10]提出了一種無監(jiān)督的生成模型——生成對抗網(wǎng)絡,可以用于生成復雜隨機樣本,數(shù)據(jù)生成與增強是其重要的應用方向,包括圖像分類、檢測在內的眾多計算機視覺任務都可以通過GAN 增強圖像來提高性能,因此受到學界和工業(yè)界的熱捧。
GAN 可有效地應用在人臉去遮擋任務中,Generative Face Completion 等文[11]已經(jīng)證明了GAN 在人臉去遮擋應用的有效性,能夠在修復人臉的同時維持人臉特性。已有的GAN 人臉修復網(wǎng)絡[12-13]與人臉識別過程是割裂的,人臉識別框架一般包括人臉檢測、人臉對齊、特征提取、人臉驗證或人臉識別,一般是將人臉修復網(wǎng)絡的結果作為人臉識別網(wǎng)絡的輸入,因此可以說GAN 人臉修復是人臉識別的預處理手段,也就是說傳統(tǒng)的處理辦法分為兩步:先將缺損的人臉輸入人臉修復網(wǎng)絡,得到人臉修復結果,再將其輸入人臉識別網(wǎng)絡中,得到人臉特征進行人臉驗證或人臉識別。
從理論上來說,GAN 人臉生成與人臉特征提取過程是深度相關的。眾所周知,GAN 網(wǎng)絡的訓練收斂難度較大,那么在人臉去遮擋GAN 算法中,如何在不影響GAN 網(wǎng)絡收斂的情況下引入面向分類的特征提取環(huán)節(jié),又同時促使特征提取順利進行,共同實現(xiàn)人臉去遮擋任務和人臉特征提取任務,是一個難題。
本文提出了一種融合特征提取的多任務人臉GAN算法,在常規(guī)的人臉修復網(wǎng)絡的編碼層后,額外增加一層全連接層(該層僅在訓練時有效),并在GAN 網(wǎng)絡生成器損失函數(shù)中新增損失項,用于訓練人臉修復網(wǎng)絡編碼層的人臉分類性能。
通過該網(wǎng)絡,傳統(tǒng)的人臉修復后進行人臉識別的兩步流程可縮減為一步,人臉修復GAN 網(wǎng)絡編碼層的輸出可作為人臉特征,并且該特征具有高度的人臉缺損魯棒性。另外,人臉修復網(wǎng)絡的修復能力并未減弱。總的來說,本文提出的方法通過網(wǎng)絡參數(shù)復用,在不增加參數(shù)的情況下,同時實現(xiàn)了人臉修復和人臉識別功能,解決了傳統(tǒng)方法缺損人臉識別方法的過程冗余性。
網(wǎng)絡總體上分為Generator 和Discriminator 兩部分,網(wǎng)絡結構如圖1 所示,具體參數(shù)細節(jié)分別如表1、表2 所示。生成器Generator 可以分為兩部分,一部分用于完成人臉去遮擋任務,另一部分用于人臉特征提取。前一部分包括conv1-conv7 和deconv1-deconv5,后一部分表面上只有fc 層,實際上人臉特征提取任務與人臉去遮擋任務共享的conv1-conv6 層參數(shù),達到同一網(wǎng)絡實現(xiàn)多任務的效果。
訓練數(shù)據(jù)初始大小為128×128,加上64×64 的噪聲掩模后進入Generator 進行編碼和解碼,conv6 的輸出為2 處,一處進入fc 層進行分類訓練,以將人臉特征提取融合到網(wǎng)絡中,另一處進入Generator 的deconv1中,最終conv7 輸出64×64 的預測結果,與原始未加噪聲掩模的人臉區(qū)域相對應。這兩部分作為Discriminator 的輸入來訓練Discriminator 的判別能力。
生成器除了Maxpool 和最后一層Conv7,其余每層網(wǎng)絡后都包含BN,使用ReLU 作為激活函數(shù)。判別器除了最后一層Conv6 直接的Sigmoid 函數(shù)外,其余每層后包含BN,使用斜率為0.2 的LeakyReLU 作為激活函數(shù)。生成器和判別器的優(yōu)化器都選用Adam,學習率分別設置為0.0005 和0.0001。
圖1 網(wǎng)絡結構示意圖
表1 生成器Generator 參數(shù)
表2 判別器Discriminator 參數(shù)
(1)生成器損失
Generator 的損失函數(shù)包含三部分,第一部分是標準的生成對抗網(wǎng)絡的對抗損失G0,第二部分是圖像各對應像素的二范數(shù)的平方G2,第三部分則是分類損失GC,用于訓練網(wǎng)絡的人臉特征提取任務。
λ1取值為0.3125,λ2取值為1,λ3取值為0.0125。
(2)判別器損失
判別器損失是標準的生成對抗損失。
使用CASIA-WebFace[14]作為訓練數(shù)據(jù),LFW[15]作為測試數(shù)據(jù),數(shù)據(jù)均經(jīng)過MTCNN[16]對齊。CASIA-Web-Face 包含10575 個人的494414 張人臉圖像,是當前最主流的相對小規(guī)模的人臉訓練數(shù)據(jù)集。LFW 包含5749個人的13233 張圖片,是人臉驗證效果的主流測試集。
CASIA-WebFace 經(jīng)過MTCNN 檢測對齊后,縮放到128×128,在圖片的隨機位置中產(chǎn)生一個64×64 的噪聲掩模,將加上掩模的圖片作為訓練數(shù)據(jù),未經(jīng)處理的圖片作為真實數(shù)據(jù)。
實驗分為兩組:第一組是訓練單任務人臉修復GAN 網(wǎng)絡,即網(wǎng)絡不包括生成器中額外設計的fc 層,將λ3設置為0,通過視覺效果對比分析人臉修復效果,并將生成器MaxPool 后的輸出結果作為人臉特征在LFW 上進行準確率測試。
第二組是訓練多任務人臉修復GAN 網(wǎng)絡,網(wǎng)絡使用前文提到的所有內容,將λ3設置為0.0125,同樣與第一組比較人臉修復效果,將MaxPool 輸出的結果作為人臉特征在LFW 上進行準確率測試。
實驗結果對比包含三個部分:人臉修復效果對比、LFW 準確率對比、訓練損失函數(shù)對比,結果分別為圖2、圖3、表3。
(1)圖像修復效果對比
圖2 修復效果示例
(2)訓練損失函數(shù)對比
圖3 損失函數(shù)時序圖
(3)LFW 準確率對比
表3 人臉識別準確率
圖2 表明,本文設計的多任務GAN 網(wǎng)絡的人臉修復效果并不弱于單任務GAN 網(wǎng)絡。表3 表明,在LFW上的驗證準確率比人臉修復單任務的GAN 網(wǎng)絡高15.8%。圖3 損失函數(shù)時序更是證明了人臉特征提取和人臉修復并不沖突。
綜上,本文提出的網(wǎng)絡結構和損失函數(shù)是有效的。
本文提出了一個融合特征提取的多任務人臉GAN算法,通過網(wǎng)絡參數(shù)復用,在不增加參數(shù)的情況下,使用一個網(wǎng)絡同時實現(xiàn)了人臉修復和人臉識別功能,解決了單人臉修復網(wǎng)絡無法實現(xiàn)有效的人臉特征表征的問題。下一步工作考慮增加生成器網(wǎng)絡中編碼層的深度,并維持多任務人臉GAN 網(wǎng)絡訓練的穩(wěn)定度,從而能夠在LFW 上達到前沿識別水準。