论文理解——Proactive Deepfake Defence via Identity Watermarking

来点Deepfake

1. 文章要素

1.1. 背景

现有deepfake检测技术分为被动检测和主动检测两种。

被动检测依赖于deepfake中留下的伪影,通过判断图片是否存在伪影来判定图片是否被deepfake。这些伪影可能包括颜色失真、局部斑块等空间信息,和眨眼、不一致的头部和嘴部运动来检测伪影。

主动检测 [1, 2, 3, 4] 依赖于水印,通过在原始图像中嵌入一个不可见的水印来对抗恶意的Deepfake,并保证标签在被Deepfake后任然可以被检索到。

1.2. 动机

被动检测技术会面临两个问题:

  1. 泛化性不足,在应对未知攻击的表现不佳,且Deepfake技术愈发成熟,伪影会越来越少
  2. 裁剪、压缩等传统的图像操作会破坏Deepfake的伪影,降低检测的可靠性

这些问题就是主动检测的优势,即使有更高级的deepfake技术,主动检测大概也是能抵御的

1.3. 方法概述

将水印嵌入到图像的身份向量中,并重构图像。

image-20231025203503978

输入图像会经过属性编码器提取出一些图片背景信息(姿态、表情等)作为属性,从身份编码器提取出人脸的关键信息作为身份。身份和水印相加,然后和属性一起输入进生成器重新生成该图像。如果之后图像被Deepfake,那么嵌入在身份信息中的水印会被破坏,导致和最初的水印没有相关性检测失败。如果图像没有被Deepfake,那么就可以从最初水印中检测出相关性,进而检测成功。

1.4. 贡献

  1. 一种新的主动深度伪造检测方法,将防伪水印嵌入到图像的身份向量中
  2. 简单有效的编码器-解码器网络实现不可见的反Deepfake水印
  3. 实验效果好(说了当没说)

2. 大致方法

2.1. 水印嵌入

2.1.1. 特征解纠缠

将图像的信息通过两个编码器分为属性$z_{att}(X)$和身份信息$z_{id}(X)=Arc(X)$。

2.1.2. 身份水印嵌入

将身份信息$z_{id}(X)$和水印$z_{seq}$相加,其中添加水印的权重为0.1,生成被嵌入水印的身份信息$z^{w}{id}(X),z^{w}{id}(X)=z_{id}(X)+\alpha z_{seq}$。

2.1.3. 图像重构

将被嵌入水印的身份信息$z^{w}{id}(X)$和属性信息$z{att}(X)$输入到生成器中,重构出被嵌入水印的图像$\hat{X}=Gen(z^{w}{id}(X),z{att}(X))$。

2.2. 水印检测

2.2.1. 水印提取

将可疑的图像输入到身份编码器中,获取嵌入水印的身份编码信息。提取公式如下所示

$$ z_{id}(\hat X)=Arc(\hat X)\\ \approx Arc(Gen(z_{id}(X)+\alpha z_{zeq},z_{att}(X)))\\ \approx z_{id}(X)+\alpha z_{seq} $$

如果$\hat X$没有被deepfake,那么下面的约等号成立。

2.2.2. 水印验证

验证时需要用到相关性函数

$$ Corr[l]=\sum^{N-1}_{n=0}z_{id}(\hat X)[n]*z_{seq}[n-l+N-1]\\ \approx\sum^{N-1}_{n=0}(z_{id}(X)[n]+\alpha z_{seq}[n])*z_{seq}[k]\\ =\sum^{N-1}_{n=0}z_{id}(X)[n]*z_{seq}[k]+\alpha z_{seq}[n]*z_{seq}[k], k=n-l+N-1 $$
当$k=n$,即$l=N-1$时取最大值,此时$Corr$会有很明显的峰值,如果有峰值就能说明水印存在。

2.3. 损失函数

本方案需要有四个目标:

  1. 重构的图像足够逼真
  2. 从重构图像中提取的属性和从原始图像中提取的属性应该尽可能接近
  3. 重构图像的特征和原始图像的特征之间的距离应尽可能接近
  4. 水印序列在重构图像中应有较好的保真度

这对应了四个损失函数

  1. $Adversarial\ Loss:\ L_{adv}=log\ Dis(X)+log(1-Dis(\hat X))$,$Dis()$是多尺度鉴别器[5],要让Gan中的鉴别器难以识别出来
  2. $Attribute\ Preservation\ Loss:\ L_{Att}=1/2\sum^{n}{k=1}||z^{k}{att}(X)-z^{k}{att}(\hat X)||^{2}{2}$
  3. $Reconstruction\ Loss:\ L_{R}=||L(X)-L(\hat X)||_2$,$L()$表示特征提取器
  4. $Watermark\ Preservation\ Loss:\ L_{W}=1-Cos(z_{id}(\hat X)-Arc(\hat X), z_{seq})$,$Cos()$表示两个向量间的余弦相似度

总损失函数为$L(X)=\lambda_R L_R+\lambda_{adv} L_{adv}+\lambda_{att} L_{att}+\lambda_{W} L_{W}$,一般来说$\lambda_{R}=10,\lambda_{adv}=0.1,\lambda_{att}=10,\lambda_{W}=1$

2.4. 模型结构

image-20231025225335281

身份编码器是现成的不用训练,属性编码器和生成器要训练

3. 参考文献

[1] Proactive image manipulation detection. CVPR, 2022

[2] Faketagger: Robust safeguards against deepfake dissemination via provenance tracking. ACM MM, 2021

[3] Faceguard: Proactive deepfake detection. arXiv:2109.05673, 2021

[4] Artificial fingerprinting for generative models: Rooting deepfake attribution in training data. ICCV, 2021

[5] Image-to-image translation with conditional adversarial networks, CVPR, 2017