【class13】人工智能初步(OCR技术初步)

【class13】

什么是OCR

初见OCR这三个字母,你肯定懵懵的。实际上,对我们来说,OCR一点儿也不陌生。

手机里的图片文字识别工具,网上金融自助开户,菜鸟驿站寄送快递,营业厅办理移动业务等等。
凡是涉及到信息的识别和录入,大多都会用到OCR。
OCR实际上就是一个把文档/图像中的文字处理成普通的可编辑文本的过程。

OCROptical Character Recognition

定义

OCR 是光学字符识别(Optical Character Recognition)的英文缩写,通常又叫文字识别。
一般是指对文本资料的图像文件进行分析识别处理,获取文字信息的过程。

隐喻

人类幼崽识字的过程,从图形开始记忆。

OCR的便捷之处在于能节约时间,实现文字高速录入
比如,习惯了复制粘贴后,遇上想借鉴的纸质文件、需付费才能复制的文档、无法选取的PDF文件或图片,只能一个字一个字重新敲?那你可就out了!

我们利用OCR可以快速地将不同类型文档 中的文字进行识别,转换为可编辑和可搜索的数据,然后以文本的形式返回。

传统的OCR

过去20年,传统的OCR对印刷和扫描文档中的文字识别效果表现不错。
其过程主要分为
图像预处理、文字行提取和文字行识别三个阶段。

          

其中文字行识别又分为字符切分单字符识别两个步骤。
即先把文字分成一个个字符,再直接分类完成识别。

Ps:但是这种方式也存在一定的弊端。
比如遇到字符粘连、模糊和形变等情况,不仅容易出错,而且还不可修复。

此外,随着移动设备的普及,对拍摄场景中的文字提取和识别成为主流需求相比于印刷和扫描,拍摄的图像内容识别起来会更加复杂。经常会受到成像 文字 场景等多个因素的影响。

                     

这对传统的OCR来说,更是雪上加霜。
比如,生活中随处可见的商店招牌就存在:
背景复杂, 字体多样, 颜色多变, 方向任意, 大小不同, 语言不统一, 板式不固定这些问题。

还有日常生活的指示栏、窗花、砖块、图标、栅栏等图像本身就与文字有一定的相似性。
再加上成像问题传统的OCR很难满足这些场景下的文字识别需求。图像本身和成像存在问题的话,比如分比率、曝光、反光、局部遮挡、干扰等,肯定会影响文字识别的结果。

结合深度学习的OCR

直到深度学习的崛起,OCR迎来了新的发展机会,能更好的适用于场景文字识别。
这时的OCR包含两个部分:文字检测和文字识别。

    

文字检测(Text Detection)

判断是否存在文字实例,并给出具体位置的过程。
解决的问题是哪里有文字,文字的范围有多少。

检测时定位的准确率也会直接影响文字识别的结果。
如图所示,我们用橙色框代表"TAN"字符的真实区域绿色框代表检测区域
这三张图在真实区域与检测区域有相同IoU 的情况下,识别结果却完全不同。

文字识别(Text Recognition)

把文字区域转化成计算机可读和可编辑文字的过程。解决的问题是每个文字是什么,将文字区域转化为字符信息。

总结:

文字检测定位的准确率直接影响后续文字识别的结果。
文字识别解决的问题是每个文字是什么。
文字检测解决的问题是哪里有文字,范围有多少。

结合深度学习的OCR包含文字检测和文字识别

当前结合深度学习的OCR准确率能达到99%以上。具体是如何实现的🤔
我们先从实际应用的角度来看看,单个文字的识别过程是怎么样的。

如图,对单个文字“小”的识别过程如下:
1. 卷积层提取特征
2. 池化层保留更重要的特征
3. 反复进行卷积和池化
4. 全连接层处理最后一层特征
5. 输出识别结果

最终计算机以99%的准确率对当前文字判定为“小”。同理,对其它文字的识别也一样。

觉得这个过程太抽象了?没关系,我们换种方式来看。这里引用李开复在《人工智能》一书中的解释:
用"水管网络"来描述计算机识字的深度学习过程。

水管网络

我们仍然以识别图片中的汉字为例。
假设我们把要处理的数据比作"水流"。
那么这个深度学习过程就可以看作一个由管道和阀门组成的"水管网络"。

网络的入口是管道的开口。
网络的出口也是管道的开口。
每个管道都有可以控制水流流向与流量的阀门。

每一层的每个阀门都与下一层的所有阀门相连,组成一个从前到后,逐层完全连通的水流系统。
当然,对于不同的任务,层数、阀门数都可以变化

学习"口"字

计算机是如何使用"水管网络"来学习识字的呢?
我们可以这样来看:
当计算机看到一张写有"口"字的图片时,就将
组成这张图片的所有数字都变成水流,灌进"水管网络"。

         

我们预先在"水管网络"的每个出口都插一块字牌,对应于每一个我们想让计算机认识的汉字。
因为当前输入的是"口"字,等水流流过整个"水管网络",计算机就会跑到出口去看,是不是标记了"口"字的出口水流最多。

如果是这样,就说明这个"水管网络"符合要求。
如果不是这样,就调节每一个流量阀门,让"口"字出口的水流最多。

不过这下,计算机要忙一阵了,要调节那么多阀门!
好在计算机的速度够快,总是可以给出一个解决方案调节好所有的阀门,让出口的水流符合要求

学习"中"字

下一步,学习"中"字也是类似的方法。
把一张写有"中"字的图片变成一大堆数字组成的水流,灌进"水管网络"。
再看一看,是不是标记了"中"字的出口水流最多,如果不是,再调节所有的阀门。

不过这一次,既要保证前面的"口"字不受影响,也要保证后面的"中"字能正确处理。
如此反复进行,直到所有标记的汉字对应的水流都可以按照期望的方式流过整个"水管网络"。
这个"水管网络"就是一个训练好的深度学习模型了。

识别新汉字

也就是说当大量标记的汉字被这个"水管网络"处理,所有阀门都调节到位后,就可以用来识别新汉字了。这时,计算机会把调节好的所有阀门都"焊死",静候新的水流到来。

和前面一样,计算机会将未知的汉字都变成数据水流,灌进刚刚训练好的"水管网络"。
只要观察一下,哪个出口的水流最多,就是哪个字。
这样,整个文字识别过程也就完成了。

OCR的应用

前面我们列举的都是你在生活中可能会遇到的麻烦,但OCR所能实现的场景和功能远不止于此。
在医疗、海关、物流、金融等各行各业都能够通过OCR识别服务,节省人工成本,让技术更智能。

用户身份识别

1. 金融行业身份识别
在银行、保险、证券行业等需要验证用户身份的场景中,减少用户信息输入,提升效率,提高用户体验。
2. 互联网行业身份识别
在视频直播或网约车场景中,进行主播或乘客的身份认证,降低犯罪风险。

文本审核与管理

1. 广告图识别
在电商行业中,智能识别广告图中的文字内容,过滤广告中的不良信息,为企业降低业务风险。
2. 视频字幕识别
在各类视频场景中,快速识别视频中的字幕信息,有效地区分文字内容是否合规。

图像转文本

1. 传统新闻媒体
在传统行业中,将大量纸质文档转换成可编辑的文本,为文字排版、信息检索提供极大的便利。
2. 出版物图片
在出版物中,将图像转成可编辑的文本,在归类、检索等方面,极大地降低人力投入成本。

手写内容识别

1. 快递服务
快递行业中,有效降低人力投入成本,优化业务流程,提升快递行业效率。
2. 智能阅卷
在教师行业中,实现线上批阅作业和试卷,教学数据自动分析,促进教学管理的数字化和智能化。

本节课我们对OCR的实现原理有了深入的了解。
下节课我们将进入实战,搭建属于自己的OCR系统。
明天见

  • 38
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值