点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
今天自动驾驶之心为大家分享华科白翔团队&香港大学&百度最新的工作—LION!一种基于Linear RNN的全新3D检测框架,刷爆Waymo & nuScenes & Argoverse V2 & ONCE等榜单!如果您有相关工作需要分享,请在文末联系我们!
自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询
论文作者 | Zhe Liu等
编辑 | 自动驾驶之心
华中科技大学白翔团队,联合香港大学以及百度,提出了一种基于Linear RNN的全新3D检测框架LION,其性能在Waymo&nuScenes&Argoverse V2&ONCE大场景自动驾驶数据集上表现SOTA,且支持当前最主流的Linear RNN算子(RetNet, RWKV, Mamba, xLSTM, TTT)。
写在前面
![fee342d522bbc541283c28b88a3b48fb.png](https://img-blog.csdnimg.cn/img_convert/fee342d522bbc541283c28b88a3b48fb.png)
Transformer在建立长距离关系模型时,其计算成本为输入特征序列长度呈现二次方的关系, 因此,在大规模3D点云感知任务(如3D物体检测)中的优势往往受到限制。相比之下,Linear RNN 的计算复杂度较低,适用于远距离建模。为了实现这一目标,我们提出了一个基于Linear Group RNN(即对grouped特征执行Linear RNN)的简单而有效的3D物体检测框架,称为 LION。与基于Transformer的方法相比,LION 的关键特性是允许在更大的group中进行充分的特征交互。然而,由于Linear Group RNN 在处理空间建模方面的局限性,在高度稀疏的点云中有效应用Linear Group RNN 进行3D物体检测并非易事。为了解决这个问题,我们只需引入3D空间特征描述器,并将其集成到Linear Group RNN算子中,以增强其空间特征,而不是盲目地增加体素特征不同扫描方式的次数。此外,为了进一步应对高稀疏点云中的挑战,我们提出了一种3D体素生成策略,利用Linear Group RNN 这一自回归模型的天然特性来稠密化前景特征。然后,通过大量的实验验证了所提出模块的有效性,以及验证了 LION框架在不同线性组 RNN 算子(包括 Mamba、RWKV 和 RetNet)上的通用性。此外,值得一提的是,我们的 LION-Mamba 在 Waymo、nuScenes、Argoverse V2 和 ONCE 大场景自动驾驶数据集上SOTA。最后,我们的方法在流行的小型 KITTI 数据集上,支持各种前沿的Linear RNN 算子(例如 RetNet、RWKV、Mamba、xLSTM 和 TTT),以便快速体验我们基于Linear Group RNN 的框架LION。
论文链接:https://arxiv.org/abs/2407.18232
项目链接:https://happinesslz.github.io/projects/LION/
代码链接:https://github.com/happinesslz/LION
亮点
LION是一种通用的基于Linear RNN的3D检测框架,支持各种前沿的Linear RNN 算子(例如 RetNet、RWKV、Mamba、xLSTM 和 TTT)
LION在 Waymo、nuScenes、Argoverse V2 和 ONCE 大场景自动驾驶数据集上取得了SOTA的3D检测性能
目前LION中涉及的所有模型,均能够在24G显存的RTX 3090/4090显卡上进行训练,从而保证大多数研究机构或者高校能够训练我们的LION模型
LION在推理的时候,不再受限于训练时基于window划分所设置的group大小,适当地调整group的大小,对最终模型的性能影响很小
问题背景
这篇论文的背景探讨了3D物体检测作为现代3D感知领域的核心技术,其在导航机器人和自动驾驶汽车等领域中具有广泛应用。近年来,基于Transformer的特征提取器在自然语言处理和二维视觉任务中取得了显著进展,通过灵活地建模长距离关系。为了将这一成功经验扩展到3D物体检测领域并应对高计算成本的挑战,研究人员提出了创新方法,如将点云划分为pillar并在局部2D窗口中进行pillar特征交互的窗口注意力机制(例如SST和SWFormer)。然而,现有方法由于计算资源限制,通常只能处理较小group的特征,无法充分发挥Transformer模型在长距离关系建模中的潜力。与此同时,长距离关系的建模对于在大规模数据集上实现3D感知任务的基础模型至关重要。在大语言模型(LLM)和二维视觉任务领域,一些具有线性计算复杂度的代表性线性RNN操作符如Mamba和RWKV已经展示出与Transformer相媲美的性能,尤其在处理长序列时表现出色。该论文旨在通过线性RNN在3D目标检测中以更低的计算成本处理更大的特征group,实现长距离的交互,不仅对于提升3D物体检测的性能至关重要,也对未来在复杂场景中实现自动驾驶和导航系统具有重要的实际意义。
Linear RNN
这篇论文探讨了线性循环神经网络在3D物体检测中的应用。最初,RNN被开发用于解决自然语言处理中的问题,如时间序列预测和语音识别,有效捕捉序列数据中的时间依赖关系。近年来,为了克服Transformer的二次计算复杂性,研究人员取得了显著进展,提出了时间并行化、数据依赖的线性RNN模型,如Mamba、RWKV、RetNet等。这些模型保持了线性的计算复杂度,同时具备高效的并行训练能力,并且在性能上能够与甚至超过Transformer模型。由于其可扩展性和高效性,线性RNN在不同领域的应用日益重要,包括视觉任务,已有研究证明其潜力。因此,本文旨在探索如何利用线性RNN有效地建模3D物体检测中的长距离关系。
方法介绍
LION的核心思想在于利用线性RNN来构建长距离建模的3D目标检测器,以避免将体素特征划分为小的组和Transformer在计算中的平方时间复杂度,来获得更好地检测性能。该论文首先提出了使用更大的group来进行体素划分,更好地适应了线性RNN的对于长序列建模的能力和线性复杂度的优势。其次,该论文为了解决3D目标检测中,在体素合并的过程中存在信息缺失的情况,提出了一种新的特征扩散点的方式。最后,为了可兼容很多高性能的线性RNN模型,该论文提出了一种全新的基于线性RNN的3D目标检测框架。
总体框架
该论文提出了基于线性RNN的模型框架,名为LION,用于在窗口化的框架中对分组特征执行线性RNN,可以将数千个体素(比之前的方法的数量多数十倍)进行特征交互。LION的流程如图所示,包括一个3D骨干网络、一个BEV骨干网络和一个检测头部,与大多数基于体素的3D检测器保持一致的pipeline。本文的贡献在于基于线性RNN设计的3D骨干网络。
![4524b3afdb8dee2b3108397054af8ded.png](https://img-blog.csdnimg.cn/img_convert/4524b3afdb8dee2b3108397054af8ded.png)
接下来将详细介绍该论文提出的3D骨干网络,包括用于长距离特征交互的N个LION模型块、增强稀疏点云特征表达的体素生成操作,以及逐步下采样特征高度的N个体素合并操作。
3D稀疏窗口划分
在该论文中,3D窗口划分是为了在LION模块中实现有效的特征交互而进行的预处理步骤。首先,我们将点云转换为包含L个体素的数据表示。接着,我们将这些体素划分为形状为的非重叠3D窗口,其中、和分别表示窗口沿X轴、Y轴和Z轴的长度、宽度和高度。然后,我们按照X轴和Y轴对体素进行排序,以便进行窗口划分。为了节省计算成本,我们采用了FlatFormer中的等大小分组方法,而不是SST中的经典等形状窗口分组方法。具体来说,我们将排序后的体素分成大小为K的等大小分组,而不是传统的等形状窗口分组方法。这种方法利用了线性组RNN操作符的线性计算复杂度,使我们能够使用更大的分组大小K,从而实现有效的长距离特征交互。
LION Block
LION Block是LION的核心组件,包括建模long-range relationship的LION层,用于捕捉局部3D空间信息的3D空间特征描述子,Voxel Merging 和 Voxel Expanding,如图所示。此外,LION Block是一个层次结构,可以更好地提取多尺度特征,以应对不同大小3D对象之间的差距。接下来,将介绍LION块的每个部分。
![98a4b0b30b2bd4413a7052573c58774d.png](https://img-blog.csdnimg.cn/img_convert/98a4b0b30b2bd4413a7052573c58774d.png)
LION Layer
LION Layer在LION块中应用,利用线性分组RNN操作符模拟组内特征之间的long-range relationship。具体来说,如图3(c)所示,LION Layer的结构包括两个线性分组RNN操作符。第一个操作符基于X轴窗口分区执行长程特征交互,第二个操作符则基于Y轴窗口分区提取长程特征信息。通过利用两个不同的窗口分区,LION层能够获得更充分的特征交互,生成更具有区分性的特征表示。
![2589eae11c21bf4b4f5036aaf7018408.png](https://img-blog.csdnimg.cn/img_convert/2589eae11c21bf4b4f5036aaf7018408.png)
3D空间特征描述子
虽然线性 RNN 具有长程建模和低计算成本的优势,但不可忽视的是,当输入体素特征被扁平化为一维连续特征时,空间信息可能会丢失。例如,如下图所示,在3D空间中有两个相邻的特征(即索引为 01 和 34)。然而,当它们被扁平化为一维序列特征后,它们在一维空间中的距离却非常远。我们将这种现象视为3D空间信息的丢失。为了解决这个问题,一种可行的方法是增加体素特征的扫描顺序,然而,扫描顺序的设计过于手工。此外,随着扫描顺序的增加,相应的计算成本也会大大增加。因此,在大规模稀疏3D点云中不适合采用这种方式。如图3(d), LION用一个子流形卷积、一个LayerNorm和一个GELU组成3D spatial feature descriptor来增强局部空间信息。同时LION将这个放在了体素合并前用来减少体素合并中的信息缺失。
![4934b3b98f9e39006a898a88eaace45f.png](https://img-blog.csdnimg.cn/img_convert/4934b3b98f9e39006a898a88eaace45f.png)
Voxel Merging 和 Voxel Expanding
LION为了获得多尺度特征,使用了一个上采样下采样的层次化结构。LION分别采用Voxel merging 和 Voxel expanding 用来下采样和上采样。Voxel Merging中计算并保留Voxel合并的索引,在voxel expanding中用之前保留的索引逆变换回去。
![5ae72365fe2ed139738d864ada6e2a84.png](https://img-blog.csdnimg.cn/img_convert/5ae72365fe2ed139738d864ada6e2a84.png)
Voxel Generation
由于在体素合并的时候存在信息损失,LION利用了线性RNN的自回归能力进行Voxel 生成来解决这个问题。首先是确定需要进行特征生成的区域。通常进行的特征扩散是在BEV特征下对于前景进行特征扩散,但是这些方法对于体素特征来说并没有那么合适。LION注意到3D特征在通道维度上的高响应区域大都是前景区域,因此LION先计算得到的体素特征在通道维度上的平均值,然后通过选择其中的Top K作为待扩散区域。尽管有些方法采用K-NN等方法来生成扩散的特征,但是由于冗余的特征和有限的感受野,这样的方法并不是最好的。LION借助线性RNN的自回归能力,使得模型能够自适应地生成扩散的特征。针对于扩散点,选择水平方向上四个不同方向的偏移进行扩散。针对于扩散的点,直接将特征赋零。这些扩散的体素特征可以通过后续的线性RNN进行有效生成。
![e30278286b07a25a4ad7770f7ef4a1ba.png](https://img-blog.csdnimg.cn/img_convert/e30278286b07a25a4ad7770f7ef4a1ba.png)
实验效果
该论文在多个基于点云的自动驾驶数据集(Waymo、nuScenes、ArgoverseV2和ONCE)上均取得了SOTA的结果。
Waymo数据集:
![013a1b06c6b37347126d60f7b5e32e29.png](https://img-blog.csdnimg.cn/img_convert/013a1b06c6b37347126d60f7b5e32e29.png)
nuScenes数据集:
![0c47529d8667ef46adc0e05afac511f5.png](https://img-blog.csdnimg.cn/img_convert/0c47529d8667ef46adc0e05afac511f5.png)
Argoverse V2数据集:
![c7cd49e170ee910cff3eb084bea3573c.png](https://img-blog.csdnimg.cn/img_convert/c7cd49e170ee910cff3eb084bea3573c.png)
ONCE数据集:
![f8e99ed3c6649492fc0b17b176e8ce03.png](https://img-blog.csdnimg.cn/img_convert/f8e99ed3c6649492fc0b17b176e8ce03.png)
KITTI数据集:
我们的方法在流行的小型 KITTI 数据集上,支持各种前沿的Linear RNN 算子(例如 RetNet、RWKV、Mamba、xLSTM 和 TTT),以便快速体验我们基于Linear Group RNN 的框架LION
![7b7b51291f7ee6e3d5b0f584c7cc1042.png](https://img-blog.csdnimg.cn/img_convert/7b7b51291f7ee6e3d5b0f584c7cc1042.png)
消融实验
在Table 5中,通过对LION架构中的group大小,3D空间特征描述子,以及基于自会归的体素生成模块进行消融实验,实验结果发现三个组件都能带来一致的提升。其中,3D空间特征描述子以及采用大的group均能带来1个点以上的收益。
![304f74a80e23b46048cdb68bfd50be5f.png](https://img-blog.csdnimg.cn/img_convert/304f74a80e23b46048cdb68bfd50be5f.png)
为了分析推理过程中窗口大小和分组大小的影响,我们在 WOD 100%训练数据上评估了 LION-Mamba 的相同训练模型在不同窗口大小和分组大小情况下的结果(即窗口大小={(13, 13, 32)、(13, 13, 16)、(13, 13, 8)和(13, 13, 4)},分组大小={4096, 2048, 1024, 512})。如Table 11 所示,令人惊讶的是,我们发现在推理过程中使用不同的窗口大小或分组大小仍然不会对性能产生显著影响。这表明 LION 可以降低对手工先验(如window的大小,group的数目)的强烈依赖,并具有良好的外推能力。
![b20c099dc00c63ed4c5c1126db372ec3.png](https://img-blog.csdnimg.cn/img_convert/b20c099dc00c63ed4c5c1126db372ec3.png)
对于更多的消融实验,请参考LION原文论。
对特征扩散的可视化
该论文选取了不同的Block的体素特征进行而可视化,这个可视化说明了随着block的深度加深,前景区域相比背景区域的特征会更加稠密,更易于区分。
![b014b2bb753fcbbf85073a27130a4103.png](https://img-blog.csdnimg.cn/img_convert/b014b2bb753fcbbf85073a27130a4103.png)
检测结果的可视化
和DSVT在BEV下的检测结果的可视化对比。
![602f19e1de757bf83bf0420846cfa4ba.png](https://img-blog.csdnimg.cn/img_convert/602f19e1de757bf83bf0420846cfa4ba.png)
本文总结
本文利用线性RNN对于长序列建模的能力和线性时间复杂度的特点设计了新的检测框架,并设计了新的体素划分方式来发挥线性RNN可以长序列建模和线性时间复杂度的优势,同时兼容了不同的线性RNN算子,在多个自动驾驶3D目标检测数据集上都取得了SOTA的效果。
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!
① 全网独家视频课程
BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
![ca8b69c5eb48e36a0aa21de067c1b8d7.png](https://img-blog.csdnimg.cn/img_convert/ca8b69c5eb48e36a0aa21de067c1b8d7.png)
② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
![3f3f2e2eba71bfe062a7b7e72c8a6ad4.png](https://img-blog.csdnimg.cn/img_convert/3f3f2e2eba71bfe062a7b7e72c8a6ad4.png)
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵