PointNet++改进策略 :模块改进 | PAConv,位置自适应卷积提升精度

news2024/9/24 21:28:59
  • 题目:PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds
  • 来源:CVPR2021
  • 机构:香港大学
  • 论文:https://arxiv.org/abs/2103.14635
  • 代码:https://github.com/CVMI-Lab/PAConv

前言

PAConv,全称为位置自适应卷积(Position Adaptive Convolution),是一种用于处理3D点云数据的通用卷积操作。不同于传统的2D卷积,PAConv通过根据点在三维空间中的位置动态组合卷积核。它的实现依赖于一个称为权重库(Weight Bank)的结构,该结构存储了基本的权重矩阵。这些矩阵通过一个称为ScoreNet的网络动态组合,ScoreNet根据点的位置关系学习如何自适应地组装这些卷积核。

PAConv的关键特点包括:

  1. 动态卷积核组装:卷积核不是固定的,而是通过根据学习到的与位置相关的系数动态组合权重矩阵生成的。
  2. 灵活性:相比于传统的2D卷积,PAConv更加灵活,特别适用于处理3D点云的不规则和无序特性。
  3. 降低复杂度:PAConv通过组合预定义的矩阵来生成卷积核,而不是直接从点的位置预测卷积核,这降低了计算复杂度。
  4. 与MLP网络集成:PAConv可以无缝集成到经典的点云处理框架(如PointNet或DGCNN)中,而无需改变其网络架构,同时还能显著提高在3D物体分类和分割任务中的表现。

Pasted image 20240904205406

方法实现

PAConv(位置自适应卷积)的实现基于以下几个核心部分:动态卷积核组装权重库(Weight Bank)ScoreNet。其主要实现步骤如下:

PAConv 的实现通过 ScoreNet 根据点之间的位置信息动态组合权重库中的权重矩阵,生成适应点云不规则性的卷积核。这一过程不仅有效处理了 3D 点云的复杂空间结构,同时通过减少直接预测卷积核的计算负担,实现了较高的效率和性能提升。
Pasted image 20240904212139

1. 权重库(Weight Bank)

PAConv 的第一个核心部分是权重库,它存储了多个基础的权重矩阵,记作 B = { B 1 , B 2 , … , B M } B = \{ B_1, B_2, \dots, B_M \} B={B1,B2,,BM},其中每个矩阵 B m B_m Bm 的维度为 C i n × C o u t C_{in} \times C_{out} Cin×Cout。这些矩阵不会直接用于卷积,而是通过后续的动态组合过程生成卷积核。

2. ScoreNet

ScoreNet 是一个多层感知器 (MLP),用于学习点之间的位置信息,生成用于组合权重矩阵的系数。

ScoreNet 的输入是中心点 p i p_i pi 和邻居点 p j p_j pj 的位置信息 ( p i , p j ) (p_i, p_j) (pi,pj),输出是一个归一化后的得分向量 S i j S_{ij} Sij,用于控制不同权重矩阵的组合。ScoreNet 的输出计算如下:
S i j = α ( θ ( p i , p j ) ) S_{ij} = \alpha(\theta(p_i, p_j)) Sij=α(θ(pi,pj))
其中:

  • θ ( p i , p j ) \theta(p_i, p_j) θ(pi,pj) 是通过 MLP 计算的非线性函数,提取点 p i p_i pi p j p_j pj 之间的位置信息。
  • α \alpha α 是 Softmax 归一化函数,确保得分在 ( 0 , 1 ) (0, 1) (0,1) 之间。

输出的得分向量 S i j = { S i j 1 , S i j 2 , … , S i j M } S_{ij} = \{ S_{ij}^1, S_{ij}^2, \dots, S_{ij}^M \} Sij={Sij1,Sij2,,SijM},每个 S i j m S_{ij}^m Sijm 对应权重矩阵 B m B_m Bm 的组合系数。

3. 动态卷积核的生成

使用 ScoreNet 输出的得分向量 S i j S_{ij} Sij,动态组合权重库中的权重矩阵,生成最终的卷积核 K ( p i , p j ) K(p_i, p_j) K(pi,pj)
K ( p i , p j ) = ∑ m = 1 M S i j m B m K(p_i, p_j) = \sum_{m=1}^{M} S_{ij}^m B^m K(pi,pj)=m=1MSijmBm
其中:

  • K ( p i , p j ) K(p_i, p_j) K(pi,pj) 是点 p i p_i pi p j p_j pj 之间的卷积核。
  • S i j m S_{ij}^m Sijm 是 ScoreNet 生成的组合系数,代表权重矩阵 B m B_m Bm 在生成卷积核时的权重。
  • B m B^m Bm 是权重库中的第 m m m 个权重矩阵。

4. 卷积操作

生成的卷积核 K ( p i , p j ) K(p_i, p_j) K(pi,pj) 用于与输入特征 F F F 进行卷积操作。对于给定点云的输入特征 F = { f 1 , f 2 , … , f N } F = \{ f_1, f_2, \dots, f_N \} F={f1,f2,,fN},输出特征 G = { g 1 , g 2 , … , g N } G = \{ g_1, g_2, \dots, g_N \} G={g1,g2,,gN} 通过以下公式计算:
g i = Λ ( { K ( p i , p j ) f j ∣ p j ∈ N i } ) g_i = \Lambda\left(\left\{ K(p_i, p_j) f_j \mid p_j \in N_i \right\}\right) gi=Λ({K(pi,pj)fjpjNi})
其中:

  • N i N_i Ni 是中心点 p i p_i pi 的邻居点集。
  • Λ \Lambda Λ 是用于聚合邻居点信息的操作(如 MAX、SUM 或 AVG)。
  • f j f_j fj 是邻居点 p j p_j pj 的输入特征。
  • g i g_i gi 是点 p i p_i pi 的输出特征。

5. 权重正则化

为了避免权重矩阵过于相似,PAConv 引入了权重正则化,确保权重库中的矩阵保持多样性。正则化的损失函数 L c o r r L_{corr} Lcorr 通过减少权重矩阵之间的相关性来实现:
L c o r r = ∑ B i , B j ∈ B , i ≠ j ∣ B i ⋅ B j ∣ ∣ ∣ B i ∣ ∣ 2 ∣ ∣ B j ∣ ∣ 2 L_{corr} = \sum_{B_i, B_j \in B, i \neq j} \frac{| B_i \cdot B_j |}{||B_i||_2 ||B_j||_2} Lcorr=Bi,BjB,i=j∣∣Bi2∣∣Bj2BiBj
其中:

  • B i B_i Bi B j B_j Bj 是权重库中的两个不同权重矩阵。
  • ∣ ∣ B i ∣ ∣ 2 ||B_i||_2 ∣∣Bi2 ∣ ∣ B j ∣ ∣ 2 ||B_j||_2 ∣∣Bj2 是权重矩阵的 L 2 L_2 L2 范数。
  • L c o r r L_{corr} Lcorr 用于最小化不同权重矩阵之间的相似性,确保生成的卷积核具有足够的多样性。

如何使用方法改进PointNet++网络

改进位置

  • 动态卷积核替换 MLP 层:利用 PAConv 替代 MLP 层,使得 PointNet++ 更好地捕捉点云的空间关系和几何结构。

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

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

相关文章

从八股文到奇怪的缓存一致性问题

本文是最近看阿里云开发者的一遍奇怪的缓存一致性问题的总结与心得,原文放在文章末尾 缓存穿透、缓存击穿、缓存雪崩 缓存穿透、缓存击穿和缓存雪崩都是系统中可能遇到的问题,特别在高并发场景下。 缓存穿透 与后两者不同,缓存穿透是查询不…

10.10 层次化网络模型和综合布线系统

层次化网络模型 综合布线系统 真题

前端登录鉴权——以若依Ruoyi前后端分离项目为例解读

权限模型 Ruoyi框架学习——权限管理_若依框架权限-CSDN博客 用户-角色-菜单(User-Role-Menu)模型是一种常用于权限管理的设计模式,用于实现系统中的用户权限控制。该模型主要包含以下几个要素: 用户(User)…

基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic

摘 要 近些年来互联网迅速发展人们生活水平也稳步提升,人们也越来越热衷于旅游来提高生活品质。互联网的应用与发展也使得人们获取旅游信息的方法也更加丰富,以前的景点推荐系统现在已经不足以满足用户的要求了,也不能满足不同用户自身的个…

Leetcode—72. 编辑距离【中等】

2024每日刷题&#xff08;158&#xff09; Leetcode—72. 编辑距离 动态规划算法思想 实现代码 class Solution { public:int minDistance(string word1, string word2) {const int m word1.length();const int n word2.length();vector<vector<int>> dp(n 1,…

Multi-Mode DOA Estimation AND Relax Super Resolution DOA

之前看到加特兰的新品发布会上&#xff0c;PPT写的一些算法信号处理流程图&#xff0c;这里记录学习一下自己的思考&#xff1a; 原始数据采样数据预处理距离维FFT通道间DDMA数据分离非相干累计RV-MAP coarse-cfar fine CFAR(multi-Mode DOA Estimation): 舱内的CPD信号处理流…

分支线定向耦合器宽带化设计和ADS仿真

分支线定向耦合器宽带化设计和ADS仿真 工程下载链接&#xff1a;分支线定向耦合器宽带化设计和ADS仿真-ADS工程文件 之前经常分析分支线定向耦合器&#xff0c;例如在15、ADS使用记录之耦合器设计和基于AWR的微带线分支线耦合器设计-从原理到版图中都有涉及&#xff0c;但是由…

Axure中继器动态数据图表制作

在Axure RP中&#xff0c;中继器&#xff08;Repeater&#xff09;是一个非常强大的工具&#xff0c;它允许设计者动态地展示和交互数据&#xff0c;进而创建各种复杂的数据可视化图表&#xff0c;如柱状图、条形图、堆叠图、散点图和对比图。以下将详细介绍如何使用中继器来设…

solidworks模型导出urdf(超详细)

目录 写在前面的话1 solidworks 文件2 安装sw2urdf插件3 完整步骤3.1 设置基准轴3.2 设置点3.3 设置坐标轴3.4 设置sw2urdf参数3.5 导出可能的问题3.6 ros2 编译3.7 成功结果画面 写在前面的话 刚进组1个月&#xff0c;我的博士研究方向是自动驾驶&#xff0c;还没入门&#x…

火山引擎携手Keep,让线上健身更快更稳

今年年初&#xff0c;一部《热辣滚烫》又掀起了健身塑型风潮。作为健身领域的佼佼者&#xff0c;Keep 为用户提供全面的健身方案&#xff0c;以帮助用户实现健身目标。随着短视频运动的流行&#xff0c;Keep 覆盖的运动品类超过60类&#xff0c;同时不断尝试直播等新的内容承载…

Oceanbase 透明加密TDE

官方文档&#xff1a;数据库透明加密概述-V4.3.2-OceanBase 数据库文档-分布式数据库使用文档 OceanBase 数据库社区版暂不支持数据透明加密。 数据存储加密是指对数据和 Clog 等保存在磁盘中的数据进行无感知的加密&#xff0c;即透明加密&#xff08;简称 TDE&#xff09;。…

【时时三省】(C语言基础)指针进阶 例题

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 字符数组例题&#xff1a; arr后面放了六个字符 所以这个数组的元素个数就是6 第一个arr 因为他计算的是一整个数组的大小 就是打印6 第二个arr0 arr没有单独放在它的内部 所以它计算的就是…

flunet瞬态处理时均问题

fluent处理时均问题 最近遇到个同学&#xff0c;处理心脏跳动的时均问题&#xff0c;由于仅想取部分稳定时间段的时均数据&#xff0c;fluent的自动采样仅能对全部时间做处理&#xff0c;就存在问题了&#xff0c;网上看到两篇很详细的文章&#xff0c;记录下。 具体网址&…

Docker Elasticsearch安装ik分词插件教程

本章教程在通过Docker 安装Elasticsearch,并安装ik分词插件。本文的重点是安装ik分词插件。 一、安装Elasticsearch 安装教程以前写过,参考:https://blog.csdn.net/qq_19309473/article/details/140725121 安装之后,通过http://ip:9200,可以访问,就表示安装成功。 二、安装…

[python]socket之网络编程基础知识

1.三要素介绍: ip地址:设备在网络内的标识,分为ipv4和ipv6 端口号:软件(程序)在设备上的唯一标识.0-65535,其中0-1024为知名端口号,程序开发中最好不要使用 协议:数据发送的规则,有TCP和UDP 等 ip地址详解: 简单来说主要分为 IpV4, IpV6 IpV4: 采用4个字节, 十进制的形式来…

DSP基本名词术语及其关系

前言 信号处理是现代科技和工程领域中一个重要的分支&#xff0c;涉及对各种信号进行采集、传输、处理和分析的一系列方法和技术。其核心概念包括信号、系统、线性系统、时域与频域、稳定性和稳定性等。信号处理技术主要用于对模数转换后和数模转换前的数字信号进行处理&#x…

递归算法专题——真正理解递归和正确使用递归力扣实战应用

目录 1、使用递归 1.1 如何理解递归 1.2 如何写好一个递归算法 2、 算法应用【leetcode】 2.1 题一&#xff1a;汉诺塔问题【面试题】 2.1.1 算法原理 2.1.2 算法代码 2.2 题二&#xff1a;合并两个有序链表 2.2.1 算法原理 2.2.2 算法代码 2.3 题三&#xff1a;反转…

XC企业建站系统V1.2.5

多模板主题的企业官网建站系统。提供全部无加密源码&#xff0c;支持私有化部署。 V1.2.5添加小功能 站点配置&#xff0c;增加【留言板显示开关】 站点主题 - 扩展配置&#xff0c;增加对首页【产品中心】【新闻资讯】板块的显示开关和标题自定义功能&#xff08;注&#xff…

day-49 使数组中所有元素相等的最小操作数

思路 第一个数和最后一个数要变为一致&#xff0c;需要操作n-1次&#xff0c;然后第二个数和倒数第二个数要操作n-3次 解题过程 以此类推即可得出答案 Code class Solution {public int minOperations(int n) {int ans0;int t(n-1);while(t>0){anst;t-2;}return ans;} }作…

一、selenium自动化简介selenium工具集

文章目录 一、简介二、组成部分三、selenium工具集3.1 Selenium IDE3.2 Selenium WebDriver3.3 Selenium Grid3.4 Appium 一、简介 官方网站 Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。 它提供了扩展来模拟用户与浏览器的交互&#xff0c;用于扩展浏览器分…