OCR 的张量流模型
Tensorflow model for OCR
我是 Tensorflow 的新手,我正在尝试构建能够对我的图像执行 OCR 的模型。我必须阅读 9 个字符(固定在所有图像中)、数字和字母。我的模型将类似于此
https://matthewearl.github.io/2016/05/06/cnn-anpr/
我的问题是,我是否应该先针对每个字符训练我的模型,然后组合字符以获得完整的标签表示。或者我应该直接训练全标签?
我知道我需要传递给模型,图像+相应图像的标签,这些标签的格式是什么,是文本文件吗,我对那部分有点困惑,所以任何关于标签格式的解释哪些传递给模型会有帮助?非常感谢,谢谢。
有几种方法可以解决这个问题(以下列表并不详尽)。
1) 第一个是直接从您的图像中进行单词分类。如果你的 9 个字符的词汇量有限,你可以训练一个特定于单词的分类器。然后,您可以将此分类器与您的图像和 select 概率最高的词进行卷积。
2) 第二个选项是训练字符分类器,找到图像中的所有字符,并找到最有可能包含您要查找的第 9 个字符的行。
3) 第三个选项是训练一个文本检测器,找到所有可能的文本框。然后使用基于序列的模型阅读所有文本框,select 最有可能遵循您的约束的解决方案。以下论文介绍了一个简单的基于序列的模型:http://ai.stanford.edu/~ang/papers/ICPR12-TextRecognitionConvNeuralNets.pdf。其他基于序列的模型可以基于 HMM、Connectionist Temporal Classification、基于注意力的模型等。
4) 第四个选项是端到端工作的基于注意力的模型,首先找到文本,然后一个一个地输出字符。
请注意,此列表并不详尽,可以有多种不同的方法来解决此问题。其他选项甚至可以使用 Abbyy 或 Tesseract 等第三方解决方案来帮助解决您的问题。
我建议用注意力训练端到端的 OCR 模型。您可以试试我们用来转录街道名称的 Attention OCR https://github.com/tensorflow/models/tree/master/research/attention_ocr
我猜它对你的情况应该很有效。有关如何为其准备数据的说明,请参阅答案 。
我是 Tensorflow 的新手,我正在尝试构建能够对我的图像执行 OCR 的模型。我必须阅读 9 个字符(固定在所有图像中)、数字和字母。我的模型将类似于此
https://matthewearl.github.io/2016/05/06/cnn-anpr/
我的问题是,我是否应该先针对每个字符训练我的模型,然后组合字符以获得完整的标签表示。或者我应该直接训练全标签?
我知道我需要传递给模型,图像+相应图像的标签,这些标签的格式是什么,是文本文件吗,我对那部分有点困惑,所以任何关于标签格式的解释哪些传递给模型会有帮助?非常感谢,谢谢。
有几种方法可以解决这个问题(以下列表并不详尽)。
1) 第一个是直接从您的图像中进行单词分类。如果你的 9 个字符的词汇量有限,你可以训练一个特定于单词的分类器。然后,您可以将此分类器与您的图像和 select 概率最高的词进行卷积。
2) 第二个选项是训练字符分类器,找到图像中的所有字符,并找到最有可能包含您要查找的第 9 个字符的行。
3) 第三个选项是训练一个文本检测器,找到所有可能的文本框。然后使用基于序列的模型阅读所有文本框,select 最有可能遵循您的约束的解决方案。以下论文介绍了一个简单的基于序列的模型:http://ai.stanford.edu/~ang/papers/ICPR12-TextRecognitionConvNeuralNets.pdf。其他基于序列的模型可以基于 HMM、Connectionist Temporal Classification、基于注意力的模型等。
4) 第四个选项是端到端工作的基于注意力的模型,首先找到文本,然后一个一个地输出字符。
请注意,此列表并不详尽,可以有多种不同的方法来解决此问题。其他选项甚至可以使用 Abbyy 或 Tesseract 等第三方解决方案来帮助解决您的问题。
我建议用注意力训练端到端的 OCR 模型。您可以试试我们用来转录街道名称的 Attention OCR https://github.com/tensorflow/models/tree/master/research/attention_ocr
我猜它对你的情况应该很有效。有关如何为其准备数据的说明,请参阅答案