#自动泊车
自动泊车系统是指在没有人工干预的情况下,车辆本身可以自主的实现停车位的寻找并完成准确的泊车,同时该系统也可以根据用户的需求准确移动到用户指定的位置上。如果自动泊车技术成熟后,可以极大缓解人们在泊车过程中的诸多不便,比如:长时间搜寻停车位置浪费时间、在寻找停车位的过程中易出现事故(车辆碰撞、摩擦)等问题。
所以目前很多技术公司和高校的实验室都正在探索这个领域,比如,奔驰和博世等公司已经为自动泊车系统建立了泊车基础设施、NVIDIA正在开发一种在停车场的自动驾驶算法以及关于停车位的检测方法、宝马公司也准备将自动泊车模块安装在其生产的汽车上。
考虑到自动泊车技术在工业界的广泛需求,我们对自动泊车系统的发展状态进行系统性的调研。包括自动泊车系统的行业标准趋势、性能评测指标、自动泊车系统各个子模块设计到的技术等。
目前自动泊车行业的标准趋势
由于目前自动泊车系统受到了来自工业界和学术界的广泛关注,各个国家和公司都在不断的开发自动泊车技术。所以对于制定自动泊车技术的标准就变的格外重要。目前已经制定的技术标准包括地理信息、室外定位、室内空间定位、停车标准以及车辆通信标准几个方面的内容
- 地理信息和定位标准为室外空间的命名、定义和格式建立了原则和依据,此类标准包括 ISO 14825、ISO 17572 和 ISO TC204 177438等。
- 室内空间定位的标准化也在制定当中,包括ISO TC211以及OGC标准。
- ISO/DIS 16787 APS停车标准提出了停车所需要的信息类型,并定义了控制车辆的技术名称。此外,该标准还定义了实施辅助停车系统所需要的功能以及执行车辆的转向控制功能。
自动泊车系统的评测标准
目前自动泊车系统的评测包括两部分,分别是自动驾驶部分的评测以及自动泊车部分的评测。
自动驾驶部分的评测标准
自动驾驶部分的评测遵循汽车工程协会制定的“自动驾驶技术阶段”。该阶段目前被划分为六个层级。其中六个层级的划分是基于技术水平、控制主体以及驱动能力进行分类的。目前正在研发的ISO/WD 34501和ISO/WD 34502标准就用于去更加方便的评估各个层级。ISO/WD 34501标准适用于第三级系统中测试场景的术语和定义,ISO/WD 34502标准定义了测试场景的指南和安全评估过程。
自动泊车部分的评测标准
虽然自动泊车技术目前受到了非常广泛的关注,但是对于评估自动驾驶停车区域的国际标准的制定却刚刚开始。所以与自动驾驶中的评测标准不同,针对自动泊车的技术水平是根据开发人员的评估标准来衡量的。
下表展示了交通状况场景系统中自主停车场景的样例,该停车场景就是根据性能级别进行划分的。
在交通状况场景系统评估包括自动驾驶和停车两部分场景,并且使用汽车工程协会定义的“自动驾驶技术阶段“来指出自动泊车的能力。目前该系统当中包含三个层级。
- 第二级别(Lv2):称为泊车辅助系统用于帮助人们更方便的泊车。在Lv2级别中,通常车辆会配有障碍物距离预警系统以及后视相机。
- 第三级别(Lv3):Lv3级别可以实现指定场景下的自动泊车。比如在车库中停车的这一类简单的泊车场景。
- 第四级别(Lv4):Lv4级别中可以执行Lv3级别中的所有场景。除此之外,当车辆遇到障碍物的时候,车辆可以在停止或者避开障碍物后返回目的地。
自动泊车系统详解
目前自动泊车系统当中主要包括三部分的内容,如下图所示,分别是搜索驾驶过程,自动泊车过程以及返回驾驶过程。我们先对每个过程做一个大致的介绍,然后再介绍每个过程目前各自的发展趋势。
自动泊车系统的工作流程
搜索驾驶过程
搜索驾驶过程的最终目标就是在停车场当中汽车可以自主的找到一个停车位,所以该过程需要用
定位、防撞以及停车位检测技术。
定位技术介绍
在自动泊车系统当中,可以使用GPS或者车辆自带的IMU传感器来确认车辆的速度和姿态并且纠正车辆的位置估计误差。但是在某些室内场景,是无法接收到GPS信号的。所以自动驾驶车辆就需要配备相机、激光雷达以及毫米波雷达进行辅助。下图是车辆上配备的一些传感器信息的介绍。
- 激光雷达传感器使用激光来检测物体。现在主要流行的激光雷达主要分为16、32、64和128线的激光雷达。其测量范围约为200米,垂直视场为30到50度。
- 相机传感器则可以大致分成单目、双目以及鱼眼类型。通常自动驾驶车辆配备的相机其水平视场为90到210度,垂直视场为90到180度。
- 毫米波雷达根据距离可以划分成短程雷达和长距雷达。其中,短程雷达的范围大约到5米,水平视场为5到20度,垂直视场为10到35度。长距雷达的范围大约可以到200米,水平和垂直视场为35到80度。
再获得了这些不同传感器采集到的信息之后,就可以利用SLAM建图技术对自动驾驶车辆周围的环境进行重建,从而实现对车辆的定位。而SLAM建图技术又可以分成以下两大类
- 直接建图法:跟踪传感器移动时变化的数据的强度来估计传感器的姿态。但由于该类方法容易受到光照变化的影响,不能实现重定位,导致目前的建图方法很少基于此类方法。
- 基于特征的建图法:该类方法首先从传感器信息中获得周围物体的特征点。从同一对象接收到的特征点投影到两个不同的传感器坐标,通过计算投影点的几何关系来估计目标的位置。
防碰撞技术介绍
由于自动泊车系统的主要应用场景是在停车场,而停车场中会停有很多车辆,所以防碰撞技术非常重要。在防碰撞技术中,主要会使用超声波传感器、短波雷达传感器、激光雷达传感器以及相机传感器。声波以及雷达传感器主要是用来实现准确的测距。相机传感器主要是利用同一物体在连续图像中位置的差异来估计深度上的距离。
停车位检测技术
停车位检测是在搜索驾驶的过程中不断执行的,通常会包括传统的计算机视觉、深度学习以及两种方法的混合实现。
传统的计算机视觉主要是指定和识别停车位的形状,如车位线检测以及特征点检测,如下图所示。
车位形状的例子说明
得益于深度学习的快速发展,目前基于CNN网络的方法被广泛应用于停车位检测当中。下图表示了用于停车位检测的代表性卷积神经网络结构。卷积层学习输入图像的特征,特征数据通过全连接层得到输出。由于这是一个完全监督的学习过程,输出由训练数据中的标记来直接决定。
基于卷积神经网络的停车位检测流程
自动泊车过程
如果上一步的搜索驾驶过程找到了可用的停车位后,系统就会调用自动泊车过程。一般来说,我们会使用路径生成方法实现自主泊车过程。目前主流的路径生成方法主要有基于算法的方法以及基于强化学习的方法。
基于算法的方法涉及计算停车位的位置和形状的路径以及车辆的当前位置。算法为了计算出合适的停车路径会涉及最优控制问题、基于网格的路径规划方法以及快速探索随机树等算法。
基于强化学习的方法可以为自动泊车模拟器中的自主停车过程生成最优路径。在自动泊车模拟器中,车辆会学习一个通用的停车过程。该学习方法通过重复路径的生成过程和评估来不断获得停车精度最高的最优路径,如下图所示。
返回驾驶过程
返回驾驶过程是指在自动驾驶车辆驶入停车位进行等待的时候,用户可以对车辆进行调用,使其移动到用户指定好的地方。在这个过程当中,我们需要使用到路径跟踪技术。
目前而言,路径跟踪技术包括跟踪行进路径的方法以及跟踪修改路径的方法。但是这两种方法都使用了类似的车辆控制算法,具体可以参考论文【1-2】。其大体思路就是在考虑车辆当前位置和转向角条件的情况下,执行沿着生成路径移动车辆的控制命令。
结论
由于目前自动泊车技术的需求逐渐增加,各个国家和厂商都在大力发展自动泊车系统。考虑到自动泊车技术的快速发展,在这篇文章中,我们总结了自动泊车系统当中的标准化趋势、评测标准以及自动泊车各个组成系统的进行详细的介绍,希望可以给大家带来帮助~
#4D毫米波雷达
4D毫米波雷达是相对于3D毫米波雷达的叫法,可以说2023年及之前,大部分量产方案都采用了3D毫米波雷达,今年听说某新势力已经开始将4D Radar量产到车上了,行业给出的时间点是2025年大批量量产,这家公司提前一年上车,上汽也公布了采用4D Radar的量产方案。
4D指的是在原有3D雷达的距离、方位、速度检测的基础上增加了高度信息,为啥需要高度呢?3D毫米波雷达由于自身限制,在很多场景中限制了其发挥。例如地面上的井盖、人行天桥这些在雷达眼里都是一个水平面上的东西,它也不知道到底能不能通过!经典的如带AEB功能的车每次碰到减速带都要刹一下,其实就是毫米波雷达在搞鬼,因为它不确定这个东西有多高,万一是个障碍物,撞上去咋办。
4D毫米波雷达的另外一个叫法为4D成像毫米波雷达(其实业内基本将这两个称呼等同了),为啥叫成像呢?参考相机成像,传统3D雷达点云非常稀疏,你甚至无法看出一辆车的形态。而4D毫米波雷达,可以对一个cyclist甚至行人建模,就像图像中的特征一样,点云密集了很多。
目前市场上,4D毫米波雷达的玩家有大陆、采埃孚、安波福、Waymo、Mobileye、Arbe、傲酷、森思泰克、纳瓦电子、几何伙伴这些公司入局。据说特斯拉的方案将采用4D Radar,解决视觉传感器无法完全handle的case。
4D Radar的优势
价格便宜,只有激光雷达成本的十分之一,如果说Lidar是30w以上车型的专属,那么4D Radar能够更好服务中低端车型。所以很多车企,在竞争压力越来越大的情况下,不得不降低定价,慢慢转向更有性价比的4D Radar。
结合了激光雷达和3D毫米波雷达,可以做到点云和方位、速度信息共用,一个雷达多个用处;
角分辨率更高,相比于3D雷达,可以提高5-10倍,对小目标感知友好;
4D Radar目前的问题
点云仍然不够稠密,勉强对齐8-16线激光雷达,和稠密线束的激光雷达还差距很大;
进一步的提升点云密度,在成本和技术上都面临较大挑战;
激光雷达的价格也在不断下降,4D毫米波雷达如果无法真正突破壁垒,也会面临窘境。
目前很多公司都在试用阶段,还是无法真正替换掉激光雷达,但4D毫米波雷达的市场还是很有前景的,希望能够早日上位,发挥最大价值。
#基于大语言模型赋能智体的建模和仿真~综述和展望
23年12月论文“Large Language Models Empowered Agent-based Modeling and Simulation: A Survey and Perspectives“,来自清华大学。
基于智体的建模和仿真已经发展成为复杂系统建模的强大工具,为不同智体之间的紧急行为和交互提供了洞察。将大语言模型集成到基于智体的建模和仿真中,为增强仿真能力提供了一条很有前途的途径。本文综述在基于智体的建模和仿真中大语言模型的前景,研究了它们的挑战和有前景的未来方向。在这篇综述中,由于是一个跨学科的领域,首先介绍基于智体的建模和仿真以及大语言模型赋能智体的背景。然后,讨论将大语言模型应用于基于智体模拟的动机,并系统地分析环境感知、与人类协调、动作生成和评估方面的挑战。最重要的是,全面概述最近在多个场景中基于大语言模型的智体建模和仿真的工作,这些工作可以分为四个领域:网络、物理、社会及其混合,涵盖了真实世界和虚拟环境的仿真。最后,由于这一领域是一个新的、快速发展的领域,讨论悬而未决的问题和有希望的未来方向。
基于智体的模拟通过集中于智体的单个实体来捕捉复杂系统中固有的复杂动力学[135]。这些智体是异构的,具有特定的特征和状态,并根据上下文和环境自适应地行为,做出决策和采取行动[65]。环境,无论是静态的还是进化的,都会引入条件,引发竞争,定义边界,偶尔还会提供影响智体行为的资源[48]。交互包括与环境和其他智体的交互,目标是基于预定义或自适应规则反映现实中的行为[64,135]。总之,基于智体的模拟的基本组件包括:
- 智体是基于智体模拟的基本实体。它们表示正在建模的系统个体、实体或元素。每个智体都有自己的一组属性、行为和决策过程。
- 环境是智体操作和交互的空间。它包括物理空间,以及影响智体行为的任何外部因素,如天气条件、经济变化、政治变化和自然灾害。智体可能会受到环境的约束或影响,它们的相互作用可能会对环境本身产生影响。
- 智体通过预定义的机制进行交互,并与环境交互。交互可以是直接的(代理对智体)或间接的(智体到环境或环境对智体)。
有了上述组件,基于智体的建模和仿真提供了一个自下而上的视角,从个体相互作用的角度研究宏观层面的现象和动力学。
为了在广泛的应用领域实现逼真的模拟,智体在感知、决策和行动方面应具有以下能力[217]:
- 自治。智体应该能够在没有人类或其他人直接干预的情况下运行,这在微观交通流模拟[131]和行人运动模拟[20]等现实世界应用中很重要。
- 社交能力。代理应该能够与其他智体进行(可能还有人类)交互,完成指定的目标。在研究社会现象、群体行为或社会结构时,智体的社交能力是关键。这包括模拟社交网络的形成、观点的动态、文化的传播等等。智体之间的社会交互可以是合作的,也可以是竞争的,这在模拟市场行为、消费者决策等经济活动时至关重要。
- 反应性。智体应该能够感知环境,并对环境的变化做出快速反应。这种能力在需要模拟实时响应的系统中尤其重要,如交通控制系统和自动化生产线,以及在灾害响应场景中,智体需要能够立即对环境变化做出反应,以有效地进行预警和疏散。更重要的是,智体应该能够从以前的经验中学习,并自适应地改善其反应,类似于强化学习的想法[126]。
- 主动性。智体应该能够通过采取主动而不是仅仅对环境做出反应来表现出目标导向的行为。例如,智体需要在智能助理等应用程序中主动提供帮助、建议和信息,并在自动驾驶机器人和自动驾驶汽车等领域积极探索环境、规划路径和执行任务。
值得一提的是,与人类一样,由于知识和计算能力的限制,智体无法做出完全理性的选择[185]。相反,可以根据不完美的信息做出次优但可接受的决策。这种能力对于在经济市场[13]和管理组织[162]中实现类人模拟尤为关键。例如,在模拟消费者行为、市场交易和商业决策时考虑智体的有限理性,可以更准确地反映真实的经济活动。此外,在模拟组织内的决策、团队合作和领导力时,有限理性有助于揭示真实工作环境中的行为动态。
在基于智体的模拟中建模技术的发展,也经历了知识驱动方法的早期阶段和数据驱动方法的最近阶段。具体而言,前者包括基于预定义规则或符号方程的各种方法,后者包括随机模型和机器学习模型。
- 预定义规则。这种方法包括定义管理智体行为的显式规则。这些规则通常基于逻辑或条件语句,这些语句规定了智体对特定情况或输入的反应。最著名的例子是细胞自动机[216],它利用简单的局部规则来模拟复杂的全球现象,这些现象不仅存在于自然世界中,也存在于复杂的城市系统中。
- 符号方程。与预定义的规则相比,符号方程用于以更正式的数学方式表示关系或行为。这些可以包括代数方程、微分方程或其他数学公式。一个典型的例子是广泛用于行人运动模拟的社会力模型[93]。它假设行人运动是由类似牛顿定律驱动的,该定律由目的地驱动的吸引力和来自相邻行人或障碍物的排斥力决定。
- 随机建模。这种方法将随机性和概率引入到智体决策中,有助于捕捉许多现实世界系统中固有的不确定性和可变性[70]。例如,为了考虑源自人类决策随机性的影响,可以利用离散选择模型来模拟行人走路行为[9]。
- 机器学习模型。机器学习模型允许智体从数据中学习或通过与环境的交互进行学习。监督学习方法通常用于估计基于智体的模型参数,而强化学习方法在模拟阶段被广泛使用,增强了智体在动态环境中的适应能力[107,108,160]。
基于智体的建模和仿真在许多领域都是仿真中采用的基本方法[135,65],但仍然面临着几个关键挑战。大语言模型赋能智体不仅满足了基于智体模拟的要求,而且依靠其强大的感知、推理、决策和自我进化能力解决了这些限制,如图所示。
与传统的模拟方法相比,基于智体的模拟,其适应不同规则或参数的能力。
第一个问题是现有方法的参数设置极其复杂[64,135]。在这些模型中,影响智体行为的大量变量——从个人特征到环境因素——使得选择和校准这些参数变得困难。这种复杂性往往导致过于简单化,损害了模拟在描绘真实异质性方面的准确性[135]。此外,获取准确和全面的数据以告知参数选择是另一个挑战。也就是说,在不同背景下捕捉不同个体行为的真实世界数据可能收集起来有限或具有挑战性。此外,根据真实世界的观测结果验证所选参数以确保其可靠性增加了另一层复杂性。
其次,规则或模型不能涵盖异质性的所有维度,因为现实世界中的个体非常复杂[135]。使用规则来驱动智体行为只能捕捉到异质性的某些方面,但可能缺乏封装各种行为、偏好和决策过程的深度。此外,作为模型容量,试图在单个模型覆盖异质性的所有维度是过于理想化了。因此,在基于智体的建模和仿真中,在模型的简单性和准确智体建模进行平衡是一个关键挑战,导致智体异构性某些方面过于简单化或直接被忽视。
与传统方法不同,基于LLM的智体支持:1)捕捉具有内部类人认知复杂性的内部特征,以及2)通过提示、上下文学习或微调的特殊和定制特征。
基于智体的建模和模拟的核心是智体如何对环境做出反应,以及智体如何相互作用,在这种情况下,智体的行为应该尽可能真实地接近具有人类知识和规则的真实世界个人。因此,在构建用于模拟的大语言模型赋能智体时,存在四大挑战,包括感知环境、与人类知识和规则保持一致、选择合适的动作和评估模拟。
对于具有大语言模型基于智体的模拟,第一步是构建虚拟或真实的环境,然后设计智体如何与环境和其他智体交互。因此,需要为LLM感知和交互的环境提出适当的方法。
尽管LLM在许多方面已经表现出显著的类人特征,但基于LLM的智体在特定领域仍然缺乏必要的领域知识,造成决策不合理。因此,将LLM智体与人类知识和价值观、特别是领域专家的知识和价值观念保持一致,是实现更现实域模拟的一个重要挑战。然而,智体的异质性作为基于智体建模(ABM)的一个基本特征,对传统模型来说既是优势也是挑战。同时,LLM具有强大的模拟异构智体的能力,确保了可控的异构性。然而,使LLM能够扮演不同的角色以满足个性化模拟需求,是一个重大挑战。挑战的讨论包括两方面:提示过程和微调。
LLM智体的复杂行为应该反映现实世界的认知过程。这涉及到理解和实现一些机制,这些人工智体以此可以保留和利用过去的经验(记忆)[152,73,241],根据其结果(反思)反省和调整其行为[152,181],执行一系列模仿人类工作流程的相互关联任务(规划)[213]。
基于LLM智体的基本评估协议是将模拟的输出与现有的真实世界数据进行比较。评估可以在两个层面进行:微观层面和宏观层面。与传统的基于规则或神经网络的智体相比,基于大语言模型智体的主要优势之一是它具有较强的交互式对话和文本推理能力。
除了基于大语言模型赋能的智体模拟准确性或可解释性之外,伦理问题也非常重要。第一个是偏见和公平,评估语言、文化、性别、种族或其他敏感属性中的偏见模拟,评估生成的内容是否会延续或缓解社会偏见,这一点至关重要。另一个令人担忧的问题是有害的输出检测,因为与传统方法相比,生成人工智能的输出很难控制。
基于LLM智体的建模和仿真,其典型应用域包括社会、物理和网络及其混合,如图所示,细节见下表。
在经济域的应用类别:
在物理领域,基于LLM智体的建模和仿真应用包括移动行为、交通、无线网络等。
在一些研究中,模拟同时考虑多个域,如物理和社会域,这些模拟称为混合域。
#自动驾驶的Daily内容
端到端自动驾驶
- Recent Advancements in End-to-End Autonomous Driving using Deep Learning: A Survey
- End-to-end Autonomous Driving: Challenges and Frontiers
在线高精地图
- HDMapNet:基于语义分割的在线局部高精地图构建 (ICRA2022)
- VectorMapNet:基于自回归方式的端到端矢量化地图构建(ICML2023)
- MapTR :基于固定数目点的矢量化地图构建 (ICLR2023)
- MapTRv2:一种在线矢量化高清地图构建的端到端框架
- PivotNet:基于动态枢纽点的矢量化地图构建 (ICCV2023)
- LATR: 无显式BEV 特征的3D车道线检测 (ICCV2023)
- TopoMLP: 先检测后推理(拓扑推理 strong pipeline)
- LaneGAP:连续性在线车道图构建
- Neural Map Prior: 神经地图先验辅助在线建图 (CVPR2023)
- MapEX:现有地图先验显著提升在线建图性能
大模型与自动驾驶
- CLIP:Learning Transferable Visual Models From Natural Language Supervision
- BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
- MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models
- ADAPT: Action-aware Driving Caption Transformer
- BEVGPT:Generative Pre-trained Large Model for Autonomous Driving Prediction, Decision-Making, and Planning
- DriveGPT4:Interpretable End-to-end Autonomous Driving via Large Language Model
- Drive Like a Human Rethinking Autonomous Driving with Large Language Models
- Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving
- HiLM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving
- LanguageMPC: Large Language Models as Decision Makers for Autonomous Driving
- Planning-oriented Autonomous Driving
Nerf与自动驾驶
- NeRF: Neural Radiance Field in 3D Vision, A Comprehensive Review
- MobileNeRF:移动端实时渲染,Nerf导出Mesh(CVPR2023)
- Co-SLAM:实时视觉定位和NeRF建图(CVPR2023)
- Neuralangelo:当前最好的NeRF表面重建方法(CVPR2023)
- MARS:首个开源自动驾驶NeRF仿真工具(CICAI2023)
- UniOcc:NeRF和3D占用网络(AD2023 Challenge)
- Unisim:自动驾驶场景的传感器模拟(CVPR2023)
世界模型与自动驾驶
- World Models
- SEM2: Enhance Sample Efficiency andRobustness ofEnd-to-end Urban Autonomous
- FIERY: Future Instance Prediction in Bird’s-Eye Viewfrom Surround Monocular Cameras(ICCV2021)
- MILE: Model-Based lmitation Learning for UrbanDriving (NeurlPS 2022)
- GAIA-1:Wayve的自动驾驶生成式世界模型
- DriveDreamer:走向真实世界驱动的自动驾驶世界模型
- OccWorld:自动驾驶中的3D占用世界模型
- ADriver-l:通用自动驾驶世界模型
- Driving into the Future:端到端自动驾驶世界模型
- MUVO:多模态生成式自动驾驶世界模型
- Learning Unsupervised World Models for Autonomous Driving via Discrete Diffusion
轨迹预测与自动驾驶
- Machine Learning for Autonomous Vehicle’s Trajectory Prediction: A comprehensive survey, Challenges, and Future Research Directions
- Situation Assessment of an Autonomous Emergency Brake for Arbitrary Vehicle-to-Vehicle Collision Scenarios
- Vehicle Trajectory Prediction by Integrating Physics- and Maneuver-Based Approaches Using Interactive Multiple Models
- A Self-Adaptive Parameter Selection Trajectory Prediction Approach via Hidden Markov Models
- Vehicle Trajectory Prediction Considering Driver Uncertainty and Vehicle Dynamics Based on Dynamic Bayesian Network
- Naturalistic Driver Intention and Path Prediction Using Recurrent Neural Networks
- Intention-Aware Vehicle Trajectory Prediction Based on Spatial-Temporal Dynamic Attention Network for Internet of Vehicles
- Trajectory Prediction for Autonomous Driving Using Spatial-Temporal Graph Attention Transformer
- Multi-Vehicle Collaborative Learning for Trajectory Prediction With Spatio-Temporal Tensor Fusion
- STAG: A novel interaction-aware path prediction method based on Spatio-Temporal Attention Graphs for connected automated vehicles
- TNT: Target-driveN Trajectory Prediction
- DenseTNT: End-to-end Trajectory Prediction from Dense Goal Sets
Occupancy占用网络
- Grid-Centric Traffic Scenario Perception for Autonomous Driving: A Comprehensive Review
BEV感知
- Vision-Centric BEV Perception: A Survey
- Vision-RADAR fusion for Robotics BEV Detections: A Survey
- Surround-View Vision-based 3D Detection for Autonomous Driving: A Survey
- Delving into the Devils of Bird’s-eye-view Perception: A Review, Evaluation and Recipe
多模态融合
针对Lidar、Radar、视觉等数据方案进行融合感知;
- A Survey on Deep Domain Adaptation for LiDAR Perception
- MmWave Radar and Vision Fusion for Object Detection in Autonomous Driving:A Review
- Multi-modal Sensor Fusion for Auto Driving Perception:A Survey
- Multi-Sensor 3D Object Box Refinement for Autonomous Driving
- Multi-View Fusion of Sensor Data for Improved Perception and Prediction in Autonomous Driving
3D检测
对基于单目图像、双目图像、点云数据、多模态数据的3D检测方法进行了梳理;
- 3D Object Detection for Autonomous Driving:A Review and New Outlooks
- 3D Object Detection from Images for Autonomous Driving:A Survey
- A Survey of Robust LiDAR-based 3D Object Detection Methods for autonomous driving
- A Survey on 3D Object Detection Methods for Autonomous Driving Applications
- Multi-Modal 3D Object Detection in Autonomous Driving:a survey
目标检测综述
主要涉及通用目标检测任务、检测任务中的数据不均衡问题、伪装目标检测、自动驾驶领域检测任务、anchor-based、anchor-free、one-stage、two-stage方案等;
- A Survey of Deep Learning-based Object Detection
- Deep Learning for Generic Object Detection:A Survey
- Imbalance Problems in Object Detection:A survey
- Object Detection in Autonomous Vehicles:Status and Open Challenges
分割综述
主要对实时图像分割、视频分割、实例分割、弱监督/无监督分割、点云分割等方案展开讨论;
- A Review of Point Cloud Semantic Segmentation
- A SURVEY ON DEEP LEARNING METHODS FOR SEMANTIC IMAGE SEGMENTATION IN REAL-TIME
- A SURVEY ON DEEP LEARNING METHODS FOR SEMANTIC
- A Survey on Deep Learning Technique for Video Segmentation
- A Survey on Instance Segmentation State of the art
目标跟踪
对单目标和多目标跟踪、滤波和端到端方法进行了汇总;
- Deep Learning on Monocular Object Pose Detection and Tracking:A Comprehensive Overview
- Detection, Recognition, and Tracking:A Survey
- Recent Advances in Embedding Methods for Multi-Object Tracking:A Survey
- Single Object Tracking:A Survey of Methods, Datasets, and Evaluation Metrics
- Visual Object Tracking with Discriminative Filters and Siamese Networks:A Survey and Outlook
深度估计
针对单目、双目深度估计方法进行了汇总,对户外常见问题与精度损失展开了讨论;
- A Survey on Deep Learning Techniques for Stereo-based Depth Estimation
- Deep Learning based Monocular Depth Prediction:Datasets, Methods and Applications
- Monocular Depth Estimation Based On Deep Learning:An Overview
- Outdoor Monocular Depth Estimation:A Research Review
Transformer综述
视觉transformer、轻量级transformer方法汇总;
- A Survey of Visual Transformers
- A Survey on Visual Transformer
- Efficient Transformers:A Survey
车道线检测
对2D/3D车道线检测方法进行了汇总,基于分类、检测、分割、曲线拟合等;
- CLRNet:Cross Layer Refinement Network for Lane Detection
- End-to-End Deep Learning of Lane Detection and Path Prediction for Real-Time Autonomous Driving
- LaneNet:Real-Time Lane Detection Networks for Autonomous Driving
- Towards End-to-End Lane Detection:an Instance Segmentation Approach
- Ultra Fast Structure-aware Deep Lane Detection
- 3D-LaneNet+:Anchor Free Lane Detection using a Semi-Local Representation
- Deep Multi-Sensor Lane Detection
- FusionLane:Multi-Sensor Fusion for Lane Marking Semantic Segmentation Using Deep Neural Networks
- Gen-LaneNet:A Generalized and Scalable Approach for 3D Lane Detection
- ONCE-3DLanes:Building Monocular 3D Lane Detection
- 3D-LaneNet:End-to-End 3D Multiple Lane Detection
SLAM综述
定位与建图方案汇总;
- A Survey on Active Simultaneous Localization and Mapping-State of the Art and New Frontiers
- The Revisiting Problem in Simultaneous Localization and Mapping-A Survey on Visual Loop Closure Detection
- From SLAM to Situational Awareness-Challenges
- Simultaneous Localization and Mapping Related Datasets-A Comprehensive Survey
模型量化
- A Survey on Deep Neural Network CompressionChallenges, Overview, and Solutions
- Pruning and Quantization for Deep Neural Network Acceleration A Survey
#开环端到端自动驾驶
UniAD[1]获得CVPR Best Paper Award后毫无疑问给自动驾驶领域带来了又一个热点: 端到端自动驾驶。同时马老师也在极力的宣传自己的端到端FSD。不过本篇文章只把讨论限定在一个很小的学术方向,基于nuScenes的开环端到端自动驾驶,会给出一些细节的东西,不讨论其它假大空的东西。
因为不能闭环所以被迫选择了开环
以能否得到反馈为标准,端到端自动驾驶的学术研究主要分为两类,一类是在模拟器比如CARLA中进行,规划的下一步指令可以被真实的执行。第二类主要是在已经采集的现实数据上进行端到端研究,主要是模仿学习,参考UniAD。开环的缺点就是无法闭环(好像是废话),不能真正看到自己的预测指令执行后的效果。由于不能得到反馈,开环自动驾驶的测评极其受限制,现在文献中常用的两种指标分别是
•L2 距离:通过计算预测轨迹和真实轨迹之间的L2距离来判断预测轨迹的质量•Collision Rate: 通过计算预测轨迹和其他物体发生碰撞的概率,来评价预测轨迹的安全性
事实上我们发现这两个指标完全不足以评判预测的轨迹的质量,一些技术看似提高了模型在这些指标上的表现,实则带来了其他没有被发现的问题,后续会介绍到。
nuScenes不是为planning设计的
关于开环端到端自动驾驶的测评问题最早在这篇文章[2] 中提到。在这篇文章中他们仅使用Ego Status就能够获得和现有Sota相比较的结果。但是第一次文章放出来的时候他们的数据好像用错了[3] 。同时他们错误的认为VAD也用了history trajectory, 但其实VAD[4]并没有使用历史轨迹。在AD-MLP中历史轨迹是一个默认使用的选项,当时本人理所应当的认为AD-MLP可能是受益于历史轨迹的使用,并没有特别在意这篇文章的结论。
不过后来实验受挫之后,心态发生了:”从相信端到端到怀疑端到端“的转变后,开始觉得AD-MLP的结论应该是对的。通过可视化很多nuScenes的整体场景,会发现相当比例的场景都是直行,而且速度变化不大,交互很少,如图1所示。考虑到我们对于AD-MLP使用历史轨迹的顾虑,我们复现了一版仅使用当前速度,加速度,转向角和转向指令的MLP网络。如图2所示,为了区分,将我们复现的这个网络记为Ego-MLP。Ego-MLP不使用任何传感器感知信息,监督loss仅为一个L2 Loss。同时我们还有一个更基础的驾驶策略Go Stright: 保持当前速度继续前进。
图1: nuScenes的场景相对简单,直行占比过大
图2:复现的AD-MLP,去掉历史轨迹输入,记为Ego-MLP
表2 实验结果由我们使用统一的Eval代码和策略获得,与之前文献中会有不一样的地方. ID-1,3,4为我们根据开源代码简单修改复现的结果, UniAD和VAD使用BEVFormer生成BEV特征,BEVFormer默认在BEV初始阶段引入can_bus (可以理解为ego status)信息
如表2所示,我们会有如下发现
•简单的直行策略(ID-7)在2s内的指标都挺高的。•Ego-MLP 不使用感知也能取得和现有sota差不多的结果。
第二条其实还可以换个角度这样理解,现有方法比如VAD, UniAD只有在Planner上引入Ego Status才能取得和Ego-MLP相似的效果。所以自然而然有了下面的问题:
Ego Status 引入会降低对感知的依赖
为了探究Perception 和Ego Status的效果,我们向这两个输入分别加扰动。如表3所示,在Planner中已经使用了Ego Status的情况下,就算把所有相机输入全部去掉,感知模块全部崩溃(结果变成0),模型的planning效果依然会在一个非常好的水平。我们相信这并不是一个正常的现象。与之对比的是模型会过渡依赖Ego Status的信息,假如我们改变输入模型的速度,会发现模型预测的轨迹基本会按照我们输入的假的速度去走,哪怕输入图像中事实上隐式地包含了ego的真实速度。如果输入速度全部设置成0的话,模型预测的轨迹基本处于原地不动的状态。
结合上面我们所讨论的仅使用Ego-Status的MLP网络就能获得sota效果,说明对于nuScenes来说,Ego Status就是预测轨迹的一条shortcut, 当模型引入Ego status的时候,自然会降低对于感知信息的利用。这样的表现很难让人相信端到端模型在复杂场景下的表现。
设计一个高效的Baseline 来验证Ego Status的效果
首先,我们实在负担不起在VAD或者UniAD上来做验证实验,举例来说UniAD的第二阶段训练在我们的8*V100上就需要10天。同时,ST-P3[5],一个经常被拿来比较的方法使用了部分不正确的训练和测试数据,产生的结果数值上是不准确的。
因此我们认为我们需要设计一个相对简洁高效的baseline方法能够快速验证我们的想法,并且能够跟现有方法进行有效对比。不同于UniAD的模块化设计,我们使用了一个非常非常简单的设计,如下图所示,我们提出的baseline网络直接使用生成的BEV特征与一个Ego query发生交互,然后通过MLP预测最终的轨迹。与UniAD等方法不同,我们的baseline方法不使用其他任何中间监督,包括但不限于Depth, Detection, Map, Motion 等。最终模型仅使用一个L2 loss来进行轨迹的监督。Ego Status可以在BEV阶段或者最终的MLP阶段选择性加入。我们的模型训练12ep需要大概6个小时。
最终的结果如下表,在BEV和Planner中都使用Ego staus时,我们的方法(ID-12)和VAD-Base(ID-6)基本一致,这能说明我们的方法简单却有效吗?显然不能,这也正是Ego status主导planning性能所带来的影响,使用Ego status后,根本无需复杂设计就能取得和现有sota差不多的结果。在Ego status占据主导地位后,不同方法之间的差异根本体现不出来。事实上我们已经看到了类似的论文把使用ego status所带来的性能提升包装进自己方法里,用来展现自己方法的有效性。这是极其误导人的行为。
看似我们的方法在使用Ego Status时取得了不错的结果,但是从下图中可以看到,在Planner中使用Ego status的方法(Baseline++)似乎只用3k个iter就能收敛了,这显然是模型学到了Ego status到planning的short cut而非从视觉信息中获得有效线索。可视化BEV特征也发现,模型几乎没有从视觉分支中学习到什么有意义的表征。
我们暂时先不讨论为什么我们的方法在不使用ego status的情况下(ID-10)效果也不错的这个现象。
不用Ego Status不就完事了?
既然引入Ego Status会主导planning的学习,假如我们不想让这样的现象发生,那我们不用Ego Status不就完事了吗?第一时间这么想肯定没问题,但是
真的没有使用Ego Status吗?
为什么会有这个问题呢?因为我们发现很多方法会无意识的引入Ego Status。例如,BEVFormer默认使用了can_bus信息,这里面包含了跟自车速度,加速度,转向角相关的信息。这个东西对BEVFormer做感知其实是没啥用的,但是VAD和UniAD拿过来直接做planning话,can_bus就会发挥作用了。类似的Ego信息在感知方法中也经常被使用用来做时序对齐之类的事情。我们重新训练了去掉了can_bus的UniAD 和VAD模型,会发现明显的性能下降。考虑到ego status信息在最新的BEV方法中都被广泛使用,去掉这些信息的使用或者保证不同方法之间的公平比较都是非常困难的事情。一点点Ego status的泄漏都会对最终的planning性能产生巨大的影响。
BEVFormer默认使用的can_bus_info包含ego status
去掉Ego Stutus仍存在的问题
讨论到现在,可能只是简单的认为责任全在ego status,很可惜并不是这样。当我们观察上面的表4,会看到我们的方法Baseline(ID-10)在不使用任何ego status的信息的情况下,可以取得和UniAD(ID-2), VAD(ID-5)这些在BEV上用了ego status的,使用了额外感知,预测任务的模型差不多的效果。 我们再回顾一下我们的Baseline (ID-4)的设置,输入图像256x704, 仅使用GT轨迹,不使用其他中间标注,仅使用L2 loss训练12ep。 为什么这样一个朴素到极致的方法会取得这样的效果?在这里我只给出我的一个猜想,不一定正确。 既然我们能够用ego status几个数值就拟合nuScenes大多数简单场景,说明学习nuScenes 大多数简单场景的planning本身就不是一件具有挑战性的事情,学习这些简单场景下的planning根本就不需要perception map等信息。其他方法使用了更多其他模块,带来更复杂的多任务学习,事实上反而影响了planning 本身的学习,我们也做了一个简单的实验来验证我们的猜想。
表5
如上表所示,Baseline 是原来的(ID-10)的结果,我们在Baseline上添加了一个MapFormer,具体实现做法和UniAD/VAD差不多,这个Baseline+Map模型的初始化是经过Map预训练的。我们可以看到Baseline+Map的结果远远逊色于Baseline。 原因是啥呢?为了消除Map预训练的影响,我们也使用Map预训练的权重作为(ID-10)这个setting的初始化得到了Baseline(init*)这个结果,通过对比Baseline不同初始化,我们可以发现,预训练的Map权重不会导致性能下降,反而会提升性能。问题只会出现在引入Map任务本身了。
我们对比了Baseline和Baseline+Map 在直行命令下的 L2 指标:L2-ST 和左右转指令下的L2指标: L2-LR。 同样还有在直行命令下的碰撞率指标Collision-ST, 在转弯场景下的碰撞率指标Collision-LR。 我们会发现在转弯场景下引入Map只是轻微增加L2距离,并且能够大幅度降低转弯场景下的碰撞率。与之对应的是直行场景下的L2和Collision被double了。考虑到转弯场景通常是更复杂,更需要操作的,而直行场景相对简单,我们猜测是因为引入Map 带来多任务学习的干扰反而影响了这些简单场景的学习。在nuScenes验证集上,直行命令占比87%,因此主导可最终的平均指标。我们可以看到Map引入在转弯场景下实际是没什么负面效果的,但是被平均之后Map的积极效果根本彰显不出来。
如果我们的猜想成立,这说明nuScenes做planning不单单是一个ego status的问题,而是本身全方面的不靠谱。
开环Planning指标
碰撞率指标的多个问题
我们暂时先不讨论L2 distance的问题, 因为好像更多的文章倾向于认可collision rate这个指标。实际上这个指标非常不靠谱,原因有:
•计算碰撞的时候,其他车的未来轨迹都是回放,没有任何reaction,单从这一点上讲,这个指标就很不靠谱。•实际实现的问题,由于预测的轨迹只是一堆xy坐标,没有考虑ego 的yaw angle在未来的变化,计算碰撞的时候也是假设ego car的yaw angle永远保持不变,会造成很多错误的碰撞计算。我们这次也是通过轨迹估算yaw, 统一解决了这个问题。
不考虑yaw angle变化的灰色小汽车会造成很多错误的碰撞计算
•Collision Rate可以被后处理进行攻击, UniAD中最有效的模块是一个后处理模块,在端到端模型给出一个初始的预测结果后,使用一个optimizer 来使得轨迹在满足一定约束条件下尽可能的远离其他物体,从而避免碰撞。从指标上讲,这个trick可以显著降低collision rate。然而看似合理的模块其实只是对于collision rate的一个hack, 原因在于约束条件不够多,例如没有考虑到地图信息。可以简单理解为:为了躲其他车,这个模块会选择打方向盘,冲到马路牙子上。但是根据现有指标,撞马路牙子是没有啥大问题的。
引入新指标
上面我们讨论了,汽车撞到马路牙子时,现在的指标是不会有什么显著惩罚的,造成一些方法可以通过用撞马路牙子的手段来降低与其他车发生碰撞的概率。所以我们使用了一个新的指标用来统计ego和road boundary(马路牙子)发生交集的概率。具体实现方法和collision rate的方法一致。经过统计,使用UniAD的后处理,降低0.1 %的碰撞概率的代价是增加5%以上与道路边界(马路牙子)发生交互的概率。这一后处理显然是不合理的,我们汇报UniAD的结果时,也都是默认不使用后处理的。
UniAD的后处理显著增加了与马路边间发生交互的概率
开环的DEMO真的可靠吗
左:根据当前速度直行,中:Ego-MLP 右: GT
我们可以看到左边这列使用最简单的按照当前速度直行的策略,也会减速让行,避让车辆。这其实这都是human driver 的操作。 对于开环方法,每一时刻都会刷新回human driver驾驶的安全轨迹,沿用human driver的驾驶策略。因此开环端到端方法每时每刻都是在一个安全的轨迹之上做未来的预测,不受到累计误差的影响。再难的路, 0.5s后 human driver总会给你正确答案。
你的开环端到端模型能学会转弯吗?
我们发现似乎所有的开环模型都没有学会怎么转弯,转弯的时候预测的轨迹和真实轨迹差别很大,而且前后预测的轨迹不smooth,也就是前后不一致。
总结
基于nuScenes的开环端到端自动驾驶,所面临的问题太多了,心累了。
参考
[1]
: https://arxiv.org/pdf/2212.10156.pdf[2]
: https://arxiv.org/pdf/2305.10430.pdf[3]
: https://github.com/E2E-AD/AD-MLP/issues/4[4]
: https://github.com/hustvl/VAD[5]
: https://github.com/OpenDriveLab/ST-P3