稀疏卷积Sparse Convolution

news2025/2/24 17:53:18

1. 为什么提出稀疏卷积?它有什么好处?

卷积神经网络已经被证明对于二维图像信号处理是非常有效的。然而,对于三维点云信号,额外的维度显著增加了计算量。

另一方面,与普通图像每个像素都有值不同的是,一般情况下三维点云中多数空间都是空的,这使得三维体素中的点云数据通常是稀疏信号。

稀疏的2D image。其中深灰色像素全为零,浅灰色像素代表非零数据点

稀疏的3D grid

我们是否能只计算有效数据的卷积,而不是扫描所有的图像像素或空间体素?否则这些空白区域带来的计算量太多余了。这就是 sparse convolution 提出的motivation。

2. 稀疏卷积的原理

为了逐步解释稀疏卷积的概念,使其更易于理解,本文以二维稀疏图像处理为例。由于稀疏信号采用数据列表和索引列表表示,二维和三维稀疏信号没有本质区别。

2.1. 输入定义

使用以下稀疏图像作为输入

如图所示,我们有一个5×5的3通道图像。除了P1和P2两点外,所有像素都是空,我们称像P1和P2这样的非空点为active input site。

在稀疏格式中,数据列表是[[0.1,0.1,0.1], [0.2,0.2,0.2] ,索引列表是[1,2] ,[2,3] ,并且是YX顺序。

2.2. kernel定义

在卷积过程中卷积核如下定义,每个卷积核是一个3x3矩阵。深色和浅色代表两种滤镜。

2.3. 输出的定义

有两种稀疏卷积。

一种是 regular output definition,就像普通的卷积一样,只要kernel 覆盖一个 active input site,就可以计算出output site。

另一个称为submanifold output definition。只有当kernel的中心覆盖一个 active input site时,卷积输出才会被计算。

上图说明了这两种输出之间的区别。

A1代表 active site,即 P1产生的卷积结果。

类似地,A2代表从 P2计算出的 active site。A1A2代表 active site,它是 P1和 P2输出的总和。

深色和浅色代表不同的输出通道。

参考文献

通俗易懂的解释Sparse Convolution过程 - 知乎

点云深度学习-PointPillar_哔哩哔哩_bilibili 

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

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

相关文章

从0开始python学习-53.python中flask创建简单接口

目录 1. 创建一个简单的请求,没有写方法时默认为get 2. 创建一个get请求 3. 创建一个post请求,默认可以使用params和表单传参 4. 带有参数的post请求 1. 创建一个简单的请求,没有写方法时默认为get from flask import Flask, request# 初始化一个flask的对象 ap…

细菌,支原体,真菌--细胞培养的最大威胁及解决方法

在科研实验中,微生物污染是细胞培养过程中面临的一项长期的严重威胁。侵入的支原体、细菌、酵母菌和真菌可以直接杀死您宝贵的细胞或者彻底改变培养细胞的特性,导致不准确的实验结果,既耗费时间又浪费资源。InvivoGen/欣博盛生物可以提供多种…

QT Mingw编译ffmpeg源码以及测试

文章目录 前言下载msys2ysamFFmpeg 搭建编译环境安装msys2安装QT Mingw编译器到msys环境中安装ysam测试 编译FFmpeg 前言 FFmpeg不像VLC有支持QT的库文件,它仅提供源码,需要使用者自行编译成对应的库,当使用QTFFmpeg实现播放视频以及视频流时…

Linux系统安装

Linux系统安装 安装包链接 链接:https://pan.baidu.com/s/1FdP7TH90UvKUQuiL2yeGCA 提取码:c49n安装包内容 虚拟机执行文件 详细安装教程 虚拟机密钥 Ubuntu 安装步骤 先点击虚拟机的.EXE文件安装,打开安装教程,有详细的说明。

【Acwing】154滑动窗口

#include<bits/stdc.h> using namespace std;int n,k; int nums[1000010] {0};int main() {ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);cin>>n>>k;// 下面求最小值int cnt 0;int res[1000010] {0};deque<int> q; // 双端队列 for(int i0;i&l…

Zoho Bigin斩获PCMag推崇:小企业首选CRM软件

当我们谈论企业怎样选择CRM管理系统时&#xff0c;大型企业、中型企业以及小型或初创等不同规模的企业需求各不相同&#xff0c;很难用一套软件来适配所有公司。以小企业为例&#xff0c;大多面临预算紧张、没有专业的IT部门或支持团队、暂时用不到高级定制功能等现状。基于这个…

R语言提高效率的技巧(2)

1、R project&#xff1a;加载数据和脚本不需要设置文件夹&#xff1b;打包project文件夹后发给别人&#xff0c;在另外一个环境中&#xff0c;点击.Rproj文件即可运行。 2、下载原始R包&#xff0c;进行补充和修改。 https://cran.r-project.org/web/packages/available_pack…

智能分析网关V4电瓶车检测与烟火算法,全面提升小区消防安全水平

2024年2月23日&#xff0c;南京市某小区因电瓶车停放处起火引发火灾事故&#xff0c;造成巨大人员伤亡和损失。根据国家消防救援局的统计&#xff0c;2023年全国共接报电动自行车火灾2.1万起。电瓶车火灾事故频发&#xff0c;这不得不引起我们的重视和思考&#xff0c;尤其是在…

RK3568 android11 调试陀螺仪模块 MPU6500

一&#xff0c;MPU6500功能介绍 1.简介 MPU6500是一款由TDK生产的运动/惯性传感器&#xff0c;属于惯性测量设备&#xff08;IMU&#xff09;的一种。MPU6500集成了3轴加速度计、3轴陀螺仪和一个板载数字运动处理器&#xff08;DMP&#xff09;&#xff0c;能够提供6轴的运动…

Socket网络编程(三)——TCP快速入门

目录 概述TCP连接可靠性1. 三次握手过程2. 四次挥手过程3. 为什么挥手需要四次&#xff1f; 传输可靠性TCP核心APITCP传输初始化配置&建立连接客户端创建Socket建立连接服务端创建ServerSocket监听连接ServerSocket 和 Socket的关系 Socket基本数据类型传输客户端数据传输服…

【MySQL】内置函数 -- 详解

一、日期函数 日期&#xff1a;年月日时间&#xff1a;时分秒 1、获得年月日 2、获得时分秒 3、获得时间戳 4、在日期的基础上加日期 5、在日期的基础上减去时间 6、计算两个日期之间相差多少天 7、获得当前时间 ⚪练习 &#xff08;1&#xff09;记录生日 &#xff08;2&…

反转局部链表+牛客

题目链接 链表内指定区间反转_牛客题霸_牛客网 题目描述 代码实现 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param head ListNode类 * param m int整型 * param n int整型 * retur…

微服务篇之分布式事务

一、Seata架构 Seata事务管理中有三个重要的角色&#xff1a; TC (Transaction Coordinator) - 事务协调者&#xff1a;维护全局和分支事务的状态&#xff0c;协调全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器&#xff1a;定义全局事务的范围、开始全局事务、…

ConvTranspose1d详解

文章目录 ConvTranspose1d简介二、Parameters三、Shape1、Input(batch_size, in_channels, input_length)2、kernel_size(in_channels, out_channels, kernel_size)3、Output(batch_size, out_channels, output_length) 四、Variables ConvTranspose1d简介 class torch.nn.Con…

c++ for 循环语句

循环语句 在C中&#xff0c;有几种循环语句可用于重复执行一段代码&#xff0c;直到满足指定条件为止&#xff0c;主要有 for 循环、while 循环、do-while 循环三种循环语句。三者区别&#xff1a; 循环类型特点for 循环1. 适用于已知循环次数的情况&#xff0c;循环次数事先…

threejs 大场景下,对小模型进行贴图处理

接上篇小模型的删除☞threeJS 大模型中对小模型进行删除-CSDN博客 针对已有模型&#xff0c;根据数据状态进行贴图处理&#xff0c;例如&#xff1a;机房内电脑告警状态、电脑开关机状态下的不同状态贴图等 示例模型还是以丛林小屋为例&#xff1a;针对该模型中的树干进行贴图…

不是苹果放弃电动车,是电动车不需要苹果

苹果弃车 2月28号凌晨&#xff0c;著名外媒爆料&#xff1a;苹果公司放弃投入十多年的造车项目&#xff0c;将其中的大量资源转投至 AI 部门。 如此炸裂的事情&#xff0c;自然少不了世界级网红&#xff0c;特斯拉 CEO 埃隆马斯克的点评&#xff1a; 敬礼香烟&#xff1f; 有点…

搭建LNMP环境并配置个人博客系统

LNMP是Linux&#xff08;操作系统&#xff09;、Nginx&#xff08;Web服务器&#xff09;、MySQL&#xff08;数据库&#xff09;和PHP&#xff08;脚本解释器&#xff09;的组合&#xff0c;常用于部署高性能的动态网站&#xff0c;如WordPress等博客平台 一、安装Linux操作系…

python dictionary 字典

Python 字典 字典是另一种可变容器模型&#xff0c;且可存储任意类型对象。 字典的每个键值 key>value 对用冒号 : 分割&#xff0c;每个对之间用逗号(,)分割&#xff0c;整个字典包括在花括号 {} 中 ,格式如下 d {key1 : value1, key2 : value2, key3 : value3 }dict 作…

NVIDIA DGX H100概述

NVIDIA DGX H100系统是一种专为AI基础架构和工作负载而设计的专用多功能解决方案&#xff0c;涵盖了从分析和训练到推理的各种应用场景。它包括NVIDIA Base Command™和NVIDIA AI企业软件套件&#xff0c;以及来自NVIDIA DGXperts的专业建议。 DGX H100硬件和组件特性 硬件概…