论文链接: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. selenium使用ChromeDriver

    什么是ChromeDriver? ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务.ChromeDriver通过chrome的自动代理 ...

  2. eclipse——配置maven插件

    Step 1 配置installations installations:指定Maven核心程序的位置  从本地磁盘中找到本地maven的位置 Step 2 配置user settings user ...

  3. Reading——The Non-Designer's Design Book

    看这本书的时候真的好恨没有CS7在手><,不然我百度几张图来模拟下,体验下设计的快感. 人们总是很容易注意到在他们潜意识里存在的东西,比如说这个图:    我们很容易联想到微信,但是3   ...

  4. oracle数据库列的操作

    本章和大家分享一下如何在数据库中进行列的一些相关操作. 1.增加列名 (我们先来看一个原始版本) 下面我们增加一个列名tel  记住,增加列时需要把列对应的数据类型要说明,不然会报错. alter t ...

  5. (转)菜鸟去重复之Sql

    原文地址:http://www.cnblogs.com/fatbird/p/Sql-Remove-duplicate.html 前言 本文主要是总结平时工作学习中遇到的使用Sql Server的去除重 ...

  6. C# 属性与字段

    属性和字段的区别: 属性是逻辑字段,是字段的扩展,并不占用实际的内存:而字段占用内存空间. 属性可以被其他类访问:而非public的字段不能被直接访问. 属性可以对接受的数据在范围上做限定:而字段不能 ...

  7. java中容器的概念

    容器:顾名思义,装东西的器物至于spring中bean,aop,ioc等一些都只是实现的方式具体容器哪些值得我们借鉴,我个人觉得是封装的思想.将你一个独立的系统功能放到一个容器之中,可以当做一个大的接 ...

  8. django开发日志配置

    做django开发离不开 日志,这用于保存我门的服务器的日志信息,便于开发人员的维护. 直接上代码: 在setting.py文件里直接配置即可 LOGGING = { 'version': 1, 'd ...

  9. 【bzoj3329】Xorequ 矩阵快速幂

    Description Input 第一行一个正整数,表示数据组数据 ,接下来T行 每行一个正整数N Output 2T行 第2i-1行表示第i个数据中问题一的解, 第2*i行表示第i个数据中问题二的 ...

  10. Python 简单说明与数据结构

    Python 简单说明与数据结构 Python 作为 "国内" 较流行的高级语言,具有代码容易理解.专注解决问题.混合编译其他语言的优点. 变量 变量是一个最基本的储存单位,它暂时 ...