京东网站建设步骤,网站开发公司 苏州,seo 排名,绵阳城区大建设目录
1. pointnet
1.1 点云数据的特点
1.2 模型功能
1.3 网络结构
1.3.1 分类网络
1.3.2 分割网络
2. pointnet
2.1 模型
2.2 sampling layer组件
2.3 grouping layer
2.4 pointnet 1. pointnet 1.1 点云数据的特点 #xff08;1#xff09;无序性#xff1a…目录
1. pointnet
1.1 点云数据的特点
1.2 模型功能
1.3 网络结构
1.3.1 分类网络
1.3.2 分割网络
2. pointnet
2.1 模型
2.2 sampling layer组件
2.3 grouping layer
2.4 pointnet 1. pointnet 1.1 点云数据的特点 1无序性不同于图像中的像素数组或体积网格中的体素数组点云是一组没有特定顺序的点。换句话说permutations of the input set in data feeding order. 点云中的点集合排列顺序改变了点云本身的目标类别和分割结果是不变的符合交换律比如加法、乘法、取最值等操作。
2点之间的交互点不是孤立的而相邻的点形成了一个有意义的子集。因此该模型需要能够从附近的点捕获局部结构以及局部结构之间的组合相互作用。
3变换无关性作为一个几何对象点集的特征表示应该对某些变换是不变的。例如旋转和平移点不应该修改全局点云类别或点的分割。
1.2 模型功能
1模型输入网络的输入是坐标点集合(x,y,z)
2分类输出输出有两个分支分类分支输出是k个scores对应k个类别哪个值大就是那个类别
3分割输出分割分支输出的是nxm的矩阵scores有n个点每个点有m个分数m个分数对应m个语义分割类别哪个值大当前点就属于哪个类别。
1.3 网络结构 1.3.1 分类网络
1input transform和feature transform是个小网络其中input transform用来预测放射变换矩阵用于对齐输入的点云数据feature transform是用来对齐特征数据后期的论文证明是没多大用处的可以忽略
2论文中n是1024均匀采样论文中只用到了(x,y,z)坐标所以输入是nx3点云矩阵首先经过mlp(64,64)即两个多层感知机全连接网络维度变化3-64-64输出nx64特征向量
3再经过3个多层感知机维度变化64-64-128-1024升维度输出nx1024特征向量方便后面的maxpooling提取全局特征即降维操作
4提取特征后使用maxpooling操作提取全局特征nx1024每个点有1024维度特征求所有点的全局特征就是在每个维度上取最大值则nx1024 - 1x1024这1024个数据就代表真个点云数据的全局特征
5再接一个mlp(512,256,k)作为分类层1024-512-256-k全连接节点变换k个类别分数哪个值大就是那个类别。
1.3.2 分割网络
1前面的特征提取层是一样的提取得到局部特征nx64和全局特征1x1024
2融合局部特征和全局特征直接concat在一起变成nx1084每个点都有1084维度特征
3再接mlp层维度变换1084-512-256-128再接mlp层维度变化128-128-m这样特征矩阵变化nx1084 - nxm
4nxm即n个点每个点都有m个类别分数哪个大则当前点的分割类别就属于对应的类别。
2. pointnet
pointnet模型简单一句话就是mlp提取特征再经过分类层进行分类即可完成对输入点云数据的分类公式概括如下。 其中MAX是最大池化层。
由于只是使用maxpooling来聚合整个点云的特征pointnet是不能捕获不同尺度下的局部特征。pointnet适用于目标数据的尺度变化不大的场景。
2.1 模型 1pointnet特征提取层是一个层级特征提取层由sampling,grouping and pointnet三个组件组成 然后就是分割头unet形式和分类头全连接层。
2网络输入的是Nx(dC)矩阵N是点个数d维坐标C维点特征输出矩阵是Nx(dC)其中N是采样后的点个数C是点特征向量维度。
3每次grouping layer对局部进行KNN聚类输入到pointnet layer再对每个cluster提取特征这个过程相当于2D卷积操作同样是使用层级结构放大感受野提取多尺度特征。
2.2 sampling layer组件
sampling layer是迭代最远距离采样IFPS算法用采样后的点云尽可能的覆盖到原始点云所在范围代表当前点云数据论文中是提取1024个点详细IFPS算法介绍可参考
iterative farthest point sample (IFPS or FPS)-CSDN博客
如果输入Nx(dC)则输出Nx(dC)
2.3 grouping layer
1输入点集合坐标Nx(dC)和对应的中心坐标Nxd对每一个中心坐标利用KNN在点集合中找K个最近的点在一个cluster中找出的每个点维度是(dC)特征
2对于一个cluster的维度则是Kx(dC)有N个中心则输出维度是NxKx(dC)
2.4 pointnet
1输入是NxKx(dC)有N个聚类中心点每个聚类中心有K个点
2对每个cluster投入到pointnet层提取特征即Kx(dC) - (dC)
2有N个cluster所以输出的是Nx(dC)。
真正实现的时候是(b,npoints,nsamples,features) (b,N,K,dC)要channel first变成
(b,features,npoints,nsamples) (b,dC,N,K)比如变成(64,3,1024,16) 待续。。。