【计算机视觉】简述对PointCNN的理解

对于图像分割和点云分割而言,不同的区别是图像是固定的,而点云是无序的,不规则的。PointNet和PointNet++利用maxpooling(对称函数)的方法实现了排序不变性,但这样做的后果就是丢失了一些局部的信息,但是如果像图像一样直接对点云进行卷积时,会导致(相同形状的点云可能具有不同的排序方式)得到的输出不一致。会出现如下图的情况。
【计算机视觉】简述对PointCNN的理解_第1张图片【计算机视觉】简述对PointCNN的理解_第2张图片
从上图可以看到,如果让一种参数对一组点云的特征进行一个乘积,使得不同形状的点云所得到最后的值是一样的,换句话说就是去学习一个参数,解决点云的排序问题,使点云变得有序。这就是PointCNN的主要思想,正如它题目所说,在X变换点上的卷积。
一、PointCNN它的一个主要做法就是分层卷积,一般对于固定排序的输入来说,在对它进行卷积之后,它的分辨率会逐渐变低,意思就是投影或者聚合成更少的点来表示特征,而且维度会越来越高(通道更深),与图像中的CNN比较像。
【计算机视觉】简述对PointCNN的理解_第3张图片
二、第二个比较重要的就是他的X-Conv算子,它的算法的主要思想就是针对输入来说,以核K,中心p,领域点P,领域的特征F为输入,首先利用领域点减去中心点,形成一个相对位置关系,利用相对的MLP学习到一个局部的特征F’,将局部特征与输入的全局特征相加,得到一个新特征,然后利用一个MLP对相对位置关系进行一个学习,得到一个K×K的矩阵,这个矩阵就是X变换,它可以保证点云的无序性,然后再通过卷积核K对其进行卷积。最后得到的特征Fp来代表p点的特征,相当于一个映射。
【计算机视觉】简述对PointCNN的理解_第4张图片
在这里插入图片描述
三、PointCNN的与基于网格的CNN主要有两个不同,一是提取局部区域的方式(网格是K×K,PointCNN是提取周围K个点),二是学习局部区域的方式(CNN是卷积,PointCNN是X-Conv),PointCNN的结构可用于分类和分割,论文中给的结构图是一个单分类+多分类+分割的结构,结构也比较简单,K代表的是领域点,N是前一层点数,C是维数(通道数),D是扩张率,D的作用是增加对其特征的学习范围。
【计算机视觉】简述对PointCNN的理解_第5张图片
它做的实验的话在论文中有详细说明,还有一些MLP的具体结构,在此就不详细说明了,上述是自己对论文的一点理解,如有不对,请多多指正!!!

你可能感兴趣的:(深度学习,计算机视觉)