论文阅读(Xiang Bai——【CVPR2012】Detecting Texts of Arbitrary Orientations in Natural Images)
Xiang Bai——【CVPR2012】Detecting Texts of Arbitrary Orientations in Natural Images
目录
- 作者和相关链接
- 方法概括
- 方法细节
- 创新点和贡献
- 实验结果
- 问题讨论
- 总结与收获点
作者和相关链接
- 华科:姚聪(Cong Yao),白翔(Xiang Bai),刘文予(Wenyu Liu)
- 微软MSRA:马毅(Yi Ma)
- UCLA(加州大学圣地亚哥分校):屠卓文(Zhuowen Tu)
- 文章中提到的MSRA-TD 500 数据库

方法概括
- 方法简述:
- 使用SWT提取候选区域,用字符级分类器(简单特征+随机森林)过滤非字符区域;
- 利用字符间相似性连接成字符串,再用字符串级的分类器(简单特征+随机森林)过滤非文字串。
- 方法流程图:

图1. 流程图
方法细节
- 提取候选字符区域
- canny边缘检测
- SWT
- 连通分量聚合(相邻笔画宽度小于3倍)
- 提取候选字符区域

图2. 提取候选字符区域的三个步骤效果图
- 组件分析(组件级噪声过滤)
- 启发式规则过滤(特征:宽度方差,长宽比,占比;设定阈值范围)
- 组件分析(组件级噪声过滤)

- 组件级分类器过滤(特征:6种自己提的分量级特征;分类器:随机森林)
- 特征:轮廓形状,边缘形状,占比,轴比,宽度方差,密度
- 组件级分类器过滤(特征:6种自己提的分量级特征;分类器:随机森林)

图3. 组件级特征计算,(a)为模板,(b)为模板叠加在原图的示例图,(c)、(d)、(e)分别用来计算轮廓形状特征,边缘形状特征,占比特征
- 如上图所示,(a)为两种模板。上面是只有一种半径,一个扇形区域(整个圆),下面是有两种半径,共八个扇形区域(4个小的,4个大的)。每个扇形区域单独计算直方图(边缘,轮廓,占比),然后把每个区域的直方图串起来作为整个图的特征。(b)为在一个原图上叠加一种模板的示例图。(c)图为轮廓图上叠加两种模板的示例图。(d)为边缘图上叠加两种模板的示例图。(e)为二值图上叠加模板的示例图。
- 实际计算特征(比如,边缘特征)的时候,第一,先利用Camshift计算出每个连通分量的质心,尺度(最大轴与最小轴的和),方向(角度);第二,各种梯度方向都按照第一步求出的方向进行旋转(为了和模板对齐),并归一到[0,Π]上;第三,将模板中心固定在质心上,模板半径为尺度的大小,统计模板上每个sector的(轮廓形状,边缘形状,占比)直方图,并把每个sector的直方图串起来形成特征向量。


图4. 组件级噪声过滤(组件分析)的效果,(e)图为规则过滤,(f)为分类器过滤,经过两层过滤后大部分非文字的组件都被过滤掉了
- 候选区域连接
- 两两组队pair(相似性度量:笔画宽度,大小,颜色,距离;设定阈值范围)
- 聚类
- 至少包含一个公共组件
- 相似性度量:方向一致,群体一致(组件个数差异小)
- 候选区域连接



- 公式(1)中的So表示的是方向一致性,C1和C2是两个不同的chain,初始每个chain就是由两个相似组件得到的一个pair,γ(C1,C2)表示的是C1和C2之间的夹角(每条chain利用线性最小二乘法拟合出一条直线。两个chain的夹角就表示这两条直线间的夹角)。So是保证要聚类的两个chain的方向尽可能一致。
- 公式(2)中的Sp表示的是群体一致性,nC1是C1中组件的个数。Sp是保证要聚类的两个chain的个数差异不要太大。
- 公式(3)中的S是总的相似性度量的标准,是So和Sp的加权求和。每次要聚类时都是选择使得S最大的两个chain进行合并,这样采用自底向上进行合并的方式可以适用于任意方向,而不单纯是水平(或近似水平),甚至可以处理竖直,斜线的,更重要一点是,把在阈值范围内可能形成直线的组合都找的出来。如图5所示。

图5. 候选区域连接的效果,不但找到了PRIVATE,CAR等水平的,还找出了PCO,PRL这样的潜在的组合
- 链分析(链级噪声过滤)
- 链级特征:11种特征
- 链中候选区域个数
- 平均概率(组件级分类器打分)
- 平均转角(每个组件与左右相邻组件形成的直线的夹角)
- 大小方差(每个组件的尺度)
- 距离方差(质心的欧氏距离)
- 平均角度偏差(每个组件的最大轴方向与拟合出的链的直线方向的垂直方向间的角度偏差)
- 平均轴比
- 平均密度
- 平均宽度方差
- 平均颜色自相似性(颜色直方图的cosine相似性)
- 平均结构自相似性(边缘形状描述子的cosine相似性)
- 分类器:随机森林
- 链级特征:11种特征
- 新的数据库和评价标准
- MSRA-TD数据库
- 样本数:train-300,test-200
- 语言:中文,英文,中英混合
- 标注粒度:文本线(无字符,单词级标注)
- 图像大小:1296*864~1920*1280
- 标注矩形类别:最小面积矩形(mini area rectangle)
- 评价标准:
- 链分析(链级噪声过滤)

- 上图中(c)所示,G和D分别为groundTruth和detection的bounding box。由于两个都是斜的,直接计算交并比意义不大,故先求出两个box的角度(相对于水平方向的旋转角度),并将其转至水平,如图中的虚线图G'和D',再通过计算G'和D'的交并比来判断。
- 检测正确的标准是:(1) G和D的旋转角度差的绝对值小于Π/8;(2)G'和D'的交并比大于0.5;
创新点和贡献
- 解决的问题角度新:从一般的水平或近水平文字检测到任意方向的文字检测(直线)
- 提出了两级分类机制,尤其是其中的字符特征:组件级特征与链级特征
- 介绍了专门用来检测任意方向的文字的新的MSRA-TD数据库:针对任意方向的文字检测的数据库,切提出了新的评价标准
实验结果
- ICDAR03, detection:

- MSRA-TD, detection:

- OSTD:

问题讨论
- 为什么文中的方法可以用来检测各种方向的文字?
- 特征的旋转不变性,尺度不变性;
- 字符链形成算法比较通用,适用于各种方向,不一定是水平或者竖直。
- 组件级分类器正样本怎么获得?(MSRA-TD库上只有链级的标注)
- 链级分类器的正样本怎么获得?(ICDAR03库上最多只有单词级标注,没有包含多个单词的链级样本,是否采用简单规则先把groundTruth进行合并?)
- mini area rectangle的原理?(如何从四个点得到一个包含这四个点的最小面积矩形?)
- 长轴和短轴指的是字符的竖直和水平?(不是对角线?)
- 如何用Camshift得到质心,方向,和长短轴?
- 为什么文中的方法可以用来检测各种方向的文字?
总结与收获点
- 这篇做文字检测的方法思路很传统,从字符到字符串,然后给字符和字符串分别用一个分类器过滤噪声。比较有用的有三点,第一,整理的这些字符特征都是人工,经验得到的,简单有效;第二,字符链的形成算法有一定借鉴意义;第三,新的数据库和评价标准成为了后来检测多方向的主流。
论文阅读(Xiang Bai——【CVPR2012】Detecting Texts of Arbitrary Orientations in Natural Images)的更多相关文章
- 论文阅读(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 目录 作者和相关链接 ...
- 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)
Weilin Huang--[TIP2015]Text-Attentional Convolutional Neural Network for Scene Text Detection) 目录 作者 ...
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
白翔的CRNN论文阅读 1. 论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...
- 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)
Xiang Bai--[arXiv2016]Scene Text Detection via Holistic, Multi-Channel Prediction 目录 作者和相关链接 方法概括 创新 ...
- 论文阅读(Xiang Bai——【CVPR2015】Symmetry-Based Text Line Detection in Natural Scenes)
Xiang Bai--[CVPR2015]Symmetry-Based Text Line Detection in Natural Scenes 目录 作者和相关链接 方法概括 创新点和贡献 方法细 ...
- 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)
Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...
- 【论文阅读】TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes ECCV2018 北京大学.face++ 思路: ...
- 论文阅读(XiangBai——【PAMI2018】ASTER_An Attentional Scene Text Recognizer with Flexible Rectification )
目录 XiangBai--[PAMI2018]ASTER_An Attentional Scene Text Recognizer with Flexible Rectification 作者和论文 ...
- 论文阅读(Weilin Huang——【AAAI2016】Reading Scene Text in Deep Convolutional Sequences)
Weilin Huang--[AAAI2016]Reading Scene Text in Deep Convolutional Sequences 目录 作者和相关链接 方法概括 创新点和贡献 方法 ...
随机推荐
- [BZOJ1501][NOI2005] 智慧珠游戏
Input 文件中包含初始的盘件描述,一共有10行,第i行有i个字符.如果第i行的第j个字符是字母”A”至”L”中的一个,则表示第i行第j列的格子上已经放了零件,零件的编号为对应的字母.如果第i行的第 ...
- Prototypes in Javascript 收集.__proto__
It’s important to understand that a function’s prototype property has nothing to do with it’s actual ...
- Learn ZYNC (2)
AXI HP接口的DMA+GIC编程(参照博客) 参照文档:UG873,博客文档 参考设计代码文件:ug873源码 我的Vivado+SDK工程文件打包(60+M) 我的DMA驱动程序(已完成) Vi ...
- [转]SQL Server 存储过程 一些常用用法(事物、异常捕捉、循环)
最新更新请访问: http://denghejun.github.io Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中 ...
- YUV与像素值之间的关系
一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147 ...
- Mysql5.7修改默认密码
由于 Mysql5.7的默认密码是随机生成的,所以需要修改成我们自己常用的密码 1.修改 my.ini,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 my ...
- mvc学习(二)
1.后台foreach 与 html的关系 <table border="1">@for (var i = 0; i < 10; i++){@Html.Raw(i ...
- spring接收json格式的多个对象参数(变通法)
两种方法 方法1 如果使用spring mvc同客户端通信,完全使用json数据格式,需要如下定义一个RequestMapping @Controller public class TestContr ...
- 掌握Thinkphp3.2.0----模版基础
我们将要学习一下 ThinkPHP 模版,ThinkPHP 内置了一个基于 XML 的性能卓越的模版引擎 ThinkTemplate,使用了动态编译和缓存技术,支持自定义标签库, 其实我还体会不到其中 ...
- JAVA枚举的作用与好处
枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组.Enum作为Sun全新引进的一个关键字,看起来很象是特殊的c ...