用于车牌识别的预训练LeNet模型

时间:2018-06-11 08:57:50

标签: tensorflow keras ocr convolutional-neural-network transfer-learning

我已经通过 tensorflow和python 车牌识别系统实施了一种LeNet模型。我的模型仅根据我的列车数据进行训练,并在测试数据上进行测试。 我的数据集包含分段图像,其中每张图片中只有一个字符。这就是我data的样子。我创建的模型表现不佳,所以我现在正在寻找可以通过Transfer Learning使用的模型。由于大多数模型已经在一个庞大的数据集上进行过培训,因此我查看了一些像AlexNet,ResNet,GoogLeNet和Inception v2。大多数这些模型都没有接受我想要的数据类型的训练,字母和数字。

问题:我是否仍然可以使用这些模型之一并在我的数据集上训练它们,还是有更好的模型可以提供帮助?对于这样的模型,keras是一个更好的选择,因为它比Tensorflow更高级别?

问题我更倾向于使用LeNet模型本身,因为由于笔记本电脑的规格不足,其他型号的培训肯定需要很长时间。那么该模型的任何实现都使用机器打印的字符图像来训练模型,然后我可以使用该模型在我的数据上训练模型的最后一层?

1 个答案:

答案 0 :(得分:0)

要获得良好的效果,您应该使用明确设计用于文本识别的模型。 首先,(粗略地)将输入图像裁剪到文本周围的区域。 然后,将文本图像输入神经网络(NN)以检测文本。 用于文本识别的典型NN提取相关特征(具有卷积NN),通过图像传播这些特征(具有循环NN)并最终预测图像中每个位置的字符分数。 通常,这些网络都会受到CTC损失的培训。

作为一个起点,我建议查看CRNN实现(它们还提供预先训练的模型)[1]和相应的论文[2]。据我所知,还有一个关于github的TensorFlow实现。 您可以使用任何框架(例如TensorFlow或CNTK或......),只要它具有卷积和重复NN以及CTC丢失。 我曾经参加过有关CNTK的演讲,他们声称他们可以非常快速地实施经常性NN - 所以CNTK可能是你慢速电脑的好选择吗?

[1] CRNN实施:https://github.com/bgshih/crnn

[2] Shi - 一种基于图像序列识别的端到端可训练神经网络及其在场景文本识别中的应用