OCR识别流程详解

概括

传统的OCR基于图像处理(二值化、连通域分析、投影分析等)和统计机器学习(Adaboost、SVM),过去20年间在印刷体和扫描文档上取得了不错的效果。传统的印刷体OCR解决方案整体流程如图。

在这里插入图片描述

从输入图像到给出识别结果经历了图像预处理、文字行提取和文字行识别三个阶段。

图像预处理

  • 二值化:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行识别处理前,需要对图像进行二值化处理,使图像只包含黑色的前景信息和白色的背景信息,提升识别处理的效率和精确度。

  • 图像降噪:由于待识别图像的品质受限于输入设备、环境、以及文档的印刷质量,在对图像中印刷体字符进行识别处理前,需要根据噪声的特征对待识别图像进行去噪处理,提升识别处理的精确度。

  • 倾斜校正:由于扫描和拍摄过程涉及人工操作,输入计算机的待识别图像或多或少都会存在一些倾斜,在对图像中印刷体字符进行识别处理前,就需要进行图像方向检测,并校正图像方向。

在这里插入图片描述

文字检测

文字检测主要有两条线,两步法和一步法。

  1. 两步法:faster-rcnn.

  2. 一步法:yolo。相比于两步法,一步法速度更快,但是accuracy有损失。

文字检测按照文字的角度分。

  1. 水平文字检测:四个自由度,类似于物体检测。水平文字检测比较好的算法是CTPN。

  2. 倾斜文字检测:文本框是不规则的四边形,八个自由度。倾斜文字检测个人比较喜欢的方法是CVPR的EAST和Seglink。
    在这里插入图片描述

文本识别

在以前的OCR任务中,识别过程分为两步:单字切割和分类任务。

现今基于深度学习的端到端OCR技术有两大主流技术:CRNN OCR和attention OCR。

其实这两大方法主要区别在于最后的输出层(翻译层),即怎么将网络学习到的序列特征信息转化为最终的识别结果。

这两大主流技术在其特征学习阶段都采用了CNN+RNN的网络结构,CRNN OCR在对齐时采取的方式是CTC算法,而attention OCR采取的方式则是attention机制。

在这里插入图片描述
网络结构包含三部分,从下到上依次为:

  1. 卷积层,使用CNN,作用是从输入图像中提取特征序列;
  2. 循环层,使用RNN,作用是预测从卷积层获取的特征序列的标签(真实值)分布;
  3. 转录层,使用CTC,作用是把从循环层获取的标签分布通过去重整合等操作转换成最终的识别结果;

在这里插入图片描述

  • 3
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
您好!关于Android OCR(Optical Character Recognition,光学字符识别)技术,我可以为您提供一些信息。在Android平台上,OCR技术可以用于识别图像或照片中的文本,并将其转换为可编辑的文本形式。 要在Android应用中实现OCR功能,您可以考虑使用以下方法之一: 1. 使用第三方库:有许多开源的OCR库可供使用,例如Tesseract OCR和Google Mobile Vision API。这些库提供了用于在Android设备上进行OCR的功能和工具。 - Tesseract OCR是一个流行的OCR引擎,可处理多种语言。您可以使用Tesseract库来集成OCR功能到您的Android应用中。有一些包装库,如Tess-Two和gTTS,可以简化与Tesseract的集成。 - Google Mobile Vision API是Google提供的一个图像处理库,其中包含OCR功能。您可以使用Google Play Services SDK将其集成到您的应用中。这个API提供了直接使用Google云OCR服务的便利。 2. 使用云服务:您可以选择使用云端OCR服务,如百度云、阿里云等,通过API调用来进行OCR识别。这种方法需要将图像上传到云端进行处理,然后返回识别结果给您的应用。 无论您选择哪种方式,都需要注意以下几点: - 图像预处理:在进行OCR之前,通常需要对图像进行预处理,以提高识别准确性。这可能包括图像增强、降噪、调整对比度等步骤。 - 多语言支持:如果您需要支持多种语言的OCR识别,需要确保您选择的库或服务支持这些语言。 - 性能和用户体验:OCR处理可能需要一些时间,这可能会影响您的应用的性能和用户体验。您应该在后台进行OCR处理,以免阻塞主线程。 希望这些信息对您有所帮助!如果您有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kuokay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值