如何建立一个读取收据和发票的模型?

数据挖掘 图像识别 信息检索 ocr
2021-09-23 13:00:27

目标是建立一个能够识别看起来完全不同的收据和发票信息的模型。

我已经和我的兄弟讨论了正确的方法。我附上了一个例子,这里的原始和下面是框中的重要信息:

原始收据示例

重要信息

绿色框是必备信息。紫色和绿色表示我们需要或。橙色信息将是一个不错的选择,但不一定是必需的。一些盒子有上下文和相互联系。

从数据集的角度来看,我们有 1,000 张收据的样本量,所有收据都提取了必要的信息。如果需要,我们可以进一步增加样本量。

我会选择的方法:
将每个收据图像视为游戏,让模型自己弄清楚如何得出正确的结论。这很可能是计算密集型的,但我觉得在处理新的图像类型时它会更加健壮。

我哥哥建议的方法:
基本上使用我提供的盒子,让我从中学习。然后,该模型将学习识别收据或发票上的重要区域,并从那里开始。他将该模型与识别车牌的模型进行了比较。

编辑:只是重申为什么我认为 OCR 只是解决方案的一部分,而不是解决方案本身。这是 Adob​​e Acrobat OCR 结果:OCR 结果

如果你问我,那就完美了。它只是不能帮助我弄清楚要使用哪些值以及要忽略哪些值。我不想手动执行此操作。我希望模型为我返回:

  • 总金额
  • 销售税和金额
  • 债权人(即公司,理想情况下是税号CHE-xxxxx MWST
  • 日期和理想时间
  • 付款方式

这现在更有意义了吗?我只是不明白 OCR 是如何让我到达那里的。它只是提取值的方法。

1个回答

您应该从尝试 OCR 开始。我不确定你为什么不尝试就拒绝它。从 Tesseract(免费但不是很好)开始,然后尝试商业 OCR(Abbyy 很受欢迎,但您也可以尝试 Adob​​e Acrobat)。此外,研究文档结构提取。

您将重新发明一种比现有 OCR 解决方案更好地执行 OCR 的机器学习模型的想法似乎……不太现实。当前的 OCR 工具已经投入了数年或数十年的工程设计。您将无法为自己的自定义工具付出如此多的努力。

这些示例图像的图像质量并不好,您可能不得不接受准确度低于 100%。