Anti-Tamper Protection for Unauthorized Individual Image Generation
图1.(a)伪造攻击者通过从社交媒体上拍照生成数据所有者的虚假个人图像,并将其提交给服务提供商。(b)数据所有者可以在服务提供商的协助下,向其图像中注入保护性扰动,这样当攻击者试图生成虚假个人图像时,会得到质量低下的结果。然而,如果攻击者对受保护的图像进行净化处理,这种保护就可能失效。(c)我们的解决方案:我们提出了带有防篡改机制的防篡改扰动。如果未进行净化处理,该扰动会通过降低生成图像的质量来保护数据所有者的肖像权和隐私权。相反,如果伪造攻击者进行了净化处理,图像就会变为未授权状态,服务提供商将拒绝生成请求。
图2. 防篡改扰动流程。原始图像首先通过块离散余弦变换(BDCT)转换到频域。在二进制掩码的引导下,授权扰动和保护扰动在频域中独立应用,以获得受保护且经过授权的图像。
掩码引导的扰动融合
保护扰动和授权扰动都是通过改变图像信息来工作的。它们可能会因为改变相同的图像像素而相互干扰。为了解决这个问题,我们建议通过如下掩码来区分扰动:
[P_{A P}(I)=M \odot P_{A u t h}(I)+(1-M) \odot P_{Prot }(I)]
其中,I表示图像,M表示掩码,由0和1组成。(P_{A P}(\cdot))、(P_{Auth }(\cdot))、(P_{Prot }(\cdot))分别指防篡改扰动、授权扰动和保护扰动。掩码使两种扰动能够独立发挥作用,确保它们不会相互干扰。
局限性:扰动在像素空间中变得可区分,这可能会使净化方法能够有选择地针对保护扰动。
为了解决这个问题,我们可以采用一种变换函数,将图像映射到频域,在频域中施加扰动:
[P_{A P}(I)=F^{-1}\left[M \odot P_{A u t h}(F(I))+(1-M) \odot P_{Prot }(F(I))\right]]
其中,(F(\cdot))和(F^{-1}(\cdot))分别表示将图像从像素域投影到频域的函数及其逆函数。由于每个像素值都是频域系数的线性组合,因此这两种扰动在像素域内均呈均匀分布。这种方法确保了授权扰动和保护扰动在像素域中无法区分。扰动的均匀分布还提高了授权扰动对净化尝试的敏感性。
块离散余弦变换(F)
我们采用BDCT函数作为变换函数F,这比直接对整个图像采用离散余弦变换(DCT)更高效。
具体来说,我们首先在像素域中将图像I划分为不重叠的块。我们记录块在像素域中的位置,对每个块,我们按如下方式应用DCT:
[C_{u, v}=\alpha(u) \alpha(v) \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} I_{i, j} \phi(u, i, N) \phi(v, j, N), (3)]
其中(\phi(u, i, N)=cos (\frac{\pi(2 u+1) i}{2 N}))。当(i=0)时,(\alpha(i)=\sqrt{\frac{2}{N}});否则为(\alpha(i)=\sqrt{\frac{1}{N}})。N表示块的高度和宽度。C表示频率系数。然后,我们根据块在像素域中的位置对其进行合并。这样,我们就能得到一个与原始图像尺度相同的频率系数张量。我们对该张量进行掩码引导的授权和保护扰动。为了将图像从频域转换回图像域,我们应用块逆离散余弦变换(BIDCT)。我们按照与BDCT相同的方式将张量分割成块,并应用逆离散余弦变换(Inverse-DCT)以获得像素域中的扰动图像:
[I_{i, j}=\sum_{u=0}^{N-1} \sum_{v=0}^{N-1} \alpha(u) \alpha(v) C_{u, v} \phi(u, i, N) \phi(v, j, N) . (4)]
授权扰动
我们考虑将授权消息嵌入频域,作为一种可行的授权扰动方法。参考已被证明在像素域隐藏信息方面有效的研究,我们使用卷积自编码器(f_{\theta}(\cdot))来完成授权扰动。如图2所示,编码器从经过掩码处理的输入频率系数中提取中间特征图。授权消息m表示为由{0,1}组成的长度为L的二进制字符串,它在空间上被复制并与中间特征图连接。然后,解码器从这些修改后的特征图中重建系数。同时,还训练了一个消息解码器(D_{m}),用于从重建的系数中检索编码信息。授权扰动的整个流程可表述如下:
[g_{\theta}(C)=(1-M) \odot C+M \odot f_{\theta}(M \odot C, m), I_{e n c}=F^{-1}\left[g_{\theta}(F(I))\right],]
其中(I_{enc })表示经过授权扰动的图像。我们引入图像重建损失(L_{rec })和对抗损失(L_{a d v, G}),以最小化扰动后对图像内容的改变。为保证信息隐藏的准确性,我们采用掩码引导的消息一致性损失和在频域中计算的正则化损失:
[\mathcal{L}{con }=\left| D\left(M \odot f_{\theta}(C)\right)-m\right| {2}^{2}, \mathcal{L}=\left| f_{\theta}(C)-C\right| _{2}^{2}. (6)]
一致性损失有助于信息隐藏,而正则化则抑制频域中的显著变化,以将像素域值保持在逆变换后的允许范围。总损失公式如下:
[\mathcal{L}=\mathcal{L}{con }+\lambda \mathcal{L}{adv , G}+\lambda \mathcal{L}{rec }+\lambda \mathcal{L}_{reg. } (7)]
HiDDeN: Hiding Data With Deep Networks(ECCV2018)
1. 图像重建损失 (Image Reconstruction Loss)
\[L_I(I_{co}, I_{en}) = \frac{\| I_{co} - I_{en} \|_2^2}{CHW}
\]
- 含义:
- \(I_{co}\): 原始载体图像 (Cover Image)。
- \(I_{en}\): 编码后的图像 (Encoded Image / Stego Image)。
- \(C, H, W\): 图像的通道数、高度和宽度。
- \(\| \cdot \|_2^2\): L2 范数的平方(即像素差值的平方和)。
- 作用: 衡量编码图像与原始图像之间的像素级差异(均方误差 MSE),目的是让嵌入信息后的图像在视觉上与原始图像尽可能相似,保持不可察觉性。
2. 对抗损失 (Adversarial Loss)
\[L_G(I_{en}) = \log(1 - A(I_{en}))
\]
- 含义:
- \(A(I_{en})\): 判别器 (Discriminator/Adversary) 输出图像 \(I_{en}\) 是“编码图像”的概率值(范围在 0 到 1 之间)。
- \(1 - A(I_{en})\): 判别器认为该图像是“原始图像”(即未被编码)的概率。
- \(\log(\cdot)\): 对数函数。
- 作用: 编码器试图最小化这个损失,即最大化 \(\log(1 - A(I_{en}))\),也就是让判别器 \(A\) 认为编码后的图像 \(I_{en}\) 是原始图像(使 \(A(I_{en})\) 趋近于 0)。这迫使编码器生成统计分布上更接近自然图像的结果,从而消除人眼可见的伪影。
补充:判别器的损失 (Discriminator Loss)
为了完整理解对抗过程,判别器自身的损失 \(L_A\) 定义如下:
\[L_A(I_{co}, I_{en}) = \log(1 - A(I_{co})) + \log(A(I_{en}))
\]
- 判别器试图最小化此损失:让 \(A(I_{co})\) 趋近于 0(认为原始图是原始的),让 \(A(I_{en})\) 趋近于 1(认为编码图是编码过的)。
保护扰动
所有的保护扰动算法本质上都是根据从扩散模型损失函数导出的梯度来生成扰动。
[I_{p e r} \leftarrow \Pi_{\epsilon, I}\left(I+\alpha \cdot sgn\left(F^{-1}\left(M_{p} \odot F(\nabla)\right)\right)\right), \quad(8)]
其中∇表示从扩散模型损失计算出的梯度,ϵ是PGD半径。(\Pi_{\epsilon, I}(\cdot))将其输出约束在I周围的ϵ球内。sgn(·)是符号函数,α是步长。(M_{p})是一个二进制掩码。
说白了这里扩散模型损失随便抄个之前的工作的loss就行,这就是他所谓的可以和其他方法集成
然而,我们发现通过公式8更新扰动会使掩码引导失效。原因是每个像素值都是所有频率系数的线性组合。单个像素值的修改会影响所有频率系数。像素域中的Π(·)、sgn(·)变换不可避免地改变了掩码想要保留的频率系数。为了解决这个问题,我们在算法1中提出了改进的频域PGD算法。(\Pi(\cdot))、sgn(·)被移至频域中应用,以确保基于掩码对特定频率系数进行精确修改。
输入包括:扰动损失 \(\mathcal{L}\)、原始图像 \(I\)、引导掩码 \(M_p\)、块 DCT 变换 \(F\) 及其逆变换 \(F^{-1}\)、PGD 半径 \(\epsilon\)、步长 \(\alpha\)。
-
计算梯度:$ \nabla \leftarrow \frac{\partial \mathcal{L}}{\partial I} $ 损失函数相对于输入图像的梯度
-
掩码过滤:$ \nabla_{freq} \leftarrow M_p \odot F(\nabla) $
-
频率域内梯度上升与逆变换:$ \nabla \leftarrow F^{-1}(\alpha \cdot \text{sgn}(\nabla_{freq})) $
-
初步添加扰动:$ I_{per} \leftarrow I + \nabla $ 将生成的扰动加到原始图像上。
-
频率域投影截断:
\[I_{per} \leftarrow F^{-1}(\Pi_{\epsilon, F(I)}(F(I_{per})))
\]
- 将初步扰动后的图像 \(I_{per}\) 再次变换到频率域 \(F(I_{per})\)。
- 使用投影算子 \(\Pi\),将其限制在以原始图像频率系数 \(F(I)\) 为中心、半径为 \(\epsilon\) 的球体内。
实验设置
实验目标:验证ATP抗伪造攻击效果、美学影响、授权扰动鲁棒性与纯化敏感性
数据集:FFHQ(授权网络训练)、CelebAHQ+VGGFace2(保护扰动/性能验证)
基线算法:Anti-DB、AdvDM、CAAT、MetaCloak
评估指标:
- 授权性能
Bit-error(比特错误率)
- 保护性能
- PSR(保护成功率):以CLIP-IQAC为阈值判定保护是否成功,若生成图质量低于阈值或图像授权验证失败则记为保护成功。
- CLIP-IQAC:基于CLIP改进的人脸图像质量评估指标,数值越低表示生成的伪造图像质量越差,保护效果越好。
- LIQE:贴合人类视觉感知的盲图像质量评估指标,适用于各类图像,数值越低代表生成伪造图的感知质量越差。
- FDFR(人脸检测失败率):通过Retinaface模型检测生成图的人脸失败概率,数值越高表示伪造图中人脸越难被检测,保护扰动的干扰效果越好。
- ISM(身份匹配分数):通过Arcface提取特征并计算生成图与原图的余弦相似度,数值越低表示生成图的身份一致性越差,有效阻止了特定人物的伪造生成。
实验场景:1. 含纯化攻击(JPEG/Resize/GridPure);2. 无纯化攻击;3. ATP自适应攻击(攻击者知部分/全部ATP参数);4. ATP美学影响(ISM/CLIP-IQAC);5. 授权扰动鲁棒性(抗保护扰动干扰);6. 授权扰动纯化敏感性(频域vs像素域ATP,对比FaceSigns)
关键超参数:掩码比例p=0.5、BDCT块宽N=16
核心结论:纯化攻击下ATP使基线均达100%PSR;无纯化时保留基线保护性能;自适应攻击下仅全参数泄露时失效;美学影响小;频域授权扰动鲁棒性高、纯化敏感性强。
DCT-Shield: A Robust Frequency Domain Defense against Malicious Image Editing
\[\alpha = \text{JPEG}_E(\mathbf{x}; Q_{\text{alg}}), \quad \alpha(c) \in \mathbb{Z}^{n_p(c) \times 8 \times 8}
\]x: 原始输入图像
JPEG_E:RGB→YCbCr 色域转换→色度子采样→8×8 分块 DCT 变换→DCT 系数量化
Qalg: JPEG 编码的质量参数(论文中默认 0.95)
α: 经 JPEG_E 编码后得到的量化 DCT 系数张量
α(c): 系数张量在单个色域通道c上的分量,c∈{Y,Cb,Cr}
\[\delta = \arg\min_{\|\delta\|_\infty \leq \epsilon} \mathcal{L}(\mathcal{E}(\mathbf{x}')),\text{where } \mathbf{x}' = \text{JPEG}_D(\alpha + \delta; Q_{\text{alg}})
\]
\(\mathcal{L}\)就是texture loss
δ: 对抗扰动张量
α+δ: 施加扰动后的新量化 DCT 系数
JPEG_D: JPEG解码操作,是JPEG_E的逆过程
x′: 最终生成的免疫图像(像素空间)
数据集:OmniEdit(150样本,多编辑任务)、自建修复数据集(56样本,PPR10K+网络人像)
基线:PhotoGuard、MIST、AdvDM、SDS、DiffusionGuard
编辑模型:InstructPix2Pix、Stable Diffusion Inpainting 1.0
实验设置:DCT-Shield默认\(Q_{alg}=0.95\)、\(\epsilon=1\)、迭代1000,512×512分辨率;基线像素预算16/255
验证维度:噪声可感知性、编辑保护效果、净化鲁棒性(JPEG压缩/裁剪缩放/AdvClean)
评价指标:LPIPS、FID、PSNR、SSIM、VIFp,修复加CLIPScore,辅以人工评估
核心结果:
AntiPure
Towards Robust Defense against Customization via Protective Perturbation Resistant to Diffusion-based Purification
通过抗扩散净化的保护性扰动实现对定制化攻击的鲁棒防御
分析
抗净化:整体公式
对于能抵抗净化的理想扰动,我们首先将目标形式化如下:
[\delta^{a d v}=\underset{| \delta| {\infty} \leq \eta}{arg max } min {\theta{c}} \mathbb{E} \mathcal{L}{l d m}\left( Pure \left(x+\delta\right) ; \theta_{c}\right), (4)]
其中,(\delta^{a d v}) 通过最大化(L_{l d m}) 进行类似优化,但用净化后的输入替代原始输入。然而,直接反向传播在此处计算效率低下,因为净化会在多次迭代中生成极深的计算图。
两个相反的目标可以实现这一点:
[\delta_{min }^{a d v \prime}=\underset{| \delta| {\infty} \leq \eta}{arg min }\left| Pure\left(x+\delta\right)-\left(x_{0}+\delta\right)\right| _{\infty}(5)]
[\delta_{max }^{a d v \prime}=\underset{| \delta| {\infty} \leq \eta}{arg max }\left| Pure\left(x+\delta\right)-\left(x_{0}+\delta\right)\right| _{\infty}(6)]
最小化目标:打破净化→微调的节点 —— 净化未去扰动.
最大化目标:打破扰动→净化的节点 —— 净化生成失真图像。
反净化:为何更难?
原因1:缺乏易受攻击的组件
针对LDMs/SD的攻击更容易实施,因为它们的编码器更易受攻击。相比之下,DDPMs的唯一组件(即UNet)极其稳健。
原因2:无需训练的冻结参数
在反净化中,预训练的净化模型不需要额外调整,因此对抗样本无法影响嵌入在冻结的(\theta_{p})中的良性先验。
原因3:固定高时间步去噪
净化过程可以被视为高时间步去噪固定的生成过程。本质上,对净化过程本身的攻击是局限于低时间步高频组件的攻击。
方法:AntiPure
逐块频率引导
我们对带噪声的对抗样本(x_{t})利用UNet的输出(\epsilon_{\theta}(x_{t}, t))通过以下方式近似预测的去噪图像(\widehat{x}_{0}):
[\hat{x}{0}=\left(x-\sqrt{1-\overline{\alpha}{t}} \epsilon\left(x_{t}, t\right)\right) / \sqrt{\overline{\alpha}{t}} . (9)]
接下来,基于补丁的频率引导在(\widehat{x})上运行,以跟踪UNet的梯度,同时强调高频成分,其可形式化为:
[\mathcal{L}{fre }\left(x ; \delta^{adv }\right)=\sigma\left(\mathbb{E}{P} \frac{4}{s^{2}} \sum{2}}^{s-1} PatchDCT\left(\hat{x}{0}, s\right)\right),]
其中,PatchDCT(·)将(\widehat{x}{0})展开为P个大小为(s ×s)的补丁,并对每个补丁应用离散余弦变换(DCT)。经过DCT后,低频成分位于频谱图的左上角,而高频成分位于右下角。因此,每个补丁的右下角四分之一区域会被过滤、平均,然后通过(\sigma(\cdot))进行sigmoid归一化,得到(L)。
错误时间步引导
我们选择一个错误的时间步(t_{err })作为UNet的输入,以在更高的时间步获得(x_{t})的噪声预测,并且我们将错误时间步(\epsilon_{\theta}(x_{t}, t_{e r r}))的预测噪声与正确预测(\epsilon_{\theta}(x_{t}, t))之间的差异最小化:
[\mathcal{L}{err -t}\left(x ; \delta^{a d v}\right)=-\left| \epsilon_{\theta}\left(x_{t}, t_{err }\right)-\epsilon_{\theta}\left(x_{t}, t\right)\right| _{2}^{2} . (11)]
整体攻击
如图6所示,我们的攻击将(L_{fre })和(L_{err-t })的引导与原始的(L_{ddpm })相结合。为了平衡不同训练目标之间的数值范围,PGD中用于梯度上升的总损失可以形式化为:
[\mathcal{L}{p g d}\left(x ; \delta^{a d v}\right)=\mathbb{E}{\epsilon, t}\left(\mathcal{L}+\lambda_{1} e^{\overline{\alpha}{t}-1} \mathcal{L}+\lambda_{2} e^{\mathcal{L}_{e r r-t}}\right),]
其中,攻击时间步(t ~ U(1, t{p}))被限制在净化步骤范围(t)内,以避免无效攻击。PGD 最大化 (L_{p g d}) 以找到最优的 (\delta^{a d v})
实验设置
- 数据集:采用CelebA-HQ、VGGFace2人脸数据集,各选50个ID、每ID12张512×512图像;
- 基线方法:AdvDM、Mist、Anti-DB、SimAC四种主流保护性扰动方法;
- 量化指标:生成效果(FID、ISM/FDFR、BRISQUE)、扰动感知性(LPIPS),FID/BRISQUE越高、ISM越低对抗效果越好,LPIPS越低扰动越隐蔽;
- 配置:统一PGD训练/净化/定制化流程,用GrIDPure净化(2轮20迭代、\(t^p\)=10),CelebA-HQ数据做JPEG压缩验证鲁棒性。
PromptFlare: Prompt-Generalized Defense via Cross-Attention Decoy in Diffusion-Based Inpainting
Background
噪声预测模型(\epsilon_{\theta})使用以下损失函数进行训练,以最小化预测噪声与添加的实际噪声之间的差异:
[L_{inpainting }=\mathbb{E}{z, t \sim[1, T], \epsilon \sim \mathcal{N}(0,1)}\left| \epsilon-\epsilon_{\theta}\left(\overline{z}_{t}, t, e\right)\right| _{2}, (3)]
其中,(\bar{z}{t})是((z \cdot M', z_{0}^{M}))的拼接,(M' \in \mathbb{R}^{1 ×w ×h})是与潜在维度对齐的下采样掩码M,e是提示嵌入。
方法
问题陈述
此前相关研究仅将提示词嵌入视为空文本嵌入或图像语义描述嵌入,通过最大化图像级不一致性实现防御,但这类方法仅能部分干扰无条件采样过程,对与提示词语义直接对齐的条件采样无效;且攻击者可通过提高CFG尺度强化提示词影响力,使即便带有大量扰动的图像仍能生成符合恶意提示词的结果。
PromptFlare通过明确针对提示词和图像之间通过交叉注意力机制的交互来解决这一局限性。我们提出了两种新颖的策略:(1)隔离所有提示词中不变的共享标记,并强制注意力仅集中在该标记上;(2)确保该标记在语义上无意义,以防止模型获取与提示词相关的信息。这种泛化提示词的设计确保了无论攻击者的输入提示词或CFG规模如何,保护都能保持有效。
提示词的共享标记
要将提示词P输入到图像修复模型中,首先需要使用文本编码器Γ将该提示词转换为提示词嵌入e。具体来说,提示词会被标记化为(|p|)个标记,前面会添加一个序列起始(BOS)标记,后面会添加(N-|p|-1)个序列结束(EOS)标记,总长度为N。由此得到的提示词嵌入e表示如下:
[e=\Gamma (p)=[e{BOS},e_{0},...,e_{|p|-1}{p},e_{0},...,e_{N-|p|-2}^{EOS}]\in \mathbb {R}^{N × K} . (7)]
对于任何给定的提示词P,两个标记嵌入(e{BOS})和(e_{N-|p|-2})始终存在。由于这两个都是特殊标记,它们起初可能看起来不包含任何有意义的信息。然而,基于CLIP文本编码器的设计和运行原理,有研究表明序列中后面的标记会在其嵌入中整合前面标记的信息。因此,嵌入(e_{N-|p|-2}{EOS})包含了关于整个提示词 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |