王占飞,李明阳,李保险,李 峥,王乐群
(1.沈阳建筑大学交通与测绘工程学院,辽宁 沈阳 110168;2.中建二局第四建筑工程有限公司,天津 300457)
随着基础设施建设的加快,我国桥梁总量稳居世界第一[1],但伴随使用时间的增加,梁体表面出现了各类破损和病害,因此,及时检测出损害位置并进行适当加固修复是目前亟需解决的问题。据统计,我国公路危桥中,超过90%的病害是由裂缝导致的。
随着深度学习理论[2]的飞速发展,在众多领域中取得了重大成果。与人工检测相比,深度学习技术应用于桥梁检测[3]中,拥有更高的效率和安全性。为此,国内外学者开展了大量研究。贺志勇等[4]使用搭载高清摄像头的无人机采集桥梁底面裂缝图像,利用八方向的Sobel算子对图像进行边缘检测,将图像进行形态学开运算去除噪点,得到了较清晰的二值图像,最后构造了BP神经网络对裂缝进行识别分类。Y.J.Cha等[5]将CNN与滑动窗口结合进行裂缝检测,减少了由于图像切割对裂缝的影响,对裂缝进行了分类。王森等[6]将全卷积神经网络FCN引入到图像裂纹检测中,构建了一种Crack FCN模型,实现了目标的裂纹检测。这些方法都能够对裂缝进行识别和分类,但识别准确率仍有提高空间且未对裂缝做出定量测量。鉴于此,笔者提出将Resnet网络应用于混凝土桥梁裂缝检测中,通过输入多种复杂环境下的裂缝图像对网络进行训练和测试,以更高的准确率对裂缝进行识别和分类;对图像处理、图像分割技术展开研究,以此为理论基础,基于Matlab开发了《桥梁裂缝测量系统》,通过统计裂缝轮廓处的像素点个数,对裂缝进行定量测量,并评估了裂缝图像在不同拍摄高度及角度下测量精确度,为在役混凝土桥梁健康评估提供参考指标。
在开源数据库中[7]获取2 000张桥梁裂缝图像,像素为1 024×1 024,由于数量较少,应进行数据扩充。首先,将其分割为像素256×256的图像,扩充后共32 000张图像,包含带有裂缝的裂缝图像和不带有裂缝的背景图像。然后,从中选出12 000张裂缝图像组成裂缝数据集及19 500张背景图像组成背景数据集,如图1所示。最后,从两个数据集中随机选出80%的图像作为训练样本,其余20%作为测试样本,如表1所示。
表1 训练和测试样本量
图1 数据集的组建
由于图像的拍摄环境受到阳光、阴影、雨
水等情况的影响,所得图像中包含一部分成像质量较低的图像。图2(a)为光照不足时所得图像,图2(b)为表面存在水渍的情况。为了提升图像质量,需要对图像进行预处理。
图2 图像数据中存在的缺陷
为突出裂缝边缘细节,采用Bilateral滤波[8]进行裂缝轮廓锐化,效果如图3所示(局部裂缝位置放大8倍)。Bilateral滤波既可以锐化裂缝细节、突出裂缝特征,又可以减轻因雨水、污渍等因素对图像的影响。
图3 Bilateral滤波效果对比
将RGB彩色图转换为灰度图(Graying)[9],可大幅减少后续计算量和计算时间。若将图像中的任意像素点定义为(i,j),此处的灰度值为Gray(i,j),则3个颜色通道对应的值分别为B(i,j),R(i,j),G(i,j)。由于图像的拍摄受到周边环境的影响,故对RGB三原色分量进行合适的加权平均[10],即可得到最合理的灰度图像,即:
Gray(i,j)=0.114B(i,j)+0.299R(i,j)+0.587G(i,j).
(1)
为进一步减轻因光照不足导致裂缝不突出的问题,将Bilateral滤波处理的图像灰度化后再进行对比度增强处理(Contrast enhancement)。若将图像任意点像素定义为x(i,j),那么以此点为中心,在窗口大小为(2n+1)×(2n+1)的区域内,其局部均值和方差可表示如下:
(2)
(3)
f(i,j)=mx(i,j)+G(i,j)[x(i,j)-mx(i,j)].
(4)
其中,f(i,j)为增益后的值。对于增益G,这里取大于1的常数C,达到增强的效果,即:
f(i,j)=mx(i,j)+C[x(i,j)-mx(i,j)].
(5)
处理效果如图4(c)所示。
图4 增强效果对比
将所有数据进行Bilateral滤波、灰度化和图像增强处理后,裂缝轮廓更加清晰,光照条件不足等情况有所改善,命名本预处理方法为双边滤波-灰度化-对比度增强(Bilateral-Graying-Contrast enhancement,BGC),预处理后的数据分配如表2所示,进行后续的训练和测试。
表2 原图与预处理后的数据集
卷积神经网络(Convolutional Neural Networks,CNN)[11-12]是由具有权重(Weights)、偏置(Bias)和激活函数的人工神经元构成的,接入若干个输入的函数并输出它们的加权和。其中有以下几个基础性操作,分别为卷积、激活、池化和全连接,最后通过Softmax得到识别分类结果,如图5所示。
图5 卷积神经网络框架
VGG网络[13]通过反复堆叠3×3的小型卷积核和2×2的最大池化层,卷积层步长被设置为1,构筑了16层的网络模型。VGG网络的结构非常简洁,但参数量较大,笔者使用传统VGG网络作为对比试验,网络结构如图6所示。
图6 VGG网络结构图
Resnet网络[14]也是卷积神经网络模型的一种。随着网络越深,映射越难拟合,称为退化现象。Resnet网络的提出就是为了解决这种退化问题,通过短路机制加入了残差单元,残差网络原理如图7所示。
将神经网络单元内要拟合的函数拆成直接映射部分和残差部分,即y=F(x)+x。其中,F(x)为残差函数,x为映射部分。图7(a)中,将x直接映射成为y=F(x)输出,而图7(b)中,将x映射为y,再将y-x输出为F(x),此时网络学习的是y-x,并不直接输出y,因残差较小,学习残差项更加容易。图7(b)的结构是残差网络的基础,也叫做残差块(Residual block)[15]。残差网络可以更快地向前传播数据或向后传播梯度,笔者应用Resnet网络作为试验网络对裂缝图像进行识别分类,网络结构如图8所示。
图7 残差网络原理
图8 Resnet网络结构图
3.4.1 试验过程及结果
首先,将训练样本和BGC处理后的训练样本分别用VGG网络和Resnet网络进行训练,得到训练好的模型。然后,同样将测试样本和BGC处理后的测试样本分别输入到两个已经训练好的模型中进行测试。最后,统计试验结果,如表3及图9、图10所示。
表3 VGG与Resnet输出结果对比
图9 VGG网络测试准确率及损失值
图10 Resnet网络测试准确率及损失值
3.4.2 结果分析
(1)预处理对准确率的影响如表4所示。笔者提出的BGC预处理方法对比原图在不同网络下的准确率均有提高,可见在数据量巨大的裂缝识别分类中,对图像的预处理是有必要的,且笔者提出的预处理方法效果较好。
表4 预处理前后的准确率对比
(2)不同网络结构和参数设置对模型性能的影响如表5所示。相比于传统VGG网络,Resnet网络拥有独特的残差单元,通过跨层连接的方式,减少冗余特征的学习且可以使网络很深,提高了裂缝识别的准确率。
表5 不同网络准确率的对比
根据《城市桥梁检测与评定技术规范》要求,当裂缝超过0.25 mm,就必须进行修复加固。为了对裂缝进行测量,笔者基于Matlab语言开发了《桥梁裂缝测量系统》。
4.1.1 像素标定
固定相机分辨率,在目标平面法线方向上一定距离进行拍摄,根据已经确定物理宽度的目标平面与其所拍摄的像素大小,获得像素标定值(单位像素的实际宽度),即:
K=D/d.
(6)
式中:K为标定值;D为平面固定宽度,mm;d为图像的像素大小。
4.1.2 裂缝物理值转换
图像数据上测得的裂缝像素统计值需要转换为实际物理值,即:
W=K×p.
(7)
式中:K为标定值;p为像素点个数。
首先,对图像进行直方图均衡化[16]、Median滤波[17]和对比度增强操作,如图11所示。分割出裂缝轮廓[18],并进行二值化[19]处理(Image Binarization),如图12(a)所示。然后,二值图像会存在较多噪点,影响裂缝部位的像素点统计,对二值图像再次进行滤波可消除多数噪点,如图12(b)所示。但混凝土表面可能存在难以消除的大块噪点,如图12(b)中线框内所示,通过只显示裂缝连通区域的轮廓,屏蔽大块噪点的方法,可更精准地提取裂缝轮廓,即图12(c)中裂缝判定。最后,对裂缝位置进行绿框标记,如图12(d)所示,并自动计算各项像素统计值信息。
图11 裂缝轮廓分割
图12 裂缝精准提取
在实际情况下,使用无人机或摄像机拍摄时,可能会产生距离浮动和倾斜角偏差,笔者有意采集不同拍摄高度及其30°偏角下的裂缝图像,对系统的测量精度进行验证。所使用的相机参数:1 200万像素,五倍光学变焦,拍摄图像的像素大小为3 024×3 024。取景框内对应的实际长度为105 mm,则标定值K为0.034 7,如图13所示。
图13 像素标定
首先,任选5处裂缝,分别在距离目标平面0.5 m、1.5 m和2.5 m及与之对应偏角30°的条件下进行拍摄(拍摄时让裂缝位置始终固定在取景框内,随着距离变远,放大图像使裂缝位置在取景框内保持不变),每处不同条件下拍摄所得图像命名为1组(共5组)。然后,将图像输入到系统,计算裂缝的像素统计值并转换为物理值。最后,通过对比计算的物理值与仪器测得的实际物理值差异,评估本系统在实际情况下的测量精度,参与测量的图像如图14所示,测量结果如表6~表10所示,统计结果精度对比如图15所示。
图14 不同高度及角度下的图像
表6 1组位置
表7 2组位置
表8 3组位置
表9 4组位置
表10 5组位置
图15 统计结果精度对比
由统计结果可知,本系统测得的裂缝平均最大宽度、平均长度及平均面积的测量精度均在90.14%以上,最高精度可达96.9%,系统的测量精度较高,可满足实际工程需要。
(1)以传统VGG网络作为对比试验;试验表明:Resnet网络对比VGG网络识别的准确率在BGC测试集中,准确率大幅提高31.3%,优势明显。
(2)笔者提出了BGC预处理方法,经过实际验证,VGG网络测试集准确率提高4.99%,Resnet网络测试集准确率提高2.29%,可见笔者提出的预处理方式效果较好。
(3)针对裂缝的定量测量,开发了裂缝测量系统对裂缝进行量化分析;为适应实际拍摄情况,客观评估了不同拍摄高度及角度下的测量精度;通过计算,平均精度在90.14%以上,最高可达96.9%,可满足工程需求。