1

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

问题:我是否应该继续使用其中一种模型并在我的数据集上训练它们,还是有更好的模型可以提供帮助?对于这样的模型,keras 会是一个更好的选择,因为它比 Tensorflow 更高级吗?

问:我更喜欢使用 LeNet 模型本身,因为我的笔记本电脑规格不足,训练其他模型肯定需要很长时间。那么有没有使用机器打印的字符图像来训练模型的模型实现,然后我可以用它来训练模型的最后一层在我的数据上?

4

1 回答 1

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 - 基于图像的序列识别的端到端可训练神经网络及其在场景文本识别中的应用

于 2018-06-11T11:10:22.690 回答