PointNet++ 论文阅读

news2024/11/27 16:34:38

论文链接

PointNet++


0. Abstract

**背景:**PointNet的设计并未捕捉到度量空间中存在的局部结构,限制了其识别细粒度模式和适用于复杂场景的能力

解决思路

  • 引入了一种分层神经网络,该网络==在输入点集的嵌套分割上递归地应用PointNet==
  • 利用度量空间距离,网络能够学习具有不断上下文尺度增加的==局部特征==
  • 提出了新颖的==集合学习层,以自适应地组合多个尺度的特征==

1. Intro

前期工作

  • PointNet 的基本思想是学习每个点的空间编码,然后将所有单个点特征聚合为全局点云签名
  • PointNet 不会捕获由度量引起的局部结构。然而,事实证明,利用局部结构对于卷积架构的成功非常重要

PointNet++:

  • PointNet++ 利用分层神经网络,以分层方式处理度量空间中采样的一组点
Yes
No
开始
根据底层空间的距离度量将点集划分为重叠的局部区域
提取局部特征
局部特征被分为更大单元
循环结束?
获得整个点集的特征
  • PointNet ++ 的设计需要解决两个问题:如何生成点集的划分如何通过局部特征学习器抽象点集或局部特征

  • 仍然存在的一个问题是如何生成点集的重叠划分

    • 解决方法:为了均匀地覆盖整个集合,通过最远点采样(FPS)算法在输入点集中选择质心
  • 特征尺度的纠缠和输入点集的不均匀性,确定局部邻域球的适当尺度是一个更具挑战

    • 解决方法:输入点集与 CNN 输入非常不同,CNN 输入可以被视为在具有均匀恒定密度的规则网格上定义的数据

主要贡献

  • PointNet++ 利用多个尺度的邻域来实现鲁棒性和细节捕获。
  • 网络学习自适应地对在不同尺度检测到的模式进行加权,并根据输入数据组合多尺度特征
  • PointNet++ 能够高效、鲁棒地处理点集。特别是,在具有挑战性的 3D 点云基准上获得了明显优于现有技术的结果

2. Problem Statement

f f f 可以是为 X \Chi X 分配标签的分类函数,也可以是为 M M M 的每个成员分配每点标签的分段函数

3. Method

3.1 回顾 PointNet

f ( x 1 , . . . , x n ) = γ ( M A X i = 1 , . . , n { h ( x i ) } ) f(x_1,...,x_n)=\gamma (\underset{i=1,..,n}{MAX} \{h(x_i)\}) f(x1,...,xn)=γ(i=1,..,nMAX{h(xi)})

PointNet 在一些基准测试中取得了令人印象深刻的性能。然而,它缺乏捕捉不同尺度的当地背景的能力

3.2 分层点集特征学习

  • PointNet++ 构建了点的分层分组,并沿着层次结构逐步抽象出越来越大的局部区域

  • 我们的层次结构由许多抽象级别集合组成(图 2)。在每个级别,都会对一组点进行处理和抽象,以生成包含更少元素的新集合

  • 集合抽象层由三个关键层组成:采样层、分组层和PointNet层

    • 采样层从输入点中选择一组点,这定义了局部区域的质心
    • 分组层通过查找质心周围的“相邻”点来构造局部区域集
    • PointNet 层使用迷你 PointNet 将局部区域模式编码为特征向量

采样层

  • 给定输入点 { x 1 , x 2 , . . . , x n } \{x_1, x_2, ..., x_n\} {x1,x2,...,xn},我们使用迭代最远点采样 (FPS) 来选择点的子集 { x i 1 , x i 2 , . . . , x i m } \{x_{i_1} , x_{i_2} , ..., x_{i_m} \} {xi1,xi2,...,xim},使得 x i j x_{i_j} xij 是从集合 { x i 1 , x i 2 , . . . , x i j − 1 } \{x_{i_1} , x_{i_2} , ..., x_{i_{j−1}} \} {xi1,xi2,...,xij1} 到其余点最远点(以公制距离表示)
  • 与随机采样相比,在质心数量相同的情况下,它可以更好地覆盖整个点集。与扫描与数据分布无关的向量空间的 CNN 相比,我们的采样策略以数据相关的方式生成感受野

分组层

  • 该层的输入是大小为 N × (d + C) 的点集和大小为 N ’ × d 的质心集的坐标。输出是大小为 N ′ × K × (d + C) 的点集组
  • 每个组对应于一个局部区域,K 是质心点邻域中的点数,因组而异
  • 通过卷积神经网络的性质,从度量空间采样的点集中,点的邻域由度量距离定义
  • Ball query 的局部邻域保证了固定的区域尺度,从而使局部区域特征在空间上更具泛化性,这对于需要局部模式识别(例如语义点标记)的任务来说是首选

PointNet 层

  • 输入是数据大小为 N '×K ×(d+C) 的点的 N ’ 个局部区域。输出中的每个局部区域都是由其质心和编码质心邻域的局部特征抽象的。输出数据大小为 N ′ × (d + C′)

3.3 非均匀采样密度下的鲁棒特征学习

  • 点集在不同区域的密度不均匀是很常见的。这种不均匀性给点集特征学习带来了重大挑战

  • 在低密度区域禁止进行这种近距离检查,因为局部模式可能会因采样不足而被破坏

    • 解决方法:提出了密度自适应 PointNet 层(图 3),当输入采样密度发生变化时,该层学习组合不同尺度区域的特征。即PointNet++

  • 在PointNet++中,每个抽象级别都会提取多个尺度的局部模式,并根据局部点密度将它们智能地组合起来

在对局部区域进行分组并结合不同尺度的特征方面,我们提出了两种类型的密度自适应层

多尺度分组(MSG)

  • 应用不同尺度的分组层,然后根据 PointNet 提取每个尺度的特征。不同尺度的特征连接起来形成多尺度特征
  • 训练网络学习结合多尺度特征的优化策略:
    • 对每个实例以随机概率随机丢弃输入点,称之为随机输入丢弃
    • 对于每个训练点集,我们选择从 [0, p] 中均匀采样的丢弃率 θ
    • 在实践中,我们设置 p = 0.95 以避免生成空点集

多分辨率分组(MRG)

  • MSG 方法的计算成本很高,因为它在每个质心点的大规模邻域中运行本地 PointNet
  • 某个级别 L i L_i Li 的区域特征是两个向量的串联。通过使用设定的抽象级别从较低级别 L i − 1 L_{i−1} Li1 总结每个子区域的特征,获得一个向量(图中左侧)。另一个向量(右)是使用单个PointNet直接处理局部区域中的所有原始点获得的特征
  • 当局部区域的密度较低时,第一向量可能不如第二向量可靠,在这种情况下,第二个向量的权重应该更高
  • 当局部区域的密度较高时,第一向量提供更精细细节的信息

3.4 用于集合分割的点特征传播

  • 在集合抽象层中,对原始点集进行二次采样

  • 一种解决方案是始终将所有点采样为所有设置的抽象级别中的质心,但这会导致较高的计算成本;另一种方法是将特征从子采样点传播到原始点

  • PointNet 采用基于距离的插值和跨级跳跃链接的分层传播策略

    • 在特征传播层中,我们将 N l × ( d + C ) N_l × (d + C) Nl×(d+C) 个点的点特征传播到 N l − 1 N_{l−1} Nl1 个点,其中 N l − 1 N_{l−1} Nl1 N l N_l Nl N l ≤ N l − 1 N_l ≤ N_{l−1} NlNl1)是输入和输出集合抽象层 l l l 的点集大小

    • 通过对 N l − 1 N_{l−1} Nl1 点的坐标进行插值来实现特征传播,其中插值的选项有很多种,这里使用基于 k k k 个最近邻的倒数距离加权平均值
      f ( j ) ( x ) = ∑ i = 1 k w i ( x ) f i ( j ) ∑ i = 1 k w i ( x )      w h e r e    w i ( x ) = 1 d ( x , x i ) p , j = 1 , 2 , . . . , C     ( p = 2 , k = 3 ) f^{(j)}(x)=\frac{\sum_{i=1}^k w_i(x)f_i^{(j)}}{\sum_{i=1}^k w_i(x)} \ \ \ \ where \ \ w_i(x)=\frac{1}{d(x,x_i)p},j=1,2,...,C \ \ \ (p=2,k=3) f(j)(x)=i=1kwi(x)i=1kwi(x)fi(j)    where  wi(x)=d(x,xi)p1j=1,2,...,C   (p=2,k=3)

  • 将其与抽象级别的跳接点特征连接起来。然后通过“单元PointNet”传递连接的特征

  • 应用几个共享的全连接和ReLU层来更新每个点的特征向量

  • 重复这个过程,直到我们将特征传播到原始点集

4. Experiment

数据集:评估了四个数据集

  • MNIST: 手写数字图像数据集,包含6万张训练样本和1万张测试样本
  • ModelNet40:40个类别的CAD模型(大部分是人造的)。使用官方划分的 9,843 个形状进行训练,2,468 个形状进行测试
  • SHREC15:50 个类别的 1200 个形状。每个类别包含 24 个形状,其中大部分是具有各种姿势的有机形状,例如马、猫等。使用五 fold 交叉验证来获得该数据集的分类准确性
  • ScanNet:1513 个扫描和重建的室内场景。使用1201个场景进行训练,312个场景进行测试

4.1 欧氏度量空间中的点集分类

  • 我们评估我们的网络对从 2D (MNIST) 和 3D (ModleNet40) 欧几里得空间采样的点云进行分类

结果

表 2 中的 PointNet (vanilla) 是[20]中不使用变换网络的版本,这相当于我们只有一层的分层网络

对采样密度变化的鲁棒性

  • 直接从现实世界捕获的传感器数据通常会遇到严重的不规则采样问题。本文的方法选择多个尺度的点邻域,并学习通过适当加权来平衡描述性和鲁棒性

  • 测试期间随机丢弃点(见图 4 左),以验证我们的网络对非均匀和稀疏数据的鲁棒性。 图 4 右侧,MSG+DP(训练期间具有随机输入丢失的多尺度分组)和 MRG+DP(训练期间具有随机输入丢失的多分辨率分组)

4.2 用于语义场景标记的点集分割

为了验证方法是否适合大规模点云分析,对语义场景标记任务进行了评估

  • 目标是预测室内扫描中点的语义对象标签

  • 在所有实验中删除了 RGB 信息,并将点云标签预测转换为体素标签

引入了分层特征学习并捕获不同尺度的几何特征。这对于理解多个级别的场景以及标记不同尺寸的对象非常重要

对采样密度变化的鲁棒性

  • 由于采样密度从均匀点云转移到虚拟扫描场景,SSG 性能大幅下降。另一方面,MRG 网络对采样密度变化更加鲁棒
  • 当采样稀疏时,它能够自动切换到描述较粗粒度的特征
  • 尽管训练数据(随机丢失的均匀点)和密度不均匀的扫描数据之间存在域差距,MSG 网络仅受到轻微影响,并且在比较方法中实现了最佳精度

4.3 非欧度量空间中的点集分类

  • 首先构造由成对测地距离导出的度量空间,再获得模拟测地距离的嵌入度量,接下来提取该度量空间中的内在点特征
  • 使用这些特征作为输入,然后根据底层度量空间对点进行采样和分组
  • 通过这种方式,我们的网络学习捕获不受形状特定姿势影响的多尺度内在结构

结果

  • 该方法优于之前最先进的方法
  • 比较方法的第一和第二设置,我们发现内在特征对于非刚性形状分类非常重要
  • 比较方法的第二个和第三个设置,发现使用测地线邻域比欧几里得邻域更有利
    • 欧几里得邻域可能包括表面上远离的点,并且当形状提供非刚性变形时,该邻域可能会发生巨大变化
    • 表面上的测地邻域消除了这个问题并提高了学习效率

4.4 特征可视化

  • 可视化了分层网络的第一级内核所学到的内容。我们在空间中创建了一个体素网格,并聚合了在网格单元中最能激活某些神经元的局部点集

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

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

相关文章

[PHP]禅道项目管理软件ZenTaoPMS源码包 v16.4

禅道项目管理软件ZenTaoPMS一键安装包是一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件…

C语言,数据结构指针,结构构体操作符 •,->,*的区别,看这篇就够了

在朋友们学习指针和数据结构这一章的时候,对各种操作符云里雾里。当你看到这么文章之后你就会明白了。 一 • 和 ->运算符 • 运算符:是结构变量访问结构体成员时用的操作符 -> 运算符:这是结构体指针访问结构体成员时调用的运算符。 …

GCN火车票识别项目 P1 火车票识别项目介绍 Pytorch LSTM/GCN

从本节开始,我将带大家完成一个深度学习项目:用图卷积神经网络(GCN),实现一个「火车票文字信息提取」的项目,由于火车票上每个节点文字不是等长的,所以还需要添加一个前置的 LSTM 来提取句子特征。 课前说明 1、这是…

VScode + opencv + c++ + win配置教程

准备: 1、下载opencv 2、下载MinGw 3、 3、下载CMake 下载完解压放到一个文件夹里面,便于环境管理,文件夹我重命名了,解压出来文件名不一样正常 环境变量配置 C:\Users\wuxulong\cpp_env\MinGw\mingw64\bin C:\Users\wuxulon…

联想服务器-HTTP boot安装Linux系统

HTTP boot与传统PXE的主要差异 HTTP不再需要使用UDP协议的tftp服务(连接不可靠、不支持大文件)了,只需要dhcp 和http 两个服务即可,支持较稳定的大文件传输。 实验环境 ThinkSystem服务器SR650V2 SR660V2 通过HTTP boot安装Cen…

Android java Handler sendMessage使用Parcelable传递实例化对象,我这里传递Bitmap 图片数据

一、Bundle给我们提供了一个putParcelable(key,value)的方法。专门用于传递实例化对象。 二、我这里传递Bitmap 图片数据,实际使用可以成功传统图像数据。 发送:Bundle bundle new Bundle();bundle.putParcelable("bitmap",bitmap);msg.setD…

YOLO算法改进5【中阶改进篇】:添加SENet注意力机制

SE-Net 是 ImageNet 2017(ImageNet 收官赛)的冠军模型,是由WMW团队发布。具有复杂度低,参数少和计算量小的优点。且SENet 思路很简单,很容易扩展到已有网络结构如 Inception 和 ResNet 中。 我们可以看到,已…

NLP 模型中的偏差和公平性检测

一、说明 近年来,自然语言处理 (NLP) 模型广受欢迎,彻底改变了我们与文本数据交互和分析的方式。这些基于深度学习技术的模型在广泛的应用中表现出了卓越的能力,从聊天机器人和语言翻译到情感分析和文本生成。然而&…

IntelliJ IDEA2023旗舰版和社区版下载安装教程(图解)

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【C语法学习】14 - 流和文件

文章目录 1 流1.1 概念1.2 优点1.3 分类1.3.1 输入流和输出流1.3.2 标准流和文件流1.3.2.1 标准流1.3.2.2 文件流 1.3.3 文本流和二进制流 4 文件4.1 分类4.2 区别 1 流 1.1 概念 "流"的概念比较抽象,经典C语言书籍《C Primer Plus》中是这样描述的&…

两分钟搞定MySQL安装——极速mysql5.7安装教程

一、下载mysql mysql官网传送带: MySQL :: Download MySQL Community Server 选择好版本后直接下载即可,版本格式为zip格式。 二、安装mysql 1、解压zip安装包 ps:解压缩的路径里面不要出现中文哦! 2、设置配置文件 新建data…

字节10年经验,花3个月熬夜整理的超全面试真题(附答案)

软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件…

一、修改Ubuntu的IP

1、配置虚拟机 三台虚拟机,分别为node1、node2、node3,内存分别为4G、2G、2G,现存最好为(>40G),如下: 2、修改主机名 分别打开三台虚拟机,root用户输入一下命令: no…

too many open files(打开的文件过多)解决办法

我们java服务报java.net.SocketException: 打开的文件过多 由于我们文件服务用的是minio 所以排查思路应该是进入文件服务器查看minio的pid ps -ef |grep minio lsof -p 11956 | wc -l 由此可以看出已经打开数为1950了 所以我们要提升打开文件数(openfile&#…

matlab矩阵的输入

一段时间不操作感觉有些模糊;下面复习一下; 矩阵的数字之间用空格分开,每一行以分号结尾; 空格多几个也是可以识别的; 数字也可以用逗号隔开,只要一行的结尾是分号即可; 空格多输入几个是可…

Rust编程基础核心之所有权(上)

1.什么是所有权? Rust 的核心功能(之一)是 所有权(ownership)。虽然该功能很容易解释,但它对语言的其他部分有着深刻的影响。 所有程序都必须管理其运行时使用计算机内存的方式。一些语言中具有垃圾回收机制&#x…

【李群李代数】【manif 】基于固定信标的2D机器人定位 (Error State Kalman Filter)...

demo演示 运行结果 我们考虑一个机器人在平面上被少量的准时地标或_信标 包围。 机器人以轴向速度和角速度的形式接收控制动作,并且能够测量信标相对于其自身参考系的位置。 机器人位姿 X 在 SE(2) 中,信标位置 b_k 在 R^2 中, | cos th -si…

配置Raspberry自动连接WIFI,在无法查看路由器的校园网情况下使用自己电脑热点

1、开启电脑热点,并共享电脑WLAN2 打开控制面板->网络和Internet->网络连接 选择自己的校园网,我这里是WLAN2,右键属性,如下操作: 如果没有看到 本地连接*10类似的图标 则按如下操作:winx键&#x…

国家统计局教育部各级各类学历教育学生情况数据爬取

教育部数据爬取 1、数据来源2、爬取目标3、网页分析4、爬取与解析5、如何使用Excel打开CSV1、数据来源 国家统计局:http://www.stats.gov.cn/sj/ 教育部:http://www.moe.gov.cn/jyb_sjzl/ 数据来源:国家统计局教育部文献教育统计数据2021年全国基本情况(各级各类学历教育学…

网络协议的基本概念

网络协议的基本概念 随处可见的协议 在计算机网络与信息通信领域里,人们经常提及“协议”一词。互联网中常用的具有代表性的协议有IP、TCP、HTTP等。 “计算机网络体系结构”将这些网络协议进行了系统归纳。TCP/IP就是IP、TCP、HTTP等协议的集合。现在&#xff0…