[PointNet] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation(CVPR. 2017)

image-20210525163526831

1. Motivation

当时大多使用handcraft或者3D cnn来做点云的研究,本文提出使用deep learning来对点云做3D的分类以及分割。

Most existing features for point cloud are handcrafted towards specific tasks

由于点云是不规则的数据,因此之前的研究将点云数据转换为通常的3D体素网格或图像集合,然后在送入神经网络结构。但是会存在使得数据变大,同时会影响数据的自然不变性。

This data representation transfor- mation, however, renders the resulting data unnecessarily voluminous — while also introducing quantization artifacts that can obscure natural invariances of the data.

对于点云定义的基础理解:

点云的表示:NxD,N代表N unordered points,每一个points有D dim vector(eg D=3 for x,y,z axis or more dimension for color(RGB 3维), 法向量等。

image-20210524220958484

点云具有的性质:平移对称性以及转换不变性。

  • permutation invariance: point cloud is a set of unordered points.

  • transformation invariance: point cloud rotations should not alter classification results.

点云任务中的Classification, Part Segmentation, Semantic Segmentation:

image-20210525164044321

2. Introduction and Related Work

2.1 Introduction

  • PointNet要完成的任务概括为,对于分类来说,是对于所有的输入的整体进行分类(相当于2D的图片分类问题);对于part segment/ segment来说,是对于输出的每一个点的类别进行划分per point segment/part label。

    Our PointNet is a unified architecture that directly takes point clouds as input and outputs either class labels for the entire input or per point segment/part labels for each point of the input

  • basis setting的每一个point仅仅包含三维坐标(x,y,z)。还有一些额外信息如下:

    In the basic setting each point is represented by just its three coordinates (x, y, z).

    Additional dimensions may be added by by computing normals and other local or global features

  • 对于本文方法的关键之处在于使用了对称函数,max pooling

    Key to our approach is the use of a single symmetric function, max pooling.

  • 将点云数据喂入PointNet之前,本文添加了一个依赖数据的框架转换器来处理数据,进行规范化,以进一步改善结果。

2.2 Related Work

  • Point Cloud Features

    Most existing features for point cloud are handcrafted towards specific tasks

  • Deep Learning on 3D Data

​ Volumetric CNNs: [28, 17, 18] are the pioneers applying 3D convolutional neural networks on voxelized shapes.

​ 由于3D卷积的计算开销较大,以及数据的稀疏性,输入数据受到分辨率的限制。

​ However, volumetric representation is constrained by its resolution due to data sparsity and computation cost of 3D convolution.

3. Contribution

  • 本文提出了PointNet。

    We design a novel deep net architecture suitable for consuming unordered point sets in 3D.

  • 可以应用于多个点云任务中。

    We show how such a net can be trained to perform 3D shape classification, shape part segmentation and scene semantic parsing tasks.

  • 对本文的理论进行了分析与证明(对称性)

    We provide thorough empirical and theoretical analysis on the stability and efficiency of our method.

  • We illustrate the 3D features computed by the selected neurons in the net and develop intuitive explanations for its performance.

4. Method

4.1. Properties of Point Sets in R n R^n Rn

点云集合的输入来自于Euclidean space,有三个主要性质:

  • Unordered(相当于第一张图所示,对于N个点云的vector数据排列,可以有N!的排列组合方式)

    In other words, a network that consumes N 3D point sets needs to be invariant to N! permutations of the input set in data feeding order.

  • Interaction among points

  • Invariance under transformations.

    这点与CNN类似,学习到的点云表示不会被变换操作所影响。对于分类任务以及分割任务,都可以正确的判断出类别。

对于第一个性质,直观的想法就是构造对称函数,例如(mean,maxpool 等与数据的分布无关)。作者将低维的特征D通过MLP 映射为高维特征,这么做的目的在于使用冗余的高维信息来避免点云信息的丢失,保留足够的点云信息,通过另一个网络γ来进一步提取点云的特征。

因此,使用g以及γ与h组成一个表达式,如果g是对称的那么f(x)就是对称的。

image-20210524221936695

4.2 PointNet Architecture

image-20210525171519000

如图2所示,表示PointNet Architecture。PointNet网络的输入是 a set of 3D points { P i ∣ i = 1 , . . . , n } \{P_i | i=1,...,n \} {Pii=1,...,n} P i P_i Piis a vector of ( x , y , z ) (x,y,z) (x,y,z)以及额外的feature channels。

PointNet的网络有3个核心的模块:

  • the max pooling layer as a symmetric function to aggregate information from all the points

  • a local and global information combination structure

  • two joint alignment networks that align both input points and point features.

PointNet网络的输出分为分类和分割任务2种输出:

  • 对于分类的任务的输出 K K K

    Our proposed deep network outputs k scores for all the k candidate classes.

  • 对于语义分割任务的输出 n × m n \times m n×m

    Our model will output n × m scores for each of the n points and each of the m semantic sub- categories.

    对称函数:

image-20210525173223101

作者把mlp作为函数h,将g由variable function和max pooling function组成。

  • Local and Global Information Aggregation

对于分割网络来说,它是要预测每一个点属于某个类,作者在视频所说,将local和global的信息进行融合,也就是Nx64和1024的global feature生成 n x 1088相当于一种检索操作。

  • Joint Alignment Network

为了能够得到点云的transform invariance,作者使用了简单的affine transformation matrix。

We predict an affine transformation matrix by a mini-network (T-net in Fig 2) and directly apply this transformation to the coordinates of input points.

在附录中,给出了变换的mini-pointnet的结构:

It’s composed of a shared MLP(64, 128, 1024) network (with layer output sizes 64, 128, 1024) on each point, a max pooling across points and two fully connected layers with output sizes 512, 256.

接着输出得到2个变换矩阵,3x3以及64x64的矩阵,然后和Nx3以及Nx64进行简单的矩阵乘法计算。

作者希望在优化过程中,使得feature transformation matrix尽可能接近orthogonal matrix:

image-20210525181355524

在图5中可以得出这样子优化使得网络的性能会提高。

5. Experiment

5.1 applications

5.1.1 3D Object Classification

image-20210525173357726

5.1.2 3D Object Part Segmentation

image-20210525173316411

5.1.3 Semantic Segmentation in Scenes

image-20210525173417690

5.2 Architecture Design Analysis

5.2.1 Effectiveness of Input and Feature Transformations

image-20210525181019551

5.2.2 Robustness Test

image-20210525181104245

5.3 Visualizing PointNet

image-20210525173640838

5.4 Time and Space Complexity Analysis Table

image-20210525173655797
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PointNet是一种深度学习模型,专门用于处理3D点云的分类和分割任务。它接受一个由点组成的集合作为输入,可以学习到每个点的特征表示,并将它们组合起来以获得整个点云的全局特征。PointNet还具有旋转不变性,因此可以处理具有不同旋转角度的点云数据。这使得PointNet成为3D视觉领域的重要工具,用于处理各种任务,例如物体检测、语义分割和场景重建等。 ### 回答2: PointNet是一种基于点集的深度学习架构,用于3D分类和分割任务。它于2017年由Qi et al.提出,并已在许多3D视觉应用中得到了广泛应用。PointNet的主要思想是将点云看作无序的点集,并设计了一种处理这种无序集合的新型神经网络。 传统上,对3D对象进行分类和分割的方法通常需要将对象转换为网格或体素,然后将其表示为规则形状的网格或体素。这些方法在处理复杂几何形状时存在一定的困难,并且采用的处理方法需要严格的输入格式。 相比之下,PointNet可以直接处理点云数据,不需要对其进行转换或训练数据格式的严格要求。在PointNet中,输入是一组点的集合,每个点有三个坐标和其他任意的属性,如颜色或法线。这些点无序,因此PointNet用最小误差投影(Minimum Error Projetion)来解决这个问题。这个网络的中心思想是使用点集的对称性,将输入点云映射到一个向量空间中,该空间旨在保留输入点集的所有信息。 为了处理点集的对称性,PointNet使用了两个网络——一个是点特征提取网络,另一个是全局特征提取网络。点特征提取网络处理单个点的信息,并产生一个新的点特征。全局特征提取网络则将所有点的特征表示合并到一个全局特征向量中。这种设计使PointNet可以生成对称空间中的全局特征向量,从而保持了输入的无序性质,并确保了在不同尺度和物体位姿下的泛化能力。 总的来说,PointNet为点云的处理提供了一种新颖的方式,可以在保持输入的无序性质和提高处理效率方面取得良好的表现。它的成功应用在3D分类和分割任务中证明了其高效性和实用性,并为未来的3D深度学习研究工作提供了有价值的经验。 ### 回答3: PointNet是一种用于3D分类和分割的深度学习算法。这种算法突破了传统方法中对于3D形状进行预测的限制,通过学习点云中点的全局特征来进行预测,并且在Caltech-101 或 ModelNet40等数据集上取得了远超其他算法的效果。 PointNet算法首先通过应用全连接网络将点云中的每个点转换成一个低维的向量表示。该算法还采用了一个局部特征学习模块,该模块仅对于每个点的局部序列进行操作,以捕获点云的局部特征。该算法使用了max pooling的形式将每个点的局部特征进行汇总,以得出整体的特征表示。最后,算法通过多个全连接层将点云的全局特征映射到所需的目标(如类别标签或分割结果)。 值得注意的是,PointNet算法在3D形状分类和分割问题上的效果非常显著,并且其鲁棒性非常好,即使在存在噪声和缺失数据的情况下,该算法也能够产生准确的结果。此外,PointNet算法还可以通过加入循环神经网络模块来实现对于时间序列数据的处理。 总的来说,PointNet算法是一种极具前景的深度学习算法,其具有高效、准确和鲁棒的特点,可以应用于3D形状预测、3D图像识别、机器人操作等领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值