【论文笔记】OCR

github.com/murtazahassan/Learn-OpenCV-in-3-hours

https://www.cnblogs.com/skyfsm/p/8029668.html

《转载OCR技术系列

https://www.cnblogs.com/wujianming-110117/p/12600905.html

《字符识别OCR原理及应用实现》
01基于传统算法的OCR技术
传统的OCR技术通常使用opencv算法库,通过图像处理和统计机器学习方法从图像中提取文本信息,包括二值化、噪声滤波、相关域分析、AdaBoost等。传统的OCR技术根据处理方法可分为三个阶段:图像准备、文本识别和后处理。

一、图像准备预处理:

文字区域定位:连通区域分析、MSER
文字矫正:旋转、仿射变换
文字分割:二值化、过滤噪声

二、文字识别:

分类器识别:逻辑回归、SVM、Adaboost

三、后处理:规则、语言模型(HMM等)

针对简单场景下的图片,传统OCR已经取得了很好的识别效果。传统方法是针对特定场景的图像进行建模的,一旦跳出当前场景,模型就会失效。随着近些年深度学习技术的迅速发展,基于深度学习的OCR技术也已逐渐成熟,能够灵活应对不同场景。

02基于深度学习的OCR技术
目前,基于深度学习的场景文字识别主要包括两种方法,第一种是分为文字检测和文字识别两个阶段;第二种则是通过端对端的模型一次性完成文字的检测和识别。
2.1 阶段一:文字检测
2.1.1 CTPN [1]

CTPN是ECCV 2016提出的一种文字检测算法,由Faster RCNN改进而来,结合了CNN与LSTM深度网络,其支持任意尺寸的图像输入,并能够直接在卷积层中定位文本行。

CTPN由检测小尺度文本框、循环连接文本框、文本行边细化三个部分组成,具体实现流程为:

1、使用VGG16网络提取特征,得到conv5_3的特征图;

2、在所得特征图上使用3*3滑动窗口进行滑动,得到相应的特征向量;

3、将所得特征向量输入BLSTM,学习序列特征,然后连接一个全连接FC层;

最后输出层输出结果。
CTPN是基于Anchor的算法,在检测横向分布的文字时能得到较好的效果。此外,BLSTM的加入也进一步提高了其检测能力。

2.1.2 TextBoxes/TextBoxes++ [2,3]

2.1.3 EAST [4]

2.2 阶段二:文字识别
2.2.1 CNN + softmax [5]

此方法主要用于街牌号识别,对每个字符识别的架构为:先使用卷积网络提取特征,然后使用N+1个softmax分类器对每个字符进行分类。具体流程如下图所示:

使用此方法可以处理不定长的简单文字序列(如字符和字母),但是对较长的字符序列识别效果不佳。

3.3 端对端文字识别

你可能感兴趣的:(论文计划,&&,Lane,Detection,深度学习,人工智能)