【论文阅读】| Watermark Anything with Localized Messages
WAM: Watermark Anything with Localized Messages在任何地方嵌入水印
- 本节主要阐述了该系统的核心问题
- 本节旨在阐述驱动该研究的内在需求及其预期成果
- 综上所述,在现有技术领域中
- 本节重点阐述了本系统的核心创新要素及其优势
- ① 通过引入嵌入模型[emb_θ]实现水印编码过程
- ② 通过建立提取框架[ext_{\theta}]完成水印信息的识别
- ③ 采用超分辨率重建算法提升图像质量
六、模型设计
* 6.1 预训练阶段旨在增强模型的鲁棒性
* 6.1.1 架构设计
* ① 嵌入器模块 包含用于生成嵌入表示的核心组件
* ② 增强模块(包括对抗攻击相关机制) 提供了强大的防御能力
* ③ 提取器模块 实现关键特征的精确提取
* 6.1.2 目标函数
* 6.2 后训练-服务于隐秘性和多信息嵌入
- 七、衡量标准
-
- 7.1 视觉评估标准
- 7.2 抗干扰能力评估
- 7.3 坐标定位精度
- 7.4 两阶段测试方案的合理性要求
- 7.5 多水印兼容性
-
文章链接 :https://arxiv.org/abs/2411.07231
作者团队 :Meta
一、研究痛点
当前主流的水印技术在处理局域性水印场景时存在局限性(尤其适用于图像拼接操作),制约了其在实际应用中的广泛推广
二、研究动机与研究目标
动机: 从像素层面来讨论水印强度的问题
目标类型: 解决实际需求
1. 将水印定义为分割任务,提出一个局部图像水印方法:设置掩码 (随机或图像分割产生),在一幅图像中的不同区域实现不同水印内容的嵌入
2. 应对小区域含水印图像的判别问题 (检测到小区域水印后直接认为有:对于用AI辅助创作的人来说,直接由此认定他侵犯版权是不公平的)
3. 保证小区域水印鲁棒性 (如果对于图像拼接不具有鲁棒性,即水印容易被拼接操作抹去,那么图像内容很容易被盗取)
三、相关技术
1. 语义分割(Semantic segmentation)
2. 鲁棒水印(Robust watermarking)
3. 主动篡改定位(Active tamper localization)
基于半脆弱水印技术:损坏后无法恢复的水印区域被认为是被篡改的。在对篡改区域进行定位时,在减少定位粒度以提高效率的同时需要权衡是否降低水印的半脆弱性。
- 困难 :设计一种同时具有抗良性变换(如图像压缩)与易受恶意编辑影响的水印方案。
- 同类工作 :现有研究如EditGuard采用了分层架构分别嵌入定位脆弱水印与版权保护鲁棒水印,在抗几何增强方面存在不足。
四、创新点
*完成水印区域的精确识别及多维度信息的整合
基于像素级别的二进制串数据采用DBSCAN聚类算法完成,并无需预先设定图片中潜在水印信息的数量
水印修复攻击后依然能够准确识别水印位置并完整恢复水印信息。
对于图像拼接攻击其检测精度达到90%(即随机裁剪图像的一部分区域并将其重新粘贴到原始图像或不同背景图像的同一位置)
五、模型说明
① 水印嵌入[emb_θ]
功能: 该系统负责将n_bits位的信息转换为水印信号,并将其融入原始图像中
结构: 其架构由编码器模块、查找表模块以及解码器模块组成
② 水印提取[ext_{\theta}]
功能:
1. 检测水印像素
2. 解码嵌入信息:为每个像素输出大小为(1+n_{bits})的向量,
结构:成对的Vitae编码器与像素解码器配合使用(其中像素解码器负责将嵌入上采样至原始图像尺寸)
③ 高分辨率实现
步骤:
1. Anisotropic scaling converts the image into a size of h \times w.
2. The embedding module determines the watermark signal δ based on the converted dimensions.
3. The δ is reconstructed to match the original image size using bilinear interpolation.
补充:
六、模型设计
通过分步优化实现 优势:相较于传统对抗学习策略 能够显著提升稳定性
6.1 预训练-服务于鲁棒性
6.1.1 结构组成

① embedder 嵌入器
功能: 将n_{bits}位的消息编码成水印信号,添加到原始图像中
组成与实现:
编码器 enc_θ: 接收一个大小为 h × w 的图像 x,并经过压缩处理后输出其表示形式为 \mathbb{R}^{d_z×h'×w'}中的变量 z。通过下采样比例 f = h/h' = w/w' 实现
该二进制消息查找表τ_θ具有尺寸(n_bits, 2, d_msg)。根据其位置k∈{1,…,n_bits}以及数值m_k∈{0,1},
每个bit对应到嵌入状态τ_θ(k,m_k,⋅)∈ℝ^{d_msg}中,
其维数为[d_msg]。
通过对所有bit求平均,
得到一个维数为[d_msg]的向量。
经过多次重复后形成一个张量[d_msg×h'×w']。
将其与图像表示z连接后,
得到激活activation[(d_z+d_msg)×h'×w']。
解码器dec_θ :
① 逆映射激活activation到水印信号δ_θ(x,m)∈\{-1,1\}^{h×w}
[±1:decoder最后一层为双曲正切]
② 将水印信号δ_θ(x,m)添加到原图像x上,得到水印图像x_m = emb_θ(x)=x+α·δ_θ(x,m), 其中α∈\mathbb{R_+}为强度因子
② augmenter 增强(攻击)
功能: 通过增强过程模拟噪声攻击机制,并对图像进行几何变换与数值修改调整
实现: 根据设定掩码策略确定水印分布区域(随机生成或分块划分掩码矩阵),采用通用图像处理方法优化结果质量
③ extractor 提取器
功能: 识别图像中水印占据的像素区域,并解码嵌入的信息。
特点: 该方法首次提出在有水印与无水印图像之间训练提取器,在文献研究中尚属首次尝试,并显著提升了检测性能和抗干扰能力。
符号表示: 每个像元输出一个(n_{bits}+1)维向量y=ext_{θ}(x), 维度大小为[ (n_{bits}+1)\times h \times w ]。其中,
- y^{det}\in[0,1]^{h \times w} 表示每个像元可能携带水印信息的概率得分,
- y^{dec}\in[0,1]^{n_{bits}\times h \times w} 表示每个像元解码得到的n_{bits}位信息内容。
应用与实现:
对于单个像素的水印检测,在满足y^{det}_i > \tau时,则判断该像素为潜在水印像素。
在分析单个像素得分均值的基础上与预先设定的标准进行比较,则可完成图像整体范围内的水印检测。

3. 水印内容解码:通过结合像素级水印位置检测和对解码过程获得的消息内容进行分析和计算,从而确定并提取出第k位消息

6.1.2 目标函数

检测损失:像素级交叉损失熵均值
| 对象 | 表示 |
|---|---|
| 预测水印像素 | y^{det}(θ)∈[ 0,1 ]^{H × W} |
| 真实水印像素(mask) | y^{det,*}∈[ 0,1 ]^{H × W} |

解码损失:水印像素上,像素级和比特级的二进制交叉损失熵的均值:
| 对象 | 表示 |
|---|---|
| 解码预测 | y^{dec }_{i,k} ( θ ) |
| 第k位消息 | m_k |

预训练效果展示:
| cover image | watermarked | masked image | random mask | prediction area |
|---|

运行结果图显示了图像处理过程中的关键信息:掩码以随机方式设定;白色区域表示图像中的保留水印;最后一列记录了预测的水印位置。
6.2 后训练-服务于隐秘性和多信息嵌入
目标: 在不明显影响图像视觉质量的前提下实现同一图像内多位置嵌入不同水印(即隐秘性最大化)。主要结构: 基于可察觉差(JND)的方法进行设计与优化。隐秘性实现方法: 依据JND(x)在\mathbb{R}^{3×h×w}空间中的特性调整嵌入强度的具体步骤如下:首先计算差分矩阵D_m = JND(x)⊙δ_θ(x,m);然后将预设缩放因子α_{JND}应用到该差分矩阵上得到增强后的差异矩阵;最后生成最终的水印图像x_m = x + α_{JND}·D_m。实践表明,在第一阶段训练过程中使用该方法可能导致检测器性能略微下降;然而通过第二阶段微调能够有效缓解这一问题;因此建议仅在第二训练阶段采用该策略以简化操作流程(相较于现有方法如StegaStamp和HiDDeN)。多信息实现方法: 通过设计多个独立的掩码方案来解决同一图像区域中嵌入多个水印消息的问题;具体而言,在计算检测损失时采用多个掩码覆盖区域的并集形式;而在解码过程中则需分别计算每个掩码对应的损失后再进行求和处理以获得最终结果。
第二阶段训练效果展示:

图上展示了原图与带水印图像的减法运算结果,在这种情况下呈现出了良好的效果;此外,在图像的角落数值较大的边缘等纹理丰富的区域集中了水印标记的位置。
七、衡量指标
7.1 视觉指标
PSNR、SSIM、LPIPS

7.2 鲁棒性指标
训练的时候没有,但是有这个功能
在训练时未实现这一功能

7.3 定位精确性
mIoU :the mean Intersection over Union,并集上的平均交点

7.4 两阶段实验的必要性

7.5 多水印性能
水印设置: 从5个棋盘布局中随机选取其总面积的10%,并确保所选区域不重叠且面积均等以排除干扰因素。DBSCAN算法: 用于提取器输出的向量m̃_i(每个水印像素i经过提取器处理得到),识别不同水印区域对应的簇。无需了解水印信息的具体数量,在以下条件下考虑使用该簇:当簇内水印像素比例超过2%且相邻预测信息间的最大距离设定为1时,则考虑使用该簇。

bit精度计算: 评估DBSCAN聚类结果中各个簇与其真实对应中心点之间的最大重叠区域

如有不足,欢迎大家指正!
