点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【3D目标检测】技术交流群
后台回复【3D检测综述】获取最新基于点云/BEV/图像的3D检测综述!
融合激光雷达和相机信息对于在自动驾驶系统中实现准确可靠的3D目标检测至关重要,由于难以将来自两种截然不同的模态的多粒度几何和语义特征结合起来,这是一个很大挑战。最近的方法旨在通过将2D相机图像中的提升点(称为“seed”)引入3D空间来探索相机特征的语义密度,然后通过跨模态交互或融合技术来结合2D语义。然而,当将点提升到3D空间时,这些方法中的深度信息研究不足,因此2D语义不能与3D点可靠地融合。此外,这些多模态融合策略(被实现为串联或关注)要么不能有效地融合2D和3D信息,要么不能在体素空间中执行细粒度交互。为此,本文提出了一个新的框架,该框架更好地利用了深度信息和激光雷达与相机之间的细粒度交叉模式交互,该框架由两个重要组件组成。首先,使用具有深度感知设计的多深度非投影(MDU)方法来增强每个交互级别的提升点的深度质量。其次,应用门控模态感知卷积(GMA卷积)块以细粒度方式调制与相机模态相关的体素,然后将多模态特征聚合到统一空间中。它们一起为检测头提供了来自激光雷达和相机的更全面的功能。在nuScenes测试基准上,提出的方法(简称MSMDFusion)以71.5%的mAP和74.0%的NDS实现了最先进的3D目标检测结果,并以74.0%的AMOTA实现了强大的跟踪结果,而无需使用测试时间增强和集成技术,代码可在:https://github.com/SxJyJay/MSMDFusion上获得!
![7ddc5b12f379de33715896fbb618ae4a.png](https://i-blog.csdnimg.cn/blog_migrate/56478a869f7c90deac6a0f14f173ba8b.png)
检测3D目标被视为自动驾驶的基本任务,针对强大的环境感知,自动驾驶车辆上一般广泛配备了激光雷达和camera,因为它们可以提供补充信息。以点云为特征,激光雷达可以捕捉精确的空间信息,而相机包含丰富的语义和图像上下文。因此,开发能够享受两个传感器好处的多模态检测器是有希望的。这样的想法推动了一系列最新研究的出现[1,3,12,13,16,18,22,23,28,29]。早期的工作[1,3,11,12,20,22,23,29]通过将3D LiDAR点(或从其生成的区域建议)投影到2D图像平面上以收集有用的2D语义来执行LiDAR相机融合。然而,这种范例受到多模态传感器的信号密度失配的影响,由于LiDAR点比相机像素稀疏得多,这种投影方式将不可避免地浪费语义丰富的2D特征。
最近,出现了另一种用于激光雷达相机融合的范例,这些方法不是通过3D查询来收集2D语义特征,而是首先估计像素的深度,然后使用它们对3D世界的语义(在本文中,将这些像素和相应的提升点称为“种子”和“虚拟点”)与真实的3D点云融合。两种与BEVFusion同名的方法将每个图像特征像素视为seed,并在BEV空间中生成虚拟点。MVP和VFF从前景区域采样像素并将其提升到体素空间,得益于密集的虚拟点,这种范式不仅保持了图像中的语义一致性,而且补充了稀疏LiDAR点云的几何线索。
尽管已经取得了重大改进,但这方面的现有方法存在两个主要问题,这阻碍了从虚拟点中获益。首先,深度作为虚拟点质量的关键,在生成虚拟点时研究不足。一方面,深度通过透视投影直接确定seed在3D空间中的空间位置,从而显著影响3D目标检测结果。另一方面,深度还可以通过在描述目标时提供颜色不敏感的线索来增强虚拟点所承载的语义,因为将RGB信息与深度引导相结合,可以关联具有相似深度的相机像素,并使它们能够在被提升为虚拟点时共同有助于捕获与实例相关的语义。现有的多模态检测器主要关注LiDAR点与相机虚拟点的交互,而忽略了seed深度在生成虚拟点中的重要性。虚拟点和未压缩空间(例如,体素空间)中的3D点之间的细粒度交叉模态交互是至关重要的,但不是微不足道的。由于深度不完善和固有的模态差距,生成的虚拟点在几何和语义上与真实的LiDAR点不一致。因此,为了从语义丰富的虚拟点中获益,有必要在真实LiDAR点的指导下以细粒度和可控的方式从虚拟点中自适应地选择有用信息。然而,这种跨模式交互受到点云数据的大量和非结构化性质带来的密集内存和计算成本的限制。或者,现有的方法将多模态信息与简单的连接或在体素空间中添加operation相结合,或者在压缩的BEV空间中执行交叉关注。
为了释放虚拟点的潜力并解决现有方法的缺点,本文提出了一种多尺度融合框架,称为MSMDFusion,在每个尺度内,有两种关键的新颖设计,即多深度非投影(MDU)和门控模态感知卷积(GMA卷积)。如图1所示,MDU主要用于提高生成的虚拟点的几何精度和语义丰富性。当将2D seed从图像提升到3D空间时,在参考邻域内探索多个深度以生成具有更可靠深度的虚拟点。接下来,将相机特征和深度相结合以产生深度感知特征,作为更强的2D语义来装饰这些虚拟点。GMA Conv将真实的LiDAR点和生成的虚拟点作为输入,并以先选择后聚合的方式执行细粒度交互。首先在参考LiDAR体素的指导下从相机体素特征中自适应地选择有用的信息,然后将其分组稀疏卷积进行聚合,以实现充分的多模态交互。作者还特别采用了体素二次采样策略,以在实施GMA-Conv时有效地获得可靠的激光雷达参考。
最后,利用来自多个尺度的多模态体素特征,进一步将它们与跨尺度的级联连接相关联,以聚合多粒度信息。利用上述设计,封装在虚拟点中的相机语义与LiDAR点一致地结合,从而提供用于增强3D对象检测的更强的多模态特征表示。如表3所示,与两种BEVFusion方法相比,生成的虚拟点减少了100倍,本文的MSMDFusion仍然可以实现最先进的性能!
![7e4942245d3264782dc337d84faa9bfb.png](https://i-blog.csdnimg.cn/blog_migrate/b302736776d6761af037ac2e9233a846.png)
1领域相关
最近,在3D检测中融合激光雷达和相机数据引起了越来越多的兴趣,早期作品将3D查询投射到2D相机图像,以收集有用的语义。在这种范式下,MV3D和AVOD将3D proposal与2D RoI特征相关联。而PointPainting和PointAugmenting直接用2D语义修饰原始3D点。EP-Net和3D-CVF在点级和proposal级执行多模态融合。然而,由于3D点本质上是稀疏的,因此这种硬关联方法浪费了2D特征中的密集语义信息。最近,多模态3D检测器[13,16,26,28]将密集的2D seed提升到3D空间,以学习共享空间中的2D-3D表示。两种BEV融合方法[13,16]将每个图像特征像素密集地提升到3D空间中,然后将这些提升的点编码为另一个BEV(鸟瞰图),以与使用原始3D点云获得的BEV图融合。激光雷达和相机信号最终将共享一个共同的表示空间,但它们在BEV融合之前的任何阶段都不会相互作用。MVP从前景目标中选择seed,并将其未投影到LiDAR帧中,用于点云增强。通过与MVP类似的种子采样策略,UVTR在体素空间中构建LiDAR和相机分支,以保持模态特定信息,然后与体素添加操作交互。然而,LiDAR和相机分支是在单尺度的体素空间中构建的,失去了多尺度体素空间不同层次的特征提取的优势,此外,通过简单的加法合并LiDAR和相机体素限制了它们的细粒度交互!
2本文方法
MSMDFusion的总体视图如图2所示,给定LiDAR点云和相应的多视图相机图像作为输入,MSMDFusion首先从体素空间中的两种模态中提取多尺度特征。然后,在多尺度体素空间内执行激光雷达相机交互,以适当地组合来自两种模态的多粒度信息。在每个尺度上,专门设计了多深度非投影(MDU)策略,以获得体素空间中的高质量虚拟点,以及用于有效LiDAR相机交互和融合的门控模态感知卷积块(GMA Conv)。论文还引入了跨尺度连接,以逐步组合不同粒度的特征, 随后,深度交互的多模态特征与LiDAR特征一起被转换到BEV空间,并被馈送到BEV编码器和检测头,用于最终预测。
![b1dd9096d7e70edf5f0b7f7dcc4ef1aa.png](https://i-blog.csdnimg.cn/blog_migrate/217daf345312393baf234561d33366f5.png)
1)激光雷达与相机特征提取
首先从激光雷达和相机的原始输入中提取高级特征,对于给定的LiDAR点云,根据现有技术使用一组3D稀疏卷积block对点进行体素化,并在体素空间中提取它们的特征。每个卷积块输出不同尺度的体素特征,代表点云的不同抽象级别,这些多尺度特征将通过提出的GMA卷积块与它们的2D对应物进一步交互。对于多视图相机图像,采用以FPN为图像主干的ResNet50来提取多尺度图像特征,其中包含丰富的对象语义。然而,将这些有用的语义传递到3D体素场是非常重要的,因为图像本质上是2D数据。最近的工作从图像平面中选择seed并估计其深度以将其提升为3D虚拟点,因此本文进一步提出了提升2D seed的多深度非投影策略,这可以减轻现有工作的缺点,详细信息将在以下小节中介绍!
2)体素空间中的多模态交互
从前一阶段提取的LiDAR和相机特征分别侧重于几何和语义信息,因此多模态交互的目标是将这些特征适当地融合到场景的统一丰富表示中。如图2所示,在体素空间的每个尺度内,LiDAR相机交互的组成部分在概念上很简单:
1) 为了提高生成的虚拟点的质量,引入了多深度Unprojection (MDU)策略;
2)门控模态感知卷积(GMA卷积)block被设计用于可控LiDAR相机融合;
在下面的部分中,将首先在特定的尺度内详细阐述MDU和GMA Conv,然后在它们之上,描述完整的多尺度融合过程:
a. Multi-Depth Unprojection
为了将像素空间中的2D种子提升到3D空间(即,非投影操作),应估计与每个seed相关联的深度,为了获得初始可靠的深度估计,使用MVP的策略作为基础,如图3(a)所示。
![8496637d94c1c750f0a5ac7fa1001105.png](https://i-blog.csdnimg.cn/blog_migrate/c017e7866e175ddaf7265275c42604b0.png)
虽然有效,但这种策略忽略了这样一个事实,即2D图像中的空间接近性在3D中无法保证,这可能会导致不准确的深度估计,如图3(a)的红色圆圈所示。为此,本文建议通过检索K最近参考点为每个seed配备多个深度,这可以被视为实现更可靠的深度估计的软策略。如图3(b)的绿色圆圈所示,可以使用来自相邻参考点的多个(K)深度来反投影每个seed,这将生成K个虚拟点,以提高其对实际3D点的recall 。
这些生成的虚拟点将被进一步修饰,以充分利用封装在图像中的语义。但与MVP简单地用预训练的2D检测器预测的类分数修饰虚拟点不同,本文在图像特征和来自参考点的稀疏深度信息之间进行早期交互,以生成深度感知语义特征。然后使用这些深度感知语义特征以由其相应种子控制的自适应方式来装饰虚拟点深度,整个过程可以进行端到端训练。具体地,将相机图像特征C与包含该图像中参考点R的所有深度的稀疏深度图连接,然后将它们与卷积层融合以获得深度感知语义特征Cd,对应像素的语义特征也应沿3D空间中的投影光线做出不同贡献。因此,为每个单独的深度计算动态权重因子以调节语义特征,特定种子(u^s_i,v^s_ i) 可以正式描述为:
![e3ff57dcf6a28b90932e693ae44d7314.png](https://i-blog.csdnimg.cn/blog_migrate/0e3ba69e14e8dd2900c22a8a175416e1.png)
生成的具有装饰特征的虚拟点将被体素化,以匹配LiDAR分支的相应比例的输出分辨率,以便在体素空间中执行交互!
b.门控模态感知卷积
使用共享相同空间分辨率的LiDAR和相机体素特征(即图2中垂直对齐的蓝色和黄色体素),我们的目标是在每个尺度上以细粒度和可控的方式与提出的门控模态感知卷积(GMA卷积)块进行交互。如图4所示,首先根据体素的形态对体素进行分组:仅LiDAR(蓝色体素)、仅相机(黄色体素)以及LiDAR和相机组合(红色体素),它们分别表示为f^L、f^C和f^{LC}。然后,以先选择后聚合的方式进行更细粒度的多模态交互。选择基于激光雷达的探测器通常以较大的优势超过基于相机的检测器,这一事实促使将激光雷达作为从相机特征中选择有用信息的指导模式。本文设计了一个基于LiDAR功能的门,以控制和更新其相机对应目标,这可以正式描述为:
![bd679ca0bf7efbac32fe29142edcc746.png](https://i-blog.csdnimg.cn/blog_migrate/b97e6098cc39e560445437a5fe49bb04.png)
使用原始的仅LiDAR体素f^L,以及更新的仅相机和LiDAR相机组合体素~f^C和~f^{LC},首先将它们的模态特定表示转换为具有3D稀疏卷积的中间joint空间。然后,在joint空间内,进一步组合所有体素,并通过另一个3D稀疏卷积促进它们的交互,如图4所示,生成的多模态体素特征表示为F^M。
高效实施:首先讨论两个通常用于跨模态交互的运算符,以证明它们的复杂性瓶颈,然后,介绍了上述检索过程的实现。假设LiDAR和相机体素的数量分别为N和M,其中对于LiDAR帧,N和M的比例通常为10^5。因此,任何具有二次计算或空间复杂性的操作(即,O(N2)、O(M2)或O(MN))都是难以处理的,例如,标准交叉关注。Swin Transformer中引入的局部关注似乎是一个可行的解决方案,然而,与2D数据不同的是,体素不是作为密集张量存储的,在密集张量中,可以通过索引轻松访问附近的元素。相反,必须计算成对距离以检索每个体素的局部邻居,这个过程再次导致二次复杂性!
![f396010203d856549949f4579cfa97a0.png](https://i-blog.csdnimg.cn/blog_migrate/29ca9aca939717c6ceb60dcaa6ee5f77.png)
对上述过程的有效实施如图5所示,通过利用相机体素由于密集的非投影而通常是冗余的这一事实,首先使用最远点采样(FPS)策略对fC中的L个元素进行子采样。然后,通过穷举成对距离计算为这些L个相机体素检索最近的LiDAR体素。最后,这些L个相机体素中的每一个将其最近的LiDAR体素索引分配给预定义半径(这些相机体素共享共同的LiDAR体素)。论文实现的总体计算复杂度为O(LM+LN+LN)= O(L(M+N)),因为与N和M相比,L是一个小常数(在实践中将L设置为2048),并且3D稀疏卷积以与N和N线性的复杂度高效实现,因此GMA Conv是O(M+N)。
![3262d5173c00bad39c0b9a76b9a352cb.png](https://i-blog.csdnimg.cn/blog_migrate/78fe9caac6aad1409d54b88bd2d08575.png)
c.多尺度渐进式交互
在体素空间的不同尺度内执行MDU和GMA Conv之后,为每个尺度生成多模态体素特征{F^M_i}。为了进一步聚合来自{F^M_i}的这些多粒度信息,本文引入了跨不同尺度的级联连接,如图2所示,可以公式化为:
![2c29a14e6df7a6137e243aff1aafa74c.png](https://i-blog.csdnimg.cn/blog_migrate/4ec37f6c1e52d527082af7f1d2962618.png)
利用上述设计,多粒度激光雷达相机特征可以在体素空间中的多个尺度上完全交互,最终输出的多模态体素特征可以作为后续模块的强大表示。
d.BEV空间中的预测
遵循流行的基于体素的3D目标检测器的工作流程,压缩体素特征的高度,将其转换为BEV(鸟瞰图)空间。具体而言,首先将LiDAR和多模态BEV特征与轻量级2D卷积块融合。然后,包含增强的多模态信息的BEV特征被馈送到常规BEV编码器和用于最终预测的检测头。
3实验
nuScenes数据集是一个大规模的自动驾驶基准,包括总共10000个驾驶场景,分为700、150和150个场景,用于训练、验证和测试。对于检测,nuScenes定义了一组评估指标,包括nuScenes检测分数(NDS)、平均精度(mAP)以及五个真阳性(TP)度量,即平均平移误差(mATE)、平均尺度误差(mASE)、平均方位误差(mAOE)、平均速度误差(mAVE)和平均属性误差(mAAE)。本文报告了mAP,这是在0.5米、1米、2米和4米的距离阈值下,十个等级的平均精度的平均值,NDS是mAP、mATE、mASE、mAOE、mAVE和mAAE的加权组合!
本文使用ResNet-50、FPN作为图像主干,VoxelNet作为LiDAR主干。将图像大小设置为448×800,体素大小设置为(0.075m、0.075m、0.2m)。为了充分利用多尺度语义,从FPN的四个级别(C2到C5)提取特征。根据MVP在生成虚拟点时使用CenterNet作为2D检测器,除非另有规定,否则在每个实例上选择50个种子。本文的模型训练分为两个阶段:
(1) 首先训练了一个仅限LiDAR的检测器(20个epoch),作为3D主干;
(2) 然后将提议的LiDAR相机融合模块与3D主干连接起来,以进行另外6个epoch的联合训练;
数据扩充策略和训练计划与先前的工作相同[27,33],在推理过程中不使用测试时间增强(TTA)或多模型集成!
1)和SOTA模型相比
论文将MSMDFusion与nuScene测试集上的最先进方法进行了比较,总的来说,表1显示,该方法超过了所有现有方法,并实现了71.5mAP和74.0NDS的最新性能。同时,在大多数目标类别上保持了一致的性能优势,特别是在具有挑战性的类别:自行车,与最强的竞争对手相比,获得了3.5%的绝对AP增益。由于MSMDFusion和两种强大的BEVFusion方法都通过从2D seed生成3D虚拟点来融合LiDAR和相机信号,因此特别将我们的方法与它们在每个LiDAR帧生成的虚拟点数量方面进行了比较,如表3所示。
![be90dda7e2f3d6d8b5111354e2adc122.png](https://i-blog.csdnimg.cn/blog_migrate/ea7e3af220bf43d70a85e3f09b69a696.png)
![d38a4a6a4fdc4e3324cdcffcb41535ec.png](https://i-blog.csdnimg.cn/blog_migrate/399ff390f17f13b9d5e2cb65c252a314.png)
结果表明,尽管生成的虚拟点比它们少100倍(16k vs 2M/5M),但MSMDFusion在mAP和NDS方面仍优于它们,这证明了本文方法可以更好地利用2D语义。同时,还比较了本文的方法和两种BEVFusion方法的FPS。BEVFusion可以实现最快的推理速度,这是因为它使用CUDA实现了高效的相机到BEV转换。如果没有这种硬件友好的实现,BEVFusion会处理大量虚拟点,而MSMDFusion运行得更快,尽管在体素空间中执行了多尺度细粒度融合。
此外,为了证明MSMDFusion也可以推广到其它下游任务,进一步在nuScene上执行跟踪任务。为了公平比较,仅使用[27]中介绍的贪婪跟踪器与单模型方法(即,没有TTA或集成)进行比较。如表2所示,本文的方法在所有评估指标上均优于其他单一模型竞争对手。同时,尽管不使用集成技术,但也获得了与集成BEVFusion方法相比具有竞争力的结果。
![889686f4493d91b326b3aa8290034df9.png](https://i-blog.csdnimg.cn/blog_migrate/191b04a06a5f312058a193371e10e34e.png)
2)综合分析
在UVTR之后,本文对nuScenes训练集的随机抽样1/4分割进行了以下消融研究,以提高效率!作者对每个拟定组件进行了全面的消融研究,如表4所示。使用TransFusion-L作为基线(#1),并在所有实验中执行多尺度融合。根据表4的结果,有以下观察结果。
(i) 为多模态交互引入虚拟点(#2和#3)带来了比基线明显的改进,这证明了将虚拟点的密集2D语义与体素空间中的LiDAR特征融合可以显著增强仅LiDAR检测器。
(ii)早期深度颜色交互(#2和#3)可以提供更强的语义,这进一步提高了LiDAR和虚拟点之间交互的益处。
(iii)使用GMA Conv从虚拟点(#4和#5)中选择有用的信息可以比无区别地从虚拟点中吸收所有信息(#2和#3)带来进一步的改进。
(iv)结合所有这些成分(#5),最终mAP和NDS分别从60.26%显著提高到66.93%和65.62%显著提高到68.93%,这证明了论文设计的有效性。
![b1a2f02e6d450bf4969a72e5ad65c6b3.png](https://i-blog.csdnimg.cn/blog_migrate/b1475ef03cc4d255175b814c2432a520.png)
作者还研究了在不同尺度上执行激光雷达相机交互的效果,如表5所示,对于具有单尺度交互(#2-#4)的模型,以更大空间分辨率的尺度进行交互通常会导致比基线(#1)更大的性能增益,这主要得益于更细粒度的图像和LiDAR特征。如果多模式交互以更多的尺度(#6-#8)执行,多粒度信息可以集成到本文的渐进式交互过程中,以始终实现比单尺度模型更好的性能。与最佳单尺度模型相比,完整的多尺度相互作用模型实现了约2%mAP和约1%NDS的性能增益,这表明多尺度相互影响有利于全面的多模态融合。
![9f0342ec15489d09a4c7a5cf52d50865.png](https://i-blog.csdnimg.cn/blog_migrate/286cf3f72ea1c7024cfa7e7d95f91322.png)
4论文总结
本文提出了一种用于3D目标检测的新型LiDAR相机融合框架MSMDFusion,该框架在多个尺度上执行多模态交互,并在每个尺度上应用门控模态感知卷积(GMA-Convolution),以鼓励细粒度可控多模态激光雷达相机融合。跨尺度进一步组合多粒度信息以形成预测头的综合特征,大量实验证明了这些组件的有效性,本文的方法最终在nuScene数据集上实现了最先进的性能。
5参考
[1] MSMDFusion: Fusing LiDAR and Camera at Multiple Scales with Multi-Depth Seeds for 3D Object Detection.
国内首个自动驾驶学习社区
近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称