数字水印
概念
Invisible watermark:肉眼基本看不到。
Blind watermark:解码不需要原图。
Robust watermark:JPEG、缩放、裁剪、噪声等处理后仍能检测。
Steganography/图像隐写:更强调“秘密传递信息、隐藏信息存在本身”,研究目标通常更看重隐蔽性和容量;与版权、溯源、认证场景下的watermarking不完全是一回事。
代码
PixelSeal/VideoSeal
Meta的facebookresearch/videoseal现在实际上已经不只是VideoSeal,而是一个完整model zoo,包括:
-
PixelSeal:256 bit
-
ChunkySeal:1024 bit
-
VideoSeal 1.0:256 bit
官方目前把PixelSeal定位为SOTA Robustness & Imperceptibility;ChunkySeal则专门解决高容量问题,将容量提高到1024 bit。
Watermark Anything
Meta的Watermark Anything/WAM是ICLR 2025工作。
它非常有意思的一点是:不是必须整张图片只有一个水印,而是可以嵌入一个甚至多个局部水印。
因此对于:
-
cropping
-
object moving
- 局部编辑
-
splicing
-
inpainting
这类问题,比传统“整幅图嵌64 bit”的思路先进很多。
Adobe TrustMark
TrustMark是Adobe/Content Authenticity Initiative的官方开源实现,并在ICCV 2025发表。
生态已经很完整:Python 编码/解码 → JavaScript ONNX 解码 → Rust → C2PA provenance。
甚至直接pip就能用:
|
|
而且它专门强调:arbitrary-resolution images,这一点对工程部署很重要。
EditGuard
EditGuard是CVPR 2024工作,不仅恢复版权信息,还可以输出哪里被修改了。
也就是:原图 → 嵌入不可见水印 → 图片被篡改 → decoder → copyright bits + tamper mask。
作者报告其能够实现像素级篡改定位,同时恢复版权信息。
不过它有一个很重要的限制,作者自己也明确说明:版权水印部分主要训练了JPEG、Gaussian noise、Poisson noise等有限 degradation,如果追求更强的通用鲁棒性,需要加入更多degradation重新训练。
blind_watermark
中文社区里非常流行。
核心算法是:DWT + DCT + SVD。
支持字符串、bit array和图片水印,而且提取时不需要原图;项目也展示了rotation、crop、resize、noise、brightness等攻击实验。
它的最大优势:简单、稳定、Python好用、CPU就能跑。