PointNet++
PointNet局限性:由于PointNet将所有点进行信息提取,虽然遵循了点云的无序性,但忽略了点的几何性质(点的邻域信息),在进行语义分割的时候,会产生特征学习错误
PointNet++:
SA模块(Set Abstraction Layers)
学习局部邻域信息,层次化提取
Farthest Point Sampling +Grouping+PointNet
Sampling layer最远点采样(FPS):(增大感受野)
自定义从某一区域(包含n个点)选取具有代表性的m个点
随机选取一个点P0(m的第一个点),在剩下的(n-1)个点中找寻距离最远的点P1(m的第二个点)。
计算剩余(n-2)个点每个点距离P0和P1的最小距离,得到(n-2)个值,在(n-2)个值中找寻最大值,最大值所对应的点即我们要寻找的P2(m的第三个点)。……以此类推
Grouping layer:
组建局部邻域,两个变量,每个区域中点的数量k,球的半径
方法:Ball query
Point Net layer:
对每一组按照PointNet的方式提取特征,并用最大池化得到每一组点的全局特征。假设特征数量为nfeature,那么SA模块返回的特征维度为nfeature X npoint,同时SA模块会返回最远点采样的坐标,以便于进一步连续进行SA操作。
PointNet++分类+分割:
分类:两个SA模块提取,在经过PointNet提取特征,全链接层加权分类
分割:Navie solution Plus: Broadcasting + Skip links
Broadcasting(传播)
逆距离加权,通过通道拼接,利用层次化信息,计算补全所有点的信息,3D插值,反向传播。
Robust to non-uniform sampling density(鲁棒性非均匀采样)
针对密度不均匀,达到期望:密度高的地方采样半径小,密度低的时候,采样半径小
解决办法:Multi-scale grouping (MSG) 、Multi-resolution grouping(MRG)