OCR的张量流模型

时间:2017-04-25 12:21:58

标签: python tensorflow deep-learning mnist

我是Tensorflow的新手,我正在尝试构建能够对我的图像执行OCR的模型。我必须阅读9个字符(固定在所有图像中),数字和字母。我的模型与此类似

https://matthewearl.github.io/2016/05/06/cnn-anpr/

我的问题是,我是否应该首先针对每个角色训练我的模型,然后在组合角色后获得完整的标签。或者我应该直接在全标签上训练?

我知道我需要传递给相应图像的模型,图像+标签,这些标签的格式是什么,是文本文件,我对该部分有点困惑,所以对标签格式的任何解释都是传递给模特会有帮助吗?谢谢,谢谢。

2 个答案:

答案 0 :(得分:9)

我建议注意培训端到端的OCR模型。您可以尝试我们用来转录街道名称https://github.com/tensorflow/models/tree/master/research/attention_ocr

的注意力OCR

我的猜测它应该适用于您的情况。有关如何为其准备数据的说明,请参阅答案https://stackoverflow.com/a/44461910

答案 1 :(得分:5)

有几种方法可以解决这个问题(以下列表并非详尽无遗)。

1)第一个是直接从你的图像分类。如果您的9个字符的词汇量有限,则可以训练单词特定的分类器。然后,您可以将此分类器与图像进行卷积,并选择概率最高的单词。

2)第二个选项是训练角色分类器,查找图像中的所有角色,找到最有可能找到9个角色的行。

3)第三个选项是训练文本检测器,找到所有可能的文本框。然后使用基于序列的模型读取所有文本框,并选择遵循约束的最可能的解决方案。基于序列的简单模型在下面的论文中引入:http://ai.stanford.edu/~ang/papers/ICPR12-TextRecognitionConvNeuralNets.pdf。其他基于序列的模型可以基于HMM,连接主义时间分类,基于注意力的模型等。

4)第四个选项是基于注意力的模型,它们端到端地工作,首先找到文本,然后逐个输出字符。

请注意,此列表并非详尽无遗,可以通过多种不同方式解决此问题。其他选项甚至可以使用Abbyy或Tesseract等第三方解决方案来帮助您解决问题。

相关问题