本系列是按照bilibili上刘永成博士的分享课的论文笔记,主要针对点云基于图论的处理方法。 这一部分主要讲解的方法包括:DGCNN、RGCNN、Spectral Graph Convolution、DeepGCNs
转自我的个人博客:harrylin's blogharrylin-hyl.github.io
DGCNN (TOG 2019)
DGCNN: Dynamic Graph CNN for Learning on Point Clouds
具体思想改进pointNet方法。主要是pointNet在特征提取中只考虑各个点的特征,未对相邻点进行考虑。PointNet的主要流程是:先单独计算(更新)每个点的feature,更新多次之后,最后用global pool将所有点的feature整合为一个点云的feature。在更新每个点的feature时,只与这个点之前的feature有关,与其它点的feature无关。作者在论文中认为:每个点的feature在计算(更新)过程中彼此独立,每个都相可以看作是一个全局feature。这可能就是一个值得改进的地方。
提出动态图的想法,每经过一次edgeConv之后都要重新提取一次动态图,即knn特征提取。使得特征感受野逐步增加。
核心部分
edgeConv输入特征维度为$(n,c_1)$, 针对每一个点$x_i$计算它的knn,即k个相邻点(使用top-k即升序得到)。
计算每个点的edge特征:$x_{j_{i1}}-x_i,...,x_{j_{ik}}-x_i$
将点的特征和边的特征连接起来。$(x_i, x_{j_{i1}}-x_i),....,(x_i, x_{j_{ik}}-x_i)$
使用共享参数的全连接层来进行特征提取。代码中可以用1x1的卷积来实