3D Shape Classification——Point-based Graph based
点云分类——图卷积
ECC (Dynamic Edge-conditioned Filters)
DGCNN
代表1:ECC (Dynamic Edge-conditioned Filters)
ECC的卷积操作和常规的二维图像卷积操作都是一种加权平均操作,不同之处在于ECC可以作用在任何图结构上,并且其权重由节点间的边权所决定。
如上图所示,ECC将所有点作为顶点构图 G=(V,E),并设定点特征(密度、RGB等)和边特征,边特征是一个6维向量:
前三项是相对于采样中心点i的偏移,后三项是角特征。对图中的任意一个点来说,邻居点是所有跟它直接相连的点以及它本身,可以用knn取,也可以在固定半径的范围内取,实验中固定半径的方法更好。
ECC的卷积公式可表示为:
F是MLP,w是F的可学习权重,b是可学习偏置。L(j,i)是边ij的边特征,X(j)是点特征。
边特征L(j.i)的维度经过MLP之后输出权重theta(j,i), theta(j,i) 的维度要与点特征X(j)一致。
权重向量与点特征向量相乘之后,经过avg聚合函数,再加上一个偏置得到采样中心点特征。
Pooling :
基于VoxelGrid算法实现图粗化,事先使用Graph Coarsening方法为其建立一个 h^{max} 层的图金字塔,然后在网络的pooling层,根据金字塔中对应的相邻层的结点映射关系来执行pooling操作。具体做法:
-
使用一个分辨率为 r^h 的3d网格框住整个点云P^{h-1}
-
对于网格中的每个体素, 用该体素的中心点来表示该体素内的所有点
-
用上一节的方法对新的点云 P^h 进行图的构造,得到更粗粒度的图 G^{h}
代表2:Dynamic Graph CNN (DGCNN) (TOG2019)
与PointNet结构类似,将MLP换成EdgeConv,以获取点云的局部特征。
MLP没有考虑局部点集的空间关系,EdgeConv考虑了邻域点集的信息,即采用KNN为每个点寻找邻域。
但是DGCNN是在特征空间构图,而ECC是以坐标构图。
EdgeConv:DGCNN在边特征(Xj-Xi)中融入中心点特征Xi构成(Xj-Xi,Xi)输入到MLP中,然后对MLP的输出特征进行聚合得到中心点特征。定义边缘特征为:
,h是MLP
上述内容来自:https://blog.****.net/hongbin_xu/article/details/85258278
ECC与DGCNN对比:
a. 都是动态构图,但方法不一样。ECC是以坐标构图,通过体素化对点云进行池化;DGCNN是在特征空间构图,特征在卷积的过程中一直变化。
b. ECC用6维边特征生成权重,并与点特征相乘,池化后叠加偏置。DGCNN是直接对边特征进行聚合,得到中心点特征。DGCNN在边特征(Xj-Xi)中融入中心点特征Xi构成(Xj-Xi,Xi)输入到MLP中,然后对MLP的输出特征进行聚合得到中心点特征。