论文解读系列六:图片文字擦除方法EnsNet: Ensconce Text in the Wild
摘要:场景图片的敏感文本擦除对用户的隐私保护有很大的作用。文字擦除方法中通常需要检测出文字笔画的像素位置,然后将这些像素替换成合理的背景元素。本次解读的文章提出了一种基于GAN的场景文字擦除方法EnsNet, 发表于CVPR 2018.
目的及创新点
场景文本在我们的生活中是非常常见的,但文本中可能都包含了一些比较敏感的信息,比如:电话号码,身份证号,汽车号码等信息。因此,敏感文本的擦除将对用户的隐私信息保护有很大的作用。
在此之前,大部分方法在进行文字擦除时都需要用到相应图片的先验信息,而EnsNet可以端到端地对图片的文字信息进行擦除且不需要任何先验信息。EnsNet中主要的创新点包括:
生成器在U-Net的基础上,前后相同尺度之间采用了横向连接,这有利于捕获来自不同尺度的上下文信息。
采用了四种损失函数,包括:多尺度回归损失,内容损失,纹理损失和总变分损失,确保背景重建和非文本区域的完整性。
设计了一种区域感知判决器,其损失函数主要关注文本区域的真假判决。
整体网络结构
整体结构如上图Figure 2所示,左上为生成器G,采用的是U-Net结构,前后下采样和上采样的过程可以理解为Encoder和Decoder关系。其输入为有文字的图片,输出为同样尺寸擦除文字后的图片。Encoder采用了ResNet18网络,只是用1x1的卷积层替换掉了最后的全连接层。Decoder包含了5个反卷积层,每层的卷积核大小为4,步长为2,填充大小为1。
Encoder和Decoder在相同的尺度之间采用了横向连接,其作用主要是捕获来自不同尺度的上下文信息,并融合浅层和深层的特征。横向连接的结构如下Figure 3所示。
横向连接结构中,对来自Encoder的特征,为了减少参数量的同时提高对特征的感受野,作者先用一层卷积层(Shrinking)采用1x1卷积核对输入的Encoder特征进行通道压缩,然后Nonlinear卷积层采用3x3的卷积核对缩减后的特征进行处理,最后Expanding卷积层采用3x3卷积核对特征扩展回原来的通道数。
Figure 2右上部分为判决器D,从图中可以看出,其输入为生成图片和GT图片。判决器共6个卷积层,除最后一层采用的激活函数为Sigmoid,其他卷积层均采用LeakyRelu模块。此外,第二到第五层的卷积层之后采用Batch Normalization归一化方式。为了使判决器更加关注文本擦除区域及其周围纹理的一致性,作者通过设计对应的判决器损失函数使判决器具有区域感知性。损失函数如下所示:
其目的就是通过二元矩阵M来截取图中的文本区域,然后结合label和对应点的预测概率计算损失值。
损失函数
文中针对生成器设计了四种损失函数,其中多尺度回归损失和总变分损失是通过生成器不同层的生成结果和GT计算得到。内容损失和纹理损失则是通过生成器生成的结果和GT分别输入vgg16,然后在不同pooling层计算得到,说明如下:
1. 多尺度回归损失函数:
其目的是捕获不同尺度的上下文信息,函数式如下:
其中, 为层i的权重;为层i的二进制标记矩阵,1表示text区域,0表示non-text区域。
2. 内容损失函数:
其目的是提高深层特征重构性能,函数式如下:
其中,是将的non-text替换为真值后的图像,A代表vgg16网络;此外,该损失函数计算的是vgg16的pool1,pool2和pool3层的内容损失。
3. 纹理损失函数:
目的是提高视觉质量,函数式如下:
其中,分别为vgg16第n pooling层输出的通道数、高度和宽度。
4.总变分损失函数:
其目的是全局去噪,函数式如下:
定量对比结果
如下表所示,作者对各个模块做了消融实验,可以看到随着各个模块的增加,各项指标也随之得到改善。此外,作者还跟2017年的两个经典模型Pix2Pix和Scene text eraser做了定量对比,可以看到EnsNet在各项指标上都大大超越了以上两个模型。
定性对比结果
- 点赞
- 收藏
- 关注作者
评论(0)