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

1.背景信息

  1. 第一篇处理无序点云的深度学习方法
  2. 可以灵活应用在点云分类, 点云部分分割以及语义分割上面。点云分类是将点的特征组合起来输入到一个分类器中,得到分类结果。点云部分分割和语义分割是对每个点都进行分类,以确定分割标签。
  3. 通过训练一个input transform的小网络,对输入点云的旋转平移是鲁棒的
  4. 通过训练一个feature transform的小网络,对点云的特征进行对齐,以使点的特征之间产生联系
  5. 作者认为在他们方法中关键的部分是使用了简单的对称函数:max pooling

2.介绍

1. 对无序点云设计神经网络结构要考虑:
如何确保不同成员排列结果不变性
考虑点云的对称性可能引起的结果变化
如何确保刚性变换下结果的不变性
2. 主要流程:
(1)
学到optimization functions/criteria
选择interesting or informative points
encode the reason for their selection
(2)
全连接层: shape分类 或者 shape分割
3. 主要应用
在这里插入图片描述
input: sampled from a shape/ pre-segmented from a scene
分类output: k scores for k classes
分割output: n*m scores(m classess for each point)

3.方法

3.1 点集 R n R^{n} Rn的属性

1. 无序性
N个点有N!中排列方法
2. 点间交互
local邻居之间存在约束
3. 变换不变性
刚性变换应该保持特征不变

3.2 PointNet结构

在这里插入图片描述

网络中存在三个关键模块来handle上述三个问题:
1. max pooling层作为对称函数来集成所有点的信息(解决点云无序性)
2. 一个local和global信息结合结构(解决点间交互问题)
3. 两个joint alignment网络来分别对齐输入点云(解决刚性变换特征不变问题)和对齐点的特征(解决点间交互问题???)

3.2.1 对称函数对无序点云输入进行处理
思路就是定义一个作用在点云上的通用函数,这个函数可以近似通过作用一个对称函数在点集的变换元素上来实现。
在这里插入图片描述
实际上,这里的点集变换函数h()是通过MLP来实现的,对称函数g(x)是一个max pooling函数。

3.2.2 局部和全局信息集成
点云分割需要结合局部和全局的特征信息,可以在网络结构图中看到,作者将local features 和 global features 结合起来作为点云分割网络的输入。

3.2.3 联合对齐网络
定义了两个mini T-Net,T-Net也是由1)点特征提取 2)最大池化 3)全链接层来组成的。
第一个mini T-Net实现了input transform, 它预测了一个放射变换矩阵,直接作用在输入点云的坐标上。
第二个mini T-Net实现了feature transform, 它预测了一个特征变换矩阵,来对齐不同输入点云的特征。
因为特征空间的变换矩阵有更高的维度,作者加入了一个正则项来限制特征转换矩阵近似于正交阵:
在这里插入图片描述

3.3 理论分析

理论性较难,后续再处理(2020.09.30)

4.实验

4.1应用

3D目标分类:
在这里插入图片描述
3D目标部分分割:
在这里插入图片描述
在这里插入图片描述
场景语义分割
在这里插入图片描述

在这里插入图片描述

4.2结构设计分析

三种点云顺序不变性的比较(本文亮点1:选择对称函数的原因):
在这里插入图片描述
max pooling 操作实现了最好的效果,这是本文亮点1的合理选择。

输入和特征变换的效果(本文亮点2:保证刚性变换不变性的解释)
在这里插入图片描述
可以看到,加上输入变换矩阵(33),准确度提高了0.8%;加上特征变换矩阵(6464),准确度降低了0.2%;特征变换矩阵(6464)+正则化,准确度提高了0.3%; 如果输入变换矩阵(33)+(特征变换矩阵(64*64)+正则化),那么准确度提高了2.1%。
这给出了作者使用这两种结构的原因的合理解释。

鲁棒性测试:
在这里插入图片描述
分别对点云进行删点、添点、抖点,测试pointNet的鲁棒性。

4.3 可视化PointNet

在这里插入图片描述

第一行是原始点云。
第二行 C S C_{S} CS描述了PointNet具有学习并提取关键点的能力, C S C_{S} CS中的点大致描述了整个目标物体的轮廓。
第三行 N S N_{S} NS是点云的上界, N S N_{S} NS中一个区域(里面有多个点)可以由 C S C_{S} CS中的一个点来进行表示,因为他们携带有相同的特征。

4.4 时间和空间复杂度分析

在这里插入图片描述
PointNet还是很紧凑速度很快的。

读后感

1. PointNet是直接处理点云的鼻祖网络,现在直接对点云处理的文章中基本都会引用它。
2. 在6D位姿估计中,PointNet对geometry embedding(feature)的提取任务中发挥了重大的作用。
4. PointNet解决了无序点云的特征提取不变问题,通过引入对称函数max pooling和以MLP为基础的逐点特征提取。
5. PointNet通过引入两个mini T-Net,解决了点云刚体变换后特征保持不变的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值