【问题标题】:How to create a specialized machine vision OCR solution?如何创建专门的机器视觉 OCR 解决方案?
【发布时间】:2017-02-02 16:07:31
【问题描述】:

我们需要从 iPad 相机拍摄的销售收据照片中读取一些文本。这是一个类似于我们需要阅读的示例:

这个问题有几个限制:

  1. 我们需要读取总是出现在文本标记之后的总金额(例如本例中的Grand Total)。
  2. 字体始终相同。
  3. 应用必须在没有网络连接的情况下脱机工作。

这是我们迄今为止尝试过的:

  • Google Mobile Vision 文本提取就像魔术一样工作。但文本提取仅在 Android 中可用。我们需要在 iOS 中构建解决方案。
  • Google 和 Microsoft 拥有基于云的机器视觉解决方案,这些解决方案也非常准确。但我们的应用需要离线运行。
  • 使用 tesseract OCR。它的表现非常糟糕。毫无疑问,因为我们有一张照片,而不是扫描的黑白图像。

我们现在正在考虑使用卷积神经网络创建自定义解决方案。我的问题是我们如何构建一个模型来利用这两个约束来创建一个更简单但非常准确的解决方案?

  1. 总金额总是出现在文本标记之后。我们可以放心地忽略文本的其余部分。
  2. 文本始终为英文且使用相同的字体。

这是我们迄今为止提出的一般管道。

  1. 拉直图像并将其缩放到标准尺寸。
  2. 使用 conv net 来定位文本标记(Grad Total)应该相当容易。我们可以完全跳过图像的上半部分。

目前我们不确定还能做什么。任何提示、建议和帮助都会很棒。

附言。我意识到这是一个关于设计方法的问题,而不是一个特定的编程问题。如果这违反了 SO 准则,我深表歉意。

【问题讨论】:

  • 为什么不能选择授权 OCR 工具? Tesseract 并不是唯一的 OCR。有些商业工具效果更好。甚至还有用于收据的特殊 OCR,例如:abbyy.com/en-au/receipt-capture-ocr 免责声明:我为 ABBYY 工作

标签: tensorflow neural-network conv-neural-network


【解决方案1】:

我建议您考虑 deeplearning4j.org 解决方案。您可以在功能强大的机器上训练他们的网络,然后保存网络状态并在 android 上使用它。 Here 他们解释了如何在 java 的帮助下在 android 应用程序上使用他们的网络。

【讨论】:

    猜你喜欢
    • 2011-01-10
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2017-12-30
    • 2022-10-13
    相关资源
    最近更新 更多