《PU-GAN: a Point Cloud Upsampling Adversarial Network》 ICCV 2019 的论文笔记。
PU-GAN
《PU-GAN: a Point Cloud Upsampling Adversarial Network》 ICCV 2019
paper地址 https://arxiv.org/pdf/1907.10844.pdf)
源码地址 https://github.com/liruihui/PU-GAN)
简介
PU-GAN是第一篇将GAN用到点云上采样的工作。
提出了一个对抗网络,能够训练一个从潜在空间产生多类别点分布的生成网络,还有一个根据潜在空间的点分布去隐式评估生成点集的监督网络。
贡献点
问题:
如何成功训练一个能平衡生成器和监督器,并且避免收敛性差的GAN框架?
解决方法:
- 提出了up-down-up expansion单元,在扩展点特征的时候能生成更多种点分布,增强feature expansion能力。
- 提出一个self-attention单元,增强聚集特征的质量,
- 设计了一个综合loss,涵盖了adversarial loss(用了ICCV 2017提出的港大least-squared loss)、uniform loss(让生成点均匀分布,PU-Net的Loss忽略了局部点混乱,PU-GAN的uniform loss同时考虑到了局部分布均匀性和全局分布均匀性)、reconstruction loss(限制生成点在目标表面),让监督器能学到更多潜在空间模式。
思想
网络结构
Generator部分:
分成特征提取、特征扩展、点集生成三部分。
特征扩展部分里为了生成更多种点分布,用了Up-down-up扩展单元。
点集生成部分用了最远采样法去保留特征扩展里最有意义的个点,所以里生成。
Up-down-up单元中,先上采样点特征,再把它下采样回去,计算F1和F2的差异,得到,将上采样得到,拼接特征,即为最终输出。
UP-feature:
为了增加拷贝特征多样性做上采样,用到FoldingNet里的方法,去对每个feature-map生成独特的2D拷贝,能够让新生成的点离开输入点一定距离;然后用了self-attention单元,以及一系列MLP。
Down-feature:
用了一系列MLP回归点特征。
Discriminator部分:
Discriminator里增加了self-attention单元,相比于基本的MLP,提高了特征整合的效果,同时提高了后续特征提取的能力。
Self-attention单元用了ICML 2019 SAGAN的self-attention方法。Self-Attention能够通过直接计算图像中任意两个像素点之间的关系,一步到位地获取图像的全局几何特征。
self-attention的具体做法是,将输入点用几个MLP转换到特征集合G和H,根据G和H生成注意力权重W。用另一个MLP生成特征集合K,与W的转置相乘$W^TK$,再加上输入特征得到输出特征。
self attention因此可以看成是feature map和它自身的转置相乘,让任意两个位置的像素直接发生关系,这样就可以学习到任意两个像素之间的依赖关系,从而得到全局特征了。
Loss设计
值得注意的是Uniform Loss,比PU-Net中多考虑了局部分布均匀性。
评估全局均匀点分布,S是通过ball query裁剪的近邻点子集,期望上采样后得到的点数是。
评估局部均匀点分布,点j是中的任意一点,是该点与它第k个近邻的距离,是期望距离。
不足
对于非常有挑战性的案例,比如骆驼的脚,输入的噪声和稀疏点不能恢复成原形状。