Py学习  »  机器学习算法

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

3D视觉工坊 • 2 年前 • 416 次点击  
作者丨牛力@知乎
来源丨https://zhuanlan.zhihu.com/p/398435169
编辑丨3D视觉工坊
随着互联网时代的兴起,图片的版权保护得到了广泛的关注;为了声明图片的所有权, 人们设计了各式各样的水印图片并以一定的透明度加注到原始图片中。然而,加注水印的图片也会存在一定的风险,即水印可以被图像还原工具去除;由此,我们可以通过去除水印的程度评估图片中的水印的有效性。本文介绍实验室被ACM MM2021接受的一篇水印去除论文:
paper链接:https://arxiv.org/pdf/2108.03581.pdf
下图是我们水印去除任务上使用到的数据集。其中水印的掩膜(Mask)可以通过简单的图像处理得到,这将作为我们训练水印检测的标签。水印去除任务的训练集和测试集里的背景图片是没有交集的,而且训练集与测试集没有相同的水印;这样的设置能够检验模型在面对未知种类水印的去除的效果,同时也能检验模型的泛化性能。
彩色水印去除数据集:CLWD[4]
近些年流行的水印去除方法可以分为两大类:(1) 端到端的全图擦除[1][2];(2) 同时检测水印和修复背景。[3][4] 第一种方法将水印去除的任务视为一个图像翻译的任务(如图2),即将带有水印的图片作为源域,无水印的图片作为目标域,通过近些年流行的图像翻译模型,实现水印擦除的功能,然而这样的方法只是隐式地告知模型水印的区域,很容易使得模型误擦除物体,这一点在BVMR[3]的对比实验中证实;第二种方法则是一种多任务的学习框架(如图3),同时执行水印检测与图像修复的任务,这样一来,在最后的图片修复中,模型只需要修复检测出来的水印区域,大大减小了误擦除的可能性。
端到端的水印擦除方案和多任务去除水印方案
正如论文BVMR[3]所述,水印掩膜对于最终的图像修复质量非常重要,然而这些方法都没有针对水印检测做出优化,在实验过程中,我们发现水印的主体图案很容易被模型检测出来,然而水印周边的附属文字或者图案却很容易被模型视为噪声而忽视(如图4),这样检测出来的水印质量较差,而且会降低后续的修复的图像质量。
离散的水印图案加剧了检测的难度
为此,我们提出了自纠正的水印检测模块(Self-calibrated Mask Refinement),掩膜指引的背景修复模块,多层次信息融合的背景改进模块,整体框架如图5所示,各子模块如图6所示。整体框架可以分为背景粗修阶段,以及背景精修阶段。在图像粗修阶段,可以看到,网络由传统的UNet框架演变而来,为了兼顾模型大小以及多任务的需求,我们采用了共享编码器以及一层共享解码器的主干网络,对于水印掩膜检测以及背景修复任务,我们采用了不同的解码器分支实现不同的功能。在图像精修阶段,我们将预测的水印掩膜以及粗修图片放置一起作为输入,并引入了跨阶段的特征融合、跨尺度特征融合,以此提高精修阶段的图像修复质量。
我们设计的两阶段水印擦除与修复框架
在自纠正水印检测模块中,我们可以看到这个模块可以分为两个部分,一个是常规的水印检测部分(X^m以及\hat{M}),另一部分则是纠正mask的部分。在自纠正部分,我们希望学习到水印主图案的特征,将其在隐空间的特征与水印掩膜其他位置特征做相似度匹配,以此找出可能的环绕图案。
在这一纠正模块中,我们首先从预测得到的水印掩膜的置信度图中,取出高置信度的掩膜,这一区域可以被认为代表了水印主体图案,随后我们将高置信度的掩膜与掩膜特征做点乘,并求平均得到一个均值向量x^m, 该向量可以表示为水印掩膜的主要特征;然而我们也注意到环绕在主图案的水印外表特征可能与主图案不一致,因此我们将水印掩膜主特征x^m投影到一个隐空间,得到\bar{X}^m,同时我们也将水印特征也投影到隐空间,得到\tilde{X}^m,在此隐空间里我们将两个投影特征级联,通过1x1的卷积,即一个变换矩阵,学习相似度,最后我们得到了一个相似度图,在此相似度图里,我们只考虑正相关部分,因此可以使用水印掩膜标注作为监督,如此,我们实现了自纠正的水印检测模块。
设计的各子模块
水印掩膜指引修复模块中,改动较小,引入了预测的掩膜图作为指导。跨层次特征融合中,我们考虑到分辨率较小的深层特征能够融合更多的语义信息,因此将其作为自下而上传播的特征流,在此结构中,可以看到信息可以自上而下以及自下而上的流动,充分地融合了背景修复的信息。有些读者可能会问,为什么不采用全连接的方式(即每一层特征都被用于其他层信息融合)实现跨层次特征融合呢?我们做过相关实验,发现这一方法与我们提出的方法性能差别不大,而且全连接风格的跨层次特征模型训练与推理速度更慢。
我们在当前两个大型水印去除数据集LVW[5], CLWD[4]上做实验,其中LVW的水印皆为白色水印,CLWD则不仅包含了白色水印,还包含了彩色水印。我们实验中对水印去除的质量评价指标为:PSNR, SSIM, RMSE, RMSWw。其中RMSE表示均方根误差,RMSEw表示仅在水印区域计算的均方根误差。下列表格总结了我们的方法在两大数据集上的提升效果。
与主流方法的实验对比
可以看到,对比纯粹的图像翻译模型,拥有水印检测功能的方法表现都十分优异;在LVW数据集上,我们的方法提升不明显,这是因为白色水印任务比较简单,容易检测,无法与其他方法拉开距离。而在CLWD数据集上提升效果显著,因为CLWD数据集包含了大量的彩色水印,同时这些彩色水印有些由不同颜色或者纹理的图案构成,极大地加剧了水印检测和图像修复的难度。这也从另一方面告诉我们,水印的图案不能设置成统一的颜色或者纹理结构,否则很容易被修复工具去除。
下图是基准方法与我们的方法在CLWD[4]上擦除水印的效果比较图,可以看到我们的方法在对于,, ,四种形式下擦除的效果均比基线方法更好,比如在第二行中,“永顺制药”的长方形LOGO,基线方法在恢复这一区域的图像时,会在背景留下或多或少的水印残影。
基线方法与我们的方法可视化结果
此外,我们还对比了水印检测的性能,这里我们以CLWD数据集为例,对比了BVMR[3]和WDNet[4]的方法,采用了F1和IoU的指标来衡量水印检测的质量,如下表所示。

各方法水印检测对比
其中,\hat{M}为第一次检测到的水印掩膜,\hat{M}’为经过纠正后的水印掩膜。可以看到,我们的自纠正水印检测模块具备了我们所述的功能,并且相对最好的基线方法有了可观的提升。下图是我们自纠正掩膜预测模块与基线方法在水印数据集上的可视化结果:
水印检测可视化结果
总结一下,本文提出了一种新的水印去除方法,相比现有方法在彩色水印数据集CLWD上有可观的提升,并且具备了自纠正的水印检测功能,大大提高了水印检测的质量,同时也帮助了后续的水印区域的图像修复工作;我们还提出了跨阶段与跨层次的信息融合背景修复模块,有效地提高了图片的修复质量。此外通过实验,我们发现,纯颜色的水印比较容易被现有的方法检测并擦除,若是比较复杂的颜色、纹理的图案,特别是有细碎的图案环绕在主图案的时候,现有的模型处理起来比较困难,因而水印的设计应考虑更多这些细节。
参考文献:
[1] Generative adversarial networks model for visible watermark removal.
[2] Towards photo-Realistic visible watermark removal with conditional generative adversarial networks.
[3] Blind visual motif removal from a single image.
[4] WDNet: watermark-decomposition network for visible watermark removal
[5] Large-scale visible watermark detection and removal with deep convolutional networks
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2
「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3
「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。


一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球 :针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
 圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118505
 
416 次点击