Advertisement

【使用 DETR(Transformer)进行 3D 目标检测】3DETR: An End-to-End Transformer Model for 3D Object Detection

阅读量:

使用 DETR(Transformer)进行 3D 目标检测

采用基于 Transformer 的先进技术进行 三维目标识别

采用基于 Transformer 的先进技术进行 三维目标识别

  • 论文简介:

  • 具体实现:

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

  • 集合匹配和损失函数:

  • 可视化:

  • 对比实验:

  • 消融实验:

论文简介:

本文引入了基于端到端架构的新方法来实现三维目标检测,并采用新型Transformer架构进行定位。经过系统性实验分析表明,在具有挑战性的ScanNetV2数据集上相比VoteNet基线模型性能提升达9.5%以上。进一步研究表明该方法不仅在目标检测领域表现优异且在扩展应用方面展现出巨大潜力可作为未来研究的重要基础模块。

在这里插入图片描述

其中3D Det是一种基于端到端可训练的Transformer模型,在接收一组三维点数据(即点云数据)的基础上运行,并生成相应的三维边界框。该模型通过多层自注意力机制生成一系列具有重要性的三维点特征向量。这些位置信息及其属性信息经由查询嵌入与编码器生成的键值对进行交互后进入解码器部分。随后系统会将预测得到的边界框与真实存在的物体边界框进行对比,并通过优化算法最小化计算损失。

提醒该模型不使用色彩信息,并且随机采样一组嵌入的"查询"点(这些点)之后被解码器转换为边界框预测。

具体实现:

基本框架

3Detr基于一个三维点云作为输入,并通过三维边界框的形式预测物体的位置。该点云由N个无序排列的点组成, 每个点都与其对应的三维XYZ坐标相关联. 由于其数据量巨大, 首先使用集合聚合(set-aggregation)方法对点进行降采样操作, 并将其投影到N^{\prime}个特征中. 编码器处理后得到一组N^{\prime}个特征. 解码器将这些特征作为输入, 并利用受DETR启发的方法来预测多个边界框.

在这里插入图片描述

编码器

下采样与集合聚合操作会产生一组d=256维、数量为N^{\prime}的特征向量;其中采用了包含两个隐藏层(分别为64维与128维)的多层感知机(MLP)结构。随后将这些特征向量作为输入传递至Transformer模块中进行处理。

该模型采用了多层次的自注意力机制配合非线性投影,并避免了采样过程而直接采用标准形式进行计算。这表明在处理三维数据时未进行特殊调整。此外由于输入已包含 XYZ 坐标的相关信息 编码器省略了位置嵌入模块

解码器

本文将帧检测视为一个集合预测问题,并解释该解码器如何通过其架构共同预测一组无序排列的边界框。该解码器则采用点特征与 B 组查询嵌入 \left\{\mathbf{q}_{1}^{e}, \ldots, \mathbf{q}_{B}^{e}\right\} 作为输入,并输出对应的 B 组特征。随后用于精确定位物体的三维边界框。

在该框架中,在三维空间中\mathbf{q}^{e}体现其位置特征,并用于预测最终的三维边界框。本文在解码器中采用了位置编码机制, 因为无法直接获取编码器特征和查询嵌入之外的坐标信息

非参数查询嵌入

基于 VoteNet 和 BoxNet 中的关键采样点启发,在本研究中采用了一种基于非参数嵌入的方法进行特征提取。具体而言,在包含 N^{\prime} 个输入特征向量的数据集中,我们通过从这些向量中随机选取一组大小为 B 的查询子集 \left\{\mathbf{q}_{i}\right\}_{i=1}^{B} 来完成特征提取过程。为了确保样本分布的均匀性与代表性,在实验过程中我们采用了最远采样策略对样本进行选择,并通过该方法实现了对原始数据良好覆盖效果的验证。

通过建立每个查询点 \mathbf{q}_{i} 与其对应的查询嵌入 \mathbf{q}_{i}^{e} 之间的关联,在具体实施时即将 \mathbf{q}_{i} 的坐标值映射为傅里叶位置嵌入,并随后通过多层感知机(MLP)进行投影处理。

3DETR-m

为验证本文模型具有灵活性, 作者对现有架构进行了优化, 具体表现为修改了编码器结构, 在保持解码器与损失不变的前提下, 在3D数据中引入了一种弱归纳偏差机制. 这种设计基于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)来估计边界盒子的位置与尺寸参数。三维边界框由四个关键属性组成:定位信息、尺寸参数、朝向信息以及类别信息。

该MLP在每个查询坐标\mathbf{q}周围生成一个包围框。其中位置由包围框中心\mathbf{c}的XYZ坐标确定,并通过计算偏移量\Delta\mathbf{q}与查询坐标\mathbf{q}之和来确定中心位置。尺寸由XYZ向量\mathbf{d}定义,表示包围框在各轴上的延伸程度。方向被量化为12个离散值,并预测相对于这些值的残差。角的预测包含两个部分:一是量化类别(quantization class),二是相对于该类别的残差量(quantization residual)。此外,在每个包围框中还引入了一个'背景/非目标'类别(background/non-object category),这是因为有些生成的目标可能并未包含具体物体。

因此将一个框的所有属性整合在一起我们定义了两个目标:用于预测的目标框\hat{\mathbf{b}}和用于真实标注的目标框\mathbf{b}。每个目标框\hat{\mathbf{b}} = [\hat{\mathbf{c}}, \hat{\mathbf{d}}, \hat{\mathbf{a}}, \hat{\mathbf{s}}]由以下组成部分构成:第一部分为几何参数\hat{\mathbf{c}},\,\hat{\mathbf{d}} \in [0, 1]^3分别表示目标中心坐标及其缩放因子;第二部分为语义参数\hat{\mathbf{s}} = [0, 1]^{K+1}其中K表示类别数量包含各分类概率及背景类的概率分布;第三部分则用于描述目标的类别信息及其角度偏差。其对应的真值框同样采用上述结构进行描述。

集合匹配和损失函数:

集合匹配遵循 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}\|_{L_1}}_{\text {几何损失 }} \\ &-\underbrace{\lambda_{3} \hat{\mathbf{s}}[s_{\mathrm{gt}}]+\lambda_{4}\left(1-\hat{\mathbf{s}}[s_{\mathrm{bg}}]\right)}_{\text {语义损失 }} \end{aligned}

训练损失则定义为:

该损失函数由三部分组成:
第一项为λ_c乘以目标掩码向量与预测掩码向量之间的一阶范数;
第二项为λ_d乘以目标遮挡特征向量与预测遮挡特征向量之间的一阶范数;
第三项则包含了两个负对数似然相关的项。
具体来说,
第三项不仅包含了Hube空间中两向量差值绝对值的度量,
还考虑了预测与真实遮挡特征之间的差异;
同时,
最后一项进一步优化了模型参数,
通过比较真实与预测遮挡特征的概率分布
来提升整体性能。

在训练过程中,我们采用共用的边界框预测MLP模型来估计解码器中各层的边界框参数,并分别计算每层的集合损失值后进行汇总求和运算以优化模型性能。

可视化:

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

对比实验:

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

消融实验:

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

全部评论 (0)

还没有任何评论哟~