APP下载

基于卷积神经网络的桥梁裂缝识别研究

2022-06-10贾潇宇

中国新通信 2022年9期
关键词:卷积像素长度

一、引言

本文针对桥梁裂缝图像的特点,提出了一种融合卷积神经网络和传统图像处理的新型裂縫检测与测量方法,实现裂缝高准确度检测及其参数的像素级测量。本文的主要贡献:1.将语义分割用于图像预处理,精确地去除外部环境干扰;2.调整了CNN网络架构和数据集构成,可对图像进行准确度更高的裂缝分类;3.用提取的特征图进行图像重构,用于像素级精度的裂缝长度测量。

二、基于CNN的桥梁裂缝检测

基于卷积神经网络的图像分类和参数检测流程如图1所示。所处理的目标图像是由无人机拍摄的桥梁裂缝,由于桥梁所处的复杂环境和拍摄条件的限制,图像中有许多冗余信息,所以首先将原始图像通过全卷积网络(FCN)进行语义分割,获得桥梁主体部分;将FCN处理得到的图像切割成256×256的小图像块,用CNN进行分类;最后对用特征图拟合出的图像进行图像处理,获得裂缝参数(长度)的预测数值。

(一)FCN语义分割

语义信息分割处理是用于计算机数字视觉的一个基础处理任务,是一个像素数量级的信息分类处理任务,FCN作为经典语义分割网络之一,可以很好地完成语义分割的任务[1]。

本文使用的桥梁裂缝的原始图像由无人机拍摄而得,在无人机的拍摄过程中,由于无人机的摇晃、阳光照射和其他不确定性因素的干扰,原始图像往往会包含行人、水面等冗余图像,这些图像有不同的颜色和纹理,会对以灰白色为主的裂缝图像检测造成干扰。因此对原始图像进行分类前,先将拍摄到的原始图像应用FCN进行语义分割,提取出桥梁裂缝的完整图像为感兴趣区域,其他为背景区域。本文用感兴趣区域的平均颜色填充至背景区域,在去除冗余图像的同时,保证了图像的完整性,不影响后期分类任务,如图2所示。图2(a)为原始图像,有桥梁裂缝和鞋两个对象,桥梁表面粗糙,而鞋的表面光滑且反光;图2(b)为FCN分割后的结果,用蓝色代表桥梁,绿色代表鞋;图2(c)为填充后的图像,用桥梁的平均颜色代替鞋的颜色,去掉了鞋的颜色和纹理。

(二)CNN裂缝图像分类

应用卷积cnn可以完成整个图像数据分类处理任务,本文最终需要设计的应用cnn卷积网络层层结构如表中图3所示。在图中,L1、L2、L3为卷积网络层,包括卷积、池化和激活操作,其中,L3-1做卷积,L3-2做池化和激活;L4和L5为全连接层;L6为分类层;L7为线性回归层,连接L3-1;L8为测量层。

使用适当的图像样本作为训练样本是提高分类准确率的关键因素。考虑到过小的图像不能准确反映裂缝的总体特征,而过大的图像给计算机带来太大的运算负担,选取适当的图像样本大小十分重要。在相关文献提出的裂缝检测方法中,高正确率伴随着高虚警率,即将非裂缝图像分类为裂缝图像的比例比较高,高虚警率不但降低了分类的准确率,而且增加了测量的误差。

为解决这个问题,本文采用了以下几个措施:1.在收集图像的过程中,有意收集了有各种干扰的图像,在进行分类前,不对这些干扰图像进行额外的预处理;2.对于一些过于细小的裂缝,手动标注为无裂缝标签;3.在小图像分类完成、重新拼接成大图像前,对裂缝图像的比例和位置进行统计,若分类为裂缝的小图像占图像总数比例过小或位置分布比较分散,则判定原始图像为无裂缝图像。

通过多次实验,得到以下结论:1.裂缝特征主要表现为线状,高级特征和组合特征不明显,不需要堆积过多卷积层;2. 增加特征图数目显著地加快了模型训练时的收敛速度;3.256×256像素的样本图像可以保证在准确识别裂缝的基础上,捕捉到裂缝的整体布局。因此,本文的分类任务最终采用了图3分类分支所示结构,并将预处理后的原始图像切割成256×256像素的小图像作为输入样本。

(三)裂缝长度测量分析

CNN分类能够对原始图像进行较高准确率的分类,但不能直接得出具体的裂缝长度值。一方面,裂缝长度通过各种测量和计算得出,无法直观地由CNN提取到的图像特征进行转化;另一方面,原始图像由于图像多,每张图像的质量不同,数字图像处理的预处理步骤和参数不适用于所有图像,难以得到去除全部干扰的理想图像,测量的准确度不够。针对以上问题,本文应用线性回归模型将CNN提取到的图像特征图拟合出理想图像,取代传统的图像预处理过程,然后再对这些理想图像进行相应的处理,可以测算出准确高的裂缝长度值。

线性回归模型是一种形式简单且可解释性强的模型,它通过属性的线性组合进行回归分析,其基本的形式为:

(1)

式中,输入的xi为裂缝特征图(i=1,2,3...n),其中,n是卷积层输出特征图的数量;wi为特征图权值矩阵,b为偏移值。

式(1)的输出结果是一张用许多特征图拟合出来的理想图像,记为A。为了不损失精度,A应该与xi的大小相同。显然,A的每个像素点的值只与输入特征图xi对应位置像素点的值有关,与xi的其他位置像素点的值无关。于是A可以表示为:

(2)

权值矩阵和偏移值训练前,要确定拟合的理想图像是否足够“好”。首先计算拍摄位置的单位像素代表的实际距离长度,然后假设得到了理想的图像A,对A进行图像细化并统计像素点个数,像素点个数与单位像素代表的实际距离相乘得到测量长度,对A进行图像处理的过程记为函数F。测量得到裂缝的实际长度,据此人为估计分割后小图像的裂缝长度并记为标注长度y,使用最小二乘法反馈学习权值矩阵和偏移值,损失函数表示为:

(3)

测量任务中,提取到第三层特征图后,使用上述步骤代替后面的网络结构对裂缝进行测量。

三、实验结果及分析

(一) CNN网络训练及结果分析

首先,收集训练图像样本。采集完成后,将原始图像裁剪成256×256像素分辨率的样本图像,手动标注为有裂缝(正样本)和无裂缝(负样本),打乱并分成训练集和验证集[2],两个集合的图像没有交集,训练集和验证集比例为4:1,且由同一批次的原始图像产生。

其次,训练CNN网络模型。设置训练集和验证集中的正负样本比例为1:1,训练的超参数选择如下:迭代数为10000次;学习率初始值设置为0.001,并随着迭代次数进行更新;为防止过拟合现象,丢失率(dropout)设为0.5[3]。实验运行结果如图4所示,图4(a)为随训练次数增加的训练集准确度变化图,准确度总体趋势稳步上升,在9000次以后,CNN网络收敛且稳定;图4(b)为损失函数值变化,损失函数值总体呈持续下降趋势,最后接近0;图4(c)为CNN网络的验证集准确度变化图,总体趋势与训练集准确度相似,在7000次后收敛。通过多次实验验证,CNN网络对裂缝分类的准确率在95%以上,错误率在3%以下。

(二) 参数测量结果

本文选用长度参数来验证参数检测算法的有效性。

第一步,标定并计算拍摄位置的单位像素与实际距离的比例。标定图像使用无人机搭载的上置云台进行图像样本的拍摄,样本的分辨率为5000×3000像素。从无人机控制界面可以取得无人机距测量面高度、云台俯仰角度、云台偏移角度等参数。

手动测量获得无人机到摄像头的误差为长度为12cm、宽度为8cm、高度为17cm。实验过程中,分别操纵无人机距桥面1米、1.3米、1.5米、2米,摄像头垂直向下,并测量拍摄范围的实际长度,得到数据如表1所示:

从表1可以得出,摄像头到目标距离和图像实际长度成比例,而拍摄图像横向分辨率固定为5000像素,由此可得,摄像头到目标距离和单位像素与实际长度的比例,如表2所示。

图像采集时,保持摄像头与目标平行,利用比例尺原理,通过无人机高度、云台俯仰角度、云台偏移角度等参数可计算得出摄像头到目标的距离,从而得到当前位置下单位像素代表的实际长度,下文简称当前位置长度。

第二步,由线性回归模型得出图像中像素点个数。线性回归完成后,验证长度精度并计算误差。选取待测量裂缝图像切割后的其中一张小图像如图5(a)所示, 图5(b)为对应图5(a)的假设理想图像,使用特征图拟合的理想图像可视化显示为图5(c)。显然,图5 (c)完整了提取了图5(a)的裂缝整体形态,同时去除了干扰,细化后可以得到和图5(b)接近的像素个数。

图5    理想图像拟合

对原始图像切割出来的所有小图像裂缝长度进行累加,可以得到原始图像的测量总长度,经多次实验统计后,测算的图像裂缝长度误差均在5%以下,表3给出了部分测试图像的人工实际测量裂缝长度和本文方法测算裂缝长度。由于桥面破损比较复杂,人工只测量了主要裂缝的长度,测算长度均比人工测量长度长,但误差保持在5%以下。

四、结束语

本文设计CNN网络对桥梁裂缝图像进行高精度识别,在此基础上,用CNN网络训练得到的特征图拟合成理想图,实现像素级的裂缝长度测量。实验结果表明,CNN网络分类准确率在96%以上,错误率在3%以下;CNN网络对裂缝长度测量误差在5%以内,在长度测量可接受的误差范围之内。

作者单位:贾潇宇    广东农工商职业技术学院

参考文献

[1] 田萱,王亮,丁琪.基于深度学习的图像语義分割方法综述[J].软件学报,2019,30(02):440-468.

[2] 赵志宏,杨绍普,马增强.基于卷积神经网络LeNet-5的车牌字符识别研究[J].系统仿真学报,2010,22(03):638-641.

[3] 陈超逸. 基于深度强化学习的提质增效多目标模型建模及优化方法研究[D].广西大学,2021.

[4] 贾潇宇. 基于卷积神经网络的桥梁裂缝识别与测量方法研究[D]. 广西科技大学, 2019.

猜你喜欢

卷积像素长度
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
1米的长度
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
爱的长度
ÉVOLUTIONDIGAE Style de vie tactile
怎样比较简单的长度
高像素不是全部