论文链接:http://openaccess.thecvf.com/content_ICCV_2017/papers/Wu_Self-Organized_Text_Detection_ICCV_2017_paper.pdf

代码链接:https://gitlab.com/rex-yue-wu/ISI-PPT-Text-Detector

摘要

该论文由Yue Wu等人发表于ICCV 2017。针对文字检测中提取文字的行级候选区需要大量后处理、复杂且耗时的问题,提出了一种基于边界学习的场景文字检测方法(只需要极少后处理、可以区分任意形状的文本区)。

文章的主要贡献有:

(1)分析了将文字检测作为二分类问题(文字/非文字)的局限性;

(2)首次将边界类别引入到文本检测问题中,验证了文本边界在很大程度上简化了解码过程;

(3)建立了一个新的用于文本检测的ppt数据集(10692幅图像,非文本、边界和文本标注);

(4)提出了一个轻量级FCN(0.28M参数,支持多分辨率分析)来有效地学习文本图像中的边界。

方法

为什么文字检测需要繁杂的后处理过程呢?因为检测算法得到的候选区域不是期望的行级文字区域。为什么不直接预测期望的行级文字区域呢?实际上,有一些文字检测算法使用行级标注,以期获得文本行级的候选区域,但效果不佳,因为几行文字行间距很小时很难将几行文字拆分开。

将文字检测作为二分类问题具有局限性,如图1所示:图1(a)表明当行间距较大时文字/非文字可以正确地实现文本行分割,而当文本行间距很小时(图1(b))就无法将其分离开。作者引入了边界类(图1(c)中的绿色区域)来辅助进行文字区域分割,可以看出分割效果很好。边界类可以有效地将紧邻的文字区域划分开,而且文字类和边界类具有共存关系(因为边界是文字的边界),所以引入边界类有助于进一步提升文字区域预测。 作者提出将文字检测的二分类问题(文字/非文字)转化为三分类问题(文字/非文字/边界),采用端到端训练避免学习和调整显式的后处理规则、分类器和其他参数,测试阶段直接从预测的概率图中获得文本候选区(边界有助于将每个单独的文本区域与其他文本区域隔离开来)。

2 实验

作者建立了一个由PPT图像组成的文字检测数据集,该数据集包括10692幅PPT图像(77dpi,分辨率720*540,共93228个文字区),语言为英语和阿拉伯语。文中对边界类的定义为:假设原始文字区域的行高是ĥ,标记宽度为c∗ĥ的带状区域为文本边界(文中c取0.15)。下图是关于数据集的一些信息。

由于作者将文字检测问题重定义为分割问题,所以设计了一个轻量级的FCN网络来有效地学习文字边界从而实现文字检测。FCN的结构如下图所示(包括单分辨率和多分辨率):

为了验证方法的有效性,作者首先在自己建立的数据集上进行对比实验。将PPT数据集划分为训练集(0.9)、验证集(0.05)和测试集(0.05),数据扩增策略包括随机resize、随机颜色变换、随机旋转等等。训练获得单分辨率的baseline模型后直接将其植入多分辨率模型中继续训练至网络收敛。表2比较了Text-Block FCN和文中提出的FCN的效果,可以看出,文中提出的轻量级FCN在不引入边界类的情况下效果与Text-Block FCN相当,但是参数少得多(14.71M vs 0.27M)而且处理速度快。而引入了边界类之后,单分辨率的f值提升了27个点,而运行时间几乎没有增加;多分辨率的模型的f值更是达到了惊人的0.96。

从预测的概率map得到水平矩形bounding box的算法如下:

 

在公共数据集上的实验作者在ICDAR 2015和MSRA-TD 500数据集上进行实验,对每个数据集进行微调,图像过大时缩小(维持宽高比),重复使用多分辨率baseline训练过程的所有设置。对标注进行修正:

实验结果:

可见,该方法不仅在水平文字检测方面效果出色,而且对于倾斜文字的检测效果也达到了state of art水平。对于扭曲文字,该方法也有很好的效果。下面是一些图像上的检测结果,图中蓝色区域表示非文本区,红色表示文本区,绿色表示边界。

3 分析总结

该方法也有一些缺陷和不足,比如垂直文本错误划分、异形文字检测、光照强烈情况下的漏检情况等等,如下图所示:

总而言之,边界类的引入使得文字检测任务的后处理工作大大减少;边界和文字具有共存关系,可以利用边界来进一步提升文字检测的准确率;边界的形状与文字区域的轮廓紧密相关,可以用于文字区域的校正等工作。

论文笔记 | Self-organized Text Detection with Minimal Post-processing via Border Learning的更多相关文章

  1. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  2. 论文笔记之:Pedestrian Detection aided by Deep Learning Semantic Tasks

    Pedestrian Detection aided by Deep Learning Semantic Tasks CVPR 2015 本文考虑将语义任务(即:行人属性和场景属性)和行人检测相结合, ...

  3. 论文笔记:Integrated Object Detection and Tracking with Tracklet-Conditioned Detection

    概要 JiFeng老师CVPR2019的另一篇大作,真正地把检测和跟踪做到了一起,之前的一篇大作FGFA首次构建了一个非常干净的视频目标检测框架,但是没有实现帧间box的关联,也就是说没有实现跟踪.而 ...

  4. 论文笔记之:Co-saliency Detection via A Self-paced Multiple-instance Learning Framework

    Co-saliency Detection via A Self-paced Multiple-instance Learning Framework  T-PAMI  2016  摘要:Co-sal ...

  5. 论文笔记:Cross-Domain Visual Matching via Generalized Similarity Measure and Feature Learning

    Cross-Domain Visual Matching,即跨域视觉匹配.所谓跨域,指的是数据的分布不一样,简单点说,就是两种数据「看起来」不像.如下图中,(a)一般的正面照片和各种背景角度下拍摄的照 ...

  6. 论文笔记:多标签学习综述(A review on multi-label learning algorithms)

    2014 TKDE(IEEE Transactions on Knowledge and Data Engineering) 张敏灵,周志华 简单介绍 传统监督学习主要是单标签学习,而现实生活中目标样 ...

  7. 论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

    Analysis Coreset 是带有权重的数据子集,目的是在某个方面模拟完整数据的表现(例如损失函数的梯度,既可以是在训练数据上的损失,也可以是在验证数据上的损失): 给出优化目标的定义: $w^ ...

  8. 【论文速读】Chuhui Xue_ECCV2018_Accurate Scene Text Detection through Border Semantics Awareness and Bootstrapping

    Chuhui Xue_ECCV2018_Accurate Scene Text Detection through Border Semantics Awareness and Bootstrappi ...

  9. 论文阅读(Xiang Bai——【TIP2014】A Unified Framework for Multi-Oriented Text Detection and Recognition)

    Xiang Bai--[TIP2014]A Unified Framework for Multi-Oriented Text Detection and Recognition 目录 作者和相关链接 ...

随机推荐

  1. DataTable 设置primarykey 后进行 Merge操作

    1.先查看概念 可以看highplayer博客 http://blog.csdn.net/highplayer/article/details/6613817 2. protected void st ...

  2. Part4_lesson3---U-Boot工作流程分析

    1.程序入口 我们从什么地方去找入口呢,首先是打开顶层目录的makefile文件,在这个文件里面,每一个uboot支持的开发板都有一个配置选项,比如说,搜索smdk2440,结果如下 我们主要关注上图 ...

  3. [GO]随机数的使用

    package main import ( "math/rand" "time" "fmt" ) func main() { //设置种子, ...

  4. Oracle数据库之单表查询

    接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据.单表查询里面的内容也是比较 ...

  5. sql2008调试存储过程

    拿上篇存储过程为例: 在意个窗口里面写上exec Proc_MoveUpOrDown2 'id',3,1,'tableName,'orderid' 按F11,有个黄色的箭头会指向该行, 再按F11会跳 ...

  6. OM Responsibility Flow

  7. 【转】android中如何实现离线缓存

    原文地址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1209/2136.html 离线缓存就是在网络畅通的情况下将从服务器收 ...

  8. Android 监听事件

    安卓中监听事件的三种实现方式 1.匿名内部类的实现方式 2.独立类的实现方式 3.实现接口方式实现 一.匿名内部类的实现 1.首先声明一个Button //声明一个Button private But ...

  9. 以太坊系列之十八: 百行go代码构建p2p聊天室

    百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...

  10. ubuntu14.10,安装ksnapshot(截图软件)

    Linux:ubuntu14.10 ubuntu软件中心对它的描述:KSnapshot captures images of the screen.  It can capture the whole ...