TPAMI 2024 | PathNet: 基于路径选择的点云去噪

PathNet: Path-Selective Point Cloud Denoising

题目:PathNet: 基于路径选择的点云去噪

作者:Zeyong Wei , Honghua Chen , Liangliang Nan , Jun Wang , Jing Qin ,
and Mingqiang Wei

源码:https://github.com/ZeyongWei/PathNet.git


摘要

当前的点云去噪(PCD)模型优化单一网络,试图使其参数适应于大量点云池中的每个点。这种去噪网络范式忽略了不同点通常受到不同程度的噪声干扰,并且它们可能传达不同的几何结构。因此,噪声和几何的复杂性带来了包括残留噪声、错误平滑的边缘和去噪后形状扭曲等副作用。我们提出了PathNet,一种基于强化学习(RL)的路径选择性PCD范式。与现有工作不同,PathNet能够动态选择每个点最合适的去噪路径,最佳地将其移动到其底层表面上。除了首次提出路径选择性PCD框架外,我们还有另外两个贡献。首先,为了利用几何专业知识并从训练数据中受益,我们提出了一个噪声和几何感知的奖励函数来训练RL中的路由代理。其次,路由代理和去噪网络共同训练,以避免欠平滑和过平滑。广泛的实验表明,PathNet在去除不同噪声水平和保持多尺度表面几何形状的有效性方面,比竞争对手有了显著的改进。此外,PathNet比最先进的模型更平滑地泛化到真实扫描。

关键词

  • 几何保持
  • 路径选择
  • PathNet
  • 点云去噪
  • 强化学习

I. 引言

由3D扫描仪或深度相机捕获的点云通常受到噪声的干扰,这是由于测量和重建误差造成的。点云去噪(PCD)的目标是从其噪声扫描中恢复出代表底层表面的清洁点云。随着深度学习在许多研究领域的主流化,基于学习的PCD方法取得了令人瞩目的进展,例如PointCleanNet [1]、PointFilter [2]和RePCD-Net [3]。然而,这些尖端模型通常通过单一的深度或迭代模型去噪所有点,忽略了不同点受到不同程度的噪声干扰并且具有不同的几何结构这一事实。这种PCD范式通常会导致包括残留噪声、错误平滑的边缘和去噪后形状扭曲在内的副作用。

我们提出了一个有趣的问题:用相同的网络处理所有带噪声的点云是否是好方法?答案可能是“不是”。例如,在复杂且带噪声的点云中,表面结构和噪声强度的大变化总是存在的。可以很容易地推断出一个简单的事实:非常接近其真实表面的基础点已经很好地传达了物体的结构,它们只需要轻微的去噪甚至避免这种去噪操作;处于尖锐区域的点(即边缘和角落周围的区域)需要精心去噪以保留尖锐特征;而在分段平滑区域内的点本质上更难去噪,并且可以用更经济的方式实现。总的来说,点云的尖锐特征对去噪很敏感,因为它们属于几何细节类别,并且被认为是高频信号 [9]。因此,尖锐特征很容易在去噪过程中与噪声一起被平滑和移除。为此,我们需要更深层的网络来区分尖锐特征和噪声,而浅层网络足以处理平滑(平面)区域。

如果我们坚持PCD中的普遍智慧,通常采用具有单一去噪路径的网络来去噪整个点云,而没有考虑到复杂噪声模式和各种结构元素的潜在存在。使用具有单一去噪路径的网络不加选择地处理所有噪声点云内的点,在概念上效果较差。因此,这种方法可能导致在重度噪声数据集中去噪后的点云中存在噪声残留,并在应用于低噪声点云时导致几何过度平滑。

一种能够为每个噪声点选择合适网络路径的新的PCD范式,有望避免前述缺点。我们在图1中展示了一个典型的类似CAD模型,该模型包含平面区域、边缘和角落,以及不同程度的噪声:在(b)-(d)中,第一列是输入数据,第二、第三和第四列分别是具有1、3和5个去噪块的网络的去噪结果。如所见,位于蓝色矩形内的点位于平滑区域,因此可以用一个去噪块轻松去噪。增加网络深度或迭代次数将增加计算量和运行时间,但对去噪质量没有明显的改进。在黄色矩形中,具有适度噪声或几何特征的点通过三个去噪块恢复到真实表面。位于红色矩形内的点位于几何尖锐区域或包含密集噪声,需要五个或更多的去噪块或迭代才能有效去除噪声。

受图像恢复 [10] 的启发,我们通过一个代理动态选择每个点的去噪路径,将PCD制定为决策过程。我们称选择性路径的PCD网络为PathNet。据我们所知,我们是第一次将PCD视为强化学习问题。在我们的工作中,代理在强化学习(RL)框架中制定。它通过分析每一步中去噪点的状态来学习选择合适的路径,该状态由一个奖励驱动,该奖励在提高输入点云质量的同时提高效率。广泛的实验表明,我们的方法与以前的方法相比达到了最先进的性能。

我们的主要贡献有三个方面:

  • 我们提出了PathNet,一种基于路径选择策略的新型点云去噪网络。PathNet为去噪每个点选择最合适的路径。
  • 我们提供了基于强化学习的PathNet的第一次实现,它联合训练PCD网络和代理进行路径选择。PathNet在有效性和效率方面都优于竞争对手。
  • 我们为PCD引入了噪声和几何感知的奖励。这种奖励旨在对几何特征区域和具有挑战性的场景的性能给予更多关注。

如图2所示,所提出的PathNet在法线渲染和泊松表面重建方面,与传统和基于学习的方法相比,都表现出更好的性能。更多的视觉和数值结果可以在第IV节中找到。

III. 方法

A. 概述

给定一个带噪声的点云 P ^ \hat{P} P^,点云去噪(PCD)的目标是从 P ^ \hat{P} P^ 恢复一个干净的点云 P P P,以真实地传达3D对象的几何形状。我们将带噪声的点云建模为
P ^ = P + ϵ \hat{P} = P + \epsilon P^=P+ϵ
其中 ϵ \epsilon ϵ P ^ \hat{P} P^ P P P 之间的加性噪声。现有的基于深度学习的方法使用相同的模型来为所有点无差别地移除 ϵ \epsilon ϵ。由于 ϵ \epsilon ϵ 在点云中可能差异很大,并且点云具有多尺度的几何特征,相同的模型对不同尺度的噪声和几何特征关注不足。因此,不可避免地引入了副作用,包括残留噪声、错误平滑的边缘和去噪后形状失真。与此不同,我们将PCD视为决策过程,并提出PathNet,根据提取的噪声特征和几何特征自适应地为每个点选择最合适的去噪路径。

B. 网络架构

基于图3所示的网络架构,我们提出了PathNet,它为去噪任务提供了一个动态网络,而无需事先知道噪声的分布。

PathNet由三部分组成:编码器、T个去噪块以及解码器。编码器提取输入点云的局部补丁特征,这些特征作为第一个去噪块的输入;解码器预测每个点的位移向量,以此作为噪声的估计。在第t个去噪块中,存在一个共享子网络 f t s h a r e f_t^{share} ftshare,一个包含M条可选去噪路径的去噪路径子网络,以及一个路由代理 f t r a f_t^{ra} ftra

去噪路径子网络包含M条可选择的去噪路径 f t 0 , f t 1 , . . . , f t M − 1 f_t^0, f_t^1, ..., f_t^{M-1} ft0,ft1,...,ftM1,路由代理提供这些可能路径的概率分布以供选择。

编码器

我们首先将输入点云 P ^ \hat{P} P^ 归一化到以原点为中心的单位球内,然后为 P ^ \hat{P} P^ 中的每个输入点 p ^ \hat{p} p^ 构建局部补丁 P ^ \hat{P} P^ 以提取特征。具体来说,我们使用范围查询来生成具有指定半径r的补丁。为了保持所有补丁具有相同数量的点,如果补丁中的点数过少,我们会用查询到的点 p ^ \hat{p} p^ 填充补丁;如果补丁中的点数过多,则随机下采样至期望数量的点。为了实现旋转不变性,我们采用PCA技术对这些补丁进行对齐。为了增强特征表示,我们采用了两层图卷积,称为补丁图模块(见图4),以学习更多的局部上下文信息,从而对噪声残差进行鲁棒估计。与常规图卷积不同,在第二层中,仅构建了补丁中心点(图4中的红点)的全局图。补丁图模块公式化为:

F 0 = MLP ( cat ( max ( MLP ( G 1 ) ) , MLP ( G 2 ) ) ) F_0 = \text{MLP}(\text{cat}(\text{max}(\text{MLP}(G_1)), \text{MLP}(G_2))) F0=MLP(cat(max(MLP(G1)),MLP(G2)))

其中 G 1 G_1 G1 G 2 G_2 G2 分别是第一层图和第二层图; MLP ( ⋅ ) \text{MLP}(\cdot) MLP() 表示全连接网络; cat ( ⋅ , ⋅ ) \text{cat}(\cdot, \cdot) cat(,) 是连接操作; max ( ⋅ ) \text{max}(\cdot) max() 表示最大池化操作。在实验中,补丁点数设置为128,补丁半径r默认为点云边界框对角线长度的0.05倍。 G 1 G_1 G1 中的点数设置为10。

去噪块

去噪块的目标是为每个点提供不同复杂度的去噪路径。我们将去噪块设计为包含并行路径的结构,如图3所示。具体来说,第t个去噪块由共享子网络 f t s h a r e f_t^{share} ftshare、去噪路径子网络(包含M条可选择的去噪路径)和路由代理 f t r a f_t^{ra} ftra 组成。我们构造第t个去噪块 f t f_t ft 如下:

F t = f t a t ∘ f t s h a r e ( F t − 1 ) , 1 ≤ t ≤ T F_t = f_t^{at} \circ f_t^{share}(F_{t-1}), \quad 1 \leq t \leq T Ft=ftatftshare(Ft1),1tT

其中 F t − 1 F_{t-1} Ft1 F t F_t Ft 分别是第t个去噪块 f t f_t ft 的输入特征和输出特征。子网络 f t s h a r e f_t^{share} ftshare f t a t f_t^{at} ftat 都是残差MLP, f t a t f_t^{at} ftat 表示从去噪路径子网络中选择的路径。 a t a_t at 是路由代理 f t r a f_t^{ra} ftra 提供的路径选择动作。去噪路径子网络由两个或更多的不同路径组成:一个旁路路径用于简单任务( a t a_t at 是 0),其他的用于解决复杂任务( a t a_t at 是 1, 2, …, M − 1 M-1 M1)。我们经验性地将 M 设置为 2。

解码器

一旦我们获得第t个去噪块的输出特征 F t F_t Ft(1 ≤ t ≤ T),解码器通过应用最大池化和两层全连接层来回归位移向量 ϵ t \epsilon_t ϵt。然后,网络通过将回归的位移向量 ϵ t \epsilon_t ϵt 加到原始点云 P ^ \hat{P} P^ 上,输出去噪后的点云 P t P_t Pt

路由代理

为了实现自适应动态网络,我们尝试使用路由网络。它学习选择去噪路径。尽管路由网络可以通过去噪损失进行训练,但它并未达到令人满意的去噪结果。因此,我们采用强化学习策略训练的路由代理来为每个点选择合适的去噪路径。

我们首先定义一些术语,如状态、动作和奖励,然后详细介绍网络。给定输入状态 s t s_t st,路由代理 f t r a ( ⋅ ) f_t^{ra}(\cdot) ftra() 输出策略 π t ( a ∣ s t ) \pi_t(a|s_t) πt(ast)

π t ( a ∣ s t ) = f t r a ( s t ) \pi_t(a|s_t) = f_t^{ra}(s_t) πt(ast)=ftra(st)

其中 s t s_t st 由补丁特征和长短期记忆网络(LSTM)的隐藏状态组成,它包含代理可以观察到的信息。 π t ( a ∣ s t ) \pi_t(a|s_t) πt(ast) 是动作空间的概率分布。在训练期间,路由代理从 π t ( a ∣ s t ) \pi_t(a|s_t) πt(ast) 中采样 a t a_t at 以进行更多探索。在测试中,路由代理选择对应于最高概率的动作 a t = arg ⁡ max ⁡ a π t ( a ∣ s t ) a_t = \arg\max_a \pi_t(a|s_t) at=argmaxaπt(ast) 以获得更高的奖励。

代理在选择动作 a t a_t at 后获得奖励 r t r_t rt。奖励是选择动作的评估,并推动代理的训练。代理的目标是最大化所有选择动作的累积奖励 R = ∑ i = 1 T r i R = \sum_{i=1}^{T} r_i R=i=1Tri。因此,奖励对代理至关重要。为了在不同区域为点选择合适的去噪路径,我们采用噪声和几何感知的奖励来引导代理更多地关注噪声和特征丰富的区域。第III-C节中详细解释了奖励。

代理结构

路由代理是由以下模块连接而成的(见图3):一个多层感知器(MLP),其后是最大池化层,一个长短期记忆网络(LSTM)模块,

LSTM模块用于捕获不同动态去噪块中路径选择的相关性,这些相关性来源于历史特征和动作的上下文信息。由于路由代理是非可微的,我们将序列路径决策视为马尔可夫决策过程(MDP),并采用强化学习来训练代理。

最后,我们的去噪模型被建模为:
{ F 0 = E ( P ^ ) F t = f t ( F t − 1 ) , 1 ≤ t ≤ T ϵ t = D ( F t ) P t = P ^ + ϵ t \begin{cases} F_0 = E(\hat{P}) \\ F_t = f_t(F_{t-1}), \quad 1 \leq t \leq T \\ \epsilon_t = D(F_t) \\ P_t = \hat{P} + \epsilon_t \end{cases} F0=E(P^)Ft=ft(Ft1),1tTϵt=D(Ft)Pt=P^+ϵt
其中 E ( ⋅ ) E(\cdot) E() D ( ⋅ ) D(\cdot) D() 分别是编码器和解码器。 F t F_t Ft 表示来自第t个去噪块 f t f_t ft 的输出特征。 ϵ t \epsilon_t ϵt P t P_t Pt 分别是从 F t F_t Ft 回归的位移向量和去噪结果。T是去噪块的数量,即去噪路径的最大长度。

C. 损失和奖励

我们提出了一个联合损失函数来训练PathNet。该联合损失由两部分组成,即去噪损失和排斥损失。此外,设计了一个噪声和几何感知的奖励,使用REINFORCE算法[72]来训练路由代理。

去噪损失

为了鼓励去噪点尽可能接近真实表面,我们将去噪损失计算为去噪点与其在真实数据中的最近邻点之间的平方距离。去噪损失函数 L t , d L_{t,d} Lt,d定义为:
L t , d = ∥ p t − p n ∥ 2 2 L_{t,d} = \| p_t - p_n \|_2^2 Lt,d=ptpn22
其中 p t ∈ P t p_t \in P_t ptPt是第t个去噪块中 p ^ \hat{p} p^的去噪结果。 p n = NN ( p t , P ) p_n = \text{NN}(p_t, P) pn=NN(pt,P) NN ( p t , P ) \text{NN}(p_t, P) NN(pt,P)表示点云 P P P p t p_t pt的最近点。 P P P指的是以带噪声点 p ^ \hat{p} p^为中心的局部真实补丁。 P P P的半径与带噪声输入补丁 P ^ \hat{P} P^的半径相同。

排斥损失

最小化(6)中定义的损失有助于将噪声点回归到底层表面。然而,这通常会导致副作用,即去噪点聚集在一起,分布不均匀,尤其是当多个去噪点在真实数据中共有点时。为了缓解这种副作用,我们引入了排斥损失[1]。这种排斥损失测量去噪点和其在局部真实补丁中的最远点之间的平方距离。损失函数定义为:
L t , r = ∥ p t − p f ∥ 2 2 L_{t,r} = \| p_t - p_f \|_2^2 Lt,r=ptpf22
其中 p f = FN ( p t , P ) p_f = \text{FN}(p_t, P) pf=FN(pt,P) FN ( p t , P ) \text{FN}(p_t, P) FN(pt,P)是局部真实补丁 P P P p t p_t pt的最远点。注意,最远点搜索需要在每个训练周期中更新。通过最小化方程(7),我们确保去噪点 p t p_t pt保持在局部真实补丁的中心,从而促进去噪点的规则分布并防止过度聚集。

总体而言,联合损失函数 L L L定义为:
L = 1 N ∑ p ^ ∈ P ^ L p ^ L = \frac{1}{N} \sum_{\hat{p} \in \hat{P}} L_{\hat{p}} L=N1p^P^Lp^
L p ^ = 1 T ∑ t = 1 T L t , b L_{\hat{p}} = \frac{1}{T} \sum_{t=1}^{T} L_{t,b} Lp^=T1t=1TLt,b
L t , b = ( 1 − α ) L t , d + α L t , r L_{t,b} = (1 - \alpha) L_{t,d} + \alpha L_{t,r} Lt,b=(1α)Lt,d+αLt,r
其中 L ^ L_{\hat{}} L^是带噪声点 p ^ \hat{p} p^的最终损失。 N N N是带噪声点云 P ^ \hat{P} P^中点的数量。 T T T是去噪块的数量。 L t , b L_{t,b} Lt,b L t , d L_{t,d} Lt,d L t , r L_{t,r} Lt,r的加权平均值,即联合损失。 α \alpha α是一个权衡因子,用于平衡每种损失的重要性,我们经验性地将 α \alpha α设置为0.01。 γ \gamma γ设置为0.1以控制中间去噪块。

奖励

对于具有复杂几何图案和/或高噪声水平的点,去除噪声是一项挑战。奖励函数被设计来引导路由代理选择具有更强去噪能力的深层网络,以处理具有更复杂几何形状和更高噪声水平的点。在设计奖励函数时,我们设计了一个惩罚项,以避免为容易去噪的点选择复杂路径,从而减少计算资源的浪费。奖励函数通过在高噪声水平和更复杂的几何特征区域中去除噪声来获得更高的正奖励,从而抵消这种惩罚。这导致为难以去噪的点选择复杂路径。

基于上述设计原则,并受到图像修复方法[10]、[73]的启发,为了鼓励路由代理为具有不同噪声和形状特征的不同点选择适当的去噪路径,我们提出了在第t个去噪块中的噪声和几何感知奖励 r t r_t rt,公式化为:
r t = { − p a t , 1 ≤ t ≤ T − 1 − p a t − ( v + w n + λ w g ) ( L T , b − L 0 , b ) , t = T r_t = \begin{cases} -pat, & 1 \leq t \leq T - 1 \\ -pat - (v + wn + \lambda wg)(L_{T,b} - L_{0,b}), & t = T \end{cases} rt={pat,pat(v+wn+λwg)(LT,bL0,b),1tT1t=T
其中 a t a_t at是由路由代理决定的动作(0或1)。 p p p是一个常数,表示选择复杂路径的惩罚。 L 0 , b L_{0,b} L0,b是原始噪声点和真实点之间的损失。 L T , b L_{T,b} LT,b是最终去噪结果和真实点之间的损失。 − ( L T , b − L 0 , b ) -(L_{T,b} - L_{0,b}) (LT,bL0,b)是一般正奖励。 v v v是固定基础权重。 w n = L T , b max ⁡ ( L T , b ) wn = \frac{L_{T,b}}{\max(L_{T,b})} wn=max(LT,b)LT,b是噪声感知权重,其中 max ⁡ ( L T , b ) \max(L_{T,b}) max(LT,b)表示训练数据集中所有点的最大损失值。 w g = e − ⌊ l σ ⌋ wg = e^{-\lfloor \frac{l}{\sigma} \rfloor} wg=eσl是几何感知权重,其中 l l l是由特征提取算法(见第IV-A节)分类的几何特征级别, σ \sigma σ是几何特征级别的缩放参数。级别 l l l越低,几何特征越尖锐。 λ \lambda λ是权衡因子,用于平衡噪声权重和几何感知权重,我们经验性地将 λ \lambda λ设置为0.1。 v + w n + λ w g v + wn + \lambda wg v+wn+λwg可以在高噪声和几何特征区域中增加去除噪声的正奖励。

IV. 实验

A. 数据集和实现细节

训练数据集: 我们从PU-GAN[74]的训练数据集中选取了32个网格模型,这些模型在复杂性上各不相同,被分为三个类别:简单(10个模型)、中等(10个模型)和复杂(12个模型)。对于每个对象,我们从其表面网格中均匀采样20 K点作为真值点云。为了创建带噪声的输入,每个点云都加入了高斯噪声,其标准偏差分别为对象边界框对角线长度的0.0%,0.5%,1.0%和1.5%。对于每个点云,我们生成了500个补丁用于训练。因此,总共有 32 × 4 × 500 = 64 K 32 \times 4 \times 500 = 64K 32×4×500=64K 个训练补丁。

测试数据集: 我们为实验构建了四个数据集,包括两个合成数据集(分别称为Synth-A和Synth-B)和两个真实世界数据集(分别称为Real-A和Real-B)。以下是这些数据集的详细描述。

Synth-A: 我们使用PU-GAN[74]测试数据集中的所有网格模型,该数据集包含27个网格模型。对于每个测试网格,我们采样了10 K、20 K和50 K点,每个点云都加入了高斯噪声,其标准偏差分别为对象边界框对角线长度的0.5%,1.0%和1.5%。该数据集旨在评估PCD方法对不同点密度、噪声水平和模型几何复杂性的鲁棒性。

Synth-B: 该数据集旨在评估我们方法在不同场景下的有效性,例如不同的噪声强度、变化的密度和不同的噪声类型。此数据集中的模型与Synth-A中的相同,但它们经过进一步增强并被归类为四个子数据集。在第一个子数据集中,每个点云被分为左右两部分,分别包含5 K和25 K点。在第二个子数据集中,点云的左半部分和右半部分的噪声水平分别为0.5%和1.0%。在第三个子数据集中,每个点云的噪声水平从左到右从0.5%增加到2.0%。在第四个子数据集中,点云的左半部分和右半部分分别包含1.0%的高斯噪声和1.0%的脉冲噪声。分析这些子数据集使我们能够评估我们提出的模型在各种条件下的有效性,这将有助于验证模型的鲁棒性和灵活性。

Real-A: 它包括[75]中的所有真实扫描数据,用于验证去噪方法的泛化能力。它被分为三个子数据集,包含通过不同扫描方法获取的点云。具体来说,前两个子数据集分别由Kinect v1和Kinect v2从单视图捕获,每个子数据集包含144个点云,而第三个子数据集包括7个点云,这些点云是通过融合由Kinect v1从多个视图捕获的扫描得到的。对于此数据集中的所有模型,它们的真值是从扫描对象的高精度3D网格模型中获得的。

Real-B: 它包括5个真实扫描的LiDAR点云,其中4个LiDAR点云是从[76]中收集的,另一个是我们自己扫描的完整飞机点云。此数据集中的模型没有真值,并且仅用于视觉评估。

几何特征标记: 几何特征提取是几何处理领域中一个研究充分的话题。为了更好地恢复几何特征,我们将特征和奖励融合以训练代理。受选择性几何纹理过滤[9]的启发,我们计算几何特征水平作为每个真值点云及其相应的带噪点云的标签(即0-5,公式9中的 l l l的值)。图5展示了我们训练数据集中几何特征水平的可视化。较低的几何特征水平代表更尖锐的几何区域。值得注意的是,在公式9中,我们并没有直接将几何特征水平 l l l转换为权重,而是通过合并比例低但相似性高的级别来平衡每个级别的比例。具体来说,我们通过公式9中的缩放参数 σ \sigma σ 将6个级别合并为3个级别。此外,如果我们直接将所有点分类为3个级别,如图6所示,我们将忽略平滑区域内的几何特征。在图6中,(b)直接将所有点分类为3个级别,而©将所有点分类为6个级别。(d)将©中的6个级别合并为3个级别,以平衡每个级别的比例。显然,与(b)相比,(d)在平滑区域内的几何特征区域给出了更高的级别,这避免了在去噪时平滑区域内的几何平滑。


与最新技术的比较: 为了评估我们方法在去噪和几何特征保持方面的能力,我们将其与现有的最先进方法进行了比较。这些方法包括WLOP [19]、PCN [1]、GPD [48]、TD [5]、PF [2]、Score [7]、RePCD [3]、AD [4]、GeoDualCNN [6]、PCDNF [61] 和 PSR [8]。在这些方法中,WLOP 和 AD 是传统的去噪方法,TD 是无监督方法,而其他方法是基于学习的去噪方法。为了确保公平比较,我们使用他们公开发布的源代码重新训练了竞争模型。特别是对于 PSR [8],我们严格遵守其训练策略,提供10 K、20 K 和 50 K个无噪声的泊松采样数据点,并用标准差从0.5%到3%的高斯噪声扰动点。同样,遵循原始工作及其默认实现,我们在补丁上训练 PSR 并在完整的点云上验证它,以选择最优模型。

网络训练: 我们将整个训练过程分为两个阶段。在第一阶段,我们使用联合损失函数 L(公式(8))训练去噪块以初始化去噪路径,其中每条路径都是由路由代理随机选择的。在第二阶段,我们联合训练去噪块和路由代理,并交替优化去噪块和路由代理的参数。去噪块的训练过程与第一阶段类似,唯一的区别是将公式(8)中的 γ 设置为 0,以解除对中间去噪块的控制并增强网络的自适应性。路由代理通过 REINFORCE 算法 [72] 用奖励 rt(公式(9))进行训练。此外,我们揭示了我们网络的默认参数设置,即块数 T = 6,比例参数 σ = 2.3,惩罚值 p = 0.002,以及 max(Lt_b) = 0.4。

我们使用 Pytorch 实现了 PathNet,并在配备有 Intel Core I7-8700 K CPU(3.70 GHz,16 GB 内存)和 GeForce GTX 1080 GPU(8 GB 内存,CUDA 10.0)的 PC 上进行了测试。PathNet 使用 Adam 优化器进行训练,学习率为 1e−6。我们以批量大小 64 训练 PathNet,并分别为第一和第二阶段设置了 150 和 100 的训练周期数。

基于补丁和整个点云的推理方案: 我们的方法涉及基于每个点的局部补丁进行去噪的过程。在处理整个场景的点云时,我们为每个感兴趣的点搜索周围的局部补丁。每个补丁独立进行去噪,允许高效地批量处理多个补丁,整个场景的去噪结果在去噪完所有补丁后自然获得。重要的是,无论测试数据是否完整,去噪结果保持一致,因为对于单个补丁和整个模型,局部上下文保持不变。

B. 定量比较

为了定量比较我们的PathNet与其竞争者,我们遵循现有工作,并使用去噪点云与其真值对应物之间的Chamfer Distance (CD)和Mean Square Error (MSE)作为评估指标。较低的CD和MSE值表示更好的去噪性能。CD和MSE的公式定义如下:

CD ( P , P ′ ) = 1 N ∑ p i ∈ P min ⁡ p j ∈ P ′ ∣ ∣ p i − p j ∣ ∣ 2 2 + 1 M ∑ p j ∈ P ′ min ⁡ p i ∈ P ∣ ∣ p j − p i ∣ ∣ 2 2 \text{CD}(P, P') = \frac{1}{N} \sum_{p_i \in P} \min_{p_j \in P'} ||p_i - p_j||^2_2 + \frac{1}{M} \sum_{p_j \in P'} \min_{p_i \in P} ||p_j - p_i||^2_2 CD(P,P)=N1piPpjPmin∣∣pipj22+M1pjPpiPmin∣∣pjpi22

MSE ( P , P ′ ) = 1 k N ∑ p i ∈ P ∑ p j ∈ K ( p i ) ∣ ∣ p i − p j ∣ ∣ 2 \text{MSE}(P, P') = \frac{1}{kN} \sum_{p_i \in P} \sum_{p_j \in K(p_i)} ||p_i - p_j||^2 MSE(P,P)=kN1piPpjK(pi)∣∣pipj2

其中 P P P 是带噪输入 P ^ \hat{P} P^ 的去噪结果。 P ′ P' P 是真值。 N N N M M M 分别是 P P P P ′ P' P 的点数。 K ( p i ) K(p_i) K(pi) p i p_i pi P ′ P' P 中的k-最近邻。 k k k 设置为10。CD和MSE的单位分别为 1 0 − 5 10^{-5} 105 1 0 − 3 10^{-3} 103

表I展示了在Synth-A中不同噪声水平的合成点云和Real-A中的真实扫描Kinect数据上评估的比较结果。比较表明,我们的方法在合成数据和Kinect数据上都取得了最先进的结果。这证明了我们的方法在应用于真实扫描数据时展现出强大的去噪和泛化性能。

我们的方法在0.5%噪声的情况下可能表现出略逊于几种方法的性能。主要有两个原因:i) 路径选择机制引导具有不同噪声水平的点选择不同路径,旨在实现更高的整体准确性。PathNet基于这样的理念:为具有更高噪声水平的点选择更长路径可以带来更大的回报。因此,具有较低噪声水平的点被迫选择较短路径,这可能不幸地降低了它们的去噪准确性。这一假设可以通过比较第IV-D节中变体V 3和V 6的结果来验证。ii) CD度量计算双向形状相似性,而MSE是单向的。方法Score[7]基于均匀采样的去噪结果计算CD值,这可能导致与我们方法相比更高的CD值。方法AD[4]在MSE方面优于我们的方法,但在CD指标上落后。这种差异可以归因于AD产生聚集的点,导致较低的MSE值但较高的CD值。为了进一步提高0.5%噪声的性能,探索增加所选路径的复杂性并结合最终结果的均匀重采样技术可能是有益的。

C. 可视化比较

除了定量比较外,我们还在合成和真实扫描的点云上进行了可视化比较。图7显示了来自[76]的Real-B中真实扫描LiDAR数据的去噪结果。图8展示了Real-A中融合子数据集和Kinect v1子数据集中的三个点云的去噪结果。图9展示了在Real-B中用Leica RTC360扫描的具有246 K点的真实扫描飞机的可视化及其去噪结果。图10展示了Synth-A中具有丰富或尖锐特征的动物模型和CAD模型的去噪结果。灰色模型是通过泊松表面重建算法重建的网格。




总的来说,GeoDualCNN[6]倾向于保留过多的噪声。AD[4]、TD[5]、PF[2]、Score[7]和PSR[8]倾向于过度平滑物体的尖锐几何特征。相比之下,借助路径路由代理和噪声及几何感知奖励,我们的方法为不同噪声和几何区域的点提供了自适应去噪路径,从而有效地去除严重噪声并恢复更精细的几何细节。

D. 消融研究

我们通过比较方法的几个变体来分析我们方法的主要模块的贡献。

  • V 1 “无patch-graph”: patch-graph模块被MLP替换以提取特征。所有去噪块选择绕过路径,不训练路由代理。
  • V 2 “所有路径0”: 所有去噪块选择绕过路径,不训练路由代理。
  • V 3 “所有路径1”: 所有去噪块选择复杂路径,不训练路由代理。
  • V 4 “单阶段无RL”: 所有去噪块由路由网络选择路径。路由网络在第一阶段与去噪块同时训练。没有第二阶段和强化学习。
  • V 5 “无RL”: 所有去噪块由路由网络选择路径。路由网络在第二阶段与去噪块同时训练。没有强化学习。
  • V 7 “无感知”: 在第二阶段,我们训练路由代理时不使用噪声和几何感知奖励,将两个权重设置为0。
  • V 8 “无几何感知”: 在第二阶段,我们训练路径路由代理时不使用几何感知奖励,将几何感知权重设置为0。
  • “Full”: 我们的完整方案。
  • “ES-1”: 遵循[77],我们使用集成学习训练一个基于三个冻结预训练去噪子网络的变体。这些子网络基于不同的损失函数进行训练,包括L2损失(公式6和7)、噪声感知L2损失和几何感知L2损失。
  • “ES-2”: 一个集成变体与三个去噪子网络同时训练。

我们在Synth-A上对这些变体进行了定量比较,去噪结果总结在表II中。通过比较这些变体的性能,很明显每个模块在去噪中都发挥了积极作用。

.
特别是,比较变体V 1 “无patch-graph”和V 2 “所有路径0”,patch-graph模块通过提取每个点的局部几何特征来改善去噪结果。该模块使学习点 P P P 与补丁 P P P 中的邻点之间的相关性以及更一致的局部结构信息成为可能,从而实现鲁棒的残差估计。此外,与变体V 2 “所有路径0”相比,变体V 3 “所有路径1”通过选择所有复杂路径使用更深的网络来提高去噪精度。在变体V 4 “单阶段无RL”、V 5 “无RL”和V 6 “无感知”中,动态去噪路径比固定网络更适合去噪任务。注意,0.5%噪声的CD精度并未有效提高,这意味着V 3 “所有路径1”的更深网络已经超出了低噪声的要求,并增加了不必要的计算。通过比较变体V 5 “无RL”和V 6 “无感知”,由强化学习训练的路由代理为更好的结果选择了更合适的路径。此外,V 7 “无几何感知”的噪声感知奖励鼓励网络更多地关注难以去噪的高噪声点,这有效地降低了度量值。最后,我们完整的流程“Full”证明了几何感知奖励对于具有噪声水平的点云是有效的。

更重要的是,通过比较V 3 “所有路径1”和“Full”,我们完整的方法“Full”在所有指标上都取得了更好的结果。然而,V 3的网络更强大,因为它为每个点选择所有复杂路径,并使用比“Full”更多的网络参数。这强有力地证明了我们策略的有效性。

除了上述基于RL的路径选择外,我们还设计了两个基于集成学习的变体,“ES-1”和“ES-2”,受到图像去噪智慧[77]的启发。集成学习网络由两个主要组件组成:去噪子网络和集成模块。集成模块为每个去噪子网络自适应地分配权重,作为路径选择的替代形式。从表II中“ES-1”、“ES-2”和“Full”的比较结果来看,我们的方法在两个指标上都取得了更好的结果。它显示了RL奖励函数在涉及路径选择的动态去噪任务中的优势。

E. 路径选择

在图11中,我们可视化了来自Synth-A、Real-A和Real-B数据集的十个模型的路径长度,其中路径长度表示选择复杂路径的次数。这些模型包括合成数据、真实扫描LiDAR数据和真实扫描Kinect数据。值得注意的是,复杂路径通常由位于高噪声强度或尖锐特征区域内的点选择。基于这一观察,本节将更深入地分析不同场景下的路径选择,例如不同的噪声强度和类型以及不同的密度。

*不同点密度、噪声强度和噪声模式下的路径选择: * 处理单一点云内变化的点密度、噪声强度和噪声模式是去噪算法面临的一个挑战。为了进一步调查我们方法在各种场景下的效率,我们在Synth-B上测试了我们的方法。表III展示了定量比较结果。通过利用路径路由代理和噪声及几何感知奖励,我们的方法灵活地去除了噪声并恢复了几何细节,在所有场景和指标中都取得了最佳结果。图12显示了我们方法在每种场景中的可视化结果。对于小图(a),我们对所有点使用相同的接收场。显然,我们的方法受点云密度变化的影响较小。这是因为使用球查询和采样技术来获取邻域上下文信息。对于小图(b)和©,我们的模型自适应地选择更多路径以更好地抑制噪声。对于小图(d),由于Armadillo模型具有丰富的几何细节,1%的噪声相对于细节尺度仍然是严重的,导致选择了更复杂的去噪路径。此外,脉冲噪声在训练数据集中并不存在。我们可以观察到,我们的方法仍然可以有效地处理它并选择合适的路径。


不同接收场: 接收场(即邻域尺度)是影响获取邻域上下文信息的一个重要因素[3]。接收场相对于几何特征的尺度和噪声强度。直观地说,对于一个噪声点,较小的接收场会使噪声看起来更大,因此选择更复杂的路径。如图13(b)和©所示,显然有更多的点通过更复杂的路径进行去噪。相反,在较大的接收场内,噪声水平相应降低,使得去除高水平噪声更加可行(见图13©)。此外,我们发现在图13(d)的小立方体区域内选择了更多的红点。这是因为较大的接收场使得该区域的局部结构更加复杂,因此需要更长的去噪路径。最后,在图13(e-g)中,我们的方法在三种不同的接收场下产生了相似的CD定量结果。这表明我们的模型可以灵活且自适应地选择合适的路径来处理不同情况,同时实现良好的去噪性能。

在上述实验中,路由代理为每个点选择合适的去噪路径。具体来说,路由代理为具有较重噪声或更复杂特征的点安排了更长的去噪路径。这符合PathNet专注于处理噪声和特征点以去除噪声并恢复几何细节的预期。此外,路由代理能够识别出大量接近真值表面的低噪声点和平滑区域内的高噪声点,这些点不需要复杂的去噪网络。我们的网络使用合适的路径处理它们,以保持点云的整体结构并防止过度平滑。由于这些原因,我们的方法在去噪和特征保留之间取得了令人满意的结果,并实现了良好的平衡。

每个去噪块中的路径选择: 此外,我们在图14中展示了在1.0%高斯噪声干扰下的CAD模型上不同学习策略的路径选择结果。在图14(a)至(f)中,红色和蓝色点分别代表复杂和绕过路径。图(g)和(h)分别展示了输入和输出上的路径长度。从图14的第一行可以看出,1至4号去噪块中的复杂路径主要用于恢复噪声较重或在复杂几何区域的点。在平滑区域的点在第5号去噪块中选择了复杂路径,而在几何区域的点在第6号去噪块中选择了复杂路径。这样,我们的网络可以有效地在降低噪声的同时保持结构。

此外,我们观察到图11中所有去噪结果中最长的路径长度为5。由于我们设计了总共6个去噪块,最长的路径长度可以达到6。从图14的第一行通过比较第5号块(e)和第6号块(f),我们可以发现它们的路径选择结果完全相反,这表明第5号块(e)和第6号块(f)是能够处理具有相反属性点的去噪块。由于每个点只能选择它们中的一个复杂路径,这解释了为什么最长路径长度为5。上述观察结果证明了去噪过程中存在低一致性任务,这些任务不适合由单一模型处理。路由代理可以为这些低一致性任务安排不同的去噪路径,以获得更好的去噪结果。此外,我们尝试省略使用PCA将补丁与Z轴对齐的步骤以提高效率。结果表明,路由代理将为具有不同方向的点安排不同的路径,这表明具有不同方向的点具有相反的属性。这也证明了去噪过程中存在低一致性任务,并且有必要使用不同的网络或通过增强它们的一致性来处理它们。

无强化学习的路径选择去噪: 在图14的第2行和第3行中,我们还可视化了变体V 4 “单阶段无RL”和V 5 “无RL”的路径选择结果。对于第二行中的变体V 4 “单阶段无RL”,路径选择结果不清晰,只有在训练的早期阶段,第一个块为一些几何特征区域选择了复杂路径。原因是去噪块在训练的早期阶段无法有效地去除噪声,导致错误的路径选择结果。错误的路径选择结果进一步影响了去噪路径的训练,导致网络陷入局部最优。此外,第三行中的变体V 5 “无RL”倾向于为具有丰富几何特征的区域选择复杂路径。与我们的完整方案相比,变体V 5 “无RL”对噪声和几何特征的敏感性较低。当我们尝试通过将奖励函数的感知权重应用于损失函数来改进它们时,去噪的准确性降低了,这意味着直接应用于损失函数的感知权重影响了整体去噪性能。相反,我们的方法将感知权重应用于强化学习的奖励函数,进一步提高了去噪性能。因此,使用强化学习策略是必要的。

F. 运行时间

尽管我们的网络有多个去噪块,但它在效率方面仍然具有竞争力。表IV展示了我们网络在图11中所示模型的运行时间。此外,我们还分别测量了在不同噪声水平下,Synth-A中20,000点的合成数据的平均处理时间。它分别需要25.78秒、28.33秒和31.27秒来去噪0.5%、1%和1.5%噪声水平的数据。值得注意的是,我们的方法在去噪0.5%噪声数据的速度比1.5%噪声数据快21.3%。

V. 局限性和未来工作

尽管表现出了有希望的性能,我们的方法仍然有一些局限性。首先,路径选择的结果对奖励的超参数敏感。因此,必须通过试错实验来调整超参数以获得路径选择的预期结果。其次,PathNet是基于补丁的,它没有完全利用点之间的相关性。因此,PathNet只能在多次通过后去噪整个点云,这使得它无法在每个去噪块之后重建补丁特征。将来,我们将探索基于RL的邻域选择机制,以进一步提高去噪质量。

VI. 结论

我们介绍了一种新的深层模型,旨在进行路径选择性点云去噪,称为PathNet。PathNet是基于深度强化学习的点云去噪尝试。我们制定了噪声意识和几何意识的奖励来训练路由代理。我们的路径选择性去噪策略选择最合适的路径,以适应性地去噪具有不同属性的点。我们的方法在去除噪声和保持几何细节方面的有效性和鲁棒性方面达到了最先进的性能,并且能够很好地泛化到真实扫描中。未来,我们将调整我们的网络架构以提高效率,并将其扩展到其他3D任务,如点云补全和分割。

声明

本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白学视觉

您的赞赏是我们坚持下去的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值