构建模型以识别车牌(ALPR)的最佳方法

时间:2017-06-16 07:10:30

标签: opencv tensorflow conv-neural-network anpr

我正在尝试使用像CNN这样的深度学习技术来制作深度学习模型来检测和阅读车牌。我会在tensorflow中制作一个模型。但我仍然不知道建立这种模型的最佳方法是什么。

我检查过这样的几款机型 https://matthewearl.github.io/2016/05/06/cnn-anpr/

我还检查了一些研究论文,但都没有显示确切的方法。

所以我计划遵循的步骤是

  1. 使用opencv进行图像预处理(灰度,变换等我对此部分了解不多)

  2. 车牌检测(可能通过滑动窗口方法)

  3. 通过构建合成数据集来训练使用CNN,如上面的链接。
  4. 我的问题

    有没有更好的方法呢?

    在CNN之后是否可以将RNN合并为可变长度数?

    我是否更愿意检测和识别单个字符而不是整个板块?

    还有许多旧方法更喜欢图像预处理和直接传递给OCR。哪种方法最好?

    PS-我想制作一个商业实时系统。所以我需要良好的准确性。

1 个答案:

答案 0 :(得分:0)

首先,我不认为组合RNN和CNN可以实现实时系统。如果我想要实时系统,我个人更喜欢检测个别角色,因为牌照上不会超过10个字符。当检测具有可变长度的板时,检测单个字符可能更可行。

在我学习深度学习之前,我也尝试使用OCR来检测板块。在我的情况下,OCR很快但准确性有限,特别是当板不够清晰时。即使是图像处理也无法挽救一些不清楚的案例.......

如果我是你,我会尝试如下:

  1. 对整个图像进行简单的图像预处理
  2. 车牌检测(可能通过滑动窗口方法)
  3. 提取的板部分上的图像处理(滤波器和几何变换)使其更清晰。单独的字符。
  4. 将CNN部署到每个角色。 (也许我会尝试一些简短的CNN因为实时,比如在MNIST手写数字数据中使用的LeNet)(可能需要多线程)
  5. 希望我的回复可以提供帮助。