Attributing fake images to gans: Learning and analyzing gan fingerprints
公众号:EDPJ
目录
0. 摘要
1. 简介
2. 相关工作
3. 用于图像溯源的指纹学习
3.1 溯源网络
3.2 成分分析网络
3.3 指纹可视化
4. 实验
4.1 设置
4.2 存在性和唯一性:哪些 GAN 参数区分图像溯源?
4.3 持久性:哪些图像成分包含用于溯源的指纹?
4.4 免疫性:图像扰动攻击的溯源有多稳健以及防御有多有效?
4.5 指纹可视化
5. 结论
参考
S. 总结
S.1 主要思想
S.2 模型指纹 & 图像指纹
S.3 图像溯源
生成对抗网络(GAN)的最新进展在生成逼真图像方面取得了越来越大的成功。 但它们也对视觉鉴别和模型溯源提出了挑战。 我们提出了第一项学习 GAN 指纹的图像溯源研究,并使用它们将图像分类为真实图像或 GAN 生成的图像。 对于 GAN 生成的图像,我们进一步确定了它们的来源。 我们的实验表明:(1)GAN 具有独特的模型指纹,并在生成的图像中留下稳定的指纹,支持图像溯源; (2) 即使 GAN 训练中的微小差异也可能导致不同的指纹,从而实现细粒度的模型认证; (3) 指纹在不同的图像频率和块中持续存在,并且不受 GAN 伪影的影响; (4) 指纹微调可有效免疫五种类型的对抗性图像扰动; (5) 比较还表明我们学习的指纹在各种设置中始终优于几个基线
GAN 的成功给视觉界带来了两个挑战:视觉鉴别和知识产权保护。
GAN 对视觉鉴别的挑战。 人们普遍担心该技术被恶意使用时的影响。 就视觉安全、法律、政治和整个社会的破坏性后果而言,这个问题也受到了越来越多的公众关注。 因此,研究针对 GAN 威胁的有效视觉鉴别至关重要。
虽然最近最先进的视觉取证技术在检测虚假视觉媒体方面展示了令人印象深刻的结果,但他们只关注语义,物理 ,或特定伪造场景的统计不一致,例如复制移动操作或换脸。 对 GAN 生成的图像进行鉴别显示出良好的准确性,但每种方法都只能在一种 GAN 架构上运行,通过识别其独特的伪影来操作,并且当 GAN 架构发生更改时,结果会恶化。 GAN 是否会留下常见的稳定标记仍然是一个悬而未决的问题。
GAN 是否留下其生成的图像所共有的稳定标记仍然是一个悬而未决的问题。 这促使我们研究一种有效的特征表示,将 GAN 生成的图像与真实图像区分开来。
GAN 对知识产权保护的挑战。 与深度学习技术在图像识别或自然语言处理中的其他成功应用类似,构建基于 GAN 的产品并非易事。 它需要大量的训练数据、强大的计算资源、重要的机器学习专业知识以及大量的试错迭代来确定最佳模型架构及其模型超参数。 随着 GAN 服务被广泛部署并具有商业潜力,它们将越来越容易受到盗版者的攻击。 这种版权剽窃行为可能会损害模型所有者的知识产权,并夺走他们未来的市场份额。 因此,对于保护知识产权而言,非常需要用于溯源 GAN 生成的图像来源的方法。
鉴于 GAN 技术如今已经达到的真实水平,通过人工检查进行溯源不再可行(参见图 4 的混合图)。 最先进的数字识别技术可以分为两类:数字水印和数字指纹检测。 它们都不适用于 GAN 溯源。 之前关于深度神经网络水印的工作依赖于“白盒”模型训练期间的嵌入式安全方案,需要控制输入,并且在“黑盒”中只能访问 GAN 生成的图像时是不切实际的 “ 设想。 以前关于数字指纹的工作仅限于设备指纹或相机内后处理指纹,它们不能轻易适应 GAN 生成的图像。 这促使我们研究 GAN 指纹,这些指纹追溯不同的 GAN 生成图像的来源。
我们提出了第一项通过学习 GAN 指纹以进行图像溯源来同时解决这两个 GAN 挑战的研究:我们引入 GAN 指纹并使用它们将图像分类为真实图像或 GAN 生成的图像。 对于 GAN 生成的图像,我们进一步确定了它们的来源。 我们通过训练神经网络分类器并预测图像来源来解决这个问题。 我们的实验表明,GAN 带有不同的模型指纹,并在其生成的图像中留下稳定的指纹,支持图像溯源。
我们将我们的贡献总结为证明了 GAN 指纹的存在性、唯一性、持久性、免疫性和可视化。 我们解决以下问题:
视觉鉴别(Visual forensics)。 视觉鉴别旨在检测统计或基于物理的伪像,然后在没有来自嵌入式安全机制的证据的情况下识别视觉媒体的真实性。
数字指纹。 先前的数字指纹技术专注于检测设备指纹或后处理指纹的手工特征。 设备指纹依赖于这样一个事实,即由于制造缺陷,单个设备会在每个获取的图像上留下独特且稳定的标记,即光响应不均匀性 (PRNU) 模式。 同样,在每个图像采集过程中,后处理指纹来自特定的相机内后处理套件(去马赛克、压缩等)。 最近,Marra 等人基于PRNU可视化 GAN 指纹,并展示其在 GAN 来源识别中的应用。 我们将他们手工制作的指纹公式替换为基于学习的指纹公式,将模型指纹与图像指纹解耦,并在各种实验条件下表现出卓越的性能。
数字水印。数字水印是图像认证的补充取证技术。 它涉及在图像中嵌入人工水印。 它可以用来揭示图像来源和所有权,以保护他们的版权。 研究表明,神经网络也可以在训练期间主动加水印。 在此类模型中,可以将特征模式构建到学习的表示中,但需要在水印准确性和原始性能之间进行权衡。 然而,这种水印尚未针对 GAN 进行研究。 相比之下,我们利用固有指纹进行图像溯源,而不会产生任何额外的嵌入负担或质量恶化。
受先前关于数字指纹的工作的启发,我们介绍了 GAN 模型指纹和图像指纹的概念。 两者都是从图像溯源任务中同时学习的。
模型指纹。 每个 GAN 模型都有很多参数:训练数据集分布、网络架构、损失设计、优化策略和超参数设置。 由于目标函数的非凸性和 GAN 中生成器和判别器之间对抗平衡的不稳定性,模型权重的值对其随机初始化很敏感,并且在每次训练期间不会收敛到相同的值。 这表明即使两个训练有素的 GAN 模型可能表现相同,但它们生成高质量图像的方式不同。 这表明 GAN 指纹的存在性和唯一性。 我们将每个 GAN 实例的模型指纹定义为参考向量,以便它始终与其所有生成的图像进行交互。 在专门设计的情况下,模型指纹可以是与其生成的图像大小相同的RGB图像。 参见第 3.3 节。
图像指纹。 GAN 生成的图像是大量固定滤波器和非线性过程的结果,这些过程在相同的 GAN 实例中生成共同且稳定的图样(pattern),但在不同的 GAN 实例中是不同的。 这表明图像指纹的存在及其 GAN 源。 我们将每个图像的指纹引入为从该图像编码的特征向量。 在具体设计的情况下,图像指纹可以是与原始图像大小相同的RGB图像。 参见第 3.3 节。
与自然语言处理中的作者溯源任务类似,我们训练一个可以预测图像来源的溯源分类器:真实图像或来自 GAN 模型。
我们使用由图像源对 {(I, y)} 监督的深度卷积神经网络来实现此目的,其中 I 是从图像集中采样的,y ∈ Y 是属于有限集的源真实标签。 该集合由预训练的 GAN 实例和真实图像组成。 图 2(a) 描绘了我们溯源网络的概览。
我们将图像指纹隐式表示为最终分类器特征(最终全连接层之前的 1×1×512 张量),并将 GAN 模型指纹表示为相应的分类器参数(最终全连接层的 1×1×512 权重张量) 。
当 GAN 训练已经提供了判别器时,为什么还需要使用这样的外部分类器呢? 鉴别器在其自己的嵌入空间中学习超平面,以区分生成的图像和真实图像。 不同的嵌入空间没有对齐。 相比之下,所提出的分类器必须学习统一的嵌入空间,以区分来自不同 GAN 实例或真实图像的生成图像。
请注意,我们研究受已知参数影响的 “白盒” GAN 的动机是为了验证不同 GAN 参数维度的溯源。 实际上,我们的方法也适用于 “黑盒” GAN API 服务。 唯一需要的监督是图像的来源标签。 我们可以简单地查询不同的服务,收集它们生成的图像,并通过服务索引来标记它们。 我们的分类器将通过预测图像是否从所需服务中采样来测试图像的真实性。 我们还通过检查大多数生成的图像是否具有所需的源预测来测试服务的真实性。
为了分析哪些图像成分包含指纹,我们提出了网络的三种变体。
预下采样网络。 我们建议测试指纹和属性是否可以从不同的频带中导出。 我们调查下采样因子的溯源性能。 图 2(b) 显示了一个提取低频段的架构示例。 我们用输入端的高斯下采样层替换可训练的卷积层,并系统地控制我们停止这种替换的分辨率。
预下采样残差网络。 作为提取低频段的补充,图 2(c) 显示了一个架构示例,该示例提取一个分辨率与其 2 倍下采样分辨率之间的残余高频段。 它让人想起拉普拉斯金字塔。 我们系统地改变提取此类残差的分辨率。
后池化网络。 我们建议测试是否可以根据 patch 统计数据在本地导出指纹和溯源。 我们调查对应于 patch 大小的溯源。 图 2(d) 显示了一个架构示例。 受 PatchGAN 的启发,我们将神经张量中的 “像素” 视为该 “像素” 感受野覆盖的局部图像块的特征表示。 因此,后池化操作对基于 patch 的神经统计具有重要意义。 较早的后池化对应于较小的 patch 大小。 我们系统地改变我们开始这个池化的张量分辨率,以便在更多本地和更多全局 patch 统计之间切换。
作为替代我们在第 3.1 节中的溯源网络,其中指纹在特征域中隐式表示,我们描述了一个在精神上类似于 Marra 等人的模型,在图像域中明确地表示它们。 但与他们手工制作的基于 PRNU 的表示相比,我们修改了我们的溯源网络架构并从图像源对 ({I, y}) 中学习指纹图像。 我们还将模型指纹的表示与图像指纹分离。 图 3 描述了指纹可视化模型。
抽象地,我们学习从输入图像映射到其指纹图像。 但在没有指纹监督的情况下,我们选择使用自动编码器基于重建任务来建立映射。 然后我们将重建残差定义为图像指纹。 我们同时为每个源(每个 GAN 实例加上真实图像)学习一个模型指纹,这样一个图像指纹和每个模型指纹之间的相关指数作为分类的 softmax logit。
从数学上讲,给定图像源对 (I, y),其中 y ∈ Y 属于 GAN 实例加上真实图像的有限集 Y,我们制定从 I 到 R(I) 的重建映射 R。 我们基于像素级 L1 损失加上对抗性损失来进行重建:
其中 D_rec 是对抗训练的判别器,GP(·) 是梯度惩罚正则化项。
然后我们将图像指纹明确定义为重建残差。
我们进一步明确地将模型指纹 F^y_mod 定义为与 F^I_im 大小相同的可自由训练的参数,使得 F^I_im 和 F^y_mod 之间的相关指数
在 Y 上最大化。这可以用公式表示为,由源真实标签监督的交叉熵分类损失的 softmax logit:
ˆA 和 ˆB 是图像 A 和 B 的零均值、单位范数和矢量化版本,而 ⊙ 是内积运算。
我们最终的训练目标是
其中 λ1 = 20.0,λ2 = 0.1,λ3 = 1.0 用于平衡各损失项的数量级,对数据集不敏感,固定不变。
请注意,此网络变体用于更好地可视化和解释图像溯源的有效性。 然而,它引入了额外的训练复杂性,因此如果我们只关注溯源则不会使用。
数据集。 我们使用 CelebA 人脸数据集和 LSUN 卧室场景数据集,两者都包含 20, 000 个真实世界的 RGB 图像。
GAN 模型。 我们考虑四种最新的 GAN 架构:ProGAN、SNGAN、Cramer-GAN 和 MMDGAN。 每个模型都使用默认设置从头开始训练,除了我们将训练周期数固定为 240 并将生成器的输出大小固定为 128 × 128 × 3。
基线方法。 给定真实世界的数据集和四个预训练的 GAN 模型,我们与三种基线分类方法进行比较:原始像素上的 k 最近邻 (kNN)、Eigenface 以及 Marra 等人最近提出的基于 PRNU 的指纹方法。
评估。 我们使用分类准确度来评估图像溯源性能。
此外,我们使用类间和类内 Fr´echet Distance 的比率,表示为 FD 比率,来评估跨类的特征表示的可区分性。 比率越大,跨源的特征表示就越可区分。 有关更多详细信息,请参阅补充材料。 我们将指纹特征与图像初始特征进行比较。 初始特征(inception features)的 FD 也称为 GAN 评估的 FID。 因此,初始特征的 FD 比率可以作为参考,以显示手动或无需指纹学习对高质量 GAN 生成的图像进行溯源是多么具有挑战性。
我们通过改变一种类型的参数并保持其他两种参数不变来分别考虑 GAN 架构、训练集和初始化种子。
不同的架构。 首先,我们利用所有真实图像分别训练 ProGAN、SNGAN、CramerGAN 和 MMDGAN。 对于分类任务,我们配置了 5 个类别的训练和测试集:{real, Pro-GAN, SNGAN, CramerGAN, MMDGAN}。 我们从每个来源随机收集 100, 000 张图像用于分类训练,并从每个来源随机收集另外 10, 000 张图像用于测试。 我们在图 4 中显示了每个来源的面部样本,并在补充材料中显示了卧室样本。
表 1 表明,我们可以有效地区分 GAN 生成的图像与真实图像,并将生成的图像归于它们的来源,只需使用常规的 CNN 分类器。 图像中确实存在区分 GAN 架构的独特指纹,尽管手动或通过初始特征对这些图像进行溯源要困难得多。
不同的 GAN 训练集。 我们进一步缩小了对 GAN 训练集的调查范围。 从现在开始我们只关注 ProGAN 加上真实数据集。 我们首先随机选择一个包含 100, 000 个图像的基本真实子集,表示为 real_subset_diff_0。然后我们随机选择也包含 100, 000 个图像的其他 10 个真实子集,表示为 real_subset_diff_#i,其中 i ∈ {1, 10, 100, 1000, 10000, 20000, 40000, 60000, 80000, 100000} 表示不是来自基本子集的图像的数量。 我们收集这样的数据集来探索溯源性能与 GAN 训练集重叠之间的关系。
对于每个 real_subset_diff_#i,我们分别训练 Pro-GAN 模型并查询 100, 000 张图像进行分类器训练,另外 10, 000 张图像用于测试,标记为 ProGAN_subset_diff_#i。 在 {real, Pro-GAN _subset_diff_#i} 的设置中,我们在表 2 中显示了性能评估。
令人惊讶的是,我们发现无论 GAN 训练集重叠量如何,溯源性能仍然同样高。 即使只是一张图像不同的 GAN 训练集也可能导致不同的 GAN 实例。 这表明 GAN 训练期间的单幅图像不匹配会导致一次迭代中的不同优化步骤,并最终导致不同的指纹。 这促使我们研究使用相同架构和数据集但使用不同随机初始化种子进行训练的 GAN 实例之间的溯源性能。
不同的初始化种子。 接下来我们研究 GAN 训练初始化对图像溯源的影响。 我们使用整个真实数据集和不同的初始化种子训练 10 个 ProGAN 实例。 我们采样 100, 000 个图像用于分类器训练,另外采样 10, 000 个图像用于测试。 在 {real, Pro-GAN_seed_v#i} where i ∈ {1, ..., 10} 的这种设置中,我们在表 3 中显示了性能评估。
我们得出结论,这是优化的差异(例如,不同的随机性)导致可溯源的指纹。 为了验证我们的实验设置,我们进行了健全性检查。 例如,使用相同种子训练的两个相同的 ProGAN 实例仍然无法区分,并导致随机的溯源性能。
我们系统地探索对应于不同频带或具有不同 patch 大小的图像分量的溯源性能。 我们还调查了 GAN 伪影可能产生的性能偏差。
不同的频率。 我们调查带限图像是否带有有效的溯源指纹。 我们分别应用建议的预下采样网络和预下采样残差网络进行图像溯源。 给定 {real, Pro-GAN_seed_v#i} 的设置,表 4 显示了对应于下采样因子的分类精度。
我们得出结论:
不同的局部 patch 大小。 我们还调查本地图像 patch 是否携带有效的指纹用于溯源。 我们应用后池化网络进行图像溯源。 给定 {real, Pro-GAN_seed_v#i} 的设置,表 5 显示了对应于 patch 大小的分类精度。
我们得出结论,对于 CelebA 人脸数据集,一个大小为 24×24 或更大的 patch 包含足够的指纹信息用于图像溯源而不会恶化; 对于 LSUN,大小为 52×52 或更大的 patch 可以携带足够的指纹。
无伪影子集。 在我们的整个实验中,最先进的 GAN 方法能够生成高质量的图像,但在某些情况下也会生成明显的伪影。 人们担心这些伪影可能会导致溯源产生偏差。 为了消除这种担忧,我们使用 Perceptual Similariy 来衡量每个测试生成图像与真实世界数据集之间的 1-最近邻相似度,然后选择相似度最高的 10% 进行溯源。 我们在图 5 中比较了非选定组和选定组之间的面部样本,并比较了补充材料中的卧室样本。 我们注意到这个指标在选择更高质量和更少伪影的样本方面在视觉上有效。
给定 10% 选择的 {real, Pro-GAN_seed_v#i} 的设置,我们在表 6 中显示了性能评估。与表 3 相比,所有 FD 比率测量值持续下降。这表明我们的选择也使来自不同 GAN 实例的图像分布更接近真实数据集,因此彼此更接近。 这使得溯源任务更具挑战性。 令人鼓舞的是,我们的分类器在非选定图像上进行了预训练,可以在选定的高质量图像上同样表现良好,因此不会受到伪影的影响。
攻击。 我们应用五种类型的攻击来扰乱测试图像:噪声、模糊、裁剪、JPEG 压缩、重新照明(relighting)以及它们的随机组合。 其目的是通过破坏图像指纹来迷惑溯源网络。 面部图像扰动的示例如图 6 所示。补充材料中显示了卧室图像的示例。
噪声为测试图像增加了独立同分布的高斯噪声。 高斯方差是从 U[5.0, 20.0] 中随机抽取的。模糊对测试图像执行高斯滤波,其内核大小从 {1, 3, 5, 7, 9} 中随机选取。 使用图像边长的 5% 到 20% 之间的随机偏移对测试图像进行裁剪,然后将大小调整回原始值。 JPEG压缩以从 U[10, 75] 中随机采样的品质因数进行 JPEG 压缩处理。 Relighting 使用 SfSNet 将当前图像照明条件替换为照明数据集中的另一个随机条件。 该组合以重新照明、裁剪、模糊、JPEG 压缩和噪声的顺序以 50% 的概率执行每次攻击。
给定扰动图像和 {real, Pro-GAN_Seed_v#i} 的设置,我们在表 7 和表 8 的 “Akt” 列中显示了预训练的分类器性能。所有性能均因攻击而下降。 详细来说,分类器完全无法克服噪声和 JPEG 压缩攻击。 在面对其他四种类型的攻击时,它仍然比随机表现更好。 重新照明攻击是最不有效的一种,因为它只会扰乱低频图像分量。 高频成分中几乎没有变化的指纹可以实现合理的溯源。
防御。 为了使我们的分类器免受攻击,我们在已知攻击类别的假设下微调分类器。 给定扰动图像和 {real, ProGAN_seed_v#i} 的设置,我们在表 7 和表 8 的 “Dfs” 列中显示了经过微调的分类器性能。事实证明,免疫分类器完全恢复了模糊、裁剪和重新照明攻击的性能,并部分恢复了其他扰动的表现。 然而,由于其最高的复杂性,从组合攻击中恢复是最小的。 此外,我们的方法始终优于 Marra 等人的方法。在免疫后的每次攻击下,而他们的攻击并没有有效地从这种免疫中受益。
给定 {real, ProGAN_Seed_v#i} 的设置,我们也可以将指纹可视化网络(第 3.3 节)应用于溯源图像。 我们在表 3 的 “Our visNet” 行中显示了溯源性能,这与溯源模型的性能相当。 图 7 可视化面部指纹。 卧室指纹显示在补充材料中。 事实证明,图像指纹仅最大化对其自身模型指纹的响应,这支持有效溯源。 为了对现实世界图像溯源,指纹仅聚焦在眼睛上就足够了。 为了对其他图像溯源,指纹还考虑了背景中的线索,与前景人脸相比,背景的线索更多变,GAN 更难真实地近似。
我们提出了学习 GAN 指纹以进行图像溯源的首次研究。 我们的实验表明,即使 GAN 训练中的微小差异(例如初始化的差异)也会留下明显的指纹,该指纹通常存在于所有生成的图像中。 这使得细粒度的图像溯源和模型溯源成为可能。 更令人鼓舞的是,指纹在不同频率和不同块大小上都是持久的,并且不会受到 GAN 伪影的影响。 尽管指纹可能会因多次图像扰动攻击而恶化,但通过简单的微调就可以有效地免疫它们。 比较还表明,在各种条件下,我们学习的指纹在溯源方面始终优于最近的基线,并且在跨源可区分性方面始终优于初始特征。
Yu N, Davis L S, Fritz M. Attributing fake images to gans: Learning and analyzing gan fingerprints[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2019: 7556-7566.
GAN 具有独特的模型指纹,并在生成的图像中留下稳定的指纹(图像指纹),支持图像溯源。即使 GAN 训练中的微小差异也可能导致不同的指纹,从而实现细粒度的模型认证。
模型指纹:每个 GAN 模型都有很多参数:训练数据集分布、网络架构、损失设计、优化策略和超参数设置。 由于目标函数的非凸性和 GAN 中生成器和判别器之间对抗平衡的不稳定性,模型权重的值对其随机初始化很敏感,并且在每次训练期间不会收敛到相同的值。这表明 GAN 指纹的存在性和唯一性。作者将每个 GAN 实例的模型指纹定义为参考向量,以便它始终与其所有生成的图像进行交互。
图像指纹:GAN 生成的图像是大量固定滤波器和非线性过程的结果,这些过程在相同的 GAN 实例中生成共同且稳定的模式,但在不同的 GAN 实例中是不同的。 这表明图像指纹的存在及其 GAN 源。作者将每个图像的指纹引入为从该图像编码的特征向量。
可视化指纹流程如上图所示。给定图像源对 (I, y),其中 y ∈ Y 属于 GAN 实例加上真实图像的有限集 Y,我们制定从 I 到 R(I) 的重建映射 R。
图像指纹定义为重建残差:
模型指纹 F^y_mod 定义为与 F^I_im 大小相同的可自由训练的参数,使得 F^I_im 和 F^y_mod 之间的相关指数
在 Y 上最大化。这可以用公式表示为,由源真实标签监督的交叉熵分类损失的 softmax logit:
ˆA 和 ˆB 是图像 A 和 B 的零均值、单位范数和矢量化版本,而 ⊙ 是内积运算。