CVPR 2023丨最新3D点云补全方法:ProxyFormer

来源:投稿 作者:橡皮
编辑:学姐

paper:https://arxiv.org/pdf/2302.14435.pdf

code:https://github.com/I2-Multimedia-Lab/ProxyFormer

主要贡献:

设计了一个对点云缺失部分敏感的Transformer,它更关注缺失部分的几何结构和细节。还提出了一种新的位置编码方法,同时聚合了点云坐标和邻近点的特征。

在训练过程中引入了Proxy排列。将真正的缺失部分转换为Proxy,在完善预测的缺失Proxy的同时,还用于增强先验知识。

ProxyFormer摒弃了大多数基于Transformer的点云补全方法(如PointTr)所采用的Transformer解码器,与各种baseline相比,它实现了SOTA性能,同时参数相当少,以GFLOPs计算的推理速度最快。

背景:

由于物体的遮挡、目标表面材质反射率的差异以及视觉传感器分辨率和视角的限制等问题会导致捕获的点云不完整。因此,从部分点云中恢复完整点云在许多实际任务中起着至关重要的作用,而关键之一在于对缺失部分的预测。

随着 PointNet 和 PointNet++ 的巨大成功,直接处理 3D 坐标已成为点云分析的主流。

许多方法采用常见的Encoder-Decoder结构,通常通过池化操作从不完整的输入中获取全局特征,并将该特征映射回点空间以获得完整的特征;还有一些方法试图分别预测缺失部分;基于Transformer结构的方法,使用注意力机制进行特征相关性计算。

但现有的方法存在着以下问题:

  • (1)全局特征是从部分输入中提取的,因此缺少表示缺失部分点云细节的能力;

  • (2)前述方法丢弃了原始不完整的点云,在提取特征后重新生成完整的形状;

  • (3)除了特征之外,位置编码对Transformer的效果有很大影响;

  • (4)有参数过多,计算量过大的问题。

方法概览:

为了解决上述问题,提出了一种名为 ProxyFormer的新型点云补全网络,它完全保留了不完整的输入并具有更好的细节恢复能力,如图所示。

首先,设计了一个特征和位置提取器来将点云转换为proxy,特别注意点位置的表示。然后,我们让部分输入的proxy通过新提出的对缺失部分敏感的ProxyFormer与生成的缺失部分proxy交互,而不是像以前的方法那样单独从不完整输入中提取的全局特征。

将proxy映射回点空间后,将其与不完整的输入点拼接以 100% 保留原始数据。在训练期间,使用点云的真实缺失部分来增加先验知识和预测误差细化。

ProxyFormer的流程如图所示。点云的补全分为两步。首先,简单地将不完整的种子特征转换为预测的粗糙缺失部分。其次,将预测的缺失Proxy和粗糙部分送至FoldingNet以获得预测的密集缺失部分。真实缺失部分仅用于训练,因此阻止其反向传播并直接在不完整的点云上使用预训练的 FAPE 来生成Proxy。

(a) 应用特征和位置提取器来获得种子特征和位置编码,这些特征和位置编码被组合到所谓的proxy中。 P 表示输入点云中的点数。 C1和C2是点云特征的维度。

(b) 缺失特征生成器用于从不完整的种子特征中生成预测的种子特征。 N和M表示不完整种子特征和预测种子特征的点数。 C 表示种子特征的维度,分为 U 组以加快操作速度。

方法细节1:Proxy的构成

Proxy介绍

一个Proxy代表了点云的一个局部区域。本文中的所有Proxy融合了两个信息:特征和位置

Proxy的类型定义如下:

Existing Proxies (EP): 它结合了不完整的种子特征和不完整的位置编码。(由FAPE获得)。

Missing Proxies (MP): 它结合了预测的种子特征和随机位置编码。

在训练过程中,MP也被分为:

  • Predicted Missing Proxies (pre-MP): 它由缺失部分敏感的Transformer得到。

  • True Missing Proxies (true-MP): 它结合了真正的缺失种子特征和真正的缺失位置编码 (由预训练的FAPE获得)。

特征和位置提取器(FAPE)

对于特征提取,维度为(P, 3)的点云被送到point transformer block,通过最远点采样两次得到中心点云(P/16, 3)的中心点云由最远点采样两次得到。(P/16, C2)的特征是通过最远点取样两次得到的。

(P/16, C2)的特征是通过两次矢量注意力计算得到的。之后使用一个共享MLP将该特征转换为最终的种子特征。

对于位置编码,设计了一个新的位置提取器(如图所示)来改进。将特征提取后的中心点的坐标和特征作为输入。

对于每个点,取其相邻的 K 个点,并使用~pki=pki−pi来计算该点的相对位置。pki ∈ P =p1i, p2i, ...,pKi},表示pi的邻点坐标。还使用~f ki =f ki−fi|在特征维度中执行相邻点减法。同理,fki∈F ={f1i, f2i, ..., fKi,表示pi的邻点特征。之后得到K×3的坐标信息和K×C2的特征信息。然后我们连接它们并使用共享的MLP将特征从K×(3+C2) 转换为 K×Cout(每个相邻点的过渡特征 TFki )。在获得TFki之后,使用注意力机制为每个通道的点特征学习一个唯一的注意力分数,然后将它们聚合。计算注意力分数并逐通道与特征相乘并求和以获得每个点的最终PE (即位置编码)。这个过程可以用方程式表示:

其中{Tfki}是K邻点的过渡特征集,attn( ) 是具有可学习权重 的共享函数(对每个点 MLP)。将不完整点云和真实缺失部分点云送入FAPE得到EP和true-MP,同时利用EP的不完整种子特征预测粗缺失部分。

方法细节2:对缺失部分敏感的Transformer设计

通常,Query、Key和Value来自同一个输入。许多方法试图修改值的来源以适应特定的任务(下图)。

与它们不同的是,我们改变了Query源,以具有随机位置编码的MP作为查询条件,通过自注意力机制从现有代理的特征和位置中最大限度地挖掘缺失部分的表示。

为了将Query源更改为 MP,提出了一个缺失特征生成器,专门用于从现有特征中学习缺失部分特征。具体来说,以N×C的不完全种子特征作为输入,将C维通道分成U个等长组。然后,卷积的变化维度由预测的粗缺失部分的点数 M决定,这意味着我们将每个C/U转换为 M/N×C/U 。最后,我们通过重塑操作将过渡特征转换为 M×C 的预测种子特征。所有通道组都使用具有共享参数的卷积层,减少了参数量和计算量。预测缺失的特征加上随机位置编码得到 MP。

方法细节3:Proxy对齐

本小节中,将描述代理对齐策略以及此操作如何帮助我们完成点云完成任务。

ProxyFormer的详细计算图如图所示。因此,pre-MP 和 true-MP 可以表示为:

为了细化 pre-MP 中的预测误差,对模型施加了代理对齐约束,可以表示为:

其中 lp 表示将应用于训练损失的对齐损失,MSE表示均方误差。对pre-MP进行校正后,作为特征送入FoldingNet进行粗到精转换,再与之前预测的粗缺失部分结合,得到密集缺失部分。

方法细节4:训练损失函数

Chamfer Distance. 使用平均倒角距离 (CD) 作为我们完成损失的第一种类型。

Proxy alignment Loss. 使用 pre-MP 和 true-MP 之间的MSE损失作为第二类损失。

综上所述,本文使用的损失包括三个部分: (1). l_{c1},预测粗缺失部分C_{pcm}与缺失部分真实中心点C_{tcm}之间的Chamfer Distance; (2). l_{c2},预测的完整点云C_{pc}GTC_{gt}之间的Chamfer Distance; (3)l_p,pre-MP和ture-MP之间的alignment loss。使用这三项的加权和进行网络训练(在实验中将 γ 设置为 1.5):

实验结果:

关注下方【学姐带你玩AI】🚀🚀🚀

回复“transformer”免费领取视频+电子书

码字不易,欢迎大家点赞评论收藏!

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值