1. 引言
隧道是现代交通和基础设施建设中不可或缺的一部分,然而,隧道衬砌渗漏水问题对隧道的安全性和可靠性构成了严峻的挑战。渗漏水的存在会导致衬砌结构承载力下降、运行不安全、设备故障、维修成本增加和环境污染等危害 [1] 。因此,隧道衬砌渗漏水的快速、准确的识别和及时的处理对于确保隧道的正常运行和保障生命财产的安全至关重要。
传统的隧道渗漏水识别方法通常依赖于人工巡检,这种方法存在识别效率低、成本高和依赖人力因素等问题 [2] 。随着计算机视觉技术的快速发展,图像处理算法逐渐被应用至隧道渗漏水的识别过程中,最为常用的包括阈值算法、边缘算法、形态学处理算法、滤波算法等 [3] [4] [5] 。在实际应用中,基于图像处理算法的隧道渗漏水识别方法通过对隧道内部衬砌图像进行处理和分析,可以提取图像中的渗漏水特征,如区域形状、边缘角点等,判断是否存在渗漏水问题。相比传统的人工巡检方法,该类方法能够实现对隧道大范围的自动检测,具有高效性和可扩展性等优势,能够快速的处理大量的隧道衬砌图像数据 [6] 。
然而,基于图像处理算法的隧道渗漏水识别方法也面临一些挑战。首先,传统图像处理算法通常对复杂、多样化的数据表现较差,而隧道内部环境复杂多变,光照、遮挡和噪声等因素会严重影响图像处理算法的识别精度;此外,传统图像处理算法通常需要手动设计和选择特征提取方法,这要求对领域知识和图像特性有深入的了解,也会给渗漏水识别过程带来一定的主观性 [7] 。为了克服这些问题,基于深度学习算法的智能识别技术应运而生。深度学习是一种模拟人脑神经网络结构的机器学习方法,通过大规模数据的训练和学习,能够自动提取特征并进行高效的分类和识别,具有良好的适用性和抗环境干扰能力 [8] 。
为了实现对隧道衬砌渗漏水的智能识别,本文提出了一种基于Unet深度学习算法的隧道衬砌渗漏水智能识别方法,并利用构建的渗漏水数据集进行模型训练和测试,验证了本文提出方法的有效性。
2. Unet算法概述
Unet [9] 是一种基于深度学习的图像分割算法,被广泛应用于医学图像分割、遥感图像分割等领域。Unet的主要特点是引入了跳跃连接(skip connections)的机制,通过将编码器的特征图与解码器相应的层级进行连接,实现了精细的特征传递和位置信息恢复。这种设计使得Unet在处理图像分割任务时能够同时利用全局和局部的信息,提高了分割的准确性和细节保留能力。Unet的整体结构可以分为编码器和解码器两部分,如图1所示。
编码器部分由一系列的卷积层和下采样层组成,用于逐渐提取图像特征并减小特征图的尺寸。图像输入至编码器后将依次经历四次卷积和下采样操作,分别得到四个大小为原图像
、
、
、
倍的特征层,这样做可以帮助网络捕捉到不同层次的特征,从低级到高级的语义信息。解码器部分是编码器的镜像结构,由一系列的卷积层和上采样层组成。解码器通过上采样操作逐渐恢复特征图的尺寸,并与相应的编码器层级进行融合,通过跳跃连接将低级的细节信息传递给解码器。在解码器的最后一层,采用一个1 × 1的卷积层来将特征图映射到最终的分割结果。
3. 隧道衬砌渗漏水数据集
本节主要介绍隧道衬砌渗漏水数据集的构建过程,包括数据集的采集、标注与划分。
1) 数据集采集
为了获取具有丰富背景且数量充足的隧道衬砌渗漏水图像数据,在国内多个公路隧道进行实地数据采集,最终采集了254张分辨率范围在600~2500之间的隧道衬砌渗漏水图像。
2) 数据集标注
在获得图像数据后,进一步对图像中的渗漏水病害进行标注,标注的主要目的是为了深度学习算法提供准确的语义分割标签,使得算法在后续的训练过程能够学习到图像中不同对象、区域或边界的准确位置和形状,从而实现精确的分割。此外,标注得到的标签图像可以用于评估算法性能,通过将算法生成的分割结果与真实标签进行比较,可以计算分割指标如交并比、像素准确度、均方差等,从而评估算法的分割精度,并进行算法的改进和优化。采用Labelme标注软件对本文数据集中的渗漏水病害进行像素级标注。图2为采用Labelme软件进行渗漏水病害标注的过程。
3) 数据集划分
本文将数据集中的60%的数据划分为训练集,用于模型训练,20%的数据划分为验证集,用于判断训练过程中模型是否收敛,20%的数据划分为测试集,用于测试模型的综合性能。
4. 隧道衬砌渗漏水识别实验
4.1. 实验评价指标
本文实验的模型性能评价指标包括像素准确率(pixel accuracy, mPA)、平均像素准确率(mean pixel accuracy, mPA)。PA表示某一类正确识别的像素个数与该类像素总量的比值,mPA为各类PA的平均值,计算公式如下:
(1)
(2)
式中:Xii代表识别为i类,实际为i类目标的像素;Ti为i类目标像素的总数量;N为包括背景在内的类别总数。
IoU是指预测值与真实值的交集与并集之比,mIoU为每一类交并比的平均值,计算公式如下:
(3)
(4)
式中:Xij代表识别为j类,实际为i类目标的像素Xji代表识别为i类,实际为j类目标的像素。
4.2. 模型训练
采用PyTorch深度学习模块对Unet网络进行搭建,然后采用训练集对网络进行训练,每一次训练后采用验证集对模型进行验证,判断模型是否已经收敛或者出现过拟合的现象。训练次数设置为100次,批量大小设置为12,初始学习率设置为0.001,训练过程中采用余弦衰减法对学习率进行持续衰减,以提升模型的训练质量。训练损失和验证损失曲线如图3所示。可以看出,随着训练的进行,训练和验证损失逐渐减小并最终趋于稳定,且没有出现过拟合的现象,表明训练后网络已经收敛,保存验证损失值最小时的权重参数作为隧道衬砌裂缝检测模型的权重参数,用于后续的模型对比测试。
4.3. 模型测试
采用本文构建的隧道衬砌渗漏水测试集对模型的识别性能进行测试。评价指标中,模型的mPA值为93.71%,mIoU为86.89%,该结果表明,本文提出的方法具有较高的渗漏水识别精度,能够准确的将图像中的渗漏水区域分割出来。此外,为了直观的展现提出方法的渗漏水识别效果,本文展示了部分渗漏水识别图片(图4)。可以看出,本文提出方法能够准确的定位渗漏水在图像中的位置,并将渗漏水的形状和边缘准确的分割出来,适用于实际隧道工程渗漏水的检测任务。
Figure 4. Water leakage identification results
图4. 渗漏水识别结果
5. 结论
本文以Unet深度学习算法为基础,提出了一种基于深度学习的隧道衬砌渗漏水智能识别方法,并通过现场采集的隧道衬砌裂缝图像数据集开展模型训练与测试,得到以下结论:
1) 本文提出方法的渗漏水识别的精度指标mPA和mIoU分别为93.71%和86.89%,表明本文方法具有良好的隧道衬砌渗漏水识别精度。
2) 本文提出方法能够准确的定位渗漏水在图像中的位置,并将渗漏水的形状和边缘准确的分割出来,适用于实际隧道工程渗漏水的检测任务。
基于该算法可以开发相应的软件平台,将其集成至无人机、智能检测车等移动设备中,借助传感器和无线数据传输等技术实现对实际隧道中渗漏水的自动化实时检测,为隧道病害检测向着智能化方向发展提供理论和技术支持。