Advertisement

【DETR用于3D目标检测】3DETR: An End-to-End Transformer Model for 3D Object Detection

阅读量:

3DETR: An End-to-End Transformer Model for 3D Object Detection

  • 论文简介:

  • 具体实现:

    • 基本框架
    • 编码器
    • 解码器
    • 非参数查询嵌入
    • 3DETR-m
  • 边界框的参数化和预测:

  • 集合匹配和损失函数:

  • 可视化:

  • 对比实验:

  • 消融实验:

论文简介:

本文开发了基于全连接的 3D 目标检测模型,并构建了一个具备非参数检索机制和傅里叶位置编码器的 Transformer。通过大规模的数据测试分析,在经过具有挑战性的ScanNetV2场景的数据集上应用后,在目标检测性能方面相比VoteNet基准提升了约9.5%。此外,在除了目标检测之外的任务中表现良好,并可作为未来研究的重要基础模块。

在这里插入图片描述

在本研究中提出了一种名为 3DETR 的端到端可训练的 Transformer 模型。该模型接收一个由三维坐标表示的点云数据,并通过其生成相应的三维边界框。具体而言,在编码器部分采用多层自注意力机制生成各采样点处的特征向量;随后将这些位置编码信息与位置嵌入一起传递至解码器部分;最终通过最小化计算出的目标损失函数来优化模型参数。

请注意该模型完全摒弃了对颜色信息的依赖。此外,在这一过程中,首先从嵌入空间中随机抽取一组‘查询’点,在解码器的作用下进而生成相应的边界框预测。

具体实现:

基本框架

3DDETR基于一个三维点云进行处理,并通过生成三维边界框来定位物体的位置。该数据集由N个无序排列的点组成,每个点均与其对应的三维XYZ坐标相关联。由于数据量极大,在此采用集合聚合(set-aggregation)方法对原始点云进行降采样操作,并将其投影至N^{\prime}个特征空间中。经编码器处理后得到一组对应于上述特征空间的新特征集合。解码器则以此特征集合为输入,并运用受DETR启发的并行解码机制来预测多个边界框的位置信息。

在这里插入图片描述

编码器

特征提取与融合过程生成一组维度为d=256且数量为N^{\prime}的特征向量。该过程采用了具有两个隐藏层、分别为64维和128维的多层感知机(MLP)结构。随后将提取到的特征集合传递至Transformer模块以完成后续处理。

该 Transformer 应用了多层次的自注意力机制以及非线性变换,并未采用下采样操作而采用了标准的自注意力计算方式。因此,在处理三维数据时并未进行特殊修改。同时跳过了编码器中的位置嵌入层因输入已直接携带 XYZ 坐标信息

解码器

本文将帧检测视为一种集合预测任务,并指出该过程通过解码器实现对未排序框群体的统一推断。该解码器采用点特征与 B 个查询嵌入 \{\mathbf{q}_{1}^{e}, \ldots, \mathbf{q}_{B}^{e}\} 作为输入参数,在完成计算后会生成对应的 B 个特征向量并用于计算三维边界框定位。

在该框架中,在三维空间中通过查询嵌入 \mathbf{q}^{e} 表示的位置信息进而推导出最终的三维边界框。本文解码器模块采用该位置编码方案是因为解码器仅能访问编码器特征和先前生成的键值对(而不是直接的坐标信息)。

非参数查询嵌入

借鉴VoteNet和BoxNet中使用的种子概念,在本文中我们基于非参数嵌入方法构建了特征表示。具体而言,在处理N^{\prime}个输入点时,我们通过随机采样策略选取了B个具有代表性的'查询'点集合\left\{\mathbf{q}_{i}\right\}_{i=1}^{B}。为了保证数据分布的均匀性,在采样过程中采用了最远距离采样的策略。

通过将每个查询点 \mathbf{q}_{i} 与其对应的查询嵌入 \mathbf{q}_{i}^{e} 进行关联处理,并在具体实施时,则是将每个查询点的坐标值通过傅里叶变换转换为傅里叶位置嵌入,并随后通过多层感知机(MLP)进行投影映射以完成最终的嵌入表示。

3DETR-m

为展示本文模型的灵活性,作者对编码器进行了优化,并在三维数据中引入了弱归纳偏差方案的同时保留了解码器架构和损失函数。具体而言,在点集注意力机制的基础上借鉴了PointNet++的思想,在局部特征聚合方面采取了比全局聚合更有效的策略。通过施加位置掩码机制,在自注意力计算中实现了这种感应偏差的效果。该模型采用了三层编码器结构设计,在第一层之后增加了降采样操作(将点数量从N^{\prime}=1024降至N^{\prime\prime}=1024个点)。每一层都会对自注意力操作应用一个大小为N^{\prime\prime}\times N^{\prime\prime}的二进制掩码矩阵。其中第i行表示点i周围的\mathcal{l}_2距离范围内的其他点集合情况。实验采用半径值设置为[0.16,0.64,1.44]进行了参数化设计以适应不同尺度特征提取需求

与 PointNet++ 相比,3DETR-m 不依赖于多层的三维特征聚合和三维上采样。

边界框的参数化和预测:

编码器-解码器体系结构生成一组 B 个特征,并经由 MLP 进行预测以确定边界盒的位置信息。三维边界框具备以下四个属性:其一是位置坐标信息;其二是物体尺寸数据;其三是物体朝向方向;其四是包含对象的类别信息。

该模型在每个查询位置 \mathbf{q} 周围生成一个区域。其中位置由该区域中心点 \mathbf{c} 的 XYZ 坐标确定,并基于从查询坐标中计算出的偏移量 \Delta\mathbf{q} 来进行预测。即:\mathbf{c} = \mathbf{q} + \Delta \mathbf{q}. 尺度通过 XYZ 方向上的长度参数 \mathbf{d} 来定义该区域相对于中心点 \mathbf{c} 的扩展范围。方向则被量化为12个等分区间,并对每个区间内的实际方向进行误差修正。类别信息则通过 one-hot 向量 \mathbf{s} 表示,其中仅当边界框内包含特定物体时才置1;此外还设置了‘背景’类别以处理那些未检测到物体的框。

因此将一个框的所有属性整合起来,则分为两种目标:即预测的目标框\widehat{\bm b}与真实的目标框\bm b。其中每一个预测的目标框\widehat{\bm b} = [\widewidecheck c,\,\widecheck d,\,\widecheck a,\,\widecheck s]由两部分构成:一是几何相关参数\widecheck c,\,\widecheck d属于区间[0,1]^3;二是语义相关参数\widecheck a = [\widecheck a_c,\,\widecheck a_r]\widecheck s = [0,1]^{K+1}共同作用以表征目标特征的不同维度信息

集合匹配和损失函数:

集合匹配遵循 DETR 的设置使用了二分图匹配,其中代价函数定义为:

\begin{aligned} C_{\text {match }}(\hat{\mathbf{b}}, \mathbf{b}) &=\underbrace{-\lambda_{1} \operatorname{GIoU}(\hat{\mathbf{b}}, \mathbf{b})+\lambda_{2}\|\hat{\mathbf{c}}-\mathbf{c}\|_{1}}_{\text {geometric }} \\ &-\underbrace{\lambda_{3} \hat{\mathbf{s}}\left[s_{\mathrm{gt}}\right]+\lambda_{4}\left(1-\hat{\mathbf{s}}\left[s_{\mathrm{bg}}\right]\right)}_{\text {semantic }} \end{aligned}

训练损失则定义为:

$\begin{array}{r}
\mathcal{L}{\text{DETR-3}} = \lambda{c}\left|\widehat{\mathbf{c}} - \mathbf{c}\right|{1} + \lambda{d}\left|\widehat{\mathbf{d}} - \mathbf{d}\right|{1} + \lambda{ar}\left|\widehat{\mathbf{a}}_r - \mathbf{a}r\right|{\text{{Hube}}} \

  • \lambda_{ac} (\widehat{\mathbf{s}}_c)^\top (\log(\widehat{\mathbf{s}}_c)) - (\lambda_s) (\widehat{\mathbf{s}}_c)^\top (\log(\widehat{\mathbf{s}}_s))
    \end{array}
    $

而且,在训练过程中,我们采用了共享一个MLP网络来生成各个解码器层的边界框预测,并分别计算每个解码器层的损失值;随后将各层损失相加得到总损失函数来进行模型优化。

可视化:

在这里插入图片描述
在这里插入图片描述

对比实验:

在这里插入图片描述
在这里插入图片描述

消融实验:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~