我们需要从 iPad 相机拍摄的销售收据照片中读取一些文本。这是一个类似于我们需要阅读的示例:
这个问题有一些限制条件:
- 我们需要读取总是出现在文本标记之后的总金额(例如本例中的Grand Total)。
- 字体始终相同。
- 应用程序必须在没有网络连接的情况下离线工作。
这是我们迄今为止尝试过的:
- Google Mobile Vision 文本提取就像变魔术一样。但文本提取仅适用于 Android。我们需要在 iOS 中构建解决方案。
- Google 和 Microsoft 拥有基于云的机器视觉解决方案,这些解决方案也能非常准确地工作。但是我们的应用需要离线工作。
- 使用 tesseract OCR。它表现得很差。毫无疑问,因为我们有照片而不是扫描的黑白图像。
我们现在正在考虑使用卷积神经网络创建自定义解决方案。我的问题是,我们如何构建一个模型来利用这两个约束来创建一个更简单但非常准确的解决方案?
- 总金额始终出现在文本标记之后。我们可以安全地忽略文本的其余部分。
- 文本始终为英文且字体相同。
这是我们到目前为止提出的通用管道。
- 拉直图像并将其缩放为标准尺寸。
- 使用 conv net 定位文本标记 (Grad Total) 应该相当容易。我们可以完全跳过图像的上半部分。
目前我们不确定还能做什么。任何提示、建议和帮助都会很棒。
附言。我意识到这是一个关于设计方法的问题,而不是一个特定的编程问题。如果这违反了 SO 准则,我深表歉意。
最佳答案
我建议您考虑 deeplearning4j.org 解决方案。您可以在功能强大的机器上训练他们的网络,然后保存网络状态并在 android 上使用它。 Here他们解释了如何在 java 的帮助下在 android 应用程序上使用他们的网络。
关于tensorflow - 如何打造专业的机器视觉OCR解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42006965/