图像去水印

介绍

       现在的app都喜欢在用户的作品上打水印,起到宣传的作用。醒目,又难看。因此我接到一个需求,就是把图像中制定的水印去掉。市面上,那种半透明的水印有很多方法可以去掉。那种不透明的水印,就显的有点难看。比方说下面这几种:

图像去水印_第1张图片图像去水印_第2张图片

图像去水印_第3张图片图像去水印_第4张图片

图像去水印_第5张图片

水印的特点,扁而长,比较显眼,抖音的最恶心,还要跳动。

方法

      作为一款简单、高效的产品,那是应该具备这样的功能:1自动寻找水印,2自然地去除水印。方法组成包含三种算法:

  1. 检测器,用于检测水印
  2. 分割器,用于分离水印
  3. 绘图器,用于修补画面

     我们可以看到水印这种东西,长度不一,因此要用SSD,yolo之类的方法。而分割方法理论上都行。inpaint可以参考nvidia的方法:Image Inpainting for Irregular Holes Using Partial Convolutions

效果

     目前我做的方法,放在小影app里,搭了一个云服务。针对短视频类,感兴趣的朋友可以去找来看看。目前检测器这块做了限制,只能去除几个流行的短视频app,分割和重绘这两部分没有限制,效果杠杠的。

去水印效果

总结

     总体来讲去水印的方法都是现成的组合起来,关键是怎么去克服难点,如何应对不规则目标去除,如何讲inpaint的性能压缩到极致,处理一帧如果上百毫秒,那么一个视频就太久了。

 

你可能感兴趣的:(机器学习,应用开发)