三维点云课程(五)——深度学习

一、深度学习概述

三维点云课程(五)——深度学习_第1张图片

深度学习过程就是优化一个函数 

1.1 神经网络结构

三维点云课程(五)——深度学习_第2张图片

1.2 loss函数

线性损失函数

三维点云课程(五)——深度学习_第3张图片

交叉熵用作分类

三维点云课程(五)——深度学习_第4张图片

1.3 激活函数

三维点云课程(五)——深度学习_第5张图片

二、卷积神经网络 

 三维点云课程(五)——深度学习_第6张图片

2.1 一维卷积 

三维点云课程(五)——深度学习_第7张图片

2.1.1 卷积的好处 

  1. 卷积是稀疏的,更少的参数
  2. 卷积的权重可以共享
  3. 感知域一样,输出一样,两只狗的照片全连接很难输出一样

三维点云课程(五)——深度学习_第8张图片

2.1.2 padding

为了卷积边缘,加0

三维点云课程(五)——深度学习_第9张图片2.1.3 Stride 

使计算步骤更少,感知域更大 

三维点云课程(五)——深度学习_第10张图片

2.2 二维卷积 

2.2.1 二维Padding

三维点云课程(五)——深度学习_第11张图片

三维点云课程(五)——深度学习_第12张图片

2.2.2 卷积核

不同卷积核用于提取不同的特征

三维点云课程(五)——深度学习_第13张图片

多个卷积核,多个卷积层叠加 

三维点云课程(五)——深度学习_第14张图片

 2.2.3 Pooling 池化

一个简化版的卷积,取区域内的最大值

三维点云课程(五)——深度学习_第15张图片

三维点云课程(五)——深度学习_第16张图片

三、深度学习在点云的应用

三维点云课程(五)——深度学习_第17张图片

 3.1 三维卷积

1.三维网格 2.三维卷积 3.展开

三维点云课程(五)——深度学习_第18张图片

缺点:分辨率降低,计算量过大。

3.2 投影到二维卷积

三维点云课程(五)——深度学习_第19张图片

每个方向都投影,计算量大。

3.3 MLP

把点的坐标累成一个向量,再用MLP(全连接)处理向量

三维点云课程(五)——深度学习_第20张图片三维点云课程(五)——深度学习_第21张图片

直接把每个点的坐标传入神经元,但顺序变化导致了结果不同。

3.4 PointNet

三维点云课程(五)——深度学习_第22张图片

考虑到点云的旋转不变性,需要函数满足以下特征 

三维点云课程(五)——深度学习_第23张图片

Core Idea之前是独立的,经过max pool把所有点联系到一块,每一列取最大值,不受点云旋转的影响。

Shared MPL + Max Pool = PointNet

三维点云课程(五)——深度学习_第24张图片

三维点云课程(五)——深度学习_第25张图片

 PointNet能拟合任何函数的表达

被选中的点叫做Critical Points Set

三维点云课程(五)——深度学习_第26张图片

三维点云课程(五)——深度学习_第27张图片

缺点:缺少逐层的信息提取,直接将所有点云转成一列,所以提出PointNet++

3.5 PointNet++

3.5.1 原理

实现了多层的特征提取三维点云课程(五)——深度学习_第28张图片

 对点云逐层运用RNN最邻近收缩进行均匀降采样,加上上一层的特征传入PointNet

为不受坐标的影响,需要有Normalize步骤减去中心位置,以不受绝对距离的影响。一个人在1m和在20m都是一个人。

三维点云课程(五)——深度学习_第29张图片

 3.5.2 Pointnet++改进

1、Multi-scale grouping:不同的搜索半径结合成一个向量

三维点云课程(五)——深度学习_第30张图片

2、Multi-resolution grouping:多层特征点一起组成一个特征向量

三维点云课程(五)——深度学习_第31张图片

 3.5.3 点云语义分割

 点由很少的点再次恢复多的点

三维点云课程(五)——深度学习_第32张图片

 PointNet++主要模拟CNN做了多层的特征提取

点云需要Normalization的预处理步骤标准化到sample的中心

在训练时需要对点云做旋转来

 

你可能感兴趣的:(三维点云,大数据)