
# PUFM++：基于增强流匹配的点云上采样技术

刘志松 $^{1}$、何晨航 $^{2}$、罗兰·迈尔 $^{3}$、安德烈亚斯·鲁普 $^{4}$

收稿日期：XXX / 录用日期：XXX

## 摘要

生成式建模领域的最新进展为高质量点云上采样展现了巨大潜力。在本研究中，我们提出了PUFM++——一种用于从稀疏、含噪且不完整的观测数据中重建稠密且精确的点云的增强型流匹配框架。PUFM++从三个关键维度优化了流匹配过程：(i) 几何保真度，(ii) 对不完美输入的鲁棒性，以及(iii) 与下游基于表面的任务的一致性。我们提出了一种两阶段流匹配策略：首先学习从稀疏输入到稠密目标的直接直线路径流，随后利用带噪声的采样点对其进行优化，以更好地逼近终端边际分布。为了加速并稳定推理过程，我们提出了一种数据驱动的自适应时间调度器，可根据插值行为提升采样效率。我们还在采样过程中施加流形约束，以确保生成的点能与底层表面保持一致。最后，我们引入了循环接口网络（RIN）来增强层次化特征交互，进而提升重建质量。在合成基准测试和真实世界扫描数据上的大量实验表明，PUFM++在点云上采样领域树立了新标杆，在各类任务中均展现出卓越的视觉保真度和定量准确性。代码和预训练模型可在 <https://github.com/Holmes-Alan/Enhanced_PUFM> 获取。

关键词：点云 · 流匹配 · 上采样 · 测试时优化

## 1 引言

在3D数据处理领域，点云是一种基础且应用广泛的数据结构，被广泛应用于机器人导航、工业检测、自动驾驶以及3D场景重建等领域。其非结构化特性使得数据采集和处理效率较高；然而，物体识别 [^17]、表面重建 [^11] 以及语义场景理解 [^48] 等许多下游任务，都需要稠密、分布均匀且无噪声的点云。生成此类高质量数据通常需要昂贵的高分辨率3D采集设备，包括激光雷达系统和深度相机。

为了克服硬件驱动方法的局限性，3D几何深度学习领域的最新进展激发了人们对基于学习的点云上采样技术的研究兴趣 [^34] [^1] [^29]，这类技术旨在从统计层面根据稀疏输入推断出稠密输出。该任务在概念上与图像超分辨率技术类似 [^25] [^26]，但由于点集的不规则性和无序性、噪声的存在，以及不完整或拓扑模糊形状普遍存在，因此带来了独特的挑战。

传统方法通常将点云上采样表述为一个优化问题，严重依赖手工设计的几何先验和确定性规则。尽管这些方法在一定程度上效果显著，但在泛化能力和可扩展性方面往往存在局限。PUNet [^50] 的出现标志着向端到端学习的重大转变，使网络能够直接推断高分辨率的点分布……

---

该方法直接从粗糙的输入中生成结果。后续研究进一步改进了这一方向，通过建模局部几何块来利用点云的流形结构，从而学习不同空间尺度上的重复模式 [^49]。尽管取得了这些进展，但由于缺乏富有表现力的特征表示以及全局一致的优化机制，人们开始研发生成式学习框架 [^18] [^29] [^37] [^24]，以期更全面地建模复杂的点分布。

其中，扩散概率模型 [^13] 和基于流匹配的方法 [^20] 已成为用于三维数据合成的有前景的生成范式。PUDM [^37] 和 PUFM [^24] 是近期最先进的技术，它们利用这些原理进行点云上采样，在各类基准测试中均表现出色。扩散模型通过模拟随机去噪过程来生成数据样本，而流匹配则通过学习从稀疏点集到密集点集的连续映射，提供了一种更直接且计算效率更高的替代方案。

在这项工作中，我们提出了PUFM++——一种可扩展的流匹配架构，旨在针对各类物体类别和几何尺度实现任意点云上采样。该架构基于我们先前的框架PUFM [^24]，在局部块空间中进行流匹配，从而能够更灵活、更细致地建模几何结构。值得注意的是，PUFM++仅需五次推理步骤即可实现高质量的上采样，在保持高保真度的同时显著提升了效率。在多个数据集上的大量实验表明，PUFM++达到了最先进的性能水平。针对不同分辨率和真实场景的分析也验证了其在性能、效率和泛化能力方面的优越性。

我们的贡献总结如下：

两阶段流匹配策略。我们提出了一种用于流匹配的两阶段训练框架。第一阶段优化稀疏点集与密集点集之间的完整传输轨迹；第二阶段则采用专门的细化步骤来提升初始推理质量，从而提高结果的保真度和鲁棒性。

- 自适应时间采样。为了加快推理速度，我们提出了一种基于离散常微分方程（ODEs）的自适应采样方案，该方案根据训练轨迹中的统计数据来调整积分步长，从而大幅减少采样步骤的数量。

测试时优化与后处理。我们引入了具有流形感知特性的先验知识，以引导平滑的传输轨迹；同时应用轻量级的基于kNN的后处理模块来改善局部几何一致性，进而获得更高质量的下游网格重建结果。

隐状态递归速度估计。为了在连续的逆向过程中保持长距离的几何一致性，我们将标准的速度网络扩展为带有紧凑演化隐状态的递归形式。这种记忆机制能够在不同噪声水平下提供持久的全局形状上下文，从而在保真度、密度均匀性和结构保存方面取得显著提升。

本研究的基础——PUFM，于2026年发表在AAAI会议上[^24]。PUFM++在三个方面对PUFM进行了重大扩展。（1）在优化方面，PUFM++整合了两阶段流匹配方案、基于统计的时间步采样以及流形感知先验，共同解决了PUFM的收敛限制问题，显著提升了效率与重建保真度（详见第3.2.1–3.2.3节）。（2）在架构方面，PUFM++用受循环接口网络（RINs）启发的循环潜变量自 conditioning机制取代了原有的PointNet++骨干网络，从而实现迭代式精细化处理并提升空间一致性，而这些能力是PUFM的前馈设计所不具备的（详见第3.3节）。（3）最后，我们提供了大幅扩充的实证研究结果，包括更多数据集、更高分辨率以及广泛的真实世界评估，证实了该方法在保真度、鲁棒性和泛化能力上的持续优势（详见第4节）。

## 2 相关工作

### 2.1 点云及其分析

与图像数据不同，点云具有不规则结构且对排列顺序不敏感。PointNet [^3]是首个应用共享多层感知机来提取逐点特征的开创性工作。PointNet++ [^32]在此基础上取得重大改进，它提出了带有集合抽象层的分层架构以提取多层级特征。这种编码器-解码器框架已成为后续诸多任务（包括上采样）的骨干架构。后续研究朝着多个方向拓展：像DGCNN [^42]这类基于图的方法会动态构建图来捕捉局部结构；PointConv [^44]和KPConv [^40]等基于卷积的方法则直接在点云上定义连续或离散卷积；而PVCNN [^27]这类基于体素的混合模型则将稀疏体素卷积的效率与点基网络的精度相结合，以提升计算效率。

---

最近，基于Transformer的架构展现出了令人瞩目的性能。Point Transformer [^54]及其更高效的后续版本Point Transformer V2 [^46]利用向量自注意力机制来建模长距离依赖关系。Point Transformer V3 [^45]通过研究精度与效率之间的权衡，进一步提升了在多个下游任务中的效率。最近，DeepLA-Net [^52]框架进一步推广了深度神经网络在点云处理中的应用，在多项任务上均超越了当前最优水平。

### 2.2 基于学习的点云上采样

点云上采样旨在生成密集且均匀的点集，以精确表征底层表面。基于优化和早期基于学习的方法往往依赖人工设计的先验知识。深度学习的出现催生了诸如PU-Net [^50] 这样的开创性数据驱动方法，该方法先采用特征扩展模块，再接入多层感知机。EC-Net [^51] 引入了边缘感知训练机制，以更好地保留特征信息。MPU [^49] 提出了一种多块渐进式网络，用于处理复杂的表面结构。为了更精准地建模局部几何特征，PU-GCN [^33] 引入了带有NodeShuffle上采样模块的图卷积网络。PUGAN [^18] 首次运用生成对抗网络（GAN）[^9] 来促使生成均匀分布的点云，从而缓解点云聚集的问题。随后，Dis-PU [^19] 通过分离上采样与精细化阶段进一步改进了这一方法。另一类研究则直接对底层表面进行建模：PUGeo-Net [^34] 学习测地映射关系，将点投影到二维参数化域以实现上采样；NePs [^7] 则将上采样视为神经隐式表面重建问题；SPU-Net [^21] 利用自注意力机制和可学习的种子生成模块来捕捉全局与局部结构；PU-Transformer [^36] 则将注意力机制拓展到基于Transformer的设计中，以捕获长距离几何依赖关系。考虑到现实世界中的点云往往含有噪声，近期的研究开始融入去噪功能：SUpercPC [^6] 和PUDense [^1] 能够同时执行上采样与去噪操作，证明了这两项任务可以相互促进。尽管取得了这些进展，以往大多数研究仍存在一个显著局限：过度依赖倒角距离（CD）作为主要的监督信号。虽然倒角距离计算效率较高，但它对底层分布不敏感，容易导致有偏差或非均匀的点分布，无法捕捉精细的几何细节。

### 2.3 扩散模型与流匹配

生成模型，尤其是扩散模型[^13]和流匹配方法[^20]，近年来在点云生成与处理领域取得了显著成果。基于扩散模型的方法能够将高斯分布去噪为数据分布。Diffusion Point Cloud[^28]和PVD[^56]是率先将扩散模型应用于三维点云生成与补全的研究工作。GFNet[^35]引入了用于三维形状合成的流匹配技术，通过从数据中学习到的最优传输路径来对齐源分布与目标分布。在上采样方面，PUDM[^37]将该任务视为条件生成问题，利用稀疏输入引导反向扩散过程以生成密集输出。PDANS[^53]则通过引入自适应噪声抑制（ANS）模块进一步提升了抗噪声能力，从而实现更稳健的点云上采样。一方面，这些方法通常需要20到50个去噪步骤，这会降低推理速度；另一方面，归一化流[^31]能够学习简单先验分布与复杂数据分布之间的可逆映射。PUFlow[^29]是一项开创性工作，它将三维形状表示为潜空间上的可逆流以实现点云上采样。最近，流匹配[^20]作为一种比扩散模型更简单、更高效的选择应运而生，它采用无需模拟的训练目标，仅需较少的采样步骤就能达到更优的性能。尽管流匹配已应用于点云生成（PCFlow[^43]），但其在上采样等条件任务中的潜力仍有待挖掘。近期的研究成果PUFM[^24]便学会了在稀疏点云与密集点云之间建立直接流，从而完成上采样。由于其基于确定性轨迹的学习机制，仅需五个步骤即可高效完成点云上采样。

## 3 方法

### 3.1 preliminaries

流匹配（FM）[^20]及其扩展形式——条件流匹配（CFM）[^41]，是通过常微分方程（ODE）流来学习概率分布间传输动态的有效框架。FM的目标是学习一个随时间变化的向量场$\nu_{\theta}(\boldsymbol{x}, t)$，该向量场由包含参数$\theta$的神经网络参数化，其诱导的流能将源分布$\rho_{0}$转换为目标分布$\rho_{1}$。由此产生的

---

概率密度路径$p_{t}(\boldsymbol{x})$满足连续性方程

 $$ \frac{\partial p_{t}(\boldsymbol{x})}{\partial t}+\nabla\cdot(p_{t}(\boldsymbol{x})\nu_{\theta}(\boldsymbol{x},t))=0. $$

直接学习边际向量场$\nu_{\theta}(\boldsymbol{x}, t)$通常是难以实现的。CFM通过引入条件概率路径$p_{t}(\boldsymbol{x} \mid \boldsymbol{z})$及对应的条件向量场$u_{t}(\boldsymbol{x} \mid \boldsymbol{z})$来解决这一难题，其中$\boldsymbol{z}$表示条件变量，通常为数据的端点。常用的条件路径是一种高斯分布，其均值沿端点间的线性插值变化。也就是说，

 $$ p_{t}(\boldsymbol{x}\mid\boldsymbol{x}_{0},\boldsymbol{x}_{1})=\mathcal{N}\left(\boldsymbol{x}\mid\mu_{t}(\boldsymbol{x}_{0},\boldsymbol{x}_{1}),\sigma_{t}^{2}\boldsymbol{I}\right), $$

 $$ \mu_{t}(\boldsymbol{x}_{0},\boldsymbol{x}_{1})=t\boldsymbol{x}_{1}+(1-t)\boldsymbol{x}_{0}, $$

其中$\boldsymbol{x}_0 \sim \rho_0$和$\boldsymbol{x}_1 \sim \rho_1$。条件向量场$u_t(\boldsymbol{x} \mid \boldsymbol{x}_0, \boldsymbol{x}_1)$的定义需使其诱导的流能够还原这一预设的条件路径。网络参数$\theta$是通过最小化CFM目标函数来学习的，该目标函数旨在让学习到的向量场$\nu_\theta$逼近条件向量场。也就是说，我们最小化

 $$ \mathbb{E}_{t,\boldsymbol{x}_{0},\boldsymbol{x}_{1},\boldsymbol{x}_{t}}\left[\left\|\nu_{\theta}(\boldsymbol{x}_{t},t)-u_{t}(\boldsymbol{x}_{t}\mid\boldsymbol{x}_{0},\boldsymbol{x}_{1})\right\|_{2}^{2}\right], $$

其中 $t \sim \mathcal{U}[0,1]$，端点对 $(\boldsymbol{x}_0, \boldsymbol{x}_1) \sim \pi(\boldsymbol{x}_0, \boldsymbol{x}_1)$ 是从 $\pi$ 与 $\rho_0$ 之间的耦合 $\rho_1$ 中采样的，还有 $\boldsymbol{x}_t \sim p_t(\cdot \mid \boldsymbol{x}_0, \boldsymbol{x}_1)$。在最优传输条件流匹配（OT-CFM）的特殊情况下，条件路径是无噪声的，对应于极限 $\sigma_t \to 0$。这会产生一条确定性的直线轨迹 $\boldsymbol{x}_t = t\boldsymbol{x}_1 + (1-t)\boldsymbol{x}_0$，而对于固定的端点对而言，相关的条件向量场会变得与时间无关，即 $u_t(\boldsymbol{x}_t \mid \boldsymbol{x}_0, \boldsymbol{x}_1) = \boldsymbol{x}_1 - \boldsymbol{x}_0$。

在推理过程中，通过离散时间欧拉积分器来近似学习到的流。给定步长 $\tau$，状态更新方式如下：

 $$ \begin{array}{r}{\boldsymbol{x}_{t+\tau}=\boldsymbol{x}_{t}+\tau\nu_{\theta}(\boldsymbol{x}_{t},t).}\end{array} $$

尽管取得了成功，FM和CFM仍存在与 [^39]、[^2] 中讨论的类似局限性。首先，标准的FM公式会生成确定性的常微分方程轨迹，因此无法恢复薛定谔桥问题所需的随机动力学特性。其次，虽然线性CFM能近似最优传输位移，但除非采用精心设计的耦合 $\rho_0$，否则它并不能严格解决 $\rho_1$ 与 $\pi$ 之间的熵最优传输问题。

![Image](images/54693f7497faa102ca3b428cfdb6a57dda736d06ccbf5f996d52892a9fa3ce9a.jpg)

<div style="text-align: center;">Fig. 1: Flow Matching for Point Cloud Upsampling. We extract paired patches from sparse and dense point clouds and learn the velocity field for point cloud upsampling.</div>

### 3.2 基于流匹配的块状点云上采样

我们提出了一种基于块状点云上采样的增强型流匹配方法（PUFM++），其灵感主要来源于PUDM [^37] 和 PUFM [^24]。前者学习用于点云上采样的条件扩散模型，即从噪声到数据的映射，因此速度较慢且并非最优。相反，PUFM提出利用流匹配来学习从稀疏到密集的分布映射，从而实现超过10倍的加速。在本文中，我们对PUFM的工作进行了扩展，并提出了进一步改进的新技术，具体如下所述。

#### 3.2.1 两阶段流匹配优化

假设我们有一个包含N个点的密集点云 $\mathcal{X}_{\text{dense}} \in \mathbb{R}^{N \times 3}$ 及其稀疏版本 $\mathcal{X}_{\text{sparse}} \in \mathbb{R}^{M \times 3}$（包含M个点），其中 $M \ll N$。我们首先通过中点插值 [^12] 方法对稀疏点云进行密集化处理，得到初步上采样后的点云 $\mathcal{X}_{\text{dense}}^{\prime} \in \mathbb{R}^{M \times 3}$。接着提取对应的块对 $\mathbf{x}_0 \sim \mathcal{X}_{\text{dense}}^{\prime} \in \mathbb{R}^{Q \times 3}$ 和 $\mathbf{x}_1 \sim \mathcal{X}_{\text{dense}} \in \mathbb{R}^{Q \times 3}$。如图1所示，我们的目标是通过在块空间中寻找 $\mathbf{x}_0$ 与 $\mathbf{x}_1$ 之间的最优传输关系，来学习流匹配模型。

第一阶段：预对齐的流匹配优化。基于公式(4)，我们学习流匹配模型以估计速度场 $\nu_{\theta}(\boldsymbol{x}_t, t)$。在大多数情况下，我们假设底层的OT规划 $\pi(\boldsymbol{x}_0, \boldsymbol{x}_1)$ 是稀疏点云与密集点云之间的逐点对应关系。因此，我们按照公式(3)定义插值点，其中 $\boldsymbol{x}_1$ 和 $\boldsymbol{x}_0$ 分别从训练块 $\mathcal{X}_{\mathrm{dense}}^{\prime}$ 和 $\mathcal{X}_{\mathrm{dense}}$ 中采样。然而，三维空间中的点云是无序且分布不规则的。真正的配对点块应来自OT规划中的配对 $(\boldsymbol{x}_0, \boldsymbol{x}_1) \sim \pi^*$，该配对能够最小化将质量从源域传输到目标域的期望成本。

---

也就是说，

 $$ \pi^{*}=\arg\min_{\pi\in\varPi(\boldsymbol{x}_{0},\boldsymbol{x}_{1})}\int||\boldsymbol{x}_{1}-\boldsymbol{x}_{0}||^{2}\mathrm{d}\pi(\boldsymbol{x}_{0},\boldsymbol{x}_{1}) $$

其中 $\varPi(\boldsymbol{x}_{0},\boldsymbol{x}_{1})$ 是所有具有边际分布 $\boldsymbol{x}_{0}$ 和 $\boldsymbol{x}_{1}$ 的耦合（联合分布）集合。

为了找到最优传输计划，我们利用Wasserstein距离来衡量源分布和目标分布，即$\rho_{0} = \sum_{i=1}^{N} a_{i} \delta_{\mathbf{x}_{0}}$和$\rho_{1} = \sum_{i=1}^{N} b_{i} \delta_{\mathbf{x}_{1}}$，其中$\delta_{\mathbf{x}_{i}}$表示以点$\mathbf{x}_{i}$为中心的狄拉克δ分布。地球移动距离（EMD），也就是Wasserstein 1距离，定义为：

 $$ \begin{aligned}EMD(\rho_{0},&\rho_{1})\\&=\min_{\pi\in\varPi(\boldsymbol{x}_{0},\boldsymbol{x}_{1})}\sum_{i=1}^{N}\sum_{j=1}^{M}\pi_{ij}||\boldsymbol{x}_{0}(i)-\boldsymbol{x}_{1}(j)||\end{aligned} $$

这里，$x_0(i), x_1(j)$代表稀疏采样点和密集采样点，分别为$\sum_j \pi_{i,j} = a_i$和$\sum_i \pi_{i,j} = b_j$。由此我们便得到了稀疏点云与密集点云之间的点对点对应关系。值得注意的是，使用EMD的一个主要挑战是其计算成本较高；PointMixup [^4]提出了一种通过拍卖算法来近似求解EMD的方法。该方法将源点视为投标人，目标点视为物品，通过迭代提高“价格”并重新分配匹配关系，使得每个源点都能找到最具成本效益的目标点，从而在$\epsilon$并行时间内得到$\pi^\epsilon$近似的最优传输计划$\mathcal{O}(n^2)$。也就是说，$\pi^\epsilon \in \Pi(\rho_0, \rho_1)$满足：

 $$ \sum_{i,j}c_{i,j}\pi_{i,j}^{\epsilon}\leq\sum_{i,j}c_{i,j}\pi_{i,j}+\epsilon. $$

此处，$c_{i,j} = ||\boldsymbol{x}_1(i) - \boldsymbol{x}_0(j)||^2$是将$\boldsymbol{x}_1^i$与$\boldsymbol{x}_0^j$匹配所需的成本。利用这种近似的EMD，我们可以找出匹配函数$\varphi: \{1, \ldots, N\} \to \{1, \ldots, M\}$，它将每个密集点$\boldsymbol{x}_1$分配给对应的稀疏点$\boldsymbol{x}_0$。随后我们基于最小化误差来训练预对齐的流匹配模型：

 $$ \begin{array}{r}{\mathcal{L}_{\mathrm{M S E}}=\mathbb{E}_{t\sim\mathcal{U}[0,1]}||\nu_{\theta}(\boldsymbol{x}_{t},t)-(\boldsymbol{x}_{1}-\boldsymbol{x}_{0})||^{2}.}\end{array} $$

其中t是从均匀分布$\mathcal{U}[0,1]$中采样的。

第二阶段：端点流匹配优化。我们提出对预对齐的流匹配模型进行第二步优化，以进一步提升点云上采样的质量。在公式(8)中，我们通过回归沿位移路径的速度来进行OT引导的流匹配，这些位移路径由（近似）最优分配$\pi^{\epsilon}$生成，从而确定局部一致的传输方向。不过，仅从$\rho_1$积分时（采样时无法获取$x_0$），并不能保证全局映射结果与$x_1$一致；当OT配对存在噪声或稀疏时，密度也无法保证准确。

```pseudo
// Algorithm 1: Two-Stage Flow Matching for Point Cloud Upsampling

Require:  $\mathcal{X}_{\text{sparse}}$,  $\mathcal{X}_{\text{dense}}$, noise scale  $\sigma$

```

第一阶段：每次训练迭代中的预对齐流匹配

 $\mathbf{x}_0 \sim \mathcal{X}_{\text{sparse}}$, $\mathbf{x}_1 \sim \mathcal{X}_{\text{dense}}$

 $t \leftarrow 1 - \cos(s\pi/2)$, $s \sim \mathcal{U}[0,1]$

$\tilde{\mathbf{x}}_0 \leftarrow \text{mid}(\mathbf{x}_0, \eta)$ $\triangleright$ 中点插值

$\varphi^* \leftarrow \pi(\tilde{\mathbf{x}}_0, \mathbf{x}_1)$ $\triangleright$ OT预对齐（拍卖算法）

 $\mathbf{x}_t \leftarrow (1 - t)\tilde{\mathbf{x}}_0 + t\mathbf{x}_1^{\varphi^*(i)}$

 $\mathcal{L}_{\text{MSE}} \leftarrow \|\nu_\theta(\mathbf{x}_t, t) - (\mathbf{x}_1^{\varphi^*(i)} - \tilde{\mathbf{x}}_0)\|_2^2$

使用$\theta$更新$\mathcal{L}_{\text{FM}}$

结束循环

第二阶段：端点流匹配优化 针对每次优化迭代执行

 $\mathbf{x}_0 \sim \mathcal{X}_{\text{sparse}}$, $\mathbf{x}_1 \sim \mathcal{X}_{\text{dense}}$

$\mathbf{x}_0' \leftarrow \mathbf{x}_0 + \sigma\xi$、$\xi \sim \mathcal{N}(0, I)$ $\triangleright$ 额外噪声

 $\mathbf{x}_{\text{pred}} \leftarrow \mathbf{x}_0' + \nu_\theta(\mathbf{x}_0, 0)$

 $\mathcal{L}_{\text{CD}} \leftarrow \text{CD}(\mathbf{x}_{\text{pred}}, \mathbf{x}_1)$

使用$\theta$更新$\mathcal{L}_{\text{CD}}$

结束循环

在第二步中，我们仅从源点出发积分轨迹，并最小化稀疏点云与密集点云之间的排列不变Chamfer距离（CD）损失。此外，我们还会向稀疏点云中添加额外噪声，以使学习到的流对输入扰动具有鲁棒性，并促进轨迹的局部一致性。所需优化的目标值由下式给出：

 $$ \begin{aligned}\mathcal{L}_{\mathrm{C D}}&=\frac{1}{\|\tilde{\boldsymbol{x}}_{1}\|}\sum_{\tilde{\boldsymbol{x}}_{1}(i)\in\tilde{\boldsymbol{x}}_{1}}\min_{\boldsymbol{x}_{1}(i)\in\boldsymbol{x}_{1}}||\tilde{\boldsymbol{x}}_{1}(i)-\boldsymbol{x}_{1}(i)||^{2}\\&\quad+\frac{1}{\|\boldsymbol{x}_{1}\|}\sum_{\boldsymbol{x}_{1}(i)\in\boldsymbol{x}_{1}}\min_{\tilde{\boldsymbol{x}}_{1}(i)\in\tilde{\boldsymbol{x}}_{1}}||\boldsymbol{x}_{1}(i)-\tilde{\boldsymbol{x}}_{1}(i)||^{2},\end{aligned} $$

其中 $\tilde{\mathbf{x}}_1 = \nu_\theta(\mathbf{x}_0 + \xi,\, 0)$ 与 $\xi \sim \mathcal{N}(0, \sigma^2 I)$。这强制满足了终端边界约束，类似于薛定谔系统，通过调整势能使得学习到的分布 $\rho_1^\theta$ 近似等于真实的 $\rho_1$。更重要的是，额外的噪声 $\xi$ 为流匹配模型引入了平滑正则化项。它降低了相邻初始稀疏点处的梯度方差，促使学习到的场将 $\mathbf{x}_0(i)$ 的邻域一致地变换为 $\mathbf{x}_1(i)$。相关总结见算法1。

#### 3.2.2 自适应时间调度器

如式(5)所示，我们在推理时求解常微分方程通常采用均匀的时间间隔 $\tau$。然而，学习到的模型动力学在时间上并不均匀：在某些区域，速度场变化迅速，需要更精细的时间分辨率；而在其他区域，其演化较为平缓，可以用较粗的步长来处理。

---

为解决这一问题，我们提出了自适应时间调度器（ATS），它会根据学习到的动力学的时间复杂度动态分配常微分方程的采样步数。在模型难以预测的区域分配更多步数，在模型变化平缓的区域则分配较少步数。

为了构建ATS，我们将时间调度器与式(9)中的训练损失相关联。设每个时间步的均方误差损失表示为一个与时间相关的函数 $\mathcal{L}_{\mathrm{MSE}}(t)$。我们将其转化为难度密度，表达式如下：

 $$ \omega(t_{i})=\left(\mathcal{L}_{\mathrm{M S E}}(t_{i})+\psi\right)^{\beta},\qquad\beta>0,~\psi\geq0, $$

其中 $\{t_i\}_{i=0}^K$ 是在 $[0,1]$ 上均匀采样的训练网格。超参数 $\beta$ 用于控制密度的尖锐程度，而 $\psi$ 用于防止密度退化。

基于该密度，我们构造出离散累积分布函数（CDF），其表达式为：

 $$ F_{i}=\frac{\sum_{j=0}^{i}\omega(t_{j})}{\sum_{j=0}^{K}\omega(t_{j})},\qquad i=0,\ldots,K. $$

它满足 $F_{0} = 0$ 和 $F_{K} = 1$。该CDF单调递增，反映了不同时间间隔的相对难度。

给定S个推理步数的目标采样预算，我们定义均匀分布的质点水平：

 $$ o_{s}=\frac{s}{S},\qquad s=0,\ldots,S. $$

对于每个 $o_s$，我们找到区间 $[F_{i-1}, F_i]$ 使得 $F_{i-1} \leq o_s < F_i$，并通过分段线性逆变换采样计算出对应的自适应时间。即：

 $$ t_{s}^{*}=t_{i-1}+\frac{o_{s}-F_{i-1}}{F_{i}-F_{i-1}}\left(t_{i}-t_{i-1}\right). $$

得到的序列 $0 = t_{0}^{*} < t_{1}^{*} < \cdots < t_{S}^{*} = 1$ 即为我们的ATS。

在实际中计算 $\mathcal{L}_{\mathrm{MSE}}(t_i)$ 时，我们冻结预训练模型，并在固定的均匀时间网格上（包含 $K = 50$ 个点，根据经验选取）对训练数据集进行评估。然后我们构建密度 $\omega(t_i)$，构建公式 (12) 中的 CDF，并最终使用公式 (13) 得到推理时间调度 $\{t_s^1\}_{s=0}^{S}$。这种重参数化方法将更多的 ODE 步骤分配给训练难度较高的区域，将较少的步骤分配给平滑区域，从而在不进行额外训练的情况下提高重建保真度。

```pseudo
// Algorithm 2: Sampling with Adaptive Time Scheduler

Require:  $x_0 \sim \mathcal{X}_{sparse}$
```

 $\tilde{x}_0 = \text{mid}(x_0, \eta)$
在训练网格 $\mathcal{L}_{\text{MSE}}(t_i)$ 上计算每个时间步的损失 $\{t_i\}_{i=0}^K$
利用式(11)计算难度权重 $\omega_i$
利用式(12)构造离散CDF $F_i$
通过式(13)的逆变换采样定义自适应时间调度 $\{t_i^*\}_{i=0}^K$
for $k = 0$ 到 $K - 1$ 执行
     $\delta = t_{k+1} - t_k$
     $\kappa = \text{CurvatureEstimate}(x_{t_k})$ $\triangleright$ per-point curvature
     $w = 1 + \alpha_{\text{cur}}\kappa$ $\triangleright$ curvature-based weights
     $x_{t_{k+1}} = x_{t_k} + \delta(w \odot \nu_\theta(x_{t_k}, t_k))$
end for

后处理
 $\mathbf{x}_{kNN} = kNN(\mathbf{x}_{t_{k+1}}, \tilde{x}_0)$ $\triangleright$ kNN搜索
计算流形损失 $\mathcal{L}_{\text{manifold}} = \|x_{kNN} - \tilde{x}_0\|_2$
更新 $\mathbf{x}_{t_{k+1}} \leftarrow x_{t_{k+1}} - \alpha \nabla_{\mathbf{x}_{t_{k+1}}} \mathcal{L}_{\text{manifold}}$

#### 3.2.3 推理优化与后处理

我们还在采样过程中引入了额外的流形约束，以确保点云上采样后的表面平滑性。首先，我们在更新后的点云上估计曲率，并据此学习用于更新的加权速度。设模型预测的点云表示为$\boldsymbol{x}_t = \{\boldsymbol{a}_{i=1}^N\}$。接着，我们通过计算来估计曲率分数$\kappa$。

 $$ \begin{aligned}&\mathbf{C}_{i}=\frac{1}{k}\sum_{\boldsymbol{a}_{j}\in\mathcal{N}_{k}(\boldsymbol{a}_{i})}(\boldsymbol{a}_{j}-\bar{\boldsymbol{a}}_{i})(\boldsymbol{a}_{j}-\bar{\boldsymbol{a}}_{i})^{\top},\\&\mathbf{C}_{i}\boldsymbol{v}_{j}=\lambda_{j}\boldsymbol{v}_{j},\qquad with\qquad\lambda_{1}\leq\lambda_{2}\leq\lambda_{3},\\&\kappa_{i}=\frac{\lambda_{1}}{\lambda_{1}+\lambda_{2}+\lambda_{3}},\\ \end{aligned} $$

其中$\mathcal{N}_k(\boldsymbol{a}_i)$表示点$\boldsymbol{a}_i$的k个最近邻（kNN），而$\tilde{\boldsymbol{a}}_i = \frac{1}{k} \sum_{\boldsymbol{a}_j \in \mathcal{N}_k(\boldsymbol{a}_i)} \boldsymbol{a}_j$是这些邻居的局部均值。我们计算局部协方差矩阵$\boldsymbol{C}_i$，并通过特征分解得到主特征值$\lambda_{\{1,2,3\}}$。现在，曲率分数$\kappa$被用来以较小的学习率$\nu_\theta(\boldsymbol{x}_{t_k}, t_k)$对估计的速度$\alpha_{\text{cur}}$进行加权。更多细节在算法2中给出：基于曲率的权重$\omega$会与估计的速度相乘，用于点云更新（$\odot$表示逐元素乘法）。

此外，对于第t个上采样点云$\boldsymbol{x}_t$，我们再次利用kNN在原始稀疏输入$\tilde{\boldsymbol{x}}_0$中寻找邻域，并将它们之间的距离定义为流形约束。我们计算该距离关于上采样点云的梯度，从而得到使上采样点更靠近底层表面流形的正确方向。我们以较小的学习率$\alpha$更新点云（详见算法2中的后处理步骤）。

---

![Image](images/e97543641a78b1abcddf480c56667445c4f0274cf8b2ecc3773e529237a629b9.jpg)

<div style="text-align: center;">Fig. 2: Overview of the proposed iterative point cloud upsampling network. The network takes the current sampled point cloud  $\mathbf{x}_t$, sampling step  t, and previous latent code  z as input. A point feature encoder extracts features  $f(\mathbf{x}_t)$. The latent interface  $z_t$ is initialized by conditioning on time and global embedding. The core processing consists of stacked RIN blocks. The network outputs the estimated velocity field  $\nu_\theta$ and the updated latent code  $z_{t+1}$ for the next iteration.</div>

### 3.3 隐状态循环速度估计

标准的流匹配模型通常将速度场$\nu_\theta$建模为当前几何结构$\boldsymbol{x}_t$和时间t的无状态函数。然而，点云生成是一个动态演变的过程；仅依赖瞬时状态$\boldsymbol{x}_t$会迫使网络在每一步都重新推断全局结构，往往导致时间上的不一致性。为解决这一问题，我们提出了一种依赖状态的估计器，它能显式地维护全局上下文。我们扩展了模型公式，使$\nu$还依赖于$\boldsymbol{z}_t$，网络会同时预测速度和下一步的更新后隐状态，即：

 $$ [\nu_{\mathrm{p r e d}},z_{t+1}]=\nu_{\theta}(\boldsymbol{x}_{t},\boldsymbol{z}_{t},t). $$

此处，$z_t$充当一种动态变化的记忆，其初始化$z_{\text{init}}$包含正弦时间嵌入和全局特征。这一机制确保了速度预测能受到累积几何历史信息的引导。为实现这种依赖状态的函数，我们采用了循环接口网络（RIN）[^14]架构——它利用一组可学习的潜入标记来表示z，并通过堆叠的读取-计算-写入注意力机制与点特征$f(\boldsymbol{x}_t^l)$进行交互（其中l表示第l层的特征图），具体过程如下：

读取：

 $$ z_{t}^{l+1}=z_{t}^{l}+\mathrm{M H A}(z_{t},f(\boldsymbol{x}_{t}^{l})) $$

计算：

 $$ z_{t}^{l+1}=z_{t}^{l}+\mathrm{M L P}(z_{t}^{l}) $$

 $$ \begin{aligned}\boldsymbol{z}_{t}^{l+1}&=\boldsymbol{z}_{t}^{l}+MHA(\boldsymbol{z}_{t}^{l},\boldsymbol{z}_{t}^{l})\\\boldsymbol{z}_{t}^{l+1}&=\boldsymbol{z}_{t}^{l}+MLP(\boldsymbol{z}_{t}^{l})\end{aligned} $$

写入：

 $$ \begin{aligned}&f(\boldsymbol{x}_{t}^{l+1})=f(\boldsymbol{x}_{t}^{l})+\mathrm{MHA}(f(\boldsymbol{x}_{t}^{l}),\boldsymbol{z}_{t}^{l})\\&f(\boldsymbol{x}_{t}^{l+1})=f(\boldsymbol{x}_{t}^{l})+\mathrm{MLP}(f(\boldsymbol{x}_{t}^{l})),\\ \end{aligned} $$

其中MHA代表多头注意力。这种结构使得网络能够将稀疏的局部信息聚合为密集的全局表征（读取），对其进行抽象处理（计算），再将精炼后的上下文重新分配回各个点（写入）。

采用两阶段估计进行训练。训练过程中会遇到一个挑战：由于时间步t是独立采样的，因此无法获得序列化的历史信息$z_{t-1}$。为模拟这种递归关系，我们采用了两阶段策略。在第一阶段，我们使用空初始化来估计代理隐状态$\tilde{z}_t$。也就是说：

 $$ \tilde{v}_{\mathrm{p r e d}},\tilde{z}_{t}=\nu_{\theta}(\boldsymbol{x}_{t},\mathbf{0},t). $$

在第二轮传递中，这个作为“记忆”上下文的代理隐变量会被用来约束网络以进行最终预测，其内容如下：

 $$ \nu_{\mathrm{p r e d}},\boldsymbol{z}_{t+1}=\nu_{\theta}(\boldsymbol{x}_{t},\mathrm{s g}(\boldsymbol{z}_{t}),t), $$

---

其中 $sg(\cdot)$ 表示停止梯度传播操作。这种方式实际上是在训练模型去利用它自身的隐变量预测结果，从而弥合并行训练与序列推理之间的差距。

## 4 实验

### 4.1 实验细节

数据集。我们选用两个公开可用的数据集用于训练和评估，分别是PUGAN [^18] 和 PU1K [^33]。我们采用与 [^49] 中相同的流程来提取配对的稀疏点云和稠密点云。给定3D网格后，我们首先使用泊松圆盘采样生成稠密点云，接着通过最远点采样（FPS）选取质心，最后利用kNN为所有质心生成稠密补丁。每个稠密补丁包含1024个点。随后我们从每个稠密补丁中随机采样256个点，得到对应的稀疏补丁。在测试阶段，我们分别从PUGAN和PU1K中获取27个和127个点云。此外，我们还使用了三个真实世界的点云，借助ScanNet [^5]、KITTI [^8] 和 ABC [^16] 数据集做进一步分析。

评估指标。为了衡量点云上采样质量，我们在实验中采用了倒角距离（CD）、豪斯多夫距离（HD）以及点到表面距离（P2F）作为评估指标。此外，我们还用詹森-香农散度（JSD）分数来衡量点云分布。我们使用k-d树将3D空间划分为体素，再计算各体素对之间的平均KL散度。当JSD趋近于零时，说明两个点云几乎完全相同。由于下游应用需要基于上采样后的点云进行网格重建，因此我们还引入了法线一致性（NC）指标，即一个网格中法线与另一个网格中最近邻点处法线的余弦绝对值均值。面积长度比（ALR）[^10] 用于衡量网格内单个三角形的形状质量，等边三角形对应的比值最大，为1，代表最佳形状质量。流形率（MR）[^10] 则用于量化网格中满足流形条件的边的比例：若一条边恰好被两个面共享，则该边属于流形边；该比率越接近1，说明网格结构越规整，适合进行布尔运算和3D打印等操作；反之，较低的比率则表明存在非流形边，可能需要对网格进行修复或细化。

训练设置。我们对RIN [^14] 架构进行了修改，并将其用作速度场模型 $\nu_0$。如算法1所总结的，训练过程分为两个阶段。在第一阶段的预对齐流匹配优化中，我们主要遵循PUFM [^24] 中的设置，采用32的批量大小和 $10^{-4}$ 的学习率。我们使用Adam优化器 [^15] 对模型训练100个周期。不同采样步骤下的平均损失值被用于CDF计算（公式12），并保存下来以供推理阶段使用。在第二阶段的端点流匹配精细化中，我们采用 $10^{-5}$ 的学习率对模型进行微调，训练50个周期。我们为额外添加的高斯噪声定义了噪声尺度 $\sigma = 0.02$。在数据增强方面，我们随机对稀疏点云和密集点云应用旋转和平移操作。推理设置。在推理阶段，我们首先对目标稀疏点云应用FPS和kNN操作，得到作为模型输入的补丁。根据算法2，我们利用CDF和推理步骤总数来计算ODE采样所需的自适应时间步长。最后一步可选择应用流形优化以进一步提升效果。我们根据经验结果定义了更新因子 $\alpha = 0.01$。最终，我们将所有上采样的补丁拼接起来，形成最终的密集点云。

### 4.2 与现有最先进方法的比较

在此，我们在PUGAN和PU1K两个数据集上对PUFM++进行评估，并将其与PUBP [^23]、PUGCN [^33]、RepKPU [^38]、PUGAN [^18]、PUDM [^37]、Grad-PU [^12]、PUFM [^24]、SAPCU [^55]以及PDANS [^53]等最先进方法进行比较。需要注意的是，PDANS的作者并未发布其预训练模型，因此我们基于官方代码重新实现了该模型，并将结果记为PDANS†。表1报告了基于点云的CD、HD、P2F和JSD指标上的结果（包括4倍和16倍上采样）。可以看出，我们的方法在所有指标上均取得了显著优势，尤其是在P2F指标上。具体而言，从CD和HD得分来看，在4倍上采样时我们的方法比PUFM分别高出0.07和0.13；在16倍上采样时则分别高出0.05和0.12。这些差距甚至比其他方法更大。在P2F得分方面，最具竞争力的方法是Grad-PU，但我们的方法仍取得了最佳结果，在两种上采样场景下均有0.3–0.7的提升。我们还加入了JSD得分作为分布相似度的衡量指标，发现我们的方法在所有方法中数值最低。具体来说，与PUFM相比，PUFM++将JSD得分降低了20–45%。

图3展示了4倍点云上采样的视觉对比结果。为了突出细微差异，我们首先计算真实数据与模型预测之间的点对点距离，然后

---

<div style="text-align: center;">Table 1: Point cloud upsampling comparison with state-of-the-art methods. We report the numbers of the Chamfer distance (CD, scaled by  $10^{4}$), the Hausdorff distance (HD, scaled by  $10^{3}$), point-to-surface (P2F, scaled by  $10^{3}$), and the Jensen-Shannon divergence (JSD without scaling) on the PUGAN and PU1K datasets. Red indicates the best results, and blue indicates the second-best results. Note that the comparisons are conducted on arbitrarily downsampled sparse point clouds; therefore, the results of different methods are not directly comparable to those reported in the literature.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>upsampling factor</td><td style='text-align: center; word-wrap: break-word;'>Metrics</td><td style='text-align: center; word-wrap: break-word;'>PUBP</td><td style='text-align: center; word-wrap: break-word;'>PUGCN</td><td style='text-align: center; word-wrap: break-word;'>RepKPU</td><td style='text-align: center; word-wrap: break-word;'>PUGAN</td><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>Grad-PU</td><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>SAPCU</td><td style='text-align: center; word-wrap: break-word;'>PDANS $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>Ours</td></tr><tr><td rowspan="8">PUGAN</td><td rowspan="4">4</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>1.649</td><td style='text-align: center; word-wrap: break-word;'>2.774</td><td style='text-align: center; word-wrap: break-word;'>1.067</td><td style='text-align: center; word-wrap: break-word;'>1.541</td><td style='text-align: center; word-wrap: break-word;'>1.221</td><td style='text-align: center; word-wrap: break-word;'>1.132</td><td style='text-align: center; word-wrap: break-word;'>1.049</td><td style='text-align: center; word-wrap: break-word;'>1.522</td><td style='text-align: center; word-wrap: break-word;'>1.201</td><td style='text-align: center; word-wrap: break-word;'>0.980</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>1.476</td><td style='text-align: center; word-wrap: break-word;'>3.831</td><td style='text-align: center; word-wrap: break-word;'>1.139</td><td style='text-align: center; word-wrap: break-word;'>1.391</td><td style='text-align: center; word-wrap: break-word;'>1.174</td><td style='text-align: center; word-wrap: break-word;'>1.186</td><td style='text-align: center; word-wrap: break-word;'>0.876</td><td style='text-align: center; word-wrap: break-word;'>1.471</td><td style='text-align: center; word-wrap: break-word;'>1.165</td><td style='text-align: center; word-wrap: break-word;'>0.747</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>5.997</td><td style='text-align: center; word-wrap: break-word;'>9.508</td><td style='text-align: center; word-wrap: break-word;'>1.974</td><td style='text-align: center; word-wrap: break-word;'>5.420</td><td style='text-align: center; word-wrap: break-word;'>3.132</td><td style='text-align: center; word-wrap: break-word;'>1.957</td><td style='text-align: center; word-wrap: break-word;'>1.864</td><td style='text-align: center; word-wrap: break-word;'>3.441</td><td style='text-align: center; word-wrap: break-word;'>2.897</td><td style='text-align: center; word-wrap: break-word;'>1.301</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>JSD</td><td style='text-align: center; word-wrap: break-word;'>0.208</td><td style='text-align: center; word-wrap: break-word;'>0.205</td><td style='text-align: center; word-wrap: break-word;'>0.196</td><td style='text-align: center; word-wrap: break-word;'>0.196</td><td style='text-align: center; word-wrap: break-word;'>0.147</td><td style='text-align: center; word-wrap: break-word;'>0.111</td><td style='text-align: center; word-wrap: break-word;'>0.121</td><td style='text-align: center; word-wrap: break-word;'>0.135</td><td style='text-align: center; word-wrap: break-word;'>0.148</td><td style='text-align: center; word-wrap: break-word;'>0.098</td></tr><tr><td rowspan="4">16</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>0.982</td><td style='text-align: center; word-wrap: break-word;'>1.102</td><td style='text-align: center; word-wrap: break-word;'>0.384</td><td style='text-align: center; word-wrap: break-word;'>0.869</td><td style='text-align: center; word-wrap: break-word;'>0.533</td><td style='text-align: center; word-wrap: break-word;'>0.415</td><td style='text-align: center; word-wrap: break-word;'>0.353</td><td style='text-align: center; word-wrap: break-word;'>0.717</td><td style='text-align: center; word-wrap: break-word;'>0.498</td><td style='text-align: center; word-wrap: break-word;'>0.286</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>2.071</td><td style='text-align: center; word-wrap: break-word;'>1.785</td><td style='text-align: center; word-wrap: break-word;'>1.245</td><td style='text-align: center; word-wrap: break-word;'>1.746</td><td style='text-align: center; word-wrap: break-word;'>1.185</td><td style='text-align: center; word-wrap: break-word;'>1.142</td><td style='text-align: center; word-wrap: break-word;'>0.844</td><td style='text-align: center; word-wrap: break-word;'>5.371</td><td style='text-align: center; word-wrap: break-word;'>1.175</td><td style='text-align: center; word-wrap: break-word;'>0.687</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>7.496</td><td style='text-align: center; word-wrap: break-word;'>7.125</td><td style='text-align: center; word-wrap: break-word;'>2.151</td><td style='text-align: center; word-wrap: break-word;'>6.757</td><td style='text-align: center; word-wrap: break-word;'>3.589</td><td style='text-align: center; word-wrap: break-word;'>2.185</td><td style='text-align: center; word-wrap: break-word;'>2.103</td><td style='text-align: center; word-wrap: break-word;'>3.256</td><td style='text-align: center; word-wrap: break-word;'>3.226</td><td style='text-align: center; word-wrap: break-word;'>1.412</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>JSD</td><td style='text-align: center; word-wrap: break-word;'>0.149</td><td style='text-align: center; word-wrap: break-word;'>0.250</td><td style='text-align: center; word-wrap: break-word;'>0.077</td><td style='text-align: center; word-wrap: break-word;'>0.143</td><td style='text-align: center; word-wrap: break-word;'>0.108</td><td style='text-align: center; word-wrap: break-word;'>0.056</td><td style='text-align: center; word-wrap: break-word;'>0.074</td><td style='text-align: center; word-wrap: break-word;'>0.070</td><td style='text-align: center; word-wrap: break-word;'>0.089</td><td style='text-align: center; word-wrap: break-word;'>0.040</td></tr><tr><td rowspan="8">PU1K</td><td rowspan="4">4</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>0.694</td><td style='text-align: center; word-wrap: break-word;'>1.241</td><td style='text-align: center; word-wrap: break-word;'>0.566</td><td style='text-align: center; word-wrap: break-word;'>0.682</td><td style='text-align: center; word-wrap: break-word;'>0.706</td><td style='text-align: center; word-wrap: break-word;'>0.626</td><td style='text-align: center; word-wrap: break-word;'>0.545</td><td style='text-align: center; word-wrap: break-word;'>0.605</td><td style='text-align: center; word-wrap: break-word;'>0.669</td><td style='text-align: center; word-wrap: break-word;'>0.491</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>0.593</td><td style='text-align: center; word-wrap: break-word;'>1.504</td><td style='text-align: center; word-wrap: break-word;'>0.619</td><td style='text-align: center; word-wrap: break-word;'>0.632</td><td style='text-align: center; word-wrap: break-word;'>0.605</td><td style='text-align: center; word-wrap: break-word;'>0.583</td><td style='text-align: center; word-wrap: break-word;'>0.556</td><td style='text-align: center; word-wrap: break-word;'>0.587</td><td style='text-align: center; word-wrap: break-word;'>0.600</td><td style='text-align: center; word-wrap: break-word;'>0.432</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>2.206</td><td style='text-align: center; word-wrap: break-word;'>5.115</td><td style='text-align: center; word-wrap: break-word;'>1.464</td><td style='text-align: center; word-wrap: break-word;'>2.792</td><td style='text-align: center; word-wrap: break-word;'>2.891</td><td style='text-align: center; word-wrap: break-word;'>1.510</td><td style='text-align: center; word-wrap: break-word;'>1.770</td><td style='text-align: center; word-wrap: break-word;'>1.655</td><td style='text-align: center; word-wrap: break-word;'>2.884</td><td style='text-align: center; word-wrap: break-word;'>1.243</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>JSD</td><td style='text-align: center; word-wrap: break-word;'>0.286</td><td style='text-align: center; word-wrap: break-word;'>0.359</td><td style='text-align: center; word-wrap: break-word;'>0.265</td><td style='text-align: center; word-wrap: break-word;'>0.315</td><td style='text-align: center; word-wrap: break-word;'>0.351</td><td style='text-align: center; word-wrap: break-word;'>0.262</td><td style='text-align: center; word-wrap: break-word;'>0.304</td><td style='text-align: center; word-wrap: break-word;'>0.361</td><td style='text-align: center; word-wrap: break-word;'>0.352</td><td style='text-align: center; word-wrap: break-word;'>0.256</td></tr><tr><td rowspan="4">16</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>0.343</td><td style='text-align: center; word-wrap: break-word;'>2.393</td><td style='text-align: center; word-wrap: break-word;'>0.290</td><td style='text-align: center; word-wrap: break-word;'>0.361</td><td style='text-align: center; word-wrap: break-word;'>0.421</td><td style='text-align: center; word-wrap: break-word;'>0.316</td><td style='text-align: center; word-wrap: break-word;'>0.220</td><td style='text-align: center; word-wrap: break-word;'>0.379</td><td style='text-align: center; word-wrap: break-word;'>0.415</td><td style='text-align: center; word-wrap: break-word;'>0.176</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>0.712</td><td style='text-align: center; word-wrap: break-word;'>4.214</td><td style='text-align: center; word-wrap: break-word;'>0.592</td><td style='text-align: center; word-wrap: break-word;'>0.773</td><td style='text-align: center; word-wrap: break-word;'>0.602</td><td style='text-align: center; word-wrap: break-word;'>0.552</td><td style='text-align: center; word-wrap: break-word;'>0.578</td><td style='text-align: center; word-wrap: break-word;'>2.006</td><td style='text-align: center; word-wrap: break-word;'>0.589</td><td style='text-align: center; word-wrap: break-word;'>0.429</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>2.958</td><td style='text-align: center; word-wrap: break-word;'>9.410</td><td style='text-align: center; word-wrap: break-word;'>1.821</td><td style='text-align: center; word-wrap: break-word;'>3.538</td><td style='text-align: center; word-wrap: break-word;'>3.370</td><td style='text-align: center; word-wrap: break-word;'>1.890</td><td style='text-align: center; word-wrap: break-word;'>1.983</td><td style='text-align: center; word-wrap: break-word;'>2.400</td><td style='text-align: center; word-wrap: break-word;'>3.320</td><td style='text-align: center; word-wrap: break-word;'>1.375</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>JSD</td><td style='text-align: center; word-wrap: break-word;'>0.282</td><td style='text-align: center; word-wrap: break-word;'>0.362</td><td style='text-align: center; word-wrap: break-word;'>0.229</td><td style='text-align: center; word-wrap: break-word;'>0.225</td><td style='text-align: center; word-wrap: break-word;'>0.287</td><td style='text-align: center; word-wrap: break-word;'>0.211</td><td style='text-align: center; word-wrap: break-word;'>0.228</td><td style='text-align: center; word-wrap: break-word;'>0.262</td><td style='text-align: center; word-wrap: break-word;'>0.285</td><td style='text-align: center; word-wrap: break-word;'>0.135</td></tr></table>

<div style="text-align: center;">Table 2: Mesh reconstruction comparison with state-of-the-art methods. We show the area-length ratio (ALR), the manifoldness rate (MR), and normal consistency (NC) on the PU1K datasets. Red indicates the best results, and blue indicates the second-best results.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>upsampling factor</td><td style='text-align: center; word-wrap: break-word;'>Metrics</td><td style='text-align: center; word-wrap: break-word;'>PUBP</td><td style='text-align: center; word-wrap: break-word;'>PUGCN</td><td style='text-align: center; word-wrap: break-word;'>RepKPU</td><td style='text-align: center; word-wrap: break-word;'>PUGAN</td><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>Grad-PU</td><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>SAPCU</td><td style='text-align: center; word-wrap: break-word;'>PDANS $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>Ours</td></tr><tr><td rowspan="6">PU1K</td><td rowspan="4">4</td><td style='text-align: center; word-wrap: break-word;'>ALR</td><td style='text-align: center; word-wrap: break-word;'>0.231</td><td style='text-align: center; word-wrap: break-word;'>0.202</td><td style='text-align: center; word-wrap: break-word;'>0.251</td><td style='text-align: center; word-wrap: break-word;'>0.237</td><td style='text-align: center; word-wrap: break-word;'>0.239</td><td style='text-align: center; word-wrap: break-word;'>0.229</td><td style='text-align: center; word-wrap: break-word;'>0.243</td><td style='text-align: center; word-wrap: break-word;'>0.243</td><td style='text-align: center; word-wrap: break-word;'>0.240</td><td style='text-align: center; word-wrap: break-word;'>0.250</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MR</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>0.989</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.989</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.988</td><td style='text-align: center; word-wrap: break-word;'>0.992</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NC</td><td style='text-align: center; word-wrap: break-word;'>0.946</td><td style='text-align: center; word-wrap: break-word;'>0.932</td><td style='text-align: center; word-wrap: break-word;'>0.949</td><td style='text-align: center; word-wrap: break-word;'>0.944</td><td style='text-align: center; word-wrap: break-word;'>0.930</td><td style='text-align: center; word-wrap: break-word;'>0.939</td><td style='text-align: center; word-wrap: break-word;'>0.949</td><td style='text-align: center; word-wrap: break-word;'>0.941</td><td style='text-align: center; word-wrap: break-word;'>0.931</td><td style='text-align: center; word-wrap: break-word;'>0.957</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ALR</td><td style='text-align: center; word-wrap: break-word;'>0.256</td><td style='text-align: center; word-wrap: break-word;'>0.216</td><td style='text-align: center; word-wrap: break-word;'>0.240</td><td style='text-align: center; word-wrap: break-word;'>0.246</td><td style='text-align: center; word-wrap: break-word;'>0.242</td><td style='text-align: center; word-wrap: break-word;'>0.235</td><td style='text-align: center; word-wrap: break-word;'>0.237</td><td style='text-align: center; word-wrap: break-word;'>0.246</td><td style='text-align: center; word-wrap: break-word;'>0.243</td><td style='text-align: center; word-wrap: break-word;'>0.267</td></tr><tr><td rowspan="2">16</td><td style='text-align: center; word-wrap: break-word;'>MR</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.989</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.988</td><td style='text-align: center; word-wrap: break-word;'>0.989</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.988</td><td style='text-align: center; word-wrap: break-word;'>0.993</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NC</td><td style='text-align: center; word-wrap: break-word;'>0.922</td><td style='text-align: center; word-wrap: break-word;'>0.846</td><td style='text-align: center; word-wrap: break-word;'>0.932</td><td style='text-align: center; word-wrap: break-word;'>0.909</td><td style='text-align: center; word-wrap: break-word;'>0.886</td><td style='text-align: center; word-wrap: break-word;'>0.896</td><td style='text-align: center; word-wrap: break-word;'>0.921</td><td style='text-align: center; word-wrap: break-word;'>0.929</td><td style='text-align: center; word-wrap: break-word;'>0.891</td><td style='text-align: center; word-wrap: break-word;'>0.950</td></tr></table>

将距离标准化并用不同颜色进行编码。我们可以得出以下结论：1）从点云分布来看，即使输入点云存在类似孔洞的不均匀分布，我们的方法仍能产生平滑且均匀的分布；例如摩托车就是如此；2）从点云上的整体颜色分布来看，比如第一排的椅子，我们的方法在所有方法中误差最小；3）与PUFM相比，我们的方法能够保留清晰的3D形状，比如飞机，同时还能去除异常值，摩托车就是例子；4）SAPCU往往会在不考虑尖锐曲率的情况下过度平滑区域，比如灯就是如此，而PUDM会保留不均匀分布，从而导致表面不平滑，椅子和摩托车便是例证。

此外，我们还对基于上采样点云的网格重建感兴趣。为了生成网格，我们首先从点云中计算法线，然后利用Marching Cube方法生成网格。我们在表2中报告了4倍和16倍上采样下的网格对比结果。在法线估计（NC）方面，我们的方法以显著优势优于其他所有方法，这体现了其表面的平滑性。对于ALR而言，PUFM++的表现仅次于RepKPU方法，位居第二。对于MR，PUFM++的性能与其他方法相当甚至更优。图4展示了视觉对比结果。

---

![Image](images/1d2de9dff0d93a136b51294464e5b00a40e47188b571781b9be0c67e57460d74.jpg)

<div style="text-align: center;">Fig. 3: Visual comparison of different methods on 4-times upsampling. We apply different methods to four examples from the PU1K dataset. Our method generates evenly distributed points and sharp edges, while others exhibit obvious holes and noisy surfaces (see the enlarged region in red boxes).</div>

在网格重建方面，我们可以看到我们的方法能生成表面更平滑、孔洞更少的网格。相反，其他方法生成的网格则存在噪声且不完整（见红色框标记的区域）。例如，我们的方法能够准确还原马（第一行）和鸟（第二行）腿部的精细细节。它还能为相机（第三行）、房屋（第四行）以及盘子（第五行）生成更平滑的表面。

### 4.3 PUF的消融实验 $M^{++}$

在本节中，我们对PUFM++进行了消融实验。具体来说，我们分别对训练方案4.3.1和推理方案4.3.2进行了分析。

#### 4.3.1 训练方案

在训练阶段，我们提出了两项重要改进：1）采用带预对齐的两阶段流匹配优化；2）用循环接口网络（RIN）替代PointNet++。

两阶段流匹配优化。如第3节所述，我们的核心创新点之一就是这种两阶段训练方法。在第一阶段，我们进行预对齐操作，以改善稀疏点云与密集点云之间的线性插值效果。预对齐是对EMD的近似，仅在训练期间使用，计算开销极小。在推理阶段，我们可以跳过预对齐步骤，直接对稀疏点云进行细化以获得密集输出。第二阶段则采用端点流匹配细化技术，进一步提升上采样质量。为了便于对比，我们在表3中报告了消融实验结果。

---

![Image](images/fef925ca2788ddee4852213c9d23415170290c9bd66c6a39b50f8af6bdfd103b.jpg)

<div style="text-align: center;">Fig. 4: Visual comparison of different methods on 16-times upsampling for mesh reconstruction. We apply different methods to five examples from the PUGAN and PU1K dataset. Then we use the Marching Cubes algorithm to reconstruct meshes from the upsampled point clouds for qualitative comparison.</div>

<div style="text-align: center;">Table 3: Ablation on training strategies. CD, HD, and P2F scores on PUGAN and PU1K datasets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="4">Training strategy</td><td colspan="4">PUGAN</td><td colspan="2">PU1K</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NoAlign</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>EMD $^{*}$</td><td style='text-align: center; word-wrap: break-word;'>S2-Refine</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>P2F</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>4.989</td><td style='text-align: center; word-wrap: break-word;'>4.335</td><td style='text-align: center; word-wrap: break-word;'>2.120</td><td style='text-align: center; word-wrap: break-word;'>3.001</td><td style='text-align: center; word-wrap: break-word;'>4.189</td><td style='text-align: center; word-wrap: break-word;'>8.44</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1.135</td><td style='text-align: center; word-wrap: break-word;'>1.200</td><td style='text-align: center; word-wrap: break-word;'>1.895</td><td style='text-align: center; word-wrap: break-word;'>0.648</td><td style='text-align: center; word-wrap: break-word;'>0.756</td><td style='text-align: center; word-wrap: break-word;'>1.766</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1.010</td><td style='text-align: center; word-wrap: break-word;'>0.815</td><td style='text-align: center; word-wrap: break-word;'>1.742</td><td style='text-align: center; word-wrap: break-word;'>0.523</td><td style='text-align: center; word-wrap: break-word;'>0.522</td><td style='text-align: center; word-wrap: break-word;'>1.658</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>1.012</td><td style='text-align: center; word-wrap: break-word;'>0.801</td><td style='text-align: center; word-wrap: break-word;'>1.754</td><td style='text-align: center; word-wrap: break-word;'>0.526</td><td style='text-align: center; word-wrap: break-word;'>0.516</td><td style='text-align: center; word-wrap: break-word;'>1.716</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>0.098</td><td style='text-align: center; word-wrap: break-word;'>0.747</td><td style='text-align: center; word-wrap: break-word;'>1.301</td><td style='text-align: center; word-wrap: break-word;'>0.491</td><td style='text-align: center; word-wrap: break-word;'>0.432</td><td style='text-align: center; word-wrap: break-word;'>1.243</td></tr></table>

在表3中，我们将完整模型与未采用预对齐及第二阶段细化的模型进行了对比。对于预对齐操作，我们比较了近似EMD（EMD*）与CD在对齐效果上的差异。可以看出，两者都比未对齐的方法有显著提升。此外，使用近似EMD能使CD值改善0.1–0.4。

<div style="text-align: center;">Table 4: Ablation on network selection. CD, HD, and P2F scores on the PUGAN and PU1K datasets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Network</td><td colspan="3">PUGAN</td><td colspan="3">PU1K</td><td rowspan="2">Params</td><td rowspan="2">Running time (s)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>P2F</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointNet++ (single-stage)</td><td style='text-align: center; word-wrap: break-word;'>1.049</td><td style='text-align: center; word-wrap: break-word;'>0.876</td><td style='text-align: center; word-wrap: break-word;'>1.864</td><td style='text-align: center; word-wrap: break-word;'>0.545</td><td style='text-align: center; word-wrap: break-word;'>0.556</td><td style='text-align: center; word-wrap: break-word;'>1.770</td><td rowspan="2">30.36</td><td rowspan="2">0.71/5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointNet++ (two-stage)</td><td style='text-align: center; word-wrap: break-word;'>1.007</td><td style='text-align: center; word-wrap: break-word;'>0.826</td><td style='text-align: center; word-wrap: break-word;'>1.582</td><td style='text-align: center; word-wrap: break-word;'>0.524</td><td style='text-align: center; word-wrap: break-word;'>0.512</td><td style='text-align: center; word-wrap: break-word;'>1.705</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rin (single-stage)</td><td style='text-align: center; word-wrap: break-word;'>1.012</td><td style='text-align: center; word-wrap: break-word;'>0.801</td><td style='text-align: center; word-wrap: break-word;'>1.754</td><td style='text-align: center; word-wrap: break-word;'>0.526</td><td style='text-align: center; word-wrap: break-word;'>0.516</td><td style='text-align: center; word-wrap: break-word;'>1.716</td><td rowspan="2">115.26</td><td rowspan="2">1.231/6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RIN (two-stage)</td><td style='text-align: center; word-wrap: break-word;'>0.098</td><td style='text-align: center; word-wrap: break-word;'>0.747</td><td style='text-align: center; word-wrap: break-word;'>1.301</td><td style='text-align: center; word-wrap: break-word;'>0.491</td><td style='text-align: center; word-wrap: break-word;'>0.432</td><td style='text-align: center; word-wrap: break-word;'>1.243</td></tr></table>

以及HD分数。对比第3行和第5行数据可知，采用额外的端点流匹配细化技术后，在两个数据集上CD损失均降低了0.06到0.12。在视觉上，我们展示了4倍上采样的三个示例，用以对比包含/不包含这些关键模块的最终PUFM++模型。从图5中我们可以看出

---

![Image](images/e4c82c0a7e7c9b4195ad9536645744e702a44147884a2d55af29968fc950a912.jpg)

<div style="text-align: center;">Fig. 5: Visual comparison of training with/without pre-alignment and refinement. The final PUFM++ (4th column) is compared to: PUFM++ without pre-alignment/refinement (1st), with CD pre-alignment only (2nd), and with EMD pre-alignment only (3rd).</div>

未经预对齐训练的模型会在长椅周围生成嘈杂且模糊的3D表面（第一行），并产生不稳定的边缘（例如第二行和第三行中的花朵和包）。引入CD预对齐虽然能略微减少噪声，但无法完全消除这些瑕疵。相比之下，第三列和第四列的对比显示：加入端点优化阶段后，边缘处的点分布显著改善——第一个示例中长椅图案更清晰，第二个示例中花瓶轮廓更锐利。

用于PUFM++的循环接口网络。我们在第3.3节中提出用RIN网络替换PointNet++。其主要优势在于避免了U形的特征提取与聚合过程，能在投影回点空间之前迭代地优化潜在表示。同时，潜在自 conditioning机制能够稳定迭代式上采样过程，从而避免点聚类或密度不均等瑕疵。在表4中，我们对比了PointNet++与RIN的上采样质量。结论是：1）RIN的参数用量虽是PointNet++的3倍，但在PUGAN和PU1K数据集上的性能提升了90%；运行时间仅增加50%的计算开销（从0.14秒增至0.21秒）；2）PointNet++和RIN均可通过两阶段优化提升性能，但采用单阶段优化的RIN所能达到的性能，与采用两阶段优化的PointNet++相当。

![Image](images/b0506ce423908d69032153b328fc002928aae4a51d3e57e90435cf4bdeaee0db.jpg)

<div style="text-align: center;">Fig. 6: Visual comparison of ODE sampling steps and time scheduler. We apply different time schedulers to train the proposed model, and then use different discretization steps of the ODE for inference. We plot the 4-times upsampling results on the PUGAN dataset, where the horizontal axis is the CD score and the vertical axis is the P2F distance.</div>

#### 4.3.2 推理方案

针对推理阶段，我们提出了两种用于提升上采样质量的新方法：1）ODE推理步骤；2）自适应熵时间调度器；3）流形约束。

推理步骤。训练过程中使用的推理步骤数量以及线性插值的时间调度器会影响点云上采样效果。在我们的算法（算法1）中，我们选择$1 - \cos(s\pi/2)$作为时间调度器，目的是促使模型从更接近稀疏点云的较难处理的点中学习目标速度。推理时，所提出的PUFM++与其他基于分数的生成模型类似：迭代次数越多，结果越好。从图6可以看出，使用$1 - \cos(s\pi/2)$（红色圆圈）对应的位置位于左下角，其CD分数和P2F距离均较低。另一方面，t（蓝色）、$\sin(s\pi/2)$（橙色）、$1 - \sin(s\pi/2)$（绿色）的效果均不理想。为平衡上采样质量和运行时间，我们采用6步推理。

自适应熵时间调度器。如第3节所述，我们先冻结预训练模型并在训练集上测试，随后记录训练采样网格$\{t_0, t_1, t_2, \ldots\}$上的平均损失。该网格是由[^0]和[^1]采样得到的均匀时间序列，共包含50个步骤。接着我们计算所记录损失的CDF$\hat{F}(t)$。推理时，我们按照公式13计算ODE采样的时间步长。这种方法利用训练过程中的信息来调整步长大小，从而动态提升推理质量。图8展示了相关结果。

---

![Image](images/a5cec159cdce6ceb7a8797338c49d0f009d3edb3efb6ffa8f6c2beff1e42bfae.jpg)

![Image](images/c36857d3022e5eb8d0944602f65d1bf3f796e9a018e6f670d1c440394ee1b85c.jpg)

![Image](images/51c3023ac23822df4520501ee6d2a683659cf8c838c33e761b5d967eabed4e22.jpg)

![Image](images/c8074c934dd0bb86d8503170933da8998b05704fa24b19842abeed67f2b1f20c.jpg)

![Image](images/ebce78f85ce13feb6e8d3b6be03ddef06c454186e24dfd42560f1ee7ace60f51.jpg)

![Image](images/4aeae62cb290888adba89a6e1c168915ba4c866e66ada57a159fc9d3662c8dc8.jpg)

![Image](images/c53c3cc249bbfc8d63ece607d7e30c1851a146054891ff6f2eba113c01a33a7a.jpg)

![Image](images/6bfc55ae3d3afdf600198bb2bfbab81b84e81afd1bf806b656aee2a695dc1fe9.jpg)

![Image](images/06b53d20b74a296b0eba14aa2434ecb9a905674f547088bc5a5459219ee33286.jpg)

![Image](images/ba156b53668046e72e2141224859f1d9c55a57ff8daf337da513597581feaf26.jpg)

![Image](images/77c1ddd0cc68df42d1930b9d92612d0ddb7a8b49146921a61332049c611be544.jpg)

![Image](images/39fc5f9aada770d038507146f10a874f2254cfd4e676d93745559b830e66d368.jpg)

![Image](images/d0eab247939a27ae499545e008fa9ebd53563edcfa5b7d8b4d583eb4c291f73a.jpg)

![Image](images/fde8682f5cc3bf64b052a506ac6fa7cc66028dccf36a310b6561aacae6f87697.jpg)

<div style="text-align: center;">Fig. 7: Visualization of entropic time scheduler for inference. We show the residual scatter map on 4-times upsampling on the point cloud (e) by calculating the coordinate differences using (a) an entropic time scheduler and (b) uniform time scheduler. The darker the color, the bigger the errors. We also show the residual histograms for the two inference schemes in (c) and (d).</div>

对于PUFM和PUFM++，我们分别采用均匀时间调度器（PUFM++_uts）以及本文提出的基于熵的时间调度器（PUFM++_ets）。可以看出：1）作为基准模型的PUFM在每一步推理中均取得最差的结果；2）与PUFM++_uts相比，所提出的PUFM++_ets在早期的常微分方程迭代中分配更大的步长，并在后续阶段逐步细化这些步长。这种特性使得模型能够在轨迹末端更专注于复杂的细节优化。从定量结果来看，在PUGAN数据集上的4倍点云上采样任务中，我们的调度器在CD和P2F指标上均优于均匀时间步进策略，充分体现了其有效性。

我们在图7中进一步给出了4倍上采样的定性示例。在子图(a)和(b)中，我们可视化了上采样点云与真实目标之间的坐标残差。这些残差经过归一化后映射至3D散点图中，颜色深浅对应其欧几里得距离的大小：颜色越深表示误差越大，聚类越紧密则误差越小。从子图(a)和(b)可以看出，采用基于熵的时间调度器后，所有推理步骤中的误差均更小。子图(c)和(d)展示了相应的残差直方图。

![Image](images/7008efdb694c00f44558f890285cdb1e9c5969522898b11093bde1782b9985b2.jpg)

<div style="text-align: center;">Fig. 8: Compare different time schedulers for inference. We show the per-step inference using the uniform time scheduler and the proposed adaptive time scheduler on PUFM and PUFM++.</div>

直方图中的(a)和(c)采用均匀时间调度器得到的结果，而(b)和(d)则对应我们提出的基于熵的时间调度器。与均匀调度策略相比，基于熵的调度器将平均残差向零靠拢，显著压缩了整体误差分布范围（可见(b)中最大值小于(a)中的数值），这表明重建结果更加稳定且精确。

---

![Image](images/a6cd1c96c763bcb690e4067485e5b7be8e044ce77b8269aa412a3991bb03c77a.jpg)

<div style="text-align: center;">Fig. 9: Visual comparison of manifold constraints for mesh reconstruction. We apply manifold constraints to the PUFM++ inference stage (4 times upsampling) and compare the upsampling quality based on the mesh reconstruction.</div>

<div style="text-align: center;">Table 5: Ablation on network selection. CD, HD, and P2F scores on PUGAN and PU1K datasets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="2">Inference constraints</td><td colspan="4">PUGAN</td><td colspan="4">PU1K</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Curvature Est.</td><td style='text-align: center; word-wrap: break-word;'>Back Proj.</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>ALR</td><td style='text-align: center; word-wrap: break-word;'>NC</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>ALR</td><td style='text-align: center; word-wrap: break-word;'>NC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>0.286</td><td style='text-align: center; word-wrap: break-word;'>0.687</td><td style='text-align: center; word-wrap: break-word;'>0.250</td><td style='text-align: center; word-wrap: break-word;'>0.957</td><td style='text-align: center; word-wrap: break-word;'>0.176</td><td style='text-align: center; word-wrap: break-word;'>0.429</td><td style='text-align: center; word-wrap: break-word;'>0.267</td><td style='text-align: center; word-wrap: break-word;'>0.950</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>0.291</td><td style='text-align: center; word-wrap: break-word;'>0.648</td><td style='text-align: center; word-wrap: break-word;'>0.242</td><td style='text-align: center; word-wrap: break-word;'>0.988</td><td style='text-align: center; word-wrap: break-word;'>0.181</td><td style='text-align: center; word-wrap: break-word;'>0.424</td><td style='text-align: center; word-wrap: break-word;'>0.246</td><td style='text-align: center; word-wrap: break-word;'>0.986</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>0.284</td><td style='text-align: center; word-wrap: break-word;'>0.651</td><td style='text-align: center; word-wrap: break-word;'>0.280</td><td style='text-align: center; word-wrap: break-word;'>0.989</td><td style='text-align: center; word-wrap: break-word;'>0.176</td><td style='text-align: center; word-wrap: break-word;'>0.423</td><td style='text-align: center; word-wrap: break-word;'>0.289</td><td style='text-align: center; word-wrap: break-word;'>0.988</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>0.281</td><td style='text-align: center; word-wrap: break-word;'>0.650</td><td style='text-align: center; word-wrap: break-word;'>0.282</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>0.175</td><td style='text-align: center; word-wrap: break-word;'>0.422</td><td style='text-align: center; word-wrap: break-word;'>0.290</td><td style='text-align: center; word-wrap: break-word;'>0.990</td></tr></table>

(b)中的数值与(a)中的数值相比，表明重建结果更加稳定且准确。

网格重建中的流形约束。在第3节中，我们介绍了用于调整上采样点云的曲率估计与反投影后处理技术，目的是利用这两项技术获得更接近底层3D流形的点分布，它们可应用于网格重建等下游任务。因此，我们将所提出的PUFM++与其曲率估计及反投影变体进行对比，结果展示于图9中。

我们使用MeshLab中的Ball Pivoting算法从上采样点云中重建网格，并可视化其中的差异。结果显示，仅使用PUFM++无法得到令人满意的网格重建结果；相比之下，引入反投影或曲率估计能显著提升网格质量。例如在第一行中，大象的鼻子和牙齿相较于基准PUFM++输出得到了更清晰的还原。在椅子和碗的红色框标注区域内，曲率估计与反投影均增强了边缘的锐度，尽管会引入一些噪声。曲率估计与反投影相结合，能在网格重建中取得平滑度与锐度之间的最佳平衡。

同时，表5给出了PUGAN和PU1K数据集上的定量对比结果。结果表明，引入曲率估计与反投影不仅提升了点云上采样性能（体现为更低的CD和HD分数），还改善了网格重建质量，这从更高的ALR和NC分数中可见一斑。

## 5 PUFM++的分析

在本节中，我们对所提方法的鲁棒性与泛化能力进行了更深入的分析。

多尺度点云上采样。所提出的PUFM++也可用于多尺度点云上采样。如其他方法所示[^33] [^37] [^18] [^49]，我们可以迭代地将模型应用于稀疏点云以实现$4\times$上采样，随后通过FPS将点数下采样到期望规模。这种迭代过程能够实现任意尺度的上采样。多尺度上采样的可视化结果如图10所示。我们在缩放因子为5、7、8、12、16、20、24和32时，将我们的方法与RepKPU、PUDM以及PUFM进行比较。如第一个示例所示，PUFM++始终能重建出表面更平滑且孔洞更少的对象；在第二个示例中，我们的方法能够准确保留设备腿部的细长笔直结构，且不会引入噪声。

含噪点云上采样。我们认为现实世界中的点云会受到各种噪声的影响。为了测试我们方法的鲁棒性，我们将其与其他方法在含噪点云上采样任务上进行定量比较。我们向稀疏点云中随机添加不同水平的高斯噪声$\eta$，随后使用不同方法对含噪稀疏点云进行上采样，以模拟现实世界中的点云。从表6可以看出，在所有方法中，我们的方法取得了最低的CD、HD和P2F分数，唯一的例外是在噪声水平$\eta = 0.01$下PUDM的HD分数。图11进一步表明，我们上采样得到的点云在视觉上比其他方法生成的更加平滑，有效减轻了噪声干扰。

真实点云上采样。为了验证所提方法的泛化能力，我们

---

![Image](images/fbf41d9eae51462f2c327763a97b8b2e6817ad378c522fd49f6424e0368193db.jpg)

<div style="text-align: center;">Fig. 10: Visual comparison of multiscale point cloud upsampling. We apply multiscale upsampling on two examples and compare the upsampling quality using different methods.</div>

![Image](images/1507e159ec275ec9a88f1f626ca1892077cf2006f3ff6f6358275a893a54dd96.jpg)

<div style="text-align: center;">Fig. 11: Visual comparison of noisy point cloud upsampling. We apply point cloud upsampling on PU-GAN datasets with noise level  $\eta = 0.01$ and show three examples for comparison.</div>

将其应用于真实点云，包括ABC [^16]（计算机辅助设计（CAD）数据集）、ScanNet [^5]（RGB-D视频数据集）以及KITTI [^8]（激光雷达驾驶数据集）。我们同时考虑了上采样质量以及下游任务（包括物体检测与分割）中的性能表现。

对于真实点云上采样，我们直接将预训练模型应用于ScanNet和KITTI数据集。针对ScanNet，我们选取20个样本，将每个样本随机下采样4倍以获得稀疏点云。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Noise level</td><td colspan="3">$\eta=0.01$</td><td colspan="3">$\eta=0.02$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>P2F</td><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>P2F</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>0.983</td><td style='text-align: center; word-wrap: break-word;'>1.069</td><td style='text-align: center; word-wrap: break-word;'>5.188</td><td style='text-align: center; word-wrap: break-word;'>2.175</td><td style='text-align: center; word-wrap: break-word;'>2.737</td><td style='text-align: center; word-wrap: break-word;'>1.146</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RepKPU</td><td style='text-align: center; word-wrap: break-word;'>1.232</td><td style='text-align: center; word-wrap: break-word;'>1.212</td><td style='text-align: center; word-wrap: break-word;'>6.654</td><td style='text-align: center; word-wrap: break-word;'>2.888</td><td style='text-align: center; word-wrap: break-word;'>3.638</td><td style='text-align: center; word-wrap: break-word;'>1.336</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Grad-PU</td><td style='text-align: center; word-wrap: break-word;'>1.125</td><td style='text-align: center; word-wrap: break-word;'>1.258</td><td style='text-align: center; word-wrap: break-word;'>6.214</td><td style='text-align: center; word-wrap: break-word;'>2.475</td><td style='text-align: center; word-wrap: break-word;'>3.375</td><td style='text-align: center; word-wrap: break-word;'>1.247</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>0.890</td><td style='text-align: center; word-wrap: break-word;'>1.081</td><td style='text-align: center; word-wrap: break-word;'>5.166</td><td style='text-align: center; word-wrap: break-word;'>1.761</td><td style='text-align: center; word-wrap: break-word;'>2.287</td><td style='text-align: center; word-wrap: break-word;'>1.081</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>0.706</td><td style='text-align: center; word-wrap: break-word;'>1.082</td><td style='text-align: center; word-wrap: break-word;'>5.142</td><td style='text-align: center; word-wrap: break-word;'>1.662</td><td style='text-align: center; word-wrap: break-word;'>2.231</td><td style='text-align: center; word-wrap: break-word;'>1.041</td></tr></table>

<div style="text-align: center;">Table 6: 4-times point cloud upsampling on noisy PU1K. We test on 4-times upsampling and we can see that ours outperforms others, especially on noise level  $\eta = 0.02$.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>bbox\nAP@0.7,0.7,0.7</td><td style='text-align: center; word-wrap: break-word;'>Sparse PC</td><td style='text-align: center; word-wrap: break-word;'>Gra-PU</td><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>PDANS $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>PUGAN</td><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>PUFM++</td><td style='text-align: center; word-wrap: break-word;'>Ground truth</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Car</td><td style='text-align: center; word-wrap: break-word;'>20.35</td><td style='text-align: center; word-wrap: break-word;'>20.50</td><td style='text-align: center; word-wrap: break-word;'>20.18</td><td style='text-align: center; word-wrap: break-word;'>20.25</td><td style='text-align: center; word-wrap: break-word;'>16.78</td><td style='text-align: center; word-wrap: break-word;'>4.22</td><td style='text-align: center; word-wrap: break-word;'>23.86</td><td style='text-align: center; word-wrap: break-word;'>20.36</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pedestrain</td><td style='text-align: center; word-wrap: break-word;'>17.05</td><td style='text-align: center; word-wrap: break-word;'>16.67</td><td style='text-align: center; word-wrap: break-word;'>15.79</td><td style='text-align: center; word-wrap: break-word;'>16.04</td><td style='text-align: center; word-wrap: break-word;'>14.68</td><td style='text-align: center; word-wrap: break-word;'>13.51</td><td style='text-align: center; word-wrap: break-word;'>16.88</td><td style='text-align: center; word-wrap: break-word;'>18.18</td></tr></table>

<div style="text-align: center;">Table 7: Quantitative metric of the LiDAR data detection. We test on 2-times upsampling using different methods, and use the upsampled LiDAR data to estimate the object detection performance.</div>

随后我们应用不同的上采样方法来恢复密集点云以供比较。

对于KITTI数据集，我们通过角度采样从原始的64线激光雷达点云中模拟出32线激光雷达扫描数据。随后将每个稀疏点云上采样4—

---

![Image](images/2510624c05b8f2820ff7e054e746de45526d7f6fdb3e1fdf3790c510d2887434.jpg)

<div style="text-align: center;">Fig. 12: Visual comparison of KITTI LiDAR point cloud upsampling. We apply different upsampling methods to sparse point clouds for  $2\times$ upsampling and zoom in the red box for visual comparison.</div>

![Image](images/28f539db7fd15b003e024d4e173d975b4dec5005c71bef90a45e19b80948b12b.jpg)

<div style="text-align: center;">Fig. 13: Visual comparison of ScanNet RGB-D point cloud upsampling. We apply different upsampling methods to sparse point clouds for  $4\times$ upsampling and zoom in the red box for visual comparison.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Metric</td><td style='text-align: center; word-wrap: break-word;'>PUBP</td><td style='text-align: center; word-wrap: break-word;'>PUGAN</td><td style='text-align: center; word-wrap: break-word;'>Gra-PU</td><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>PDANS $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>PUFM++</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CD</td><td style='text-align: center; word-wrap: break-word;'>1.514</td><td style='text-align: center; word-wrap: break-word;'>1.516</td><td style='text-align: center; word-wrap: break-word;'>1.039</td><td style='text-align: center; word-wrap: break-word;'>1.038</td><td style='text-align: center; word-wrap: break-word;'>1.041</td><td style='text-align: center; word-wrap: break-word;'>1.020</td><td style='text-align: center; word-wrap: break-word;'>0.899</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>0.385</td><td style='text-align: center; word-wrap: break-word;'>0.367</td><td style='text-align: center; word-wrap: break-word;'>0.248</td><td style='text-align: center; word-wrap: break-word;'>0.258</td><td style='text-align: center; word-wrap: break-word;'>0.256</td><td style='text-align: center; word-wrap: break-word;'>0.223</td><td style='text-align: center; word-wrap: break-word;'>0.156</td></tr></table>

<div style="text-align: center;">Table 8: Quantitative metric of the ScanNet point cloud upsampling. We randomly downs4 times4× upsampling task.</div>

倍，再通过FPS进行2倍下采样。得到的点云会被输入至SECOND [^47]中进行3D物体检测。我们在表7中报告了简单难度级别下鸟瞰图边界框的平均精度。我们的方法在所有对比方法中取得了最高的AP值；值得注意的是，它在汽车类别上的表现甚至优于原始激光雷达数据。图12提供了KITTI数据集上的定性对比结果，红色框标出了感兴趣区域。我们的方法保留了与原始数据相似的激光雷达线束图案；相比之下，PUBP会在整个场景中产生明显的模糊现象，而PUGAN和Gra-PU无法生成一致的线束结构。PUDM和PDANS的结果虽较为接近，但在细节处会出现对齐偏差。

---

![Image](images/8f7a1d45c5e6dde4c8514b62f3534e5f2dec5f18fb715ccfc3aeb570f4708dfd.jpg)

<div style="text-align: center;">Fig. 14: Visual comparison of converting point clouds to CAD models. We apply different upsampling methods to sparse point clouds for  $4\times$ upsampling and then use Point2CAD to convert them to CAD models. Different colors denote different topological surfaces.</div>

![Image](images/d303f21d210c9d96e24f34d39ea5e5101cd63a54fb66340e481da8b3a601783b.jpg)

<div style="text-align: center;">Fig. 15: Visual comparison of point clouds curve estimation. We apply different upsampling methods to sparse point clouds for 4-times upsampling and then use PI3DETR to estimate the 3D curves from point clouds. Different colors denote different edges: red for arcs, blue for lines, green for circles.</div>

对于ScanNet数据集，我们随机选取10个场景，并将每个点云下采样4倍以生成稀疏输入。随后，我们采用多种上采样方法，以4倍的上采样比例来恢复密集点云。为了定量评估重建质量，我们在表8中报告了CD和HD分数。可以看出，我们的方法取得了最佳的CD和HD分数。我们还在图13中提供了定性比较结果。如放大区域（红色框）所示，我们的方法能更精确地还原细粒度的3D表面，生成平滑且分布均匀的点，比如三个示例中的地面以及第三个示例中的橱柜。相比之下，其他竞争方法往往难以重建底层几何结构，生成的点云常存在明显孔洞或不规则现象。

为了验证我们的点云上采样方法在工业制造领域的鲁棒性，我们将该模型应用于CAD物体识别任务，包括：1）点云转CAD，以及2）3D曲线估计。

对于任务1），我们从ABC数据集中随机选取10组点云及其对应的标签信息。我们将原始点云随机下采样4倍，随后采用不同的上采样方法进行上采样。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="9">Point cloud to CAD</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Metric</td><td style='text-align: center; word-wrap: break-word;'>PUBP</td><td style='text-align: center; word-wrap: break-word;'>Gra-PU</td><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>PDANS</td><td style='text-align: center; word-wrap: break-word;'>RepKPU</td><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>PUFM++</td><td style='text-align: center; word-wrap: break-word;'>Ground truth</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Res-err $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>0.022</td><td style='text-align: center; word-wrap: break-word;'>0.006</td><td style='text-align: center; word-wrap: break-word;'>0.008</td><td style='text-align: center; word-wrap: break-word;'>0.008</td><td style='text-align: center; word-wrap: break-word;'>0.010</td><td style='text-align: center; word-wrap: break-word;'>0.006</td><td style='text-align: center; word-wrap: break-word;'>0.005</td><td style='text-align: center; word-wrap: break-word;'>0.004</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>P-cover $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>0.934</td><td style='text-align: center; word-wrap: break-word;'>0.993</td><td style='text-align: center; word-wrap: break-word;'>0.989</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>0.988</td><td style='text-align: center; word-wrap: break-word;'>0.994</td><td style='text-align: center; word-wrap: break-word;'>0.995</td><td style='text-align: center; word-wrap: break-word;'>0.997</td></tr><tr><td colspan="9">3D curve estimation</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Metric</td><td style='text-align: center; word-wrap: break-word;'>PUGAN</td><td style='text-align: center; word-wrap: break-word;'>Gra-PU</td><td style='text-align: center; word-wrap: break-word;'>RepKPU</td><td style='text-align: center; word-wrap: break-word;'>PUDM</td><td style='text-align: center; word-wrap: break-word;'>PDANS</td><td style='text-align: center; word-wrap: break-word;'>PUFM</td><td style='text-align: center; word-wrap: break-word;'>PUFM++</td><td style='text-align: center; word-wrap: break-word;'>Ground truth</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CD $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>0.0189</td><td style='text-align: center; word-wrap: break-word;'>0.0040</td><td style='text-align: center; word-wrap: break-word;'>0.0041</td><td style='text-align: center; word-wrap: break-word;'>0.0049</td><td style='text-align: center; word-wrap: break-word;'>0.0045</td><td style='text-align: center; word-wrap: break-word;'>0.0042</td><td style='text-align: center; word-wrap: break-word;'>0.0038</td><td style='text-align: center; word-wrap: break-word;'>0.0032</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HD $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>0.156</td><td style='text-align: center; word-wrap: break-word;'>0.0674</td><td style='text-align: center; word-wrap: break-word;'>0.0675</td><td style='text-align: center; word-wrap: break-word;'>0.0678</td><td style='text-align: center; word-wrap: break-word;'>0.0676</td><td style='text-align: center; word-wrap: break-word;'>0.0674</td><td style='text-align: center; word-wrap: break-word;'>0.0670</td><td style='text-align: center; word-wrap: break-word;'>0.0665</td></tr></table>

<div style="text-align: center;">Table 9: Quantitative metric of the point cloud for CAD analysis. We test on  $4 \times$ upsampling on two point clouds to CAD applications: 1) point cloud to CAD conversion and 2) 3D curve estimation.</div>

最后，我们利用kNN树搜索算法将上采样后的点与原始标签进行对齐。接着，我们使用Point2CAD [^22]——一种从原始点云重建CAD模型的前沿方法，将上采样后的点云转换为CAD模型。我们在图14中展示了一个示例：第一行是上采样后的点云，第二行是重建得到的CAD模型，不同颜色代表不同的拓扑曲面。从标记的红色圆圈中可以看出，我们提出的方法生成的CAD模型与真实值最为接近。

针对任务2），我们使用ABC数据集中相同的10个点云来生成稀疏点云和原始的密集点云。我们的目标是估算点云的3D曲线，以检验上采样方法是否能保留3D曲率。我们将近期的3D点云边缘参数化实例检测算法PI3DETR [^30]应用于这些点云，并可视化估算出的曲线。在图15中，我们用不同颜色展示边缘估算结果。为了突出差异，我们用粉色圈出它们。可以看出：1）我们的方法在第一和第三个示例中正确生成绿色圆圈，在第二和第四个示例中生成直线；2）从视觉上看，PUGAN和Grad-PU会产生更多多余的或不完整的边缘；3）PUDM在第四个示例中产生了多余的圆圈；4）PDANS和PUFM虽与我们的方法较为接近，但在细节处理上仍存在不足。

对于任务1）和任务2），我们采用多种评估指标对不同上采样方法进行定量比较。对于任务1），我们采用Res-Err来衡量重建表面与真实表面之间的偏差，其中对应关系通过匈牙利匹配确定。我们还报告了P-Cover指标，该指标用于量化输入点云被生成表面覆盖的比例（指标定义详见Point2CAD [^22]）。我们的方法取得了第二好的性能，仅略低于使用真实点云所得的结果。对于任务2），我们采用倒角距离（CD）和豪斯多夫距离（HD）来评估边缘区域的重建质量，数值越低表示几何一致性越好。除真实数据外，我们的方法在所有竞争上采样方法中表现最佳。

## 6 伦理讨论

实际应用价值。PUFM++提供了一个统一且高效的点云上采样框架，可应用于三维视觉、机器人技术、AR/VR、逆向工程以及数字孪生等领域。首先，PUFM++能够帮助从业者从稀疏、含噪或不完整的扫描数据重建高保真三维几何模型，从而更便捷地实现文化遗产、工业资产及环境数据的数字化。其次，该方法能够提升机器人及自主系统的场景理解能力，尤其有助于在杂乱或部分可见的环境中执行操作与导航任务。最后，PUFM++还可助力电影、游戏及三维设计工具的内容创作，减少艺术家和工程师的手动工作量。

不过，增强稀疏三维数据的能力也可能带来风险。PUFM++可能被滥用，以人为方式增密或修复三维扫描数据，进而掩盖其来源或真实性。这可能会催生复杂的三维伪造手段，例如生成具有欺骗性的个人、物体或场景的数字副本。与任何生成式AI系统类似，若要负责任地使用该技术，就必须明确说明三维内容是否经过算法修改或重建。

社会影响方面，PUFM++是在主要包含合成或经过筛选的三维模型的基准数据集上训练的，这些数据集无法全面反映全球物体的分布、环境多样性或扫描条件。因此，该模型在应对存在领域偏移的真实世界扫描数据时，可能无法均匀泛化——比如具有文化特色的工艺品、特定地区的物品设计或传感器导致的失真等。此外，由于上采样方法会隐式地学习形状结构的先验知识，它们可能会无意中引入偏差，例如过度平滑具有文化特色的几何结构，或对代表性不足的物体类别处理不当。此类偏差可能会波及网格重建、机器人感知或三维绘图等下游任务，进而影响关键安全系统的可靠性。

---

虽然PUFM++并未显式建模个人身份或生物识别信息，但对人体相关几何结构（如面部、身体）的高保真重建，若在未获授权的情况下用于敏感扫描数据，仍可能引发隐私问题。用户应仔细评估在涉及个人或专有三维数据的领域应用生成式重建模型的恰当性。

环境影响方面，我们的实验使用了2块NVIDIA V100 GPU，训练期间每块GPU的功耗约为300瓦。所有实验总共耗时约800小时GPU时间。在V100 GPU上训练完整的PUFM++模型大约需要10小时GPU时间，相当于消耗约3千瓦时的电能，并产生约1.2公斤的$CO_{2}$排放量，具体数值取决于当地的能源来源。尽管与大规模生成式模型相比，其训练成本较低，但我们仍鼓励业界采取节能措施，例如使用混合精度训练、通过微调复用模型，以及共享预训练模型，以减少重复计算。

## 7 结论

我们提出了PUFM++，这是一个多功能的点云上采样框架，它基于一种新颖的两阶段流匹配策略，并结合推理时优化技术，能够在任意上采样倍数下实现最先进的性能。实验结果表明，这种两阶段流匹配过程能够显著增强几何结构的恢复能力，并对噪声具有很强的鲁棒性。推理时优化进一步提升了与底层3D流形的对齐程度。据我们所知，我们也是首个将点云处理中的循环推理网络应用于点云处理的团队，该网络在所有评估指标上的表现均优于PointNet++。详尽的分析和可视化结果验证了我们的发现，并证明了PUFM++的卓越性能。我们还将该模型与现有方法在多个下游任务以及KITTI、ScanNet和ABC等真实世界数据集上进行了比较，凸显了我们方法的鲁棒性和高效性。未来的工作将包括单步流匹配蒸馏以及联合上采样-补全模型，旨在进一步提升效率和泛化能力。

359633. 何晨航的研究得到了国家自然科学基金（项目编号：62406268）的支持。R. Maier的研究得到了德国学术交流中心（DAAD）的支持，项目编号为57711336。

经费信息。Z. S. Liu的研究得到了芬兰研究理事会的支持，决议编号为______。利益冲突声明。作者声明不存在利益冲突。

数据可用性。代码和预训练模型可在<https://github.com/Holmes-Alan/Enhanced_PUFM>免费获取。

## 参考文献

[^1]: Akhtar, A., Li, Z., Auwera, G.V.d., Li, L., Chen, J.: Pundense: Sparse tensor-based point cloud geometry upsampling. IEEE Transactions on Image Processing 31, 4133–4148 (2022) 1, 3

[^2]: Albergo, M.S., Boffi, N.M., Vanden-Eijnden, E.: Stochastic interpolants: A unifying framework for flows and diffusions. ArXiv Preprint, 2303.08797 (2023) 4

[^3]: Charles, R., Su, H., Kaichun, M., Guibas, L.J.: Pointnet: Deep learning on point sets for 3d classification and segmentation. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 77–85. Los Alamitos, CA, USA (2017) 2

[^4]: Chen, Y., et al.: Pointmixup: Augmentation for point clouds. In: Eur. Conf. Comput. Vis. (2020) 5

[^5]: Dai, A., Chang, A.X., Savva, M., Halber, M., Funkhouser, T., Nießner, M.: Scannet: Richly-annotated 3d reconstructions of indoor scenes. In: Proc. Computer Vision and Pattern Recognition (CVPR), IEEE (2017) 8, 15

[^6]: Du, Y., Zhao, Z., Su, S., Golluri, S., Zheng, H., Yao, R., Wang, C.: SuperPC: A single diffusion model for point cloud completion, upsampling, denoising, and colorization. In: IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2025) 3

[^7]: Feng, W., et al.: Neural points: Point cloud representation with neural fields for arbitrary upsampling. In: IEEE Conf. Comput. Vis. Pattern Recog. (2022) 3

[^8]: Geiger, A., et al.: Vision meets robotics: The kitti dataset. International Journal of Robotics Research (IJRR) (2013) 8, 15

[^9]: Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., Bengio, Y.: Generative adversarial networks. Commun. ACM 63(11), 139–144 (2020) 3

[^10]: Guo, M., Wang, B., He, K., Matusik, W.: Tetsphere splatting: Representing high-quality geometry with lagrangian volumetric meshes. In: The Thirteenth International Conference on Learning Representations (2025) 8

[^11]: Hanocka, R., et al.: Point2mesh: A self-prior for deformable meshes. ACM Trans. Graph. 39(4) (2020) 1

[^12]: He, Y., et al.: Grad-pu: Arbitrary-scale point cloud upsampling via gradient descent with learned distance functions. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 5354–5363 (2023) 4, 8

[^13]: Ho, J., et al.: Denoising diffusion probabilistic models. In: Adv. Neural Inform. Process. Syst. (2020) 2, 3

## [^14]: Jabri, A., Fleet, D.J., Chen, T.: Scalable adaptive computation for iterative generation. In: Proceedings of the 40th International Conference on Machine Learning (2023) 7, 8

---

[^15]: Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. Int. Conf. Learn. Represent. (2014) 8

[^16]: Koch, S., Matveev, A., Jiang, Z., Williams, F., Artemov, A., Burnaev, E., Alexa, M., Zorin, D., Panozzo, D.: Abc: A big cad model dataset for geometric deep learning. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 9593–9603 (2019) 8, 15

[^17]: Lemke, O., et al.: Spot-compose: A framework for open-vocabulary object retrieval and drawer manipulation in point clouds. In: Int. Conf. on Robotics and Automation (2024) 1

[^18]: Li, R., Li, X., Fu, C., Cohen-Or, D., Heng, P.: Pu-gan: A point cloud upsampling adversarial network. Int. Conf. Comput. Vis. pp. 7202–7211 (2019) 2, 3, 8, 14

[^19]: Li, R., et al.: Point cloud upsampling via disentangled refinement. In: IEEE Conf. Comput. Vis. Pattern Recog. (2021) 3

[^20]: Lipman, Y., et al.: Flow matching for generative modeling. In: The Eleventh International Conference on Learning Representations (2023) 2, 3

[^21]: Liu, X., Liu, X., Liu, Y.S., Han, Z.: Spu-net: Self-supervised point cloud upsampling by coarse-to-fine reconstruction with self-projection optimization. Trans. Img. Proc. 31, 4213–4226 (2022) 3

[^22]: Liu, Y., Obukhov, A., Wegner, J.D., Schindler, K.: Point2cad: Reverse engineering cad models from 3d point clouds. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 3763–3772 (2024) 18

[^23]: Liu, Z.S., et al.: Arbitrary point cloud upsampling via dual back-projection network. In: IEEE Int. Conf. Image Process. pp. 1470–1474 (2023) 8

[^24]: Liu, Z.S., He, C., Ju, Y., Li, L.: PUFM: Efficient point cloud upsampling via flow matching. AAAI (2026) 2, 3, 4, 8

[^25]: Liu, Z.S., Siu, W.C., Chan, Y.L.: Photo-realistic image super-resolution via variational autoencoders. IEEE Transactions on Circuits and Systems for Video Technology 31(4), 1351–1365 (2021) 1

[^26]: Liu, Z.S., Wang, L.W., Li, C.T., Siu, W.C.: Image super-resolution via attention based back projection networks. In: IEEE International Conference on Computer Vision Workshop (ICCVW) (2019) 1

[^27]: Lu, X., et al.: Low rank matrix approximation for 3d geometry filtering. IEEE Trans. Vis. Comput. Graph. 28(4), 1835–1847 (2022) 2

[^28]: Luo, S., Hu, W.: Diffusion probabilistic models for 3d point cloud generation. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 2836–2844 (2021) 3

[^29]: Mao, A., Du, Z., Hou, J., Duan, Y., Liu, Y.J., He, Y.: Pufflow: A point cloud upsampling network with normalizing flows. IEEE Trans. Vis. Comput. Graph. 29(12), 4964–4977 (2023) 1, 2, 3

[^30]: Oberweger, F.F., Schwingshackl, M., Staderini, V.: Pi3detr: Parametric instance detection of 3d point cloud edges with a geometry-aware 3detr. ArXiv Preprint, 2509.03262 (2025) 18

[^31]: Papamakarios, G., Nalisnick, E., Rezende, D.J., Mohamed, S., Lakshminarayanan, B.: Normalizing flows for probabilistic modeling and inference. J. Mach. Learn. Res. 22(1) (2021) 3

[^32]: Qi, C.R., et al.: Pointnet++: deep hierarchical feature learning on point sets in a metric space. In: Adv. Neural Inform. Process. Syst. p. 5105–5114. NIPS'17 (2017) 2

[^33]: Qian, G., et al.: Pu-gcn: Point cloud upsampling using graph convolutional networks. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 11683–11692 (2021) 3, 8, 14

[^34]: Qian, Y., Hou, J., Kwong, S., He, Y.: Pugeo-net: A geometry-centric network for 3d point cloud upsampling. In: Computer Vision – ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part XIX. p. 752–769 (2020) 1, 3

[^35]: Qiu, H., Yu, B., Tao, D.: GFNet: Geometric flow network for 3d point cloud semantic segmentation. Trans. Mac. Lear. Res. (2022) 3

[^36]: Qiu, S., Anwar, S., Barnes, N.: Pu-transformer: Point cloud upsampling transformer. In: ACCV. pp. 2475–2493 (2022) 3

[^37]: Qu, W., et al.: A conditional denoising diffusion probabilistic model for point cloud upsampling. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 20786–20795 (2024) 2, 3, 4, 8, 14

[^38]: Rong, Y., et al.: Repkpu: Point cloud upsampling with kernel point representation and deformation. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 21050–21060 (2024) 8

[^39]: Shi, Y., Bortoli, V.D., Campbell, A., Doucet, A.: Diffusion schrödinger bridge matching. In: Thirty-seventh Conference on Neural Information Processing Systems (2023) 4

[^40]: Thomas, H., et al.: Kpconv: Flexible and deformable convolution for point clouds. Int. Conf. Comput. Vis. (2019) 2

[^41]: Tong, A., FATRAS, K., Malkin, N., Huguet, G., Zhang, Y., Rector-Brooks, J., Wolf, G., Bengio, Y.: Improving and generalizing flow-based generative models with mini-batch optimal transport. Transactions on Machine Learning Research (2024) 3

[^42]: Wang, Y., et al.: Dynamic graph cnn for learning on point clouds. ACM Trans. Graph. 38(5) (2019) 2

[^43]: Wu, L., Wang, D., Gong, C., Liu, X., Xiong, Y., Ranjan, R., Krishnamoorthi, R., Chandra, V., Liu, Q.: Fast point cloud generation with straight flows. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 9445–9454 (2023) 3

[^44]: Wu, W., Qi, Z., Fuxin, L.: Deep convolutional networks on 3d point clouds. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 9613–9622 (2019) 2

[^45]: Wu, X., Jiang, L., Wang, P.S., Liu, Z., Liu, X., Qiao, Y., Ouyang, W., He, T., Zhao, H.: Point transformer v3: Simpler, faster, stronger. In: IEEE Conf. Comput. Vis. Pattern Recog. (2024) 3

[^46]: Wu, X., Lao, Y., Jiang, L., Liu, X., Zhao, H.: Point transformer v2: grouped vector attention and partition-based pooling. In: Adv. Neural Inform. Process. Syst. (2022) 3

47. Yan, Y., Mao, Y., Li, B.：Second: 稀疏嵌入卷积检测算法。《传感器》杂志，$\mathbf{18}(10)$，第3337页（2018年）16

[^48]: Yang, Z., et al.: Visual point cloud forecasting enables scalable autonomous driving. In: IEEE Conf. Comput. Vis. Pattern Recog. (2024) 1

[^49]: Yifan, W., et al.: Patch-based progressive 3d point set upsampling. IEEE Conf. Comput. Vis. Pattern Recog. pp. 5951–5960 (2019) 2, 3, 8, 14

[^50]: Yu, L., et al.: Pu-net: Point cloud upsampling network. IEEE Conf. Comput. Vis. Pattern Recog. pp. 2790–2799 (2018) 1, 3

[^51]: Yu, L., et al.: Ec-net: an edge-aware point set consolidation network. Eur. Conf. Comput. Vis. (2018) 3

[^52]: Zeng, Z., Dong, M., Zhou, J., Qiu, H., Dong, Z., Luo, M., Li, B.: Deepl-net: Very deep local aggregation networks for point cloud analysis. In: IEEE Conf. Comput. Vis. Pattern Recog. pp. 1330–1341 (2025) 3

## [^53]: Zhang, B., Yang, S., Chen, H., Yang, C., Jia, J., Jiang, G.: Point cloud upsampling using conditional diffusion module with adaptive noise suppression. In: IEEE Conf

---

《计算机视觉与模式识别会议论文集》，第16987–16996页（2025年）3, 8

[^54]: Zhao, H., Jiang, L., Jia, J., Torr, P.H., Koltun, V.: Point transformer. In: Int. Conf. Comput. Vis. pp. 16259–16268 (2021) 3

[^55]: Zhao, W., Liu, X., Zhong, Z., Jian, J., Gao, W., Li, G., Ji, X.: Self-supervised arbitrary-scale point clouds upsampling via implicit neural representation. In: Proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR). pp. 1999–2007 (2022) 8

[^56]: Zhou, L., Du, Y., Wu, J.: 3d shape generation and completion through point-voxel diffusion. In: Int. Conf. Comput. Vis. pp. 5826–5835 (2021) 3
