基于改进YOLOv5网络的轮胎规格字符识别*

2024-02-29 14:27魏鸿磊杨祎宁
组合机床与自动化加工技术 2024年2期
关键词:字符识别准确率卷积

赵 庆,魏鸿磊,杨祎宁,黄 萌

(大连工业大学机械工程与自动化学院,大连 116034)

0 引言

汽车轮胎是汽车安全性的重要组成部分,其设计、制造和使用都需要严格的标准和规范[1]。轮胎的生产过程中会涉及到大量的字符标识,如规格、型号、批次等信息,这些信息对于轮胎的质量控制和追溯具有重要意义。传统的人工识别轮胎字符方法费时费力、效率低下且错误率较高,而采用机器视觉的轮胎字符识别比传统识别方式进一步提高,但对识别环境要求较高,条件也较为苛刻。因此,研究一种自动化的轮胎标识的方法具有非常重要的现实意义。

目前,基于机器视觉系统的字符识别已取得了很多成果。王浩楠等[2]提出一种基于机器视觉的轮胎胶料表面字符识别,通过字符定位、字符分割、形态学处理、模板匹配等方法实现字符识别。彭祺等[3]提出一种钢板板坯喷标字符识别系统,由图像传感器实时采集图像,百度飞浆Paddle-OCR字符识别算法,实现字符自动识别。陈甦欣等[4]提出一种离合器飞轮多行字符识别方法,首先,对离合器飞轮图像进行预处理,并提取边缘坐标;其次,用DBSCAN聚类算法定位圆环区域后,采用像素投影法进行字符分割;最后,利用LBP和支持向量机进行识别。采用传统机器视觉的方法,对图像的要求更高,通用性较差,当环境发生变化时识别效果也会发生变化。

随着深度学习技术的发展使得目标检测和识别技术得到了极大的提升,其中YOLO(you only look once)系列算法是一种快速、准确的目标检测算法[5]。通过改进YOLOv5模型结构,引入新的数据增强技术等,实现了更高的检测速度和更好的准确率。YOLOv5技术也得到了广泛的应用。宫鹏涵[6]提出了一种基于YOLOv5的钢印字符识别方法,首先对图像进行预处理扩充数据集,用YOLOv5进行训练,最后用训练好的模型进行字符的识别,该方法改进了训练数据依赖性的问题,但在训练中需要大量的计算资源来训练和运行。张继凯等[7]提出一种基于改进YOLOv5网络的车号罐号检测识别方法,在网络中添加注意力机制和GBN模块增强特征提取能力提高检测速度,实现对车号罐号的识别,该方法加入注意力机制提高了准确率,但会增加模型是的计算量,导致过拟合。LAROCA等[8]提出一种端到端、高效且独立的基于YOLO模型的自动车牌识别系统,包含统一的LP检测和布局分类方法,该系统在准确性和速度之间实现了权衡,在该方法中用到CNNs需要大量的标记数据进行训练,在处理一些场景的能力较差。

为提高汽车轮胎规格字符识别精度和准确率,本文提出一种基于YOLOv5改进的汽车轮胎字符识别算法。在原YOLOv5网络中添加解耦头、C3-Faster模块替换C3模块、WIOU替换CIOU的方法,提高网络对汽车轮胎规格字符识别精度和准确率。

1 改进YOLOv5网络

本文主要对网络做了3个方面的改进:①将检测和分割任务的特征提取和输出分离出来,加快模型的收敛速度提高算法精度;②改进FasterNet Block提出C3-Faster减少卷积操作次数,提高计算速度;③使用WIoU-Loss作为损失函数,衡量预测边界框与实际标注之间的相似度。

1.1 YOLOv5解耦头

解耦头[12]是一种将卷积层和全连接层分开的技术,它可以减少计算量和模型大小,从而提高模型的速度和效率。传统的YOLOv5检测头是一个耦合头[13],通常包含一个全连接层,将卷积层输出的特征映射转换为一个预测向量。这个全连接层通常与卷积层一起训练,因此需要较大的计算资源和更长的训练时间。在本文中将解耦头添加到YOLOv5中,主要思想是将分类和定位的两个分支分离,从而减少计算资源和训练时间,解耦头如图1所示。首先,对输出的特征图做1×1卷积降低模型复杂度,在调整特征图尺寸的同时,减少输入数据的通道数达到降低模型计算量的目的,随后将卷积处理后的结果分为两个分支,分别做3×3的卷积处理,将第1个分支再进行一次1×1卷积处理获得目标分类的分支,将第2个分支继续分为2个分支,分别进行1×1卷积计算,分别得到目标坐标的分支和目标置信度的分支。

图1 解耦头

解耦头实现了将分类和定位分支分开处理,减少了模型中需要计算的参数数量和计算量,大大加快模型的训练和推理速度,提高模型对于不同尺度的目标特征的感知能力,从而提高模型的鲁棒性和准确率,减少过拟合的发生。

1.2 改进FasterNet Block提出C3-Faster

在YOLOv5中通过C3模块[14]增加网络的深度和感受野,提高网络的特征提取能力,C3模块如图2所示,由3个3×3的卷积核和若干个Bottleneck模块组成。其中,第1个是步长为2的1×1卷积核将特征图的尺寸减半,减少参数量的同时增加网络的感受野,第2个和第3个是步长为1的1×1卷积核,不改变特征图的大小保留更多的局部信息,进一步提取特征,增加网络模型的深度和感受野。在Bottleneck模块中,先由一个步长为1的1×1卷积核将图像的通道数减小一半,再通过一个步长为3的1×1卷积核将图像的通道数加倍,最终图像的通道数不变,网络的参数减少,深度得到增加。

图2 C3模块

在运行一次C3模块时,需要使用5次卷积操作,产生过多的参数需要消耗过多的内存,进一步限制模型的运行效率,延长训练时间,影响模型的处理速度。为进一步提高网络模型对轮胎字符识别的速度和精度,在本文中改进了FasterNet Block[15]提出C3-Faster模块,并将其添加到YOLOv5网络结构中。C3-Faster模块如图3所示,由1个3×3PConv和2个1×1Conv组成。首先,特征图经过第一个PConv计算,其中PConv可以减少计算中的冗余信息和内存占用,然 后依次经过2个1×1的卷积核,获得特征图的有效信息,最后将有效信息输出进行下一步操作。

图3 C3-Faster模块

1.3 改进回归损失函数

IoU-Loss作为损失函数,用于衡量预测边界框与实际标注之间的相似度,更加注重预测结果与真实标注之间的重叠关系[16]。是最广泛使用的度量边界框之间相似性的指标,但在轮胎标志的识别中,字符相对较小,使用IoU会出现预测边框(bounding box)和真实边框(ground truth)不相交的情况,此时IoU为0,导致无法进行优化;GIoU[17]增加了预测边框和真实边框的最小外接矩形框,解决了IoU为0的问题,但当预测边框和真实边框等宽高且处于同一水平或同一垂直线时GIoU退化为IoU;DIoU[18]是在GIoU的基础上加入了,两边界框中心点之间的欧式距离和最小矩形框两对角顶点之间的欧式距离的计算,但DIoU存在两框中心点重合但宽高比不同时,DIoU退化为IoU的问题;在YOLOv5中使用CIoU[19]最为损失函数,CIoU在DIoU的基础上考虑了预测框与真实框之间长宽比的一致性的问题,增加了长宽比的惩罚项,但由于用到了复杂的函数计算,在计算过程中会消耗大量算力,增加训练耗时。在WIoU[20]中提出了动态非单调的聚焦机制,使用“离群度”替代IoU对锚框进行质量评估,采用了梯度增益分配策略,不仅降低高质量锚框的竞争力,也减小了低质量锚框产生的有害梯度,这使得WIoU可以聚焦于低质量的锚框,并提高检测器的整体性能。

2)不同钙硫比条件下粉煤灰的化学形态分析(图5)。由图5可知,添加固硫剂CaCO3后粉煤灰成分与未添加固硫剂时基本一致。随固硫剂添加量增加,CaO与Ca(OH)2的衍射峰逐渐增强,说明粉煤灰中CaO与Ca(OH)2含量逐渐增加。同样,对不同钙硫比下的粉煤灰进行XPS定量分析,结果见表2和图6。由表2可知,Ca元素含量逐渐增加,说明钙化合物量逐渐增多。对应图6,可以推断为未反应的固硫剂分解产生。由于固硫剂进入炉膛后首先进行分解,即CaCO3=CaO+CO2,这一反应为吸热反应,因此加入固硫剂会影响炉膛温度场,进而影响钙元素的形态。

WIoU有3个版本,其中WIoUv1构造了基于注意力的边界框损失,在v1的基础上通过添加梯度增益来附加聚焦机制的方法获得WIoUv2和WIoUv3,图4为标注框、预测框和最小外接矩框的示意图。

图4 标注框、预测框和最小外接矩框的示意图

其中,WIoUv1损失函数的计算公式LWIoUv1,如式(1)~式(3)所示。

(1)

(2)

LWIoUv1=RWIoULIoU

(3)

WIoUv2损失函数的计算公式LWIoUv2,如式(4)所示。

(4)

WIoUv3损失函数的计算公式LWIoUv3,如式(5)、式(6)所示。

(5)

(6)

式中:β为非单调聚焦系数,α、δ为超参数。

2 实验

2.1 模型训练

在模型训练中主要对数据集进行采集并标注以及网络训练参数的设置。

(1)数据集处理。在停车场随机选择汽车轮胎进行图像采集,使用标注工具Labelimg对数据集标注,导出YOLO格式标注文件,为下一步的训练做准备。

(2)网络训练参数设置。本实验中,操作系统为Windows11,GPU为NVIDIA GeForce RTX 3060,编程语言为Python 3.9。网络训练参数如表1所示,训练中选择模型较小的YOLOv5s模型。

表1 网络训练参数

2.2 评价指标

经过训练后的模型需要对检测的准确性进行评价,在本实验中采用准确率P(precision)和平均精度mAP(mean average precision)评估算法性能。

(7)

(8)

式(7)计算准确率,TP为真阳性,FP为假阳性;式(8)计算平均精度,AP(j)为第j类缺陷的平均精度,j为缺陷类别数,j=0,1,2,…,n。

2.3 对比实验

为验证改进后的C3-Faster在YOLOv5网络模型中对训练结果的影响,进一步找到训练速度和精度的最优方案,分别将C3-Faster替换到Backbone和Head中的8个C3模块,采用上述数据集和网络训练参数训练,得到C3-Faster模块不同替换位置的对比实验结果如表2所示。

表2 C3-Faster模块不同替换位置的对比实验

表2中实验1~4分别将C3-Faster替换到Backbone中的4个C3模块中,实验1为单独替换Backbone中的第1个C3模块,实验2为第2个,依次类推。实验5~8分别将C3-Faster替换到Head中的4个C3模块中,实验5为单独替换Head中的第1个C3模块,实验6为第2个,依次类推。实验9为不加改进的原始YOLOv5模型。通过实验结果可以看出,前4组实验中与原始YOLOv5训练耗时相比都有所减少,当C3-Faster替换第1个C3时耗时最少,但平均精度在替换第3个C3时最高,准确率在替换第4个C3时最高,在保证训练精度的同时提高训练速度,决定将Backbone中的第3和4个C3模块替换为C3-Faster;同理,分析第5~8组实验得出在5和6中表现较好,决定将Head中的第1和第4个C3模块替换为C3-Faster。

为对比GIoU、DIoU、CIoU、WIoUv1、WIoUv2和WIoUv3在帮助优化模型参数,提高模型的准确性等方面的差距,设立了对照实验,采用上述数据集和训练参数,采用YOLOv5s模型分别对6种损失函数进行实验,不同损失函数对比实验结果如表3所示。

表3 不同损失函数对比实验结果

分析实验结果,使用WIoU loss在mAP、Precision都有提升,同时训练耗时也进一步缩短,其中使用WIoUv1 loss在Precision上效果最好,使用WIoUv3 loss在mAP和训练耗时上表现最好,在Precision上与WIoUv1loss相差并不大,为达到轻量化网络,提高汽车字符识别的速度和准确性,在本文中使用WIoUv3 loss代替原YOLOv5中的CIoU loss。

2.4 消融实验

为验证改进后解耦头、C3-Faster和WIOU在YOLOv5网络中带来的性能上的提升,进行消融实验,共设立5组实验,分别使用原YOLOv5s网络、YOLOv5s+解耦头+C3-Faster网络、YOLOv5s+解耦头+WIOU网络、YOLOv5s+C3-Faster+WIOU网络和YOLOv5s+解耦头+C3-Faster+WIOU网络,在同一设备相同参数下进行实验,得到改进YOLOv5不同模块的消融实验结果如表4所示。

表4 改进YOLOv5s不同模块的消融实验结果

在汽车轮胎数据集上进行消融实验,改进后的YOLOv5网络优于原网络模型,其mAP为96.9%,Precision为95.2%,相比于原模型,训练耗时变换不大,但其他指标均有所提升,mAP提升3.7%,Precision提升2.1%。

2.5 不同算法对比

在字符识别任务中,CNN(convolutional neural networks)可以直接处理原始图像像素,并通过卷积和池化层来提取特征;RNN(recurrent neural networks)可以接收字符序列,并使用循环连接来建立字符之间的依赖关系;LSTM(long short-term memory)可以通过学习字符序列中的长期依赖关系来提高分类精度;GRU(gated recurrent unit)可以在保持一定的模型性能的同时降低模型的计算复杂度。为进一步检测本文算法,与主流字符识别算法进行性能对比,不同算法对比结果如表5所示。

表5 不同算法对比结果

从表5中可以得到,在所测试的算法中改进YOLOv5s的mAP值最高,为96.9%;GRU网络的Precision值最高,为95.7%,高于改进YOLOv5s的95.2%,但在mAP和训练用时上低于改进YOLOv5s;LSTM网络训练的时间最短,但mAP和Precision值较低。本文改进后的算法虽在Precision值和网络训练用时上略低于GRU网络和LSTM网络,但mAP值比其他网络更好,符合轮胎字符识别的要求。

3 方法验证

最后用原YOLOv5网络与本文改进的网络做进一步验证,用消融实验得到的网络模型测试,选用相同的图片,测试结果对比如图5所示,其中图5a和图5c使用的原YOLOv5网络图5b和图5d使用的改进YOLOv5网络,通过对比发现本文改进的网络在识别精度和准确率更高,识别效果更好,实现了汽车轮胎字符识别速度和精度的平衡。

(a) 改进前横向识别 (b) 改进后横向识别

4 结论

本文为提高汽车轮胎规格字符识别的效率和准确率,对YOLOv5s网络模型进行改进,添加解耦头,使用C3-Faster模块替换部分C3模块,用WIoU损失函数替换CIoU损失函数。最终,以Precision和mAP值评估轮胎规格字符识别网络模型的性能,将改进后的网络模型与主流字符识别方法进行性能对比,该网络模型在识别效率和准确率更优。在消融实验中,改进的YOLOv5网络优于其他网络模型,相比于原网络mAP提升3.7%,Precision提升2.1%。通过方法验证,改进后的网络模型轮胎规格字符识别速度更快,复杂条件下的识别能力更强,在识别速度和精度上达到平衡,有效提升了轮胎规格字符的识别能力,证实了该方法的有效性,满足实际的应用需求。

猜你喜欢
字符识别准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
一种改进深度学习网络结构的英文字符识别
仪表字符识别中的图像处理算法研究
基于CUDA和深度置信网络的手写字符识别