简介:最近,自动驾驶雷达感知的方法使用感受野有限的FPN编码物体特征,而DETR系列方法虽然不依赖高频信息(如纹理),且动态注意力权重能过滤噪声等动态分量,但仍难以应用于稀疏的雷达输入。本文引入Transformer从雷达中提取全局上下文信息,并编码在物体中心点处,以为每个物体提供个性化的全局上下文感知,从而提取更丰富的特征表达。本文方法在nuScenes数据集上的性能能大幅超过过去的雷达方法。
1. 方法概述
本文方法基于FCOS,以预处理的雷达反射为输入,依次通过(i)网格处理主干、(ii)共享的特征提取器和(iii)中心点目标检测头。将特征提取器的FPN颈部替换为Transformer编码器,并在其后加入解码器,使用物体查询分别为各物体提供来自编码器的全局上下文。
1.1 雷达信号预处理
使用标准的雷达信号处理链。首先使用2D快速傅里叶变换(FFT)处理雷达信号,得到距离-多普勒谱,并是CFAR算法提取雷达目标,并对每个点估计到达方向(角)。随后,按照PointPillars的方法,将处理的雷达点云投影到2D BEV网格上。
注:图中显示所得到的BEV图是RAD热图,但理论上得到的只是点云投影的结果(特征图),RAD热图并不能由此得到。
1.2 主干和任务头
使用CNN处理输入后,进行时间融合,以积累历史信息并减小噪声(nuScenes数据集频率较低,并未进行)。检测头使用带NMS的FCOS网络,使用中心性分数热图回归进行关键点估计,并选择前 K K K个中心候选对象,进行边界框回归。
1.3 特征提取器
使用基于可变形注意力的Transformer编码器,因其有线性复杂度,且有可变形的全局感受野。由于雷达无纹理和锐度等信息,使用单阶段patching,将其中的标准卷积替换为动态卷积(3个并行核),并在生成patch时使用可学习位置编码。
1.4 自适应的需要
Transformer编码器 + 中心点目标处理器 的结构缺少全局总结的能力(类似[CLS] token的作用),因此有必要加入解码器。
DETR的解码器使用物体查询与编码器输出的交叉注意力,并用匹配损失指导学习。但雷达数据中的物体信息不足,会导致匹配失效。本文未加强匹配准则,而是组合了Transformer和基于中心的网络,以避免复杂的匹配计算。
2. 中心点解码器
如图所示,本文的解码器包含二元交叉注意力(Bi-Attn.)和上下文注入模块。解码块
N
N
N的输入包含编码器的输出、
M
M
M个可学习的物体查询和解码块
N
−
1
N-1
N−1的输出(对于解码层1而言,该输入被定义为编码器输出)。该解码器的作用是编码全局上下文信息到物体中心,从而可以使用中心点目标处理器解码。此外,物体的所有点均可获取全局上下文,以增强并使得如速度预测等任务可行。传统方法使用ROI池化实现这类任务,而本文使用物体查询绕过ROI的提取。
下图所示为
M
=
2
,
N
=
1
M=2,N=1
M=2,N=1时的情况。物体查询被用于学习不同的物体级表达(类似于模板)。二元交叉注意力通过广播查询,使得查询可检查整个编码输入(键),并通过点乘计算相似度从而确定物体。为放松匹配要求,在温度
T
T
T下对softmax进行退火,以提高输入中匹配位置的分布熵。通过(分布均值或中值)阈值化,将分布变为二元分布,并为每个查询建立掩膜(注意力图),以强调物体的关联位置(类似ROI)。注意此处并未将注意力图与“值”相乘,而是离散化为二值掩膜。
随后,将广播后的查询与对应的二值掩膜相乘,得到“平均查询”。平均查询与上一解码块的输出相加,得到全局上下文。基于中心的目标检测头通过热图回归确定物体中心并回归属性后,梯度即可回传到相应的查询用于学习。这样可无需查询和物体的二部匹配。此外,所有匹配位置均可获得全局上下文,这丰富了特征表达,从而可用于更多任务。
但由于不是所有查询均能捕捉到相关物体或完整物体,本文引入“平均掩膜”,组合所有查询对应的二值掩膜。将平均掩膜与上下文聚合后的特征相乘后,可过滤与查询无关的信息,得到“中间输出”。中间输出会输入到可变形卷积层中回归可变形偏移量,并根据其定义卷积位置,进行卷积。回归的中心点偏移量与物体的边界框相关联,包含了物体的边界属性。通过卷积将边界属性编码到关联位置处的特征中,可为每个物体提供唯一的全局上下文感知。
上图为完整解码层的结构,通过使用多个解码块保证所有物体均能被捕捉。解码层的输出被插值和聚合,得到最终的通用特征表达。这样,可以保证梯度可直接流到每个解码块和查询中,且层间的连接可促进查询间交互。第一解码块的查询被设置为0,以输出恒等掩膜。
可以看出,每个解码块的输入查询是独立的可学习参数,这与DETR中逐层更新的物体查询不同。
本文方法基于中心点目标处理,对于语义分割任务来说可能不容易定义背景类别的中心点。但本文的中心点Transformer同时输出编码了全局上下文的特征图,可支持其它任务与检测任务并行(DETR则不行)。