深度模型自动去除图片上透明水印
最近在公司做图片的自动去除水印,这个方向似乎比较敏感,不过市面上也有许多model as service的产品,这里列举几个:
1. 首先就是https://www.watermarkremover.io/zh
这网站直接就能无限体验(无痕模式)
去除效果尚可,但仅限于水印比较明显且比较少的情况,无法处理复杂情况(效果被我们自己训练的模型碾压了)
而且他的API很贵,似乎是5毛人民币一张
特点是将水印去除和文字去除分开,还搞了个图标去除,很明显就是三个模型以上了。
2. 然后就是百度的AI图片助手
效果比较难绷,很明显是基于stable diffusion做的,会扭曲不应该去除的文字,好处是能便捷支持刷子,手动去涂抹想去除的区域
3. Fotor (其实做的是去除文字)
如小标题,并不能单独去除水印,不过他有其他许多图片编辑的功能,智能分割这种,也算比较成熟
最后踩三捧一,展示一下我们模型的效果(随便网上找个有水印的商品图):
下面是第一个商用模型的效果:
百度的模型直接就检测不到水印,不做任何去除
fotor自然是该抹去的不抹,不该抹的全抹了(他甚至会给你加上fotor的水印,开会员才去掉):
水印去除问题的小Tips
首先是水印的定义问题,我们是直接将”水印“缩小定义为有透明度的文字和logo了,没有透明度的都算作”不应该去除的文本“,这在构造数据集的时候很重要
要做这个问题,数据集的构建基本是在无水印图片上自己增加各种各样的水印来作为模型输入的,如果自己找有水印的图片然后去除也太慢了
模型要够大
使用stable diffusion相关模型会扭曲文字,不适合用于仅去除水印的情况
如果你想先定位水印,再用图像修补相关的模型去除水印,那么会对第一部分水印检测模型有很高的要求