论文解读|2017 CVPRPointNet: 用于三维分类和分割的点集深度学习

原创 | 文 BFT机器人 

论文解读|2017 CVPRPointNet: 用于三维分类和分割的点集深度学习_第1张图片

01

背景

传统的卷积结构需要规则的输入数据格式,如图像网格或三维体素,以便进行权重共享和其他核优化。

由于点云或网格不是规则的格式,因此研究人员通常会将这些数据转换为规则的三维体素网格或图像集合,然后再输入到深度网络结构中。

然而,这种数据表示转换会导致不必要的数据冗杂和引入量化误差,可能会掩盖数据的自然不变性。

PointNet提供了一种适用于处理三维无序点集的全新深度网络架构,避免了将点云转换为规则的三维体素网格或图像集合的需要,并在各种应用中实现了高效和有效的性能。

论文解读|2017 CVPRPointNet: 用于三维分类和分割的点集深度学习_第2张图片

图1  PointNet的应用

02

创新点

该论文设计提出了一种适用于处理三维无序点集的全新深度网络架构——PointNet,它提供了一种统一且高效的方式来推理处理点云或网格等三维几何数据。

PointNet能够处理从物体分类、部件分割到场景语义解析等各种应用。在经验上,它显示出与当今最先进方法相媲美甚至更好的性能。理论分析也揭示了该网络所学到的内容以及为何能够对输入的扰动和损坏具有鲁棒性。

03

算法介绍

PointNet是一种深度神经网络结构,用于直接处理无序的3D点云数据。

它的网络结构包括三个关键模块:

1. 最大池化层:作为对称函数,用于聚合所有点的信息。

2. 本地和全局信息组合结构:用于将局部和全局信息结合起来。

3. 两个联合对齐网络:用于对齐输入点和点特征。

为了使模型对输入排列具有不变性,PointNet采用了对称函数来聚合每个点的信息。对称函数将n个向量作为输入,并输出一个新的向量,该向量对输入顺序具有不变性。例如,加号和乘号是对称二元函数。PointNet的完整网络结构如图2所示,分类网络和分割网络共享大部分结构。最后使用ICP算法对匹配点对进行优化,得到最终的点云配准结果。

论文解读|2017 CVPRPointNet: 用于三维分类和分割的点集深度学习_第3张图片

图2  PointNet网络结构

在PointNet中,点云数据首先通过多层感知器(MLP)进行处理,以提取每个点的局部特征。每个点的坐标和其他属性(如颜色、法向量等)被输入到一个MLP中,通过多个全连接层将其映射到一个新的特征向量,以提取高级别的特征。

然后,MLP的输出被输入到一个最大池化层中,用于聚合整个点云数据的信息。最大池化层将每个点的特征向量缩减为一个全局特征向量,该向量对整个点云数据具有不变性。最后,全局特征向量被输入到一个分类器或分割器中,以执行特定的任务,如物体分类、形状部件分割或场景语义解析等。

对称函数用于聚合所有点的信息,并提取点云数据的全局特征。具体来说,对于每个点,它的局部特征被输入到一个MLP中,以提取该点的局部特征。然后,对称函数将每个点的局部特征向量聚合为一个全局特征向量。

对称函数是一种对称二元函数,它将n个向量作为输入,并输出一个新的向量,该向量对输入顺序具有不变性。在PointNet中,对称函数采用了max pooling的形式,即对于每个特征维度,选择所有点中该维度的最大值作为全局特征向量的该维度的值。这样,对称函数可以聚合所有点的信息,并提取点云数据的全局特征。

联合对齐网络用于对齐输入点和点特征。具体来说,PointNet包括两个联合对齐网络,一个用于对齐输入点,另一个用于对齐点特征。对于点的对齐,PointNet使用一个小型网络(T-net)来预测仿射变换矩阵,并将该变换矩阵直接应用于输入点的坐标。

T-net本身类似于PointNet的大型网络,由基本模块组成,包括点独立特征提取、最大池化和全连接层。对于点特征的对齐,PointNet插入另一个对齐网络,并预测一个特征变换矩阵,以将来自不同输入点云的特征对齐。

由于特征变换矩阵的维数比空间变换矩阵高得多,因此PointNet添加了一个正则化项来约束特征变换矩阵接近正交矩阵,以提高优化的稳定性和模型的性能。

04

实验

实验过程主要包括以下几个部分:

数据准备:收集和预处理3D点云数据集。这些点云可以来自不同的三维扫描仪或模拟生成。对数据进行预处理,如归一化坐标、统一点云的数量和特征等,以确保数据的一致性和可用性。

网络架构搭建:构建PointNet网络结构。PointNet主要由多个全连接层(MLP)和最大池化层组成。根据任务的不同,可能需要对输出层进行调整,例如添加分类器或分割器。

训练:使用准备好的数据集对PointNet进行训练。在训练过程中,采用了Adam优化器,使用了交叉熵损失函数来优化网络,使其在特定任务上表现更好。

评估:在训练完成后,使用测试集对PointNet进行评估。计算分类任务的准确率或分割任务的IoU(Intersection over Union)等指标,以衡量网络的性能。

超参数调优:对于一些超参数,如学习率、批量大小等,可能需要进行调优以优化网络的性能。

对比实验:与其他现有的3D点云处理方法进行对比实验,以证明PointNet的优越性能。

可视化分析:通过可视化分析来理解网络的输出,例如观察网络在分类任务中正确分类的点云样本,或者在分割任务中生成的语义分割结果。7. 点云重建实验:在ShapeNet数据集上进行实验,比较PointNet和其他几种网络架构的重建性能。

论文解读|2017 CVPRPointNet: 用于三维分类和分割的点集深度学习_第4张图片

图3  PointNet鲁棒性测试

图3显示了4DMatch和4DLoMatch基准测试的直方图,其中重叠比例阈值设置为45%。

更多精彩内容请关注公众号:BFT机器人
(公众号后台回复“优惠活动”查看BFT机器人年终钜惠福利内容)

本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。

你可能感兴趣的:(分类,深度学习,数据挖掘)