论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)

Weilin Huang——【TIP2015】Text-Attentional Convolutional Neural Network for Scene Text Detection)


目录

  • 作者和相关链接
  • 方法概括
  • 创新点和贡献
  • 方法细节
  • 实验结果
  • 问题讨论
  • 作者和相关链接
  • 总结与收获点
  • 作者补充信息
  • 参考文献

  • 方法概括

    1. 使用改进版的MSER(CE-MSERs,contrast-enhancement)提取候选字符区域;
    2. 使用新的CNN(text-CNN,结合了像素级信息,字符多类标签,字符二类标签的监督信息来训练text-attentional的CNN)来过滤非文字区域;
    3. 将字符串成字符串再切成单词(参考文献1,文献2的方法,不是文章重点)
  • 创新点和贡献

    • idea的出发点:
      • 人类判断一个patch块中是否是文字一般分为三步:第一,将文字区域和背景区分开(像素级分割,如果文字和背景几乎全粘连在一起,根本无法判断是否是字),第二,判断抠下来的该区域是什么字(字符识别,如果一个字我们认得是‘a‘,那么我们就很有信心这是一个字,而不是随便什么符号。试想如果一个完全不认识字的人他判断是否是字的准确率肯定不会比认字的人高,正是因为他缺乏了这个字符类别信息),第三,才是做出决策,判断是否是字或者噪声。
      • MSER的两个缺点是:第一,容易受背景干扰,造成字符断裂,和背景粘连等问题;第二,字符和背景的对比度很低,不能因为“stable”而被MSER检测出来,导致漏检。因此,为解决这两个问题,可以增强文字区域的局部对比度,在增强对比度的map上去提取MSER就可以提高召回率。

如果不认识这些字,那么很难判断这到底是否真是‘字‘还是瞎写的笔画

    • 创新点:

      • 提出了对比度增强版的MSER,提高召回率
      • 提出了基于多任务学习的text-CNN模型,并介绍了一种新的训练机制,将低级的像素级信息(分割问题),到高级的字符多类信息(62类字符识别问题),字符与非字符信息(2类字符分类问题)融合到一个text-CNN模型中,实现了具有更强的分辨性和鲁棒性的text detector.
  • 方法细节

    • text-CNN

      • 网络结构图

      • 3个任务

      • 3个任务的损失函数(从上到下分别是binary,label,region)

        • ,,,
      • 总的损失函数:

      • 3个任务网络结构:

        • pixel-level segementation task: Conv1 → Conv2 → Deconv1 → Deconv2 → loss (5) 【两个卷积,两个去卷积】
        • character label task: Conv1 → Conv2 → Pool2 → Conv3 → Fc1 → Fc2 → loss  (4)     【三个卷积,一个池化,两个全连接】
        • text/non-text task: Conv1 → Conv2 → Pool2 → Conv3 → Fc1 → Fc2 → loss  (3)       【三个卷积,一个池化,两个全连接】
      • 池化层设计的原因
        • 池化层本身是不可逆转的,即在去卷积是无法找回原来的信息的,所以在去卷积前不能使用池化层,因此只能在第二层之后才接池化层
        • 第三层卷积后图像已经很小,故没必要再用池化层
        • 实验证明了使用池化层:性能没有降低,速度得到提高
      • 训练过程
        • pre-train:label task和region task分别按10:3(损失函数比,λ1 =1,λ=0.3)进行训练,采用的库为合成数据库charSynthetic,迭代次数为30k次
        • train:label task和main task分别按3:10(λ=0.3)进行训练,采用的库为真实库charTrain,迭代次数为70k
        • 之所以这样训练的原因:三种任务使用的特征不同(region task使用的特征是pixel-level,属于低级特征),收敛的速度也不同。如果region task训练次数和main task一样多,会导致过拟合。第一阶段训练两个任务之后,模型参数已经将像素级的信息记录下来了。下图为训练阶段三种任务的损失函数随迭代次数的变化情况。

    • CE-MSERs

      • 算法步骤(主要:

        • Step1 : 利用对比度线索和空间线索聚类(文献3),生成对比度区域图map1
        • Step2 : 利用颜色空间平滑(文献4),生成对比度区域图map2
        • 在原图,map1,map2上分别使用MSER

  • 实验结果

    • 实验效果证明多任务效果(c)比传统的CNN(a),只使用一个额外任务,字符识别任务(b)更好

    • 实验证明采用本文的Text-CNN学到了能区分字符和非字符的关键特征

    • ICDAR2015

    • ICDAR2011 (CE-MSERs比MSERs好,用三种task训练的text-CNN比单任务,双任务的饿更好)

    • ICDAR2013

    • MSRA-TD500

  • 问题讨论

    • 使用池化层的优劣?

      • 优点:减少参数和模型的复杂性
      • 缺点:丢失了空间信息,且池化层是不可逆转的
    • 为什么region task是回归问题?
    • 为什么region task和label task在训练的时候用,测试的时候不用?
    • CE-MSER的实现?
    • 为什么label task是62类,而不是63类(包含噪声类)?
    • 对于负样本,region task的groundTruth中的mask怎么做?label task中的负样本类别是多少?
  • 作者和相关链接

  • 总结与收获点

    • CE-MSER提供了一个思路,可以增强对比度来提高召回率,但实现方法不是很好。本身MSER就相对耗时,还需要在增强对比度的map上再做两次MSER,显然时间开销太大了。更好的方法应该是去改MSER的内部算法,修改“stable”的含义或者对每个component做一定对比度增强的处理再提取等等。
    • 多任务学习的训练方法可以参考这篇文章的思路:不同任务共享某些层
    • 把像素级信息,字符类别级信息融合到检测中做的想法很可取

  • 参考文献

  1. W. Huang, Y. Qiao, and X. Tang, “Robust scene text detection with convolution neural network induced MSER trees,” in Proc. 13th Eur. Conf. Comput. Vis. (ECCV), 2014, pp. 497–511.
  2. C. Yao, X. Bai, W. Liu, Y. Ma, and Z. Tu, “Detecting texts of arbitrary orientations in natural images,” in Proc. IEEE Comput. Vis. Pattern Recognit. (CVPR), Jun. 2012, pp. 1083–1090.
  3. H. Fu, X. Cao, and Z. Tu, “Cluster-based co-saliency detection,” IEEE Trans. Image Process., vol. 22, no. 10, pp. 3766–3778, Oct. 2013.
  4. M. M. Cheng, G. X. Zhang, N. J. Mitra, X. Huang, and S. M. Hu, “Global contrast based salient region detection,”2011 in Proc. IEEE Comput. Vis. Pattern Recognit. (CVPR), Jun. 2011, pp. 409–416.
时间: 2024-08-04 13:58:30

论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)的相关文章

[论文理解] How much position information do convolutional neural network encode?

How much position information do convolutional neural network encode? Intro 文章是ICML2020的一个工作,探究了CNN到底有没有编码位置信息,这些位置信息在哪些神经元中被编码.这些位置信息又是如何被暴露给神经网络学习的.文章通过大量实验表明,CNN不仅可以编码位置信息,而且越深的层所包含的位置信息越多(而往往越深的层解释性越差,浅层学习到的形状.边缘等比较容易解释),而位置信息是通过zero-padding透露的,显

【论文阅读】Sequence to Sequence Learning with Neural Network

Sequence to Sequence Learning with NN <基于神经网络的序列到序列学习>原文google scholar下载. @author: Ilya Sutskever (Google)and so on 一.总览 DNNs在许多棘手的问题处理上取得了瞩目的成绩.文中提到用一个包含2层隐藏层神经网络给n个n位数字排序的问题.如果有好的学习策略,DNN能够在监督和反向传播算法下训练出很好的参数,解决许多计算上复杂的问题.通常,DNN解决的问题是,算法上容易的而计算上困难

论文阅读-(CVPR 2017) Kernel Pooling for Convolutional Neural Networks

在这篇论文中,作者提出了一种更加通用的池化框架,以核函数的形式捕捉特征之间的高阶信息.同时也证明了使用无参数化的紧致清晰特征映射,以指定阶形式逼近核函数,例如高斯核函数.本文提出的核函数池化可以和CNN网络联合优化. Network Structure Overview Kernel Pooling Method The illustration of the tensor product A summary of pooling strategies Experiment Evaluation

论文笔记《ImageNet Classification with Deep Convolutional Neural Network》

一.摘要 了解CNN必读的一篇论文,有些东西还是可以了解的. 二.结构 1. Relu的好处: 1.在训练时间上,比tanh和sigmod快,而且BP的时候求导也很容易 2.因为是非饱和函数,所以基本不会出现梯度消失的情况 Relu只要控制好learing rate,可以说是完胜之前的激活函数,也因此可以帮助我们训练更深层次的网络. 现在对Relu的进一步增强还有研究,有兴趣可以了解. 2.GPU并行计算在当时是个很好思路,不过作者的trick就有点...虽然说是通过cross-validati

《A Convolutional Neural Network Cascade for Face Detection》

文章链接:   http://pan.baidu.com/s/1bQBJMQ  密码:4772 作者在这里提出了基于神经网络的Cascade方法,Cascade最早可追溯到Haar Feature提取时用到的Adaboost算法(参考这个博客:http://blog.csdn.net/zouxy09/article/details/7922923),作者在这里将它和神经网络结合到了一起,可谓创新. 关键字:Cascade:Calibration; 为了提高图片的测试速度,作者在这里使用了Casc

【论文阅读】A mixed-scale dense convolutional neural network for image analysis

A mixed-scale dense convolutional neural network for image analysis  Published in PNAS on December 26, 2017 Available at PNAS Online: https://doi.org/10.1073/pnas.1715832114 Danie ?l M. Pelt and James A. Sethian 写在前面:本文方法无法使用TensorFlow或Caffe等现有框架实现.

VarGNet: Variable Group Convolutional Neural Network for Efficient Embedded Computing - 1 -论文学习

VarGNet: Variable Group Convolutional Neural Network for Efficient Embedded Computing Abstract 在本文中,我们提出了一种新的用于高效嵌入式计算的网络设计机制.受到有限的计算模式的启发,我们建议固定分组卷积中的通道数,而不是现有的固定总组数的做法.我们的基于解决方案的网络,称为可变分组卷积网络(VarGNet),可以在硬件方面更容易地优化,因为层之间的计算方案更加统一.在分类.检测.像素解析和人脸识别等各

人群计数:Single-Image Crowd Counting via Multi-Column Convolutional Neural Network(CVPR2016)

本博文主要是CVPR2016的<Single-Image Crowd Counting via Multi-Column Convolutional Neural Network>这篇文章的阅读笔记,以及对人群计数领域做一个简要介绍. Abstract 这篇论文开发了一种可以从一个单幅的图像中准确地估计任意人群密度和任意角度的人群数目.文章提出了一种简单有效的的多列卷积神经网络结构(MCNN)将图像映射到其人群密度图上.该方法允许输入任意尺寸或分辨率的图像,每列CNN学习得到的特征可以自适应由

tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)

今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving>,论文中的效果还不错,后来查了一下,有一个Tensorflow版本的实现,因此在自己的机器上配置了Tensorflow的环境,然后将其给出的demo跑通了,其中遇到了一些小问题,通过查找网络上的资料解决掉了,在这里