基于改进Faster R-CNN+ZF模型的铁路桥梁裂缝分类方法
2020-04-08王纪武鱼鹏飞罗海保
王纪武,鱼鹏飞,罗海保
(北京交通大学 机械与电子控制工程学院, 北京 100044)
铁路的高速发展是现代化建设的重要基石,铁路桥梁是铁路线路中的重要组成部分,确保铁路桥梁的安全耐久性,关乎国计民生.在铁路桥梁中,裂缝是最常见病害之一,通过工程实践可知,90%左右的桥梁故障由它引起,必须对含有病害的桥梁持续监测[1]. 因此,实现裂缝的实时分类监测,及时发现桥梁裂缝病害,具有重要的现实意义.国内外学者对此展开了深入广泛的研究,并且取得了一些成果.
目前,基于传统数字图像处理方式实现裂缝的分类是目前的主流方式.Oliveira等[2]采用了一种基于裂缝连接性和宽度估计值信息来实现裂缝的自动分类方法.陈瑶等[3]等提出了一种基于爬壁机器人的桥梁裂缝图像检测与分类方法.姜吉荣等[4]融合了裂缝图像重点区域灰度特征、裂缝走向以及形态学特征来实现裂缝的分类.何健等[5]引入近似支持向量机算法,并建立非线性模型进行多解分析来实现裂缝的分类.这些裂缝分类方法大多应用在公路桥梁领域,但高速铁路桥梁的裂缝特征和公路桥梁存在较大的差异[6],铁路桥梁底部经常为低照度环境,采集的裂缝原始图像中随机高强噪声、非线性过饱和像素[7]以及异物干扰问题更加突出,且对微细裂缝的有效识别要求更加苛刻,传统图像处理方法并不能有效实现高速铁路桥梁裂缝的精准分类,并且由于这些算法对单幅图像信息依赖性大,不满足含有大数据裂缝信息的铁路桥梁裂缝实时性需求.因此自动化的铁路桥梁裂缝分类算法亟待研究.
近年来,卷积神经网络(Convolution Neural Network,CNN)算法[8]的进一步发展,极大地拓展了信息技术的应用领域,使基于大数据的人工智能分类算法日益完善,为解决铁路桥梁裂缝分类问题提供了新技术途径.夏梦等[9]构建了一种融合深度卷积神经网络和条件随机场的分类模型,通过实验证实该方法有较高的精度. Ali等[10]提出了一种效率很高的基于深度学习的自动编码的自主调试分类系统,运算速度较快. De等[11]提出一种基于深度学习算法的极化合成孔径雷达数据中城市地区分类方法,实时性较高.王纪武等[12]采用了一种基于Faster R-CNN算法[13]的多尺度采样的高压塔鸟巢检测方式,能在复杂背景干扰下有效识别目标.但由于目前没有统一的铁路桥梁裂缝图像训练数据集,深度学习分类算法并未在铁路桥梁裂缝分类领域应用.因此,专门针对铁路桥梁裂缝图像特征,本文作者探索性地将深度学习技术应用于铁路桥梁裂缝分类领域中,设计了一种基于改进Faster R-CNN+ZF算法的铁路桥梁裂缝分类方法.首先制作训练所需的数据集,然后在数据输入端构建Prewitt算子卷积层[14],对输入图像进行锐化处理,增强图像中目标区域特征的对比度,并加之改进ZF模型,修改超参数进行训练,以验证理论模型的正确性和有效性.
1 改进算法原理
1.1 Prewitt算子锐化滤波层
为增强输入图像灰度突变边缘的对比度,使目标特征更加突出,在原始Faster R-CNN分类模型前构建一层Prewitt算子层处理原始输入图像.对于一个图像函数图像I(x,y),梯度I是一个二元矢量,即
(1)
实际使用中,Prewitt算子通过沿x和y方向的两个差分模板对图像进行邻域卷积操作,实现伪边缘的去除和噪声的平滑.差分模板邻域卷积实现图像函数的边缘像素增强,二范数梯度‖I(2)‖为
‖
(2)
1.2 改进Faster R-CNN模型
在R-CNN算法[15]和Fast R-CNN算法[16]的基础上,Faster R-CNN目标检测模型在生成建议区域方面改进极大,提供了在铁路桥梁裂缝图像分类领域的应用可行性,为了实现更佳的分类性能,增加锐化卷积层后的改进Faster R-CNN铁路桥梁裂缝图像分类模型如图1所示.
Faster-RCNN算法替代了区域搜索算法[17],采用区域建议网络(Region Proposal Network, RPN)来生成建议区域,对于整个RPN训练网络的全域损失[18],包含分类损失和边框回归损失两部分,即
(3)
在实际的计算中,分别对Ncls、Nreg及λ进行归一化处理,从而使全域损失值能均衡考虑两种损失.计算重点是基于Lreg的锚框回归损失值,即
(4)
(5)
式中:(x′,y′)表示预测锚框中心坐标;w表示预测锚框宽度,h表示预测框高度;sL1表示锚框回归损失值.
1.3 改进ZF模型
Faster R-CNN模型主要包括大型网络VGG-16和小型网络ZF两种预训练模型.其中,ZF预训练模型更加简洁,执行速度快,为了适应铁路桥梁裂缝分类问题中的高实时性要求,选择ZF模型进行训练. 预训练过程中,始层卷积核大小决定了图像细节的提取程度,适当减小卷积核尺度,可以增加裂缝的细节提取,末层卷积核大小决定了提取视野的大小,适当增加卷积核尺度,可以减小模型参数,有效避免系统的过拟合现象发生.因此,为了保证铁路桥梁裂缝图像提取信息的丰富性,改进ZF模型重置了经典ZF模型中初始和末尾卷积层的卷积核尺度,将其大小分别设置为5×5和4×4,同时,为了实现更加细致的特征筛选,使网络抗干扰能力进一步提升,将经典ZF模型的所有最大池化核尺度从3×3变为2×2,改进ZF模型见图2.
2 实验过程
根据模型训练需求,在显卡为Nvidia Geforce GTX 1060,显存为6GB的机器上安装操作系统Ubuntu 16.04 LTS,搭建Caffe环境和安装训练所需数据包,制作数据集开始训练.
2.1 数据集制作和评价指标
训练样本由中国铁路北京局集团有限公司北京动车段提供,样本中包含了京沪、京大和石太线路中铁路桥梁裂缝图像,共计491 24幅图像.为了避免分类器训练过程中出现过拟合现象,采用裁剪和翻转的方式对现有的图像样本集进行数据增强[19],最终裂缝训练样本集共包含100 000幅裂缝图像,裂缝类别包含纵向裂缝、横向裂缝、交叉裂缝和块状裂缝4类,裂缝分类如图3所示.其中,横向裂缝和纵向裂缝数目分别为20 000幅,交叉裂缝和块状裂缝分别为30 000幅.部分样本库图像见图4.
将所有的100 000幅图像参照PASCAL VOC数据格式[20]制成数据集1.考虑到实际裂缝图像的复杂性,为了进一步让分类器学到更多的裂缝特征,又增加30 000张包含较实际环境更加丰富干扰信息的非裂缝图像扩充数据集,增加的部分非裂缝图像样例见图5,将扩充后的130 000幅图像按照数据集1的制作过程制成数据集2.
为了评价裂缝分类结果的好坏,需引入精确率A、召回率B和分类精度指数C来定量分析分类结果的优劣程度.以二分类问题为例说明,设置“1”表示目标类,“0”表示非目标类,p、q、r、s分别表示不同情况下的图像数目统计值,如表1所示.
表1 样本分类结果统计
A和B的计算公式为
(6)
为了均衡A和B对模型评价造成的影响,引入分类精度C,使评价结果更加全面客观,即
(7)
由式(6)和式(7)可得
(8)
2.2 数据集分类与测试
按照裂缝类型,在训练模型中将纵向裂缝、横向裂缝、交叉裂缝、块状裂缝及非裂缝标签依次设置为a、b、c、d、e,见图6.
为验证传统Faster R-CNN+ZF模型(简称传统模型)和改进Faster R-CNN+ZF模型(简称改进模型)对于铁路桥梁图像分类效果的优劣,将进行两组实验.
实验1:将数据集1分别输入到传统模型和改进模型中进行训练;
实验2:将数据集2分别输入到传统模型和改进模型中进行训练.
Loss损失曲线作为评价模型在训练过程中优劣程度的重要指标之一,不仅能表征出模型拟合的良好程度,而且能反映训练过程是否出现梯度消失,其收敛性越好,表示模型越优. Faster R-CNN的训练过程主要包括RPN训练过程和Fast R-CNN训练过程两个阶段. 图7为实验1训练过程中RPN训练阶段和Faster R-CNN训练阶段的误差值对比结果.
由图7可知,不论在RPN阶段,还是在Fast R-CNN阶段,基于传统模型和改进模型的Loss曲线均在迭代初始阶段出较剧烈波动,下降趋势明显,当迭代次数增加到5 000次之后,Loss曲线在趋近0的区域内开始上下小范围波动,最终收敛. 但总体来看,不论是在RPN训练阶段还是在Fast R-CNN训练阶段,改进模型最终趋近于0的效果均优于传统模型.
实验1和实验2得出的分类器分类识别率对比见图8.
由图8可知:
1)对比实验1中和实验2中的识别结果,改进模型的裂缝总体分类精度分别为93.7%和93.1%,均高于传统模型精度,证实改进模型在识别精度较传统模型具有明显优势;
2)整体观察实验1和实验2中改进模型的分类精度曲线,可知在含有更丰富非裂缝信息的前提下,有助于分类器的抗干扰能力提升,从而增加裂缝分类精度的总体识别率,使分类区获得更强的裂缝判别能力.
2.3 学习率测试实验
将数据集2输入改进模型,调整训练模型中学习率大小分别为0.01、0.001、0.005、0.008,进行4组实验,不同学习率和分类精度关系曲线如图9所示.
由图9可知,学习率尺度对分类器裂缝分类精度影响很大.若学习率过大,会限制模型裂缝判别能力,裂缝分类精度低.若学习率太低,则使训练时间过长,且易出现局部最优的弊端.通过调整学习率尺度,最终证实:当学习率选择0.001时分类系统会获得较高的分类识别率,使系统识别率最终收敛在93.7%左右,能满足实际工程需要.
表2对比了投影法、支持向量机法(Support Vector Machine, SVM)和两种Faster R-CNN+ZF模型分类结果,可知:投影法和SVM分类法最大分类精度均低于89.2%,明显低于Faster R-CNN+ZF模型分类精度,且投影法仅能识别3种裂缝类型,局限性很大. 此外,改进Faster R-CNN+ZF模型4类裂缝的单类分类精度率均在93.7%左右,整体分类精度达到93.7%,相比于传统的Faster R-CNN+ZF模型,性能有了较大提升.
同时,统计投影法、SVM法、传统Faster R-CNN+ZF模型和改进Faster R-CNN+ZF模型单幅图像检测时间,分类精度和单幅图像检测时间综合性能对比见图10.
表2不同裂缝分类方案检测结果对比
Tab.2Results comparison of different crack
classification schemes%
项目横向裂缝纵向裂缝交叉裂缝块状裂缝投影法80.7781.2379.24—SVM87.389.186.585.9传统模型92.492.391.588.1改进模型93.994.193.793.3
图10表明,使用实际图像测试分类器性能时,改进Faster R-CNN+ZF模型单幅图片处理时间为0.056 s,仅次于传统分类方法投影法,但处理时差在0.003 s之内,相差很小,远低于SVM方法的0.172 s和传统Faster R-CNN+ZF模型的0.073 s. 此外,改进Faster R-CNN+ZF模型是一种具备自学习能力的智能分类方案,可以从海量的数据中提出裂缝信息,综合效能上远胜于投影法,有更高的应用价值.
3 结论
1)改进Faster R-CNN+ZF模型分类每幅图像耗时0.056秒左右,能满足铁路桥梁裂缝分类的高实时性需求;
2)对于含有复杂噪声、非随机干扰物,以及目标特征差异较大的铁路桥梁裂缝图像,基于改进Faster R-CNN+ZF模型的分类算法不仅能实现所有裂缝类型的识别,而且具有优于其他分类器的分类精度,整体分类精度达到93.7%,由此验证了改进Faster R-CNN+ZF模型在实际铁路桥梁故障诊断中的较大应用价值.