目录

基于深度学习的OCR相关知识

基于深度学习的OCR相关知识

https://i-operation.csdnimg.cn/images/cf31225e169b4512917b2e77694eb0a2.png深度学习OCR核心技术解析

一、概述

基于深度学习的OCR方法将一些繁杂的流程分成两个主要步骤,一个是**文本检测(主要用于定位文本的位置)​,另一个是文本识别(主要用于识别文本的具体内容)**​。

https://i-blog.csdnimg.cn/direct/ac7156a688b54100afde7f111201fd8f.png

图 - 传统OCR方法向基于深度学习方法的OCR方法演进

二、文本检测

传统的文字检测方式是先对图像设置特征金字塔,然后使用滑动窗口进行扫描,之后进入手动提取特征阶段(SWT、MSER、HOG等)​,再通过滑动窗口提取分类,最后汇总为文本区域。

文本检测面临的挑战

  1. 背景多样化。自然场景下,文本行的背景可以为任意背景,同时会受一些纹理结构相近的背景影响。

  2. 文本行形状和方向的多样化。如水平、垂直、倾斜、曲线等。

  3. 文本行颜色、字体、尺度的多样化(文本的长度变化多样,长宽比可以达到1:100,甚至更高)​。

  4. 不同程度的透视变换。

  5. 恶劣的光照条件和不同程度的遮挡

传统的文本检测方法

https://i-blog.csdnimg.cn/direct/f385fbad60b848b0a1ff883794b1d28e.png

基于深度学习的文本检测分类

基于候选框(Anchor)的文本检测基于语义分割(Segmentation)的文本检测,以及基于两种方法的混合方法(Hybrid)

  • 基于候选框的方式是首先预生成若干候选框,然后回归坐标和分类,最后经过NMS得到最终的检测结果。
  • 基于语义分割的基本方式是通过FPN直接进行像素级别的语义分割,然后进行后处理得到相关的坐标即可。
  • 混合方式:上述两种方式各有利弊,因此最后产生了混合方式。

https://i-blog.csdnimg.cn/direct/63f8459b1da749baa4cce0d1582befd9.png

图 -  文字检测分类

https://i-blog.csdnimg.cn/direct/36c7a291a57a4d7889d1e69ec7b6c76b.png

图 -  文字检测示例

三、文本识别

传统的文字识别很复杂,一般是基于字符分割然后进行单字的识别,这套方法对于简单的任务非常奏效,但一旦遇到复杂自然场景以及字符粘连严重的情况则会失效。

文本识别方法

https://i-blog.csdnimg.cn/direct/6e0bd91bfd6a466d8e204f6647b91509.png

图 - 文本识别方法

常见的文本识别问题

  1. 字体繁多,有些字体非常难以识别。

  2. 排版多样,有横排和竖排,以及各种弯曲文字。

  3. 存在多种多样的特殊字符。

  4. 遮挡问题,在自然场景中,经常有被遮挡的情况,需要算法去补全。

  5. 低分辨率,由于文字本身比较细密,所以一旦发生模糊等情况,很容易丢失大部分文字信息。

  6. 标签噪声,文字的标注容易发生标错的情况

https://i-blog.csdnimg.cn/direct/5f8629c305d7457d873058cb2dee7f1f.png

字符识别的四个阶段

https://i-blog.csdnimg.cn/direct/b455d89cb08944e09f65d5ae11b575ec.png

  1. 转换形变(Transformation):归一化文本图像的输入,例如使用空间变换网络(Spatial TransformationNetwork,STN)、薄板样条函数(Thin-plate Spline,TPS)等对弯曲文本进行纠正。

  2. 特征抽取(Feature Extraction):将输入图片映射到表示空间,该空间能够去掉与识别分类无关的信息,例如字体、颜色、大小、背景等。一般使用各种CNN网络——VGG、RCNN、ResNet等作为这个阶段的特征抽取器。

  3. 序列模型(Sequence Modeling):捕捉序列之间的语义背景信息,提升识别的健壮性,一般使用类似Bi-LSTM。

  4. 预测阶段(Prediction):通过类似CTC或者Attention模型等,对序列模型输出的结果进行评估学习。

四、应用领域

OCR技术作为机器视觉领域一个非常重要的研究方向,涉及的应用领域多种多样。现今,各应用领域已经出现了非常多的产品,具体列举如下。

卡片证件类识别:身份证识别、银行卡识别、驾驶证识别、行驶证识别、港澳通行证识别、护照识别、户口簿识别、营业执照识别等。

票据类识别:增值税发票识别、支票识别、承兑汇票识别、银行票据识别、营业执照识别、物流快递单识别等。

文字信息结构化视频类识别:主要有字幕识别和文字跟踪等。

其他识别:二维码识别、一维码识别、车牌识别、数学公式识别、物理化学符号识别、音乐符号识别、工程图识别、流程图识别、古迹文献识别、手写输入识别等。

除此之外,还有通用自然场景下的文字识别、菜单识别、横幅检测识别、图章检测识别、广告类图文识别等围绕审核相关的业务应用。

国内在做通用OCR技术的公司有阿里巴巴、腾讯、百度、旷视科技、科大讯飞、饿了么、商汤科技、旷视科技、云从科技、码隆科技、七牛云、美团外卖、搜狗、合合信息、汉王科技、文通、易道博识、云脉OCR、灵云OCR等。还有一些公司是围绕相关领域做OCR应用,例如,教育领域有学霸君、猿辅导、好未来、作业盒子等;安防领域有海康威视、大华;物流外卖领域有阿里、饿了么、顺丰、中通等。

五、字符数据集

字符数据集根据图像采集的方式可分为三类:自然环境下采集的字符图像数据集、手写字符图像数据集、计算机不同字体合成的字符图像数据集

许多数据集都会充当标准集(Benchmark)的作用,在公开数据集上测试自己的方法,将更具说服力和权威性。

https://i-blog.csdnimg.cn/direct/b24e668af899415b8c8b2e7b40eff2be.png

https://i-blog.csdnimg.cn/direct/857593184ac1483392c41a67605cf525.png

https://i-blog.csdnimg.cn/direct/655f9c8caf6941e1b2b4f2b492029a43.png

(1) ICDAR2003

ICDAR2003数据集于2003年发布,作为2003年稳定性阅读比赛(Robust Reading Competition)的标准数据集,包括大量自然场景文本图片和人工合成图片。该数据集包含1157张训练集图片、1111张测试集图片以及171张样例图片,同时包括单词级别的图片以及字符级别的图片。

https://i-blog.csdnimg.cn/direct/9c9921b1f3344e668b66deea7091217c.png

(2) ICDAR2011

ICDAR2011数据集于2011年发布,作为2011年Robust Reading Competition的标准数据集,其中包括自然场景文本图片和人工合成图片。它在ICDAR2003数据集的基础上进一步扩大,并修改了ICDAR2003的一些不足之处,例如,补全了丢失的真实标注(Ground Truth)信息,Bounding Box与文本之间的联系也变得更加紧密等。数据集共包含1564张裁剪后的单词图片。

https://i-blog.csdnimg.cn/direct/170e315fe74441f098261cc4d06139d8.png

(3) ICDAR2013

ICDAR2013数据集于2013年发布,作为2013年的稳定性阅读比赛(Robust Reading Competition)的标准数据集。图片样本多为水平字符,同时包含字符图片和单词图片。训练集共有3567张裁剪后的图片,测试集共有1439张裁剪后的图片。

https://i-blog.csdnimg.cn/direct/8113ffe2336946c58e39db87220ae0e5.png

(4) IIIT-5K

IIIT-5K数据集是从Google图像搜索中获取的,包括商业广告牌、商店招牌、门牌号、房屋铭牌、电影海报等。该数据集包含来自场景文本和人工合成的5000个裁剪后的单词图像,每张图像关联一个50词的词典和一个1000词的词典。该数据集分为训练和测试两部分,可用于大字典级别裁剪后的单词识别。此外,该数据集提供了一个超过50万个单词的词典。

https://i-blog.csdnimg.cn/direct/c8c48415c17347948da0bfb2f09ca025.png

(5) SVHN

SVHN(the Street View House Numbers)是从真实街景中采集而来的图像数据集,对数据预处理和格式化的要求很低,可以被看作是与MNIST相似的数据集,但是包含了更多的标注数据(超过600000张数字图像)​。SVHN是从Google街景图像门牌号码中获得的,共分为10类,每类代表一个数字,例如数字“1”为标签1,​“9”为标签9,​“0”为标签10。该数据集包含可用于训练的样本73257个,用于测试的样本26032个,以及用于额外训练的样本531131个。这些样本包含两种格式:带有字符级边界框的原始图像,以及大小为32×32、以单个字符为中心的图像。

https://i-blog.csdnimg.cn/direct/076d8ee0990f4e21be3a54e45a7898a0.png

(6) MSRA-TD500

MSRA-TD500是一个多方向文本数据集,大部分文本选自导向牌类的标志。图片分辨率在1296×864到1920×1280之间,包含中英文,共计有500张自然场景图片。其中,训练集为300张,测试集为200张,标注以行为单位,而不是以单词为单位,每张图片都实现完全标注,难以识别的会有“难以识别”的额外标注。

https://i-blog.csdnimg.cn/direct/67538e2c893e4be9a66594702f196004.png

(7) Chars74k

Chars74k是一个经典的字符识别数据集,主要包含英文字符与坎那达语(Kannada)字符。该数据集一共包含74000幅图像,所以又称Chars74k。该数据集包含52个字符类别(A~Z、a~z)和10个数字类别(0~9),共62个类别,3410个图像样本,由55个志愿者手写完成,图像为PNG格式。

https://i-blog.csdnimg.cn/direct/0946c255bd3a40fdb93a6ccff953765d.png

资料来源书籍

《深度实践OCR:基于深度学习的文字识别》出版时间202106 刘树春等著