这篇文章提出一种边卷积(EdgeConv)操作,来完成点云中点与点之间关系的建模,使得网络能够更好地学习局部和全局特征。论文地址:Dynamic Graph CNN For Learning On Point Clouds
1. Motivation
PointNet网络对点特征的单独提取使得网络缺乏对局部特征的学习,PointNet++在PointNet基础上对点云进行区域采样使用PointNet作为区域特征提取器逐层提取并整合局部特征至全局特征,然而PointNet++中仍然用到了PointNet,意味着在采样的区域内,点的特征是单独提取的,对于局部特征的学习仍然不够充分。
2. Method
文章提出使用动态图卷积网络DGCNN来处理点云问题,之所以是动态的,是因为特征空间中的局部结构与输入空间的局部结构是不同的,因此在文章所使用的DGCNN中,每一层所处理的图结构是根据某种距离度量方式动态定义局部区域的。
2.1 Edge Convolution
传统图像卷积利用卷积核的尺寸来定义图像中的局部区域,对于图这种不规则结构,文章使用k近邻的方式定义离某点最近的k个点为该点的邻近区域,首先提取中心点与邻近点之间的边特征,再在边特征上进行卷积操作。文章中列举出四种卷积方式。
1.效仿图像卷积的方式,当前点的卷积操作为当前点多对应的局部区域中的邻近点的加权和,即边特征只由邻近点特征构成。
2.第二种方式, 如下图所示边特征由中心点与某一邻近点的输入做串联之后输入MLP计算得到,但是这种方式仅仅考虑了点的全局位置信息。
3.第三种方式,边特征仍然由MLP计算得到,输入变为了中心点的特征减去邻近点的特征,通过两点之间的相对位移来得到点与点之间的关系,但是这种方式仅仅考虑了点与点之间的局部信息,丢弃了全局信息。
4.第四种方式结合第2、3种方式,将中心点的特征与两点的特征差串联后输入MLP,这样边特征就融合了点之间的局部关系与点的全局信息。
在得到k个边特征之后,EdgeConv在边特征的特征维进行MaxPooling得到该局部区域的单一特征,通过这种方式叠加多层卷积,逐层提取并整合局部信息。
2.2 Dynamic Graph Update
在逐层进行边卷积时,每一层都会输出新的点云图结构产生新的特征空间,考虑到不同的特征空间之间的差异,每一层都应在新结构上定义新的局部区域,所以在进行边卷积之前,首先根据k近邻确定新的局部区域,如下图所示。
下图是网络的整体结构,其实就是在PointNet基础上将特征提取层换成了边卷积,并去掉了特征空间的T-Net,保留了输入空间的T-Net做Spital transform,分类网络和分割网络的结构不变。
3. 网络的缺陷
虽然通过点与点之间的差来建模点与点之间的关系,缓解了PointNet的问题,但是求差只得到了点与点之间的距离,却忽略了点与点之间的方向信息。