APP下载

改进Yolov5的医废包装袋破损检测方法

2022-12-30王新良马耀博

计算机工程与设计 2022年12期
关键词:包装袋置信度先验

王新良,马耀博

(1.河南理工大学 物理与电子信息学院,河南 焦作 454003;2.哈密豫新能源产业研究院有限责任公司 技术研发部,新疆 哈密 839000)

0 引 言

医疗废物在装入医废包装袋后,由于混入利器或者存在某些不可抗的外力因素造成医废包装袋破损,会导致医疗废物遗失而出现安全隐患,采用人工方式进行医废包装袋破损检测存在人力资源开销大、效率低、易漏检的问题,因此实现对医废包装袋破损目标快速准确的检测尤为重要。

传统的目标检测大多采用手工设计的特征提取方法,该方法具有一定的目标导向性和主观性,即针对特定目标有较好的检测效果,但其表征的目标特征存在偏差,且泛化能力和鲁棒性较差[1]。近年来,基于深度卷积神经网络的目标检测方法迅速发展,较之传统目标检测方法,其具有检测速度更快、检测精度更高等优点[2]。目前,基于深度卷积神经网络的目标检测方法按照算法思路主要分成两类:基于候选区域的双阶段网络和基于回归的单阶段网络。双阶段网络将目标检测划分为候选框提取、候选框内目标定位和分类两步,代表网络主要有Faster R-CNN[3]、FPN[4]等;单阶段网络摒弃了双阶段网络提取候选区域的步骤,直接将原始图像输入单个神经网络以完成检测框回归和分类预测,从而完成端对端的目标检测任务,代表网络主要有Yolo[5]、SSD[6]、RetinaNet[7]等。目标缺陷不仅影响其美观,甚至会对目标的性能以及安全稳定性产生不可估量的影响。李建明等[8]基于Inception-V3和Yolov3提出了一种工业自动化包装缺陷检测的方法,常洋[9]基于SSD实现对水管破裂位置的定位检测,吴伟浩等[10]提出了一种改进的Yolov3算法用于电连接器的缺陷检测,以上研究在特定缺陷对象的检测上均取得不错的效果。

本文针对医废包装袋破损人工检测效率低下、容易漏检的问题,采用Yolov5算法实现对医废包装袋的破损检测。又由于医废包装袋破损图像中存在小尺寸目标难以检测的问题,通过对Yolov5网络进行优化改进,以提高医废包装袋破损检测的精度。

1 Yolov5网络

2020年5月30日,Ultralytics LLC团队基于Yolov4[11]发布了Yolov5。Yolov5同Yolov4一致,仍然将网络划分为输入端(Input)、特征提取骨干网络(Backbone)、特征融合网络(Neck)以及预测输出端(Prediction)4部分,网络结构如图1所示。

图1 Yolov5网络结构

1.1 输入端

输入端采用Mosaic数据增强技术,能够在一定程度上解决样本数据不足而带来的训练结果不理想、模型过拟合等问题;其次,引入了自适应的锚框计算,其能够基于预设先验框在网络训练过程中得到预测框,进一步与真实框对比,反向迭代出适合数据集的最优锚框;最后,加入了自适应图片缩放机制,常见的目标检测算法为了将输入图像尺寸标准化,会对图像宽高等比缩放后进行黑度或灰度填充,但是填充的部分包含的均为无效信息,会影响模型的预测速度,Yolov5的自适应图片缩放机制力求在模型推理过程中进行最小程度的灰度填充,进而有效提高模型预测速度。

1.2 特征提取骨干网络

特征提取骨干网络引入先前版本的Yolo不具备的Focus结构,该结构原理如图2所示。Focus将RGB图像的3个通道维度依次切分为4份,然后在通道维度上拼接至12个通道,最后进行卷积操作,进一步扩充通道维度,该结构能够在保证信息无缺失的前提下减少浮点运算量,进而提高速度。

图2 Focus原理

Yolov5的特征提取骨干网络还设计了两种不同的跨阶段局部网络(CSP)CSP1_X和CSP2_X,其结构如图1所示,两者分别应用于特征提取骨干网络和特征融合网络。以CSP1_X为例进行说明,CSP1_X将基础层的特征映射划分成两部分,一部分直接输出,另一部分经过由X个残差块串联起的结构后输出,然后将两部分的输出合并,能够较好地兼顾模型轻量化和准确率。

1.3 特征提取骨干网络

特征融合网络用于对不同层的特征进行融合,Yolov5使用了特征金字塔网络(feature pyramid network,FPN)与路径聚合网络(path aggregation network,PAN)结合的方法,具体结构如图3所示。在卷积神经网络中,网络深层往往经历了更多次的卷积、池化等降维操作,从而使得网络深层提取的特征具备更丰富的语义信息(抽象信息);而网络浅层距离图像输入源较近,因此浅层提取的特征对细节的削减更少,进而网络浅层包含更多的定位信息(细节信息)。FPN和PAN依次自顶向下和自低至上分别传达更丰富的语义信息和定位信息,然后从不同的主干层对不同的检测层进行特征融合,从而达到特征增强的目的。

1.4 预测输出端

预测输出端使用了GIOU_Loss作为边界框(Bounding box)损失函数,同时使用了加权非极大值抑制(non-maximum suppression,NMS)的方式以便从多个预测框中筛选出更为匹配的目标框,从而使得预测结果更为精确。

2 改进的Yolov5网络

本文对Yolov5的改进主要包括:将三尺度的目标检测网络改为四尺度的目标检测网络,以适应医废包装袋更小破损目标的检测;引入CBAM[12]结构,该结构能够对待检测的医废包装袋破损目标加以强调,对其它无关信息加以抑制。

2.1 多尺度检测网络的改进

Yolov5将尺寸为640×640×3的输入图像分别经过8倍、16倍以及32倍下采样后形成的特征图作为特征融合网络的输入,然后经过FPN+PAN结构进行双向的特征融合实现特征信息的充分利用,最后形成80×80、40×40、20×20这3种不同尺度的特征图去检测目标。不同尺度的特征图由于感受野大小的差异,对不同尺寸目标的敏感程度也不相同,更大尺度的特征图对更小尺寸的目标检测效果更好。在医废包装袋破损检测场景下,由于医废包装袋与图像采集设备距离的不确定性以及破损大小的不确定性,会存在部分过小的医废包装袋破损目标,并且因为连续下采样操作会使得这些目标丢失很多的有用特征信息,从而导致现有的最大尺度的特征图无法对目标做出准确预测,造成目标漏检。

通过以上分析可知,现有的Yolov5多尺度检测网络不适用于较小医废包装袋破损检测,因此本文将原网络中80×80的大尺寸特征图进行2倍上采样,与特征提取网络中4倍下采样后的160×160低层特征图进行融合,最后形成160×160、80×80、40×40、20×20四尺度检测结构,如图4所示。这样使高层的特征具有更强的定位信息,低层的特征具有更丰富的语义信息,这样即使图像中目标的尺度有较大变化,也可以在多个尺度上准确检测,更有利于医废包装袋的破检测。

图4 改进的四尺度检测结构

2.2 先验框的聚类分析

Yolov5参考了Faster R-CNN的先验框设计思想,其通过K-means聚类算法在数据集上得到一定数量的固定尺寸的初始先验框。Yolov5初始输出3个不同尺度的特征图,每个特征图又对应3个不同尺寸的先验框,因此Yolov5共有9种尺寸的先验框。但是不同数据集聚类出来的先验框尺寸存在很大差异,这也会对目标对象检测的精度和速度产生不同程度的影响。

本文改进的Yolov5网络增加了一个尺度的检测层,因此原有的9种尺寸的先验框已不再适用,需要重新对先验框的数量和尺寸进行聚类。聚类的目的是尽可能地提高先验框与真实框的交并比(intersection-over-union,IoU),以减少两者的误差。为了定量地分析,定义误差度量函数如式(1)所示,其中box为真实框;center为聚类中心点;d表示误差,与IoU成反比例关系,d越小,说明先验框与真实框的吻合程度越高

(1)

本文使用自制的医废包装袋破损数据集进行聚类分析,得到先验框的数量K与平均交并比Avg IoU的关系散点如图5所示。

图5 K-means聚类分析结果

从图5中可以看出,平均交并伴随K值的增加而增加且在K=12时而趋于稳定。从而得到3×4共12种不同尺寸的先验框。先验框按照特征图尺度的大小进行分配,更大尺度的特征图对应更小的感受野,从而分配更小尺寸的先验框用于检测更小的医废包装袋破损目标。先验框的分配见表1。

表1 先验框分配

2.3 CBAM结构的引入

在医废包装袋破损检测任务中,由于破损位置处于医废包装袋之上,且医废包装袋通透性较强,从而使得破损的位置与周围环境存在较弱的差异性。为了使网络聚焦于输入图像中破损所在的位置,采用CBAM模块能让网络关注给定的图像更重要的位置。CBAM依据注意力集中的不同位置,又划分为空间注意力模块(spatial attention mo-dule,SAM)和通道注意力模块(channel attention mo-dule,CAM)。CBAM结构如图6所示。

图6 CBAM结构

CAM模块主要作用是使网络关注图像“是什么”,相当于给每个通道引入不同的权重,提升关键信息的重要性,抑制无用信息的干扰。首先,将尺寸为C*H*W的特征图FC*H*W在空间方向上使用全局的平均池化和最大池化的操作聚合有效特征生成两个FC*1*1的特征图;然后经过卷积核数量为C/r(r为减少率)和C的两个卷积层构成的共享双层神经网络(shared double layer perceptron,SDLP)聚合C个通道的信息;随后将输出特征进行元素加操作,并经过sigmoid激活,得到最终的通道注意力权重即MC∈FC*1*1; 最后将生成的通道注意力权重通过元素乘操作,将权重沿空间方向广播致FC*H*W上。

(2)

SAM模块作为通道注意力的补充,其作用是在特征图上找到更重要的部位,关注图像关键信息“在哪里”。首先,将CAM模块输出的特征图FC*H*W沿着通道的方向进行全局最大池化和全局平均池化,得到两个通道数为1的可描述不同空间位置信息的特征图。然后将两个特征图沿着通道方向进行拼接,生成一个可反映全局空间信息的空间信息特征图。随后使用一个卷积核为7的卷积,用较大的感受野来对空间中需要加强或抑制的信息进行映射,聚合空间的上下文信息,将生成的特征图经过sigmoid激活函数得到一个值0到1的权重特征图MS即所需的空间注意力。最后将与输入特征进行元素乘操作,就得到了带有空间注意力权重增强或抑制的特征图。

(3)

2.4 改进后的Yolov5网络模型

本文将Yolov5通过对多尺度检测网络、特征融合网络、损失函数改进,其改进后的Yolov5整体结构如图7所示,输入图像经过Darknet-53特征提取网本文对Yolov5的多尺度检测网络进行了改进,并引入了CBAM以期进一步提升网络性能。CBAM虽然较为轻量,但该模块在网络中过多引入也会大大增加网络结构的复杂度,从而产生模型训练不易收敛,模型预测速度大幅降低等问题。为了以较小的代价来取得较为可观的效果,需要对CBAM引入的数量和位置进行考究。首先,可知神经网络中各网络层所处的层级越低,则越需要经过更多的下采样,这样就会不断削减后续网络层的特征信息,因此在网络较低层引入CBAM,最终会使得网络大大弱化注意力机制的作用,所以本文不在层级较低的特征提取主干网络层引入CBAM。进而考虑特征融合网络,特征融合将不同层的特征图融合,从而充分地利用特征信息,因此在特征融合前引入CBAM,会使得后续融合到更为重要的特征信息。最后,预测输出端会根据得到的特征图完成对目标的预测,神经网络之所以能保证目标预测的精度,是因为预测输出端的特征图中包含目标大量的特征信息,为了使得预测输出端的特征图聚焦更多目标的有用信息,从而在预测输出端前引入CBAM。

图7 改进的Yolov5网络结构

3 实验过程与结果分析

3.1 实验环境

本文进行医废包装袋破损检测实验的软硬件环境如下:软件方面,使用64位的Ubuntu 18.04作为实验的操作系统平台,深度学习框架使用基于Python语言的PyTorh库。硬件方面,使用双路主板,配备2个Intel(R) Xeon(R) E5-2680 v4 @ 2.40 GHz的CPU,NVIDIA GeForce RTX 2070S,64G RAM。

3.2 数据集

由于本文待检测的医废包装袋破损没有公开数据集,因而本文自制了3000张数据集。为了增加破损图像的多样性,进而提升网络鲁棒性,本文制作的医废包装袋破损包含了多个位置与尺寸。又因为Yolov5网络在输入端对图形使用了Mosaic数据增强,且模型训练过程中加载COCO数据集的权重文件进行迁移学习,从而有效地减少数据不足而产生模型过拟合。本文自制的数据集虽然包含医废包装袋不同尺寸以及不同位置的破损,但实际应用中,关注的侧重点并不在破损的类型,而仅仅关注是否破损即可,因此,本文的数据集只有破损一个类别。本文使用labelImg工具对数据集进行标记,将破损目标标为damaged并保存成xml标签文件。

3.3 改进Yolov5网络的训练

图8 模型训练损失变化曲线

3.4 评测指标

为了对改进的Yolov5网络性能进行直观的评价,采用目标检测领域中一般通用的评测方法,即采用对目标检测精准率进行评估的平均精度值(mean average precision,mAP)和对目标检测速率的每秒传输帧数(frames per second,FPS)两个评价指标。其中平均精准度需要查准率(Precision)和查全率(Recall)两个评价指数计算所得。计算公式如下

(4)

(5)

(6)

其中,在查准率和查全率计算过程中,涉及反映预测情况与真实情况关系的3个指标TP,FP以及FN,除此之外,另有一个TN指标常与以上3个指标同时出现。TP,FP,FN以及TN的定义及关系见表2。在本文的mAP计算中,c值为1。

表2 TP,FP,TN,FN定义及关系

3.5 实验结果与分析

使用改进的Yolov5网络训练好的模型在测试集上进行测试,得到查准率、查全率、F1分数在不同置信度阈值下的比率如图9所示,F1分数作为查准率和查全率的调和平

图9 查准率、查全率、F1分数在不同置信度阈值下的值

均,能够较为均衡和全面地对算法进行评价,以下称查准率与置信度阈值的关系曲线为P-C曲线,称查全率与置信度阈值的关系曲线为R-C曲线,称F1分数与置信度阈值的关系曲线为F-C曲线。可以看出,查全率随着置信度阈值的增高而逐渐增高,在置信度阈值为0.8附近,查全率达到最大值1.0,说明本文改进的模型在置信度阈值大于0.8时,在目标测试集全部预测为正样本的医废包装袋破损目标中,包含了所有真实的正样本;相反,查准率随着置信度阈值的减小而逐渐减小,在置信度阈值为0.0时,查准率达到最大值0.98左右;F1分数则介于查准率和查全率之间,以P-C曲线和R-C曲线的交点为界,交点之前,F1分数与置信度阈值成正比,交点之后,F1分数与置信度阈值成反比,因此在交点置信度阈值为0.11左右时,F1分数达到最大值0.9左右,说明本文改进的模型在较小的置信度阈值时就能筛选掉大部分不是医废包装袋破损的候选目标,从而具备良好的预测性能,同时较小的置信度阈值还保证了较大的查全率,能在一定程度上避免漏检。

进而得到查准率与查全率的关系P-R曲线如图10所示,图例中包括damaged和all classes两条曲线,但由于本文数据集样本的所有类别all classes只有damaged一类,因此两个图例绘制出的曲线重叠。本文通过计算医废包装袋破损类别的P-R曲线在[0,1]区间的定积分,即可得到相应的mAP,其值为94.1%。

图10 医废包装袋破损检测P-R曲线

将本文改进的Yolov5与Yolov3、SSD、Faster R-CNN以及Yolov5原网络4个主流通用网络在自制的医废包装袋破损数据集上进行mAP和FPS两个指标的比对,结果见表3。

表3 不同网络的医废包装袋破损检测结果

表3可以看出,本文改进的Yolov5相较于其它主流网络,具有最高的检测精度,达到了94.10%。检测速度方面,原Yolov5速度最快,FPS达到118,本文改进的Yolov5其次,FPS为104,但这仍然达到了实时性的要求,且具有较高的速度水准。综合来看,本文改进的Yolov5较为均衡地兼顾了检测速度和检测精度,能够更好地应对医废包装袋的破损检测任务。

为验证本文算法改进策略的有效性,采取消融实验对每一步改进给整体模型产生的影响加以评价。将本文算法划分为4组进行训练,组一为Yolov5原网络;组二基于组一重新聚类了适合本文数据集的先验框;组三基于组二增加一个检测尺度;组四基于组三引入CBAM模块。在医废包装袋破损数据集上进行消融实验,各组实验结果见表4。

表4从mAP、Time以及FPS这3个指标对4组算法进行评价,由于Time和FPS呈负相关关系,因此只分析mAP和FPS两个评价指标。从整体来看,组四即本文改进的算法的mAP值最高,这说明本文算法改进方向的有效性;组二的FPS最高,这说明在不改变网络结构的基础上,对特定数据集重新聚类先验框能够在一定程度上提高模型的预测速度。按照组一到组四的改进方向来看,组二较之于组一,mAP提高了1.22%,FPS提高了2,说明重新聚类了适合本文数据集的先验框,能够提高模型预测精度和预测速度;组三较之于组二,mAP提高了2.58%,FPS降低了13,说明增加第四个检测尺度能够提高较小医废包装袋破损目标的预测精度,从而提高整体数据集的预测精度,但检测尺度的增加会增加模型的复杂度,从而降低模型的预测速度;组四较之于组三,mAP提高了1.70%,FPS降低了3,说明CBAM模块的引入使得模型能够更加有效地提取医废包装袋破损位置的特征,从而提高模型的预测能力,类似的,由于引入CBAM模块增加了模型的复杂度,进而降低了模型预测速度。以上实验结果可以看出,本文算法的改进策略能够以牺牲小部分预测速度但不影响模型预测实时性为代价来取得模型预测精度的可观提高,从而说明本文算法的改进策略是合理有效的。

表4 消融实验结果

为了对改进模型的性能进行分析,本文随机选取4组测试集图像,将其分别送入Yolov5和改进的Yolov5进行预测对比,图11从左到右依次是原图、Yolov5以及改进Yolov5的预测结果。可以看出,在(a)组大目标检测中,Yolov5原网络与改进的Yolov5均能准确预测;在(b)、(c)、(d)这3组小目标中,(c)组虽然均能检测出破损目标,但Yolov5原网络检测出的破损置信度较低,仅为0.59,改进的Yolov5能够达到较为理想的0.80,而在(b)、(d)两组中,Yolov5并未检测出破损目标。可见,改进的Yolov5对医废包装袋破损尤其是小目标破损具有可观的检测效果。

4 结束语

为解决医废包装袋破损检测尤其是小破损目标检测漏检率高、精度低的问题。本文基于Yolov5提出一种改进的Yolov5算法。首先,在原Yolov5的三尺度检测网络中增加更浅层的尺度形成四尺度检测网络;其次,使用K-means算法在自制的医废包装袋破损数据集上重新聚类先验框;接着,引入空间注意力和通道注意力相结合的CBAM结构;最后,通过将本文改进Yolov5与其它主流网络做对比实验,结果表明,本文改进的Yolov5对医废包装袋破损检测具有更好的检测精度,尤其对小目标破损的检测效果更显著,这对实际场景中其它对象的缺陷检测具有一定借鉴意义。但由于条件限制,本文自制的数据集医废种类较为单一且数据集的拍摄环境较为理想,因此下一步主要工作在于采集真实场景下种类更为丰富的医废包装袋破损数据,以进一步提升模型的鲁棒性和泛化能力。

猜你喜欢

包装袋置信度先验
基于数据置信度衰减的多传感器区间估计融合方法
BOP2试验设计方法的先验敏感性分析研究*
一种基于定位置信度预测的二阶段目标检测方法
硼铝复合材料硼含量置信度临界安全分析研究
包装袋
一种考虑先验信息可靠性的新算法
由包装袋变身的花盆
正负关联规则两级置信度阈值设置方法
包装也疯狂
先验的风