MVDNet:利用激光雷达和雷达在雾天中鲁邦的检测多模态车辆

作者 | eyesighting  编辑 | 自动驾驶与AI

原文链接:https://zhuanlan.zhihu.com/p/639351516

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【3D目标检测】技术交流群

后台回复【3D检测综述】获取最新基于点云/BEV/图像的3D检测综述!

题目:Robust Multimodal Vehicle Detection in Foggy Weather Using Complementary Lidar and Radar Signals

名称:利用激光雷达和雷达信号在雾天中进行稳健的多模态车辆检测

论文:https://ieeexplore.ieee.org/document/9578621

代码:https://github.com/qiank10/MVDNet

0.摘要

使用激光雷达和摄像头等视觉传感器进行车辆检测是实现自动驾驶的关键功能之一。虽然它们在良好的天气条件下生成具有丰富信息的细粒度点云或高分辨率图像,但在不利的天气(如雾)下会失败,因为不透明粒子会扭曲光线并显著降低能见度。因此,依赖激光雷达或相机的现有方法在罕见但关键的恶劣天气条件下会出现显著的性能退化。为了解决这一问题,我们采用了互补雷达,这种雷达受恶劣天气的影响较小,在车辆上很普遍。在本文中,我们提出了多模式车辆检测网络(MVDNet),这是一种两阶段深度融合检测器,它首先从两个传感器生成候选,然后融合多模式传感器流之间的区域特征,以提高最终检测结果。为了评估MVDNet,我们基于从开源的Oxford radar Robotcar收集的原始激光雷达和雷达信号创建了一个程序生成的训练数据集。我们表明,所提出的MVDNet超过了其他最先进的方法,特别是在平均精度(AP)方面,尤其是在恶劣的天气条件下。

1.介绍

作为自动驾驶技术的圣杯,全驾驶自动化(5级)[20]依赖于强大的全天候物体检测,即使在具有挑战性的恶劣雾天气条件下,也能提供周围物体的精确边界框。如今,自动驾驶汽车配备了多种传感器模式,如摄像头、激光雷达和雷达[12,6,48,3]。融合多模式传感器克服了任何单个传感器的偶尔故障,并可能比仅使用单个传感器产生更准确的物体检测。现有的物体探测器[10,21,52,38]主要融合激光雷达和相机,它们通常提供丰富和冗余的视觉信息。然而,这些视觉传感器对天气条件很敏感,预计不会在雾等恶劣天气下完全工作[4,26],这使得自主感知系统不可靠。例如,图1a显示了标记了地面实况车辆的驾驶场景示例。图1b显示了仅使用因雾而恶化的激光雷达点云检测到的车辆。顶部最远的两辆车由于雾的遮挡而不见了。

f70903cef7211ad4a2d5a59df3466a11.png

除了激光雷达和摄像头外,雷达已被广泛部署在自动驾驶汽车上[6,3,58],并有可能克服大雾天气。具体而言,雷达使用的毫米波信号的波长远大于形成雾、雨和雪的微小颗粒[14,1],因此很容易穿透或衍射。然而,与相机和激光雷达相比,现有自动驾驶数据集中的雷达仍然未被充分挖掘,主要是由于其显著的数据稀疏性。例如,nuScenes数据集[6]有大约35K个激光雷达点,但在每个数据帧中平均只有200个雷达点。主要原因是其雷达使用传统的电子转向天线阵列,这种阵列倾向于产生宽波束宽度的波束方向图(3.2度-12.3度)。在DENSE[3]数据集中,专有雷达安装在车辆的前保险杠上。然而,它的角视场只有35度.幸运的是,最近的牛津雷达机器人[2](ORR)部署了一种带有旋转喇叭天线的雷达,该天线具有高指向性和0.9度的精细空间分辨率, 并且机械旋转以实现360度视野。ORR雷达生成密集的强度图,如图1c所示,其中每个像素表示反射信号强度。它为雾天条件下的物体检测创造了新的机会。

尽管信息更丰富,但ORR雷达仍然比其视觉对应物(即激光雷达)明显更粗糙、更嘈杂,如图第1a和1c段所示。因此,如果以与激光雷达点云相同的方式进行处理,则会出现假警报和大的回归误差。要在大雾天气下稳健地检测车辆,应利用激光雷达(可见范围内的细粒度)和雷达(对雾天气的免疫力),同时克服了它们的缺点。为此,我们提出了MVDNet,这是一种用于恶劣雾天气条件下车辆检测的多模式深度融合模型。

MVDNet由两个阶段组成。第一阶段分别从激光雷达和雷达生成建议。第二阶段通过注意力对两个传感器的特征进行自适应融合,并使用3D卷积进行时间融合。这种后期融合方案允许模型生成足够的建议,同时将融合集中在感兴趣区域(ROI)内。如图1d所示,MVDNet不仅可以检测激光雷达点云中被雾遮挡的车辆,而且可以在噪声雷达强度图中拒绝误报。

为了验证MVDNet,我们基于原始激光雷达和ORR雷达信号创建了一个程序生成的训练数据集。具体而言,我们在激光雷达点云中手动生成车辆的定向边界框,将雷达和激光雷达与视觉里程计知识同步,并使用DEF[3]中提出的精确雾模型模拟随机雾效应。我们将MVDNet与最先进的激光雷达单独探测器[55,24,46]或激光雷达和雷达融合[3]进行了比较。评估结果表明,MVDNet在雾天条件下的车辆检测性能显著提高,同时所需的计算资源减少了10倍。

我们的核心贡献有两方面。首先,我们提出了一种深度后融合探测器,该探测器有效地利用了激光雷达和雷达的互补优势。据我们所知,MVDNet代表了第一个融合激光雷达和高分辨率360度的车辆检测系统◦用于车辆检测的雷达信号。其次,我们介绍了一个在雾天气条件下使用细粒度激光雷达和雷达点云的标记数据集。我们在所提出的数据集上评估了MVDNet,并证明了所提出的融合模型的有效性。

2.相关工作

2.1 通过激光雷达信号进行车辆检测

根据点云的表示,基于激光雷达的目标检测分为两类。一方面,激光雷达数据默认情况下被形式化为点云,可以通过为无序点集设计的架构进行自然处理[39,40]。基于这些架构,实现了原始点云的端到端学习[52,53,46,24]。PointRCNN[46]使用point Net[39]提取逐点特征,并结合不同阶段的特征来识别前景。然后生成建议并细化最终检测结果。PointPillars[24]将点分割成柱,其中使用PointNet计算柱状特征以形成伪图像。然后将图像传送到CNN主干和SSD[31]检测头。然而,由于没有任何点,因此无法学习被恶劣天气遮挡的区域的逐点特征。另一方面,激光雷达点云可以通过标准图像检测模型进行体素化和处理[55,47,57,33]。PIXOR[55]对点进行分段,并生成不同高度的占用图。体素表示可以很容易地与其他常规图像数据相结合,例如来自相机和激光雷达的图像数据,并在MVDNet中得到利用。

2.2 雾天去噪

雾和雾霾降低了相机和激光雷达等视觉传感器的数据质量,这是由于对比度的损失[43,5]和可见光范围的减少[18,4]。一方面,已经提出了用于图像的复杂去雾方法[16,11,25,32],以有利于学习任务[15,43]。这些方法要么使用手工制作的[16,11]或学习的[25]先验来估计模糊和清晰图像之间的传输图,要么开发端到端的可训练模型。另一方面,关于激光雷达点云去噪的研究很少[9,17]。由于激光雷达点云的稀疏性,现有的密集3D点云去噪方法[41,45,19]无法直接应用于雾点去除。DROR[9]利用点的动态空间邻域进行去噪。由于缺乏语义信息,它可能会错误地去除孤立来自对象的反射。Heinzler等人[17]提出了一种基于CNN的去噪模型来理解和过滤雾效应。尽管如此,现有的去噪方法无法在没有额外信息的情况下补偿激光雷达因雾而导致的能见度降低。相比之下,MVDNet使用高分辨率雷达来对抗雾天,以补充对天气敏感的激光雷达点云。

2.3 采用传感器融合的车辆检测

多模态传感器提供冗余信息,使其对内部噪声和恶劣天气造成的传感器失真具有鲁棒性。大多数融合方法[21,52,38,10,27]都是针对激光雷达和相机提出的,因为它们在常见数据集中是可用的[12,48]。MV3D[10]聚合了多个视图的建议。PointFusion[52]结合激光雷达和相机的特征向量来预测车辆的3D盒子。雷达最近作为自主感知的一种附加模式越来越受欢迎[34,8,35,28,37,22]。在[29]中,稀疏和噪声雷达点被投影在相机图像上,以增强深度估计。在[23]中,雷达测量的多普勒频移被用来识别激光雷达视野中被遮挡的行人。DEF[3]开发了一种早期的融合探测器,包括激光雷达、相机和雷达。然而,DEF的雷达质量较低,导致雷达单独工作时性能较差。此外,DEF的雷达和摄像头的视角很窄,探测器是专门为前视图设计的,这对于360度的适应来说是非常重要的侦查RadarNet[54]通过CNN融合早期特征提取阶段的稀疏雷达点和激光雷达点云,以360度检测物体查看并进一步将稀疏雷达点与检测相关联以细化运动预测。LiRaNet[44]还在早期阶段将稀疏雷达点与激光雷达点云和路线图融合,以预测被探测车辆的轨迹。相比之下,MVDNet的目标是在雾天条件下进行稳健的车辆检测。为了实现这一目标,我们开发了一种比RadarNet和LiRaNet中使用的分辨率高得多的最先进成像雷达,并提出了一种有效的深度后期融合方法来组合雷达和激光雷达信号。

3.MVDNet设计

3.1 问题陈述和概述

雾的不利影响已经得到了很好的测量和建模[4,3,26]。图2举例说明了这些效果,其中我们使用[3]中的雾密度为0.05 m−1的雾模型,对ORR激光雷达(Velodyne HDL-32E激光雷达[49])的点云进行雾化(即图1b)。由于雾的透射率低于晴朗的空气,它在两个方面扭曲了激光雷达点云:(i) 被远处物体反射的激光被衰减,变得太弱,无法被激光雷达捕获,导致可见光范围缩小。(ii)不透明雾反向散射激光信号,导致散射雾点(图2c中的红色点)。如图1b所示,这些不利影响可能导致误报和错误检测。相比之下,雾对雷达来说几乎是透明的[14,1]。但雷达由于其较长的信号波长和较宽的波束宽度,其空间分辨率本质上低于激光雷达。因此,迄今为止,雷达主要用于运动/速度跟踪(第2节)。幸运的是,新兴的成像雷达,如ORR中使用的NavTech CTS350-X[36],能够使点云具有与低级别激光雷达相当的分辨率和密度。例如,图2a显示了ORR雷达的示例鸟瞰图强度图。突出的强度峰值对应于道路上的主要物体(例如,车辆、墙壁等),并与激光雷达的对应物很好地匹配。

94fe9a4e5ea30ef6ef12daf96e27fd00.png

MVDNet本质上是将雷达强度图与激光雷达点云深度融合,以利用它们的互补能力。如图3所示,MVDNet由两个阶段组成。区域建议网络(MVD-RPN)从激光雷达和雷达输入中提取特征图,并从中生成建议。区域融合网络(MVD-RFN)汇集并融合了两个传感器的帧的区域特征和检测到的车辆的面向输出的边界盒。我们现在介绍MVDNet的详细设计。

0e63ef7a484ded87b7fc3abee48730a5.png

3.2 MVD-RPN骨干

特征提取器

MVDNet使用两个具有相同结构的特征提取器用于激光雷达和雷达输入。但由于更多的激光雷达输入通道,激光雷达部分的特征通道数量增加了一倍(第4.2节)。如图4a所示,特征提取器首先使用4个3×3卷积层来提取输入分辨率的特征。然后,它通过最大池化对输出进行2倍的下采样,并以更粗的分辨率进一步提取特征。在鸟瞰图中,车辆只占据很小的区域。具体而言,ORR中的车辆平均尺寸为2.5 m×5.1 m,仅占用13×26像素区域,输入分辨率为0.2 m。对鸟瞰图进行下采样使区域特征在随后的提议生成器中容易受到量化误差的影响。MVDNet因此通过转置卷积层对粗粒度特征图进行上采样,并通过跳过链接将输出与细粒度特征图连接起来。每个特征提取器被应用于对应传感器的所有H个输入帧,并生成一组H个特征图。

4e5840c69bcef5c39c08a1279f052627.png

候选生成器

如图4b所示,方案生成器将H个特征图的流作为输入,并稍后生成MVD-RFN的方案。由于移动的车辆在不同的传感器帧中处于不同的位置,MVDNet不是从每个帧的特征图中单独生成建议,而是将每个传感器的所有帧的特征图连在一起,并通过卷积层将其融合。为了充分利用各个传感器,分别使用每个传感器的融合特征图来推断具有K个预定义锚的提案的客观性得分和回归位置。最后,通过非最大值抑制(NMS)将两个传感器生成的候选合并。

3.3 MVD-RFN多模式融合

MVD-RPN生成的建议在RoI池器中用于创建区域特征。对于每个提议,将池化操作应用于每个帧和传感器的特征图中的区域,得到2H个C×W×L特征张量,其中C是特征图中通道的数量,W×L是2D池化大小。MVDNet然后通过两个步骤融合每个建议的特征张量,即传感器融合和时间融合,如图4c所示。

传感器融合

传感器融合融合了激光雷达和雷达帧同步对的特征张量。直观地说,激光雷达和雷达并不总是同等重要,它们的贡献应该相应地加权。例如,被雾完全遮挡的车辆返回零个激光雷达点,因此激光雷达的特征张量的权重应该较小。相反,雷达强度图中某些背景区域的强峰值可能类似于车辆的强度峰值。在这种情况下,应该根据激光雷达特征的提示对该区域周围的雷达特征进行加权。MVDNet通过扩展[50]中的注意力块,自适应地融合激光雷达和雷达特征。它以平坦化的特征张量xin作为输入,计算两个嵌入空间θ和φ之间的相似性,并使用该相似性为第三嵌入空间g创建注意力图以生成残差输出,即:

6a2d75ff3ad455b0bee6ea7988938d72.png

其中Wθ,Wφ,Wg分别是嵌入空间θ,φ,g的线性变换,σ表示softmax函数。如图4c所示,传感器融合的每个分支由两个注意力块组成。当自我注意力在单个传感器内施加注意力时,交叉注意力在对方传感器的引导下进一步施加注意力。具体而言,对于传感器s0∈{lidar,radar}及其对应传感器s1:

b8094964cd62218be023ff0068991e22.png

其中x表示从每个分支的自关注输出的特征向量。来自两个传感器的交叉注意力的输出特征向量被重新整形为特征张量,并被连接用于时间融合。

时间融合

时间融合进一步融合了不同帧的关注特征张量。如图4c所示,MVDNet不是使用时序和记忆密集型递归结构,而是将不同帧的关注特征张量沿着新的维度连接起来以形成4D特征张量,并应用3D卷积层以允许沿着时间维度的信息交换。最后一个卷积层压缩时间维度并输出融合的特征张量。MVDNet然后对融合的特征张量进行平坦化,并将其传递到完全连接的层,以推断最终检测的客观得分和回归位置,如图4d所示。

4.实施

4.1 损失函数与训练

损失函数

对于MVD-RPN和MVDRFN,我们采用了[13]中常用的两个多任务损失函数。具体而言,我们对分类任务LBCE,cls使用二进制交叉熵损失,对边界框回归任务Ll1,reg使用平滑l1损失。回归目标是从锚盒到MVD-RPN的提议的转换,以及从MVD-RFN的提议到最终检测的转换。我们用180的角度表示边界框的方向 以及二进制方向参数。对于MVD-RPN,我们省略了方向的分类,以将定向锚的数量减少一半,从而节省计算资源。对于MVD-RFN,我们使用第二个交叉熵损失LBCE,dir进行方向分类。总体而言,MVDNet的总损失为:

0cece00d50af587527e2dcfad44c8a7b.png

训练详细信息

ORR数据集包含8862个样本,分为7071个用于训练,1791个用于测试,没有地理重叠。我们将传感器的RoI设置为[-32,32]×[-32,32]m,并以0.2m的量化运行鸟瞰图投影。与PIXOR[55]类似,我们将高度范围设置为[-2.5,1]m,将所有激光雷达点划分为35个像素大小为0.1m的切片,并计算强度通道。另一方面,雷达只有一个强度通道。因此,输入激光雷达和雷达表示的尺寸分别为320×320×36和320×320。每个传感器最多使用5帧,包括当前和历史的4帧,作为输入。为了训练有雾天气的模型,我们使用DEF[3]中的雾模型以0.5的概率随机对训练样本中的激光雷达点云进行雾化。具体来说,对于每个激光雷达点,在给定雾密度的情况下,雾模型计算其最大可见距离。如果最大距离小于实际距离,则该点将丢失或重新定位为散射点。雾密度是从典型范围[0.005,0.8]m−1中均匀选择的。

我们用Detectron2[51]实现了MVDNet,Detectron2是一种用于基于RCNN的对象检测器的开源代码库。对于MVD-RPN,锚定设置为3.68 m×7.35 m,方向为-90度, -45度, 0度 和45度。正样本和负样本的匹配分别使用0.55和0.45的阈值。NMS的IoU阈值设置为0.7,并且在训练期间保留1000个建议,而在推理期间保留500个建议。对于MVD-RFN,RoI池化器的池化大小设置为7×7。池化后的批处理大小为256。NMS的IoU阈值设置为0.2。我们使用初始学习率为0.01的SGD优化器,每40K次迭代将学习率衰减0.1倍,并从头开始为80K次迭代训练模型。每次迭代都采用批量大小为1的输入。此外,我们训练了MVDNet的压缩版本,称为MVDNet Fast,通过将卷积层和FC层中的通道(特征)数量减少8倍,我们将区域融合网络的大小减少了8倍。

4.2 数据集准备

原始ORR数据由车顶中心配备NavTech CTS350-X雷达[36]的车辆收集,该雷达与两个点云组合的Velodyne HDL-32E[49]激光雷达位于同一位置。在我们的数据集中,我们基于ORR激光雷达点云手动生成地面实况标签。具体而言,我们使用开源注释工具Scalabel[56]在每20帧(即1秒)中创建一帧车辆的3D边界框。剩余19帧的标签使用ORR中提供的视觉里程计数据进行插值,并手动调整以与相应的车辆对齐。ORR雷达[36]以每0.25秒0.9°的步长扫描360°视场,激光雷达[49]以每0.05秒0.33°的步长进行扫描。雷达和激光雷达扫描结果分别转换为2D强度图和3D点云。两者共享相同的坐标原点。然而,雷达相当大的扫描延迟以及与激光雷达缺乏同步会导致不可忽略的错位,尤其是在移动时。例如,图中两辆车的激光雷达点和标签。1a如图所示。5a和它们的雷达强度图如图5b所示,其中显著的雷达强度峰值和标签之间存在较大的偏移。

为了补偿偏差,我们通过SLAM估计雷达相对于其连续扫描开始的移动δl=(δx,δy)T和旋转δθ[7]。当在自由空间中扫描一个点pl=(px,py)T时,雷达的瞬时相对位置和方位被线性插值为Tδl和Tδθ,其中T≈∠pl 2πT是点pl的近似扫描时间,T是扫描间隔。我们计算了点pl与雷达之间的相对距离d=||pl−tδl||和角度θ=∠pl−tΔθ。pl处的强度被校正为I(px,py)=I(d,θ)。

为了同步雷达和激光雷达,我们不将每个雷达扫描与时间上最近的激光雷达扫描配对,而是在该雷达扫描间隔内聚合所有N=5个激光雷达扫描。具体来说,我们从每个激光雷达扫描中选择一个点扇区,其中所选扇区几乎同时被激光雷达和雷达扫描。形式上,对于一个雷达帧及其同时的N=5个激光雷达帧,只有当第i个激光雷达框架中的点p落在扇区[i−1 N+1π,i+1 N+1π]中时,才选择该点。最后,将所有选定的点转换为雷达坐标,并组合为激光雷达框架。图5c展示了校正后的车辆,其雷达强度峰值和标签对齐良好。

553d6159597bb60611416b571d6da194.png

5.实验

5.1 比较基准

我们使用CoCo评估框架[30]在晴朗和多雾天气条件下验证了MVDNet的平均精度(AP)。我们将MVDNet与现有的仅限激光雷达的探测器(PIXOR[55]、PointRCNN[46]和PointPillars[24])以及DEF[3]中的激光雷达雷达融合方法进行了比较。此外,我们实现了具有较小模型大小的MVDNet Fast(第4.1节),以及将DEF的特征提取器与MVDNet的建议生成器和区域融合网络相结合的DEF+MVD-RFN。

如表1所示,由于融合模型的设计,MVDNet和MVDNet Fast在各种训练/测试设置和IoU中始终优于其他检测器。因此,可以通过选择合适的模型尺寸来在检测器的成本和性能之间进行权衡。虽然PointPillars在所有三种仅使用激光雷达的探测器中产生了最高的性能,但由于距离和散射效应的减小,其在雾天条件下的性能仍明显不如MVDNet。有了雷达的额外输入,DEF可以检测到更多的车辆,尤其是当训练和测试集都包含模糊数据时。然而,即使使用雷达,DEF在定位精度方面仍然比PointPillars差,正如具有更高IoU阈值的AP所示。主要原因是DEF专门用于前视图图像。具体而言,DEF对输入图像进行预处理,并创建局部熵图,该局部熵图体现了前视图图像的密集信息,但鸟瞰图图像的稀疏和孤立信息。相比之下,添加了MVD-RFN后,DEF+MVDRFN有效地融合了激光雷达和雷达数据,并提取了更有用的特征以进行精确检测。图6进一步显示了IoU平均值超过[0.5,0.8]的所有探测器的细粒度精度召回曲线。在雾天条件下,MVDNet显示出与其他探测器相比的显著优势,证明了MVDNet后期融合设计的稳健性。

7823b45aa959c5e3e1bff06ab3156d9f.png

在实践中,雾天气比正常天气少得多,这导致了数据的不平衡。我们只使用清晰的激光雷达点云和雷达强度图进一步训练所有探测器。结果如表1所示。与使用清晰和有雾的激光雷达点云进行训练相比,我们观察到清晰情况下的性能损失很小,而有雾情况下的表现损失很大。结果表明,通过雾化增强清晰的数据对于鲁棒的全天候检测至关重要。为了更好地理解MVDNet的传感器融合,我们可视化了被探测车辆的融合特征向量相对于激光雷达和雷达输入的梯度。图9比较了图1a中两辆车的梯度,它们分别在激光雷达的可见光范围内和可见光范围外。对于激光雷达可见范围内的车辆(橙色),激光雷达和雷达输入都有助于车辆的融合特征向量。相比之下,对于激光雷达可见范围之外的车辆(绿色),只有雷达提供有用的信息并有助于融合特征向量。它验证了所提出的多模式传感器融合在激光雷达可见光范围减小的情况下的有效性。图10进一步比较了图1a中车辆的特征向量相对于其车辆点和闭雾点的梯度。大多数雾点对检测到的车辆的特征向量贡献几乎为零的梯度,证明了MVDNet的去噪能力。

d256a6f925f5b689977e6b6b503b79e5.png 625affb8cc58543669b60963bca875cd.png

图11显示了不同检测器在两个场景中的检测结果。所有三个仅使用激光雷达的探测器都错过了一些车辆,并将一些背景激光雷达点错误地识别为车辆。相比之下,由于深度后期融合的设计,MVDNet以最高的精度和最小的回归误差检测车辆。

5db6d5e941aa518cf46dc576b1b48a2c.png

5.2 MVDNet输入消融

雾密度的影响

我们现在评估所有探测器在不同雾密度下的性能。雾降低了激光雷达的可见范围。例如,密度为0.08 m−1的最浓雾将Velodyne HDL32-E激光雷达的可见光范围缩小到仅15 m以内。因此,依赖激光雷达数据的探测器将经历显著的性能下降。这在图7中得到了验证,图7显示了在0.005 m−1至0.08 m−1的普通雾密度下工作的所有探测器的AP。虽然所有探测器的性能都随着雾密度的增加而下降,但MVDNet的下降率最低,在雷达提供的额外信息的帮助下,在雾密度最大的情况下,其AP仍保持在0.75左右。相比之下,仅使用激光雷达的3个探测器的性能显著下降,当雾密度达到0.08 m−1时,AP达到0.5以下。

历史信息的影响

历史数据通过包含样本的时间相关性来帮助检测器。为了评估MVDNet设计中历史信息的影响,我们改变了历史激光雷达和雷达帧的数量。如图6所示,8,尽管MVDNet在晴朗和有雾的测试集上随着帧数的增加而持续获得性能增益,但在有雾的情况下,增益更为突出,因为激光雷达的可见范围随着过去可见但现在被遮挡的区域而“扩展”。随着历史帧数从0增加到4,我们提出的检测器的运行时间从54.9ms(18FPS)线性增加到110.7ms(9FPS)。因此,历史长度可以作为一个设计旋钮,在运行时和性能之间进行权衡。

4ca25605fda8c80f7d5b812e6cabd933.png 776ef4d30d1e96aa4e15e3a04880b198.png 2129ff54429ca5cdbc0cf2694b12711a.png

数据同步

为了验证第4.2节中数据同步的贡献,我们创建了数据集,而没有校正激光雷达和雷达之间的偏差。如表2所示,MVDNet的AP平均下降约9%。IoU阈值越大,性能下降的幅度就越大。我们推测,虽然深度网络可以学习隐含地校正偏差,但它仍然不足以补偿激光雷达和雷达数据之间的大偏差,如图5所示。这一结果证明了显式数据同步的必要性。

23b5bd88eba05487ea17f642ac987a9a.png

5.3 MVDNet架构上的消融

我们展示了MVDNet在单个融合模块的贡献、不同传感器的贡献以及不同阶段融合之间的比较方面的广泛消融研究。表2显示了不同消融方案的AP,在清晰和模糊的测试集上取平均值。

单个融合模块

MVDNet通过传感器融合和时间融合融合激光雷达和雷达数据(第3.3节)。为了评估融合的好处,我们将每个融合块替换为具有相同输入和输出形状的单个卷积层。如表2所示,MVDNet在时间融合、传感器融合和两者的情况下分别实现了1.3%、1.2%和1.8%的平均增益。此外,来自个体自我和交叉注意力的增益分别为0.8%和0.7%,表明这两个注意力模块都有助于传感器融合。

不同的传感器

然后我们评估传感器的贡献。具体而言,我们保留一个传感器的分支,并在MVD-RPN和MVD-RFN中移除另一个传感器融合块。如表2所示,与完整的MVDNet相比,radaronly模型的性能有显著下降,原因是雷达的粒度较粗,缺乏高度信息。相比之下,仅激光雷达型号的性能平均下降5.6%,主要是由于雾的不利影响。

不同阶段的融合

为了验证MVDNet中多模式传感器的后期融合与早期融合相比,我们为仅激光雷达的模型准备了标准U-Net[42]。U-Net将雷达和雾状激光雷达数据作为输入,并输出重建的激光雷达数据。然后将输出输入到仅限激光雷达的模型中进行检测。我们首先用占用图之间的二进制交叉熵损失和重建的和清晰的激光雷达数据的强度图之间的平滑l1损失来训练U-Net。然后,我们连接U-Net和仅限激光雷达的模型,并使用第4.1节中的损失函数对两者进行联合训练。如表2所示,虽然激光雷达重建方案的性能高于仅雷达和仅激光雷达模型,但其AP仍低于MVDNet约4%,表明早期融合的效果不如后期融合。主要是由于雷达与激光雷达相比数据质量较低,使得激光雷达数据的显式重建无效。

6.结论

我们引入了MVDNet,使车辆能够在恶劣的雾天气条件下进行检测。MVDNet通过在传感模式和时间维度上的深度后期融合,利用了激光雷达和雷达的互补优势。为了评估MVDNet,我们引入了一种新的程序生成的训练数据集,该数据集具有空间细粒度机械雷达和激光雷达。实验结果表明,与现有的单激光雷达或多模式方法相比,MVDNet实现了始终如一的高检测精度,尤其是在雾天条件下。未来,我们计划集成一组更多样化的传感器,例如多普勒雷达和RGBD相机,并探索网络压缩方法,以实现实时(≥30 FPS)车辆检测。

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码免费学习)

c67153d6a2e977e8fbcb2b07e011c532.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

dc37d50033d02aa8df872ca5d3c6ed9b.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、Occupancy、多传感器融合、大模型、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

61fdb8eff617a2b1932ee1dbaf5d5c5a.jpeg

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值