1. 引言
点云是表示3D数据的最基本的方式,在计算机视觉和机器学习领域被广泛应用于目标检测 [1] [2] [3] 、物体识别、3D重建 [4] [5] 和虚拟现实等方面。随着商业3D扫描仪的普及,从现实世界场景中捕获点云变得方便且经济,然而3D扫描仪生成的原始点云通常稀疏且嘈杂,有时还带有小孔,这极大地影响了下游任务的性能。因此,将原始点云上采样为密集、干净、完整且带有更多几何细节的点云至关重要。
当前的点云上采样方法主要分为基于优化和基于学习的方法。基于优化的方法通常严重依赖于不同的形状先验,限制了对不同3D结构的泛化,特别是当先验要求不满足时。
近年来,出现了一大批基于深度学习的点云上采样算法。与由规则网格表示的图像空间不同,点云具有无序性和不规则性,以往传统的处理方式是将点云投影到二维平面或者体素化,再进行特征提取,PointNet [6] 开创了从无序点云直接提取特征的先河,它采用MLP和Max Pooling对称函数相结合来保证点云的排列不变性。然而,PointNet [6] 本质上是对单点操作,最后通过最大池化获取全局特征,并没有考虑局部结构;随后,PointNet++ [7] 的提出融入了点云的局部结构,它构建了点的分层分组,并沿着层次结构逐步抽象出越来越大的局部区域。Pu-Net [8] 基于PointNet++ [7] 的架构实现分层特征学习,以特征复制的方式实现点的扩展。点云上采样有两个目标:生成的点应该描述潜在目标对象的基础几何形状,这意味着它们应该大致位于目标对象表面上;另外,生成的点应该包含丰富的信息,均匀分布在物体表面上。因此,网络设计重建损失和排斥损失来对上采样点云进行约束。至此,基于Pu-Net [8] 的上采样框架不断涌现出来,本文主要对基于深度学习的点云上采样方法进行综述。
早期的点云上采样算法仅仅是简单地对特征进行复制,造成扩展的点特征彼此过于接近,对此后续提出了改进的上采样算法。包括基于生成式模型实现点云生成,在点云图上引入图卷积网络进行上采样,基于注意力机制的点云上采样,自监督点云上采样方法等,近年来,点云上采样与GNN、生成式模型、自监督、注意力机制等技术和思想的融合,推动了点云上采样技术的发展。
2. 点云上采样开山之作:PU-Net
2018年,Yu等学者提出了第一个点云上采样网络PU-Net [8] ,它的上采样过程可以概括为四部分:分片提取(patch extraction),特征嵌入(feature embedding),特征扩展(feature expansion),坐标重建(coordinate reconstruction),如图1所示。
分片提取
在物体表面上随机选择M个点,对于每个点我们都生成一个patch (patch内任何点与中心点的测地距离被限制在d以内),然后使用泊松圆盘采样(Poisson disk sampling)在每个patch上采样N个点,作为小块上的真实点分布。
特征嵌入
采用分层特征学习,逐层进行特征提取,每一层借鉴PointNet++ [7] 的网络结构来实现局部特征聚合,如此可以得到从低层到高层的点云特征。注意越低层的特征细节(局部)信息越丰富,越高层的特征整体(全局)信息越丰富。
接着使用PointNet++ [7] 中的插值方法,对中间产生的一系列点云进行点云上采样,随后使用1 × 1卷积将不同层次的插值特征减少到相同维度C。最后,我们将每一层的特征串联起来作为嵌入点特征f。
特征扩展
对嵌入点特征进行特征复制,这相当于扩展点的数量,因为点和特征是可以互换的。再通过两层MLP,差异化点的特征,使点之间不那么相似。
坐标重建
通过全连接层,对每个点进行三维坐标重建,回归得到点三维坐标。
3. 点云上采样算法的发展
3.1. 渐进式点云上采样策略
2019年Wang等学者提出一种基于点云片的点集渐进式上采样网络MPU [9] ,该网络可以从稀疏和嘈杂的输入中揭示详细的几何结构。模型由一系列上采样网络单元组成,每个单元都有相同的结构,但在不同的细节层面上使用它。各个层级的信息通过单元内部和单元之间的层内和层间连接进行共享。通过逐步端到端地训练所有网络单元,该算法相比之前的工作取得了显着的改进。
2021年,Li等学者 [10] 提出将上采样任务分成两个子目标,提出了基于多目标特性的任务分解,并构建了两个级联子网络,一个密集发生器和一个空间细化器。密集发生器推断出粗糙、密集但细节较少的输出,粗略地描述底层表面;空间细化器通过调整每个点的位置进一步微调粗输出,对粗点进行细化,以更好地覆盖下垫面,实现分布均匀性和接近表面性。
同年,Zhang等学者 [11] 提出了一种新颖的渐进式点云上采样框架来解决点云上采样过程中的非均匀分布问题。本文提出一个Up-UNet特征扩展模块,它能够分别通过向下特征算子和向上特征算子学习局部和全局点特征,以减轻非均匀分布问题并去除异常值。损失函数部分提出一个多尺度重建损失和渲染损失的混合损失函数,多尺度重建损失使每个上采样模块能够生成更密集的点云,而通过基于点的可微渲染的渲染损失确保所提出的模型保留点云结构。
2022年,Bai等学者提出了一种名为BIMS-PU [12] 的点云上采样网络,该算法将特征金字塔架构与双向上采样和下采样路径集成。具体来说,它通过将目标采样因子分解为更小的因子,将上/下采样过程分解为几个上/下采样子步骤。多尺度特征自然以并行方式产生,并使用快速特征融合方法聚合。监督信号同时应用于所有不同尺度的上采样点云。此外,它还制定了一个残差块来简化模型的训练。
同年,Du等学者 [13] 提出了一种简单而有效的级联细化网络,由具有相同网络架构但实现不同目标的三个生成阶段组成。前两个上采样阶段逐渐生成密集但粗糙的点,而最后一个细化阶段进一步将粗点调整到更好的位置。为了减轻多个阶段之间的学习冲突并降低回归新点的难度,鼓励每个阶段预测相对于输入形状的点偏移。通过这种方式,所提出的级联细化网络可以轻松优化,无需额外的学习策略。
3.2. 基于图卷积网络的点云上采样算法
2021年,Qian等学者提出PU-GCN [14] ,在点云中引入图卷积网络,使用图的思想构建局部邻域,实现局部特征聚合;在特征提取阶段,使用称为Inception DenseGCN的多路径密集连接GCN架构来解决这个多尺度特征学习问题。继其在图像识别 [15] [16] [17] 中普遍使用来有效提取多尺度图像信息的优点之后,决定采用Inception架构来编码多尺度点特征,并将其修改为使用密集连接的GCN来代替CNN。其中的GCN实际上采用的是Edgeconv [18] 模块;对于上采样模块,提出NodeShuffle,一种使用图卷积的新型点云上采样模块;PU-GCN [14] 实现了更好的上采样质量。后续的多数上采样模型均采用了图结构的思想。
2022年,Gu等学者提出名为PU-WGCN [19] 的点云上采样技术,该算法设计了图特征增强模块和边界信息加权模块来分别解决空洞过度填充和边界模糊的问题,上采样性能良好。
3.3. 基于生成式模型的点云上采样算法
2019年,Li等学者首次提出基于生成对抗网络(GAN)的点云上采样算法PU-GAN [20] ,该算法在生成器中构建了一个up-down-up扩展单元,用于对点特征进行上采样,并具有错误反馈和自校正功能;判别器根据潜在点隐式评估生成器生成的点集分布,从全局角度规范预测,并隐式惩罚偏离目标的输出。
2022年5月,Liu等学者提出一种用于点云上采样的生成对抗网络PU-Refiner [21] 。网络的生成器包括一个粗略特征扩展模块,用于创建粗略上采样特征,一个几何生成模块,用于从粗略上采样特征回归粗略点云,以及一个渐进几何细化模块,以从粗到细的方式恢复密集点云。网络的鉴别器帮助生成器生成更接近目标分布的点云,高分辨率点云首先经过四层MLP,然后对最后一个MLP层的输出使用最大池化以获得全局响应向量,并将复制的全局响应向量与先前的四层MLP的输出连接起来实现特征增强。这样,代表性的多级特征被融合在一起,这有助于提高判别结果。接下来,使用自注意力单元来增强特征交互。最后,从具有多个全连接层的鉴别器获得逐点置信值。与从整个高分辨率点云获得的单个置信值相比,逐点置信值更稳健,并且可以进行更准确的预测。
2022年7月,Zhou等学者 [22] 提出了一种“零样本”点云上采样(ZSPU)框架,用于内部学习整体点云的自我感知表示。这种整体设计自动适应目标形状的复杂性并避免复杂的设置和基于点云片的方法中patch的预处理。
同年,Liu等学者提出了一种用于点云上采样的生成对抗网络PUFA-GAN [23] ,该网络基于PU-GAN [20] ,它不仅可以使上采样的点均匀分布在底层表面上,而且可以有效地生成干净的高频区域。网络的生成器包括一个动态图分层残差聚合单元和一个分别用于点特征提取和上采样的分层残差聚合单元。前者提取多尺度逐点描述性特征,而后者通过分层残差捕获丰富的特征细节。为了生成整齐的边缘,鉴别器使用图滤波器来提取和保留高频点。生成的高分辨率点云和相应的高频点有助于鉴别器学习点云的全局和高频特性。
2022年,标准化流模型应用于点云上采样,Mao等学者提出了一种基于标准化流的点云上采样模型,称为PU-Flow [24] ,它结合了标准化流和权重预测技术来生成均匀分布在底层表面上的密集点。点变换器通过利用标准化流(NF)来制定欧几里德空间和潜在空间之间点特征的变换,并在潜在空间中进行加权插值,权重由权重估计器自适应预测。
2023年,Hu等学者提出了一个名为ND-PUFlow [25] 的可以实现任意倍率上采样的噪声去噪框架,它由两个阶段组成,即密集噪声点生成和通过连续标准化流(CNF)进行噪声点去噪。在第一阶段,通过向输入点添加噪声来生成噪声点。在第二阶段,CNF将每个噪声点移动到底层表面,形成密集且干净的点云。此外,该算法框架,通过向数据集添加所需数量的噪声,然后将噪声点移动到物体表面,实现了任意比例的上采样。
3.4. 自监督点云上采样算法
2019年,Liu等学者提出了局部到全局自动编码器L2G-AE [26] ,通过局部到全局重建来同时学习点云的局部和全局结构,该方法可以用于点云上采样。L2G-AE [26] 的编码器可以对点、尺度和区域级别的信息进行分层编码,其中引入了一种新颖的分层自注意力来突出每个级别中的重要元素。编码器进一步将从点云中提取的所有信息聚合成全局特征。此外,L2G-AE [26] 采用基于RNN的解码器将学习到的全局特征解码为每个局部区域的尺度序列,并基于尺度特征,增量重建全局点云。L2G-AE [26] 利用这种局部到全局的重建来促进点云理解,最终使局部和全局重建损失能够训练L2G-AE [26] 。
2021年,Zhao等学者出了一种自监督点云上采样网络SSPU-Net [27] ,该算法利用输入稀疏点云和生成的形状和渲染图像的密集点云之间的一致性。具体来说,它首先提出一个邻居扩展单元(NEU)来对稀疏点云进行上采样,其中稀疏点云的局部几何结构被用来学习点插值的权重。然后,我们开发了一个可微点云渲染单元(DRU)作为网络中的端到端模块,将点云渲染为多视图图像。最后,我们制定形状一致损失和图像一致损失来训练网络,使得稀疏点云和密集点云的形状尽可能一致。
2022年,Liu等学者提出了一种名为SPU-Net [28] 的自监督点云上采样网络,以捕获位于底层对象表面上点的固有上采样模式。具体来说,该算法提出了一个从粗到细的重建框架,它包含两个主要部分:分别是点特征提取和点特征扩展。在点特征提取中,将自注意力模块与图卷积网络(GCN)集成,以同时捕获局部区域内部和局部区域之间的上下文信息。在点特征扩展中,引入了一种分层可学习折叠策略,以生成具有可学习二维网格的上采样点集。此外,针对上采样后点云中的离群点,提出了一种与均匀项和重建项相关的新颖的自投影优化作为联合损失,以促进自监督点云上采样。该损失选取fine patch中的某一个点q,通过KNN构建该点的局部区域,然后得到局部区域的中心点,损失函数的设计实现了将点q投影到中心点,也就实现了将离群点拉回点云表面。
3.5. 神经点表示的点云上采样算法
2022年,Feng等学者 [29] 提出了神经点,一种新颖的点云表示形式,可以自然地应用于上采样任务,并且存储开销较低。Neural Points使用包含丰富几何细节的曲面进行训练,使得训练后的模型对各种形状具有足够的表达能力。神经点强大的表示能力、鲁棒性和泛化能力已经被大量的实验所验证,上采样任务上的出色表现进一步验证了其良好的性能。
同年,Zhao等学者提出了一种同时实现自监督和放大倍率灵活的点云上采样的新颖方法SAPCU [30] 。与采用端到端训练框架的现有方法不同,该算法不直接学习输入稀疏点集和输出密集点集之间的映射,而是以自监督的方式寻找给定种子点在物体表面上最近的投影点。通过在空间中密集均匀地采样种子点,可以获得密集且近似均匀的投影点,能够忠实地描述下垫面。提出的自监督点云上采样策略包括四个步骤:种子点采样、表面投影、异常值滤除、任意尺度点云生成。
3.6. 基于注意力机制的点云上采样算法
2022年,Han等学者提出了一种使用注意力机制的新颖的点云上采样算法PU-GACNet [31] ,该算法设计了一个适用于局部和全局特征学习的图注意力卷积(GAC)模块作为特征提取器,通过分配不同的注意力权重来动态组合空间位置和特征属性,卷积运算在捕获局部特征方面很强,但在全局范围建模方面效率较低;相比之下,注意力机制可以有效地模拟特征之间的全局范围关系,但存在过度平滑的问题。因此,这种注意力卷积可以更好地在全局上下文聚合(带有注意力)和局部上下文建模(带有卷积)之间建立联合。此外,该算法还提出了边缘感知NodeShuffle (ENS)模块作为特征扩展器,以平滑地对点特征进行上采样,以更好地保留局部几何细节并强调局部边缘。
2023年,Zhao等学者提出了一种名为APUNet [32] 的注意力引导网络来利用点之间的相关性,它可以对稀疏和非均匀的点云进行反采样。该算法的特征提取单元名为DisTransformer,它可以通过在注意力机制之前引入距离来有效地建模点之间的关系。基于DisTransformer的特征提取网络通过计算点云片之间的相关性和点之间的相关性,融合全局和局部特征,以更好地建模整个对象的相关性。此外,该算法提出一种基于注意力机制的特征预测模块,通过将点云扩展任务转换为点云预测任务来避免生成聚类点。
4. 插值策略在点云上采样中的应用
4.1. PU-Net中的插值策略
PU-Net [8] 在特征提取阶段,采用分层特征提取,每一层使用PointNet++ [7] 的策略进行下采样,实现局部特征聚合,这样就获得了不同尺度的点云特征,此时使用PointNet++ [7] 中的插值策略,上采样点的数目至输入点云点数,这里的插值实际上就是对邻居点的加权求和来作为该点特征,插值公式为:
。
4.2. 潜在空间中的加权插值
以前的工作通常通过特征复制来扩展点,这在实践中可能会导致聚类现象(即不均匀性)。相比之下,PU-Flow [24] 通过自适应地插值局部邻居来对点进行上采样,插值过程中自然会引入点变化。因此,不再需要设计额外的模块来确保点多样性。
对于每个点
插入r个点,具体来说,通过KNN算法找到
的局部邻域,然后通过权重估计器
预测每个潜在点
的R组权重,每一组权重是
的K个邻居的权重集合,这样R组不同的权重得到不同的R个插值点,权重计算公式为:
。
权重估计器简单地参数化为MLP。插值可以表示为对潜在变量
执行的矩阵乘法:
。
4.3. 自适应权重插值
以往的方法,如PU-Net [8] 、PU-GAN [20] 等只是通过简单复制来执行特征扩展,而不考虑点云的局部几何结构。在自监督上采样任务中,由于无法获得ground truth,这些方法中的特征扩展操作往往无法生成高质量的点特征。2021年,Zhao等学者所提出的SSPU-Net [27] 设计了一个NEU上采样模块,从点云的局部几何结构中自适应地学习权重以进行点插值。
对于每个点
插入r个点,具体来说,通过KNN算法找到
的局部邻域
,同时,将特征向量
重复r次,以生成特征图
。通过连接特征图A和B,可以获得新的特征图F = [A; B],其中[·;·]表示通道级联,
。之后,将特征图F通过MLP来自适应学习用于点插值的权重
。将权重
分为权重
和权重
两部分。
和
分别表示相邻点和中心点的权重。点插值公式化为:
。
5. 特征扩展单元
对于上采样任务,特征扩展模块是其中重要的一个组成部分,影响着上采样点云的质量。本节将对特征扩展的机制进行综述。
5.1. 特征复制策略
作为点云上采样的开山之作,PU-Net [8] 的特征扩展策略采用对特征进行复制的方法,再经过两层
的卷积,增加特征之间的差异,尽管如此,这种对特征简单复制的方法仍然会造成扩展的点特征彼此过于接近,容易出现聚类现象。
5.2. 网格策略
PU-GAN [20] 在特征复制的基础上,考虑增加重复特征之间的变化,这相当于将新点推离输入点。将输入特征图复制r次后,采用FoldingNet [33] 中的2D网格机制为每个特征图副本生成一个唯一的2D向量,并将该向量附加到每个点同一特征图副本中的特征向量。
5.3. NodeShuffle模块
PU-GCN [14] 提出名为NodeShuffle的上采样模块,它使用图卷积网络(GCN)来更好地编码来自点邻域的局部点信息。
该操作可以分为两步:
(1) 通道扩展:首先使用1层GCN将节点特征扩展为N × rC;
(2) 周期性洗牌:重新排列通道扩展的输出以形成rN × C的形状。
5.4. 插值策略
近年来,一些工作采用插值的方法来实现点的扩展,PU-Flow [24] 利用标准化流的可逆特性来变换欧几里德空间和潜在空间之间的点,在潜在空间中通过自适应地插值局部邻居来对点进行上采样,插值过程中自然会引入点变化,因此,不再需要设计额外的模块来确保点多样性。
在PU-INN [34] 中,基于潜在空间中的语义相似距离,提出了一种轻量级插值器,可以直观地反映欧氏空间中的插值变化。对于每个点,在其k个最近邻中进行插值以生成新点,并通过相似度计算距离。具体来说,设置质心和候选点特征之间的余弦相似度分数作为潜在空间中语义相似度的度量。余弦相似度可以迫使网络考虑点之间的空间关系,因为两个相邻点自然会产生相似的特征并产生高余弦相似度。
插值方法在点云上采样中的应用一直备受关注,通过和其他机制的合作取得了良好的上采样效果。
6. 评价指标
在点云上采样任务中,常见的评价指标包括倒角距离(Chamfer Distance, CD) [35] 、豪斯多夫距离 (Hausdorff Distance, HD) [36] 、点到表面距离(Point-to-Surface Distance, P2F)、搬土距离(Earth Mover Distance, EMD) [37] 等。
6.1. 倒角距离
倒角距离用来衡量两个点云的不相似度,给定两个点云P和Q,它们的倒角距离为:
前一部分保证生成点云ground truth点云之间的距离最小,后一部分保证,ground truth点云在生成点云中的覆盖率。
倒角距离越小,表明上采样效果越好。
6.2. 豪斯多夫距离
豪斯多夫距离同样用来衡量两个点云的不相似度,给定两个点云P和Q,它们的豪斯多夫距离为:
A代表点云P中的每个点x到距离此点最近的点云Q中点y之间的距离进行排序,然后取该距离中的最大值作为A的值,B同理可得。
是两者中的较大者,它度量了两个点云间的最大不匹配程度。
HD越小,表明上采样效果越好。
6.3. 点到表面距离
点到表面距离是一种用于衡量点云与3D物体表面的不相似程度的方法。给定点云P和3D物体表面Q,为每个点
找到Q中的最近的点y,即
计算所有的P中的点与相应的Q中的点的距离平均值作为P和Q的点到表面距离,即
P2F评价指标的值越小,表示上采样后的点云与原始表面的拟合程度越好。
6.4. 搬土距离
搬土距离是一种用于计算两个点云的不相似程度的方法。给定两个点云P和Q,它们的搬土距离为:
其中,f是一个双射。搬土距离通过寻找最佳的双射来更精确地衡量两个点云的不相似的程度,但计算代价相当昂贵。由于f是一个双射,因此要求P和Q的元素个数相同。
7. 常用数据集
点云上采样任务中,常用的数据集包括PU-GAN [20] 收集的公开数据集和PU1K数据集。
7.1. PU-GAN收集的数据集
PU-GAN [20] 收集的数据集是从PU-Net [8] 和MPU [9] 的已发布数据集以及Visionair存储库中所收集的147个3D模型,涵盖了丰富多样的对象,从简单、平滑的模型(例如二十面体)到复杂的物体(例如雕像);并从中随机选择120个模型作为训练集,其余27个模型作为测试集。
7.2. PU1K数据集
PU1K由1147个3D模型组成,分为1020个训练样本和127个测试样本。训练集包含从PU-GAN [20] 数据集编译的120个3D模型,以及从ShapeNetCore [38] 收集的900个不同模型。测试集包含来自PU-GAN [20] 的27个模型和来自ShapeNetCore [38] 的100多个模型。ShapeNetCore [38] 的模型是从50个不同类别中分别随机选择200个模型,以获得1,000个具有各种形状复杂性的不同模型,以鼓励多样性。总体而言,PU1K涵盖了3D对象较大的语义范围,包括简单和复杂的形状。
8. 研究展望
近年来,点云上采样任务受到越来越多人的关注,上采样算法层出不穷,众多学者将深度学习的各种技术与思想应用于点云上采样任务,并取得了良好的上采样性能。2023年,Li等学者提出了一种用于稀疏点云分类的新颖的语义点云上采样SPU [39] 框架,采用稀疏点云提供的语义先验信息来提高其上采样质量,这样的上采样结果可以更好地服务于后续的点云分类等语义任务。同年,He等学者 [40] 提出一种新的精确点云上采样框架,不同于以往的点云上采样框架:特征提取、特征扩展和3D坐标预测,该算法先通过插值上采样点的数目,再通过迭代优化的过程最小化点到点距离来细化插值点,实现点云上采样。
未来的点云上采样任务可能会与下游的点云分类、分割等任务相结合,使得到的上采样结果更好地服务于下游任务,而不单单是追求良好的视觉质量;与此同时,点云上采样算法更加偏向于与数学思想相结合,无论是神经点的提出,还是最小化距离都是数学思想在点云上采样任务中的运用。
随着注意力机制的不断流行,众多学者也将其应用到上采样任务当中,从而关注到我们想要的特征,比如边缘特征是我们想要的,这样会更加关注点云的边缘,生成的点云在边缘处的质量更高,注意力机制与点云上采样任务的结合也是未来可深入研究的方向。
基金项目
国家自然科学基金(No. 62072024);北京建筑大学北京未来城市设计高精尖创新中心资助项目(UDC2017033322, UDC2019033324);北京建筑大学市属高校基本科研业务费专项资金资助(No. X20084, ZF17061);北京建筑大学研究生创新项目(PG2022144)。
NOTES
*通讯作者。