APP下载

基于注意力和可变形卷积的三维目标检测*

2022-01-25朱明亮

通信技术 2021年12期
关键词:编码注意力卷积

朱明亮,朱 艳,谢 江

(昆明理工大学信息工程与自动化学院,云南 昆明 650500)

0 引言

自动驾驶[1-2]汽车的相关技术一直是学者们研究的重点,这对整个驾驶行业的安全及社会的发展有着重要作用,而感知模块在自动驾驶中不可或缺。利用深度学习完成感知任务成为自动驾驶领域中的热门研究方向。感知任务主要是使车辆获取准确的周边信息,进行分析判断并采取相应动作,完成对路况的准确分析,从而达到安全形势规范的要求。近年来也涌现出许多基于纯点云数据的目标检测的方法,且相比较于与图像融合的方法,检测精度上有着更好的表现。

Li 等人[3]设计了一种三维全卷积网络,该方法将点云数据转换为二维图,将二维全卷积网络移植到三维目标检测任务中。之后他们[4]又将点云离散为长度、宽度、高度和通道尺寸的四维张量,构建三维全卷积网络进行检测。这种方法相较于基于二维全卷积的方法,精度得到了提高,但由于点云四维张量的稀疏问题,使得计算资源上有了更多的消耗。针对点云稀疏导致的计算负担增加问题,Engelcke 等人[5]基于卷积神经网络,构建了一种有效的卷积层,利用一种中心点对称的投票机制去处理输入点云的稀疏问题,并且使用修正线性单元和L1 正则化处理卷积神经网络,促使中间特征数据稀疏化。Li 等人[6]提出一种稀疏三维卷积网络,充分利用点云的稀疏性,加速计算,节省了内存。Zhou等人[7]提出一种基于体素表征方式的端到端的网络模型,先将点云在空间上划分为体素,通过体素编码层将点云编码为四维张量;再通过体素特征提取层对划分好的体素做特征提取;最终送入区域提议网络中进行目标分类和回归。虽然这种方法在精度方面有了很大的提升,但由于点云的稀疏和三维卷积计算复杂,导致运行速度缓慢。针对这种问题,Yan 等人[8]提出了一种利用稀疏卷积神经网络来提高该种体素方法的效率。Lang 等人[9]受Voxelnet的启发,设计了一种点柱特征编码网络框架。该框架忽略点云在空间Z轴方向上的信息,将点云在空间上划分为点柱,通过点柱编码网络将点云编码为点柱特征,再通过点柱特征提取层提取每个点柱中点云坐标信息、点柱偏移信息以及点柱中心坐标信息,最终将提取的特征编码为伪图像,并利用二维卷积进行三维包围框的预测。这种方法大大简化了网络的复杂度,从而显著地缩短了推理时间。Meyer 等人[10]提出了一种将点云深度信息、密度信息以及高度信息作为输入数据进行预测的网络模型,该方法预测了三维包围框上点的概率分布,并根据其生成最后的包围框。Meyer 等人在LaserNet的基础上进行了改进,提出一种LaserNet++[11]的网络框架,该方法充分利用对应相机图像的纹理信息,通过映射的方式将点云和RGB 图像进行联系,从而进行检测。

以上对只使用点云作数据输入的方法都取得了较好的结果,但点云空间中仍存在着密度分布不均的问题。近密远疏的特性使得远处物体点云密度小,目标的几何结构不完整,不能有效地提取待检测物体的重要特征信息,造成网络对物体的检测精度不高甚至出现漏检的问题。

针对上述问题,本文提出一种融合可变形卷积和通道注意力机制的目标检测框架。该框架在为网络扩大感受野的同时增强了目标物体的重要特征信息的提取能力并使网络适应目标几何形变,从而输出更为有效的感受野。

1 研究方法

1.1 整体检测框架

本文提出的融合通道注意力[12]和可变形卷积[13]的检测网络框架首先进行点柱特征编码并生成伪图像。伪图像的尺寸格式满足一般图像的表征形式,将伪图像特征图送入二维卷积神经网络中,对输入分别在在不同尺度上进行特征提取,以获得深层网络层中的语义特征和浅层网络中的细节信息。在输出不同尺度特征图后,先对其进行可变形卷积操作改变感受野来适应不断变化的目标的特征信息,如空间中存在的行人和骑行者;再对改变感受野后的特征图使用通道注意力增强对关键特征信息的提取能力;完成通道注意力操作后,将各个尺度的特征图进行反卷积操作输出相同大小的特征图,做Concat 拼接操作;最终将输出特征图送入检测头中完成分类和回归任务。输出的特征图中包含了丰富的语义信息和细节信息,且有效提取了目标物体的关键信息。整体网络结构如图1 所示。

图1 整体网络结构

1.2 点柱特征编码

将点云数据记作L,本网络层首先在原始点云空间上对点云数据进行编码。将点云数据在xOy平面上划分为一个个均匀的网格,构建点柱集合Pillar。区别于VoxelNet 中的体素特征编码层,本方法忽略Z轴方向上的信息,将每个点柱网格中的点信息增强为(xc,yc,zc,xp,yp),其中c代表着点离整个点云中心的距离,p代表着点相对于点柱中心(x,y)的偏移量。此时雷达点云信息特征被增强到了九维。由于点云数据的稀疏性,通过对每个样本的非空点柱数量P和每个点柱中的点云数量N限制来使用这种稀疏性D,以此产生尺度为(D,P,N)的张量,再使用与PointNet[14]类似的网络,学习到C个通道,使得点云特征维度变为(C,P,N),再对C通道做最大池化操作,得到了(C,P)的张量,最终将特征按照原始点柱位置堆叠成大小为(C,H,W)伪图像,此时生成的伪图像形式与二维图像形式相同,可送入二维卷积神经网络中提取特征。点柱编码流程如图2 所示。

图2 点柱特征编码

1.3 融合可变形卷积注意力模块构建

在对点云空间完成点柱编码后,整个空间被编码为类似于二维图像的形式。此时,针对激光雷达扫描形成的点云分布近密远疏而造成的行人和骑自行车者的特征表达不足的问题,提出了一种结合通道注意力机制和可变形卷积的模块。该模块通过注意力机制增强伪图像中的关键特征,并抑制无关特征信息,同时通过可变形卷积来扩大感受野,以适应在不同帧中行人和骑行者形状姿态不一的情况。融合可变形卷积注意力模块如图3 所示。

图3 通道可变形卷积模块

该模块将通道注意力与可变形卷积结合,对于输入的特征图,先通过可变形卷积中的偏移矩阵改变卷积层的采样位置,使网络能够适应待检测物体几何形状变化引起的特征信息位置变化。对输入特征图进行可变形卷积后,通过通道注意力机制增强网络对待检测物体重要特征的提取能力。

1.3.1 通道注意力机制

压缩激励网络(Squeeze-and-Excitation Networks,SeNet)是Hu 等人在2017 年提出的一种基于特征通道的注意力模块[12]。该模块通过对各个特征通道建模,区分出不同特征通道的重要性,关注重要特征,抑制不重要的特征,达到增强模型检测特征表达的效果。通道注意力模块如图4 所示。

图4 通道注意力模块

当图像经过卷积层提取特征后,得到了维度为H×W×C的特征图U,再将对特征图进行处理变换后,对新特征图U分别进行两步操作,先是对新特征图U进行全局平均池化实现对高度和宽度的压缩操作,将H×W×C的特征图压缩为大小为1×1×C的向量,保留通道信息,此时将其记为z,对统计量z的第c个元素的计算公式为:

式中:Fsq为压缩操作;uc为经过特征提取后的特征向量;i,j为对应特征图上的第c个元素的位置。

对输入的特征图进行全局平均池化,最后得到输出的特征zc,以学习到每个通道的特征权重。

得到的输出特征zc依次经过全连接层、ReLU层以及全连接层和Sigmoid 层后,完成激励,实现全面对通道之间的依赖性捕捉,计算公式为:

式中:W1、W2为两个需要学习的权重矩阵;σ(·)为sigmoid 激活函数;δ(·)为ReLU 激活函数;s为经过激励操作后得到的特征矩阵。

最后将得到的特征矩阵与特征矩阵u进行加权操作,加权计算公式为:

式中:为特征矩阵uc与sc经过点积加权操作得到的最终的特征矩阵。

1.3.2 可变形卷积

可变形卷积是Dai 等人在2017 年提出的一种新型卷积方式[13],可变形卷积是在普通卷积的基础上,给每一个卷积核的参数上添加一个方向偏移量,从而使得卷积核在进行卷积操作的感受野可以不受固定形状的限制,来增强卷积神经网络对不规则目标的建模能力。

本文实验使用3×3 卷积核,将卷积核采样区域定义为R,此时,R的区域可以看作:

普通卷积操作的输出特征图计算公式为:

式中:p0为普通卷积核的中心点;pn为普通卷积核的采样点;x(·)为输入的特征图;y(·)为输出特征图。在可变形卷积中,输出特征图的计算公式为:

式(6)中的变量含义与普通卷积操作一样,而可变形卷积在普通卷积的基础上引入了采样点的位置偏移量,使得输出的特征图能够更好地表达出不规则目标的特征。偏移量Δpn将上述区域R上的点根据目标的特征分布做了位移,因此对其进行双线性插值,则可变形卷积的卷积公式转换为:

式中:q为采样点的偏移后的位置;p为整数网格点;G(q,p)为双线性插值操作得到的整数形式的采样点位置。双线性插值公式为:

可变形卷积结构图如图5 所示。

图5 可变形卷积

1.3.3 损失函数

本文实验中的三维包围框由(x,y,z,w,l,h,θ)确定,相比于二维包围框,多了z轴方向的参数,以及水平朝向角的参数。在本文实验中,回归损失函数定义为:

为应对训练过程中样本不平衡的问题,分类损失函数使用焦点损失函数Focal Loss 函数[15],则分类损失函数定义为:

式中:pα为是包围框的概率;参数α设置为0.25;参数γ设置为2。

则总损失函数计算公式为:

式中:Npos为预测正确的包围框的数目。本文实验中,将βloc设置为2,βcls设置为1,βdir设置为0.2。

2 实验与分析

2.1 实验设置与数据

本文实验在Ubuntu16.04 系统下进行,使用Nvidia RTX2060 显卡,图形处理器(Graphics Processing Unit,GPU)内存为16 GB,深度学习框架采用Pytorch。在训练阶段,批量大小设置为2,权值衰减设置为0.000 1,学习率设置为0.000 2,迭代次数为160 epoch。

本文使用公共数据集KITTI 数据集[16]进行检测,检测对象有车辆、行人及骑行者。训练过程中训练集被分为3 712 个训练样本以及3 769 个验证样本。

2.2 实验结果及分析

2.2.1 横向对比

本文实验分析包括二维模式、三维模式以及鸟瞰图模式下的检测结果,KITTI 数据集又分为简单、中等、困难3 种场景。依据KITTI 官网,按中等难度进行检测结果的排名。表1 展示了不同算法在3种模式下的检测结果。

表1 横向对比实验结果 %

实验结果表明,本文算法相比较于其他通过体素或点柱划分的算法,在3 种模式下对于车辆及骑行者的检测精度都有很大提升。

2.2.2 消融实验

为验证本文方法中可变形卷积及通道注意力机制对于模型检测性能的影响,本文进行了消融实验,其中SA 代表通道注意力机制,DCN 代表可变形卷积模块,Baseline 表示基线模型,检测结果如表2所示。

表2 消融实验结果 %

实验结果表明:在基线模型中引入可变形卷积和通道注意力机制能够有效提高汽车和骑行者的检测精度;在基线模型上加入注意力机制,能有效增强目标的重要特征信息;加入可变形卷积,模型能够使感受野适应多变的物体几何形变特征。

本文定性分析了检测结果,检测效果如图6 所示。从图中可以看出,基线模型在检测过程中,远处的骑行者未能识别,出现了漏检的情况,而本文算法检测到远处的骑行者。可视化检测结果证明本文实验能够在一定程度上解决漏检的问题,证明了本实验方法的有效性。

图6 检测效果对比

3 结语

针对自动驾驶场景中存在的问题,如雷达线数、天气等原因都会造成物体空间点稀疏的情况,本文采用了通道注意力来提取待检测物体的关键信息,以实现对目标物体检测精度的提升。对于自动驾驶场景中,行人、骑行者、车辆在空间中存在几何形状变化的情况,在基线模型中引入可变形卷积模块,使网络具备适应这种变化的能力。实验证明,本文改进的算法在KITTI 数据集上达到了较好的检测效果,有效提升了模型的检测精度,解决了基线模型中存在的漏检问题。此外,对比其他基于体素方法的检测算法,也能够达到较好的检测效果。然而,本文方法对于行人的检测效果不理想,这是因为在驾驶场景中,杆状物如消防栓路灯等物体几何形状与行人相似,从而影响了本文算法对于行人特征的有效提取。

猜你喜欢

编码注意力卷积
让注意力“飞”回来
生活中的编码
基于3D-Winograd的快速卷积算法设计及FPGA实现
《全元诗》未编码疑难字考辨十五则
如何培养一年级学生的注意力
子带编码在图像压缩编码中的应用
卷积神经网络的分析与设计
从滤波器理解卷积
Genome and healthcare
基于傅里叶域卷积表示的目标跟踪算法