Mzh's Studio.

深度学习-三维点云-植物表型

字数统计: 1.1k阅读时长: 4 min
2019/11/12 Share

主要提取的点云特征:

一、主曲率

点在平面的移动速度,陡峭程度;

计算方式:

Step1:pj(px, py, pz)点的法向量nj(nx, ny, nz)投影到法向量ni(nix, niy, niz)和点pi(pix, piy, piz)构成的切平面,pj是pi的领域点:

切平面表示:nix (x-pix) + niy (y-piy) + niz (z-piz)=0;

各点法向量投影表示:1573521660696

其中,I是3×3的单位矩阵;

注:向量 $\vec{n_i} \bigotimes \vec{n_i}$表示两法向量直积,但是个人认为这里应该是发现了的列向量直积列向量转置,否则无法得到3×3的单位矩阵,最后得到矩阵a应该是:

a = \left[
\matrix{
1-nix·nix & nix·niy & nix·niz \
niy·nix & 1-niy·niy & niy·niz \
niz·nix & niz·niy & 1-niz·niz \
}
\right]

\matrix{
(1-nix·nix)·nx+nix·niy·ny+nix·niz·nz,\
niy·nix·nx+(1-niy·niy)·ny+niy·niz·nz,\
niz·nix·nz+niz·niy·ny+(1-niz·niz)·nz, \
}

$$
然后计算协方差的特征向量得到三个λ,则通过大小排序可得到最大与最小曲率以及曲率方向

1573525802291

二、半径表面特征

得到设定半径内,领域点与计算点的法线夹角与亮点距离,这两个统一作为一个特征;

三、PFH点特征直方图

加快的还有FPFH

四、SHOT 方向直方图特征

Signature of histogram of orientations

构造方法:以查询点p为中心构造半径为r 的球形区域,沿径向、方位、俯仰3个方向划分网格,其中径向2次,方位8次(为简便图中径向只划分了4个),俯仰2次划分网格,将球形区域划分成32个空间区域。在每个空间区域计算计算落入该区域点的法线nv和中心点p法线np之间的夹角余弦cosθ=nv·np,再根据计算的余弦值对落入每一个空间区域的点数进行直方图统计,对计算结果进行归一化,使得对点云密度具有鲁棒性,得到一个352维特征。(原论文:Unique Signatures of Histograms for Local Surface)
1573528340406

五、Spin image旋转图像

https://blog.csdn.net/renyuanxingxing/article/details/83279328

三维点云深度学习分类

image-20201219234147873

PointNet&PointNet++

PointNet的问题

PointNet对每个点表征,未考虑点邻域信息,局部信息描述不足;maxpooling最后提取的是全局特征,损失较多信息;分割网络是将点特征与全局特征拼接,描述能力有限。

PointNet++中用到了FPS最远点降采样,相比随机降采样的优势:尽肯能广泛考虑覆盖空间中的所有点(包括噪声)

Point++中的Group layer寻找领域点是在坐标空间进行,采用的是KNN或者query ball point,并没有考虑特征空间的相似性。

Query ball更加适合于应用在局部/细节识别的应用上,比如局部分割。

PointNet++和PointNet的区别在于:

类比CNN,pointnet可以看做一个卷积层,因为他通过max pooling后考虑的是整个点集的全局特征。若果这个点集是全体点集的一部分,那么可以发现PointNet与CNN的卷积核类似。而PN++则是在此基础上考虑了局部的信息,并对分层局部特征进行了整合。

其中,在Point Layer层,主要分为了三个步骤

1)point feature embedding

2)pooling in local regions

3)further processing

其中,步骤1是进行特征维度调整,将多维特征(x,y,z,nx,ny,nz, 其中n为法向量)等通过1×1的卷积核进行线性组合实现升维或者降维,从而达到嵌套的目的;步骤2是以某点P为中心,将邻域点的特征信息进行整合来描述该点P的局部特征,这里用的是pooling(可以是,max,mean等)。继续做1×1的卷积,这个步骤论文没有用,实际上也没有必要,因为这个时候的数据就是最远点采样后的点及特征,继续将这些采用点整合的话,又变成一个全局性的,尺度在此变大。当然考虑到多个尺度的可以卷积,但是1×1的卷积如果不非线性变化的话没有太大的意义。

点云深度学习借用的先验知识有限;