基于pytorch的无需分割字符的车牌识别

Posted 阳光玻璃杯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于pytorch的无需分割字符的车牌识别相关的知识,希望对你有一定的参考价值。

传统车牌识别

传统的车牌识别需要先检测出车牌,检测出车牌后通过“像素映射”或者“联通区查找”的方法分割出单个的文字,然后单独识别每个文字。传统的车牌识别不仅繁琐,而且切割文字的效果也很难令人满意。因此,能不能绕开字符分割的问题,直接识别车牌中的字符呢?当然可以的。有两种方法:

  1. crnn+ctc
  2. 卷积only

两种方法都做了实现,源码已上传至github: 

车牌识别, 如果对你有帮助,给个star鼓励下,谢谢!

以下是该项目的简单介绍。

数据集

这个项目中,使用了自动生成训练和识别的车牌,因此,你需要寻找车牌数据集,不需要做任何数据处理,就能轻松愉快的完成车牌识别的训练与预测。

随机生成的车牌示例:

一般的车牌检测模型应该都能检测到这个水准,因此这个这牌是比较接近真实情况下的车牌的。

卷机模型示意图

使用

第一步:生成训练和测试数据集  
    cd generateCarPlate
    python3 genCarPlate.py
第二步:训练
    cd pytorch_model
    python3 train.py 30 0.0001
30是在训练集训练的次数,)0.0001是学习速率  
第三步:测试
    python3 test.py
将会输出准确率,我训练的car_plate_javer.pt模型能达到98.2的准确率(由于训练和测试数据集都是随机生成的,因此可能不同人测试有差异)。
这个准确率不算高,由于我的笔记本算力有限,没能进一步训练更大、更好的模型,不过我想,这个项目已足以证明不分割直接识别车牌的可行性

crnn+ctc模型示意图

第一步:训练

 

    cd pytorch_model
    python3 train.py 30 0.0001 10

30是在训练集训练的次数,0.0001是学习速率,10是batch的大小

第二步:测试

    python3 test.py

 

以上是关于基于pytorch的无需分割字符的车牌识别的主要内容,如果未能解决你的问题,请参考以下文章

车牌识别基于matlab GUI模板匹配新能源轿车货车车牌识别含Matlab源码 2169期

基于形态学处理的车牌提取,字符分割和车牌识别算法matlab仿真

OpenCV+Python识别车牌和字符分割

基于SVM支持向量机的车牌分割识别算法matlab仿真

车牌识别原理简介

车牌识别系统原理与代码「YOLO+MLP」