随着我国的城市化交通需求不断增长,地铁系统的规模也在迅速扩大,城市扩张带动地铁线路的里程逐年增加,盾构隧道的病害检测将直接关系到地铁隧道的运营安全。其中渗水病害是隧道安全监测中的重要问题[1],因此,高效而准确的渗水检测对于保障地铁盾构隧道的安全运营至关重要[2-4]。传统盾构隧道采集设备包括全站仪、测站扫描仪等,通过人工测量提供渗水可疑区域的信息,存在多站累加误差大和效率低下等问题,已经不能满足高里程的盾构隧道的高效检测需求。移动激光扫描技术能高效率、高精度地获取目标点云数据,已经被广泛应用于盾构隧道内部结构的数据采集。针对移动激光扫描技术(Mobile Laser Scanning, MLS)获取的三维点云数据进行高效的渗水病害检测是目前亟待研究的问题。传统渗水检测方法主要根据渗水物理特点,设计图像检测算子,依据光学图像阈值分割方法,将渗水区域与背景分离,实现渗水区域的识别和检测[5]。FAN等[6-7]基于点云强度影像,通过定义尺度空间,提出了一种融合型图像检测算子对渗水等病害进行识别。YUAN等[8]基于二维隧道图像,采用Canny滤波器进行边缘提取,利用非极大值抑制消除噪声,并使用迟滞阈值法获得更精确的渗水边缘。然而,这些方法受背景和设施干扰严重,越来越难以适应当前工程需求等问题。近年来,深度学习技术在渗水检测领域引起了广泛关注,基于二维图像数据的深度学习方法主要采用语义分割和目标检测来实现。而基于点云数据往往将其投影为二维图像再使用图像的方法予以解决,这是由于基于PointNet等点云分割和检测网络并不适合检测几乎没有空间特征的渗水目标[9]。XUE等[10]使用电荷耦合器件相机收集隧道病害信息提出了一种全卷积网络(FCN)识别包含渗水问题的隧道缺陷智能检测方法,取得一定效果。GAO等[11]基于运动摄像机采集的图像,提出了FCN-RCNN用于快速准确的隧道缺陷检测并使用投影模型修正的方法降低误检率,提高了模型精度。但这些基于语义分割的方法只能获得缺陷轮廓无法获得渗水实例,难以满足工程实际需求。HAO等[12]基于相机采集的图像,采用改进的Faster RCNN模型检测隧道病害,该方法虽然可以获取目标实例,但该方法鲁棒性不强并且精度和效率均较低。针对目前基于移动激光扫描技术的盾构隧道渗水病害检测智能化水平不高、检测精度和效率偏低的问题[13],本文提出一种改进的YOLOv8智能化检测方法解决上述问题。
1 渗水病害检测方法
1.1 方法流程
本文方法具体流程如图1所示。首先,因为隧道呈横向圆柱形,渗水表现出垂直扩散的特性。考虑到渗水的多尺度几何特征,设计了可重构上下文信息融合模块。此外,盾构隧道环境恶劣,渗水病害的背景信息往往复杂,对此设计了难例挖掘损失函数对边界框进行针对性移动。最后,考虑到模型的轻量化需求,对YOLOv8检测头进行了优化以提高模型效率。实验证明,模型在各种渗水检测任务的精度和实时需求方面具有卓越能力,这对于盾构隧道的安全运行具有重要意义。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-F001.jpg)
1.2 改进的模型结构
图2中展示了模型的总体框架。输入图像经过最初几层基础卷积层和浅层的特征处理后进入模型的特征融合部分,在特征融合部分中使用了可重构上下文信息融合模块(Reconfigurable Contextual-information Expansion Module, RCEM)加强对多尺度渗水特征的提取并对其进行特征融合,并在特征融合网络不同深度的输出端选取3个不同尺度的特征由轻量化检测头(Efficient Detect Head, EDHN)结构实现了有效的渗水检测,训练过程中损失函数的更新受到难例挖掘损失函数(Hard Negative Mining Loss)的控制,以加强对难以识别目标的关注,从而进一步提升渗水检测精度。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-F002.jpg)
1.3 可重构上下文信息融合模块
多分支拓扑结构可以有效提升网络表征能力,适合应用于渗水检测任务中,以提高网络对多尺度特征的聚合,有利于模型判别渗水与隧道背景,进而提高网络精度[14-15]。但是,复杂的分组会带来计算负担,延迟网络推理速度。因此,本文设计的模块如图3所示,首先获取输入张量
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M002.jpg)
其中,
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-F003.jpg)
随后,将分支通道分为多组对每个分组通道进行多尺度卷积,每个分支都专注于不同感受野大小的特征提取,通过并行处理获得不同语境范围的渗水信息并有效提高对渗水的识别性能,值得注意的是这一操作中的分组数和每组中的卷积核大小是可变的,再通过合适的特征融合策略就能获得更全面丰富的特征表示,然后将经济通道和多尺度特征沿通道所有维度合并,得到输入形状的特征图,这样的设计使模型更加敏感于不同尺度下的渗水特征,从而提高渗水检测的精度。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M006.jpg)
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M007.jpg)
其中,
接着,对该特征进行池化操作并分组,同时构建一个多层注意力模块对池化结果进行诱导,得到渗水的概率分布,降低计算成本的同时实现下采样功能。这使网络能够更有效地捕捉输入数据中的关键信息,最小化不必要的信息损失,从而提高渗水检测的准确性。强调多尺度的渗水区域,同时削弱不重要的区域影响,输入张量的传播过程可简要概括为下式:
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M018.jpg)
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M019.jpg)
其中,
1.4 自适应难例挖掘损失函数
识别渗水区域是一项具有挑战性的目标检测任务,特别是隧道环境往往与渗水区域的颜色、纹理等特征相似。而在传统边界框损失函数中往往是针对预测框和真实框的几何特性进行约束,并不涉及困难样本的深度挖掘[16]。为了应对这一挑战,设计了自适应难例挖掘损失函数,旨在有效处理难以识别的渗水区域从而提高对模型较有挑战的目标的检测能力。算法的核心思想在于动态调整损失函数的权重,以便更好地处理渗水区域,如式(6)所示。该算法通过自适应地调整损失函数中的阈值,并根据渗水区域的难易程度来调整损失的权重,即为困难样本分配较高的权重,如式(7)。最终的损失函数表达式如式(8)所示:
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M026.jpg)
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M027.jpg)
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M028.jpg)
式中:
难例挖掘损失函数的伪代码如表1所示,在模型训练过程中通过自动计算IoU阈值来动态调整损失权重来应对困难样本,以确保阈值能够适应渗水的特征变化。首先,根据预测结果与真实标签之间的IoU,算法将样本分为3个不同的置信度区间:低置信度、中置信度和高置信度。然后,计算衰减率达到在训练中调整阈值的目的。其次,根据不同的IoU区间采用Sigmoid与常数的组合分段函数调整损失权重。这一机制确保了损失函数能够及时地适应数据的变化,从而更好地处理难以识别的渗水区域。最后,算法根据选择方法的不同,对损失值进行汇总处理,最大程度地提高模型在训练数据上的表现。算法能够在训练过程中动态调整损失函数,以更好地适应不同置信度区间的样本分布,从而提高模型的性能和鲁棒性。
Algorithm Hard Negative Mining Loss (loss_function, decay_rate, time): |
---|
Input: loss_function, decay_rate, time_constant |
Output: Hard Negative Mining Loss对象 |
Function |
return decay_rate * (1 – exp (-x / time)) |
Function Hard Negative Mining Loss (val, labels, |
Input: val, labels, |
Output: 调整后的损失值 |
Epoch, decay = 0, 1 |
if is_training then |
epoch, decay:= epoch + 1, |
loss := loss_function(val, labels) |
if |
lower := |
upper := |
indices-low := labels ≤ lower |
indices-low := labels ≥ upper |
# 根据置信度范围设置不同权重,k控制sigmoid函数陡峭度 |
a1 = exp(i-x)/(1+exp(i-x)) |
a2 = c |
a3 = exp(i-x)/(1+exp(i-x)) |
weight : = a1 * indices-low + a2 * (NOT indices-low AND NOT indices-low) + a3 * indices-low |
loss *= weight |
# 选择权重汇总方法 |
if method == 'mean' then return loss.mean() |
elif method == 'sum' then return loss.sum() |
else: |
return loss |
1.5 轻量化检测头
本文还改进了模型的检测头以提高检测效率和性能,改进前后的检测头结构如图4所示。改进的原因在于,具有大量卷积层的目标检测头增加了模型的参数数量和计算工作量。这一改进提高了模型适应不规则形状和复杂场景的能力[17]。本文提出的轻量化检测头是一种针对渗水目标检测的模型头部结构,采用了一系列的轻量化技术和设计策略,使用了分组卷积来进行特征提取,将输入通道分成多个组,并对每个组应用独立的卷积操作,这样可以降低了计算量,从而提高了模型的效率,使其在资源受限的环境下也能够高效运行。虽然是轻量级模型,但这样的设计使它仍能够保持良好的目标检测性能,在渗水检测任务中拥有超过其他目标检测模型的性能水平。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-F004.jpg)
2 数据采集与处理
图5(a)是软件渲染的三维点云数据的可视化结果,图5(b)是经过投影变换后得到的二维点云强度图像,方框处是渗水目标在三维空间和二维平面上的展现效果。研究范围是深圳盾构地铁的一个隧道段,使用移动激光扫描仪从隧道内壁获取点云数据,将Z+F PRO-FILER 9012集成在移动车辆上作为往返测量的核心组件。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-F005.jpg)
PRO-FILER 9012横截面扫描仪的一些参数列于表2中。该系统包括移动激光扫描仪、移动平台、里程系统、电源系统以及数据存储系统等多个组成部分。当车辆沿轨道行驶时,激光扫描仪逐渐改变其垂直角度,发射激光束,连续创建扇形扫描线。盾构隧道断面可被视为接近于标准圆的椭圆,通过随机采样一致性算法拟合隧道点云,计算椭圆的初始参数,再根据盾构隧道整体呈线状分布且断面呈近圆形的特征,以圆柱模型作为投影面,将该圆柱投影面铺展为二维平面,以扫描测线为单元进行逐测线投影,获取盾构隧道投影影像,所获取的影像分辨率与初始点云分辨率成正比,通过移动激光扫描方法获取点云数据越密集则影像分辨率越高,获取的点云数据越稀疏则影像分辨率越低,点云与图像之间的坐标映射关系可由式(9)计算得到。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M050.jpg)
其中,
参数名 | 数值 |
---|---|
水平范围/(°) | 360 |
扫描速度/(point∙s-1) | 最高 1 016 000 |
旋转速度/Hz | 最大 200 |
移动速度/(km∙h-1) | 2 |
测量误差/mm | ≤1 |
通过以上数据映射获取盾构隧道点云强度图像,由于不同隧道路段光线条件、场景存在差异,首先需要对图像进行归一化处理;为满足深度网络训练的需求,将漏水图像裁剪成640×640像素的子图像,获得包含多尺度渗水的原始样本共计2 000余个。原始数据集在结果旋转、噪声等数据增强前后的数据集划分如表3所示。
训练样本 数/张 | 验证样本 数/张 | 测试样本 数/张 | |
---|---|---|---|
数据扩充 | 2 345 | 335 | 670 |
3 实验与分析
3.1 实验环境与评价指标
使用Labelimg软件手工标注了数据集中的渗水,实验在带有Windows 10操作系统的本地主机上进行,该主机配备了NVIDIA GeForce RTX 3090 GPU(24GB内存)和CPU(处理器AMD Ryzen 5 5600X 5-Core Processor 内存32GB),配套安装python(3.8.13), pytorch(1.8.0),cuda(11.1.74)超参数设置如表4。
参数名 | 数值 |
---|---|
轮次 | 300 |
批量 | 16 |
学习率 | 0.01 |
权重衰减 | 0.000 5 |
动量 | 0.937 |
输入尺寸 | 640 |
召回率R(Recall)指的是所有正确样本被检测出的概率。精确率P(Precise)指的是预测正确的样本占所有正确样本的比值。AP(Average Precision)指所有预测正确样本数占样本总数的比例。FLOPs指标用于衡量模型计算量、FPS指标用于衡量模型预测速度:
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M064.jpg)
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M065.jpg)
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-M066.jpg)
其中,
3.2 渗水检测消融实验
为进一步验证所提方法对渗水检测的有效性,设计了消融实验,分别对特征融合部分改进的可重构上下文信息融合模块、难例挖掘损失函数和轻量化目标检测头进行消融验证实验结果,如表5所示。因为模型早期层中包含更多需要处理的特征且这些层中通道数量较小,如果在此时使用改进模块会导致模型的训练和推理时间增加,同时影响模型性能。经研究发现将改进后的模块放在网络特征融合部分非常有效,因为这样可以更好地利用高级语义信息且充分利用模型深层的大量通道。与原模型相比,改进后的方法能够在明显减小模型计算量的前提下实现精度的提升,在计算量降低了47.15%的情况下,对渗水目标的检测更加精确,达到93.59%。同时在损失消融部分,损失函数的调整也在几乎不增加计算压力的情况下明显提升了模型性能。对识别存在较大挑战的部分样本进行加强关注,从而有效地降低了异常样本和背景噪声等对损失函数的影响,使模型鲁棒性更强。为高精度检测难以识别的样本提供了帮助,使检测精度增加了1.1%。在检测头消融实验中,实验结果表明,与之前的方法相比,改进后的方法在几乎不影响精度的情况下降低了模型36.79%的计算量。精确度P略有下降,可能是因为本文模型设计更注重提高召回率R,并在大幅减少模型计算量的同时,不可避免地导致了信息丢失。然而,值得注意的是,尽管计算量大幅降低,但召回率R和平均精度AP却显著提升,并且精确度P仍然明显高于Baseline,这是完全可以接受的结果。
消融项选择 | AP/% | GFLOPs | P/% | R/% | ||
---|---|---|---|---|---|---|
RCEM | 难例挖掘损失函数 | EDHN | ||||
× | × | × | 89.9 | 28.4 | 87.0 | 84.8 |
√ | × | × | 91.1 | 26.4 | 86.0 | 87.5 |
× | √ | × | 90.6 | 26.4 | 88.9 | 84.8 |
× | × | √ | 90.1 | 21.3 | 85.0 | 85.3 |
√ | √ | × | 93.2 | 26.4 | 91.0 | 87.3 |
√ | × | √ | 90.5 | 19.3 | 85.4 | 86.2 |
× | √ | √ | 90.5 | 21.3 | 86.9 | 85.9 |
√ | √ | √ | 93.6 | 19.3 | 90.5 | 88.5 |
3.3 渗水检测对比实验
为了进一步验证改进后的模型在渗水目标检测方面的优越性,分别采用YOLOv5[18]、YO‐LOv8[19]、Faster RCNN[20]、RetinaNet[21]、Center‐Net[22]与所提方法进行对比实验,比较结果如表6所示。
模型 | AP/% | FPS | P/% | R/% |
---|---|---|---|---|
Faster RCNN | 76.6 | 48.9 | 77.4 | 66.8 |
CenterNet | 88.0 | 94.7 | 87.7 | 84.9 |
RetinaNet | 80.6 | 50.4 | 89.9 | 80.1 |
YOLOv5_s | 88.7 | 125.9 | 86.8 | 82.8 |
YOLOv8_s | 89.9 | 134.5 | 87.0 | 84.8 |
Ours | 93.6 | 109.0 | 90.5 | 88.5 |
最后一行代表了本文提出的方法。与其他5种方法相比,本研究中的方法在所有指标上都取得了相当显著的效果,其中AP比其他方法高了3.69%~16.98%,P、R的值也明显优于其他对比方法。改进后的模型仅仅没有达到最快的预测速度,但相比于YOLO以外的其他方法而言预测速度依然具有明显优势,且在精度和计算量方面具有显著优势的情况下,这种预测速度的损失是可以接受的。如图6所示,本文的方法具有较强的鲁棒性,可以检测出大量其他主流方法难以处理的不同尺度以及大量被附属物遮挡的渗水目标,同时也避免了很多其他方法一物多框的错误检测。此外,为了进一步验证所提方法对多尺度目标检测的有效性设计了多尺度对比实验,将测试集中渗水目标进行统计,渗水目标共计344例,细分为细小渗水75例、中等尺度渗水214例和宏观的大片渗水55例,将不同方法的训练结果进行统计分析。如表7所示,本文方法在面对不同尺度目标时都具有最好的渗水检测性能。
/alternativeImage/F4CBC327-4B54-4f2f-A93E-C0631F48D402-F006.jpg)
模型 | 细小渗水 | 中等尺度渗水 | 大片渗水 | |||
---|---|---|---|---|---|---|
检测实例数 | 准确率/% | 检测实例数 | 准确率/% | 检测实例数 | 准确率/% | |
Faster RCNN | 49 | 65.3 | 176 | 82.2 | 38 | 69.1 |
CenterNet | 54 | 72.0 | 196 | 91.6 | 44 | 80.0 |
RetinaNet | 51 | 68.0 | 170 | 79.4 | 39 | 71.1 |
YOLOv5_s | 53 | 70.7 | 192 | 89.7 | 44 | 80.0 |
YOLOv8_s | 57 | 76.0 | 201 | 93.9 | 46 | 83.6 |
Ours | 67 | 89.3 | 205 | 95.8 | 51 | 92.7 |
4 结论
1) 提出一种基于改进YOLOv8的盾构隧道渗水病害检测模型,成功地使用深度学习技术实现由移动激光扫描采集的数据到完成渗水检测的过程。
2) 在网络中设计了可重构的多尺度上下文信息模块更好地捕获渗水信息,并设计了难例挖掘损失函数尝试针对难以识别的渗水特征进行有效识别,最后为提高模型效率改进了检测头,使模型对渗水的检测具备更高的效率与精度。
3) 改进后的模型精度和效率上都取得较大提升。未来将继续提高模型的精度和使用模型剪枝、蒸馏等技术来提高模型的效率并尝试将模型部署在移动设备上。
OneFormer3D: one transformer for unified point cloud segmentation
[EB/OL]. 2023: arXiv: 2311.14405. http://arxiv.org/abs/2311.14405.Real-time flying object detection with YOLOv8
[EB/OL]. 2023: arXiv: 2305.09972. http://arxiv.org/abs/2305.09972.刘振宇,高贤君,杨元维等.基于MLS点云的多尺度盾构隧道渗水病害检测网络[J].铁道科学与工程学报,2024,21(12):5252-5263.
LIU Zhenyu,GAO Xianjun,YANG Yuanwei,et al.Multi-scale shield tunnel water leakage detection network based on mobile laser scanning point clouds[J].Journal of Railway Science and Engineering,2024,21(12):5252-5263.