劉譯鍵 寧 寧 金 鑫
北京電子科技學(xué)院,北京市 100070
在視頻合成、虛擬現(xiàn)實(shí)、隱私保護(hù)等領(lǐng)域,視頻人臉替換有著廣泛的應(yīng)用價(jià)值。 視頻人臉替換致力于將視頻中目標(biāo)人物的臉替換為參考人物的臉,同時(shí)保持目標(biāo)人物面部姿勢(shì)、表情、光照、背景等條件不變。 目前,關(guān)于人臉替換技術(shù)的研究取得了日新月異的成果,但該技術(shù)的難點(diǎn)依舊是如何提取并自適應(yīng)地重組兩個(gè)圖像的身份和屬性特征。 早期的人臉替換技術(shù)基于簡(jiǎn)單的計(jì)算機(jī)圖形學(xué)理論知識(shí),其存在效率低、通用性差的缺點(diǎn)。 現(xiàn)在主流的人臉替換算法基于深度學(xué)習(xí)技術(shù),圖像的生成效果和效率都取得了巨大的進(jìn)步,但是,當(dāng)人臉圖像處于復(fù)雜的光照和膚色條件下時(shí),人臉替換的效果并不能令人滿意,替換后的圖像往往有明顯的偽影。
本文提出了一種基于自編碼器模型的人臉替換算法,針對(duì)目前人臉替換算法像素低的缺點(diǎn),在原始的Deepfakes 算法的基礎(chǔ)上對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),在提升生成圖像質(zhì)量的同時(shí),使人臉替換后的圖像與背景融合更自然。 在基于自編碼器模型的人臉替換算法的基礎(chǔ)上,本文設(shè)計(jì)并實(shí)現(xiàn)了視頻人臉替換系統(tǒng)。 針對(duì)視頻人臉多樣性和背景復(fù)雜性,半自動(dòng)化視頻換臉系統(tǒng)實(shí)現(xiàn)了視頻轉(zhuǎn)圖片、人臉檢測(cè)、人臉對(duì)齊、泊松融合、膚色轉(zhuǎn)換、光照重渲染等操作流程,使視頻實(shí)現(xiàn)精準(zhǔn)的人臉替換。 本文示例中所用的公開人物和影視作品均不涉及隱私,均可公開使用。
為解決人臉替換算法生成圖像像素低、人像與背景融合不匹配等問題,本文在原始Deep-Fakes[1]基礎(chǔ)上改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),提升生成圖片質(zhì)量。
自編碼器模型對(duì)輸入的目標(biāo)圖片和參考圖片進(jìn)行編碼,目標(biāo)圖片和參考圖片的編碼器是同一個(gè),該編碼器學(xué)習(xí)兩張圖片的共性特征。 而目標(biāo)圖片和參考圖片各有一個(gè)單獨(dú)的解碼器,用以學(xué)習(xí)各自的個(gè)性特征。 目標(biāo)人臉經(jīng)過編碼器處理后,再使用參考人臉的解碼器處理,經(jīng)過以上操作,得到的人臉圖像的表情屬性就會(huì)保持目標(biāo)人臉的表情屬性,而新的人臉圖像的五官屬性卻會(huì)變?yōu)閰⒖既四樀奈骞賹傩?,公式表達(dá)如下:
X′ =Decoder(Encoder(Shuffle(X)))
Loss =L1Loss(X′-X)
模型結(jié)構(gòu)如圖1.1。
圖1.1 換臉模型網(wǎng)絡(luò)結(jié)構(gòu)
可以看到,模型訓(xùn)練模塊主要有編碼器模塊、共享模塊、解碼器模塊以及判別器模塊。 本文在原始DeepFakes 網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上增加了更多特征提取層和不同的堆疊順序,DownScale 在編碼器中縮小原圖特征,同時(shí),我們也在原始基礎(chǔ)上增加了Space2Depth 的操作。
圖1.2 原始編碼器
UpScale 在共享層和解碼器中對(duì)特征尺寸進(jìn)行放大,采用pixelshuffle 進(jìn)行上采樣,消除偽影和棋盤效應(yīng)。 采用 Resnet 結(jié)構(gòu)的 Identity shortcut connection 的思想, 構(gòu)建了類似的ResBlock 結(jié)構(gòu)。 訓(xùn)練時(shí)先對(duì)圖像進(jìn)行人臉對(duì)齊,原編碼器僅有一個(gè)DownScaleBlock,內(nèi)含四個(gè)DownScale 結(jié)構(gòu),卷積核為5,卷積核不進(jìn)行膨脹。 本文編碼器有四個(gè)DownScaleBlock,每個(gè)DownScaleBlock 有四個(gè)DownScale 結(jié)構(gòu),其卷積核分別為3,5,5,7,第三和第四塊DownScale 結(jié)構(gòu)的卷積dilation 為2。
編碼器生成的隱空間特征向量進(jìn)入共享模塊,經(jīng)兩個(gè)全連接層、reshape 層和upscale 層后轉(zhuǎn)換為特征圖,分別輸入不同的解碼器。
人臉對(duì)齊后的圖像的解碼模塊的解碼器有三個(gè)相同的解碼結(jié)構(gòu),原解碼結(jié)構(gòu)僅有一個(gè)DecoderBlock 和一個(gè)Conv2D。 本文解碼器中有一個(gè)Conv2D 和兩個(gè)DecoderBlock 結(jié)構(gòu),并在DecoderBlock 之間進(jìn)行 UpScale 和 LeakyReLU操作。
圖1.3 改進(jìn)后的編碼器
圖1.4 共享模塊
圖1.5 解碼器結(jié)構(gòu)
在鑒別器中,訓(xùn)練的損失函數(shù)增加對(duì)抗損失和感知損失,感知損失更好地保持人臉的拓?fù)浣Y(jié)構(gòu),生成圖像更加清晰。 最后對(duì)生成的面部圖像進(jìn)行替換,利用可逆性,將上一步生成的人臉以及對(duì)應(yīng)的mask 圖像調(diào)成之前的狀態(tài)。
在視頻合成、虛擬現(xiàn)實(shí)、隱私保護(hù)等領(lǐng)域,視頻人臉替換有著廣泛的應(yīng)用。 但由于視頻中會(huì)有一個(gè)場(chǎng)景中有多個(gè)人物,以及背景十分復(fù)雜的情況,使得實(shí)現(xiàn)視頻人臉替換的難度較大。 針對(duì)以上問題,在基于自編碼器模型的人臉替換算法基礎(chǔ)上,提出并設(shè)計(jì)了視頻人臉替換系統(tǒng)。 因漏檢而無法標(biāo)注關(guān)鍵點(diǎn)的視頻幀會(huì)有無法實(shí)現(xiàn)換臉的問題,所以設(shè)計(jì)了視頻人臉輔助標(biāo)注工具,采用手動(dòng)標(biāo)注并插值的方法實(shí)現(xiàn)人臉標(biāo)注。 最后通過預(yù)處理(視頻轉(zhuǎn)圖片、人臉檢測(cè)和對(duì)齊)、基于編碼器的人臉替換模型的網(wǎng)絡(luò)和模型訓(xùn)練、人臉轉(zhuǎn)換、后處理(圖像融合和光照融合)、視頻合成五個(gè)步驟,實(shí)現(xiàn)精準(zhǔn)的視頻人臉替換。 視頻人臉替換系統(tǒng)圖如圖2.1。
圖2.1 視頻人臉替換系統(tǒng)圖
2.2.1 預(yù)處理
(1)視頻轉(zhuǎn)圖片
視頻轉(zhuǎn)圖片的過程,使用開源的多媒體工具FFmpeg 工具。 FFmpeg 可以記錄并轉(zhuǎn)換音頻視頻,移植性高,可以在各種環(huán)境、機(jī)器體系結(jié)構(gòu)和配置下,跨不同操作系統(tǒng)編譯運(yùn)行。 將視頻分解成視頻幀時(shí),命令為:ffmpeg -i video.mpg image%d.jpg,將圖片合成視頻時(shí),命令為:ffmpeg -f image2 -i image%d.jpg video.mpg。
(2)人臉檢測(cè)
人臉檢測(cè)和人臉對(duì)齊的精度對(duì)后續(xù)人臉替換有著至關(guān)重要的影響。 人臉檢測(cè)算法是在圖片中檢測(cè)和標(biāo)注人臉的位置。 本文用MTCNN[2]算法來進(jìn)行人臉檢測(cè)。 MTCNN 采用三個(gè)CNN級(jí)聯(lián)的方式,同時(shí)完成人臉檢測(cè)、邊框回歸和人臉特征點(diǎn)定位,方便人臉重構(gòu),算法效率高,如圖2.2。
圖2.2 MTCNN 級(jí)聯(lián)網(wǎng)絡(luò)
(3)人臉對(duì)齊
人臉檢測(cè)之后,基于人臉68 個(gè)關(guān)鍵點(diǎn),由人臉圖像自動(dòng)確定人臉特征點(diǎn)的過程被稱為人臉關(guān)鍵點(diǎn)定位。 人臉的68 個(gè)關(guān)鍵點(diǎn)如圖2.3。
圖2.3 人臉68 個(gè)關(guān)鍵點(diǎn)
定位算法是將人臉的紋理特征與各特征點(diǎn)之間的位置約束結(jié)合,輸入的是圖片,輸出的是人臉關(guān)鍵點(diǎn)的集合。 本文采用的定位方法是FAN[3]人臉對(duì)齊網(wǎng)絡(luò)。 FAN 網(wǎng)絡(luò)是一個(gè)base 的頭網(wǎng)絡(luò)堆疊四個(gè)hourglass 構(gòu)建的人臉對(duì)齊網(wǎng)絡(luò),其中存在于每張圖中的矩陣塊被替換為新的分層并行多尺度結(jié)構(gòu)。 FAN 人臉對(duì)齊網(wǎng)絡(luò)有FAN-2D 和FAN-2D-to-3D 兩部分,F(xiàn)AN-2D 部分在 Heatmaps 之前, FAN-2D-to-3D 在Heatmaps 之后, 基于人體姿態(tài)估計(jì)架構(gòu)HourGlass,先得到人臉的2Dheatmaps,之后將人臉的2D 面部坐標(biāo)和輸入圖像輸入 Face Alignment depth Network 得到關(guān)鍵點(diǎn)坐標(biāo)的深度信息,這也就是對(duì)應(yīng)的面部3D 坐標(biāo)。 FAN 人臉定位網(wǎng)絡(luò)的模型結(jié)構(gòu)圖如圖2.4。
圖2.4 FAN-2D 以及FAN-2D-to-3D 模型結(jié)構(gòu)
檢測(cè)并得到人臉的關(guān)鍵點(diǎn)坐標(biāo)后進(jìn)行人臉對(duì)齊操作,將人臉的特征點(diǎn)與標(biāo)準(zhǔn)人臉特征點(diǎn)坐標(biāo)對(duì)比,計(jì)算得到與標(biāo)準(zhǔn)臉特征點(diǎn)的相似變換矩陣,基于平移、縮放、旋轉(zhuǎn)等操作后得到標(biāo)準(zhǔn)人臉圖像。 通過以下變換將FAN 人臉定位網(wǎng)絡(luò)得到的68 個(gè)關(guān)鍵點(diǎn)坐標(biāo)轉(zhuǎn)換為標(biāo)準(zhǔn)的五點(diǎn)坐標(biāo)。
對(duì)齊處理利用Umeyama 算法實(shí)現(xiàn),相似矩陣是由平移、縮放、旋轉(zhuǎn)操作組合計(jì)算得來,如下為相似變換公式:
依據(jù)相似變換矩陣T 對(duì)x,y 進(jìn)行變換,并將人臉圖片裁剪成合適尺寸,方便下一步的模型訓(xùn)練。
2.2.2 視頻人臉輔助標(biāo)點(diǎn)工具
(1)問題背景
FAN 人臉定位算法在靜圖[4]上的效果很好,但在動(dòng)態(tài)模糊視頻中是無法得到穩(wěn)定準(zhǔn)確的效果的。 在視頻人臉圖像關(guān)鍵點(diǎn)標(biāo)注時(shí),有些人臉圖片是無法直接用算法進(jìn)行準(zhǔn)確標(biāo)注的,例如一些面部姿勢(shì)較大的圖片以及動(dòng)態(tài)模糊的人臉圖片。 針對(duì)此問題,本文提出了基于時(shí)間維度結(jié)構(gòu)一致性的人臉特征點(diǎn)檢測(cè)方法。 具體操作是,手動(dòng)標(biāo)注一張圖片的關(guān)鍵點(diǎn),再通過插值方法將其擴(kuò)展到后面的幀上,這樣可以高效地解決漏檢的問題。
視頻人臉特征點(diǎn)檢測(cè)是基于靜態(tài)人臉圖像特征點(diǎn)檢測(cè)實(shí)現(xiàn)的。 由于視頻中的模糊圖片是由于視頻中人物運(yùn)動(dòng)速度和定格速度不匹配導(dǎo)致的,視頻中的人臉圖像會(huì)缺少像面部輪廓或者邊緣這些結(jié)構(gòu)信息,那么即使是最先進(jìn)的人臉特征檢測(cè)算法也是無法對(duì)其準(zhǔn)確捕捉其中的人臉結(jié)構(gòu)的。 但是,由于視頻抽幀中,是保持了人臉結(jié)構(gòu)在時(shí)間上的連續(xù)性和一致性的,這種性質(zhì)為使用半自動(dòng)人臉關(guān)鍵點(diǎn)插值方法,利用前面幀的結(jié)構(gòu)信息預(yù)測(cè)后面幀的結(jié)構(gòu)信息提供了前提條件。
(2)視頻人臉關(guān)鍵點(diǎn)插值方法
對(duì)于檢測(cè)不到關(guān)鍵點(diǎn)的人臉,手動(dòng)標(biāo)注68個(gè)關(guān)鍵點(diǎn)。 但是考慮到手動(dòng)標(biāo)注68 個(gè)關(guān)鍵點(diǎn)的性能損耗,本文先對(duì)一張圖標(biāo)注5 個(gè)關(guān)鍵點(diǎn),然后利用這些點(diǎn)的坐標(biāo)推導(dǎo)分別代表哪一個(gè)部位,當(dāng)然,并不是所有圖的關(guān)鍵點(diǎn)標(biāo)注部位和順序都是一樣的,但是人臉特征點(diǎn)定位算法可以根據(jù)標(biāo)注的關(guān)鍵點(diǎn)一次得到所需要的關(guān)鍵點(diǎn),然后推廣到68 個(gè)關(guān)鍵點(diǎn)。 使用OpenCV 的CVAT 進(jìn)行剩余視頻幀關(guān)鍵點(diǎn)插值。 假設(shè)給定了前一幀的面部邊框,通過預(yù)測(cè)器計(jì)算出插值并假設(shè)是線性插值來預(yù)測(cè)下一個(gè)面部邊框。 基于此,設(shè)計(jì)了一個(gè)由標(biāo)注工具、插值預(yù)測(cè)器、人臉特征點(diǎn)檢測(cè)網(wǎng)絡(luò)為有機(jī)整體的框架,如圖2.5。 具體流程是,插值預(yù)測(cè)器從前一幀的面部結(jié)構(gòu)預(yù)測(cè)當(dāng)前幀的結(jié)構(gòu),得到當(dāng)前幀的面部結(jié)構(gòu)后,傳給人臉關(guān)鍵點(diǎn)檢測(cè)網(wǎng)絡(luò),給當(dāng)前幀標(biāo)注人臉關(guān)鍵點(diǎn),然后再反饋給插值預(yù)測(cè)器進(jìn)行下一幀預(yù)測(cè)。
圖2.5 視頻人臉特征點(diǎn)檢測(cè)架構(gòu)
插值預(yù)測(cè)器對(duì)有機(jī)整體是至關(guān)重要的,它利用前t-1 和t-2 的面部關(guān)鍵點(diǎn)預(yù)測(cè)當(dāng)前時(shí)刻t 的面部關(guān)鍵點(diǎn)位置。 不考慮人臉的面部紋理,人臉結(jié)構(gòu)是有語義意義且清晰明確的人臉表征,而兩面部結(jié)構(gòu)之間的運(yùn)動(dòng)比單純兩個(gè)圖像之間的運(yùn)動(dòng)更容易獲取,故插值預(yù)測(cè)器在面部結(jié)構(gòu)層面進(jìn)行計(jì)算預(yù)測(cè)。 人臉的面部結(jié)構(gòu)有坐標(biāo)、邊緣、三維模型等表達(dá)方式,由于坐標(biāo)在不同的面部姿勢(shì)下是不穩(wěn)定的,會(huì)隨著不同的表情和姿態(tài)變化,給人臉運(yùn)動(dòng)增加了噪聲干擾,故不利于用來面部結(jié)構(gòu)預(yù)測(cè);而三維模型包含豐富的信息,但是數(shù)據(jù)的獲取是有難度的,綜上,選擇人臉邊緣結(jié)構(gòu)來進(jìn)行插值預(yù)測(cè),在已有研究[6]基礎(chǔ)上,由前面兩個(gè)面部邊緣結(jié)構(gòu)Et-1和Et-2,由計(jì)數(shù)器H 預(yù)測(cè)兩張圖片之間的信息流F,再將預(yù)測(cè)的信息流F和Et-1和Et-2傳遞給當(dāng)前面部邊緣Et:
人臉特征點(diǎn)檢測(cè)網(wǎng)絡(luò)可以是特征點(diǎn)檢測(cè)的任何網(wǎng)絡(luò),無論采用何種人臉特征點(diǎn)檢測(cè)網(wǎng)絡(luò),手工標(biāo)注特征點(diǎn)后都能準(zhǔn)確地預(yù)測(cè)當(dāng)前時(shí)刻人臉的關(guān)鍵點(diǎn),得到的準(zhǔn)確的面部結(jié)構(gòu)信息同時(shí)為下一張人臉的檢測(cè)提供更好的信息,形成一個(gè)良性循環(huán)。
2.2.3 后處理
1.泊松融合
圖2.6 關(guān)鍵點(diǎn)插值后被檢測(cè)到并被替換的視頻幀
預(yù)處理后,目標(biāo)人臉和參考人臉完成了人臉檢測(cè)和人臉對(duì)齊,接著將對(duì)齊后的目標(biāo)人臉和參考人臉輸入基于自編碼器模型的人臉替換模型中訓(xùn)練模型,自編碼器模型會(huì)將目標(biāo)人物的人臉轉(zhuǎn)換為參考人物的人臉,同時(shí)保留住目標(biāo)人臉的表情、姿勢(shì)等面部細(xì)節(jié)。 人臉替換完成后,進(jìn)入后處理,根據(jù)轉(zhuǎn)換后人臉的特征點(diǎn)坐標(biāo)進(jìn)行反變換,將換臉圖片貼回原背景中。 為了實(shí)現(xiàn)渾然一體的效果,就需要進(jìn)行圖像融合操作。 圖2.7 為泊松融合的符號(hào)表示。 其計(jì)算步驟如下:
圖2.7 泊松融合符號(hào)表示
(1)設(shè)待融合圖像g 要融合到背景s 中,通過差分的方法,根據(jù)g 的mask 得到ROI,計(jì)算ROI 梯度場(chǎng)v,背景圖片以及融合圖片的梯度場(chǎng)。 融合圖片的梯度場(chǎng)是將g 的梯度場(chǎng)覆蓋到s的梯度場(chǎng)上。
(2)求解融合圖像的散度,也就是待融合梯度場(chǎng)的梯度的導(dǎo)數(shù),即拉普拉坐標(biāo)。
2. 光照融合與光照重渲染
綜合分析主流光照重渲染算法的優(yōu)缺點(diǎn),針對(duì)人臉替換后的光照不—致問題,本文采用Zhu等人提出的基于3D 的人臉圖像重渲染方法[10],來解決復(fù)雜光照條件下的人臉外觀遷移問題?;?DDFA[10]的人臉圖像光照分析與重渲染算法主要包括以下七個(gè)步驟:
步驟一:用3DDFA 對(duì)目標(biāo)人臉圖像進(jìn)行面部重建;
步驟二:估計(jì)表觀法線和反照率;
步驟三:使用Dlib 檢測(cè)反照率和人臉圖像特征點(diǎn),并基于ARAP 網(wǎng)格變形方法求出反照率對(duì)齊到人臉圖像的變換函數(shù),然后使用該變換函數(shù)將表觀法線對(duì)齊到人臉圖像;
步驟四:求解泊松方程以對(duì)表觀法線非人臉區(qū)域填充,獲得完整表觀法線;
步驟五:使用FaceParsing 對(duì)人臉圖像進(jìn)行解析,劃分出人臉區(qū)域和非人臉區(qū)域;
步驟六:進(jìn)行光照分析;
步驟七:對(duì)人臉圖像進(jìn)行光照渲染,得到光照重渲染結(jié)果圖像。
圖2.8 光照重渲染算法示意圖
實(shí)驗(yàn)的硬件環(huán)境如表3.1。
表3.1 硬件配置表
實(shí)驗(yàn)的軟件環(huán)境如表3.2。
表3.2 軟件配置表
分別在四個(gè)不同的場(chǎng)景:影視視頻、廣告視頻、訪談視頻、跳舞短視頻中測(cè)試人臉替換算法在視頻中的效果。 影視視頻中會(huì)出現(xiàn)同一張圖片中由多個(gè)人物的情況,且背景相對(duì)復(fù)雜;廣告視頻中的人臉會(huì)出現(xiàn)遮擋的情況,且一般光線較暗;訪談視頻中人臉多為正面且光線均勻,屬于情況比較簡(jiǎn)單的;跳舞短視頻中人物面部會(huì)劇烈抖動(dòng)。
圖3.1 為影視視頻的人臉替換結(jié)果,本文提出的人臉替換方法在多人物場(chǎng)景中實(shí)現(xiàn)了精準(zhǔn)的目標(biāo)人物定位,完成了理想的人臉替換。
圖3.1 影視視頻人臉替換結(jié)果
圖3.2 為廣告視頻的人臉替換結(jié)果,在遠(yuǎn)近不同角度的廣告視頻中,人臉檢測(cè)階段未出現(xiàn)漏檢,且經(jīng)過測(cè)試,在閉眼和側(cè)臉的等難度情況下,人臉替換方法效果較好。
圖3.2 廣告視頻的人臉替換結(jié)果
圖3.3 為訪談視頻的人臉替換結(jié)果,其中人物多為正面,不需要手工標(biāo)注,就可實(shí)現(xiàn)穩(wěn)定的換臉效果。
圖3.3 訪談視頻的人臉替換結(jié)果
圖3.4 為跳舞短視頻的人臉替換結(jié)果,跳舞短視頻中人臉抖動(dòng)幅度較大且光照復(fù)雜,利用本文所述方法進(jìn)行人臉關(guān)鍵點(diǎn)標(biāo)注以及后續(xù)的泊松融合和光照融合操作,實(shí)現(xiàn)了真實(shí)自然的換臉效果。
圖3.4 跳舞短視頻的人臉替換結(jié)果
將本文方法與Deepfakes 方法對(duì)比,進(jìn)行定性實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3.5。 觀察分析得到,Deepfakes 方法會(huì)丟失圖像的重要信息,例如光照信息和圖片分辨率;而本文方法較好地保留了光照信息,替換效果也更加自然。
圖3.5 與Deepfakes 方法的比較結(jié)果
在Facefforensics++[7]數(shù)據(jù)集上進(jìn)行定量實(shí)驗(yàn),該數(shù)據(jù)集提供了Deepfakes 視頻換臉結(jié)果,對(duì)每個(gè)視頻抽取10 幀,共1000 張人臉替換結(jié)果圖,與本文方法對(duì)比。 為了對(duì)比兩種方法的性能,基于圖像質(zhì)量、身份保持能力、姿態(tài)誤差和表情誤差四個(gè)指標(biāo)進(jìn)行對(duì)比分析。
關(guān)于圖像質(zhì)量評(píng)價(jià)指標(biāo),本實(shí)驗(yàn)使用峰值信噪比(PSNR)和結(jié)構(gòu)相似性[8](SSIM)來評(píng)價(jià)換臉后圖像質(zhì)量以及與原始圖像的結(jié)構(gòu)相似度。峰值信噪比的定義如下:
SSIM 基于樣本x,y 之間的三個(gè)衡量指標(biāo):亮度(l)、對(duì)比度(c)、結(jié)構(gòu)(s)。 l,c,s 定義如下:
μ 為均值函數(shù),σ 為方差函數(shù)。
SSIM 的計(jì)算公式為:
SSIM =[l(x,y)α·c(x,y)ρ·s(x,y)′]
身份保持能力采用人臉識(shí)別模型CosFace[9]來衡量換臉模型在身份保持上的能力。 將結(jié)果圖像與原始圖像輸入預(yù)訓(xùn)練人臉識(shí)別模型,計(jì)算輸出特征的余弦相似度,公式為:
姿態(tài)誤差評(píng)價(jià)指標(biāo)采用3DDFA 提取原始圖像和結(jié)果圖像的姿態(tài)向量,計(jì)算姿態(tài)向量之間L-2 距離來衡量人臉生成模型的姿態(tài)保持能力,計(jì)算方法如下:
表情誤差評(píng)價(jià)指標(biāo)采用3DDFA 提取原始圖像和結(jié)果圖像的表情向量,算姿態(tài)向量之間L-2距離來衡量人臉生成模型的表情保持能力,計(jì)算方法如下:
定量實(shí)驗(yàn)結(jié)果如下表:
方法PSNR↑SSIM↑dID↑dpose↓dExp↓DeepFakes25.890.770.624.233.34本文方法26.220.790.732.873.35
同時(shí),為了得到更真實(shí)的評(píng)價(jià)結(jié)果,本文引進(jìn)人工主觀評(píng)價(jià),設(shè)計(jì)了100 張調(diào)查問卷,調(diào)查用戶對(duì)換臉結(jié)果在身份保持、姿態(tài)保持、、表情保持、光照信息保持以及自然度上的評(píng)價(jià)結(jié)果。 每部分滿分20 分,對(duì)100 分調(diào)查結(jié)果進(jìn)行統(tǒng)計(jì),人工評(píng)價(jià)結(jié)果如下表。
方法身份保持↑姿態(tài)↑表情↑光照信息↑自然度↑總分↑DeepFakes12151391261本文方法141615161879
綜上實(shí)驗(yàn)結(jié)果表明:本文方法是優(yōu)于原始DeepFakes 方法的。
由于目前人臉替換存在實(shí)現(xiàn)效果不好,分辨率低等問題,所以基于自編碼器模型,在原始的Deepfakes 算法的基礎(chǔ)上對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),提出了基于自編碼模型的人臉替換算法。 同時(shí),針對(duì)視頻人臉多樣性和背景復(fù)雜性,提出并設(shè)計(jì)了基于此算法的視頻人臉替換系統(tǒng),主要工作總結(jié)如下:
(1)在原始的Deepfakes 算法的基礎(chǔ)上對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),加入了更多的特征提取層和不同的堆疊順序,在鑒別器中增加對(duì)抗損失和感知損失,訓(xùn)練模型,生成高質(zhì)量的人臉替換圖像;
(2)針對(duì)視頻人臉替換,對(duì)于視頻轉(zhuǎn)視頻幀操作后出現(xiàn)的面部姿勢(shì)較大或運(yùn)動(dòng)模糊的視頻幀,提出了基于時(shí)間維度結(jié)構(gòu)一致性的人臉特征點(diǎn)檢測(cè)方法,設(shè)計(jì)了人臉關(guān)鍵點(diǎn)插值法,通過標(biāo)注工具、插值預(yù)測(cè)器和人臉特征點(diǎn)檢測(cè)網(wǎng)絡(luò)三個(gè)模塊組成的有機(jī)框架,實(shí)現(xiàn)人臉特征點(diǎn)標(biāo)注;
(3)基于提出的人臉替換算法,設(shè)計(jì)并搭建了視頻人臉替換系統(tǒng),視頻人臉替換系統(tǒng)主要包含預(yù)處理(視頻轉(zhuǎn)圖片、人臉檢測(cè)和對(duì)齊)、基于編碼器的人臉替換模型的網(wǎng)絡(luò)和模型訓(xùn)練、人臉轉(zhuǎn)換、后處理(圖像融合和光照融合)、視頻合成五個(gè)步驟,針對(duì)視頻人物多樣和背景復(fù)雜問題,實(shí)現(xiàn)了精準(zhǔn)的視頻人臉替換。
基于自編碼器模型的人臉替換算法和視頻人臉替換系統(tǒng)可實(shí)現(xiàn)精準(zhǔn)的視頻人物換臉,且在圖像質(zhì)量、身份保持能力和姿態(tài)、表情保持能力等多評(píng)價(jià)指標(biāo)的檢驗(yàn)下取得較好的效果。