zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

ECCV2022 | PCLossNet:不进行匹配的点云重建网络

2023-02-18 16:43:17 时间

01 介绍

为了重建一系列数据,通常采用自动编码器之类的网络来尽可能预测类似于原始数据的输出,这种方式通常利用原始数据和网络输出之间的重建误差来训练输出。二维图像或一维信号的重建误差非常容易用元素化均方误差(MSE)直接计算,因为它们的元素(例如像素)以一定的顺序排列。然而,当计算点云的重建误差时,需要匹配算法来同步不同的数据,因为重建网络中输入和输出点集的排列可能不同。

图1 (a) 和(b)表示常用CD和EMD losses的两个匹配过程,而(c)表示PCLossNet框架

不同的匹配算法根据不同的规则匹配点云之间的点。图1-(a)和(b)说明了两种常用structural losses所采用的匹配过程:倒角距离(the Chamfer Distance,CD)和EMD距离(the Earth Mover's Distance)。CD将一个点集中的点与其另一个点集的最近邻点进行匹配,而EMD优化以找到点云之间具有近似最小匹配距离的点双射。

许多工作都是在改进网络结构,以学习更具代表性的特征或构建更好的形状,而所有这些工作都使用倒角距离和EMD距离作为基本形状约束。但是,CD或EMD采用的匹配过程实际上是形状差异的近似值。在匹配时表现的收敛很好,但可能并不意味着点云形状完全相同。

由于预定义匹配过程和真实形状差异之间的偏差,不可避免的形状缺陷可能存在。如图1-(a)和(b)所示,CD可能会创建非均匀表面,因为其匹配关注平均相邻距离,这允许一个点与另一个点集的多个点相邻,并且缺乏一致性约束。尽管EMD通过构造双射可以创建更均匀的重建结果,但用于近似最小匹配距离的优化过程可能存在偏差,有时会产生失真。

尽管一些工作在点云上引入了判别器网络(discriminator networks)以增强细节,但它们仍然使用CD或EMD来约束点云的基本结构,并且受到匹配过程的限制。在这种情况下,我们希望通过用可微网络结构替换匹配过程来摆脱匹配过程的限制,这样我们就可以学习在没有匹配的情况下训练重构网络。

在这项工作中,我们提出了一种新的结构,称为点云重建损失网络(PCLossNet),以训练无匹配的重建网络。如图1-(c)所示,PCLossNet从点云中提取比较矩阵M_iM_o ,并评估其形状差异与比较矩阵之间的距离。为了训练网络,在生成对抗过程中轮流更新重建网络和PCLossNet的参数。直观地说,在每次迭代中,PCLossNet通过最大化M_iM_o 之间的距离来探索具有较大重建误差的区域,而通过最小化距离来优化重建网络。重建网络和PCLossNet相互促进,以激发网络的潜力。请注意,我们的工作不同于现有的基于GAN的判别器约束(discriminator constraints),因为我们设计PCLossNet不仅是为了简单地提高重建性能,而且是为了替换预定义的匹配过程。

我们的贡献总结如下:

  1. 我们提出了一种新的可微结构PCLossNet,用于将点云之间的形状差异转换为提取的比较矩阵之间的误差。
  2. 通过使用生成对抗过程进行训练,PCLossNet可以动态搜索点云之间的形状差异并约束重建网络,而无需任何预定义的匹配过程;
  3. 在多个数据集上的实验表明,使用PCLossNet训练的网络可以实现更好的重建性能,并以更高的分类精度提取更具代表性的特征。

02 算法

我们算法的整个流程如图2所示。我们提出了一个名为PCLossNet的框架,用于从点云S_iS_o 中提取比较矩阵M_iM_o ,并通过相应比较矩阵之间的误差来评估它们的差异。它与重建网络一起在生成对抗过程中进行训练。培训过程在Alg 1中进一步演示。

2.1 PCLossNet的结构

如图2所示,PCLossNet在从点云提取比较矩阵方面发挥着重要作用。现有的基于点的判别器,像是评估点云与深度神经网络的相似性的判别器,其中的深度神经网络是完全非线性的结构。通过进行对抗性训练,判别器将评估形状与分数的差异。然而,相同的分数可能来自不同的输出,因为从点云到分数的映射是完全非线性的,具有无限的搜索空间。因此,所有现有的基于点的判别器都需要匹配过程来将重构的点云约束为与原始点云相似的形状,这可以减少鉴别器的搜索空间,并尽可能避免预测分数的模糊性。它们实际上受到匹配损失和真实形状差异之间的偏差的限制。

在这种情况下,我们将非线性判别器结构解耦为非线性聚合控制器(AC)模块(保持对抗能力)和聚合处理器(AP)模块(完全基于3D欧氏空间提取比较矩阵M_iM_o )以自然地限制比较矩阵的搜索空间。AP模块通过多个分布的加权点来提取比较矩阵M_iM_o ,而这些分布的中心和宽度由AC模块使用S_iS_o 的MLP预测的聚集中心C和衰减半径R来控制。本工作中,加权分布的数量定义为N_c 。在训练过程中,动态调整C和R以搜索S_iS_o 之间的差异。PCLossNet中通过权重聚合点/特征的操作与NetVLAD[2]中的操作类似,但它们在特定网络结构上有明显差异。NetVLAD使用一组单独的参数用于每个集群中心的聚合,而PCLossNet使用AC模块中的一组参数来调整所有中心的聚合。此外,NetVLAD通过损失进行端到端训练,而PCLossNet则进行了反向优化,以搜索形状差异。关于AC模块和AP模块的更多讨论,详见原文。

2.2 重建网络的训练

为了训练点云重建网络,我们在生成对抗过程中更新重建网络和PCLossNet的参数。我们的训练算法在Alg1中给出。\theta_L\theta_T 分别是PCLossNet和重建网络的参数。重建网络更新的损失函数为

而PCLossNet更新的损失函数为

其中,M_iM_oL_{UC}L_R 是比较矩阵、均匀性约束和衰减半径约束。\sigma_L 是一个很小的常数,以防止当||M_i,M_o||_2 \rightarrow0L_{PCLossNet} 发生梯度爆炸;和是组件的权重。L_{UC} 在方程10中定义,以确保重建点云中的每个点都获得足够的权重来约束。

重建网络的损失函数旨在减少比较矩阵之间的误差,而PCLossNet的损失函数试图通过增加误差来探索更多差异。我们采用log(·) 来动态调整PCLossNet的更新,在这种情况下,梯度将随着||M_i,M_o||_2 的增大而减小。通过这种方式,当重建网络较弱时,PCLossNet更新速度较慢,而当重建网络工作良好并达到较小的重建误差时,则更新速度较快。

2.3 算法分析

为了直观地分析我们的方法,可以将训练过程建模为求解方程的过程。如第3.1节AP的讨论中,我们将重建输出和地面真相抽象为比较矩阵。设s_i^k \in S_is_o^k \in S_o 为输入和输出中的第k个点,c \in Cr \in R 为聚集中心和衰变半径。然后,对于每次迭代中的输入和重建点云,我们有

其中,

N_c是聚集中心的数量,而N_iN_o 分别是输入点和重构点的数量。\sigma_n^j 是第n次迭代后第j个聚集中心周围比较矩阵之间的对应距离。我们可以看到,上述方程组在一次迭代中是不确定的,因为我们通常使用N_c<N_iN_c<N_o 来降低计算成本。

在以后的每次迭代中,都会添加一组新的方程。对于L_{PCLossNet}-log(||M_i,M_o||_2) 在后续迭代期间搜索尽可能独立于前一个方程的方程,而L_{UC}L_R 提高了方程组中的局部独立性。L_{UC} 希望为每个点提供一个接近聚集中心,而L_R 倾向于缩小衰减半径,并将更大的权重集中在更少的点上。它们将导致聚集中心的统一空间位置和相邻节点之间的较小交集,这将提高每组方程的局部独立性。因此,方程组将在多次迭代后确定,这可以在没有匹配的情况下约束所有点。

03 实验结果

在这项工作中,采用了三个点云数据集:ShapeNet[28]、ModelNet10(MN10)和ModelNet40(MN40)[26]。每个模型由从原始网格模型的表面随机采样的2048个点组成。

04 结论

在这项工作中,我们提出了一种新的基于学习的框架PCLossNet,以帮助点云重建网络摆脱常用匹配过程的限制。

PCLossNet将点云之间的差异转换为提取比较矩阵之间的误差,这些比较矩阵是从具有多个分布的点云动态聚合而来的。通过将提取过程解耦为非线性聚合控制器(AC)模块和聚合处理器(AP)模块,PCLossNet可以克服现有基于点的判别器的限制,自然支持对抗性训练。通过与重建网络一起在生成对抗过程中进行训练,PCLossNet可以搜索重建结果与原始点云之间的主要差异,并在没有任何匹配的情况下训练重建网络。

在多个数据集和重建网络上的实验表明,使用PCLossNet训练的重建网络可以优于使用基于匹配的损失训练的网络,具有更小的重建误差和更高的特征分类精度。

—— 精彩推荐 ——

  1. 多模态数据的行为识别综述 
  2. ECCV 2022 | 商汤发布最大的表征学习预训练数据集OmniBenchmark
  3. LPCG:用激光点云指导单目的3D物体检测
  4. ECCV 2022 | 76小时动捕,最大规模数字人多模态数据集开源
  5. NeurIPS 2022 | 中科院&图森未来提出FSD:全稀疏的3D目标检测器