PointNet学习

背景介绍

在目前获取3D场景中,几乎使用的都是点云。除了部分还在使用CNN-3D网络处理3D场景,其中主要运用在于医学方面。点云 获得3D信息计划成为了当前的“标配”。

但是针对无序点云数据的深度学习方法研究则进展缓慢。其中原因不外乎三种:

  1. 点云数据 具有无序性。 无序性主要在于对于同一个物体排列顺序千差万别,比如这个角度某点坐标为(1,1,1),另一个角度坐标为(2,3,1)。
  2. 点云具有 稀疏性。 这种极强的稀疏性让基于点云的高层语义感知变得尤其困难。
  3. 点云信息量有限。 点云的数据结构就是一些三维空间的点坐标构成的点集,本质是对三维世界几何形状的低分辨率重采样,因此只能提供片面的几何信息。

同时,欧氏空间的点云数据也具有以下三种特性:

  1. 无序性。如上。
  2. 点点之间存在交互。 每一个点都不是独立的,点与点之间存在交换蕴含了一些信息,因而模型应当抓住局部的特征与局部之间的交互
  3. 变换不变性。点云的分类切割 不会随着点云的变换而变化,其中变换包含但不限于旋转、平移

因为点云数据这样的特性,斯坦福学者提出了PointNet——第一种直接处理无序点云数据的深度神经网络。

主要用途

3D场景的主要用途有三个方面:

  • 3D物品分类
  • 3D物品切割
  • 语义处理

FrameWork
在这里插入图片描述

注:其中蓝色部分为pointnet 分类过程、橙色部分为分割过程。

分类主要步骤如下:

  1. 输入转换,把输入的点云数据规范化处理——利于切割或分类的角度:
    • T-Net是一个微型网络,用来生成一个仿射变换矩阵来点云规范化处理。输入点云数据,输出为3*3的旋转矩阵。其作用类似于把一个“歪图”变成一个正图。
  2. 点云处理,使用共享参数的双层感知机模型学习提取,把输入的每一个点数据升维到64
  3. 特征转换,特征层规范化处理,与步骤1的功能类似,从特征层面对输入点云数据进行变换
  4. 特征处理,使用mlp进行从64——>128——>1024升维处理,得到每一个点的1024维度数据。
  5. 对称函数(使得函数值与输入数据的顺序无关——解决输入点云数据无序问题),使用Max pooling提取出点云的全局特征向量(global feature)。
  6. 输出分类结果,使用mlp进行维度的变换——代码运用全连接,维度变换512——>256——>k,最后得到k个output scores。分类网络最后接的为softmax

注:步骤①和步骤③为STN(spatial transform network)——空间变换网络

分割主要步骤如下:

  1. 上述分类步骤的全部
  2. 使用分类步骤③得到的64维特征看作点的局部特征,把分类步骤⑤得到的global feature 看出全局特征,通过简单的拼接把局部特征全局特征 结合起来,再使用mlp融合,最后实现分类。

结束

PointNet 通过上面操作,可以得到一个关键点集来描述总结点云所表示的形状:

在这里插入图片描述
343.png)]

上图中,第一行是原始数据、第二行树关键点集(类似于骨架)、第三行为外形的上边界。关键点集相当于定义了形状的全局特征,所有的点都将落在第二行和第三行表示之间。网络的鲁棒性就来源于此处,只要保留了关键点,及时点云有变换和扰动结果也不会受到影响。同时关键点集合也意味着可以描述整个点云的性质(该段摘抄来着CSDN博主「hitrjj」的原创文章)。

参考


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值