基于通道和空间注意力的机场道面地下目标自动检测

2023-03-24 13:25李海丰张凡朴敏楠王怀超李南莎桂仲成
计算机应用 2023年3期
关键词:道面解码器编码器

李海丰,张凡,朴敏楠*,王怀超,李南莎,桂仲成

(1.中国民航大学 计算机科学与技术学院,天津 300300;2.成都圭目机器人有限公司,成都 610101)

0 引言

机场道面地下目标主要包含两类[1]:1)地下病害,随着航空业务量的发展,飞机频繁起降会对机场道面地下的结构造成损伤,长期超负荷地使用容易破坏内部结构;2)机场道面地下组成部分,如钢筋和地灯等目标。隐蔽的地下病害可能会造成重大交通事故,带来巨大的损失;而钢筋是支撑机场道面的重要部件,会影响机场道面的安全性评估。因此对地下目标的检测是保障机场安全运行的必要工作。

目前检测机场道面地下目标的物理方法有钻芯取样法[2]、弯沉仪法[3]和超声探测法[4]。钻芯取样虽然能直观地看到样块内部的结构情况,但是该方法对机场道面有损害,采样块的数量有限,很难代表整个机场道面地下的内部情况,检测精度不高。弯沉仪只能检测出靠近地表层的脱空病害,且一般用于检验机场道面的承受能力。超声波检测技术可以根据声波的传播时间、幅值和频率等参数确定地下目标的位置,但是该方法特别容易受到外界因素的干扰。而探地雷达(Ground Penetrating Radar,GPR)是一种无损检测地下目标的技术,具有检测速度快、分辨率高、覆盖面积广等特点,在工程勘探领域应用广泛[5]。

有学者通过雷达信号对机场道面地下目标进行研究。曹芸茜等[6]利用波变换和时延估计搜索局部峰值,抑制地下钢筋的强反射回波,并结合时频分析及最小距离分类器识别地下目标,通过频域波数域的波场逆推进行目标成像。何炜琨等[7]利用脱空病害的回波特性,将回波作S 变换,拟合出脱空的波形特征。Zou等[8]使用多基地雷达系统扫描机场沥青道面,利用横波特性检测浅层道面的层间剥离。也有学者通过雷达B-scan 图进行研究,Pham等[9]采用二维Faster RCNN(Faster Region-based Convolutional Neural Network)提取灰度B-scan 图像的双曲线特征,对地下钢筋进行检测。李海丰等[10]采用支持向量机(Support Vector Machine,SVM),并设定双阈值对B-scan 图进行目标分割。Dinh等[11]结合传统图像处理和卷积神经网络(Convolutional Neural Network,CNN),在B-scan 上通过校正零偏、滤波和阈值分割等预处理操作确定地下目标的范围,再将提取到的目标区域送入CNN进行特征学习。在其他领域,与雷达C-scan 数据相似的有计算机断层扫描(Computed Tomography,CT)数据和视频数据,Cai等[12]设计了Ghost-Light-3DNet 对心脏CT 数据集进行检测。Xu等[13]设计了三维Faster R-CNN 在CT 数据集上生成三维建议框,并对多类别目标进行三维可视化。Al-Hammadi等[14]将一段视频拆分为32 帧连续图像,使用三维CNN 从连续的图像中学习手势特征。

基于雷达信号的研究需要经过大量的预处理操作,计算量大且容易增加误差。而仅基于B-scan 图的研究虽然能避开冗杂的电磁波特性,但是忽略了相邻B-scan 间存在一定的特征关联关系,导致特征信息丢失。机场道面地下结构复杂多样,生成的B-scan 和C-scan 往往包含大量噪声,给地下目标检测带来了挑战。针对以上问题,本文提出一种三维通道和空间注意力的UNet(Three-Dimensional Channel and Spatial Attention UNet,3D-CSA-UNet)模型,并应用于机场道面地下目标检测。

本文研究的问题是机场道面地下目标检测,主要的工作如下:1)设计三维通道和空间注意力并行模块(Three-Dimensional Channel and Spatial parallel attention Block,3DCS-Block)以充分提取相邻B-scan 间的联合特征,在保证地下目标信息完整性的同时,对背景和目标进行区分;2)根据3D-CS-Block 设计多尺度的三维分割模型,将模块加入多个编码器和解码器中组合成模型,加强模型对雷达C-scan 中地下目标特征提取的能力。

1 本文模型设计

1.1 探地雷达数据

探地雷达在机场道面水平移动,通过天线向地下发射电磁波,当遇到不同电磁特性的物体时会发生反射,天线接收回波信号。A-scan、B-scan 和C-scan 是探地雷达从一维到三维的数据保存形式。如图1 所示:A-scan 记录单组发射波和回波的信号强度和行进时间;探地雷达在不同位置会产生一系列A-scan,多个A-scan 形成二维B-scan 数据,如果将信号表示为灰度值,就能得到二维图像[15];将B-scan 按照雷达通道顺序进行组合,可形成三维C-scan 数据。

图1 探地雷达数据Fig.1 Ground penetrating radar data

机场道面地下情况复杂多样,探地雷达在探测地下目标时受到测量噪声以及未知异物的干扰,导致生成B-scan 时目标区域不明显且背景紊乱,给地下目标检测带来了挑战。本文要检测的地下目标为脱空、钢筋和钢筋平行,它们的特征形态在B-scan 上如图2 所示。图2(a)为脱空病害,一般位于地下结构的分层处,多呈现为黑白条纹叠加的形状,黑白分明且横向长度较长;图2(b)为钢筋,具有明显的双曲线特征,黑白双曲线叠加,当多条钢筋在地下并排时,会出现一排连续的双曲线;图2(c)为钢筋平行,它由于探地雷达在道面的运行方向与钢筋放置方向互相平行造成,特征一般为小块状且黑白相间,横向长度较短。

图2 地下目标的形态特征Fig.2 Morphological characteristics of underground targets

1.2 三维通道和空间注意力并行模块

经过预处理后的探地雷达数据往往包含了大量噪声且背景十分复杂。为了抑制C-scan 中噪声的干扰,引导模型更好地从三维C-scan 中提取出目标特征,本文设计了三维通道和空间注意力并行模块(3D-CS-Block),主要由三维通道注意力和三维空间注意力组成,模块结构如图3 所示。两种注意力对同一个三维特征矩阵集合进行特征提取,各自生成新的特征矩阵集合,再将两个新的特征矩阵集合相加得到最终的特征矩阵集合。三维通道注意力给不同通道的三维特征矩阵赋予不同的权重值,让模型在训练过程中更加关注有用通道的特征信息;三维空间注意力对每个三维特征矩阵中的像素位置赋予不同的权重值,目的是区分地下目标和背景,让模型着重关注目标的特征信息。为了从多维度引导模型学习地下目标的特征,将两种注意力的结果进行求和,从而提高模型的目标检测能力。

图3 3D-CS-Block结构Fig.3 Structure of 3D-CS-Block

1.2.1 三维通道注意力模块

模型训练过程中,通过卷积操作产生多个通道的特征矩阵,这些特征矩阵包含了丰富的特征信息。但是由于C-scan本身含有大量噪声,导致生成的矩阵也含有很多噪声信息,而且不同通道的特征矩阵对地下目标的表现程度有差异,并不是所有的特征矩阵都能很好地表达目标特征[16]。如果考虑所有通道的特征矩阵,反而会增大背景和噪声的影响,不利于模型的训练。因此,本文加入三维通道注意力,赋予每个通道不同的权重值,让模型有侧重地学习目标信息明显的通道特征以提高训练效率。

如图3 所示,三维通道注意力由一个全局池化、两个全连接层、一个线性修正单元(Rectified Linear Unit,ReLU)激活函数和一个Sigmoid 激活函数组成。全局池化采用平均池化,它的作用是将每个特征矩阵在空间上进行压缩,而全连接层和激活函数则给不同通道的特征矩阵赋予不同权重值。对于输入特征 集合U={U1,U2,…,Up,…,Uc},Up∈RD×H×W代表某个维度为(D,H,W)的特征矩阵。特征集合U首先经过全局池化层变为Zc×1×1×1,即压缩每个通道的空间特征:

输入特征集合U被压缩空间后变为Zc×1×1×1,再经过两个全连接层和激活函数变为Z*,如式(2)所示:

1.2.2 三维空间注意力模块

机场道面地下环境复杂,探地雷达在生成B-scan 时,往往包含了大量噪声,且背景也比较紊乱。而C-scan 由B-scan组成,虽然C-scan 能有效还原地下目标的三维特征,但是也增加了噪声的干扰,模型很难从C-scan 中提取出有效的目标特征。雷达C-scan 数据具有三维空间特性,一个C-scan 中可能包含一个或多个地下目标,相邻的B-scan 具有一定的特征关联,而一般的空间注意力并不能满足对C-scan 的检测要求。因此,本文加入特殊的三维空间注意力,给C-scan 中不同像素位置赋予不同的权重值。对于地下目标区域,权重值较大,而对于背景和噪声,权重值则较小。这是为了让模型自动区分出地下目标,从而抑制噪声的影响。

如图3 所示,三维空间注意力由一个三维卷积核和Sigmoid 激活函数组成。三维卷积核的输出通道和步长都为1,它的作用是将输入特征集合在通道上进行压缩,而Sigmoid 激活函数则给空间中的每个位置赋予不同的权重值。输入特 征矩阵U=[U1,1,1,U1,1,2,…,Ui,j,k,…,UD,H,W],Ui,j,k∈R1×1×1×c,(i,j,k)为该像 素在三 维矩阵 空间的位置。特征矩阵U经过一次三维卷积得到Q∈RD×H×W,如式(4)所示,其中:WConv3d∈R1×1×1×c×1为三维卷积核的权重。特征矩阵Q经过一个Sigmoid 激活函数将权重值归一化到[0,1],归一化后的特征矩阵再和原始的特征矩阵U相乘,得到新的特征矩阵UsSE,如式(5)所示。

1.3 基于通道和空间注意力的分割模型

1.3.1 3D-CSA-UNet

一个尺度下的特征集合包含的特征信息较少,且具有局限性。为了提升3D-CS-Block 对复杂三维C-scan 目标特征的提取能力,本文参考UNet 模型[17]和SSD(Single Shot Multibox Detector)模型[18],设计了多尺度的三维分割模型3D-CSAUNet。3D-CSA-UNet 可以提取出多个尺度下的C-scan 特征信息,控制不同大小的感受野,学习地下目标的全局信息和局部信息,以增强提取目标特征的能力,从而实现地下目标精确检测。

如图4 所示,3D-CSA-UNet 由4 个编码器(Encoder)、4 个解码器(Decoder)和1 个三维卷积核组成。每个编码器由三维卷积核(Conv3d)、注意力并行模块(3D-CS-Block)和下采样(Maxpool+ReLU)组成;每个解码器由反卷积(Deconv3d)、注意力并行模块和上采样(Upsample+ReLU)组成。

图4 3D-CSA-UNet结构Fig.4 Structure of 3D-CSA-UNet

编码器Encoder 1、2 可以提取C-scan 的浅层特征,而编码器Encoder 3、4,则能够提取C-scan 的深层特征,解码器Decoder 1~4 负责对不同尺度的特征进行特征还原。Encoder 1、2 和Decoder 2、3 的特征矩阵进行相加融合,能够提供地下目标类别信息。Encoder 3 和Decoder 1 的特征矩阵进行相加融合,能够提供地下目标位置信息。线性融合编码器和解码器中相同尺寸的特征信息,可以抑制噪声,增强模型对目标的关注。最后通过一个三维卷积生成通道与类别数目相同的特征集合,便于后续分类识别。

1.3.2 多尺度特征损失计算

在多次卷积和下采样后,一些小目标区域的信息会丢失,如果只关注模型最终的输出特征,而忽略模型中间层输出特征的影响,会降低模型检测的准确率。针对该问题,本文计算4 种尺度下的特征矩阵损失值,并且对不同尺度的损失赋予不同权重,再将所有损失求和得到最终损失。如图4所示,Encoder 1 和Decoder 3 的输出特征大小为32× 24×224× 224,Encoder 2 和Decoder 2 的输出 特征大小为64×12× 112× 112,Encoder 3 和Decoder 1 的输出 特征大小为128× 6× 56× 56,模型的 最终输 出特征 大小为4× 48×448× 448,将以上4 种大小的特征矩阵分别标记为a、b、c和d。式(6)~(7)为计算模型损失的公式:

式(6)为交叉熵损失函数,其中:N为特征通道数;M为类别数;yic取0 或者1,当样本i的真实类别为c取1,否则取0;pic为样本i属于类别c的预测概率。式(7)是总的损失值,最后输出的特征权重为1,其他尺度的特征权重为0.1。

2 实验与结果分析

2.1 实验设置

2.1.1 对比方法

将3D-CSA-UNet 与3D-SegNe[t19]、三维全卷积网络(3DFully Convolutional Network,3D-FCN)[20]和3D-UNet[21]进行对比实验。3D-SegNet 与SegNet 结构一 致,3D-FCN 与FCN(Fully Convolutional Network)结构一致,3D-UNet 与UNet 结构一致,它们的区别在于前者使用了三维卷积核且输入数据的维度更高。3D-SegNet 的每个编码器都对应一个解码器,最终编码器的输出会被送入Softmax 分类器进行像素级分类。3D-FCN 是典型的全卷积模型,且目标分割能力较强。3DUNet 也是经典的语义分割网络,结合多尺度特征实现目标精确分割。

2.1.2 数据集

本文使用的数据集为AUD(Airport Underground Data),包含的地下目标有脱空、钢筋和钢筋平行。数据集由成都圭目机器人有限公司提供,采集于国内多个机场道面。该公司自主研发的道路病害检测机器人,搭载2D、3D 视觉融合系统以及不同频段的三维探地雷达,采集道面内部结构信息。机器人以20~30 km/h 的速度水平运行,探地雷达不断收发电磁波,成功收发一次电磁波称为一个A-scan,多个A-scan 经过编码得到B-scan,相邻B-scan 按照雷达通道顺序组合形成C-scan。表1 为AUD 数据集的具体信息。

表1 AUD数据集详细信息Tab.1 Details for AUD dataset

2.1.3 评价指标

为了对3D-CSA-UNet 模型进行量化评估,采用运行时间、准确率(Precision,P)、召回率(Recall,R)、F1 分值(F1-Score,F1)对实验结果进行分析。运行时间指平均检测一个C-scan 所需时间;准确率指目标区域被正确检测出来的像素个数占被检测出来的像素总数的比例;召回率指目标区域被正确检测出来的像素个数占应该被准确检测出来的目标区域像素个数的比例;F 对准确率和召回率进行综合评价。指标公式定义如下:

其中:TP(True Positive)为地下目标区域被正确检测出来的像素个数;FP(False Positive)为背景区域被预测为地下目标的像素个数;FN(False Negative)为地下目标区域被预测为背景的像素的个数;TN(True Negative)为背景区域被正确检测出来的像素个数。

2.1.4 实现细节

本文所有模型均使用Pytorch 框架进行搭建,编程语言为Python,使用Geforce RTX 2080ti 显卡进行模型训练和测试。模型的学习率设置为0.000 1,采用Adam 优化器。

本文用于训练的B-scan 数量为1 722 个,为了增加训练样本量,设定模型输入的C-scan 大小为48× 448× 448。但是有些地下目标只横跨8 个或者16 个B-scan,因此需将它们进行堆叠,合成到48 个。合成后用于训练的C-scan 数量一共150 个(相当于7 200 个B-scan),数据量本身较大,所以模型的batch_size 设置为1 也能保证模型能够充分训练。使用交叉熵损失函数,即Cross-Entropy Loss。

2.2 实验结果与分析

所有模型在相同的实验环境下进行测试,数据集都采用AUD 数据集。每个模型都训练至拟合状态,且都采用测试效果最好的模型权重进行对比,表2 为4 个模型在测试集上的量化结果。实验结果表明,3D-CSA-UNet 对地下目标检测的各指标都取得了最优和次优结果。相较于对比算法,3DCSA-UNet 对于脱空、钢筋和钢筋平行目标预测的平均F1 至少提高12.33、9.05、11.05 个百分点。

表2 多个模型的量化结果 单位:%Tab.2 Quantified results of multiple models unit:%

图5 展示了4 种模型检测的可视化结果,实验结果表明,其他3 种模型容易受到噪声和背景的影响,提取的目标特征也不清晰。而3D-CSA-UNet 模型由于加入通道和空间注意力并行模块,可以有效抑制噪声的干扰,增强模型对地下目标的关注。从雷达C-scan 中提取的多尺度的特征,也使分割效果更加细腻,轮廓更加明显,有利于提升检测精度。

图5 不同模型的可视化结果对比Fig.5 Comparison of visualization results of different models

在运行时间上,各模型的检测速度都非常快。表3 展示了各模型平均检测一个C-scan 所需时间,各模型的检测速度相差都不大。3D-CSA-UNet 检测一个C-scan 需要0.24 s,而一个C-scan 由48 个B-scan 组成,因此检测一个B-scan 平均只需要0.005 s,可以较好地满足工程实际需求。

表3 各模型平均检测一个C-scan所需时间 单位:s Tab.3 Average time for each model to detect a C-scan unit:s

2.3 消融实验

为了分别验证通道注意力和空间注意力对模型检测的影响,设置了三组实验,检测的目标如图2 所示。针对3D-CSA-UNet 模型,实验A 为编码器和解码器都不加入两种注意力;实验B 为编码器和解码器都只加入通道注意力;实验C 为编码器和解码器都只加入空间注意力。

从表4 中的实验A~C 的量化结果可以看出,在实验A 的模型中加入通道注意力或者空间注意力,各项指标都有明显提升。相较于实验A 的模型,当只加入通道注意力时,实验B 的模型对钢筋平行检测的召回率提高了6.84 个百分点,有效减少了钢筋平行的漏检情况;当只加入空间注意力时,实验C 的模型对脱空检测的准确率提高了8.17 个百分点,有效提高了脱空检测的准确率。从图6 中展示的实验A~C 的可视化效果可以看出:通道注意力和空间注意力均能抑制背景和噪声对目标的干扰,能提高模型对钢筋平行的检出率。实验B 和实验C 的可视化效果表明,通道注意力的去噪能力比空间注意力强,而空间注意力对目标特征的学习能力更强,甚至能够提取出目标的边缘轮廓特征。因此,本文设计了三维通道和空间注意力并行模块(3D-CS-Block),充分利用两种注意力各自的优势,帮助模型更好地检测地下目标。

为了进一步验证3D-CS-Block 的有效性,设置实验D 只在编码器部分加入3D-CS-Block;实验E 只在解码器部分加入3D-CS-Block;实验F 中编码器和解码器都加入3D-CSBlock,即本文模型。

从表4 中实验A 和实验D、E、F 的量化结果可以看出:如果只在编码器后加入3D-CS-Block,对3 类地下目标检测的各项指标都有明显提升。如果只在解码器后加入3D-CSBlock,虽然F1 提升较小,但是对于脱空病害检测的召回率下降很多,说明脱空的漏检数量增加了。实验D 的模型的F1优于实验E,说明在编码器后加入3D-CS-Block 比在解码器后加入效果更佳。如果编码器和解码器后都加入3D-CSBlock,对钢筋和钢筋平行两类目标的检测指标都有明显提高,而且检测脱空病害的召回率也是最高,有效减少了脱空病害漏检的数目。从图6 中的实验A、D、E、F 的部分可视化效果可以看出:实验A 的模型没有加入3D-CS-Block,容易受到噪声的影响,将一些背景区域也会识别为地下目标,且对于钢筋平行的检测效果不好。实验D 和E 的可视化效果表明,在编码器后加入3D-CS-Block 比在解码器后加入3D-CSBlock,能更好地学习目标的轮廓特征,有助于提升模型检测精度。由实验D~F 的可视化结果可知,在实验A 的模型中每个编码器和解码器后都加入3D-CS-Block,模型的去噪能力变强了,对地下目标的关注也增多了,且分割的效果也变得更加细腻。

表4 消融实验的量化结果 单位:%Tab.4 Quantified results of ablation experiments unit:%

图6 消融实验可视化结果Fig.6 Visualization results of ablation experiments

综上所述,通过加入3D-CS-Block,模型在训练过程中会自动赋予目标和背景不同的权重值,让模型有侧重地学习地下目标特征,减少复杂背景和噪声的影响。同时,模型能够提取出地下目标不同尺度的特征,从不同大小的感受野学习目标的细节特征,使分割效果更加清晰。

3 结语

为了从复杂的雷达C-scan 中检测出地下目标,本文设计了三维通道和空间注意力并行模块,从两个角度提取出地下目标的三维特征,抑制复杂背景和噪声带来的干扰。同时基于该注意力并行模块设计了多尺度的三维分割模型(3D-CSA-UNet),加强对目标特征的提取,从浅层的语义特征中得到目标的类别信息,从深层的语义特征中得到目标的位置信息,从而实现对地下目标的精确检测。实验结果表明,3D-CSA-UNet 模型在机场道面地下目标检测任务中有较好的效果。同时,模型存在参数量较大、训练速度较慢等问题,这值得在后续研究中进行改善。

猜你喜欢
道面解码器编码器
浅谈机场跑道道面性能变化规律
通航机场跑道道面承载能力分析
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于FPGA的同步机轴角编码器
湿滑跑道飞机着陆轮胎-水膜-道面相互作用
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计