Point-Net 论文阅读


Point-Net 是2017年的CVPR,是3D视觉方向非常经典的入门论文,开创了除体素、多视角外,新的数据处理方法——直接基于点云数据中的点。

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

1.之前的研究

在直接对点进行操作的方法出现之前,业界大多是对体素或者2D卷积进操作。

1.1 3D 卷积

受2D卷积对于像素操作的启发,因此可以使用3D卷积对点云数据进行卷积,但是体素,忽略了点云数据的稀疏性,而且3D卷积的计算成本非常高。
Volumetric CNNs 是将3D卷积应用于体素化形状的先驱,但是受到了计算成本的限制;FPNN、Vote3D 提出了处理稀疏性问题的相应方法,但是这仍旧是基于体素的模型,因此不能从根本上解决计算量大,数据存在稀疏性的问题。
在这里插入图片描述

1.2 采用2D CNN

Multiview CNNs 通过多视图投影将3D数据投影到2D,再使用2D卷积进行处理,这确实能够降低计算量,并且在形状分类和检索任务中取得了卓越的性能,但是难以扩展到场景理解或者其他三维任务(例如 点分类和形状补全)
在这里插入图片描述

2.存在的问题

2.1 点云数据的无序性

点云数据是无序的向量集,因此对于N!(假设有N个点,则有N!种排列,即N!种数据)种不同的输入形式,模型的输出应该是不变的。

2.2 刚性变换不变性

如果对于点云数据施加旋转或者平移等操作,点云数据的语义信息应该是不变的。

3.模型实现

3.1 输入顺序不敏感

有三个方法实现不受输入顺序影响:

  • 用所有的排列组合输入训练

  • 按规范顺序排序

  • 使用对称函数汇总信息

在这里对称函数的输入可以是n个向量的任意排列,但是输出不随输入顺序改变,例如加法和乘法就是对称二元函数

。Point-Net选用对称函数来实现对输入顺序不敏感这一特性,具体来讲:对于每一个点采用同一个MLP进行升维,之后采用maxpooling 来实现顺序不敏感。
在这里插入图片描述

3.2网络架构

网络结构根据上述思想来实现,先进行多层特征提取处理,之后使用过maxpooling来获取global features。
分类网络直接对全局特征进行MLP,即可获取最后的K个类别。
而语义分割网络则需要结合全局特征和局部特征来实现。具体来说:

  • 将n x 64的局部信息和1024的全局信息进行拼接,得到n x 1088 的输出。
  • 将拼接后的结果输进MLP,用以降维得到nx128的结果
  • 再将nx128的结果输入MLP,得到n x m的输出结果(m是类别数)
    在这里插入图片描述

4.性能分析对比

4.1 鲁棒性测试

相比于VoxNet,PointNet对于缺失数据有更佳的鲁棒性。
在这里插入图片描述在这里插入图片描述

4.2 模型复杂度以及速度分析

  • 更稳定: 模型复杂度为O (N)
  • 计算成本效率更高: 与MVCNN 和 Subvolume相比(以 FLOPs/样本衡量:分别高出141倍和8倍)
  • 参数更少: PointNet 比 MVCNN 更节省空间(参数数量减少了 17 倍)。在这里插入图片描述
    根据经验,在 TensorFlow 上使用 1080X GPU 时,PointNet 能够每秒处理 100 多万个点,用于点云分类(约 1K 个对象/秒)或语义分割(约 2 个房间/秒),显示出实时应用的巨大潜力。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值