有了这个算法,图像上文字擦除再也用不上PS了
摘要:本文介绍几篇关于自然场景下文字擦除的论文工作。
图像文字擦除方法
给定一幅自然场景图像,只将图像中文字区域抹去而不改动其他区域像素值的方法称为文字擦除算法。该方法在隐私保护,身份信息篡改,数据增广等领域有着广泛的应用和研究前景。
受传统生成对抗网络(GAN)算法的启发,基于深度学习的文字擦除算法都采用了类似的生成器+判别器的结构,其损失函数为:

- 整个式子由两项构成。x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。
- D(x)表示D网络判断真实图片是否真实的概率(因为x就是真实的,所以对于D来说,这个值越接近1越好)。而D(G(z))是D网络判断G生成的图片的是否真实的概率。
- G的目的:上面提到过,D(G(z))是D网络判断G生成的图片是否真实的概率,G应该希望自己生成的图片“越接近真实越好”。也就是说,G希望D(G(z))尽可能的大,这时V(D, G)会变小。因此我们看到式子的最前面的记号是min_G。
- D的目的:D的能力越强,D(x)应该越大,D(G(z))应该越小。这时V(D,G)会变大。因此式子对于D来说是求最大(max_D)。
文字擦除可以分为两个子任务:1)文字区域定位。2)文字内容擦除。Ensnet [1] 提出了一种端到端的文字擦除算法,该方法将两个子任务合并,并让一个网络进行端到端的文字擦除(图1所示)。最后通过判别器和多种损失函数指导生成器的学习。

图1. Ensnet 算法结构
为了让网络能够更好地感知文字内容的位置信息,Erasenet [2]进一步引入了一个mask分支进行学习(图2),同时提出了一个新的真实文字擦除数据集,为文字擦除研究领域提供了一个更好的对比基准(图3)。

图2. Erasenet 网络

图3. 真实场景的文字擦除数据集
为了将两个子任务进行更好的学习,从而实现更准确的文字擦除结果,MTRNet[3]在输入引入文字分割结果,让网络能够感知文字区域的位置信息,从而降低任务难度,实现更准确的擦除结果。Bian等人[5]通过一种级联的结构,实现对具体的字形感知。但是由于需要提前知道文字区域的准确位置信息,所以这些方法具有一定的局限性。MTRNet++[4]在STRNet基础上进行了改进(图4),通过引入一个微调子网络降低了整体网络对输入位置信息的依赖性,从而实现更鲁棒的文字擦除算法。

图4. MTRNet++网络
总结与思考
可以看到,现阶段深度学习的文字检测方法都是基于GAN网络框架的,那么,是否有别的方法能够实现GAN相同的效果?区别于传统大面积pixel-to-pixel的任务,文字擦除大多只涉及小区域的像素修改,笔者认为attention在未来可以成为一个新的解决思路。
参考文献
[1] Zhang, Shuaitao, et al. "Ensnet: Ensconce text in the wild." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. No. 01. 2019.
[2] Liu, Chongyu, et al. "EraseNet: End-to-End Text Removal in the Wild." IEEE Transactions on Image Processing 29 (2020): 8760-8775.
[3] Tursun, Osman, et al. "Mtrnet: A generic scene text eraser." 2019 International Conference on Document Analysis and Recognition (ICDAR). IEEE, 2019.
[4] Tursun, Osman, et al. "MTRNet++: One-stage mask-based scene text eraser." Computer Vision and Image Understanding 201 (2020): 103066.
[5] Bian, Xuewei, et al. "Scene text removal via cascaded text stroke detection and erasing." arXiv preprint arXiv:2011.09768 (2020).
本文分享自华为云社区《技术综述九:自然场景图像的文字擦除算法介绍》,原文作者:我想静静。
有了这个算法,图像上文字擦除再也用不上PS了的更多相关文章
- 深入学习使用ocr算法识别图片中文字的方法
公司有个需求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python.一个小白在网上遨游了一天,终于找到一丝丝思绪 ...
- 在OCR文字识别软件选项卡中怎么设置图像和文字
PDF是广泛使用的文档格式.在ABBYY Finereader中,PDF文档的显示不会因电脑不同而有差异,可加密保护,非常适合在电子存档中进行保存.下面给 大家讲解如何在PDF选项设置图像和文字. 图 ...
- iOS 设置导航栏的颜色和导航栏上文字的颜色
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...
- 用RelativeLayout布局可以在imageview中写上文字
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Echarts 设置地图上文字大小及颜色
Echarts 设置地图上文字大小及颜色,效果如下: 上代码:关键代码用红色 series: [ { //name: '香港18区人口密度', type: 'map', mapType: 'jiang ...
- CSS实现文字半透明显示在图片上方法
CSS实现文字半透明显示在图片上方法 在css中文字半透明我们会需要使用滤镜效果也就是css中的filter:alpha来实现了,下面来看两个文字显示在图片上并且半透明的例子. CSS让一行文字显示在 ...
- JS让网页上文字出现键盘打字的打字效果
一个挺简单的网页特效:JS让网页上文字出现键盘打字的打字效果实现 演示地址:http://codepen.io/guihailiuli/pen/jPOYMZ 以代码形式实现过程分析: <html ...
- 设顺序表中的数据元素递增有序,试着写一算法,将x插入到顺序表上的适当位置上,以保持该表的有序性。
原创,转载请注明出处.https://www.cnblogs.com/yangf428/p/11254370.html 天勤例题[2-1]: 设顺序表va中的数据元素递增有序.试写一算法,将x插入到顺 ...
- 痞子衡嵌入式:对比MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异. 近期有 i.MXRT 客户在集成 OTA SBL ...
- maven工程 java 实现文件上传 SSM ajax异步请求上传
java ssm框架实现文件上传 实现:单文件上传.多文件上传(单选和多选),并且用 ajax 异步刷新,在当前界面显示上传的文件 首先springmvc的配置文件要配置上传文件解析器: <!- ...
随机推荐
- DASCTF X CBCTF 2023|无畏者先行(Misc WP)
justpaint 1.题目信息 FLAG被我弄丢了>_<不过,JBN应该记得,或许你能从他那得到一些线索. 附件是压缩包有密码.. 2.解题方法 暴力破解压缩包,测试长度为6,选择所有数 ...
- 两台实体机器4个虚拟机节点的Hadoop集群搭建(Ubuntu版)
安装Ubuntu Linux元信息 两台机器,每台机器两台Ubuntu Ubuntu版本:ubuntu-22.04.3-desktop-amd64.iso 处理器数量2,每个处理器的核心数量2,总处理 ...
- DFS(深度优先搜索)洛谷P1162
看大佬们dfs一遍就出结果,蒟蒻的我dfs了三遍,当然这题也可以用bfs做,但是dfs不用队列代码短一些. #include <iostream> #include <vector& ...
- [ABC321C] 321-like Searcher
Problem 题目简述 给你一个 \(K\),求出 \([1 \sim K]\) 区间内有多少个 321-like Number. 321-like Number 的定义: 每一位上的数字从左到右严 ...
- 各种flex布局,拿来即用用过的都说好
开发过程中,很多布局,用antd的栅格还是不灵活,flex弹性布局会更好用 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 注意 ...
- java4.switch条件语句、循环结构
switch条件语句.循环结构 循环结构 while 1.先判断再执行代码 2.代码块至少执行0次 do-while- 1.先执行代码再执行判断 2.代码块至少执行1次 for 1.用于编写已知循环次 ...
- C# 压缩PDF文件
PDF 文件可以包含文本.图片及各种媒体元素,但如果文件太大则会影响传输效果同时也会占用过多磁盘空间.通过压缩PDF文件,能够有效减小文件大小,从而提高传输效率并节省存储空间.想要通过C#代码快速有效 ...
- Java 基础学习第二弹
1. HashMap和HashT able的区别 HashMap和Hashtable是两种常见的哈希表数据结构,它们在实现上有一些区别. 线程安全性:Hashtable是线程安全的,而HashMap不 ...
- git中的ole mode 和 new mode提示问题
git status 显示如下(文件内容其实并没有改变): old mode 100644 new mode 100755 原因是: 使用chmod修改过文件权限后,filemode会有变化. 解决办 ...
- STL deque容器
deque - 双向队列 1.队列的基本知识 队列的基本特性就是先进先出(FIFO),也就是第一个进去的元素第一个出来.即队列就是一个只允许在一端进行插入,在另一端进行删除操作的线性表.Queue接口 ...