IterativePFN:让点云去噪真正学会迭代)
论文题目IterativePFN: True Iterative Point Cloud FilteringIterativePFN真正的迭代式点云滤波会议CVPR 2023摘要点云质量常受到采集噪声影响因此去噪是三维视觉中的基础任务。现有学习方法通常训练网络预测滤波位移将噪声点直接移动到干净表面在高噪声情况下方法会在测试阶段反复滤波但点向干净表面的收敛速度仍有限。本文提出 IterativePFN迭代式点云滤波网络通过多个 IterationModule 在单个网络内部显式建模迭代滤波过程并使用一种新的损失函数在每个迭代阶段采用自适应真值目标学习中间滤波结果之间的关系从而加快收敛。实验表明该方法优于多种现有方法。源码https://github.com/ddsediri/IterativePFN一、研究背景与核心问题点云由无序的三维点构成广泛用于机器人、自动驾驶和三维重建。传感器精度、环境因素等会引入噪声影响法向量估计、表面重建和渲染。传统方法常依赖局部曲面、法向量或邻域信息重采样方法则可能损失尖锐边缘和几何细节。学习方法虽然可以预测点的滤波位移但很多方法只在测试时反复执行滤波训练阶段没有显式学习各次迭代之间的关系。问题在于每次滤波后点云的残余噪声都会改变。如果训练时总要求网络直接把当前点推到干净表面就忽略了不同迭代阶段的状态差异ScoreDenoise 等方法也需要多次测试时迭代收敛效率仍有提升空间。本文关注的核心问题是能否让网络在训练阶段就学会逐步降低噪声而不是只学习一次位移预测论文 Figure 1ScoreDenoise 不同测试迭代次数与 IterativePFN 的点到干净表面距离分布对比Casting50K points2.5% Gaussian noise。Figure 1 比较了 ScoreDenoise 在测试阶段迭代 1、4、8、24 次的结果以及由 4 个 IterationModule 构成的 IterativePFN。作者借此说明将迭代过程纳入训练有助于让滤波点更快地靠近干净表面。论文的思路包括两点网络内部串联多个迭代模块损失函数为不同阶段设置噪声逐渐减小的目标。二、方法整体框架把多步滤波放进一个网络论文 Figure 2IterativePFN 整体架构与单个 IterationModule 的编码器—解码器结构。IterativePFN 由多个 IterationModule 串联组成。每个模块输入一个局部点云 patch利用改进的 Dynamic EdgeConv 提取几何特征再通过由 4 个全连接层组成的解码器预测 patch 内各点的位移。模块输出作为下一模块的输入。图中将 patch 中的点视为图顶点每个顶点连接其 32 个近邻以学习局部几何关系。与只滤波 patch 中心点的方法不同IterativePFN 一次处理 patch 中的多个点。点的位置更新为当前点位置加上预测位移即其中是上一阶段的点位置是第个模块预测的位移更新后的位置将作为下一阶段的输入。作者主要采用 4 个 IterationModule让一次网络前向过程包含 4 次内部迭代而不是在测试时反复调用一个单步网络。论文 Figure 3Casting 形状、50K 点、2.5% 高斯噪声条件下PCN、ScoreDenoise 与 IterativePFN 的点到干净表面距离分布。在这一设置下论文报告 PCN、ScoreDenoise 和 IterativePFN 的平均距离分别为 0.014、0.012 和 0.007以包围球半径为相对尺度。这说明该实验中 IterativePFN 的滤波点整体更接近干净表面但结论应限定在论文所测试的形状和噪声条件内。三、核心创新自适应真值目标与迭代损失普通位移预测方法通常要求网络直接把噪声点移到干净表面。IterativePFN 则让中间模块先处理较低、但尚未完全消除的噪声再由后续模块继续修正。论文 Figure 4在中间滤波迭代中使用自适应真值目标逐步引导结果收敛到干净表面。设干净 patch 为 Y第阶段的目标为其中表示该阶段目标所对应的噪声尺度。噪声尺度逐步降低满足因此最后阶段的目标就是干净 patch。直观地说前面的模块先向噪声更低的目标靠近后面的模块再继续去噪。网络预测的位移记为作者根据当前点在阶段目标 patch 中的最近邻位置构造参考位移并使用二范数平方误差监督其中是与点在 patch 中的位置有关的权重表示当前点指向相应目标 patch 最近邻点的位移。各阶段分别计算损失后再累加使网络同时学习合理的位移和逐步降低噪声的过程。作者还比较了固定目标损失它在每个阶段都使用干净 patch Y自适应损失则使用噪声逐步减小的。两者的关键区别是每一步应该向哪个噪声水平的目标靠近消融实验将验证这一选择。四、局部 patch 构建与融合推理时IterativePFN 使用最远点采样Farthest Point SamplingFPS选择参考点再围绕参考点构建局部 patch。论文默认使用 1000 个近邻点并为每个点连接 32 个近邻实验也测试了将 patch 大小减至 100 的设置。论文 Figure 5通过最远点采样构建近邻 patch以及 patch 之间可能出现的重叠区域。不同 patch 可能覆盖同一个点。靠近 patch 边界的点其邻域往往不完整预测质量可能低于中心区域。为融合重叠区域作者提出通用的 patch stitching 方法根据点与参考中心的距离设置高斯权重越靠近中心权重越高再融合多次预测权重支持半径设为 patch 半径的三分之一。该方法不依赖额外的自注意力模块并支持一次滤波多个点。推理流程带噪点云 → FPS 选取参考点 → 构建局部 patch 与近邻图 → 多个 IterationModule 逐步滤波 → 高斯权重融合重叠区域 → 输出点云。五、实验结果与消融分析5.1 实验设置合成实验采用 PUNet 数据集从 40 个训练网格中采样 10K、30K、50K 点云得到 120 个训练样本并添加相当于包围球半径 0.5%–2% 的高斯噪声。测试使用 20 个网格在 10K、50K 分辨率下测试 1%、2%、2.5% 噪声其中 2.5% 高于训练噪声范围可用于观察泛化能力。指标为 Chamfer DistanceCD和 Point2Mesh distanceP2M均越低越好表中数值乘以。模型使用 Adam 训练 100 个 epoch学习率为。RueMadame 真实扫描数据缺少干净真值因而只进行定性比较。5.2 合成数据上的主实验论文 Table 1PUNet 合成数据集上不同方法在 10K/50K 分辨率及多种噪声水平下的 CD、P2M 对比。Table 1 中IterativePFN 在列出的 10K、50K 分辨率以及 1%、2%、2.5% 噪声组合下均取得最低的 CD 和 P2M。例如10K 点、2.5% 噪声下 CD/P2M 为 33.52/10.4550K 点、相同噪声水平下为 10.15/5.88。即使测试噪声高于训练时的最高水平结果仍有优势支持自适应目标和内部迭代有助于处理更高噪声的判断但不能据此推断任意真实噪声下都必然领先。论文 Figure 650K 点、2% 高斯噪声下Camel、Casting、Cow 和 Fandisk 形状的逐点 P2M 距离可视化。Figure 6 以颜色展示点到参考表面的距离补充了 Table 1 的定量结果也便于观察形状轮廓和复杂几何区域是否出现明显误差。5.3 真实扫描数据论文 Figure 7RueMadame 真实扫描数据中两个场景的滤波结果绿色箭头标记效果较好的区域红色箭头标记效果不理想的区域。RueMadame 的可视化结果显示IterativePFN 能较稳定地保留路牌、车辆引擎盖等结构PDFlow 和 ScoreDenoise 留下较明显的离群噪声Pointfilter 则在部分区域扭曲原有形状。真实场景去噪不仅要降低噪声也要避免损伤几何细节。论文 Table 2Kinect v1 与 Kinect v2 真实扫描数据集上的 CD、P2M 定量对比。将 patch 从 1000 点减至 100 点后IterativePFN 的 CD 从 14.07 降至 13.20Kinect v1从 19.68 降至 18.69Kinect v2。P2M 也有所改善但并非两个数据集上的最优值Pointfilter 的 P2M 分别为 7.91 和 10.29低于 IterativePFN 的 8.43 和 10.92。因此合成数据上的全面领先不能直接等同于真实扫描数据上所有指标都领先patch 大小和数据分布都会影响效果。5.4 消融实验为什么选择 4 个模块论文 Table 3不同 IterationModule 数量、DPFN 对照结构以及自适应/固定目标损失的消融结果。Table 3 显示模块数量并非越多越好。8 个模块在 1% 和 2% 噪声下误差较低但在未见的 2.5% 噪声下4 个模块更好CD/P2M 分别为 33.52/10.45而 8 个模块为 33.88/10.78。作者认为更多模块可能让网络更专注于训练中出现的噪声尺度影响高噪声泛化。模块数量增加也会提高显存开销。论文报告 1、2、4、8、12 个模块分别占用 3.9GB、7.6GB、15GB、29.5GB 和 44.1GB因此选择 4 个模块作为效果与资源的折中。参数量同为 3.2M、但仅含一个 IterationModule 的 DPFN 对照网络在高噪声下表现更差说明提升不只是参数量增加带来的。固定目标在 2.5% 噪声下为 34.17/10.87也高于自适应目标 $L_a$ 的 33.52/10.45支持逐步降低目标噪声的设计。六、总结与思考IterativePFN 的核心不是简单堆叠编码器—解码器而是让网络结构和训练目标共同模拟迭代去噪前一模块的输出成为后一模块的输入每一阶段的监督目标也逐渐降低噪声水平。模型因此学习“先降低一部分噪声再继续修正”而不是把全部去噪压力放在单次位移预测上。论文的合成实验和消融结果支持这一思路但作者也指出自适应目标依赖于训练时能够构造已知分布、已知尺度的噪声例如不同尺度的高斯噪声。真实传感器噪声往往更复杂如何构造更贴近真实场景的训练噪声仍值得研究作者还提出将该架构扩展到点云上采样等任务。从工程角度看patch 大小、重叠区域融合和目标噪声设定都会影响结果。本文最值得借鉴的观点是**当任务本身包含连续的状态变化时训练过程也应显式学习中间状态及其变化而不只是追求一次预测的准确性。