APP下载

改进YOLO v5s网络的混凝土裂缝检测方法

2024-01-09李健民贾晓芬

兰州工业学院学报 2023年6期
关键词:轻量化卷积精度

李健民,贾晓芬,b

(安徽理工大学 a.电气与信息工程学院,b.人工智能学院,安徽 淮南 232001)

随着社会经济的不断发展,城镇化的不断推进,各种桥梁、建筑如雨后春笋般林立而起。其中,混凝土由于设计方案、受力不均、热胀冷缩和材料选用等因素产生裂缝。混凝土裂缝的产生不仅影响建筑的外观,而且危害建筑的结构安全,可能会造成不可挽回的生命财产损失。所以及时发现并处理这些裂缝,对建筑的稳定性与安全性具有重要意义。

近年来,深度学习和卷积神经网络的研究与应用得到飞速发展,其相关成果在计算机视觉领域大放异彩,于是越来越多的学者将深度学习运用于裂缝检测中。Konstantinos M[1]等人分层地构建复杂的特征,利用深度学习架构的优势,将获得的特征用于训练适当的缺陷检测器,实现对裂缝的快速预测。Qu Z[2]等提出了一种新的多尺度卷积特征融合模块,在不同的卷积阶段,将高级特征与低级特征进行融合。孙朝云[3]等提出了一种基于卷积神经网络融合模型的路面裂缝识别方法,分别用 SSD网络模型进行裂缝分类和U-Net网络模型进行裂缝分割。Hamed M[4]应用单阶段YOLO v2与二阶段Faster-RCNN进行裂缝智能识别,试验表明YOLO v2网络模型识别精度更高。ZHANG C B[5]等提出了一种改进的YOLO v3网络应用于桥梁病害检测,通过引入焦点损失函数,以及新的迁移学习方法,有效提升了病害识别准确率。

已有研究成果表明,深度学习目标检测算法能够较高精度的进行裂缝检测,然而在特定环境工程应用中仍然存在部分问题:① 网络模型巨大,对硬件的算力和内存要求较高,难以部署在低算力平台上。② 难以在轻量化和高精度检测间实现平衡。为解决上述问题,本文提出了YOLO v5s-LGSE混凝土裂缝检测模型。首先在Ghost卷积的基础上改进出更为轻量化的LG卷积模块,进一步减少网络的特征冗余与参数量;其次采用Shuffle Net中的Channel Shuffle模块与LG卷积模块组成LGS模块,可以增加特征图的组间信息交流,提升模型准确性;最后引入ECA注意力机制,在保证不增加参数量的前提下加强特征图的通道特征。将LGSE模块替换为YOLO v5s模型中的Backbone与Neck中的Conv与C3的卷积模块,在显著降低了网络参数量的同时提升了混凝土裂缝的检验精度,满足工程检验需求。

1 YOLO v5s网络的改进

1.1 YOLO v5s-LGSE网络结构

本文采用轻量化卷积模块LGS与通道注意力模块ECA相结合的方式,串联形成LGSE模块,与原卷积模块相比,用更少的特征图提取较多的特征,减少了整个网络的特征冗余和计算量,提高了检验精度。

用LGSE模块替换YOLO v5s中除第一个之外的所有Conv,然后替换Bottleneck和C3模块,得到LGSEBottleneck与C3LGSE。最终所得的YOLO v5s-LGSE网络结构如图1所示。

图1 YOLO v5s-LGSE网络结构

1.2 LGS轻量化模块

1.2.1 LG模块

目前高精度的目标检测网络采用了大量的卷积运算进行特征提取,这就导致网络有较多的特征冗余、参数量大和模型体积大的问题,同时巨大的网络模型对硬件条件也是一个巨大的挑战,会出现显存不足或训练速度缓慢的情况。针对这些问题,华为诺亚方舟实验室提出轻量型网络结构GhostNet[6],能大量减少网络参数量,并在准确率、计算性能方面均超过MobileNetV3[7]等轻量化网络模型。结合GhostConv的思想改进LG(Lighter Ghost)模块,如图2所示,首先将输入进行1×1,通道为1/2输入通道的点卷积,旨在减少一半特征冗余;然后再进行两次3×3,通道为1/4输入通道的组卷积用于提取特征,最后三者拼接得到输出。

图2 LG模块结构

LG模块与GhostConv相比,旨在将原本1个高级廉价线性运算Фk(1≤k≤C)替换为2个低级廉价线性运算Ф1i和Ф2j(1≤ 1i≤C,1≤ 2j≤C)的串联结构,如图3所示。例如,将原本GhostConv中卷积核为5和1/2输入通道的组卷积替换为2个卷积核为3和1/4输入通道的组卷积的串联结构;2个3×3卷积堆叠与1个5×5卷积相比,具有相同的效果和感受野,且具备更少的计算量和更多的非线性,以防止梯度消失或爆炸,LG模块可以利用更少的特征图获得较多的特征,进一步去除网络中的特征冗余,减少网络中的参数量。

图3 GhostConv模块与LG模块

针对裂缝图像的特性,识别裂缝的关键在于能否提取出裂缝的轮廓信息,而并非是墙面或裂缝里的一些细节深层信息;所以采取2个3×3卷积堆叠和拼接的方式是为了浅层特征与深层特征融合,实现更高精度检测。

1.2.2 ChannelShuffle模块

当前优秀的轻量化网络大部分都使用了深度可分离卷积或者组卷积,用以减少网络的参数量和计算量,但是这2种卷积操作无法改变特征图的通道数,因此需要采用点卷积来促进通道之间的信息融合和改变通道的维度。轻量化网络中点卷积占据了较大的计算量并致使通道之间充满约束,一定程度降低了模型的预测精度,上述采用的LG模块就具有这个特点。所以选用Shuffle Net[8]中的Channel Shuffle模块,以促进特征图通道间的信息交流,平衡网络模型的轻量化和检测精度,如图4所示。Channel Shuffle是通过将通道按顺序排列为指定维度的矩阵,然后将矩阵进行转置操作,最后展平得到通道混洗过的特征图。Channel Shuffle巧妙地利用常规张量操作实现将每个组的信息分散到其他组里,这样一来输出的特征图就能均匀的包含每一组的特征;促进了组与组之间的信息交流,进而提升特征模型表达能力。

图4 Channel Shuffle转化过程

1.3 ECA通道注意力模块

在使用LGS模块进行特征提取后,网络模型的参数量和体积大大减少,随之而来的可能是影响裂缝的检验精度。为进一步提高检验精度,增强裂缝目标特征的表达,更好的提取裂缝特征信息。本文采用了高效的ECA[9]注意力机制,ECA是一种轻量级通道注意力模块,它能够在不改变输出特征图维度和几乎不增加参数量的前提下,对输入特征图进行通道特征加强,如图5所示。

图5 ECA通道注意力模块

由图5可知,实现ECA过程,首先对输入的特征图进行全局平均池化,从而将H×W×C维度的特征图压缩为1×1×C维度的特征图;然后对特征图通过1×1的卷积,进行通道特征学习,以获得每个特征点的权值;最后是通道注意力结合,将通道注意力的权值与原始输入特征图逐通道相乘,最终得到通道注意力的特征图。其中为解决不同输入特征图,提取不同范围的特征时,ECA在做1×1卷积时,卷积核的大小通过一个自适应函数变化(k=ψ(C)),即动态卷积核。

(3)

式中:k表示卷积核大小;C表示通道数;| |odd表示k只能取奇数;γ和b设置为2和1,用于改变通道数C和卷积核大小和之间的比例。

2 试验及结果分析

2.1 数据集

本文使用混凝土墙壁裂缝图片,制作自定义数据集进行训练和验证,共包含4 058张裂缝图片,由2种裂缝类别组成,如图6所示。其中包括普通裂缝(gap)2 006张和渗水裂缝(leaky_gap)2 534张(用于检测墙体内部有无管道破裂),用于试验的数据集的图片全部用LabelImg进行手工标注,且使用随机划分的方法划分训练集和验证集,其中训练集和验证集的划分比例为8∶2,最终划分结果为训练集3 678张,验证集980张。

图6 普通裂缝与渗水裂缝

2.2 试验环境与训练参数

试验使用的硬件环境及软件配置如表1所示,在网络训练过程中,设置参数学习率为0.01,动量为0.937,优化器为带动量的SGD,权重衰减为0.000 5,epoch设为300次,batch_size设置为8,图片大小设置为640×640。

表1 硬件环境及软件配置

2.3 消融试验及结果

为验证YOLO v5s-LGSE模型设计的轻量性与合理性,需通过消融试验来验证LGS模块与注意力ECA模块单独作用时的效果。故开展了表2中的4个试验,其中“√”表示使用了该模块,无“√”表示未使用该模块,试验1为YOLO v5s原网络,试验4为YOLO v5s-LGSE网络。

表2 消融试验结果

由表2可知,试验1中原始YOLO v5s网络的网络参数为7.0 M,计算量为16.0 G,模型大小为13.7 Mb;检验精度方面mAP@0.5为97.3%,mAP@0.5∶0.95为79.8%;FPS为61.3。在试验2中,按照图2方式只添加LGS模块,网络参数量、计算量、模型体积与原始网络相比减少了47.1%、49.4%、44.5%,得益于深层与浅层特征融合和增强组间信息交流的作用,试验2在减参的基础上,mAP@0.5增加1%,mAP@0.5∶0.95增加3%,但是FPS降低了20.4%。试验3中只按照图2方式添加注意力模块ECA,在参数量、计算量和模型体积与原始网络相比几乎不变的条件下,mAP@0.5增加0.7%,mAP@0.5∶0.95增加0.8%,但是FPS降低了37.5%。而在试验4中,YOLO v5s-LGSE模型与原始网络相比,参数量、计算量、模型体积减少了47.1%、49.4%、44.5%,mAP@0.5增加1.2%,mAP@0.5∶0.95增加4.3%,FPS减少了42.9%。

2.4 对比试验及结果

为了验证本文改进网络模型的轻量化和检测效果,将本文模型与YOLO v5原网络和当前主流的目标检测网络进行对比,以证明改进的有效性。表3为不同网络之间的对比情况。

表3 对比试验结果

由表3可知,在检验精度方面,YOLO v4-Tiny可能由于网络自身在多目标和小目标检测方面会出现漏检,所以mAP@0.5只有88.3%,与其他主流目标检测精度相差较大;YOLO v5s-LGSE网络与轻量化网络YOLO v5s和YOLO v7-Tiny相比有1.2%和2.1%的提升;与一阶段经典网络SSD、YOLO v3、YOLO v4以及较新的YOLO v7相比有1.3%、0.5%、4.4%、0.2%的提升;与二阶段经典网络Faster-RCNN相比也有0.2%的提升。可以看出本文改进的网络模型均优于传统目标检测网络,满足混凝土裂缝高精度检测的要求。

在轻量化方面,YOLO v5s-LGSE网络的参数量为3.7 M、计算量为8.2 G、模型体积只有7.6 Mb,与大型网络SSD、Faster-RCNN、YOLO v3、YOLO v4和YOLO v7相比,无论是参数量、计算量还是模型体积均有大幅减少;与轻量化网络YOLO v4-Tiny、YOLO v5s、YOLO v7-Tiny相比,网络参数量减少了37.3%、47.1%、38.3%;计算量分别增加20.6%、减少48.8%和37.9%;模型体积减少了66%、44.5%、35%。

在检测速度方面,YOLO v5s-LGSE网络的FPS为35,比SSD、Faster-RCNN、YOLO v3、YOLO v4和YOLO v7等大型网络要快,但慢于YOLO v4-Tiny、YOLO v5s和YOLO v7-Tiny等轻量化网络。

2.5 泛化试验及结果

为了验证LGSE模块是否真的即插即用,在其它网络中也能实现减参和高效检测。故开展了表4中的3组6个对比试验。分别选取YOLO v3、YOLO v7和轻量化网络YOLO v7-Tiny作为本次泛化试验的基准网络,其中“√”处表示是原始网络还是用LGSE模块改进后的网络。在YOLO v3中将主干网络的Conv和Bottleneck结构替换为LGSE与LGSEBottleneck,而在YOLO v7与YOLO v7-Tiny网络中将CBS以及ELAN尾部的CBS替换为LGSE模块。

表4 泛化试验结果

由表4数据可知,添加LGSE模块的YOLO v3网络与原始网络相比,mAP@0.5不变,mAP@0.5∶0.95增加3.7%,但是参数量、计算量、模型体积分别减少了20.5%、50.4%、19.7%。在YOLO v7网络中,参数量、计算量、模型体积分别减少了5.9%、14.4%、14.4%,mAP@0.5不变,但是mAP@0.5∶0.95减少了2.9%。在轻量化网络YOLO v7-Tiny中,参数量、计算量与模型体积减少了13.3%、13.6%、12.8%,mAP@0.5增加0.5%,mAP@0.5∶0.95增加16.6%。

检测速度方面,更改前后除YOLO v3能保证检测速度基本持平外,在YOLO v3与YOLO v7-Tiny网络中均有13.8%和19.6%的下降。

为了观察YOLO v5s-LGSE的实际检测效果,分别给出了YOLO v5s与YOLO v5s-LGSE在渗水裂缝与普通裂缝的检测效果,如图7所示。

图7 YOLO v5s与YOLO v5s-LGSE的检测效果

由图7可知,YOLO v5s模型对2张渗水裂缝图片的检测精度分别为87%和73%,对普通裂缝图片的检测精度分别为77%和36%;而相同图片条件下YOLO v5s-LGSE模型对这些图片的检测精度分别为89%、83%、90%和43%。由检测结果图可知,YOLO v5s-LGSE模型具有更高的检测精度且更能精准地预测裂缝位置。

3 结语

文中针对混凝土裂缝检测提出的轻量化检测网络YOLO v5s-LGSE,能够解决混凝土裂缝检测遇到的通道语义丢失、目标特征提取不充分和网络模型巨大难以部署在算力平台上等难题;经过消融和对比试验论证了LGS模块在特征提取过程中,通过更为轻量化的Ghost Conv与通道混洗相结合,可以减少网络参数量和计算量,压缩模型体积的同时还可以促进通道语义信息交流,平衡参数量和检验精度;引入通道注意力ECA模块可以增强通道特征的表达,在几乎不增加网络参数量的前提下进一步提升网络的检验精度。对于模型检测速度下降可以通过后期在硬件平台部署TensorRT以提升检测速度。

通过大量试验证明,YOLO v5s-LGSE网络模型参数量仅为原网络的52.2%,检验精度高达98.5%,无论是在模型的轻量化还是检验精度的提升方面均实现了较为理想的结果,对实现实时性、便携性的混凝土裂缝检测具有一定意义。

猜你喜欢

轻量化卷积精度
汽车轻量化集成制造专题主编
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于DSPIC33F微处理器的采集精度的提高
基于傅里叶域卷积表示的目标跟踪算法
GPS/GLONASS/BDS组合PPP精度分析
瞄准挂车轻量化 锣响挂车正式挂牌成立
用户:轻量化挂车的使用体验