一些图片存储网站,如 Adobe Stock,为了保护版权会在图片上添加水印。但是日前谷歌的研究人员发现了这些水印使用方式上的“漏洞”,这让去除图片上的水印成为可能。
这些可被删除的水印,其位置具有一致性,经过训练后的算法能够识别并自动除去这些水印。
那么问题来了,设置水印的初衷是为了保护版权,谷歌开发出这种去水印的算法,岂不是要助长“盗图”的风气?
8月17日,谷歌研究员Tali Dekel 和 Michael Rubenstein 在博客中回答了这个疑问:“我们只是想揭露计算机运行系统、应用程序以及信息交换协议的漏洞,提出相应的解决方案,从而帮助图片存储网站适应这种’变数’,更好地保护内容和作品的版权。”他们还补充说,“从我们做过的试验来看,世界上大部分图片存储网站,目前都无力规避这种风险。”
去除水印的算法“长什么样”
在7月份召开的“计算机视觉和模式识别大会”上,研究员展示了除水印的算法。
首先,算法会对一直重复的图片结构进行辨别。接着,如果一个相似的水印嵌入到了多张照片中,那么该水印就会变成收集的“信号”,而这些图片就会变成“噪音”。最后算法开启简单的图片运行程序,对水印的图案做出大致推测。
左: 为照片加水印
中:输入图像的色饱和度 (up to the input image shown),
右:推测出的相应的(蒙板)水印
通过下面的图片,可以清晰看到算法推测出的水印以及去除水印后的图片效果。
或者通过下图,可以看到整个算法运作的过程。
图(a)显示,大量的图片添加了相同的水印;
图(b)显示,算法可以充分利用水印一致性的特征,从而自动推断出这些水印的蒙板图案;
图(c)显示,接着算法就能还原图片,原来被水印覆盖的图片内容就被高度复原。
批量水印的不安全性
有些水印包含着复杂的设计,如将细线条和阴影相结合,这样就很难 把水印从图片上去除。事实上,让电脑自动检测出单张图片上的水印是很难完成的任务。即便人工操作,去除水印也是非常耗费精力的。一个PS技术的专家也要花费几分钟的时间,才能删除一张图片的水印。
然而,如果大量的照片添加了相同的水印,去除它们就变得轻而易举。无需任何用户干预,计算机算法通过观察网络上可以公开获取的照片,就能自动消除水印。
在谷歌研究员Tali Dekel 和 Michael Rubenstein 的博客中,传递出一个最关键的信息:可视化的水印在设计时,不仅要考虑到保护单张图片免受盗用,还要确保具有相同水印的批量图片同样安然无恙。
如何让你的水印“不可磨灭”
既然该算法去除水印的原理已经昭然若揭,为了保护图片的版权,如何反制才是这场“技术较量”的最终目的。
针对如何提高“除水印”的难度,两位研究员进行了大量试验,如随机改变水印在照片上的位置、为水印添加混合元素,或者在水印嵌入图片时进行几何变形。
经过定量分析合成水印的数据,他们得出结论:改变水印的位置和不透明度不会影响该算法发挥作用;不论位置怎样变化、不透明度多么不同,具有版权保护功能的水印仍然能被消除。
但谷歌研究院发现,将几何变形应用于水印可以提高它的稳定性。有趣的是,非常微小的图像变形就足以令水印坚不可摧。
这种变形可以制作出与原来类似的水印,但是如果你再想把它移除,图片还是会留下明显的水印痕迹。(详见右下方的图片)
以上的这种图形变化,只是随机性方法的其中一种。如果对图片上的水印进行更多变动,比如对水印进行大的偏移,或者在水印里随机加入元素,这些做法可能会更好地保护水印。
“虽然我们无法确定,未来这种随机性的水印会不会被破解。但是我们相信(同时我们的试验也证实)这种随机性会让’除水印’变得难上加难。” Dekel 和 Rubenstein 在博客中说。
编译来源1,编译来源2,编译来源3