【论文笔记】LION: Linear Group RNN for 3D Object Detection in Point Clouds
原文链接:https://arxiv.org/abs/2407.18232
简介:Transformer在3D点云感知任务中有二次复杂度,难以进行长距离关系建模。线性RNN则计算复杂度较低,适合进行长距离关系建模。本文提出基于窗口的网络线性组RNN(即对分组的特征使用线性RNN;简称LION),用于3D目标检测,可实现在比Transformer网络更大的分组下进行充分的特征交互。为了解决线性组RNN处理空间建模的缺陷,本文引入3D空间特征描述器,整合到线性组RNN中,增强空间特征,而非增加体素序列的排序数。为进一步处理稀疏体素,本文提出3D体素生成策略,将线性组RNN用于自回归,以密集化前景特征。实验表明,LION在不同的线性组RNN(如Mamba、RWKV、RetNet)下均有效,且LION-Mamba能在多个数据集上达到SotA性能。
与组内体素数量有限的DSVT不同,LION可在数千个体素特征构成的组内进行特征交互,以建立长距离关系。
DSVT
LION
1. 概述

LION的流程如图所示。LION包含3D主干、BEV主干和检测头,其中3D主干基于线性组RNN,包含 N N N个用于长距离特征交互的LION块, N N N个增强稀疏点云特征表达的体素生成操作和 N N N个用于高度下采样的体素融合操作。
3D稀疏窗口分割:将输入点云体素化得到 L L L个非空体素后,按照X或Y坐标排序体素,并将排序的体素分割为大小为 K K K的组。由于线性组RNN的线性复杂度,组的大小 K K K可以比基于Transformer的方法大很多。
2. LION块
LION块包括用于长距离特征交互的LION层、用于捕捉3D空间信息的3D空间特征描述器、用于下采样的体素融合操作和用于上采样的体素扩张操作。此外,LION有提取多尺度特征的层次结构。

LION层:LION层包括两个线性组RNN,前者基于X轴窗口分割,后者基于Y轴窗口分割。两种窗口分割可使特征进行更充分的交互。
3D空间特征描述器:由于体素排序过程会丢失空间信息(如图所示,实际很近的体素在排序后变得很远),一些方法增加排序方式,但其属于手工设计的方法,且复杂度会随着排序方式的增多而增加。本文使用3D空间特征描述器,包括3D子流形卷积、层归一化和GELU激活函数,为LION层提供丰富的3D局部位置感知的信息。此外,将3D空间特征描述器放置于体素融合前,以减小体素融合过程中的空间信息损失。

体素融合和体素扩张:为获取多尺度特征,LION使用层次特征提取结构。本文使用体素融合和体素扩张进行下采样和上采样。体素融合过程中会计算索引映射,而体素扩张会根据逆索引映射上采样体素。
3. 体素生成
为处理高度稀疏点云特征提取的挑战和体素融合中的信息损失,本文利用RNN的自回归能力,提出体素生成策略。
无监督的前景体素区分:首先需要确定体素生成的区域。有工作使用监督方法获取BEV下的前景区域,但本文注意到,主干中特征在通道维度上的响应较高的位置通常为前景。因此本文计算第 i i i个LION块的特征响应 F i ∗ F_i^* Fi∗:
F i ∗ = 1 C ∑ j = 0 C F i j F^*_i=\frac1C\sum_{j=0}^CF_i^j Fi∗=C1j=0∑CFij
随后,选择前 m = r ∗ L m=r*L m=r∗L个体素作为前景( r r r为前景比例):
F m = Top m ( F i ∗ ) F_m=\text{Top}_m(F_i^*) Fm=Topm(Fi∗)
其中, F m F_m Fm为选择的前景特征,会用于后续的体素生成。
自回归属性的体素生成:传统方法使用KNN的方式,基于KNN特征生成体素特征,但这一方法是次优的,因其存在冗余特征和有限的感受野。本文利用线性RNN的自回归能力,通过与组内其它体素特征交互,生成新的体素特征。具体来说,本文定义前景特征 F m F_m Fm相应的位置为 P m P_m Pm。首先以4个不同的偏移量( [ − 1 , − 1 , 0 ] , [ 1 , 1 , 0 ] , [ − 1 , 1 , 0 ] , [ 1 , − 1 , 0 ] [-1,-1,0],[1,1,0],[-1,1,0],[1,-1,0] [−1,−1,0],[1,1,0],[−1,1,0],[1,−1,0])扩散体素,然后初始化扩散的体素为0。将第 i i i个LION块的输出特征 F i F_i Fi与上述初始化特征一起输入到第 i + 1 i+1 i+1个LION块,从而生成扩散的体素。

上述过程可表示如下:
F p = F i ⊕ F [ − 1 , − 1 , 0 ] ⊕ F [ 1 , 1 , 0 ] ⊕ F [ 1 , − 1 , 0 ] ⊕ F [ − 1 , 1 , 0 ] F p ′ = Block ( F p ) F_p=F_i\oplus F_{[-1,-1,0]}\oplus F_{[1,1,0]}\oplus F_{[1,-1,0]}\oplus F_{[-1,1,0]}\\ F'_p=\text{Block}(F_p) Fp=Fi⊕F[−1,−1,0]⊕F[1,1,0]⊕F[1,−1,0]⊕F[−1,1,0]Fp′=Block(Fp)
相关文章:
【论文笔记】LION: Linear Group RNN for 3D Object Detection in Point Clouds
原文链接:https://arxiv.org/abs/2407.18232 简介:Transformer在3D点云感知任务中有二次复杂度,难以进行长距离关系建模。线性RNN则计算复杂度较低,适合进行长距离关系建模。本文提出基于窗口的网络线性组RNN(即对分组…...
打造高可用集群的基石:深度解析Keepalived实践与优化
高可用集群 集群类型 集群类型主要分为负载均衡集群(LB)、高可用集群(HA)和高性能计算集群(HPC)三大类。每种集群类型都有其特定的应用场景和优势。 1. 负载均衡集群(LB) 负载均衡集…...
Web大学生网页作业成品——环保主题介绍网页网站设计与实现(HTML+CSS)(5个页面)
🎉🎉🎉 常见网页设计作业题材有**汽车、环保、明星、文化、国家、抗疫、景点、人物、体育、植物、公益、图书、节日、游戏、商城、旅游、家乡、学校、电影、动漫、非遗、动物、个人、企业、美食、婚纱、其他**等网页设计题目, 可满足大学生网…...
Qt登录窗口设计
widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> //图标类 #include <QPushButton> #include <QLineEdit> //行编辑 #include <QLabel> #include <QTextEdit> #include <QMovie>class Widge…...
探索数据矿藏:我的AI大模型与数据挖掘实战经验分享
🚀 探索数据矿藏:我的AI大模型与数据挖掘实战经验分享 💖 前言:数据的金矿,AI的翅膀 在人工智能的浪潮中,我有幸作为项目负责人,带领团队深入挖掘数据的潜力,利用AI大模型的力量&am…...
linux C语言strcat函数及相关函数
讯飞星火 strcat函数是C语言中的一个字符串处理函数,用于将一个字符串追加到另一个字符串的末尾。它的原型如下: char *strcat(char *dest, const char *src);参数说明: dest:目标字符串,即要将src字符串追加到这个字符串的末尾。src:源字符串,即要追加到dest字符串末…...
使用 sort 进行文本文件处理
sort 使用经验笔记 一、简介 sort 是一个命令行工具,用于对文本文件中的行进行排序。它广泛应用于 Unix/Linux 系统中,可以用来对文件的内容进行简单的排序操作,也可以与其他命令结合使用来完成更复杂的任务。 二、基本用法 排序文件: sor…...
HarmonyOS笔记4:从云数据库获取数据
移动应用获取数据的方式主要有: 1.从网络中获取数据接口API。 2.从华为云数据库获取云数据库的资源。 3.从移动终端直接获取本地的数据 在HarmonyOS笔记3中已经完成了方式一从网络中获取数据接口API的方式。在本篇笔记中,将讨论从云数据库中获取数据。 因…...
QT5生成独立运行的exe文件
目录 1 生成独立运行的exe文件1.1 设置工程Release版本可执行文件存储路径1.2 将工程编译成Release版本 2 使用QT5自带的windeployqt拷贝软件运行依赖项3 将程序打包成一个独立的可执行软件exe4 解决QT5 This application failed to start because no Qt platform plugin could…...
LabVIEW光纤水听器闭环系统
开发了一种利用LabVIEW软件开发的干涉型光纤水听器闭环工作点控制系统。该系统通过调节光源频率和非平衡干涉仪的光程差,实现了工作点的精确控制,从而提高系统的稳定性和检测精度,避免了使用压电陶瓷,使操作更加简便。 项目背景 …...
Shell——流程控制语句(if、case、for、while等)
在 Shell 编程中,流程控制语句用于控制脚本的执行顺序和逻辑。这些语句包括 if、case、for、while 等,它们的使用可以使脚本实现更复杂的逻辑。以下是它们的详细说明和语法结构: 1. if 语句 if 语句用于条件判断,执行符合条件的…...
【redis的大key问题】
在使用 Redis 的过程中,如果未能及时发现并处理 Big keys(下文称为“大Key”),可能会导致服务性能下降、用户体验变差,甚至引发大面积故障。 本文将介绍大Key产生的原因、其可能引发的问题及如何快速找出大Key并将其优…...
HighPoint SSD7749M2:128TB NVMe 存储卡实现28 GB/s高速传输
HighPoint Technologies推出了一款全新的SSD7749M2 RAID卡,能够在标准的桌面工作站中安装多达16个M.2 SSD,实现高达128TB的闪存存储。该卡通过PCIe Gen4 x16接口提供高达28 GB/s的顺序读写性能。这些令人瞩目的性能规格伴随着高昂的价格标签。 #### 技术…...
ARM 裸机与 Linux 驱动对比及 Linux 内核入门
目录 ARM裸机代码和驱动的区别 Linux系统组成 内核五大功能 设备驱动分类 内核类型 驱动模块 驱动模块示例 Makefile配置 命令 编码辅助工具 内核中的打印函数 printk 函数 修改打印级别 编辑 打印级别含义 驱动多文件编译 示例 模块传递参数 命令行传递参数…...
0101DNS TCP fallback on UDP query timeout disabled-redission-中间件
文章目录 1.问题描述2.临时解决方案 结语 1.问题描述 Springcloud 项目,微服务模块使用redission,启动报错 DNS TCP fallback on UDP query timeout disabled. Upgrade Netty to 4.1.105 or higher.相关软件版本如下 软件版本描述springboot2.7.18spr…...
位运算
x1010 原码:000...1010 (一共32位) 反码:111...0101 (~x) 补码:111...0110 (反码1)(-x) 1、n 的二进制表示中第 k 位是几 #include<iost…...
MemFire Cloud是否真的可以取代后端
近年来,随着前端技术的迅速发展,前端工程师们越来越多地开始思考一个问题:“我还能不能不依赖后端?” 这种想法并非空穴来风,尤其是随着像MemFire Cloud这样的工具出现,它不仅能让开发者在没有后端的情况下…...
数据结构(邓俊辉)学习笔记】优先级队列 06——完全二叉堆:批量建堆
文章目录 1. 自上而下的上滤:算法2. 自上而下的上滤:效率3. 自下而上的下滤:算法4. 自下而上的下滤:实例5. 自下而上的下滤:效率 1. 自上而下的上滤:算法 在介绍过完全二叉堆标准的静态和动态操作接口之后…...
Java | Leetcode Java题解之第344题反转字符串
题目: 题解: class Solution {public void reverseString(char[] s) {int n s.length;for (int left 0, right n - 1; left < right; left, --right) {char tmp s[left];s[left] s[right];s[right] tmp;}} }...
定制开发AI智能名片O2O商城小程序:基于限量策略与个性化追求的营销创新
摘要:随着科技的飞速发展和消费者需求的日益多元化,传统商业模式正经历着前所未有的变革。在数字化转型的大潮中,定制开发AI智能名片O2O商城小程序作为一种新兴的商业模式,凭借其独特的个性化定制能力、高效的线上线下融合(O2O&am…...
我花了 3 小时吃透:Spring AI 核心三剑客 ChatModel、Prompt、ChatResponse 到底怎么用?
你在学习 Spring AI 的时候,肯定遇到过这三个类:ChatModel、Prompt、ChatResponse看着眼熟,却总搞不清谁负责干嘛、代码里为啥要这么写?接下来就是我的理解。一、先搞懂:这三个东西是什么关系?在开始写代码…...
交易数据一致性保障:大数据环境下的挑战
交易数据一致性保障:大数据环境下的挑战 1. 引入与连接:数字世界的"货币守卫" 想象一下:当你在电商平台下单支付后,银行显示扣款成功,但商家却显示支付失败;或者在股票交易中,你看到的股价与实际成交价格存在差异。这些看似微小的数据不一致,可能导致企业声…...
Fortran开发环境配置2024实践指南
Fortran开发环境配置2024实践指南 【免费下载链接】vscode-fortran-support Fortran language support for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-fortran-support 在科学计算与工程领域,Fortran语言依然保持着不可替代的…...
Vlc.DotNet:在.NET应用中构建专业级媒体播放能力
Vlc.DotNet:在.NET应用中构建专业级媒体播放能力 【免费下载链接】Vlc.DotNet .NET control that hosts the audio/video capabilities of the VLC libraries 项目地址: https://gitcode.com/gh_mirrors/vl/Vlc.DotNet 价值定位:解决.NET媒体播放…...
4步实现Obsidian插件全中文显示:从技术原理到实践指南
4步实现Obsidian插件全中文显示:从技术原理到实践指南 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n Obsidian作为一款强大的知识管理工具,其生态系统依赖于丰富的第三方插件扩展功能。然而&#…...
Linux驱动——uart子系统驱动注册分析
韦东山驱动大全uart子系统笔记自整理——08_UART驱动情景分析_注册由于韦东山老师uart子系统的08注册情景分析的笔记很简略,所以在学完这节课后自己整理了一份详细笔记,包含TTY驱动框架,数据结构分析,以及注册过程分析,…...
还在手工整理IT报表?这套自动化模板让你彻底解放双手
在不断变化的IT管理环境中,透明度和合规性已成为企业生存和发展的基石。面对日益繁杂的法规与标准,组织需要精细的报表与审计流程来支撑业务稳健运行。作为一款专为现代IT打造的尖端平台,Endpoint Central不仅大幅减轻了合规负担,…...
Qwen1.5-0.5B-Chat电商应用:商品咨询机器人搭建教程
Qwen1.5-0.5B-Chat电商应用:商品咨询机器人搭建教程 1. 引言:为什么需要一个轻量级商品咨询机器人? 想象一下,你经营着一家网店,每天有成百上千的顾客涌入。他们的问题五花八门:“这件衣服有L码吗&#x…...
FPGA状态机实战:用Verilog实现自动售卖机(附三段式完整代码)
FPGA状态机实战:用Verilog实现自动售卖机(附三段式完整代码) 在数字电路设计中,状态机是最核心的设计思想之一。它能够将复杂的控制逻辑分解为有限的状态和状态之间的转换,使得设计更加清晰、可维护。自动售卖机作为一…...
学习如何聚合零样本大型语言模型代理以进行企业披露分类
摘要本文研究一个轻量级训练聚合器是否能够将多样化的零样本大语言模型判断整合为更强的下游信号,用于公司披露分类。零样本大语言模型无需针对特定任务进行微调即可阅读披露文本,但其预测结果常因提示词、推理方式和模型家族的不同而存在差异。我采用一…...


