自纠正的水印检测模块的图像水印去除 | [ACM MM 2021]
点击下方“AI算法与图像处理”,一起进步!
重磅干货,第一时间送达
来源:Newly CVer
仅用于学术交流分享,如有侵权,请联系删除
随着互联网时代的兴起,图片的版权保护得到了广泛的关注;为了声明图片的所有权, 人们设计了各式各样的水印图片并以一定的透明度加注到原始图片中。然而,加注水印的图片也会存在一定的风险,即水印可以被图像还原工具去除;由此,我们可以通过去除水印的程度评估图片中的水印的有效性。本文介绍实验室被ACM MM2021接受的一篇水印去除论文:
paper链接: https://arxiv.org/pdf/2108.03581.pdf
下图是我们水印去除任务上使用到的数据集。其中水印的掩膜(Mask)可以通过简单的图像处理得到,这将作为我们训练水印检测的标签。水印去除任务的训练集和测试集里的背景图片是没有交集的,而且训练集与测试集没有相同的水印;这样的设置能够检验模型在面对未知种类水印的去除的效果,同时也能检验模型的泛化性能。
近些年流行的水印去除方法可以分为两大类:(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:何恺明顶会分享
在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析
下载2:终身受益的编程指南:Google编程风格指南
在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!
下载3 CVPR2021 在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文