每日最新頭條.有趣資訊

給Deepfake 假臉做 X-Ray,新模型把換臉圖打回原形

機器之心報導

作者:思源

計算機視覺頂會 CVPR 2020 接收結果已公布,6656 篇有效投稿中錄取了 1470 篇論文,錄取率約為 22%。本文介紹了微軟亞洲研究院的研究者被 CVPR 2020 接收的一篇論文,其提出給換臉圖像做「X-Ray」,檢測圖像是否是合成圖片,並指出合成的邊界,兼備了識別和解釋兩種特性。

換臉,是濫用深度學習的結果之一。之前我們對視頻還是比較信服的,而自從 Deepfakes、FaceSwap 等應用開源以後,我們能自己生成各種換臉視頻,網絡上也開始流傳層出不窮的「假視頻」。

自 2019 年以來,我們采取了很多方式來封殺換臉應用,弗吉尼亞州 7 月將 Deepfake 濫用列入非法範疇、推特 11 月發布首個反 Deepfake 策略、谷歌 10 月發布 FaceForensics 基準數據集以反對假視頻。

然而,儘管有了應對措施,換臉算法也在不斷改進,我們很難有一個通用的算法能檢測不同模型生成的合成圖。

人臉變換中的兩種模式,我們常見的是第二種,將目標人臉的各種姿態表情都遷移到原來的人臉中。

我們有不同的算法生成換臉圖像,甚至以後會有越來越多的新算法生成更生動的換臉視頻。但目前主流的檢測方法是,在真實圖像與偽造圖像上訓練一個二分類模型,希望它能判別出來。如果訓練數據都是 Deepfakes 生成的,那麽顯然它不太能判斷 FaceSwap 生成的偽造圖像。

因此,我們需要從另一個角度,看看生成換臉圖像都經過什麽步驟,有沒有可能找到一種通用方法。

換個角度,考慮輪廓

微軟亞洲研究院常務副院長郭百寧表示:「現在我們提出了一個方法,它既不需要了解換臉後的圖像數據,也不需要知道換臉算法,就能對圖像做『X-Ray』,鑒別出是否換臉,以及指出換臉的邊界。」

論文地址:https://arxiv.org/pdf/1912.13458.pdf

所以新模型 Face X-Ray 具有兩大屬性:能泛化到未知換臉算法、能提供可解釋的換臉邊界。要獲得這樣的優良屬性,訣竅就藏在換臉算法的一般過程中。如下所示,大多數換臉算法可以分為檢測、修改以及融合三部分。與之前的研究不同,Face X-Ray 希望檢測第三階段產生的誤差。

換臉模型的典型過程,之前的研究都在檢測換臉帶來的誤差,而 Face X-Ray 希望檢測到融合的邊界。

讀者可能會疑惑,DL 真的能識別融合過程中的缺陷嗎?郭百寧博士表示,在圖像采集過程中,每一張圖像都有其獨特的特徵,它們可能來源於拍攝硬體,或者處理軟體。只要不是一體生成的圖像,它們在融合的過程中都會留下線索,這些線索人眼看不到,但深度學習能捕獲。

下圖展示了圖像噪聲分析與誤差水準分析,我們可以發現,真實圖像展現出一致地噪聲模式,而換臉明顯會有所不同。

其中 a 為真臉,b 為合成圖像,中間列為噪聲分析,右側一列是誤差水準分析。

郭百寧博士說:「一般我們在探索、做研究的時候都要提出一些大膽的想法,另一方面我們也在思考這個想法到底靠不靠譜,有沒有證據來支持它。而噪聲分析與誤差水準分析,正好就是 Face X-Ray 具有優良效果的證據。」

這些觀察都表明,模型確實有潛力發現融合過程中產生的缺陷。現在,我們可以想象一下,對於每一張輸入圖像,Face X-Ray 會計算一張灰度圖,如果模型檢測出換臉的痕跡,它就會在灰度圖上畫出邊界,如果模型檢測不出痕跡,那麽灰度圖就是空的。

Face X-Ray 會識別換臉圖像融合的邊界,如果是真實圖像,則不反饋邊界。

怎樣學習換臉邊界?

基本思想已經很明確了,那麽具體怎樣做才能使 Face X-Ray 學習各種換臉邊界,而不用管換臉模型與數據集到底是什麽?在論文中,研究者表示,如果我們在生成換臉時同時生成它的邊界,那麽使用換臉後的圖像與合成臉的邊界,模型就能自行學習到判別知識。

沿著這種思路,Face X-Ray 只需要採用真實人臉,就能完成訓練。具體來說,研究者通過三個步驟生成 Face X-Ray 圖像:

給定一張真實圖像,找到另一張真實圖像以替換掉前一張真實圖像需要改變的地方;

生成一個 Mask 以界定修改的區域;

融合背景與目標圖像。

整個訓練樣本的生成過程可以表示為:

給定真實人臉 I_B,找另一張真實人臉 I_F 以表示 I_B 的變換結果,與此同時生成換臉區域。

對於第一步,研究者會使用人臉特徵點作為匹配標準,從其余圖像/視頻中根據歐氏距離找一組樣本,然後從這組樣本中隨機找一張作為換臉後的「臉部」。

在第二步,初始的 Mask 定義為人臉特徵點的凸包。因為面部變換並不一定總是集中在面部的主要部分,例如隻改變嘴部位置。因此,研究者採用隨機形變以構建更合理與真實的 Mask 區域,且 Mask 區域最後會採用高斯模糊以平滑邊緣。

第三步給定面部圖像 I_F 與背景 Mask I_B,模型就能通過如下方程 1 獲得融合結果。而最終的 Mask 也能通過另一個方程提煉出融合的邊界。值得注意的是,研究者針對 I_F 應用了色彩校正技術,以匹配背景圖像的色彩風格。

如下方程 1 所示,M 為灰度值從 0 到 1 的 Mask,其越接近 1,融合圖像就更多採用的是 I_F 部分的面部圖像,即目標人臉圖像。

泛化優異的 Face X-Ray

在論文的實驗部分,我們可以看到 Face X-Ray 具有非常優秀的泛化性能,不論是什麽樣的算法生成的換臉圖,它都有非常不錯的效果。

下面的實驗圖表很明顯地證實了這一點,研究者採用 FaceForensics++中的基準數據集作為訓練與測試集,Xception 是之前最優的二分類換臉檢測模型。

因為 FaceForensics 基準數據集有四種換臉算法合成,即 DeepFakes (DF)、Face2Face (F2F) 、 FaceSwap (FS) 和 NeuralTextures (NT),研究者將它們拆分為四種訓練與測試集,並最後在 FaceForensics++基準上做測試。

此外,因為 Face X-Ray 這種只需真實圖像的模型非常容易獲取數據,因此研究者基於真實圖像構建了一組混合圖像,並表示為 BI。

如下所示為主要的實驗結果,例如第一行表示 Xception 在 DeepFakes 生成的數據集上做訓練,然後在 DeepFakes 及其它模型生成的換臉圖上做測試。

可以看出來,Xception 這類二分類模型的泛化效果並不好,如果它在 DeepFakes 數據集上做訓練,那麽在 FaceSwap 數據集上的效果就不好,甚至等價於隨機猜測。這表明它們對換臉算法及數據集不具有魯棒性,只要稍微修改一下,檢測算法的效果就會降低很多。

相比而言,Face X-Ray 就穩健很多,即使不在對應的數據集上訓練,不知道換臉算法是什麽,它的準確率也都在 95% 以上。

當然,並沒有完美的換臉檢測模型。微軟亞洲研究院高級研究員陳棟博士說:「如果圖像是整體合成,那麽 Face X-Ray 是難以檢測出來的;如果針對 Face X-Ray 訓練一個新換臉模型,我們的算法也有可能被攻擊到。換臉與換臉檢測是矛與盾的關係,兩者相互促進與發展。」

本文為機器之心報導,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

加入機器之心(全職記者 / 實習生):[email protected]

投稿或尋求報導:content@jiqizhixin.com

廣告 & 商務合作:[email protected]

獲得更多的PTT最新消息
按讚加入粉絲團