【论文笔记】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=0CFij

随后,选择前 m = r ∗ L m=r*L m=rL个体素作为前景( 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=FiF[1,1,0]F[1,1,0]F[1,1,0]F[1,1,0]Fp=Block(Fp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值