馬梓為 ,楊子琪 ,李晨帆 ,黃郅皓
(1.北京航空航天大學 沈元學院,北京 100083;2.北京航空航天大學 網絡空間安全學院,北京 100083)
進入信息時代后,個人身份比以往任何時代都更顯重要,證明個人身份最常用最方便的方法之一就是人臉識別。然而,隨著人工智能(AI)換臉技術的出現,不法分子替換甚至修改“受害者”的面部表情、說話口型,身份偽造的隱患大大升高。據統計,AI 換臉詐騙在我國每年約造成40 億元的損失,占電信詐騙金額的11%。AI 換臉盜用名人身份造謠抹黑的現象層出不窮,還出現了換臉視頻配合語音合成技術引發社會輿論動蕩的現象。比如美國前總統奧巴馬被換臉到一段痛罵特朗普的視頻中,引發了美國社會激烈討論。扎克伯格也在一段虛假視頻中宣稱他掌握了所有臉書用戶的隱私信息,一時間受到人們口誅筆伐。這些現象都說明了AI 換臉行為危害與日俱增,保護個人身份不被篡改意義重大。發展AI 換臉檢測技術以保障網絡空間的公共安全勢在必行。
普遍的AI 換臉檢測方法對于全臉形式的AI 換臉十分有效。然而,隨著換臉技術不斷發展,出現了將人臉局部位置進行替換的局部換臉[1]。局部換臉產生的威脅十分嚴重,多個人的面部特征可以隱藏于同一張人臉上,而這張假臉具備了多個換臉者的身份信息。大多數的檢測方法對于局部換臉技術都是無效的。究其原因,一方面是普遍的AI 換臉檢測技術往往通過不自然的表情、光影、性別等特征鑒別真偽,而局部換臉會縮小這些方面的差距。另一方面,一些換臉檢測技術僅僅針對特定算法,而無法檢測其他算法生成的假臉。
本文以Deepfake 網絡和人臉混合算法(Face blending)[2]生成的虛假人臉為檢測目標,以人臉混合算法生成的虛假人臉為主要訓練目標,以經過多注意力網絡(Multi-attentional Deepfake Detection)[3]加強學習的人臉偽影網絡(Face X-ray)為基礎結構框架,創新性結合后搭建的基于卷積神經網絡的機器學習神經網絡。本文所做工作主要有以下幾方面:
(1)實現了基于人臉特征點對局部人臉的進行替換的簡單算法,憑借該算法構建了網絡訓練所需數據集。
(2)對高分辨率網絡(High-resolution Net)[4-5]進行了推廣,將其應用到人臉圖像特征識別,作為網絡中的特征提取模塊。
(3)為多注意力網絡(Multi-attentional Deepfake Detection)添加接口,成為網絡中的多注意力模塊,創新性地使其與高分辨率網絡相結合。多注意力網絡能夠放大某一特定區域的特征信息,即標記可能的換臉痕跡并且生成一張包含換臉位置的灰度圖。
作為出現伊始就備受關注的研究課題,目前已經出現大量針對人工智能換臉技術的檢測手段[4-11]。早期的檢測手段[7-8]常常集中于檢測對象不符合生物特征的不自然動作,如眨眼或者與面部位置不符的頭部動作?,F有的大多數方法都將深度假檢測視為一個通用的二元分類——真或假問題。他們主要研究如何構建復雜的特征提取,通過二分法來區分真假人臉。這些方法往往都是針對全臉,缺少對于部分位置的介觀檢測。同時,其中一些方法[6,12-13]則指只適用于特定環境或特定AI 換臉方式,比如微觀檢測網絡(Mesoscopic Network/MesoNet)[6]是針對Deepfake和Face2Face 置于中層水平的分析。
高分辨率網絡是針對2D 人體姿態估計(Human Pose Estimation 或Keypoint Detection)任務提出的,并且該網絡主要是針對單一個體的姿態評估。
大多數現有的方法都是從高-低分辨率網絡產生的低分辨率表征中重新提取高分辨率表征。高分辨率網絡在整個過程中保持高分辨率表征,從第一個階段的高分辨率子網絡開始,逐步增加高-低分辨率的子網絡,并將多分辨率的子網絡平行連接起來進行重復的多尺度融合,使每個高-低分辨率的表征都能不斷地接收到其他部分表征的信息,從而導致更為豐富的高分辨率表征。本文將高分辨率網絡識別人體姿態應用于人臉識別,可以標記目標的特征并檢測換臉痕跡。
如前所述,大多數方法將虛假人臉偽造檢測作為普通的二元分類問題,即首先使用骨干網絡提取全局特征,然后將其加入二元分類器(真/假)。但多注意力網絡將深度造假檢測制定為一個細粒度的分類問題。具體來說,它由三個關鍵部分組成:(1)注意力分布模塊關注不同的局部區域;(2)在紋理特征增強塊中,放大淺層特征中的細微假象;(3)對低層紋理特征和高層半實物特征進行聚合。
本文對多注意力網絡中的注意力分布和材質增強部分進行了改進,修改其輸入輸出形式,同時得到單通道的灰度圖用于表征換臉區域。
人臉混合算法是一種簡單的人工智能換臉算法,其原理是基于人臉特征點位尋找目標人臉中特征點分布最為相似者進行替換?;玖鞒淌沁x定目標替換區域,確定替換區域特征點編號,在背景人臉(source)庫中選定一張人臉,遍歷目標人臉(data)庫中人臉,根據特征點位置計算相似度,按照相似度排序選定最相似的100 張人臉。隨機選定100 張人臉的一張作為目標人臉。按照人臉輪廓換臉,生成虛假人臉輪廓(Xray),如圖1 所示。

圖1 人臉混合算法示意
人臉混合算法換臉后的結果多數出現了顏色不合適或突兀的現象,究其原因是人臉混合算法中使用了庫函數color_transfer,其功能是根據背景人臉的顏色修改目標人臉的面部顏色以達到顏色一致,減少修改痕跡。但效果并不理想,圖片顏色出現明顯的顏色差異。因此本文刪去了color_transfer 函數,發現換臉效果較好。與此同時,目標人臉的選擇也發生了改變,選擇了更為合適的目標人臉。利用人臉混合算法,共產生了大小為25 000 的訓練集和2 000 的測試集。該數據集是目前可用數據集中唯一帶有換臉痕跡的圖片集。換臉結果如圖2 所示。

圖2 對于嘴部局部換臉結果
將特征提取與多注意力模塊創新性結合,形成人臉偽影網絡,以此為核心搭建基于卷積神經網絡的AI 換臉檢測系統。
高分辨率網絡模型的作用是對輸入的圖片進行一系列操作,最終輸出其預測的換臉輪廓,整個過程中保持高分辨率表示。反復交換并行多分辨率子網絡中的信息來進行重復的多尺度融合,具體過程如下。
首先,將原有的PyTorch 函數固定卷積核尺寸為3 重新封裝,對輸入圖片先使用1×1 卷積先降維,再使用3×3 卷積進行特征提取,最后使用1×1 卷積重新升維。然后,利用前向傳播函數forward 搭建高分辨率模塊(HighResolutionModule):(1)僅包含一個分支時,生成該分支,沒有融合模塊并直接返回。(2)包含不僅一個分支時,先將對應分支的輸入特征輸入,得到對應分支輸出特征,然后執行融合模塊。高分辨率模塊所有分支不斷增加分支、加深、融合后,最終輸出3 個參數,分別是36 通道的X1、72通道的X2、144 通道的X3。特征提取模塊結構如圖3所示。

圖3 特征提取模塊結構
為了從不同尺度提取偽造痕跡,以達到精細化識別的深度造假檢測,本組決定使用多注意力網絡,將檢測目標集中于幾個高反應的注意力區域(如嘴部、眼部等),分別檢查造假痕跡并生成預測換臉痕跡。由于在不間斷的訓練之后神經網絡的參數往往會使其集中于人臉的某一部分而忽略了其余部分存在的問題,采用多注意力模型強迫神經網絡向更多的方向進行學習,而不是僅集中于某一塊常出現問題的區域,可以增加整個網絡的健壯性、精密性和穩定性。
多注意力網絡對高分辨率網絡的輸出進行一系列處理,最終得到1 通道的灰度圖,即預測換臉痕跡圖。多注意力模塊如圖4 所示。

圖4 多注意力模塊
3.2.1 注意力分布模塊
注意力分布模塊(Attention Module)對某一特定區域給予獨特關注,通過卷積、批處理歸一化、非線性激活后輸出許多層注意力塊,即各個區域的掃描結果,如圖5 所示。注意力信息模塊本身是一個輕加權模型,由1×1 的卷積層、批處理歸一化層和非線性激活層ReLU 組成。在輸入某一層圖像時,該模塊可對其進行提取,最終得到大小為Ht×Wt的注意力塊,代表著對某一特定區域的獨特關注。

圖5 注意力分布模塊組件
3.2.2 材質增強模塊
由于偽影通常在淺層特征的紋理信息中較為突出,為了保留更多的紋理信息來捕捉這些偽影,本文采用歸一化平均池化的方法,并使用3 層密集連接的卷積塊來增強紋理信息。
該模塊主要流程為對于輸入的特征層Sla,對其進行局部平均池化以向下采樣得到該層的圖像特征D,根據空間紋理定義對圖像紋理進行如下定義:
在得到初步的圖像紋理T 的基礎上,將其輸入3 層的密集連接卷積塊,對其進行紋理增強,得到最終的圖像紋理。
多注意力模塊的加工處理過程如下:
(1)按維度連接36 通道的X1、72 通道的X2、144通道的X3得到240 通道的X:
(2)對X1進行注意力分布模塊處理,輸出72 通道的:
(4)對144 通道的X3進行注意力分布模塊處理,輸出17 通道的:
(5)對X 進行Head()處理,將其從240 通道變為17 通道:
對89 通道的Xout卷積,最終輸出1 通道的預測換臉痕跡灰度圖。
概率輸出組件在得到上述網絡輸出的預測換臉痕跡后,將其作為輸入進行線性和非線性的運算,得到對應人臉為虛假的概率,判定輸入網絡的人臉是否為經過換臉的虛假人臉,并輸出對應的換臉痕跡。概率輸出組件實際上是由全局平均池化層、全連接層和softmax 激活層按順序組成。
在全局平均池化層中,利用Adaptive-AvgPool2d函數對得到的預測臉框進行全局平均池化,在保持其原有數據特征的前提下對數據進行降維,以便于進一步處理與比較。同時,利用自適應池化使網絡對任意圖片都具有一定的處理效果,而并不局限于某一規格的輸出。
在全連接層中,通過.view 函數將池化后的特征圖轉換為一維向量,再將一維向量通過nn.Linear()進行全連接,通過sigmoid 函數對得到的結果進行激活,得到最后的預測概率。
CelebA[14]數據集是一個大規模名人特征數據集,包含超過200 000 張名人照片,每張照片都有40 個屬性標注,注釋包括2 025 999 個人臉圖像的5 個關鍵點位置。
CelebAMask-HQ 是一個大規模的人臉圖像數據集,包含了3 萬張從CelebA 數據集中選擇的高分辨率人臉圖像CelebA-HQ,每個圖像都有對應CelebA的人臉屬性的分割掩碼。CelebAMask-HQ 的mask 大小為512×512,共有19 類屬性特征,包括皮膚、鼻子、眼睛等面部部位和裝飾配件。
實驗所用數據集以CelebAMask-HQ 所標定的目標區域為基礎,利用改進的人臉混合算法進行局部和全部的人臉替換,生成了全臉、眼睛、嘴巴、鼻子、眉毛部位經過替換的各2 500 張假臉和另外12 500 張真臉,共同構成了大小為25 000 的實驗所用訓練集。同時生成上述5 種替換不同部位的假臉各200 張,與1 000 張真臉構成了大小為2 000 的測試集。
在Python3.9.7 64 bit 環境下,利用“12 500+12 500”的訓練集和大小為“1 000+1 000”的測試集對網絡進行訓練。
(1)人臉混合算法基于人臉特征篩選相似人臉,換臉得到輸出的虛假人臉及換臉臉框。
(2)偽影提取網絡對輸入的人臉進行換臉臉框預測,并預測損失值。輸入中的Label 代表輸入臉框為真實(1)或虛假(0)。
(3)偽影檢測網絡計算輸入臉框代表的人臉為虛假的概率,并給出概率損失值,同時輸出偽影檢測網絡對輸入人臉的判斷Label_NNc。
(4)將偽影提取網絡輸出的預測臉框損失值與偽影檢測網絡輸出的概率損失值進行線性運算,得到最終的損失值loss,將loss、Label_NNc 反向傳播,進行機器學習并開始下一輪的訓練。
學習網絡框架如圖6 所示。

圖6 學習網絡框架
經過100 輪訓練,最終測試正確率高達98%,測試集中部分假臉與真臉測試結果如圖7 所示。

圖7 測試集中部分假臉與真臉測試結果
表1、表2 展示了訓練過程中的訓練輪數與準確率和檢測效果之間的關系。

表1 訓練輪數與準確率

表2 訓練輪數與測試結果
多注意力網絡偽臉顯廓系統(MAD)方案主體為偽影提取網絡,主要包含特征提取模塊和多注意力模塊。前者用于提取目標人臉的面部特征與像素轉換,后者用于區分注意力區域和加強特征。偽影檢測組件根據偽影提取網絡所輸出的特征圖進行判別并輸出預測換臉痕跡。如果目標人臉經過人工智能換臉操作,可以通過本文方法判斷其為換臉痕跡。本文方法對虛假人臉的檢測在一定程度上保護了個人肖像權、名譽權,可以用于預防新型換臉詐騙以及身份竊取、身份偽造所造成的嚴重后果。
AI 換臉技術,尤其是近兩年剛剛興起的局部換臉技術,在追究換臉者法律責任時,存在“檢測難”和“舉證難”的特點[15-17]。本文利用多注意力網絡不僅能鑒別一般的人工智能換臉照片,解決了“檢測難”的問題,更是能夠精確地鑒別局部換臉,保證了整個網絡的穩定性,解決了“舉證難”問題。本文方法成本低、效率高、可操作性強,擁有廣泛的實際應用價值。