浙江大学学报(工学版), 2022, 56(5): 901-908 doi: 10.3785/j.issn.1008-973X.2022.05.007

土木工程

基于自注意力机制的桥梁螺栓检测算法

鞠晓臣,, 赵欣欣,, 钱胜胜

1. 中国铁道科学研究院集团有限公司 铁道建筑研究所,北京 100081

2. 中国科学院 自动化研究所,北京 100190

Self-attention mechanism based bridge bolt detection algorithm

JU Xiao-chen,, ZHAO Xin-xin,, QIAN Sheng-sheng

1. Railway Engineering Research Institute, China Academy of Railway Sciences Corporation Limited, Beijing 100081, China

2. Institute of Automation, Chinese Academy of Sciences, Beijing 100190, China

通讯作者: 赵欣欣,男,研究员. orcid.org/0000-0002-3328-2708. E-mail: xyzxx000@163.com

收稿日期: 2021-03-29  

基金资助: 高铁联合基金资助项目(U1934209);中国铁路总公司系统性重大课题资助项目(P2018G002);中国铁道科学研究院集团有限公司科研项目重大课题(2020YJ087);安徽省引江济淮集团公司科研项目(YJJH-ZT-ZX-29210923429)

Received: 2021-03-29  

Fund supported: 高铁联合基金资助项目(U1934209);中国铁路总公司系统性重大课题资助项目(P2018G002);中国铁道科学研究院集团有限公司科研项目重大课题(2020YJ087);安徽省引江济淮集团公司科研项目(YJJH-ZT-ZX-29210923429)

作者简介 About authors

鞠晓臣(1982—),男,副研究员,从事桥梁运维管养研究.orcid.org/0000-0001-8460-6816.E-mail:juxc2008@163.com , E-mail:juxc2008@163.com

摘要

基于构建的真实桥梁螺栓场景数据集,提出基于自注意力机制与中心点回归(SACPR)的螺栓检测算法. 构建基于真实场景的高质量桥梁螺栓场景数据集,并针对数据不均衡、多样性不够的问题,使用数据增强方法进行数据扩充,从而获得更高的分类精度. 采用基于深度学习框架的SACPR算法检测不同场景下的螺栓,并进行标示. 对螺栓检测准确率进行验证实验,验证SACP算法的有效性. 将试验结果与YOLOv3、Faster-RCNN、RetinaNet这3种算法结果进行对比,发现3种检测方法的识别精度分别为80.56 %、87.71%、93.89%,而所提出的SACPR 算法的识别精度为93.91%,明显优于YOLOv3算法和Faster-RCNN算法;虽然SACPR算法与RetinaNet算法的识别精度较接近,但前者的检测速度是后者的5.6倍.

关键词: 桥梁 ; 图像识别 ; SACPR ; 螺栓检测 ; 自注意力机制

Abstract

A bolt detection model algorithm based on self attention mechanism and center point regression (SACPR) was proposed based on the real bridge bolt scene data set. Firstly, a high-quality bridge bolt scene data set based on the real scene was constructed, and for the problems of data imbalance and insufficient diversity, data enhancement method was used to expand the data, so as to obtain higher classification accuracy. Secondly, SACPR model algorithm based on deep learning framework was used to detect bolts in different scenes, and label them. Finally, the validity of the proposed method was verified by the verification experiment of bolt detection accuracy. Comparison was conducted with the results of YOLOv3, Faster-RCNN and RetinaNet, and results showed that the recognition accuracy of the three detection methods was 80.56%, 87.71% and 93.89% respectively, while the recognition accuracy of SACPR model method was 93.91%. The accuracy of SACPR model method was obviously better than that of YOLOv3 model algorithm and Faster-RCNN model algorithm. Although the recognition accuracy was almost the same as that of RetinaNet model algorithm, the detection speed of SACPR model method was 5.6 times of that of RetinaNet model.

Keywords: bridge ; image recognition ; SACPR ; bolt detection ; self-attention mechanism

PDF (955KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

鞠晓臣, 赵欣欣, 钱胜胜. 基于自注意力机制的桥梁螺栓检测算法. 浙江大学学报(工学版)[J], 2022, 56(5): 901-908 doi:10.3785/j.issn.1008-973X.2022.05.007

JU Xiao-chen, ZHAO Xin-xin, QIAN Sheng-sheng. Self-attention mechanism based bridge bolt detection algorithm. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(5): 901-908 doi:10.3785/j.issn.1008-973X.2022.05.007

随着我国交通运输业的不断发展,大量用于运输的桥梁被建设,但桥梁在运营期间,长期经受运营荷载及环境的作用,桥梁可能产生不同程度的损伤[1-3]. 高强螺栓病害是钢桥病害中最常见的一种,及时准确地检测发现桥梁螺栓病害可以有效避免桥梁安全事故的产生. 传统的桥梁螺栓检测方法主要依赖检测人员的专业知识和主观判断,例如,钟新谷等[4]基于桥梁图片提取裂缝的形态特征,并将其送入支持向量机中进行桥梁裂缝病害的识别. Chou等[5-6]将裂缝图像划分为许多较小的子图像,然后对其进行特征提取构建特征向量,最后通过机器学习中的算法进行训练以实现裂缝的检测. 但是这样不仅效率不高,还受到检测人员主观因素的影响,而且常常给桥梁维护的工作人员带来安全隐患. 随着人工智能技术的飞速发展,越来越多的研究将机器学习算法用于桥梁检测. 例如,Cha等[7]采用具有4个卷积层、2个池化层以及1个softmax层的卷积神经网络模型来进行桥面裂缝检测并实现了97%的分类准确率. 沙爱民等[8]在路面病害图片上采用卷积神经网络进行病害识别. 韩晓健等[9]结合迁移学习,用微调后的AlexNet卷积神经网络对桥梁结构3类常见表面病害图像进行识别. 赵欣欣等[10]在卷积神经网络上加入通道注意力子网络和空间注意力子网络,用于螺栓缺失图像识别. 李良福等[11]首先利用滑动窗口算法将桥梁裂缝图像切分为桥梁背景面元和桥梁裂缝面元,并提出基于卷积神经网络的DBCC(deep-bridge-crack- classify)分类模型,用于桥梁背景面元和桥梁裂缝面元的识别. 随着深度学习技术的进一步发展,一些研究者将目标检测算法应用于桥梁检测. Cha等[12]采用Faster-RCNN算法进行病害的检测与定位,在分类准确率上达到了87%. Zhang等[13]将YOLOv3算法与迁移学习策略相结合,实现了裂缝、保护层脱落及其他共计4种桥梁病害的检测.

虽然深度神经网络技术可以弥补传统桥梁螺栓图像检测识别技术的不足,但用于检测的YOLOv3算法与基于Region Proposal的Faster-RCNN算法还存在如下问题:1)以上2类方法都是先列举所有的潜在区域,然后对每个区域分别进行分类操作,这样的操作是浪费的、低效的并且要求额外的后处理过程(如非极大值抑制),这种后处理操作在微分(微分指的是在梯度反向传播过程中的求导)与训练时存在较大困难,导致当前大多数的检测器无法真正实现端到端的训练;2)无论是YOLOv3算法还是Faster-RCNN算法都认为提取的候选区域对于最终检测的贡献是相同的,而在实际的生活场景中,图片中待检测物体的周围往往具有复杂且丰富的语义信息,每个区域对最终检测的贡献都是不同的.

为了解决上述问题,本研究提出基于自注意力机制与中心点回归(self attention mechanism and center points regression,SACPR)模型的算法来实现螺栓检测. 与基于区域提取的方法不同,直接将目标作为一个点去预测,并提出新的螺栓中心点热图构建方法,进而准确预测螺栓区域的目标尺寸,并且这样的操作不存在非极大值抑制这类后处理,比基于区域提取的检测算法更简单、更快、更准确. 为了准确检测螺栓区域,采取自注意力语义分割算法,基于语义分割结果中被照亮的目标区域,将注意力集中在目标螺栓区域上并抑制背景区域,从而能够提升检测性能. 为了实现桥梁螺栓检测,构建基于真实场景的高质量桥梁螺栓场景数据集. 采用Keras深度学习框架实现SACPR算法,并进行螺栓检测实验. 通过与现有的检测方法进行对比分析,验证该方法的有效性.

1. 螺栓检测场景数据集构建

选取某几座桥梁作为拍摄目标,采用手机及其他常规移动设备拍摄螺栓场景. 为了保证数据的多样性,在对螺栓区域拍摄时,在不同角度、焦距和光照等条件下拍摄多幅图像. 人工筛选有效图像并对每一幅图像中的螺栓标注边框,标注完成的边框图像如图1所示,通过上述步骤初步构建的螺栓检测数据集信息共计5630 条.

图 1

图 1   螺栓检测数据集图像样本示例

Fig.1   Example of image sample of bolt detection data set


为了进一步增加训练数据的多样性,使用数据增强技术增加样本. 首先将短边缩放为224像素,长边同比例缩放;随后从缩放之后的图片中随机裁剪224×244像素大小的区域;然后对裁剪之后的图像进行随机水平翻转、随机颜色变化、随机仿射变换操作增加训练集图片的多样性.

2. 螺栓检测方法

基于自注意力机制与中心点回归(SACPR)模型的高性能桥梁螺栓检测方法整体算法框架如图2所示,包含语义分割与检测模块. 2个模块共享由卷积神经网络提取的中层特征,语义分割模块旨在将螺栓所在矩形区域进行语义分割. 本研究将用于语义分割的特征称为注意力特征,并将其与检测模块的特征进行连接作为完整图像特征表示对螺栓进行定位. 2个分支任务相互促进、相互增强,语义分割特征可以为检测模块提供物体位置先验指导,检测模块可以对语义分割的结果进行矫正. 除此之外,检测模块采用基于物体中心点回归的检测方法,在不影响检测精度的同时降低传统种子框(anchor)方法带来的大量检测时间消耗.

图 2

图 2   SACPR算法框架示意图

Fig.2   Schematic diagram of SACPR algorithm framework


2.1. 数据预处理

算法框架中同时包含语义分割与基于物体中心点回归的检测模块. 语义分割需要物体的蒙版图像,直接将在数据集的构建过程中标注的物体矩形框内的所有像素作为蒙版图像的前景,如图3(b)所示,生成的蒙版图像的螺栓区域用1表示,其他区域用0表示.

图 3

图 3   螺栓检测数据集数据预处理

Fig.3   Data preprocessing of bolt detection dataset


在检测模块中物体利用其中心点进行表示,物体的宽高利用与中心点的相对距离进行表示. 基于中心点的表示,借鉴人体姿态关键点预测文献[14]中的相关方法,将物体检测当作是一个关键点预测任务,须构建关键点热图(heat map). 若直接将中心点像素置为1.0、其余像素置为0,会因为优化目标不连续导致误差难以计算,进而难以通过误差反向传播的方式优化整个模型. 为了解决上述问题,文献[15]利用高斯核将中心点在整个热图上进行分散,如图3(c)所示,越接近物体中心点的像素值越接近1.0,离中心点越远的值越接近0. 虽然取得了一定的效果,但由于其计算的坐标范围是整个热图,导致生成的热图前景图像不能有效反映螺栓的形状. 为了解决这一问题,采用基于螺栓中心点的热图构建方法. 令 $ \boldsymbol{I}\in {\bf{R}}^{W\times H\times 3} $表示待检测的宽度为 $ W $、高度为 $ H $的三通道彩色图像,首先根据其标注信息生成和 $ \boldsymbol{I} $尺寸相同的只具有0、1像素值的中心点热图;其次,由于基于卷积网络的物体检测采样会导致生成的特征图的尺寸变小,预处理的目的是生成中心点热图 $ \hat{\boldsymbol{Y}}\in {\left[\mathrm{0,1}\right]}^{\frac{W}{R}\times \frac{H}{R}} $$ \hat{\boldsymbol{Y}} $只有2种像素值,分别为0和1. 其长为W/R,高度为H/R$ R $为卷积网络下采样形成的缩放因子. 经过上述步骤,螺栓在原图中的中心点 $ \boldsymbol{p}\in {\bf{R}}^{2} $在图像 $ \hat{\boldsymbol{Y}} $中的坐标向量为 $\widetilde{\boldsymbol{p}}=⌊{\boldsymbol{p}}/{R}⌋$. 随后,热图 $ \boldsymbol{Y} $中的每一个坐标的像素表达式如下:

$\begin{split} {Y}_{xy}=\;&\mathrm{e}\mathrm{x}\mathrm{p}\;\left(-[{(x-({\widetilde{p}}_{x0}-{\widetilde{p}}_{{\rm{w}}}/2)-{\widetilde{p}}_{x})}^{2}+\right.\\ \;&\left.{(y-({\widetilde{p}}_{y0}-{\widetilde{p}}_{{\rm{h}}}/2)-{\widetilde{p}}_{y})}^{2}]/({2{\sigma }_{p}^{2}})\right). \end{split} $

式中: $ {\sigma }_{p} $为采用文献[16]方法根据螺栓的尺寸计算的高斯核半径; $ {\widetilde{p}}_{{\rm{w}}} $$ {\widetilde{p}}_{{\rm{h}}} $分别为中心点位于 $ \widetilde{{\boldsymbol{p}}} $的螺栓在热图 $ \boldsymbol{Y} $中对应的宽和高, $ \left({\widetilde{p}}_{x0}-{{\widetilde{p}}_{{\rm{w}}}}/{2}, $ $ {\widetilde{p}}_{y0}-{{\widetilde{p}}_{{\rm{h}}}}/{2}\right) $为热图 $ \boldsymbol{Y} $中螺栓矩形框左上角点的坐标; $ {Y}_{xy} $为热图 $ \boldsymbol{Y} $中坐标 $ (x,y) $处对应的像素. 如果多个螺栓的矩形区域出现部分重叠,热图中重叠像素的值选择最大的高斯传播结果.

采用本研究算法生成的用于中心点回归的热图如图3(d)所示. 对比图3(c)、(d)可知,相对文献[17],本研究提出的方法具有如下2个优点:1)在用于中心点回归的热图中,本研究提出的方法可以使其在螺栓标注矩形区域外都是0,而文献[18]的方法会导致其在螺栓标注矩形区域外存在非0值;2)本研究方法得到的热图中前景图像的形状随着螺栓的形状变化而变化,而文献[13]中的方法对于任意形状的螺栓都是生成圆形的前景图像.

2.2. 主干网络

图2所示,主干网络用于提取可供语义分割与检测模块共享的中层特征. 为了兼顾速度与精度,同时为了尽可能保证用于语义分割和检测模块的特征图具有较高的分辨率,采用mobileNetV2[15]的前7层作为主干网络. 如表1所示为主干网络的配置,其中IR、AS、EF、NOFC、NOROS和CSS分别代表输入分辨率、运算结构、扩张倍数、输出特征通道数、运算结构重复次数和卷积步长. bottleneck结构以及扩张倍数等与文献[16]保持一致. 可以看出,输入图像 $ \boldsymbol{I} $是一个宽、高都为608像素的三通道图像,经过主干网络后得到的中层特征维度为 $ 152\times 152\times 32 $(记为 $ {\boldsymbol{f}}_{\mathrm{m}\mathrm{I}} $),即缩放因子 $ R=4 $. $ {\boldsymbol{f}}_{\mathrm{m}\mathrm{I}} $随后即作为语义分割与检测模块的共享输入特征.

表 1   SACPR算法中的主干网络架构参数

Tab.1  Backbone network architecture parameters in SACPR algorithm

IR/像素 AS EF NOFC NOROS CSS
$ 608\times 608\times 3 $ 卷积 32 1 2
$ 304\times 304\times 32 $ bottleneck 1 16 1 1
$ 304\times 304\times 16 $ bottleneck 6 24 2 2
$ 152\times 152\times 24 $ bottleneck 6 32 3 1

新窗口打开| 下载CSV


2.3. 语义分割模块

图2所示,语义分割模块的输入为 $ {\boldsymbol{f}}_{\rm{m}\rm{I}} $,输出为图像 $ \boldsymbol{I} $对应的蒙版图像 $ \boldsymbol{M} $. 为了更好地捕捉图像的上下文语义信息,利用4层膨胀卷积网络[19]完成 $ {\boldsymbol{f}}_{\rm{m}\rm{I}} $$ \boldsymbol{M} $的映射,4层膨胀卷积层的输出通道数分别为(48,64,96,128),使得用于预测 $ \boldsymbol{M} $的语义分割特征维度为 $ 152\times 152\times 128 $(记为 $ {\boldsymbol{f}}_{\mathrm{s}\mathrm{I}} $),随后利用一个卷积核尺寸为 $ 1\times 1 $的卷积层根据 $ {\boldsymbol{f}}_{\mathrm{s}\mathrm{I}} $预测 $ \boldsymbol{M} $. 假设语义分割模块对于图像 $ \boldsymbol{I} $生成的语义分割结果图像为 $ \hat{\boldsymbol{M}} $,则语义分割网络的优化目标是使得预测的 $ \hat{\boldsymbol{M}} $$ \boldsymbol{M} $尽可能相等,误差损失定义如下:

$ {{L}}_{{\rm{s}}}=-\sum _{0\leqslant x,\;y < 152}\left[{M}_{xy}{\mathrm{ln}}\;{\hat{M}}_{xy}+\left(1-{M}_{xy}\right){\mathrm{ln}}\;\left(1-{\hat{M}}_{xy}\right)\right]. $

式中: $ {M}_{xy} $表示标注蒙版图像 $ \boldsymbol{M} $中横坐标为 $ x $、纵坐标为 $ y $的像素是否在标注的螺栓矩形区域内,如果是则为1,否则为0; $ {\hat{M}}_{xy} $表示模型对蒙版图像 $ \boldsymbol{M} $中横坐标为 $ x $、纵坐标为 $ y $的像素的预测结果,若在标注的螺栓矩形区域内,则为1,否则为0.

2.4. 检测模块

螺栓检测模块的输入仍是 $ {\boldsymbol{f}}_{\mathrm{m}\mathrm{I}} $,与语义分割模块保持一致,用同样的4层膨胀卷积网络获得维度为 $ 152\times 152\times 128 $的特征图. 值得注意的是这些特征图并不直接用于螺栓位置的预测,而是将其与语义分割模块特征图进行连接,得到完整的特征 $ {\boldsymbol{f}}_{\mathrm{d}\mathrm{I}} $(维度为 $ 152\times 152\times 256 $),即用于螺栓位置预测的完整特征为 $ {\boldsymbol{f}}_{\mathrm{d}\mathrm{I}} $.

$ ({x}_{1}^{\left(k\right)},{y}_{1}^{\left(k\right)},{x}_{2}^{\left(k\right)},{y}_{2}^{\left(k\right)}) $表示标注的螺栓 $ k $的矩形区域, $ \left[{x}_{1}^{\left(k\right)},{y}_{1}^{\left(k\right)}\right]、\left[{x}_{2}^{\left(k\right)},{y}_{2}^{\left(k\right)}\right] $分别表示左上角与右下角坐标向量,则螺栓 $ k $中心点坐标向量 ${\boldsymbol{p}}_{k}=\left[\left({{x}_{1}^{\left(k\right)}+{x}_{2}^{\left(k\right)}}\right)/{2}, $ $ \left({{y}_{1}^{\left(k\right)}+{y}_{2}^{\left(k\right)}}\right)/{2}\right]$,其宽高尺寸向量可以表示为 $ {\boldsymbol{s}}_{k}=[{x}_{2}^{\left(k\right)}-{x}_{1}^{\left(k\right)},\;{y}_{2}^{\left(k\right)} -{y}_{1}^{\left(k\right)}] $. 又因为检测模块得到的特征图 $ {\boldsymbol{f}}_{\mathrm{d}\mathrm{I}} $相比原始图像尺寸进行了缩小,实际作为网络监督信息的宽高尺寸向量为 ${\boldsymbol{s}}_{k}=[{(x}_{2}^{\left(k\right)}-{x}_{1}^{\left(k\right)})/R, $ $ \;({y}_{2}^{\left(k\right)}-{y}_{1}^{\left(k\right)})/R]$. 因此,检测模块从特征 $ {\boldsymbol{f}}_{\mathrm{d}\mathrm{I}} $预测的螺栓尺寸 $ {\hat{\boldsymbol{s}}}_{k} $要尽可能的与实际尺寸 $ {\boldsymbol{s}}_{k} $相等,采用L1损失函数作为螺栓尺寸(宽高)预测的优化目标函数:

$ {{L}}_{{\rm{size}}}=\frac{1}{N}\sum\nolimits _{k=1}^{N}\left|{\hat{\boldsymbol{s}}}_{k}-{\boldsymbol{s}}_{k}\right|. $

式中:N为当前图像中螺栓数目.

优化上述公式虽然可以令预测物体中心点接近物体的真实中心点的位置,但由于特征图已经缩小为原来的 $ {1}/{R} $,原始图片的 $ R $个像素区域在特征图上都属于同一个像素. 因此,若直接采用式(3)得到中心点,其位置与真实位置之间会有一定的偏移误差. 为了解决这一问题,让检测网络自动学习出这种偏移量,表述为优化如下公式:

$ {{L}}_{{\rm{offset}}}=\frac{1}{N}\sum _{p}\left|{\hat{\boldsymbol{O}}}_{\widetilde{p}}-\left(\frac{\boldsymbol{p}}{R}-\widetilde{\boldsymbol{p}}\right)\right|. $

式中: $ \hat{\boldsymbol{O}}\in {\bf{R}}^{\frac{W}{R}\times \frac{H}{R}\times 2} $为对于每一个物体中心点的局部位移量.

同时须预测特征图的每一个坐标位置是否为螺栓的中心. 令检测模块预测的中心点热图表示为 $ \widetilde{\boldsymbol{Y}} $,本研究的一个优化目标为 $ \widetilde{\boldsymbol{Y}} $与数据预处理得到的 $ \boldsymbol{Y} $尽可能相等,考虑到中心点一般是稀疏的,为了缓解正负样本不平衡问题,与文献[15]保持一致,采用Focal loss形式的逻辑回归损失函数作为优化目标:

$ {{L}}_{{\rm{reg}}}=-\frac{1}{N}\sum _{xy}\left\{\begin{array}{*{20}{l}}{{\left(1-{\widetilde{Y}}_{xy}\right)}^{\alpha },}&\;\mathrm{ln}\;\;({\widetilde{Y}}_{xy}{Y}_{xy})=1;\\ {{\left(1-{Y}_{xy}\right)}^{\beta }{\left({\widetilde{Y}}_{xy}\right)}^{\alpha },}&\;\mathrm{ln}\;\;\left(\left(1-{\widetilde{Y}}_{xy}\right){Y}_{xy}\right)\ne 1.\end{array}\right. $

式中: $ \mathrm{\alpha }\mathrm{、}\mathrm{\beta } $为Focal loss中的超参数.

由上述分析可知,检测模块对于特征图的每一个位置须预测5个值,分别为属于中心点的概率、中心点的2个维度的偏移量以及物体的宽、高. 通过一个卷积层同时实现5个值的预测,如图4所示,通过5组 $ 3\times 3\times 256 $的卷积核作用于特征 $ {\boldsymbol{f}}_{\mathrm{d}\mathrm{I}} $,会得到 $ 152\times 152\times 5 $的输出,即5个通道的 $ 152\times 152 $的特征图. 每个通道的特征图分别预测上述须预测的5个值其中的一个.

图 4

图 4   螺栓位置预测示意图

Fig.4   Schematic diagram of bolt position prediction


2.5. 优化目标

综合语义分割和检测模块,提出的模型的总体优化目标函数为

$ {L}={{L}}_{{\rm{s}}}+{\lambda }_{1}{{L}}_{{\rm{size}}}+{\lambda }_{2}{{L}}_{{\rm{offset}}}+{\lambda }_{3}{{L}}_{{\rm{reg}}}. $

式中: $ {\lambda }_{1}\mathrm{、}{\lambda }_{2}\mathrm{、}{\lambda }_{3} $为控制不同损失函数对整体模型贡献程度的超参数.

3. 实验分析

3.1. 螺栓检测评价指标

在螺栓检测问题中,给定一个图像,找到其所包含的物体,找到这些物体的位置并对它们进行分类. 在目标检测中衡量识别精度的指标为各类别平均精度的平均值(mean average precision,mAP). 在多个类别物体检测中,每个类别都可以根据召回率Recall和Precision绘制一条曲线,AP为该曲线下的面积,mAP为多个类别AP的平均值. 本研究使用交并比(intersection-over-union, IOU)0.5阈值下的AP作为mAP的结果.

召回率Recall表示样本中的正例有多少被正确预测:

$ \mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}=\frac{\mathrm{T}\mathrm{P}}{\mathrm{T}\mathrm{P}+\mathrm{F}\mathrm{N}} . $

式中:TP为真正类(true positive),即将正样本预测为正的数目;FN为假负类(false negative),即漏报,将正样本预测为负样本的数目.

查准率Precision是针对预测结果而言的,它表示预测为正的样本中有多少是真正的样本:

$ \mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}=\frac{\mathrm{T}\mathrm{P}}{\mathrm{T}\mathrm{P}+\mathrm{F}\mathrm{P}} . $

式中:FP为假正类(false postive),即误报,将负样本预测为正样本的数目.

针对每个类别,AP 的表达式为

$ \mathrm{A}\mathrm{P}=\frac{1}{11}{\sum }_{{r}\in \{\mathrm{0,\;0.1,\;0.2},\;\cdots ,\;\mathrm{0.9,\;1.0}\}}{{P}}_{\mathrm{i}\mathrm{n}\mathrm{t}}\left({r}\right). $

式中: $ {{P}}_{\mathrm{i}\mathrm{n}\mathrm{t}}\left({r}\right) $表示召回率为r时准确率的数值.

3.2. 实验条件配置

本实验在 Ubuntu16.04 系统进行,显卡采用英伟达公司生产的 TITAN XP 12G 的独立显卡,安装 CUDA10.0、CUDNN7.4.2 以及 OpenCV 4.1.0. 代码运行环境为 Python,其版本为3.6.0. 骨架网络框架为MobileNetV2. 训练采用的初始学习率为 0.0001,steps =200,max_epoch=50;momentum = 0.9,decay = 0.0005,经过迭代后网络最终收敛.

3.3. 检测结果分析

从采用数据增强技术增加样本后的数据集中随机选取数据进行数据标注,并根据标注的螺栓样本进行测试,随机选取80%的数据作为训练样本,选取剩下的20%作为测试样本. 为了验证算法有效性,在实现时利用keras深度学习框架,总数据集中图片的数量为2706张,其中标注数据754张,训练数据603张,测试数据151张. 未标注的数据是背景图片,即不包含螺栓的图片,在训练过程中用来抑制模型的误检. 在训练时优化算法采用Adam自适应优化算法,当损失函数值在训练集上达到最小值时认为完成训练.

为了更好地对本算法进行评估,同时实现了YOLOv3[19]、Faster-RCNN[18]、RetinaNet[17]算法,在螺栓数据集上进行训练以进行对比试验验证,所有实验结果均使用测试数据的mAP作为评价指标. 如表2所示为4种方法的实验结果对比.可以看出,YOLOv3、Faster-RCNN、RetinaNet算法在螺栓数据集上检测的mAP分别为80.56 %、87.71%、93.89%. 本研究所提出的SACPR 模型方法的mAP为93.91%,比YOLOv3算法高出13.35%,比Faster-RCNN高出6.2%,与这2种模型相比,本研究方法的检测精度有了很大提升,进一步证明了自注意力机制与中心点回归检测算法的有效性. 虽然本模型与RetinaNet模型相比在mAP上较为接近,但是本模型检测速度(v)是RetinaNet模型的5.6倍,是Faster-RCNN模型的7.7倍,是YOLOv3模型的1.8倍,在检测速度上具有很大优势,能够很好地完成实时检测.

表 2   不同算法的对比实验结果

Tab.2  Comparative experiments results of different algorithms

算法 mAP/ % v/(帧·s−1)
YOLOv3[19]
(Backbone: darknet19)
80.56 25.00
YOLOv3[19]
(Backbone: MobileNetV2)
78.81 36.00
Faster-RCNN[18] 87.71 5.80
RetinaNet[17] 93.89 7.94
SACPR 93.91 45.00

新窗口打开| 下载CSV


此外,为了证明本研究方法的速度优势不仅源于网络的主体结构MobileNetV2,更主要的是得益于所设计的检测思路,以将MobileNetV2作为骨干网络的YOLOv3作为对比方法,相关实验结果如表2所示. 可以看出,虽然MobileNetV2可以有效提升YOLOv3的目标检测速度,但相比本研究算法,其速度偏低,而且其精度相比原始YOLOv3算法有所降低.

图5所示为4种算法在密集螺栓图片上的可视化检测结果对比. 可以看出,YOLOv3算法对于螺栓漏检严重,Faster-RCNN与RetinaNet的检测效果有一定提升,但仍然存在漏检,本研究的模型对于密集螺栓的检测效果较好. 对于靠近边缘的残缺螺栓,也能较好地检测,具有较强的鲁棒性.

图 5

图 5   不同模型的螺栓图片可视化检测结果比较

Fig.5   Comparison of visualization results of different detection models for bolt images


为了进一步评估SACPR模型,如图6所示为4种算法对2种难例样本可视化的检测效果对比图. 如图6(a)所示为包含光照阴影遮挡场景下的螺栓图片. 可以看出,YOLOv3算法出现严重的螺栓漏检、Faster-RCNN与RetinaNet算法对阴影下的螺栓同样出现漏检,而本研究的模型SACPR能正确检测所有螺栓(包含被阴影遮挡的螺栓). 如图6(b)所示为典型的边缘检测问题,对比图(b)中的4张小图,可以看出Faster-RCNN与RetinaNet模型对于边缘检测的漏检较多,本研究模型SACPR在边缘检测性能上效果较好. 因此,本研究算法对于阴影遮挡、小目标边缘检测之类的难例样本的检测有明显优势.

图 6

图 6   难例样本检测的螺栓可视化结果对比

Fig.6   Comparison of visualization results of different detection models of hard sampes for bolt images


4. 结 论

(1)本研究所提出算法的精度和检测速度相比其他对比算法有明显提升,其中,精度明显优于YOLOv3 模型算法和Faster-RCNN模型算法;与RetinaNet 模型算法相比在识别精度上相差无几,但检测速度是RetinaNet 模型的5.6 倍.

(2)本研究方法在检测模块采用卷积神经网络预测螺栓特征图的位置坐标,因此可以识别螺栓的固定位置,可以为后续螺栓故障识别提供基础.

(3)如何将检测到的螺栓区域与螺栓病害识别相结合,提升网络的检测精度,准确识别目标小、密度大的桥梁病害,是下一步工作的重点.

参考文献

张清华, 卜一之, 李乔

正交异性钢桥面板疲劳问题的研究进展

[J]. 中国公路学报, 2017, 30 (3): 14- 30

DOI:10.3969/j.issn.1001-7372.2017.03.002      [本文引用: 1]

ZHANG Qing-hua, BU Yi-zhi, LI Qiao

Review on fatigue problems of orthotropic steel bridge deck

[J]. China Journal of Highway and Transport, 2017, 30 (3): 14- 30

DOI:10.3969/j.issn.1001-7372.2017.03.002      [本文引用: 1]

鞠晓臣

U肋-面板全熔透焊接接头疲劳性能试验研究

[J]. 中国公路学报, 2019, 32 (11): 176- 182

JU Xiao-chen

Experimental study on fatigue performance of full penetration welded joints of Ushaped rib-plate

[J]. China Journal of Highway and Transport, 2019, 32 (11): 176- 182

赵欣欣, 刘晓光, 潘永杰

正交异性钢桥面板纵肋腹板与面板连接构造的疲劳试验研究

[J]. 中国铁道科学, 2013, 32 (2): 41- 45

[本文引用: 1]

ZHAO Xin-xin, LIU Xiao-guang, PAN Yong-jie

Fatigue test study on the joint structure between the deck and longitudinal rib web of orthotropic steel bridge deck

[J]. China Railway Science, 2013, 32 (2): 41- 45

[本文引用: 1]

钟新谷, 彭雄, 沈明燕

基于无人飞机成像的桥梁裂缝宽度识别可行性研究

[J]. 土木工程学报, 2019, 52 (4): 52- 61

[本文引用: 1]

ZHONG Xin-gu, PENG Xiong, SHEN Ming-yan

Feasibility study on bridge crack width identification based on UAV imaging

[J]. China Civil Engineering Journal, 2019, 52 (4): 52- 61

[本文引用: 1]

CHOU J C, O’NEILLWENDE A, CHENGH D

Pavement distress evaluation using fuzzy logic and moment in variants

[J]. Transportation Research Record, 1995, 1505 (1): 39- 46

[本文引用: 1]

NGUYEN N H, KAM T Y, CHENG P Y

An automatic approach for accurate edge detection of concrete crack utilizing 2D geometric features of crack

[J]. Journal of Signal Processing System, 2014, 77 (3): 221- 240

DOI:10.1007/s11265-013-0813-8      [本文引用: 1]

CHA Y J, CHOI W, BÜYÜKÖZTÜRK O

Deep learning-based crack damage detection using convolutional neural networks

[J]. Compute-aided Civil and Infrastructure Engineering, 2017, 32 (5): 361- 378

DOI:10.1111/mice.12263      [本文引用: 1]

沙爱民, 童峥, 高杰

基于卷积神经网络的路表病害识别与测量

[J]. 中国公路学报, 2018, 31 (1): 1- 10

DOI:10.3969/j.issn.1001-7372.2018.01.001      [本文引用: 1]

SHA Ai-min, TONG Zheng, GAO Jie

Road surface disease recognition and measurement based on convolutional neural network

[J]. China Journal of Highway and Transport, 2018, 31 (1): 1- 10

DOI:10.3969/j.issn.1001-7372.2018.01.001      [本文引用: 1]

韩晓健, 赵志成, 沈泽江

卷积神经网络在桥梁结构表面病害检测中的应用研究

[J]. 结构工程师, 2019, 35 (2): 106- 111

DOI:10.3969/j.issn.1005-0159.2019.02.014      [本文引用: 1]

HAN Xiao-jian, ZHAO Zhi-cheng, SHEN Ze-jiang

Research on the application of convolutional neural network in the detection of bridge structure surface diseases

[J]. Structural Engineers, 2019, 35 (2): 106- 111

DOI:10.3969/j.issn.1005-0159.2019.02.014      [本文引用: 1]

赵欣欣, 钱胜胜, 刘晓光

基于卷积神经网络的铁路桥梁高强螺栓缺失图像识别方法

[J]. 中国铁道科学, 2018, 39 (4): 56- 62

DOI:10.3969/j.issn.1001-4632.2018.04.09      [本文引用: 1]

ZHAO Xin-xin, QIAN Sheng-sheng, LIU Xiao-guang

Recognition method for missing images of railway bridge high-strength bolts based on convolutional neural network

[J]. China Railway Science, 2018, 39 (4): 56- 62

DOI:10.3969/j.issn.1001-4632.2018.04.09      [本文引用: 1]

李良福, 马卫飞, 李丽

基于深度学习的桥梁裂缝检测算法研究

[J]. 自动化学报, 2019, 6: 1- 16

[本文引用: 1]

LI Liang-fu, MA Wei-fei, LI Li

Research on bridge crack detection algorithm based on deep learning

[J]. Acta Automatica Sinica, 2019, 6: 1- 16

[本文引用: 1]

CHA Y J, CHOI W, SUH G

Autonomous structural visual inspection using region-based deep learning for detecting multiple damage types

[J]. Computer-aided Civil and Infrastructure Engineering, 2018, 33 (4): 1- 17

[本文引用: 1]

ZHANG C, CHANG C, JAMSHIDI M

Concrete bridge surface damage detection using a single-stage detector

[J]. Computer-aided Civil and Infrastructure Engineering, 2020, 35 (4): 389- 409

[本文引用: 2]

LUVIZON D C, PICARD D, TABIA H

HediTabia: multi-task deep learning for real-time 3D human pose estimation and action recognition

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 43 (8): 2752- 2764

[本文引用: 1]

ZHOU X, WANG D, KRÄHENBÜHL P. Objects as points [EB/OL]. [2019-04-16]. https://arxiv.org/abs/1904.07850.

[本文引用: 3]

SANDLER M, HOWARD A, ZHU M. Mobilenetv2: invert residuals and linear bottlenecks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018, 4510-4520.

[本文引用: 2]

LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 2980-2988.

[本文引用: 3]

REN S, HE K, GIRSHICK R, et al

Faster R-CNN: towards real-time object detection with region proposal networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 39 (6): 1137- 1149

[本文引用: 3]

REDMON J, FARHADI A. YOLOv3: an incremental improvement [EB/OL]. [2018-04-08]. https://arxiv.org/abs/1804.02767.

[本文引用: 4]

/