ULPR(Universal License Plate Recognition)的设想是一个通用场景下的车牌识别系统。因为是从EasyPR出发,所以还是保留EasyPR-python的原库名。
- 用python写了一下EasyPR,但其中应该还是有bug,速度慢是detect部分很慢,有python本身的锅,也有我没有优化的锅
- 用deep的方法做检测和识别
python 3
tensorflow 1.5.0
keras
只在windows下进行了测试
感谢EasyPR
demo测试时使用了EasyPR的数据库
训练easypr方法时,请下载easypr_train_data.zip放到data目录下
测试时请下载data.zip放到data目录下
easypr的训练数据和各个模型的训练模型请从百度云上下载
将模型文件:
- whether_car_20180210T1049.zip
- chars_20180210T1038.zip
- mrcnn_20180212T2143.zip
解压放在output下。
最后data文件夹下目录结构是
├─demo
├─easypr_train_data
│ ├─chars
│ └─whether_car
├─general_test
├─GDSL.txt
└─使用说明.txt
output文件夹下目录结构是
├─chars_20180210T1038
├─mrcnn_20180212T2143
└─whether_car_20180210T1049
[] 写博客
[] multi-label的车牌识别
[] 更好的根据mask获得车牌精确4个点的算法
[] 轻量化
[x] 重构代码
[x] mask-rcnn
可以参考scripts下的训练脚本
切换不同方法时使用不同cfg即可,如将easypr.yml替换为maskrcnn.yml
demo
# 用easypr的方法
python demo.py --cfg cfgs/easypr.yml --path data/demo/test.jpg
功能测试
python func_test.py --cfg cfgs/easypr.yml
批量测试(data目录下需要有general_test目录)
python accuracy_test.py --cfg cfgs/easypr.yml
- 训练mrcnn因为使用自己的数据,请注意一下数据格式