于泗泓,于 洋,王爾博,王存睿
(大連民族大學 計算機科學與工程學院,遼寧 大連 116650)
人臉融合技術在諸多領域具有廣泛的應用,其中具有代表性的技術有DeepFake、FaceSwaps等。以生成對抗網絡(GAN)為代表的方法已成為最常使用的技術之一[1]。人臉融合技術在生活中的使用度逐漸提高,目前雖然計算機識別圖像已經在多個標準數據集中呈現穩定的狀態,但真實應用場景中,仍然存在著大量非標準的人臉姿勢,如圖1。當遇到側面圖像時無法完美的融合到源圖像中。
目前解決不同姿勢識別問題的主流方法有以下兩類:一類采用手繪(hand-crafted)或學習不同姿態的特征[2],在不變和可識別之間做出權衡,往往無法有效處理大角度的姿勢;另一類則是通過將二維圖像模型與有確切身份的三維圖像模型進行對齊[3],使用LBP來考慮局部變化并利用三維幾何變換渲染正面人臉圖像。但是這種方法遇到大量差異較大的姿態圖像時,紋理細節損失嚴重,性能也不盡如人意。在本文中解釋了如何利用人臉五官的對稱性來生成正面人臉圖像及如何通過五官遷移將側面人臉圖像完美的融合到源圖像中。

圖1 側面人臉圖像融合效果
文中提出了一種基于區域變換的人臉融合改進算法,首先利用人臉圖像關鍵點檢測技術判斷輸入的人臉圖像是否為正面圖像,若輸入的圖像是側面圖像則將其通過TP-GAN[4](Two-Pathway Generative Adversarial Network)網絡進行正側面角度轉換。隨后將輸出的正面面部圖像歸一化,旨在解決面部尺度變化和面部旋轉的問題,接著通過人臉區域選取對其進行仿射變換、區域替換和膚色矯正,最后生成融合后的正面人臉圖像。其中區域選取部分使用到了Dlib提供的接口get_landmarks,該接口用于獲取面部關鍵特征點的坐標,從面部區域提取面部關鍵點眉、眼、鼻和嘴的位置坐標,預測變量需要在算法中定義,且需利用普氏分析方法(Procrustes Analysis)對原始數據進行預處理[5],具體實驗流程圖如圖2。

圖2 基于區域變換的人臉融合流程圖
本文使用到的網絡結構如圖3。生成器GθG由兩條路徑組成,一個是全局網絡DθD,其進行處理全局結構,其中用GθG來處理左右眼、鼻子和嘴唇及其周圍的紋理并進行提取,相當于2D/3D局部紋理扭曲的方法[6]。一般將人臉的歸一化分為兩個步驟,第一步是將人臉于模型進行全局對齊,第二步則是扭曲或渲染局部紋理到全局。側面圖像合成正面圖像是高度非線性的轉化過程,由于過濾器是人臉空間的所有位置共用的,即全局網絡無法精準恢復局部細節,而TP-GAN成功轉化成為基于深度學習的視圖合成的生成器。

圖3 TP-GAN 網絡結構
進一步將正面分布的檢驗加入到訓練中,引入一個判別器DθD來區分真實的正面圖像和轉換正面圖像,像判別器對于真實正臉給高分,對于生成器生成的正臉則給低分。交替訓練DθD和GθG來優化最小最大的問題。其中尤為特別的是判別器生成的是2×2的概率矩陣而不是一個數[7]。
(1)
式中:DθD為判別器用來區分真實人臉圖像;GθG為生成器;IF為人臉圖像;Ip為生成人臉圖像;log(1-DθD(GθD(IP)))表示人臉圖像生成器GθG欺騙判別器的能力,EIF~P(IF)表示對人臉圖像判別器DθD判別真實樣本判別能力的數學期望。
對稱是人臉固有的特征,利用先驗知識在合成圖像上運用其對稱的特性,可以有效地改善被遮擋部分的問題。展開來說,就是在原像素空間和拉布拉斯圖像空間中定義對稱損失,其對稱損失為
(2)

這樣可以對不同光照具有魯棒性,簡單來說就是使左右兩側的差距變小,當只有側臉部分的像素產生損失時,這個損失產生的額外梯度會促進TP-GAN模型的收斂[8]。而衍生出來的最終的綜合損失函數為
Lsyn=Lpixel+λ1Lsym+λ2Ladv+λ3Lip+λ4Ltv。
(3)
式中:Lpixel表示Pixel-wise損失;Lsym表示Symmetry損失;Ladv表示Adversarial損失;Lip表示人臉Identity Perserving損失;Ltv表示Total variation損失,最終損失Lsyn是這五個指標的加權和。
實驗還加上了一個全變差正則化減少偽影的合成,這可以保證對稱損失函數的對稱作用,其可以加速擬合,產生更真實的圖,還可以補全遮擋的部分。
在側面人臉轉正面人臉合成方面的難點都在于人臉角度,在一般情況下大于60°時,很難將側面圖像轉為正面圖像。然而,本文可以證明,有足夠的訓練數據和正確的網絡結構及適合的損失函數,大角度的側面轉正面的合成是可以實現的。TP-GAN可以從任何角度合成其正面圖像,TP-GAN不僅可以合成自然地人臉正面圖像,還可以保存其身份識別的圖像。借助先驗知識進行數據建模,不僅可以實現面部整體結構,還可以顯示出被遮擋的耳朵、臉頰和額頭。此外,還可以完美的保留原始的側面圖像中檢測到的面部特征[9],例如眼鏡、發型等,如圖4。本文通過用Multi-Pie人臉數據集進行實驗,展現了在不同角度下,合成的正面人臉圖像。Multi-Pie人臉數據集是卡耐基梅隆大學于2000年收集,于2009年發布的多視點人臉圖像數據集,其主要用于身份鑒定,是PIE數據庫的替代品,其包含在15個視點下捕獲的337個主題,其中涵蓋共計超過750 000個圖像,其在推動姿勢和光照的人臉識別研究具有很大的影響力。實驗結果證明TP-GAN保留了更多的紋理細節,并且很少有模糊的效果,這足以確定其具有穩定的合成能力。

圖4 不同角度TP-GAN合成結果
TP-GAN根據不同姿勢合成的結果,從左到右依次為:90°、75°、60°、45°、30°和 15°,其中最后一列是真實圖像。為了進一步證明TP-GAN網絡的轉換效果,每一豎列展示了在不同網絡結構下生成的正面圖像如圖5。可以看出第一列TP-GAN網絡生成的保留了更多的紋理,狀態十分穩定。

圖5 不同網絡結構對比圖
利用TP-GAN網絡生成正面人臉圖像后最關鍵的一步則是人臉融合,本文人臉融合的具體分為如下幾步:
(1)利用OpenCV中window.add_overlay(dets)來繪制檢測到的人臉框,并且獲取每個關鍵點shape.parts()坐標,將模型默認提取的68個關鍵點存入landmark矩陣,提取結果。
(2)將輸入的矩陣轉換為浮點數,這是后面步驟的必要條件。每一個點集減去它的矩心,一旦為這兩個新的點集找到了一個最佳的縮放和旋轉方法,這兩個矩心c1和c2就可以用來找到完整的解決方案。同樣,每一個點集除以它的標準偏差,這消除了問題的組件縮放偏差。使用SingularValueDecomposition計算旋轉部分,利用仿射變換矩陣返回完整的轉化[10]。實質上最后就是得到了一個轉換矩陣,第一幅圖片中的人臉可以通過這個轉換矩陣映射到第二幅圖片中,與第二幅圖片中的人臉對應。得到了轉換矩陣后,就可以使用它進行映射。這里也是使用了OpenCV的warpAffine函數,自己從底層實現會比較復雜。
(3)為獲取人臉mask,通過定義像素值,屬于人臉的區域像素標記1,不屬于人臉的區域像素標記為0,來進行人臉位置確定如圖6。上面這兩個結果相加即可以實現初步的換臉。

a)源圖像mask b)輸入圖像mask c)區域替換
(4)人臉對齊后利用人臉特征點,可以進行凸包檢測來得到人臉的區域,然后把第二幅圖凸包中的位置摳出來放到第一幅圖片中就可以了。但是,這樣得到的結果是十分不自然的,因為會受到背景光照或者膚色等因素的影響。
利用高斯模糊來幫助校正顏色,使用im2(輸入人臉圖像)除以im2的高斯模糊,乘以im1(源圖像)來校正顏色。總體來說,這個方法比較粗糙和暴力,很多因素都忽略了,結果也只能從一定程度上獲得提高,有時反而會被修正的更“差”。因為有很多的影響因素,選取到一個合適的高斯核的大小,才可能取得比較理想的結果。如果太小,第一個圖像的面部特征將顯示在第二個圖像中。過大內核之外區域像素被覆蓋,并發生變色。
(5)測試函數會應用到前面所有的程序,并把過程中生成的圖片全部打印出來。在進行一系列操作后,輸入正面圖像的灰度不是初始的0~255或是0~1了,要顯示這些圖片必須要先進行歸一化。在程序中調用了opencv中的cv2.normalize()函數。
本實驗展示了模型在定性綜合結果和定量識別結果上的優點,從上面輸出的結果,可以看出深度特征表示已可視化,說明了TP-GAN的效果已經達到了一個令人滿意的程度,此次實驗用到的數據集是750 000的數據集,其可用在姿態、光照和表情變化等各類情況下的人臉識別檢測中。雖然有很多利用深度學習來進行正面人臉合成的例子,但是他們合成的圖像都無法存儲具有其身份識別信息的圖像。
在五官遷移的過程中,每個測試圖像皆為其正面圖像。傳統的面部遷移方法效果都很差,其主要原因是傳統的膚色融合及面部選擇區域過小,會影響其面部個別特征遷移后消失不見。為了測試文本提出的修改遷移選取五官的效果,故選取相同的輸入圖像作為測試樣本來進行實驗,面部五官遷移效果如圖7。圖中從左至右分別為源圖像以及生成圖像。

a)源圖像 b)生成圖像
本文的方法,通過TP-GAN框架將人臉圖像由側面轉為正面,為了解決不受約束的問題,在訓練過程中進一步引入了對抗性損失。對抗性損失能準確地發現并指導合成駐留在正面的數據分布中,進而明確地利用對稱性來減輕大角度情況下被遮擋的影響。此外,還將身份保留損失融入到本文的框架中,使合成人臉圖像具有良好的視覺效果,可以應用于準確的人臉識別。通過本文實驗表明,該方法提供了引人注目的感知結果,在大姿態人臉識別上也優于目前的研究成果。針對面部五官融合的問題,本文改變遷移區域劃分的方法,通過基于OpenCV和Dlib方法進行人臉融合。實驗結果表明由Semaless與Vag-Color的組合對人臉五官遷移有重要作用。與其他現有方法相比,本文的方法在融合程度與視覺效果均具有優勢,是一個很有潛力的模型。