SpareNet:Style-based Point Generator with Adversarial Rendering for Point Cloud Completion(CVPR2021)
作者:互联网
SpareNet
代码块链接:https://github.com/microsoft/SpareNet
(本文只是个人学习记录的笔记,仅做参考)
基于对抗渲染样式点生成器的点云补全
本文提出了一种新的基于样式的点生成器与对抗渲染(SpareNet)点云补全网络。首先,提出了充分利用点的局部特征和全局特征的基于Channel-Attentive EdgeConv.算法。在StyleGAN的启发下,将形状特征作为在折叠过程中调节规格化层的样式代码,极大地增强了其功能。第三,认识到现有的点监督,如倒角距离,不能真实地反映重建点的感知质量。为了解决这个问题,我们建议使用一个可区分的渲染器将完成的点投射到深度地图上,并应用对抗性训练来提倡不同观察点下的补全效果。
SpareNet网络架构,编码器E将部分点编码为形状G,由基于样式的生成器G合成一个粗粒度补全的结果Yc ,之后使用R不断精炼,得到最后的结果Y,使用对抗性来做点的绘制,完成最后结果。
Channel-Attentive EdgeConv(CAE):
提出了一个基于样式的点生成器。输入点云有M个点,特征维度为C维,对于输入的每一个点,首先会在C维(本文中是8)中根据欧几里得距离,搜索其KNN邻域,用下式表示搜索的结果:
在输入的点云中将会有k维的边,用 表示每到边,使用MLP(用F表示)从每到边中提取特征
为了从KNN中增加全局特征的影响力,将所有边的平均特征输入第二个MLP,得到影响因子:
Relu函数使用sigmoid最后,对于每个点,通过最大池化和ReLU函数,将其k条边特征缩减为一个新的点特征。考虑到会有剩余的点,添加一个直接连接输入和输出的线性层F3。
与其他方法不同的是,添加了应用于边缘特征的控制向量,使得可以利用局部和全局的上下文来激活特征。
点编码器E是由四个连续的CAE模块构建的。输入X从第一个输入,第四个输出,将产生四个不同维度和不同接受域的点特征,将它们连接到一起,并通过最终的MLP压缩特征维度。输出的形状G是两个全局池的连接,维度为Ca ,在作者的实验中设置的是4096.
Style-based Point Generator:
为了确保点云合成中更广泛的信息聚合。设计了新颖的基于样式的折叠层来实现这种注入。
是小批点线性变换后激活的结果,其中B是批大小,M是点的数量,C是点特征的维数。
表示均值和标准差,为了生成形状编码,将hin 归一化后使用g反正化
是通过线性层从g变化过来的两个调制参数。对hout 使用CAE之后输出Pout 。
生成器G在实验中使用K个曲面元素形成一个复杂的形状。对于每个表面元素,生成器通过三个顺序的基于样式的折叠层和一个线性层学习从单元正方形到3D表面的映射。为每个面元抽样n= N /K个点。最后,将K个三维曲面(每个曲面表示为n = N/K个点)直接合并在一起,形成具有n个点的粗输出点云Yc。
Adversarial Point Rendering
点渲染,指的是一个完全可区分的点渲染器,它可以实现从3D点云到2D深度图的端到端渲染。这个渲染器使得我们不仅可以在点域而且可以在图像域监督训练成为可能。通过对抗地提高点云质量与鉴别器D,它不直接鉴别3D点云,而是其渲染的2D深度地图。观察基于图像的卷积网络的成功,我们认为基于图像的卷积鉴别器,结合我们的可微点渲染器,可以比已有的使用基于点的鉴别器更好地捕获点云中的几何细节。
P为点云,v是相机角度,点渲染器的目的是生成可以反映角度v处的点云几何特征的2D深度图。
作为输入,通过投影变化T投影后取投影坐标
和深度
,之后通过栅格化2D点及其深度,生成渲染图。为了保证可微性,我们认为每个点不是一个硬图像像素,而是一个密度函数,围绕中心传播平滑影响。栅格化的公式可以表示为:
一个点密度函数——高斯核:
作为负深度
与以前的可区分点渲染器相比,本文的渲染深度图更简单,更有效。此渲染器不为训练附加附加参数,且负深度的最大减少可以自动定位最近的点。更重要的是,点坐标不是固定的,是完全可微的:它支持梯度反向传播不仅是到特征Fp,而且还反向传播到2D坐标 。
为了减少渲染过程中的信息损失,进一步提出了多视点渲染器,利用可微分点渲染器将一个点云P同时渲染成8个深度图,每个深度图从不同的视角观察。结果§的形状是H x W x8是所有8个深度映射在通道维度方便的有序连接。实验中设置大小H × W为256 × 256;8个视点设置为立方体的8个角:[±1,±1,±1],以覆盖广角的观察。多视图深度映射以一种可微分的方式渲染,梯度可以从深度映射反向传播到渲染点。因此,我们的渲染器支持使用图像和点监督的端到端训练,这大大提高了结果的感知质量。
Refiner:提炼器R包含一个最小密度采样和一个类似于PointNet的残差网络。特点在于在剩余网络中添加CAE块增强功能。此外,在粗结果Y上重复部署两次细化器,以获得第一次和第二次细化结果Yl和Y2, Y2是最终输出,如总图所示。
Discriminator:在训练过程中渲染了三个点云:部分输入X, groundtruth Ygt和第一个精炼结果 。我们的鉴别器D采用了对抗策略:真实样本是
和
在信道维数上的连接;假样本是 和 的连接。这使得
的对抗更新以输入X为条件。D通过光谱归一化和LeakyReLU激活得到为一个二维卷积层序列。
Training Losses
监督粗粒度结果与最终结果的损失:
保真损失:
深度图损失和特征匹配损失:
Adv为对抗损失,exp为膨胀损失
在ShapeNet上的实验结果:
标签:Completion,Style,渲染器,渲染,特征,Point,生成器,深度图,点云 来源: https://blog.csdn.net/BararAlice/article/details/117660032