简述
PU-Net在点云上进行上采样,即输入一个点云,输出一个更密的点云,且它落在输入点云隐含的几何体(比如表面)上。点云上采样和图片的超分辨率很像,但因为是三维的点而不是二维的像素,因此也有点云不规则、无顺序的一系列缺陷。PU-Net的核心思想,是学习到每个点多个粒度(从局部到全局)下的特征,再在特征空间中扩大点集,最后将扩大的点集映射回三维。提取特征的方法基于PointNet++。
邻域选择
在模型表面上随机选择 M M M个中心点,然后指定一个测地线距离 d d d,将 d d d范围内的点和中心点一起作为一个Patch。然后,我们使用Poisson disk sampling来随机采样 N ^ \hat{N} N^个点,作为ground truth。我们可以改变 d d d的大小,从而形成不同尺度、不同密度的patch。
层次特征学习
此部分采用了PointNet++的算法,得到了各个尺度上点的特征。注意这里每层聚类的半径比较小,这样可以保留住更多的局部细节特征。
多层次特征融合
越低层次的特征对应着越局部的特征。对于高层次的特征,PointNet++采用了按归属(连接)关系将它们传递到每个点上。但PU-Net的作者认为这样不是很高效,因此采用了直接加权融合的方法。即
f ( l ) ( x ) = ∑ i = 1 3 w i ( x ) f ( l ) ( x i ) ∑ i = 1 3 w i ( x ) f^{(l)}(x) = \frac{ \sum_{i=1}^3 w_i(x) f^{(l)}(x_i) }{ \sum_{i=1}^3 w_i(x) } f(l)(x)=∑i=13wi(x)∑i=13wi(x)f(l)(xi)
它表示了点 x x x在第 l l l层的特征为它最临近三个中心点 x 1 , x 2 , x 3 x_1, x_2, x_3 x1