Jing Leung
Jing Leung
找些没有水印的图片,按照水印公式:J = I * (1-alpha) + W * alpha 生成, I为原始图片,alpha为alpha map, W为水印。mask可以自己找纯水印图片生成。
> 假如我的水印没有透明度, 也就是alpha=1, 那么公式就是 J = W * alpha, 效果体现就是w在I上的一片遮挡。这样训练出来的模型,能够去除没有透明度的水印吗?不知道您尝试过没有 取png图像的alpha通道,随机生成alpha值,乘以原始的alpha通道即可
> 请问 CLWD/train/Alpha 目录中的图片是怎样生成的?因为我不知道 Alpha里图片怎么生成的,所以我修改代码,不使用alpha目录里的数据来训练模型,有用吗? 1) 这个是CLWD数据集作者制作数据集时对mask乘以随机alpha值获得的; 2) 我们的模型不依赖alpha数据
> 3、问题 1. 训练与测试所用的水印最好没有交集,不然你相当于训练时见过测试集的水印了,测试的识别肯定很好;训练所用图片为256x256,测试图片1尺度达到1200x900,分辨率不匹配;最好训练与测试的分辨率大致匹配;训练与测试的数据分布需要一致。 2. 不带透明度的就用该模型识别也可以,去除可以使用inpainting模型;
> 3-1、这一次测试train、test、要去水印的图3者彼此独立,但是效果反而最差,我推测的原因可能有:Mask生成,二值化处理过于粗糙,有些连在了一起。请问哪里需要改进? 1. train与test水印独立是为了验证你训练的模型的泛化性,如果你仅针对特定几个水印去除,可以训练集与测试集不独立;效果差大概是因为训练图片数目不够,至少一万张以上;其次训练集与测试集的背景图分布也要一致,不能训练集是clwd的从pascal爬来的数据,测试集是其他cg图片。 > 3-2、之前您说过训练数据集图片尺寸最好和去水印的图尺寸差不多,那是不是意味着,我来了一批尺寸和训练模型尺寸差别很大的图片,那么就需要重新训练对应尺寸的模型?如果这样的话,那收集对应尺寸图片集就是一个不小的工作量 可以训练多个模型,针对低分辨率,中分辨率,高分辨率分别处理。模型的训练与测试应保持分布一致,否则需要引入迁移学习的内容。
> 针对您说的:训练集与测试集, 指的就是train目录和test目录吧? 是的 > 2、针对您说的:“如果你仅针对特定几个水印去除,可以训练集与测试集不独立”,以2000张原图和30个Logo为例, 意思是说30个logo打在2000原图上,然后数量1:1随机分成训练集和测试集? 是的,数目比例可以是7:3 > 3. 这就是“背景图分布也要一致”吧? 对的,如果你要测试cg图的水印去除,训练集需要加入cg图作为背景的水印图。
1. 跟之前说的一样,如果你之后的目的只是想去除自定义测试图的水印,那就train可以包含要去除的水印;否则想做通用一点的去除,应该从train训练的水印入手,增加水印的样式,与你的自定义测试图水印类型、风格一致,使得模型更鲁棒; 2. 数据集大的时候有资源就用多个gpu一起训练,没有的话,先用5000张这样的量级验证可行性。
I'm not sure whether it works, and you can try it. I think that accurate mask will be better for watermark removal since accurate mask provides more edge details than...
I recommend you to build two models for gray stamps and color stamps respectively. Gray stamps are more difficult to remove since the background is full of gray and black...
> > > 还想请教下,为什么没有考虑WDNet中彩色的mask,alpha*w等操作呢 > > > > > > > > 1. 彩色mask即 alpha map,走alpha map估测的路线,至少需要估测alpha map,watermark,wateramrk-free image; 由公式 J = I * (1-alpha) + W * alpha 可知,从单一等式同时估测三个未知变量本身是个病态方程,每一个像素对应三个未知量,估测难度较大。...