Lukas Neuman——【ICDAR2015】Efficient Scene Text Localization and Recognition with Local Character Refinement
算法介绍
Fig. 2. Overview of the method. Initial text hypotheses efficiently generated
by a MSER detector are further refined using a local text model, unique to
each text line
一、 候选字符提取
1. MSER提取,二值化
2. 算出Distance Map
3. 求出所有SSP(以每个像素为中心的3*3窗口内,若中心点是最大值,则表示是SSP点)
4. 对每个连通分量,计算5维特征
5. 用4中学到的5维特征训练SVM分类器(三类,单字符,多字符,背景)
二、 文本线形成
1. 每三个字符拟合一条直线(三个,拟合误差小)
2. 所有直线进行聚类
3. 对每类的文本线投票选出最终的文本线
三、 字符调整
1. 算法目标:补全每个文本框里的字符
2. 算法初始值:Pf为MSER像素值,B为其他像素值,DF为空
3. 算法步骤:
(1) 边界扩展:计算PF的外接矩形,并进行边界扩展(水平取字符平均宽度,高度取高度的1/3)
(2) 更新DF:计算PF点中的SSP点,加入到DF中
(3) 训练GMM:使用DF点作为前景,B点作为背景,学习GMM的参数
(4) 构建图模型:加入源点(source)和汇点(sink),边权重如下:
1) 第一类:源点与DF、PF相连,汇点与B相连。这些边的权重即为公式中的U,由算法步骤(3)中的GMM模型给出;
2) 第二类:相邻像素点相连。边权重即为公式中的V,通过计算像素点在RGB空间的欧式距离得到;
(5) 求最小割模型:利用GrabCut算法求最小割,割分成的两个集合一个为PF,一个为B。
(6) 重新迭代(1)~(5),直到收敛(PF和B不再变化)
4. 算法输出:一个稳定的PF集合(属于字符的像素点)和B集合(属于背景的像素点)。
5. 算法的后处理:
(1) 计算PF的连通分量,得到候选图;
(2) 如果PF或B为空,则表示只有前景或背景点,说明是噪声块
6. 算法的示例图如下:
Fig. 1. The method pipeline. Source image (a). Initial MSER detection and classification (b) - character MSERs denoted green, multi-character MSERs blue and background MSERs denoted red. Text lines formation (c) - bottom line estimate in red. Local text refinement for the first text line - initialization (d), first iteration (e), second iteration (f), the last iteration (g), definitive foreground pixels in green, probable foreground pixels in blue, background pixels in red, ignored pixels in yellow. Final segmentation and text recognition (h)
有意思的问题
- 为什么原始的As计算方法不好,要换成带w权的?权w为什么是那样的?(提示:奇数可以,偶数double)
- 为什么要分成三类?(提示:单字符和多字符的5种特征差异性太大)
- 为什么要进行character refinement?(提示:第一,为字符识别提供更准确的字符区域,第二,优化检测得到的结果)
未解决的问题
- 用5维特征训练SVM,特征会不会太短,会不会过拟合?
- 文本线形成算法具体是怎么实现,细节怎样?
- GrabCut算法的实现?
- Distance Map的实现?
论文阅读(Lukas Neuman——【ICDAR2015】Efficient Scene Text Localization and Recognition with Local Character Refinement)的更多相关文章
-
论文阅读(Lukas Neumann——【ICCV2017】Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recognition Framework)
Lukas Neumann——[ICCV2017]Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recogn ...
-
【论文速读】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 ...
-
【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition
论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal.论文提出一个locNet的深度网络,不在依赖于回归方程.论文中提到locne ...
-
论文阅读笔记四:CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network(ECCV2016)
前面曾提到过CTPN,这里就学习一下,首先还是老套路,从论文学起吧.这里给出英文原文论文网址供大家阅读:https://arxiv.org/abs/1609.03605. CTPN,以前一直认为缩写一 ...
-
【论文速读】Fangfang Wang_CVPR2018_Geometry-Aware Scene Text Detection With Instance Transformation Network
Han Hu--[ICCV2017]WordSup_Exploiting Word Annotations for Character based Text Detection 作者和代码 caffe ...
-
#论文阅读# Universial language model fine-tuing for text classification
论文链接:https://aclweb.org/anthology/P18-1031 对文章内容的总结 文章研究了一些在general corous上pretrain LM,然后把得到的model t ...
-
论文阅读 | HotFlip: White-Box Adversarial Examples for Text Classification
[code] [pdf] 白盒 beam search 基于梯度 字符级
-
论文阅读笔记“Attention-based Audio-Visual Fusion for Rubust Automatic Speech recognition”
关于论文的阅读笔记 论文的题目是“Attention-based Audio-Visual Fusion for Rubust Automatic Speech recognition”,翻译成中文为 ...
-
[论文阅读] A Discriminative Feature Learning Approach for Deep Face Recognition (Center Loss)
原文: A Discriminative Feature Learning Approach for Deep Face Recognition 用于人脸识别的center loss. 1)同时学习每 ...
随机推荐
-
python写的分析mysql binlog日志工具
因为数据库增删改突然暴增,需要查询是那些表的操作特别频繁,写了一个用来分析bin-log的小工具,找出增删改查的表,并按照操作次数降序排列,以下是代码: 1 2 3 4 5 6 7 8 9 10 11 ...
-
python中读取配置文件ConfigParser
在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介 ...
-
JAVA向文件中追加内容(转)
向文件尾加入内容有多种方法,常见的方法有两种: RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流 public void seek(long pos)可以 ...
-
C#中对值类型和引用类型的一点认识
区别值类型和引用类型的重要一点就是值类型赋值的时候是给出一块内存空间,空间里放下要赋给值类型的值.而引用类型是开辟一块内存空间,空间里放下的是要赋给引用类型值的指向地址. 就像一个是复制了银行卡里的现 ...
-
HBase(0.96以上版本)过滤器Filter详解及实例代码
说明: 本文参考官方Ref Guide,Developer API和众多博客,并结合实测代码编写,详细总结HBase的Filter功能,并附上每类Filter的相应代码实现. 本文尽量遵从Ref Gu ...
-
nodejs笔记之路由及util和url模块
路由是URL到函数的映射:对于最简单的静态资源服务器,可以认为,所有URL的映射函数就是一个文件读取操作.对于动态资源,映射函数可能是一个数据库读取操作,也可能是进行一些数据的处理,等等. 如: /u ...
-
【译】Serverless架构 - 3
原文: https://martinfowler.com/articles/serverless.html 消息驱动型应用 后台数据处理服务是一个不同的例子. 你要写一个需要快速响应UI请求的以用户为 ...
-
python相关性分析与p值检验
## 最近两天的成果 ''' ########################################## # # # 不忘初心 砥砺前行. # # 418__yj # ########### ...
-
Gogs/Gitea 在 docker 中部署
注:Gitea是Gogs的一个分支版本,由多个维护者开发,支持搜索.lfs等,但是BUG较多,稳定性似乎没有Gogs好. #### 安装 ####// Gogs$ docker pull gogs/g ...
-
Classification and Prediction
# coding: utf-8 # In[128]: get_ipython().magic(u'matplotlib inline') import pandas as pd from pandas ...