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