ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Pointnnet、Pointnet++、Pointsift总结及核心方法解读

2021-10-06 15:59:21  阅读:354  来源: 互联网

标签:输出 PointSIFT Pointnnet Pointnet ++ Pointsift 特征 点云


笔者是大二学生,理解比较浅薄,欢迎大家对文章问题进行指正。

一、Pointnet

(一)前提: 

1、基于点云的置换不变性(无序性)使得其设计的网络必须是一个对称函数。

(置换不变性:点的排序不影响物体的性质)

2、某点与其邻域内点之间的相互关系构成了局部特征。

3、旋转,平移等变换不会影响点云的性质。

(二)框架:

        首先输入一个n×3的原始点云(n个点3个维度x、y、z)通过一个inputtransform将点云旋转到正面,之后将每个点输入到mlp网络中,(一共n个点每个点都是一个[xi yi zi]的向量),进行上采样将3维特征映射到64维度上。之后重复上述步骤,点云旋转,将点云特征向高维度映射,最后原来n个具有三维特征的点,变为n个具有1024维特征的数据,最后采用对称函数--最大池化函数,将n个点每一维采用最大池,输出一个1×1024的全局特征向量。

        如果是分类问题,直接进入mlp网络输出每一类的概率。如果是分割问题再将全局特征向量与64维的逐点特征向量上然后通过两次mlp输出逐点的分类概率。

(三)效果

 

二、Pointnet++

(一)背景

        Pointnet++主要是为了克服在pointnet中存在的缺失局部特征的问题。(从上文中可以看出,Pointnet侧重于提取全局向量,即使在分割问题上也只是简单地将全局特征变量拼接在逐点的64维特征上,显然缺乏对局部特征的提取)

(二)框架

         作者借鉴了CNN多层感受野的思想,首先通过(Sampling)随机采样选出一部分点作为局部特征的质心,然后(Grouping)将其邻域内的点划为一簇作为此部分的局部特征点,在局部范围内采用Pointnet提取出局部的全局特征向量,之后逐层进行上述过程,直到提取出全局特征为止。

        

         如果是分类问题,直接进入全连接层输出分类概率即可。 如果是分割问题,则进行上采样(解码),采用线性插值的方法给点作填充最后输出每个点的分类概率。

                                       (简单来说就是距离质心越远的点赋予的权重越小)

(三)改进

        为解决上述提出的框架在点缺少时鲁棒性变得很差的情况,作者引入了多个尺度或者分辨率的Grouping,当点云稠密时尺度较小的Grouping与分辨率高的Grouping权重更大,当点云稀疏时,则相反。

(四)效果

        

 

 

 

 

 

三、PointSIFT

(一)背景

        1、点云稀疏使得算法效率低下。

        2、点与点之间的关系无法较好表示。

(二)框架

        1、PointSIFT模块

         

        作者借鉴了SIFT的思想,对于原始点云数据(n×d),以特征点p0为中心,将空间分割为八个方向,每个方向采用离f最近的点为该方向的特征点,如果在某一方向上在r半径内没有找到该方向上的特征点则用p0本身代替。这样以来,我们使得每一个点都有八个特征,数据变为n×8×d。之后对于x、y、z方向分别进行一次卷积,每次将八个特征两两结合。三次过后数据就从n×8×d变为n×d最后进入relu函数。

        2、尺度感知

        为了能扩大感受野,如同Pointnet++一样,采用多层PointSIFT进行卷积,用多个方向以增大感受野,最后将多个个方向的特征用残差进行拼接,采用卷积进行选择,最后输出n×d个特征。

        

(三)将PointSIFT穿插于Pointnet++中

        

        作者首先将原始点云(n=8192,d=3 or 6)输入到 mlp网络中,输出8192×64维的数据,再经过PointSIFT进行特征提取,输出形状不变。之后进入Pointnet的SA层(Sampling、Grouping&Pointnet)输出1024×128维数据,之后修改参数重复过程变为64×512维数据。

        之后,采用线性插值的方法进行上采样,然后进入PointSIFT。重复操作得到8192个点的128维特征,最后进入全连接层输出每个点的分类概率。

(四)效果

                

 

 

 参考博客:

论文阅读PointSIFT_JiangZuning的博客-CSDN博客

                   【3D计算机视觉】从PointNet到PointNet++理论及pytorch代码_小执着的博客-CSDN博客_pointnet

标签:输出,PointSIFT,Pointnnet,Pointnet,++,Pointsift,特征,点云
来源: https://blog.csdn.net/m0_53455348/article/details/120623565

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有