本发明涉及小目标检测识别,具体涉及一种基于超维计算的车牌检测与识别系统。
背景技术:
1、随着道路上机动车数量的不断增加,道路上的交通环境也逐渐变得错综复杂,交通安全也变得更加重要,因此为了准确识别出路上的机动车,环节交通安全问题,车牌识别系统也应运而生。
2、车牌识别系统(license plate recognition system,lprs)是机器视觉领域技术、计算机视觉技术在交通场景下的一种广泛应用,其研究最早始于上世纪80年的图像处理技术,由于近年来深度学习技术和人工神经网络技术的快速发展,车牌识别系统也有了长足的进步,在特定场景下的传统的车牌识别算法的速度和精度可以满足日常的需要,然而在复杂场景中传统的车牌识别系统很难满足要求,因此,为了提升车牌识别系统在复杂场景下的精度与速度,本发明提出了一种基于改进yolov8的车牌识别系统。
技术实现思路
1、发明目的:针对现有技术中存在的问题,本发明提供一种基于改进yolov8的车牌识别系统,用于提高车牌识别在复杂场景下的精度与速度。
2、技术方案:本发明公开了一种基于超维计算的车牌检测与识别系统,包括制作车牌数据集模块、基于yolov8的车牌检测模块、基于u2-net和畸变矫正的数据处理模块和基于超维计算的车牌识别模块;
3、其中所述制作车牌数据集模块包括收集视频以及图像并将其与ccpd数据集结合,并将其按照yolov8的yolo格式制作成数据集;
4、其中所述基于yolov8的车牌检测模块用于利用yolov8模型对包含车牌照片进行检测,得到包含车牌的区域;
5、所述基于u2-net和畸变矫正的数据处理模块用于利用u2-net和畸变矫正对检测完的图像进行数据处理,将其转化成一维结构的特征信息;
6、所述基于超维计算的车牌识别模块用于利用超维计算对数据处理模块输出的一维结构的特征信息进行识别,得出车牌的信息。
7、进一步地,车牌照片数据集采用中国城市车牌开源数据集ccpd,原始数据集中包含了大量数据,并且其中车牌汉字部分大多为皖,对于其他省份的汉字泛化性能不强,所以本次仅采用部分数据,包括ccpd-rotate与ccpd-tilt,并将收集的视频以及图像将其加入到ccpd数据集中扩展其对不同省份汉字的泛化能力。
8、进一步地,所述基于yolov8的车牌检测模块还对yolov8模型进行改进,具体改进的yolov8模型为:损失函数改进、增加特征增强模块、增加小目标检测头和改进nms算法;
9、所述损失函数改进用于使用repulsion loss代替原本的iou损失函数;
10、所述增加特征增强模块用于将原本的c2f模块同sa注意力机制相结合,设计出新的c2f_sa模块;
11、所述增加小目标检测头用于增加车牌对于小目标的检测能力;
12、所述改进nms算法用于将原本的非极大值抑制算法nms改进为giou_nms,避免检测结果中的score会突然跳跃的现象。
13、进一步地,所述损失函数改进的repulsion的损失函数为:
14、lrep=lattr+α*lrepgt+β*lrepbox
15、其中,lrep为整个repulsion的损失函数,lattr为吸引损失函数,要求预测框与指定目标接近,lrepgt和lxepbox为排斥项,要求周围真实目标物体的与预测框远离,系数α和β为平衡辅助损失的权重。
16、进一步地,所述增加特征增强模块将设计出的新的c2f_sa模块加入到原yolov8模型主干中。
17、进一步地,所述新的c2f_sa模块在内部设计出新的bottlenec_sa模块,替换原来的bottleneck模块,其中sa注意力模块则是先将通道尺寸分组为多个子特征,并且并行得处理这些子特征,然后利用一个shuffle单元去描述空间和通道温度上的特征的相关性在每一个子特征上的表现,接着每一个子特征被聚集,采用“channel shuffle”算子去实现所有不同子特征的信息通道。
18、进一步地,所述增加小目标检测头,在原始yolov8模型中包括三个检测头,其分别为80*80、40*40、20*20检测头,新增一个160*160的检测头,位于80*80检测头前部。
19、进一步地,所述改进nms算法(24),采用giou算法,计算公式为:
20、
21、其中ws为两个框的最小闭包区域的面积,|ws-u|为闭包区域中不属于两个框的区域。
22、进一步地,所述基于u2-net和畸变矫正的数据处理模块,其包括以下步骤:二值化处理、灰度转换、canny边缘检测和一维特征向量输出;
23、二值化处理,将基于yolov8的车牌检测模块输出的车牌检测结果,通过u2-net模型进行二值化处理,得到二值化后的车牌;
24、灰度转换,二值化后得到的车牌进行灰度转换,并对灰度转换图片进行高斯模糊处理,由于高斯模糊作为一种滤波器,其能够通过正态分布计算每个像素在图像中的变换,其中在n维空间中,正态分布的公式为:
25、
26、其中,r是模糊半径,σ是正态分布的标准偏差;
27、canny边缘检测,用canny边缘检测算法进行边缘检测,其主要步骤包括:使用高斯滤波进行降噪处理;用sobel或其他算子计算梯度值和梯度方向;对于被放大的边缘需要过滤不是边缘的点,使边缘的宽度尽可能为1个像素点;使用双阈值算法检测同时连接边缘以提高准确度;
28、通过sorted()方法对轮廓面积快速的排序,并提取其四个顶点,接着通过透视变换在已知顶点的情况下,得出变换矩阵,具体计算过程:
29、
30、并可以得到变换后的图形;
31、一维特征向量输出,将变换后的图像进行一维数据压缩,将其从而为图像数据压缩为一维向量数据,接着使用主成分分析减少冗余数据后,使用张量积进行高位映射编码并输出。
32、进一步地,基于超维计算的车牌识别模块的具体执行过程如下:
33、超维计算使用超维向量作为基本的运算对象,其中相似度是衡量不同超维向量关系的十分重要的指标,同时也是超维计算模型的决策和编码的判定依据,采用汉明距离对超维向量的相似度进行衡量,其计算公式为:
34、
35、其中i表示的是超维向量中的第i个元素,d维空间维数,s和w为两个不同的超维向量。
36、有益效果:
37、本发明公开了一种基于改进yolov8的车牌识别系统,涉及小目标检测与识别,其包含了基于改进yolov8的车牌检测模块、基于u2-net和畸变矫正的数据处理模块和基于超维计算的车牌识别模块,其中车牌检测模块用于利用改进后的yolov8模型对车牌照片进行检测;对检测后的车牌部分图片进行进一步的数据处理,最后使用基于超维计算的车牌识别模块对数据处理后的车牌数据进行识别,通过使用了基于repulsion的损失函数增强了模块的对目标的吸引能力和对环境的排斥,通过设计了一款特征增强模块,用于增强对图像的特征提取能力,通过增加小目标检测头,提升了对车牌这种小目标的识别能力,最后通过改进了非极大值抑制算法。本发明通过对yolov8算法改进,有效提升了车牌检测性能,并通过数据处理模块以及车牌识别模块,将车牌检测速度大大提升。