1. 引言
沥青路面是一种常见的路面材料,具有耐久性、防水性和降噪性等优点。但是,沥青路面也会受到自然环境、交通荷载、施工质量等因素的影响,产生裂缝、坑洞、车辙、沉陷等病害,影响路面的使用寿命和行车安全。因此,沥青路面病害的及时检测,对于制定养护方案和保障道路运营具有重要意义。
传统的沥青路面病害检测方法主要依赖于人工巡查和评估,这种方法不仅耗时耗力,而且容易受到人为因素的干扰,导致检测结果的主观性和不一致性。近年来,随着计算机视觉技术的发展,利用图像处理和机器学习的方法,自动化地对沥青路面病害进行检测和识别,成为了一种新的研究方向。图像分割是一种将图像划分为若干个具有相同或相似特征的区域的技术,是沥青路面病害检测的关键步骤。图像分割的目的是将图像中的病害区域与正常区域分开,从而为后续的病害分类和评估提供基础。
近年来,随着深度学习技术的发展,出现了基于深度学习的缺陷检测方法。这些方法可以分为两类,根据它们的网络体系结构进行分类。第一类是双阶段检测算法,代表有区域卷积神经网络 [1] (R-CNN)、Fast R-CNN [2] 和Faster R-CNN [3] 等。R-CNN利用滑动窗口生成候选框域,但这种方法步骤繁琐且计算量大。为了解决R-CNN中耗时的选择性搜索,Faster R-CNN引入了区域候选网络来代替选择性搜索,如Alzraiee等 [4] 将Faster R-CNN用于道路表面损伤。研究证实,双阶段检测方法可用于道路等表面缺陷的检测,但中间过程复杂,需要大量重复性实验,效率不高,难以适应现场检测要求。
第二类是单阶段检测算法,代表有CenterNet [5] 和YOLO [6] 等。这类算法不需要先给出目标候选框,而是将目标图像特征提取和预测框的确定结合在一起进行图像的类别估计和区域坐标评估,从而大大提高了检测效率。然而,CenterNet算法存在明显的缺点,如在小目标和长宽比失衡的情况下表现不佳,并且速度较慢。另外,对于长宽比失衡的目标处理可能会遇到困难。相比之下,YOLO系列算法,如YOLOv3 [7] 、YOLOv4 [8] 和YOLOv5,在检测速率和精度上都表现出较大的优势。Xue等人 [9] 提出了基于YOLOv3的路面病害检测方法,可以准确地检测和定位路面裂缝。此外,Rahman等人 [10] 提出基于YOLOv4的路面病害检测方法,可以同时检测和定位多种类型的路面病害,如裂缝、坑洞和表面破坏。这些基于YOLO的方法在路面病害检测方面具有较好的性能。
本文提出了一种基于图像分割算法的沥青路面病害检测方法,该方法采用了TransUNet作为图像分割模型,TransUNet是一种将Transformer和U-Net结合起来的混合模型,既能够利用Transformer的全局自注意力机制来提取图像中的长距离依赖关系,又能够利用U-Net的跳跃连接来保留低层次的细节信息,从而实现高效和准确的图像分割。
2. 模型介绍及改进
2.1. TransUNet模型框架
TransUNet是一种将Transformer和U-Net结合起来的混合模型,用于图像分割任务。它的主要思想是利用Transformer的全局自注意力机制来提取图像中的长距离依赖关系,同时利用U-Net的跳跃连接来保留低层次的细节信息,从而实现高效和准确的图像分割。
TransUNet的模型框架如图1所示,它由编码器和解码器两部分组成。编码器由一个卷积层和一个Transformer层构成,解码器由若干个上采样模块和一个卷积层构成。编码器和解码器之间通过跳跃连接进行特征融合,以增强分割性能。
Figure 1. TransUNet model framework
图1. TransUNet模型框架
编码器的卷积层用于将输入图像转换为一系列的标记化图像块,每个图像块对应于一个特征向量。这些特征向量作为Transformer层的输入序列,经过位置编码和多头自注意力机制,得到编码后的特征序列。Transformer层的结构和参数设置只是将图像分类的输出层替换为一个线性层,用于输出编码后的特征序列。
解码器的上采样模块由一个转置卷积层和一个卷积层构成,用于将编码后的特征序列逐步上采样到原始图像的分辨率。在每个上采样模块中,通过跳跃连接将编码器的卷积层输出的特征图与上采样后的特征图进行拼接,以融合不同层次的信息。解码器的最后一个卷积层用于输出分割结果,即每个像素的类别概率。
TransUNet的模型框架简单而有效,能够充分利用Transformer和U-Net的优点,同时避免了它们的缺点。相比于传统的基于CNN (Convolutional Neural Network)的图像分割模型,如U-Net,TransUNet能够更好地捕捉图像中的长距离依赖关系,从而提高分割的精度和鲁棒性。相比于纯粹的基于Transformer的图像分割模型,TransUNet能够更好地保留低层次的细节信息,从而提高分割的定位能力和边缘清晰度。
2.2. 改进沥青路面病害检测模型
本研究针对沥青路面病害的图像分割问题,提出了一种基于TransUNet的分割网络,(TransUNet of Road Detection, TransUNet-RD)。为了进一步提升模型的性能,本研究在TransUNet的backbone网络中引入了ECA (Efficient Channel Attention)注意力机制并使用Dice评价系数作为评价指标。
2.2.1. ECA注意力机制
ECA是一种注意力机制,旨在提高网络的表征能力。它不仅减少了参数和计算量,还降低了注意力机制的重复率。与SE注意力机制类似,ECA主要关注通道间的相关性建模,但具有更高的计算效率。图2展示了ECA网络结构模型。
Figure 2. ECA network architecture diagram
图2. ECA网络结构图
ECA的工作原理如下:首先,对输入的特征图进行全局平均池化操作,将每个通道的特征图转换为一个标量值。这个标量值表示了该通道的全局特征重要性。接下来,使用窗口大小为k的一维卷积操作,对全局平均池化的结果进行处理。该一维卷积操作可以学习通道间的相关性。它在每个位置上对前后通道的特征进行卷积,生成一个新的通道特征表示。为了确保注意力权重的范围在0到1之间,一维卷积的输出经过Sigmoid函数进行激活。这样可以获得每个通道的注意力权重,用于对原始特征图进行加权。最后,将注意力权重乘以原始特征图,得到经过ECA注意力机制加权后的特征。
相较于其他注意力机制,ECA的特点在于其高效性。通过使用一维卷积而不是全连接层,ECA可以减少参数量和计算量,从而降低了注意力机制的重复率。这种优化策略使得在沥青路面病害检测任务中,我们能够以最小的计算代价提高模型的准确率。
2.2.2. 添加Dice评价系数
为了评估图像分割的效果,我们采用Dice评价系数作为性能指标。Dice评价系数是一种衡量两个集合相似度的方法,通常用于计算预测的分割结果和真实的分割结果之间的一致性。Dice评价系数的定义如公式(1)所示:
(1)
其中,A和B是两个集合,
和
分别表示集合A和B的元素个数,
表示集合A和B的交集的元素个数。Dice评价系数的值越接近1,表示两个集合越相似;越接近0,表示两个集合越不相似。
为了计算Dice评价系数,我们首先需要将预测的分割结果和真实的分割结果转换为二值图像,即将沥青路面病害区域的像素值设为1,其余的像素值设为0。然后,我们根据上述公式计算每张图像的Dice评价系数,最后求平均得到整个数据集的Dice评价系数。
Dice评价系数作为一种常用的分割性能评价指标,能够全面衡量模型的性能,特别关注模型对路面病害的准确检测。Dice评价系数的计算方式使得模型更注重准确捕捉目标区域,有助于降低重复率,避免生成过多的重复或错位的预测结果。此外,引入Dice评价系数还能促使模型学习更准确的边界信息,提高沥青路面病害检测任务的分割精度。在训练过程中,通过调整损失函数,将Dice评价系数纳入优化目标,有助于模型生成更精确、非重复的预测,从而综合提高检测鲁棒性。
3. 实验
3.1. 实验环境及数据集
实验在Windows操作系统环境下进行,使用的GPU是NVIDIA RTX A5000,显卡大小为8 GB。设置了300个epochs进行训练,每个batch的大小为8,使用AdamW优化算法进行参数优化,初始学习率设置为0.01。输入图片的分辨率为512 × 512。
实验数据集是由Roboflow网站在2023年公开的,用于路面病害检测的数据集。该数据集包含裂缝和坑槽这两种路面病害,共有2797张有效缺陷图像。考虑到数据样本较少的情况,使用了数据增强技术对缺陷图像样本进行扩充。通过随机旋转、剪切变换、位置平移、随机缩放等操作,将原始数据扩充为6005张有效缺陷图像。为了进行训练和验证,将数据集按照8:2的比例随机分为训练集和验证集。
3.2. 评价指标
为了评估TransUNet-RD在沥青路面病害分割任务上的性能,本文采用了平均交并比mIoU (mean Intersection over Union)作为评价指标。mIoU是一种常用的语义分割评价指标,它计算了所有类别的交集和并集之比的平均值,反映了分割结果与真实标签的重叠程度。mIoU的计算公式如公式(2)所示:
(2)
其中,N是类别的总数,Pi是第i类的预测结果,Ti是第i类的真实标签,∣⋅∣表示集合的元素个数,∩表示集合的交集,∪表示集合的并集。mIoU的取值范围是[0, 1],值越大,表示分割结果越好。
mIoU是一种全局的评价指标,它考虑了所有类别的分割效果,能够反映模型的整体性能。但是,mIoU也有一些局限性,比如它不能区分不同类别的重要性,也不能反映分割结果的定位精度和边缘清晰度。因此,本文还使用了Dice评价系数这一评价指标来综合进行评价。
3.3. 实验结果与分析
为了验证本文所提出的算法的有效性,进行了3次实验,逐步验证了网络结构变化对性能的影响。这些实验使用了不同的模型进行检测,包括UNet模型、TransUNet模型以及本文提出的在backbone网络中添加了ECA注意力模块和使用Dice评价系数的TransUNet-RD模型。这些模型经过训练,并在三个实验中进行了评估。
从表1中可以看出,改进后的TransUNet-RD相较于TransUNet的原生模型对两种缺陷的检测效果均有提升。其中,改进后的TransUNet-RD相较于TransUNet原生模型mIoU提升了5.3%,Dice评价系数提升了6.9%;相较于UNet模型平均精度mIoU提升了10.2%,Dice提升了11.2%。
Table 1. Comparison of the improved TransUNet and original TransUNet effects
表1. 改进的TransUNet与原始TransUNet效果对比
对验证集中的样本进行随机抽样,路面缺陷检测效果如图3所示。从左至右依次为原图、原生TransUNet模型的检测图和本文改进的TransUNet-RD模型的检测图。从下图可视化结果中可以看到,在该数据集中,原生TransUNet模型虽然能够提取出路面病害轮廓,但其检测效果相对较差。在路面坑槽病害检测中存在明显的误检问题,在复杂的路面裂缝病害检测中存在裂缝病害轮廓提取不完整,且泛化能力较差等问题。
相比之下,TransUNet-RD模型的检测效果明显更为出色。该模型在坑槽和裂缝轮廓提取上表现出较高的精度,同时成功降低了误检率和漏检率。这表明本文所提出的改进模型在路面缺陷检测任务中取得了显著的性能提升。
Figure 3. Images of road surface defect detection results
图3. 路面缺陷检测效果图
综合以上分析,改进后的TransUNet-RD模型在沥青路面病害检测方面表现出显著的优势。通过引入ECA注意力机制和Dice评价系数,成功提升了模型的精确度和效率,使其在mIoU和Dice评价系数等关键指标上均超过了传统的TransUNet和UNet模型。这些研究结果强调了在路面病害检测领域,通过创新性的改进,能够显著提升检测性能。
4. 结语
本研究旨在改进用于检测路面缺陷的TransUNet模型的性能。研究提出了几种对模型的修改,包括在骨干网络中增加ECA注意力机制和使用Dice评价系数进行评价。实验结果表明,所提出的TransUNet-RD模型在mIoU和Dice等方面优于原始的TransUNet模型。未来的工作将专注于扩展对其他类型的路面缺陷(如龟裂、车辙和修补)的检测能力。总体而言,对TransUNet模型的这些修改能够提供一种更准确、更高效的解决方案,用于提取路面缺陷。我相信通过持续地研究和改进,基于深度学习的路面病害检测技术将为道路维护和交通安全带来革命性的改变。
课题来源
交通运输行业重点科技专项,项目编号:2022-ZD4-066。