APP下载

基于深度学习的复杂场景下混凝土表面裂缝识别研究

2020-12-28雷斯达曹鸿猷康俊涛

公路交通科技 2020年12期
关键词:像素卷积聚类

雷斯达,曹鸿猷,康俊涛

(武汉理工大学 土木工程与建筑学院,湖北 武汉 430070)

0 引言

带裂缝工作是桥梁在运营过程中常见的状态,然而裂缝的存在不仅会使混凝土保护层脱落、钢筋裸露、锈蚀,影响结构的耐久性,严重时还会降低桥梁的承载能力,因而对桥梁裂缝的识别就显得尤为重要。当前我国裂缝检测仍以人工检测为主,这种方法不仅会干扰交通,还难以保证检测的效率。近年来,图像识别技术的兴起为裂缝检测提供了新的手段。刘洪公等[1]基于卷积神经网络提出了一种能识别大于桥梁规范中混凝土裂缝宽度限值的裂缝及对应类型的桥梁裂缝识别算法。柴雪松等[2]构建了用于裂缝分析的数据集,提出了一个基于深度学习的能够准确分割出裂缝形状的算法模型。Yang等[3]利用全卷积网络同时识别和测量裂缝。马晓丽等[4]引入神经网络,采取路面图像的灰度作为分类特征,成功分类了路面图像。苑玮琦等[5]使用机器视觉研究方法对目前的混凝土裂缝检测算法研究进行了综述说明,并指出其优缺点。李娜等[6]利用图像质量评价方法建立了具体的颜色二阶矩与人眼视觉信息熵特征客观评价函数及算法流程,并通过试验证明了算法的有效性。为了提高识别算法的精度,Brigante等[7]提出了一种与遗传算法相结合的随机全局搜索算法用于识别线性裂缝。在常规环境下,王伟等[8]将高斯平滑滤波器改进为选择滤波器进行路面裂缝识别,能较好地提取裂缝骨架。黄海燕等[9]采用基于K-means的聚类分析算法提出了决策信息概念模型,用以实现对决策特征信息的分类与推荐。张朝等[10]提出基于K-means聚类算法的最优匹配算法,实现了算法稳定性和准确率的提升。严盛龙等[11]采用canny算子对裂缝边缘整像素进行识别,利用原裂缝图像上对应的附近灰度梯度,实现了对裂缝宽度的测量。阮小丽等[12]将裂缝区域当作连通区域,根据裂缝的特征参数过滤掉虚假裂缝并对交叉的较小裂缝进行提取,从而实现了裂缝宽度的识别。为解决在光照条件不同的情况下裂缝检测的可靠性,李清泉等[13]提出了一种自动匀光的路面裂缝图像分析方法,并说明了其合理性及实用性。

以上文献虽然在裂缝图像的识别计算上提出了思路方法,但到目前为止,在裂缝图像背景复杂的情况下及在对裂缝图像的有效分类和裂缝有效识别两方面的兼顾上并没有得出很好的结果。因此,在上述文献的基础上,本研究基于卷积神经网络及初始中心自定义的改进K-means聚类算法,通过设备采集图像数据组成图像数据集,对采集图像进行有无裂缝的分类并进行分割识别,然后运用闭运算的膨胀、腐蚀等操作对裂缝图像进行处理,提取出在表层脱落、污渍、苔藓等噪声导致图像裂缝信息难以识别的复杂情况下的裂缝骨架,并完成裂缝宽度的计算。

1 图像分类

由于混凝土裂缝种类繁多、数量庞大、现场环境复杂,通过人力直接识别裂缝的分布及宽度需耗费大量的时间及精力,因此结合深度学习方法对采集图像进行智能分类识别,能大大提高处理效率。卷积神经网络(Convolutional Neural Network,CNN)作为图像识别领域最具代表的方法之一,具有表征学习(Representation Learning)能力,能够对所输入的信息数据依据层次结构进行平移不变分类(Shift-invariant Classification)。它的特点包括局部感受野、权值共享、池化以及多网络层。

1.1 图像样本集制备

使用深度学习中的卷积神经网络组建图像分类模型检测裂缝,需要以数量巨大的裂缝图像作为训练和验证集对卷积神经网络进行训练,同时还需要测试集进行网络模型测试。由于当前没有应用于卷积神经网络的公开的裂缝图像标准数据集,本研究采用自持设备采集裂缝图像。考虑到图像尺寸的影响,在将图像用合理像素框进行裁剪后制作应用于本研究图像分类模型的图像样本数据集。

1.2 卷积神经网络训练1.2.1 卷积神经网络结构

卷积神经网络可以将图像作为目标直接输入,在二维图像处理过程中有很大的优势,避免了传统方法中数据重建及特征提取等过程,能够自动识别提取纹路、颜色、形态等图像特征及图像的拓扑结构,在识别处理位移、缩放及其他形式扭曲不变性的应用上具有良好的运算效率和鲁棒性等。Xu等[14]采用卷积神经网络结构从包含复杂干扰信息的现实世界图像中进行裂缝识别,结果表明,训练好的改进融合CNN可以自动进行识别。本研究提出一种基于深度学习的图像分类模型 (Deep-learning-based Image Classification Model,DICM)。在位于模型结构第1层的输入层中,输入图像的像素规格为256×256×3,在输入层后进入卷积核规模大小为3×3,步长为1的第1个卷积层进行卷积操作,经过批规范化(Batch Normalization)操作后转入池化层进行第1次最大池化操作。模型使用了C1~C5的5个卷积层及P1~P4的4个池化层,其中池化层的步长选取均为2,池化窗口P1选取规格为2×2,P2选取规格为2×2,P3选取规格为4×4,P4选取规格为6×6。在结构中,样本经过各层的卷积、批规范化、池化操作,转入全连接层L10,将前面所提取的特征进行综合,再经过激活函数层L11的激活处理后转入输出层L12,最后由分类层L13判断结果,得出分类图像。分类模型的网络结构图如图1所示。

图1 卷积神经网络结构

1.2.2训练图像分类模型

本研究裂缝识别模型采用基于Caffe的框架进行训练,其中的主要参数依据经验设置,设定初始学习率为0.001,批尺寸为128。卷积神经网络的训练过程通常分为两个阶段。在第1阶段中,经过多层的卷积、池化处理后,在输入的图像数据中获得特征向量并输送至全连接层中,获得识别结果,当最终输出结果与预期估计值符合时,输出结果。当输出结果与预期估计值不符合时,进入第2阶段,先求出结果与预期值的误差并逐层返回,计算出误差梯度,通过训练样本和期望值来调整网络的权值,然后更新权值,获得最终分类模型。

1.3 卷积神经网络测试1.3.1 测试流程

裂缝识别模型在经过裁剪扩增的样本数据集的训练与验证之后,就可以应用于图像识别测试:将用于测试部分的数据集导入经过训练和验证的图像分类模型,进行图像数据测试集中关于含裂缝的目标图像及不含裂缝的背景图像的图像归类,得到识别结果。图2为图像分类测试过程的流程示意图。

1.3.2测试评测指标

一般用精确率(Precision)、召回率(Recall)及结合精确率与召回率的综合评价指标F1-measure进行图像分类模型的指标评价。在评价指标数中,True Positives(TP)代表正样本被正确识别为正样本;True Negatives(TN)代表负样本被正确识别为负样本;False Positives(FP)代表假的正样本(即负样本)被错误识别为正样本;False Negatives(FN)代表假的负样本(即正样本)被错误识别为负样本。精确率及召回率就是在此基础上得出来的。

精确率P是所有被正确检测识别出来的样本中正样本所占的比例;召回率R是测试样本集的所有正样本中被正确检测识别为正样本的比例,二者可由式(1)~(2)计算得到:

(1)

(2)

图2 图像测试流程

F1-measure值表示精确率和召回率的调和均值,式(3)描述F1-measure与精确率P、召回率R的数学关系:

(3)

2 裂缝识别

在图像分类模型完成分类之后,对分类出的裂缝图像进行标识处理。通常先将裂缝图像进行图像灰度化处理,随后利用改进K-means算法与形态学方法对裂缝区域进行分割、标记,最终进行裂缝的宽度计算,得出结果。

2.1 图像灰度处理

由于人眼对红、绿、蓝3种颜色的敏感度不同,需采用式(4)对红、绿、蓝三分量进行加权平均计算,从而得到较合理的灰度图像[14]:

A=0.30R+0.59G+0.11B,

(4)

式中,A为像素值;R,G,B分别为红、绿、蓝的像素分量值。

为了扩大裂缝图像背景与目标的灰度差,按式(5)进行图像增强处理[1]:

(5)

式中,F(x,y)为输出点的灰度值;g(x,y)为输入点的灰度值;x1,x2分别为两个横轴的转折点;k值决定着变换区间函数的斜率。

2.2 裂缝标记计算2.2.1 改进K-means聚类算法

K-means算法是一种迭代求解的聚类分析算法,首先随机选取K个对象作为初始的聚类中心,而对于剩余对象,则根据它们与这些聚类中心的距离,分别将它们分配给聚类中心所代表的聚类,然后再计算每个所获得的新聚类的聚类中心,即该聚类中所有对象的均值。不断重复这一过程,直到标准测度函数开始收敛为止[15]。

K-means聚类算法简单、快速,可以高效处理大数据集,但是K-means算法聚类效果依赖于聚类中心的初始化,需要不断在计算后调整新的中心点,且聚类结果随初始输入的不同而产生波动。针对K-means算法初始聚类中心选择的缺点,本研究基于回归分析的方法,结合聚类中心密度高于其临近区域的特征,并且与密度较高的点的距离相对较大[16]的概念,对K-means算法进行改进优化,使其选择确定合适的初始聚类中心,减少缺陷造成的影响,以获取预计的理想效果。

回归分析是变量间相互依赖的定量关系的一种分析方法。假设e为某个聚类的聚类中心,那么它的局部簇密度ai相对而言是比较大的;同时在簇范围内,也应该具有较大的欧氏距离bi,可以对对象计算其局部簇密度ai和欧氏距离bi,那么具有较大ai和bi的对象e即为数据集的聚类中心。基于上述特点,提出改进的K-means算法,其计算流程如下。

步骤1:用式(6)对数据进行标准化预处理,消除不同量纲对属性造成的影响:

(6)

式中,Hnorm为归一化后的数据;u为原始数据;umax,umin为对应原始数据集的最大值和最小值。

步骤2:将数据标准化之后,分别采用式(7)和式(8)计算欧氏距离bij和局部簇密度ai:

(7)

式中ui和uj分别为处理后的对象数据。

(8)

式中,ε为截断距离;X(x)中的x即bij-ε;X为x的总集。

步骤3:通过式(9)计算得到簇范围中所有数据之间的平均欧式距离A-bij,它可以衡量一个数据所在簇的紧密度,值越小,表示所在集合越紧密。通过对比排除明显异常点,降低误差:

(9)

步骤5:将得到的拟合值与实际值按式(10)进行标准化处理得到标准化残差C:

(10)

式中,bsi为实际观察值;bni为拟合值;σ为C对应的标准差。

步骤6:依据统计学原理,若某个数据点的标准化残差C∈(-2, 2),则将该数据点视作潜在点,所以选取∣C∣≥2的数据作为输出结果,即为所需的聚类中心。改进的K-means算法流程图如图3所示。

图3 改进K-means算法流程图

2.2.2裂缝标识处理

数学形态学是以结构元素为基础对图像进行数学分析的工具。在数学分析过程中,利用具有一定形态结构的结构元素度量和提取图像中的对应形状,进一步达到对图像识别和分析的目的,在图像的处理过程中,有4种数学形态学的基本运算:膨胀、腐蚀、开运算、闭运算。图像腐蚀能通过选取不同尺寸大小的结构元素,在图像中去掉不同大小的物体;膨胀操作则能够填充物体内部的孔洞[17]。假设结构元A对图像B进行先膨胀后腐蚀的闭预算操作,能够在平滑边界的同时不改变其面积大小,膨胀、腐蚀的原理及操作定义如下[18]:

(1)膨胀使目标区域范围“变大”,用来填补目标区域中的某些空洞及消除区域中的小颗粒噪声。结构A对B的膨胀操作从数学上可以式(11)表达:

B⊕A={x,y|(A)xy∩B≠∅}。

(11)

(2)腐蚀使目标区域范围“变小”,通过收缩目标区域的边界来消除小且无意义的目标物,从而避免这些目标物形成噪声,对裂缝提取的完整性和有效性产生不必要的影响。式(12)定义了数学方法上结构A对B的腐蚀操作:

B⊗A={x,y|(A)xy⊆B}。

(12)

初步处理之后再进行形态学深入处理。采用连通区域标记分析二值图像,让单独的连通区域连接成1个被标识的块,用以获取轮廓、外接矩形等几何参数。令P是1个像素集,如果P中的全部像素之间存在1条通路,则认为像素在P中是连通的。对于P中的任何像素Pk,P中连通到该像素的像素集称为P的连通分量。假定Q为1个适合的结构元,采用式(13)限制P的范围:

Pk=(Pk-1⊕Q)∩P(k=1, 2, 3,…)。

(13)

界定P的范围后,可用式(14)计算裂缝的宽度:

Xx=2sx/lx(x∈[1,n]),

(14)

式中,x为真实裂缝;Xx为裂缝宽度计算值;sx为真实裂缝x的面积;lx为周长。

考虑到图像中可能存在杂质噪声的影响,通常在剔除异常宽度后,取裂缝中前3个数值的平均值作为裂缝宽度的值。计算出的裂缝宽度为像素单位,按照式(15)将其换算为物理单位:

Y=KX,

(15)

式中,Y为物理宽度;X为像素宽度;K为换算系数,可按式(16)[19]求得:

(16)

式中,t为像平面到目标物之间的距离;f为焦距;kcmos为传感器像素尺寸,是采样相机的固定参数。

3 应用实例

3.1 实例背景

武汉市某桥为上承式三跨连续拱桥组合体系,跨径组合(20+38+20) m,桥梁宽40 m,全桥长度为84 m,其桥梁结构简图如图4所示。本研究于该桥结构健康检测工程期间,采用自持设备采集桥面及桥底不同背景条件下的混凝土图像数据集。共采集裂缝图像600张,其中580张裂缝图像用于图像分类模型的训练、验证,余下20张图像则用于图像分类模型的测试。由于采集的原始图像尺寸很大,为便于模型的训练,将图像按256×256像素裁剪框规格对图像集进行裁剪后,制备获得数量为15 000张的样本数据集。

图4 采样实例结构(单位: cm)

3.2 图像处理及对比分析

在图像样本数据集中选取8 000张,将其随机组合成4组,通过观察卷积神经网络训练与验证过程中的准确率,观察裂缝识别网络的效果,判断超参数设置是否合理。表1列出了4组数据的训练与验证的准确率。

由表1可知,4组数据的训练准确率均大于98.50%,验证平均准确率约为98.60%,且数据的准确率变化幅度较小,这可以证明裂缝识别模型具有较好的鲁棒性。

将用于图像分类模型测试的20张裂缝图像分为两组,用 256×256规格的像素框裁剪之后进行测

表1 裂缝图像训练结果(单位:%)

试,选取其中1组的结果进行统计展示,测试结果统计如表2所示。

表2 裂缝图像测试结果

从表2统计的数据来看,用于测试的10张裂缝图像的识别精确率及召回率的走势较为稳定,依据式(1)~(2),得到精确率的值大概为0.94,召回率大概为0.941。对于精确率和召回率的调和均值F1-measure,用式(4)计算得出的综合评价指标为93.8%,相较于传统数据而言得到了提升。证明了模型可以较好地完成图像分类任务。

从分类出的图像中选择1张带裂缝的图像,其原图像在进行灰度分析后得出灰度直方图。以式(6)对原图像进行预处理,得到预处理后的图像。

图5 图像预处理

对图像做预处理之后继续进行形态学初步处理,将灰度图像去噪后进行膨胀步骤,之后经过再去噪与腐蚀,最后以式(13)进行标识。初步处理图像及标识后图像如图6、图7所示。

图6 图像初步处理

图7 裂缝标记

图7中标识宽度存在7个值,剔除异常值后计算的平均裂缝宽度为5。由于图像采集所用的设备配备约2 420万像素Exmor R CMOS背照式影像传感器,经过式(16)计算得出对应图像裂缝宽度约为0.6 mm。

在裂缝骨架提取方面,本研究所用的图像处理方法在提取效果上得到了提升。下面将用基于迭代法全局阈值分割、普通K-means、以及本研究的改进K-means 3种方法的图像裂缝提取结果进行效果对比。由于部分图像噪声太多,标识之后影响视觉观察效果,故只选取分割处理步骤完毕的图像来对比不同裂缝样本来展示处理效果,获得结果如图8所示。

图8 处理效果对比

图8表明,采用迭代法全局阈值分割的图像中,最终分割效果图存在较多噪声,对进一步进行的目标标识测量会产生较大阻碍。普通K-means分割方法较迭代法全局阈值分割而言,其分割效果得到了一定的提升,但仍不足以满足目标标识测量的要求。同前面两种方法相比,运用改进K-means算法处理提取的裂缝图像所包含噪声更少,裂缝骨架提取更为完整,效果得到了较大的提升。同时改进K-means算法在裂缝提取效果提升的基础上,还增强了效率,减少了程序处理所耗费的时间。迭代法全局阈值分割处理单张图像耗时约1.8 s,用普通K-means分割方法需要约1.6 s,而用改进K-means分割方法处理单张图像所需的平均时间减少到了0.3 s。

从图像数据集中提取存在诸如表层脱落(图9(a))、污渍苔藓(图9(b))等噪声情况下的裂缝图像,验证本研究方法对复杂场景下混凝土表面裂缝识别宽度的有效性。

图9 处理效果

从图9中可以看出, 采用本研究所用方法,对于背景复杂的裂缝图像,裂缝骨架在排除环境噪声影响的同时得到了较为完整的提取,证明了本研究所用方法图像裂缝提取的效率及可用性。

表3列举的是采用各方法计算图9中各图裂缝宽度结果的均值。可以看出,相较用于对比的两种方法,本研究所采取改进K-means方法计算出的结果误差更小,更接近于裂缝检测仪所获得的数据,这印证了相对于其他两种方法,本研究所采用方法具备更好的效果。

4 结论

(1) 经过图像数据集的训练,本研究裂缝图像测试的综合评价指标达到了93.8%,相较于传统数据,该图像分类模型效果良好,具有较好的准确率及鲁棒性。

(2) 本研究对传统普通K-means算法在初始聚类中心的确定处进行了改进,提升了裂缝提取功能的效率、完整性及图像裂缝的识别速度,对于单张裂缝图像,进行裂缝识别所需的时间推进至约 0.3 s,经过计算以得出图像裂缝的宽度数值。

(3) 相较于文中对比方法,本研究在裂缝识别的通用性和效果上有较大的提升。对于存在青苔、污渍等不利复杂背景因素的裂缝图像,基本实现了裂缝骨架的少噪声完整提取。但在周围背景与裂缝色差相差不大时,裂缝周围的噪声可能会对细微裂缝的提取产生干扰,最终影响整体的提取效果,对此仍需进一步的深入研究。

猜你喜欢

像素卷积聚类
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
基于K-means聚类的车-地无线通信场强研究
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
ÉVOLUTIONDIGAE Style de vie tactile
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现