摘要
提出一種新的圖像表示稱為face X-ray,用於檢測偽造的人臉。一個輸入人臉的face X-ray是灰度圖,可表明輸入圖是否可分解為兩張不同源圖像的合成。它通過顯示偽造圖像的混合邊界和真實圖像的absence來實現。絕大多數人臉變換算法有一個共同步驟:將更改后的臉部混合到現有背景圖像中。為此,face X-ray提供有效方法檢測偽造人臉。Face X-ray 僅僅假設blending步驟存在。事實上訓練face X-ray算法不需要牛逼人臉造假算法(DeepFakes、Face2Face、FaceSwap、NeuralTextures)生成的假臉 。當將face X-ray用於未知算法生成的假臉時仍有效,其他算法則不太頂。如下圖(a)真臉返回的face X-ray是黑圖,因為沒有合成邊界。而(b)中的合成人臉是有邊界的。
假臉檢測的難點之一是在實際應用中無法得知生成假臉的算法。而多數假臉檢測算法是在已知算法條件下監督訓練的。這就導致這些算法能達到98%的准確率。當然缺點也很明顯:過擬合和受限於特定算法。本文觀察到大多數人臉合成算法都有同一步驟:將轉換后的人臉混合到已有的背景圖像中。這就在混合邊界上存在固有的圖像差異。這些差異可以探測到邊界。實際上,采集過程每個圖像都有自己的區別標記,這些標記是從硬件(例如,傳感器、鏡頭)或軟件組件(例如,壓縮、合成算法)引入的,並且這些標記傾向於呈現在整個圖像中。本文描述了噪聲分析和錯誤級別分析作為兩種代表性的區別標記:
face X-ray算法通過自監督算法訓練大量由真實圖像合成的混合圖像,無需利用其他算法生成的假臉。
方法
如上典型的面部合成方法包括三個階段:檢測面部區域、合成期望的目標臉、 將目標人臉融合到原始圖像中。之前的假臉檢測集中於第二階段:即通過訓練一個真假臉分類網絡來解決識別假臉。但是這種方法在識別其他方法生成的假臉時就不太好使。本文主要針對這個泛化性能來講。
每幅圖像都有自己獨特的標記或基本統計數據,主要來源於硬件和軟件。因此,可以利用邊界上底層圖像統計的不一致性來發現混合邊界來檢測偽造的人臉圖像。
Face XRay Definition
給定輸入圖,想去判定這張圖是否是兩張圖的乘積:
前者是含期望面部屬性的前景,后者是背景。M代表mask,划定操縱區域。M灰度值在0-1之間。為此定義X-ray為圖像B,若輸入圖為合成圖則B將會透露出混合邊界信息,若為真圖則B的像素為全零。定義輸入圖像的face X-ray為B:
整個流程圖:
通過混合兩個真實的圖像來產生非平凡的面部X射線。