用于打印文档的架构神经网络 OCR

Architecture neural network OCR for Printed Documents

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

您介意给我一些建议,哪种架构神经网络适合识别字符。 我很困惑,因为我是新手,而且有很多神经网络设计

我找到了MNIST CLASSIFIER,但他们的架构只是关于数字的。 我不知道他们的架构是否可以使用字符?

谢谢

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

然后,在某些情况下,您可以采取 "easy" 路线并使用启发式方法将文本分割成字符。这适用于方块字符,但不适用于草书。

如果给出了分割,而且你不必猜测,你必须解决多个相关问题,每个问题都像 MNIST,但它们之间的关联在于决策不是独立的。你可以查一下MEMM (Maximum-Entropy Markov Models) vs HMM (Hidden Markov Models, Hidden Conditional Random Fields, and Segmental Conditional Random Fields, and study the difference between them. You can also read about seq2seq.

因此,如果您想让自己变得简单,那么一旦显示分段(通过 opencv 中的一些启发式算法),您基本上可以多次 运行 MNIST 分类器。最重要的是,你必须运行一个dynamic program,它根据每个决定的分数找到最好的最终序列,还有一个"language model",它分配接近每个字母出现的可能性其他.

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