引言

水印在日常生活中随处可见,它是一种保护图像图片版权的机制,防止未经许可或授权的使用。为了避免使用带有水印的图像带来的各种影响,最直接的做法就是将带有水印的图像找出来丢弃不用,此外还有一种不推荐的做法就是去掉图像上的水印后再使用。而自动去水印的计算机算法的存在却可使用户轻松获取无水印图像,这是由于当前的水印技术存在一个漏洞。研究水印去除技术一方面可以解决部分场景的水印去除任务,另一方面也可以完善水印添加技术,进一步保护图像版权,维护作品合法权益。本文探索了当前主流的AI领域水印去除技术,并进行代码复现。

正文

(1)前沿技术:Google提出的《On the Effectiveness of Visible Watermarks》

项目网址

论文下载地址

代码复现

CVPR 2017(2017 年国际计算机视觉与模式识别会议)上,Google 已经通过发表《On the Effectiveness of Visible Watermarks》展示过该项技术。此次发表文章,意在更详细地阐述算法工作的原理,并建议人们进一步加强图片版权保护的措施。

我们都知道,通常我们平时看到的水印都比较难除去,即使是 PS 专家,也需要花上一定时间,才能除去单一张图的水印。但依据 Google 的这项算法,却可以将大多数流行图片网站的水印自动地一次性抹去。

(2)构建水印去除深度学习模型

无论是搭建水印检测器或是水印去除器,都需要海量水印图像作为数据基础。然而现实中并没有直接可以使用的水印图像数据集。因此,我们的首要任务是构建一个水印图像数据集。首先我们要收集各式各样的水印,为了保证后续模型良好的泛化性能,水印的种类要尽可能的多,水印样式也要尽可能的丰富。

我们一共收集了80种来自于公司、组织和个人的水印,包括了中文、英文和logo等不同样式。接下来就是制作带水印的图像,为了保证图像数据的一般性,我们将公开的PASCAL VOC 2012数据集的图像作为原始的无水印图像,然后利用图像处理工具将收集的80种水印以随机的大小、位置和透明度打在原始图像上,同时记录下水印的位置信息,从而得到第一个大规模的水印图像数据集。

水印数据集的80%被划分为训练集,剩余的20%被划分为测试集,为了适应现实场景中需要机器自动检测和去除从未见过的水印的需求,我们确保训练集中的水印不会出现在测试集中,这样可以很好地模拟现实生活中的使用场景。现在水印图像数据集已经准备就绪,接下来就是如何去搭建水印检测器和去除器。

 

能够一眼看穿各类水印的检测器

水印在图像中的视觉显著性很低,具有面积小,颜色浅,透明度高等特点,带水印图像与未带水印图像之间的差异往往很小,区分度较低。为了构建一个有效的水印检测器,我们将图像水印检测问题转化为一种特殊的单目标检测任务,即判断图像中是否有水印这一单目标存在。

当前基于深度学习的目标检测模型有很多,可以分为以Faster R-CNN为代表的两阶段目标检测算法和以YOLO和RetinaNet等为代表的单阶段目标检测算法。前者是先由算法生成一系列待检测目标的候选框,再通过卷积神经网络进行候选框的分类;后者则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。一般来说单阶段的算法在检测速度上会更快,但检测精度上会有所下降。我们在这里分别基于Faster R-CNN、YOLOv2和RetinaNet这三种目标检测算法来搭建水印检测器,从对比的结果来看,三种方法都展现了令人满意的检测效果,其中以RetinaNet最优。

为了更加直观地展示我们搭建的基于RetinaNet的水印检测器的效果,我们将测试集上的水印检测结果可视化,蓝色的框是实际的水印区域,红色的框是检测器定位的水印区域,从可视化结果可以看出,对于未出现在训练集中的水印,我们的水印检测器依然可以一眼就看穿。有了这样一款水印检测器,我们就可以在海量图像中快速又准确地检测出带水印的图像。

往前走一步:从检测到去除

如果只是利用AI来自动检测水印,是不是总感觉少了点什么?接下来我们在水印检测的基础上往前再走一步,利用AI实现水印的自动去除。因为水印在图像上的面积较小,所以直接对整幅图像进行水印去除显得过于粗暴,也会严重拖慢去除速度。针对这种情况我们结合水印检测设计了更贴合实际操作的水印处理流程,我们先通过水印检测器检测出水印区域,然后对水印区域进行水印去除操作。

水印去除问题可以看作是一个从图像到图像的转换问题,即将带水印的图像转换为无水印的图像。这里我们使用全卷积网络来搭建水印去除器,实现这种图像到图像的转换。全卷积网络的输入是带水印的图像区域,经过多层卷积处理后输出无水印的图像区域,我们希望网络输出的无水印图像能够和原始的无水印图像尽可能的接近。

为了尽可能提升网络输出无水印图像的质量,我们采用U-net结构替换了传统的编解码器结构,将输入信息添加到输出中,从而尽可能保留了图像的背景信息。同时我们采用感知损失(Perceptual Loss)和一范数损失(L1 Loss)相结合的方式替换传统的均方误差损失(MSE Loss),使输出的无水印图像在细节和纹理上能够更贴近原图。

我们将水印去除器在测试集上的一些去水印效果可视化,左列是输入的水印区域,右列是输出的无水印区域。从可视化的结果可以看出对未知水印的去除效果还是不错的。

 

参考文献:

【1】https://mp.weixin.qq.com/s/hnLssBDY1sHGj9qg9rknaQ

【2】Large-Scale Visible Watermark Detection and Removal with Deep Convolutional Networks.

Cheng D, Li X, Li W H, et al. Large-Scale Visible Watermark Detection and Removal with Deep Convolutional Networks[C]//Chinese Conference on Pattern Recognition and Computer Vision (PRCV). Springer, Cham, 2018: 27-40.

【3】Towards Photo-Realistic Visible Watermark Removal with Conditional Generative Adversarial Networks.

Li X, Lu C, Cheng D, et al. Towards Photo-Realistic Visible Watermark Removal with Conditional Generative Adversarial Networks[J]. arXiv preprint arXiv:1905.12845, 2019.

使用深度学习技术进行水印去除相关推荐

  1. ACM MM 2021|基于深度学习的图像水印去除

    作者丨牛力@知乎 来源丨https://zhuanlan.zhihu.com/p/398435169 编辑丨3D视觉工坊 随着互联网时代的兴起,图片的版权保护得到了广泛的关注:为了声明图片的所有权, ...

  2. Python-OpenCV使用基本图像处理技术进行水印去除

    使用基本图像处理技术进行水印去除,主要采用OpenCV提供的库函数以及基本的图像处理进行图像修复,但是从鲁棒性方面可能存在不足.处理的图像可能存在一定的模糊水印去除不完整.留边等问题.本文参考了部分其 ...

  3. 如何利用深度学习技术处理图像水印?

    作者 | 李翔 转载自公众号视说AI(ID: techtalkai) 作者简介:李翔,国内某互联网大厂AI民工,前携程酒店图像技术负责人,主导并参与一系列图像智能化算法的研发与落地工作.在ICCV和C ...

  4. TPAMI三维点云深度学习技术综述

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨单博 来源丨 笑傲算法江湖 点击进入->3D视觉工坊学习交流群 国防科大 IEEE TPA ...

  5. 【代码实现】最新PyTorch机器学习与深度学习技术方法

    近年来,随着AlphaGo.无人驾驶汽车.医学影像智慧辅助诊疗.ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮.尤其是深度学习技术,在许多行业都取得了颠覆性的成果.另外,近年来, ...

  6. 深度学习技术是我国制造光刻机弯道超车的机会吗?

    深度学习经过15年的发展现已应用于:科学研究.基因测序.油气勘探.气象预测等各个领域,在高性能计算HPC的加持下,与大数据.模拟仿真.人工智能AI等技术逐步与深度计算融合. 技术背景 光刻技术是用于制 ...

  7. PyTorch机器学习与深度学习技术方法与案例实践应用

    目录 第一章.Python基础知识串讲 第二章.PyTorch简介与环境搭建 第三章.PyTorch编程入门与进阶 第四章.PyTorch前向型神经网络 第五章.PyTorch卷积神经网络 第六章.P ...

  8. 开源大咖齐聚2020启智开发者大会,共探深度学习技术未来趋势

    ​2020年12月2日,"OpenI/O 2020启智开发者大会"在北京国家会议中心召开.大会以"启智筑梦 开源先行"为主题,立足于国际国内开源大环境和发展趋势 ...

  9. 飞桨博士会第三期来啦!中国深度学习技术俱乐部诚邀您加入

    飞桨博士会是由百度开源深度学习平台飞桨(PaddlePaddle)发起的中国深度学习技术俱乐部,旨在打造深度学习核心开发者交流圈,助力会员拓展行业高端人脉.交流前沿技术.俱乐部为会员制,成员皆为博士生 ...

  10. 深度学习技术在美图个性化推荐的应用实践

    导读:美图秀秀社交化的推进过程中,沉淀了海量的优质内容和丰富的用户行为.推荐算法连接内容消费者和生产者,在促进平台的繁荣方面有着非常大的价值 .本次分享探讨美图在内容社区推荐场景下应用深度学习技术提升 ...

最新文章

  1. BNUOJ 6038 - Reaux! Sham! Beaux!(模拟)
  2. Win server 2012 R2 文件服务器--(三)配额限制
  3. 开发HTML5手机游戏的5个注意要点--手机开发前景-- 转
  4. 智能家居 (8) ——智能家居项目整合(网络控制线程、语音控制线程,火灾报警线程)
  5. c语言学习自我评价,学习自我评价4篇
  6. sqlite3修改表内容python_Python sqlite3数据库模块使用攻略
  7. python-列表包字典-字典结构格式化-经验
  8. Spring JSF集成
  9. AI进入制造业 节省人工成本也能提高产品性能
  10. Linux驱动移植——ENC28J60以太网控制器
  11. 11g DB与AFD不兼容导致的 oracle[3038361] oracleafd:19:1616:Failed to map IO buffer in kernel memory 报错
  12. 无法将数值apsdaemon写入键
  13. C语言for循环能不能定义,关于for循环的格式
  14. js常用实例:qq。。。
  15. 在线免费无限制的 PDF 处理工具(转换、编辑、分割、合并、压缩)
  16. Suomi NPP VIIRS夜间灯光遥感数据简介与下载
  17. 【5G】5G关键技术领域发展状况
  18. jVectorMap中添加九段线和台湾省
  19. 计算机硬盘分几大类啊,事实:如何将计算机硬盘分为几个分区?
  20. python操作sqlite3----增删改查

热门文章

  1. 《软件工具》分享2款好用的时序图工具
  2. Deep Spatio-Temporal Residual Networks(深度时空残差神经网络)
  3. 机器视觉之表面缺陷检测
  4. java swing 汽车租赁管理系统 java swing mysql实现的汽车租赁管理系统源码(1027)
  5. CSS3D魔法——旋转魔方
  6. 屏通触控大师(PM Designer)快速入门
  7. vue+element+springboot前后端分离项目整合pageoffice实现在线编辑Word和Excel跟签章等
  8. 西门子S7系列PLC与触摸屏模拟仿真(无需实物)
  9. Hprose轻松实现远程过程调用(RPC)
  10. 无线扩音器FCC认证CE认证需要满足那些要求