Robust-Wide: Robust Watermarking against Instruction-driven Image Editing 笔记
一、文章简介
论文链接:Robust-Wide: Robust Watermarking against Instruction-driven Image Editing
文章来源: ECCV 文章年份: 2024
核心思路: 引入一种新颖的部分指令驱动的去噪采样指导(PIDSG)模块,该模块由多种指令注入和不同语义级别的图像的大量修改组成。通过 PIDSG,编码器倾向于将水印嵌入到更鲁棒和语义感知的区域中,即使在严格的图像编辑之后,水印仍然存在,从而实现针对语义失真的鲁棒性。
二、背景知识
2.1 扩散模型
经典DDPM的目标函数: $$L_{DM}=E_{x,\epsilon\sim\mathcal{N}(0,1),t}\bigg[|\epsilon-\epsilon_\theta(x_t,t)|_2^2\bigg]$$
其中,$x$是输入图像,$\epsilon$是随机采样的高斯噪声,$t$是均匀采样的时间步长,$x_t$是$x$在$t$步时的加噪版本,$\epsilon_{\theta}$是扩散模型中用于预测噪声的神经网络。文生图模型如GLIDE、DALL·E2 和 Imagen都是基于 DDPM 的。
潜在空间LDM的目标函数: $$L_{LDM}=E_{\mathcal{E}(x),\epsilon\sim\mathcal{N}(0,1),t}\Big[|\epsilon-\epsilon_\theta(z_t,t)|_2^2\Big]$$
LDM在预训练的 VAE 的潜在空间中进行加噪和去噪处理,其中$\mathcal{E}$是VAE的编码器,$z_t$是噪声潜变量。SD是基于LDM的。
2.2 基于扩散模型的指令驱动的图像编辑
(1) InstructPix2Pix
InstructPix2Pix在前向过程直接进行图像编辑,无需额外样例图、对输入/输出图的描述或逐样本finetune。它以端到端的方式进行训练,数据集由 GPT-3 和 Prompt2Prompt 生成,数据集中的每个项目都包含 源图像、编辑指令和后续编辑的图像。 在训练过程中,图像和指令分别被视为条件 $c_I$ 和 $c_T$ ,而编辑后的图像是真实输出。因此,训练目标如下: $$L=E_{\mathcal{E}(x),\mathcal{E}(c_I),c_T,\epsilon\sim\mathcal{N}(0,1),t}\bigg[|\epsilon-\epsilon_\theta(z_t,t,\mathcal{E}(c_I),c_T)|_2^2\bigg]$$ (2)ControlNet-InstructPix2Pix
ControlNet是一个控制预训练图像扩散模型(例如 Stable Diffusion)的神经网络。它允许输入调节图像,然后使用该调节图像来操控图像生成。可以将原始图像视为空间条件控制,在InstructPix2Pix数据集上训练ControlNet,以实现指令驱动的图像编辑,称为ControlNet-InstructPix2Pix。
(3) 改进InstructPix2Pix
HIVE 通过利用人类反馈来解决编辑指令和生成的编辑图像之间的不一致问题,从而改进了 InstructPix2Pix。MagicBrush 引入了第一个大规模的手动注释数据集,用于指令引导的真实图像编辑,并在数据集上微调InstructPix2Pix以获得更好的性能。MGIE使用多模态大语言模型来导出表达指令并提供显式指导,在保持效率的同时进一步提高了编辑性能。
此外,还有一些流行的文本驱动的图像编辑方法,例如 Inpainting 和 DDIM Inversion 。Inpainting 通过屏蔽图像的某些区域来编辑图像,然后根据给定的文本重新生成图像。 DDIM Inversion 以原始文本标题为条件执行反向 DDIM 采样过程,将图像转换为其部分噪声版本。然后,通过给定编辑后的文本标题对噪声图像进行去噪来获取编辑后的图像。
2.3 鲁棒水印
介绍了无论是传统的鲁棒水印还是最先进的水印方法,它们在指令驱动的图像编辑的情况下都是无效的。
三、方法实现
3.1 整体流程
Robust-Wide是一种将鲁棒水印嵌入到图像中的新方法,可以抵抗指令驱动的图像编辑,其整体训练流程下图所示。 通过联合训练水印嵌入网络 $E_m$ 和提取网络 $E_x$ 来分别实现水印的嵌入与提取,同时集成了一种新的部分指令驱动的去噪采样引导(PIDSG)模块,以增强水印针对指令驱动的图像编辑的鲁棒性。
3.2 水印嵌入
引入嵌入网络 $E_m$ ,从原始图像 $I_{ori}$ 生成水印图像 $I_{wm}$,其中水印是随机 $L$ 位信息 $m \in {(0, 1 )}^L$。 具体来说,采用U-Net作为 $E_m$ 的结构。要使 $m$ 与 $I_{ori}$ 的维度匹配,$E_m$ 使用一些转置卷积层将 $1 × √L × √L$ 形状的 $m$ 转换为 $C × H × W$ 形状,其中 $C$ 是预定义的特征通道, $H$ 和 $W$ 是 $I_{ori}$ 的高度和宽度。然后,将转化后的水印信息与 $I_{ori}$ 连接起来。为保留图像的编辑功能,$I_{wm}$ 应该在视觉上与 $I_{ori}$ 保持一致。下面是在像素级别计算 $I_{ori}$ 和$I_{wm}$之间的 $L_2$ 距离: $$L_{em_1}=L_2(I_{ori},I_{wm})=L_2(I_{ori},E_m(I_{ori},m))$$
此外,在特征空间中的 $I_{ori}$ 和 $I_{wm}$ 之间也存在距离约束,由InstructPix2Pix中VAE的编码器 $\mathcal{E}$ 表示,即: $$L_{em_2}=L_2(Z_{ori},Z_{wm})=L_2(\mathcal{E}(I_{ori}),\mathcal{E}(I_{wm}))$$
3.3 部分指令驱动的去噪采样引导 (PIDSG)
(1)为什么引入PIDSG?
现有的鲁棒性水印方法主要考虑针对像素级的失真。但指令驱动的图像编辑是在语义层面上改变图像,从而使得这些方法无效。指令驱动的图像编辑涉及大量不同指令的注入以及不同的语义级别的不同程度图像修改,这可以用来指导基于语义感知的鲁棒水印的嵌入和提取过程。
一个方法是将编辑过程纳入端到端的训练框架中。然而,在去噪采样过程中(例如,在InstructPix2Pix中),不允许梯度直接流动。将此过程引入训练中将导致梯度无法通过采样过程从水印解码器传播回水印编码器。换句话说,这将导致计算图中的不连续性,使整个过程不可微。若在全部去噪采样步骤打开梯度,这又会带来较大的内存开销。为了解决这个问题,作者设计了针对指令驱动图像编辑的鲁棒水印的部分指令驱动去噪采样引导(PIDSG)模块,该模块有选择地允许梯度仅在最后k个采样步骤中传播。这种设计不仅使整个方法可行,而且使过程可微分并易于端到端优化。
(2)如何实现PIDSG?
InstructPix2Pix由VAE、U-Net和CLIP文本编码器组成,如图1的中间部分所示。将这些模型的所有参数冻结。在训练过程中,VAE 的编码器 $\mathcal{E}$ 将 $I_{wm}$ 转换为其潜在的 $Z_{wm} = \mathcal{E}(I_{wm})$。然后,$Z_{wm}$ 与纯噪声潜在 $Z_T$ 连接并发送到 U-Net 进行去噪采样迭代。假设采样过程总共有 $T$ 个步骤,我们在前 $T − k$ 个步骤中截断梯度流以获得部分去噪的潜在 $Z_k$。之后,将 $Z_k$ 与 $Z_{wm}$ 连接起来并执行最后 $k$ 个采样步骤(称为梯度后向步骤)以启用梯度流。 CLIP文本编码器处理指令 $Ins$ 并输出文本嵌入来指导整个采样过程。最后,经过 $T$ 个采样步骤,产生完全去噪的潜在 $Z_0$ 并通过 VAE 的解码器 $\mathcal{D}$ 将其转换为编辑后的图像 $I^{edit}_{wm}$。
4. 水印提取
利用一些残差块作为提取网络 $E(x)$的架构。通过编辑后的图像 $I^{edit}{wm}$ ,$E(x)$ 的目标是提取与原始嵌入消息 $m$ 一致的消息 $m^{edit}{wm}$ ,即 $$L_{ex_1}=MSE(m,m_{wm}^{edit})=MSE(m,E_x(I_{wm}^{edit}))$$
为了保证有效取证,要求 $E(x)$ 也能够在编辑之前从带水印的图像 $I_{wm}$ 中提取嵌入的水印消息$m_{wm}$: $$L_{ex_2}=MSE(m,m_{wm})=MSE(m,E_x(I_{wm}))$$
没有 $L_{ex_2}$ 训练将不会收敛。可能是因为如果仅输入编辑后的图像,则提取网络 $E_x$ 无法找到水印区域。
5. 联合训练
使用上述的水印嵌入、PIDSG 和水印提取等多个损失联合训练 $E_m$ 和 $E_x$。总损失计算如下: $$L_{total}=L_{em_1}+\lambda_1L_{em_2}+\lambda_2L_{ex_1}+\lambda_3L_{ex_2}$$ 其中默认情况下 $λ_1 = 0.001$、$λ_2 = 0.1$ 和 $λ_3 = 1$ ,是平衡每个损失项的超参数。
四、实验结果
4.1 实验设置
(1) 数据集
- 训练数据: 为训练嵌入和提取网络,从 InstructPix2Pix 中使用的数据集中采用了 20k 个图像指令对。
- 评估数据: 选择与上述训练数据不重叠的 1.2k 个额外样本进行评估。
- 测试数据: 从互联网上收集了一些现实世界的图像,涵盖6种类型(即人、动物、物体、建筑、绘画和风景),每种类型有5张图像,默认使用InstructPix2Pix根据6条指令编辑这些图像,并每条指令生成8张图像,最终获得1.44k编辑后的图像用于测试。
(2) 详细设置
- GPU: 单个 A6000 GPU
- 训练参数: 学习率设为 $1e-3$,批量大小为 $2$,总步数为 $20,000$,用于训练和评估的图像默认均为 $512×512$。
- 优化: 使用 AdamW 优化器和 $400$ 个预热步骤的余弦调度器。
- PIDSG模块: 采用欧拉采样器,具有 $20$ 个推理步骤,文本引导尺度 $s_T = 10.0$,图像引导尺度 $s_I = 1.5$。
- 对比基线方法: 七种方法:DWT-DCT, DWT-DCT-SVD , RivaGAN , MBRS , CIN, PIMoG 和 SepMark .
(3) 评价指标
- 误码率(BER): 测量了提取的水印 $X$ 和真实水印 $Y$ 之间的误码率(BER),即 $BER(X,Y)=\frac{\sum_{i=1}^L(X_i\neq Y_i)}{L}$ ,其中 $X_i, Y_i ∈ \big{0, 1\big}$,$L$ 是水印长度。
- 保真度: 采用 PSNR 和 SSIM 来测量水印图像的视觉质量。
- 原始可编辑性: 为了验证加水印的图像是否保留其原始可编辑性,采用在InstructPix2Pix中使用的CLIP图像相似性(CLIP-I)和CLIP图文相似性(CLIP-T)。CLIP图像相似性,通过计算CLIP image embedding余弦相似性实现,用于表示编辑后的图像与编辑前图像一致性;CLIP图文相似性,用于表示编辑后图像与caption的一致性。
4.2 效果分析
表 1 比较了本文方法与基线方法在不同图像尺寸和水印长度上的效果。对于Robust-Wide,考虑了是否使用 PIDSG 的情况。
表1: 从这个表中可以明显看出,基线方法BER 约为 50%,无法抵抗指令驱动的图像编辑。相比之下,Robust-Wide BER 较低,为 2.6579%。
表 2 展示 Robust-Wide 在 1.44k 个真实样本上的有效性。去除PIDSG会导致BER高达50%,展现了PIDSG的重要性。
表2:
表 3 显示 Robust-Wide 不会从经过编辑或未经编辑的原始图像中提取水印,从而保证取证完整性,且对可编辑性的影响很小。
表3:
图 2 显示了使用 Robust-Wide 的一些视觉结果。从上到下分别为:指令、原始图像、归一化残留图像、水印图像、编辑后的图像以及相应的BER。归一化残差图像计算为 $N(|I_{wm}-I_{ori}|)$,其中 $N(x)=(x-min(x))/(max(x)-min(x))$。 从上图中可以明显看出,水印主要嵌入在主要主体(例如人或物体)的轮廓和背景(例如建筑物等次要元素)中。作者假设这些区域可能是与概念内容相关的鲁棒区域,因此 Robust-Wide 倾向于将水印嵌入到鲁棒的概念感知区域中。
4.3 鲁棒性评估
(1)像素级失真
用三种方式测试了各种不同的像素级失真类型(无、JPEG、中值模糊、高斯模糊、高斯噪声、清晰度、亮度、对比度、饱和度、色调、噪声+降噪):
- 方式I:在编辑前对水印图像进行预处理;
- 方法II:对水印图像进行后处理;
- 方法III:基于水印图像对编辑后的图像进行后处理。
表4: 表 4 显示了三种场景下 Robust-Wide 针对不同像素级失真类型的提取误差。实验结果表明,即使在训练过程中不涉及这些扭曲,Robust-Wide 也表现出了很强的鲁棒性。此外,还测试了 Robust-Wide 针对 DiffWA (一种新的水印删除攻击)的鲁棒性。这种攻击利用图像到图像的条件扩散模型在带水印的图像上添加噪声,然后在删除嵌入的水印的同时恢复图像。如表 4 的“噪声+降噪”行所示,Robust-Wide 在 BER< 10% 的所有三种情况下均有效。
(2)不同的采样参数设置
图 3 显示了针对不同扩散采样参数设置的鲁棒性结果: 分析结论如下:
- Robust-Wide 对于不同的采样器通常都是有效的。
- 随着推理步骤总数的增加,编辑后的图像细粒度更好,而BER略有增加(在1%的范围内)。作者认为可能是细节越多,编辑后的图像与原始图像之间的差异就越大。
- 文字引导 $s_t$ 越大,图像引导 $s_I$ 越小,图像编辑程度越高。除 $s_I$ 为 1 时外,Robust-Wide 在所有情况下都能实现低于 5% 的 BER,验证了其在不同设置下的总体鲁棒性。
(3)其他流行的图像编辑方法
实验表明,Robust-Wide 在 ControlNet-InstructPix2Pix 上可以实现 0.96% 的平均 BER,在 MagicBrush 上可以实现 9.34% 的平均 BER,如图4所示。对于“用玫瑰替换向日葵”指令,由于MagicBrush 使编辑后的图像与原始图像变化较大,导致相对较高的 BER,但仍然在可接受范围内。 在泛化性上,Robust-Wide 对基于SD的 Inpainting 和 DDIM Inversion方法也具有鲁棒性。 图4 针对其他编辑方法的总体鲁棒性
用户可以利用 InstructPix2Pix 进行多次编辑。一个用户编辑的图像也可以传播到另一个用户进行进一步编辑,并且这个过程可以重复几轮,因此,要确保水印可以抵抗连续编辑,如图 5 所示,该实验是在上述的真实世界图像上进行的。结果表明,即使经过3轮编辑,嵌入到原始图像中的水印也能被准确提取,证明了水印对连续编辑的强大鲁棒性。 图5 持续编辑的影响。 (a) 持续编辑中的一些视觉示例(从左到右)。 (b) BER 随着编辑次数的增加而增加。
(4)Robust-Wide 的嵌入模式
图 6 显示了使用不同水印方法的嵌入方式,从上到下分别为:原始图像、水印图像、归一化残差图像、残差图像的DCT和DFT。可以看到,使用 DWT-DCT 和 DWT-DCT-SVD 嵌入的水印非常微弱且不易察觉,表明它们的鲁棒性有限。 MBRS 往往主要集中在物体的边缘轮廓上,使其容易受到图像背景变化的影响。相比之下,RivaGAN 和 Robust-Wide 在边缘和背景中嵌入水印,从而增强了鲁棒性。
图6 不同方法的嵌入方式
通过使用离散余弦变换(DCT)和离散傅里叶变换(DFT)来可视化频域中的残差图像(图6最后两行),可以观察到 DWT-DCT 和 DWT-DCT-SVD 引入了输入无关的修改,而其他方法则引入了输入感知的修改。DWT-DCT、DWT-DCT-SVD和RivaGAN倾向于主要修改低频区域,而MBRS、CIN、PIMoG和SpeMark更倾向于将水印同时嵌入到低频区域和高频区域。不同的是,Robust-Wide 主要侧重于在低频区域或中低频区域嵌入水印,这可能使其对语义和概念相关的图像修改更加鲁棒。
图7展示了采样步骤数与提取能力之间的关系。图7(a)表明该模型侧重于在前几个采样步骤中生成轮廓和布局,然后在后面的步骤中优化图像细节。图7(b)显示BER随着采样步数的增加而降低。
图7 采样步数的影响。 (a) 不同步骤的一些视觉示例及其相应的 BER。 (b) BER 随着步数的增加而降低
4.4 消融实验
(1)$L_{ex_2}$ 的重要性: 使用 $L_{ex_2}$,在训练过程中确保能在编辑之前的图像中提取水印,嵌入网络和提取网络倾向于首先找到所需的水印区域,然后搜索更鲁棒的区域以抵抗指令驱动的图像编辑。表 5 比较了这两种设置下的性能。无论编辑前后,如果没有 $L_{ex_2}$,误码率约为 50%,都无法有效提取嵌入的水印。因此, $L_{ex_2}$ 对于 Robust-Wide 的整体有效性至关重要。
表5:
(2)超参数 λ1 和 λ2 的影响: 表 6 显示了不同 $λ_1$ 和 $λ_2$ 值的水印性能。可以观察到较大的 $λ_1$ 有助于提高水印图像的视觉质量,但会导致水印提取率下降。另一方面,较高的 $λ_2$ 会导致较低的 BER,这展示了提取能力和视觉质量之间的权衡。
表6:
(3)梯度后退步数 k 的影响: 表 7 显示了不同数量的梯度后向步数 k 的水印性能。步骤越多,水印消息就越容易提取,但水印图像的视觉质量略有下降。由于 GPU 内存限制,可以设置的最大梯度后向步数为 3,这足以获得可接受的性能。
表7:
(4)不同水印位长度的影响: 表7还显示了不同长度的水印消息的评估结果。较长的水印消息会导致较高的 BER 和较低的视觉质量。实际上,用户可以选择水印长度来平衡。在表7中,可以观察到,与水印长度为64时相比,当水印长度为16时,视觉质量较低。事实上,水印位与图像的集成涉及通过卷积或反卷积层的形状变换。对于 16 位,我们可用的 GPU 内存对使用卷积或反卷积层进行形状变换造成了限制。因此,我们选择了非参数插值方法来处理积分,导致视觉质量下降。
五、结论
本文中提出了 Robust-Wide,这是第一个针对指令驱动图像编辑的鲁棒水印方法。核心思想是将一个名为 PIDSG 的模块集成到编码器-噪声层-解码器训练框架中,使得水印嵌入到语义层中。实验表明,Robust-Wide 对不同的图像编辑方法具有鲁棒性,同时保持高视觉质量和可编辑性。