基于特征增强学习的路面裂缝病害视觉检测方法

2022-08-29 02:28王保宪白少雄赵维刚
铁道科学与工程学报 2022年7期
关键词:池化空洞注意力

王保宪,白少雄,赵维刚

(1. 石家庄铁道大学 安全工程与应急管理学院,河北 石家庄 050043;2. 石家庄铁道大学 电气与电子工程学院,河北 石家庄 050043)

裂缝是服役期中路面结构最常见的表面损伤之一,快速高效地识别裂缝病害是实现路面结构损伤自动化分析的关键。由于裂缝区域具有明显的边界,CHO 等[1]提出利用5 种边缘检测子对输入图像进行裂缝检测,并对比评估了几种边缘检测算子的检测效果。由于边缘检测易受到不均匀光照干扰,OLⅠVEⅠRA 等[2]提出将输入图像分成多个不重叠分块图像,并通过图像均值和方差特征计算、二分类识别等完成裂缝病害检测。为了提高裂缝检测性能,白彪[3]提出利用Hu 不变矩方法提取分块图像特征。张媛媛[4]通过计算分块图像的梯度直方图特征,并通过训练SVM 分类器检测识别裂缝病害。目前分块图像检测与识别方法需要在良好的图像特征与鲁棒的模式分类方法同时作用下,才能取得良好的裂缝检测效果。近年来,随着深度学习技术的快速发展,基于深度学习的裂缝检测方法开始被广泛关注。ZHANG 等[5]利用4层CNN 卷积网络提取图像特征并进行裂缝识别。高新闻等[6]通过DenseNet网络模型提取分块图像特征并进行分类识别。翁飘等[7]提出利用全卷积神经网络(FCN)构建路面裂缝检测模型。朱苏雅等[8]提出将Unet 网络应用于裂缝病害检测,可提升裂缝病害检测精度。以上几种基于深度学习的裂缝检测方法取得了比传统裂缝视觉检测方法更好的检测效果,但仍存在以下问题亟需解决:1) 复杂背景下路面裂缝与背景的区分度较低,裂缝检测过程易受背景杂波干扰,致使检测结果仍存在虚警;2) 在既有的深度神经网络中,传统的采样操作会导致细微裂缝信息丢失,致使裂缝检测精度较低;3) 现有裂缝检测方法对于不同尺度的裂缝检测任务,适用性较差,存在病害漏检现象。综上所述,为了实现复杂背景下的裂缝病害精准检测与识别,本文提出一种基于语义特征增强学习的裂缝病害检测方法,即利用视觉注意力机制及空洞卷积方法提高对裂缝区域显著性特征、细微裂缝特征和多尺度特征的学习能力。如图1 所示,该方法以Unet++为主框架,重点解决既有裂缝检测方法存在的虚警与漏检问题。首先,在Unet++网络的卷积过程中,差异性地应用注意力计算机制,增强网络对复杂路面中裂缝特征的感知能力,提高裂缝病害检测精度;然后针对漏检问题,在网络的下采样中引入空洞卷积操作,提高对细微裂缝特征的学习能力;同时在网络的上采样前,构造空洞卷积金字塔池化层,增加对裂缝特征多尺度信息的感知能力,降低裂缝病害漏检率。

图1 裂缝检测整体网络结构图Fig.1 Overall network structure diagram of crack detection

1 网络结构

1.1 Unet++网络

Unet++网络是ZHOU 等[9]于2018年在原Unet网络的基础上提出的语义分割模型。该网络通过一系列嵌套、密集的跳跃连接路径进行特征融合(如图2(b)所示),因而可有效地增强对浅层语义特征图的学习能力。考虑在卷积神经网络中,浅层特征图往往包含了目标图像的边界、颜色等特征信息,而裂缝作为一种条状病害,具有很强的边界信息。基于此,本文提出利用Unet++网络构建裂缝病害检测的主体网络,充分利用其对裂缝线条边界特征的敏感性,提高模型对裂缝病害的感知效果。

图2 Unet与Unet++网络结构图Fig.2 Unet and Unet++network structure diagram

图(2(b))展示了Unet++网络架构,假设卷积模块Xi,j的输出为yi,j,其计算过程可用式(1)表示

式(1)中:i为下采样的次数;j为密集跳跃连接到的第j个卷积模块[10];X 为卷积模块,用来提取图像特征;u为双线性插值上采样模块,即恢复图像下采样损失的分辨率;[·]为特征融合操作。在前期实验中,将Unet++网络直接应用于裂缝病害检测,发现其在部分裂缝图像上取得了较好的检测结果。但受到路面复杂背景杂波干扰,发现单一利用Unet++网络在裂缝检测中仍存在漏检与虚警的现象。

1.2 注意力机制

神经网络中,注意力机制根据特征的重要性来给特征分配不同的权重[11]。考虑在Unet++网络中,浅层特征与深层特征的特点不同,以图2(b)中卷积模块X1,0与X4,0的输出为例。浅层卷积模块X1,0的输出特征分辨率为224×224,通道数为32。深层卷积模块X4,0的输出特征分辨率为28×28,通道数为256。由此可知,浅层特征分辨率大、空间信息较为丰富,深层特征分辨率较小、通道信息比较丰富。因此本文将空间注意力引入到Unet++的浅层网络中,提高裂缝区域特征的权重;在Unet++深层网络中应用通道注意力,增加有用信息的通道权重,进一步增加裂缝与背景特征的区分度,减少裂缝检测虚警现象。

1.2.1 空间注意力机制

空间注意力模块如图3所示,首先对输入的特征图进行最大池化操作,将特征通道数降维至1。同时对原特征图进行平均池化操作,同样将特征的通道数降维至1。最后将平均池化的结果与最大池化的结果在通道维度上合并,进行卷积操作得到空间区域的不同权重。将所得空间权重与原始的特征图相乘,由此增强特征空间中有用的特征信息。该计算过程,如式(2)所示:

图3 空间注意力机制结构图Fig.3 Structure diagram of spatial attention mechanism

式(2)中:F为输入特征;Conv为卷积计算,max(F)为最大池化操作,mean(F)为平均池化操作。

1.2.2 通道注意力机制

通道注意力模块如图4所示,首先对输入特征进行全局池化,将原来通道的二维特征压缩为一个实数,获得每个通道的初始权重。随后进一步通过全连接层与激活函数学习各个通道之间的关系,得到每个通道的不同权重,最后将通道权重与原输入特征相乘得到通道特征增强的输出结果。该过程如式(3)所示:

图4 通道注意力机制结构图Fig.4 Channel attention mechanism structure diagram

式(3)中:F为输入特征;gp为全局池化层;fc(·)为全连接层。

1.3 空洞卷积与金字塔池化

利用Unet++网络进行裂缝病害检测时,虽然通过多层池化操作可获得语义信息丰富的特征图,减少了模型计算量,但同时也为裂缝病害检测带来了一定的弊端,即池化的过程中会丢失一些细微裂缝的特征信息,从而导致在上采样过程中信息无法重建。基于此,本文在Unet++融入注意力机制的基础上,应用空洞卷积改进网络的训练过程:首先,应用步长为2的空洞卷积代替传统的池化操作,通过网络的自动学习剔除无关紧要的特征信息,减少有效信息的丢失。其次,利用空洞卷积金字塔池化操作,增加特征的尺度多样性,保证不同尺度下的裂缝病害检测工作。

空洞卷积是WANG 等[12]提出的新型卷积结构。空洞卷积通过控制超参数“扩张率”—d进行卷积运算获取图像的特征。假定原来的卷积核大小为k,那么扩张率为d的卷积核大小等效为n,如下式:

图5 为不同扩张率空洞卷积的感受野示意图[13],其可以在不增加计算量的前提下有效增大对特征信息的提取,使得每次卷积输出的特征图都包含了大范围的图像信息。空洞卷积计算公式如式(5)所示[14],这里假定输入的特征图x,y[i]为输出特征图中第i个位置的值,k为卷积核中元素的位置,K为卷积核元素的数量,扩张率为d,w[k]为卷积核中第k个位置的值。

图5 感受野示意图Fig.5 Schematic diagram of receptive field

空洞卷积金字塔池化是由多个不同扩张率的空洞卷积并联而成,如图6 所示[15]。由于裂缝病害在图像中可能有不同的尺寸,空洞卷积金字塔池化可提取多个尺度的裂缝病害特征,提高检测的准确率。空洞卷积金字塔池化过程如式(6)所示:

图6 ASPP结构图Fig.6 ASPP structure diagram

其中:x为输入的特征图;y1,y2,y3,y4为空洞卷积的结果;gp为全局池化操作;[·]为特征融合操作;Conv为卷积操作。

1.4 整体结构

图7 展示了本文提出的裂缝病害检测算法整体框架:整个网络前2层的卷积模块中加入空间注意力机制,可从图像全局范围内提高裂缝区域特征的计算权重;整个网络后3层的卷积模块中加入通道注意力机制,提高特征通道中对存在裂缝信息通道的计算权重值,实现局部范围内关键特征的增强;整个网络在下采样过程中引入空洞卷积计算,可避免细微裂缝特征信息的丢失;在浅层特征初次上采样前,构建空洞卷积金字塔池化操作,可获取裂缝区域多尺度的特征信息,提高对裂缝病害的检测效果。

图7 本文网络结构图Fig.7 Network structure diagram of this article

2 实验评估与分析

2.1 实验数据

为了验证本文提出的网络模型对裂缝病害检测的有效性,收集并整合了大量的裂缝病害数据集进行实验。本文中使用的数据集共有11 200 张原始图像,以及人工标注真值图,每张图像的分辨率均为448×448。在上述11 200 张图片中随机选择了10 000 张不同的原始图片用于这些裂缝检测网络的训练和交叉验证,剩余的1 200 张图像作为测试集用来验证网络性能。

2.2 实验环境与参数

为了进一步评价该方法的性能,本文采用4种深度网络进行对比实验,分别为FCN,Unet++,融合注意力机制的Unet++(Attention Unet++)和具有空洞卷积金字塔池化的Unet++(ASPP Unet++)。所有对比的方法都是在同一个计算平台(i9-9900K GeForce 1080 Ti,64GB RAM,Ubuntu 系统)上实现的。本文算法与其他对比算法均采用正态分布对卷积层权重进行初始化,并采用随机梯度下降SGD 优化器更新网络模型参数,动量和权重衰减系数均被设定为0.9 和0.000 1,批量处理的大小设定为2,迭代次数为200,损失函数为Dice 损失函数,如公式(7)所示,其中X为预测的结果图,Y为真值图。

每种算法分别用6种学习率0.000 01,0.000 1,0.001,0.01,0.1,1 迭代训练20 次,统计迭代完成后的损失值,由此确定最优学习率参数。图8为所有算法在不同学习率下训练时所对应的损失值情况,可看出FCN,Unet++ 与ASPP Unet++网络在学习率为0.01 时收敛最快,而本文网络与Attention Unet++网络在学习率为0.001 时收敛最快。

图8 不同学习率对应的损失值曲线Fig.8 Curves of loss corresponding to different learning rates

2.3 实验结果与分析

图9 展示了所有对比算法在训练过程中loss 值的变化过程。在训练初期,各个网络的loss值衰减均比较大;相比于FCN 网络,基于Unet++框架的4 种裂缝检测网络在初始阶段的训练更为高效。而在分别引入注意力计算模块和空洞卷积计算模块后,2种改进的Unet++网络在训练效率上取得了小幅度的提升。其中,ASPP Unet++网络在迭代训练40次后loss值衰减出现了小幅度的振荡,这可能与不同尺度的裂缝特征在空洞卷积操作下的敏感程度不同有关。相比而言,引入注意力计算模块后,Attention Unet++网络模型取得了较为平稳的loss值衰减过程。与其他几种网络模型相比,本文方法在同时引入注意力计算和空洞卷积计算2 个模块后,整个网络在训练效率与收敛效果上均取得了最优效果。

图9 训练损失值变化曲线Fig.9 Training loss value change curves

2.3.1 定性分析

图10展示了部分典型场景下的裂缝检测效果,每个测试图像的真值图均显示在图9 的最后一行。从第2 行向下分别为FCN 网络、Unet++网络、ASPP Unet++网络以及Attention Unet++网络的检测结果。

图10 部分裂缝病害检测结果Fig.10 Part of the results of crack detection

此外,由于FCN 算法采用直接相加的特征融合方式,导致背景噪声的特征掺杂其中,使得网络无法有效地检测目标边缘(见4 号检测结果)。Unet++网络通过将不同的语义特征融合在一起,取得了比FCN 网络更精细的裂缝检测结果,但部分细微裂缝检测仍存在漏检现象(见4号检测结果)。虽然Unet++网络通过密集特征融合方式抑制了部分背景噪声,但当背景内容过于复杂时仍然会出现大量的虚警现象(见5 号和6 号检测结果)。ASPP Unet++网络通过在Unet++的基础上加入空洞卷积金字塔池化,增强了裂缝特征的尺度信息,进而提高不同尺度下裂缝检测的适应性,可减少一定的漏检现象(见7 号和8 号检测结果)。然而该网络在复杂背景干扰下的裂缝检测结果不理想(见6 号检测结果)。Attention Unet++网络模型差异性地应用注意力机制抑制背景噪声,取得了较好的检测结果(见3 号和5 号检测结果),但从其他检测结果来看,该模型很难适应多尺度的裂缝检测任务,检测结果出现了裂缝漏检现象(见6 号和8 号检测结果)。

2.3.2 定量分析

本文使用以下3个评价指标评价各个模型的性能,准确率(A),精准率(P)以及召回率(R),其定义如表1所示。

表1 裂缝检测结果的定量对比Table 1 Quantitative comparison of crack detection results

通过表1中统计数据可知,FCN网络检测结果的准确率A大于其精确率P和召回率R,其原因可能是裂缝病害区域在图像中占比较小;虽然会发生一定程度的裂缝漏检,但大部分背景内容仍被良好识别,导致算法的准确率A偏高一些。Unet++网络凭借其密集的特征融合方式取得了比FCN 网络更好的效果,3 项性能指标数值均有所提升;然而该网络抑制背景噪声的能力较弱,导致对背景复杂的裂缝和细微裂缝的检测效果不理想(P和R较小)。ASPP Unet++网络在Unet++网络基础上通过增强学习裂缝特征的尺度信息,使得检测结果的召回率R得到大幅提升(大于80%),但该网络没有解决背景杂波干扰的问题,使得检测结果仍存在虚警,精确率A提升不多。Attention Unet++网络通过融入注意力机制在精确率方面取得了更好的表现,精准率P得到提升;但由于其无法处理多尺度的裂缝病害检测问题,导致其召回率R不高。与其他几种算法相比,本文所提出的裂缝检测模型不仅利用注意力机制抑制背景杂波,还通过空洞卷积操作增强对多尺度特征的感知能力,因此在所有的对比算法中,取得了最优的检测性能指标。

3 结论

1) 模型以Unet++为主体框架,可通过密集的特征融合层,提高裂缝病害检测的精准度。

2) 在保证已有检测精度的基础上,为了抑制背景杂波的干扰,在Unet++特征提取的过程中差异性地引用注意力计算机制,提高模型对含有裂缝信息特征的感知能力,减少虚警现象。

3) 为了避免细微裂缝信息的丢失,利用空洞卷积改变网络下采样,进一步提高检测精度;此外,为了适用不同拍摄距离下的裂缝检测,应用空洞卷积金字塔池化增加裂缝特征的尺度多样性,降低裂缝漏检率。

猜你喜欢
池化空洞注意力
基于高斯函数的池化算法
让注意力“飞”回来
卷积神经网络中的自适应加权池化
番茄出现空洞果的原因及防治措施
如何避免想象作文空洞无“精神”
如何培养一年级学生的注意力
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
空洞的眼神
A Beautiful Way Of Looking At Things