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

目录

    • 介绍
    • 核心思想及其实现
      • 核心思想
      • 实现步骤
    • 如何改进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.mfbz.cn/a/877432.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[全网首发]怎么让国行版iPhone使用苹果Apple Intelligence

全文共分为两个部分:第一让苹果手机接入AI,第二是让苹果手机接入ChatGPT 4o功能。 一、国行版iPhone开通 Apple Intelligence教程 打破限制:让国行版苹果手机也能接入AI 此次发布会上,虽然国行 iPhone16 系列不支持 GPT-4o&…

C++:二叉搜索树

1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一颗空树,或者是具有以下性质的二叉树: 若它的左子树不为空,那么左子树上的所有节点的值都小于等于根节点的值若它的右子树不为空,那么左子树上的所有节点的值…

免费像素画绘制软件 | Pixelorama v1.0.3

Pixelorama 是一款开源像素艺术多工具软件,旨在为用户提供一个强大且易于使用的平台来创作各种像素艺术作品,包括精灵、瓷砖和动画。这款软件以其丰富的工具箱、动画支持、像素完美模式、剪裁遮罩、预制及可导入的调色板等特色功能,满足了像素…

【JavaSE系列】注解

目录 前言 一、概述 二、Java预置注解 三、自定义注解 四、元注解 1. Retention 2. Target 3. Documented 4. Inherited 5. Repeatable 五、反射注解 总结 前言 随着Java语言的发展,注解(Annotations)逐渐成为了Java编程不可或…

Linux下进程间的通信--共享内存

共享内存概述: 共享内存是进程间通信的一种方式,它允许两个或多个进程共享一个给定的存储区。共享内存是最快的一种IPC形式,因为它允许进程直接对内存进行读写操作,而不需要数据在进程之间复制。 共享内存是进程间通信&#xff…

MySQL基础篇(黑马程序员2022-01-18)

1 MySQL数据库概述 1.1 MySQL数据库的下载,安装,启动停止 1.2 数据模型 (1)关系型数据库(RDBMS) 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: A. 使用表存储数据,格式统一,便于维护。…

【JavaScript】数据结构之树

什么是树形结构? 一种分层数据的抽象模型,用来分层级关系的。虚拟dom它所组织的那个数据原理就是树形结构 深度优先搜索(遍历)- 递归 从根出发,尽可能深的搜索树的节点技巧 访问根节点对根节点的children挨个进行深…

基于python+django+vue的社区爱心养老管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的社…

mysql的zip解压缩版安装

文章目录 一、MySQL下载二、mysql解压缩版安装1、解压缩2、设置环境变量3、mysql初始化4、安装mysql服务5、启动mysql服务6、连接mysql7、修改初始密码8、安装完成 一、MySQL下载 下载网址:MySQL下载 本文以mysql8.4.2版本为例下载解压缩版。 二、mysql解压缩版安…

ElementUI 快速入门:使用 Vue 脚手架搭建项目

文章目录 一 . ElementUI 的基本安装1.1 通过 Vue 脚手架创建项目1.2 在 vue 脚手架中安装 ElementUI1.3 编写页面 ElementUI 是 Vue.js 的强大 UI 框架,让前端界面开发变得简单高效。本教程将带你从安装到实战,快速掌握 ElementUI 的核心技巧。 核心内容…

MS SQL Server 实战 排查多列之间的值是否重复

目录 需求 范例运行环境 数据样本设计 功能实现 上传EXCEL文件到数据库 SQL语句 小结 需求 在日常的应用中,排查列重复记录是经常遇到的一个问题,但某些需求下,需要我们排查一组列之间是否有重复值的情况。比如我们有一组题库数据&…

【初阶数据结构】排序

目录 一、排序的概念及其运用 1.1排序的概念 1.2常见的排序算法 二、常见排序算法的实现 2 .1插入排序 2 .1.1基本思想: 2.1.2直接插入排序: 算法复杂度: 最坏情况: 最好的情况: 直接插入排序的特性总结&…

React js Router 路由 2, (把写过的几个 app 组合起来)

完整的项目,我已经上传了,资源链接. 起因, 目的: 每次都是新建一个 react 项目,有点繁琐。 刚刚学了路由,不如写一个 大一点的 app ,把前面写过的几个 app, 都包含进去。 这部分感觉就像是, …

BSV区块链上的覆盖网络服务现已开放公测

​​发表时间:2024年8月30日 BSV区块链的覆盖网络服务现已正式开放公测。对于BSV区块链生态系统内的特定交易类型和数据管理及访问,覆盖网络服务都可以为它们提供强大、可扩展、并且合规的解决方案。覆盖网络以及其它即将推出的BSV服务将赋予开发者、企业…

SQL Server开启网络访问

目前工作中很少用到SQL Server了,最近需要测试几个表,需要搭建一个SQL Server数据库服务,这里做个总结吧。 安装这里就不做详细介绍了,本文只介绍如何开启SQL Server网络访问。 1、云服务器安全组设置 如果是搭建在云服务器上&a…

CTF——简单的《MICS》

文章目录 一、MICS1、MISC-LSB2、MISC-循环解压3、MISC-一个不同的压缩包4、MISC-异性相吸5、MISC-仔细找找6、MISC-再来一题隐写7、MISC-找找吧8、MISC-这是一张单纯的图片9、MISC-真假flag10、MISC-真正的黑客才可以看到本质11、MISC-追象者12、MICS-鸡蛋别放在一起 一、MICS…

【双方演化博弈】研究理论学习

1. 演化基础 1.1.演化博弈常用软件 载学习软件: Matlab、Vensim PLE、 Visio 其中,Matlab和Vensim PLE主要是用做演化博弈仿真,Matlab是演化博弈最常用的仿真软件,VensimPLE是系统动力学(SD)仿真软件也是常用仿真软件之一。 Python、Netlogo等软件也可以用来做演…

THREE.js:网页上的3D世界构建者

THREE.js:网页上的3D世界构建者 前言 THREE.js 是一个强大的基于 JavaScript 的库,它使得在网页上创建和展示三维图形变得异常简单。 通过封装复杂的 WebGL 技术,THREE.js 提供了一套丰富的 API,让开发者能够轻松地构建出令人印…

基于web的 BBS论坛管理系统设计与实现

博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…

MYSQL基础-多表操作-事务-索引

1. 多表设计 概述 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: …