1.一种基于超维计算的车牌检测与识别系统,其特征在于,包括制作车牌数据集模块(1)、基于YOLOv8的车牌检测模块(2)、基于U2-Net和畸变矫正的数据处理模块(3)和基于超维计算的车牌识别模块(4);
其中所述制作车牌数据集模块(1)包括收集视频以及图像并将其与CCPD数据集结合,并将其按照YOLOv8的YOLO格式制作成数据集;
其中所述基于YOLOv8的车牌检测模块(2)用于利用YOLOv8模型对包含车牌照片进行检测,得到包含车牌的区域;所述基于YOLOv8的车牌检测模块(2)对YOLOv8模型进行改进,具体改进的YOLOv8模型为:损失函数改进(21)、增加特征增强模块(22)、增加小目标检测头(23)和改进NMS算法(24);
所述损失函数改进(21)用于使用Repulsion Loss代替原本的IoU损失函数;所述损失函数改进(21)的Repulsion的损失函数为:L
其中,L
所述增加特征增强模块(22)用于将原本的C2f模块同Shuffle Attention注意力机制相结合,设计出新的C2f_SA模块;所述增加特征增强模块(22)将设计出的新的C2f_SA模块加入到原YOLOv8模型主干中;所述新的C2f_SA模块在内部设计出新的Bottlenec_SA模块,替换原来的Bottleneck模块,其中SA注意力模块则是先将通道尺寸分组为多个子特征,并且并行得处理这些子特征,然后利用一个shuffle单元去描述空间和通道温度上的特征的相关性在每一个子特征上的表现,接着每一个子特征被聚集,采用“channel shuffle”算子去实现所有不同子特征的信息通道;
所述增加小目标检测头(23)用于增加车牌对于小目标的检测能力,在原始YOLOv8模型中包括三个检测头,其分别为80*80、40*40、20*20检测头,新增一个160*160的检测头,位于80*80检测头前部;
所述改进NMS算法(24)用于将原本的非极大值抑制算法NMS改进为GIoU_NMS,避免检测结果中的score会突然跳跃的现象;采用GIoU算法,计算公式为:其中W
所述基于U2-Net和畸变矫正的数据处理模块(3)用于利用U2-net和畸变矫正对检测完的图像进行数据处理,将其转化成一维结构的特征信息;
所述基于超维计算的车牌识别模块(4)用于利用超维计算对数据处理模块输出的一维结构的特征信息进行识别,得出车牌的信息;
基于超维计算的车牌识别模块(4)的具体执行过程如下:
超维计算使用超维向量作为基本的运算对象,其中相似度是衡量不同超维向量关系的十分重要的指标,同时也是超维计算模型的决策和编码的判定依据,采用汉明距离对超维向量的相似度进行衡量,其计算公式为:其中i表示的是超维向量中的第i个元素,d维空间维数,S和W为两个不同的超维向量。
2.根据权利要求1所述的一种基于超维计算的车牌检测与识别系统,其特征在于,车牌照片数据集采用中国城市车牌开源数据集CCPD,仅采用部分数据,包括CCPD-Rotate与CCPD-Tilt,并将收集的视频以及图像将其加入到CCPD数据集中扩展其对不同省份汉字的泛化能力。
3.根据权利要求1所述的一种基于超维计算的车牌检测与识别系统,其特征在于,所述基于U2-Net和畸变矫正的数据处理模块(3),其包括以下步骤:二值化处理、灰度转换、Canny边缘检测和一维特征向量输出;
二值化处理,将基于YOLOv8的车牌检测模块输出的车牌检测结果,通过U2-Net模型进行二值化处理,得到二值化后的车牌;
灰度转换,二值化后得到的车牌进行灰度转换,并对灰度转换图片进行高斯模糊处理,由于高斯模糊作为一种滤波器,其能够通过正态分布计算每个像素在图像中的变换,其中在N维空间中,正态分布的公式为:其中,r是模糊半径,σ是正态分布的标准偏差;
Canny边缘检测,用Canny边缘检测算法进行边缘检测,其主要步骤包括:使用高斯滤波进行降噪处理;用Sobel或其他算子计算梯度值和梯度方向;对于被放大的边缘需要过滤不是边缘的点,使边缘的宽度尽可能为1个像素点;使用双阈值算法检测同时连接边缘以提高准确度;
通过sorted()方法对轮廓面积快速的排序,并提取其四个顶点,接着通过透视变换在已知顶点的情况下,得出变换矩阵,具体计算过程:并可以得到变换后的图形;
一维特征向量输出,将变换后的图像进行一维数据压缩,将其从二维图像数据压缩为一维向量数据,接着使用主成分分析减少冗余数据后,使用张量积进行高位映射编码并输出。