FUTR3D: A Unified Sensor Fusion Framework for 3D Detection 论文笔记

发布于:2023-01-17 ⋅ 阅读:(586) ⋅ 点赞:(0)

原文链接:https://arxiv.org/pdf/2203.10642.pdf

1.引言

        不同的车辆有不同的传感器种类、型号和安装方式,分别定制融合算法需要大量工作。

        本文设计了一个统一的传感器融合模型FUTR3D。首先分别提取各模态特征,然后使用基于查询的模态无关特征采样器(MAFS)从统一域中采样不同模态的特征。然后使用transformer解码器处理3D查询,进行3D目标的集合预测。

3.方法

        如下图所式,FUTR3D可分为4部分,即模态编码器(各模态分别处理)、基于查询的模态无关特征采样器(根据查询的初始位置采样和聚合多模态特征)、共享的transformer解码器(基于融合特征,用迭代细化模块细化边界框)、损失函数计算(基于预测和真实边界框之间的集合到集合的匹配)。

        注意单一模态方法如DETR3D或Object DGCNN可以视作属于FUTR3D的特例(即FUTR3D也可进行单一模态3D检测)。

3.1 特定模态的特征编码

        可以使用任何编码器。

        对于激光雷达点云,本文使用VoxelNet或PointPillars编码,经过3D主干和FPN后得到BEV下的多尺度激光雷达特征图\{F_{\textup{lid}}^j\in\mathbb{R}^{C\times H_j\times W_j}\}_{j=1}^M

        对于雷达点云,本文使用共享的MLP\Phi_{\textup{rad}}处理每个点r_j,得到逐点特征F_{\textup{rad}}^j=\Phi_{\textup{rad}}(r_j)\in\mathbb{R}^{C}

        对于O个环视图像,本文使用ResNet和FPN得到多尺度特征F_{\textup{cam}}^o=\{F_{\textup{cam}}^o^j\in\mathbb{R}^{C\times H_j\times W_j}\}_{j=1}^M

3.2 模态无关特征采样器

        输入是一组物体查询Q=\{q_i\in \mathbb{R}^C\}_{i=1}^{N_q},以及多模态特征。MAFS通过采样和融合特征来更新查询。

        初始3D参考点:首先通过对查询进行线性变换和sigmoid归一化来解码3D参考点:

c_i=\Phi_{\textup{ref}}(q_i)

其中c_i\in[0,1]^3是3D空间中的坐标。然后此参考点作为锚,聚合多模态多尺度特征。注意初始的3D参考点不依赖于任何模态的特征。

        激光雷达特征采样:设P(c_i)是参考点在BEV下的投影,则第i个参考点的采样特征为相应位置多尺度特征的加权求和:

SF^i_{\textup{lid}}=\sum_{j=1}^MF_{\textup{lid}}^j(P(c_i))\cdot \sigma_{\textup{lid}}^{ij}

其中F_{\textup{lid}}^j(P(c_i))用到了双线性插值,\{\sigma_{\textup{lid}}^{ij}\}_{j=1}^M=\phi_{\textup{lid}}(q_i)是查询通过线性变换和sigmoid归一化得到的权重系数。

        雷达特征采样:选择每个物体查询参考点的K近邻雷达点,进行特征的加权求和:

SF^i_{\textup{rad}}=\sum_{j=1}^KF_{\textup{rad}}^j\cdot \sigma_{\textup{rad}}^{ij}

其中权重系数\{\sigma_{\textup{rad}}^{ij}\}_{j=1}^K=\phi_{\textup{rad}}(q_i)的生成和前面类似。

        图像特征采样:设T_o(c_i)是参考点在第o个相机图像上投影(使用相机内外参),则采样特征为各图像各尺度相应位置特征的加权和:

SF^i_{\textup{cam}}=\sum_{o=1}^O\sum_{j=1}^MF_{\textup{cam}}^{oj}(T_o(c_i))\cdot \sigma_{\textup{cam}}^{ijo}

其中F_{\textup{cam}}^{oj}(T_o(c_i))用到了双线性插值,权重系数\sigma_{\textup{cam}}^{ijo}类似前面的方法生成。若参考点的投影在某图像外,则相应的采样值为0。

        模态无关特征融合:首先将各采样特征拼接,并使用MLP\Phi_{\textup{fus}}编码:

SF_{\textup{fus}}^i=\Phi_{\textup{fus}}(SF^i_{\textup{lid}}\oplus SF_{\textup{cam}}^i\oplus SF^i_{\textup{rad}})

        查询的更新量为该融合特征加上位置编码,即

\Delta q_i=SF_{\textup{fus}}^i+\textup{PE}(c_i)

然后按q_i=q_i+\Delta q_i更新查询。

        最后,使用自注意力模块在各查询间进行交互,再加上残差连接,即

Q=Q+\textup{SelfAttn}(Q)

3.3 迭代细化3D边界框

        设第l层transformer解码块输出的查询为Q^l=\{q_i^l\in \mathbb{R}^C\}_{i=1}^{N_q}。对每个查询,使用共享的MLP预测边界框参数(中心坐标偏移\Delta x_i^l\in \mathbb{R}^3、长宽高、朝向的正余弦以及速度和类别)。使用该层预测边界框中心作为下一层的3D参考点,即c_i^{l+1}=c_i^l+\Delta x_i^{l}

3.4 损失

        使用集合到集合的损失,即先进行预测和真实边界框的双向匹配,并对每组匹配计算分类和回归损失,然后使用匈牙利算法求解最优匹配。

4.实验

4.1 实施细节

        使用nuScenes数据集。低分辨率激光雷达数据是由原始的高分辨率激光雷达数据生成的,即先将点云转换为球坐标,仅取相应俯仰角区间内的点。

        训练时先预训练编码器,再进行联合训练微调。

4.2 多模态检测

        激光雷达与相机融合:FUTR3D可以使用更低成本的传感器配置,实现高成本传感器的性能。例如,相机和4线激光雷达融合的FUTR3D方法 就能达到与 32线激光雷达检测的CenterPoint 相当的性能;相机和1线激光雷达融合时,FUTR3D比PointPainting的性能高很多。

        雷达与相机融合:FUTR3D能达到比CenterFusion略高的性能;相比于仅用相机的方法,雷达与相机融合能有更高的速度估计精度。

4.3 相机与激光雷达的特点

        物体类别:仅基于相机的方法总体性能低于仅基于4线激光雷达的方法,但在自行车、交通锥和障碍物的检测上有较高的精度,说明激光雷达不适于检测小物体。此外结合相机与4线激光雷达后,这些小物体的检测性能有极大提升。

        物体距离:激光雷达对远距离物体的检测性能要好于相机,但两者结合能将性能提升到新的层次,特别是对于远距离物体的检测。

        物体大小:相机和激光雷达融合方法相比激光雷达检测方法,对小型物体的检测比对大型物体更有利,因为相机能提供更高的分辨率。但相比相机检测方法,不同大小物体的性能提升相近,这说明深度信息对不同大小物体的重要程度相同。

4.4 消融研究

        物体查询:物体查询数量对检测结果的影响很小。

        主干选择:更深的图像主干和更高分辨率的体素网格对检测有利。

4.6 复杂度分析

        FUTR3D的MAFS和解码器是轻量而高效的,模型复杂度主要取决于主干。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到