Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?

一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?

作者头像
CV君
发布于 2020-02-24 05:39:22
发布于 2020-02-24 05:39:22
1.2K0
举报

Source: kurzweilai.net

作者 | 北京矩视智能科技有限公司

责编 | 贾伟

文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。在过去的十几年中,研究人员一直在探索如何能够快速准确的从图像中读取文本信息,也就是现在OCR技术。

工业场景下的图像文本识别更为复杂,它会出现在许多不同的情景下,如医药包装上的文字、各类钢制零部件上的字符、集装箱表面喷印的字符、商铺Logo上的个性化字符等等。

在这类图像中,文字部分可能会呈现为弯曲排列、曲面异形、倾斜分布、褶皱变形、残缺不全等多种形式,与标准字符的特征有较大出入,从而给图像文字的检测与识别带来了困难。

传统算法

传统OCR技术通常使用OpenCV算法库,通过图像处理和统计机器学习方法提取图像中的文字信息,用到的技术包括二值化、噪声滤除、连通域分析和Adaboost、SVM等。

按处理方式可以将传统OCR技术划分为图片预处理、文字识别、后处理三个阶段,其具体的技术流程如下表所示。

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

深度学习

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

1、文字检测

顾名思义,文字检测就是要检测到图片中文字所在的区域,其核心是区分文字和背景。常用的文字检测算法包括以下几种:

1)CTPN [1]

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

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

  • 使用VGG16网络提取特征,得到conv5­_3的特征图;
  • 在所得特征图上使用3*3滑动窗口进行滑动,得到相应的特征向量;
  • 将所得特征向量输入BLSTM,学习序列特征,然后连接一个全连接FC层;
  • 最后输出层输出结果。

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

2)TextBoxes/TextBoxes++ [2,3]

TextBoxes和TextBoxes++模型都来自华中科技大学的白翔老师团队,其中TextBoxes是改进版的SSD,而TextBoxes++则是在前者的基础上继续扩展。

TextBoxes共有28层卷积,前13层来自于VGG-16(conv_1到conv4_3),后接9个额外的卷积层,最后是包含6个卷积层的多重输出层,被称为text-box layers,分别和前面的9个卷积层相连。由于这些default box都是细长型的,使得box在水平方向密集在垂直方向上稀疏,从而导致该模型对水平方向上的文字检测结果较好。

TextBoxes++保留了TextBoxes的基本框架,只是对卷积层的组成进行了略微调整,同时调整了default box的纵横比和输出阶段的卷积核大小,使得模型能够检测任意方向的文字。

3)EAST [4]

EAST算法是一个高效且准确的文字检测算法,仅包括全卷积网络检测文本行候选框和NMS算法过滤冗余候选框两个步骤。

其网络结构结合了HyperNet和U-shape思想,由三部分组成:

  • 特征提取:使用PVANet/VGG16提取四个级别的特征图;
  • 特征合并:使用上采样、串联、卷积等操作得到合并的特征图;
  • 输出层:输出单通道的分数特征图和多通道的几何特征图。

EAST算法借助其独特的结构和简练的pipline,可以检测不同方向、不同尺寸的文字且运行速度快,效率高。

2、文字识别

通过文字检测对图片中的文字区域进行定位后,还需要对区域内的文字进行识别。针对文字识别部分目前存在几种架构,下面将分别展开介绍。

1)CNN + softmax [5]

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

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

2)CNN + RNN + attention [6]

本方法是基于视觉注意力的文字识别算法。主要分为以下三步:

  • 模型首先在输入图片上运行滑动CNN以提取特征;
  • 将所得特征序列输入到推叠在CNN顶部的LSTM进行特征序列的编码;
  • 使用注意力模型进行解码,并输出标签序列。

本方法采用的attention模型允许解码器在每一步的解码过程中,将编码器的隐藏状态通过加权平均,计算可变的上下文向量,因此可以时刻读取最相关的信息,而不必完全依赖于上一时刻的隐藏状态。

3)CNN + stacked CNN + CTC [7]

上一节中提到的CNN + RNN + attention方法不可避免的使用到RNN架构,RNN可以有效的学习上下文信息并捕获长期依赖关系,但其庞大的递归网络计算量和梯度消失/爆炸的问题导致RNN很难训练。基于此,有研究人员提出使用CNN与CTC结合的卷积网络生成标签序列,没有任何重复连接。

这种方法的整个网络架构如下图所示,分为三个部分:

  • 注意特征编码器:提取图片中文字区域的特征向量,并生成特征序列;
  • 卷积序列建模:将特征序列转换为二维特征图输入CNN,获取序列中的上下文关系;
  • CTC:获得最后的标签序列。

本方法基于CNN算法,相比RNN节省了内存空间,且通过卷积的并行运算提高了运算速度。

3、端对端文字识别

使用文字检测加文字识别两步法虽然可以实现场景文字的识别,但融合两个步骤的结果时仍需使用大量的手工知识,且会增加时间的消耗,而端对端文字识别能够同时完成检测和识别任务,极大的提高了文字识别的实时性。

1)STN-ORC [8]

STN-OCR使用单个深度神经网络,以半监督学习方式从自然图像中检测和识别文本。网络实现流程如下图所示,总体分为两个部分:

  • 定位网络:针对输入图像预测N个变换矩阵,相应的输出N个文本区域,最后借助双线性差值提取相应区域;
  • 识别网络:使用N个提取的文本图像进行文本识别。

本方法的训练集不需要bbox标注,使用友好性较高;但目前此模型还不能完全检测出图像中任意位置的文本,需要在后期继续调整。

2)FOTS [9]

FOTS是一个快速的端对端的文字检测与识别框架,通过共享训练特征、互补监督的方法减少了特征提取所需的时间,从而加快了整体的速度。其整体结构如图所示:

  • 卷积共享:从输入图象中提取特征,并将底层和高层的特征进行融合;
  • 文本检测:通过转化共享特征,输出每像素的文本预测;
  • ROIRotate:将有角度的文本块,通过仿射变换转化为正常的轴对齐的本文块;
  • 文本识别:使用ROIRotate转换的区域特征来得到文本标签。

FOTS是一个将检测和识别集成化的框架,具有速度快、精度高、支持多角度等优点,减少了其他模型带来的文本遗漏、误识别等问题。

总结

本文参考前沿文献,总结了当前主流的OCR场景检测技术。相对来说,使用基于深度学习的端对端检测模型可以实现快速、准确的文字识别,且可以灵活的应用于倾斜、弯曲、褶皱变形等复杂场景。

通过对现有算法模型的细节调整,将成熟的文本识别模型集成化,即可实现工业场景中的OCR识别。

参考文献:

[1] Tian Z et al. Detecting text in natural image with connectionist text proposal network[C]//European conference on computer vision. Springer, Cham, 2016.

[2]Liao M et al. Textboxes: A fast text detector with a single deep neural network [C]//Thirty-First AAAI Conference on Artificial Intelligence. 2017.

[3]Liao M et al. Textboxes++: A single-shot oriented scene text detector[J]. IEEE transactions on image processing, 2018.

[4]Zhou X et al. EAST: an efficient and accurate scene text detector[C]// Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017.

[5]Goodfellow I J et al. Multi-digit number recognition from street view imagery using deep convolutional neural networks[J]. 2013.

[6]Deng Y et al. Image-to-markup generation with coarse-to-fine attention[C]// Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.

[7]Gao Y et al. Reading scene text with fully convolutional sequence modeling[J]. Neurocomputing, 2019.

[8]Bartz C et al. STN-OCR: A single neural network for text detection and text recognition[J]. arXiv preprint arXiv:1707.08831, 2017.

[9]Liu X et al. Fots: Fast oriented text spotting with a unified network [C]// Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
OCR技术在爱奇艺的应用实践及演进
随着人工智能的热度上升,图像识别这一细分领域也渐渐被人们所关注。在很多公司的业务中,有很多需要对图片进行识别的需求。为了帮助业务实现对这些图片、文档的识别和结构化,业界进行了一系列的实践和探索,最终确定了一些可行的方法。实践过程中,可能遇到过一系列问题和难点。本次直播分享,我们将结合目前的业务需求,说说爱奇艺在探索中遇到的痛点和难点以及识别技术中的一些细节。
深度学习与Python
2021/03/30
1.1K0
【每周CV论文】深度学习文本检测与识别入门必读文章
欢迎来到《每周CV论文推荐》。在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的。
用户1508658
2020/06/23
4530
干货 | OCR技术在携程业务中的应用
袁秋龙,携程度假大数据AI研发团队实习生,专注于计算机视觉的研究和应用。在实习期间致力于度假图像智能化工作,OCR问题为实习期主要做的研究。
携程技术
2019/04/22
1.7K0
干货 | OCR技术在携程业务中的应用
EAST、PixelLink、TextBoxes++、DBNet、CRNN…你都掌握了吗?一文总结OCR必备经典模型(二)
本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
机器之心
2023/08/08
1.2K0
EAST、PixelLink、TextBoxes++、DBNet、CRNN…你都掌握了吗?一文总结OCR必备经典模型(二)
【AI in 美团】深度学习在OCR中的应用
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索、推荐、广告、风控、智能调度、语音识别、机器人、无人配送等多个领域,帮助美团3.2亿消费者和400多万商户改善服务和体验,帮大家吃得更好,生活更好。
美团技术团队
2018/08/01
2K0
【AI in 美团】深度学习在OCR中的应用
OCR技术简介
同时在本微信公众号中,回复“SIGAI”+日期,如“SIGAI0515”,即可获取本期文章的全文下载地址(仅供个人学习使用,未经允许,不得用于商业目的)。
SIGAI学习与实践平台
2018/10/18
7.1K0
OCR技术简介
CTPN、TextBoxes、SegLink、RRPN、FTSN、DMPNet…你都掌握了吗?一文总结OCR必备经典模型(一)
本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
机器之心
2023/08/08
6170
CTPN、TextBoxes、SegLink、RRPN、FTSN、DMPNet…你都掌握了吗?一文总结OCR必备经典模型(一)
三年磨一剑——微信OCR图片文字提取
导语 | 2021年1月, 微信发布了微信8.0, 这次更新支持图片文字提取的功能。用户在聊天界面和朋友圈中长按图片就可以提取图片中文字,然后一键转发、复制或收藏。图片文字提取功能基于微信自研OCR技术,本文将介绍微信OCR能力是如何落地文字提取业务的。文章作者:伍敏慧,腾讯WXG研发工程师。 一、背景 微信8.0上线了图片提取文字的功能,用户在聊天界面和朋友圈中如果想提取图像中的文字,不用再辛苦打字了,只要简单几个步骤,就可以拿到图片中的文字内容,超级方便实用。 图1 微信客户端提取图片中的
腾讯云开发者
2021/03/08
21.8K3
【深度学习】OCR文本识别
OCR(optical character recognition)文字识别是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
天天Lotay
2023/04/26
7.4K0
【深度学习】OCR文本识别
美团的OCR方案介绍
近年来,移动互联、大数据等新技术飞速发展,倒逼传统行业向智能化、移动化的方向转型。随着运营集约化、数字化的逐渐铺开,尤其是以OCR识别、数据挖掘等为代表的人工智能技术逐渐深入业务场景,为用户带来持续的经济效益和品牌效应。图书情报领域作为提升公共服务的一个窗口,面临着新技术带来的冲击,必须加强管理创新,积极打造智能化的图书情报服务平台,满足读者的个性化需求。无论是高校图书馆还是公共图书馆,都需加强人工智能基础能力的建设,并与图书馆内部的信息化系统打通,优化图书馆传统的服务模式,提升读者的借阅体验。
机器学习AI算法工程
2021/10/14
1.7K0
美团的OCR方案介绍
【AIDL专栏】白翔:基于合成数据的场景文本深度表示方法
目前的文字识别主要有两方面的研究。首先是传统的文字识别,也就是文档中的文字识别,主要是OCR技术,其技术已经比较成熟,效果也比较稳定。另一方面是基于场景的文字识别,也就是图片中的文字识别,即将图片里的文字转化成人类可以理解的语言。这个过程需要实现以下目标:获得图片中文字出现的位置,包括文本的起始位置、结束位置和上下高度;将所在位置的图片所包含的文本数据转化成人们可以理解的信息。这整个过程就是文字识别。
马上科普尚尚
2020/05/11
1.1K0
深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景
OCR(Optical Character Recognition,光学字符识别)是指对图像进行分析识别处理,获取文字和版面信息的过程,是典型的计算机视觉任务,通常由文本检测和文本识别两个子任务构成。
汀丶人工智能
2023/06/11
3.3K0
深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景
理解文字识别:一文读懂OCR商业化产品的算法逻辑
文字识别是一项“历久弥新”的技术。早在上世纪初,工程师们就开始尝试使用当时有限的硬件设备扫描并识别微缩胶片、纸张上的字符。随着时代和技术的发展,人们在日常生活中使用的电子设备不断更新换代,文字识别的需求成为一项必备的技术基础:不论是工厂序列号检测,还是手机拍照翻译,都离不开准确高效的识别技术。
合合技术团队
2025/03/26
1680
理解文字识别:一文读懂OCR商业化产品的算法逻辑
【专知荟萃25】文字识别OCR知识资料全集(入门/进阶/论文/综述/代码/专家,附查看)
OCR文字,车牌,验证码识别 专知荟萃 入门学习 论文及代码 文字识别 文字检测 验证码破解 手写体识别 车牌识别 实战项目 视频 入门学习 端到端的OCR:基于CNN的实现 blog: [http://blog.xlvector.net/2016-05/mxnet-ocr-cnn/] 如何用卷积神经网络CNN识别手写数字集? blog: [http://www.cnblogs.com/charlotte77/p/5671136.html] OCR文字识别用的是什么算法? [https://www.zh
WZEARW
2018/04/11
4.2K0
OCR技术简介
光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。亦即将图像中的文字进行识别,并以文本的形式返回。
SIGAI学习与实践平台
2018/09/26
16.6K0
OCR技术简介
自然场景文本检测识别技术综述
白蛇: 白纸黑字的扫描文档识别技术已经很成熟,而自然场景图像文本识别的效果还不理想。倾斜字、艺术字、变形字、模糊字、形似字、残缺字、光影遮蔽、多语言混合文本等应用落地面临的技术难题还没被彻底解决。
SIGAI学习与实践平台
2018/08/07
3.7K0
自然场景文本检测识别技术综述
7大核心技术:智能OCR如何助力市政单位文档处理数字化转型
文档数据质量参差不齐,模糊、倾斜、印章遮盖等问题是智能识别的主要障碍。OCR通过以下技术模块解决这些难题:
思通数科
2024/11/24
2070
7大核心技术:智能OCR如何助力市政单位文档处理数字化转型
自然场景文本检测识别技术综述
0629封面.jpg 番外 青蛇: 姐, 图像文本检测和识别领域现在的研究热点是什么? 白蛇: 白纸黑字的扫描文档识别技术已经很成熟,而自然场景图像文本识别的效果还不理想。倾斜字、艺术字、变形字、模
SIGAI学习与实践平台
2018/06/30
7.8K1
自然场景文本检测识别技术综述
给 AI 换个“大动力小心脏”之 OCR 异构加速
本文介绍了OCR异构加速在腾讯云上的应用和优化,通过多FPGA芯片协同的异构加速架构和通用加速器引擎,实现了高性能、低成本的OCR识别。同时,平台支持业务模型的快速部署和迭代,为云端OCR服务提供了一种高效的解决方案。
serena
2017/12/08
2K0
给 AI 换个“大动力小心脏”之 OCR 异构加速
03.OCR学习路径之文本检测(中)CTPN算法简介
本文主要分享的是CTPN,paper名称是Detecting Text in Natural Image with
Aalto
2019/10/29
2.1K0
03.OCR学习路径之文本检测(中)CTPN算法简介
推荐阅读
相关推荐
OCR技术在爱奇艺的应用实践及演进
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档