融合深度学习聚类分割和形态学的混凝土表面裂缝量化识别 下载: 1183次
1 引言
目前,我国混凝土结构的应用十分广泛,涉及许多工程行业,其在施工与使用的过程中会产生各种裂缝,这给结构的施工以及维护保养带来了安全隐患。目前最普遍的检测方法仍是人工检测,不仅效率低下,还存在安全问题。而较为先进的无损检测方法成本高昂且无法完全实现非接触测量。近年来,随着计算机视觉技术的不断发展,基于计算机技术对裂缝实现高精度检测成为了热点。然而,其检测方法主要分为传统的图像处理方法(包括滤波处理[1]、边缘检测[2]、阈值分割[3]、区域分割[4]等)和机器学习方法(基于深度学习[5]和聚类分割[6]等)。
针对传统图像处理方法,孙卫红等[7]利用相位角及灰度分布改进Canny算子,对较细的表面裂缝进行识别,但是产生了较多的噪声。肖利芳等[8]尝试基于Sobel算子的改进边缘检测算法对混凝土表面裂缝进行检测,较好地去除了噪声,但对于裂缝整体骨架的提取效果不佳。韩豫等[9]采用Otsu法改进Canny边缘算法,实现了对裂缝的提取,但是提取的裂缝骨架不够完整并且整体识别准确率不够高。而邵闯等[10]在中值滤波方法的基础上,提出了一种改进的中值滤波方法,结合阈值分割方法,能较好地对灰度差异不明显的混凝土表面裂缝进行识别,但是该方法不能识别复杂背景下的裂缝。瞿中等[11]利用改进选择算子的遗传规划算法实现了对混凝土裂缝图像的光照归一化,能对一定复杂背景下的裂缝进行识别,但是效果不够显著。
相比于传统图像处理方法,刘新根等[12]基于深度卷积神经网络,结合滑动窗口技术,不仅能一定程度上减少背景对裂缝识别的影响,还能够对大批量的裂缝图片进行较高精度的识别,但还是仅限于施工缝、线缆等背景的干扰。而Cha等[13]利用深度学习,从大量图像样本中学习共有特征,提出一种鲁棒性很强的分类器,但仅能实现对不同光照条件下的混凝土构件上的裂缝检测。王森等[14]引入全卷积网络实现了较复杂背景下的裂缝目标的有效检测,降低了错误标记的概率,但是处理效率仍不够高。薛亚东等[15]基于改进优化的卷积神经网络GoogleNet,较好地实现了复杂背景下多样裂缝的高精度识别,但是对裂缝数据集识别的准确率不够理想。
基于以上研究,针对混凝土表面裂缝,本文提出基于神经网络和聚类分割组合的混泥土表面裂缝识别的方法,实现了对混凝土表面裂缝图像的精确识别和量化计算。
2 裂缝初步识别
2.1 裂缝识别网络(CIN)
针对裂缝形状的多样性及裂隙量级的不确定性,在卷积神经网络基础上提出了一种名为裂缝识别网络(CIN),其结构如
该模型的基本结构由6个卷积层、4个池化层、1个全连接层和1对输入、输出层组成。其中,对所有的卷积层和全连接层均进行批规范化处理,以提升模型的泛化能力;为了保证图像不因过大或过小而影响识别效果,设定输入层为尺寸大小256×256×3的图像,其中3个维度分别为长度、宽度和RGB分量(红色、绿色和蓝色分量);为了更好地进行特征压缩,简化网络复杂程度,设置L2,L5,L7,L10的池化窗口大小分别为2×2、4×4、4×4、6×6,步长均为2,并采用最大池化法则;而为了得到更深层的图像特征,同时保证不增加网络的复杂性,设置卷积层L1,L3,L6,L8的卷积核尺寸为3×3,L4和L9卷积核的尺寸为5×5,所有卷积层步长均为1;经由卷积和池化处理后,通过Flatten操作输出包含512个元素的矢量至ReLu层;再经过Dropout层随机切断部分神经元连接,使得网络模型参数之间的依赖性降低,以提高模型的鲁棒性,有效防止过拟合;最后通过Softmax层来判断经过以上处理后的数据是否为裂缝图像。
根据所构建的裂缝识别网络进行裂缝的识别。首先,建立大量的裂缝数据集,并将该数据集划分为训练集和验证集。利用划分好的训练集和验证集对裂缝识别网络模型进行训练,然后通过测试集检验模型预测的效果,其整体识别流程如
2.2 数据集验证
利用数码单反相机(Nikon D5600)采集500张原始图像,拍摄距离为15 m,角度控制在60°~90°。每张图像由于拍摄距离及角度不同,光照强度均有所差异。在500幅原始图像中,300幅图像用于训练、验证和测试,200幅图像用于第二次测试。将300幅图像的尺寸裁剪为256 pixel×256 pixel,然后将每幅图像标注上有无裂缝,将其作为预处理步骤构建用于训练、验证和测试的数据库。生成的数据库包含广泛的裂缝图像类型,如裂缝图像中包含了交叉裂缝、粗细裂缝以及带杂物裂缝等,非裂缝图像包含了带有阴影、凸起和纹理等的混凝土表面,便于训练出具有高鲁棒性和高精确度的裂缝检测模型,如
图 3. 裂缝与非裂缝图像。(a)裂缝图像;(b)非裂缝图像
Fig. 3. Example of crack and non-crack images. (a) Crack images; (b) non-crack images
为了对识别模型的识别精度进行有效地验证,并且保证检测方法的简便性,采用交叉验证法[16]进行验证,训练5组模型,得到5组模型的训练结果,
由
图 4. 第4组模型的训练以及验证结果。(a)训练结果;(b)验证结果
Fig. 4. Training and validation results for group 4th model. (a) Training results; (b) validation results
图 5. 5种不同组合的训练与验证正确率
Fig. 5. Accuracy rate of training and validation for 5 different groups
从数据集中随机抽取部分图像测验裂缝识别网络的识别裂缝的效果,其识别结果如
图 6. 裂缝识别效果。(a)原始图像;(b)裂缝分类与识别结果
Fig. 6. Example of identification results. (a) Original image; (b) crack classification and identification result
由
3 裂缝精确分割
经过裂缝初步识别,得到了初始裂缝图像,但没有实现对裂缝图像中裂缝的准确分割。对此,本节在改进K-means聚类算法的基础上实现对裂缝的精确分割。
3.1 改进K-means聚类分割算法
K-means聚类算法虽然具有快速、高效的分割特性,但是其对聚类中心选取的要求很高且极易收敛到局部最优解,从而错过全局最优解。针对此,本研究利用动态粒子群优化(DPSO)实现对K-means聚类算法的改进。
具体改进步骤如下:
1) 首先将彩色图像转换为灰度图像,得到裂缝的初始灰度图像,给定初始聚类数k。
2) 根据K-means算法确定聚类中心m。
3) 聚类中心确定之后,计算粒子i的适应度值,表达式为
式中:xi为数据点集X中的第i个数据点;mj为第j个聚类中心;n为粒子个数。
4) 确定粒子的惯性系数w[17]和学习因子s[17]。惯性系数可表示为
式中:wmax为最大惯性系数;wmin为最小惯性系数;fi是粒子i的当前适应值;fave是所有粒子的当前平均适应值;fmin是所有粒子的最小适应值。学习因子可表示为
式中:s1,s2分别代表粒子的自我学习能力和向优秀集体的学习能力;s1,int和s2,int代表粒子初始的学习能力;s1,fin和s2,fin代表粒子最终的学习能力,s1,int>s2,int,s1,fin>s2,fin;tmax表示算法的最大运行时间。
5) 利用步骤4)得到的惯性系数w和学习因子s更新粒子的速度vi和位置xi,表达式为
式中:r1,r2为区间[0,1]上均匀分布的两个随机数;t为时间;pij为粒子i在更新过程中经历的位置;pgj为粒子i在更新过程中经历的最佳位置。
6) 当达到最大迭代次数或者粒子群适应度方差δ2收敛于固定值时,输出全局最优解,得到粒子群适应度方差δ2,即
否则重复步骤2)至步骤4)。
7) 以步骤5)的最优解为最优聚类中心,进而得到k个聚类。
8) 进行准则函数判断。采用戴维森堡丁指数(DBI,ηDBI)指标函数[18]作为最终聚类结果的准则函数,其计算公式为
式中:d(i,j)表示为第i个类与第j个类间的类间距离;Si表示为第i个聚类中每一个数据点与该类的中心mi之间的欧氏距离标准误差和;k表示为数据集的总聚类数。
9) 若ηDBI收敛则将此时的聚类结果作为最终结果输出;若不收敛则重复步骤2)至步骤8)直至收敛,然后再输出结果。
3.2 算法性能分析
采用精确率(precision)、召回率(recall)和F-measure评价指标对算法的有效性进行评价,具体评价指标[19]的定义为
其中:P代表精确率;R代表召回率;F代表F-measure值;a代表裂缝图像中被正确识别为裂缝的图像数;b代表背景图像中被识别为裂缝的图像数;c代表裂缝图像中被识别为背景的图像数。
3.3 与传统算法对比
基于本文裂缝数据集,以几张较为简单的裂缝图像为例,将本文提出的改进算法与传统改进的Otsu算法[20]、改进的Canny算子[21]以及改进的中值滤波算法[22]的分割效果进行对比,其对比效果如
图 7. 利用本文算法和传统方法获得的分割效果。(a)原图像;(b)改进Otsu算法;(C)改进Canny算法;(d)改进中值滤波算法;(e)本文算法
Fig. 7. Segmentation results obtained by the proposed algorithm and traditional methods. (a) Original image; (b) improved Otsu algorithm; (c) improved Canny algorithm; (d) improved median filter algorithm; (e) our algorithm
由
由
3.4 与聚类算法对比
基于本文裂缝数据集,利用本文提出的改进的K-means分割算法对带有大量青苔、带落叶或水渍的混凝土表面裂缝图像进行识别,并将识别结果与K-means算法[23]、mean shift算法[24]以及Fuzzy C-means算法[25]进行对比分析,如
图 9. 利用本文算法和聚类方法获得的分割效果。(a)原图像;(b) K-means算法;(c) Meansshift算法;(d) Fuzzy C-means算法;(e)本文算法
Fig. 9. Segmentation results obtained by the proposed algorithm and clustering methods. (a) Original image; (b) K-means algorithm; (c) mean shift algorithm; (d) fuzzy C-means algorithm; (e) our algorithm
由
由
4 裂缝量化识别
基于CIN和改进K-means算法准确分割出的裂缝骨架,本章将对裂缝的相关物理尺寸进行量化识别。
4.1 裂缝物理尺寸
需对裂缝的物理尺寸,即面积、长度、平均宽度以及占据比例进行计算,计算方法如下。
1)裂缝面积:计算出每个连通域包含的像素数目,依据每个像素所对应的实际物理尺寸,得到每个连通域的面积,并对所有连通域的面积进行求和。裂缝的实际物理尺寸为
式中:Pa单位为mm2;Pi为裂缝的像素尺寸,单位为pixel2;η为裂缝在图像中的缩放比例,单位为mm·pixel-1。
2)裂缝长度:对裂缝骨架进行图像细化,细化后的裂缝宽度为单个像素,计算此时周长的一半可得此时裂缝的像素数目,并依据(12)式每个像素实际物理尺寸,得到裂缝长度。
3)裂缝平均宽度:裂缝平均宽度为裂缝面积与长度之比,结合裂缝长度的计算方法可得裂缝平均宽度,计算公式为
式中:Si为第i个裂缝的面积,Ci为第i个裂缝的周长,di为第i个裂缝的平均宽度,n为裂缝总数。
4)裂缝占据比例:裂缝的面积与图像总面积之比。
4.2 裂缝标识
为了便于计算裂缝的尺寸,需对采集到的裂缝图像进行标识。基于本文数据集,结合CIN网络模型的输出结果,对裂缝图片进行标识测试。使用软件为matlab 2016b,处理器为Intel(R) Core(TM) i5-8300H CPU @2.30 GHz,内存为8.00 GB,显卡为NVIDIA GeForce GTX1050Ti,操作系统为Windows 10。
为更好地验证本文方法对裂缝的标识性能,以
由
图 11. 裂缝标识示例。(a)原图像;(b)神经网络识别;(c)分割;(d)标识
Fig. 11. Identification of cracks with different thicknesses. (a) Original image; (b) identification of neural network; (c) segmentation; (d) mark
4.3 裂缝尺寸计算
利用本文方法对裂缝进行识别、分割和标识,最终实现了量化标识,如
由
表 1. 裂缝1和2的像素尺寸
Table 1. Pixel sizes of crack 1 and crack 2
|
表 2. 裂缝1和2的实际尺寸
Table 2. Actual size of cracks 1 and crack 2
|
从
表 3. 统计结果对比
Table 3. Comparison of statistical results
|
表 4. 统计结果精度
Table 4. Accuracy of statistical results
|
由
5 结论
提出了一种融合深度学习卷积神经网络、聚类分割以及形态学方法的混凝土表面裂缝识别和尺寸计算方法。该方法能够实现混凝土裂缝与非裂缝图像的有效分类,并能对裂缝进行精确分割和量化识别。主要结论如下:
1) 运用深度学习卷积神经网络进行训练,得到了裂缝初步识别模型。经过验证与测试,识别正确率可达98.8%以上。同时将深度卷积神经网络的裂缝识别模型与聚类分割、形态学方法结合,提出了一种名为CIN的混合多算法裂缝识别提取方法。
2) 对比传统分割算法以及同类的聚类分割算法,可知本文提出的改进K-means算法在保证极高的分割精度和准确率的情况下,能够对复杂背景下的多种混凝土表面裂缝进行识别。
3) 在本文算法的基础上结合形态学方法,实现了对裂缝的标识、量化识别,以及裂缝物理尺寸的计算,且实验证明量化识别的精度最低为96.55%,最高可达99.49%。
4) 为保障混凝土表面裂缝检测人员的安全、减少工作量、维护混凝土结构、对结构进行安全检测,提供了一定的理论依据,也为以后更高精度和更复杂条件下的同类裂缝的识别研究提供了一些参考。
[1] 朱化春, 佟亚军, 吉特, 等. 使用区域中值滤波算法降低同步辐射红外线站由Top-Up模式引入的噪声[J]. 红外与毫米波学报, 2018, 37(2): 251-257.
[2] Chen Z G, Li Y G, Chen X F, et al. Edge and texture detection of metal image under high temperature and dynamic solidification condition[J]. Journal of Central South University, 2018, 25(6): 1501-1512.
[3] Wen N, Yang S Z, Zhu C J, et al. Adaptive contourlet-wavelet iterative shrinkage/thresholding for remote sensing image restoration[J]. Journal of Zhejiang University SCIENCE C, 2014, 15(8): 664-674.
[4] 王光磊, 张学红, 韩业晨, 等. 基于中智学理论的冠脉光学相干断层图像的全自动多区域分割[J]. 生物医学工程学杂志, 2019, 36(1): 59-67.
Wang G L, Zhang X H, Han Y C, et al. Automatic multi-region segmentation of intracoronary optical coherence tomography images based on neutrosophic theory[J]. Journal of Biomedical Engineering, 2019, 36(1): 59-67.
[6] Wu Q P, Wu C M. A fast and robust clustering segmentation algorithm for kernel space graphics[J]. CAAI Transactions on Intelligent Systems, 2019, 14(4): 804-811.
[7] 孙卫红, 李乾坤, 邵铁锋, 等. 基于机器视觉的桩护壁裂缝检测方法[J]. 计算机工程与应用, 2019, 55(14): 260-265.
Sun W H, Li Q K, Shao T F, et al. Crack detection algorithm of protective wall for piles based on machine vision[J]. Computer Engineering and Applications, 2019, 55(14): 260-265.
[8] 肖利芳, 周道洋. Sobel算子改进边缘检测算法在混凝土裂缝识别中的应用[J]. 软件导刊, 2017, 16(1): 112-114.
Xiao L F, Zhou D Y. Application of Sobel operator improved edge detection algorithm in concrete crack identification[J]. Software Guide, 2017, 16(1): 112-114.
[9] 韩豫, 孙昊, 李雷, 等. 基于无人机的建筑外墙裂缝快速检查系统设计与实现[J]. 土木工程与管理学报, 2019, 36(3): 60-65.
Han Y, Sun H, Li L, et al. Design and implementation of rapid inspection system for building surface crack based on UAV[J]. Journal of Civil Engineering and Management, 2019, 36(3): 60-65.
[10] 邵闯, 王生怀, 徐风华, 等. 基于图像处理的混凝土表面裂缝检测研究[J]. 湖北汽车工业学院学报, 2019, 33(2): 47-50, 59.
Shao C, Wang S H, Xu F H, et al. Research on concrete surface crack detection based on image processing[J]. Journal of Hubei University of Automotive Technology, 2019, 33(2): 47-50, 59.
[11] 瞿中, 陈宇翔. 改进遗传规划的混凝土路面裂缝检测算法[J]. 计算机工程与设计, 2019, 40(6): 1660-1664.
Qu Z, Chen Y X. Concrete surface cracks detecting algorithm based on improved genetic programming[J]. Computer Engineering and Design, 2019, 40(6): 1660-1664.
[12] 刘新根, 陈莹莹, 朱爱玺, 等. 基于深度学习的隧道裂缝识别方法[J]. 广西大学学报(自然科学版), 2018, 43(6): 2243-2251.
Liu X G, Chen Y Y, Zhu A X, et al. Tunnel crack identification based on deep learning[J]. Journal of Guangxi University (Natural Science Edition), 2018, 43(6): 2243-2251.
[13] Cha Y J, Choi W, Büyüköztürk O. Deep learning-based crack damage detection using convolutional neural networks[J]. Computer-Aided Civil and Infrastructure Engineering, 2017, 32(5): 361-378.
[14] 王森, 伍星, 张印辉, 等. 基于深度学习的全卷积网络图像裂纹检测[J]. 计算机辅助设计与图形学学报, 2018, 30(5): 859-867.
Wang S, Wu X, Zhang Y H, et al. Image crack detection with fully convolutional network based on deep learning[J]. Journal of Computer-Aided Design & Computer Graphics, 2018, 30(5): 859-867.
[15] 薛亚东, 李宜城. 基于深度学习的盾构隧道衬砌病害识别方法[J]. 湖南大学学报(自然科学版), 2018, 45(3): 100-109.
Xue Y D, Li Y C. A method of disease recognition for shield tunnel lining based on deep learning[J]. Journal of Hunan University (Natural Sciences), 2018, 45(3): 100-109.
[16] Qiu C G, Kong L F, Yang S H. Automatic recognition of flavor types of flue-cured tobacco based on GA-SVM algorithm[J]. Tobacco Science and Technology, 2019, 52(2): 101-108.
[17] 李宏光, 廉莹, 方梦琪. 基于熵模型的动态粒子群优化算法[J]. 北京工业大学学报, 2015, 41(5): 657-661.
Li H G, Lian Y, Fang M Q. Entropy-based dynamic particle swarm optimization algorithm[J]. Journal of Beijing University of Technology, 2015, 41(5): 657-661.
[18] 唐炉亮, 于智伟, 任畅, 等. 基于车载GPS轨迹的立体交叉口空间结构信息获取方法[J]. 交通运输工程学报, 2019, 19(5): 170-179.
Tang L L, Yu Z W, Ren C, et al. Information acquisition method of three-dimensional intersection spatial structure based on vehicle GPS trajectory[J]. Journal of Traffic and Transportation Engineering, 2019, 19(5): 170-179.
[19] 利照坚, 江秀娟, 朱铮涛, 等. 基于深度学习的子弹缺陷检测方法[J]. 组合机床与自动化加工技术, 2019( 9): 102- 106, 110.
Li ZJ, Jiang XJ, Zhu ZT, et al. Bullet defect detection method based on deep learning[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2019( 9): 102- 106, 110.
[20] 鲁秋菊. 一种改进的二维Otsu图像分割算法研究[J]. 湘潭大学自然科学学报, 2018, 40(6): 82-87.
Lu Q J. An improved two-dimensional otsu image segmentation algorithm[J]. Natural Science Journal of Xiangtan University, 2018, 40(6): 82-87.
[21] 赵芳, 周旺辉, 陈岳涛, 等. 改进的Canny算子在裂缝检测中的应用[J]. 电子测量技术, 2018, 41(20): 107-111.
Zhao F, Zhou W H, Chen Y T, et al. Application of improved canny operator in crack detection[J]. Electronic Measurement Technology, 2018, 41(20): 107-111.
[22] 杨先凤, 赵玲, 杜晶晶. 改进中值滤波和形态学的油管裂纹检测算法[J]. 计算机仿真, 2018, 35(12): 81-85, 180.
Yang X F, Zhao L, Du J J. The pipeline's crack detection algorithm based on improved Median filtering and morphology[J]. Computer Simulation, 2018, 35(12): 81-85, 180.
[23] 王益艳, 于贵. 联合K-means和形态学算子的图像边缘检测[J]. 舰船电子工程, 2019, 39(7): 105-107, 156.
Wang Y Y, Yu G. Image edge detection of joint K-means and morphological operator[J]. Ship Electronic Engineering, 2019, 39(7): 105-107, 156.
[24] 金延薇. 基于均值漂移的面向对象图论图像分割算法研究[J]. 资源信息与工程, 2019, 34(3):172, 175.
Jin Y W. Objective graph theory image segmentation algorithm based on mean shift[J]. Resource Information and Engineering, 2019, 34(3):172, 175.
[25] Feng G Z, Ni M Y, Ou S F, et al. A preferential interval-valued fuzzy C-means algorithm for remotely sensed imagery classification[J]. International Journal of Fuzzy Systems, 2019, 21(7): 2212-2222.
Article Outline
杨杰文, 章光, 陈西江, 班亚. 融合深度学习聚类分割和形态学的混凝土表面裂缝量化识别[J]. 激光与光电子学进展, 2020, 57(22): 221023. Jiewen Yang, Guang Zhang, Xijiang Chen, Ya Ban. Quantitative Identification of Concrete Surface Cracks Based on Deep Learning Clustering Segmentation and Morphology[J]. Laser & Optoelectronics Progress, 2020, 57(22): 221023.