基于改进YOLOv5的酒瓶缺陷检测方法研究论文

2024-05-25 14:47:31 来源: 作者:zhoudanni
摘要:白酒是中国传统的酒类,具有深厚的文化底蕴和独特的口感特点,是我国特有的、历史悠久的一种特色饮料。在白酒酿造及销售过程中,因为工艺和管理环节的原因,常常存在一些瓶身缺陷问题,比如瓶身裂口、异物等,这些问题严重影响着白酒的质量和安全,而目前瓶身缺陷的检测主要靠人工检测,费时费力且准确率无法得到保证。
摘要:由于酒瓶产品缺陷多样以及产品缺陷较小,使用了YOLOv5作为基础框架来设计算法。对YOLOv5进行了深入研究,发现虽然空间池化金字塔(Spatial Pyramid Pooling,SPP)在多尺度检测中优化了计算量和减少了数据量。但是,在某些情况下,空间金字塔池化会出现信息丢失的问题,影响了检测精度。为此,提出一种将空间池化金字塔改进为空洞空间池化金字塔(Atrous Spa‐tial Pyramid Pooling,ASPP)。ASPP可以对不同尺度的特征图进行并行池化,从而综合多尺度特征信息,获得更全面、更准确的特征表示。将SPP算法改进为ASPP算法后,在酒瓶缺陷数据集上进行了实验。实验结果证明改进后的YOLOv5算法在酒瓶缺陷检测精度上提升4%,mAP 0.5提升了2%,mAP 0.5:0.95提升了1.5%。
关键词:YOLOv5,缺陷检测,酒瓶,SPP,ASPP
0引言
随着经济的发展和人民生活水平的提高,人们越来越注重食品质量与安全,食品行业的厂家也需要保证其产品的质量与安全,确保产品符合国家食品安全标准,提升其竞争力和市场占有率。
白酒是中国传统的酒类,具有深厚的文化底蕴和独特的口感特点,是我国特有的、历史悠久的一种特色饮料。在白酒酿造及销售过程中,因为工艺和管理环节的原因,常常存在一些瓶身缺陷问题,比如瓶身裂口、异物等,这些问题严重影响着白酒的质量和安全,而目前瓶身缺陷的检测主要靠人工检测,费时费力且准确率无法得到保证。
近年来,随着图像处理技术和深度学习技术的迅速发展,目标检测技术也得到了广泛的应用。其中,基于深度学习技术的目标检测算法具有较高的准确性,已经在工业生产中得到了广泛的应用。白酒瓶缺陷检测的目标检测算法能够对瓶身缺陷进行自动识别与分类,极大地提高了检测效率和准确性。
针对目前白酒瓶缺陷检测领域的研究,本文将使用目前业界最新的目标检测算法YOLOv5来对白酒瓶身的缺陷进行检测,提高白酒生产企业的管理效率和生产质量,实现白酒生产的无缺陷管理。本文将重点介绍白酒瓶缺陷检测技术的研究现状,分析现有技术中存在的问题和不足,并详细介绍本文提出的基于YOLOv5算法的白酒瓶缺陷检测方法的实现方案以及检测结果。SPP和ASPP都是空间池化金字塔,可用于提取图像不同尺度的特征,但它们的区别在于,ASPP是使用不同大小的卷积核,使得每个像素可以获取来自不同大小感受野的感知信息,从而提取更全局的上下文信息。而SPP则是通过池化层将同一个特征图按不同尺度进行池化,提取不同尺度的特征。
因此,在白酒瓶缺陷检测中,由于缺陷可能分布在不同的尺度上,使用SPP会加大错误缺陷检测的可能,为了获得更大的感受野融合更多的特征信息,以此来减少错误缺陷检测的可能,提高酒瓶在检测缺陷时的精度,因此本次在SPP中加入空洞卷积形成更ASPP来可以更好地提取全局信息,从而更准确地进行缺陷检测和分类。本文提出在YOLOv5中backbone网络中将空间金字塔池化改进为空洞空间金字塔池化从而增加目标缺陷检测精度、召回率以及mAP值,降低了错误缺陷检测的可能性。
1改进YOLOv5算法的研究
1.1 YOLOv5算法
YOLOv5算法是一种one-stage目标检测算法,相较于Fast-R-CNN等two-stage阶段检测算法拥有更快检测速度,较高的检测精度,更加适用于快速检测以及多目标检测任务。YOLOv5网络结构如图1所示。
首先,输入端将3×640×640图片送入YOLOv5模型中。接下来,经过focus模块进行切片操作,将原始输入图片大小分为4个较小的子图片。这样做的好处是在保留图像信息的同时,为后续处理提供了更多的计算空间。特别地,因为较大的图片存储会很占用内存,所以切片操作可以实现内存的有效利用。在focus模块中,在经过一次卷积操作之后,特征图将变为32×320×320。这里的特征图大小是切片后得到的四个子图片的拼接结果,其通道数变为了原先的4倍。这一点说明了将图片大小,w、h信息转换成通道信息的好处。接下来,将新图片再进行一次卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图。操作完成后,特征图将输入Conv模块,进行卷积操作、BN层处理,并最终通过sigmoid函数进行激活输出。这一系列操作的目的是为了更好地提取图片中的特征信息。接下来,将特征图输入C3模块。C3模块包括两个卷积层以及Bottleneck和CBS两个分支。Bottleneck能够有效提高模型对特征的提取能力,避免梯度消失和爆炸问题的出现。相较于残差网络的Bottle‐neck,YOLOv5使用的Bottleneck在提取特征能力上更为强大。更重要的是,CBS可以进一步优化数据处理性能,提高模型训练效果。两个分支再进行卷积,最后再将输出拼接在一起,这一步操作实现了特征图的信息聚合。这里的信息聚合可以更好地提取图片中的信息,从而完成相应的识别任务。
总的来说,YOLOv5采用的模块化设计可以实现卷积操作、Bottleneck和CBS的优秀组合,并且非常注重计算速度的提升。此外,切片操作、信息集中和拼接操作等操作也能有效提高模型的识别效果,使得YOLOv5成为了目前非常流行的目标检测模型之一。
1.2空间池化金字塔(SPP)
目前,大多数卷积神经网络对输入图像的大小和纵横比都有着严格的要求,这对于任意大小或纵横比的图像输入造成了不便。为此,出现了空间池化金字塔这一结构,它能够产生一个固定大小的输出,以便输入到全连接层或其他分类层中,从而降低了所需的参数量。同时,空间池化金字塔(SPP)通过采用不同尺寸的卷积核和池化操作,能够提取多尺度的特征,在金字塔顶部能够提取更加全局的信息,在底部则能够提取细节信息。由于它类似于金字塔从上到下不断缩小的结构,因此能够有效地提高模型的分类性能。通过这种方式,能够解决模型对于不同大小或纵横比的图像输入的限制问题,从而使神经网络能够更加全面地掌握图像特征。
SPP工作原理如图2所示,输入一个n×n×c大小的特征图,n为特征图的高和宽,c为特征图的通道数,分别通过不同大小的池化层(maxpooling),特征图通过池化层只改变图片的大小,不会改变图片的通道数,F为池化层的大小,s为池化层的步长,所需输出多少维度的特征图,只需改变池化层的F与s,然后将池化后的特征图堆叠起来便能得到所需维度的特征图。计算池化后特征图大小公式如下:
1.3损失函数
YOLOv5使用的是多任务学习的损失函数,旨在最小化检测框的位置误差、目标分类误差和目标置信度误差。该损失函数由3个部分组成,包括目标位置误差损失、目标分类误差损失和目标置信度误差损失。将这3个部分的损失函数加起来,就得到了总损失函数。通过反向传播和梯度下降,可以对损失函数的参数进行更新,以获取最小的损失函数。
1.4改进后的YOLOv5模型
将backbone中空间池化金字塔改进为一种结合空洞的空洞空间池化金字塔,将空间池化金字塔改进为空洞空间池化金字塔,将原有的空间池化金字塔删除。
1.5改进后的空间池化金字塔
酒瓶是一个比较复杂的物品,其缺陷种类也非常多,如瓶身变形、玻璃破损、划痕、气泡等。在检测酒瓶缺陷时,需要使用深度学习模型,而模型的精度和效果往往取决于感受野的大小和分辨率的高低。
常见的感受野增加方法是使用空间池化金字塔(SPP),SPP可以将不同大小的特征图池化成相同的尺寸,从而获得不同感受野的信息。但是,在增加感受野的同时,SPP也会使得分辨率下降,从而影响检测精度。
为了解决这个问题,本文提出了一种改进版的空间池化金字塔,即空洞空间池化金字塔(Atrous Spatial Pyr‐amid Pooling)。该方法通过利用空洞卷积对特征图进行处理,可以在不影响分辨率的前提下增加感受野,从而提高检测精度和效果。空洞卷积是一种添加0的方式,在每个卷积核的空洞处添加0,从而可以获得不同的感受野和特征信息,还可以将多尺度信息进行融合获取更加多有效的特征信息。
事实上,这种方法不仅能够提高精度和召回率,还能够降低计算复杂度。通过设置不同的参数(dilation rate),即空洞的大小,可以获取不同的感受野和特征信息,而且不需要额外的计算量。因此,空洞空间池化金字塔是一种非常优秀的深度学习模型改进方法,可以广泛应用于各种图像检测和识别任务中。
空洞空间卷积池化金字塔在空间池化金字塔中加入了空洞卷积和1*1卷积的过程,输入图片不仅会通过最大池化层获得感受野融合特征信息,还将经过1*1的卷积减少计算量,并且加入上采样的步骤,以更高分辨率进行图像显示,输入图片还将通过不同的空洞卷积获得全局的感受野融合更多的特征信息最终将空洞卷积获得的特征信息与池化层获得特征信息融合,获得更大尺度的特征信息,提高对目标缺陷检测的精度,减少对错误目标缺陷检测的可能性。
ASPP工作原理:将输入图片分别经过1*1卷积、各种不同的空洞卷积,池化之后经过1*1卷积再经过上采样,最后空洞卷积得出的特征图与1*1卷积得出的特征图与池化后的特征图进行Concat最后输出给下一层。
2实验与结果分析
2.1实验平台
本文搭建的实验环境:在腾讯云服务器上,搭建了Ubuntu Server 20.04 LTS 64位系统,GPU计算型GN8-6核56 G。
2.2结果分析
本文采用由阿里云天池大赛发布的酒瓶缺陷数据集,此数据集总共包含了6 945张图片,总共标签类别有11种,由于有些图片大部分为背景,且标签类别中包含背景,将此数据集进行一个简单的清洗,最后将只包含背景的图片进行删除,留下了包含较多有效标签的图片,剩余了3 346张图,总共包含10种标签。将图片2 998张图片划分为训练集,将348张图片划分为验证集,总共训练200次。
NTP表示正类预测为正类,NFP表示负类预测成正类,NFN表示正类预测为负类,NTN表示负类预测为负类。通过比较改进前和改进后的Precision值,可以深入了解算法性能的变化。这不仅有助于在实际应用中更好地评估算法的效果,还能指导优化算法模型,从而提高检测精度和鲁棒性。在进行算法改进后,对新算法与原有算法进行比较,并通过Precision指标进行评估。结果表明,改进后的YOLOv5算法的精确度有明显的提升,从原来的80%提升到84%。这表明在酒瓶缺陷检测中,改进后的YOLOv5算法比原有的算法有更优秀的表现和更好的鲁棒性。改进前后Precision结果如图5所示。P为所有被预测出的缺陷有多少是真正的缺陷,R为所有真正的缺陷有多少被预测出来,F1为精确率和召回率的调和平均值,RIOU为预测框与真实框的交并比,A为真实框,B为预测框。
经过改进后的YOLOv5模型,在精度上得到了明显提高。同时,在评判模型鲁棒性的指标中,mAP _0.5和mAP _0.5:0.95分别从原来的0.74和0.45提升至0.76和0.47,显示出更好的性能。而mAP 0.5指标是当IOU取值为0.5时,计算原标签框与预测框的交并比所得到的PR曲线下方的面积。而mAP 0.5:0.95指标是当IOU取值在0.5~0.95之间,每隔0.05取一个步长,并计算出每个不同IOU下的PR曲线的面值求平均后的结果。改进前后结果如图6所示。
将训练获得的权重文件应用于酒瓶缺陷检测,相较于改进前的YOLOv5模型,改进后的YOLOv5模型在目标缺陷检测过程中能够具有更好的鲁棒性,改进前的模型未能检测的缺陷在改进好的模型中能够更加精确的检测出来如图7所示。
3结束语
本文通过改进YOLOv5中的空间池化金字塔,在空间池化金字塔模块中增加空洞卷积模块,使得经过特征金字塔后的感受野大大增加,增加了多尺度信息的融合,相较于全连接层减少了参数计算量,可以将物体完整特征信息提取到。实验结果表明改进之后的YOLOv5模型能够更加快速和精准的识别目标缺陷。精确率由改进前80%增加到改进后的84%,改进后的YOLOv5模型的mAP 0.5和mAP 0.5:0.95值分别从0.74和0.45提升至0.76和0.47。这些指标的提高表明,改进后的YOLOv5模型在酒瓶缺陷检测过程中能够具有更好的鲁棒性,这一改进减少了错误缺陷检测的概率,提高了检测的精度,之前一些未能检测的缺陷在改进后能够得到正确的检测,能够较好地应用于酒瓶缺陷检测项目中。
参考文献:
[1]刘文涛,李世华,覃驭楚.基于全卷积神经网络的建筑物屋顶自动提取[J].地球信息科学学报,2018,20(11):1562-1570.
[2]邱志斌.基于目标检测的电网涉鸟故障相关鸟种智能识别[C]//2021年江西省电机工程学会年会论文集.2022,194-201.
[3]王瑜琳,卢文,宋涛,等.基于改进的YOLOv3行人检测方法[J].河南科技,2021,40(33):11-14.
[4]李培媛,黄迟.基于CSPPNet与集成学习的人类蛋白质图像分类方法[J].计算机工程,2020,46(8):235-242.
[5]张浩然,吴松荣,周懿,邓鸿枥,张翰文,刘齐.计及少样本的YO‐LOv5s轨枕掉块小目标缺陷检测方法研究[J].铁道标准设计:1-10[2023-05-18].
[6]Mahaur Bharat,Mishra K K.Small-object detection based on YO LOv5 in autonomous driving systems[J].Pattern Recognition Let‐ters,2023,168.
[7]Hu WenXin,Xiong JunTao,Liang JunHao,et al.A method of cit‐rus epidermis defects detection based on an improved YOLOv5[J].Biosystems Engineering,2023,227.
[8]Huang Hongyuan,You Zhijiao,Cai Huayu,et al.Fast detection method for prostate cancer cells based on an integrated ResNet50 and YOLOv5 framework[J].Computer Methods and Programs in Biomedicine,2022,226.
[9]俞军,贾银山.改进YOLOv5的小目标检测算法[J].计算机工程与应用:1-9[2023-05-18].
[10]蔡文彪,李永锋,吴怀诚,等.基于改进Faster RCNN模型的输电线缺陷检测方法[J].信息技术,2023,47(1):148-153.
[11]Jia Ziguang,Su Xin,Ma Guangda,et al.Crack identification for marine engineering equipment based on improved SSD and YO‐LOv5[J].Ocean Engineering,2023,268.
[12]Sun Tianyi,Xing Huishuang,Cao Shengxian,et al.A novel detec‐tion method for hot spots of photovoltaic(PV)panels using im‐proved anchors and prediction heads of YOLOv5 network[J].En‐ergy Reports,2022,8(S13).
[13]周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(6):1229-1251.
[14]田萱,王亮,丁琪.基于深度学习的图像语义分割方法综述[J].软件学报,2019,30(2):440-468.
[15]汪志文.基于深度学习的高分辨率遥感影像语义分割的研究与应用[D].北京:北京邮电大学,2019.
[16]杨威.基于卷积神经网络的高效语义分割方法研究[D].北京:中国科学院大学(中国科学院光电技术研究所),2019.
[17]朱文博,夏林聪,陈龙,等.基于改进YOLOv5的O型密封圈缺陷检测方法[J].上海理工大学学报,2022,44(5):440-448.
[18]吴旭东,闫志鸿,胡飞涛,等.基于光度学特征与SVM的热轧铝板表面缺陷检测[J].热加工工艺,2023,52(6):157-162.
[19]Ma Yue,Zhi Zhuangzhi.Weakly Supervised Real-Time Object Detection Based on Salient Map Extraction and the Improved YOLOv5 Model[J].Advances in Multimedia,2022,2022.
[20]Chunshan W,Shedong S,Chunjiang Z,et al.A Detection Model for Cucumber Root-Knot Nematodes Based on Modified YO‐LOv5-CMS[J].Agronomy,2022,12(10):2555-2555.
[21]Padmini K,Krishnaraj C,Niranjana S,et al.Classification of Malaria Using Object Detection Models[J].Informatics,2022,9(4):76-76.
