目录
一、导言
二、PointNet介绍
三、PointNet网络结构
1、损失函数
2、正则化
四、PointNet++
1、分层次的点集抽象层
五、PointNet++网络结构
1、点特征传播
2、分组方法
一、导言
PointNet来自CVPR2017,是最早直接处理点云数据用于计算机视觉的模型,并运用于分割、检测、场景理解任务,PointNet++来自NIPS2017(这么高产吗?),作为PointNet的改进包括添加了多尺度提取特征等工作,优化PointNet网络架构。
二、PointNet介绍
2017年之前大部分工作都是将3D点云体素化转为多个视角的2D图像,来进行常规的卷积神经网络,而没有直接使用点云进行提取特征。
该论文提出只输入点的坐标信息,考虑通过法向量或者角度信息,来添加更多的维度。
(1)点云无序性解决:使用单一的对称函数,本文使用最大池化层,来解决无序性的问题。通过最大池化层方法可以保证所有点云没有先后顺序,聚合成全局点集特征。
对称函数:
对于无序点云数据,定义一组函数,将点云映射到向量上,其中γ和h为MLP网络。
(2)特征对齐:考虑到网络预测结果对特定的变换(如刚性变换)具有不变性,提出通过T-Net变换矩阵提取特征并与输入feature进行乘法。
T-Net结构:
T-Net与原特征乘法通道连接:
(3)稳定性:由于模型可以拟合任何连续函数,而对于微小扰动不会影响函数拟合,通过在输入点云中引入一定噪声点,以及删除一定数据来增强网络的鲁棒性,提高预测效果。
三、PointNet网络结构
PointNet网络的主干网络保持不变,对于分类和分割来说有不同的Head,对于分割头有更多不同层的特征进行融入,提高特征多维化。但是这网络特征提取方式过于简单,也造成对于局部的,特定场景的,效果可能有缺陷。
1、损失函数
对于不同问题的损失,均可以表示为特定问题Head的损失加上特征变换矩阵的损失。
(1)分类问题:分类损失交叉熵
(2)分割问题:将分割问题转换为每个点的分类问题,再用交叉熵
(3)特征变换矩阵损失:理想情况下特征矩阵应该是正交矩阵,而实际的特征矩阵可能有所偏差,根据正交矩阵的性质,一定有,所以我们将特征变换矩阵损失表示为:
2、正则化
论文中考虑在第二次使用T-Net时添加正则化,来提高模型鲁棒性。
四、PointNet++
解决了PointNet不能很好地提取局部特征的问题,并进一步提取不同尺度下的特征。
1、分层次的点集抽象层
使用多个点集抽象层(SA层,Set Abstraction)来进行逐层特征提取,差别在于每一个SA模块的采样点和采样数量不一样,会逐层增大。
SA模块包括三个关键层:Sampling Layer、Grouping Layer、PointNet Layer。
(1)采样层:从输入点中使用迭代最远点采样法(FPS)选择一组局部区域质心点。
输入:
输出:
FPS算法:
首先,从输入点集中随机选择一个点作为第一个采样点。
然后,从剩余点集中选择与已选采样点中最远的点作为下一个采样点
重复第二步,直到采样足够多的点作为中心点。
(2)分组层:通过采样的质心以及邻近点来构造局部区域集。
输入:点集(),质心集坐标()
输出:
分组策略:
Ball查询:搜索查询点半径内前K个点(本文使用方法)。
KNN:距离质心点最近的K个点。
(3)PointNet层:使用PointNet网络结构将局部区域编码为特征向量。输入为采样分组后的K个点集组,经过PointNet层只输出一个点集组。
输入:
输出:
五、PointNet++网络结构
PointNet++网络将PointNet作为一个Cell模块,引入特征传播过程中,对于分割Head部分再次将PointNet作为模块进行多次提取。
1、点特征传播
特征传播部分,以往工作为了保证运用全部点,对所有点计算质心,并进行后续的分组操作,或者只做Pooling操作,来逐层降低点的数量,而PointNet++,采用基于距离的插值以及跨级跳跃连接工作(学到了残差连接带来特征融合的优势)。
考虑对点特征传播到处,其中,通过在上坐标插值,实现特征传播。其中为特征值,给定p=2,k=3。
分割Head处的Unit PointNet(单位点网) ,类似于神经网络中的1*1卷积网络,只改变通道数,通过应用共享的全连接层和ReLU层来更新各个点的特征向量,直到特征向量传播到原始点集。
2、分组方法
由于点集的不同区域内的密度并不均匀,如果使用同样的分组方法,密集的数据难以推广到稀疏情况。本文针对这一问题,提出密度自适应层,针对不同的尺度的区域特征,采样密度变化。
(1)多尺度分组(MSG)
应用不同尺度的分组层,根据PointNet来提取每个尺度的特征,再将不同尺度的特征连接形成多尺度特征。该方法在每个质心点的大规模邻域内运行PointNet,时间成本较高,效率慢。
(2)多分辨率分组(MRG)(本文提出)
在局部区域密度较低时,第一向量不如第二向量可靠,即第一向量子区域更大,包含更稀疏的点,而第二向量加权更高。当局部区域密度较高时,第一向量提供更精准的细节信息。该方法相比于MSG,计算上更加高效,且避免最低级别大规模邻域中进行特征提取。
论文参考1:PointNet
论文参考2:PointNet++