前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯毕业设计-基于深度学习的智能车牌识别系统
课题背景和意义
智能车牌识别技术是智能交通工程领域的重要环节,在交通监视与控制方面占有举足轻重的地位。从车 牌识别的一般流程出发,设计基于CenterNet目标检测以及CNN卷积神经网络的智能车牌识别系统。利用CenterNet网络 高效定位车牌位置,通过对检测截取出的车牌进行直方图增强、灰度处理、倾斜矫正、边框去除等图像预处理,有效增强图片对比度,便于提取有用的特征信息。将处理后的车牌信息传入卷积神经网络进行训练,结果显示智能车牌识别系 统有较高的准确率和时效性,对于不同光照、不同环境、不同天气等情况下的车牌识别效果较好。智能车牌识别是现代智能交通系统的重要组成部分, 广泛应用于高速公路、停车场、路口等场景。随着大数 据、人工智能的不断发展,智能车牌识别在数据处理、自 适应学习以及特殊场景训练等方面都有较大程度提升,具 有更强的容错性和鲁棒性。通过车牌号码的自动识别与跟 踪,能有效降低车辆自动化管理的成本,规范车辆不规范 行为,为社会稳定与居民便捷生活提供坚实保障。
实现技术思路
一、车牌识别的一般流程
车牌识别的一般流程包括原始车辆图片的获取、车 牌检测与车牌识别三个步骤,如图所示。其中车牌检测 主要实现车牌在车辆图片中的检测、车牌图片的定位及预 处理等,常用的检测技术包括基于传统的特征检测及基 于深度学习的车牌检测。
针对数据量一般,对雨雪、光照 等环境要求不高的情况,可采用传统特征检测,对车牌色 彩、纹理、边缘等关键特征进行提取。比如采用Mallat算 法和小波变换进行区域边缘特征提取;结合颜色分割及 Sobel算子实现车牌颜色边缘特征提取。针对干扰因素 较多的复杂场景,可采用深度学习算法,比如SSD卷积神 经网络等实现快速检测与定位。
二、智能车牌识别系统的设计思路
为增强车牌检测的容错率以及车牌字符识别的精确 度,本设计将采用CenterNet Resnet目标检测以及循环神 经网络CNN共同实现智能车牌识别功能,其整体设计框架 如图所示。针对采集的车牌图像,采用CenterNet目标检 测,对原始车辆图片进行车牌目标位置的定位、检测与保 存,再对车牌图片进行直方图均衡、灰度处理、倾斜矫正 等预处理操作后,得到较为精确的车牌图像信息。将处理 后的车牌字符传入卷积神经网络进行模型的训练与优化, 最终预测得到较为准确的车牌识别结果。
三、基于深度学习的智能车牌识别系统的实现
基于CenterNet Resnet的车牌检测
2019年,Xingyi Zhou,等人在“Objects as Points” 一文中提出了基于中心点的CenterNet Resnet目标检测 网络,它通过关键点估计来找到物体中心点,并回归到 对象属性上,如大小、3D位置、方向甚至姿势,相较于 Faster-RCNN、Retina Net、YOLOv3等算法,该结构在速 度和精度上都较占优势。
系统采用CenterNet网络结构实现车牌检测,具体流 程描述如下:
步骤1 选择Resnet50作为目标检测网络,即对输入车 辆图片进行50次卷积操作,实现特征提取;
步骤2 通过反卷积模块,对上一步得到的特征图片 进行三次上采样,得到增强后的特征图片;
步骤3 将上一步的特征图片放入三个分支卷积网络, 分别预测检测目标的热力图heatmap、目标的宽度与高度 占比以及目标的中心点坐标,所得参数可用于车牌图片的 截取。
步骤4 采用仿射变换,在原图中实现检测目标的裁剪 和缩放,用边框框出车牌位置,并显示位置比例,测试效 果如图所示。
车牌图像预处理
通过CenterNet截取出的车牌图像数据集中存在车牌 位置倾斜、照明不均匀、车牌不清晰等多种特殊情况,因 此车牌图像的预处理显得尤为重要,甚至直接影响车牌字 符的读取和字符识别的精度。本系统车牌图片预处理的步 骤描述如下:
步骤1 采用直方图均衡化方法,增强车牌图片的对比 度。因每张图片都是彩色的,包括BGR三个通道,不同通 道都可能出现暗部细节不足或丢失的情况,因此可将车牌 图片的直方图分布变成近似均匀分布,从而实现图像增强 功能;
步骤2 采用基于幂次变换的伽马校正实现图片的灰 度处理,将输入图片的灰度值进行指数变换,从而拓展暗 部细节,也便于加快运算速度;
步骤3 检测灰度变换后的车牌图片是否存在倾斜,如 存在,则采用霍夫变换检测车牌的边界形状,不断拟合车 牌的边界线条,然后通过空间角度的调整,实现车牌图片 的矫正;
步骤4 通过统计边框像素出现的频率,对矫正后的 车牌图片进行边缘去除。每一步处理效果如图所示。
基于CNN的车牌识别模型的搭建
车牌识别较为常用的手段是基于车牌字符的分割, 但实际情况中车牌图片容易出现倾斜、污损、不清晰等情 况,导致字符分割不准确或不完整,因此系统采用基于 CNN卷积神经网络实现端到端的车牌字符识别。
在网络搭建前先明确输入与输出变量。由于预处理 后的车牌图片大小不一致,此处将所有图片统一缩放为宽 240px,高80px的图片,灰度处理后统一选择一维通道。假设训练集样本数量为N张,则网络的输入层维度则为 N×80×240×1。输出层要识别的车牌字符有7位,第一位 为省份字符(共34个),后6位为除去“I”和“O”的字母及 0-9数字的组合(共34个),由此可知网络的输出变量字对 应离散的68个字符。
构建CNN卷积神经网络模型如图5所示,包含三个卷 积图、1个扁平层、1个全连接层。
具体参数及函数选择如下:
(1)卷积图:第一个卷积图中,C1的卷积核大小为 32,卷积形状为3×3,C2的卷积形状为2×2,随机丢弃50% 样本;第二个卷积图中,C2的卷积核大小为64,卷积形状 为3×3,C4的卷积形状为2×2,随机丢弃50%样本;第三个 卷积图中,C5的卷积核为128,卷积形状为3×3,C6的卷积 形状为2×2,随机丢弃50%样本。卷积后采用relu非线性 函数增强数据的拟合度。
(2)池化层:基于最大值原则,根据池化形状进行欠 采样,有效降低特征维度,一般选择2×2的池化形状。
(3)全连接层:通过自适应矩估计(Adaptice Moment Estimation:Adma)激活函数实现公式:
(4)输出层:将全连接层得到的神经元分类结果输 入Softmax函数,并映射至(0,1)区间内。模型训练期间以 交叉熵为损失函数,不断监控损失最小值,由此判断字符 匹配的概率。
四、智能车牌识别系统的训练与测试
以公开的中国城市停车数据集(Chinese City Parking Dataset, CCPD)为基础,随机选取了6000张车辆 图片,包含了不同天气、不同光照角度、不同车辆位置以及 倾斜和模糊的车辆样本。实验选取4000张作为训练集进行 模型的训练与优化,2000张作为测试集进行结果验证。
将所有车辆图片经过CenterNet网络进行车牌检测与 截取后,进行对比度增强、灰度处理、倾斜校正以及去边 缘化等预处理操作,并获取处理过后的图像通道信息转 换为tensor变量传入CNN网络。模型编译时选择Adam自适 应优化器,以交叉熵作为监控损失值,在训练过程中保 存损失值最小的模型参数,便于测试样本的验证。实验中 epoch设为200,训练时最小损失值为0.0315,模型的识别 准确率达到94.7%。
该模型针对不同的光照变化、不同角度、不同清晰度 的车牌识别都有较高的辨别度,识别效果如图所示。
五、总结
随着人工智能的不断发展,将深度学习算法应用于车 牌识别领域屡见不鲜,然而部分算法在简单场景下有较 高的识别效果,但对于不同光照、不同环境、不同天气、 不同清晰度等多变的场景识别,还存在一定难度,且不同 神经网络的选择或者网络参数的自适应调整都会进一步 影响车牌识别效率。
选择CenterNet网络进行车牌 定位与检测,选择直方图均衡化、倾斜度矫正等图像预处 理技术增强车牌的对比度,都为后续卷积神经网络的训练 提供了有效保障。测试结果显示,该系统能有效辨别不同 场景下车牌信息,且平均识别准确率高。
实现效果图样例
智能车牌识别系统:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!
最后
版权归原作者 HaiLang_IT 所有, 如有侵权,请联系我们删除。