基于机器视觉的隧道衬砌表观病害检测技术研究进展

2021-07-12 03:18刘渭宁李文锋
公路交通技术 2021年3期
关键词:自动检测图像处理像素

刘渭宁,李文锋,李 科,丁 浩,袁 聪

(1.青海省交通规划设计研究院有限公司,西宁 810008;2.招商局重庆交通科研设计院有限公司,重庆 400067;3.公路隧道建设技术国家工程实验室,重庆 400067)

大量隧道建成后或在运营期间,隧道衬砌结构因疲劳应力、循环荷载的作用,致使结构产生结构性病害,进而引起了隧道衬砌表观出现开裂、渗水、混凝土剥落等现象。因此,通过检测隧道表观病害评定结构安全技术状况,是隧道运营期间重要的养护工作。传统的隧道表观检测方法依赖于人工视觉监测或安装于衬砌上的传感装置,这种方式不仅效率较低、成本高、风险高,还高度依赖检测人员的主观性和专业水平,结果难以全面客观评价隧道衬砌的整体健康状况。因此,出现了越来越多基于视觉的衬砌表观病害测量系统,并主要通过光学传感器获取隧道衬砌表观图像,采用图像处理的方式从病害图像中提取病害量化信息。

当前,在铁路、城市轨道和公路交通隧道领域,国内外已有各种基于视觉的车载式隧道快速检测装备能够完成衬砌表观图像的获取,但对大量图像信息的提取和量化分析,主要还是依靠人工实施。隧道衬砌检测图像中主要表观病害为渗漏水和裂缝。渗漏水病害可通过红外温度场图像的特征实现自动检测,而裂缝的自动检测则更为困难和复杂。

在基于图像的检测中,由于裂缝形状和尺寸的不规则性,加上隧道光照不均匀、阴影、附属物的干扰等因素,导致自动采集到的衬砌图像中存在复杂的噪声和纹理,较难以从图像中自动提取病害信息。为此,本文将针对衬砌表观裂缝病害的自动检测方法,结合国内外当前对该方向所进行的研究工作,介绍视觉检测技术在隧道衬砌检测中的应用情况,并对未来的发展趋势和方向进行综述。

1 裂缝自动检测的算法处理流程

当前,裂缝的自动检测算法主要分为2大类:基于图像处理的方法和基于机器学习的方法。图像处理方法主要包括阈值分割、边缘检测和区域增长3类,用于图像处理和识别裂纹特征。基于机器学习的检测方法则可分为传统机器学习方法、深度学习方法。纵观隧道衬砌裂缝的自动检测方法,其基本流程分为图像获取、图像预处理、图像处理、裂缝检测、裂缝参数测量5个步骤。整体的算法处理流程如图1所示。

图1 衬砌裂缝自动检测的基本流程

衬砌图像裂缝检测的处理流程如下:

1)采用视觉相机等传感器采集隧道衬砌表观的图像。

2)对获取的衬砌图像进行预处理,通过图像除噪降低噪声影响。

3)根据裂缝检测算法需要,对图像进行相应的变换处理。

4)利用处理后的图像进行裂缝检测和标记。

5)测量裂缝宽度、长度等特征参数。

2 基于图像处理的裂缝检测算法

为减少混凝土表面水渍、孔洞、污渍等环境因素引起的大量噪声、纹理和干扰,研究人员提出了基于图像处理的算法降低图像噪声及提取裂缝像素。该方法的基本思路是人工选择裂缝特征,利用裂缝呈现出来的与背景阈值差异、灰度梯度、形态特征等特点,采用基于特征的直接分割或者基于人工提取的机器学习方法实现裂缝自动检测的目标。常见的基于图像处理的裂缝检测算法:阈值分割法、边缘检测法、区域生长法等。

2.1 阈值分割法

阈值分割是一种经典的图像分割方法,是通过设置合适的图像阈值,将图像中的每个像素划分为目标区域和背景2类。在进行裂缝检测时,将拍摄的衬砌图像转换为灰度图像,设置合适的裂缝灰度分割阈值,将灰度图像转换为仅含有裂缝或者背景的二值图像。其基本原理如下:

设原始图像为f(x,y),T为裂缝的分割阈值,分割图像时需要满足下式:

(1)

阈值分割方法的关键是设置合理的阈值。按阈值确定的分割运算范围,可分为全局阈值法和局部阈值法,而按阈值选取的方法可分为固定阈值法和自适应阈值法等。已有研究[1]采用了全局、局部和自适应阈值3种常规方法对墙壁裂缝图像进行分割,其结果如图2所示。

(a)原图

对比3种不同方法的结果可知,由于裂缝像素与背景像素的阈值差异不大,采用常规方法设置阈值难以区分裂缝与背景,无法有效分割提取裂缝。针对该问题,Oliveira等[2]采用熵计算得到动态的分割阈值,并根据自适应阈值来分割图像中裂缝像素。Li等[3]提出了一种二次阈值分割方法,采用改进的Otsu阈值分割算法进行预处理,去除路面图像中的人为标记,进而采用自适应迭代阈值算法完成图像中裂缝的分割。S.Wang等[4]提出了一种基于路面裂缝密度分布的多尺度局部最优阈值分割方法。从测试结果来看,局部最优阈值方法比全局阈值法和最优阈值法有更好的分割效果。这些学者所提出的方法,在一定程度上解决了裂缝阈值的设置问题,提高了检测准确度。

2.2 边缘检测法

边缘检测的基本思想是将边缘定义为图像中灰度发生急剧变化的区域边界,通过计算图像灰度分布的梯度来获得边缘的检测算子。由于裂缝与在衬砌图像中的形态与物体的边缘类似,因此边缘检测方法也可用于裂纹检测。

常用的边缘检测算子有Sobel算子、Roberts算子、Prewitt算子和Canny算子,不同的算子对同一类型的边缘有不同的检测效果。不同图像的裂缝边缘检测结果如图3所示。

(a)横向裂缝原图

由图3可知,由于裂缝纹理尺度变化大、多向性和宽度的不均匀性等复杂情况,使用单一的边缘检测算子的分割效果较差。因此,有学者针对裂缝的边缘检测算子做了较多改进。H.Zhao等[6]提出了一种改进的Canny边缘检测方法,采用Mallat小波变换对模糊边缘进行增强。C.C.Zhou等[7]利用遗传算法获得较好的自适应阈值Canny算法。Ayenu等[8]研究了结合二维经验模态分解(BEMD)和Sobel边缘检测的道路裂缝检测方法。尽管通过构造复杂的边缘检测算子提高了裂缝边缘检测的准确性,同时提取了裂缝的边缘并勾勒出裂缝的轮廓,但难以描述裂缝内部像素信息以实现裂缝的准确分割。

2.3 区域生长法

基于区域生长的算法是将单个像素或者像素点组成的区域扩展为更大区域的过程。其基本思想是收集相似的像素形成一个区域。因此,种子的合理选择是该方法的关键。

针对种子的选择方法,朱平哲等[9]提出了一种主动连接的方法,即通过对裂缝图像进行区域划分,寻找种子区域,并根据裂缝区域间的相似属性与种子区域迭代连接。Y.Zhou等[10]对路面图像进行预处理后,通过网格单元分析选择裂纹种子,用欧几里得最小生成树结构连接裂纹种子实现裂缝检测。董安国等[11]提出了一种基于图像的种子游走二值化桥梁裂缝检测算法,其利用随机产生的种子在给定规则下游走,并将种子点位置转化原始图像为二值图,提取连通分量并进行连接实现裂缝提取。该方法对于光照不均匀及背景噪声不敏感的图像有较好效果。

基于区域生长的裂缝检测结果如图4所示。从图像处理结果看,由于种子选择所受影响因素的复杂性,会导致分割的裂缝呈现断裂的情况,致使结果出现较大误差。

(a)亮度不均衡的裂缝图像

2.4 基于传统机器学习的裂缝检测算法

在基于图像处理的裂缝检测算法中,需要人工设计明确的单一图像特征规则进行检测,导致算法的适应性较差。为解决可泛化性问题,研究者将机器学习方法应用于裂缝检测,通过学习样本图像数据中的多维特征来检测图像中的裂缝信息。

基于传统机器学习的检测算法,需人工设计待提取裂缝的多个复杂特征,采用支持向量机、人工神经网络和随机森林方法等算法完成图像中的裂缝检测。刘立峰等[12]提出了一种基于高斯尺度空间与支持向量机SVM(Sopport Vector Machine)多分类器相结合的桥梁裂缝检测及分类算法,通过卷积运算创建高斯尺度空间消除光照干扰,提取裂缝图像特征向量,并利用SVM多分类器进行桥梁裂缝分类。王保宪等[13]提出一种基于图像高维特征压缩映射的混凝土表面裂缝检测算法,在高维特征压缩映射的基础上,进一步利用最小二乘支持向量机快速准确地判断出裂缝与非裂缝样本。G.Xu等[14]利用神经网络的自学习特性,将裂缝检测转化为对每个子图像块存在裂缝的概率判断。Y.Shi等[15]针对边缘裂缝不均匀和具有复杂拓扑结构的裂缝检测的问题,提出了一种基于随机森林方法的道路裂缝检测方法,基于多层次和多方向提取裂缝特征并进行随机森林模型训练,实现裂缝检测。

综上分析,基于传统机器学习的裂缝检测方法中,研究采用了不同的裂缝图像特征和组合,但裂缝特征的复杂性导致人工设计提取特征与实际偏差过大,导致检测准确性仍然难以满足应用需求。

3 基于深度学习的裂缝检测算法

近年来,由于深度学习DL(Deep Learning)方法具有自动从数据中学习特征的特点,在各种计算机视觉任务中取得了巨大的成功和广泛的应用,例如图像分类、目标检测和图像分割等视觉任务。因此,研究者将深度学习方法引入裂缝自动检测,极大提高了裂缝自动检测的准确性。

2016年,L.Zhang等[16]首次采用深度学习技术进行裂缝检测研究。此后,各种基于深度学习的裂缝检测技术开始出现。从实施的技术路径上面,可按任务类别将裂缝检测算法分为3种:分类、目标检测、像素级分割方法,如图5所示[17]。其中,图5(a)是输入有裂缝原始图像;图5(b)是将原图大尺寸图像网格划分为小图像,通过分类模型对每个小网格图像分为有裂缝和无裂缝2类;图5(c)通过不同尺度的目标检测框,检测图像中存在裂缝的区域并标注;图5(d)采用像素分割方法,直接将图像中属于裂缝的像素进行分割,属于端到端的技术。下面将详细介绍上述3种方法的研究现状。

(a)原图

3.1 分类

分类算法检测裂缝的基本思路是构建深度神经网络模型,通过对有裂缝样本集训练学习获得裂缝分类模型,并用训练后模型对输入新图像进行分类,确定是否存在裂缝。由于图像尺寸较大及计算资源的问题,通常将输入图像按网格划分为多个小尺寸图像,再对每个小图像进行分类和裂缝标记,进而通过网格化信息定位原始图像中裂纹位置。

Young-Jin Cha等[18]提出了一种利用CNN深度架构进行混凝土裂缝检测的方法。该方法设计了CNN深度模型,利用256×256像素尺寸图像数据集进行训练,并采用训练后模型对55张分辨率为 5 888×3 584像素的图像进行测试,其检测性能超过传统图像处理方法。该方法的处理流程如图6所示。

图6 Young-Jin Cha等[18]提出的深度学习的检测方法

L.Zhang等[16]将3 264×2 248分辨率的道路图像划分为99×99×3的小块图像,并采用其设计的卷积神经网络对小块图像进行分类,输出信息为小块是否有裂纹的概率。Li等[19]提出了基于GoogLeNet的改进分类算法,实现了利用智能手机对路面的裂缝快速检测。

通过网格化划分为小尺寸图像块的方法,可以获得粗略的定位信息,但是无法用于测量裂缝的长度、宽度及类型等特征参数。

3.2 目标检测

分类任务结果为整张图片的内容描述,而目标检测结果为检测目标的类别信息和位置信息。为了提高目标检测的准确性和效率,现已有学者提出了许多目标检测CNN模型,如faster R-CNN、SSD、YOLO等,在其他应用领域都取得了较好应用。目标检测方法在裂缝检测中的研究也较多。传统的目标检测框架,主要包括3个步骤:

1)利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域。

2)提取候选区域相关的视觉特征,如人脸检测常用的Harr特征。

3)利用分类器进行识别,如常用的支持向量机(SVM)模型。

由于目标检测模型可实现分类和定位,学者们将目标检测算法应用于裂缝检测。Y.-J.Cha等[20]采用ZF-net模型对faster R-CNN进行了改进,加速了图像特征提取的学习速度。J.Li等[21]采用faster R-CNN来检测6种道路的缺陷。该模型能在不同光照条件下自动识别和定位缺陷,精度高,稳定性好。同样的,目标检测可通过不同尺度的检测框得到裂缝的位置信息,但仍需从检测框中去测量裂缝的特征参数。

3.3 像素分割

像素分割IS(Image Segmentation)是根据分割规则将图像中的像素分成不同的部分。在裂缝图像分割任务中,则是将每个像素分为有裂纹和无裂纹2类。相比分类和目标检测,图像分割可得到裂缝像素的精确位置、裂缝结构信息等,便于后续裂缝类型检测和参数测量任务,许多学者将该类算法应用于裂缝检测。Z.Fan等[22]提出了4个卷积层、2个最大池化层、3个全连通层的网络结构,可实现对原始图像的直接分割,其输出图像可以设置为不同分辨率,从1×1到5×5。该方法的处理框架如图7所示。

图7 Z. Fan等[22]提出的深度检测框架

M.D.Jenkins等[23]提出了一种基于U-Net的道路裂缝语义分割算法,U-Net是一种基本的Encoder-Decoder 框架,如图8所示。该网络可分为编码器层和解码器层。编码器层主要实现图像的特征映射,解码器层主要用于在分割过程中对特征向量进行提升,并生成每个像素的概率分布。

(a)分割算法框架

Q.Zou等[24]提出了DeepCrack,该方法采用编码器-解码器结构将路面图像像素分割为裂缝和背景。

由于像素分割的方法可获取精确的位置信息和裂缝结构信息,可为后续裂缝特征测量和分类等任务提供精确信息,因此从应用的需求来看,基于分割的检测方法是未来发展的方向。

4 结束语

1)随着隧道自动化快速检测设备的推广应用,对隧道衬砌图像病害智能检测算法的需求越来越突出。经过多年的发展,对图像裂缝等病害的智能检测算法取得了许多成果,但单一的算法无法处理各种类型的图像,因隧道环境因素复杂,在实际应用中仍存在检测精度较差,算法鲁棒性差;另外,缺乏泛化性能较好的算法,不同的对象、场景及图像需要对应的算法,算法可移植性差。

2)对比自动检测算法的检测效果,因需要人工设计裂缝有效特征等难题,基于图像处理和基于传统机器学习的裂缝检测算法与基于深度学习的检测算法相比,在精度、在线检测速度和可泛化性等方面的性能均远低于深度学习的检测算法。

3)针对隧道衬砌裂缝检测的需求,通过基于深度学习的图像预处理方法改善不同环境的图像质量,结合基于深度学习的分割检测方法,是未来发展的主要方向。

猜你喜欢
自动检测图像处理像素
像素前线之“幻影”2000
角接触球轴承外圈锁口高度自动检测规改进
“像素”仙人掌
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
基于STM32的室内有害气体自动检测与排风系统
机器学习在图像处理中的应用
光电传感器在自动检测和分拣中的应用
ÉVOLUTIONDIGAE Style de vie tactile
K-F环自动检测系统设计