论文链接:https://dl.acm.org/doi/abs/10.1145/3326362
代码链接:https://github.com/AnTao97/dgcnn.pytorch
摘要
Dynamic Graph CNN (DGCNN) 是2019年提出的点云深度学习模型,旨在解决传统点云处理方法(如PointNet)忽略局部几何关系的局限性。该模型通过动态图卷积(EdgeConv),在点云中动态构建局部邻域图,并学习点与其邻域的关系特征,同时保持置换不变性。核心创新包括:
-
动态图更新:每层根据特征空间中的点间距离动态更新邻域图,逐步扩展感受野至整个点云;
-
局部与全局特征融合:EdgeConv同时捕捉点的全局特征和局部邻域差异,增强语义分组能力;
-
高效多任务支持:支持分类、分割等任务,在ModelNet40分类任务中达到92.9%准确率,优于PointNet++(90.7%)。
实验表明,DGCNN在复杂场景(如S3DIS室内分割)中表现优异,特征空间中的相似语义点距离显著缩小,验证了其对几何与语义信息的联合建模能力。
主要贡献
1、EdgeConv模块
-
局部几何建模:通过计算中心点与K近邻点的特征差异\((\mathbf{x}_j-\mathbf{x}_i)\) 和全局特征\((\mathbf{x}_{i})\),结合MLP生成边缘特征,最后通过最大池化聚合,公式为:\(e_{ijm}^{\prime}=\mathrm{ReLU}(\theta_m\cdot(\mathrm{x}_j-\mathrm{x}_i)+\phi_m\cdot\mathrm{x}_i)\) \(x_{im}^{\prime}=\max_{j:(i,j)\in\mathcal{E}}e_{ijm}^{\prime}\)。其中 和 为可学习参数,实现局部与全局特征融合。
- 置换不变性:通过对称聚合函数(如max-pooling)保证对点云顺序不敏感。
2、动态图更新机制
- 每层根据当前特征空间中的K近邻动态重建邻域图,避免固定图结构的局限性,增强模型对语义相似点的长距离关联捕捉能力。
网络结构
DGCNN的架构分为编码器和任务头两部分,核心模块如下:
编码器
1、EdgeConv层堆叠
-
输入:点云 ,N为点数(网络中点数一直不变,只是特征维度增加);
-
动态图构建:每层通过KNN(分类任务K=20,分割K=30)在特征空间中构建邻域图;
-
特征提取:对每个中心点及其邻域计算边缘特征,经多层MLP后聚合(max-pooling),输出更新后的点特征。
2、多尺度特征融合
- 通过堆叠多个EdgeConv层逐步扩大感受野
任务头
-
分类任务:全局最大池化生成全局特征,经MLP输出类别概率;
-
分割任务:将各层EdgeConv特征拼接,通过MLP逐点预测语义标签,结合跳跃连接保留细节。
动态图更新示例
-
输入层:基于欧氏距离构建邻域;
-
深层:基于特征空间距离重建邻域,使语义相似但空间远离的点建立连接(例如机翼与机身的特征关联)。
实验结果
总结
优势:
-
高效局部特征提取:EdgeConv在ModelNet40分类任务中较PointNet提升3.7%准确率,验证了局部几何建模的有效性;
-
动态语义感知:通过特征空间动态更新邻域,增强对复杂场景的适应性(如S3DIS室内分割任务mIoU达56.1%);
-
轻量化设计:参数量与计算效率优于体素化方法,适合实时应用。
局限性:
-
计算开销:动态KNN搜索增加训练时间,尤其对大规模点云(如自动驾驶场景);
-
方向信息缺失:EdgeConv未显式编码邻域点的方向信息,可能影响细粒度分割精度。
没有回复内容