前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >去水印--《On the Effectiveness of Visible Watermarks》

去水印--《On the Effectiveness of Visible Watermarks》

作者头像
用户1148525
发布2018-01-03 15:26:27
2.1K0
发布2018-01-03 15:26:27
举报

On the Effectiveness of Visible Watermarks CVPR2017

大牛 William T. Freeman 去了 Google Research 本文没有使用深度学习,使用传统的优化算法来解决水印去除。

首先看图有个感性认识吧

这里写图片描述
这里写图片描述

基于单张图像去除水印的难度还是很大的。这里我们在网上搜集使用同一个水印的大量图像,基于这些图像,我们估计出 Watermark (W) 和 alpha matte (α),再得到没有水印的原始图像。结果还是很不错的,最后本文也研究了一下怎么让这个水印不那么容易去除。

3 An Attack on Watermarked Collections 这里首先来看看问题的数学描述,假定含有水印的图像为 J,水印为 W,原始图为 I,那么这三者间的关系如下:

这里写图片描述
这里写图片描述

其中 p=(x,y) 是像素的位置,α(p) 是一个随着位置而变化的opacity,也叫 alpha matte,类似一种调和因子吧。大部分使用的水印在图像中都是半透明的,所以对所有像素,α(p) < 1,或者 α=c·α_n, c是一个常量值 constant blending factor,α_n 是一个在0-1 之间的 normalized alpha matte 。和 image matting 类似,图像中大部分像素的 α_n 要么是 0 (background)要么是1(foreground)

一旦得到了 W 和 α,那么原始图像就很容易得到

这里写图片描述
这里写图片描述

对于单张图像的情况,给定J 去得到 I 是很难的,因为 这个问题是 under-determined, 变量个数大于方程的个数(there are fewer equations than unknowns)

但是同一个水印通常以同一种方式被加到许多图像上去。对于一组使用了相同的 W 和α 的图像,可以用下面的公式表示

这里写图片描述
这里写图片描述

给定一组水印图像 J, 我们希望估计出 W 、α、原始图像 I, 这个 multi-image matting 问题仍然是一个 under-determined,对于 K个彩色图像,每个像素有 3K 个方程 和 3(K + 1) + 1 变量。 但是因为 图像集中的 W 和α 的一致性,以及自然图像的先验知识,可以全自动的求解上述问题,得到很高精度的解。

我们去除水印的算法包括几个步骤,如下图所示:

这里写图片描述
这里写图片描述

我们首先来解决使用相同的 W 和 α 加水印的问题,然后再考虑 使用不同的 W 和 α 加水印的问题

3.1. Initial Watermark Estimation & Detection 第一个任务就是在一组图像中怎么讲所有图像中属于水印的图像结构检测出来。这是一个先有鸡还是先有蛋的问题。水印估计和水印在图像什么位置是相互依赖的关系。这里我们对所有图像进行联合 水印估计和检测。也就是通过迭代下面的估计和检测步骤。

I. Estimating the Matted Watermark 给定所有图像中的水印当前估计的区域,我们通过观察这些区域图像梯度的一致性来检测出水印梯度,也就是我们通过计算这些区域的图像梯度的中间值 median,对每个像素的 x 和 y 方向分别计算

这里写图片描述
这里写图片描述

随着 K 的增加,上述公式会收敛于 水印的梯度,会有一个位移偏差,后面我们会修正这个偏差

这里写图片描述
这里写图片描述

我们通过Canny得到的 edge map 来定位出水印的外接矩形框,这样就修正了上面的位移偏差

II. Watermark Detection 给定估计到的水印梯度 ,我们使用边缘模板匹配算法 Chamfer Distance 检测出所有图像中的水印位置。

水印梯度的初始化可以通过人为框出水印区域来,也可以利用水印位置的先验知识(如果有的话)

3.2. Multi-Image Matting and Reconstruction 有了所有图像中水印的检测位置信息,我们的目标就是解决 multi image matting problem,有 J 得到 W 、α、原始图像 I,我们定义如下的目标函数

这里写图片描述
这里写图片描述

随后对公式中的每一项进行了解释

Optimization 最后我们改写了一下目标函数的形式如下

这里写图片描述
这里写图片描述

我们使用下面的三个迭代步骤来求解上面的目标函数 I. Image–Watermark Decomposition 这一步 通过固定 α 和 W 来最小化目标函数

这里写图片描述
这里写图片描述

II. Watermark Update 这一步 由所有图像的各自 水印梯度得到 全局水印梯度,也就是去中值

这里写图片描述
这里写图片描述

III. Matte Update 这一步是通过固定其他参数,求解 α

Matte and Blend Factor Initialization: 探讨了一些初始化问题

3.3. Removing the Watermark in a New Image 有了 W and α 就可以将任意新图像中的水印去除(前提是使用了相同的 W and α)

4 A Generalized Watermarking Model 怎么让水印不那么容易被去除了? 考虑到水印的特殊性,我们只关注对水印进行 subtle variations opacity changes do not affect the results much, and that geometric perturbations have the most significant impact on the quality of the reconstructions.

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Watermark removal comparison with baselines

这里写图片描述
这里写图片描述

Datasets and running tim

这里写图片描述
这里写图片描述

Results on stock imagery

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Reconstruction quality and comparison

这里写图片描述
这里写图片描述

Example limitation

这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档