Pointnet++

Pointnet++

参考博客:https://zhuanlan.zhihu.com/p/266324173

背景

先前提出的pointnet网络只是使用了MLP和maxpooling,对局部结构信息的获取的能力是不足的,特别是在一些比较复杂的场景上效果是较差的。

解决的问题

  1. 问题一:对局部结构信息的获取能力较差
    解决方案: 提出sampling和grouping网络结构,通过对点云的局部信息的分布整合,可以更好提取出点云的局部信息。

  2. 问题二:全局信息由maxpooling进行提取,信息提取损失较为严重
    解决方案: 提出层次特征学习结构(hierarchical feature learning framework),通过降采样获取得到不同层次的点云特征。

  3. 问题三:pointnet之前分割网络部分的全局特征与局部特征的相结合比较粗糙
    解决方案:采用了encoder-deconder结构和skip-connection结构对特征进行拼接。

网络架构

网络架构
基本架构介绍:网络可以看为是一种encoder-deconder结构,即先下采样再上采样,通过下采样过程可以得到不同点云的特征。

Encoder结构

  1. sampling layer:采用了FPS(最远点采样)对点集进行降采样,使得点集从N变成N1。
    FPS实现方法:(参考博客:https://blog.csdn.net/QTVLC/article/details/108750870)首先随机选取一个点作为起始采样点,然后计算为采样点与选取点的距离的dis,将距离最远的点采样,然后继续计算采样点与未采样点的距离大小,同样选取距离最大的点,一直进行迭代,直到选取的点达到目标数量。
    网络中参数解释:其中N代表点集中的点的数量,d表示点的坐标维度,C表示点的其余特征(比如法向量等)维度。
  2. grouping layer:以每一个点作为中心,找出邻近的点(K个),并组成一个局部领域,生成N1个局部领域。而寻找领域论文采用了两种方法,分别为KNN和query ball point。
    query ball point:随机选取点并规定一个半径,半径球内所有的点即为选定点的邻点。
    两者比较:query ball更加适用于局部信息的提取上,因为相比于KNN的话,query ball对点集的提取范围是相对较广的,因此可以提取到KNN方法所不能提取到的一些局部点信息。
    注意点:同上面的sampling layer一样,进行邻近采样处理的数据都为点云点的坐标空间处理的,点的特征空间特征是不参与计算的。
  3. pointnet layer:与之前pointnet类似,首先先进行1x1卷积处理,在对每一个局部领域做pooling操作,最后进行MLP。
  4. Encoder缺点:对于不均匀的点云数据的特征提取是较为薄弱的。点云数据在空间的分布是不规则且不均匀的,即局部均匀分布是不一致的,因此网络可能不能提取到很好的局部特征。因此在稀疏的地方应该考虑更大的尺度范围来提取特征。论文提出了MSG和MRG两种不同的组合方式来进行特征的提取。
    多尺度组合(multi-scale grouping, MSG): 对当前层的每个中心点,取不同的半径的query ball,可以得到多个大小不同但是中心相同的局部球型领域,并且对这些局部领域的特征进行特征拼接。但是这种方法的计算量是显著增加的。
    多分辨率组合(multi-resolution grouping,MRG): 为了解决MSG计算领太大的问题,论文提出MSG。此种方法在某一层对每个局部提取到的特征由两个向量串联构成。左边为对上层提取的特征再次进行特征提取,右边为直接对局部对应的原始点云数据的点进行特征提取。
    grouping

Decoder结构

  1. 分类任务的decoder:直接将降采样得到的数据送入全连接层网络最后softmax进行分类。
  2. interpolate(反向插值):对下采样得到的数据进行反向插值从而来实现上采样。
    公式
    在原始点云坐标空间下,寻找对应最近的k个点(插值的方式与双向线性插值的方式大致一致,为target对应src),然后对这k个点进行特征加权求和,从而得到新增的点的特征。从公式可以看出,当距离x的距离越远,对x的特征贡献也就越小。
  3. skip connection:因为之前由上层传回的为全局特征,缺少局部特征的补充,因此将之前encoder对应的层的对应表征进行拼接处理。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值