数据集获取
1. 车牌数据集下载地址:https://pan.baidu.com/s/1mhJPo3u
2. 对下载的数据集进行解压,结构如下,包括测试样本和训练样本:
3. 测试集内图片如下:
4. 训练集主要有训练集、验证集组成,结构如下:
5. 训练集包括:数字0-9、字母A-Z、还有中文字符京、闽、粤、苏、沪、浙,如下:
6. 验证集也包括:数字0-9、字母A-Z、还有中文字符京、闽、粤、苏、沪、浙,如下:
实现
省份训练+识别
字母训练+识别
数字训练+识别
处理流程
1. 数据集内的图像都是经过二值化处理后的黑白图(黑底白字),大小为32*40;
2. 首先,读取训练集内的中文字符/数字/字母图,获取图片总数及对应的标签文件;
3. 然后,定义CNN网络进行训练,对训练结果进行优化;
4. 最后,保存训练模型;模型保存在train-saver文件夹;
5. 文件夹内包括训练的数字、字母、省份3个训练文件,如下:
6. 3个文件夹内都包括训练生成的模型文件,如下:
7. 预测:读取训练的模型数据,输入测试图进行测试;
运行结果
省份运行结果
1. 在Anaconda Prompt内通过cd命令,进入到程序目录下;
2. 然后输入:
python train-license-province.py train
进行省份的训练,如下:
3. 训练后进行预测,输入命令:
python train-license-province.py predict
字母运行结果
1. 输入命令
python train-license-letters.py train
2. 训练后进行预测,输入命令:
python train-license-letters.py predict
数字运行结果
1. 输入命令:
python train-license-digits.py train
进行训练,如下:
2. 训练后进行预测,命令如下:
python train-license-digits.py predict
改进点
1. 正常采集的车牌图片应该是彩色、有噪声、带旋转等多种复杂情况混合的,固需要对图像多做写预处理;
2. 目前,数目、数字、中文训练集、验证集、测试集图片数量较少(在100-200之间),应考虑扩充数据集,提高识别准确率;
3. 如果电脑配置高的,可以将程序进行优化,考虑将中文、字母、数字作为一体进行训练;
4. 如果条件有限,数据集无法采集到,可以考虑人工的方法生成车牌图像;