第二十六章 BEV感知系列三(车道线感知)

前言

近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。

BEV感知系列是对论文Delving into the Devils of Bird’s-eye-viewPerception: A Review, Evaluation and Recipe的翻译整理,有多处瑕疵,敬请谅解。

更多相关工作

​ 在本节中,我们描述了3D感知任务及其传统解决方案,包括基于单眼相机的3D物体检测、基于激光雷达的3D物体探测和分割以及基于传感器融合的3D物体侦测。

A部分

基于单目摄像机的物体检测

​ 基于单目相机的方法以RGB图像作为输入,并试图预测每个物体的3D位置和类别。单目3D检测的主要挑战是RGB图像缺乏深度信息,因此这些方法需要预测深度。由于从单个图像估计深度是一个不适定的问题,通常基于单目相机的方法比基于激光雷达的方法具有更差的性能。Mono3D[141]提出了一种具有上下文和语义信息的3D提案生成方法,并使用R-CNN-like架构来预测3D框。Deep3DBox[142]首先预测2D边界框,然后从2D框中估计3D信息,扩展了先进的2D检测器。3D-RCNN[143]还在2D检测中扩展了R-CNN,不仅预测了3D边界框,还渲染了每个对象的形状。Center Net[144]是一个无锚2D检测器,用于预测对象中心和到长方体的距离。它还可以通过预测3D尺寸、深度和方向,轻松扩展到3D检测伪激光雷达[86]首先预测深度图,然后使用相机参数将具有深度的图像反向投影到激光雷达坐标系中的3D点云。然后,任何基于激光雷达的探测器都可以应用于预测的“伪激光雷达”。M3D-RPN[145]使用单级3D区域建议网络,具有两条并行路径用于特征提取:**一条具有规则卷积的全局路径,以及一条使用H空间中的非共享Conv核的局部深度感知路径。**MonoPSR[146]首先检测2D框并输入整个图像和裁剪对象,然后执行两个并行分支:一个是预测粗框的建议生成模块,另一个是用于预测裁剪对象网格的实例重建模块。在第二个方案细化模块中,使用重构的实例来获得细化的3D框。ROI-10D[147]首先预测2D框和深度,然后将它们提升到3D ROI,并使用RoIAlign裁剪3D特征以回归3D边界框。它还可以很容易地扩展到三维网格预测。SMOKE[82]是一种单阶段无锚方法,直接预测对象的3D中心以及3D框的大小和方向。FCOS3D[81]是一种最新的代表性单目3D检测方法,它扩展了最先进的2D检测器FCOS[100]。回归分支类似于CenterNet;它们都在回归分支中添加了深度和框大小预测。FCOS3D还介绍了一些技巧,例如翻转增加和测试时间增加。PGD[62]分析了深度估计在单目3D检测中的重要性,然后提出了一个几何关系图来捕捉每个对象的关系,从而获得更好的深度估计。

Mono3D是一种单目3D物体检测方法,用于从单个2D图像中推断出物体的3D位置和尺寸。这项技术面临着从单一视角中恢复3D信息的挑战,因为图像本身缺乏深度信息。Mono3D通过以下步骤来解决这一问题:

  1. 3D提案生成

    • 这个阶段的目标是生成潜在的3D边界框提案,这些提案将用于后续的物体检测过程。Mono3D通过考虑物体在真实世界中可能出现的位置和大小,结合图像中的上下文线索(如地平线的位置或物体与路面的关系),来创建这些提案。
  2. 上下文和语义信息的利用

    • 上下文信息,例如物体周围的场景结构,以及其他物体的相对位置和尺寸,对于确定单个物体在3D空间中的位置非常重要。此外,语义信息,即图像的像素属于哪个类别(如车辆、行人、道路),可以帮助模型更准确地理解场景。
  3. R-CNN-like架构

    • R-CNN(Regions with Convolutional Neural Networks)是一种流行的物体检测框架,它先从图像中提取出潜在的感兴趣区域,然后使用卷积神经网络(CNN)来分类这些区域并精细化它们的边界框。Mono3D采用了类似的架构,但它的重点是在3D空间中进行预测。

在专业性的理解中,Mono3D代表了尝试仅通过视觉线索来推断出3D世界信息的尖端技术。这种方法在自动驾驶汽车和机器人视觉中尤其有价值,因为它不依赖于外部传感器(如雷达或激光雷达)来获取深度信息。然而,由于它只使用单眼图像,Mono3D可能会受到估计深度不准确的限制。尽管如此,它仍然是理解场景几何和进一步研究单目3D检测技术的有力工具。

伪激光雷达是一种技术,旨在模仿激光雷达传感器的功能,但实际上是使用单眼相机作为信息来源。这种方法允许研究者和工程师使用比真正的激光雷达更便宜且更易于获得的硬件来进行3D感知。伪激光雷达技术通常遵循以下步骤:

  1. 深度图预测

    • 使用深度估计算法从单个2D图像中预测出每个像素的深度。这可以通过监督学习(使用深度为标签的训练数据)或无监督学习(利用图像序列的几何一致性)来实现。
  2. 反向投影到3D空间

    • 一旦有了深度图,就可以利用相机内参(焦距、光学中心等)将图像的每个像素转换为对应于真实世界3D空间中点的坐标。这个过程叫做反向投影。
  3. 生成伪激光雷达点云

    • 通过反向投影过程,2D图像像素和其预测深度结合形成一个点云,类似于激光雷达传感器扫描环境所获得的点云。
  4. 应用基于激光雷达的探测器

    • 得到的伪激光雷达点云可以用作输入,以运行通常用于真实激光雷达点云的3D检测算法。因为点云数据格式相似,所以基于激光雷达的检测器能够不加区分地处理伪激光雷达数据。

通过这种方式,伪激光雷达为没有真实激光雷达的情况下的3D物体检测提供了一种可行的替代方案。尽管伪激光雷达数据可能不如真实的激光雷达数据精确(因为深度估计可能存在误差),但这种方法在资源受限或成本敏感的应用中仍然非常有价值。它为研究人员提供了在不具备激光雷达硬件的情况下研究和开发3D感知能力的途径。

M3D-RPN(Monocular 3D Region Proposal Network)是一种3D目标检测框架,用于从单眼相机图像生成3D边界框提议。这种方法特别适用于无需使用额外的深度传感器,如激光雷达或立体相机系统,仅利用单眼图像进行3D检测。它的主要特点是:

  1. 单级3D区域建议网络

    • M3D-RPN设计为单级网络,这意味着它直接从输入图像生成3D候选框,而不需要预先的候选区域选择步骤。
  2. 两条并行路径

    • 全局路径:该路径使用规则卷积运算提取全局特征,这有助于捕捉图像中的上下文信息和整体结构。
    • 局部深度感知路径:此路径使用H空间(高度空间)中的非共享(unique per location)卷积核来提取局部特征,从而允许网络对每个空间位置有不同的深度响应,以更好地理解物体的局部深度结构。

这两个特征提取路径合并了全局和局部信息,使得网络可以更好地估计物体的3D位置和尺寸。特别是,局部深度感知路径能够让网络学习到与物体大小和深度相关的特征,这对于从2D图像中恢复3D信息是非常重要的。

M3D-RPN的这种结构设计旨在改善单眼3D检测的性能,因为它提供了一种机制来解决单眼图像中固有的深度歧义问题。通过将全局上下文信息与局部深度感知能力相结合,M3D-RPN能够提升在单眼图像中进行3D目标检测的准确性。

FCOS3D是基于前沿的2D目标检测框架FCOS(Fully Convolutional One-Stage Object Detector)的3D检测方法。这个模型是为了使单眼相机系统能够进行3D目标检测,这在自动驾驶和机器人视觉领域特别有用。下面是对FCOS3D的一些关键点进行的总结:

  1. 扩展2D检测器
    FCOS3D基于FCOS,后者是一个先进的全卷积单阶段目标检测器,特别注重速度和精度的平衡。FCOS通过消除先前阶段需要的候选区域选择步骤,提高了检测过程的效率。

  2. 回归分支的相似性

    • FCOS3D的回归分支借鉴了CenterNet(一种以目标中心点为基础进行目标检测的方法)的设计,它集成了深度和框大小的预测。
    • 除了传统的2D框回归外,FCOS3D在回归分支中添加了估计目标深度的任务和3D边界框的维度预测。
  3. 3D检测的挑战

    • 单目3D检测是具有挑战性的,因为深度信息在2D图像中不是直接可用的,需要通过模型预测或其他手段进行恢复。
    • FCOS3D通过将深度估计和大小预测集成到原有的FCOS结构中,能够对目标的3D位置和尺寸进行直接预测。
  4. 翻转增强(Flip Augmentation): 翻转增强是一种数据增强策略,它通过水平翻转图像来扩展训练数据集。这个简单的操作可以帮助模型学习到不依赖于图像水平方向的特征,从而提高模型在处理新图片时的泛化能力。在训练期间应用翻转增强可以增加数据的多样性,帮助模型更好地学习对称性质和降低过拟合的风险。

  5. 测试时增强(Test-Time Augmentation, TTA): 测试时增强是在模型评估阶段应用的一种技术,旨在提高预测的准确性。这通常涉及到对单个测试样本应用多种数据增强技术(如翻转、裁剪、缩放等),然后将模型在这些增强样本上的预测进行融合,以得到最终的预测结果。测试时增强能够考虑到数据在变换下的不变性,通常能提高模型的性能。

  6. 适用性
    FCOS3D适用于那些需要使用常规摄像机硬件进行3D物体检测的应用场景,这种情况在资源受限或对成本敏感的环境中尤为重要。

FCOS3D展示了如何通过在单目图像中集成深度和尺寸估计,将一个2D目标检测方法转化为3D检测方法。这对于开发先进的视觉感知系统来说是一个重要的进步,因为它提供了一个比传统的3D检测方法(通常依赖于成本较高的激光雷达或立体相机系统)更经济的解决方案。

激光雷达检测和分割

​ 激光雷达描述了具有3D空间中的一组点的周围环境,这些点捕捉物体的几何信息。尽管缺乏颜色和纹理信息,感知范围有限,但基于激光雷达的方法比基于相机的方法在深度先验的基础上有很大的优势。

检测

​ 由于激光雷达收集的数据被格式化为点云,因此直接在点上构建神经网络是很自然的。
基于点的方法对原始点云数据进行处理,进行特征提取。VoteNet[120]基于Hough投票直接检测点云中的对象。PointR-CNN[148]是一种用于更精确3D检测的两阶段方法。在第一阶段,通过将点云分割为前景点和背景点来生成3D建议,然后在第二阶段对建议进行细化以获得最终的边界框。Part-A2[149]用部分感知和神经隔离网络扩展了PointRCNN。H3DNet[150]预测几何图元的混合集合,然后通过定义对象和几何图元之间的距离函数将其转换为对象建议。投票方法的一个缺点是来自背景的异常投票会影响投票结果。Pointformer[121]设计了一个由局部变换器和全局变换器组成的变换器主干,以有效地学习特征。BRNet[151]回溯投票中心的代表点,并重新访问这些生成点周围的互补种子点。Group Free[152]不是对局部特征进行分组,而是使用注意力机制从所有点获得对象的特征。RBGNet[153]提出了一种基于射线的特征分组模块,用于学习对象形状的更好表示,以增强聚类特征。3DSSD[154]首次提出了一种轻量级且有效的基于点的单级3D探测器。它利用三维欧氏距离和特征FPS作为采样策略。

3DSSD(3D Single Stage Detector)是一种针对点云数据设计的3D目标检测网络。以下是对其主要特点的理解总结:

  1. 轻量级:3DSSD旨在减少模型的参数数量和计算需求,这样它就能够以较少的资源消耗快速运行,适用于对实时性要求较高的应用,如自动驾驶汽车。

  2. 单级探测器:与传统的两级探测器(如R-CNN系列)不同,单级探测器(如SSD和YOLO系列)在一个阶段内完成目标的分类和定位。这样做简化了训练和推理流程,并通常能达到更快的推理速度。

  3. 基于点的:3DSSD不是处理整个3D点云,而是基于点的操作,这意味着它直接在点云上进行工作,没有将数据转换为体素或图像的中间步骤。这有助于保留原始点云的精细结构。

  4. 采样策略

    • 三维欧氏距离:作为采样策略的一部分,3DSSD使用三维空间中的欧氏距离来选择关键点,这有助于减少处理的点的数量,同时保持关键几何信息。
    • 特征FPS(Farthest Point Sampling):这是一种点云采样方法,旨在选择分布最广泛的点,这样可以代表整个点云的结构。通过特征FPS,3DSSD能够选择具有最多信息量的点进行下一步处理。

这种方法使得3DSSD可以更加高效地处理大规模的3D点云数据,并在单个阶段内实现高效的目标检测。这对于那些需要在有限的计算资源下实现快速准确的3D对象检测的应用场景来说是非常有用的。

分割

​ 除了三维物体检测外,点云分割任务还提供了从点云数据中对整个场景的理解。一些工作侧重于室内点云分割。PointNet[104]通过结合MLP和最大池来直接从点云学习逐点特征,从而提供了一个统一的算子。PointNet++[105]进一步引入了集合抽象,以形成用于更具代表性的特征提取的本地操作。SpiderCNN[155]提出了一种用于高效几何特征提取的新型卷积架构。DGCNN[156]提出Edge Conv学习结合了局部邻域信息。PointCNN[157]使用X变换来同时对输入特征进行加权和排列,以便对变换后的特征进行后续卷积。KPConv[158]通过核点在欧几里得空间中存储卷积权重,这些核点应用于邻域中接近的输入点。点变换器[159]是一种基于变换器的方法,为点云设计自注意层。

​ 与室内感官分割不同,室外分割模型是为更不平衡的感官而设计的分配RandLA-Net[160]使用随机点采样而不是复杂的点选择方法来实现高效和轻量级的体系结构。PolarNet[161]使用极性BEV表示来平衡网格上的点数。Cylinder3D[162]介绍了一种新的圆柱形分区体素化方法和不对称的三维进化网络,以解决点分布不平衡的问题。(AF)2-S3Net[163]通过所提出的多分支注意特征融合模块和自适应特征选择模块,将基于体素和基于点的学习方法融合到一个统一的框架中TornadoNet[164]将鸟瞰和距离视图功能与一个新颖的菱形上下文块相结合。AMVNet[165]聚合了单个基于投影的网络的特征。DRINet[166]设计了用于点和体素之间的双重表示迭代学习的架构。DRINet++[167]通过增强点云的稀疏性和几何特性来扩展DRINet。稀疏点体素卷积(SPVConv)[83]使用基于辅助点的分支来预服务体素化和聚集下采样的高分辨率特征。在基于点和基于体素的分支之间的网络的不同阶段中执行信息交换。RPVNet[168]设计了一个具有体素视图、点视图和距离视图之间的多个相互信息交互的深度视觉网络。2D3DNet[169]使用标记的2D图像来生成用于网络监督的可信3D标签。2DPASS[170]通过将图像特征提取到点云网络中来增强点云表示学习

RandLA-Net(Random Sampling-based Large-scale Point Cloud Network)是一种针对大规模室外环境点云数据的分割模型。以下是对其核心特征的理解总结:

  1. 针对不平衡感知设计:RandLA-Net 考虑到室外场景点云数据在地形和物体分布上的不平衡性,因此它被设计来处理具有不同密度和尺寸的点云数据。

  2. 随机点采样:不同于采用复杂的采样策略(如Farthest Point Sampling, FPS)的网络,RandLA-Net 使用一种随机点采样技术,可以快速且有效地减少处理点的数量。

  3. 高效和轻量级:由于采用随机采样方法,RandLA-Net 能够显著减少计算负担,实现一个既高效又轻量级的模型。这对于需要在有限的计算资源下处理大量点云数据的应用尤其重要。

  4. 适应大规模点云:该模型特别适合于处理大规模的点云数据,如那些从无人机或移动激光扫描仪收集的数据。

通过使用随机采样,RandLA-Net 旨在在不牺牲性能的情况下提供一种更加高效的点云处理方法。它避免了在预处理阶段使用复杂的数据简化或采样算法,从而加快了模型的训练和推理速度,并使其能够处理非常大的点云数据集。

稀疏点体素卷积(Sparse Point-Voxel Convolution, 简称 SPVConv)是一种混合型神经网络结构,用于高效地处理点云数据。它结合了点云和体素的表示方法,以充分利用两者的优势。以下是对其主要概念的总结:

  1. 辅助点分支:SPVConv 使用一个辅助点分支来提前处理高分辨率的特征,这些特征将用于之后的体素化和特征聚合过程。

  2. 体素化和聚合:通过体素化,点云数据被转换为体素(三维像素)的形式,这样可以使用传统的卷积网络处理。聚合则是将多个点的特征合并到它们对应的体素中。

  3. 下采样:高分辨率的特征经过下采样,这样可以减少计算量并提高网络处理的效率。

  4. 信息交换:在网络的不同阶段,基于点的分支和基于体素的分支之间会进行信息交换。这种交换确保了两种类型的特征表示能够互相补充,优化整体的特征学习。

  5. 混合型网络:SPVConv 是一个混合型网络,结合了基于点的处理优势(能够精确处理几何信息)和基于体素的方法(能够利用成熟的3D卷积操作)。

通过这种结构,SPVConv 旨在同时处理大规模点云中的细节特征(通过点分支)和全局结构特征(通过体素分支),从而能够更加准确和有效地完成点云数据的分析任务,如分类、检测和分割。

RPVNet 是一种深度视觉网络,它针对点云数据的处理而设计。它特别关注于如何从多个视角(即体素视图、点视图和距离视图)捕获和利用信息,以及这些不同视图间的信息如何交互以提高特征表示的丰富性和准确性。以下是对RPVNet关键概念的总结:

  1. 多视角处理:RPVNet考虑点云数据从三个不同的视角来进行处理:

    • 体素视图:将点云数据转换为体素网格,可以使用3D卷积网络进行特征学习。
    • 点视图:直接处理原始点云数据,保留了点的几何位置信息。
    • 距离视图:关注点云数据中各点之间的距离信息,可能用于捕捉点云的结构特性。
  2. 相互信息交互:RPVNet 不仅独立处理每个视图中的信息,而且在网络内部还有机制允许这些视图之间交换信息。这种交互有助于:

    • 增强特征表示,因为来自一个视图的信息可以补充另一个视图的信息。
    • 提高模型的泛化能力,因为多角度考虑同一数据可以减少过拟合到特定视图的风险。
    • 提升处理效率,特别是在处理大规模点云数据时。
  3. 深度网络结构:RPVNet 使用深度网络结构来实现复杂的特征学习,能够处理点云数据的不规则性,并从中提取有用的信息以用于后续的任务,如物体检测、语义分割等。

通过这种设计,RPVNet 目的在于提高点云处理任务中的精度和效率,特别是在自动驾驶、机器人导航以及其他需要精确3D数据理解的应用中。

2D3DNet 是一个用于三维视觉感知的网络,它利用标记的二维图像来产生用于网络训练监督的三维标签。这种方法的核心在于结合二维图像中的丰富视觉细节和三维世界的空间信息,以此来提高网络对于三维数据的理解能力。以下是对2D3DNet的关键点总结:

  1. 数据融合:2D3DNet通过融合2D图像数据和3D空间信息来增强网络的学习过程。

  2. 生成3D标签:由于直接在三维空间中标记数据通常更加困难和耗时,2D3DNet使用已经标记好的2D图像来推导出相应的3D标签。这通常涉及到一些形式的投影或变换,将2D图像数据映射到三维空间中。

  3. 网络监督:生成的3D标签为网络提供了监督信号。这意味着网络可以通过对标准的二维图像处理技术和三维数据处理技术的结合来进行训练,而不是完全依赖于直接在三维空间中获得的标签。

  4. 提高准确性:这种方法允许2D3DNet利用二维图像中的细节信息来提高其对三维世界的感知准确性,尤其是在那些2D图像和3D标签之间有直接对应关系的场景中。

2D3DNet的这种设计有助于解决在三维数据标注中常见的问题,如成本高、效率低,并且可以在保持较高准确性的同时加速训练过程。这在资源有限或需要快速迭代的应用场景中特别有价值。

2DPASS是一种方法,它旨在通过将从二维图像中提取的特征融合到三维点云网络中,来增强点云的表示能力。以下是对2DPASS核心概念的总结:

  1. 跨模态特征提取:2DPASS桥接了2D视觉特征和3D点云数据的差距,通过提取图像的二维特征并将这些特征传递到点云处理网络中。

  2. 表示学习增强:通过此方法,点云的表示得到了增强,因为它不仅仅包含了从原始3D数据中直接提取的信息,还包括了丰富的二维图像数据所提供的上下文和纹理信息。

  3. 网络融合:2DPASS涉及将二维图像特征与三维点云特征在网络中进行有效融合,这可能涉及到对齐、融合策略和网络架构的创新设计。

  4. 增强点云网络的能力:通过这种融合,点云网络能够更好地学习和识别复杂的模式和结构,这对于许多3D视觉任务来说是非常有益的,例如物体识别、分类和三维重建。

2DPASS方法的优势在于能够充分利用可用的二维图像数据来改善三维点云处理的效果,特别是在图像和点云之间有清晰对应关系的场合。这样的方法通常可以提升系统在三维空间感知和理解任务中的性能。

传感器融合

​ 现代自动驾驶汽车配备了不同的传感器,如摄像头、激光雷达和雷达。每个传感器都有优点和缺点。**相机数据包含密集的颜色和纹理信息,但无法捕捉深度信息。激光雷达提供了准确的深度和结构信息,但受到有限的范围和稀疏性的影响。雷达比激光雷达更稀疏,但传感范围更长,可以捕捉运动物体的信息。**理想情况下,传感器融合将推动感知系统的性能上限,但如何融合来自不同模态的数据是一个具有挑战性的问题。
MVX-Net[171]将体素区域投影到图像,并应用ROI池来提取图像特征。**MMF[172]和ContFuse[173]**将每个BEV特征的激光雷达点投影到图像特征图,并应用连续卷积来融合特征。PointAugmenting[124]通过将所有激光雷达点投影到图像特征来构建图像特征点云。融合特征是通过将来自LiDAR特征点云和3D主干之后的图像特征点云的两个BEV特征级联而获得的AutoAlignV2[78]在将激光雷达点到图像投影为参考点之后,利用可变形的姿态[138]来提取具有激光雷达特征的图像特征。DeepFusion[77]通过使用体素特征作为查询,使用图像特征作为关键字和值,应用transformer[99]进行融合。CenterFusion[174]使用截头体关联将雷达特征和图像特征与初步3D框融合。FUTR3D[175]将3D参考点投影到来自不同模态的特征图,并使用可变形注意力融合特征。TransFusion[76]使用空间调制的交叉注意力来融合图像特征和激光雷达BEV特征,以涉及局部感应偏差。DeepInteraction[176]保留了模态特定的表示,而不是单一的混合表示来维护模态特定的信息。
​ 早期的融合方法除了在神经网络中间融合来自不同模态的特征外,还借助图像信息对激光雷达输入进行调整。PointPainting[73]根据投影关系将语义分割中的一个热门标签连接到点特征。然后,将增强的点特征馈送到任何仅LiDAR的3D检测器。F-PointNet[177]利用2D检测器提取每个2D边界框的视锥体内的点云。然后,每个具有相应点云的视锥体被馈送到仅激光雷达的3D检测器。
​ 后期融合方法在生成对象建议后对多模态信息进行融合。MV3D[110]采用BEV、前视图激光雷达和图像作为输入。在从BEV获得3D提案并将3D提案投影到其他模态之后,来自同一3D提案的不同模态的特征被融合以细化提案。AVOD[178]改进了具有高分辨率图像特征的MV3D[110]。CLOC[179]利用小网络对2D和3D检测器的预测结果进行运算,以调整具有非零IoU的成对2D和3D的置信度

MVX-Net是一种多模态3D目标检测网络,它结合了图像和点云数据来提升检测性能。以下是对MVX-Net核心概念的理解:

  1. 多模态融合:MVX-Net利用来自不同传感器的数据,即二维图像和三维点云(通常是激光雷达扫描数据)。这样的多模态融合使得网络能够同时利用图像中的纹理、颜色信息和点云中的几何信息。

  2. 体素化与投影:MVX-Net首先将点云数据体素化,即将点云划分成规则的三维网格(体素),以此简化点云数据的处理和特征学习。然后,它将这些体素区域投影到相关联的二维图像上。

  3. 区域兴趣池化(ROI池化):在将体素投影到图像平面上之后,MVX-Net使用区域兴趣池化(ROI Pooling)技术从图像中提取特征。ROI池化允许网络专注于图像中与体素对应的区域,并从这些区域提取有用的特征。

  4. 特征提取:从图像中提取的特征与体素特征结合,这样,每个体素不仅包含从点云数据中得到的三维空间信息,也包含了相应图像区域的二维视觉信息。

  5. 目标检测:结合了来自图像和点云的信息后,MVX-Net可以更准确地进行3D目标检测,因为多模态数据提供了比单一数据源更全面的信息。

MVX-Net的优势在于它通过结合两种类型的传感器数据,从而在3D目标检测任务中实现了更好的性能和更强的鲁棒性。这种方法特别适用于自动驾驶汽车和机器人视觉系统,其中对环境的精确和可靠理解至关重要。

MMF(Multi-Modal Fusion)和ContFuse是两种用于增强自动驾驶车辆的感知能力的多模态融合方法。它们通过结合图像(通常来自相机)和点云数据(通常来自激光雷达)来提高目标检测和分割的准确性。以下是对它们核心概念的解释:

  1. 多模态数据处理:这些方法的关键在于它们能够处理和结合不同类型的传感器数据。激光雷达提供准确的深度信息,而相机提供丰富的颜色和纹理信息。

  2. 鸟瞰图(BEV)特征:MMF和ContFuse将激光雷达数据转换为鸟瞰图(Bird’s Eye View)表示。这是一个从顶部视角查看车辆周围环境的二维平面图,它简化了三维空间中物体的检测和追踪。

  3. 点到图像的投影:从BEV特征表示中得到的激光雷达点被投影到相应的图像特征图上。这样,每个点都与相机视图中的一个特定像素相关联。

  4. 连续卷积:ContFuse利用连续卷积来融合不同传感器的特征。连续卷积是一种特殊类型的卷积,能够在不同分辨率和尺度的特征图之间进行平滑的融合。

  5. 特征融合:通过上述步骤,来自相机的图像特征和来自激光雷达的空间特征被有效结合。这种融合允许网络利用两种传感器的互补优势,例如图像中的细节信息和点云的空间结构信息。

  6. 改进的检测性能:通过结合图像和激光雷达信息,MMF和ContFuse可以更好地处理复杂的环境,例如在不同光照条件下或在遮挡情况下检测和分类物体。

MMF和ContFuse的优点在于它们提高了目标检测的精度,尤其是在视觉信息可能不足以提供可靠结果的场景中。这使它们成为了自动驾驶汽车和其他需要精确环境理解的应用的重要工具。

PointAugmenting 是一种点云增强技术,它利用激光雷达和相机数据来提升点云的特征表示。其核心思想是通过激光雷达点到图像的映射来丰富点云数据。以下是该技术的详细解释:

  1. 数据融合:PointAugmenting 结合了两种类型的传感器数据,即三维空间中的激光雷达点云和二维图像。这两者各自有优势:激光雷达精确地捕捉距离信息,而相机提供丰富的纹理和颜色信息。

  2. 点投影:技术实现时,首先将每个激光雷达点投影到相应的相机图像上。这样,每个激光雷达点都与图像中的一个像素相关联。

  3. 图像特征点云:通过投影,每个激光雷达点不仅包含其在空间中的位置(x, y, z 坐标),还附带了图像的特征(如颜色和纹理)。因此,创建了一个“图像特征点云”,在其中每个点都丰富了来自相机图像的信息。

  4. 增强的点云表示:得益于与图像数据的结合,增强后的点云表示具有更为丰富的信息,能够提供关于物体的额外细节,这有助于改进后续的处理步骤,如物体检测、分类和跟踪。

  5. 提升算法性能:这种增强的点云可以提供更为详尽的环境描述,使得算法能够在处理视觉任务时表现出更高的准确性,特别是在光照变化大或视觉遮挡情况下。

PointAugmenting 是一种有效的多模态数据增强策略,它特别适用于自动驾驶汽车和机器人视觉系统,因为它可以大幅度提高三维感知的准确度和鲁棒性。通过将激光雷达点云与图像特征结合,可以让系统更好地理解和解释它所观察到的场景。

融合特征的过程指的是将不同来源的数据(在这个情况下是来自激光雷达(LiDAR)的特征点云和来自图像的特征点云)结合在一起,以便提供一个更全面的数据集,这在执行任务如物体检测和分类时尤其有用。以下是这一过程的细节:

  1. 特征点云:首先,从激光雷达(LiDAR)和相机获取原始数据。激光雷达生成三维的空间点云,每个点包含其在空间中的位置信息;相机则提供二维的图像数据。

  2. 3D主干网络:然后,这些数据被分别输入到两个不同的3D主干网络(通常是深度学习模型),这些网络负责提取有用的特征。激光雷达点云输入到一个专门处理三维数据的网络中,而图像数据则输入到另一个处理二维数据的网络中。

  3. 特征级联:网络提取的特征分别表示了来自两个不同传感器的环境信息。之后,这些特征在鸟瞰视图(BEV,Bird’s Eye View)的表示中被结合。具体来说,是通过级联(concatenating)操作,即将两个特征按顺序拼接在一起,形成一个更长的特征向量。

  4. 融合BEV特征:这个长特征向量包含了从两个不同视角看到的信息——激光雷达提供的精确的深度信息和图像提供的详细的外观信息。通过这种融合,生成了一个包含丰富环境描述的综合特征,它可以用来进行更准确的物体检测和分类。

  5. 提升算法性能:融合来自多个传感器的特征可以改善系统的性能,因为它利用了每种传感器的独特优势,提供了更全面的环境感知能力。这对于自动驾驶汽车和机器人视觉系统等高级应用至关重要。

总之,通过将激光雷达的三维特征与图像的二维特征结合,可以显著提高算法在解释复杂环境和检测物体方面的能力。

AutoAlignV2 的工作原理基于激光雷达(LiDAR)数据与图像数据的对齐。该方法涉及几个关键步骤,可以总结如下:

  1. 激光雷达点投影:这个步骤首先将激光雷达的三维点云数据投影到二维图像上。通过这种方式,每个激光雷达点都可以在图像上找到对应的位置,这一过程通常利用相机的内参和外参矩阵来完成。

  2. 参考点:投影后的激光雷达点作为参考点,它们在图像上标记了三维空间中物体的精确位置。

  3. 可变形姿态:这里的"可变形姿态"很可能是指一种特殊的网络层,即可变形卷积层(deformable convolutions)。可变形卷积层可以适应物体的几何形状,提取更精确的特征。它允许网络在标准卷积的基础上学习偏移量,从而在图像特征的提取过程中更好地考虑物体的形状和位置。

  4. 提取图像特征:通过使用可变形卷积层,网络可以根据激光雷达参考点的准确位置,提取与激光雷达特征相匹配的图像特征。

  5. 特征融合:最终,这些图像特征(已经通过可变形卷积层调整以匹配激光雷达特征的形状和位置)可以与激光雷达点云数据的特征进行融合。这种融合使得网络能够综合考虑激光雷达的空间信息和图像的视觉信息。

通过这种方法,AutoAlignV2 可以生成包含详尽地理空间定位信息和视觉纹理信息的融合特征,为自动驾驶车辆或其他机器视觉系统提供了强大的环境感知能力。

B部分

三维视觉初探

lj0kfb.png

图7:从透视图到鸟瞰图的视图转换。(Xw,Yw,Zw),(Xc,Yc,Zc)表示世界坐标和相机坐标,(Xi,Yi)、(U,V)表示图像坐标和像素坐标。一根立柱从纯电动汽车平面上升起。P、 P’分别对应于来自柱的3D点和来自相机视图的投影2D点。给定P的世界坐标和相机的内在和外在参数,P的像素坐标’可以获得。

显式BEV特征构造通常需要基于3D-to-2D投影对局部图像视图特征进行索引。图7描述了纯电动汽车成型器[4]中的视图转换。将支柱从BEV平面中抬起,并将支柱内部的3D点投影到相机视图中。投影过程涉及世界、相机、图像和像素坐标系之间的转换

从世界坐标到相机坐标的变换是一种刚性变换,只需要平移和旋转。设Pw=[xw,yw,zw,1],Pc=
[xc,yc,zc,1]分别是3D点P在世界坐标和相机坐标中的同构表示。它们的关系可以描述如下:
P c = [ x c y c z c 1 ] = [ R T 0 T 1 ] [ x w y w z w 1 ] , ( 12 ) P_c=\begin{bmatrix}x_c\\y_c\\z_c\\1\end{bmatrix}=\begin{bmatrix}\boldsymbol{R}&\boldsymbol{T}\\\boldsymbol{0}^T&1\end{bmatrix}\begin{bmatrix}x_w\\y_w\\z_w\\1\end{bmatrix},\quad(12) Pc= xcyczc1 =[R0TT1] xwywzw1 ,(12)
其中R、T分别表示旋转矩阵和平移矩阵。
引入图像坐标系来描述摄像机坐标系对图像的透视投影。当不考虑相机失真时,3D点与其在图像位置上的投影之间的关系可以简化为针孔模型。图像坐标(xi,yi)可以通过等式计算。13:
{ x i = f ⋅ x c z c y i = f ⋅ y c z c ( 13 ) \begin{cases}x_i=f\cdot\dfrac{x_c}{z_c}\\y_i=f\cdot\dfrac{y_c}{z_c}\end{cases}\quad(13) xi=fzcxcyi=fzcyc(13)
其中f表示相机的焦距。
图像坐标系和像素坐标系之间存在平移和缩放变换关系。让我们表示α和β,表示到横坐标和纵坐标的比例因子,cx,cy表示到坐标系原点的平移值。像素坐标(u,v)在数学上由等式表示。14:
{ u = α x + C x v = β y + C y ( 14 ) \begin{cases}u=\alpha x+C_x\\v=\beta y+C_y\end{cases}\quad(14) {u=αx+Cxv=βy+Cy(14)
使用等式。13和等式。14,设置fx=αf,fy=βf,我们可以导出方程。15:
z c [ u v 1 ] = [ f x 0 c x 0 f y c y 0 0 1 ] [ x c y c z c ] . ( 15 ) z_c\begin{bmatrix}u\\v\\1\end{bmatrix}=\begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix}\begin{bmatrix}x_c\\y_c\\z_c\end{bmatrix}.\quad(15) zc uv1 = fx000fy0cxcy1 xcyczc .(15)
总之,世界坐标系中的三维点P与其投影P之间的关系’在像素坐标系中可以描述为:
z c [ u v 1 ] = [ f x 0 c x 0 f y c y 0 0 1 ] [ R T ] [ x w y w z w 1 ] , (16) = K [ R T ] [ x w y w z w 1 ] T . \begin{gathered} z_c\begin{bmatrix}u\\v\\1\end{bmatrix} =\begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix}\begin{bmatrix}\boldsymbol{R}&\boldsymbol{T}\end{bmatrix}\begin{bmatrix}x_w\\y_w\\z_w\\1\end{bmatrix}, \text{(16)} \\ =\boldsymbol{K}\begin{bmatrix}\boldsymbol{R}&\boldsymbol{T}\end{bmatrix}\begin{bmatrix}x_w&y_w&z_w&1\end{bmatrix}^T. \end{gathered} zc uv1 = fx000fy0cxcy1 [RT] xwywzw1 ,(16)=K[RT][xwywzw1]T.
矩阵 K = [ f x 0 c x 0 f y c y 0 0 1 ] \boldsymbol{K}=\begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix} K= fx000fy0cxcy1 ,被称为相机内部,矩阵R T被称为相机外部。利用三维点的世界坐标、相机的内在和外在,可以通过上述变换获得图像视图上的投影。

C部分

数据集和评估指标

Argoverse数据集

Argoverse[12,24]是第一个使用高清地图的自动驾驶数据集。Argoverse的传感器组包含2个激光雷达、7个环形摄像头和两个立体摄像头。早期版本称为Argoverse 1[24],支持两项任务:3D跟踪和运动预测。新的Argoverse 2[12]支持更多的任务:3D对象检测、无监督学习、运动预测和变化的地图感知,这更具多样性和挑战性。

评估指标PKL

规划KL散度(PKL)是CVPR 202[180]中提出的一种新的神经规划度量,它基于规划器轨迹的KL散度和地面实况的路线。规划器的轨迹是通过给出经过训练的检测器的检测结果来生成的。PKL度量总是非负的。PKL分数越小意味着检测性能越好。
LET-3D-APL的定位亲和力定义为:
•如果没有纵向定位误差,则定位亲和度=1.0。
•如果纵向定位误差等于或超过最大纵向定位误差,则定位亲和度=0.0。
•定位亲和力在0.0和1.0之间进行线性插值。

规划KL散度(PKL)和LET-3D-APL都是评估自动驾驶系统中某些功能的性能的指标。下面是对这两个概念的理解和解释:

规划KL散度(PKL)

PKL是在自动驾驶领域中评估预测轨迹与真实轨迹之间差异的一个新度量。这里的“规划器轨迹”是指基于自动驾驶系统中检测器检测结果的预测路径,而“地面实况的路线”是指真实世界中车辆应该行驶的路径。

  • KL散度:它是一个统计量,用来衡量两个概率分布之间的差异。在这种情况下,它被用来衡量预测轨迹的概率分布与真实轨迹概率分布之间的差异。

  • 检测性能:PKL得分越低意味着预测轨迹与实际轨迹越接近,即检测器性能越好。因为如果检测器能准确地识别出环境中的物体,那么基于这些检测结果规划出来的路径就会更接近真实世界中的最佳路径。

LET-3D-APL(定位亲和力)

LET-3D-APL是衡量自动驾驶系统中3D对象检测的定位准确性的一个指标。

  • 纵向定位误差:是指在车辆行驶方向上,检测到的物体的位置与实际位置之间的差距。

  • 定位亲和度:这是一个0到1之间的分数,用来表示定位的准确性。如果纵向定位误差为0(即没有误差),则定位亲和度为1.0,表示完美的定位。如果纵向定位误差等于或超过了一个预设的最大容忍误差,定位亲和度就是0.0,表示定位失败。介于两者之间的误差将导致定位亲和度在0.0和1.0之间线性变化。

总结来说,PKL是用来评估自动驾驶系统中轨迹规划的准确性的指标,而LET-3D-APL是评估3D对象检测的定位精度的指标。这两个度量都是用来确保自动驾驶系统的安全性和可靠性的关键性能指标。

D部分

纯电动汽车工业视图在表6中,我们详细描述了不同公司纯电动汽车架构中的输入和网络结构。

lj0T3e.png

表6:纯电动汽车架构的详细输入和网络选项。正如我们所观察到的,模态和特征提取器是不同的;变压器和ViDAR是工业上最常见的纯电动汽车改造选择。“-”表示未知信息

E部分

BEVFormer++中的三维检测头

这个技巧我们主要参考BEV相机的检测任务。在BEVFormer++中,采用了三个检测头。

相应地,这些头部涵盖了三类检测器设计,包括无锚、基于锚和基于中心。我们选择各种类型的探测器头,尽可能在设计上有所差异,以便充分利用探测框架在不同场景中的潜在能力。头部的多样性有助于最终的合奏结果。
原始BEVFormer使用改进的可变形DETR解码器作为其3D检测器[41 38 182],其可以在没有NMS的情况下端到端地检测3D边界框。对于此水头,我们遵循原始设计,但使用平滑L1损失来替换原始L1损失。我们的大多数技巧基线实验都是在DETR解码器上实现的,如表4 ID 1-15所述。
BEVFormer++采用FreeAnchor[183]和CenterPoint[67]作为替代3D检测器,其中FreeAnchor是一种基于锚的检测器,可以自动学习锚的匹配,CenterPoint是一种无锚3D探测器。表4 ID 16-20中的消融研究表明,这些头部在各种设置下表现不同。这对于合奏部分是重要的,因为预发音头在推理过程中提供了各种分布。
有关集成技术的更多详细信息,请参见第E.3.1节。值得注意的是,3D解码器还远没有得到很好的开发,因为高效的查询设计[148 185]使其在2D感知中蓬勃发展。如何将这些成功转移到3D感知领域将是这个社区的下一步。

在自动驾驶和3D目标检测领域,BEVFormer++ 是一种用于3D对象检测的方法,它可以集成不同类型的检测器来提高性能。这里提到的 FreeAnchorCenterPoint 是两种不同的3D检测器,它们与BEVFormer++结合使用,来探索它们在不同设置下的表现:

  1. FreeAnchor

    • 基于锚的检测器:这种类型的检测器预定义了一组锚(anchor),即预设的框,这些框有不同的形状和大小,用来作为检测对象候选。
    • 自动学习锚的匹配:FreeAnchor的特点是它可以自动学习锚点与真实边界框之间的最佳匹配,这使得它能够更灵活地适应不同尺寸和形状的对象。
  2. CenterPoint

    • 无锚3D探测器:与传统的基于锚的检测器不同,无锚检测器不依赖于预定义的锚点,而是直接在特征图上预测对象的中心点,然后围绕这些中心点建立边界框。
    • 适用于点云数据:CenterPoint主要针对的是处理来自LiDAR传感器的点云数据,它在检测精度和速度方面表现出色。

在表4的ID 16-20中提到的消融研究,可能是指研究者们进行的一系列实验,以分析FreeAnchor和CenterPoint这两种检测器头在BEVFormer++框架中的表现,以及它们在不同实验条件和参数设置下的性能变化。这种类型的实验有助于了解哪种检测器头在特定场景中更有效,从而为实际应用中的模型选择提供指导。

在最终的系统集成中,合奏部分指的是使用这些不同的检测器头进行组合,利用它们在推理过程中提供的各种分布来提高整体的检测性能。每个检测器可能会在特定类型的物体或情况下表现更好,因此组合它们可以增强系统的鲁棒性,从而在更广泛的场景和条件下实现更准确的检测结果。

测试时间增强(TTA)
纯电动汽车摄像头

​ 检测2D任务的常见测试时间增强,包括多尺度和翻转测试,也被检查以提高3D情况下的准确性。在BEVFormer++中,这一部分以利用多尺度和翻转等标准数据增强的形式进行了简单的探索。多尺度强化的程度与训练相同,从0.75到1.25不等。相关实验如表4 ID 13所示。

激光雷达分割

​ 在推理过程中,使用了多个TTA,包括漫游、缩放和翻转。对于缩放,所有模型的缩放因子都设置为{0.90、0.95、1.00、1.05、1.10},因为较大或较小的缩放因子对模型性能有害。翻转与训练阶段相同,即沿X轴、Y轴以及X和Y轴。旋转角度设置为{-π2.,0,π2.,π}。可以选择更细粒度的缩放因子或旋转角度,但考虑到计算开销和TTA组合策略,粗粒度参数是优选的。
​ 与细粒度的扩充参数相比,TTA的组合将进一步提高模型性能。然而,由于TTA的多路复用,这是非常耗时的。采用了具有20个推理时间的组合模型相关TTA。可以进行组合策略的网格搜索。根据经验,缩放和翻转相结合是优选的。可以获得1.5 mIoU的明显改善(见表5 ID 4)。

在推理过程中使用的多个TTA(Test-Time Augmentation),如漫游、缩放和翻转,是一种提高深度学习模型性能的技术。TTA涉及在测试时对输入数据进行一系列变换,以模拟训练时的数据增强,并且增加模型对输入变化的鲁棒性。这里提到的TTA技术具体包括:

  1. 漫游(可能指平移或旋转):

    • 在图像或3D点云中,可以通过平移或旋转对象来模拟不同的观察视角。
  2. 缩放

    • 通过改变对象的尺寸,可以模拟对象距离摄像头/传感器的远近变化。
  3. 翻转

    • 在图像中,可以沿着垂直或水平轴翻转,以模拟镜像视角的变化。

在推理过程中应用TTA的目的是通过多角度和尺度来考察模型对同一个对象的识别能力,以此提升模型的泛化能力。对于每个变换后的输入,模型会产生一组检测结果,这些结果可以通过投票或平均等方法合成,以提高最终预测的精确度和可靠性。

例如,在自动驾驶车辆的3D对象检测中,由于车辆在运行过程中可能会遇到各种大小、角度和位置的对象,因此使用TTA可以帮助检测系统更准确地识别和定位这些对象,无论它们如何在传感器的视野中出现。

集成
纯电动汽车摄像头检测

集成技术通常在待测试的数据集之间有所不同;2D/3D物体检测中使用的一般实践可以应用于BEV感知,但需要进行一些修改。以BEVFormer++为例,在集成阶段,我们介绍了加权盒融合(WBF)的改进版本[186]。受Adj NMS[187]的启发,在原始WBF之后采用矩阵NMS[188]来过滤冗余盒。为了生成多尺度和翻转结果,采用了两阶段集成策略。在第一阶段,我们利用改进的WBF来集成来自多尺度管道的预测,以生成每个模型的翻转和非翻转结果。表7列出了专家模型性能的相关实验。在第二阶段,收集所有专家模型的结果。改进后的WBF用于获得最终结果。这种两阶段集成策略将模型性能提高了0.7 LET mAPL,如表8所示。

lj0mAP.png

表8:BEV摄像头检测轨迹。BEVFormer++中val集的集合策略。FrA(自由锚头[183])。
DeD(可变形DETR头[138])。CeP(中心点封头[67])。“20个模型”表示20种不同设置下的专家模型。

​ 考虑到每个模型中性能的多样性,我们认为参数调整要复杂得多。因此,采用进化算法来搜索WBF参数和模型权重。我们利用NNI[189]中的进化来自动搜索参数,其中种群大小为100。搜索过程基于3000张验证图像的性能;不同的类被分别搜索。

LiDAR分割

​ 作为一项逐点分类任务,分割的任务是从平均的方式。具体来说,对不同模型预测的概率进行简单的求和,然后用argmax运算确定每个点的分类结果。为了提高我们模型的多样性,我们使用一种称为导出模型的不同数据重采样策略来训练模型。根据关于场景和天气条件的上下文信息,在基于所有数据训练的模型上对多个特定于上下文的模型进行微调。如表5 ID 8和9所示,模型集成和专家模型的使用分别带来0.7和0.3 mIoU的改进。
​ 在模型特定的TTA之后,模型的概率以分层的方式进行聚合。考虑到模型的多样性,模型集成分为两个阶段进行处理。在第一阶段,**用不同的权重对齐次模型(例如具有不同超参数的模型)的概率进行平均。然后,在第二阶段中,用不同的权重对异构模型(即具有不同结构的模型)的概率进行平均。**NNI[189]中最大试验次数为160的退火算法用于在两个阶段搜索验证集上的权重。

在这段描述中,我们看到一个关于点云分割任务的方法。分割任务在此上下文中指的是确定每个点在3D空间中所属的类别(如车辆、行人、建筑物等)。这通常被视为逐点分类任务,其中每个点都要被分配一个类别标签。以下是详细的步骤和概念解释:

  1. 逐点分类

    • 在点云分割中,模型需要为每个点预测一个类别标签。这类似于像素级别的分类任务,但在3D点云数据中进行。
  2. 平均方式

    • 指的是通过整合不同模型对同一数据点的预测概率,然后选择最高概率的类别作为最终的分类结果。通常,这涉及到对每个类别的概率分布进行平均,并使用argmax函数来选出平均后概率最高的类别。
  3. 简单求和

    • 这里描述的简单求和可能是指将来自不同模型的概率预测对于每个类别简单相加,以此作为进行分类决策的依据。
  4. argmax运算

    • 这是一个常用的操作,用于从概率分布中选择最高概率对应的类别作为预测结果。
  5. 模型多样性和数据重采样

    • 为了提高模型的鲁棒性,使用了不同的数据重采样策略来训练多个模型。这样做可以增加模型的多样性,因为每个模型可能对数据的不同方面有更好的学习和预测。
  6. 导出模型

    • 可能是指一种特定的模型,它是基于某个更通用模型的变体,并针对特定的数据子集进行了优化。
  7. 专家模型

    • 是一组特定于上下文的模型,它们被微调以在特定的场景和天气条件下表现更好。
  8. 模型集成

    • 是合并多个模型的预测以提高性能的过程。模型集成可以通过减少过拟合和提高泛化能力来提高预测的准确性。
  9. mIoU

    • 即平均交并比(Mean Intersection over Union),是评估分割任务中模型性能的常用指标,它计算了预测的类别与真实标签之间的重叠程度。

根据表5 ID 8和9,通过模型集成和使用专家模型,分别带来了0.7和0.3的mIoU提升,表明结合不同模型的预测和针对特定上下文优化模型的策略能有效提升分割性能。

在这里描述的是一个两阶段的模型集成过程,其中涉及到了“测试时间增强”(TTA)的应用以及模型概率的分层聚合策略。以下是关键点的解释:

  1. 测试时间增强(TTA)

    • TTA是一种常见的技术,用于提高模型在测试时的性能。它通常涉及到对输入数据应用某种形式的增强(如旋转、缩放、翻转等)然后将模型的预测结果进行合并。TTA可以帮助模型应对在训练数据中未见过的小变化。
  2. 分层的概率聚合

    • 这是一种特定的集成方法,其中不同模型的预测概率通过分层的方式进行合并。在第一层,类似的模型(例如,那些只是在超参数上有差异的模型)的预测概率被平均在一起,每个模型可以有不同的权重。这个步骤可能是为了抵消单一模型超参数选择的不确定性。
  3. 用不同权重对齐次模型的概率进行平均

    • 这意味着在第一阶段的集成中,相似模型的概率不是简单的算术平均,而是根据每个模型的重要性或性能给予不同的权重。
  4. 异构模型的概率聚合

    • 在第二个阶段,不同架构的模型(可能涉及不同的特征表示或学习策略)的预测结果将被合并,这可以引入结构上的多样性并可能进一步提升模型的泛化能力。
  5. 退火算法和NNI

    • 退火算法是一种优化算法,通常用于在一个较大的搜索空间内找到一个全局最优解,它是受物理退火过程启发的。NNI(Neural Network Intelligence)是一个自动化的机器学习(AutoML)工具,它支持不同种类的优化算法来调整模型和超参数。在这个上下文中,退火算法被用于寻找在验证集上表现最佳的权重组合,这些权重用于在两个阶段的模型集成中对模型的概率预测进行加权平均。

通过这种方式,集成不仅考虑了不同模型的性能,而且还利用了优化技术来调整权重,以便在最终的预测中以最优的方式结合这些模型的优势。

后处理
纯电动汽车摄像头检测

​ 虽然纯电动汽车检测消除了多摄像头物体级融合的负担,但我们观察到了可以从进一步的后处理中受益的显著事实。**根据BEV变换的性质,重复的特征可能会在沿着光线到相机中心的不同BEV位置上采样。**这导致在一个前景对象上的重复错误检测,其中每个错误检测具有不同的深度,但可以全部投影回图像空间中的相同前景对象。为了缓解这个问题,利用2D检测结果对3D检测结果进行重复去除是有益的,其中2D边界框和3D边界框是二分匹配的。在我们的实验中,当使用真实的2D边界框作为滤波器时,可以提高3D检测性能。然而,如第4.3.1节所述,当使用经过辅助监督训练的2D检测头的预测2D边界框时,我们观察到几乎无法获得改进。这可能是由于2D检测的训练不足造成的。因此,需要对联合2D/3D冗余检测去除进行进一步的研究。
​ NMS的应用取决于检测头设计是否表现出无NMS的特性。通常,对于一对多分配,NMS是必要的。尤其是用新提出的LET-IoU[61]替换NMS中常用的IoU度量以去除冗余结果可以改善检测结果。改进情况见表4 ID 12、17和21。这种设计更适合纯电动汽车相机专用的3D探测器。由于两个相互冗余的结果的3D IoU在数值上很小,这通常导致无法去除假阳性结果。对于LET-IoU,冗余结果往往会困扰更高的IoU,从而在很大程度上被去除。

这段文字讲述的是鸟瞰图(BEV, Bird’s Eye View)变换在处理3D对象检测时可能出现的一个问题。让我来解释这个问题:

在自动驾驶系统和机器人视觉等领域,BEV变换是一种常用的技术,它将来自车辆周围环境的数据(通常是通过相机或激光雷达(LiDAR)传感器获取)转换成鸟瞰图。这个转换通常是将3D空间中的点投影到一个2D平面上,这个平面模拟了从上方查看场景的视角。BEV变换使得车辆的导航和障碍物检测更加直观。

然而,由于这种转换的性质,特别是当使用摄像头图像数据时,可能会出现一个问题,即同一个3D点(属于某个对象,如车辆)在不同的深度上被采样到BEV中的不同位置。这是因为在相机图像中,一条从3D世界点发出并穿过相机中心的射线,在BEV中对应着一系列可能的位置,这取决于该点的具体深度。

举个例子:想象一辆汽车在相机前方,由于BEV变换的性质,这辆汽车的同一个部分可能会被映射到BEV上不同的位置,每个位置对应着该部分的不同假设深度。如果检测算法没有正确处理这种深度的歧义,就会在BEV中产生多个重复的错误检测,这些检测代表的是同一个实际对象在不同的深度假设下的多个副本。

这段话的意思是在3D对象检测的应用中,比如自动驾驶或者机器视觉系统中,利用2D图像上的检测结果来优化3D检测结果是有帮助的。具体来说,它提到了一种方法,这种方法是通过在2D和3D边界框之间进行二分匹配,从而对3D检测结果中的潜在重复进行去除。这里的“二分匹配”通常指的是一种算法,用于找到最佳的匹配对,使得每个2D边界框与一个3D边界框相对应,反之亦然,这样每个2D检测只会被用来过滤一个3D检测。

在实验中,研究人员发现如果使用准确的2D检测框(真实的2D边界框)来过滤3D检测结果,可以提高3D检测的准确性。这意味着,当我们确定一个物体在2D图像上的位置很可能是准确的时,我们可以用这个信息来验证和改进3D世界中该物体的位置估计。

例如,在自动驾驶的场景中,车辆可能会使用相机来捕捉2D图像,并用激光雷达来获取3D点云数据。通过在这两种数据之间进行匹配,系统可以更准确地识别和定位道路上的其他车辆和障碍物。这种方法减少了误报(错误的检测)和漏报(未检测到的物体),从而提高了整体的检测性能。

激光雷达分割

​ 通过分析混淆矩阵,我们观察到大多数错误分类发生在相似的类别中。因此,语义类可以被划分为多个组,在这些组中,与组外的类相比,类被严重混淆。后处理技术分别对前景语义组进行处理,并在表5 ID 10中提高了0.9mIoU。
​ 现有的分割方法执行逐点分类,而不考虑单个对象的一致性。例如,一些标记为前景对象的点将被预测为背景。基于上述分层分类进行对象级细化以进一步提高对象级完整性。通过在预测的基础上屏蔽同一语义组中的点,并进行欧几里得聚类,可以将点分组到实例中。然后通过多数投票来确定每个实例的预测。

​ 此外,对于每个对象,通过轻量级分类网络进行对象级分类的证明,以确定对象的最终预测类别。当获得对象级预测时,通过跟踪进一步细化预测的时间一致性。执行跟踪以从所有先前帧中找到对应的对象。通过考虑所有先前的预测来细化当前帧中对象的预测类别。

分析混淆矩阵可以帮助我们理解一个分类模型的性能,特别是它在预测不同类别时的精确性。混淆矩阵是一个方阵,其大小为类别的数量,每一行代表实际的类别,每一列代表预测的类别。一个理想的混淆矩阵主对角线的值将是最大的,因为这意味着所有的预测都是正确的。

在这种情况下,通过分析混淆矩阵,观察到错误的分类主要发生在相似类别之间。例如,在一个图像中,树和灌木可能因为它们的外观相似而经常被相互误分类。根据这些信息,可以将语义类分为几个组,每个组包含经常被相互混淆的类别。

后处理技术是指在模型输出结果之后应用的一系列技术,可以进一步提高分类的准确性。在这种情况下,后处理技术被用来分别处理每个前景语义组。这意味着对于每个组,将有专门的步骤来处理组内的类别,以减少这些相似类别之间的混淆。例如,可能会调整类别之间的判定阈值,或者使用特定于上下文的规则来帮助区分相似的类别。这种方法的目标是减少组内的误分类,同时不会影响到组外的类别。

F部分

挑战和未来趋势

​ 尽管纯电动汽车在自动驾驶中的感知算法表示很受欢迎,但社区仍面临许多重大挑战需要解决。在本节中,我们列出了一些未来的研究方向。

深度估计

​ 正如主要论文中所讨论的,基于视觉的BEV感知的核心问题在于准确的深度估计,因为任务是在3D环境中执行的。当前重新求解深度预测的方法是(a)伪激光雷达生成;(b) 将特征从2D对应提升到3D对应;(c) 激光雷达相机蒸馏;以及(d)立体视差或时间运动。这些方向中的任何一个或组合都是有希望的。为了保证更好的性能,大量的监督数据也至关重要[80]。
另一个有趣而重要的方向是**如何在训练期间利用激光雷达信息(例如,作为深度监督),而在参考期间只提供视觉输入。**这对原始设备制造商来说非常有利我们有来自多个来源的大量训练数据,但出于部署考虑,运输产品上只有摄像头输入。迄今为止,大多数聚变方法可分为早期聚变、中期聚变或晚期聚变组之一,这取决于聚变模块在管道中的位置。

您提到的这段总结集中讨论了基于视觉的鸟瞰图(BEV)感知在3D环境中的关键挑战,即准确的深度估计。深度估计是将2D图像数据转换成3D信息的过程,这对于自动驾驶系统中的物体检测、定位和导航至关重要。以下是对提到的深度估计方法的简要总结:

  1. 伪激光雷达生成(Pseudo-LiDAR Generation): 这种方法通过视觉数据模仿激光雷达产生的3D点云数据。使用立体图像或单目深度估计技术生成深度图,然后将其转换为3D空间中的点云表示,类似于激光雷达的输出。

  2. 将特征从2D提升到3D(Feature Lifting from 2D to 3D): 在这种方法中,2D图像中提取的特征通过某种形式的深度预测被映射或“提升”到3D空间。这通常涉及到深度学习网络来预测每个像素点的深度值。

  3. 激光雷达相机蒸馏(LiDAR-Camera Distillation): 这种方法涉及使用激光雷达数据作为高精度的监督信息来指导或“蒸馏”相机感知系统的训练。通过这种方式,摄像机系统可以学习模仿激光雷达的深度感知能力。

  4. 立体视差或运动视差(Stereo or Motion Parallax): 这些传统的计算机视觉技术通过分析成对的立体图像之间的差异(立体视差)或者通过分析图像序列中物体随时间的相对运动(运动视差),来估计深度信息。

论文指出,为了提高这些方法的性能,丰富的监督数据是至关重要的。这表明在训练深度估计模型时,需要大量的标记数据,例如精确标记的3D点云和与之对应的2D图像,以确保模型能够学习如何准确地估计深度。同时,不同的深度估计方法可能被组合使用,以充分利用各自的优势并提高整体的性能。

您所描述的方向探讨了在训练阶段使用激光雷达数据来增强深度学习模型的能力,同时在实际应用中只依赖于摄像头输入。这种方法尤其对汽车制造商来说很有吸引力,因为他们在研发阶段可以访问配备了多种传感器的测试车辆,但出于成本和复杂性的考虑,最终的消费者产品可能仅装配有摄像头。这种策略允许在不牺牲最终产品的简洁性和经济性的情况下,充分利用训练阶段可用的丰富数据和传感器。

聚合(或融合)方法可以根据它们在数据处理管道中的位置被分类为早期聚合、中期聚合或晚期聚合:

  1. 早期聚合(Early Fusion): 在这种方法中,激光雷达和图像数据在输入层或在网络的初始阶段就被结合起来。模型从开始就学会如何整合不同传感器的信息。

  2. 中期聚合(Mid-level Fusion): 在这种情况下,融合发生在网络的中间层。此时,从各个传感器得到的特征已经经过一定程度的处理,网络将这些中级表示融合在一起以进行进一步的分析。

  3. 晚期聚合(Late Fusion): 这种融合策略涉及将来自各个独立传感器的高级信息在网络的后期阶段结合起来。这可能意味着在决策层面进行融合,例如在不同的模型为同一任务输出它们的预测之后。

在摄像头只输入的部署场景中,深度学习模型需要学会无激光雷达情况下的视觉感知。这通常通过激光雷达数据来提供训练阶段的深度监督来实现,模型在此阶段可以学习深度的表示和估计。然后,这些学到的表示可以在实际应用中,没有激光雷达的帮助下,用来从摄像头数据中推断深度信息。这个过程通常涉及到跨模态知识转移,其中模型的一部分在训练时利用激光雷达数据,而在实际应用中则被训练来依赖于摄像头数据。

综上所述,这种方法的关键优势是在生产部署中实现了成本效益和系统简化,同时还能利用激光雷达等高精度传感器的训练期间的深度监督优势。

融合机制

​ 传感器融合算法最直接的设计是将相机和激光雷达的两组特征分别连接起来。然而,正如前几节所述,如何“对齐”来自不同来源的特征至关重要。这意味着:(a)来自相机的特征表示在3D几何空间而不是2D上下文中被适当地描绘;(b) 三维空间中的点云与二维空间中的对应点云具有精确的对应关系,这意味着激光雷达和相机之间的软同步和/或硬同步得到了很好的保证。
在上述先决条件的基础上,如何设计一个优雅的融合方案需要社区更多的关注。这方面的未来努力可能是,(a)利用自我和/或交叉注意力,在Transformer精神中整合来自各种模态的特征表示[14];(b) 来自一般多模态文献的知识也可能是有利的,例如,CLIP公式[18]中文本-图像对的哲学可以启发在自主驾驶领域中不同传感器的信息集成。

传感器融合是自动驾驶技术中的一个关键组成部分,它需要将来自不同传感器的数据(如相机和激光雷达)结合起来,以提供对车辆周围环境的更全面的理解。总结你提供的内容,我们可以理解如下:

  1. 特征“对齐”:传感器融合的一个主要挑战是如何有效地“对齐”来自不同传感器的数据。对于相机和激光雷达,这意味着需要:

    • 将相机获取的2D图像数据转化为3D空间中的表示,以匹配激光雷达的3D点云数据。
    • 确保激光雷达的点云和相机图像在几何上是精确对应的,这可能涉及时间同步(软同步)和空间对齐(硬同步)。
  2. 设计优雅的融合方案:为了更有效地整合不同模态的数据,研究社区需要专注于设计新的融合方法。一些可能的研究方向包括:

    • 利用Transformer架构:通过自注意力和交叉注意力机制,可以整合来自不同模态的特征表示,如将图像特征和点云数据相互关联。
    • 借鉴多模态学习文献:例如,CLIP模型中用于图像和文本配对的方法可以为自动驾驶中传感器数据的集成提供启示,帮助不同传感器信息的融合。

总之,传感器融合算法的关键在于如何处理和整合来自不同源的信息,以确保自动驾驶系统可以获得一致且准确的环境感知能力。这需要不断的研究和开发,以创造出更为高效和精确的融合技术。

提高泛化能力的无参数设计

​ BEV感知中最大的挑战之一是进行主适应。一个数据集中经过训练的模型在另一个数据集中的表现和泛化能力如何。我们无法承担每个数据集中算法的高昂成本(训练、数据、注释等)。由于BEV感知本质上是对物理世界的3D重建,我们认为一个好的检测器必须与相机参数,特别是外部矩阵紧密相连。不同的基准具有不同的相机/传感器设置,对应于物理位置、重叠区域、FOV(视场)、失真参数等。这些因素都会导致将良好性能从一个场景转移到另一个领域的(极端)困难。
为此,它敦促我们
将网络与相机参数解耦,也就是说,使特征学习独立于外在和/或内在矩阵
。学术界(外在自由,[190])和工业界(矫正模块,[6])都在这个方向上做了一些有趣的工作。
​ 尽管如此,这是不重要的,作为未来的工作,最好从社区进行更多的调查。无参数设计具有鲁棒性,可以解决现实应用中由于道路颠簸和摄像机不稳定而导致的检测不准确问题。

促进纯电动汽车感知的基础模型

​ 近年来,在普通视觉界蓬勃发展,大型或基础模型[14,15,18,191,192]在许多领域和任务中取得了令人印象深刻的性能,并超越了现有技术。纯电动汽车的感知至少有两个方面值得研究。
一种是应用驻留在大型预训练模型中的丰富知识,并提供更好的初始检查点来进行微调。然而,正如前一节所暗示的那样,一些2D基础模型的直接自适应在3D BEV意义上可能不能很好地工作。如何设计和选择基础模型来更好地适应自动驾驶任务是一个长期存在的研究问题。
战是如何有效地“对齐”来自不同传感器的数据。对于相机和激光雷达,这意味着需要:

  • 将相机获取的2D图像数据转化为3D空间中的表示,以匹配激光雷达的3D点云数据。
  • 确保激光雷达的点云和相机图像在几何上是精确对应的,这可能涉及时间同步(软同步)和空间对齐(硬同步)。
  1. 设计优雅的融合方案:为了更有效地整合不同模态的数据,研究社区需要专注于设计新的融合方法。一些可能的研究方向包括:
    • 利用Transformer架构:通过自注意力和交叉注意力机制,可以整合来自不同模态的特征表示,如将图像特征和点云数据相互关联。
    • 借鉴多模态学习文献:例如,CLIP模型中用于图像和文本配对的方法可以为自动驾驶中传感器数据的集成提供启示,帮助不同传感器信息的融合。

总之,传感器融合算法的关键在于如何处理和整合来自不同源的信息,以确保自动驾驶系统可以获得一致且准确的环境感知能力。这需要不断的研究和开发,以创造出更为高效和精确的融合技术。

提高泛化能力的无参数设计

​ BEV感知中最大的挑战之一是进行主适应。一个数据集中经过训练的模型在另一个数据集中的表现和泛化能力如何。我们无法承担每个数据集中算法的高昂成本(训练、数据、注释等)。由于BEV感知本质上是对物理世界的3D重建,我们认为一个好的检测器必须与相机参数,特别是外部矩阵紧密相连。不同的基准具有不同的相机/传感器设置,对应于物理位置、重叠区域、FOV(视场)、失真参数等。这些因素都会导致将良好性能从一个场景转移到另一个领域的(极端)困难。
为此,它敦促我们
将网络与相机参数解耦,也就是说,使特征学习独立于外在和/或内在矩阵
。学术界(外在自由,[190])和工业界(矫正模块,[6])都在这个方向上做了一些有趣的工作。
​ 尽管如此,这是不重要的,作为未来的工作,最好从社区进行更多的调查。无参数设计具有鲁棒性,可以解决现实应用中由于道路颠簸和摄像机不稳定而导致的检测不准确问题。

促进纯电动汽车感知的基础模型

​ 近年来,在普通视觉界蓬勃发展,大型或基础模型[14,15,18,191,192]在许多领域和任务中取得了令人印象深刻的性能,并超越了现有技术。纯电动汽车的感知至少有两个方面值得研究。
一种是应用驻留在大型预训练模型中的丰富知识,并提供更好的初始检查点来进行微调。然而,正如前一节所暗示的那样,一些2D基础模型的直接自适应在3D BEV意义上可能不能很好地工作。如何设计和选择基础模型来更好地适应自动驾驶任务是一个长期存在的研究问题。
​ 另一项尚未完成的努力是如何发展多任务学习的理念,就像BEV感知的基础模型(一般ist)一样。在普通视觉文献中有一些有趣的工作,其中OFA[193]、Uni-inceptor MoE[194]、GATO[195]等将执行多个复杂的任务并获得令人满意的结果。我们能否将类似的哲学应用于BEV感知,并将多个任务统一在一个框架中?这是有意义的,因为自动驾驶中的感知和认知领域需要合作处理复杂的场景,以实现L5的最终目标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins项目部署

使用jenkins部署项目 简易版使用jenkins部署项目 将war包部署到tomcat中 将已有的war包部署到tomcat中(jenkins与tomcat在同一台主机) 点击Jenkins主页的新建任务 输入任务名称 选择构建一个自由风格的软件项目后点击确定 在构建内添加构建步骤,选择执行shell 输入…

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图)

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图) 目录 回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图)效果一览基本介绍程序设计参考资料 效果一览…

数字IC后端实现 |TSMC 12nm 与TSMC 28nm Metal Stack的区别

下图为咱们社区IC后端训练营项目用到的Metal Stack。 芯片Tapeout Review CheckList 数字IC后端零基础入门Innovus学习教程 1P代表一层poly,10M代表有10层metal,M5x表示M2-M6为一倍最小线宽宽度的金属层,2y表示M7-M8为二倍最小线宽宽度的金…

npm的使用

package.json 快速生成package.json npm init -y “version”: “~1.1.0” 格式为:「主版本号. 次版本号. 修订号」。 修改主版本号是做了大的功能性的改动 修改次版本号是新增了新功能 修改修订号就是修复了一些bug dependencies "dependencies": {&…

redis rdb aof

appendonly yes # appendfsync always appendfsync everysec # appendfsync no E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit appendonly.aof

BERT:来自 Transformers 的双向编码器表示 – 释放深度上下文化词嵌入的力量

BERT是Transformers 双向编码器表示的缩写,是 2018 年推出的改变游戏规则的 NLP 模型之一。BERT 的情感分类、文本摘要和问答功能使其看起来像是一站式 NLP 模型。尽管更新和更大的语言模型已经出现,但 BERT 仍然具有相关性,并且值得学习它的架构、方法和功能。 这篇综合文…

Jetson NX FFmpeg硬件编解码实现

最近在用Jetson Xavier NX板子做视频处理,但是CPU进行视频编解码,效率比较地下。 于是便考虑用硬解码来对视频进行处理。 通过jtop查看,发现板子是支持 NVENC硬件编解码的。 1、下载源码 因为需要对ffmpeg进行打补丁修改,因此需…

Springboot JSP项目如何以war、jar方式运行

文章目录 一,序二,样例代码1,代码结构2,完整代码备份 三,准备工作1. pom.xml 引入组件2. application.yml 指定jsp配置 四,war方式运行1. 修改pom.xml文件2. mvn执行打包 五,jar方式运行1. 修改…

centos7 开机命令自启动

要在CentOS 7中将命令添加到开机自动启动中,你可以使用/etc/rc.local文件,这是一个在系统引导时自动运行的脚本文件。以下是如何在/etc/rc.local中添加自定义命令的步骤: 打开/etc/rc.local文件进行编辑: sudo nano /etc/rc.local…

软考高项-项目资源管理

项目资源管理包括识别、获取和管理所需资源以成功完成项目的各个过程。这些过程有助于确保项目经理和项目团队在正确的时间盒地点使用正确的资源。 项目资源分为:实物资源(设备、材料、设施和基础设施);团队资源(人力资源) 权力 权力权力要点来源职位权力来源于管理者在…

qgis linux环境下编译

RED$(tput setaf 1) GREEN$(tput setaf 2) RES$(tput sgr0) #清除颜色function pause() {echo "${RED}Press any key to continue!${RES}"dd if/dev/tty bs1 count1 2> /dev/null } function open_package() {tar_dir$1 #压缩包路径src_dir$2run_cmd$3#解压 if […

MATLAB中设置 Git 源代码管理

目录 在 Git 中注册二进制文件 在 Windows 上为 Git 配置 MATLAB 启用对长路径的支持(推荐) 安装 Cygwin(可选) 将 MATLAB 配置为使用 Git SSH 验证 安装 Git 凭据助手 对 Simulink 模型禁用压缩 配置 Git 以使用 Git LFS…

PPT制作指南

诸神缄默不语-个人CSDN博文目录 文章目录 1. SOP2. PPT的目标3. PPT素材4. 内容框架5. 设计细节本文撰写过程中使用到的参考资料 1. SOP 分析目标→收集素材→明确框架→视觉呈现 2. PPT的目标 演讲型PPT:字少图多 阅读型PPT:需要文字解释 分析维度&…

【深度学习基础】Pytorch框架CV开发(2)实战篇

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

ubuntu20.04下apache启用php7.4-fpm

默认的apache不解析php文件: 直接安装提示依赖有问题: libapache2-mod-php7.4 : Depends: php7.4-common ( 7.4.3-4ubuntu2.19) but 1:7.4.33-8ubuntu20.04.1deb.sury.org1 is to be installed rootfv-az1492-145:/tmp# sudo apt install libapache2-…

springboot常见网络相关错误及原因解析

在基于spring-boot开发过程尤其是上线后,经常出现网络相关的错误,令人难以琢磨和下手,所以就spring-boot使用过程中可能碰到的网络相关问题进行分析,结合网络转包、日志报错和前端输出,针对网络连接超时、连接被拒绝、…

默认路由配置

默认路由: 在末节路由器上使用。(末节路由器是前往其他网络只有一条路可以走的路由器) 默认路由被称为最后的关卡,也就是静态路由不可用并且动态路由也不可用,最后就会选择默认路由。有时在末节路由器上写静态路由时…

十种常见典型算法

什么是算法? 简而言之,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。(来源:homas H. Cormen, Chales E. Leiserson 《算法导论第3版》) 可以这样理…

自动驾驶算法(五):Informed RRT*算法讲解与代码实现(基于采样的路径规划) 与比较

目录 1 RRT*与Informed RRT* 2 Informed RRT*代码解析 3 完整代码 4 算法比较 1 RRT*与Informed RRT* 上篇博客我们介绍了RRT*算法:我们在找到一个路径以后我们还会反复的搜索。 Informed RRT*算法提出的动机(motivation)是能否增加渐近最优的速度呢?…

【数据结构】树家族

目录 树的相关术语树家族二叉树霍夫曼树二叉查找树 BST平衡二叉树 AVL红黑树伸展树替罪羊树 B树B树B* 树 当谈到数据结构中的树时,我们通常指的是一种分层的数据结构,它由节点(nodes)组成,这些节点之间以边&#xff08…