论文笔记 - “Cascaded Refinement Network for Point Cloud Completion”
本文是2020年CVPR的一篇文章。作者是来自新加坡国立大学的 Xiaogang Wang, Marcelo H Ang Jr ,Gim Hee Lee。
论文地址
源码地址
本文是一篇基于深度学习进行点云补全的文章。
背景
简要介绍一下本文的introduction部分的研究背景。作者团队首先提出了三维点云的生成存在着稀疏、不完整、不规则的特点,学习到准确的点云的特征以及多样的分布是一件困难的事,也因此增加了生成完整、稠密三维物体形状的难度。
文章提到了相关工作中的3D生成(基于GAN或VAE等)存在的一些问题,例如简单的GAN模型只能生成小尺度点云,复杂的GAN模型训练难度较大,一些提升的方法只能适用于一般形状的物体而不适合形状的补全。3D上采样类的算法扩展比例较低,局限于稀疏点上采样而非形状的补全。3D补全类方法中,基于体素的算法要求的存储较高,不适于高分辨率输出,其他一些方法侧重于网格化的表达,不适于生成3维点云细节补全任务。
本文的方法
生成部分
本文的核心任务就是将输入的点云集P(含N个点)补全成为点云集Q(含
u
∗
N
u *N
u∗N个点)。这篇文章同样采用了生成对抗模型。
生成模块包含三个部分:首先是一个特征提取部分 h,以及粗略重建部分g1,稠密重建部分g2。
文章指出,基于树结构等的点云补全算法往往遗漏掉很多细节,原因在于特征提取后只保留了全局的形状,因此难以重建细节。文章为提出的模型模型设计了跨层连接结构,将包含细节的原始点云做动态下采样和粗略的重建结果拼接起来,一同用于后续稠密点云重建。拼接后点云与提取的特征一同送入提升模型从而获取更高分辨率更稠密的点云。
提升模型部分,首先对输入的点云集平铺倍增并抽样一个2维向量增加重复点的坐标变化。同时使用mean shape prior f m f_m fm(每一类目标所有实例特征向量的均值)用于细化。将倍增的点云、平均形状特征向量,提取的全局特征向量重新拼接,通过基于沙漏网络思想设计的收缩-膨胀模块结合残差,预测稠密的点云。
判别部分
本文提出了 patch discriminator 来判别局部区域的“真实性”
优化部分
本文提出的模型包含两个部分的损失函数,一方面是重建的损失(由groundtruth监督),另一方面是GAN的损失,由判别器给出。
重建损失:
CD距离用于计算两组点云最近的点的距离之和。同有两个变体,
C
D
−
P
=
(
L
X
,
Y
+
L
Y
,
X
)
/
2
CD-P = (\sqrt{L_{X,Y}}+\sqrt{L_{Y,X}})/2
CD−P=(LX,Y+LY,X)/2
C
D
−
T
=
L
X
,
Y
+
L
Y
,
X
CD-T = L_{X,Y}+L_{Y,X}
CD−T=LX,Y+LY,X
本文综合考虑粗略与细化的点云结果
GAN损失:
最终的损失函数是两部分的加权和:
实验结果
这里简要放一下文章的结果图,相比于已有方法,文章显示提出的方法取得了SOTA的指标。详见文章。