0

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

我检查了几个像这样的模型 https://matthewearl.github.io/2016/05/06/cnn-anpr/

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

所以我打算遵循的步骤是

  1. 使用opencv进行图像预处理(灰度、转换等我对这部分不太了解)

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

  3. 通过构建合成数据集来使用 CNN 进行训练,如上述链接中所示。

我的问题

有没有更好的方法来做到这一点?

RNN也可以在CNN之后组合变长数吗?

我应该更喜欢检测和识别单个字符而不是整个盘子吗?

也有很多老方法更喜欢图像预处理和直接传递给 OCR。什么是最好的?

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

4

1 回答 1

0

首先,我不认为将 RNN 和 CNN 结合起来可以实现实时系统。如果我想要实时系统,我个人更喜欢检测单个字符,因为车牌上的字符不会超过 10 个。在检测可变长度的车牌时,检测单个字符可能更可行。

在学习深度学习之前,我也尝试过使用 OCR 来检测车牌。就我而言,OCR 速度很快,但准确度有限,尤其是在印版不够清晰的情况下。即使是图像处理也无法挽救一些不清楚的情况......

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

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

希望我的回答能有所帮助。

于 2017-06-16T16:06:58.620 回答