基于pytorch的无需分割字符的车牌识别
Posted 阳光玻璃杯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于pytorch的无需分割字符的车牌识别相关的知识,希望对你有一定的参考价值。
传统车牌识别
传统的车牌识别需要先检测出车牌,检测出车牌后通过“像素映射”或者“联通区查找”的方法分割出单个的文字,然后单独识别每个文字。传统的车牌识别不仅繁琐,而且切割文字的效果也很难令人满意。因此,能不能绕开字符分割的问题,直接识别车牌中的字符呢?当然可以的。有两种方法:
- crnn+ctc
- 卷积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期