论文链接: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. HTTP请求:POST和GET的差异

    1,一般情况下应用目的不同:GET是从服务器上获取数据,POST是向服务器传送数据. 2,将数据提交到服务器的方式不同:GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各 ...

  2. Django Rest Framework框架 ---- url控制器

    Django Rest Framework框架 ---- url控制器

  3. 面向对象property属性、静态方法和类方法

    一.property属性 1.什么是property特性? property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值. from math import pi class Circl ...

  4. Graph cut使用方法

    下载:http://www.wisdom.weizmann.ac.il/~bagon/matlab.html 1. 运行compile_gc.m 2.运行gc_example.m(必须同目录吗?!) ...

  5. [算法基础]Big O Notation时间复杂度计算方法

    首先一点就是无视任何常量 从最简单的开始 statement; 这段时间复杂度为常数1,所以O(1). 然后 ; i < N; i++ ) statement; 这一段是线性的,则时间复杂度为N ...

  6. 移植 libevent-2.0.22-stable 到ARM平台

    ARM 移植: 移植简单来讲就是使用ARM的编译环境,重新编译一份ARM平台上可以使用的库或执行文件,一般只需要重新制定C编译器和C++编译器即可. 特别注意的地方: 不能从windows解压文件后再 ...

  7. Task async await

    暇之余,究多Task.async.await. using System; using System.Collections.Generic; using System.Linq; using Sys ...

  8. ARKit入门

    ARKit介绍 ARKit是iOS11引入的一个全新的框架,使用Visual Inertial Odometry(VIO,视觉惯性里程计)来精确跟踪现实世界中的真实场景.相比其它设备平台,ARKit中 ...

  9. vs2015+opencv3.3.1 实现 c++ 灰度高斯滤波器

    #include <opencv2\highgui\highgui.hpp> #include <iostream> #include<vector> using ...

  10. ORB SLAM2 学习笔记

    cd ~/Documents/demos/ORB_SLAM2 ./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.y ...