Exploiting Visual Artifacts to Expose Deepfakes and Face Manipulations论文详记
Exploiting Visual Artifacts to Expose DeepFakes and Face Manipulations論文詳記
- 一、論文簡述
- 二、論文內容
- A、篡改偽影
- ①全局一致性
- ②光照估計
- ③幾何估計
- B、基于視覺偽影的分類
- ①、完全生成臉部的檢測
- ②、DeepFakes的檢測
- ③、Face2Face的檢測
- 三、論文實驗及結果
原文鏈接: https://ieeexplore.ieee.org/abstract/document/8638330.
一、論文簡述
提取眼睛、牙齒以及臉部輪廓等位置的特征來檢測DeepFake視頻,屬于基于幀內圖像偽影的檢測方法,使用Logistic回歸或淺層全連接網絡分類,屬于淺層分類器方法。
二、論文內容
作者等人認為,雖然當前的計算機視覺與計算機圖形學的工作(指GANs、VAE等模型)在相對自由的場景中有令人滿意的效果,但將這些技術應用于人臉操縱上面時,大部分技術會凸顯出一定的局限性,這種局限性會在生成內容中產生特征性的偽影。作者等人選擇使用眼睛、牙齒以及面部輪廓上的視覺特征,并證明在開發出足夠通用的統計視頻取證方法之前,基于這些視覺特征的檢測方法,是一種易于實現、可行的檢測方法。
A、篡改偽影
①全局一致性
作者認為,在利用GANs生成新面孔時,支持圖像插值的數據點是隨機生成的,不一定具有語義上的意義,雖然生成的結果通常可以描述為不同面孔的和諧混合,但它們似乎缺乏全局一致性,可以觀察到許多生成的樣本左右眼睛顏色的差異很大,如下圖所示。現實中,不同顏色虹膜的現象被稱為異瞳,但這對人類來說是罕見的。這種偽影在生成的人臉中的嚴重程度各不相同,且并非存在于所有的樣本中。
②光照估計
為了重構具有不同屬性的人臉,必須將入射光從原始圖像轉移到偽造圖像中。對于Face2Face等方法,估算幾何體、估算照明和渲染的過程是顯式建模的,而在基于深度學習的方法中,這種模型通常是從數據中隱式學習的,因此對入射光照的錯誤或不精確的估計將導致相關偽影出現。漫反射通常可以令人信服地重建,特別基于深度學習技術生成的篡改,我們無法發現其相關的偽影。在Face2Face操作的某些情況下(為啥目測DeepFake生成的好像也有?),可以發現著色瑕疵,這些偽影通常會出現在鼻子的某個區域,在該區域的一側陰影被渲染得太暗,作者認為這些偽影可能是由Face2Face的有限光照模型引起的,因為這種模型沒有考慮互反射的影響。下圖顯示與原始圖像進行比較的該偽影的示例。
面部的鏡面反射在眼睛中最為明顯,許多由DeepFake技術生成的樣本顯示出不可信的鏡面反射,具體表現為:眼睛中的反射要么消失,要么簡化為一個白色斑點。這種偽影會導致眼睛看起來不具有神采,下圖中示出了與未篡改的圖片進行比較的示例。
③幾何估計
顯然的是,我們必須估計面部幾何結構才能完成面部的篡改。如前所述,與光照的情況類似,Face2Face通過將可變形模型擬合到圖像中,從而顯式地建模幾何估計,基于深度學習的技術隱式地從數據中學習底層模型。對于Face2Face數據,我們可以發現由底層幾何體的不精確估計引起的偽影,在替換過程中,原始圖像上覆蓋有一個mask。如果幾何估計不完美,則會出現沿mask邊界的偽影。這種偽影通常在鼻子區域、臉部遮擋邊界周圍和眉毛處相對明顯。此外,如果部分遮擋的面部的部分(例如頭發)沒有正確建模,將可能導致出現一些“孔洞”(下圖右),上述偽影如下圖所示。
另外,在目前社交媒體上流傳的假樣本上,我們經常可以發現一些幾何體的缺失。具體來說,牙齒通常是沒有建模模型的,這一點在很多視頻中都很明顯,在這些視頻中,牙齒顯示為單個白色斑點,而不是單個牙齒,如下圖所示。
B、基于視覺偽影的分類
在實際檢測中,偽影的視覺外觀并不總是像示例種那樣明顯,然而,我們表明相對簡單的特征可以用來建模這些觀測,這些特征可用于檢測生成或篡改的人臉。具體來說,我們提出一個算法來檢測:1、完全生成的人臉(也就是Entire Face Synthesis,直接用GAN或者其他生成模型生成的人臉,沒有明確的目標);2、目前在社交媒體上流傳的DeepFake;3、由Face2Face篡改的圖像。
①、完全生成臉部的檢測
作者利用眼睛顏色的差異來檢測完全生成的人臉。為了提取每只眼睛的顏色特征,作者為每個輸入圖像檢測面部LandMark,然后將圖像裁剪到面部區域并重塑圖像為768×768像素(沒看源碼,原文是 the images are cropped to the face region and resized to 768 pixels in height,我個人理解為resize成768*768),使得所有待處理的樣本具有相同的分辨率。作者通過檢測虹膜位置的像素來計算眼睛的顏色特征。作者考慮將虹膜檢測為眼睛LandMark內的一個圓,由于虹膜與鞏膜的對比度通常比較高,因此利用Canny算子做邊緣檢測并應用Hough圓變換,通過對可能屬于瞳孔的暗像素和可能來自反射或不準確分割的亮像素進行閾值化,進一步細化分割。下圖顯示了檢測pipeline中主要步驟的分割結果。
作者還提出兩個一致性檢查來幫助識別虹膜檢測中的失敗情況:1、對于左眼和右眼,虹膜中心和眼睛中心的距離(依據LandMark計算)應該相似;2、兩個虹膜都有相似的半徑。為了提高分割的可信度,丟棄違反這些假設的樣本。
作者定義了多種特征來描述左右眼顏色的差異。首先,將顏色變換為HSV顏色空間,并對左右眼的分割像素進行平均,左眼lHl_HlH?、lSl_SlS?、lVl_VlV?和右眼rHr_HrH?、rSr_SrS?、rVr_VrV?的平均H、S、V值之間的差值計算如下:
DistH=min(∣lH?rH∣,360?∣lH?rH∣)DistS=∣lS?rS∣DistV=∣lV?rV∣DistHSV=DistH+DistS+DistVDist_H=min(|l_H-r_H|,360-|l_H-r_H|)\\ Dist_S=|l_S-r_S|\\ Dist_V=|l_V-r_V|\\ Dist_{HSV}=Dist_H+Dist_S+Dist_V DistH?=min(∣lH??rH?∣,360?∣lH??rH?∣)DistS?=∣lS??rS?∣DistV?=∣lV??rV?∣DistHSV?=DistH?+DistS?+DistV?
另外,作者為每個虹膜計算RGB值的標準化64-bin直方圖,對于每個顏色通道,分別計算左右眼之間的相關性,得到特征CorrelR、CorrelG、CorrelB。對于不需要任何訓練數據的分類,可以直接使用HSV距離DistHSVDist_{HSV}DistHSV?作為分類特征,若為了進一步提高分類性能,可以將所描述的特征組合成一個六維特征向量:
F=(DistH,DistS,DistV,CorrelR,CorrelG,CorrelB)F=(Dist_H, Dist_S, Dist_V , Correl_R, Correl_G, Correl_B) F=(DistH?,DistS?,DistV?,CorrelR?,CorrelG?,CorrelB?)
這些特征通過歐式距離傳遞給的KKK近鄰分類器(K=20K=20K=20)做分類。
②、DeepFakes的檢測
作者利用眼睛和牙齒區域缺失的細節和光反射進行DeepFake檢測。作者再次檢測面部LandMark并將輸入圖像裁剪到面部區域,為了適應輸入數據的不同分辨率,所有樣本都重塑為256×256。對于眼睛區域,作者通過考慮相關眼部LandMark的凸包中的像素來分割;對于牙齒區域,作者先將圖片轉為灰度圖,通過K均值聚類,將嘴部LandMark的凸包中包含的像素點聚類為亮和暗兩個簇,亮簇中的所有像素認定為牙齒,若小于1%的嘴部像素被分類為牙齒,則丟棄樣本。下圖顯示了分割的結果。
作者選擇用紋理能量(texture energy)的方法,通過設計16個固定的5×5卷積mask來提取描述紋理復雜性的特征,根據Laws等人(紋理能量分割論文作者)的建議,在計算能量圖之前,將每個像素減去一個平均值,平均值由一個15×15的局部平均核計算而得。濾波后得到的16個能量圖再利用一個10×10的核做平均,并對對稱的pair進行組合(symmetric pairs的意思是?),這將會在每個像素上產生9個紋理特征。為了生成每個樣本的特征向量,我們分別對眼睛、牙齒和整個圖像中所有像素的9個特征進行平均。這些描述子最后將用兩種分類模型分類:1、擬合一個Logistic回歸模型作為一個典型的“現成”分類器;2、對高容量模型,作者訓練一個淺層的全連接神經網絡來分類,包含三層64個節點和ReLU激活函數。網絡用ADAM進行訓練,并用α\alphaα值為0.1的L2懲罰正則化。
Textured Image Segmentation算法論文連接 https://apps.dtic.mil/sti/citations/ADA083283.
③、Face2Face的檢測
對于Face2Face數據,作者使用了與Deepfakes相同的分類器,但功能不同。我們沒有分割眼睛和牙齒,而是計算面部邊界和鼻尖的特征。同樣,臉部輪廓的分割是通過在檢測到的面部LandMark周圍生成凸包,并在邊緣周圍取一個10像素寬的區域來提取的;鼻子的分割直接提取凸包周圍相關的LandMark。分割的一個例子如下圖所示,特征、分類器及其超參數的計算如前所述。
三、論文實驗及結果
實驗數據集:
①、完全合成人臉:正例來自CelebA,負例來自ProGAN和Glow(魯棒性測試)
②、DeepFake:自建數據集,負例收集自YouTube
③、Face2Face:FaceForensics
實驗效果:
①、完全合成人臉:做了兩次實驗,一次直接計算色差;一次計算訓練的k近鄰分類器返回的概率,ROC曲線如下圖所示。
可以看到用KNN分類器對ProGAN測試數據進行高置信度分割,取得了最佳的分割效果,AUC為0.852;直接使用色差進行分類,而不使用任何訓練數據,AUC為0.814。對于魯棒性測試的Glow數據,AUC最高也能達到0.843,說明泛化能力不錯。
②、DeepFake:在丟棄部分無法分割的樣本后,處理了342個假樣本和367個真樣本,下圖顯示了所提出的分類器的ROC曲線。
可以看到,僅用牙齒生成的特征進行分類的效果相對較差,兩種分類器的AUC均為0.625。從眼睛區域提取的特征可以得到更好的性能,分別為0.820和0.784。利用組合特征向量訓練的三層神經網絡,獲得了AUC為0.851的最佳結果。
③、Face2Face:FaceForensics數據集用于進一步評估提出的紋理特征的適用性。分類結果ROC曲線如下圖所示。
可以看到,基于Logistic回歸模型的分類器性能最好,利用組合特征向量AUC高達0.866。
總結
以上是生活随笔為你收集整理的Exploiting Visual Artifacts to Expose Deepfakes and Face Manipulations论文详记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java四种权限修饰符 (private
- 下一篇: 新型付费服务能否在IT领域异军突起?