Missing bolt detection system for steel structure canopy of high-speed railway passenger station based on YOLO algorithm
-
摘要: 当前,我国高速铁路客运车站钢结构雨棚螺栓缺失检测过于依赖人工目测,其危险系数大、成本高、效率低且误检率高。为解决该问题,提出一种基于YOLO(You Only Look Once)算法的螺栓缺失检测系统。该系统采用YOLOv4卷积神经网络,对现场采集的钢结构雨棚和接触网螺栓进行标注,通过K-means聚类算法,确定锚框数目和尺寸;利用CutMix和Mosaic等数据增强操作,增加训练数据的多样性,避免出现训练过拟合。试验结果表明,该系统类别识别准确率可达85%以上,识别效果较好,满足检测实时性要求。Abstract: At present, the missing detection of steel structure canopy bolts in high-speed railway passenger stations in China relies too much on manual visual inspection, which has great risk coefficient, high cost, low efficiency and high false detection rate. In order to solve this problem, this paper proposed a bolt missing detection system based on YOLO algorithm. The system used YOLO v4 convolution neural network to mark the steel structure canopy and catenary bolts collected on site, determined the number and size of anchor frames by K-means clustering algorithm, and used cutmix, mosaic and other data to enhance the operation, increase the diversity of training data, and avoid training over fitting. The trial results show that the category recognition accuracy of the system can reach more than 85%, and the recognition effect is good, which meets the requirements of real-time detection.
-
Keywords:
- YOLOv4 algorithm /
- steel structure canopy /
- bolt detection /
- deep learning /
- data enhancement
-
我国高速铁路客运车站钢结构雨棚大部分采用高强螺栓连接,由于长期暴露等原因,导致其强度逐渐降低,在使用过程中易产生断裂、脱落等病害,存在重大安全隐患。因此,对螺栓状态进行定期检查具有重要意义。目前,螺栓检查方法以人工目测的定期巡查为主,也有部分采用安装传感器的方式,但由于螺栓连接节点较多,分布广泛,需要耗费大量人力资源和时间成本,且漏检率较高,对于高度大、距离远的结构构件较难进行有效检查。传统的检测方式难以满足需求,因此,本文提出一种基于YOLO算法的高速铁路客运车站钢结构雨棚螺栓缺失检测系统。
基于深度学习的目标检测算法主要分为单阶段和双阶段2类。其中,双阶段目标检测算法从RCNN(Region Convolutional Neural Networks)、Fast RCNN到Faster RCNN已发展了多个版本,此类方法分为2个子网络,分别进行定位回归和分类任务;单阶段算法以YOLO[1](You Only Look Once)和SSD(Single Shot MultiBox Detector)为代表,相比双阶段算法,此类方法的定位和分类仅通过1个网络,在保持一定检测精度的前提下,具有更好的检测速度,可满足某些实时性要求较高的场合。基于单阶段目标检测算法的优势,本文采用YOLOv4作为检测算法,对高速铁路客运车站雨棚螺栓进行检测识别[2]。
1 YOLOv4算法概述
1.1 YOLOv4网络结构
YOLOv4[3]属于单阶段目标检测算法,将目标分类和定位回归集成在一个网络中,实现输入图像便可同时完成分类与回归工作[4]。YOLOv4比YOLOv3[5]网络结构更加复杂,如图1所示。YOLOv4加入多种训练技巧来提升训练准确性,并进行成本控制。其中,充当YOLOv4 Neck结构的SPP(Spatial Pyramid Pooling)和PANet(Path Aggregation Network)可对不同特征层的语义信息进行融合补充,有利于检测不同尺寸的目标。例如,将输入尺寸(单位:px)为416×416的图片经过CSPDarknet53特征提取和PANet特征融合,输出的特征层尺寸(单位:px)分别为13×13、26×26、52×52,在特征层上划分的网格尺寸越小,感受野越大,适合检测大目标;反之,适合检测较小目标,在一定程度上满足了不同尺寸目标的检测需求。
1.2 YOLOv4算法适应性改进
相比之前的YOLO算法,YOLOv4算法实现了速度和精度的平衡,在以下4方面进行了改进。
(1)采用新的backbone特征提取网络
YOLOv4采用CSPDarknet53作为特征提取网络,解决了大型CNN优化中存在的梯度信息重复问题,并将梯度变化全部集成到特征图中,有效减少模型参数量,提高计算速度,在保证预测实时性和准确性的同时,减小了模型尺寸。
(2)先进的数据增强方法
YOLOv4使用CutMix[6]和Mosaic数据增强方法。CutMix对2张图像进行裁剪,并拼接成1张新样本,对2张图像中目标的标签值进行线性组合形成新样本标签,采用加权求和的方式计算损失;Mosaic将4张图像合并为1张进行训练,丰富了检测目标的背景,使得每个mini-batch包含较大的图像变化,从而减少估计均值和方差时需要较大mini-batch的需求,降低了训练成本。
(3)backbone改用Mish[7]激活函数。Mish激活函数具有更好的泛化性和更高的准确性,输入为负值时不完全截断,允许较小的负梯度流入,有利于梯度的计算和更新,其公式为
$$ y=x\mathrm{}{\rm{tanh}}({\rm{ln}}(1+{e}_{x}\left)\right) $$ (1) 其中,
${x}$ 和${y}$ 分别表示图像特征的输入和输出;$ \mathrm{l}\mathrm{n}(1+{e}_{x}) $ 为softmax激活函数; tanh为双曲正切函数。(4)使用综合交并比(CIOU,Complete Intersection Over Union)作为损失计算标准。交并比(IOU,Intersection Over Union)策略没有考虑真实框与预测框中心之间的距离信息,没有重叠的预测框便不再计算损失。由于预测框中心点距真实框中心越小预测越准确,运用考虑两个框之间重叠面积、中心点距离、长宽比的CIOU计算的预测框会更加符合真实框,其公式为
$$ CIOU=IOU-\frac{{\rho }^{2}\left(b,{b}^{gt}\right)}{{c}^{2}}-\alpha v $$ (2) $$ \alpha =\frac{v}{1-IOU+v} $$ (3) $$ v={\frac{v}{{{\text{π}} }^{2}}\left(\frac{\mathrm{arctan}{w}^{gt}}{{h}^{gt}}-{\rm{arctan}}\frac{w}{h}\right)}^{2} $$ (4) 其中,
$ w $ 表示预测框宽度;$ h $ 表示预测框高度;$ b $ 表示预测框中心;$ {w}^{gt} $ 表示真实框宽度;$ {h}^{gt} $ 表示真实框高度;$ {b}^{gt} $ 表示真实框中心;$ {\rho }^{2}\left(b,{b}^{gt}\right) $ 表示预测框到真实框中心点的欧氏距离;c为预测框和真实框最小外接矩形对角线长度;$\mathrm{\alpha }$ 为权重系数;$ v $ 是度量长宽比相似性的参数。2 系统设计
2.1 系统组成
基于YOLO算法的螺栓缺失检测系统包括定位导航模块、数据采集模块及数据处理模块3部分。其中,定位导航模块由点云地图构建和路径规划组成,负责站台地图构建与巡检路径规划,可设置螺栓检测点位置;数据采集模块由Raspberry Pi处理器、网络高清摄像头、云台组成,负责在检测点处进行螺栓图像采集,并通过实时流传输协议(RTSP,Real Time Streaming Protocol)发送至服务器端;数据处理模块位于PC端,主要功能包括:图像预处理(图像增强、图像压缩和灰度转换)、图像检测与识别。
2.2 系统工作流程
本系统工作流程如下:
(1)利用定位导航模块建立点云地图并在地图上规划巡检路径和检测点;
(2)设置自动巡检任务,并在检测点位置记录待检测螺栓的云台角度;
(3)执行设置的自动巡检任务,搭载系统的监测设备到达检测点,且云台转至对应角度后开启识别功能;
(4)将识别出的螺栓数目与理论数目进行对比,得出差值,若缺失则进行记录并报警。
3 检测实验
3.1 数据获取与标注
3.1.1 基础数据集
选取6个高速铁路站台的雨棚和接触网的螺栓作为采样对象,采用4 K网络高清摄像头、相机等可移动设备拍摄照片和视频。为保证数据的多样性,在不同角度、焦距和光照条件下,对同一具体场景目标区域进行多次采集。人工筛选出有效图像,剔除模糊、重复的无效样本。经筛选得到雨棚螺栓正面样本3022例、背面样本738例、接触网螺栓1550例,共5310例,并分别标注样本类别为LS_YP、LSB_YP、LS_JCW,部分样本图像如图2所示。选择接触网螺栓作为采样对象的目的是为了验证该检测系统对螺栓样本类别的识别能力。
3.1.2 数据增强
由于采集的样本较为单一,同一样本出现的次数较多,训练结果易出现过拟合,系统泛化性较低,导致识别准确性下降。在数据集数量一定的情况下,为进一步增加训练数据的多样性,获得更加平衡的数据集,本系统采取数据增强(CutMix和Mosaic)方法对样本进行扩充,来解决样本单一带来的过拟合问题。
CutMix方法是在1张图片上随机裁剪1个矩形框,在另1张图片相同位置上裁剪大小一致的框,将第2张图片裁剪的部分拼接在第1张的相应位置,形成1张新的样本,样本的标签根据拼接的面积按比例调整,如图3(a)所示。Mosaic方法是将4张图片拼接为1张图片,如图3(b)所示,增加了检测物体的背景多样性,训练时便可小批次输入,降低了训练时间和计算量。也可再对拼接的样本进行随机水平翻转、颜色变化等操作,进一步增加样本的多样性。
3.2 环境与参数配置
本文在Window10系统中,采用TensorFlow 2.4.0深度学习框架搭建YOLOv4卷积神经网络。实验训练所用模型的backbone部分采用COCO数据集预训练参数初始化,在每一轮训练中同时进行CutMix和Mosaic数据增强,通过K-means聚类算法得到的预设边界框尺寸(单位:px)为:65×64,71×71,97×97,117×115,126×125,171×168,230×282,333×397,376×247。模型主要训练参数如表1所示。
表 1 模型训练参数参数 取值 参数 取值 Input shape(输入变量尺寸/px) 416×416 权重衰减系数 0.0005 Epoch(训练迭代次数) 300 Learning rate(学习率) 0.0013 Num_works(工作进程) 1 Batchsize(训练样本数量) 8 CutMix(数据增强) True Mosaic(数据增强) True Confidence(置信度) 0.7 Nms_iou
(非极大值抑制交并比)0.3 3.3 实验结果
本实验数据集螺栓图片数量为5 310张,随机抽取图片分配给训练集、验证集和测试集,分配比例为:7:2:1,即训练集3717张,验证集1062张,测试集531张。训练过程中采用ModelCheckpoint监测函数,每10轮检查一次损失值,当损失值有明显减小时保存最新权重,当损失不再减小时停止训练,此时,训练集损失值为5.698,验证损失为5.896。
使用训练好的模型对验证集进行检测分析,部分测试结果如图4所示,分析得出的识别结果,如表2所示。本验证集中,各类别人工确认的螺栓总数(目标理论总数)为62个;本实验采用的置信度为0.7,当模型最后判断目标为某种类别的置信度超过0.7时,便认为其属于该类别,进行框选,否则忽略此目标。
表 2 YOLOv4算法识别结果编号 目标类别 理论数 检测数 漏检数 L-01 LS_YP 22 22 0 L-02 LS_YP 8 8 0 L-03 LS_JCW 4 4 0 L-04 LS_JCW 4 3 1 L-05 LSB_YP 12 8 4 L-06 LSB_YP 12 7 5 由表2可知,利用YOLOv4模型在验证集中检测出螺栓总数52个,类别的识别正确率为100%;漏检10个,漏检率16.1%。在对531张测试集样本的检测中,类别的识别正确率为87.5%,漏检率为11.5%。出现漏检问题的主要原因是待检目标的部分区域被遮挡,因遮挡样本较少,训练后的模型对此类目标敏感度较低,因受环境光照影响导致目标模糊不清,模型无法提取深度特征,使得漏检率增加;存在类别识别不正确问题的主要原因是训练样本数量仍不足,对目标特征的区分不够细化,增加训练样本数量,进一步训练,类别识别正确率将会有所提高。
4 结束语
针对高速铁路客运车站雨棚钢结构螺栓缺失带来的安全隐患问题,本文研究了一种基于YOLO算法的螺栓缺失检测系统,采用YOLOv4算法进行螺栓识别,识别准确率较高,漏检率较低,满足了检测实时性要求,减少了人工检测的工作量,具有一定的实际意义[8]。但在试验过程中也存在一些问题:
(1)对于有遮挡的目标检测识别漏检率较高;
(2)由于样本来源固定,导致样本种类比较单一,数量有限,训练过程中容易过拟合。
因此,在后续工作中将以解决上述问题为目标,在不同环境和地点条件下采集样本,增加样本的种类,避免过拟合现象。
-
表 1 模型训练参数
参数 取值 参数 取值 Input shape(输入变量尺寸/px) 416×416 权重衰减系数 0.0005 Epoch(训练迭代次数) 300 Learning rate(学习率) 0.0013 Num_works(工作进程) 1 Batchsize(训练样本数量) 8 CutMix(数据增强) True Mosaic(数据增强) True Confidence(置信度) 0.7 Nms_iou
(非极大值抑制交并比)0.3 表 2 YOLOv4算法识别结果
编号 目标类别 理论数 检测数 漏检数 L-01 LS_YP 22 22 0 L-02 LS_YP 8 8 0 L-03 LS_JCW 4 4 0 L-04 LS_JCW 4 3 1 L-05 LSB_YP 12 8 4 L-06 LSB_YP 12 7 5 -
[1] Bochkovskiy A, Wang C Y, Liao H Y M. Yolov4: Optimal speed and accuracy of object detection[C]//IEEE Conference on computer Vision and Pattern Recognition. 2020. arXiv: 2004.10934v1[cs. CV].
[2] 赵欣欣,钱胜胜,刘晓光. 基于卷积神经网络的铁路桥梁高强螺栓缺失图像识别方法 [J]. 中国铁道科学,2018,39(4):56-62. DOI: 10.3969/j.issn.1001-4632.2018.04.09 [3] 车翔玖,陈赫元. 基于改进YOLOv4的多目标光盘检测算法 [J]. 吉林大学学报(工学版),2021. DOI: 10.13229/j.cnki.jdxbgxb20211013 [4] 李保龙,房志恒,战家旺. 基于概率神经网络的钢桁梁桥螺栓脱落损伤定位识别研究 [J]. 铁道建筑,2021,62(7):54-58. DOI: 10.3969/j.issn.1003-1995.2021.07.11 [5] Redmon J, Farhadi A. YOLOv3: An Incremental Improvement [J]. arXiv preprint arXiv:, 1804, 02767: 2018.
[6] Sangdoo Yun, Dongyoon Han, Seong Joon Oh, et al. CutMix: Regularization Strategy to Train Strong Classifierswith Localizable Features [J]. arXiv preprint arXiv:, 1905, 04899v2: 2019.
[7] Diganta Misra. Mish: A self regularized non-monotonic neural activation function [J]. arXiv preprint arXiv:, 1908, 08681: 2019.
[8] 张飞霞. 车站钢结构雨棚使用中发现的问题及处理方法 [J]. 上海铁道科技,2013(4):134-136. DOI: 10.3969/j.issn.1673-7652.2013.04.060 -
期刊类型引用(1)
1. 陈建华,黄利民,许剑,安晓亚,郭建忠. 面向多元化需求的建筑信息模型轻量化方法研究. 中国建筑装饰装修. 2024(08): 69-72 . 百度学术
其他类型引用(1)