当前位置:首页 > 工业控制 > 《机电信息》
[导读]针对目前道路表面裂缝缺陷检测方法普遍存在识别率低、实时性差以及多尺度特征下检测效果不好等问题,提出 一种改进的YOLOv5s算法模型。该算法引入simAM三维带权注意力机制且不引入额外参数,在模型中融入加权双向特征金字塔进 行多尺度特征融合;同时改进预测框损失函数,使得损失函数收敛更快。经过对比实验,改进后模型的裂缝检测均值平均精度提高了2.2%,准确率为90. 5%,表明了模型的有效性。

引言

随着深度学习快速发展,具有大量参数的神经网络可以提取到更多的图像特征。张伟光等人基于卷积神经网络搭建了包含3个卷积层和2个全连接层的网络模型,通过对比实验得出结论,卷积神经网络具有更高的精度[1]。为使检测速度更快、精度更高,有学者提出SSD[2]算法。王博等人对此算法进行优化,用MobileNet网络代替SSD特征提取网络中的VGG模块,并通过特征金字塔进行融合,构建出轻量级的道路裂缝检测算法[3]。YOLO系列目标检测算法经过不断更新,检测速度和模型尺寸相比其他检测模型更占优势。J.zhang等人为提高检测速度,用一些轻量级网络代替YOLOv4中的特征提取网络以使模型加速,减少了参数量和主干网络层数,使模型精度和速度更优,且模型更具轻量性[4]。为了提高复杂路面的识别精度,一些学者对YOLO系列算法进行了变体改进。R.Li等人使用半导体激光投射到路面裂缝上,再用摄像头采集到更容易识别的图像,将图片输进基于YOLO算法的PDNN神经网络以检测路面坑洞,该方法适用于各种天气的路面数据并能计算受损区域面积[5]。D.Ma等人基于改进的YOLO-MF和PCGAN对抗网络对路面裂缝进行计数[6],实现了较高的准确率和F1得分。彭雨诺等人提出了YOLO-lump和YOLO-crack用于提取稀疏表达的多尺度特征,能减少信息损失[7],达到了提高检测精度和响应速度的目的。本文使用YOLOv5S模型对道路裂缝进行检测,并进行了结构改进,以改善对深层特征信息的提取与利用,保证实时检测的同时提高了检测精度。

1 YOLO算法原理

1.1目标检测

目标检测是计算机视觉领域的重要研究方向之一,目标检测主要完成三个任务:检测出图像中目标的位置且同一张图片可能存在多个检测目标;检测出目标的大小范围;对检测到的目标进行识别分类。最终输出图像中物体的类别和位置坐标。二阶段算法主要通过多个不同尺度的检测框确定目标候选区域,再进行分类回归运算。而YOLO系列则是一阶段目标检测算法,该系列算法能根据多个初始锚框一次性获得多个回归框的位置信息和分类信息,实现单阶段目标检测的网络训练。相比二阶段算法,YOLO系列算法检测速度更快。具有代表性的一阶段算法还有SSD、ATSS和基于锚点的RepPointS等。

1.2算法结构

YOLOv5S算法有四种模型:YOLOv5S、YOLOv5Sm、YOLOv5Sl、YOLOv5SX[8]。优点是迁移能力强且识别速度快,对于欠实时系统,YOLOv5S算法速度快于其他二阶段检测模型。本文使用YOLOv5S网络作为基础模型,由四部分组成:输入层、主干网络层、Neck层和输出层。输入层对图像进行预处理、数据增强和自适应锚框计算。在主干层,切片操作能使网络在特征不丢失的情况下实现二倍下采样操作。而CSP结构则是受到CsPNet启发,将CsP1一X和CsP2一X分别引入到Backbone和Neck中。其中CsP1一X由X个残差块和若干卷积操作组成。sPP模块通过使用三个卷积核实现最大池化,从而满足最终输入一致性。

2算法改进

2.1 simAM注意力机制

本文引入simAM注意力模块[9],这是一种轻量级即插即用模块,是受人脑注意力机制启发而提出的一种具有三维权重的注意力模型。如图1所示,在该模型中对明显表现出空间抑制效应的神经元给予更高的权重,权重通过一个能量函数来计算,如式(1)所示:

通过计算wt、bt的解析解以及通道中所有神经元的均值和方差得到最小能量,能量越低,t神经元和其他神经元的区别越大,越重要。在识别裂缝时,simAM模块通过测量一个目标神经元与其他神经元的线性可分离性从当前神经元中计算出三维权重,即计算每个神经元的能量函数。负责提取裂缝相关关键特征的神经元权重更高,故优先处理该类神经元与任务相关的信息,进而提高了模型检测精度。

本文将注意力机制加入YOLOv5S主干网络的Bottleneck之中,且设计了两种可行方法,如图2所示。

第一种方法是将simAM放在每个C3模块的后面,这样可以使注意力机制看到局部的特征,每层进行一次注意力运算,可以分担学习压力。第二种方法是将simAM放在backbone部分的最末端,这样可以使注意力机制看到整个backbone部分的特征图,具有全局视野,可以加强目标特征信息的提取。经实验验证,选用第二种方法作为本文的改进方法。

2.2 BiFPN

在道路裂缝数据采集过程中,由于裂缝形状大小不同以及采集距离有远有近,裂缝输入数据的尺寸差别较大,而经过YOLOv5S主干网络中的多个C3模块处理后,图像尺寸会不断缩小1/2且底层位置信息会部分丢失,没有充分利用不同尺度之间的特征,导致网络模型的检测精度有限。

加权双向特征金字塔网络(BiFPN)[10]是一种具有高效双向特征融合、跳跃连接以及带权特征融合机制的模块,能同时得到包含高层语义信息和低层语义信息的全局特征[11],不同输入层的权重不同且权重可以根据网络自动更新,其结构如图3所示,它能保证网络最大限度地保留全局上下文特征信息,使目标检测网络提取不同尺度特征,大大提高了小目标的检测性能。BiFPN在输入节点和输出节点间加入了横向跳跃连接,不但增加了融合节点的输入,还保留了原始节点的特征信息,使得模型能融合更多特征;同时移除了单输入边没有进行特征融合的节点,简化了网络结构,减少了计算量。BiFPN可以通过重复堆叠的方式进行更多特征的融合,本文在Neck中引入BiFPN模块。

2.3损失函数改进

YOLOv5s使用CIoU一loss作为预测框损失函数,但当CIoU一loss中宽高比为一定比例时,损失函数中的惩罚项将不再起作用,会降低模型优化速度。EIoU一loss在CIoU一loss的基础上进行改进,LEIoU计算公式如式(2)所示:

式中:LEIoU为EIoU损失函数;IoU为交并比;p为预测框与真实框中心点之间的距离;b和bgt为目标框和预测框中心点坐标;m和h分别为预测框的宽和高;mgt和hgt分别为真实框的宽和高;c为能同时包含预测框与真实框的最小矩形框的对角线长度;cw为该最小矩形框的宽;ch为该最小矩形框的高。

EIoU一loss将m与mgt、h与hgt之间的差距最小化,使损失收敛速度更快、定位效果更好。

3模型测试和结果分析

3.1数据集及环境

数据集的选取对模型检测结果具有重要作用,由于YOLOv5s的特征提取网络对数据进行了5次下采样,所以图像的长和宽需为32的整数倍。本文在公开的CRACK 200、CRACK 500和Bridge CRACK等数据集中经过图像清洗,最后选取了1 280张JPG格式的路面裂缝图片,数据集标签为“Crack”“Map crack”“Hole”。

为证明改进后模型的有效性,需对改进前后模型进行对比实验。将上述标签处理和预处理后的图片输入网络中进行目标识别训练和检测。实验时将模型部署到电脑端PyCharm上,使用Python3.8为编译语言,在Cuda加速和Pytorch深度学习框架下运行。本次研究的实验配置如表1所示。

3.2评估标准

对模型的裂缝检测能力进行评估,引入了模型的评价指标。准确率P表示预测样本中正样本比例,召回率R表示预测样本中实际正样本数占所有预测样本的比例,其计算公式分别如式(3)和(4)所示:

式中:TP为正确检测出裂缝的样本数量;FP为裂缝检验出现错误的数量;FN为裂缝的未检验数量。

mAP(mean Average Precision)为多个不同类别的平均AP值,每个类别根据不同的置信度和IoU闽值,对应有不同的准确率和召回率,计算准确率和召回率构成的二维曲线图面积即得到AP值。

3.3训练与检测

选用1 280张大小为1 024X1 024X3的图像作为总数据集,为了保证模型精度,减小泛化误差,将训练集与测试集以8:2的比例划分以进行交叉验证。在实验前需进行参数设置,初始学习率为0.01,下降学习衰减系数为0.000 5,置信度闽值IoU为0.5,批次量为15,选代次数为200。

在预热时,YOLOv5s利用一维线性插值去更新每次选代的学习率,当达到预设值时,再通过余弦退火算法对学习率进行不断更新。经过训练得到最优权重,将最优权重传入Detect.py文件中用于最终检测。检测结果如图4所示,可以看出该模型能准确识别出裂缝、网状裂缝和坑洞目标,初步达到预定要求。

如图5所示,经过200个选代周期后改进YOLOv5S—SA+BF算法对道路裂缝的检测精度逐渐收敛为00.5%,mAP值最后稳定在02.4%。

为了验证加入注意力机制后模型在复杂背景下识别不同种类裂缝的能力,与其他主流方法进行了对比实验。首先使用FaSter—RCNN和YOLOv4模型对裂缝数据进行训练,再采用YOLOv5S模型和超参数设置相同的改进模型进行训练检验,在实验同时统计各个方法的检测速度和模型大小,对比实验结果如表2所示。

由表2可知,相比YOLOv4和FaSter—RCNN算法YOLOv5S更具轻量性和实时性,模型仅有14.8 MB,在模型大小上更具优势。由于SimAM的无参性,改进后的模型对每张图像的推理耗时并未产生影响,每秒可处理52.6峽图片。在平均精度上,加入注意力机制后的YOLOv5S—SimAM算法比原始YOLOv5S算法精度提高了1.4%,而YOLOv5S—SA+BF相比原始算法检测精度提高了2.2%,召回率为04.5%,且检测速度没有太大区别,仍能满足实时性需求。

图6为验证集上测试改进后模型检测效果,由模型的回归损失、置信度损失和分类损失的变化可知,改进后的模型置信度损失和边界框回归损失更低,模型收敛速度也相对较快。YOLOv5S—SA+BF模型在200个选代周期后,各项损失均趋于平缓,不再下降,边界框回归损失达到0.0263,目标置信度损失为0.0316,分类损失为0.025 1。可以看出,本文提出的改进算法在三种不同的损失上都有着不同程度的减弱,对模型具有优化作用。

4结束语

本文提出了一种基于改进YOLOv5S的道路裂缝检测模型,即YOLOv5S—SA+BF,在识别过程中能够优化裂缝特征的提取与检测。该算法在一定程度上提高了对裂缝检测的精确度,且在不引入额外参数的同时只增加了少量推理计算,对裂缝识别速度造成的影响可以忽略不计。实验结果表明,采用该算法,道路裂缝检测的精度、召回率和平均精度均得到了提升。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近年来,随着现代医疗技术的进步,人类的平均寿命不断延长,导致人口老龄化危机加剧[1]。在这一背景下,中风发病率预计将呈上升趋势,为提高患者的运动能力,机器人在康复领域得到了广泛的应用,尤其是下肢外骨骼机器人[2]。这类机...

关键字: 脑机接口 SSVEP 深度学习

以下内容中,小编将对机器学习的相关内容进行着重介绍和阐述,希望本文能帮您增进对机器学习的了解,和小编一起来看看吧。

关键字: 机器学习 深度学习

今天,小编将在这篇文章中为大家带来机器学习的有关报道,通过阅读这篇文章,大家可以对机器学习具备清晰的认识,主要内容如下。

关键字: 机器学习 深度学习

随着科技的不断进步,人工智能(AI)已成为当今世界的热门话题。它以其强大的计算能力和深度学习能力,在多个领域展现出巨大的应用潜力。本文将对人工智能技术进行详细的探究,包括其定义、发展历程、主要技术、应用领域以及面临的挑战...

关键字: 人工智能 深度学习 计算机

语音识别这一技术也越来越受到关注。尤其,随着深度学习技术应用在语音识别技术中,使得语音识别的性能得到了显著提升,也使得语音识别技术的普及成为了现实。

关键字: 语音识别 深度学习 Audry系统

本文中,小编将对机器学习予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 机器学习 深度学习

随着信息技术和算法研究的不断深入,人工智能(Artificial Intelligence, AI)已逐渐从理论构想走向现实应用,并在全球范围内引发了科技革命。当前阶段的人工智能正处于一个快速发展且日益成熟的时期,我们将...

关键字: 人工智能 深度学习

随着信息技术的飞速发展,人工智能(Artificial Intelligence, AI)作为一门综合了计算机科学、数学、统计学、认知科学和神经科学等多个学科知识的前沿技术领域,正以前所未有的速度改变着世界。本文将系统梳...

关键字: 人工智能 深度学习

一直以来,机器学习都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来机器学习的相关介绍,详细内容请看下文。

关键字: 机器学习 深度学习

在这篇文章中,小编将为大家带来机器学习的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 机器学习 有监督学习 深度学习
关闭