Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >优Tech分享 | 通用文字识别的问题和算法

优Tech分享 | 通用文字识别的问题和算法

原创
作者头像
优图实验室
发布于 2022-03-09 08:32:31
发布于 2022-03-09 08:32:31
2K0
举报

图像文字作为信息传递的重要载体,图像文字识别对于高效化办公,场景理解等有着重要的意义。

学术界常将图像文字识别分为两个研究方向:OCR (Optical Character Recognition) 和STR (Sence Text Recognition)。OCR一般指印刷体文字识别,而STR指的是场景文字识别。二者区别主要是STR的文字背景较为复杂,文字角度变化多样,字体变化更加丰富,以及由于拍摄角度或者光照问题等带来的透视、扭曲等几何变化和各类图像噪声,而OCR更强调文档、打印类文字识别,场景较为简单。

TencentOCR为公司级OCR重点项目,汇聚腾讯内部各个OCR研发力量,重点针对OCR基础技术进行协同开发,致力于解决场景文字识别落地中各个痛点,打造业界领先的OCR技术与服务。本文首先回顾OCR算法研究历程,并介绍TencentOCR项目中识别部分,最后展示部分识别效果。

01/背景

文字识别按照语种分类可以分为:中文,英文,日文等语言;按照是否为手写体可以分为:印刷体识别和手写识别等;按照场景可以分为:文档图片以及场景图片;本文讨论重点是同时支持中英文的通用文字识别算法。

02/特点与挑战

OCR识别既具有图像识别的一般性特点如图1:① 图像的质量低导致目标被误分类;② 各类噪声(摩尔纹、高斯噪声、拍摄配备抖动发生运动伪影)导致识别难度增大,同时具备文字识别本身特点;③ 扭曲、透视等几何变换带来的几何变换,同一个文字不同角度可能导致类别发生变化,如"Ⅹ" 转过45度,类别变化成"十"等;④单纯从图象上不容易判断类别的, 如 "l" "I" ,"1","O","0","2","Z" 等;⑤ 文字种类多,识别器需要识别的类别数多达2W多个;⑥ 英文空格需要输出,否则识别结果将无法被下游任务使用,如图2所示。

图1. 文字识别面临的挑战
图1. 文字识别面临的挑战
图2. 英文空格部分展示
图2. 英文空格部分展示

03/文字识别算法回顾

基于上述特点与难点,针对OCR问题学术界算法可以划分成两大类【1】:1. 基于CTC (Connectionist Temporal Classification)【4】的流式文本识别方案,2. 基于Attention的机器翻译的框架方案。在基于深度学习的OCR识别算法中,【2】把整个流程归纳成了四个步骤如图3: ①几何变换 ②特征提取 ③ 序列建模 ④ 对齐与输出。CTC方案与Attention方案区别主要是在步骤④,它作为衔接视觉特征与语义特征的关键桥梁,可以根据上下文图像特征和语义特征做精确输入、输出的对齐,是OCR模型关键的过程。下面详细分析两种方案的优缺点及适用场景。

图3. 识别算法四个阶段
图3. 识别算法四个阶段

3.1 CTC-based

CRNN【3】模型是基于CTC解码的经典OCR识别方案,主要利用CNN提取特征,然后用Bi-LSTM (bidirectional long short term memory)对特征建模,最后利用CTC解码对齐。

该方案的工作流程如图4.

图4 (a). apple识别实例
图4 (a). apple识别实例
图4 (b). 输入图像至特征提取阶段
图4 (b). 输入图像至特征提取阶段
图4 (c). 图像特征预测
图4 (c). 图像特征预测
图4 (d). 结果合并
图4 (d). 结果合并

CTC-based的特点是:

条件独立(每个时刻的预测相互独立,互不影响)、单调对齐(输出序列与输入图像的顺序保持单调一致性,从左至右的保证顺序的映射)、多对一映射(多中预测形式,映射成同一个结果:——ap-pple- 与a-p-p--l-e 与-a-pp-p-le都对应同一输出字符串apple)。【5】

该方案相对于attention的解码形式,速度更加快速,且并行度高,不限制输入序列的长度,可以做到流式识别。但是也存在自身的问题,例如基于CTC解码的识别模型,常常需要手动设计下采样倍率,来适应单条文本识别的最长字符个数。以及出现的尖峰响应,当算法对 timestep = K分类成某个字符时,K + 1 或 K - 1 的timestep由于softmax作用往往会被分类为blank,这一现象出现会导致算法在一些模糊情况下识别出现漏字现象。

3.2 Attention-based

Attention方案的encoder形式与CTC方案的encoder可以共享,作用都是提取文本图像特征,序列建模也可以是一致的,decoder alignment 过程有较大的差别。

图5. 序列解码过程
图5. 序列解码过程

该方案的特点是:可以充分利用语言模型,充分利用上下文环境 。

相对于CTC-based优势是:有效利用序列全局特征(global feature), 可以较好的解决非Attn方案存在的图像切片与文本字符对齐不准的问题。但是该方案也存在自身问题,例如长文中会存在attention drift,解码速度慢,相对于CTC-based方案需要更大的资源消耗。【6】在训练阶段,遇到长文本(一般指文本长度大于16)收敛速度慢,且训练技巧多,甚至需要预训练模型。

04/Vision Transformer模型介绍

4.1 TSA研发背景:

01-研究表明:图像对 CNN 的依赖是非必需的,当直接应用于图像块序列时,transformer 也能很好地执行图像分类任务 。

02-63%耗时在(BiLSTM+Global Attn,或attention形式)序列建模!

图6. 识别模型耗时分析
图6. 识别模型耗时分析

4.2 CNN存在问题:

01-泛化能力差:非常见字体(艺术字,繁体字)效果不佳;例如,训练集中出现了一些字体,那么测试集中出现一些训练集中未出现的字体,识别效果容易出现较大的错误。如图7(a)所示。

图7 (a) 艺术字,背景等变化导致识别错误
图7 (a) 艺术字,背景等变化导致识别错误

02-稳定性不强:易受背景、噪声变化,导致识别错误;例如,测试集中图片本来可以被模型很好的识别,但是加入了一些噪声扰动,识别结果非常容易发生抖动,导致识别为对应的形近字。

图7 (b) 套打,非常见字体识别错误
图7 (b) 套打,非常见字体识别错误

4.3 模型优化点:

引入self-attention算法,对输入图像进行像素级别建模,并替代RNN完成序列建模。相比CNN与RNN,self-attention不受感受野和信息传递的限制,可以更好地处理长距离信息。

设计self-attention计算过程中的掩码mask。由于self-attention天然可以“无视”距离带来的影响,因此需要对输入像素间自注意力进行约束 。

图8. TSA序列建模过程
图8. TSA序列建模过程
图9. TSA位置编码实现
图9. TSA位置编码实现

通过multi-head self-attention对序列建模,可以将两个任意时间片的建模复杂度由lstm的O (N)降低到 O(1), 预测速度大幅提升。

4.4 文本识别耗时降低: 

05/效果展示

OCR技术逐渐“下沉”为一项基本的能力,为上层不同的业务应用提供底层技术支撑。

未来随着传统行业的数字化转型,OCR技术应用范围和场景将进一步扩展;未来,腾讯优图实验室将不断拓宽OCR技术的研究与应用,挖掘更多应用场景,助力产业升级和解决社会、公益痛点。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
美团的OCR方案介绍
近年来,移动互联、大数据等新技术飞速发展,倒逼传统行业向智能化、移动化的方向转型。随着运营集约化、数字化的逐渐铺开,尤其是以OCR识别、数据挖掘等为代表的人工智能技术逐渐深入业务场景,为用户带来持续的经济效益和品牌效应。图书情报领域作为提升公共服务的一个窗口,面临着新技术带来的冲击,必须加强管理创新,积极打造智能化的图书情报服务平台,满足读者的个性化需求。无论是高校图书馆还是公共图书馆,都需加强人工智能基础能力的建设,并与图书馆内部的信息化系统打通,优化图书馆传统的服务模式,提升读者的借阅体验。
机器学习AI算法工程
2021/10/14
1.8K0
美团的OCR方案介绍
理解文字识别:一文读懂OCR商业化产品的算法逻辑
文字识别是一项“历久弥新”的技术。早在上世纪初,工程师们就开始尝试使用当时有限的硬件设备扫描并识别微缩胶片、纸张上的字符。随着时代和技术的发展,人们在日常生活中使用的电子设备不断更新换代,文字识别的需求成为一项必备的技术基础:不论是工厂序列号检测,还是手机拍照翻译,都离不开准确高效的识别技术。
合合技术团队
2025/03/26
3230
理解文字识别:一文读懂OCR商业化产品的算法逻辑
01. OCR 文字识别学习路径
由于最近在接触一些OCR的工作,所以本期《晓说AI》和大家分享一下我的一些总结,先从基本的概念讲起。如有错误,还请指正,谢你3千遍。如有疑问,欢迎留言,我会第一时间答复。
Aalto
2019/10/12
13.4K0
01. OCR 文字识别学习路径
【深度学习】OCR文本识别
OCR(optical character recognition)文字识别是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
天天Lotay
2023/04/26
8.1K0
【深度学习】OCR文本识别
耗时减半?腾讯云OCR只做了3件事
‍‍ 导读|腾讯云OCR团队在产品性能的长期优化实践中,结合客户使用场景及产品架构对服务耗时问题进行了深入剖析和优化。本文作者——腾讯研发工程师彭碧发详细介绍了OCR团队在耗时优化中的思路和方法(如工程优化、模型优化、TIACC加速等),通过引入TSA算法使用TI-ACC减少模型的识别耗时,结合客户使用场景优化编解码逻辑、对关键节点的日志分流以及与客户所在地就近部署持续降低传输耗时,克服OCR耗时优化面临的环节多、时间短甚至成本有限的问题,最终实现了OCR产品平均耗时从1815ms降低到824ms。希望大
腾讯云开发者
2022/12/13
2.1K0
耗时减半?腾讯云OCR只做了3件事
OCR技术的昨天今天和明天!2023年最全OCR技术指南!
OCR是一项科技革新,通过自动化大幅减少人工录入的过程,帮助用户从图像或扫描文档中提取文字,并将这些文字转换为计算机可读格式。这一功能在许多需要进一步处理数据的场景中,如身份验证、费用管理、自动报销、业务办理等都显得尤为实用。现如今,OCR解决方案会结合AI(人工智能)和ML(机器学习)技术,以自动化处理过程并提升数据提取的准确性。本文将介绍该技术的前世今生,一览该技术的阶段性发展:传统OCR技术统治的过去,深度学习OCR技术闪光的现在,预训练OCR大模型呼之欲出的未来!
合合技术团队
2023/07/13
3.1K0
OCR技术的昨天今天和明天!2023年最全OCR技术指南!
OCR检测与识别技术
在过去的数年中,腾讯数平精准推荐(Tencent-DPPR)团队一直致力于实时精准推荐、海量大数据分析及挖掘等领域的技术研发与落地。特别是在广告推荐领域,团队自研的基于深度在线点击率预估算法及全流程实时推荐系统,持续多年在该领域取得显著成绩。而在用户意图和广告理解上,借助于广告图片中的文本识别以及物体识别等技术手段,可以更加有效的加深对广告创意、用户偏好等方面的理解,从而更好的服务于广告推荐业务。 OCR(Optical Character Recognition, 光学字符识别)是指对输入图像进行分析识
用户1263954
2018/06/22
25.6K1
微信 OCR(2):深度序列学习助力文字识别
本文主要介绍了深度序列学习在OCR中的应用,包括CRNN、EDA、Encoder-Decoder、Attention模型等。这些模型在OCR领域取得了显著的成果,可以用于端到端的文本识别。其中,CRNN模型在文本识别任务上表现尤为突出,可以处理不同大小、字体、颜色的文本,并且不需要文本框标注。在实践中,使用Attention OCR模型可以更好地处理含有多个背景干扰的文本,并且可以适应不同排版和字体大小的文本,真正实现了端到端的文本识别。然而,该方法仍存在一些局限性,如识别结果字符内容可能乱序,以及不适用于文字内容较多的图片等。
麻文华
2017/09/14
8.8K2
微信 OCR(2):深度序列学习助力文字识别
腾讯云OCR性能是如何提升2倍的
作者:benpeng,腾讯 CSIG 应用开发工程师 腾讯云 OCR 团队近期进行了耗时优化,通用 OCR 优化前平均耗时 1815ms,优化后平均耗时 824ms,提升 2.2 倍。本文旨在让大家了解 OCR 团队在耗时优化中的思路和方法(如工程优化、模型优化、TIACC 加速),希望能给大家在工作中提供一些新的思路。 一、背景介绍 1、业务背景 近期某重要客户反馈,受当前正在使用的 OCR 服务可用性(非腾讯云)的影响,业务不可用长达半个小时,而且这样的情况时有发生。为了更好的服务,客户开始调研,主要是
腾讯技术工程官方号
2023/01/05
4.5K0
腾讯云OCR性能是如何提升2倍的
腾讯数平精准推荐 | OCR技术之识别篇
本文介绍了腾讯数平精准推荐团队的OCR识别算法,包括识别算法的演进之路以及4个代表性方法。
腾讯大数据
2018/05/08
13.1K4
腾讯数平精准推荐  | OCR技术之识别篇
AIGC席卷智慧办公,金山办公如何架构文档智能识别与理解的通用引擎?
如今,智慧办公是企业办公领域数字化转型的题中之义。作为国内最早开发的软件办公系统之一,金山办公如何应用深度学习实现复杂场景文档图像识别和技术理解?本文将从复杂场景文档的识别与转化、非文本元素检测与文字识别、文本识别中的技术难点等多个方面进行深度解析。 作者 | 金山办公CV技术团队 出品 | 新程序员 在办公场景中,文档类型图像被广泛使用,比如证件、发票、合同、保险单、扫描书籍、拍摄的表格等,这类图像包含了大量的纯文本信息,还包含有表格、图片、印章、手写、公式等复杂的版面布局和结构信息。早前这些信息均采用
AI科技大本营
2023/04/10
2.5K0
AIGC席卷智慧办公,金山办公如何架构文档智能识别与理解的通用引擎?
一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?
文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。在过去的十几年中,研究人员一直在探索如何能够快速准确的从图像中读取文本信息,也就是现在OCR技术。
AI科技评论
2020/02/21
1.9K0
新视角:用图像分类来建模文字识别也可以SOTA
本文为52CV粉丝mileistone投稿,介绍了一篇最新OCR方向的论文,大胆直接使用图像多分类进行文本识别。
CV君
2021/03/09
1.3K0
【AI in 美团】深度学习在OCR中的应用
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索、推荐、广告、风控、智能调度、语音识别、机器人、无人配送等多个领域,帮助美团3.2亿消费者和400多万商户改善服务和体验,帮大家吃得更好,生活更好。
美团技术团队
2018/08/01
2.1K0
【AI in 美团】深度学习在OCR中的应用
OCR技术简介
同时在本微信公众号中,回复“SIGAI”+日期,如“SIGAI0515”,即可获取本期文章的全文下载地址(仅供个人学习使用,未经允许,不得用于商业目的)。
SIGAI学习与实践平台
2018/10/18
7.7K0
OCR技术简介
旷视科技姚聪博士:深度学习时代的文字检测与识别技术 | AI 研习社 103 期大讲堂
AI 科技评论按:随着深度学习的兴起和发展,计算机视觉领域发生了极大的变化。作为计算机视觉中一个重要的研究课题,场景文字检测和识别也无法避免地被这股浪潮席卷,一起进入了深度学习的时代。近年来,这个问题的研究者们都共同见证了思维、方法和性能方面的巨大变化,本次公开课的嘉宾将与大家分享相关内容。
AI科技评论
2018/12/24
1.9K0
基于多复杂交通场景采集帧图片的目标识别技术方案应用与实践
本人曾有幸在一家大型地图公司任职数据挖掘工程师,几乎每日要处理PB级以上多复杂场景的交通数据,其中基于大数据的超量采集帧图片处理技术具有比较强的挑战性,也可以说C端产品很多优化细节以及用户体感好坏很大程度都取决于我们对于这些实时采集帧图片的处理和分析。
fanstuck
2024/12/17
9073
基于多复杂交通场景采集帧图片的目标识别技术方案应用与实践
最新图文识别技术综述
牛小明为四川长虹电器股份有限公司的资深专家,也跟CV君一样曾供职于华为,是两个可爱宝贝的父亲,研究领域涉及图像、语音、文本信号处理和机器人等,Tel:15882855846; Email: xiaoming1.niu@changhong.com
CV君
2019/12/27
2.7K0
OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
前两章主要介绍了DBNet文字检测算法以及CRNN文字识别算法。然而对于我们实际场景中的一张图像,想要单独基于文字检测或者识别模型,是无法同时获取文字位置与文字内容的,因此,我们将文字检测算法以及文字识别算法进行串联,构建了PP-OCR文字检测与识别系统。在实际使用过程中,检测出的文字方向可能不是我们期望的方向,最终导致文字识别错误,因此我们在PP-OCR系统中也引入了方向分类器。
汀丶人工智能
2023/10/11
3K0
OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
7大核心技术:智能OCR如何助力市政单位文档处理数字化转型
文档数据质量参差不齐,模糊、倾斜、印章遮盖等问题是智能识别的主要障碍。OCR通过以下技术模块解决这些难题:
思通数科
2024/11/24
3230
7大核心技术:智能OCR如何助力市政单位文档处理数字化转型
推荐阅读
相关推荐
美团的OCR方案介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档