杨济瑞,张晓燕,杜小甫
(厦门大学嘉庚学院信息科学与技术学院,福建漳州,363105)
在桥梁建造和使用过程中,复杂的内在或外在环境原因会引起桥梁产生各式各样的裂缝,这些不起眼的裂缝(宽度大于0.2毫米)随着时间的推移不断扩宽、加深,引起桥面上的混凝土剥落、钢筋露出等现象,严重影响到桥梁的安全,甚至导致桥梁坍塌。对桥梁裂缝进行分类,便于裂缝检测完后进行针对性修补,因此,桥梁裂缝的检测分类算法得到了广泛关注和应用。2016年,刘洪公、王学军等人将机器视觉和卷积神经网络技术相结合,提出了一种智能裂缝检测方案[1];2019年,贺志勇和王鹏[2]提出采用无人机桥梁检测方案,通过八方向的Sobel算子和构造BP神经网络对所得到的桥梁裂缝图像进行边缘检测并且统计裂缝的特征,实现桥梁裂缝检测分类智能化。陈瑶[3]等提出了一种基于爬壁机器人的桥梁裂缝图像检测与分类方法。尽管提出的方法很多,但是小样本条件下裂缝分类问题仍然有待研究,本文提出基于深度学习和支持向量机的分类方法,以提高在小样本情况下桥梁裂缝分类的准确性。
根据桥梁裂缝的产生原因和不同的走向将其分为四类:横向裂缝、块状裂缝、斜向裂缝与纵向裂缝。目前提出的裂缝分类算法主要有BP神经网络、投影法、CNN卷积神经网络和SVM分类器[4]。本文提出基于深度学习和SVM分类器结合的裂缝分类算法,设计流程图如图1所示。
图1 设计流程图
将采集的桥梁裂缝图像分为训练集和测试集,采集图像会受天气、光照等因素影响,还会受到各种噪声干扰,使得图像除了裂缝目标外,还可能存在蜂窝、麻面、划痕、空洞等缺陷,会严重影响图像特征提取。使用中值滤波去除噪声;图像增强突出裂缝,减小裂缝区域外的纹理和细节影响;再用图像形态学分析方法去除图像中噪声块,初步分割出裂缝信息;最后运用裂缝连接方法将断开的裂缝连接起来,再将连线之间的小块连通域填充,进而分割出完整裂缝。
采用卷积神经网络实现图像从空间域到高维特征域的映射[5]。因VGG16具有简洁性和实用性以及在图像分类和目标检测表现突出的特点,本文采用VGG16卷积神经网络作为基本模型来进行提取图像特征。VGG16的结构如图2所示。
图2 VGG16的结构
输入224*224*3尺寸的图像,卷积核(滤波器)大小3*3,步长为1,卷积的padding为2,左右各padding1个像素来确保卷积后特征图大小不变。池化层大小2*2,步长为2,有两个全连接层,每层4096个神经元。
本文的全连接层设计为两层,而不是1层或3层。因为从原理上考虑,2层的神经网络可以拟合任何函数,1层只能拟合线性函数,多加一层3层参数量会大大提升,会增强4096*2+4096个参数,综合考虑模型性能和参数量,所以本文设置为2层全连接。最后输出层包含1000个神经元的softmax层(代表ImageNet数据集的1000个类别),激活函数全部使用RELU。
由于SVM基本模型是定义样本在特征空间上的间隔最大的线性分类器[6]。这使它不仅可以对不同的样本进行精确分类,而且可确保样本间的间隔。本文采用泛化能力较好的SVM分类器进行分类,即正确预测未知数据的能力高。SVM主要是利用一个超平面(hyper plane)将两类数据分开,同时边际(margin)最大,如图3所示。如果把超平面定义为w*x+b=0,那么超平面距离任意一个支持向量的距离就是1/||w||(||w||是w的范数)。
图3 SVM超平面
SVM最大分类间隔数Φ(w)为:
其中,非负松弛因子ξ和惩罚松弛因子c的取值对分类非常重要。
把采集的裂缝图像分为训练集和测试集,将桥梁裂缝分为1bock(块状裂缝)、2horizontal(横向裂缝)、3slope(斜向裂缝)、4vertical(竖向裂缝)四类,分类结果如图4所示
图4 测试横向裂缝图像
表1对比了投影法、支持向量机法、卷积神经网络法和本文方法的分类结果。可知:投影法和SVM 分类法以及卷积神经网络法最大分类精均低于89.2%,且投影法仅能识别3种裂缝类型,局限性很大。本文方法分类精度率均在92%左右,性能有了较大提升。
表1 不同裂缝分类方案检测结果对比表
本文算法在实时性上也比基于卷积神经网络的方法提高很多,总体性能较好。
本文提出了基于深度学习和SVM的图像裂缝分类方法,通过深度学习提取图像特征,基于SVM实现特征分类,实验表明具有较高得准确性。并且本文的样本数据是小样本,而只用CNN卷积神经网络进行提取特征并分类则需要大量的样本数据。从准确性和实时性两个方面对比分析,证实了本文算法具有较好的性能。