0
本文作者: 我在思考中 | 2021-09-07 10:21 |
我们提出了一种几何敏感的点云补全Transformer,通过将点云表示成为一组无序的点代理,并采用Transformer的Encoder-Decoder结构进行缺失点云生成。除此以外,我们提出了两个更具有挑战性的点云补全Benchmark——ShapeNet-55/34。我们的论文已被ICCV接收为Oral Presentation,代码、数据集与模型均以开源。
代码仓库:https://github.com/yuxumin/PoinTr
论文链接:https://arxiv.org/abs/2108.08839
视频:https://youtu.be/mSGphas0p8g
简介
在现实场景下,现有的3D传感器由于物体自遮挡等问题只能采集到缺失且稀疏的点云数据,所以如何将这样缺失且稀疏的点云进行补全以得到高品质的点云,具有重大意义。
同时我们提出两个更具挑战性的点云补全Benchmark,用以检验点云补全模型在更贴近真实条件下的补全表现。其中ShapeNet-55相比于PCN数据集考虑了更多样的任务(点云补全与点云上采样)、更多样的种类(从原本的8类到55类)、更多样的缺失视角(从原本的8视角到任意可能视角)以及更多样级别的缺失(缺失25%到75%的点云);ShapeNet-34则可以测试模型在训练集中不存在的类别的物体上的补全表现。
(ShapeNet-55/34数据集)
下面介绍我们的整体框架,我们提出的PoinTr主体由Transformance Encoder-Decoder构成:
简单来说,在对点云进行补全时,我们会先将点云处理成为固定数目的点代理,方便作为Transformer的输入;然后我们通过Encoder对现有点云进行编码,通过Query Generator后生成第一阶段的点云中心和对应的动态Queries;最后这些Queries通过Decoder被翻译成点代理,点代理经过一个FoldingNet得到相对于特定中心点的偏移量,通过将对应中心进行移动,我们可以得到某个点代理对应的局部点云。
点代理生成:
想要将点云作为Transformer的输入,首先我们需要将点云处理成一个序列。最简单的想法是将每一个点作为序列的一个元素作为输入,但是这样会带来非常大的计算资源负担。所以我们提出可以将点云处理成一系列的点代理,用来代表点云上的一个局部区域特征。首先,我们对点云进行最远点采样(FPS),得到固定的N个中心点;然后,我们使用一个轻量的DGCNN对局部区域进行特征提取,这样我们可以得到N个局部区域的特征,其中对应了以为中心点的区域的特征。最后,我们利用一个MLP网络,提取每一个局部特征的位置嵌入(positional embedding),相加后得到点代理,即,作为Encoder的输入。
Encoder-Decoder结构:
如上图所示,Encoder由多头自注意力层(multi-headself-attention layer)与前馈神经网络(feed-forward network)组成,Decoder则由多头自注意力层、编码器解码器交叉注意力层和前馈神经网络构成。
几何敏感的Transformer:
我们针对点云输入设计了一种即插即用的新型transformer block。在原本的transformer 模块中,网络只利用自注意力机制挖掘不同部分之间的关系,这其实是一种基于特征相似度的长程语义关系,为了利用点云数据的归纳偏置,我们将局部几何关系补充到自注意力模块。
我们根据点代理对应的三维点坐标,使用kNN将空间中相邻的点代理拼接在一起,使用一层线性层进行局部几何信息学习,通过将该结果和自注意力机制的结果进行融合,我们可以同时挖掘长程语义相关性,也同时保留了有效的局部几何关系,有效的提高了模型的性能。
Query生成器:
Queries是待预测点代理的初始状态,用于指导缺失点云的重建。我们首先通过Encoder的输出特征得到全局特征,如最大池化,并通过一个线性层预测粗略的缺失点云中心点坐标。将缺失点云中心点坐标与全局特征拼接后,用一个多层感知机生成query特征,即
点云预测:
通过Decoder被翻译为一个点代理,该点代理对应了以为中心的局部点云。我们利用FoldingNet对点代理进行偏移坐标重建:即
最后我们将输入点云与预测结果进行拼接,即可以得到最终的预测结果。
首先我们将PoinTr和现有一些方法在ShapeNet-55与ShapeNet-34上进行了实验,在Simple,Moderate与Hard三个难度下(缺失25%,50%,75%点云),PoinTr在Chamfer Distance与F1指标上都取得了最好表现;
同时我们也在PCN数据集上进行了测试,也取得了最好表现。
为了验证我们提出的方法的有效性,我们对我们的方法进行了消融实验,可见我们提出的方法都有效提高了Transformer模型在点云补全任务上的效果。
最后我们使用我们的方法对真实雷达数据进行补全,在数值结果和可视化结果下都取得了提升。
在这项工作中,我们提出了适合点云补全的PoinTr模型,很好地将Transformers引入到点云补全任务中,并在已有的合成数据集与真实数据集上取得了目前最好性能。除此以外,我们提出了更具挑战性的ShapeNet-55和ShapeNet-34,来模拟真实条件下的复杂缺失场景。我们希望本文提出的PoinTr和新的Benchmark可以为未来点云补全提供思路与启发。
扫码添加小助手微信(AIyanxishe3),备注ICCV2021拉你进群。
雷锋网雷锋网雷锋网
雷峰网特约稿件,未经授权禁止转载。详情见转载须知。