本发明属于自动驾驶和深度学习领域,具体涉及多帧点云作为输入的3d目标检测,尤其涉及一种基于实例对齐顺序融合的3d目标检测方法。
背景技术:
1、三维物体检测技术能够在三维空间中检测和识别物体,获取物体的位置、大小和形状等信息,这对在自动驾驶来说是非常重要的。自动驾驶可以通过该技术实时感知周围环境,确保驾驶安全平稳。
2、作为三维物体检测中的主要传感器之一,激光雷达通过激光扫描获得场景的三维点云。然而,经过激光雷达一次扫描获得的单帧点云数据,是相对稀疏的,难以细致表达场景全部信息。同时,激光雷达无法360度照射,存在遮蔽区域,无法获得完整点云信息,这会给检测任务带来挑战。考虑到激光雷达采样的连续性和相邻帧间点云的相关性,融合多帧点云数据以提高物体检测精度,成为新的研究方向。其中如何利用多帧点云的时序信息,来补全物体视角和表示更密集的场景,才是研究的关键。
3、早期的研究方法直接将多帧点云堆叠作为输入,经单帧检测模型输出。这种方法虽然增加了目标点云的密度,使检测效果有一定的提升,但由于部分目标是运动的,当输入帧数增多时会导致帧间点云分布错位问题,使最终检测效果下降。之后研究根据帧融合层面的不同,可以分为两类:
4、(1)基于bev(鸟瞰视角)特征的融合方法
5、所谓的bev特征指的是将提取到的点云3d特征投影为2d特征,即将通道维度和高度维度合并为同一维度。这类方法在提取多帧bev特征后,利用不同的时间融合模块,在全局bev特征上实现多帧间逐像素级的对齐与聚合。他们虽考虑了全局上下文,但由于多帧间全局交互,会大大增加计算成本。同时,因为实际点云帧中大部分都为背景,有效的目标信息只占少数,不同帧间背景的对齐是没有意义的。例如,tctr探索了连续帧之间的信道时序相关性,并使用transformer解码了空间信息。
6、(2)基于3d proposal的融合方法
7、这类方法遵循“先检测后融合”的思想,主要是同时预测多帧点云的3dproposal并编码相应特征,然后利用交叉注意力等模块实现帧间3d proposal特征的对齐与聚合。这种方法虽然利用了目标的稀疏特性,但会依赖于逐帧预测的候选框质量。同时,由于当前帧的预测依赖于先前帧的结果,若在加载当前帧时前一帧结果还未处理完,可能会导致显著的延迟。例如,3d-man提出在池化roi特征上应用注意机制以进行多帧对齐和聚合。
技术实现思路
1、目前基于3d proposal的融合方法,在构建目标序列特征时,大多采用预测多帧候选框并进行目标关联的方法。这种方法会导致最终检测效果受限于每帧检测结果质量。针对该问题,本文提出一种新的时域目标特征构建方式。该方法首先借鉴通道注意力的思想,将不同帧按时间维度加权融,实现特征层面的初步对齐。然后基于融合特征生成当前帧候选框,并将其“传递”到先前帧上,在先前帧上采用运动交叉注意力机制编码局部相关信息,构成候选框序列特征。最后,利用时间聚合模块,实现整个序列间的特征交互,保留更相关的信息,来优化最终的目标特征。
2、图1给出基于实例对象顺序融合的3d目标检测方法的框架,本发明所提出方法的具体步骤如下:
3、s1点云初始化
4、本发明在nuscenes数据集上进行实验。nuscenes数据集是一个具有挑战性的大规模自动驾驶数据集,包含1000个场景,每个场景的持续时间约为20秒。该数据集提供32通道激光雷达扫描样本,在20hz下获得完整的360度视图。
5、对于输入的多帧点云,由于每帧点云数据是在车体运动下采集到的,其坐标系并不是一致的,所以为了保证点云数据的一致性,需要先进行坐标系转换,即将先前帧的坐标系转换到当前帧的坐标系下。在介绍方法前,需要明确坐标系的相关概念。我们所用数据集存在四个坐标系:全局坐标系、车身坐标系、相机坐标系和激光坐标系。后面三个都是相对坐标系,目标的位置随本车的运动而变化;而全局坐标系是绝对坐标系,是目标在地图中的绝对坐标,不随本车的运动而变化。具体方法:根据激光雷达外参,我们先将先前帧激光坐标系转换到先前帧的车身坐标系,然后使用先前帧的位姿补偿转换到全局坐标系,再之后使用当前帧的位姿补偿转换到当前帧的车身坐标系,最后再利用激光雷达外参,将当前帧的车身坐标系转换到当前帧的激光坐标系。公式如下:
6、
7、其中,lt代表第t帧的激光坐标系,et代表第t帧的车身坐标系,g代表全局坐标系。代表第t-1帧激光坐标系到车身坐标系的激光雷达外参矩阵;代表第t-1帧车身坐标系到全局坐标系的位姿补偿;代表全局坐标系到第t帧车身坐标系的位姿补偿;代表第t帧车身坐标系到激光坐标系的激光雷达外参矩阵。
8、s2模型构建
9、1、bev特征提取器
10、这一步可以分为三个部分:体素化、3d稀疏backbone、bev特征金字塔。
11、(1)体素化:将多帧点云沿着x、y、z轴按照设定好的分辨率划分网格,并取每个网格中所有点的坐标平均值作为该三维几何点的特征。其中x、y轴的范围是[54m,-54m],z轴的范围是[5m,-3m]。
12、(2)3d稀疏backbone:为了获取点云的几何结构信息,我们采用3d稀疏卷积块来提取点云特征。整个backbone主要包括六层网络,第一层网络为一个子流形3d稀疏卷积层submconv3d;第二层网络为两个串联的sparsebasicblock;第三层到第五层网络结构相似,均由一个3d稀疏卷积sparseconv3d和两个sparsebasicblock组成;而最后一层由一个空间3d稀疏卷积sparseconv3d构成。每帧点云都需要提取空间特征,不同帧的提取网络共享参数。
13、(3)bev特征金字塔:我们将点云特征进行降维处理,即沿高度维度进行堆叠。此时,3d特征图转变为2d特征图,我们将其称之为bev特征。为了获取不同粒度的特征信息,我们对bev特征进一步下采样,得到多尺度特征图。由于低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略,因此我们对高层特征进行多次上采样并融合相同尺度特征,得到单帧bev特征。
14、2、可学习的目标对齐
15、在得到多帧点云的bev特征后,我们需要提取同一目标的序列特征,以便后续融合操作。同时为了解决“先检测后融合”方法中存在的误差积累和检测延迟问题,我们在只预测当前帧的候选框基础上,根据目标速度估算出支撑帧上候选框位置。然后利用动态“对齐”的方法,在先前帧相似位置编码深层语义信息以生成对应帧候选框特征。主要包括以下两部分:
16、(1)时序融合中心头
17、由于我们采用“传递”候选框的方式生成目标序列特征,被传递的候选框质量对后续检测效果来说至关重要。因此,我们将多帧点云的bev特征图进行时序融合,作为中心头的输入,以提高候选框质量。当然,对于融合方式我们也进行的改进,避免直接堆叠可能会造成的特征错位的影响,我们借鉴cbam的设计思路,基于整个序列bev特征计算像素级注意力。
18、如图2所示,输入bev特征首先多帧特征沿通道维度串联,然后通过卷积层进行特征交互,得到融合特征fs。然后提取平均池化和最大池化信息,并通过卷积和sigmoid函数得到像素级注意力fs′,最后将序列特征与注意力加权融合送入检测头,生成候选框pt。计算如下:
19、
20、其中,conv指的是卷积操作,指的是n帧bev特征,sigmoid指的是激活函数,可以将实数映射到区间(0,1),head指的是分类头和检测头,用于输出预测结果,指的是逐元素相乘。
21、为了后续便于对齐操作,我们将预测的候选框映射到bev特征图上,并在bev视角下目标框中心点和四边中点处。利用双线性差值提取对应点特征,作为当前帧的候选框特征pt={pt(p)|1≤p≤i},这里特征点个数为i=5。
22、(2)跨帧交叉注意力
23、通过时序融合中心头,我们得到当前帧的候选框特征。接下来的难点便是如何提取先前帧的候选框特征。因为不同帧间目标运动变化不大,我们可以根据中心头预测的目标速度,估算出上一帧目标大概位置,提取相应特征。由于估计的位置与真实位置会存在一定偏差,我们在采样对应点特征时,利用局部交叉注意力机制,融合目标点周围固定窗口大小的特征,来实现同一目标的动态对齐。
24、如图3所示。输入当前帧候选框特征和先前帧bev特征。交叉注意力的查询为当前帧候选框特征pt(p),键和值从先前帧bev中采样。首先利用预测的速度估算目标框点p的2d偏移然后根据偏移量将目标框特征点传递到先前帧上,并将特征点周围3*3大小的窗口中的特征作为键和值张量并与查询张量相乘获得对应权重,最后根据再将权重和值张量相乘,得到融合后的候选框特征pt-k(p):
25、
26、其中pt(p)指的是当前帧t目标框上p点特征,指的是t-k帧bev特征图目标框周围采样的第j个键和值,ω指的是目标框特征点周围窗口,wh,wh′,wh″指的是线性投影矩阵,h代表多头的序号,σ()指的是softmax激活函数,是缩放因子,d是特征维度。
27、3、时序聚合
28、跨帧的交叉注意力实现了当前帧与先前帧的信息交互,并构建了目标序列特征。但先前帧内部特征信息并未交互,其中的有用信息被忽视。因此,我们设计了时间聚合模块,通过提取整个序列上目标的深层信息,将其与各帧目标特征交互,实现时序信息的充分利用。
29、如图4,将目标序列特征串联,并通过卷积层和sigmoid函数得到序列特征t,为了实现时序特征时间的充分交互,将序列特征t与各帧候选框特征相乘,然后通过卷积层进一步提取深层语义,最后将交互后的各帧候选框特征按时间维度连接构成最终特征x。流程公式如下:
30、
31、
32、最终融合特征将送入检测头,回归输出的是目标框偏移量,来修正先前时序融合中心头预测的目标框结果;分类输出的是置信度分数,用于对先前中心头输出的目标框重新评分。
33、s3训练与评估
34、整个模型分为两阶段,一阶段是时序融合中心头,二阶段是可学习目标对齐和时序聚合。因此,损失函数也分为两部分:
35、
36、一阶段损失函数包括热图分类损失lcls,框回归损失lreg,角点损失lcor:
37、l=α1lcls+α2lreg+α3lcor(1.7)
38、其中,α1,α2,α3为损失系数,对于热图分类和框回归,我们分别采用focal损失和l1损失进行计算,而角点预测则采用mse损失进行监督。
39、二阶段损失函数包括分类损失lcls,框回归损失lreg:
40、l2=β1lcls+β2lreg(1.8)
41、其中置信度分数和框回归,我们分别采用双线性交叉熵损失和l1损失进行计算。
42、我们根据平均平均精度(map)和nuscenes检测评分(nds)来评估我们的方法,这是nuscenes的官方3d物体检测基准指标。map是用地面真实数据与预测数据在鸟瞰图上的二维中心距离来计算的。nds是map和几个真正度量的加权和,即平均平移、比例、方向、速度和属性误差。
43、与现有技术相比,本发明具有以下优点:
44、(1)时序融合中心头能够在时间维度学习各帧重要性,缓解空间位置错位问题,从而预测出高质量的目标中心。
45、(2)可学习的目标对齐模块利用运动一致性规律,将当前帧候选框“传递”到先前帧,从bev特征图上融合深层空间相关信息,以构建目标序列特征。
46、(3)时序聚合单元能够有效的编码和传播全局序列信息,实现跨帧候选框特征交互,以便优化各帧目标表示。
1.一种基于实例对齐顺序融合的3d目标检测方法,其特征在于:构建和训练融合网络模型,包括以下步骤:
2.根据权利要求1所述的一种基于实例对齐顺序融合的3d目标检测方法,其特征在于:s1点云初始化中,我们利用nuscenes数据集的参数矩阵,将先前帧的点云转换到当前帧的坐标系下,避免了不同帧间位置错位的问题;具体转换公式如下:
3.根据权利要求2所述的一种基于实例对齐顺序融合的3d目标检测方法,其特征在于:s2模型构建时,bev特征提取器包括三个步骤:体素化、3d稀疏backbone、bev特征金字塔;
4.根据权利要求2所述的一种基于实例对齐顺序融合的3d目标检测方法,其特征在于:s2模型构建时,可学习的目标对齐模块loa包括两部分:时序融合中心头、跨帧交叉注意力;
5.根据权利要求2所述的一种基于实例对齐顺序融合的3d目标检测方法,其特征在于,s2模型构建时,时序聚合通过提取整个序列上目标的深层信息,将其与各帧目标特征交互,实现时序信息的充分利用;最终融合特征经全连接网络输出置信度分数和目标框回归结果,其中置信度分数是用于对先前中心头输出的目标框重新评分,目标框回归结果是修正中心头的目标框位置。
6.根据权利要求3所述的一种基于实例对齐顺序融合的3d目标检测方法,其特征在于,训练时,首先要定义损失函数,整个模型分为两阶段,一阶段是时序融合中心头,二阶段是可学习目标对齐和时序聚合;损失函数分为两部分: