用于检测账单的OCR

问题描述 投票:0回答:3

我打算创建一个移动应用程序,它可以扫描商店生成的账单/发票,并从中提取关键功能,如商店名称,地址,购买的商品,账单价值等。我明白我可以使用OCR从账单中提取文本(扫描的账单或账单的照片)但是,我将如何提取所有这些细节?使用什么方法?

ocr text-classification
3个回答
6
投票

好吧,对于你想要构建的应用程序将有4个阶段

数据提取 - 系统应该能够提取以DOC,PPT和PDF等文件格式存储的文本数据。系统还应该能够从图像中提取数据。

数据识别 - 数据提取的下一步是根据用户定义的模式识别数据。

数据分类 - 在用户定义的类别中进行分类。

数据处理 - 根据此过程中标识的数据类别执行不同的操作。

你是对的 - 需要在OCR上工作,即光学字符识别

OCR是将打字,手写或打印文本图像机械或电子转换为机器编码文本,无论是扫描文档还是文档照片。

市场上也有许多解决方案可供商业产品或图书馆使用。

商业产品:

Google文档(免费)

ABBYY FineReader Pro(付费)

OmniPage标准版(付费)

Readiris Pro(付费)

但是如果你仍然想为它构建自己的产品,你可以使用TESSERACT-OCR - 你可以使用Java / Python构建你的应用程序。 Tesseract是最准确的开源OCR引擎。

它与Leptonica图像处理库结合使用,可以读取各种图像格式,并将其转换为60多种语言的文本。

您还需要使用APACHE TIKA - Apache Tika是一个用于文档类型检测和各种文件格式内容提取的库。

在内部,Tika使用各种现有的文档解析器和文档类型检测技术来检测和提取数据。

使用Tika,可以开发通用类型检测器和内容提取器,以在一定程度上提取结构化文本以及来自不同类型文档的元数据,例如电子表格,文本文档,图像,PDF甚至多媒体输入格式。

Tika提供了一个通用的API来解析不同的文件格式。它为每种文档类型使用83个现有的专用解析器库。

所有这些解析器库都封装在一个名为Parser接口的接口下。

Apache Tika™工具包可从超过一千种不同的文件类型(如PPT,XLS和PDF)中检测和提取元数据和文本。

所有这些文件类型都可以通过单一界面进行解析,使得Tika对搜索引擎索引,内容分析,翻译等非常有用。

最好一起使用TIKA Server和Tesseract OCR。

这一切将包括通过Inception API与Google的Tensorflow图像识别集成,使用OCR改进PDF解析,消息解析和MIME检测

Google Vision API - 如果您使用Google Cloud Platform构建解决方案

Google Vision API支持Web上使用的大多数图像格式,包括GIF,BMP,WebP,Raw,Ico等

测试没有显示基于图像格式的任何性能或质量问题,尽管诸如JPEG之类的有损格式可能在非常低的分辨率(即低于1MP)下显示更差的结果。

Google Cloud Vision仅接受存储在Google云端存储上的文件

Vision的批处理支持限制为每个请求8MB。因此,1000个现代图像的相对较大的数据集可能很容易需要超过200个批量请求。

结论

为了获得最佳结果,Apache TIKA必须与TESSERACT OCR一起使用,TESSERACT OCR是开源解决方案,成本核算为0,即零。

但是,如果OCR是他们的关键功能并且正在寻找可靠的东西,即谷歌视觉API,它再次比其他更具特色,准确和快速。

是的,它将包括成本,它将被视为付费解决方案。


1
投票

我找到的最好的选项,也是免费的,适用于大多数编程语言(C#,Java,Objective-C,Ruby,PHP等)是Cloudmersive OCR

它可以自动识别照片中的文档,收据或帐单,然后非常可靠地自动提取文本。

我现在正在使用它在生产中的业务应用程序,到目前为止工作得很好。


0
投票

这取决于您愿意推出多少自己的解决方案。票据的问题在于每个商店的账单看起来真的不同(通常即使他们使用相同的会计软件,奇怪的是),加上嘈杂的OCR不仅意味着数据中的潜在错误,还意味着标签的文本中你可能用于匹配数据字段。总而言之,通过像OCR +规则匹配这样天真的方法(例如Abbyy FineReader + Apache Tika,正如其他答案中所建议的那样)这样做将是一个非常脆弱的方法。

你现在可以获得更好的解决方案,但是如果没有很多深度学习知识,它们将会变得难以回家,因为它们基于最先进的AI。您最好的选择是使用在线服务,最流行的服务是免费的低数据量。特别值得注意的可能是:

  • TagGun - 专门针对收据,也可以提取行项目,每月免费提取50张收据
  • Elis - 专门针对发票,自动支持各种模板(预先训练的机器学习模型),每月免费提供300张以下发票
  • infrrd.ai - 相对于上述有限的数据分类,免费的基于Web的演示,但您需要购买API

(免责声明:我与Elis的供应商Rossum有联系。可以随意建议编辑添加其他API!)

© www.soinside.com 2019 - 2024. All rights reserved.