论文引用格式:Xu Z S, Lei X D and Guan H Y. 2023. Multi-scale local feature enhanced transformer network for pavement crack detection. Journal of Image and Graphics, 28(04):1019-1028(引用格式:许正森, 雷相达, 管海燕. 2023. 多尺度局部特征增强Transformer道路裂缝检测模型. 中国图象图形学报, 28(04):1019-1028)[0 引 言路面裂缝是道路损坏的早期迹象,对道路寿命和道路维护构成日益严重的威胁(Li等,2019)。快速、准确地检测路面裂缝对于减少道路养护成本、提升驾驶安全、减少汽车能源消耗以及延长道路使用寿命等方面必不可少(Wang等,2019)。例如,道路表面细小裂缝在受雨雪侵蚀后很容易发展成坑洞(Zou等,2019),并可能损害道路下层结构及路基,导致路面承载能力下降,进而加速路面老化、增加维护成本。然而,由于道路裂缝形状和尺寸多样、照明不均匀、道路图像对比度低等影响,以及道路表面地标、油渍和水渍等干扰,自动道路裂缝检测仍然是一项具有挑战性的工作(Mei和Gül,2020)。根据用于裂缝检测的技术不同,现有方法分为两类,即基于传统图像处理方法和基于深度学习方法。用于裂缝检测的典型传统图像处理算法有阈值分割、边缘检测、数学形态学操作、模板匹配和区域生长等,以及上述算法与人工神经网络(artificial neural network,ANN)和支持向量机(support vector machine,SVM)等传统机器学习分类器的结合方法。然而,由于上述提及的污渍、光照变化以及地面粗糙等噪声影响,传统图像处理方法难以在真实路面环境下准确检测裂缝。深度学习尤其是深度卷积神经网络(convolutional neural network,CNN)通过深层次神经网络和反向传播技术自动提取复杂和深层特征,有效解决了传统图像处理方法对于人工特征工程的依赖。基于深度学习的道路裂缝检测方法包括图像分类、分割和检测3类,逐渐成为道路裂缝检测的研究热点。基于图像分类的道路裂缝检测方法主要是将待检测裂缝图像分割为子图像块,利用二分类网络判断每个小块中是否含有裂缝,最后拼接子图像块恢复成完整图像(Li等,2020)。然而,该类方法会忽略子图像块与周围邻域关系,感受野十分有限,并且子图像块边缘处存在细节损失,从而导致裂缝检测效果不佳。目标探测领域中广泛使用的Faster R-CNN(faster region-based convolutional network)网络(Fang等,2020;Ibragimov等,2022)和YOLO(you only look once)系列网络(Du等,2021;Liu等,2021)也被用于路面裂缝检测和分类。如Mask R-CNN(mask region-based convolutional network)能够在检测裂缝的同时对裂缝种类进行分类(Tran等,2022;Wu等,2020)。但是基于目标检测的道路检测模型需要逐层下采样,导致模型对细小目标识别不佳。基于语义分割的裂缝检测网络通过判断图像中每个像元是否是裂缝像元,可以更准确地检测路面状况,因而常用于道路裂缝检测任务。Zou等人(2019)将类似SegNet的网络架构与深度监督方法结合,提出了一种编码—解码网络,可逐像元检测道路裂缝。Mei和Gül(2020)通过生成对抗网络和连接图方法从道路图像中提取裂缝像元。其中,连接图用于解决生成器中反卷积层输出分散和噪声造成的裂缝像元不连续问题。Pan等人(2020)将特征金字塔注意模块、空间注意模块和通道注意模块嵌入VGG19(Visual Geometry Group)基础网络中,以考虑空间和通道语义依赖为出发点,实现道路裂缝分割。Yu等人(2022)使用上下文增强技术和矢量胶囊网络扩大感受野,获得多尺度、高度综合的道路裂缝特征,构建了一种新的道路裂缝检测语义分割网络。从以上研究可以看出,现有基于语义分割的裂缝检测网络均尝试通过空间或通道注意力机制、空洞卷积以及胶囊网络等增大感受野,进而提高裂缝检测精度。除了以上基于2D光学图像的裂缝检测方法外,具有深度信息和较少干扰噪声的3D路面数据也被用于道路裂缝检测。Zhang等人(2017,2018,2019)和Fei等人(2020)提出了CrackNet系列模型,解决3D路面数据的裂缝检测问题。CNN模型及其衍生模型由于共享参数、局部信息整合和小维度,往往具有运行速度快、查找时间少等优点。但该类模型主要依靠卷积和下采样获得较大感受野信息,仅能获得短距离相关关系,因而在长距离依赖建模时通常效果不佳。即使引入扩张/空洞卷积或注意力模块,但因为主要网络架构保持不变,所以模型性能提升十分有限(Zheng等,2021)。与CNN不同,Transformer先将待处理影像分成一系列称为Token的子块,之后通过位置编码加和Token来表示较粗空间信息,最后采用堆叠的Transformer块获得特征(Dosovitskiy等,2021)。Transformer模型可以动态调整感受野,获得更多长距离全局相关信息。然而,传统Transformer模型中的多头自注意力模块需要大计算量和内存。鉴于此,Zhang和Yang(2021)设计了高效多头自注意力Transformer模块(efficient multi-head self-attention,EMSA)。本文基于EMSA提出一种结合多尺度局部特征增强的Transformer语义分割网络(CTNet),克服了传统CNN只能表征短距离相关信息以及传统Transformer内存和计算量消耗大、多尺度局部特征表达不足等问题,从而准确且稳健地从复杂的现实道路环境中检测裂缝。1 方法与数据本文提出的裂缝检测网络主要由Transformer注意力模块,多尺度局部特征增强模块,上采样模块和跨越连接4部分构成的编码—解码网络,称为CTNet。1.1 模型结构ResT Transformer(residual transformer)(Zhang和Yang,2021)模型最早用于影像分类,并达到SOTA(state-of-the-art)水平。本文将ResT Transformer中的EMSA模块与多尺度局部特征增强模块、上采样模块和跨越连接结合,构建编码—解码结构,实现端到端语义分割功能。具体模型结构如图1所示。10.11834/jig.211129.F001图1CTNet网络结构Fig.1Structure of CTNet编码器在使用卷积主干模块和空间注意力机制提取低级特征并进行位置编码后,使用4阶段Transformer模块捕获全局特征,并在每个Transformer模块之后连接多尺度局部特征增强模块,增强局部特征。如图1所示,主干网络由卷积块、步长为2的3 × 3卷积和空间注意力模块构成。其中卷积块由2个串联的步长分别为2和1的3 × 3卷积、批归一化和ReLU(rectified linear unit)激活函数构成的子单元组成。空间注意力单元为3 × 3深度卷积和sigmoid激活函数构成的残差单元。输入数据经过主干网络后,提取到低级局部信息增强特征图。多尺度局部特征增强模块首先使用步长为2的3 × 3卷积降低输入分辨率并扩展通道维度,之后通过3个并行的采样率分别为1、2和3的3 × 3空洞卷积获得多尺度局部上下文关系。值得注意的是,上述操作获得的并行特征图通过串联方式在通道维度拼接,并使用1 × 1卷积将串联后特征图的维度降至与串联前一致。由于特征图输入Transformer模块之前需要进行模块嵌入和位置编码。不同于传统Transformer只能处理固定尺寸特征图,本文使用的位置编码模块以输入Token的局部邻域为条件构建空间注意力单元,该操作相较于传统方法更有弹性,处理数据不再受限于空间尺寸。相较于传统Transformer中的多头注意力模块,高效多头注意力模块EMSA能够通过一个简单的深度卷积结构压缩内存,如图2所示。此外,通过投影交互来补偿每个注意力头输入标记的短长度限制,同时保持多头的多样性能力。具体而言,输入的Token尺寸为X∈Rn×dm,其中n和dm分别为H × W和C,即输入特征图的面积大小和通道维数。首先,为方便卷积计算,将输入Token重投影为X∈Rdm×h×w,并使用深度可分离卷积和层归一化将Token空间尺寸降低2倍。之后,经过两次不同的投影变换和变形操作,得到K∈Rk×dk×n'和V∈Rk×n'× dk。其中,n' = H×W/4为空间尺寸降低后的Token面积大小;k ∈{1,2,4,8}表示多头注意力中头的个数。同时,将输入Token经过另一个投影,转换为Q∈Rk×n×dk。为进行不同头之间的交互以及信息多样性恢复,将Q和K相乘,之后进行投影、变形、卷积和激活操作。最终,将Q和K操作后的结果与V相乘,并经过投影之后和原始输出残差连接,得到EMSA的输出。10.11834/jig.211129.F002图2EMSA结构Fig.2Architecture of EMSA本文使用的Transformer模块主要由EMSA和两个全连接构成。Token化的特征图首先经过EMSA,再经过两次全连接操作并将获得的特征图和全连接之前的特征图相加得到输出特征图。值得注意的是,一些研究(Guo等,2021;Li等,2021)通过将Transformer块中的全连接替换为1×1卷积并在2个1 × 1卷积之间使用3 × 3深度卷积增强Transformer局部特征。但是,由于Transformer模块输出的特征图大小为RB×C×(H×W),其中B、C、H和W分别为输入Transformer模块之间特征图的批大小、通道数、高和宽。因此,在执行卷积操作前需要先将特征图变形为RB×C×H×W。而这种操作耗时较长,不利于模型训练和预测效率提升。解码器结构整体和编码器对称,主要区别在于和多尺度局部特征增强模块对应的上采样模块。该模块由上采样操作、卷积块和空间注意力单元构成。为减少计算量和避免棋盘效应,本文使用双线性插值方法上采样。经过上采样模块之后的特征图和对应尺度的编码器特征图相加,通过模块嵌入和位置编码操作之后,将得到的Token传入Transformer模块。最终,经过3个解码层和最后1次上采样之后,得到与输入尺寸相同的端到端语义分割结果。值得注意的是,最后1个上采样模块使用sigmoid激活函数代替ReLU激活函数,将像元值映射到[0, 1]区间,从而预测像元属于裂缝类别的概率。1.2 训练和评估方法道路裂缝检测可以视为一个二分类问题,但由于裂缝细长的特征,道路裂缝影像中裂缝像元仅占图像总像元的极小部分。根据对道路裂缝检测常用数据集CrackTree260的调查发现,数据集中裂缝像元仅占总像元数的0.46%,所以裂缝检测同样是一个严重类别不均衡问题(Tang等,2021;Zhang等,2021;Zou等,2019)。因此,本文使用对难分类样本加权的Focal Loss损失函数LFocal评估损失。具体为LFocal=-α1-yγ×logy (1)式中,y表示模型预测像元属于裂缝的概率;α和γ分别为权重和聚焦参数,本文设定α = 0.25和γ = 2;(1- y)γ为调制系数,作用是通过减少易分类样本的权重,使模型在训练时更专注于难分类样本。在模型训练的整个周期中,一般需要设定一个较大的初始学习率使网络在初期快速收敛,之后使用小的学习率使模型收敛到最优解。本文将初始学习率设定为0.000 1,并使用评估数据集损失函数值动态调整学习率。模型采用Kaiming初始化方法,使用Adam优化器进行初始化以及优化。实验平台基于Python计算机语言和Pytorch深度学习框架,版本号分别为3.8和1.7.1。计算平台包括Intel Core i9-9820X CPU和11 GB英伟达GeForce RTX 2080Ti显卡。此外,为定量评估CTNet裂缝检测能力和模型复杂度,使用精度P、召回率R和F1作为模型性能评价指标,使用算法复杂度和参数量GFLOPs(giga floating-point operations per second)评价模型复杂程度,性能评价指标计算为P=TPTP+FP (2)R=TPTP+FN (3)F1=2×P×RP+R (4)式中,TP,FP,FN分别表示真阳性预测、假阳性预测和假阴性预测的像元数。此外,由于裂缝具有一定宽度,因此将预测结果中与标签图像中阳性标签像元距离小于3的阳性预测像元认定为真阳性预测。同时,为避免阈值选取对评价指标影响,本文使用全局最佳ODS(optimal dataset scale)。即通过枚举方式获得一个特定阈值,使测试集整体F1分数在该阈值下获得最大值。1.3 道路裂缝数据本文使用表1中列举的3种人工标记开源裂缝数据集进行模型训练、验证和测试。值得注意的是,这些数据集的采集环境和裂缝情况有较大差异。如采集时由激光照明、LED照明和自然光源采集。而且,不同数据集中裂缝的宽度、对比度、尺寸差异较大。因此,使用这些数据集可以评价本文模型的泛化能力和鲁棒性。10.11834/jig.211129.T001表1裂缝数据集Table 1Pavement crack datasets数据集数量/幅尺寸/像素照明CrackTree260260960 × 720、800 × 600自然光CrackLs315315512 × 512激光CrackWH100100512 × 512自然光考虑到数据集的代表性,例如阴影、裂缝种类、粗细和路面标志等,本文使用CrackTree260数据集的所有260幅图像进行模型训练。此外,本文使用数据增强技术进一步扩大训练集并降低训练时过拟合可能。首先将图像垂直和水平方向翻转,并将所有图像从10°~90°的8个不同角度旋转,间隔为10°。之后,每幅图像被裁剪为5幅子图像,其中4幅在原始图像的4个角,1幅在中心,大小均为512 × 512像元。增强处理后,1幅图像生成135幅子图。考虑到无裂缝图像对模型预测的影响,将增广数据集中裂缝像元数量小于5的样本数据剔除。2 结果与讨论2.1 裂缝检测结果为证明CTNet网络在道路裂缝检测方面的优越性,本文将其与先进的通用语义分割网络UNet(Ronneberger等,2015)、SegNet(Badrinarayanan等,2017)和裂缝检测网络DeepCrack(Zou等,2019)以及纯Transformer语义分割网络Swin-Unet(shifted windows UNet)(Cao等,2021)进行比较。其中,UNet最早提出时是应用于医学影像语义分割,该模型提出编码—解码结构并使用跨越连接方法将编码器特征图与对应尺寸的解码器特征图连接。SegNet相较于UNet,引入了最大池化索引和反卷积以更好地恢复特征图细节,但是为提升模型运行速度而移除了跨越连接。DeepCrack为SegNet的改进,使用了深度监督技术(deep supervision),具体是指将各尺度上编码器、解码器的输出结果上采样至输入图像大小尺寸一致并进行预测输出,以解决CNN网络深度增加导致的梯度消失、浅层参数未得到充分学习以及收敛速度过慢等问题(Sun等,2019)。但是,此方法同样会导致计算复杂度的增加。此外,DeepCrack中使用双线性插值法替代反卷积,用于特征图的上采样。SwinUNet相较于前面列举的基于卷积和池化扩大感受野的深度学习模型,使用Transformer进行长距离建模,并在计算复杂度和训练速率上展现出优势。对比结果如表2所示,以尺寸为512 × 512 × 1的输入数据为例,DeepCrack参数量和计算复杂度分别是CTNet的1.40和19.86倍,训练速率低了11.94幅/s。对于其余模型,CTNet虽然参数量略高于UNet和SegNet,且模型复杂度略高于Swin-UNet,但其训练速度最快,便于训练和部署。10.11834/jig.211129.T002表2不同模型参数量与计算复杂度和训练速度Table 2Parameter, computation complexity and running efficiency of different models模型参数量/M模型复杂度/GFLOPs训练速率/(幅/s)UNet17.27320.3211.20SegNet16.31601.7610.72DeepCrack30.901 094.782.06Swin-UNet27.1752.5213.68CTNet22.0855.1214.002.1.1 CrackLS315数据集检测结果相较于CrackTree260数据集,CrackLS315数据集主要由激光照明条件下采集的道路裂缝图像构成,该数据集比较显著的特点是细小裂缝较多且图像对比度低。因此,基于CrackTree260数据集训练的模型,迁移检测CrackLS315数据集中的道路裂缝存在挑战。表3是不同模型裂缝检测性能。可以看出,除CTNet外,其余对比模型ODS均低于85%。其中UNet和Swin-UNet表现较好,DeepCrack和SegNet其次,分别为84.80%、83.81%、82.68%和81.27%。上述结果表明,模型从低对比度图像中识别细小裂缝存在挑战。而CTNet依赖全局感受野,相较于对比方法中表现最好的UNet,将精度、召回率和ODS分别提升4.35%、4.71%和4.53%,提升效果显著。这表明使用全局感受野可以明显提升模型在更加复杂环境下的语义分割能力。但是,Swin-UNet相较于CTNet,精度、召回率和ODS指标分别下降6.56%、4.30%和5.52%,且相较于UNet没有表现出明显优势。这是因为Swin-UNet为全Transformer模型,没有引入卷积操作。这表明在全Transformer模型中引入卷积块提取局部语义特征,对提升基于Transformer的模型表现非常重要。图3为各模型在CrackLS315数据集的检测结果。可以看出,CTNet和UNet对第1行低对比度细裂缝检测效果较DeepCrack、SegNet和Swin-Unet表现更好,可以识别出更多低对比度细裂缝。但是相较于UNet,CTNet能识别出第1行标记出的更细小裂缝。图3第2行中,除了能识别更细小裂缝,CTNet的预测结果连续性同样更强。而在裂缝宽度较宽且对比较为明显的第3行,各检测网络性能均较好。结合表3进一步表明,在对比度高的易检测裂缝中,各模型表现均较好,但CTNet在低对比度和细小裂缝检测中以及检测结果连续性方面优于对比模型效果。10.11834/jig.211129.T003表3不同模型裂缝检测性能Table 3Performance of different crack detection models模型CrackLS315CrackWH100精度ODS召回率精度ODS召回率UNet82.4984.8087.2689.3891.5493.80SegNet74.8181.2788.9488.5790.1191.70DeepCrack84.4482.6880.9989.9489.5389.13Swin-UNet80.2883.8187.6788.2589.9691.73CTNet86.8489.3391.9790.5492.1993.90%10.11834/jig.211129.F003图3不同模型在CrackLS315数据集的检测结果Fig.3Results of different models on CrackLS315 dataset((a)crack images;(b)ground truth;(c)CTNet;(d)DeepCrack;(e)SegNet;(f)Swin-Unet;(g)UNet)2.1.2 CrackWH100 数据集检测结果CrackWH100数据集与训练使用的CrackTree260数据相比,数据分布的一致性较强且低对比度和细小裂缝较少。由表3可知,各模型在3个评价指标上均接近或超过90%,表明各模型在CrackWH100数据集中的检测效果均好于在CrackLS315中的效果。将ODS作为主要评价指标可以发现,CTNet检测性能最佳,其次为UNet、SegNet、Swin-UNet和DeepCrack。CTNet相较于次好的UNet,在精度、召回率和ODS上分别提升1.16%、0.65%和0.1%。而相较于最差的DeepCrack提升更为显著,在召回率、精度和ODS上分别提升4.77%、2.66%和0.60%。在模型结构方面,首先,从CrackLS315数据集和本数据集的检测结果均可以发现,使用跨越连接的3个模型,整体表现好于没有跨越连接的SegNet和DeepCrack,表明跨越连接有助于恢复解码器中特征图的细节。全Transformer的Swin-UNet网络相较于其余基于卷积的网络模型同样没有表现出明显优势,尤其是精度指标明显低于其余对比模型。但是当引入卷积主干网络和局部特征增强模块之后,性能得到显著提升,精度、召回率和ODS均提升超过2%,分别为2.29%、2.17%和2.23%。Swin-UNet和CTNet在两个测试数据集中的对比结果均表明,仅使用Transformer进行语义分割性能较低,需要将卷积嵌入Transformer中提升模型对局部语义特征的提取能力。图4为上述模型在CrackWH100数据集上部分检测的可视化结果。由图4第1、3行的检测结果可以看出,CTNet在低对比度下难识别样本的检测能力更强。第2行中,对于裂缝像元亮度明显低于背景像元且线性更强等裂缝特征较为明显的样本,上述模型检测效果均较好,但是CTNet的检测结果连续性更好。10.11834/jig.211129.F004图4不同模型在CrackWH100数据集的检测结果Fig.4Results of different models on CrackWH100 dataset((a)crack images;(b)ground truth;(c)CTNet;(d)DeepCrack;(e)SegNet;(f)Swin-Unet;(g)UNet)2.2 消融实验为进一步验证局部特征增强模块和Transformer模块的有效性,将Transformer从CTNet中移除,并保留其余模块不变,得到全卷积的CTNet-T模型;从CTNet中移除局部特征增强,保留Transformer模块、主干模块和上采样模块得到几乎全Transformer的CTNet-L模型。由表3和表4可知,CTNet-T/L和CTNet相比,参数量减少近一半而计算复杂度降为原来的10%左右,且CTNet-T相较于CTNet-L在计算复杂度和参数量指标上更低,表明Transformer相较于局部特征增强模块更复杂。将上述CTNet-T/L模型使用和CTNet相同数据集和超参数训练,在CrackLS315和CrackWH100数据集中的测试结果和部分可视化结果如表4和图5所示。由图5(e)可知,消融局部特征增强模块而仅使用卷积主干等少量卷积操作的CTNet-L模型难以收敛,导致无法有效检测裂缝。这表明,即使在Transformer模型的开始阶段引入卷积,仍无法完全解决Transformer相较于传统CNN网络难收敛以及对优化器选择敏感等问题。而移除Transformer模块得到全卷积模型CTNet-T虽能够检测出部分裂缝,但在细小裂缝识别方面表现欠佳且检测结果连续性较差。在CrackLS315数据集中,CTNet-T相较于CTNet,在精度、召回率和ODS指标上分别下降11.46%、4.40%和8.31%。而在较为简单的CrackWH100数据集中,CTNet相较于CTNet-T在精度、召回率和ODS指标上提升了1.49%、2.02%和1.75%。这表明引入Transformer可以有效提升全卷积模型的表现,特别是在更具挑战性的数据集上尤其明显。10.11834/jig.211129.T004表4消融模型裂缝检测性能Table4Performance of ablation models模型CrackLS315CrackWH100精度/%F1/%召回率/%参数量/M计算复杂度/GFLOPs精度/%F1/%召回率/%参数量/M计算复杂度/GFLOPsCTNet-T75.3881.0287.5710.514.5889.0590.4491.8810.514.58CTNet-L3.526.5648.514.337.722.985.2823.1614.337.7210.11834/jig.211129.F005图5消融实验结果Fig.5Ablation study results((a)crack images;(b)ground truth;(c)CTNet;(d)CTNet-T;(e)CTNet-L)综上可得,将局部特征增强模块嵌入Transformer网络中,能有效克服全Transformer网络收敛困难和优化器选择敏感等问题,使模型实现有效检测。而将Transformer引入全卷积网络,能够使模型获得全局感受野,实现长距离依赖建模和全局语义特征提取,从而提升模型在难识别样本中的检测性能。3 结论本文基于Transformer多头自注意力机制和多尺度局部特征增强模块,提出了一种新的深度学习道路裂缝检测网络CTNet。其中,多头自注意力Transformer获得长距离依赖建模,并通过设计卷积主干网络提取局部、低级语义特征信息解决Transformer网络训练困难的问题。此外,本文引入了多尺度局部特征增强模块,以解决Transformer局部特征提取能力弱的问题。基于两个公开道路裂缝数据集的实验结果表明,相比于UNet、DeepCrack、SegNet和Swin-Unet网络,本文提出的CTNet在真阳性和真阴性预测方面均表现较好。通过对比实验以及消融实验,可以得到如下结论:1)基于Transformer的深度学习网络,通过长距离依赖建模和空间可变高阶全局操作,可以提高裂缝检测连续性以及低对比度等挑战环境下的准确检测。2)通过引入多尺度局部特征增强模块,将局部信息引入视觉Transformer,从而实现全局信息和局部信息整合建模,进一步提升了基于Transformer的道路裂缝检测模型性能。3)本文提出的CTNet网络模型在效果优于目前用于裂缝检测的SOTA网络的同时,更为轻量,参数量和计算复杂均更低,易于训练和部署。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读