0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解光学字符识别技术识别票据原理

新机器视觉 来源:新机器视觉 作者:Ivan Ozhiganov 2020-11-27 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文翻译自dzone 中Ivan Ozhiganov 所发文章Deep Dive Into OCR for Receipt Recognition 文中版权、图像代码等数据均归作者所有。为了本土化,翻译内容略作修改。

光学字符识别技术(OCR)目前被广泛利用在手写识别、打印识别及文本图像识别等相关领域。小到文档识别、银行卡身份证识别,大到广告、海报。因为OCR技术的发明,极大简化了我们处理数据的方式。

同时,机器学习(ML)和卷积神经网络(CNN)的快速发展也让文本识别出现了巨大的飞跃!我们在本文的研究中也将使用卷积神经网络CNN技术来识别零售店的纸质票据。为了方便演示,我们本次将仅采用俄语版的票据进行测试。

我们的目标是项目开发一个客户端来识别来获取相关文档,在有服务器端去识别解析数据。准备好了吗?让我们一起去看看怎么做吧!

预处理

首先,我们需要接收图像相关数据,使其水平竖直方向垂直,接下来使用算法进行检测是否为票据,最终二值化方便识别。

旋转图像识别收据

我们有三种方案来识别票据,下文对这三种方案做了测试。

1. 高阈值的自适应二值化技术。2. 卷积神经网络(CNN)。3. Haar特征分类器。

自适应二值化技术

首先,我们看到,图中图像上包含了完整的数据,同时票据又与背景有些差距。为了能更好识别相关数据,我们需要将图片进行旋转。使其水平沿竖直方向对齐。

我们使用Opencv中的自适应阈值化函数adaptive_threshold和scikit-image框架来调整收据数据。利用这两项函数,我们可以在高梯度区域保留白色像素,低梯度区域保留黑色像素。这使得我们获得了一个高反差的样本图片。这样,通过裁剪,我们就能得到票据的相关信息了。

使用卷积神经网络(CNN)

起初我们决定使用CNN来做相关位置检测的接收点,就像我们之前做对象检测项目一样。我们使用判断角度来拾取相关关键点。这种方案虽然好用,但是和高阈值对比检测裁剪更差。

因为CNN只能找到文本的角度坐标,而文字的角度变化很大,这就意味着CNN模型不是很精准。详情请参考下面CNN测试的结果。

使用Haar特征分类器来识别收据

作为第三种选择,我们尝试使用Haar特征分类器来做分类筛选。然而经过一周的分类训练和改变相关参数,我们并没有得到什么比较积极的结果,甚至发现CNN都比Haar表现好得多。

二值化

最终我们使用opencv中的adaptive_threshold方法进行二值化,经过二值化处理,我们得到了一个不错的图片。

文本检测

接下来我们来介绍几个不同的文本检测组件。

通过链接组件检测文本

首先,我们使用Opencv中的find Contours函数找到链接的文本组。大多数链接的组件是字符,但是也有二值化留下来嘈杂的文本,这里我们通过设置阈值的大小来过滤相关文本。

然后,我们执行合成算法来合成字符,如:Й和=。通过搜索最临近的字符组合合成单词。这种算法需要你找到每个相关字字母最临近的字符,然后从若干字母中找到最佳选择展示。

接下来文字形成文字行。我们通过判断文字是否高度一致来判断文本是否属于同一行。

当然,这个方案的缺点是不能识别有噪声的文本。

使用网格对文本进行检测

我们发现几乎所有票据都是相同宽度的文本,所以我们设法在收据上画出一个网格,并利用网格分割每个字符:

网格一下子精简了票据识别的难度。神经网络可以精准识别每个网格内的字符。这样就解决了文本嘈杂的情况。最终可以精确统计文本数量。

我们使用了以下算法来识别网格。

首先,我在二值化镜像中使用这个连接组件算法。

然后我们发现图中左下角有些是真,所哟我们通过二维周期函数来调整网格识别。

修正网格失真背后主要的思想是利用图形峰值点找到非线性几何失真,换句话说,我们必须找到这个函数的最大值的和。另外,我们还需要一个最佳失真值才行。

我们使用ScipyPython模块中的RectBivariateSpline函数来参数化几何失真。并用Scipy函数进行优化。得到如下结果:

总而言之,这个方法缓慢且不稳定,所以坚决不打算使用这个方案。

光学字符识别

我们通过组连接识别发现文本,并识别完整的单词。

识别通过连接组发现的文本

对于文本识别,我们使用卷积神经网络(CNN)接收相关字体进行培训。输出部分,我们通过对比来提升概率。我们那个几个最初的几个选项多对比,发现有99%的准确识别率后。又通过对比字典来提高准确度,并消除相关类似的字符,如"З" 和 "Э"造成的错误。

然而,当涉及嘈杂的文本时,该方法性能却十分低下。

识别完整的单词

当文本太嘈杂的时候,需要找到完整的单词才能进行单个字母的识别。我们使用下面两个方法来解决这个问题:

LSTM网络

图像非均匀分割技术

LSTM网络

您可以阅读这些文章,以更加深入了解使用卷积神经网络识别序列中的文本 ,或我们可以使用神经网络建立与语言无关的OCR吗?为此,我们使用了OCRopus库来进行识别。

我们使用了等宽的字体来作为人工识别样本进行训练。

训练结束后,我们由利用其他数据来测试我们的神经网络,当然,测试结果非常积极。这是我们得到的数据:

训练好的神经网络在简单的例子上表现十分优秀。同样,我们也识别到了网格不适合的复杂情况。

我们抽取的相关的训练样本,并让他通过神经网络进行训练。

为了避免神经网络过度拟合,我们多次停止并修正训练结果,并不断加入新数据作为训练样本。最后我们得到以下结果:

新的网络擅长识别复杂的词汇,但是简单的文字识别却并不好。

我们觉得这个卷积神经网络可以细化识别单个字符来使文本识别更加优秀。

图像非均匀分割技术

因为收据字体是等宽的字体,所以我们决定按照字符分割字体。首先,我们需要知道每个字母的宽度。因此,字符的宽度尤为重要,我们需要估计每个字母的长度,利用函数,我们得到下图。选择多种模式来选取特定的字母宽度。

我们得到一个单词的近似宽度,通过除以字符中的字母数,给出一个近似分类:

区分最佳的是:

这种分割方案的准确度是非常高的:

当然,也有识别不太好的情况:

分割后我们在使用CNN做识别处理。

从收据中提取含义

我们使用正则表达式来查找收据中购买情况。所有收据都有一个共通点:购买价格以XX.XX格式来撰写。因此,可以通过提取购买的行来提取相关信息。个人纳税号码是十位数,也可以通过正则表达式轻松获取。同样,也可以通过正则表达式找到NAME / SURNAME等信息。

总结

不论你选择什么方法,LSTM或者其他更加复杂的方案,都没有错误,有些方法很难用,但是有些方法却很简单,因识别样本而异。

我们将继续优化这个项目。目前来看,在没有噪声的情况下,系统性能更加优秀。

原文链接:https://dzone.com/articles/using-ocr-for-receipt-recognition

责任编辑:xj

原文标题:深入浅出了解OCR识别票据原理

文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OCR
    OCR
    +关注

    关注

    0

    文章

    170

    浏览量

    17051
  • 识别
    +关注

    关注

    3

    文章

    175

    浏览量

    32510

原文标题:深入浅出了解OCR识别票据原理

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ElfBoard技术贴|如何在【RK3588】ELF 2开发板上完成PPOC本地化部署

    PPOCR是由百度开发的一款开源深度学习OCR(光学字符识别)模型,专注于文本检测、识别与理解任务,具备多场景、多语言的字符识别能力。该模型基于大规模多样化的文本图像数据训练而成,能够
    的头像 发表于 11-14 10:54 6765次阅读
    ElfBoard<b class='flag-5'>技术</b>贴|如何在【RK3588】ELF 2开发板上完成PPOC本地化部署

    药品包装压印字符识别检测难度大?PMS光度立体融合技术来破局!

    PMS光度立体图像融合检测系统破解了药品压印字符识别难题。该系统通过光源标定、多角度图像采集、缺陷增强和AI字符识别四个核心步骤,有效解决了药品包装上凹凸字符因高光过曝、暗区细节丢失和低对比度导致的
    的头像 发表于 09-06 10:51 668次阅读

    瑞芯微RK3576语音识别算法

    1.语音识别简介语音识别技术,也被称为自动语音识别(AutomaticSpeechRecognition,ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二
    的头像 发表于 08-15 15:13 1856次阅读
    瑞芯微RK3576语音<b class='flag-5'>识别</b>算法

    如何利用OCR技术实现高效集装箱箱号识别

    在现代物流和海关监管领域,快速准确地识别集装箱箱号是提升通关效率、降低运营成本的关键。OCR(光学字符识别技术的应用,为这一需求提供了智能化解决方案。通过结合高清成像设备和先进的算法
    的头像 发表于 08-12 10:48 551次阅读
    如何利用OCR<b class='flag-5'>技术</b>实现高效集装箱箱号<b class='flag-5'>识别</b>?

    【嘉楠堪智K230开发板试用体验】01 Studio K230开发板Test2——手掌,手势检测,字符检测

    效果这里采取官方例子,我的实验视频统一放在了最后(其实是不知道能不能中间放视频) 下面是字符识别的部分 可以通过k230识别图片中的字符识别,实验效果如下 总之这几部分的效果都是很不错的,推荐!!! 最后感谢01studio
    发表于 07-10 09:45

    即插即用、缺陷同检,维视智造推出读码/字符检测视觉系统新品

    在当前的工业生产领域,产品读码和字符识别是实现生产自动化、提升效率,保障质量、满足严格的可追溯性要求的必要生产动作。但因产品特性、生产环境、生产流程、生产要求的千差万别,传统的产品读码和字符识别常常
    的头像 发表于 06-19 08:51 694次阅读
    即插即用、缺陷同检,维视智造推出读码/<b class='flag-5'>字符</b>检测视觉系统新品

    OCR技术如何实现铁路集装箱号的自动识别

    在铁路物流运输中,集装箱号的快速准确识别是提升效率的关键环节。通过先进的OCR(光学字符识别技术,结合计算机视觉与深度学习方法,可以实现铁路集装箱号的高效、可靠
    的头像 发表于 06-13 10:32 403次阅读

    基于算力魔方与PP-OCRv5的OpenVINO智能文档识别方案

    作者:算力魔方创始人/英特尔创新大使刘力 一,引言 随着人工智能技术的快速发展,光学字符识别(OCR)技术已从传统的模式识别方法演进到基于深
    的头像 发表于 06-12 21:19 1405次阅读
    基于算力魔方与PP-OCRv5的OpenVINO智能文档<b class='flag-5'>识别</b>方案

    大模型预标注和自动化标注在OCR标注场景的应用

    OCR,即光学字符识别,简单来说就是利用光学设备去捕获图像并识别文字,最终将图片中的文字转换为可编辑和可搜索的文本。在数字化时代,OCR(光学
    的头像 发表于 04-15 15:18 716次阅读

    手持终端集装箱识别系统的图像识别技术

    在港口、码头、物流园区等场景中,集装箱的高效管理一直是行业智能化升级的核心需求。基于先进的OCR(光学字符识别)与AI技术,手持终端集装箱识别系统实现了从大型设备到移动终端的全场景箱号
    的头像 发表于 04-03 10:49 550次阅读

    阿普奇视觉控制器AK7在OCR识别场景中的应用

    在实际工业生产中,OCR(光学字符识别技术的应用逐渐普及,在食品包装、新能源、汽车制造、3C电子等领域帮助企业完成产品编码、生产日期、批号等字符信息自动
    的头像 发表于 03-20 11:44 501次阅读
    阿普奇视觉控制器AK7在OCR<b class='flag-5'>识别</b>场景中的应用

    人脸识别技术的优势与劣势

    人脸识别技术的优势 1. 高度准确性 人脸识别技术在理想条件下可以达到非常高的准确性。随着深度学习技术的发展,现代人脸
    的头像 发表于 02-06 18:23 3048次阅读

    人脸识别技术的算法原理解析

    在数字化时代,人脸识别技术已经成为身份验证和安全监控的重要手段。这项技术的核心在于算法,它们能够从图像中提取关键信息,并与数据库中的信息进行匹配,以识别个体。 1. 人脸
    的头像 发表于 02-06 17:50 2945次阅读

    人脸识别技术的应用场景

    在数字化时代,安全和便捷性成为了人们日益关注的话题。人脸识别技术以其独特的优势,即无需物理接触、快速识别和高准确率,成为了解决这些问题的关键技术
    的头像 发表于 02-06 17:20 3686次阅读

    Litera Drafting:帮助改进发布文档的方式(十)

    产品介绍 contentCrawler是一种光学字符识别(OCR)和文档压缩解决方案,可识别资源库中不可搜索的文档,并将其转换为大小可控、可进行文本搜索的PDF文件。 contentCrawler可
    的头像 发表于 01-06 10:57 602次阅读