PointNet++论文导读

PointNet++论文导读

    • 主要改进
    • 网络结构:
    • 非均匀采样下的特征学习的鲁棒性
    • 利用点特征传播处理数据集分割

论文链接:https://arxiv.org/abs/1612.00593

主要改进

PointNet的基本思想是学习每个点的空间编码,然后将所有单个点的特征聚合成一个全局点云标签,这种设计,导致PointNet不会获取点云集合的局部特征;

针对局部特征提取,PointNet++先通过空间欧氏距离将点集划分为重叠的局部区域,从小领域中提取局部特征,然后向前递归将局部特征进一步组成更大的单元,组成更高层次的特征,重复这一过程直到得到整个点集的特征;

Pointnet++中关键的两个问题:如何划分子集,以及如何设计局部特征提取层来抽象子集得到局部特征;论文中给出的方法为通过PointNet网络来实现局部特征的提取,通过基于欧式距离作为半径的领域聚类来划分neighborhood ball(邻域球),然后通过最远点采样(FPS)算法得到子集中的骨干点(centroids);

点云密度较低的地方,可能会导致骨干点提取不足够,进而导致局部特征无法提取;论文中还对比了CNN网络中小的卷积核更有助于提取局部特征,有助于提高CNN网络的能力,但是在点云数据中,由于采样不足,小邻域可能包含的点太少,导致PointNet不能够获取正确的特征;

论文的一个重要贡献是PointNet++在多个尺度上利用邻域来实现鲁棒性和细节捕获。在训练过程中借助于随机输入dropout,网络根据输入数据学习自适应地对不同尺度检测到的模式进行加权,并结合多尺度特征。实验表明,PointNet++能够高效、鲁棒地处理点集。特别是,在具有挑战性的3D点云基准测试中获得了明显优于最先进的结果;

网络结构:

在这里插入图片描述PointNet++的层次结构由许多抽象层次组成;在每个层次上,一组点被处理和抽象,以产生一个元素更少的新集合。集合抽象层由三个关键层组成:采样层、分组层和PointNet层。采样层从输入点中选择一组点,定义局部区域的质心。分组层然后通过寻找质心周围的“邻近”点来构建局部区域集。PointNet层使用mini-PointNet将局部区域模式编码为特征向量;

集合抽象层以N × (d + C)矩阵作为输入,该矩阵由N个坐标为d-dim、点特征为C-dim的点组成。它输出一个N0 × (d + c0)矩阵,包含N0个子采样点,坐标为d-dim,新的c0 -dim特征向量总结了局部上下文;

采样层:使用最远点采样法(FPS)提取骨干点,相较于随机采用,在采样数目相同的情况下可以更好的覆盖数据集;

分组层:该层的输入是一个大小为N × (d + C)的点集和一组大小为N0 × d的质心的坐标。输出是大小为N0 × K × (d + C)的点集组,每组对应一个局部区域,K为质心点的邻域点数。注意,K在组之间是不同的,但是后续的PointNet层能够将灵活数量的点转换为固定长度的局部区域特征向量;球查询查找在查询点半径内的所有点(在实现中设置了K的上限)。另一种范围查询是K个最近邻(kNN)搜索,它可以找到固定数量的3个相邻点。与kNN相比,球查询的局部邻域保证了固定的区域尺度,从而使局部区域特征在空间上更具可泛化性,这对于需要局部模式识别的任务(如语义点标记)是首选;

PointNet层:在这一层中,输入是数据大小为N0×K×(d+C)的N0个点的局部区域;输出中的每个局部区域由其质心和编码质心邻域的局部特征抽象。输出数据量为N0 × (d + c0);首先将局部区域内点的坐标转换为相对于质心点的局部坐标系,使用PointNet作为局部模式学习的基本构建块。利用相对坐标与点特征相结合的方法可以捕获局部区域的点对点关系;

非均匀采样下的特征学习的鲁棒性

点集在不同区域的密度不均匀是很常见的。这种不均匀性给点集特征学习带来了巨大的挑战。在密集数据中学习到的特征可能无法推广到稀疏采样区域。因此,稀疏点云训练的模型可能无法识别细粒度的局部结构。

理想情况下尽可能仔细地检查一个点集,以捕获密集采样区域中最精细的细节。然而,在低密度地区,这种近距离检查是被禁止的,因为采样不足可能会破坏局部模式。在这种情况下,应该在更大的范围内寻找更大规模的模式。为了实现这一目标,提出了密度自适应的PointNet层,当输入采样密度发生变化时,这些层学习组合来自不同尺度区域的特征。把具有密度自适应点网层的分层网络称为PointNet++。

每个抽象级别包含单个尺度的分组和特征提取;在PointNet++中,每个抽象层提取局部模式的多个尺度,并根据局部点密度智能组合。在局部区域分组和不同尺度特征组合方面,我们提出了以下两种类型的密度自适应层:
在这里插入图片描述

多尺度分组(MSG):如图3 (a)所示,捕获多尺度模式的一种简单而有效的方法是应用不同尺度的分组层,然后根据PointNets提取每个尺度的特征。将不同尺度的特征串联起来,形成多尺度特征;

训练网络学习一种结合多尺度特征的优化策略。这是通过随机放弃每个实例的随机概率输入点来完成的,称之为随机输入Dropout。具体来说,对于每个训练点集,从[0;P],其中P≤1。对于每个点,以概率θ随机丢弃一个点。在实践中,设置p = 0:95以避免产生空点集。在这样做的过程中,为网络提供了各种稀疏性(由θ引起)和不同均匀性(由dropout中的随机性引起)的训练集。在测试期间,保留所有可用的分数。

多分辨率分组(MRG):上面的MSG方法在计算上是昂贵的,因为它在每个质心点的大规模邻域上运行本地PointNet。特别是,由于质心点的数量通常在最低水平相当大,时间成本是显著的。

提出了一种替代方法,避免了这种昂贵的计算,但仍然保留了根据点的分布特性自适应聚合信息的能力。在图3 (b)中,某一级Li区域的特征是两个向量的串联。通过使用集合抽象级别从较低级别Li−1总结每个子区域的特征,得到一个向量(图左)。另一个向量(右)是通过使用单个PointNet直接处理局部区域中的所有原始点而获得的特征。

单尺度分组(SSG):每层单尺度分组的精简PointNet++,不能推广到稀疏采样密度,而SSG+DP通过在训练时间随机剔除点来修正这个问题

当局部区域的密度较低时,第一个向量的可靠性可能不如第二个向量,因为计算第一个向量的子区域包含更稀疏的点,并且更容易受到采样缺陷的影响。在这种情况下,第二个向量的权重应该更高。另一方面,当局部区域的密度很高时,第一个向量提供了更精细的细节信息,因为它具有在较低水平上以更高分辨率递归检查的能力。与MSG相比,该方法避免了在最低层次上对大规模邻域进行特征提取,计算效率更高。

在这里插入图片描述
在这里插入图片描述

这里对比论文中给出的处理ModelNet40分类和Shapenet部件分割的结果可以看出:MSG+DP的处理效果无论分类还是分割都取得了最好的效果;

利用点特征传播处理数据集分割

在集合抽象层,对原始点集进行次采样。然而,在语义点标注等集合分割任务中,需要获得所有原始点的点特征。一种解决方案是在所有的抽象层中抽取所有的点作为质心,但是这样会导致较高的计算成本。另一种方法是将特征从下采样点传播到原始点。

采用基于距离的插值和跨层跳过链接的分层传播策略。在特征传播层中,将点特征从Nl × (d + C)点传播到Nl−1点,其中Nl−1和Nl (Nl≤Nl−1)是集合抽象层l的输入和输出的点集大小。通过在Nl−1点的坐标处插值Nl点的特征值f来实现特征传播。在许多插值选择中,使用基于k个最近邻的逆距离加权平均(默认情况下使用p = 2, k = 3)。然后将Nl−1个点上的插值特征与来自集合抽象级别的跳过链接点特征连接起来。然后将连接的特征通过“单位点网”传递,这类似于cnn中的一对一卷积。几个共享的全连接层和ReLU层被应用于更新每个点的特征向量。重复这个过程,直到将特征传播到原始的点集。

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

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

相关文章

Apache Ranger 2.4.0 集成hadoop 3.X(Kerbos)

1、安装Ranger 参照上一个文章 2、修改配置 把各种plugin转到统一目录(源码编译的target目录下拷贝过来),比如 tar zxvf ranger-2.4.0-hdfs-plugin.tar.gz tar zxvf ranger-2.4.0-hdfs-plugin.tar.gz vim install.properties POLICY_MG…

论文阅读:Simple and Efficient Heterogeneous Graph Neural Network

Yang, Xiaocheng, Mingyu Yan, Shirui Pan, Xiaochun Ye and Dongrui Fan. “Simple and Efficient Heterogeneous Graph Neural Network.” AAAI Conference on Artificial Intelligence (2022). 论文地址:[PDF] Simple and Efficient Heterogeneous Graph Neural…

Bytebase 2.20.0 - 支持为工单事件配置飞书个人通知

🚀 新功能 支持 Databricks。支持 SQL Server 的 TLS/SSL 连接。支持为工单事件配置飞书个人通知。支持限制用户注册的邮箱域名。 🔔 重大变更 将分类分级同步设置从数据库配置移至工作空间的全局配置。 SQL 编辑器只读模式下只允许执行 Redis 的只读…

着色器预热?为什么 Flutter 需要?为什么原生 App 不需要?那 Compose 呢?Impeller 呢?

依旧是来自网友的问题,这个问题在一定程度上还是很意思的,因为大家可能会想,Flutter 使用 skia,原生 App 是用 skia ,那为什么在 Flutter 上会有着色器预热(Shader Warmup)这样的说法&#xff1…

论文1--ViT

Vision Transformer (ViT) 论文:https://arxiv.org/abs/2010.11929代码:GitHub - google-research/vision_transformer 1.背景 (1)transformer在NLP很强,但在CV的应用还非常有限,在此之前只有目标检测中…

【轻量化】YOLOv8 更换骨干网络之 MobileNetv4 | 《号称最强轻量化网络》

论文地址:https://arxiv.org/pdf/2404.10518 代码地址:https://github.com/tensorflow/models/blob/master/official/vision/modeling/backbones/mobilenet.py 文章速览 文章摘要 MobileNetV4引入了一个名为Universal Inverted Bottleneck (UIB) 的新搜索模块,这个模块融合…

民用无人机企业招标投标需要资质证书详解

一、基础资质 在民用无人机企业的招标投标过程中,基础资质是首要考虑的因素。这些资质通常包括企业注册资质、税务登记证、组织机构代码证等。 1.1 企业注册资质 企业应具备合法的注册资质,即营业执照。该执照应包含企业名称、注册地址、法定代表人、…

idea集成uglifycss压缩混淆css

Uglifycss介绍 https://www.npmjs.com/package/uglifycss 命令行 $ uglifycss [options] [filename] [...] > output 选项: --max-line-len n每个字符添加一个换行符(大约); 表示无换行符,并且是默认值n0 --expand-vars扩…

考研数学|《660》一刷的错题,二刷还错,怎么能做对?

660这本习题册的难度不小,它不仅考察你对知识点的掌握程度,还考察你的解题思路和方法。很多题目会同时涉及多个知识点,而且对概念的挖掘非常深入,甚至在一些容易出错的地方还设置了陷阱,这对于基础不扎实的同学来说&am…

商城积分系统的代码实现(下)-- 积分订单的退款与结算

一、接着上文 用户在消耗积分的时候&#xff0c;需要根据一定的逻辑&#xff0c;除了扣减账户的当前余额&#xff0c;还需要依次消费积分订单的余额。 private void updatePointsOrderByUse(Integer schoolId, Long userId, String pointsType, int usingPoints) {List<Po…

Web攻防基础篇-文件上传漏洞

文件解析安全问题上&#xff0c;格式解析是一对一的&#xff08;不能jpg解析php&#xff09;&#xff0c;换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析。 文件上传漏洞 程序或系统未对上传文件作全面的限制&#xff0c;导致用户可以上传某些非法文件&#…

Jetson系列机载电脑创建热点模式配置方法

Jetson nano为例—— 创建热点模式配置方法 1.1、新建一个 WiFi 在屏幕右上角找到网络图标&#xff0c;点击后选择“Edit Connections”选项&#xff0c;进入选择网络连接页面&#xff0c;然后点击左下角加号&#xff0c;新建一个连接&#xff0c;类型选择 WiFi 后点击 “cre…

在TkinterGUI界面显示WIFI网络(ESP32s3)摄像头画面

本实验结合了之前写过的两篇文章Python调用摄像头&#xff0c;实时显示视频在Tkinter界面以及ESP32 S3搭载OV2640摄像头释放热点&#xff08;AP&#xff09;工作模式–Arduino程序&#xff0c;当然如果手头有其他可以获得网络摄像头的URL即用于访问摄像头视频流的网络地址&…

【笔记】从零开始做一个精灵龙女-拆uv阶段

目录 先回顾一下拆uv的基础流程吧 肩部盔甲分UV示例 手环UV部分 腰带UV部分 其它也差不多&#xff0c;需要删掉一半的就先提前删掉一半&#xff0c;然后把不需要的被遮挡的面也删掉 龙角UV 胸甲UV 侧边碎发UV 马尾UV 脸部/耳朵UV 特殊情况&#xff1a;如果要删一半再…

MacOS 安装 Maven 并配置环境变量

一、简介 Maven 是一款基于 Java 平台的项目管理和整合工具&#xff0c;用来构建项目的。也就是清理、编译、测试、运行、打包、安装整个过程都交给 Maven 管理&#xff0c;整个过程就是构建。 二、安装 Java JDK Maven 依赖 Java JDK&#xff0c;如果本机没有安装过 Java 的…

Web后端开发之前后端交互

http协议 http ● 超文本传输协议 &#xff08;HyperText Transfer Protocol&#xff09;服务器传输超文本到本地浏览器的传送协议 是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程。 HTTP是一个基于TCP/IP通信协议来传递数据. HTT…

智慧校园-办公管理系统总体概述

智慧校园行政办公系统是专为高校及教育机构定制的数字化办公解决方案&#xff0c;它整合了众多办公应用与服务&#xff0c;旨在全面提升校园行政管理的效率与便捷性&#xff0c;推动信息的自由流动&#xff0c;实现绿色无纸化办公环境。该系统作为一个综合平台&#xff0c;将日…

VMware中的三种虚拟网络模式

虚拟机网络模式 1 主机网络环境2 VMware中的三种虚拟网络模式2.1 桥接模式2.2 NAT模式2.3 仅主机模式 3 网络模式选择及配置NAT模式3.1 VMware虚拟网络配置3.2 虚拟机选择网络模式3.3 Windows主机网络配置 4 配置静态IP 虚拟机联网方式为桥接模式&#xff0c;这种模式下&#x…

c++ 设计模式 的课本范例(下)

&#xff08;19&#xff09; 桥接模式 Bridge&#xff0c;不是采用类继承&#xff0c;而是采用类组合&#xff0c;一个类的数据成员是类对象&#xff0c;来扩展类的功能。源码如下&#xff1a; class OS // 操作系统负责绘图 { public:virtual ~OS() {}virtual void draw(cha…

拼多多滑块逆向

声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 前言(lianxi …