跳转至

3D-GSW: 3D Gaussian Splatting for Robust Watermarking

会议: CVPR 2025
arXiv: 2409.13222
代码: https://kuai-lab.github.io/cvpr20253dgsw/
领域: 3D视觉 / 数字水印 / 3D Gaussian Splatting
关键词: Watermarking, 3D-GS, Frequency-Guided Densification, Gradient Mask, DWT

一句话总结

提出3D-GSW,首个专为3D Gaussian Splatting设计的鲁棒数字水印方法,通过频率引导致密化(FGD)移除冗余高斯并在高频区域分裂高斯来增强鲁棒性,结合梯度掩码和小波子带损失保持渲染质量,在Blender/LLFF/Mip-NeRF 360数据集上同时实现了最优的水印鲁棒性和渲染质量。

背景与动机

3D Gaussian Splatting凭借实时渲染和高质量正成为3D内容创建的主流表示。随着商业化使用增加,版权保护成为紧迫需求。现有NeRF水印方法(如WateRF、CopyRNeRF)不能直接应用于3D-GS,因为:(1) 预训练3D-GS包含大量冗余高斯,导致水印嵌入计算开销大且嵌入不鲁棒(对渲染无贡献的高斯也可能携带水印信号,导致信号弱);(2) 显式表示的参数结构不同于NeRF的隐式网络权重。

核心问题

如何在3D-GS模型中嵌入鲁棒的数字水印,使得从任意视角渲染的图像都能提取出正确的水印消息,同时对图像攻击(噪声、裁剪、JPEG压缩等)和模型攻击(移除/克隆高斯、参数加噪)保持鲁棒,且不降低渲染质量和实时渲染速度?

方法详解

整体框架

Fine-tune预训练3D-GS来嵌入水印。流程:预训练3D-GS → FGD预处理(移除冗余高斯+高频区域分裂高斯)→ 构建梯度掩码 → 微调优化(消息损失+重建损失+LPIPS损失+小波子带损失)→ 水印3D-GS。提取时:渲染图像 → DWT变换取LL2子带 → 预训练HiDDeN解码器提取消息。

关键设计

  1. 频率引导致密化(FGD):分两阶段。阶段1:通过辅助损失函数度量每个高斯对渲染质量的贡献\(V_\pi\),移除贡献极小(\(V_\pi < 10^{-8}\))的冗余高斯(约减少28%),使剩余高斯都对渲染有显著影响,从而嵌入的水印更鲁棒。阶段2:对渲染图像分patch做DFT,选择高频强度最大的top-K%的patch,其中贡献较小的高斯分裂为更小的高斯,增强高频细节的渲染质量。移除的高斯远多于分裂的,总计减少了总数,提升了渲染FPS。

  2. 梯度掩码:FGD处理后的3D-GS已有高渲染质量。微调时需最小化参数变化。设计指数衰减梯度掩码\(z = \frac{1}{e^{|\theta|^\beta}}\)(归一化后),对参数值大的高斯传递更小的梯度。\(\beta=4\)实现最佳精度-质量平衡。不对位置\(\mu\)做掩码(梯度本身就接近零)。

  3. 小波子带损失:FGD在高频区域做了修改,需要保护高频细节。用DWT分解渲染图像和原图,只对高频子带{LH, HL, HH}计算L1损失,专门增强高频区域的渲染保真度。

  4. DWT低频子带水印嵌入:将渲染图像做2级DWT,取LL2(低频)子带送入预训练的HiDDeN解码器提取消息。低频子带对图像攻击(JPEG压缩、噪声等)更鲁棒。

损失函数 / 训练策略

$\(\mathcal{L}_{total} = \lambda_{rec}\mathcal{L}_1(I_w, I_o) + \lambda_{lpips}\mathcal{L}_{LPIPS} + \lambda_w\mathcal{L}_{wavelet} + \lambda_m\mathcal{L}_{BCE}(M, M')\)$ \(\lambda_{rec}=1, \lambda_{lpips}=0.2, \lambda_w=0.3, \lambda_m=0.4\)。Adam优化,2-10个epoch。HiDDeN解码器在COCO上预训练后冻结。

实验关键数据

渲染质量与水印准确率(32-bit,三数据集平均)

方法 Bit Acc↑ PSNR↑ SSIM↑ LPIPS↓
StegaNeRF+3D-GS 93.15 32.68 0.953 0.049
WateRF+3D-GS 93.42 30.49 0.956 0.050
3D-GSW w/o FGD 94.60 34.27 0.975 0.047
3D-GSW (Ours) 97.37 35.08 0.978 0.043

图像攻击鲁棒性(32-bit)

攻击 StegaNeRF WateRF 3D-GSW
无攻击 93.15 93.42 97.37
高斯噪声 54.48 73.85 ~90+
JPEG压缩 73.28 80.58 ~95+
裁剪40% 75.87 82.32 ~90+

模型攻击鲁棒性(32-bit)

攻击 StegaNeRF WateRF 3D-GSW
移除20%高斯 60.24 80.58 87.99
克隆20%高斯 75.56 82.32 89.87
参数加噪 61.82 73.85 ~90+

效率(Mip-NeRF 360, 64-bit)

方法 嵌入时间 FPS 存储
WateRF+3D-GS 6h 47m 56.65 833.89MB
StegaNeRF+3D-GS 58h 56m 56.65 833.89MB
3D-GSW 21m 03s 72.68 640.21MB

消融实验要点

  • FGD:移除后bit accuracy下降~3%,加入后还提升了FPS(+28% on Mip-NeRF 360)和减少存储
  • 梯度掩码:去掉后PSNR从35.08降到33.26(-1.82),渲染质量显著下降
  • 小波子带损失:去掉后PSNR从35.08降到33.56(-1.52),高频细节退化
  • 全部去掉:PSNR降到29.96,质量崩溃
  • DWT level 2最优:level 1/3/4的bit accuracy或PSNR均不如level 2

亮点

  • 频率引导的高斯管理:FGD同时解决了三个问题——减少冗余提升效率、增强水印鲁棒性、通过高频分裂保持渲染质量,一箭三雕
  • 指数衰减梯度掩码:巧妙处理3D-GS参数中的零值问题(普通掩码会除以零),同时保证参数变化最小化
  • 兼顾模型攻击和图像攻击:首次系统评估了对3D-GS模型本身的攻击(移除/克隆高斯、参数加噪),比仅考虑图像后处理的方法更全面
  • 效率优势巨大:嵌入时间从数小时降到21分钟,FPS提升28%,存储减少23%

局限性 / 可改进方向

  • 预训练解码器需要为每种bit长度单独训练(但只需训练一次)
  • 对3D-GS压缩攻击不鲁棒——所有方法在压缩后都丢失水印(bit accuracy降到~50%),这是辐射场水印研究的共同挑战
  • 仅嵌入二进制消息,未扩展到嵌入图像等多模态信息
  • 依赖固定的HiDDeN架构作为解码器

与相关工作的对比

  • WateRF:NeRF水印SOTA,在DWT低频嵌入消息。3D-GSW继承了DWT思路但针对3D-GS特性增加了FGD和指数梯度掩码,渲染质量高4.6 dB PSNR,bit accuracy高4%
  • StegaNeRF:隐写术方法,优先不可见性而非鲁棒性。应用于3D-GS后对各种攻击极脆弱,且嵌入时间极长(59小时 vs 21分钟)
  • CopyRNeRF:NeRF水印先驱,仅支持隐式NeRF,无法处理显式3D-GS

启发与关联

  • FGD的"先清理冗余再做任务"的策略可推广到3D-GS的其他fine-tuning场景(如风格迁移、编辑)
  • 频率域分析3D-GS贡献的思路值得在3D-GS压缩/剪枝研究中借鉴

评分

  • 新颖性: ⭐⭐⭐⭐ 首个专为3D-GS设计的水印方法,FGD设计有创意
  • 实验充分度: ⭐⭐⭐⭐⭐ 三数据集+三种bit长度+图像&模型攻击+效率分析+丰富消融+失败案例+4D扩展
  • 写作质量: ⭐⭐⭐⭐ 方法描述清晰,公式推导完整
  • 价值: ⭐⭐⭐⭐ 解决了3D-GS商用的版权保护实际需求,但压缩攻击的软肋限制了部分应用