APP下载

基于通用目标检测器的大坝裂缝检测方法

2022-04-14李琳芸魏仁杰张志伟

数据采集与处理 2022年2期
关键词:水渍检测器大坝

赵 凡,李琳芸,魏仁杰,张志伟

(1. 西安理工大学印刷包装与数字媒体学院,西安 710054;2. 西安理工大学陕西省印刷包装工程重点实验室,西安 710054)

引言

坝体是水电站的重要组成部分,大部分是混凝土或土石结构,使用一段时间后常会出现裂缝渗漏,因此需要对大坝的病害风险进行准确的预警预测。裂缝的提取主要包含裂缝定位、裂缝形状描绘以及裂缝长度统计。大坝裂缝具有宽度小、可见性差、特征不明显、有水渍等特点,因此实现快速、稳定、准确的大坝裂缝提取仍然是一个极具挑战性的难题。

裂缝检测提取方法主要分为基于传统图像处理的方法[1-7]和基于深度学习的方法[8-13]。传统的裂缝边缘检测算法,主要有Sobel 边缘检测算子[1]、Canny 边缘检测算子[2]、Laplacian 算子[3]等,这些算法只适用于宽度较大、背景简单和明显的裂缝检测。魏永杰等[4]提出累积梯度算法用于计算裂缝边界。Peng等[5]提出一种基于随机结构森林的三阈值路面裂缝检测方法。Baltazart 等[6]利用裂缝边缘处检测灰度与梯度的阶跃性变化对图像中的裂缝进行检测。Hoang 等[7]提出基于改进最大类间方差法的图像阈值裂缝检测方法。传统方法复杂度低,适合于裂缝明显和背景简单的图像,当裂缝图像背景复杂、噪声大、裂缝和背景亮度相近时,传统方法的检测精度就会大幅度下降。

基于深度学习的裂缝检测方法近年来受到了广泛关注。常惠等[8]使用改进的U-Net 网络对铁路隧道裂缝进行提取。Qin 等[9]提出一种端到端神经网络对裂缝检测。赵珊珊等[10]将预处理后的路面图像输入卷积神经网络(CNN)模型实现路面图像裂缝的检测,网络对简单背景下的裂缝检测效果较好,但是对于复杂路面情况,如路面杂物的遮挡时检测效果较差。毛莺池等[11]利用基于改进Faster R-CNN和K-MABtrA 迁移学习方法对小目标裂缝进行检测。陈泽斌等[12]改进了U-Net 网络模型进行路面裂缝识别,对路面裂缝识别效果较好,但需要大量和多样性的训练样本才能改善识别效果,不适用于本文数据。Gang 等[13]提出的R2CE-Net 网络,使用RRCNN 块来代替编码器结构的标准卷积,使用更多尺度卷积和池化获得更多的裂缝特征。上述网络对与背景对比度较强的裂缝检测效果较好,但针对和背景相似度很大的裂缝检测效果不佳,也均未给出裂缝形状的描述,无法给出定量的病害预警结果。

路面和桥梁上的裂缝通常采用基于深度学习的通用目标检测器或分割器得到检测结果,但大坝的裂缝处存在渗漏,并且裂缝的混凝土和周围环境很相似,若采用通用目标检测器进行大坝裂缝的检测就会产生很多误检。另外,由于坝体上方裂缝渗漏水的覆盖原因会导致裂缝自身纹理模糊或不明显,进一步造成检测器的漏检发生。针对大坝裂缝的特点,本文首先设计了一个二目标检测器,把裂缝区域和水渍区域作为两个独立的目标在图像上同时检测出来;其次,建立和同一裂缝关联的裂缝区域和水渍区域几何关系;最后,利用二者的几何位置关系对与裂缝框相关联的水渍框上边界进行点采样和曲线拟合,得到定位的裂缝曲线。这样做的好处可以改善裂缝检测的精度,为病害风险进行更准确的预警预测。由于其优越的性能,本文采用YOLOv4 网络结构[14]进行通用检测器的训练。实验结果表明此算法对坝体病害的检测很有效。

1 数据准备

1.1 数据采集

采用大疆无人机经纬M300 RTK 对大坝图像数据进行采集。大疆无人机集成了H20 系列云台、1 个2 000 万像素的主相机和1 个1 200 万像素的广角相机等组件[15]。大坝图像的采集地点为山西板涧河大坝。无人机在距离大坝坝体3~5 m 处对大坝表面进行图像采集,对获取的全部图像经过人工筛选后,保留250 张含有裂缝的图像作为实验数据,其中裂缝长度在50~300 cm 之间,宽度在3~20 mm 之间。

1.2 样本制作

坝体结构是混凝土,和裂缝相似的横纹较多,如果把裂缝作为唯一的目标进行检测就会出现很多误检;另外,位于坝体较高部位的裂缝渗漏的水渍会贯穿较低部位的裂缝,如果只对水渍部位检测,往往只能确定较高部位的渗漏点而忽略较低部位的渗漏点。本研究把裂缝和水渍作为两个独立的目标在图像中进行样本标注,标注工具采用yolo_mark 标注软件。标注结果如图1 所示,其中黄色矩形框为标注的裂缝目标,记为1 号目标,蓝色矩形框为标注的水渍目标,记为2 号目标。

图1 两类样本的标注结果Fig.1 Annotation results of two types of samples

2 裂缝提取

2.1 算法框架

本文的算法流程如图2 所示,首先,把采集的250 张大坝裂缝图像完成上述标签制作后进行数据集划分,按4∶1 的比例将图像分为训练集和测试集,即200 张图像作为训练数据,50 张图像作为测试数据;其次,把训练图像集和其对应的标签集送入YOLOv4 网络结构进行模型训练,得到训练好的二目标检测器;把测试集送入训练好的检测器得到裂缝区域和水渍区域的检测结果,表示为矩形框;最后,利用在图像中的几何位置关系,确定和各裂缝框关联的水渍框上边界,对包含在裂缝框中的水渍框上边界进行点均匀采样,对采样点进行曲线拟合得到拟合后的裂缝曲线。

图2 算法流程图Fig.2 Algorithm flowchart

2.2 基于YOLOv4 网络的裂缝及水渍检测

近年来,随着计算机视觉技术和深度学习理论的迅速发展和广泛应用,基于深度学习的目标检测成为热门研究领域,广为流行的检测器有SSD[16]、Faster R-CNN[17]、YOLOv3[18]和YOLOv4 算法[14],YOLOv4 算法是在原有YOLOv3 网络结构的基础上提出的,采用了近些年目标检测领域中最先进的优化策略,从数据处理、基干网络、激活函数、损失函数等各个方面都进行了不同程度的优化,使得在使用单个GPU 进行训练时更加有效和适配。YOLOv4 是目前最优秀的目标检测算法之一,作为一阶段检测网络,YOLOv4 网络结构主要由Input、Backbone、Neck 和Head 四部分组成,如图3 所示。首先将图像作为输入送入网络,通过BackBone 主干网络进行特征提取,主干网络为CSPDarknet53,Neck 层采用SPP(Spatial pyramid pooling)和PAN(Path aggregation network)结构对不同尺寸的特征图信息进行融合,Dense prediction 层使用3 个不同尺度的特征图对目标进行预测。

图3 YOLOv4 网络结构图Fig.3 Structure diagram of YOLOv4 network

鉴于其优越的性能,本文采用YOLOv4 作为裂缝检测网络结构,网络输出的类别个数设定为3,其中0、1 和2 分别对应裂缝类、水渍类和背景类,网络输出对三类目标预测的置信度,最后经过非极大值抑制(Non-maximum suppression,NMS)后得到最终的检测结果。训练时的目标函数L定义为

式中:wgt、hgt代表真值框的宽和高;w、h代表预测框的宽和高。

由于采集的大坝裂缝图像数量较少,故在实验中把YOLOv4 网络在Imagenet 数据集[19]上的训练模型作为预训练模型。把大坝裂缝训练图像分批次送入网络进行模型的再训练,训练结束得到最终的网络模型。输入网络的大坝裂缝图像大小为416×416。YOLOv4 网络训练参数的设置如下:学习率为0.002 61;批处理图片个数为64;最大迭代次数,即权重更新次数为6 000。训练过程中的损失函数随迭代次数增加的曲线如图4 所示,训练结束时迭代次数为6 000,L值为0.525 6。

图4 损失函数曲线Fig.4 Curve of loss function

2.3 裂缝曲线拟合

裂缝曲线拟合主要由以下4 个步骤组成。

步骤2 统计和第j个裂缝框bj关联的水渍框集合Cj,它的初始值为空。观察YOLOv4 网络对裂缝和水渍的检测结果发现,和同一裂缝关联的裂缝框与水渍框之间存在以下几何位置关系:裂缝框不完全包含水渍框,对应同一裂缝的水渍框上边界包含在和它关联的裂缝框内。算法1 是求取和裂缝框bj关联的水渍框集合Cj流程。输入为bj和C′,输出为Cj。首先,初始化Cj为空集,即Cj=NULL;接着,从水渍框C′中依次提取元素c′i,求c′i和bj的交集,记为R;再提取c′i上边界的左端点P1和右端点P2;最后,对R是否为空以及P1和P2是否都包含在bj中进行判断,如果R不为空并且P1和P2都包含在bj中,就把c′i追加到Cj中,即Cj+=c′i。

利用超定方程求得K,即k0~k5后,即可得到多项式曲线。延长拟合曲线至裂缝框边缘,即为大坝裂缝曲线提取结果。

图5 不同阶数多项式的裂缝曲线拟合结果Fig.5 Crack curve fitting results by polynomials with different orders

3 实验结果与分析

3.1 评价指标

本文采用常用目标检测算法中的准确率(Precision,P)、召回率(Recall,R)、P与R的加权调和平均(F1-Measure,F1)和各个类别的平均准确率(Average precision,AP),AP 的平均值mAP(Mean average precision)作为裂缝框、水渍框检测和裂缝曲线提取的评价指标,计算方法如下:

(1)准确率P表示预测的所有目标中预测正确的样本比例,其值越高越好。

(4)AP 为不同召回率上准确率的平均值,mAP 为各个类别的AP 平均值。

式中:TP(True position)表示把正样本正确识别为正样本的个数,TN(True negative)表示把负样本正确识别为负样本的个数,FP(False position)表示把负样本错误识别为正样本的个数,FN(False negative)表示把正样本错误识别为负样本的个数。

3.2 结果与分析

3.2.1 主观结果

图6 为本文方法的检测及裂缝拟合结果,其中图6(a)为两张无人机采集的大坝裂缝原图像;图6(b)为人工标注的原图,其中的红色实线为专业技术人员标注的裂缝曲线;图6(c)为本文方法提取的大坝裂缝结果,其中红色框表示检测的裂缝框,绿色框表示检测的水渍框,蓝色曲线表示拟合出的裂缝曲线。从图6(c)中的结果可见,本文方法对裂缝和水渍都能进行精确的检测,曲线拟合得到的裂缝曲线和专业技术人员标注的裂缝也完全吻合,从而证明了本文方法对大坝裂缝检测的有效性。

为了证明检测器对裂缝提取效果的影响,把Faster R-CNN、YOLOv3 和YOLOv4 分别作为网络结构进行模型训练后进行了测试对比,图7 为几种通用检测器的裂缝提取主观效果图,从图7(b)可见,Faster R-CNN 检测器漏检了很多水渍区域,并把一个裂缝检测成两个独立的目标,拟合的曲线和真值的差异最大;从图7(c)可见,YOLOv3 检测器的检测框比真实裂缝大,对水渍有两处漏检,拟合的曲线平滑性较差;从图7(d)可见,本文方法不仅能够对裂缝和水渍所在区域进行准确的检测,拟合的裂缝曲线也和人工标注的曲线完全吻合。

图7 几种通用检测器的裂缝提取主观效果对比图Fig.7 Comparison of subjective effect of crack extraction by several general detectors

由图6、7 的主观效果可见,本文提出的裂缝提取方法可以为大坝的病害检测提供有效的定性分析。

图6 裂缝提取主观结果Fig.6 Subjective results of crack extraction

为了对大坝的病害风险进行准确的预警预测,不仅需要在图像中快速定位出裂缝区域,而且需要描绘出裂缝的形状。为了验证各检测器对裂缝曲线提取效果的影响,图8 给出了裂缝曲线对比结果。从图8 可见,Faster R-CNN 检测器和YOLOv3 检测器都漏检了一条裂缝,U-net 检测器虽然没有漏检,但提取的裂缝有断裂和不完整现象,而本文方法提取的曲线最接近裂缝曲线真值,从而可以验证本文方法对曲线提取的有效性。

图8 裂缝曲线对比结果Fig.8 Comparison results of crack curves

3.2.2 客观结果

为了验证本文方法对目标检测的客观有效性,对所有大坝裂缝测试图片进行裂缝和水渍两种目标的检测性能分析。表1 为几种方法的实验比较结果,本文方法的F1 和mAP 值分别为0.90和0.89,比Faster R-CNN 分别高出0.14 和0.18;比YOLOv3 分别高出0.22 和0.19。表1 中的实验结果表明本文方法对裂缝和水渍的检测性能明显高于Faster R-CNN 和YOLOv3 算法。另外,为了验证本文方法对裂缝形状提取的客观有效性,表2 给出了几种通用检测器的裂缝提取性能和本文方法的对比结果,从表2 可见,本文方法的F1 值分别比Faster R-CNN、YOLOv3、U-net 提升了0.31、0.05、0.07,由此可见,本文方法提取的裂缝更准确。这里需要指出的是U-net 网络只对裂缝进行了处理,即类别个数为2,一类是正样本(裂缝),另一类是负样本(背景),并且样本标注是在像素级上进行的。像素级的样本标注在一定程度上可以提升检测的精度,但也为标注工作带来了更大的负担,并且不易于在已有的模型上进行再训练和细调。尽管本文方法用矩形框对目标进行了更粗粒度的样本标注,但在借用YOLOv4 预训练模型的基础上还是取得了比U-net 网络更好的性能。从裂缝区域和裂缝形状的测试结果可见,本文方法可以为大坝病害检测提供有效的定量分析。

表1 检测结果Table 1 Test results

表2 提取曲线的对比结果Table 2 Comparison results of extracted curves

为了提高模型的泛化能力,YOLOv4 主要采用了Cutmix[21]、Mosaic[14]和Cutmix & Mosaic 三种数据增强方式。Cutmix 是将训练集中随机一幅图像裁剪一部分粘贴到待增强图像的感兴趣区域以生成新样本,这样做可以使模型在训练过程中仅仅通过局部特征就可以对目标进行识别,强化模型对于目标局部特征的认知。Mosaic 是对Cutmix 的扩展,把4 张图像按一定比例大小组合成一张新的训练图像,相当于增加或减少训练过程中批处理数据的个数以降低对硬件的要求。为了测试YOLOv4各种数据增强方法对大坝裂缝和水渍区域检测结果的影响,表3 列出了采用不同数据增强方式的目标检测对比结果,从表3 可见,相对无增强方式,所有增强方式对目标检测的性能都有所提升,Mosaic 增强方式对目标检测的总体性能最好,不同的增强方式在性能上差异不大。由于采集数据的各目标之间基本不存在遮挡现象,并且裂缝目标和水渍目标在形状上存在很大差异,所以各增强方式的实际效果区别不大。

表3 采用不同数据增强方式的目标检测对比结果Table 3 Comparison results of target detection with different data enhancement methods

4 结束语

本文以大疆无人机采集的坝体裂缝图像为数据集,根据大坝裂缝处具有水渍的特点,引入了裂缝和水渍框的二目标检测机制,并利用裂缝和水渍的关联关系以及几何位置关系,进行了裂缝区域的曲线拟合。实验结果表明本文方法不仅可以准确地检测图像中的裂缝和水渍,拟合的裂缝曲线和专业人士标注的真值也高度吻合。本文方法可以为毫米级的大坝病害检测提供准确的定性和定量分析,可以应用在坝体安全的预警预测方面。

猜你喜欢

水渍检测器大坝
擦玻璃
我帮妈妈擦镜子
基于二次否定剪切选择的入侵检测方法*
大坝:力与美的展现
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
大坝利还是弊?
Adaptive Energy Detector and Its Application for Mismatched Signal Detection
水渍