Detecting Photoshopped Faces by Scripting Photoshop研读记录

Abstract

  • 提出了一种检测一个非常流行的Photoshop操作(将图像扭曲应用于人脸)的方法————使用一个完全使用Photoshop脚本自动生成的假图像训练出的模型。
  • 该模型在识别经过处理的图像方面优于人类,可以预测编辑的具体位置,在某些情况下,还可以用来“撤销”操作,以重建原始的、未编辑的图像。该系统可以成功地应用于真实的,人工创造的图像处理。

1. Introduction

  • 在一个数字编辑的视觉内容无处不在的时代,公众有理由渴望知道他们在电视上、时尚杂志上和互联网上看到的图片是否真实
  • “DeepFakes” and other GAN-based 方法容易退化,并显示出可见的伪影。
  • 此外,使用经典的图像处理技术(典型的是Adobe Photoshop)进行的更为精细的图像处理,是视觉处理内容激增的最大贡献者
  • 尽管这样的编辑操作有助于创造性的表达,但如果在观众不知情的情况下进行,它们可能会产生严重的负面影响,从不切实际的标准设定的身体形象问题,到政治中的“假新闻”的后果。
  • 在这项工作中,我们专注于一种特殊类型的Photoshop操作——应用于面部的图像扭曲。这是**极其常见的“**美化”和表情编辑任务。面部扭曲是一个有趣的问题,因为它是一个令人惊讶地难以发现的领域,但它是常用的,具有广泛的影响。我们在一项用户研究中显示,**人类识别这种编辑的准确率只有53.5%(几率是50%)。**我们提出一个镜头,通过它这些微妙的修改
    在这里插入图片描述

图2:训练数据集的随机样本。(a)从Flickr portrait(顶部)和Open images21中刮取的真实图片。(b)使用Photoshop的面部感知液化工具自动创建的随机变形。差别非常微妙。

在这里插入图片描述

  • 如图1所示。我们提出的方法只是众多技术中的一种,这些技术加在一起可以用来帮助打击错误信息的传播及其影响
  • 我们的方法由一个经过精心训练的CNN组成,用于检测**图像中面部扭曲的修改。**与任何深度学习方法一样,收集足够的有监督的训练数据总是一个挑战。这对于取证应用来说尤其真实,因为没有大规模的手工创建的视觉伪造数据集。在这项工作中,我们解决了这个问题,使用Photoshop本身自动生成真实的假训练数据
  • 首先,我们从不同的互联网来源收集了大量的真实人脸图像数据集(图2a)。然后我们在Photoshop中直接编写了脸部感知液化工具的脚本,它将面部操作抽象为高级语义操作,比如“增加鼻子宽度”和“减少眼睛距离”。通过在这个空间中随机采样操作(图2b),我们得到了一个训练集,它由对源图像和看起来真实的扭曲修改组成。
  • 我们在这个数据集上训练全局分类和局部扭曲场预测网络。特别是,我们的局部预测方法使用了损失函数的组合,包括流翘曲预测,相对翘曲保存,和像素级重建损失。我们展示了许多应用程序,包括可视化叠加以吸引对修改区域的注意,如图1b,以及撤销扭曲处理图像使其更像原始图像,如图1c。
  • 最后,我们在许多测试用例上评估我们的方法,包括真实图像,以及通过其他方法执行的扭曲操作得到的图像。

2.related

  • 图像取证,或伪造检测,是计算机视觉中一个越来越重要的研究领域。在本节中,我们将重点关注从大量数据中训练出来的工作,或者直接处理人脸域的工作。

脸部操作

  • 研究人员已经提出了取证方法来检测各种面部操作。Zhou等人[42]和Roessler等人[30,31]提出了神经网络模型来检测( face swapping and face reenactment)面部交换和面部重现——即在拼接、颜色匹配和混合之后,将一张脸完全替换为另一张脸(可能取自同一受试者)的操作。
  • 其他工作研究了检测变形(插值)面[29]和眼睛上高光引起的光线不一致
  • 相比之下,我们认为面部扭曲经历了微妙的几何变形,而不是面部的完全替换,或新细节的合成。

学习照片取证

由于难以获得带标签的训练数据,
研究人员提出了各种“自监督”图像取证方法,这些方法在自动生成的假图像上进行训练。Chen等人[11]使用卷积网络检测中值滤波。Zhou等人[43]提出了一个对象检测模型,具体使用隐写分析特征来降低语义的影响。使用对象分割对模型进行自动创建的合成假货的预训练,然后对实际的假图像进行微调。虽然我们也会自动生成假图片,但我们使用的是典型编辑器会使用的工具,这使得我们能够更准确地检测这些操作。
一个补充的方法是探索无监督的取证模型,这种模型只从真实的图像中学习,而不显式地建模假图像的创建过程。例如,已经提出了几种模型来检测拼接的图像,通过识别来自不同相机模型的patch[9,24],通过使用EXIF元数据[15],或通过识别物理不一致性[23]。然而,这些方法被设计来检测图像拼接问题的实例,而我们解决一个更微妙的操作-面部结构扭曲。

手动定义的操作提示

其他的图像取证工作已经提出使用人工定义的线索[14]来检测假图像。早期的工作是通过发现附近像素之间的周期性相关性来检测重采样伪影[28,20]。也有检测不一致量化4],双jpeg伪影[8,5]和几何不一致[26][的工作。然而,交互式图像编辑工具执行的操作通常很复杂,并且很难建模。相比之下,我们的方法从一个大的经过处理的图像数据集学习适合其任务的特征

3. Datasets

在这里插入图片描述

4. Methods

  • 训练一个检测面部操作的系统。train a system to detect facial manipulations.
  • 两个模型,全局分类模型(预测脸是否被扭曲)局部扭曲预测器模型(识别哪里发生了操作修改并进行反操作恢复)

4.1 真假分类

首先解决图片是否被修改的问题?
我们训练了一个二分类器,通过扩张残差网络变体(DRN-C-26)。[39].

A6. 实现与训练细节
流场一致性面具
通过使用PWC-Net 来计算the flow
Xorig------》Xmod 表示为 Uom
Xmod------》Xorig 表示为 Umo
在这里插入图片描述

通过训练高低分辨率模型来研究分辨率的影响,高分辨率模型能保留低层次细节,对识别假图(诸如重采样人造品的例子)可能有用。
另一方面,低分辨率模型可能包含足够的细节来识别假图并且能被更高效地训练。我们尝试低分辨率和高分辨率模型,图像较短的一侧分别被调整为400像素和700像素。在训练过程中,图像被随机左右翻转,裁剪为分别为384像素和640像素。

当我们在测试设置中控制后处理管道时,真实的用例可能包含意外的后处理。取证算法通常对这样的操作[28]敏感。为了增强鲁棒性,我们考虑更积极的数据增强,包括调整大小的方法(双三次和双线性),JPEG压缩,亮度,对比度和饱和度。我们通过实验发现,这增加了测试时扰动的鲁棒性,即使它们不在增广集中。

4.2. Predicting what moved where

在检测到一张脸是否被修改过之后,观众自然会问图像是如何被编辑的:图像的哪些部分被扭曲了,图像在被修改之前是什么样子的?要做到这一点,我们预测一个光学流场Uˆ∈RH×W×2
从原始图像Xorig∈RH W××3
到扭曲形象X,然后使用它来尝试“反向”操作和恢复原始图像。

我们训练一个流预测模型F来预测逐像素级的翘曲场,为每个训练示例测量它与近似的“地面真”流场U的距离(计算估算原始流之间的光流)

光流场损失
在这里插入图片描述

M: To remove erroneous flow values, we discard pixels that fail a forward-backward consistency test, resulting in binary mask M ∈ RH×W×1.(二进制掩码)
X : is a manipulated image
U : its “ground-truth” flow
: the Hadamard product,逐像素级
Lepe:a measure of flow error。
光流场变化损失
在这里插入图片描述

we encourage the flow to be smooth by minimizing a multiscale loss on the flow gradients:

图像内容的损失
根据从原始图像预测到修改后的图像的正确流场,可以通过反翘曲得到原始图像。这导致了自然的重建损失,在这里插入图片描述

只应用重构损失导致低纹理区域的歧义,这将导致伪影相反,组合三种损失
Ltotal = λeLepe + λmLms + λrLrec.

架构:
我们使用扩展残差网络变体(DRN-C-26)[39],在ImageNet[32]数据集上预先训练,作为我们用于局部预测的基础网络。DRN架构最初是为语义分割而设计的,我们发现它在翘曲预测任务中工作得很好。
我们发现直接训练流回归网络的性能很差。我们首先将问题重新划分为多项式分类,这是回归问题中常用的分类方法(如着色[22,40],表面法向预测[36],生成建模[27]),然后使用回归损失进行微调。我们使用PWC-Net[33]计算地面真流场。有关训练程序的详情载于附录A6

5. Experiments

  • 评估一种用的是人工ps的,一种用的是脚本ps的

5.1. Real-or-fake classification

首先,我们在验证集上考察了全局分类器是否能够检测到经过操作的图像。我们通过对图像进行扰动来测试分类器的鲁棒性,并度量其对专业艺术家操作的泛化能力(表2)。
测试了三种变体

  • Low-res with aug.
  • Low-res no aug.
  • High-res with aug
Baselines:

我们将我们的方法与最近的几种方法进行了比较,这些方法都是为其他相关的取证任务而训练的。

  • FaceForensics++ 训练人脸交换和重现数据的网络;我们使用在原始视频帧上训练的Xception[12]模型。
  • Self-consistency 一种训练用于识别图像中低层不一致性的网络。
评估

首先,我们评估模型的原始准确性关于二进制预测任务。其次,我们使用基于排名的对分数的“基本比率”不敏感的分数
假图片(在实践中可能很难知道)。为此,我们使用平均精度(AP)以及两个替代部队选择(2AFC)得分直接可以与人类研究相提并论,在那里我们为我们的模型提供两张图片,一张是真实的,一张是经过处理的,然后测量分配较高操作概率的时间的一小部分假冒的能力。

自动生成的假图的评估

在这里插入图片描述

表2:真假分类器性能。我们通过自动化脚本和专业艺术家应用FAL翘曲来测试模型。我们观察到,在这三种方法中,使用高分辨率输入的训练效果最好。此外,没有增强的训练在这个领域中执行得更好,但是添加增强可以使模型在增强集内外都更健壮(参见附录A3)。*由于运行时间的限制,在验证集的2k随机子集上测试自一致性。

我们首先研究验证集的性能,如表2(左)所示,其中包含自动生成的经过处理的图像。我们开始在亚马逊土耳其机器人(AMT)上进行人体研究测试。我们将真实的和经过处理的图像并排展示了6秒,并要求参与者识别被修改过的那一张。我们给了15对例子来“训练”每个人,然后收集了35个测试例子(总共40个参与者)。因为我们训练的操作是很微妙的,所以这是一项具有挑战性的任务;参与者有53.5%的几率(概率= 50%)能够识别出经过处理的图像。这表明仅对该任务使用高级语义是困难的。经过增强训练的低分辨率模型的精度为93.7%,平均精度为98.9%。在不增加不同重采样技术的情况下,我们的网络性能提高到97.0%和99.7%的准确率,但是对于不同的图像创建和编辑管道,网络的健壮性较差。处理在更高的分辨率,700像素,性能也提高到97.1%的准确性和99.8%的AP。我们的模型的鲁棒性实验的细节在附录A3中给出,同时在附录A2中分析了全局分类器的类激活映射。

Artist test set

更重要的是,我们研究随机扰动的训练是否可以推广到更真实的环境中。我们从一个专业的艺术家那里收集数据,目的是让一个主体更有吸引力,或者改变主体的表情。由于这里的编辑更加明显,研究参与者能够以71.1%的准确率识别修改后的图像。我们的高分辨率分级器在2AFC设置下的成功率为98.0%。我们的准确性从验证设置中的97.1下降到90.0。不过,AP的跌幅要小得多,从99.8降到97.4。这表明在我们的随机扰动和艺术家之间存在一定的域差距,可以通过“重新校准”分类器的检测阈值来在一定程度上减小这一差距

baseline

我们比较了两个最近的图像取证基线,FaceForensics++[31]和Self-consistency[15]。这两种方法都不是为我们的应用而设计的:FaceForensics++被分为三种操作类型:面部交换、“深度伪造”面部替换和face2face reenactment[31]。另一方面,自一致性用于检测图像特征的低水平差异。这两种方法对我们的数据集都是随机执行的,这表明将其推广到面部扭曲操作是具有挑战性的。
然而,我们的方法能够推广到一些FaceForensics++数据集。低分辨率模型的增强效果明显好于偶然50.0% acc;50.0% AP)对FaceSwap (65.4% acc;、Face2Face (69.9% acc;77.4% AP和DeepFake (77.2% acc;87.1% AP)的任务。另一方面,高分辨率模型并不能很好地适用于任务:FaceSwap (59.4% acc;64.7%的AP)、Face2Face (55.7% acc;55.9%)和DeepFake (65.0% acc;AP)71.3%。这表明训练较低分辨率的图像可能会允许模型学习更多高级特性(例如,几何不一致),功能可以用于检测其他操作,而培训高分辨率图像允许模型利用低级图像特性,允许它窄域内表现得更好。此外,对合成的细微的面部扭曲数据进行训练可能是一种有趣的技术,可以推广到其他更复杂的编辑任务。
在这里插入图片描述

表3:局部的扭曲和撤销性能。 我们在多个评估中展示了本地预测模型的性能:(1)EPE,用于测量平均流量精度;(2)IOU-3,用于测量流量幅度的预测精度;(3)∆PSNR,用于衡量预测的不翘曲程度 从操作中恢复原始图像; ↑,↓指示更高还是更低更好。 在使用Face-Aware Liquify和其他操作的数据集上,我们所有损失(流量预测,多尺度流量梯度和逐像素重建)的完整方法的性能要比烧蚀更好。

在这里插入图片描述

图3:艺术家创建和自动生成数据的定性结果。我们展示了我们对来自外部艺术家和自动生成的验证集的图像流预测的例子。(GT流)“地面真相”光流从原始图像到操纵图像。(我们的预测)从我们的网络预测流量。(流叠加)预测流叠加的强度。参见附录A2了解更多示例。
在这里插入图片描述

图4:变形结果。 这些图像显示了艺术家编辑过的测试数据集的结果,其中操作被我们的模型反转。 在其他编辑中,最上面一行的嘴巴和鼻子都扩大了。 在最下面的行中,鼻子的形状变得不太圆,眼睛收缩了在这里插入图片描述
图5:对伪造视频的分析[6]。 一个微笑的动画驱动单个输入图像(第一帧和最后一帧)。 (顶部)我们的本地分析正确地识别了操纵区域(嘴角)。 (下图)随着时间的推移,全局预测显示动画如何从输入移动到微笑并返回

5.2. Localizing and undoing manipulations

评估操作定位与恢复能力

Model variations

为了帮助理解模型的哪些部分影响了它的性能,我们为我们的局部预测模型去掉了损失函数。由于以前的方法没有考虑预测或扭转翘曲的问题,我们考虑我们自己的模型的变化。(1)我们的完整方法:用端点误差(EPE) (Eqn. 1)、多尺度梯度(Eqn. 2)和重构(Eqn. 3)损失进行训练。(2) EPE:只训练终点丢失的消融。(3) MultiG:用端点和多尺度训练,但不损失重建。

Evaluations

我们评估我们的模型在几个方面,捕获定位能力和扭曲反转能力。(1)原始图像和处理图像之间预测流和地面真流的相似度(eqn1)。(2)并集相交(IOU-)将阈值拟合应用于预测流和地面真流的震级,计算IOU。(3) Delta峰值信噪比(∆PSNR)我们预测的未翘曲处理的有效性,PSNR(原始,未翘曲处理)减去PSNR(原始,操纵过的)

Analysis

如表3所示,我们发现删除一个损失降低了性能。特别是,我们发现直接优化重构损失可以得到更好的图像重构。在图3和图4中,我们显示了自动生成和艺术家创造数据的一些定性结果。我们在附录A2中包含了从验证集随机抽取的更多定性结果。

5.3. Out-of-distribution manipulations

在训练我们的模型检测Photoshop的面部扭曲操作的同时,我们也评估了它检测其他类型图像编辑的能力,并讨论了它的局限性

Puppeteering 伪装

我们进行了一项实验,以查看我们的方法是否可以用于检测最近的图像伪造工作的结果[6]。在这项工作中,视频(来自不同的主题)用于通过图像变形和其他附加细节(例如,皮肤的皱纹和眼睛和嘴巴的纹理)来为输入图像设置动画。我们将操纵检测模型应用于此数据,并表明尽管未接受此数据的训练,我们仍然能够做出合理的预测。图5显示了在此数据上同时运行局部和全局预测变量的定性结果,在该数据中,它正确地标识了开始并返回到(真实)休息姿势的伪装微笑动画。我们观察到,随着时间的推移,我们的低分辨率模型与未进行扩展训练的模型相比会产生更稳定的预测。此外,高分辨率模型并未推广到检测此类操作。我们注意到,由于添加了非扭曲图像细节,因此无法对此数据进行PSNR比较。???

Social media post-processing pipeline

在这里插入图片描述

Table4 :Facebook后处理的结果。我们用艺术家测试集测试了我们的全局模型和局部模型,并比较了不同模型的性能。

我们还评估了我们的模型对Facebook进行的后处理操作(例如,额外的JPEG压缩)的稳健性。我们把艺术家创作的假图上传到Facebook上,然后用后期处理的图片来评估我们的方法。表4显示了我们的低分辨率模型在有和没有增强的情况下的结果,以及高分辨率全局分类器的结果。我们注意到,高分辨率模型并没有推广到这样的场景中,并且通过增强训练的全局和局部模型在这个场景中都表现得更好。

Other image editing tools

在这里插入图片描述

图6:使用其他图像编辑工具实现撤销翘曲。我们展示了来自Snapchat Lens Studio和Facetune编辑的撤销扭曲预测结果。从上到下依次为:(1)操纵输入。(2)提出“撤销”。(3)原始图像。(4)热图叠加。

我们还通过Facetune [2]和Snapchat Lens Studio [3]对面部翘曲测试了本地检测模型。 Facetune提供类似的变形操作以改变人的表情以及喷枪功能,Snapchat Lens Studio通过放大面部的某些部分来变形面部。 图6示出了建议的撤消预测的定性结果。 请注意,即使未在这些工具上训练模型,我们的模型也能够对编辑进行合理的恢复。

Generic Liquify filter通用的液化滤波器

在这里插入图片描述
图7:限制。当操作距离训练分布太远时,如一般液化工具实验。我们的局部预测模型不能正确地识别变形区域。这在覆盖层和未变形的图像中都是可见的(未变形后与地面真相的差异在右边显示,颜色越深越糟糕)。

像任何数据驱动的方法一样,我们受到培训分布的限制。我们方法无法检测到超出此范围的变形编辑,例如应用于头发或身体的变形。这可以在我们的艺术家用普通(非面部)液化实验中看到过滤器,其中图像有时不在分布范围内(图7)。尽管如此,我们的方法仍可以成功地进行成功预测(准确度为64.0,准确度为85.6 AP),表明有一定的概括性。但是,全局分类器的性能远低于FAL操作(90.0精度,97.4 AP),并且局部预测精度不足以改善扭曲时的PSNR(-0.72 ∆PSNR)。增加脚本化变形操作的范围可能会改善这一点。通常,扭转翘曲是一个具有挑战性的问题,因为存在许多可能的面构型。可以看出,在艺术家测试集上获得的PSNR改善平均限制为+2.21 db。尽管减少了这种操作,但是完美还原原始图像的问题仍然是一个开放的挑战。

6 Conclusion

我们介绍了第一种设计用于检测面部翘曲操纵的方法,并通过完全使用从图像编辑工具自动生成的图像训练取证模型来实现此目的。 我们表明,在确定是否操纵图像时,我们的模型可以胜过人类的判断,并且在许多情况下能够预测用于生成变形图像的局部变形场。 我们认为面部翘曲检测是朝着制定用于分析人体图像的取证方法迈出的重要一步,并将这些方法扩展到**人体操作和光度编辑(如皮肤平滑)**是未来工作的有趣途径。 此外,我们还认为我们的工作是朝着制造取证工具迈出的一步,该取证工具无需标签数据即可学习,并将交互式编辑工具纳入训练过程。

参考

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值