PointNet和PointNet++论文解读

目录

一、导言

二、PointNet介绍

三、PointNet网络结构

1、损失函数

2、正则化

四、PointNet++

1、分层次的点集抽象层

五、PointNet++网络结构

1、点特征传播 

2、分组方法


一、导言

        PointNet来自CVPR2017,是最早直接处理点云数据用于计算机视觉的模型,并运用于分割、检测、场景理解任务,PointNet++来自NIPS2017(这么高产吗?),作为PointNet的改进包括添加了多尺度提取特征等工作,优化PointNet网络架构。

二、PointNet介绍

        2017年之前大部分工作都是将3D点云体素化转为多个视角的2D图像,来进行常规的卷积神经网络,而没有直接使用点云进行提取特征。

        该论文提出只输入点的坐标信息,考虑通过法向量或者角度信息,来添加更多的维度。

(1)点云无序性解决:使用单一的对称函数,本文使用最大池化层,来解决无序性的问题。通过最大池化层方法可以保证所有点云没有先后顺序,聚合成全局点集特征。

对称函数:

        对于无序点云数据x_i \in \mathbb{R}^d,定义一组函数f: X\rightarrow \mathbb{R},将点云映射到向量上,其中γ和h为MLP网络。

                                         f(x_1,x_2,...,x_n)=\gamma(MAX_{i=1,...,n}{h(x_i)})

(2)特征对齐:考虑到网络预测结果对特定的变换(如刚性变换)具有不变性,提出通过T-Net变换矩阵提取特征并与输入feature进行乘法。

T-Net结构:

T-Net与原特征乘法通道连接: 

                                        

(3)稳定性:由于模型可以拟合任何连续函数,而对于微小扰动不会影响函数拟合,通过在输入点云中引入一定噪声点,以及删除一定数据来增强网络的鲁棒性,提高预测效果。 

三、PointNet网络结构

        PointNet网络的主干网络保持不变,对于分类和分割来说有不同的Head,对于分割头有更多不同层的特征进行融入,提高特征多维化。但是这网络特征提取方式过于简单,也造成对于局部的,特定场景的,效果可能有缺陷。

1、损失函数

        对于不同问题的损失,均可以表示为特定问题Head的损失加上特征变换矩阵的损失。

(1)分类问题:分类损失交叉熵

(2)分割问题:将分割问题转换为每个点的分类问题,再用交叉熵

(3)特征变换矩阵损失:理想情况下特征矩阵应该是正交矩阵,而实际的特征矩阵可能有所偏差,根据正交矩阵的性质,一定有AA^T=I,所以我们将特征变换矩阵损失表示为:        ​​​​​​​           

                                                      L_{reg}=||I-AA^T||^2_F

2、正则化

        论文中考虑在第二次使用T-Net时添加正则化,来提高模型鲁棒性。

四、PointNet++

        解决了PointNet不能很好地提取局部特征的问题,并进一步提取不同尺度下的特征。

1、分层次的点集抽象层

        使用多个点集抽象层(SA层,Set Abstraction)来进行逐层特征提取,差别在于每一个SA模块的采样点和采样数量不一样,会逐层增大。

        SA模块包括三个关键层:Sampling Layer、Grouping Layer、PointNet Layer。

(1)采样层:从输入点中使用迭代最远点采样法(FPS)选择一组局部区域质心点。

        输入:N \times (d+C)

        输出:N' \times (d+C')

FPS算法:

        首先,从输入点集中随机选择一个点作为第一个采样点。

        然后,从剩余点集中选择与已选采样点中最远的点作为下一个采样点

        重复第二步,直到采样足够多的点作为中心点。

(2)分组层:通过采样的质心以及邻近来构造局部区域集

        输入:点集(N' \times (d+C)),质心集坐标(N' \times d

        输出:N' \times K \times (d+C)

分组策略:

        Ball查询:搜索查询点半径内前K个点(本文使用方法)。

        KNN:距离质心点最近的K个点。

(3)PointNet层:使用PointNet网络结构将局部区域编码为特征向量。输入为采样分组后的K个点集组,经过PointNet层只输出一个点集组。

        输入:N' \times K \times (d+C)

        输出:N' \times 1 \times (d+C)

五、PointNet++网络结构

        PointNet++网络将PointNet作为一个Cell模块,引入特征传播过程中,对于分割Head部分再次将PointNet作为模块进行多次提取。

1、点特征传播 

         特征传播部分,以往工作为了保证运用全部点,对所有点计算质心,并进行后续的分组操作,或者只做Pooling操作,来逐层降低点的数量,而PointNet++,采用基于距离的插值以及跨级跳跃连接工作(学到了残差连接带来特征融合的优势)。

        考虑对N_l \times (d+C)点特征传播到N_{l-1}处,其中N_{l-1} <N_l,通过N_{l-1}N_l上坐标插值,实现特征传播。其中f为特征值,给定p=2,k=3。

        分割Head处的Unit PointNet(单位点网) ,类似于神经网络中的1*1卷积网络,只改变通道数,通过应用共享的全连接层和ReLU层来更新各个点的特征向量,直到特征向量传播到原始点集。

2、分组方法

        由于点集的不同区域内的密度并不均匀,如果使用同样的分组方法,密集的数据难以推广到稀疏情况。本文针对这一问题,提出密度自适应层,针对不同的尺度的区域特征,采样密度变化。

(1)多尺度分组(MSG)

        应用不同尺度的分组层,根据PointNet来提取每个尺度的特征,再将不同尺度的特征连接形成多尺度特征。该方法在每个质心点的大规模邻域内运行PointNet,时间成本较高,效率慢。

(2)多分辨率分组(MRG)(本文提出)

        在局部区域密度较低时,第一向量不如第二向量可靠,即第一向量子区域更大,包含更稀疏的点,而第二向量加权更高。当局部区域密度较高时,第一向量提供更精准的细节信息。该方法相比于MSG,计算上更加高效,且避免最低级别大规模邻域中进行特征提取。

论文参考1:PointNet
论文参考2:PointNet++ 

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

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

相关文章

优思学院|质量经理如何开展工作?

如果你本来是一个质量工程师&#xff0c;经过了多年的努力&#xff0c;终于成为质量经理&#xff0c;你或者会很困惑&#xff0c;我到底应该如何开展质量管理的工作呢&#xff1f;质量管理对于任何企业来说都是至关重要的&#xff0c;它不仅决定了产品的合格率和市场竞争力&…

STL中的vector以及简单实现

vector的简单介绍&#xff1a; 头文件&#xff1a; #include<vector> vector是属于STL的一员&#xff0c;虽然vector的英文意思是向量&#xff0c;但是vector就是一个顺序表&#xff1b; 对于vector来说&#xff0c;面对string的设计的复杂和冗余&#xff0c;vector就…

【从零开始一步步学习VSOA开发】创建VSOA的server端

创建VSOA的server端 创建工程 参考 hellovsoa 工程&#xff0c;创建 server 工程&#xff0c;工程源码修改如下&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <arpa/inet.h> #…

【数据结构面试有那些常见问题?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

提升实训效果,智慧校园实验室建设计划解析

在智慧校园解决方案中&#xff0c;实训管理系统的实验室建设计划功能深刻展示了基础设置建设的重要性&#xff0c;它不仅聚焦于教育资源的精准投放&#xff0c;更是教学质量与科研创新的重要推手。这一功能的核心价值&#xff0c;在于运用先进的数字化工具&#xff0c;实现从需…

RabbitMQ高级特性 - 消费者消息确认机制

文章目录 RabbitMQ 消息确认机制背景消费者消息确认机制概述手动确认&#xff08;RabbitMQ 原生 SDK&#xff09;手动确认&#xff08;Spring-AMQP 封装 RabbitMQ SDK&#xff09;AcknowledgeMode.NONEAcknowledgeMode.AUTO&#xff08;默认&#xff09;AcknowledgeMode.MANUAL…

JAVA通过debezium实时采集mysql数据

前期准备 需要提前安装mysql并且开启binlog,需要准备kafka和zookeeper环境 示例采用debezium1.9.0版本 Maven配置 <version.debezium>1.9.0.Final</version.debezium> <dependency> <groupId>io.debezium</groupId> <artifactId>debe…

Java获取exe文件详细信息:产品名称,产品版本等

使用Maven项目&#xff0c;在pom.xml文件中注入&#xff1a; <dependency><groupId>com.kichik.pecoff4j</groupId><artifactId>pecoff4j</artifactId><version>0.4.1</version></dependency> 程序代码&#xff1a; import …

Sun Frame:基于 SpringBoot 的轻量级开发框架(个人开源项目)

文章目录 &#x1f31e; Sun Frame&#xff1a;基于 SpringBoot 的轻量级开发框架&#xff08;个人开源项目&#xff09;&#x1f680; 欢迎使用 Sun Frame&#x1f31f; 项目亮点&#x1f4e6; 模块结构&#x1f310; Sun-Cloud&#x1f4e6; Sun-Common &#x1f4a1; 示例与…

微力同步如何安装使用并使用内网穿透配置公网地址远程访问

文章目录 1.前言2. 微力同步网站搭建2.1 微力同步下载和安装2.2 微力同步网页测试2.3 内网穿透工具安装 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 私有云盘作为云存储概念的延伸&#xff0c;虽然谈不上多么新颖&#xff0c;但是其广…

主成分分析和线性判别分析

主成分分析 (PCA) PCA 是一种线性降维方法&#xff0c;通过投影到主成分空间&#xff0c;尽可能保留数据的方差。 原理 PCA 通过寻找数据投影后方差最大的方向&#xff0c;主成分是这些方向上的正交向量。 公式推理 对数据中心化&#xff1a; 其中&#xff0c;μ 是数据的…

“微软蓝屏”事件敲响网络安全的警钟

文章目录 前言一、对网络安全的警醒二、我们如何应对&#xff1f;总结 前言 “微软蓝屏”事件是一次由微软合作伙伴CrowdStrike的终端安全产品更新与操作系统内核冲突导致的全球性技术故障。这一事件不仅影响了多个国家的航空、银行、金融、零售、餐饮等多个行业&#xff0c;还…

吴恩达老师机器学习-ex8

data1 导入库&#xff0c;读取数据并进行可视化 因为这次的数据是mat文件&#xff0c;需要使用scipy库中的loadmat进行读取数据。 通过对数据类型的分析&#xff0c;发现是字典类型&#xff0c;查看该字典的键&#xff0c;可以发现又X等关键字。 import numpy as np import…

十七、Intellij IDEA2022.1.1下载、安装、激活

目录 &#x1f33b;&#x1f33b; 一、下载二、 安装三、激活 一、下载 官网下载地址 本地直接下载 目前Intellij IDEA的最新版本已经更新到了 2024.1.4&#xff0c;由于最新版本可能存在不稳定的问题&#xff0c;此处选择其他版本进行下载&#xff0c;此处以2022.1.1为例进行下…

【Spring】Bean详细解析

1.Spring Bean的生命周期 整体上可以简单分为四步&#xff1a;实例化 —> 属性赋值 —> 初始化 —> 销毁。初始化这一步涉及到的步骤比较多&#xff0c;包含 Aware 接口的依赖注入、BeanPostProcessor 在初始化前后的处理以及 InitializingBean 和 init-method 的初始…

基于STM32的智能家居安防系统教程

目录 引言环境准备智能家居安防系统基础代码实现&#xff1a;实现智能家居安防系统 门窗传感器模块视频监控模块报警与通知模块用户界面与远程控制应用场景&#xff1a;家庭安防与监控常见问题与解决方案收尾与总结 引言 随着智能家居的普及&#xff0c;家庭安防系统成为保护…

艾瑞白皮书解读(一)丨为什么说数据工程是中国企业数据治理的最佳实践?

2024年7月 艾瑞咨询公司对国内数据治理行业进行了研究&#xff0c;访问了国内多位大中型企业数据治理相关负责人&#xff0c;深度剖析中国企业在数字化转型过程中面临到的核心数据问题后&#xff0c;重磅发布《2024中国企业数据治理白皮书》&#xff08;以下简称“白皮书”&…

算法通关:017_1:二叉树及三种顺序的递归遍历

文章目录 题目思路代码运行结果 题目 二叉树及三种顺序的递归遍历 思路 代码 /*** Author: ggdpzhk* CreateTime: 2024-08-04** 二叉树及三种顺序的递归遍历* LeetCode 144. 二叉树的前序遍历* LeetCode 94. 二叉树的中序遍历* LeetCode 145. 二叉树的后序遍历* LeetCode 10…

龙迅LT8713SX 高性能TYPE-C/DP转三端口DP1.4/HDMI 2.0转换器,带音频

龙迅LT8713SX描述&#xff1a; LT8713SX是一个高性能类型-C/DP1.4到Type-C/DP1.4/HDMI2.0转换器&#xff0c;具有三个可配置的DP1.4/HDMI2.0/DP输出接口和音频输出接口。LT8713SX同时支持显示端口™单流传输&#xff08;SST&#xff09;模式和多流传输&#xff08;MST&#xf…

Adobe Acrobat不支持图片格式转换PDF文件

我在将图片格式&#xff08;PNG,JPEG&#xff09;转换为PDF的过程中遇到了如下问题&#xff1a; 单文件的解决办法——在软件外实现转换&#xff1a; 使用照片打开图片 选择打印 打印机选择Adobe PDF&#xff0c;执行打印 选择PDF文件的保存位置&#xff0c;过一会儿可以正…