一、深度学习概述
深度学习过程就是优化一个函数
1.1 神经网络结构
1.2 loss函数
线性损失函数
交叉熵用作分类
1.3 激活函数
二、卷积神经网络
2.1 一维卷积
2.1.1 卷积的好处
- 卷积是稀疏的,更少的参数
- 卷积的权重可以共享
- 感知域一样,输出一样,两只狗的照片全连接很难输出一样
2.1.2 padding
为了卷积边缘,加0
2.1.3 Stride
使计算步骤更少,感知域更大
2.2 二维卷积
2.2.1 二维Padding
2.2.2 卷积核
不同卷积核用于提取不同的特征
多个卷积核,多个卷积层叠加
2.2.3 Pooling 池化
一个简化版的卷积,取区域内的最大值
三、深度学习在点云的应用
3.1 三维卷积
1.三维网格 2.三维卷积 3.展开
缺点:分辨率降低,计算量过大。
3.2 投影到二维卷积
每个方向都投影,计算量大。
3.3 MLP
把点的坐标累成一个向量,再用MLP(全连接)处理向量
直接把每个点的坐标传入神经元,但顺序变化导致了结果不同。
3.4 PointNet
考虑到点云的旋转不变性,需要函数满足以下特征
Core Idea之前是独立的,经过max pool把所有点联系到一块,每一列取最大值,不受点云旋转的影响。
Shared MPL + Max Pool = PointNet
PointNet能拟合任何函数的表达
被选中的点叫做Critical Points Set
缺点:缺少逐层的信息提取,直接将所有点云转成一列,所以提出PointNet++
3.5 PointNet++
3.5.1 原理
实现了多层的特征提取
对点云逐层运用RNN最邻近收缩进行均匀降采样,加上上一层的特征传入PointNet
为不受坐标的影响,需要有Normalize步骤减去中心位置,以不受绝对距离的影响。一个人在1m和在20m都是一个人。
3.5.2 Pointnet++改进
1、Multi-scale grouping:不同的搜索半径结合成一个向量
2、Multi-resolution grouping:多层特征点一起组成一个特征向量
3.5.3 点云语义分割
点由很少的点再次恢复多的点
PointNet++主要模拟CNN做了多层的特征提取
点云需要Normalization的预处理步骤标准化到sample的中心
在训练时需要对点云做旋转来