点云特征学习(三)–DGCNN论文阅读笔记
一,挑战
在DGCNN算法之前,基于深度学习的点云特征学习算法有:PointNet,PointNet++,PointCNN等。这些算法都能够较好地处理点云数据。但是,这些特征学习方法只是从离散点云的角度的特征出发,没有考虑物体的拓扑结构。点云这种数据结构是离散的,缺乏拓扑信息(也就是单个点与点之间的关联并没有显式建立,但是他们之间应该是有实际意义的)。自然而然地,如果能够通过某种方式建立点与点之间的拓扑关系,应该可以增强表征的能力。这里,存在的一个挑战就是如何表现点云中的拓扑结构,并加以利用。
二,方法
论文中给出了整个DGCNN的网络图,根据分割以及分类任务,分成了两个pipeline。从网络图中可以看出来,整篇文章的创新点主要在于Edge Conv。
2.1 Edge Conv
EdgeConv在网络的每一层上动态构建图结构,将每一点作为中心点来表征其与各个邻点的edge feature,再将这些特征聚合从而获得该点的新表征。
EdgeConv实现的实际就是通过构建局部邻域(这种局部邻域既可以建立在坐标空间,也可以建立在特征空间),对每个点表征。
将多个EdgeConv模块首尾相接不断堆叠也就是为了获得多层次、具有更加丰富语义的表征。
Edge Conv的输入为
N
?
F
N*F
N?F, 输出为
N
?
F
’
N*F’
N?F’。
具体而言,构建图结构,顶点就是点云各个点,通过对每个点KNN,连接其K近邻,构建边的关系。
顶点集合: 其中初始状态 F 表示点的三维坐标信息。当然更一般的情况, F 表示神经网络某一层输出的点的特征空间维度信息。
如上图所示,表征分为2步:
1,根据图结构计算edge feature。 2,聚合edge feature,对其对应的中心点表征新的特征。
展开来说:
1,如何计算edge feature? 对于函数
h
h
h的选择,论文中给出了五种情况: 待续。。 情况一:
参考博客:https://zhuanlan.zhihu.com/p/267895014?utm_source=qq
|