我的任务:目标检测
无序性就带来了置换不变性:
前置学习
基础blog
PyTorch实现MLP的两种方法nn.Linear和nn.Conv1d
以前用了三种方式来处理点云:
FPS——最远点采样
PointNet原理
作者考虑到了:无序性 & 几何变换对分类无影响 & 无序输入
PointNet 物体分类时的网络结构
T-net张什么样
上面有两个transform,就感觉是角度的转换,旋转到某一个角度的时候,就容易看得清。
他最后得到了一个global feature这么一个东西,相当于有了总体认识。
然后就可以识别一下这个东西是什么玩意。
PointNet 物体分割时的网络结构
分隔任务就是要对点进行分类,我需要将点归到某一个类当中。
点 + 全局信息 => 能够进行判断当前点属于 飞机翅膀? 飞机机头?
鲁棒性
鲁棒性可解释性:
他这个maxpool 得到的是 global feature.
其实就是 critical points.
为什么要选择PointNet
PointNet++
3D CNN 获取全局信息
PointNet++的原理
简明:局部多次使用PointNet
它可以做到:
- 多尺度的特征学习
- 旋转不变性
- 置换不变性
怎么选择区域呢?
- K 近邻
- Ball query
怎么选的点呢?
两种方法:
- 平均采样
- 最远采样
上面用到了插值,有什么实现的方式呢?
激光雷达扫描到的图像有近密远疏的特性。
那么我们在采样的时候,采样的半径需要进行考虑,密集区域圈小点,稀疏区域圈大点。
PointNet++ 的鲁棒性提升
Solution:
用完这两种方法之后,鲁棒性直接提升
跑通PointNet++
PointNet++的代码解读
- PointNet跑通
- 声呐、双目、RGB数据转换成 -> 3D
- 点云的标注软件, 是否能直接检测出来鱼