APP下载

基于并行注意力UNet的裂缝检测方法

2021-08-17王君锋陈峙宇

计算机研究与发展 2021年8期
关键词:卷积注意力裂缝

刘 凡 王君锋 陈峙宇 许 峰

(河海大学计算机信息学院 南京 210098) (海岸灾害与防护教育部重点实验室(河海大学) 南京 210098)

裂缝作为公共设施中一种常见现象,存在着重大的安全隐患.因此设计一种有效的裂缝检测方法对保障社会公共财产安全具有重要意义.早期的裂缝检测采用人工检测,由于其花费时间长,且易受主观判断影响,难以推广应用.因此,为了克服人为因素造成的主观误差,学者们提出了基于图像处理的自动检测方法,包括小波变换[1-2]、阈值分割[3-5]、方向各异性[6-7]、边缘算法[8-10]和直方图[11-13]等.这些方法通过机器进行检测,避免了人为误差的产生,同时大大提高了检测的效率,促进了检测技术的发展.但还是存在一些不足,当裂缝图像环境较为复杂时,这些方法很难获得准确的结果,因此需要进一步的研究.

近年来,随着深度学习的快速发展,其在裂缝检测领域中也得到了广泛应用.如墙壁裂缝检测[14-15]、桥塔和锚室表面裂缝检测[16-17]、路面裂缝检测[18-20]和混凝土裂缝检测[21-22]等.在进行裂缝检测时,深度学习方法不仅注重裂缝特征的提取,而且关注图像中的上下文信息,使最后提取的特征更加精准有效.但这些方法在提取裂缝特征时,易受到图像中噪声、光线、阴影等因素的干扰,导致预测结果出现偏差,降低检测准确度.针对此问题,本文设计了一个并行注意力机制,并将其嵌入到UNet网络的解码部分,进而提出了并行注意力UNet裂缝检测方法.该并行注意力机制分别从通道和空间2个维度对裂缝特征权重进行充分分配,然后将重新分配后的特征融合,以获得更具互补性的裂缝特征并抑制干扰.与串行结构的注意力机制相比,本文设计的并行注意力机制在精确捕获裂缝特征的同时,又能有效抑制各种干扰.

1 相关工作

目前,深度学习方法在裂缝检测领域被广泛应用.如Yao等人[23]提出了一种基于卷积神经网络的裂缝图像识别方法,该方法可以解决检测效率低、环境约束大的问题,并提高了检测速度和精度.Liu等人[24]提出了像素级分类网络UNet,该网络将局部信息与全局信息相结合,显著提高了裂缝特征提取的精确性.由于裂缝检测中的标注数据是人为标记的,这会导致裂缝标记的不精准,因此Ali等人[25]提出了一种基于卷积神经网络的路面裂缝自动检测算法,通过CNN网络与滑动窗口结合,准确定位裂缝所在位置,解决了人工标记的缺陷.Nie等人[26]提出了一种基于YOLO(You only look once) V3的路面裂缝检测方法,解决了传统路面裂缝检测实时性差、精度低的问题.

随着不断深入研究,学者们在现有网络的基础上进行了改进.Song等人[27]提出了一种高效的裂缝检测方法,通过建立多尺度空洞卷积模块来获取裂缝的上下文信息,并在此基础上引入一种注意力机制,进一步提取高层特征.为解决裂缝与周围路面对比度低的问题,Xiang等人[28]提出了一种端到端深度卷积神经网络的路面裂缝检测方法,该方法采用金字塔模块对复杂的裂缝拓扑结构进行全局上下文信息挖掘,并引入了一个空间-通道组合注意力模块来细化裂缝特征.Konig等人[29]提出了一个完全卷积UNet架构来自动化注释任务,并在该架构的基础上嵌入了基于注意力的门控机制,进一步传播ReLu激活.Wang等人[30]提出了一种改进的I-UNet网络,利用空洞卷积扩展卷积的接受域.将提取到的不同尺度特征进行多尺度融合,使改进后的网络具有更好的效果和鲁棒性.Fan等人[31]提出了U-Hierarchical Dilated Network(U-HDN),通过多尺度模块集成不同尺度的裂缝特征以获取更多的裂缝信息,并通过分层特征学习模块集成不同层的特征,以获取更精确的预测结果.为了克服各种类型的噪声,Li等人[32]提出了一种基于深度卷积神经网络(convolutional neural network, CNN)的图像裂缝检测方法,该方法首先训练CNN分类器,再将训练好的CNN分类器和滑动窗口结合进行穷举搜索,从而获得更精确的裂缝定位.针对隧道图像中裂缝细小且存在大量噪声问题,Li等人[33]提出了一种基于UNet和CliqueNet(convolutional neural networks with alternately updated clique)的卷积神经网络U-CliqueNet,通过Clique Block代替UNet的卷积层,实现更准确、快速地从背景中分离裂缝.Ren等人[34]提出了一种改进的深度全卷积神经网络CrackSegNet进行裂缝分割,该方法能有效提取多尺度特征,大大提高了网络整体的裂缝检测能力.这些网络相较之前的网络在检测效果方面有了较大的提升,但仍存在一些不足,例如检测结果中存在干扰或者无法较精准地分割出裂缝区域.

针对这些不足,目前比较流行的解决方案是嵌入注意力机制以抑制各种干扰.而现有的注意力机制大都采用串行结构,能有效抑制大部分干扰,但仍受到明亮噪声的影响,导致效果降低.针对此问题,本文设计了一种并行注意力机制,并提出了并行注意力机制UNet裂缝检测方法.该方法从空间和通道2个维度抑制干扰,通过并行结构融合两者特征以获取更具互补性的裂缝特征,有效抑制了各种干扰并提高了检测的精确度.

2 本文方法

本文提出了一种裂缝检测方法,在UNet网络中嵌入一个自行设计的并行注意力机制,以此来抑制各种干扰,提高裂缝特征提取的精准性.

2.1 网络结构

本文方法的网络结构如图1所示,主要由3部分组成.第1部分是网络的编码层,由卷积和池化组成;第2部分是网络的解码层,由卷积、反卷积和sigmoid函数组成;第3部分是注意力模块,即本文提出的并行注意力机制.

Fig. 1 The structure of parallel attention based UNet for crack detection图1 基于并行注意力UNet的裂缝检测结构

模型训练过程中,首先将裂缝数据输入到网络的编码层,通过卷积池化提取图像中的裂缝特征,生成一系列的特征图.随后对这些特征图进行解码,在此过程中为了提高裂缝特征提取的精准性,嵌入了并行注意力机制,以抑制干扰、凸显裂缝特征.网络还将编码层的特征图与解码层的特征图进行拼接,进一步提高裂缝特征提取的精确度,从而大大提升检测效果.

Fig. 2 The parallel attention module图2 并行注意力机制

2.2 并行注意力机制

本文设计了一种并行注意力机制,其采用并行结构较大程度上解决了串行结构无法有效抑制各种干扰的弊端.如图2所示,并行注意力机制分为3部分:一部分是通道注意力,它通过一维卷积对特征图中的通道权重进行重分配,提高与裂缝相关通道的权重,降低其余通道的权重;第2部分是空间注意力,它结合2种池化方式对空间权重进行更合理的重新赋予,赋予特征图中潜在裂缝区域更高的权重,降低其余区域权重;第3部分是融合,将前2部分生成的特征进行融合,以获得更具互补性的特征.

1) 通道注意力.首先定义输入的特征图为F,对特征图F使用全局最大池化,生成一个1×1×C的全局特征M(其中C代表通道的数量).然后使用大小为k的一维卷积对全局特征M进行卷积,生成一个注意力权重图N.注意力权重图N中第i个通道的权值ei可由式(1)得到:

(1)

(2)

其中,C为通道数,γ和b为超参数,一般γ=2,b=1,|A|odd为与A相邻最近的奇数.随后通过权重图N对特征图F进行加权,产生特征图Q.在特征图Q中,与裂缝相关的通道权重得到了提升,其余通道权重则有所降低.

(3)

其中,σ表示ReLu激活函数,⊗表示2个特征图对应位置数据的点积.

3) 融合.将特征图Q与特征图P相加后使用ReLu激活函数得到特征图G.特征图G融合了通道维度的权重分布和空间维度的权重分布,从而获得了更具互补性的特征,能更加凸显裂缝特征区域,并抑制各种干扰,使模型能更精确地识别出裂缝.

2.3 模型的训练

(4)

(5)

(6)

在训练时,为了获得更合适的模型,需要对模型进行优化.本文对图像进行分割,这属于像素级的二分类问题,因此本文选取二值交叉熵损失函数(binary cross-entropy loss function)作为模型训练时的损失函数,其计算为

(7)

3 实 验

为验证模型的有效性,本文选取4个数据集:道路裂缝、大坝裂缝、Weizmann Horses[35]、MUCIC[36];4个网络:CNN[32],SegNet[37],VGG19(very deep convolutional networks)[38],CrackSegNet[34]和4个注意力机制:SE-Net(squeeze-and-excitation net-works)[39],ECA-Net(efficient channel attention for deep convolutional neural networks)[40],SAM[41],EC-SAM进行实验.实验分为3组:第1组是裂缝数据在不同网络中的对比实验;第2组是公共数据在不同网络中的对比实验;第3组是注意力机制的性能对比实验.为了让实验数据更准确,本文对每组实验均重复进行5次,然后取平均值作为最终结果.

3.1 数据集

本文数据集可以分为2类:一类是裂缝数据集,包括道路裂缝(114张训练图片、81张测试图片)和大坝裂缝(288张训练图片、83张测试图片),这2个数据集的标注都是裂缝,用来检测模型在不同裂缝数据中的性能;另一类是公共数据集,包括Weizmann Horses[35](237张训练图片、91张测试图片)和MUCIC[36](706张训练图片、291张测试图片),这2个数据集的标注是马和细胞,用来测试模型在其他目标数据集中的性能.

3.2 评价指标

为了更精确地评判模型性能,本文选取Precision(Pr)、Recall(Re)和F-Measure[42-43](F1)这3个指标进行衡量.其中Pr代表正确率指数,Re代表召回率指数,两者衡量了模型分割的准确性,其定义为

(8)

(9)

其中,TP,FP,FN分别代表真阳性、假阳性和假阴性的数量.为了获得更好的效果,Pr和Re的值应尽可能的高.由于本文检测的目标为裂缝,而裂缝在图像中的占比较小,导致Pr和Re会出现一定的矛盾,所以为了更好地评判模型性能给出了综合评价指标F1[42-43]:

(10)

其中,β2是超参数,用来权衡Pr和Re对F1的影响,当β2>1时Re对F1的影响较大,当β2<1时Pr对F1的影响较大.由于裂缝在图像中比重较小且图像中存在较多干扰,为了更精确地分割裂缝,评价指标F1应更侧重于Pr值,所以设置β2=0.3.本文还使用PR曲线对注意力机制进行性能评估.

3.3 参数设置

本文采用分辨率为512×512的图像训练PA-UNet.在训练中,卷积操作的卷积核大小为3×3,池化大小为2×2,反卷积操作的卷积核大小为2×2,编码的过滤器个数分别为 64,128,256,512和1 024,解码的过滤器分别为1 024,512,256,128和64.由于并行注意力机制在解码的第3层,因此输入并行注意力机制的特征图尺寸为128×128×256.本文使用Adam优化器训练PA-UNet,迭代次数为30,批量为1,学习率为10-4.

3.4 实验结果与分析

1) 裂缝数据集的对比结果

本组实验选取道路和大坝裂缝数据在不同网络中进行对比分析,其可视化结果如图3所示.在道路裂缝图像中,UNet和CNN的结果缺失较多,其他结果中存在较多干扰,只有本文结果与标注数据最接近.在大坝裂缝图像中,本文结果相较于其他结果干扰最少,效果最好.

Fig. 3 Visualization of crack data comparison results图3 裂缝数据对比结果可视化

表1是本组实验的结果.相较于UNet,本文方法在道路数据中提升了2.95%,在大坝数据中提升了1.05%.数据说明相较于现有的主流方法,本文方法在裂缝检测时获得的效果最佳,从而证明了本文方法的有效性.

Table 1 The Results in Different Crack Datasets表1 裂缝数据的对比结果

续表1

2) 公共数据集的对比结果

本组实验选取2个公共数据集(Weizmann Horses和MUCIC)进行对比分析,结果如图4所示.在Weizmann Horses中,相较于其他网络,本文方法的结果干扰最少,效果最佳.在MUCIC中,所有结果都较为相似,但本文方法的结果更接近标注数据.

Fig. 4 Visualization of public data comparison results图4 公共数据对比结果可视化

表2是本组实验的结果.相较于UNet,本文方法在Weizmann Horses中提升了4.92%,在MUCIC中提升了0.28%.数据表明本文方法在其他目标数据集中也能获得最佳效果,进而说明本文方法具有一定的泛化性,也证明了本文方法的有效性.

Table 2 The Results in Different Public Datasets表2 公共数据的对比结果

3) 不同注意力机制的对比结果

本组实验使用道路裂缝数据集,选择SE-Net[39],ECA-Net[40],SAM[41],EC-SAM(与CBAM(convo-lutional block attention module)[44]类似的串行结构注意力机制)4个注意力机制与并行注意力机制进行对比分析,其结果如图5所示.第1行中,并行注意力机制和SAM的结果最好,SE-Net和ECA-Net的结果有缺失,EC-SAM的结果最差.第2行中,这些结果与标注数据都有较大的偏差,但相较而言,并行注意力机制和SE-Net的结果最好,干扰最小.第3行中,本文方法和SE-Net的效果最佳,其他方法均存在较多干扰.

Fig. 5 Visualization after adding different attention mechanisms图5 不同注意力机制的对比结果可视化

表3是本组实验的具体结果,数据显示在添加注意力机制后,网络的性能都有所提高,且本文设计的并行注意力机制效果最好,性能提升了2.95%.图6是本组实验的PR曲线,图中显示本文设计的并行注意力机制性能最佳,而EC-SAM的性能最差,其原因在于串行结构的注意力机制在裂缝检测中易受到明亮噪声干扰,降低检测效果,而本文方法能有效抑制各种干扰,大大提高检测性能.

Table 3 The Results of Different Attention Mechanisms表3 不同注意力机制的对比结果

Fig. 6 PR curve of these attention mechanisms图6 添加不同注意力机制后的PR曲线

4 结 论

本文设计了一种并行注意力机制,并将其嵌入到UNet中.该注意力机制采用并行结构,不仅能有效抑制各种干扰,而且能获取更具互补性的裂缝特征,从而解决了串行结构注意力机制在裂缝检测中的不足.实验结果表明,本文方法优于现有的主流网络,且相较于其他注意力机制,本文设计的并行注意力机制在裂缝检测中效果最好.

作者贡献声明:刘凡提出了本文方法,进行了实验设计、论文撰写与修改;王君锋设计完成了实验,并进行论文的撰写;陈峙宇辅助完成实验;许峰提供了实验数据集,并在论文撰写修改过程中提供意见与建议.

猜你喜欢

卷积注意力裂缝
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
地球的裂缝
裂缝性储层水力裂缝扩展规律数值模拟研究
裂缝
A Beautiful Way Of Looking At Things
阅读理解两则