印刷文档的体系结构神经网络OCR

时间:2016-11-13 21:02:31

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

我正在通过使用tensorflow为打印文档构建OCR来学习神经网络。

你介意给我建议架构神经网络有利于识别角色吗? 我很困惑,因为我是一个新手,并且有很多神经网络设计

我找到MNIST CLASSIFIER,但他们的架构只是数字。 我不知道他们的架构是否可以与角色一起使用?

谢谢

1 个答案:

答案 0 :(得分:2)

正如您正确指出的那样,识别文档与识别单个字符不同。这是一个复杂的系统,需要时间从头开始实施。首先,存在预处理的问题。你需要找到文本的位置,或者稍微旋转它等等。这可以通过启发式和像OpenCV这样的库来完成。您还必须检测页码,页眉/页脚,表格/数字等内容。

然后,在某些情况下,你可以采取简单的"路由并使用启发式将文本分段为字符。这适用于块字符,但不适用于草书脚本。

如果给出了细分,并且您不必猜测它,则必须解决多个相关问题,每个问题都与MNIST相似,但它们之间的相关性在于决策不是独立的。您可以查找MEMM(最大熵马尔可夫模型)与HMM(Hidden Markov ModelsHidden Conditional Random FieldsSegmental Conditional Random Fields,并研究它们之间的差异。您还可以阅读seq2seq

因此,如果你让自己变得简单,那么一旦显示分段(通过opencv中的一些启发式),你基本上可以多次运行MNIST分类器。最重要的是,你必须运行一个dynamic program,根据每个决定的得分找到最佳的最终序列,以及一个"语言模型",它指定每个字母发生的可能性。其他

如果您从头开始,这不是一件容易的事。您可能需要几个月的时间才能获得基本的理解。快乐的黑客!