Advertisement

Sparse4D: Multi-view 3D Object Detection with Sparse Spatial-Temporal Fusion

阅读量:

一、研究背景

本研究概述了Sparse4D技术的基本框架。具体而言,在每个候选锚点实例上进行多时间戳、多视图以及不同尺度下的特征提取,并采用稀疏采样方法选择最具代表性的特征。随后,在这一系列具有代表性的样本基础上展开分析与建模工作,并基于此生成一系列具有高精度定位能力的关键样本库。最后通过模块化整合与优化处理实现对目标物体关键部位的高度定位与精细识别。

目前针对多模态融合方法的研究已经取得了显著进展。其中主要研究方向包括基于BEV的技术以及基于稀疏查询的方案。

然而,基于BEV的方法有3个不可避免的缺点:

(1)从图像到BEV视角转换通常涉及密集的空间采样和重新排列操作。该过程的操作流程较为繁琐,并且计算开销较大。受限于预算条件下的边缘设备部署可能会面临这一挑战。

(2)最大感知范围受限于BEV特征图的尺寸:这种限制导致在感知能力、运算效率与检测精度之间难以找到最佳平衡点。因此,在某些应用场景中,默认情况下若要扩大视野范围,则可能需放弃一定的检测精度或计算速度。

(3)高度维度在BEV特征中经历压缩处理后无法提取有效的纹理特征 :这表明,在依赖精确高度信息的任务(如道路标志识别)方面,基于BEV的方法可能会表现出不足之处。具体而言,在经过压缩后的特征图中缺乏足够的细节信息,在准确识别和解析与高度相关的目标或环境细节方面存在局限性。

同时,现有的基于稀疏查询的方法还有很大的改进空间:

(1)有限的计算能力

(2)特征对齐不精确 :例如如SRCN3D所采用的RoI-Align技术用于采样多视角特征 但该方法在不同视角下的精准对齐表现不足 如果各特征点之间的配准不够精准 这可能会影响到检测结果的准确性 因为物体的位置和方向估计依赖于这些特征的准确融合。

(3)未充分利用时态上下文

本文贡献:

(1)提出Sparse4D是第一个具有时域融合的稀疏查询多视图3D检测算法;

(2)开发出一种具有可变形特性的4D融合模块,在多个维度(如点属性、时间戳信息、视图数据以及比例特征)上实现了特征的有效采集与整合过程。

(3)引入了深度重加权模块,以缓解基于图像的 3D 感知系统中的不良问题。

(4)在nuScenes 数据集上,该方法不仅超越了现有所有稀疏算法,并且超过了大部分基于BEV的算法,在跟踪任务中展现出良好的性能。

二、整体框架

Sparse4D 的整体架构设计基于多视图图像输入信息展开。该系统首先通过图像特征编码器提取了多时间戳、视图以及比例相关的特征图,并基于这些预处理得到的特征数据展开后续操作。其解码器部分由多个独立参数化的细化模块构成,在这一过程中会对原始的3D锚定点进行持续性优化与完善。系统会将这些经过解码与优化后的结果作为基础信息传递至后续处理环节,并最终通过持续对3D锚定点进行细化处理,实现了精确的目标检测效果。

Sparse4D采用了常见的编码器-解码器架构。

图像编码器由残差网络(ResNet网络、VovNet)与FPN组件构成。从时间t处获取N张多角度图像,在图像编码器中提取多尺度特征图集合 𝐼𝑡={𝐼𝑛,𝑠|1≤𝑛≤𝑁,1≤𝑠≤𝑆}。为了捕获时间维度的信息,在时序窗口内提取T帧的空间特征序列作为空间-时间特征序列 𝐼={𝐼𝑛,𝑠}𝑛=1𝑁,𝑠=1𝑆,并定义其索引范围为从起始时刻t_start=t_0-T+1开始计数

随后,解码器以迭代细化方式进行预测检测结果,其中包含细化模块和一个分类头,用于预测最终的分类置信度。每个精细化模块将图像特征队列I、3D锚框 𝐵∈𝑅𝑀×11 和相应的实例特征 𝐹∈𝑅𝑀×𝐶 作为输入,然后输出具有更新实例特征的精细3D框。这里M是锚点数量、C是特征通道数量,锚点的格式是:

{𝑥,𝑦,𝑧,ln⁡𝑤,ln⁡ℎ,ln⁡𝑙,sin⁡𝑦𝑎𝑤,cos⁡𝑦𝑎𝑤,𝑣𝑥,𝑣𝑦,𝑣𝑧},

所有的3D锚点都设置在统一的3D坐标系中。

在每个细化模块中, 首先利用自注意力机制实现实例间的互动, 并在前后两端嵌入锚点参数. 接着通过可变维度的4D聚合融合来自不同视角. 不同尺度. 不同时间戳以及关键点的信息. 此外又加入了深度加权模块以解决基于图像的空间三维检测中的定位偏差问题. 最后采用了回归头结构预测并修正当前锚定点与地面实际位置之间的偏差

三、核心方法

3.1 Deformable 4D Aggregation

基于变形4D聚合模块的详细流程图展示了一个完整的图像分析架构。该模块通过三步骤系统性地提取高质量的实例特征:首先,在每个锚定位置生成一组多维空间中的关键采样点;其次,在不同时间、不同视角和不同尺度的图像特征图上将这些关键点映射并进行采样;最后通过层次化整合关键点特性和预测权重因子来构建综合性的实例特性描述。

针对第m个instance feature, 利用一个线性层将4D关键点K转换为P_m∈R^{K×T×3}, 该结构由KF固定关键点与KL可学习的关键点构成。参考上图可知, 在当前时间戳t_0时, 将固定的关键点P_{m,t_0}^F直接放置于anchor box的立体中心及其六个面的中心位置。随后, 可学习的关键点会随着不同instance feature的变化而调整, 从而使网络能够提取出每个instance feature最具代表性的特征

具体来说,在为每个锚定点分配关键定位信息时,模型会赋予其多个4D特征向量(与DETR3D不同的是它不只提供一个三维参考)。这里的4D设计源于三个空间维度轴(x轴、y轴、z轴)以及一个时间维度特征的整合。每个锚定点包含两类关键定位信息:

(1)固定关键点(fix keypoints):

(2)可学习关键点(learnable keypoints):

𝐷𝑚=R𝑦𝑎𝑤⋅[sigmoid(Φ(𝐹𝑚))−0.5]∈𝑅𝐾𝐿×3𝑃𝑚,𝑡0𝐿=𝐷𝑚×[𝑤𝑚,ℎ𝑚,𝑙𝑚]+[𝑥𝑚,𝑦𝑚,𝑧𝑚]

其中, 𝑅𝑦𝑎𝑤 表示偏航角的旋转矩阵。

随后在上图可以看到有一个motion compensation。

因为前面说了很多,都是关于3D的信息,那么时间维度怎么样建模呢?

首先,在当前帧的基础上扩展到各个时间戳时,则需对每个关键点施加一个恒定速度模型。该模型假设各关键点在短暂的时间内以恒定的速度运动。采用这种方案后,则可通过时间间隔 Δ_t 推测各关键点在其它帧的位置。

  • 考虑过去的时间戳t;
    • 基于恒定速度模型,在三维坐标系中沿着各关键点的速度方向移动Δ_t时间所得的距离表现为一个简单的线性位移。

𝑃𝑚,𝑡′=𝑃𝑚,𝑡0−Δ𝑡⋅(𝑡0−𝑡)⋅[𝑣𝑥,𝑣𝑦,𝑣𝑧]

其中, [𝑣𝑥,𝑣𝑦,𝑣𝑧] 是关键点的速度向量。

考虑到车辆自身也在运行中(移动中),仅凭恒定速度模型计算出的关键点位置可能无法精确反映其在全局坐标系中的真实位置(实际情况)。因此,在计算关键点的位置时也需要考虑车辆自身的运动情况(信息)。

通过从当前帧 𝑡0 到帧 t 的旋转矩阵 𝑅_{𝑡_0→𝑡} 和平移向量 𝑇_{𝑡_0→𝑡} 来实现关键点坐标的变换。这一步考虑到车辆自身的旋转和平移运动,并保证了关键点坐标能够准确反映车辆在不同帧中的位置和方向信息。
最后一步建立了变换公式 𝑃_{𝑚,𝑡} = 𝑅_{𝑡_0→𝑡}𝑃_{𝑚,𝑡'} +𝑇_{𝑡_0→t} ,从而实现了将关键点从车辆局部坐标系转换至全局坐标系的目的,并反映出了一段时间内车辆及其周边环境的位置变化情况。

基于这两项步骤系统性地构建一个四维关键点集合 𝑃𝑚={𝑃𝑚,𝑡}𝑡=𝑡𝑠𝑡0 ,其中包含了从当前帧向历史帧延伸的一系列关键点坐标参数 𝑃𝑚,𝑡 ,这些参数对于准确追踪物体的时间序列行为以及实现深度估计而言至关重要。

稀疏采样技术基于前述获取到了四维关键点集合P以及对应的图像特征序列F。通过变换矩阵将这些三维空间中的关键点投影至各视角下的二维图像特征序列中去。为了使三维空间中的关键点能够与相应的二维图像特征序列实现对齐以便于后续提取相关特性

𝑃𝑡,𝑛img=T𝑛cam𝑃𝑡,1≤𝑛≤𝑁

在特征图中对关键点进行投影后,在每个视角和每个时间戳分别通过双线性插值方法进行采样操作。双线性插值是一种经典的插值算法,在关键点位于特征图浮点坐标的情况下从相邻四个像素中计算出插值结果。
在此过程中,系统会在不同层次的尺度(即具有不同分辨率的特征图层)上依次执行上述操作。这种多尺度处理有助于模型更全面地捕捉物体结构及其细节信息。

𝑓𝑚,𝑘,𝑡,𝑛,𝑠=Bilinear(𝐼𝑡,𝑛,𝑠,𝑃𝑚,𝑘,𝑡,𝑛img)

其中,每个采样点(其索引标记为m),每个特征点(其索引标记为k),每个时间戳(其索引标记为t),以及相机捕捉(其索引标记为n)和尺度特征(其索引标记为s)的采样结果被组织成一个多维特征向量𝑓𝑚 ,其维度大小为𝐾×𝑇×𝑁×𝑆×𝐶。

接着,为了生成高质量的实例特征,对fm以分层方式融合了上述特征向量。

层次结构融合

首先,在第一步中, 系统主要处理每个关键点, 针对每一个关键点, 系统会整合来自各个视角(如 camera 视图)以及不同尺度(如 scale 水平)的信息特征. 这一过程主要依赖预估权重(由线性层 Ψ 计算得出)来进行加权处理, 以此确保各视角与各尺度特征按照其在检测任务中的重要性得到适当整合.

𝑊𝑚=Ψ(𝐹𝑚)∈𝑅𝐾×𝑁×𝑆×𝐺

  • 特征分为 G 组(共 G 组),每组的各向异性通道均对应地赋予不同的权重系数。这种设计与传统的GroupConv操作相似,在每个分组中,各组的特征通过加权求和的方式合并,并沿着视角和尺度两个维度进行汇总。
  • 随后,在时序维度上对聚合后的特征进行融合操作。这一过程利用一个线性层 Ψtemp 来实现,在时序维度上接收不同时间戳的各阶段特征信息,并按照顺序将它们结合起来。
  • 这一过程至关重要,在时序建模中尤其关键——它使得模型能够捕捉到对象在时空上的动态变化趋势。

𝑓𝑚,𝑘,𝑡𝑠″=𝑓𝑚,𝑘,𝑡𝑠′𝑓𝑚,𝑘,𝑡″=Ψ𝑡𝑒𝑚𝑝([𝑓𝑚,𝑘,𝑡′,𝑓𝑚,𝑘,𝑡−1″])𝑓𝑚,𝑘″=𝑓𝑚,𝑘,𝑡0″=Ψ𝑡𝑒𝑚𝑝([𝑓𝑚,𝑘,𝑡0′,𝑓𝑚,𝑘,𝑡0−1″])

  • 时间融合操作主要涉及一系列序列处理机制, 包括循环神经网络(RNN)以及其它线性时序处理模块, 这些方法能够有效地整合多维度的时间序列数据。
  • 随后, 对经过时间融合后的各个关键点提取其对应的特征向量, 最终生成实例级别的特征表示. 具体而言, 该过程首先提取各个关键点的特征向量, 然后将这些特征向量逐项进行求和运算, 最后汇总得到综合特征向量.

𝐹𝑚′=∑𝑘=1𝐾𝑓𝑚,𝑘′′

该核心特征能够体现其整体特征所包含的信息

3.2 Depth Reweight Module

在二维图像中进行三维物体检测时存在着本质性的挑战:缺乏直接的深度数据

该模块的主要功能是通过深度学习方法赋予不同特征权重以降低分类过程中的不确定性问题。具体而言,在检测到的目标实例中, 该模块会根据各锚点实例计算其深度可靠性, 并相应地调整其对应的特征重要性指标. 这种优化处理能够显著提升模型在远近目标区分方面的性能表现.

该模块首先采用多层残差感知机(MLP)对每个锚点实例的深度概率分布进行推断。通过这一推断结果以及3D锚点中心点的深度信息,该模块能够确定一个深度信心程度值。这个信心程度值反映了预测深度上锚点实例特征的准确性。

𝐶𝑚=Bilinear(Ψ𝑑𝑒𝑝𝑡ℎ(𝐹𝑚′),𝑥𝑚2+𝑦𝑚2)𝐹𝑚′′=𝐶𝑚⋅𝐹𝑚′

计算出深度置信度之后

3.3 训练细节

帧之间的时间间隔是随机采样的,取值在{dt ,2 dt} 中选择,这里 dt 大约为0.5秒。

损失函数包括分类损失、边界框回归损失和深度估计损失:

𝐿=𝜆1𝐿𝑐𝑙𝑠+𝜆2𝐿𝑏𝑜𝑥+𝜆3𝐿𝑑𝑒𝑝𝑡ℎ

分类任务中采用Focal Loss作为分类损失函数,在Box预测模块中以L1损失为例进行优化,在深度估计模块中则采用二元交叉熵损失函数进行计算。在设计深度重权模块时,默认情况下会基于标记边界框中心点处的真实深度值来监督单个实例的空间位置信息。值得注意的是,在该框架中仅估计每个实例的深度信息而非密集级别的深度信息,在一定程度上缓解了对LiDAR数据依赖的问题

四、实验结果

在本研究中,我们针对深度加权模块(DWM)与可学习特征点(LFP)对检测性能的影响展开了对比分析;同时探究了运动补偿参数对检测效果的影响规律。在本实验中,将输入图像尺寸设定为320×800,并移除了可学习的关键点. H代表历史帧.

Ego和Object是指考虑自我车辆运动和物体运动。

细化模块和历史框架影响的消融研究。

不同方法的FLOP和参数量比较

nuScenes验证数据集(为了解决GPU内存不足的问题,在训练阶段将所有的历史帧特征图以及历史帧随机部分融合特征进行了分离处理。从而得出结论:通过这种设计方法能够得到T=X(-Y)这一等式成立)

nuScenes 测试数据集

通过不同数量的历史帧进行训练与推理Sparse4D模型时会发现其性能随着数据量的增长而持续提升

五、未来展望

  • 采用多视图立体技术(MVS):
    多视图立体技术能够通过不同相机视角下的图像信息更加精确地推断物体的空间深度。
    该方法通过对不同视角图像进行对比分析,并结合各角度下的视差信息综合生成深度图。
    将MVS技术整合至Sparse4D中的深度加权模块后,在复杂场景下显著提升了模型在复杂环境下的深度估计精度和抗干扰能力。
  • 考虑相机参数:
    将这些相机参数纳入编码器的设计与优化过程中有助于提升模型对三维场景的理解能力。
    这些参数包括镜头焦距、光圈值以及传感器尺寸等因素。
    其中关键的是镜头焦距与成像效果之间的关系,
    而光圈值则直接影响着进光量与景深范围,
    传感器尺寸则决定了成像分辨率与动态范围。

全部评论 (0)

还没有任何评论哟~