PointNet

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

CVPR 2017


摘要

点云是几何数据结构的一种重要类型。 由于格式不规则,大多数研究人员将此类数据转换为规则的3D体素网格或图像集合。 但是,这使数据变得庞大并引起问题。 在本文中,我们设计了一种直接处理点云的新型神经网络,该网络很好地考虑了输入中点的排列不变性。 我们的网络名为PointNet,为object classification, part segmentation, scene semantic parsing提供了统一的网络结构。 尽管很简单,但PointNet高效。它表现出同等或优于现有技术的强大性能。 从理论上讲,我们提供分析以了解网络学到了什么,以及为什么网络在抗输入扰动和破坏方面鲁棒。

问题

大多数研究人员将此类数据转换为规则的3D体素网格或图像集合。 但是,这使数据变得庞大并引起问题。

创新

主要贡献如下:
(1)设计了一种新网络,适用于处理无序点云;
(2)网络来执行多种任务:3D shape classification, shape part segmentation and scene semantic parsing ;
(3)对方法的稳定性和效率进行了详尽的经验和理论分析;

数据集

  • ShapeNet part data set2

网络结构

在这里插入图片描述

三个关键模块:the max pooling layer as a symmetric function; a local and global information combination structure; two joint alignment networks that align both input points and point features.

  • Symmetry Function for Unordered Input(为了对于不同的输入顺序模型不变,假设了三种策略,结果max pooling 效果最好 )

  • 在这里插入图片描述

    Symmetry Function定义:

a function of n variables is symmetric if its value is the same no matter the order of its arguments. For example, if f=f(x1,x2) is a symmetric function, then f(x1,x2)=f(x2,x1) for all x1and x2 such that (x1,x2) and (x2,x1)are in the domain of f.

在这里插入图片描述

h:用mlp估计
g: 用a single variable function + a max pooling function估计

  • Local and Global Information Aggregation :Segmentation Network

  • Joint Alignment Network

    解决方案是在特征提取之前将所有输入集与规范空间对齐。

    T-net :feature extraction+max pooling + fully connected layers

    T-net预测仿射变换矩阵,并将该变换直接应用于输入点的坐标。

    这个想法也可以进一步扩展到特征空间的对齐。 我们可以在点特征上插入另一个对齐网络,并预测一个特征转换矩阵以对齐来自不同输入点云的特征。但是,特征空间中的变换矩阵比空间变换矩阵具有更高的维数,极大地增加了优化的难度。 因此,我们在softmax训练损失中添加了一个正规化项。 将特征转换矩阵约束为接近正交矩阵:

在这里插入图片描述

其中A是由T-net预测的特征对齐矩阵。 正交变换不会丢失输入中的信息。

结果

在这里插入图片描述

在这里插入图片描述

Notes

  • 数据预处理(采样+归一化+旋转+点位置抖动)

We uniformly sample 1024 points on mesh faces according to face area and normalize them into a unit sphere. During training we augment the point cloud on-the-fly by randomly rotating the object along the up-axis and jitter the position of each points by a Gaussian noise with zero mean and 0.02 standard deviation.

  • 定理1要证明的是设计的网络结构能够模拟任意一个连续(依照具体定义)的函数,且最差的情况是将空间内等分成立方体。

  • 定理2证明了小的扰动或多余的噪声点不太可能引起网络的输出变化。 3

引用

[2] L. Yi, V. G. Kim, D. Ceylan, I.-C. Shen, M. Yan, H. Su,C. Lu, Q. Huang, A. Sheffer, and L. Guibas. A scalable active framework for region annotation in 3d shape collections.SIGGRAPH Asia, 2016. 6, 10, 18

[3]https://blog.csdn.net/ShuqiaoS/article/details/83000140

链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab PointNet是一个基于Matlab编程语言的深度学习框架,主要用于处理点云数据。PointNet是一个用于点云分类、分割和语义分析等任务的端到端架构。 Matlab PointNet框架具有以下特点和功能: 1. 网络结构:PointNet是一个全连接神经网络,并且具有旋转不变性。它可以处理任意数量的点,并将点云转换为固定大小的特征向量。 2. 特征学习:PointNet通过学习点云中每个点的局部特征来捕捉点云数据的整体结构和特性。它能够学习到点的位置、法线、颜色等信息,从而实现对点云的全局表示。 3. 点云分类:PointNet可以用于点云的分类任务,即将点云分为不同的类别。通过训练,网络可以学习到点云的特征表示,并最终判断点云所属的类别。 4. 点云分割:PointNet还可用于点云的分割任务,即将点云中的每个点分配给不同的物体或区域。通过训练,网络可以学习到点云的局部特征,从而实现对点云的细粒度分割。 5. 语义分析:PointNet可以用于点云的语义分析任务,即对点云中的每个点进行语义标签预测。通过训练,网络可以学习到点云中每个点的语义信息,从而实现对点云的语义分析和理解。 在使用Matlab PointNet框架时,可以从数据准备、模型定义、网络训练和评估等方面进行操作。Matlab提供了丰富的工具和函数,可以方便地进行点云数据的加载、处理和可视化。此外,Matlab还提供了各种深度学习工具箱,如Deep Learning Toolbox,用于构建和训练PointNet网络。 总而言之,Matlab PointNet是一个用于处理点云数据的深度学习框架,它具有强大的特征学习能力和广泛的应用领域。在处理点云相关任务时,可以使用Matlab PointNet框架来实现高效的点云处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值