PointNet++改进策略 :模块改进 | EdgeConv | DGCNN, 动态图卷积在3d任务上应用

news2024/11/13 15:15:40

目录

    • 介绍
    • 核心思想及其实现
      • 核心思想
      • 实现步骤
    • 如何改进PointNet++
      • **局部几何结构的处理**
      • **动态图的引入**
      • **特征聚合的灵活性**
      • **全局和局部特征的结合**

Pasted image 20240916093929

  • 论文题目:Dynamic Graph CNN for Learning on Point Clouds
  • 发布期刊:TOG
  • 作者单位:麻省理工 伦敦帝国理工
  • 代码地址:https://github.com/WangYueFt/dgcnn
    Pasted image 20240916093939

介绍

它主要讨论了如何在点云(Point Cloud)上进行深度学习的挑战,并提出了一种新的神经网络模块EdgeConv,用于改进点云分类和分割任务。

论文的主要内容如下:

  1. 研究背景:点云是一种常见的几何表示,广泛用于3D感知、自动驾驶和机器人等领域。然而,由于点云缺乏固有的拓扑结构,传统的卷积神经网络(CNN)难以直接在点云上应用。论文旨在解决这一问题,将卷积神经网络的思想扩展到不规则的点云数据中。
  2. EdgeConv模块:为了在点云上捕捉局部几何结构,作者提出了EdgeConv操作,它通过计算每个点与其邻域点之间的关系(边特征)来获取点云的局部几何信息。EdgeConv模块的设计保证了点的排列不变性,使其可以动态地在不同层次上捕捉语义特征。
  3. 动态图结构:与传统的图卷积网络不同,DGCNN(Dynamic Graph CNN)在每一层中都会动态地重新计算点与点之间的邻近关系。这种动态图的更新机制使得网络可以捕捉到点云的全局几何特性。
  4. 实验与结果:论文通过在多个标准数据集(如ModelNet40、ShapeNetPart和S3DIS)上进行测试,展示了所提出模型的优越性能。在这些分类和分割任务上,DGCNN达到了当时的最新效果,尤其是在点云分类和语义分割任务中表现出色。

Pasted image 20240916093923

核心思想及其实现

DGCNN(Dynamic Graph Convolutional Neural Network)的核心思想在于通过动态图结构和EdgeConv操作,改进深度神经网络在不规则点云数据上的特征提取和处理能力。
Pasted image 20240916094452

核心思想

  1. 动态图构建:传统的卷积神经网络在处理图像时,卷积操作依赖于网格结构,而点云数据是无规则的。DGCNN通过构建图(Graph),将点与其邻居之间的关系通过边(Edge)来表示。图中的节点是点云中的点,边是点与其邻域点的关系。

  2. EdgeConv操作:为了在点云上进行局部特征提取,DGCNN设计了EdgeConv模块。EdgeConv对每个点及其邻居点构建边特征,捕捉局部几何结构。通过计算点之间的差异(如位置差异),生成边的特征,然后对这些边特征进行聚合。这样,网络能够学习到点与其邻居之间的几何关系,而不仅仅是点的独立特征。

  3. 动态更新图结构:DGCNN的图结构在每一层网络中都会根据当前特征动态更新。即每一层中的图并不是固定的,而是根据该层输出的特征空间重新计算最近邻点。这种动态更新使得网络能够捕捉到随着深度增加而逐渐抽象的全局几何信息。

实现步骤

  1. 输入点云数据

    • 输入是一个点云的集合,每个点可能包含坐标(如3D坐标)和其他信息(如颜色、法线等)。假设输入有n个点,每个点有F维特征。
  2. 构建图

    • 对于每个点,基于欧几里得距离找到其最近的k个邻居,构建k近邻图(k-nearest neighbor graph)。图中的每条边表示该点与邻居点的连接。
  3. EdgeConv操作

    • 对于图中的每个点,计算与其邻居点的边特征。边特征的计算方式为:( h_{\Theta}(x_i, x_j) = h_{\Theta}(x_j - x_i) ),其中( x_i )是中心点,( x_j )是其邻居点,( \Theta )是可学习的参数。
    • 对边特征进行聚合(如取最大值或求和),生成点的新的特征表示。
      Pasted image 20240916094458
  4. 图的动态更新

    • 每层网络计算完成后,基于新的特征空间,重新计算每个点的k个最近邻居,更新图结构。这个过程确保网络在每层学习到的特征能够捕捉到不同尺度和语义层次的几何信息。
  5. 多层EdgeConv堆叠

    • 多次应用EdgeConv操作,每次输出的特征都会递进捕捉更加抽象的几何信息。最终通过全局池化操作(如最大池化或平均池化),将所有点的全局特征汇总。
  6. 任务输出(如分类或分割)

    • 对于分类任务:全局特征通过全连接层,输出最终的分类标签。
    • 对于分割任务:将每个点的局部特征与全局特征结合,输出每个点的分类结果。

如何改进PointNet++

DGCNN 和 PointNet++ 都是处理 3D 点云数据的深度学习模型,但 DGCNN 引入了动态图卷积的概念,改进了 PointNet++ 的一些局限性,特别是在捕捉局部几何结构和特征关系方面。以下是 DGCNN 如何在核心思想上改进 PointNet++ 的几个方面:

局部几何结构的处理

  • PointNet++:虽然 PointNet++ 在 PointNet 的基础上改进了对局部几何结构的捕捉,采用了分层的多尺度邻域聚合策略(通过区域分组和采样来获取点的邻域信息),但是它仍然对每个点独立处理,没有显式利用邻域点之间的几何关系。它主要依赖距离等简单的局部特征。
  • DGCNN:DGCNN 引入了 EdgeConv 操作,通过计算每个点与其邻域点的边特征(edge features),能够捕捉到更丰富的局部几何信息。EdgeConv 操作不只是简单地聚合邻居点的特征,而是通过计算点之间的相对差异(如相对位置),来明确表达点与其邻居之间的几何关系。这种基于邻域结构的特征提取方法比 PointNet++ 更有效地捕捉了点云中的局部几何结构。

动态图的引入

  • PointNet++:在每一层的特征提取中,PointNet++ 仅基于固定的欧几里得距离构建邻域结构。这意味着一旦邻域结构确定后,它在整个网络中保持不变,这样可能会忽略高层特征中的全局信息。
  • DGCNN:DGCNN 动态地根据每一层的特征空间重新计算邻居关系,构建动态图。这种动态图更新允许模型在更深层次上根据高层特征捕捉更加抽象的关系。随着每一层特征空间的更新,图结构也随之改变,确保了模型能够学习到在全局语义空间中相互关联的点。这样不仅保留了局部信息,还通过逐层的图更新扩展了网络的感受野,逐步学习到全局的几何特征。

特征聚合的灵活性

  • PointNet++:在局部特征聚合上,PointNet++ 使用简单的最大池化来聚合每个点的局部特征,从而达到排列不变性。然而,这种简单的池化方式并没有充分利用点之间的几何关系。
  • DGCNN:DGCNN 的 EdgeConv 操作引入了一个多层感知器(MLP),用于计算点与邻居点之间的边特征,并在局部几何结构上执行聚合。这使得特征聚合过程更加灵活,不仅仅是依赖简单的几何距离。通过这种方式,DGCNN 在聚合过程中可以更加细致地捕捉点与点之间的语义关系,从而提高特征表示的丰富性。

全局和局部特征的结合

  • PointNet++:主要关注局部区域的特征,并将全局特征和局部特征分开处理,在后续层中仅通过池化得到全局特征。
  • DGCNN:通过逐层图更新和 EdgeConv 操作,DGCNN 自然结合了局部和全局特征。随着网络层次的加深,DGCNN 逐渐聚合更大范围的局部信息,最终形成全局特征。局部几何信息在每层的图更新过程中也被保留并逐步扩展到全局,这使得网络在保持全局语义信息的同时,能够更好地捕捉局部细节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2139685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于JDK1.8和Maven的GeoTools 28.X源码自主构建实践

目录 前言 一、GeoTools与Jdk的版本关系 1、GeoTools与Jdk版本 2、编译环境简介 二、使用Maven编译GeoTools28.X 1、GeoTools28.x 2、Maven的完整编译 3、构建时的问题 三、总结 前言 想要学习和掌握一个开源软件或者项目,源码是我们主要学习的内容。学习开…

NeurIPS 2023 | 基于 Llama 的单变量时序预测基础模型

概率时间序列预测是在广泛应用中出现的一个重要实际问题,包括金融、天气预报、脑成像和计算机系统性能管理等领域。针对这一任务,已经提出了各种方法,从传统的自回归模型到最近基于深度学习架构的神经预测方法。这些以前的方法大多集中在用来…

八、动态规划-算法总结

文章目录 八、动态规划8.1 背景8.1.1 DFS8.1.2 DFS的优化8.1.3 从DFS到动态规划 8.2 使用场景8.3 四点要素 常见四种类型8.4 矩阵类型8.4.1 最小路径和8.4.2 不同路径8.4.3 不同路径 II 8.5 序列类型8.5.1 爬楼梯8.5.2 最长递增子序列8.5.3 单词拆分小结 8.6 双序列类型8.6.1 最…

匹配行最大值替换为最小值公式

好的!我们一步一步详细讲解这个公式的作用和如何实现你想要的功能。 ### 数据结构假设: - 你的数据在 A、B、C 列中,每一行都有值。 - 需要在 A 列和 B 列相同的行中,找到 C 列中的最大值,将其替换为最小值,其他值保持不变。 ### 公式: ```excel =IF(C2=MAX(IF(($A$2:$…

借老系统重构我准备写个OpenAPI3.1版的API管理工具(附录屏演示)

前段时间一直在忙公司老系统重构的方案设计,其中最大的重构点就是前后端分离。为了加快前后端协同开发和对接的工作效率,我决定写一个公司内部使用的OpenAPI3.1版的API管理工具。 文章目录 有现成的工具为啥不用现有成熟方案初步成果展示录屏演示下一步计…

调制是什么,为什么

一、什么是调制、解调? 调制:将信息承载到满足信道要求的高频信号上的过程就是调制。 解调:解调是调制的逆过程,将有用的信息从高频信号中恢复出来的过程就是解调。 二、为什么需要调制? 通信是为了实现“信息”的传…

[240916] X-CMD 发布 v0.4.11:新增 mac 模块,集成 MacOS 实用功能 | 新增 OpenAI o1 系列模型的支持

目录 X-CMD 发布 v0.4.11📃Changelog✨ mac - 集成 MacOS 实用功能✨ openai✨ gh✨ jina✅ 升级指南 X-CMD 发布 v0.4.11 📃Changelog ✨ mac - 集成 MacOS 实用功能 新增 mac 模块,用于集成 MacOS 用户需要的各种实用功能,以…

LabVIEW机械手视觉引导系统

开发了LabVIEW软件和硬件工具开发的高精度机械手视觉引导系统。系统通过高效的视觉识别和精确的机械操作,提升工业自动化领域的生产效率和操作精度。 项目背景: 随着工业自动化的不断发展,对生产效率和精确度的要求也日益增高。传统的机械手…

应用层协议HTTP介绍

一、HTTP协议介绍 HTTP(HyperText Transfer Protocol,超文本传输协议)是一个至关重要的协议。它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本。 超文本:视频,音…

【多系统萎缩患者必看】科学锻炼秘籍,让生命之树常青

亲爱的小红书朋友们,👋 今天我们要聊一个温暖而坚韧的话题——关于多系统萎缩(MSA)患者的锻炼指南。在这个充满挑战的旅程中,锻炼不仅是身体的锻炼,更是心灵的滋养,是对抗病魔的勇敢姿态&#x…

超级全面的Python功能图谱

Python作为一种高级编程语言,以其简洁清晰的语法、强大的标准库以及活跃的社区支持而受到广泛欢迎。无论是在科学计算、数据分析、Web开发还是机器学习等领域,Python都是首选的语言之一。本文旨在提供一个全面的Python功能图谱,覆盖从基础语法…

遗传算法(GA算法)求解实例---旅行商问题 (TSP)

目录 一、采用GA求解 (TSP)二、 旅行商问题2.1 旅行商问题简介2.2 使用遗传算法解决 TSP2.2.1 遗传算法求解 TSP 的基本步骤 2.3 实际例子:求解 6 个城市的 TSP1. 初始化种群2. 计算适应度3. 选择操作4. 交叉操作5. 变异操作6. 生成新种群7. 迭代与终止 三、 **采用…

用户体验在网站建设中的重要性

用户体验在网站建设中的重要性不言而喻。以下是对其重要性的具体介绍: 提升用户满意度:用户体验的优劣直接关系到用户对网站的满意程度。一个设计良好、易于导航、响应迅速的网站能够让用户在使用过程中感到舒适和愉悦,从而增加用户对网站的…

【JavaEE】初识⽹络原理

目录 一、计算机相互连接的方式 1.1 局域网LAN 1.2 广域网WAN 二、网络通信的基础 1.1 IP地址 1.2 格式 1.3 端口号 三、认识协议 1.1 概念 1.2 五元组: 1.3 协议分层 1.4 OSI七层模型 1.5 TCP/IP五层(或四层)协议 一、计算机相互连…

【计算机网络 - 基础问题】每日 3 题(七)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

合并RAR分卷压缩包

因为文件压缩之后体积仍然过大,大家可能会选择进行分卷压缩,那么rar分卷压缩包之后如何合并成一个压缩包文件呢?今天我们来学习rar分卷压缩包,合并成一个的方法。 最基础的方法就是将分卷压缩包解压出来之后,再将文件…

AttributeError: module ‘numpy‘ has no attribute ‘object‘.

报错: AttributeError: module numpy has no attribute object. np.object was a deprecated alias for the builtin object. To avoid this error in existing code, use object by itself. Doing this will not modify any behavior and is safe. 位置&#xff…

HBase集群环境搭建

HBase集群环境搭建 一、集群规划二、前置条件三、集群搭建3.1 下载并解压3.2 配置环境变量3.3 集群配置1. hbase-env.sh2. hbase-site.xml3. regionservers4. backup-masters 3.4 HDFS客户端配置3.5 安装包分发 四、启动集群4.1 启动ZooKeeper集群4.2 启动Hadoop集群4.3 启动HB…

rtems 5.3 qemu realview_pbx_a9 环境搭建:生成 rtems arm 工具链

前言 rtems 是一款比较优秀的 RTOS,官方网址 https://www.rtems.org/ 当前 rtems 最新发布的版本:rtems-5.3 版本, 下载地址 https://ftp.rtems.org/pub/rtems/releases/5/5.3/ rtems 支持的 平台也是比较多的,当前支持 STM32F4…

差分进化算法(DE算法)求解实例---旅行商问题 (TSP)

目录 一、采用DE求解 TSP二、 旅行商问题2.1 实际例子:求解 6 个城市的 TSP2.2 **求解该问题的代码**2.3 代码运行过程截屏2.4 代码运行结果截屏(后续和其他算法进行对比) 三、 如何修改代码?3.1 减少城市坐标,如下&am…