我自己的原文哦~ https://blog.51cto.com/whaosoft/11641361
#基于深度学习的端到端自动驾驶
最新的端到端自动驾驶综述刚刚出炉,话说论文一作卡内基梅隆大学的Apoorv Singh今年产出了七篇综述,都和自动驾驶相关,推荐给大家。就一个字:牛!
个人主页:https://www.apoorvsingh.com/research-papers
- End-to-end Autonomous Driving using Deep Learning: A Systematic Review
- A Review on Objective-Driven Artificial Intelligence
- Training Strategies for Vision Transformers for Object Detection
- Trajectory-Prediction with Vision: A Survey
- Transformer-Based Sensor Fusion for Autonomous Driving: A Survey
- Surround-View Vision-based 3D Detection for Autonomous Driving: A Survey
- Vision-RADAR fusion for Robotics BEV Detections: A Survey
摘要
端到端自动驾驶是一种完全可微分的机器学习系统,它将原始传感器输入数据和其他元数据作为先验信息,并直接输出自车的控制信号或规划轨迹。本文试图系统地回顾最近所有基于机器学习的技术来实现这一端到端任务,包括但不限于目标检测、语义场景理解、目标跟踪、轨迹预测、轨迹规划、车辆控制、社会行为和通信。本文重点研究了最近的完全可微端到端强化学习和基于深度学习的技术。我们的论文还通过对重要方法进行分组并展示其研究趋势,建立了它们的分类法。最后,本次调查突出了悬而未决的挑战,并指出了未来可能的方向,以启发对该主题的进一步研究。
总结来说,本文的主要贡献如下:
- 我们为理解端到端自动驾驶方法提供全面的背景知识。首先总结了有史以来第一种应用于自动驾驶任务的技术。此外总结了模块化自动驾驶问题解决方案的竞争替代方法。还涵盖了用于端到端自动驾驶任务的评估和基准。
- 接下来,我们将端到端方法分为模仿学习、强化学习、带辅助任务的端到端自主驾驶和师生范式四个部分,对其进行了广泛的介绍。此外,在深入讨论细节之前,我们用数学建模为读者介绍了一段理论知识。
- 我们讨论了所涵盖的所有方法和方法的关键挑战,以启发读者未来的研究思路。此外,我们还讨论了一些开放式研究问题,我们预计这些问题将是端到端自动驾驶研究的下一步。
自动驾驶的模块化方法
传统的模块化自动驾驶软件是一个复杂的系统,包括各种子模块,每个子模块负责驾驶过程的特定方面。这些子模块协同工作,使车辆能够在无需人工干预的情况下导航、感知环境并做出决策。自动驾驶软件的一些关键子模块包括:
- 地图绘制和高精地图绘制:是指创建和维护道路和周围环境的详细、高精地图。与人类驾驶员使用的传统导航地图不同,自动驾驶地图要详细得多,并包含对自动驾驶系统的特定需求至关重要的信息。它们包括有关车道边界、道路曲率、交通标志、交通信号、车道变更规则和道路坡度的信息。高精地图以厘米级的精度创建,以确保自动驾驶汽车能够在下游定位堆栈中的环境中准确定位。
- 感知:是指自动驾驶汽车理解和解释周围环境的能力。它包括传感器融合、车辆和行人检测、像素级分割以及红绿灯/其他路标检测等任务。主要是基于多个相机、激光雷达和雷达的传感器的组合。
- 定位:指的是自动驾驶汽车在其环境中准确确定其位置和方向(位姿)的能力。常见使用的关键组件是全球定位系统(GPS)、惯性测量单元(IMU)和通过地图匹配的感知传感器,其中包括将传感器数据与高清地图进行比较,以完善车辆的位置估计。
- 目标跟踪:指的是自动驾驶汽车监测物体在其环境中过去运动的能力。这对于在下游任务中进行预测至关重要,过去的状态对下游任务至关重要。跟踪对于被遮挡的道路目标至关重要,因为即使在感知中看不到目标,我们仍然可以保持对该目标的期望。跟踪涉及感知输出的数据关联和运动学预测。
- 行为规划(轨迹预测):指的是自动驾驶车辆预测各种道路使用者(如行人、骑自行车的人、其他汽车甚至动物)未来行动和移动的能力。
- 路径规划:它指的是自动驾驶车辆在避开障碍物、遵守交通规则并考虑环境动态的同时,为自动驾驶车辆从当前位置导航到所需目的地确定安全和最佳路径的能力。基于当前车辆位置、期望目的地以及地图和传感器信息,路径规划算法生成初步路径,该初步路径将车辆连接到目标,同时避开障碍物。成本函数考虑了距离、舒适性、安全性、能源效率和碰撞风险因素。该算法搜索一条将此成本最小化的路径。模块化管道中最常见的规划方法包括使用复杂的基于规则的设计,这在解决驾驶时发生的许多情况时往往无效。
- 决策:指的是自动驾驶车辆在各种交通场景中选择适当行动和行为的能力,同时优先考虑安全、效率和遵守交通规则。它与路径规划密切合作,涉及风险评估、情景分析、行为预测、交通规则和条例、伦理道德考虑等。
- 控制:它指的是将高层决策和计划轨迹转化为车辆执行器为物理操纵车辆而采取的具体行动的机制和算法。这些控制装置可确保车辆沿预定路径行驶、加速、减速和处理各种驾驶场景,同时保持稳定性、安全性和舒适性。控制弥合了决策和车辆物理行为之间的差距。它包括执行器、车辆动力学、速度控制、稳定性和操控性、平稳过渡、人体舒适性等子部件。
- 仿真和测试:在实际道路上部署之前,评估自动驾驶系统的性能、安全性和功能至关重要。
这些系统及其依赖如图2所示。
BENCHMARKING/ EVALUATIONS
在开发软件之前,首先要开发测试需求,让我们在深入研究主要方法之前,先看看端到端系统的评估需求。评估可分为两种类型:闭环评估和开环评估。前者是在在线仿真器中定义的;然而,前者是在人类驾驶数据集上离线计算的。端到端系统可以在CARLA等在线模拟器上轻松评估;许多模块化感知技术依赖于更昂贵的离线数据集。
闭环评测如图3所示。
开环评测如图4所示。
方法
A.模仿学习
在模仿学习中,智能体通过模仿人类专家或预先存在的模型所展示的行为来学习执行任务。agent不是明确地设计奖励函数或定义最优策略,而是通过观察和模仿专家采取的行动来学习。与强化学习相比,模仿学习有几个优势,包括利用人类专业知识解决复杂任务的能力,以及提供更安全、更可解释的行为的潜力,在强化学习中,主体通过试错进行学习。然而,模仿学习也有局限性,例如对专家演示中的错误很敏感,并且不总是能够探索超出专家演示范围的新策略。在训练期间,agent的目标是学习从输入观察到专家演示的行动的映射。这通常使用监督学习技术来完成,在监督学习技术中,对agent的模型进行训练,以最大限度地减少其预测动作与专家数据集中的动作之间的差异。类似地,在评估过程中,根据新的、看不见的数据来评估经过训练的agent的性能,以确定其模仿专家行为的能力。这种评估可以包括将代理人的行为与专家的行为进行比较,或者评估代理人是否成功完成了任务。模仿学习可以进一步分为Behavior Clone和Inverse Reinforcement Learning。
然而,IRL和模仿学习也有其自身的一系列挑战和局限性:
- 家行为的模糊性:IRL假设观察到的专家行为在某些潜在的奖励函数方面是最优的或接近最优的。然而,现实世界中的专家行为可能是嘈杂的、次优的,或者受到奖励函数未捕捉到的因素的影响,导致推断的奖励函数中的模糊性。
- 解决方案的非唯一性:多个奖励函数可以解释同一组观察到的专家行为。这种非唯一性会使确定哪种奖励函数是“正确的”奖励函数具有挑战性,导致所学习的奖励函数和后续策略的不确定性。
- 有限的专家演示:IRL在很大程度上依赖于专家演示的质量和数量。如果数据集较小、有偏差或没有覆盖广泛的场景,则学习的奖励函数可能无法准确地表示真实的底层奖励结构。
- 维度诅咒:随着状态空间变得越来越大、越来越复杂,由于维度诅咒,从有限的专家数据中准确恢复奖励函数的能力变得越来越困难。高维状态空间需要大量的数据来捕捉奖励函数的复杂性。
- 计算复杂性:许多IRL算法涉及计算成本高昂的优化问题,尤其是在处理大的状态空间或复杂的奖励函数时。
- 缺乏探索:IRL专注于从专家演示中学习,并没有本质上提供探索专家演示之外的新策略的机制。这可能会限制代理人发现更有效或更具创造性的解决方案的能力。
- 转移到新环境:习得的奖励函数通常是特定于推断它们的环境的。由于动力学、状态空间和其他因素的差异,将学习到的奖励函数转移到一个新的、看不见的环境可能具有挑战性。
B.强化学习
在强化学习中,智能体学习如何在环境中做出决策和行动,以最大化累积奖励信号。在自主智能体的背景下,RL为这些智能体提供了一种通过试错学习来学习如何在没有明确编程的情况下执行任务和做出决策的方法。自主主体是RL框架中的学习者。它与环境相互作用,并采取行动实现某些目标。环境是代理与之交互的外部系统。它根据代理人的行为通过奖励向代理人提供反馈。在每个时间步长,环境都处于特定状态,这表示环境当前条件的快照。代理根据操作的当前状态选择操作。行为会影响环境,使其转变为一种新的状态,并奖励代理人。环境在每个动作之后向代理提供数字奖励信号,指示动作的直接收益或成本。代理的策略是一种将状态映射到操作的策略。代理的目标是学习一种最优策略,使随着时间的推移累积奖励最大化。值函数估计代理在遵循特定策略的同时,从给定状态可以实现的预期累积回报。它有助于代理人在知情的情况下决定采取哪些行动。代理使用RL算法通过试错来学习最优策略或值函数。学习过程包括探索环境、获得奖励和调整政策以提高绩效。代理人面临着探索新动作以发现潜在的更好策略(探索)和利用已知动作以最大限度地获得即时回报(利用)之间的权衡。然而,自主智能体的RL也面临着挑战,如高效探索、长期奖励和在现实世界环境中的安全学习。强化学习方法可进一步细分为以下几个子领域:
- Value Based RL;
- Policy Based RL;
- Actor-Critic RL
C.Teacher Student范式
端到端自主驾驶的最先进方法遵循师生范式。教师模型,如CARLA,使用特权信息(周围代理和地图元素的基本状态)来学习驾驶策略。学生模型只能访问原始传感器数据,并对教师模型收集的数据进行行为克隆。
D.带辅助任务的端到端自动驾驶
通常,人们普遍认为,用于轨迹规划的学习控制输出/路点可能过于复杂,无法从传感器数据的数十亿个参数中进行映射。这导致研究人员开发辅助任务来监督端到端的学习任务,正如我们之前在中看到的那样,感知和规划模块分两个阶段进行训练。Uber ATG在论文中介绍了另一种更离散的方法,他们使用以激光雷达数据和地图为输入的主干来学习端到端可解释的运动规划器。首先,他们输出其他参与者的边界框,用于未来的时间步(感知)和使用T过滤器进行规划的成本量。接下来,对于来自采样器的每个轨迹建议,从成本体积的不同滤波器中索引其成本,并将其相加。成本最低的轨迹将是我们的最终规划,如图6所示。他们使用多任务训练,从检测、运动预测和人类驱动的自车轨迹进行监督。请注意,没有对成本量进行监督。因此,他们采用最大边际损失来推动网络学习区分好轨迹和坏轨迹。
开放的挑战和未来趋势
考虑到所讨论方法中的挑战,并从机器学习的多学科领域获得灵感,我们发现了未来研究人员的潜在研究方向:
- 端到端协作任务:已经有关于协作感知的研究,其中从附近的自动驾驶汽车联合进行感知,以处理遮挡并扩大检测范围。端到端自动驾驶任务也有类似的概念。随着越来越多的自动驾驶汽车公司在城市中部署车队,这种端到端的协作任务可能成为该领域SOTA方法的下一个范例。
- 使用扩散模型基于文本需求生成场景:自动驾驶汽车经过训练,在通用场景中运行良好;一个尚未解决的主要挑战是长尾问题,我们无法在模拟器中对其进行广泛建模。最近,使用稳定扩散方法的图像生成模型取得了很好的结果;很高兴看到未来的研究人员利用这项技术来构建更真实的模拟场景。自动驾驶的端到端任务可以在端到端的任务中进行训练,其中扩散模型自动生成自动驾驶汽车故障案例的相似场景。然后,我们可以在那些精心挑选的模拟场景上进行训练,直到我们的模型在真实世界的指标上如预期那样进行预测。
- 基础模型:最近,计算机视觉和大语言中的基础模型在多样化的大规模数据集上进行训练后,显示出了最先进的性能,并且可以适应广泛的任务(驾驶场景)。研究人员可以利用这些模型将端到端任务的能力从模拟器推广到现实生活中的数据。
结论
总之,本文对快速发展的端到端自动驾驶领域进行了全面的探索。从传统的模块化方法到端到端学习的范式转变概念的历程已经阐明,展示了从handcrafted的功能和复杂的管道到允许车辆直接从原始传感器输入中学习的数据驱动解决方案的转变。讨论涵盖了这种方法的优势和挑战,强调了它在简化系统设计、捕捉复杂交互和适应不同驾驶场景方面的潜力。随着这一领域的不断成熟,该论文讨论了安全保证、监管框架的重要性,以及学术界、工业界和政策制定者之间合作的必要性。发现了一些悬而未决的挑战,如极端场景下的安全性、迁移学习、可解释性、人际互动和高效探索,邀请研究人员和从业者共同为塑造自动驾驶的未来做出贡献。
从本质上讲,这篇综述文章展示了端到端的自动驾驶不仅仅是一次技术飞跃;这是一种范式转变,体现了机器学习、机器人和运输工程的融合。未来的道路充满了令人兴奋的机遇和复杂的挑战,需要跨学科的努力来实现安全、高效和可靠的自动驾驶汽车的愿景,使其能够无缝地在我们的现代道路上行驶。
#自动驾驶大模型の论文调研与简述
关于大模型(LLMs, VLM)与自动驾驶相关文献调研与汇总:
适合用于什么任务?答:目前基本上场景理解、轨迹预测、行为决策、运动规划、端到端控制都有在做。
大家都怎么做的?
- 对于规控任务,LLM型基本是调用+Prompt设计,集中在输入和输出设计,如输入有 1.2 DiLu这种拼memory的,输出有1.1 LanguageMPC这种做cost function的,训练和微调的有1.3 Wayve的工作;有做开环的1.3,也有闭环的1.1 和1.2。目前仿真器和数据都未有统一的benchmark。
- 对于场景理解任务,大多数都在构建QA类型的数据集,常用数据集为nuScenes。
一、自动驾驶决策/规划任务:
1. 1 LanguageMPC: Large Language Models As Decision Makers For Autonomous Driving, 10.4
动机:学习型决策系统缺乏 理解、泛化和可解释性,LLM具备推理和泛化能力,如何作为决策器与下游控制器结合?Language-action对齐到了MPC的cost function。
方案:
LLM的任务1) 选择关键交互车辆 2)评估当前驾驶情况 3) 提供决策动作引导。下游控制器采用了MPC controller,Language-action的输出为 observation matrix, weight matrix, and action bias,前者对应的是关键交互车辆,后两者对应MPC中Cost function的参数项。
对于上述3步所设计的prompts
实验环境:CARLA路口、环岛等。调用GPT3.5,定义输出action,输入非视觉可理解为将原先vector输入语言化。
1.2. DiLu: A Knowledge-Driven Approach to Autonomous Driving with Large Language Models, 9.28
动机:用LLM增强agent的泛化和可解释性。这篇文章的创新在于memory module的引入,是7月份Drive Like a Human的改进版,值得一看。
框架:用GPT3.5作为推理输出模块,用GPT4作为reflection模块。所有模块非fine-tuning,而是输入adaption
有意思的结论:LLM cannot directly perform the closed-loop driving tasks without any adaptation. 通过记忆模块消融分析得到。
实验环境:HighwayEnv,闭环;加速,保持,跟车,换道等高层行为,没说decision decoder是什么,如何映射的高层行为到底层控制。对比基线为 RL。
1.3 Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving,10.3 Wayve
动机:OOD的推理和可解释能力;对于目标级输入构建LLM的预训练和微调方法,开放驾驶QA数据和评估基线。还有一个相关blog: LINGO-1: Exploring Natural Language for Autonomous Driving
方法:action teacher:RL teacher;QA teacher:GPT teacher;
一个结构化的语言生成器(lanGen):基于数值向量来产生prompt模版;使用RL产生专家动作O_{rl},100k问答数据从仿真器收集 (包括表征学习,推理任务:action预测,attention预测)
驾驶问答数据标注:使用ChatGPT来自动产生问答数据, 10k
训练过程:第一阶段 训练vectorformer,输入为高维的vector向量信息 第二阶段:利用QA问答数据来finetuning LLaMA-7b
实验:在1000个不同驾驶场景中评估,指标为感知和预测精度;在开放世界场景中评估,通过ChatGPT来评估得分。要求20GB显存来评估,40GB显存来训练。
1.4 GPT-DRIVER: LEARNING TO DRIVE WITH GPT,10.2
动机:推理能力和泛化
方法:1. planner inputs and outputs as language tokens 2. a novel prompting-reasoning-finetuning strategy
输入语言token化,使用的UniAD的感知和预测结构,输出思维链与上一篇类似,LLM先输出关键交互车、再判断行为决策动作,最后输出轨迹。对chatGPT做了fine-tuning
实验环境:NuScenes,开环,对比UniAD
1.5 Drive as You Speak: Enabling Human-Like Interaction with Large Language Models in Autonomous Vehicles,9.19
动机:LLM赋能
- Language Interaction
- Contextual Understanding and Reasoning
- Zero-Shot Planning
- Continuous Learning and Personalization
- Transparency and Trust
方案:更多探索人机协同,驾驶员给予指令,LLM ChatGPT 4获取感知结果,输出决策行为。没有给实验,只给了上图的case。
1.6 Receive, Reason, and React: Drive as You Say with Large Language Models in Autonomous Vehicles, 10.12
同1.5,进一步分析了ICL,CoT,Personalization方面的能力。
1.7 A Language Agent for Autonomous Driving, 11.17 (单位有Nvidia)
动机:用Agent框架重塑自动驾驶系统,Agent Driver,三个重要组件:tool library;cognitive memory;reasoning engine;
方法:输入为sensory data;输出为轨迹;
Tools:抽象不同网络输出并转化为text文本,即LLM调用tools来收集文本形式的环境信息;tool库是4类神经网络模型 检测(产生检测结果)、预测(产生预测结果)、占据栅格、地图,但模型产生的信息过于冗余,LLM-based tools目的是为了从冗余的信息中提取到必要的环境信息。
Cognitive memory:基于环境信息query来搜索traffic rules (纯文本形式;可以认为是考驾照科目1的学习材料) 和 similar past experience(环境信息和decision);past experience记忆搜索形式:vector-space KNN + LLM-based fuzzy search
Reasoning:LLM-based CoT作为推理引擎,最终输出轨迹,形式如GPT-Driver,自我反思部分基于碰撞检测和优化方法;如果碰撞检测到危险,会利用优化cost function形式将LLM 产生的轨迹进行优化;
实验还是在Nusenses数据集上的开环评测,对标的是UniAD和GPT-Driver,消融分析了ICL和fine-tuning的性能差异,结论是ICL是首选。
1.8 A Multi-Task Decision-Making GPT Model for Autonomous Driving at Unsignalized Intersections 6.30
不是大模型,trained PPO作为teacher,收集多任务教师数据用的 decision Transformer训多任务策略。没太多可看的。
二、 轨迹预测
2.1 Can you text what is happening? Integrating pre-trained language encoders into trajectory prediction models for autonomous driving,9.13 Bosch
动机:可以将LLM看作foundation model,集成视觉特征和文本特征,进行轨迹预测获得最好效果
方案:由于GPT系列难以得到中间feature,对于文本使用的是DistilBert,对于BEV使用了BEiT作为encoder,
2.2 MotionLM: Multi-Agent Motion Forecasting as Language Modeling, ICCV, 2023, Waymo
动机:autoregressive language models作为多智能体轨迹预测模型,在waymo交互预测任务取得SoTA
方案:使用的是LLM类似的自回归transformer decoder,但chatGPT本身没有太大联系。可以同时decoder多个智能体,不开源,
三、端到端控制任务:
3.1 DRIVEGPT4: INTERPRETABLE END-TO-END AUTONOMOUS DRIVING VIA LARGE LANGUAGE MODEL,10.2
动机:可解释性、泛化性。同时多模态大模型还可处理图像和视频数据;可解释性端到端模型,用黑盒解释黑盒,具备了人机交互层面的可解释性。
数据集生成:在BDDK的16k固定问答数据上,用chatGPT产生了新的12k问答数据
模型训练:使用Valley将video token转化为语言token,LLM使用了LLaMA 2;预训练阶段只训练video tokenizer;fine-tuning阶段LLM和video tokenizer在29k数据上一起微调,同时为了保障它的问答能力,还在80k的问答数据上一起微调
实验环境:开环,视觉输入,BDD-K,对比基线为ADAPT,metric:使用了ChatGPT打分。
3.2 ADAPT: Action-aware Driving Caption Transformer,ICRA,2023,开源代码,中文解读
动机:端到端模型的可解释性
方法:连续多帧图像输入,预训练的video swin transformer 得到video tokens,预测控制信号和文本输出。
实验环境:开环,BDD-K,具体见中文解读。
四、多视角视觉输入场景理解:
4.1 Language Prompt for Autonomous Driving,9.8
动机:缺少多视角输入的language prompt-instance 数据
方案:第1步:3D目标检测,目标包括4类属性 color,class,action,location, 手工标注13k目标;第2步:属性与或非操作的组合;第3步:让GPT3.5产生描述的language prompt,35k. 基于nuScenes数据集。
基于此数据集,做了prompt输入的多目标跟踪任务。整体效果为:利用视觉和language prompt,可以检测和跟踪多视角连续帧输入的目标。
4.2 3D DENSE CAPTIONING BEYOND NOUNS: A MIDDLE-WARE FOR AUTONOMOUS DRIVING
动机:目前缺少衔接 感知和规划的3D场景理解的LLM数据集,3D dense captioning
方案:3D目标属性:Appearance Direction Distance Motion Road Map
4.3 Talk2BEV: Language-enhanced Bird’s-eye View Maps for Autonomous Driving
与3.2类似,是对BEV input做了语言prompt.
4.4 DriveLM: Drive on Language, OpenDriveLab
LLM将用于感知、预测和规划任务,graph of thouht. 相比于3.2,多做了预测和规划。在nuScenes上360k annotated QA pairs。目前只开源了demo样例。
4.5 HiLM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving,9.11
动机:对于非高清图片,目前预训练的多模态大模型往往会漏掉小目标、过分关注大目标(由于预训练数据为低分辨率图片)。本文感知关注的是关键风险目标,还输出预测和主车决策建议,
动机图
方案:提出了用高清图片分支辅助低分辨率分支,在23年CVPR的DRAMA数据集上进行了实验,包括关键风险目标的检测、预测目标意图和给出驾驶建议。
五、场景或数据生成
5.1 Language-Guided Traffic Simulation via Scene-Level Diffusion,Nvidia,CoRL, 2023
动机:基于语言表述生成openscenarios格式的场景
方案:利用GPT4产生引导loss,引导扩散模型来产生指定场景
5.2 SurrealDriver: Designing Generative Driver Agent Simulation Framework in Urban Contexts based on Large Language Model,9.22
驾驶场景的可控生成,将会成为LLM的潜力方向。
5.3 WEDGE: A multi-weather autonomous driving dataset built from generative vision-language models,2023, CVPR workshop
动机:缓解OOD问题,利用DALL-E生成增广图片数据
#自动驾驶~多模态3D检测综述
中文题目:自动驾驶中的多模态 3D 物体检测综述
作者:Yingjie Wang, Qiuyu Mao, Hanqi Zhu, Jiajun Deng, Yu Zhang, Jianmin Ji, Houqiang Li, Yanyong Zhang
来源:International Journal of Computer Vision
论文地址:https://link.springer.com/article/10.1007/s11263-023-01784-z
摘要:过去十年见证了自动驾驶系统的快速发展。然而,实现完全自主仍然是一项艰巨的任务,特别是在理解不断变化、复杂的驾驶场景时。为了减轻感知的难度,自动驾驶车辆通常配备一套传感器(例如摄像头、激光雷达),希望捕捉重叠视角的场景,以最大限度地减少盲点。因此,融合这些数据流并利用它们的互补特性正在迅速成为当前的趋势。尽管如此,将不同传感器捕获的数据与截然不同的测距/成像机制结合起来并不是一项简单的任务。相反,需要考虑和优化许多因素。如果不小心,一个传感器的数据可能会成为另一个传感器数据的噪声,如果融合它们,结果会更差。到目前为止,还没有设计基于多模态融合的 3D 感知算法的深入指南。为了填补空白并激发进一步的研究,本综述对数十个最近基于深度学习的多模态 3D 检测网络(特别强调 LiDAR-相机融合)进行了深入研究,重点关注它们的融合阶段(即什么时间融合)、融合输入(即融合什么)和融合粒度(即如何融合)。这些重要的设计选择在确定融合算法的性能方面发挥着关键作用。
我们首先介绍了用于自动驾驶的流行传感器的背景、它们的数据特性以及相应的物体检测算法。接下来,我们讨论可用于评估多模态 3D 对象检测算法的现有数据集。然后,我们回顾了基于多模态融合的 3D 检测网络,仔细研究了它们的融合阶段、融合输入和融合粒度,以及这些设计选择如何随着时间和技术的发展而演变。审查后,我们讨论开放的挑战以及可能的解决方案。我们希望这项调查能够帮助研究人员熟悉该领域并开展多模态 3D 物体检测领域的研究。
引言
最近深度学习和计算机视觉方面的突破促进了自动驾驶的快速发展,它有望解放驾驶员、减少交通拥堵并提高道路安全。然而,自动驾驶的潜力尚未完全释放,很大程度上是由于现实驾驶场景中的感知表现不理想。因此,即使自动驾驶汽车 (AV) 已在许多受限和受控环境中得到应用,但在城市环境中部署它们仍然面临严峻的技术挑战。
图 1 展示了一个典型的 AV 系统,它由三个子系统组成:感知、定位和决策。AV 系统利用多个传感器(例如激光雷达、摄像头)来收集原始传感器数据。以原始传感器数据作为输入,感知和定位子系统执行几项重要任务来识别和定位感兴趣的对象,即对象检测、跟踪、3D 地图生成和映射等。给定对象及其位置,决策制定子系统可以导航并做出自动驾驶决策。所有任务中,对象检测旨在对感兴趣的对象进行定位和分类,具有重要意义。随着深度学习技术的突破,二维目标检测引起了广泛的关注,产生了大量的算法。然而,在 2D 图像平面中定位物体远不能满足 AV 感知 3D 现实世界的需求。为此,提出了3D物体检测任务,要求预测物体的三维位置、形状和旋转角度。与深入研究的 2D 物体检测相比,3D 物体检测不仅对自动驾驶车辆更重要,而且更具挑战性。挑战主要源于 3D 驾驶场景的感知也更加复杂。例如,我们需要额外的深度和旋转参数来定位 3D 空间中的对象。
在现实世界中,通过单一类型的传感器数据执行 3D 物体检测还远远不够。首先,每种类型的传感器数据都有其固有的局限性和缺点。例如,基于摄像头的系统缺乏准确的深度信息,而仅使用激光雷达的系统则因输入数据分辨率较低而受到阻碍,尤其是在长距离情况下。表1所示。总体而言,对于ego-sensor较远的物体(KITTI中> 60m),通常有不到10个LiDAR点,但图像超过400个图像像素。其次,感知系统必须能够抵御传感器失灵、失效或性能不佳,因此需要有不止一种类型的传感器。第三,不同传感器的数据自然互补。它们的结合可以更全面地描述环境,从而获得更好的检测结果。
因此,3D物体检测的最新趋势是结合来自不同传感器的数据流并开发多模态检测方法。图 3 显示了 AV 系统中的多个传感器。自动驾驶汽车通常配备摄像头、LiDAR、雷达、GPS和 IMU。在多模态方法中,来自具有互补特性的多种类型传感器的数据被融合,以捕获具有重叠视角的场景,旨在最大限度地减少盲点。
尽管最近的研究已经证明了融合在各种环境中的好处,但在现实世界中进行高效且有效的多模态检测在很大程度上仍然是一个神话,并面临许多挑战。下面我们列出了其中一些开放挑战:
1)多传感器校准:不同类型的传感器在时间或空间上不同步。在时域中,由于每个传感器具有独立的采集周期,因此很难同时收集数据。在空间域中,传感器在部署时具有不同的视角。因此,多传感器标定是数据融合之前的第一步,目前尚未受到太多关注。
2)融合过程中的信息丢失:由于不同类型的传感器数据之间存在较大差距(如表1所示),因此很难在输入阶段或特征空间中精确对齐这些数据流。为了将传感器数据转换为可以正确对齐和融合的表示格式,一定量的信息丢失是不可避免的。
3)跨多种模式的一致数据增强:数据增强在 3D 对象检测中发挥着至关重要的作用,可以增加训练样本的大小,并改善模型过度拟合的问题。基于 LiDAR 和基于相机的方法广泛采用全局旋转和随机翻转等增强策略,但由于担心导致跨模态不一致,因此在许多多模态方法中不存在。
目前,如何应对上述挑战并进行高效的数据融合仍然是一个悬而未决的问题。如果不小心完成,数据融合可能会导致不同的数据流相互成为噪音,从而导致更差的结果。在本文中,我们着手对最近基于融合的 3D 对象检测方法进行全面回顾。这样可以帮助查明传感器融合中的技术挑战,并帮助我们比较和对比为解决这些挑战而提出的各种模型。特别是,由于摄像头和激光雷达是自动驾驶最常见的传感器,因此我们的评论主要集中在这两类传感器数据的融合上。具体来说,当我们讨论基于多模态融合的 3D 检测算法时,我们重点关注该算法如何处理以下三个关键的设计考虑因素:
1)融合阶段:第一个设计考虑因素是多模态融合模块发生在哪个阶段,即“在哪里融合”。这里有三个选项:前融合、后融合和级联融合。前融合通常发生在每个分支达到其预测之前的输入阶段或特征提取阶段。后融合发生在预测阶段。级联融合采用混合模式,将一个分支的预测与另一个分支的输入融合。融合阶段是最有影响力的设计考虑因素,因为它决定了基于融合的检测算法的整体网络架构,而前融合是主要选择。
2)融合输入:第二个设计考虑因素涉及多模态数据如何输入融合模块,即“融合什么”。融合模块可以设计为将原始数据或某种类型的中间特征作为输入。例如,融合模块可以将 LiDAR 数据作为原始点云、体素网格以及鸟瞰图 (BEV) 或范围视图 (RV) 上的投影。同时,融合模块可以将相机数据作为特征图、分割掩模,甚至伪激光雷达点云。融合输入是一个关键的设计考虑因素,因为数据表示在整体检测性能中起着重要作用。这三个考虑因素中,它的选择最多。我们将在第四部分仔细回顾这些选项,并讨论它们如何随着时间和技术的发展而演变。
3)融合粒度:第三个设计考虑因素是两个数据流以什么粒度组合,即“如何融合”。它通常具有三个选项:感兴趣区域 (RoI) 级别、体素级别和点级别(最后一个为最细粒度)。融合粒度对于确定融合的复杂性和有效性具有重要作用;通常,更细的融合粒度需要更多的计算并带来更优越的性能。
之前基于深度学习的多模态融合方法的综述涵盖了广泛的传感器,包括雷达、摄像头、激光雷达、超声波传感器等,并对一系列主题进行了相对简短的回顾,包括虽然它们被认为是读者浏览一般领域的有用指南,但本文有一个明显不同的目的:它针对的是那些想要仔细调查该领域的研究人员多模态 3D 检测。因此,我们的综述旨在对这一主题的最新研究进行深入而详细的回顾。我们的贡献总结如下:
1)我们对基于传感器融合的 3D 检测网络进行了深入调研,特别关注 LiDAR 相机融合。我们围绕三个核心设计考虑因素组织讨论:融合阶段、融合输入和融合粒度,分别回答在哪里融合、融合什么和如何融合的问题。
2)之前的大多数调查在很大程度上忽略了 3D 多模态网络的融合输入。事实上,与其他两种设计考虑因素相比,融合模块的输入表现出最大的多样性,并代表了每种设计的独特理念。在我们的调查中,我们彻底讨论了这一设计考虑因素。根据融合输入选择,我们将基于融合的 3D 检测网络总共分为五类。我们详细回顾每个类别的方案,并讨论输入组合如何随着时间和技术的发展而演变。
3)我们还总结了可用于 3D 对象检测评估的流行多模态数据集。此外,我们仔细讨论了该领域的一系列开放挑战以及可能的解决方案,这有望激发多模态 3D 对象检测领域的一些未来研究。
背景
在本节中,我们将提供自动驾驶中使用的典型传感器的背景概述,特别是依赖于每种类型传感器的 3D 物体检测方法。我们主要讨论相机和激光雷达。此外,我们还介绍了其他可用于 3D 物体检测的传感器。
2.1 3D物体检测任务
在介绍通过不同相机设置的 3D 对象检测方法之前,我们首先概述 3D 对象检测。在 3D 对象检测任务中,我们需要提供场景中对象的 3D 边界框。如图4所示,我们需要预测物体中心的3D坐标c、长度l、宽度w、高度h及其偏转角θ以获得红色3D边界框。
2.2 通过摄像头进行 3D 物体检测
摄像头是自动驾驶汽车最常见的传感器。近年来,在 2D 目标检测中发展了一系列成熟的方法,这些方法可以在 3D 目标检测中重复使用 [46, 129]。因此,基于图像的 3D 对象检测方法可以以较低的成本实现令人满意的性能,通常优于人类专家。AV 中广泛部署了多种类型的摄像机,每种类型都有优点和缺点。下面我们讨论通过不同相机设置的 3D 物体检测算法。
单目 3D 物体检测。单目相机以像素强度的形式提供稠密信息,揭示形状和纹理属性。形状和纹理信息还可用于检测车道几何形状、交通标志和物体类型。使用单目相机进行 3D 检测的主要缺点源于缺乏深度信息,而深度信息对于 AV 的精确物体尺寸和位置估计是必需的。为了弥补这一点,许多研究致力于通过单目相机提高检测精度。例如,Mousavian 采用设计的 CNN 来估计缺失的深度信息,稍后用于将 2D 边界框升级到 3D 空间。Chu首先执行单目深度估计,并将2D像素提升为伪3D点。他们设计了一种新颖的邻居投票方法,该方法结合了邻居预测,以改进严重变形的伪激光雷达点云的对象检测。Park提出了一种端到端单级单目检测器。通过大规模未标记数据预训练,取得了可喜的检测结果。
双目 3D 物体检测。与单目相机相比,双目相机可以估计更准确的深度图。具体来说,多视点相机可以通过不同的相机覆盖不同范围的场景,并更准确地捕获深度图。同时,处理立体图像的复杂性和成本也将大大增加。一些作品利用双目图像生成稠密点云来执行 3D 对象检测任务。例如,Chen 专注于通过将对象尺寸先验、地平面先验和深度信息编码为能量函数来生成 3D 提案。Li 在立体区域提议网络 (RPN) 之后添加额外的分支来预测稀疏关键点、视点和对象尺寸,这些用于计算粗略的 3D 对象边界框。接下来,通过基于区域的光度对准恢复准确的 3D 边界框。Guo将深度信息编码在立体成本体积中,以 LiDAR 特征为指导,为立体检测网络提取高级几何感知表示。
基于相机的 3D 对象检测的缺点。总而言之,基于相机的 3D 对象检测有几个缺点。首先,单目相机很难估计深度,这严重限制了检测精度。其次,基于摄像头的检测还受到诸如照明不良、浓烟或大雾等不利条件的影响。到目前为止,仅摄像头的 3D 物体检测还无法获得可靠的性能。就 KITTI 数据集而言,最先进的基于双目的方法 LIGA-Stereo实现了 64.66% mAP,而基于单目的 DD3D 仅实现了 16.87% mAP。为了实现更可靠的自动驾驶系统,我们需要探索更强大的自动驾驶传感器。
关于mAP,请参考小纸屑:详解object detection中的mAP
2.3 通过 LiDAR 进行 3D 物体检测
激光雷达传感器利用激光器作为光源来完成遥感测量。LiDAR 检测 LiDAR 传感器和被检测物体之间的光波信号。它不断发射激光并收集反射点的信息,以获得全方位的环境信息。当激光雷达传感器旋转一圈时,所有反射点坐标形成点云。作为主动传感器,不需要外部照明,因此我们可以在极端照明条件下实现更可靠的检测。LiDAR点的典型分辨率范围为16通道至128通道。Velodyne HDL-64L和VLS-128相比可以看出,128通道激光雷达各项参数均优于64通道激光雷达。显然,与相机相比,激光雷达的成本相当高。我们可以看到 Velodyne HDL-64 传感器的官方售价为 80,000 美元。最新的VLS-128传感器具有更好的性能,但也更昂贵。下面,我们简要回顾一下基于 LiDAR 数据的 3D 物体检测的现有工作。
基于视图的检测。许多基于 LiDAR 的方法将 LiDAR 点云投影到 BEV 或 RV 中,以利用现成的 2D 卷积神经网络 (CNN)。早期,Yang 提出了一种高效、无提议的单级检测器。它将点云转换为 BEV 并执行 2D CNN 来提取点云特征。还提出了紧凑且密集的基于 RV 的方法用于 3D 物体检测。最近,Liang 在 RV 上使用 2D 主干来直接学习空间特征,然后采用 R-CNN 来获取 3D 边界框。H23D R-CNN首先以顺序模式学习 RV 和 BEV 特征,然后在多视图融合块中融合两个 3D 表示。
基于体素的检测。基于体素的方法首先将点划分为规则的 3D 体素,然后利用稀疏卷积神经网络和转换器进行特征提取和边界框预测。VoxelNet 提取判别性体素特征以加速模型执行。SECOND通过应用稀疏卷积减少了密集 3D CNN 的计算开销。PointPillars引入了点云的柱表示(体素的特殊形式)。Pillars 速度很快,因为所有关键操作都可以表示为 2D 卷积。Voxel R-CNN 通过引入体素 RoI 池化操作进一步提高了基于体素的检测器的准确性和速度。此外,毛等人。Mao引入了一种基于 Transformer 的架构,该架构通过自注意力机制实现体素之间的远程关系。
基于点的检测。最近的点云编码器,例如 PointNet 、PointNet++ 、Pointformer 和其他点云主干可以从原始点云中学习表示。基于点的检测器利用它们来提取下游任务的空间几何信息。例如,Shi 采用 PointNet++ 作为点云编码器,并根据提取的语义和几何特征生成 3D 建议。Shi 和 Rajkumar 提出了一种图神经网络来检测 LiDAR 点云中的对象。为此,他们在固定半径近邻图中有效地对点云进行编码。
点体素混合检测。除了上面介绍的点和体素表示之外,还有一些工作采用混合模式,利用点和体素特征进行3D对象检测。例如,STD首先根据点特征生成建议,然后在框细化阶段采用体素表示。PV-RCNN 集成了多尺度体素特征和点云特征,以实现精确的 3D 物体检测。M3DETR通过变压器以多级尺度对点和体素特征进行编码。一般来说,点体素混合检测器受益于两种表示,这优于仅点或体素检测器。
与相机图像相比,LiDAR 点提供了强大的 3D 几何信息,这对于 3D 物体检测至关重要。此外,LiDAR传感器可以更好地适应强光等外部因素。目前,基于LiDAR的方法比基于相机的方法实现了更好的检测精度和更高的召回率。就 KITTI 3D 目标检测基准而言,基于单目图像的顶级方法 DD3D 实现了 16.87% mAP,而相当多基于 LiDAR 的方法实现了超过 80% mAP 。然而,由于以下原因,仅 LiDAR 的算法尚未准备好在自动驾驶汽车上广泛部署:1)LiDAR 昂贵且体积庞大,尤其是与相机相比。2)LiDAR的工作距离相当有限,远离LiDAR的点云极其稀疏。3)激光雷达在大雨等极端恶劣天气下无法正常工作。
2.4 通过其他传感器进行 3D 物体检测
除了摄像头和激光雷达之外,自动驾驶汽车还常常配备毫米波(简称mmWave)雷达传感器、红外摄像头等传感器。特别是毫米波雷达长期以来一直在自动驾驶汽车上使用,因为它的鲁棒性更强。比相机和激光雷达更恶劣的天气条件。更重要的是,雷达点提供了相应物体的速度信息,这对于避开动态物体至关重要。接下来,我们简要介绍一下毫米波雷达的背景。
毫米波雷达传感器。毫米波雷达是在毫米波频段运行的有源传感器。它们可以测量反射波以确定物体的位置和速度。它们比 LiDAR 便宜得多,能够抵抗恶劣的天气条件(雾、烟和灰尘),并且对照明变化不敏感 。然而,与相机和激光雷达相比,大规模和公共的毫米波雷达数据集有限。此外,由于毫米波雷达的分辨率较低,很难通过稀疏的二维雷达点直接检测物体的形状。与3D点云相比,由于多路径反射,雷达点的噪声要大得多,导致很难单独进行3D检测。毫米波雷达输出可以分为三个层次:1)时频频谱图形式的原始数据;2)对原始数据应用聚类算法进行聚类;3) 在集群上执行对象跟踪的轨迹。
基于毫米波雷达的 3D 物体检测。毫米波雷达已在 AV 系统中得到广泛应用。雷达通常将检测到的物体报告为 BEV 中的 2D 点,并提供到物体的方位角和径向距离。对于每次检测,雷达还会报告物体在径向方向的瞬时速度。据我们所知,Major 提出了第一个基于雷达的深度神经网络目标检测,并具有可靠的结果。然而,基于雷达的 3D 探测器面临着许多挑战。与LiDAR点相比,雷达点的噪声更大且精度更低,这给LiDAR适应雷达带来了困难。基于雷达的探测器的另一个瓶颈是缺乏带有地面实况信息注释的公开可用数据。在实践中,毫米波雷达更常用于与其他传感器融合:例如雷达-相机、雷达-激光雷达。
2.5 讨论
如上所述,不同的传感器具有不同的优点,有时是互补的。例如,相机是高分辨率和低成本的传感器,但缺乏深度信息并且对光照条件敏感。相反,LiDAR点可以提供周围环境的3D空间信息,但只能捕获稀疏点,价格较高。
一般来说,基于相机的方法生成的 3D 边界框的精确度低于基于 LiDAR 的方法。目前,基于 LiDAR 的方法在 3D 物体检测中非常流行,但也存在一些缺点。例如,随着距离的增加,点云的密度往往会迅速下降,而基于图像的检测器仍然可以检测远处的物体。为了充分利用互补特征并提高整体性能,更多的方法尝试设计融合网络将图像与点云结合起来。与依赖单个传感器的方法相比,这些方法在 3D 物体检测任务中实现了卓越的性能。我们稍后将在第四节讨论这个问题。
III 数据集和指标
数据集是深度学习领域不可或缺的一部分。ImageNet、PASCAL 和 COCO 等大规模图像数据集的可用性激发了图像分类任务的出色发展。受益于2D图像的蓬勃发展,3D物体检测迫切需要大量的标记数据以适应多变的环境。因此,我们讨论了自动驾驶中一些广泛使用的 3D 物体检测数据集。(此部分简单截图,不过多介绍,感兴趣的请看原文)
IV 基于深度学习的多模态 3D 检测网络
在本节中,我们将介绍基于深度学习的多模态 3D 检测网络,特别关注 LiDAR 和相机数据。我们通过以下三个重要的融合设计考虑因素来组织我们的调研:融合阶段,即在哪个阶段发生融合,回答“在哪里融合”的问题;融合输入,即融合数据使用什么表示,回答“融合什么”的问题;融合粒度,即融合数据以什么粒度进行组合,回答“如何融合”的问题。
图 8 列出了每个设计考虑因素的可能选项。在本节的其余部分中,我们将讨论最近的深度多模态 3D 检测网络如何解决这三个设计问题。更重要的是,与其他两种设计考虑因素相比,融合模块的输入表现出最大的多样性并代表了特征网络设计。因此,我们将基于融合的 3D 检测网络总共分为五类。在每个类别中,我们详细回顾了相关的融合方案。
4.1 融合阶段:哪里融合?
该设计问题涉及哪个阶段执行融合操作。在这里,我们将检测网络步骤大致分为以下三个阶段:输入阶段、特征提取阶段和预测阶段(如图 9 所示)。根据三个阶段中哪个阶段执行融合,我们有三种选择:前融合、后融合和级联融合。
4.1.1 前融合
前融合通常发生在每个分支达到其预测之前的输入阶段或特征提取阶段。它使得中间层的多模态特征之间能够进行更直接的交互,如图9所示。然后利用融合的特征在预测阶段执行分类和回归任务。前融合可以更好地利用模态丰富的中间信息,是目前应用最广泛的融合阶段。
4.1.2 后融合
与前融合相比,后融合对每种模态采用单独的分支,然后在预测阶段通过融合网络组合各个决策级输出。图 10 概述了这样一个框架。后融合可以更好地利用每种模式的现有网络。它还不需要处理诸如如何对齐来自不同模式的数据等问题。值得注意的是,Pang 采用了后期融合,并且在 KITTI 排行榜上优于单模态检测器。它利用 2D 和 3D 预测之间的几何和语义一致性,并从训练数据中学习两者之间的概率依赖性。具体来说,它获取 2D 和 3D 提案,然后将所有提案编码为稀疏张量。其缺点在于无法利用丰富的中间特征 。
4.1.3 级联融合
级联融合采用混合模式,将一个分支的预测与另一个分支的输入融合,从而在多种模态之间建立级联关系。如图11所示,我们首先从图像流的预测阶段获得2D提案。接下来,使用已知的相机投影矩阵,可以将 2D 建议提升为定义 3D 搜索空间的平截头体。我们收集视锥体内的所有点以形成 3D 视锥体提案,用于对对象进行分类和定位。因此,一种模态提供的先验信息可以大大减少级联融合中另一种模态的搜索空间。第一个使用级联结构的融合方法是 F-PointNet 。然而,其性能很大程度上受到二维探测器精度的限制。
4.2 融合输入:融合什么?
第二个设计选择涉及多模态数据以何种形式或表示形式输入融合模块。融合模块的输入表现出最大的多样性,代表了每种设计的独特想法。对于激光雷达相机融合,我们可以将原始传感器数据、各种中间特征,甚至图像/点云分支的结果级输出作为融合输入。具体来说,融合模块可以接收体素网格、原始点云或点云在 BEV 或 RV 上的投影形式的 LiDAR 数据,图像特征图、分割掩模甚至相应的伪 LiDAR 点形式的相机数据云。
在本节中,我们首先介绍可以分别由图像和点云分支使用的典型输入,然后根据输入组合将基于融合的 3D 检测网络分为总共五类。在这里,我们重点回顾前融合方法。
4.2.1 LiDAR-相机融合的典型融合输入
我们首先介绍基于融合的检测流程中分别用于图像分支和点云分支的典型融合输入,如图 12 所示。更准确地说,融合模块的模态输入是某个中间层,无论是简单的数据预处理功能还是神经网络块。
图像分支的典型融合输入。大多数激光雷达相机融合方法从图像分支获取以下三种融合输入之一,即特征图、分割掩模和伪激光雷达点云。
特征图:深度神经网络能够从原始图像中提取外观和几何特征图,这是相机和其他传感器之间融合最常用的输入。与原始图像相比,特征图的利用探索了更丰富的外观线索和更大的感受野,这使得模态之间的交互更加深入和彻底。我们列出了一些可用于获取特征图的流行主干网,这些特征图可以馈送到融合模块:例如 VGG-16、ResNet、DenseNet 。
分割掩模:图像通过语义分割网络以获得逐像素分割掩模。图像掩模通常用于与其他传感器数据融合,作为图像处理分支的独立产品。与特征图相比,使用掩模作为相机数据融合输入具有以下优点。首先,图像掩模可以作为图像更紧凑的摘要特征。其次,通过使用已知的校准矩阵进行点到像素映射,可以轻松地使用像素级图像掩模来“绘制”或“装饰”LiDAR 点。我们列出了一些用于基于融合的算法的流行图像分割网络:DeepLabV3、Mask-RCNN 和轻量级网络 Unet。
伪LiDAR点云:相机数据也可以转换为伪点云作为融合输入。伪点云表示将图像像素提升到3D空间,其信号比实际LiDAR点云密集得多。不利的一面是,它通常存在长尾问题,因为估计的深度在对象边界周围可能不准确。伪LiDAR点是根据估计的深度图将图像像素反投影为伪3D点而获得的。在 3D 多模态检测的背景下,这种表示有助于多任务学习。使用伪点云作为融合输入,我们可以轻松促进图像和点云之间的密集特征图融合。
点云分支的典型融合输入。LiDAR 点云通常是根据从不同视点收集的深度测量值合成的。它基本上是 3D 坐标系中的一组点,通常由 x、y、z 和反射强度定义。下面,我们讨论常用于激光雷达相机融合的典型激光雷达输入,即体素网格、原始点云以及点云在 BEV 或 RV 上的投影,其可视化结果分别如图 16 所示。
体素化点云或体素网格:由于常规体素网格上的高效并行处理潜力,体素化点云被广泛用作融合输入。我们首先将 3D 空间离散化为 3D 体素网格,然后通过体素特征编码(VFE)层获得体素特征。因此,我们可以利用 3D CNN 来提取更深层次的点云特征。体素化点的融合也有一些缺点。首先,它会遭受信息丢失。体素大小与丢失的空间信息量高度相关。为了说明这一点,让我们看一下图 16 (b),其中体素(蓝色)比 (a) 中的原始点稀疏得多。其次,在体素化过程中,由于LiDAR点仅位于物体表面,因此会产生大量空体素,这可能会对融合性能产生不利影响。第三,处理 3D 体素需要耗时的 3D 卷积运算。相应地,融合网络的训练时间将不可避免地增加。在实践中,点云数据通常被体素化为仅在 x-y 平面(我们称为支柱)上均匀分布的网格,以满足计算和有效性需求。
原始点云:得益于高效的3D点云处理网络,可以直接处理原始3D点云以获得合适的点特征,而不会造成体素化损失。具体来说,我们采用点云编码器来处理原始点并获得点特征向量。与基于体素的方法相比,直接将原始点作为输入可以保留更多信息。然而,基于点的方法通常计算成本较高,尤其是在处理大型场景时。例如,对于广泛使用的 Velodyne LiDAR HDL-64E,它每帧收集超过 100,000 个点。因此,综合考虑效率和性能,对点云数据进行适当的降采样进行数据预处理是必要的。
BEV 或 RV 投影:融合模块的另一个典型点云输入是点云的 BEV 或 RV 投影。由此产生的伪图像可以由 2D CNN 有效地处理。BEV 通常被用来与图像特征融合,因为 BEV 平面上物体之间的重叠要少得多。用于融合的另一种流行的基于视图的输入是 RV,它也是旋转 LiDAR 传感器的本机表示。本质上,它形成了一个紧凑的 2.5D 场景,而不是稀疏的 3D 点云。将点云投影到 RV 上可以保留 LiDAR 传感器数据的完整分辨率并避免空间损失。然而,RV 面临着近处和远处物体之间尺度变化的问题。在融合流程中,这些提到的点云投影通常首先使用 2D CNN 进行处理以获得基于视图的特征,然后池化到与图像特征相同的大小。
4.2.2 LiDAR-相机融合的典型输入组合
我们发现以下融合输入组合对于 LiDAR-相机融合模块来说是最流行的:(1) 点云的 BEV/RV + 图像特征图,(2) 体素化点云 + 图像特征图,( 3)原始点云+图像特征图和(4)原始点云+图像掩模。此外,利用多种类型的图像/点云输入来形成更全面的融合已成为最近的趋势。我们还在这里回顾了这些方法。下面我们讨论属于这 5 个融合输入类别之一的基于融合的方法,特别关注这些融合输入组合如何随着时间和技术的发展而演变。
点云的 BEV/RV + 图像特征图。在 3D 目标检测流行之前,基于图像的 2D 目标检测引起了广泛关注。因此,一旦考虑将 LiDAR 用于 3D 物体检测,就提出了几种 LiDAR-相机融合算法,将 3D 点云投影到 2D 平面上,并将所得的点云 2D 视图与图像特征图相结合。我们在下面讨论此类中的典型算法。MV3D是该类别的开创性工作。它将点云的 FV(前视图)和 BEV 作为输入,并利用 3D 区域提案网络 (RPN) 生成 3D 提案。接下来,MV3D 将来自多个提案的多视图特征向量集成为相同的长度,并将它们放入基于区域的融合网络。AVOD通过设计采用高分辨率特征图的更先进的 RPN,实现了比 MV3D 更好的性能,特别是在小对象类别中。它还在 RPN 阶段合并来自多个视图的特征,以生成更准确的积极建议。AVOD仅以点云的BEV和图像作为输入,有效降低了计算成本。基于 AVOD,SCANet 利用基于编码器-解码器的提议网络和空间通道注意(SCA)模块来捕获多尺度上下文信息,并使用扩展空间上采样(ESU)模块来恢复空间信息。然而,这些方法有局限性,特别是在检测行人和骑自行车者等小物体时。为了克服这些限制,Contfuse 执行连续卷积从点云的 BEV 中提取多尺度卷积特征图并将其与图像特征融合。连续卷积的参与从相邻观测中捕获局部信息,并导致更少的几何信息丢失。此外,使用点云的BEV或FV作为融合输入的另一个缺点在于将3D点云投影到2D平面时不可避免的3D空间信息丢失。点云的距离视图(RV)可以避免上述信息丢失问题。与 BEV 和 FV 投影相比,RV 是一种紧凑的,更重要的是,它是 LiDAR 的内在表示。因此,最近的趋势是将点云的 RV 与 RGB 图像特征图直接结合起来,而不会产生投影损失。以 RV 表示作为输入,FuseSeg 建立点像素映射并最大化多模态信息。在表 6 中,我们总结了此类融合方法的贡献和局限性。
体素化点云+图像特征图。体素化将不规则的点云转变为规则的 3D 体素。随着体素化在点云处理中变得流行,体素网格已普遍用作融合输入。表 7 总结了属于此类别的方法。Sindagi 使用体素和图像特征图作为输入,通过校准将非空体素特征投影到图像平面。然后通过设计的融合网络将图像特征连接到体素特征。在最后阶段,3D RPN 处理聚合数据并生成 3D 检测结果。类似地,在另一项工作 3D-CVF中,空间注意力图用于根据每种模态对检测任务的贡献来权衡它们。3D-CVF 采用自动校准投影来构建平滑的联合 LiDAR 相机特征。尽管如此,当仅将每个体素网格的中心点投影到图像特征上时,此类方法面临特征模糊问题。这会导致每个体素内详细空间信息的丢失。最近,为了克服这个瓶颈,VPF-Ne巧妙地在“虚拟”点处对齐和聚合点云和图像特征。特别是,由于密度介于 3D 体素和 2D 像素之间,虚拟点可以很好地弥合两个传感器之间的分辨率差距,并保留更多信息进行处理。后来,PointAugmenting 通过首先用预先训练的 2D 检测模型提取的相应特征“装饰”原始点来解决模糊问题。然后对装饰点进行体素化并进一步处理。PointAugmenting 还受益于遮挡感知点过滤算法,该算法在训练期间始终将虚拟对象粘贴到图像和点云中。
原始点云+图像特征图。如前所述,体素化点云可能会因体素化过程而导致一定程度的信息丢失。后来,PointNet [14]的出现使得直接处理原始点云成为可能,而无需任何投影或体素化。因此,PointNet 激发了一系列研究,将点直接与特征图结合起来作为融合输入(表 8 中总结)。与之前基于融合的方法不同,PointFusion 以级联方式结合了 ResNet50 的全局图像特征和 PointNet 的点云特征。这种串联操作虽然简单,但不能很好地对齐多模态特征。因此,Huang提出了LI融合层,明确地建立点特征和相机图像特征之间的映射,从而提供更精细、更具辨别力的表示。它还利用点云特征来估计相应图像特征的重要性,从而减少遮挡和深度不确定性的影响。
原始点云+图像掩模。Xie直接对3D点进行连续卷积,同时检索更深层次的语义特征而不是图像特征作为图像输入。主要原因在于两个方面。1)在语义分割的监督下学习的特征在表示图像时通常更具表现力和紧凑性。2)获得齐次变换矩阵是可行的,它可以建立2D掩模和3D点之间的关系。因此,最近有不少研究使用结果级特征(例如分割掩模)来与原始点融合,如表 9 所示。为了融合点云数据和图像掩模,LiDAR 点通过齐次变换投影到图像平面,从而在两者之间建立 3D-2D 映射。我们将 PointPainting 作为融合网络的典型示例。它将原始点和分割结果作为融合输入。接下来,在融合模块中,我们首先将点投影到图像上,然后将分割分数附加到原始 LiDAR 点。更重要的是,PointPainting可以自由地应用于基于点和基于体素的激光雷达探测器,并进一步提高整体性能。受到成功的 PointPainting 的启发,CenterPointV2在 nuScenes 上几乎获得了最先进的结果,而 HorizonLiDAR3D在 Waymo 开放数据集挑战赛上名列前茅。
模态的多输入。同时,随着旨在处理点云和图像的深度学习网络变得越来越多样化,单一模态采用多个输入进行融合也很常见。MMF 是这一类别的先驱。它提出了一种端到端架构,可以执行包括 2D 和 3D 对象检测、深度补全等在内的多项任务。具体来说,融合模块从图像分支获取图像特征图以及伪 LiDAR 点云,并来自点云分支的 BEV。然后将这些输入联合融合以进行 3D 对象检测。最近,Wang 提出了一种多表示融合框架,以体素网格、点云的 RV 投影和图像特征图作为输入。他们进一步估计了这三个来源与注意模块对于实现自适应融合的重要性。
4.2.3 讨论
总而言之,点云输入从点云的投影、体素网格演变为原始点,力求最大限度地减少点云投影或体素化中产生的信息损失。同时,RGB图像输入从较低级别的特征图演变为较高级别的语义分割结果,力求充分利用图像数据的丰富性。此外,为了利用同一数据流的不同视角,最近的融合网络开始利用来自同一模态的多个输入。这些趋势是由快速增长的计算能力以及强大的深度学习网络的快速发展所促成的。这些因素相结合,可以提供更准确的激光雷达相机融合结果。
4.3 融合粒度:如何融合?
在本节中,我们讨论基于融合的算法的第三种设计选择。它是由两个数据流以什么粒度组合来定义的,这也解决了“如何融合”的问题。通常有三种选项:RoI 级、体素级和点级(最后一个为最细粒度)。一般来说,融合粒度对于融合框架的复杂性和有效性至关重要。更精细的融合粒度需要更多的计算,但通常会带来更优越的性能。下面我们详细讨论这三个粒度级别(表 5 中总结)。
4.3.1 RoI级别
本质上,RoI 级融合仅融合选定对象区域的特征,而不是特征图上的密集位置。因此,RoI 级融合通常在相对较晚的阶段执行(即,在 3D 区域提议生成阶段之后)。这种融合粒度发生在对每个视图应用 RoI 池化以获得相同长度的特征向量时,如图 21 所示。此外,它通常发生在对象提议级别,以便从 2D 获取 3D 平截头体通过几何关系的 RoI 。因此,RoI 级融合限制了神经网络在早期阶段捕获跨模态交互的能力。为了克服这个缺点,RoI-level 融合通常与其他融合粒度相结合,以进一步细化提案。
4.3.2 体素级
与 RoI 级相比,体素级融合利用了相对较早的融合阶段。体素化点云数据通常被投影到图像平面上,因此我们可以将图像特征附加到每个体素,如图22所示。在这里,我们在体素特征和图像特征之间建立相对近似的对应关系。具体来说,我们通过相机投影矩阵将每个体素特征中心投影到图像平面。获得图像域中的参考点后,将相应的图像特征附加到LiDAR体素特征分支中。体素级融合会导致一定程度的信息丢失,这是由于体素化中的空间信息丢失和非平滑相机特征图造成的。为了解决这个问题,可以通过插值投影组合相邻的图像特征像素来校正空间偏移,从而可以实现体素和图像特征之间更准确的对应。此外,我们可以探索交叉注意机制,使每个体素能够感知整个图像域并自适应地关注相应的 2D 特征,而不是采用一对一的匹配模式。与 RoI 级融合相比,这种体素级融合的粒度更细、更精确。此外,为了处理由 LiDAR 稀疏性导出的空体素,体素级融合可以聚合密集的图像信息以补偿稀疏的 LiDAR 特征。
4.3.3 点级
点级融合通常是前融合,其中每个 3D 点都由图像特征或掩模聚合,以捕获密集的上下文。通过将相应的图像特征或掩模“提升”到 3D 点的坐标,点级融合为每个 3D 点提供了一个额外的通道。具体来说,我们使用已知的变换矩阵将3D点投影到2D图像像素,从而建立3D-2D映射。接下来,我们可以通过映射索引用相应的图像掩模来装饰点或体素特征。图 23 概述了这个过程。点级融合的突出优点是能够总结来自两种模态的有用信息,因为图像特征在很早的阶段就被连接起来。与上述两种融合粒度级别相比,我们可以简单地建立稠密图像和稀疏点云之间的对应关系,而不会出现模糊问题。尽管实验结果表明点级融合有效提高了整体性能,但仍然存在局限性。首先,由于图像域中固有的遮挡问题,映射到遮挡图像区域的3D点可能会得到无效的图像信息。其次,与体素级融合相比,点级融合在内存消耗方面效率较低。
4.3.4 讨论
图24清楚地显示了基于深度学习的多模态3D检测方法出现的年份。我们还标记了每种方法的融合粒度。随着时间的推移,我们观察到粒度最初相对较粗,然后变得更细。同时,一些融合方法采用不止一种融合粒度级别来进一步细化。
4.4 LiDAR-Camera Fusion:总结与发展
综上所述,RoI 级融合相当有限,因为这种融合缺乏深度的特征交互。后来的体素级和点融合方法允许深度特征交换,并且有自己的优点。然而,最近的一些研究表明,由于校准矩阵建立的点和像素之间的硬关联,此类方法很容易受到传感器未对准的影响。最近,基于 BEV 的方法在 BEV 地图分割中的成功鼓励我们将其扩展到基于融合的 3D 对象检测任务。后续工作已经证明,将 LiDAR 功能与 BEV 中的摄像头功能融合可以有效防止图像质量下降和传感器未对准。因此,一种用于 LiDAR-相机融合的新 BEV 级范式已经出现。这些方法不是通过3D2D硬关联来收集2D掩模或特征,而是直接将图像特征提升到3D世界,并且这些提升的特征可以处理到BEV级别,以便在检测管道的某个阶段与LiDAR BEV特征融合。例如,BEVfusion使用现成的深度估计器 LSS以可学习的方式将每个图像特征提升到 BEV 空间,然后这些提升的点由单独的 3D 编码器处理以生成 BEV 映射,通过合并来自两种模式的两个 BEV 地图,LiDAR-相机融合发生在 BEV 级别。
4.5 与其他传感器融合
到目前为止,我们已经深入讨论了激光雷达相机融合方法。接下来,我们简要总结涉及与毫米波雷达(为简洁起见,在本文中称为毫米波雷达)传感器融合的方法。毫米波雷达的使用最近因其距离远、成本低和对运动敏感而变得流行。因此,我们简要讨论雷达-相机融合和激光雷达-雷达融合。
对于雷达相机融合,Chadwick 将雷达检测结果投影到图像平面,以提高远处物体的物体检测精度。类似地,Nabati 和 Qi 使用雷达检测结果首先生成 3D 目标建议,然后将它们投影到图像平面以执行联合 2D 目标检测和深度估计。CenterFusion建议利用雷达和摄像头数据进行 3D 物体检测。它首先利用中心点检测网络通过识别图像上的中心点来检测对象。接下来,它使用一种新颖的基于平截头体的方法将雷达检测与相应的 2D 建议关联起来,解决了关键数据关联问题。上述方法均直接利用雷达检测结果,没有挖掘雷达点的特征。相反,Kim 提出了一种低级传感器融合 3D 物体检测器,通过门控 RoI Fusion (GRIF) 将来自雷达和摄像机特征图的两个 RoI 结合起来,从而提供更强大的车辆检测性能。对于 LiDAR-Radar 融合,RadarNet融合雷达和 LiDAR 数据以进行 3D 物体检测。它采用早期融合方法来学习两个传感器的联合表示,并采用决策融合机制来利用雷达径向速度证据。令人失望的是,RadarNet 在罕见但严重的恶劣天气条件下面临着严重的性能下降。为了解决这个问题,钱先生利用了互补雷达,这种雷达受恶劣天气的影响较小,并在车辆上普遍使用。他们提出了一种两级深度融合检测器来增强整体检测结果。具体来说,该方法首先从 LiDAR 和互补雷达生成 3D 建议,然后融合多模态传感器流之间的区域特征。最后,我们想指出,融合多个同类传感器也是有用的。HorizonLiDAR3D结合了五个LiDAR传感器生成的所有点云来增强点云数据的信息。在这项工作中,执行了来自所有 LiDAR 传感器的点云的简单串联。
V 开放的挑战和可能的解决方案
传感器模态具有不同的属性并从不同的角度捕获相同的场景,这使得将来自多种模态的数据组合成连贯的数据流成为一项具有挑战性的任务。在本节中,我们讨论多模态 3D 物体检测的开放挑战和可能的解决方案,我们希望为如何提高多传感器感知系统的性能提供有用的指导。
5.1 公开挑战一:多传感器标定
传统的标定方法使用标定目标来导出相机的内在和外在参数。这个繁琐的过程需要大量的手动工作。常见的做法是开发一种无目标的自动校准方法,可以连续动态校准激光雷达传感器和摄像头。无目标校准目前是该领域的一个活跃研究课题。这些方法无需人类专家即可自动在多个传感器之间进行校准。然而,驾驶自动驾驶汽车时不可避免的颠簸和抖动会导致经过良好校准的激光雷达相机系统的外部参数发生变化。更糟糕的是,如果不及时纠正,误差会逐渐累积,最终可能影响感知结果。解决这个问题的一个可能的解决方案是将激光雷达和相机集成在一个套件中,最大程度地防止它们的相对位移。
5.2 公开挑战二:融合过程中的信息丢失
在融合多模态数据时,由于投影、量化、特征去毛刺等原因,不可避免地会丢失一定量的信息。在设计多模态融合网络时,我们需要注意融合的阶段、输入和粒度。融合操作,以尽量减少信息损失。融合阶段的选择会导致不同程度的信息丢失。后融合阶段很容易实现,但无法享受原始数据或早期特征图中嵌入的丰富信息。考虑到问题的复杂性,如果可能的话,要确定平衡信息丢失和易于实施的最佳融合阶段是非常具有挑战性的。为此,一个可能的解决方案是考虑利用神经架构搜索(NAS)技术来找到管道内适当的融合阶段。它定义搜索空间,然后设计搜索算法来提出接近最优的神经架构。融合输入的选择对数据投影或体素化导致的信息丢失量影响最大。例如,将点云转换为其 BEV 会在垂直方向上压缩点云,从而导致高度信息丢失。将点云转换为其 RV 会遇到尺度变化的问题。因此,找到合适的输入表示形式来尽可能保留丰富的几何和语义信息非常重要。展望未来,我们可以研究几种可能的解决方案。具体来说,我们可以利用注意力机制来增强每种模态的某些特征。或者,我们可以采用多种表示来保留重要信息。例如,我们可以利用点云和相应的体素网格作为点云分支的融合输入。然而,现有方法没有充分利用时间融合输入,这可能限制多模态 3D 对象检测的性能。进一步,我们认为学习跨传感器和时间的 4D 时空信息融合具有重要意义。融合粒度的选择也会影响信息丢失的量,例如,以粗粒度对齐多模态数据会导致特征模糊的问题。一种可能的解决方案是采用可学习的校准偏移来聚合相邻空间信息。这样,我们就可以最大限度地发挥数据融合的效果。
5.3 公开挑战三:高效多模态数据增强
由于数据集中的对象数量有限,通常采用数据增强来确保高效学习并避免过度拟合。针对每个单个数据流的现有数据增强技术可以应用于深度融合方法,例如对象剪切和粘贴、随机翻转、缩放、旋转等。然而,为了保持多种模式下数据增强的一致性,我们需要在数据元素(例如点或像素)之间构建细粒度的映射。不幸的是,增强操作通常选择对随机选择的对象进行操作,因此在各种模式中不一致。最近,提出了几种方法来解决这个问题。张提出了一种新的多模态增强方法,通过切割真实对象的点云和图像块并将它们以一致的方式粘贴到不同的场景中,从而防止多模态数据之间的错位。将3D点投影到2D像素时,首先进行平移、旋转、翻转等逆向操作,恢复原始点云,然后根据标定信息得到点像素映射。未来,需要研究更有效的多模态增强技术。
5.4 公开挑战四:低成本多模态3D物体检测
单目或立体相机是最常见的低成本传感器,可以满足批量生产的要求。然而,如果没有准确的 3D 几何信息,仅依靠相机无法产生与基于 LiDAR 的方法相媲美的 3D 检测结果。事实上,最先进的单目方法 DD3D 在 KITTI 3D 物体检测排行榜上仅达到 16.87% mAP;最好的立体方法LIGAStereo可以达到64.66%的mAP。尽管如此,最好的仅 LiDAR 方法 BtcDet获得了 82.86% 的 mAP。展望未来,随着知识蒸馏的发展,人们可以利用 LiDAR 数据,使用大规模且经过良好校准的多模态数据,为基于相机的探测器提取 3D 几何信息。这种方法可以实现准确的检测以及较低的系统成本。
5.5 公开挑战五:大数据集短缺
多模态 3D 检测的另一个瓶颈是高质量、公开可用的数据集(带有真实信息注释)的可用性。目前,3D检测中流行的数据集存在以下问题:尺寸小、类别不平衡和标记错误。无监督和弱监督融合网络可以允许网络在大型、未标记或部分标记的数据集上进行训练。还有一些新兴的工作为 RGB 图像和点云生成合成数据集,它们提供具有丰富注释的大规模数据。然而,合成数据集和真实世界数据集之间可能存在域差距。最近的一些作品尝试利用真实感渲染、无监督域适应和生成对抗网络(GAN)等技术来弥合合成数据和真实数据之间的差距。尽管如此,如何使用基于合成数据训练的模型来处理现实世界的场景仍有待进一步研究。
VI 总结
由于 3D 视觉在自动驾驶等应用中的重要性日益增加,本文回顾了最近的多模态 3D 物体检测网络,特别是那些融合相机图像和 LiDAR 点云的网络。我们首先仔细比较流行的传感器并讨论它们的优缺点,并总结单模态方法的常见问题。然后,我们对自动驾驶常用的几个流行数据集进行了深入总结。为了提供系统回顾,我们根据以下三个设计考虑因素的选择来讨论多模态融合方法:(1)融合阶段,即融合在流程中发生的位置,(2)融合输入,即哪些数据输入用于融合,以及(3)融合粒度,即两个数据流以什么粒度级别进行组合。最后,我们讨论多模态 3D 对象检测中的开放挑战和潜在解决方案。
#大模型与自动驾驶论
LLM直接参与自动驾驶 (LLM + 端到端的自动驾驶,LLM + 语义场景理解,LLM + 驾驶行为生成)成为了一个比较火热的主旋律。另一些研究方向则关注在了多模态大模型进行仿真或世界模型的构建,也有部分学者尝试对大模型在自动驾驶应用中的安全性和可解释性作出了探讨。
Drive Like a Human: Rethinking Autonomous Driving with Large Language Models
论文来自上海AILAB和东南大学,通过LLM的理解环境能力,作者尝试构建闭环系统探索LLM在自动驾驶的环境理解和环境互动的可行性,并且发现其在推理和解决长尾问题上也有一定的能力。
DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model
来自港大和诺亚实验室,DriveGPT4是一个使用LLM的可解释的端到端自动驾驶系统,能够解释车辆行为并提供相应的推理,还可以回答用户提出的各种问题,以增强互动性。此外,DriveGPT4以端到端的方式预测车辆的低级控制信号。
DiLu: A Knowledge-Driven Approach to Autonomous Driving with Large Language Models
这是一个上海AI Lab提出了DiLu框架,它结合了推理和反思模块,使系统能够基于常识知识做出决策并不断演化。大量实验证明DiLu能够积累经验,并在泛化能力上明显优于基于强化学习的方法。此外,DiLu能够直接从现实世界的数据集中获取经验,突显了其在实际自动驾驶系统上的潜力。
GPT-Driver: Learning to Drive with GPT
这是一篇南加州大学的论文,可以将OpenAI GPT-3.5模型转化为可靠的自动驾驶车辆运动规划器。GPT-Driver将规划器的输入和输出表示为语言标记,并利用LLM通过坐标位置的语言描述生成驾驶轨迹。提出了一种新颖的提示-推理-微调策略,以激发LLM的数值推理潜力。借助这一策略,LLM可以用自然语言描述高度精确的轨迹坐标,以及其内部的决策过程。
Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving
这篇文章来自于Wayve, 论文中引入了一种独特的物体级多模态LLM架构,将向量化数字模态与预训练的LLM相结合,以提高在驾驶情景中的上下文理解能力。除此之外论文还提供了一个包含来自1万个驾驶情景的160,000个问答对的新数据集,与由RL代理程序收集的高质量控制命令和由教师LLM(GPT-3.5)生成的问答对相配对。
LanguageMPC: Large Language Models as Decision Makers for Autonomous Driving
这篇文章来自于清华大学和UC Berkeley,本研究将大型语言模型(LLMs)作为复杂AD场景的决策组件,这些场景需要人类的常识理解。作者设计了认知路径,以使LLMs能够进行全面的推理,并开发了将LLM决策转化为可执行驾驶命令的算法。通过这种方法,LLM决策可以通过引导参数矩阵适应与低级控制器无缝集成。
Receive, Reason, and React: Drive as You Say with Large Language Models in Autonomous Vehicles
本文来自Purdue University,研究包括在HighwayEnv中进行的实验,这是一个用于自动驾驶和战术决策任务的环境集合,旨在探讨LLMs在不同场景中的解释、互动和推理能力。作者还研究了实时个性化,展示了LLMs如何基于口头命令影响驾驶行为。论文的实证结果突显了采用“思维链”提示的重大优势,从而改进了驾驶决策,并展示了LLMs通过持续的口头反馈提升个性化驾驶体验的潜力。
Drive as You Speak: Enabling Human-Like Interaction with Large Language Models in Autonomous Vehicles
本文来自Purdue University,本文主要讨论如何利用大型语言模型(LLMs)来增强自动驾驶汽车的决策过程。通过将LLMs的自然语言能力和语境理解、专用工具的使用、推理与自动驾驶汽车上的各种模块的协同作用整合在一起。
SurrealDriver: Designing Generative Driver Agent Simulation Framework in Urban Contexts based on Large Language Model
本文来自清华大学,提出了一种基于大型语言模型(LLMs)的生成式驾驶代理模拟框架,能够感知复杂的交通场景并提供逼真的驾驶操控。值得注意的是,我们与24名驾驶员进行了访谈,并使用他们对驾驶行为的详细描述作为“思维链”提示,开发了一个“教练代理”模块,该模块可以评估和协助驾驶代理积累驾驶经验并培养类似人类的驾驶风格。
Language-Guided Traffic Simulation via Scene-Level Diffusion
哥伦比亚大学和Nvidia联合提出了CTG++,一种能够受到语言指导的场景级条件扩散模型。开发这一模型需要解决两个挑战:需要一个现实且可控的交通模型骨干,以及一种使用语言与交通模型进行交互的有效方法。为了解决这些挑战,我们首先提出了一个配备有时空变换器骨干的场景级扩散模型,用于生成现实且可控的交通。然后,我们利用大型语言模型(LLM)将用户的查询转化为损失函数,引导扩散模型生成符合查询的结果。
Language Prompt for Autonomous Driving
本文由北理和旷世提出,在驾驶场景中使用语言提示的进展受到了数据匹配的瓶颈问题的限制,因为匹配语言提示和实例数据的配对数据相对稀缺。为了解决这一挑战,本文提出了第一个针对三维、多视图和多帧空间内的驾驶场景的以物体为中心的语言提示集,名为NuPrompt。它通过扩展Nuscenes数据集,构建了共计35,367个语言描述,每个描述涉及平均5.3个物体轨迹。基于新的数据集中的物体-文本配对,我们提出了一项新的基于提示的驾驶任务,即使用语言提示来预测跨视图和帧描述的物体轨迹。
Talk2BEV: Language-Enhanced Bird's Eye View (BEV) Maps
本文来自海得拉巴国际信息技术学院,Talk2BEV结合了通用语言和视觉模型的最新进展以及BEV结构化地图表示,消除了需要专门的任务模型。这使得一个单一系统能够满足各种自动驾驶任务,包括视觉和空间推理、预测交通参与者的意图以及基于视觉线索进行决策
BEVGPT: Generative Pre-trained Large Model for Autonomous Driving Prediction, Decision-Making, and Planning
港科大提出了BEVGPT,这是一个集成了驾驶情境预测、决策和运动规划的生成式预训练大模型。该模型以鸟瞰图(BEV)图像作为唯一的输入源,并基于周围的交通情景做出驾驶决策。为了确保驾驶轨迹的可行性和平稳性,我们开发了一种基于优化的运动规划方法。我们在Lyft Level 5数据集上实例化了BEVGPT,并使用Woven Planet L5Kit进行了真实驾驶模拟。
DriveDreamer: Towards Real-world-driven World Models for Autonomous Driving
GigaAI和清华携手推出DriveDreamer,这是一个全新的世界模型,完全源自真实的驾驶场景。鉴于在复杂的驾驶场景中对世界进行建模涉及庞大的搜索空间,该文章提出利用强大的扩散模型构建复杂环境的综合表示。此外,论文中引入了一个两阶段训练流程。在初始阶段,DriveDreamer深入了解结构化的交通约束,而随后的阶段赋予其预测未来状态的能力。DriveDreamer是第一个建立在真实世界驾驶场景中的世界模型。
MagicDrive: Street View Generation with Diverse 3D Geometry Control
MagicDrive,这是一个新颖的街景生成框架,提供多样的3D几何控制,包括相机位置、道路地图和3D边界框,还包括文本描述,通过定制的编码策略实现。此外,论文的设计还包括一个跨视图注意力模块,确保多个相机视图之间的一致性。使用MagicDrive实现了高保真的街景合成,捕捉了精细的3D几何形状和各种场景描述,增强了鸟瞰图分割和3D物体检测等任务的性能。
GAIA-1: A Generative World Model for Autonomous Driving
近期大名鼎鼎的GAIA-1('Generative AI for Autonomy')这是一个生成式世界模型,由Wayve推出,利用视频、文本和行为输入来生成逼真的驾驶场景,同时对自车行为和场景特征进行精细控制。我们的方法将世界建模视为一个无监督的序列建模问题,通过将输入映射到离散标记,并预测序列中的下一个标记。我们模型中的新特性包括学习高级结构和场景动态、上下文意识、泛化能力以及对几何形状的理解。GAIA-1学得的表示能够捕获未来事件的期望,再加上其生成逼真样本的能力,为自动驾驶技术领域的创新提供了新的可能性,实现了自动驾驶技术的增强和加速训练。
HiLM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving
本文由港科大和诺亚实验室提出,首次利用单一的多模态大型语言模型(MLLMs)来整合多个自动驾驶任务,即风险目标定位和意图与建议预测(ROLISP)任务。ROLISP使用自然语言来同时识别和解释风险目标,理解自动驾驶汽车的意图,并提供运动建议,消除了需要特定任务架构的必要性。
Can you text what is happening? Integrating pre-trained language encoders into trajectory prediction models for autonomous driving
这篇文章来自自动驾驶Tier 1, Bosch,文章提出了一种新颖的基于文本的交通场景表示,并使用预训练的语言编码器处理它。首先,我们展示了文本表示与传统的栅格化图像表示相结合,可以产生描述性的场景嵌入。
OpenAnnotate3D: Open-Vocabulary Auto-Labeling System for Multi-modal 3D Data
复旦大学提出了OpenAnnotate3D,这是一个开源的开放词汇自动标注系统,可以自动生成用于视觉和点云数据的2D掩模、3D掩模和3D边界框注释。我们的系统整合了大型语言模型(LLMs)的思维链能力和视觉语言模型(VLMs)的跨模态能力。
LangProp: A Code Optimization Framework Using Language Models Applied to Driving
LangProp自动评估了输入-输出对数据集上的代码性能,以及捕获任何异常,并将结果反馈给LLM在训练循环中,使LLM可以迭代地改进其生成的代码。通过采用度量和数据驱动的代码优化过程的训练范式,可以轻松地借鉴传统机器学习技术,如模仿学习、DAgger和强化学习等的发现。在CARLA中展示了自动代码优化的第一个概念验证,证明了LangProp可以生成可解释且透明的驾驶策略,可以以度量和数据驱动的方式进行验证和改进。
Learning Unsupervised World Models for Autonomous Driving via Discrete Diffusion
作者确定了两个主要瓶颈原因:处理复杂和无结构的观测空间以及具备可扩展性的生成模型。因此,我们提出了一种新颖的世界建模方法,首先使用VQVAE对传感器观测进行标记,然后通过离散扩散来预测未来。为了高效地并行解码和去噪标记,我们将遮蔽的生成式图像变换器重新构建成离散扩散框架,只需进行一些简单的更改,结果有显著的改进。
Planning with an Ensemble of World Models
特定于城市的gym(例如波士顿-Gym和匹兹堡-Gym)来评估规划性能。使用我们提出的gym集合来评估最先进的规划器导致性能下降,这表明一个优秀的规划器必须适应不同的环境。借助这一见解,我们提出了City-Driver,一种基于模型预测控制(MPC)的规划器,它展开了适应不同驾驶条件的城市特定世界模型。
Large Language Models Can Design Game-Theoretic Objectives for Multi-Agent Planning
论文首先展示了更强大的LLM(如GPT-4)在调整连续目标函数参数方面的zero-shot能力,以符合自动驾驶示例的指定高级目标。然后,作者开发了一种规划器,它将LLM作为矩阵游戏的设计者,用于具有离散有限动作空间的场景。在给定场景历史、每个智能体可用的动作和高级目标(用自然语言表达)时,LLM评估与每种动作组合相关的回报。从获得的博弈结构中,智能体执行Nash最优动作,重新评估场景,并重复该过程。
TrafficBots: Towards World Models for Autonomous Driving Simulation and Motion Prediction
作者展示了数据驱动的交通仿真可以被构建为一个世界模型。文章提出了TrafficBots,这是一个基于运动预测和端到端驾驶的多智能体策略,基于TrafficBots获得了一个专门为自动驾驶车辆的规划模块定制的世界模型。现有的数据驱动交通仿真器缺乏可配置性和可扩展性。为了生成可配置的行为,对于每个智能体引入了目的地作为导航信息,以及一个不随时间变化的潜在个性,指定了行为风格。为了提高可扩展性提出了一种用于角度的位置编码的新方案,允许所有智能体共享相同的矢量化上下文,以及基于点积注意力的架构。
BEV-CLIP: Multi-Modal BEV Retrieval Methodology for Complex Scene in Autonomous Driving
在现有的二维图像检索方法下,可能会出现一些场景检索的问题,比如缺乏全局特征表示和次优的文本检索能力。为了解决这些问题,本文作者提出了BEV-CLIP,这是第一个利用描述性文本作为输入以检索相应场景的多模态BEV检索方法。这种方法应用了大型语言模型(LLM)的语义特征提取能力,以便进行广泛的文本描述的零次检索,并结合了知识图的半结构信息,以提高语言嵌入的语义丰富性和多样性。
Waymax: An Accelerated, Data-Driven Simulator for Large-Scale Autonomous Driving Research
Waymo引入了Waymax,这是一种用于自动驾驶多智体场景的新型数据驱动模拟器,专为大规模模拟和测试而设计。Waymax使用已公开发布的实际驾驶数据(例如Waymo开放运动数据集)来初始化或回放各种多智体模拟场景。它完全在硬件加速器上运行,如TPU/GPU,并支持用于训练的图内模拟,使其适用于现代的大规模分布式机器学习工作流。
Semantic Anomaly Detection with Large Language Models
这篇论文随着机器人获得越来越复杂的技能并观察到越来越复杂和多样化的环境,边缘案例或异常故障的威胁随时存在。这些系统级故障不是由于自动驾驶系统堆栈的任何单个组件的故障,而是由于语义推理方面的系统级缺陷。这种称之为语义异常的边缘情况对于人类来说很容易解开,但需要具有深刻推理能力。为此,作者研究了赋予大型语言模型(LLMs)广泛的上下文理解和推理能力,以识别这类边缘情况,并引入了一种基于视觉策略的语义异常检测的监控框架。我们将这一框架应用于自动驾驶的有限状态机策略和物体操作的学习策略。
Driving through the Concept Gridlock: Unraveling Explainability Bottlenecks in Automated Driving
在人工辅助或自动驾驶的背景下,可解释性模型可以帮助用户接受和理解自动驾驶车辆所做的决策,这可以用来解释和说明驾驶员或车辆的行为。论文中提出了一种新方法,使用概念瓶颈作为控制命令预测和用户以及车辆行为解释的视觉特征。作者学习了一个人可以理解的概念层,用来解释顺序驾驶场景,同时学习车辆控制命令。这种方法可以用来确定人类(或自动驾驶车辆)对于首选车距或转向命令的改变是否受到外部刺激或偏好的改变的影响。
Drama: Joint risk localization and captioning in driving
考虑到在安全关键的自动化系统中的情境感知功能,对驾驶场景中风险的感知以及其可解释性对于自动驾驶和合作驾驶尤为重要。为实现这一目标,本文提出了一个新的研究方向,即驾驶场景中的风险联合定位及其以自然语言描述的风险解释。由于缺乏标准基准,作者的研究团队收集了一个大规模数据集,名为DRAMA(带有字幕模块的驾驶风险评估机制),其中包括了在日本东京收集的17,785个交互式驾驶场景。我们的DRAMA数据集包含了有关驾驶风险的视频和对象级问题,以及与重要对象相关的问题,以实现自由形式的语言描述,包括多级问题的封闭和开放式回答,可用于评估驾驶场景中的各种图像字幕能力。
3D Dense Captioning Beyond Nouns: A Middleware for Autonomous Driving
作者认为一个主要的大语言模型很难获得安全驾驶的障碍是缺乏将感知和规划连接起来的综合和标准的中间件表示。作者重新思考了现有中间件的局限性(例如,3D框或占用情况)并提出了超越名词的3D密集字幕(简称为DESIGN)。对于每个输入场景,DESIGN指的是一组带有语言描述的3D边界框。特别是,综合的描述不仅包括这个框是什么(名词),还包括它的属性(形容词),位置(介词)和运动状态(副词)。我们设计了一种可扩展的基于规则的自动标注方法来生成DESIGN的地面真实数据,以确保中间件是标准的。
SwapTransformer: Highway Overtaking Tactical Planner Model via Imitation Learning on OSHA Dataset
这篇论文研究了关于在高速公路情境中进行变道和超越其他较慢车辆的高级决策问题。具体来说,本文旨在改进旅行辅助功能,以实现对高速公路上的自动超车和变道。在模拟中收集了大约900万个样本,包括车道图像和其他动态对象。这些数据构成了"模拟高速公路上的超车"(OSHA)数据集,用于解决这一挑战。为了解决这个问题,设计并实施了一种名为SwapTransformer的架构,作为OSHA数据集上的模仿学习方法。此外,提出了辅助任务,如未来点和汽车距离网络预测,以帮助模型更好地理解周围环境。提出的解决方案的性能与多层感知器(MLP)和多头自注意力网络作为基线在模拟环境中进行了比较。
NuScenes-QA: A Multi-modal Visual Question Answering Benchmark for Autonomous Driving Scenario
本文来自于复旦大学,作者引入了一个新颖的视觉问答(VQA)任务,即自动驾驶背景下的VQA任务,旨在基于街景线索回答自然语言问题。与传统的VQA任务相比,自动驾驶场景中的VQA任务具有更多挑战。首先,原始的视觉数据是多模态的,包括由摄像机和激光雷达(LiDAR)捕获的图像和点云数据。其次,由于连续实时采集,数据是多帧的。第三,室外场景同时包括移动的前景和静态的背景。现有的VQA基准未能充分解决这些复杂性。为了填补这一差距,作者提出了NuScenes-QA,这是自动驾驶场景中的第一个VQA基准,包括34,000个视觉场景和460,000个问题-答案对。具体而言利用现有的3D检测注释生成场景图,并手动设计问题模板。随后,问题-答案对是基于这些模板自动生成的。全面的统计数据证明了我们的NuScenes-QA是一个平衡的大规模基准,具有多样的问题格式。
Drive Anywhere: Generalizable End-to-end Autonomous Driving with Multi-modal Foundation Models
随着自动驾驶技术的成熟,端到端方法已经成为一种主要策略,承诺通过深度学习实现从感知到控制的无缝集成。然而,现有系统面临着意想不到的开放环境和黑盒模型复杂性等挑战。与此同时,深度学习的发展引入了更大的多模态基础模型,提供了多模态的视觉和文本理解。在本文中,作者利用这些多模态基础模型来增强自动驾驶系统的健壮性和适应性,实现了端到端的多模态和更具解释性的自主性,使其能够在分布之外、端到端、多模态和更具解释性的环境下进行操作。具体而言,作者提出了一种应用端到端开放集(任何环境/场景)自动驾驶的方法,能够从可通过图像和文本查询的表示中提供驾驶决策。为此,文中引入了一种从Transformer中提取微妙的空间(像素/补丁对齐)特征的方法,以实现空间和语义特征的封装。我们的方法在多种测试中表现出色,同时在分布之外的情况下具有更大的健壮性,并允许通过文本进行潜在空间模拟,从而改进训练(通过文本进行数据增强)和策略调试。
Vision Language Models in Autonomous Driving and Intelligent Transportation Systems
最后这篇是一篇综述,这篇文章来自于慕尼黑工业大学的IEEE Fellow, Alois C. Knoll. 2023年是视觉-语言大模型的爆发年,其的出现改变了计算机领域的方方面面。同样的,视觉语言大模型在自动驾驶(AD)和智能交通系统(ITS)领域的应用引起广泛关注。通过整合视觉语言数据,车辆和交通系统能够深入理解现实场景环境,提高驾驶安全性和效率。这篇综述全面调研了该领域视觉语言大模型的各类研究进展,包括现有的模型和数据集。此外,该论文探讨了视觉语言大模型在自动驾驶领域潜在的应用和新兴的研究方向,详细讨论了挑战和研究空白。
#上汽飞凡 R7 智联 T-BOX 拆解分析
上汽飞凡R7的电子架构是由零束研发的,共有智联、智算、智驾、座舱四个域控制器。智联域控即类似于传统的T-box模块。 这里的V2X芯片也是高通的哦~~~
1、T-BOX简介
TBOX全称:Telematics Box,中文名:远程通信终端,是一种集成了智能信息处理和通信技术的汽车电子模块,它能够实现车辆与外界的无线通信,为驾驶员和车辆提供各种便利与安全保障。智联TBOX一般会安装在车辆仪表盘的下方位置。通过TBOX和手机APP可以实现很多功能,如通过手机APP控制门开关、鸣笛闪灯、开启空调、启动发动机等;还可以实现远程查询车辆状态,油箱剩余油量、电池电量、查询车辆位置、查询车辆是否上锁等功能。总之TBOX给车主带来了非常便利的出行体验。下面将从TBOX外壳、内部电路及系统组成等方面为您解析上汽飞凡R7智联-TBOX的神奇之处。
2、外壳及端子
2.1、外壳
如下图TBOX的外壳由两块金属件组成,正面金属外壳带有散热槽设计
2.2、线束端子说明:
图3 TBOX线束端子
TBOX上有电源、UART/CAN总先、以太网端口、4G/5G天线、和GPS天线等端子。
3、TBOX组成
TBOX主要由SOC芯片、MCU芯片、通信模块、加密芯片、交换机芯片、存储芯片、电源管理芯片和GNSS模块组成。如下图:
图4 飞凡R7 TBOX组成思维导图
各模块功能及常用方案:
3.1、SOC芯片的作用及常用型号
SOC芯片是汽车TBOX中的重要组成部分,它负责处理车辆信息和实现各种功能。SOC芯片通常由多个核心组成,每个核心负责不同的任务,使得TBOX可以同时进行多个任务的处理。常用的SOC芯片型号有恩智浦的IMX6和IMX8。这些芯片具有强大的计算和图像处理能力,可以支持高清视频的播放和实时图像的分析,为TBOX提供了强大的计算和处理能力。
3.2、MCU芯片的作用及常用型号
MCU芯片是控制车辆各种传感器和执行器的重要部件,它负责实时监测车辆的状态,并根据需要控制各个系统的运行。常用的MCU芯片型号有英飞凌(Infineon)的TC2x和TC3x系列、恩智浦S32K14X和瑞萨R7F7X等。这些芯片具有高性能和低能耗的特点,可以满足TBOX在车辆控制和监测方面的需求。
3.3、通信模块的功能及常用模块型号
通信模块是TBOX中实现车辆与外界通信的关键组件,它可以通过无线网络连接到互联网,实现车辆信息的传输和远程控制。常用的通信模块型号有华为的ME909s、MH5000系列和移远AG35、AG550、AG520等。这些模块支持5G、4G、3G网络,移远AG520、AG550和华为的MH5000支持V2X,具有稳定可靠的连接性能,能够实现高速数据传输和远程控制功能。
3.4、GPS模块的功能及常用模块型号
GPS模块是TBOX中用于定位和导航的关键部件,它能够接收卫星信号,并通过定位算法计算出车辆的准确位置。常用的GPS模块型号有:和芯星通UM960、UM982和ublox的ZED-F9K、ZED-F9P、ZED-F9H等。这些模块具有快速定位、高精度和稳定性的特点,能够满足TBOX在导航和定位方面的需求。
3.5、交换机芯片的功能及常用芯片型号
交换机芯片是TBOX中实现数据交换和通信的重要部件,它可以实现车辆内各个子系统之间的数据传输和交互。常用的交换机芯片型号有博通(Broadcom)的BCM89x系列和MARVELL 88Q5050等系列。这些芯片具有高带宽和低延迟的特点,能够实现快速的数据传输和实时的系统交互。
3.6、加密芯片的功能及常用芯片型号
加密芯片是TBOX中保证数据安全和防止恶意攻击的关键组件,它可以对数据进行加密和解密,并实现访问控制和身份认证的功能。常用的加密芯片型号有infineonSLE 95250SLS32系列、Maxim DS28E25系列和上海芯钛的TTM2000、TTM3000系列。这些芯片具有高级加密算法和安全性能,能够保护TBOX中的数据免受非法获取和篡改。
4、飞凡R7 TBOX分析
飞凡R7 TBOX组成框图:
4.1、SOC-恩智浦 MIMX8QX6AVLFZAC
恩智浦 MIMX8QX6AVLFZAC简介
i.MX 8X系列处理器基于高度集成,可 支持图形、视频、图像处理和语音功能,能够满足安全认证和高能效方面的需求。适合的应用包 括工业自动化和控制、HMI、机器人、楼宇控制、汽车仪表盘、视频/音频、车载信息娱乐系统和 车载信息服务等。
图9 i.MX 8X框图
特征:
处理器复合设备 | ·2-4个Cortex-A35内核 ·1个Cortex-M4F内核,进行实时处理 ·1个Tensilica® HiFi 4 DSP |
多媒体 | ·2个-4个Vec4-Shader GPU, OpenGL® ES 3.1, OpenCL™ 1.2 EP, OpenVG™ 1.1, Vulkan® ·视频:4K H.265 dec | 1080p H.264 enc / dec |
存储器 | ·16/32位DDR3L-1866和LPDDR4-2400 ·1个Octal SPI或2个Quad SPI ·ECC功能 ①.Cortex-A35 L1缓存奇偶校验 ②.Cortex-A35 L2缓存ECC ③.sDDR接口上的ECC保护 |
显示器&摄像头 | ·2个组合MIPI DSI (4通道) / LVDS (1080p) ·24位并行显示器I/F (WXGA) ·SafeAssure®故障恢复显示屏 ·1个4通道MIPI CSI2 ·1个并行8位CSI (BT.656) |
连接 | ·2个SDIO3.0 [或1个SDIO3.0 + 1个eMMC5.1] ·USB 2.0和3.0 OTG支持,带PHY ·2个以太网AVB MAC ·3个CAN / CAN FD ·MOST 25/50 ·PCIe 3.0 (单通道),提供L1子状态 ·1个12位ADC (6通道) ·4个SPI, 1个ESAI, 4个SAI, 1个键盘 ·4个I2C (高速), 4个I2C (低速) ·1个SPDIF |
安全性 | ·高可靠性的启动,SHE ·TRNG,AES-128,AES-256,3DES,ARC4,RSA4096,SHA-1,SHA-2,SHA-256,MD-5 ·RSA-1024,2048,3072,4096和安全密钥存储 ·10个篡改引脚(有源和无源) ·在线加密引擎(AES-128) |
4.2、MCU-瑞萨 R7F7015833
RH850简介:
RH850/C1M-Ax 微控制器配备 RH850 系列 G3MH(C1M-A2 为双核)CPU 内核(C1M-A1 工作频率为240MHz、C1M-A2 工作频率为 320MHz),拥有出色的处理能力。除 ROM、RAM 和 DMA 外,这款微控制器还内置多种定时器(如电机控制定时器)、多种串行接口(如 CAN,其中 CAN FD 兼容)、12 位 A/D 转换器 (ADC)、可将旋转变压器输出信号转换为数字角度信息的 R/D 转换器 (RDC3A) 、CPU 以及并行电机控制单元 (EMU3) 等,还配备有适用于 HEV/EV 电机控制的多种外围功能。此外,C1M-A2 可以同时控制两个电机。
RH850特性:
CPU 内核: | C1M-A1:240MHz 内核(内含锁步双核 x1) C1M-A2:320MHz 内核 x2(内含锁步双核 x1) FPU |
计时器: | 主振荡器:20MHz 带可选 SSCG 模式的 PLL:240MHz 或 320MHz 不带 SSCG 模式的 PLL:80MHz 片上低速振荡器:240kHz 数据传输:DMAC / DTS |
定时器: | 定时器阵列单元 D (TAUD) 2 或 4 个单元 定时器阵列单元 J (TAUJ) 1 或 2 个单元 电机控制定时器 (TSG3) 2 或 3 个单元 编码器定时器 (ENCA) 2 个单元 |
模拟: | SAR A/D 转换器 30 或 48 通道,3 个单元 |
通信接口: | 时钟串行接口 H (CSIH) 3 通道 CAN 接口 (RS-CANFD) 4 通道 LIN 接口 (RLIN3) 3 通道 串行通信接口 (SCI3) 3 通道 RSENT 4 通道 |
电机控制: | 电机控制定时器 (TSG3) 2 或 3 个单元 R/D 转换器 (RDC3A) 1 或 2 个单元 增强型电机控制单元(EMU3)1 个单元 |
安全: | 多输入签名生成器 (MIST) 时钟监视器 看门狗定时器 安全看门狗定时器 内存保护功能 |
电源电压: | 1.15V - 1.35V(CPU 内核) 4.5V - 5.5V(I/O、系统、AD 转换器、RD 转换器) |
温度: | Tj= -40° - +150° |
4.3、5G+V2X模块-移远 AG550
AG550简介:
AG55xQ 是移远通信开发的一系列车规级 5G NR Sub-6 GHz 模块,支持 5G NR 独立组网(SA)和非独立组网(NSA)模式。采用 3GPP Rel-15 技术,该模块在 5G NSA 模式下最高可支持 2.4 Gbps 下行速率和 550 Mbps 上行速率,在 LTE-A 网络下最高可支持 1.6 Gbps 下行速率和 200 Mbps 上行速率。通过其 C-V2X PC5 直通通信功能(可选),AG55xQ 可广泛应用于车联网领域,为实现智能汽车、自动驾驶和智能交通系统的建立提供可靠解决方案。同时,该模块支持双卡双通(可选)和丰富的功能接口,为客户开发应用提供了极大的便利。其卓越的 ESD 和 EMI 防护性能,确保其在恶劣环境下的强大鲁棒性。
AG55xQ 包含 AG550Q(5G + DSSS + C-V2X)、AG551Q(5G + DSSS)、AG552Q(5G + DSDA)和 AG553Q(5G +DSDA + C-V2X)四个系列;为满足不同的市场需求,各系列分别包含多个型号:AG55xQ-CN、AG55xQ-EU、AG55xQ-NA 和 AG55xQ-JP。同时,各系列模块向后兼容现有的 GSM、UMTS 和 LTE 网络,因此在目前没有部署5G NR 网络的地区以及没有 3G/4G 网络覆盖的偏远地区均可实现连接。
AG550特点:
·符合 IATF 16949 及 APQP、PPAP 等汽车行业质量管理流程要求基于高通 SA515M 芯片(符合 AEC-Q100 标准)而开发的车规级解决方案
·5G NR Sub-6 GHz 模块,支持独立组网和非独立组网模式
·向下兼容 4G(Cat 19)/3G/2G 网络
·MIMO 技术满足无线通信系统对数据速率和连接可靠性的要求
·可选 C-V2X PC5 Mode 4 直通通信
·可选双卡双通技术(DSDA),满足客户不同应用需求
·可选单频 GNSS、双频 GNSS、PPE(RTK)和 GNSS/QDR 组合导航解算,满足不同环境下对定位精度和速度的不同程度需求
·增强功能特性:DFOTA、VoLTE、QuecOpen®、高安全性等
·超宽工作温度范围(-40 °C ~ +85 °C)、+95 °C 以下 eCall 应用、优越的抗电磁干扰能力满足车载及其他恶劣环境下的应用需求
4.4、加密芯片-芯钛 TTM2000A11
芯钛 TTM2000A11简介:
Mizar TTM2000是一款面向汽车电子领域的灵活、可靠、安全、合规的加密芯片产品。该产品针对车联网V2X应用安全进行了专门的开发设计,能够完全满足C-V2X和DSRC等应用场景所需的消息认证性能、安全证书管理等需求。
TTM2000特点:
标准和认证 | - EVITA 硬件安全模块Full级架构设计 - AEC-Q100等级1要求 - 国家密码局安全芯片等级2级 |
产品特性 | - ARM® SecureCore® SC300™ 32-Bit RISC Core,80Mhz - 120.0DMIPS (Dhrystone v2.1); - Memory Protection Unit (MPU); - 24-bit SysTick 定时器; - 3.3V 和 1.8V供电,IO引脚电平为3.3V - 工作温度范围:-40℃ - 125℃ - 封装LQFP-64, QFN-64(TBD) |
安全特性 | - 具有硬件 “信任根”防篡改检测功能,物理屏蔽层防护设计,抗侧信道攻击防护设计 - 内部集成国际标准和中国国家密码局标准的硬件密码算法单元 - 4路独立TRNG - 硬件加密Flash,密钥加密安全存储 - 看门狗定时器(WDT) - 高/低电压异常检测 - 温度异常检测 |
密码算法单元 | - 高速ECDSA(NIST-P256) - 高速SM2 - 高速SM3 - RSA(up to 2048 bits) - ECC-256 - SHA-256 - AES - DES - SM4 |
系统保护 | - 每颗芯片均有32位唯一的序列号 - 完善的生命周期状态管理 - 使用国产密码算法的系统安全启动 |
通信特性 | - 2个集成SPI控制器,可配置为Master/Slave模式 - 1个UART控制器 - 1个I2C - 5通道GPIO,可配置为Input/Output,或者作为外部中断输入; - 1个外部定时器 - 1个Watchdog - 8通道DMA控制器 - 多种类、可配置 IO 连接实现更优性能和灵活性 |
存储器 | - 512KB 内部 Flash,支持ECC - 160KB SRAM - 安全 ROM |
关键密码单元性能设计目标 | - 超高速SM2/ECDSA(NIST P-256)单元:>4000次验签/秒; - 高速通用曲率ECDSA单元:>1500次验签/秒; - 高速SM3单元:>500Mbps - 高速SHA单元:>500Mbps |
4.5、交换机芯片-MARVELL 88Q5050
Marvell 88Q5050简介:
Marvell 88Q5050 是一款 8 端口、高安全性车载千兆以太网交换芯片,是完全符合 IEEE802.3 和 802.1 车规 标准,具备高级安全功能以防范网络威胁(如黑客和拒绝服务 (DoS) 攻击)。该 8 端口以太网交换芯片有 4 个固定的 IEEE 100BASE-T1 端口,以及 4 个可配置端口,其可选择性包括 1 个 IEEE 100BASE-T1、1 个 IEEE 100BASE-TX、2 个 MII/RMII/RGMII、1 个 GMII 端口和 1 个 SGMII 端口。该 交换芯片提供本地和远程管理功能,用户可轻松访问和配置该设备。通过 AEC-Q100 等级 2 认证,此方案采用了 Marvell 针对车载以太网芯片安全根源而设计的最高硬件安全功 能,以防止对车辆中数据流的恶意攻击或危害。该款先进的交换芯片采用深度包检测 (DPI) 技术和安全启动功 能,以提供业内最安全的车载以太网交换机。所有以太网端口都支持地址黑名单和白名单功能,以进一步提高其 安全性。
框图
特点
处理器 | 集成 ARM Cortex-M7 CPU,250 MHz |
IO 接口 | •4 IEEE 100BASE-T1 •其余四个端口可配置如下: - IEEE 100BASE-T1 - IEEE 100BASE-TX - MII/RMII/RGMII - GMII - SGMII •2 SMI - 主接口可连接至外接 PHY 或其他交换机 - 从属接口用于管理交换机 •可配置 GPIO •工作时钟频率可配置 (19.2 MHz-83.3 MHz) 的 QSPI 接口 •TWSI 主接口 •JTAG |
封装特性 | 128 引脚 LQFP 封装,0.5 mm 间距,14 mm x 20 mm |
EEPROM | 带加载器的从属接口,用以配置交换机 (32 Kb-512 Kb) |
交换矩阵 | Gigabit 交换矩阵 |
4.6、存储芯片
eMMC三星 8G KLM8G1GEUF
DDR4三星 2G K4F6E3S4HM
①、KLM8G1GEUF
三星eMMC是以BGA封装形式设计的嵌入式MMC解决方案。eMMC操作与MMC设备相同,因此是使用MMC协议v5.1(行业标准)对存储器进行简单读写。
eMMC由NAND闪存和MMC控制器组成。NAND区域(VDDF或VCC)需要3V电源电压,而1.8V或3V双电源MMC控制器支持电压(VDD或VCCQ)。三星eMMC支持HS400以提高顺序带宽,特别是顺序读取性能。
使用eMMC有几个优点。它易于使用,因为MMC接口允许与任何带有MMC主机的微处理器轻松集成。
由于嵌入式MMC控制器将NAND技术与主机隔离,因此NAND的任何修订或修正对主机来说都是不可见的。这导致更快的产品开发和更快的上市时间。
②、DDR4三星 2G K4F6E3S4HM
K4F6E3S4HM-THCL是一款多功能LPDRAM,移动解决方案的理想之选三星的 LPDDR4是一款突破性产品,不但数据传输速度更快,而且能耗更低,从而为超薄设备、人工知能 (AI)、虚拟现实 (VR) 和可穿戴设备提供了更多设计方面的选择。
特点:
·双数据速率架构;每个时钟周期两次数据传输
•双向数据选通器(DQS_t、DQS_c),与接收器捕获数据时使用的数据一起发送/接收
•差分时钟输入(CK_t和CK_c)
•差分数据选通器(DQS_t和DQS_c)
•输入正CK边的命令和地址;DQS的两个边缘参考的数据和数据掩码
•每个模具2个通道组成
•每个通道8个内部银行
•DMI引脚:正常写入和读取操作时的DBI(数据总线反转),DBI关闭时用于屏蔽写入的数据屏蔽(DM)
-DBI打开时屏蔽写入的DQ 1的计数#
•突发长度:16,32(OTF)
•突发类型:连续
•读写延迟:请参阅表64 LPDDR4 AC时序表
•每个突发访问的自动预充电选项
•可配置的驱动强度
•刷新和自刷新模式
•部分阵列自刷新和温度补偿自刷新
•写入调配
•CA校准
•内部VREF和VREF培训
•基于FIFO的写/读训练
•MPC(多用途指挥)
•LVSTL(低压摆动端接逻辑)IO
•VDD1/VDD2/VDDQ:1.8V/1.1V/1.1V
•VSSQ终端
•无DLL:CK到DQS不同步
•边缘对齐的数据输出,数据输入中心对齐的写入训练
•刷新率:3.9us
4.7、GNSS模块-UBLOX ZED-F9K-00B
ZED-F9K简介
ZED-F9K模块采用u-blox F9 GNSS平台,为最具挑战性的汽车用例提供连续分米级的定位精度。LAP 1.30支持L1/L2/E5B和L1/L5频段均可实现最大的灵活性、卫星可用性和安全性。复杂的内置算法巧妙地融合了IMU数据、GNSS测量、车轮滴答声,以及车辆动力学模型,以识别单独的GNSS将失效的车道。模块本机支持u-box PointPerfect GNSS增强服务。它提供多种全球导航卫星系统
和IMU输出并行,以支持所有可能的架构,包括一个50 Hz的传感器保险丝具有非常低延迟的解决方案。它还实现了高级实时应用,如增强现实,而优化的多波段和多星座能力使可见光的数量最大化卫星,即使在城市条件下。该设备是一个独立的解决方案,可提供尽可能好的系统性能。
#World Model立大功的背后还有哪些改进方向
- 为什么不直接用DINO, 而是用2D-UNet先做了一次蒸馏, 直接用DINO会有什么问题呢?
- 中间world model部分是transformer based的, 能否直接复用现有的LLM+adapter的方式;
- 这种方法理论上能否开车, 文章里只有一个video decoder输出video,文章中说现在还没有实时运行, 但是如果不考虑实时性, 加一个action decoder来输出自车动作,理论上应该能够开车,但这样自回归的输出也应该有action部分;
- world model部分编码的是2d的信息, 如果把3d的信息也加上是不是会更通用一些;
- 看文章发现是有好几个训练步骤的, 比如先训练 Image Tokenizer, 再训练World Model, 最后再训练Video Decoder部分,整个过程不能够端到端的一起训练么, 应该是可以的, 估计训起来比较费劲,可能不收敛。
- 假设输入不止有前视, 还有左前和右前, 如何做到不同相机视角下生成的视频具有一致性。
出发点是什么
自动驾驶有望给交通带来革命性的改善,但是 构建能够安全地应对非结构化复杂性的现实世界的场景的系统 仍然充满挑战。一个关键问题在于有效地 预测各种可能出现的潜在情况以及 车辆随着周围世界的演化而采取的动作。为了应对这一挑战,作者引入了 GAIA-1, 一个生成式的世界模型,它能够同时输入视频、文本和动作来生成 真实的驾驶场景,并且同时能够提供对自车行为和场景特征的细粒度控制。该方法将世界建模视为序列建模问题,通过把输入转化为离散的tokens, 预测序列中的下一个token。该模型有很多新兴特性, 包括学习高级结构和场景动态、情境意识、 概括和理解几何信息。GAIA-1 学习到的表征的强大能力可以捕获对未来事件的期望,再加上生成真实样本的能力,为自动驾驶领域的创新提供了新的可能性。
GAIA_1简介
预测未来事件对自动驾驶系统来说基本且重要。精准地预测未来使自动驾驶车辆能够预测和规划其动作,从而增强安全性和效率。为了实现这一目标,开发一个强大的世界模型势在必行。已经有工作在这方面做了很大努力, 比如. 然而,当前的方法有很大的局限性。世界模型已成功 应用于仿真环境下的控制任务和现实世界的机器人任务。这些方法一方面需要大规模的标注数据, 另一方面模型 对仿真数据的研究无法完全捕捉现实场景的复杂性。此外, 由于其低维表示,这些模型难以生成高度真实的 未来事件的样例, 而这些能力对于真实世界中的自动驾驶任务来说非常重要。
与此同时,图像生成和视频生成领域也取得了重大进步,主要是利用自监督学习从大量现实世界数据中学习生成非常真实的数据 视频样本。然而,这一领域仍然存在一个重大挑战:学习捕获预期未来事件的表示。虽然这样的生成模型 擅长生成视觉上令人信服的内容,但在学习动态世界的演化表示方面效果不太好,而这对于准确的预测未来和稳健的决策至关重要。
这项工作提出了 GAIA-1,它同时保持了世界模型和视频生成的优势. 它结合了视频生成的可扩展性和现实性以及世界模型的学习世界演变的能力。
GAIA-1 的工作原理如下。首先,模型分为两部分:世界模型和video diffusion decoder。世界模型负责理解场景中的high-level的部分及场景的动态演化信息, 而video diffusion decoder 则负责 将潜在表征转化回具有真实细节的高质量视频。
整个网络结构如下
对于世界模型,使用视频帧的矢量化表示来离散化每一帧 ,将它们转换为token序列。基于此就把预测未来转化为预测序列中的下一个token。这种方法已被广泛应用于训练LLM,并且得到了认可, 这种方法主要是通过扩展模型大小和数据来有效提高模型性能。它可以通过自回归的方式在世界模型的latent space内生成样本。
第二个部分是一个多任务video diffusion decoder,它能够执行高分辨率视频渲染以及时间上采样, 根据world model自回归产生的信息生成平滑的视频。类似于LLM,video diffusion model表明训练规模(模型大小和数据量)和整体表现之间存在明显的相关性,这使得 GAIA-1 的两个组件都适合有效的Scaling。
GAIA-1 是一个多模态的模型,允许使用视频、文本和动作作为提示来生成多样化且真实的驾驶场景,如下图 1 所示:
通过在大量真实的城市驾驶数据上训练, GAIA-1 学习了理解和区分一些重要概念,例如静态和动态元素,包括汽车、公共汽车、行人、骑自行车的人、道路布局、建筑物,甚至交通灯。此外,它还可以通过输入动作或者文本提示来细粒度地控制自车行为及场景特征。
GAIA-1展示了体现现实世界生成规则的能力。还有诸如学习高级结构、概括、创造力和情境意识等新兴的特性。这些表明该模型能够理解并再现世界的规则和行为。而且,GAIA-1 展示了对 3D 几何的理解,例如,通过有效地捕捉 由减速带等道路不平整引起的俯仰和侧倾间的相互作用。预测的视频也展示了其他智能体的行为, 这表明模型有能力理解道路使用者的决策。令人惊讶的是,它还能够产生训练集之外的数据的能力。例如,在道路边界之外行驶。
GAIA-1 学习到的表征预测未来事件的能力,以及对自车行为和场景元素两者的控制是一项令人兴奋的进步,一方面为进一步提升智能化效果铺平了道路, 另一方面也可以为加速训练和验证提供合成的数据。世界 像GAIA-1 之类的世界模型是预测接下来可能发生的事情的能力的基础,这对于自动驾驶的决策至关重要。
GAIA_1的模型设计
GAIA-1 可训练组件的模型架构。总体架构如上面图2所示。
编码视频、文本和动作
对于视频,我们希望减少输入的序列长度,同时可能使 词汇量更大,但同时希望tokens 比原始像素在语义上更有意义。这里是用离散图像自动编码器来做的。在此过程中实现两个目标,
- 压缩原始像素的信息,使序列建模问题易于处理。因为图像包含大量冗余和噪声信息。我们希望减少 描述输入数据所需的序列长度。
- 引导压缩后的信息具有有意义的表示, 比如语义信息, 而不是大量没有用的信号, 这些信号会降慢世界模型的学习过程。
目标1的实现
目标2的实现
本文用预训练的DINO 模型 抽取的特征来作为回归的target, 相当于是用DINO作为蒸馏的teacher,DINO是一个自监督的模型,它包含有丰富的语义信息, 如图3所示 DINO-distilled 得到的tokens看起来语义信息比较丰富.
为了在推理的时候, 能够同时输入文本或动作作为提示, 在训练的时候会随机把输入的文本或者动作tokens给dropout掉.
为了进一步减少世界模型输入的序列长度,对输入的视频作了进一步采样, 从原来的25HZ变为6.25HZ。这能让世界模型能够在更长的时间内进行推理。为了以全帧速率恢复视频预测,在video decoder部分用了temporal super-resolution。
视频解码器
随着图像生成和视频生成的最新进展,在GAIA-1的decoder部分, 使用了 denoising video diffusion models。一个自然的想法是把每一桢的 frame tokens 解码到像素空间, 但是这样得到的不同桢对应的pixel, 在时间上不具有一致性。这里的处理方法是, 把问题建模为 在扩散过程中对一系列帧进行去噪,模型可以访问到整个时间段内的信息,这样做明显提高了输出视频的时间一致性。
我们在图像和视频生成任务上联合训练单个模型。用视频训练 会让解码器学习在时间上保持一致,用图像训练对于单桢图像质量至关重要,因为它学习的是从从图像tokens中提取信息。要注意在图像训练时没有用时间层。
为了训练视频扩散解码器执行多个推理任务,可以通过masking 掉某些frames 或者是 某些 image tokens。这里针对所有的任务, 训练了单个视频扩散模型, 任务包括图像生成、视频生成、 自回归解码和视频插值, 每个任务均等采样。例如, 在自回归生成任务中,用之前生成的过去帧作为输入 用要预测的帧的图像tokens作为target。自回归的任务中包含正向和反向, 有关每个任务的示例,请参见下图 4。
并且在训练的时候以概率 p = 0.15 随机mask掉输入的image token, 以摆脱对于观测image token的依赖进而提升泛化能力和时间一致性。
video decoder是根据 noise prediction objective 进行训练。更具体地说,采用v-parameterization的方法,因为它避免了不自然的 color shifts 并保持 长期一致性。
loss 函数为
训练数据
训练数据集包含在伦敦收集的 4,700 小时、25Hz 的驾驶数据,数据集中的时间跨度为2019 年至 2023 年。大约 4.2 亿张图像。不同经纬度及不同天气下的数据比例分布如下
训练过程
Image Tokenizer
世界模型
Video Decoder
模型推理
World Model
采样
为了多样性和真实性,这里采用的是 top-k 采样来采样下一个图像token。最终得到的世界模型可以在给定起始背景下,也可以不需要任何上文从头推理出可能的未来。
对于长视频生成,如果视频的长度 超过世界模型的上下文长度,可以采用滑动窗口的方式。
Text-conditioning
可以用文本来提示并指导视频预测。训练时,可以将在线的旁白描述或者是离线的文本和视频一起输入。由于这些文本源有noise,为了提高生成的futures与文本prompt之间的对齐效果,在推理时采用classifier-free guidance的方式.Classifier-free guidance 的效果是通过减少可能的多样性来增强文本图像对齐效果 。更准确地说,对于每个要预测的下一个token,
通过将无提示的 logits 替换为以另一个文本提示得到的 logits,可以 进行Negative提示。并且把negative prompt 与 positive prompt 推远, 可以使得future tokens 更多地包括 positive prompt features.
用于 guidance 的scale 系数非常重要, 如下图, 文本prompt是 "场景中包含一量红色的公交车",
可以看到, SCALE=1的时候, 就没有红色的公并车, SCALE=20的时候,恰好有一辆, SCALE=20的时候, 不止有一辆红色公交车, 而且还有一辆白色公交车.
Video Decoder
为了解码从世界模型生成的token序列,具体的方法如下:
- 以对应的 T' image tokens,解码前 T ′ = 7 帧;如下图所示
2. 使用过去的 2 个重叠帧作为图像context, 以及接下来的T ′ -2 图像tokens自回归解码接下来的 T ′ -2 帧。如下图所示
3. 重复自回归过程,直到以 6.25 Hz 生成 N 帧。
4. 将 N 帧从 6.25 Hz 做Temporally上采样得到 12.5 H
5. 将 2N- 1 帧从 12.5 Hz Temporally上采样到 25.0 Hz
在自回归decoding过程中, 需要同时考虑生成的图片质量以及时间一致性, 因此这里做了一个加权,
在探索视频解码的不同推理方法时,发现解码视频 从序列末尾开始自回归地向后会导致更稳定的物体, 并且地面上的闪烁也更少。因此在整个视频解码方法中,先解码最后的 T ′ 帧, 之后从后往前解码剩余的桢。
Scaling
GAIA-1 中世界建模任务的方法经常在大型语言模型(LLM)中使用, 类似于GPT。在这两种情况下,任务都被简化为预测下一个token。尽管GAIA-1中的世界模型建模的任务和LLM中的任务不同, 但是与LLM中类似, Scaling laws同样对于GAIA-1适用.这说明Scaling laws对于很多领域都是适用的, 包括自动驾驶。
如图 8b 所示, 可以看出, 随着模型变大, 训练时候的cross-entropy 会收敛地越来越低,上面说明可以通过扩展数据和计算资源来进一步提升模型的性能。
Capabilities and Emerging Properties (能力和新兴特性)
这一节主要是效果展示的例子。这里有个youtube的连接: https://www.youtube.com/playlist?list=PL5ksjZd5b6SI-6MQi6ghoD-GilTPmsQIf
下面图9显示了GAIA-1可以生成各种场景。
下面是GAIA-1通过一些新兴特性展示了对世界的生成规则的一定程度的理解和总结:
- 学习高级结构和场景动态:它生成与连贯的场景 并且物体放置在合理的位置上, 并展示真实的物体之间的交互,例如交通 灯光、道路规则、让路等。这表明该模型不仅仅是记忆 统计模式,而是理解了我们生活的世界中关于物体的底层规则, 比如物体是如何摆放, 有何行为。
- 泛化性和创造性:可以生成不在训练集里的新颖多样的视频 。它可以产生物体、动作的独特组合, 以及训练数据中未明确出现的场景,这表现出它有显著的泛化能力,并且表现出了一定程度的概括性和创造性, 这表明GAIA-1对视频序列的生成规则有较好的理解.
- 情境感知:GAIA-1 可以捕获情境信息并生成视频 来体现这种理解。例如,它可以基于初始条件或提供的上下文 产生连贯的动作和响应。此外,GAIA-1 还展示了对 3D 几何的理解,有效捕获到由于道路不平整(例如减速带)引起的侧倾。这种情境意识表明这些模型不仅能常握训练集中数据的统计规律,而且还积极地处理和总结给定的信息以生成适当的视频序列。
长时间驾驶场景的生成
GAIA-1 可以完全凭想象生成稳定的长视频, 如下图所示表现了40s的生成数据:
这主要是该模型利用其学习到的世界隐式先验分布来生成完全 想象的真实驾驶场景。这里应该采用了类似于MILE里的先验分布做法。生成的驾驶场景中具有复杂的道路布局、建筑物、汽车、行人等。这证明 GAIA-1 理解了支撑我们所居住的世界的规则及其结构和动力学。
多个合理未来的生成
GAIA-1 能够根据单个初始提示生成各种不同的未来场景。当以简短的视频作为输入时, 它可以通过不断地sampling产生大量合理且多样化的内容。GAIA-1 针对视频提示能够准确模拟多种潜在的未来场景,同时与在初始视频中观察到的条件保持一致。
如下图所示, 世界模型可以推理 (i) 道路使用者(例如让路或不让路)
上面两个分别对应着, 他车不让路, 和他车让路的情况。(ii)多种自车行为(例如直行或右转)
(iii) 多种动态场景(例如可变的交通密度和类型)
自车行为和驾驶场景的细粒度控制
GAIA-1可以仅根据文字提示生成视频,完全想象场景。我们展示了如何根据文本提示模型生成驾驶场景, 如下所示展示的是对天气和光照的细粒度控制.
下面是个令人信服的示例,其中模型展示了对车辆的细粒度控制。通过利用此控制,我们可以提示模型生成视频描述训练数据范围之外的场景。这表明 GAIA-1 能够将自车的动态与周围环境分开并有效地应用于 不熟悉的场景。这表明它能够来推理我们的行为对世界的影响,它可以更丰富地理解动态场景,解锁 基于模型的Policy learning(在world model中做planning),它可以实现闭环仿真探索(通过将世界模型视为模拟器)。为了展示这一点,这里展示了 GAIA-1 生成 未来,自车向左或向右转向,偏离车道等场景, 如下图所示:
GAIA-1 在训练数据集中从未见过这些不正确的行为,这表明 它可以推断出之前在训练数据中未见过的驾驶概念。我们也看到了现实 其他智能体对自车受控行为的反应。最后,这个例子展示了 GAIA-1 利用文本和动作来充分想象 驾驶场景。在这种特殊情况下,我们提示模型自车要超车公交车。
GAIA_1的总结和未来方向
GAIA-1 是自动驾驶领域的生成式世界模型。世界模型使用矢量量化 将未来预测任务转变为下一个token的预测任务,该技术 已成功应用于大型语言模型。GAIA-1 已展示其具有 全面了解环境,区分各种概念 例如汽车、卡车、公共汽车、行人、骑自行车的人、道路布局、建筑物和交通灯的能力, 这些全是通过自监督的方式学到的。此外,GAIA-1 利用视频扩散模型的功能 生成真实的驾驶场景,从而可以作为先进的模拟器使用。GAIA-1 是 一种多模态的方法,通过文本和动作指令相结合可以控制自车的动作和其他场景属性。虽然该方法展示了有潜力的结果,有可能突破自动驾驶的界限,但是重要的是也要承认当前的局限性。例如,自回归的生成过程虽然非常有效,但尚未实时运行。尽管如此,这个过程非常适合并行化,允许并发生成多个样本。GAIA-1 的重要性超出了其生成能力。世界模型代表了向 实现能够理解、预测和适应复杂环境的自动驾驶系统迈出的关键一步。此外,通过将世界模型融入驾驶模型中, 我们可以让他们更好地理解自车的决策,并最终推广到更多 现实世界的情况。最后,GAIA-1 还可以作为一个有价值的模拟器,允许 生成无限数据,包括corner-case和反例,用于训练和验证自动驾驶系统。
文章链接: https://browse.arxiv.org/pdf/2309.17080.pdf
官方博客1: https://wayve.ai/thinking/introducing-gaia1/
官方博客2: https://wayve.ai/thinking/scaling-gaia-1/
#自动驾驶仿真大观
一、仿真场景
仿真场景即自动驾驶系统的test case。根据中国汽车技术研究中心的分类,自动驾驶测试场景可分为【自然驾驶场景】【危险工况场景】【标准法规场景】【参数重组场景】等四大类:自然驾驶场景来源于汽车真实的自然驾驶状态,是构建自动驾驶测试场景中最基础的数据来源;危险工况场景主要包含大量恶劣天气环境、复杂道路交通以及典型交通事故等场景,如CIDAS数据库;标准法规场景是验证自动驾驶有效性的一种基础测试场景,是通过现有的标准、评价规程构建测试场景,目的是对自动驾驶汽车应该具备的基本能力进行测试;参数重组场景是将已有仿真场景进行参数化设置并完成仿真场景的随机生成或自动重组,具有无限性、扩展性、 批量化、自动化等特点。
场景库搭建流程大致可以分为【收集数据】:即实际道路数据和法规数据等、【处理数据】:即从数据中提取特征并组合形成场景和【应用数据】:场景库测试并反馈。
目前,自然驾驶场景的生成已经基本可以实现自动化:采集车按照一定的格式采集数据,算法筛选可能会有用的关键片段的数据,算法计算片段数据中本车和周围其他车辆的轨迹,再把轨迹写入场景描述文件,例如OpenScenario格式的场景文件,现有的很多仿真软件都可以直接利用这样获得的场景文件进行仿真。需要注意的是,在这种情况下,仿真软件中还原出来的只是实采场景的“逻辑”,场景中的参与者披着仿真软件三维模型库中的车辆模型“马甲”上演着一幕幕真实行为片段。换句话说,这样还原出来的场景当然可以满足规控算法的测试,但这样无法还原当时的传感器感知信息,因为毕竟还是由仿真软件的三维模型来扮演的前景车辆和背景。现在如果想要还原传感器感知信息,可以应用NeRF。
那么,究竟什么样的仿真场景才是有价值的呢?路测车辆采集的自然驾驶数据还原场景被认为是最能接近真实路况且随机性强的,但我们不是说目前路测花费的时间长赶不上趟儿吗?这就需要我们对路测数据进行处理,将交通参与者识别提取出来后再重新排列组合,形成基于真实数据的随机场景。
比如百度19年大火的论文介绍了他们的AADS仿真系统:在该系统中,使用一台安装了激光雷达和双目相机的汽车扫描街道,便可获得自动驾驶仿真的全部素材,然后自动将输入素材分解为背景、场景照明和前景对象。通过视图合成技术,可以在静态背景上改变视点,生成任意视角的真实图像,进而模仿车在不同环境里面行走的动作。那么如何证明这些重组场景的有效性呢?论文中提到了一种通过对比虚拟场景和实际场景中感知算法的识别效果来评价的方法,用被测对象的表现来评价测量工具,也很有意思。后来的一些应用于自动驾驶的NeRF研究中,也使用的是这样的一套思路,比如UniSim。
我个人认为,再有效的自然驾驶数据仿真场景也只适合部分算法的测试:这种方法不管怎样,周围物体的轨迹都是录制好的,是没办法根据本车行为改变的。这就像是电影和游戏的区别,电影中的场景只能播放,而游戏是可以根据交互改变场景的。
也许在不久的将来,结合交通流模拟和真实数据,随机场景生成可以批量建立既符合真实交通状况,也能够随本车行为变化的仿真场景。
二、仿真开发
我们之前谈到的场景库,可以说是在为自动驾驶仿真测试准备数据,那么仿真开发工作就是在创建或者完善工具了。
仿真开发大概包含以下几个方面:
- 【场景库】:之前说过很多了,会包括数据处理、深度学习、数据库等技术内容
- 【感知】:有了仿真环境,需要将环境信息传递给算法,因此需要建立各种传感器模型,如相机、激光雷达、毫米波雷达、超声波雷达等,根据需要建立物理原理级模型和理想模型。传感器建模想要做得好,需要传感器工作原理的理论研究、物理过程的计算机建模和工程落地能力,以及大量实验数据支撑。
- 【车辆动力学】:算法输出的控制命令需要有控制对象,因此需要车辆动力学模型,这几乎是另外一个学科,会有专门的工程师研究动力学模型,在自动驾驶仿真中需要能够接入专业动力学模型或进行简化。
- 【中间件】:算法与仿真平台间,不同功能的仿真平台间都需要信息交流,因此需要大量接口开发。自动驾驶研究阶段较常用的中间件如ROS,在应用阶段常用的如基于AUTOSAR的中间件。
- 【仿真引擎】:有企业喜欢自研仿真平台,那么管运动、碰撞的是物理引擎,常用开源的如ODE、Bullet、DART等,管三维显示的是渲染引擎,开源的如OGRE、OpenGL。Unreal和Unity是常用来制作游戏的既有物理也有渲染的两套引擎。
- 【仿真加速】:会涉及到并行计算云计算等,自动化测试也可以算在这里吧。
- 【前端】:我看有很多仿真开发的职位其实都是在招前端,因为仿真的动态可能需要显示交互等。
最后我觉得可能还有更高进阶要求的第8点:“哪里不会点哪里”的能力,比如如果你的被测对象只是自动驾驶功能框架中的一部分呢?你能不能通过开源算法把剩下的补齐,让“闭环”跑起来?
三、仿真测试
有了自动驾驶仿真测试所需的数据和工具,接下来就是仿真测试了。今天主要介绍几个常见仿真测试链路。
- 【MIL模型在环】:说实话我不是很知道模型在环和软件在环的区别(也许和MBSE方法论兴起有关)。狭义上来讲,模型在环是在编写编译实际代码之前使用比如MATLAB等工具验证算法逻辑功能的测试。说白了就是用simulink模型实现算法,进行仿真。
- 【SIL软件在环】:使用实际编译后的代码软件进行测试,按理说模型在环测试通过了,SIL只是检测代码生产上是否有问题。和HIL一样,SIL需要为被测对象提供一系列的运行环境、其他与待测功能无关的前置虚拟信号等。
- 【HIL硬件在环】:广义地讲,只要是一个硬件在回路中受到测试的方法都可以叫做HIL,所以针对某个传感器做的测试也可以叫HIL测试。狭义地讲,我们一般指控制器硬件在环,是以实时计算机运行仿真模型来模拟受控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试。从HIL开始,要求仿真测试具有强实时性。
- 【VIL车辆在环】:我了解一般有两种车辆在环的方式:一种是搭载自动驾驶系统的车辆安装在试验台上,车轮卸掉替换为模拟负载的拖动电机,地形路面给车辆的激励都通过试验台来模拟,在这种方式中如果加上了很好的显示系统,也能够作为驾驶员在环仿真系统使用;另一种是车辆可以在一个空旷场地内行驶,由仿真系统提供传感器输入,让车辆虽在空场地中,但算法也会认为周围有各种不同的场景,一般可用车载GPS提供位姿反馈给仿真系统。
四、日常工作
前面几节说了那么多,都是在总体介绍我们这个行当,都是我这个盲人摸出来的大象,本节就来说说大体上我们每天都在干什么。这些日常工作当然是包含在第二、三节的内容当中的:
- 【感知】:搭建传感器模型必不可少,需要关注到每种传感器的一系列参数,如探测距离、探测角度范围、分辨率、畸变参数、噪声参数、安装位置等,还有硬件的通讯协议等。接下来视所用的仿真软件工具不同,看看是“配置”已有类型的传感器,还是要自己基于仿真软件开发新类型的传感器。为了算法模型的训练或评价,仿真往往还需要提供真值,如2D/3D包围框、车道线等地图信息、2D/3D占用栅格等等,如果仿真软件既有功能不能满足,就也需要工程师做二次开发。
- 【车辆动力学】:需要根据车辆参数在专业的动力学仿真软件中配置车辆模型,也需要能够根据简化公式直接编写简化的运动学、动力学模型。
- 【中间件】:接口的开发是重要的工作内容,要负责当好被测对象和仿真软件间的“翻译”;另外就是使用软件的api接口实现不同层级仿真平台间的联合仿真,例如场景仿真联合车辆动力学仿真,再加上交通流仿真,再统一放进自动化测试管理软件的调度中去。
- 【仿真加速】:我把自动化测试也放到了仿真加速里,因为要是能够实现7x24小时不间断测试也是一种提高效率的途径吧!这就涉及了自动化调用仿真平台、自动化脚本编写、录制数据、根据用例要求评价数据等内容。
- 【软件开发】:有自研仿真软件需求的企业主要就是这方面业务。
另外还有一点6.【需求分析】:作为仿真开发工程师,你理应是最了解你所用工具的那个人,所以一旦客户(内部外部都算)有了新需求,仿真开发工程师应该能够根据需求和被测对象的具体情况设计技术方案、提出软硬件需求和项目计划。所以有的时候,产品和项目管理的活都要干。
五、技术栈
“技术栈”这词儿听着挺洋气,但其实就是这个岗位应该都会点啥。很久以前我看过一个电视剧,里边一个急诊科的大夫自嘲:我们是万金油,人家外科大夫才是金不换。我一直认为仿真工程师就像医院里的急诊科大夫,什么都得知道点:测试什么算法,那么除了这个算法之外的所有东西都要准备好,导航定位、控制规划、数据处理、参数标定、天文地理、医卜星象、金批彩挂、评团调柳……可以不求甚解,快速满足算法测试需求是最重要的。
这种所谓的“全局观”是仿真工程师的优势,但只有对算法有真正的了解,才能做出能够真正帮助算法改进的仿真工作,也才能走得更远。扯远了,拉回来:
- 【代码】:主要是C++/Python,但如果涉及到前端显示的部分我就不了解了。一般来讲要求肯定没有算法开发那么高,不过如果是专做仿真软件开发的另当别论。
- 【ROS】:单拎出来是因为目前ROS仍是自动驾驶和机器人算法研究领域绕不开的一部分,且ROS社区中提供了很多现成的很多可用工具。
- 【车辆动力学】:可能不需要像真正的车辆工程师了解得那么多,但基本原理是要知道的。另外就是各种坐标转换需要熟练(这条可能不算车辆的,算数学)。
- 【传感器原理】:自动驾驶车辆上的相机、激光雷达、毫米波雷达等各种传感器是如何工作的,输出的信号长什么样子,有哪些关键的参数。
- 【地图】:仿真测试场景使用的文件格式如opendrive、openscenario需要了解,因为有时候需要从其中提取信息作为传感器仿真的输入。
以上仅仅是我个人的一点总结,欢迎广大同行在此补充!
为了文章的完整性,我也将在这一节简要介绍下市面上常用的一些仿真软件(真的不是广告!没上榜的也不要气馁)。
- CarSim/CarMaker:这两款软件都是强大的动力学仿真软件,被世界各国的主机厂和供应商所广泛使用,也可以做一部分道路场景的模拟。
- Vissim/SUMO:Vissim是德国PTV公司提供的一款世界领先的微观交通流仿真软件。Vissim 可以方便的构建各种复杂的交通环境,也可以在一个仿真场景中模拟包括机动车,卡车,有轨交通和行人的交互行为。SUMO是开源软件,可以通过交互式编辑的方式添加道路,编辑车道的 连接关系,处理路口区域,编辑信号灯时序等。
- PreScan:已被西门子收购,用于创建和测试算法的主要界面包括MATLAB和Simulink,可用于MIL、SIL和HIL。
- VTD:作为商业软件,VTD可靠性强,功能全面,覆盖了道路环境建模、交通场景建模、天气和环境模拟、简单和物理真实的传感器仿真、场景仿真管理以及高精度的实时画面渲染等,说一句VTD是国内主机厂使用率最高的仿真软件应该不为过。可以支持从 SIL 到 HIL 和 VIL 的全周期开发流程,开放式的模块式框架可以方便的与第三方的工具和插件联合仿真。
- CARLA/AirSim:两款开源仿真平台,都依托UE开发,也推出了Unity版本。CARLA可以制作场景和配套的高精地图,支持传感器和环境的灵活配置,它支持多摄像头,激光雷达,GPS 等传感器,也可以调节环境的光照和天气。微软的AirSim有无人机和车辆两种模式,车辆模式下的功能实在乏善可陈,没法很方便地建立环境和车辆模型,社区也没有CARLA活跃,建议以后招人写JD别把AirSim算进去了,没多大用。另外,国内的深信科创最近推出了基于CARLA开发的OASIS,目前可以看成是开源CARLA的加强版。
- 51SimOne/PanoSim:这两个都是国产的仿真软件,场景仿真软件该有的主要功能他们都能满足。
最后再补充一个lgsvl:本来lgsvl的优势是和Apollo结合得较好,但是我听说lgsvl的官方已经放弃了这个项目,所以我劝你弃掉这个坑。
六、学习路径
相信通过我前五节的介绍,聪明的在校同学已经可以从中体会出成为一名自动驾驶仿真工程师的学习路径,而通过批判我前五节的内容,年轻的同行也已可以从中得出进阶之道。但本节我还是写一些在这方面的粗浅理解。
我前边说了那么多,想必大家也能看出来,自动驾驶的仿真是一个多学科交叉的领域,能够接受来自很多专业的同学,包括但不限于:计算机/控制/机器人/机械/车辆/电力电子等等。
经历和技术上,我尝试列举一些任职要求:
- 代码能力:做仿真的云计算、云服务器等相关开发的同学可能会需要熟练使用C++/Go/Java任何一门语言的开发,有良好的编程习惯,掌握常见的设计模式、数据结构和算法,熟悉Linux系统、Docker技术及Kubernetes的相关知识,有云端服务开发经验,这些是奔着高并行高复用高自动化的自研仿真测试平台去的。另外,自研仿真软件的岗位除扎实的计算机基础外,可能会需要游戏引擎的开发经验,所以做游戏开发的同学也可以转行到自动驾驶仿真上(包括技术美术)。目标是应用已有的仿真软件进行二次开发和集成的同学可能会需要熟练使用C/C++和Python,熟悉Linux/ROS的开发,如果能够有AUTOSAR等车规级中间件的开发经验更好。
- 软件经验:任何的自动驾驶仿真软件的实际使用经验当然都是加分项,但是由于商业软件大多非常贵,因此在这点上很依赖学校实验室或者公司的实力。在没有商业软件支持的情况下,我认为现在CARLA是开源软件的最优解。
- 领域知识:我个人认为,作为自动驾驶仿真工程师,对于自动驾驶算法怎么深入了解都不为过,包括算法的原理实现的方方面面,只有更好地了解算法,才能更好地做好仿真。另外,如果是非计算机专业出身的同学,学好本门儿的专业课也十分重要,比如机械、车辆、力学、电子等等等等,守正才能出奇,总会用到。
当前自动驾驶行业正经历很大波动,但总结起来能用到仿真工程师的主要有以下几类企业:主机厂,以集成应用成型仿真软件为主,但新势力基本上都要做自研;自动驾驶解决方案供应商,也就是算法的Tier1,可能也是自研仿真的居多;仿真软件企业,这方面国内刚刚起步,基本上都是初创企业。
在本节的最后我再谈一点从传统机械“转行”来的体会。我硕士毕业的一个学校具有浓厚的转码风气,我那届入学机械研究生院的中国学生里,大概有十之七八毕业后都从事了计算机行业。有赖于相对宽松的选课制度,同学们的操作是尽量多修计算机学院的课程。于是在那两年,焚膏油以继晷,恒兀兀以穷年是常态。但我不记得当年找工作需不需要刷题了。总之一句话,机械如何转型计算机:去读半个计算机学位。其实当时也不单是机械,各个专业都在转,也不单是中国学生,全世界人民都这样。
不过后知后觉的我并不在当年的这十之七八里边,所以我错失了转型最好的机会。等到靠自学的时候,就难多了:最主要没有时间,这就更要求学习资料和方法要高效。因此相对来讲,还是上网课效率较高,毕竟有老师指导。Coursera的课不错,好像比较贵。最近几年开源的网络资源越来越多了,不过上的课在精不在多,毕竟计算机最注重实践也最容易实践。计算机经典的著作也很多,比如数据结构与算法、c++ primer……我是一本没看过,有些事真的一旦错过就不再。
其实我觉得,一个最容易的转型方式就是,直接从事计算机相关的工作,有了需求提高是最快的,解决了我上面说的学习方向问题和时间问题。不过要是因此产生了绩效不达标的问题,您当我没说。
七、关于NeRF
NeRF正伴随着“数据闭环”、“大模型”、“端到端”这些新兴热门词汇一起在自动驾驶领域“兴风作浪”。仅仅几年的时间,NeRF已经再也不是出道时单纯的MLP+体渲染,储存空间信息的载体五花八门:哈希表、体素网格、多维高斯函数……新的成像方式也层出不穷:U-net、CNN、光栅化……自动驾驶方向只是NeRF一个很小的应用分支。
NERF应用到自动驾驶仿真方向,主要会面临以下这些问题:
自动驾驶数据采集的方式导致场景的范围“不闭合”:室外的场景会包含大量远景,这对NeRF的空间信息储存是很大挑战;自动驾驶场景包含大量的动态物体,NeRF需要能够处理动静态物体(或曰前景背景)的分离;NeRF模型普遍不具有迁移能力,可能每个场景都需要训练单独的NeRF模型,而NERF的训练又仍然比较慢,所以NERF在自动驾驶数据上的大规模应用仍然会存在问题。
不过我仍然期待着,同时也相信,NeRF会给自动驾驶仿真带来颠覆性的发展,最终消除仿真在感知算法上的domain gap,甚至做的更多。从我了解到的信息来看,NeRF至少会带来以下这些突破:
NeRF新视角图像合成的能力可以增强感知算法训练数据集:可以产生新传感器内参(相当于改变了传感器配置)、外参(修改了自车轨迹)下的图片、激光雷达点云等数据,给感知算法更多训练数据,这方面可以参考StreetSurf、UniSim等研究。在动态物体可编辑的情况下,将来NeRF可以产生有针对性的极端情况、随机情况场景,补充单纯路测和WorldSim的不足。如果NERF可以同时很好地解决城市级场景的训练重建和实时渲染,那么NeRF就完全可以做为一个XIL在环仿真测试的平台,而不会有感知数据domain gap的问题,也会推动端到端算法的发展。另外,NeRF的模型甚至也可以作为一个插件放入游戏引擎(如3d Gaussian Splatting的UE插件已经问世),这样就可以把NeRF的街景重建纳入到原有的WorldSim体系中去。如果考虑与AIGC方向的大模型结合,NeRF在新场景生成上就会有更多的可能性:将可以任意编辑光照、天气、物体外观和行为等等。
所以作为仿真工程师,我强烈建议广大同行密切关注NeRF方向的进展,尽管NeRF的各研究项目还都只是初具雏形,但现在深度学习方向在硬件的加速下进展已经越来越快了。
八、写在最后
杂七杂八写了这么多,最后还有一些感想。
仿真开发有什么坑。技术上的坑不在此讨论,在这里只说一点整体上的感想。那就是要警惕你是否在过多地陷入到毫无意义的工作中去:给不同人做类似的项目不算,完成好每个项目就是价值;不使用现成工具非要自研长期看也不算,脱离对特定工具的依赖是有价值的;研发上很多事后被证明不通的尝试也不能算,研发的失败也有价值的。那么具体什么是“毫无意义”的工作呢?这就见仁见智了,我总结不好。
还有从这个岗位出发能干嘛。如果你在工作中对被测对象有了深入的了解,那么也许可以尝试转向某个方向的算法开发岗;还有就是机器人、无人机的仿真开发也可以考虑。
移动机器人和自动驾驶的相通性自不必说,这里提一下无人机。无人机行业的体量肯定没有汽车这么大,但是也已经有了落地点,比如巡检、航拍、测绘等。无人机也需要自动操控算法来进行避障、路径规划等,无人机使用的传感器也和无人驾驶车车辆类似,因此可以说仿真测试有相通之处:无人机也需要丰富的视觉图像、雷达点云等感知输入,需要更加精细的动力学模型等等。
有兴趣了解机器人和无人机仿真的同学,可以从开源的仿真平台Gazebo(https://classic.gazebosim.org/)入手,其对计算资源的需求不会像Nvidia的Isaac那么高。
今年是OSRF从柳树车库独立出来的第十一年,而机器人操作系统ROS和Gazebo至今已经有了二十多年的发展历史。Gazebo从最初一个研究生课题组的科研工具,逐步发展成了今天有11个发行版,以及二代ignition 7个发行版的独立仿真软件工具。
Gazebo支持ODE、Bullet等物理引擎,使用OGRE作为渲染引擎,可以创建三维环境,模拟相机、激光雷达等多种传感器的信息,具有丰富的机器人模型:从机械臂到轮式机器人,再到人形机器人。更重要的是,Gazebo天然地对ROS平台下的算法提供全面的支持:毕竟如果你下载安装一个desktop full的ROS版本,Gazebo是自带的。当然了,Gazebo作为一个开源软件,只提供了一个起点,它的功能均衡,但是各方面都比较粗糙,不够深入。
#DA-BEV , 无监督BEV SOTA新方案
探讨3D视觉感知领域中的一个特定问题:针对纯视觉的鸟瞰图(BEV)的无监督领Domain Adaptation(Unsupervised Domain Adaptation, UDA)。3D视觉感知在移动机器人、自动驾驶、虚拟现实等领域起着重要的作用,而近年来,纯视觉的BEV模型由于其在全面的3D理解、丰富的语义信息、高计算效率和低部署成本方面的优势而受到越来越多的关注。
研究背景上,尽管单目和基于激光雷达的3D感知取得了显著的进步,但当在源域(例如,训练数据的环境)训练的纯视觉BEV模型应用到目标域(例如,不同于训练数据的新环境)时,通常会出现明显的性能下降。这种性能降低主要是由于源域和目标域之间的显著差异所导致。
论文提出的问题是,尽管对于2D计算机视觉任务来说,无监督领Domain Adaptation已经被广泛探索,但对于纯视觉BEV感知来说,如何减少源域和目标域之间的差异仍然是一个极具挑战性且相对欠缺研究的问题。
为了解决这个问题,论文提出了一种名为DA-BEV的新框架,这是第一个针对纯视觉BEV感知的领域自适应框架。DA-BEV通过利用图像视图特征和BEV特征之间的互补性来解决BEV领Domain Adaptation的挑战。具体来说,这个框架通过引入可学习的查询来促进图像视图特征和BEV特征之间的相互作用,同时跨领Domain Adaptation它们。在这一过程中,BEV特征中的全局3D信息有助于适应图像视图特征,而图像视图特征中较少变化的2D信息则有助于适应BEV特征。
DA-BEV的设计包括两种基于查询的领Domain Adaptation技术:基于查询的对抗学习(QAL)和基于查询的自训练(QST)。这两种设计相辅相成,共同实现了有效的无监督BEV感知适应。
论文的主要贡献在于三个方面。首先,它提出了一种基于查询的领Domain Adaptation策略,这种策略利用了图像视图特征和BEV特征的互补性,适用于无监督的BEV感知适应。其次,它设计了DA-BEV,这是一种引入基于查询的对抗学习和基于查询的自训练的框架,有效地联合解决了领域自适应BEV感知的问题。最后,通过广泛的实验,DA-BEV在不同数据集和任务(如3D物体检测和3D场景分割)上展示了其在BEV感知适应方面的优越性能。
详解DA-BEV
DA-BEV整体框架
DA-BEV框架利用图像视图特征和BEV特征之间的互补性来解决BEV领Domain Adaptation的挑战。它设计了一种基于查询的领Domain Adaptation方法,通过引入可学习的查询,实现图像视图特征和BEV特征之间的交互以及它们的协同适应。直观地说,BEV特征中的全局3D信息有助于适应图像视图特征,而图像视图特征中的局部2D信息,由于领域变化较小,有助于适应BEV特征。基于这一理念,论文设计了两种基于查询的领Domain Adaptation技术:基于查询的对抗学习(QAL)和基于查询的自训练(QST)。
Query-based Adversarial Learning (QAL)
在Query-based Adversarial Learning (QAL)中,提出的方法利用从图像视图特征或BEV特征中查询得到的有用信息来规范化对方的对抗学习。具体来说,QAL使用两个域分类器来分别测量图像视图查询特征和BEV查询特征的域间距离,并利用测量得到的域间距离进行相互规范化。
QAL的关键在于同时减轻图像视图特征中的局部2D信息和BEV特征中的全局3D信息的域间差异,这两者对于在3D空间中定位和识别物体和背景都至关重要。此外,2D图像视图查询特征的对抗学习涉及较少的3D信息,其中BEV查询特征可以通过提供丰富的全局3D信息来有效地规范化它。
Query-based Self-training (QST)
在Query-based Self-training (QST)中,提出的方法利用从图像视图特征和BEV特征中查询得到的有用信息来规范化它们的自训练。直观地说,解码的图像视图查询特征捕获了丰富的2D语义和位置信息,这些信息在域间具有较少的差异,而解码的BEV查询特征则捕获了BEV空间中的丰富全局3D信息。因此,这两种特征互补,共同有效地规范化自训练。
QST首先利用来自图像视图或BEV特征的预测来去噪另一方的预测。然后,QST通过积累去噪后的预测,获取全局类别分布,并进一步利用它来促进伪标签的生成。生成的伪标签方法具有三个特点:1)阈值是根据图像视图和BEV特征捕获的2D和3D信息动态确定的;2)通过为每个类别选择相同百分比的伪标签来缓解类别不平衡问题;3)它是在线的,不需要额外的推理轮次。
QST的训练损失可以表述为:
总体目标
综上所述,提出的DA-BEV的整体训练目标可以表述为以下公式:
这一目标结合了图像视图特征和BEV特征的对抗学习和自训练,以实现跨Domain Adaptation。
相关实验
这个实验表格展示了在不同照明条件下,针对纯视觉BEV感知的无监督领Domain Adaptation的结果。具体来说,实验关注的是从白天到夜晚的场景转换。评估指标包括了不同类别的平均精度(Average Precision, AP)以及整体的平均精度(mAP)和标准化检测分数(Normalized Detection Score, NDS)。实验比较了四种方法:Source Only、SFA、MTTrans、STM3D和本文提出的DA-BEV。
- 类别细分的AP:表格中展示了对于不同类别(如汽车、卡车、建筑车辆、公共汽车等)的检测精度。这些细分的AP指标重要的是,它们揭示了模型在识别不同类型的物体上的性能,这在实际应用中是非常关键的,因为不同类型的物体对于感知系统的响应可能会有很大不同。
- 整体的mAP和NDS:整体的mAP是所有类别AP的平均值,提供了一个整体的性能指标。NDS是一种综合评估,不仅考虑了检测精度,还可能考虑了其他因素如位置准确度、大小估计等。这两个指标给出了一个更全面的性能评估。
- 方法比较:
- Source Only 是基线方法,没有进行领Domain Adaptation。
- SFA、MTTrans、STM3D 是其他领Domain Adaptation方法。
- DA-BEV (Ours) 是本文提出的方法。
- 分析:
- 在大多数类别上,DA-BEV的表现优于其他方法,特别是在“汽车”、“卡车”和“公共汽车”等类别上,这表明DA-BEV在进行领Domain Adaptation时能更好地维持或提高对这些类别的识别能力。
- 对于“拖车”和“建筑车辆”等类别的检测依然是一个挑战,因为这些类别的AP值普遍较低。
- 在整体mAP和NDS上,DA-BEV也显著优于其他方法,表明其在不同照明条件下的领Domain Adaptation性能整体更佳。
这个实验结果表明DA-BEV在进行无监督领Domain Adaptation,特别是在照明条件变化较大的情况下,能够有效提高3D物体检测的性能。
上图展示了DA-BEV框架在跨天气条件下(即晴天到雨天)进行3D物体检测的定性结果。左边的六个小图呈现了多相机视角下的3D预测结果,每个视角的图像中都有黄色的3D边界框标注着检测到的车辆。右边是鸟瞰图(BEV)视角的预测结果,其中橙色框表示预测位置,蓝色框代表实际的地面真相(Ground Truth)。在BEV图中,我们可以看到预测框和真实框的对比,能够直观地评估模型预测的准确性。例如,图中的一个交叉标记(X)指出了一个错误预测的位置,这种可视化有助于理解模型在不同环境条件下的表现和适应性。
另一张表格测试了DA-BEV方法在不同网络骨架上的泛化能力。实验考虑了三种不同的骨架:R50-C5、R50-P4和VoV-P4。在没有Domain Adaptation(Source Only)的情况下,这三种骨架的mAP分别是10.63、11.61和15.93。使用DA-BEV方法后,所有骨架的性能都有所提高,分别达到了13.03、14.22和20.27。这表明DA-BEV能够在不同的网络架构上提供一致的性能增益,从而验证了其泛化能力。
总体来看,这些信息表明DA-BEV是一个有效的框架,能够在不同的天气和光照条件下实现跨Domain Adaptation,并且具有良好的泛化能力。定性结果展示了模型在复杂环境中的实际应用性能,而定量结果则提供了参数选择和模型设计对性能影响的深入分析。
讨论
这篇论文提出的DA-BEV方法在跨域3D物体检测任务中展现了显著的优势,尤其是在处理不同光照和天气条件下的场景适应问题上。通过引入基于查询的自训练和对抗学习,DA-BEV能够有效地利用图像视图和BEV特征之间的互补性,从而改善了模型在目标域上的性能。这在跨天气条件,如从白天到夜间的适应任务中,尤为重要,因为光照变化对感知系统的影响很大。
定性分析表明,DA-BEV可以在多个相机视角中精确地识别和定位物体,并且在鸟瞰图中准确地重建3D场景。这一能力对于实际应用如自动驾驶和机器人导航是非常关键的,因为它们需要在各种环境条件下都能准确地感知周围的环境。此外,该方法在不同的网络骨架上都表现出良好的泛化能力,这意味着它可以与不同的网络架构集成,提高现有系统的适应性。
然而,DA-BEV方法也有其局限性。例如,它在某些特定类别,如拖车和建筑车辆的检测上,性能仍然有限,这可能是因为这些类别在数据集中的表示较少或者它们在不同光照条件下的外观变化更加显著。此外,虽然定性结果令人印象深刻,但在鸟瞰图中仍有少数误差,这表明模型在理解复杂场景方面仍有改进空间。
结论
在本文中,我们提出了DA-BEV,这是首个领域自适应的纯视觉BEV框架,它通过利用图像视图特征和BEV特征的互补性来解决领域自适应BEV的挑战。DA-BEV引入了基于查询的对抗学习(QAL)和基于查询的自我训练(QST),其中QAL/QST利用从图像视图特征或BEV特征中查询得到的有用信息来规范化另一个的对抗学习。广泛的实验展示了DA-BEV在各种数据集和任务上的卓越领域自适应BEV感知性能。展望未来,我们将通过引入它们的时间信息来进一步探索图像视图和BEV特征的互补性。
#端到端Planning
最近有一个票圈里很久以前(我还在土加的时候)加过的的做无人驾驶决策规划的大佬从美国回来,然后机缘巧合就见面聊了聊,向他请教了一些美国那边行业内专业人士对于决策规划的一些看法。下面是几点:
- T某拉的的planning用DL主要是为了加速树搜索,而不是直接端到端黑箱出轨迹。
- 用DL直接出轨迹(下游再用ilqr救一救?), 甚至DL直接从一堆轨迹里面挑轨迹都是不靠谱的,因为出了问题短时间根本修不好,也没人知道要多少数据可以修好。
- 用DL只是加速是ok的,因为反正出了问题顶多影响搜索效率,不会有啥严重后果。
- 同理Prediction直接DL出轨迹也是不行的,至少要结合planning,做一些agent的轨迹优化和生成,比如类似joint planning。这个具体咋做视各家的技术水平。
- 行业内专业人士认为,还是需要基于对prediction和planning的深刻理解,把framework和modeling作对,把要求解的问题定义对,才可能得到比较好的结果。DL可以作为tool处理其中一些子问题,但不应当认为有了DL e2e就可以再也不用把理论做对了,那样只会garbage in, garbage out。
我很高兴知道,大佬说的很多东西,是我们在TuSimple开发新planning算法时所一直遵循的。
下面是我之前对类似价值观的阐述 。我是从数理科学的角度在强调 公理(假设)-演绎(建模+优化求解)-实证(仿真+物理世界测试) 闭环的重要性,因为这样的范式是数理科学早就确立的(比如物理学就是个典型的例子,经济学什么的也有类似的特征)
希望有些鼓吹e2e可以且只有e2e可以彻底解决无人驾驶的网友们能正视现实,不要盲目跟着某些企业的营销鼓噪。如果你不是专业人士,那跟风鼓吹你完全不懂的东西,是极不负责任的。特别是个别做感知的兄弟,如果您不懂planning/control,至少不要跟着鼓吹应该用e2e来替换掉一个科学的Planning/control framework。我至今还记得21年初某个感知兄弟看完T某拉AI day后(那个时候T某拉还在吹影子模式),质问我们做planning为啥不用imitation learning实现 :-D
希望还在认真秉持planning/control数学建模和求解严谨性的同学/同行们能坚持下去,坚持自己的路线,做好的自己的研究和工作。(ps,我觉得我们在图森做的真的还挺不错的)
当然,谋事在人,成事在天。我们做科研的人的力量在国际形势面前是很渺小的,国家间的小风小浪也足以把我们努力搭建的高塔吹得摇摇欲坠。但只要坚持做对的事情,我们就会不断变得更强,积累知识和思维上的财富(如果不是银行卡里的话),并获得突破极限得快乐。总有一天,我们(指的是坚持上面所说价值观的人)会创造出改变世界的东西。
Have faith in our course! Keep marching on and one day we will reach the ultimate truth. [at least in the limit sense]
#轨迹预测入门 | HiVT学习笔记
原文链接:
Abstract
向量化地图能很好把握复杂的交互信息,但以往的方法缺乏对于对称性的使用(以每个agent为中心来看,应该是相同的建模),因此增加了很多运算。因此本文把预测问题解耦成agent的局部特征提取再全局的交互两步。场景表示是平移不变的,学习模块是旋转不变的,这样便可以应对几何变化,使得agent被一次性处理。对于小model来说,是很好的选择。
Introduction
对与agent的意图预测,很重要的就是利用好复杂交互。相比rasterized地图,向量地图的主要问题是在融合feature时不具备旋转平移不变性。以前的办法是把feature都转到agent的坐标系,这导致了在大量agent的情况下,算力吃不消的问题,因为需要在每个坐标系下去算相同向量的feature,有很多重复计算的部分。在时间和空间维度上,以前是一起处理的,这样运算量也很大。本文采取了多阶段的做法。
第一阶段:避免一口气处理interaction,只在agent local取feature
第二阶段:使用local feature的位置信息进行global的transformer交互
第三阶段:decoder处理local和global的feature来获得未来轨迹
为了利用好对称性,使用了平移不变的场景表示,然后又用了旋转不变的cross attention来处理空间上的交互。以上做法有这么几个好处:
- 通过local特征提取和global交互,实现了逐步融合信息,可以处理大量的元素。
- 此办法具有旋转平移不变性。
- 相比老办法会更加快且更加准。
Approach
Overall
第一步是对agent平移到自己的坐标系,连带着周围的信息。这样来提取agent自己的feature。
第二步是对不同agent进行全局的交互。
第三步是解码获得多模轨迹。
Scene Representation
所有场景元素都平移到agent自己的坐标系。
另外代码里也支持了旋转。
Hierarchical Vector Transformer
如果考虑到agent中心的某个范围,故而只选了附近的物体的话,总复杂度可以进一步下降。
Local Encoder
上面讲到的3步详细的介绍。
Agent-Agent Interaction
采用了旋转不变的cross attention来处理中心agent和附近agent交互。使用agent的最接近当前帧的位移作为朝向来旋转所有的物体。对于然后每一帧的位置和别的一些语义feature一起进入MLP获得这个agent在某个时刻的feature。
具体的做法是先计算当前agent在周围agent feature上的权重(可以理解为和哪些agent关系比较密切)。然后加权取周围agent上的feature。这就算是融合了agent和周围agent的交互信息。
然后使用了gate的概念来融合上面的交互信息和agent自己的信息。先是将交互信息和agent的信息融合起来过sigmoid,获得0-1的一个值,作为agent自己feature的比重。再加权在agent自己的feature和上面的交互feature,有效控制最后的agent feature中两种feature的比例。
以上步骤都是在每帧并行做的。
Temporal Dependency
Agent-Lane Interaction
lane的信息可以很好的引导意图的学习。先把地图信息根据agent的朝向旋转,每一帧包含了旋转后的lane线段向量,旋转后的lane起始点相对agent在T时刻的位置,以及地图元素的语义信息,对于每一帧都并行提取。
这样获得的多个lane和agent的交互feature作为key和value,而上一步的结果作为query,这样进行cross mha。最后的就能得到agent的融合后feature了。
Global Interaction Module
Multimodal Future Decoder
Laplace分布
相比normal dist,不使用平方,而使用绝对值来处理目标值和平均值的差,这个分布在目标值附近会更集中,尾部会更平。
Training
先计算所有模态里和gt的距离最近的预测结果,计算方式是每个时刻的误差加起来,得到[F, N]的结果,对每个agent选出最小结果,我们只优化离gt最近的预测模态。loss由两部分组成
直白的解释的话就是把gt转到agent坐标系,然后计算gt和学到的laplace分布的差(把gt坐标代入laplace分布求值)。因为假设了时间独立,agent独立,因此需要把这个loss乘起来,所以用log后求和来避免特小值。负号确保越接近gt的loss是越小的。
分类loss控制模态概率学习。做法是计算每个模态和gt的差之和,离gt越近的模态算到的值越小,所以取负号使得越接近的模态值越高,然后用softmax计算出一个soft过的one hot label。于是就可以和预测概率去算交叉熵loss了。
#高精地图,HD Map的过去、现在和未来
在协作、互联和自动化移动(CCAM)中,智能驾驶车辆对周围环境的感知、建模和分析能力越强,它们就越能意识到并能够理解、做出决策,以及安全高效地执行复杂的驾驶场景。高精(HD)地图以厘米级精度和车道级语义信息表示道路环境,使其成为智能移动系统的核心组件,也是CCAM技术的关键推动者。这些地图为自动化车辆提供了了解周围环境的强大优势。高精地图也被视为隐藏的或虚拟的传感器,因为它汇集了来自物理传感器的知识(地图),即激光雷达、相机、GPS和IMU,以建立道路环境的模型。高精地图正在迅速向智能城市数字基础设施的整体表示发展,不仅包括道路几何形状和语义信息,还包括道路参与者的实时感知、天气状况、工作区域和事故的更新。大规模部署自动驾驶汽车需要由一支庞大的车队来构建和维护这些地图,这些车队协同工作,不断更新地图,使车队中的自动驾驶汽车能够正常工作。本文对这些地图在高度自动驾驶(AD)系统中的各种应用进行了广泛的综述。我们系统回顾了构建和维护高精地图的不同方法和算法的最新进展。此外还讨论并综合了高精地图分发的数据、通信和基础设施要求。最后回顾了当前的挑战,并讨论了下一代数字地图系统的未来研究方向。
高精地图发展历史
A.数字地图
现代卫星系统和图像技术的出现彻底改变了对世界精确而详细的数字表示的创建,产生了我们现在所说的数字地图,如谷歌地图、OpenStreetMap、苹果地图、Garmin和Mapbox。数字地图对道路结构和基本语义信息以及兴趣点(POI)进行编码。有几种方法和技术可以从卫星图像中提取和识别构建这些地图所需的地理特征。数字地图现在是我们日常生活中必不可少的工具,尤其是与GPS集成时。事实上,这种集成一直是构建大量数字服务的核心组成部分,最重要的是导航和路由。这些地图主要是为了帮助人类而开发的,现在可以在最新的车辆中使用,以帮助人类驾驶员。然而,这些地图的准确性和精度以及AD要求的更新时间有限,其中车辆需要一定程度的位置精度以及详细的车道级别信息。
B.增强型数字地图
数字地图已得到显著改进,以满足高级驾驶员辅助系统(ADAS)功能的要求,如车道保持辅助和自适应巡航控制(ACC)。这些增强型数字地图中的典型特征包括速度限制、道路曲率和坡度、车道信息以及交通标志和红绿灯。增强型数字地图也称为ADAS地图,目前是大多数现代车辆不可或缺的一部分,可实现ADAS功能。尽管增强型数字地图引入了车道级信息,但其几何精度和语义细节水平限制了其在更高自主水平上的适用性。在AD系统中,要求车辆相对于其环境进行高精度定位,了解当前情况,并规划无碰撞轨迹。为了达到这一自主水平,自动化车辆不仅需要获得具有厘米级位置精度和车道级几何信息的地图,还需要获得环境的3D模型,以及道路环境的所有静态和动态特征。
C.高精地图
上述要求的需要产生了我们今天所说的高精地图,或者简称为高精地图。图1突出显示了地图的演变、地图的特征和用途,以及地图所包含的信息及其精度和细节水平。
D.可扩展地图:概述
在过去的十年里,学术界和工业界都做出了巨大的研究和开发努力,将极限推向价格合理、自我维护和可扩展的高精地图。然而,在按比例构建高精地图方面存在各种悬而未决的问题。这些挑战阻碍了高精地图在自主移动方面实现其全部潜力和最终目标。这些挑战可分为以下几类。
- 1)数据收集:高精地图的数据收集可能是一个耗时且劳动密集的过程。它通常包括使用GPS、IMU、激光雷达和相机等传感器的组合来收集有关环境的详细信息。
- 2)数据通信:数据通信包括将地图数据从收集地传输到处理地以构建高精地图,最后传输到消费地,例如自动驾驶汽车。测绘车辆从不同的传感器生成大量数据,需要对这些数据进行处理以构建和更新地图。实时处理来自大量测绘车辆的这些数据确实是一个挑战。
- 3)数据处理:数据处理是通过提取构建高精地图所需的元素和特征来创建高精地图的步骤。这可能是一项非常复杂的任务,尤其是对于大型地图,因为它涉及到聚合和对齐来自多个来源的数据,并确保地图准确和最新。在地图绘制过程中涉及大量地图绘制车辆的情况下,必须确保精确的时间同步,以避免数据错位。使用GPS产生的每秒脉冲(PPS)信号进行同步往往是使所有车载传感器同步的最常见方法。
- 4)地图维护:地图维护是指根据道路环境的变化,如建筑工地、道路堵塞和道路连接的修改,不断更新高精地图的过程。由于道路环境是高度动态的,并且会发生变化,因此这一过程需要频繁的数据收集和处理工作。
- 5)数据隐私与安全:数据安全和隐私对高精地图至关重要,因为它们通常包含敏感信息,如建筑物和基础设施的位置。确保这些数据得到保护而不被滥用是一项重大挑战。
- 6)建图成本:在创建高精地图的过程中,地图成本是一个重要因素。大规模绘制地图需要使用大量的测绘车,每辆车都配备了一套昂贵的带有高精度传感器的测绘设备。在绘制大面积地图时,此成本变得非常重要。使用消费级传感器进行高精地图绘制是可能的,但这是以使用复杂的地图绘制算法为代价的。
E.主要贡献
本文对高精地图进行了深入的概述,包括其分层架构的统一模型。此外,本文强调了高精地图在模块化AD系统中的重要性,并综合了它们在各种AD核心功能中的使用方式。鉴于上述地图数据收集、通信、处理、安全和成本方面的挑战,本文广泛回顾了以往关于构建和维护高精地图的工作,包括成本效益高的解决方案以及从生成到分发的通信和地图数据需求。此外,本文还讨论了目前在构建和维护高精地图方面面临的挑战。最后,我们为未来和下一代移动高精地图提供了一些启示。这项工作的主要贡献可概括如下:
- 高精地图的独立概览,作为更广泛的智能交通系统社区的背景。
- 详细回顾高精地图在AD系统的各种核心功能中使用的最先进技术。
- 全面调查不同的方法、方法和算法,以维护不同层次的高精地图并使其保持最新。
- 讨论综合行政管理及其他方面高精地图的主要挑战和未来前景。
高精地图:概述
早期的高精地图只是ADAS中使用的增强型数字地图的扩展,它们被称为早期的地图。HD地图一词是最近才出现的,但现在已被CCAM行业广泛接受,包括一级汽车公司、地图提供商和原始设备制造商。高精地图封装了自动化车辆的所有必要信息,以非常高的精度了解驾驶环境。虽然人们普遍认为高精地图是CCAM的核心推动者,但对于什么信息构成高精地图以及如何表示这些信息,没有明确的指导方针或标准。尽管如此,市场上可用的高精地图具有共同的功能。厘米级的位置精度以及车道级几何和语义信息的可用性是大多数高精地图中的基本特征。在最基本的层面上,高精地图可以简单地是一组点和线段,其准确位置代表路标、车道标记、车道边界和车道分隔符。由于AD系统的要求,今天的高精地图变得越来越复杂,来自不同来源的数据构成了关于驾驶环境的多层信息。将高精地图分解为多个层可以使道路环境具有更结构化的数据表示。这有助于AD系统的不同组件的可访问性,这需要在不同的细节级别对环境进行建模。此外,分层数据表示使地图的构建、存储、检索和维护变得容易。图2中给出了这些分层的示例。
如上所述,有几种方式来表示AD系统中使用的地图信息,包括车道级别的细节,例如车道边界、车道标记类型、交通方向、人行横道、可驾驶区域多边形和交叉口注释。尽管驾驶环境是高度动态的,但这三层中表示的数据是静态的。环境的整体表示还应包括关于观测速度、天气条件、拥堵区、道路阻塞区(施工)等的实时交通信息。本节试图以统一的方式提供存储在这些层中的信息的全局概览。尽管大多数高精地图提供商都有自己的定义和格式,而且高精地图还没有唯一的标准,但我们将高精地图中包含的信息分为六个不同的层,如图2所示。
A.基础地图层
基础地图层是HD地图的基础,并被视为构建所有其他层的参考层。它包含环境的高度精确的三维地理空间表示,例如道路、建筑物和其他结构的位置和形状。道路环境的三维地理空间模型正成为自动驾驶汽车的重要信息来源。现在,HD地图通常包含环境的三维表示。基本地图层通常使用来自激光雷达的点云和/或来自一个或多个相机的图像创建,有时借助GPS/IMU。这套传感器构成了一个MMS,可以创建一个高度准确和详细的代表环境的3D点云。从该层提取道路和车道的几何和语义特征,以构建HD地图中的其他层。由于该层包含环境的密集数据表示,因此它在自动驾驶汽车的精确定位中发挥着至关重要的作用。点云配准的几种技术允许通过将原始传感器数据与该层的点云相匹配来估计车辆姿态。就数据处理和通信需求而言,构建和更新该层具有挑战性。
B.几何地图层
尽管基础地图层对环境的表示精确而密集,但由于其表示中缺乏有意义的特征,其支持理解环境的能力有限。HD地图中的几何图层提供了有关道路环境几何图形的详细信息,包括道路、车道、路缘石和其他特征的位置和形状。几何层通常包括有关道路宽度、车道数量、每条车道的中心线、每条道路中车道的边界以及路面高程的信息。它还包括有关路缘石、人行道、人行横道以及垂直和水平交通标志的精确位置和形状的信息。这些特征中的每一个都用基本的几何图元表示,即点、线、多线和多边形。例如,垂直交通标志的位置可以用一个点来表示。车道中心线或边界可以由一组相互连接的线段表示,例如多线。类似地,人行横道可以用多边形表示。该层的几何特征是通过处理基础地图层的数据来创建的。根据基础地图数据构建几何层通常涉及几个处理步骤,包括道路分割、车道信息提取、路标、杆、交通标志、路缘石、障碍物和路面特征。该层提供了道路特征的高度准确的车道级几何表示。HD地图中的几何特征对于各种AD核心组件至关重要,最重要的是对于动态道路参与者的精确运动预测,以及几何可行轨迹的安全规划。
C.语义地图层
语义地图层定义了由几何地图层提供的道路特征的重要性。该层中的数据为地图中表示的特征提供了上下文和意义。例如,HD地图中的语义地图层包含诸如道路类型(例如,高速公路、住宅道路)和车道(例如,可能向左或向右改变)、它们的编号、交通方向以及车道是用于转弯还是用于停车的信息。它还包括有关限速、车道边界、十字路口、人行横道、交通标志、红绿灯、停车位、公交车站和许多其他对构建环境上下文表示很重要的特征的信息。语义地图层允许自动驾驶汽车构建其环境的详细情景表示,并理解交通规则,从而能够在不同的交通场景中做出正确和安全的决策。简单地说,语义地图层为几何地图中定义的道路特征和对象分配语义标签。例如,几何图层中的点只不过是地图坐标参考系中的一组有序坐标。只有语义层定义该点是否对应红绿灯、让行标志或停车标志。众所周知,高精地图包含丰富的语义信息。语义层还将元数据与道路特征相关联,如道路曲率、推荐行驶速度和每个语义特征的唯一标识符。事实上,语义丰富的高精地图使自动驾驶汽车能够更好地了解驾驶情况,从而在复杂的场景中做出复杂的决策。然而,构建可靠且高保真的道路环境语义图并不是一个简单的过程。需要几个处理步骤,不限于场景分割、目标检测、分类、姿态估计和地图。随着计算机视觉、深度学习、传感器融合和语义SLAM算法的最新进展,构建准确的语义图成为可能。
D.道路连接层
道路连接层描述道路网络的拓扑结构以及各种几何元素是如何连接的。与只包含道路级信息和道路级连接的数字地图的标准定义相反,高精地图包含车道级几何和语义信息,因此道路之间的连接变得复杂,因为它定义了两组或多组车道之间的连接。更准确地说,这一层提供了道路的布局和连通性,包括车道边界和中心线以及十字路口。车道级连通性信息对于规划道路和车道之间的合法过渡以及规划每个交叉口允许的操作是必要的,这对自动驾驶汽车的路径规划至关重要。简单地说,该层定义了构成几何层的图元如何相互连接。这些连接是通过定义几何和语义元素的顺序对来建立的。为每个几何和语义元素分配一个唯一的标识符可以使用图形数据结构来表示这些信息,其中每个元素都由一条边和它们作为节点的连接来表示。图形结构允许快速查询和搜索地图,并有效地规划路线。
E.先验地图层
该层也被称为先验地图层,因为它表示并学习过去经验中的信息。它涉及地图中的几何和语义元素,它们的状态随时间变化。从车队的数据中学习交通流和事故区域的状态允许更有效和更具预测性的驾驶行为。该层还获取和学习有助于预测人类驾驶行为和十字路口红绿灯动态状态的信息。它还适应临时道路设置,如停车命令、占用率和时间表。例如,一些城市的路边停车场在某些工作日会发生变化,预测占用的概率,并且管理给定停车场的时间规则是从经过该停车场的不同车队车辆的先前地图层传感器读数中得出的。由于不同社会之间的社会文化差异,学习和预测道路驾驶员的驾驶行为可能具有挑战性。根据经验对这些行为进行建模对于通用和可扩展的AD系统至关重要。
F.实时地图数据
高精地图中的实时层是一个动态层,它提供有关环境的实时信息,例如交通状况、道路封闭和其他可能影响自动驾驶车辆导航的事件。该层通常是通过组合来自各种来源的数据来创建的,例如安装在车辆上或位于路边的相机、传感器和其他连接设备。通过参与车辆的众包或使用特定通信网络的智能基础设施,实时收集数据并用于更新高精地图。实时层可以包括诸如其他车辆的位置和速度、交通信号的位置和状态以及道路上是否存在施工区域或其他障碍物和堵塞物的信息。这些信息对于自动驾驶汽车实时做出安全高效的驾驶决策以优化交通流量和减少拥堵至关重要。此外,实时层可以用于通过提供关于环境的最新信息来提高HD地图的准确性和完整性,这些信息可能不会被用于创建地图的传感器捕获。简单地说,高精地图中的实时层提供了环境的动态、最新表示。动态元素的高精地图实时更新具有挑战性,需要复杂的智能通信基础设施和多个参与者之间的合作。智能交通系统(ITS)、高精地图提供商和车辆之间的数据传输必须可靠,并满足本调查稍后介绍的某些要求。
自动驾驶系统架构中的高精地图
高精地图为AD系统提供了道路环境的详细而精确的表示。这些地图包含自动驾驶汽车安全高效导航所需的车道级几何、拓扑和语义信息。在自动驾驶汽车中使用高精地图可以让他们更好地了解周围环境,规划路线,并做出更准确的驾驶决策,从而确保乘客和其他道路使用者的安全。本节讨论高精地图在AD系统中的重要性和用途。超精密地图数据现在是AD系统中大多数不同核心组件的组成部分。为了讨论高精地图在AD中的重要性和用途,我们简要介绍了典型的现代AD系统的架构和标准组件。图5显示了AD系统的标准组件,展示了那些依赖HD地图的组件。本节首先简要介绍AD系统的体系结构及其工作方式及其各种组件。本节的其余部分对依赖高精地图的AD组件的最新技术进行了广泛的回顾。
A.自动驾驶系统架构
自动化车辆是一种复杂的网络物理系统,其中不同的组件必须协同工作,以稳健、可靠和安全的方式完成整体驾驶任务。虽然不存在AD系统的独特架构,但我们在这项工作中依赖于一种通用架构,该架构有助于我们了解如何使用高精地图来改善AD系统的不同功能。类似于任何机器人系统,自动驾驶汽车都可以被视为具有三个主要元件的认知代理,(1)传感器、(2)感知和(3)行为。将这些元素拆分为一个行业级的AD系统会产生几个组件,如图5所示。现代AD系统架构中的传感组件通常包括不同的传感器,如IMU、GPS、相机、激光雷达和雷达。这些传感器的子集允许车辆知道其相对于环境的位置,即用于定位,并且剩余的传感器用于感知环境本身。传感组件的作用是读取和预处理原始传感器数据,并将其提供给AD系统的其他部分。在最简单的形式中,传感组件由一组传感器驱动器组成,用于实时读取原始传感器数据。定位组件是整个AD系统可靠运行的最关键部件之一。它的作用是精确估计车辆的位置。定位的错误会传播到AD处理管道的其余部分。定位只是一个状态估计器,它融合了来自传感组件的原始传感器数据。此外,地图的可用性允许改进和鲁棒定位,特别是在一些传感器失效或性能下降的区域。感知的作用是生成当前环境状态的中间级别表示,包括有关障碍物和道路因素的信息。此表示还包括有关车道(位置、边界、标记和类型)、交通标志、红绿灯和可驾驶区域的详细信息。计算机视觉和深度学习技术广泛用于分割、聚类和分类任务。此外,目标级融合也是该组件的重要组成部分。感知的输出是被跟踪目标的列表以及用于场景理解的图像的语义分割。来自HD地图的几何和语义信息也可以用于改进目标检测和融合。准确的感知对安全至关重要,因为感知错误会影响整个AD系统使用的信息质量。因此,使用冗余的传感器数据源可以增强感知准确性的信心,从而提高整个系统的鲁棒性。场景理解组件是AD系统中感知组件和高级认知组件给出的环境抽象中级状态表示之间的桥梁。该组件旨在通过构建高精地图和感知组件提供的数据,提供对驾驶场景的更高层次的上下文理解。在本节的后面,我们将讨论如何将这两个信息源融合,以构建用于理解驾驶环境的场景表示。AD流水线中依赖于HD地图的另一个组件是运动预测组件。它建立在场景理解提供的环境的高级时空表示的基础上,以预测车辆周围道路代理的行为。HD地图在运动预测中的作用是提供场景中每个道路代理的先前轨迹。运动预测是一个高度多模态的问题,HD地图在其中发挥着关键作用,本节将对此进行详细讨论。运动规划组件旨在计算自动驾驶汽车可行、无碰撞和安全的轨迹。这是通过优化由在HD地图数据上运行的路由算法获得的全局最短路径以及道路代理的预测轨迹来实现的。运动规划还包括行为规划功能,该功能依赖于由检测到的对象和HD地图定义的当前场景的状态。控制部件接收计划轨迹,并计算转向、制动和加速驱动系统的控制命令。控制组件没有明确依赖于地图数据,因此在本次调查中不会考虑它。最后,如图5所示,通过处理提供地图数据的请求,使用一个特殊组件为所有其他组件提供服务。高精地图数据通常存储在地图服务器(本地或云)查询的数据库中,以路由、平铺和更新车辆中地图客户端的请求。由于路由元素需要特殊的算法处理,我们将在AD系统中HD地图应用的调查中考虑它。
B.定位
AD系统中的定位组件旨在估计车辆相对于全局参考坐标系的位置和方向。其关键作用是持续保持系统中连续组件所需估计的高精度和鲁棒性。定位算法的精度决定了整个AD系统的可靠性。恶劣天气条件下定位的稳健性是现代AD系统的一个关键要求,因为退化的估计性能可能会导致严重后果和潜在损害。在过去的二十年里,对定位的重大研究取得了显著的成绩,同时也产生了各种各样的方法。为了保证正常运行条件并实现全球系统安全,自动驾驶汽车需要定位在10厘米精度以内。
C.感知
AD系统中的感知组件通常与处理原始相机图像和激光雷达点云相关联,不仅用于检测和跟踪静态目标(例如,交通标志和道路标记),还用于检测和追踪动态障碍物,例如,周围的车辆、行人和骑自行车的人。感知是AD系统的关键核心功能之一。确保其可靠性和实时性能对于确保无碰撞导航至关重要。将感知数据与高精地图各层中包含的详细而精确的几何和语义信息相融合,可以通过关注最相关的感兴趣区域(ROI)来潜在地改善感知。更准确地说,HD地图的几何形状允许定义ROI来过滤点云,只留下感知函数特别感兴趣的点云,从而简化和提高不急检测的计算效率。
D.场景理解
了解驾驶环境对于自动驾驶汽车做出正确、安全的决策至关重要。高精地图的早期动机之一是为自动驾驶汽车提供精确而详细的信息,以帮助了解其环境。该信息使AD系统能够理解当前的驾驶状况并解释构成场景的所有实体。地图中包含的几何结构和语义使系统地构建紧凑的数据模型和环境表示成为可能,从而使车辆能够处理复杂的驾驶场景。更准确地说,AD系统中的场景理解组件,在HD地图的几何和语义信息的支持下,可以始终如一地提供有意义的感知上下文。除了原始目标检测,场景理解旨在提取和估计安全关键信息,并使其可用于后续处理阶段。
E.ROUTING
道路级数字地图有助于人类驾驶员导航。这些地图中的路线计算不能超出使用道路级别连接的范围,因为这些地图不包括车道级别的详细信息。准确和优化的驾驶路线对于节省时间和能源以及促进全球车辆安全是必要的。高效和低成本的行驶路线计算必须考虑环境的车道级模型。此外,在高度动态的环境中,当自动驾驶汽车在环境中导航时,有关交通状态和车道占用的详细信息对于动态调整路线至关重要。考虑到高精地图静态层的详细和准确的车道级别信息以及先验和实时层,有效的动态路线计算是可能的。为了使自动驾驶汽车中的路由子系统能够计算从当前位置到设定目的地的可行驶路径,必须从HD地图服务器为系统提供最新的地图,如图5所示。或者,与数字地图一样,路线计算也可以作为一项服务提供。在将其准确位置发送到HD地图服务器后,可以计算最佳路线并将其反馈给车辆,以支持系统的其他核心组件。在过去的几年里,这些路由服务涉及到考虑实时交通状况和能量因素(例如,最节能的路由)。对于自动驾驶汽车,可以考虑其他因素,例如避开ADS难以导航的复杂城市环境的路线,或者具有良好网络覆盖率的路线,以保证在线服务的连续连接,包括实时高精地图服务。
F.运动规划
运动规划在AD系统中的作用是生成可行、安全、无碰撞和节能的轨迹。运动规划任务通常包括轨迹生成和行为规划。行为规划是一种高级决策功能,用于决定不同驾驶状态之间的转换,例如变道、车道内车辆跟驰、减速停车等。为了安全地进行这些转换,行为规划器需要局部地图和车辆感知来建立车辆环境的转换模型。与移动机器人中的导航不同,道路环境是高度结构化的,所有道路使用者都必须遵守交通规则。生成的AD轨迹是严格要求的,以确保遵守交通规则,并且运动在可行驶的道路区域内。自动驾驶汽车的运动规划存在不同的方法,它们都在某种程度上依赖于高精地图提供的几何和语义信息来遵守交通规则。在基于样本的运动规划方法中,HD地图的车道几何形状用于通过拒绝不可行的候选轨迹来限制搜索空间。
G.运动预测
驾驶环境是高度动态的,涉及不同的道路参与者,如行人、车辆和骑自行车的人。预测这些道路参与者未来的运动和行为对于自动驾驶汽车构建其互动环境的上下文感知表示至关重要,从而预测潜在的危险情况。从抽象的角度来看,这些交通参与者可以被认为是一个复杂的多智能体系统。事实上,开发可靠的道路代理运动和行为预测解决方案将提高自动驾驶汽车的安全性和能力,以适应现实世界交通条件下的类人行为。预测这些交通参与者的行为对AD系统至关重要,主要用于风险评估和安全舒适的运动规划。运动预测是指根据道路代理的当前状态和他们所处环境的模型来估计他们的未来行为。各种研究工作已经解决了预测道路参与者未来运动的问题。
H.第三方应用
高精地图可以提供准确可靠的GT数据,可作为校准传感器输出的参考。例如,激光雷达可以使用高精地图几何元素的高精度坐标进行校准,并与IMU完美配准。通过将传感器测量值与HD地图数据进行比较,可以识别和纠正任何错误或差异,从而改进传感器的校准。此外,高精地图可用于在线(自行)校准。高精地图、实时原始传感器数据和执行比较的算法的可用性使计算传感器测量值和GT间的误差成为可能。因此,它允许实时地连续校正传感器的校准误差。这使得AD系统能够对不断变化的环境条件以及传感器性能变化更加稳健和可靠。与离线校准方法相比,在线校准可以实现更准确、更稳健的传感器校准。最近,高精地图还可以用于增强道路注释,以创建用于交通地标检测的大型数据集。
构建高精地图
A. 移动建图系统
构建高精地图是一个复杂的过程,需要几个步骤。构建高精地图程序的第一步是派遣配备一套高精度和校准良好的传感器的专业车辆来调查和收集有关环境的数据。用于建图的数据采集车辆可能配备有与RTK(实时运动学)定位精度高达几厘米的校正服务连接或实现校正服务的高精度GNSS。GNSS定位测量通常与高性能IMU(惯性测量单元)和车轮里程计的测量相融合。有几种商业产品将全球导航卫星系统和IMU作为惯性导航系统集成在一个单元中。建图车辆还配备了一个或多个高分辨率激光雷达和摄像头,以收集道路环境的原始3D/2D数据。有两种方法可以设置用于绘制地图的数据收集工具。首先是购买上述传感器,选择合适的配置并将其安装在车辆上。尽管这种方法提供了预先定义传感器配置的灵活性;然而,将几个不同的传感器校准到绘图所需的精度并不是微不足道和耗时的,尤其是对于相机。或者,一些制造商在一个封装中提供整套传感器,称为移动建图系统(MMS)。商用MMS的示例如图6所示。
高精地图维护
拥有最新的高清地图对于各种AD核心组件的正确运行至关重要。高清地图中的错误可能会由于系统做出的不当决定而导致严重损坏。通过地图车辆的频繁更新,可以避免错误的决策。由于新的基础设施建设、道路维护和车道扩建,道路环境高度动态,可能会发生频繁变化。绘制地图的车辆必须能够检测到环境的变化,并发送它们来更新地图。地图更新过程涉及复杂的处理步骤,包括处理来自不同规模的多个来源和传感器的数据,识别存储的地图和新收集的环境数据之间的偏差,并最终整合这些偏差来更新地图的不同层。文献中已经开发了几种方法和方法来捕捉高清地图的变化并进行更新。在下文中,我们回顾了检测高清地图变化的不同方法和方法,以及如何将这些信息应用于更新地图。我们调查以前维护高清地图的工作所遵循的方法是基于分析每种最先进的方法维护的图层,如表3所示。
A.地图变换检测
高清地图中的变化检测是指识别环境变化的过程,如新建筑、道路封闭等。随后相应地更新地图的图层。高清地图会定期发生变化,拥有一张可以被自动驾驶汽车信任的地图对于保证导航安全至关重要。变化检测通常通过使用各种传感器来实现,如相机、激光雷达和雷达,并结合计算机视觉算法和机器学习技术。甚至在高清地图出现之前,变化检测算法就已经在许多应用中找到了用武之地。遥感是地图变化检测和更新的早期应用之一。它还成功应用于城市监测、森林变化、危机监测、三维地理信息更新、施工进度监测和资源调查。在这些应用程序的最基本层面上,问题相当于比较原始传感器数据,主要是3D点云、2D图像或两者结合。
B.地图数据更新
HD地图维护的第二阶段是基于变化检测的结果来更新地图元素。简单地说,地图更新相当于一个概率数据融合问题。近乎实时地持续监测不断变化的环境中的变化,并融合时间和空间上的不同数据模式,以及从不同来源更新多个层,这确实是一项具有挑战性的任务。Cadena等人在他们的调查论文中指出,更新和维护大型自动驾驶汽车车队创建和使用的高清地图的分布式过程是未来研究的一个令人信服的主题。朝着这个方向,Kim等人提出了一种从众包点云数据中保持新特征图层最新的解决方案。这种新的特征图形成了构建HD地图的不同语义和几何特征的基础。
高清地图的数据和通信基础设施
大规模构建和维护高清地图是多个利益相关者之间的数据交换问题,例如,作为ITS路边基础设施所有者的政府、地图提供商和车辆,如图7所示。地图数据的收集、构建、维护和分发需要可靠的通信和分布式计算基础设施。本节讨论了扩展高清地图的创建、维护和分发所需的数据和通信基础设施。
挑战和未来展望
尽管CCAM在过去十年中取得了显著进步,但实现车辆的完全自主仍然是一个尚未解决的挑战。对于要大规模部署的自动驾驶汽车来说,高清地图的可扩展解决方案至关重要。在本节中,我们阐明了需要解决的各种挑战,以充分发挥高清地图CCAM的潜力。毫无疑问,在利益相关者之间构建、维护和分发地图数据的成本效益和灵活性解决方案的可用性将大大提高CCAM在未来几代智能城市中的可扩展性。此外,我们还讨论了高清地图的未来前景和应用。
A.挑战
- 标准化与数据表示:高清地图的概念已被广泛接受,成为CCAM的一项关键技术。然而,对于如何表示地图数据、需要多少层、每个层中必须存储什么地图数据以及以何种数据格式存储地图数据,没有达成一致意见。由于高清地图的复杂性及其包含的大量数据和信息,很难为其定义一个通用标准,因此创建一个全面且易于理解、存储、维护、更新和有效分发的标准具有挑战性。为地图数据定义一个通用标准将提供更多的数据兼容性,方便访问数据,同时降低开发和集成成本。此外,这将提高数据的质量、一致性和隐私性,从而提高包括自动化车辆在内的所有参与者的道路安全。
- 可扩展性:可扩展的高清地图解决方案对自动驾驶汽车的大规模部署至关重要。构建城市、地区和全国范围的高清地图并保持其更新仍然是一个巨大的挑战,尤其是在处理用于表示几何道路特征和交通标志的不同标准、交通规则和条例时。这些标准因地区而异。映射算法必须是通用的,并且能够在不同的地区和国家工作。映射应该是一个连续的数据收集和处理过程,以修复已更改的区域。这一过程在大的地理区域变得具有挑战性,在这些区域,大量的车辆必须成为地图绘制过程的一部分。绘制地图的成本直接取决于要绘制地图的区域有多大以及为其服务所需的车辆数量。正如本文早期所讨论的,绘制地图的车辆非常昂贵。此外,使用配备消费级传感器的单独车辆需要复杂的算法,这些算法尚未成熟。
- 网络和计算基础设施:在构建和更新可扩展高清地图的情况下,处理和处理大量数据需要可靠的网络和计算基础设施,该基础设施应协调且接近实时。随着5G/6G蜂窝通信、物联网(IoT)和边缘计算架构的出现,车载通信的许多机会普遍可用,处理构建高清地图的解决方案成为商业上可行的选择。这些通信和计算基础设施旨在处理此类数据密集型应用程序,并满足其延迟和带宽要求。具有大量联网车辆的大规模众包地图将是这些基础设施的主要应用之一。
- 建图算法的限制:尽管在构建高清地图的自动化过程中付出了巨大的研发努力,但高清地图的最新研究结果清楚地表明,用于提取高清地图特征和构建道路和车道拓扑的地图算法仍然局限于简单的特征。目前最先进的算法可以检测简单的几何特征,但无法处理高曲率特征,例如环形交叉路口。此外,这些方法中的大多数都需要几个后处理步骤才能以合适的矢量格式获得特征。地图语义特征仍然局限于极少数且易于检测的交通标志。最近很少有工作开始解决构建车道拓扑以构建简化的道路/车道连接网络的问题。开发一个通用的地图管道可以构建一个包含几何、语义和拓扑信息的全功能高清地图。建造这样一条管道仍然是一个挑战。
- 地图数据所有权、隐私、完整性和分发:构建和维护高清地图的未来将是自动化和分发数百万辆汽车所涉及的过程。从环境中收集、处理和存储大量分布式数据引起了对数据所有权、隐私、完整性和分发的一些担忧。原始地图数据是在车辆中生成的,与来自公共当局的其他数据源聚合,由地图提供商处理和分发。从收集到分发的地图数据所有权可能需要在大规模高清地图中解决。此外,保护个人和车辆的隐私至关重要,在绘图过程中必须加以考虑。地图数据可以包括敏感的用户信息,例如车辆的精确位置以及车辆环境的精确描述。必须确保高清地图数据的完整性,以避免错误和致命的决策,尤其是在自动驾驶汽车使用时。构建准确可靠的高清地图仍然是一个正在进行的研究问题。商用高清地图通常要经过人工检查和验证。从多个数据源生成准确可靠的高清地图数据,例如通过众包生成,带来了一些有待解决的技术问题。可扩展高清地图的所有权、隐私和完整性最近开始引起研究人员的注意。另一方面,区块链由于其分布式和安全性,已被证明是一种很有前途的解决方案,可确保数据完整性。构建和更新可扩展高清地图,同时保持数据的可追溯性、隐私性和完整性的用例是区块链的完美应用。这项技术有望在构建和分发下一代高清地图方面发挥核心作用。
B.未来方向
- 精准:精确定位一直是将高清地图引入自动驾驶汽车的主要动机之一。道路环境的密集、紧凑表示的存在是高清地图的基础;尤其是在本地化方面。HD地图中包含的信息密度和处理这些信息所需的计算工作量之间一直存在折衷。神经3D场景表示的最新进展使以非常紧凑的表示方式重建真实感3D场景成为可能。使用神经辐射场(NeFR)表示基础地图层允许受益于该层的紧凑和真实感表示。这项技术可能会让自动驾驶汽车进入一个新时代。
- 自动驾驶以外的应用:高清地图的开发主要是为了帮助自动驾驶汽车了解环境并在环境中安全导航。由于高清地图提供了详细而精确的环境表示,因此也可以用于提高经典数字地图提供的各种服务的质量。此外,高清地图在残疾人数字辅助技术中发挥着重要作用。如果视障人士配备了合适的传感器,并能够获得高度精确、详细和语义丰富的环境表示,他们的行动能力和安全性可以显著提高。如果精确定位,数字辅助设备将能够解释和理解环境,从而生成语音导航消息以实现安全导航。行人高清地图中交通信号灯和其他交通信息的实时状态与增强这些设备的功能有关。目前,大多数高清地图提供商只提供代表车辆环境的地图。今天的高清地图中仍然没有绘制车辆以外参与者的路线图,例如行人人行道和自行车道。为所有参与者构建和更新高清地图将为实现广泛的自主和非自主导航以及一些有用的数字服务铺平道路。
- 面向数字孪生:环境数字孪生是环境的整体数字表示,包括其所有物理和功能特征。城市规模的数字孪生是CCAM中的一个新兴概念,旨在构建一个数据驱动的模型,该模型将来自物联网传感器、联网车辆、建筑、智能基础设施和交通网络以及所有其他数据源的各种来源的数据相结合,以帮助创建一个全面、实时的城市模型,从而改善道路服务。这一概念将高清地图作为联网和自动驾驶汽车的数字模型概括为帮助社会中所有实体的整体数字模型。数字孪生甚至可以用于对环境中不同实体的行为进行建模,即使是在微观细节层面上。高清地图将是数字孪生的单个模块,支持我们智能城市中联网和自动驾驶汽车的不同功能和服务。由于高清地图可用于模拟复杂的驾驶场景,数字孪生将用于模拟和分析这些车辆的复杂城市规模场景。数字孪生将允许研究、分析和模拟新开发项目的影响或交通模式变化的影响,并可以帮助城市规划者和决策者通过预测未来情景来分析和优化城市的表现,并确定改进的机会。建立一个城市规模的数字孪生确实是一个巨大的挑战,需要大量的数据,而且这可能是一个复杂而耗时的过程。分布式大量数据的交叉验证、完整性和可信度仍然是创建数字双胞胎的挑战。车辆的众包道路地图绘制将被同时使用异构连接传感器的大量数据进行室外和室内地图绘制的统一过程所取代。
结论
高清地图仍然是现实世界CCAM应用程序的一个快速发展的方面,推动了该领域的创新和进步。尽管在高清地图在AD系统中的应用以及构建和维护高清地图的算法和基础设施方面进行了大量的研究和开发工作,但很少有文献可以总结和提供这些工作的立足点。本文广泛回顾了以往关于构建和维护高清地图的工作,包括成本效益高的解决方案,以及从生成到分发的通信和地图数据要求。此外,本文还讨论了当前在构建和维护高清地图方面面临的挑战。更准确地说,我们提供了高清地图的独立概述,作为更广泛的智能交通系统社区的背景。我们还讨论和分析了将高清地图用于AD系统中各种核心功能的最新技术。此外,我们广泛讨论和回顾了构建不同层次的高清地图并使其保持最新的不同方法、方法和算法。最后,我们对下一代移动应用的高清地图的未来发展进行了一些说明。
#远距离双目感知的一些看法
受 王峰:远距离LiDAR感知 启发,作为实打实的 L2+ RoboTruck 同行 ,我也来分享分享 智加/Plus 在远距离感知上的一些积累,作为工作一段时间的总结。
既然特斯拉、百度/极越已经在一定规模下证明了纯视觉 L2+ (highway/city, FSD) 的可行性,那为什么还要去研究双目呢?双目、LiDAR 相较于 2M 的 30/60/120 和 8M 的 30/120 的区别是什么?我的看法是:
- 在线:在数据规模有限的情况下,双目和 LiDAR 一样,能快速提升感知性能上限;
- 离线:可用于 auto-label 中的预标注、建图;
- 成本:相较于 LiDAR,在成本上有显著优势;
- 标定:前向标定在流程上也会更简单;
- 架构:双目硬同步 (vision-centeric),来触发、对齐其他相机,相较于 LiDAR-centeric 更精准。
我们的效果和大疆、鉴智释放的图片、视频一样,可以实现稠密、准确的深度估计。但是很可惜,基于 DL-Stereo 的方法需要稠密的深度 GT,而现在的 LiDAR 往往只能提供 150m 内的 GT. Livox Tele 的 FoV 较小,超远处的反射率和点数不足以支撑我们的需求和场景。最终在远距离使用的,还是基于传统特征的稠密/稀疏匹配。
不同于现在流行的前向单目、三目、长短焦双目,同构双目的玩家其实并不多。乘用车领域,国内做得最好的应该是大疆、鉴智,国外是维宁尔、奔驰。我先来分享分享他们的进展和优势。
玩家们
大疆
- 在宝骏的一系列产品中交付:云朵、KiWi、悦也的高配版本,能够实现城区记忆行车。
和大疆一样,智加也通过双目强化了 Lane, 3D Det, Calib, Depth 等模块。
鉴智
- 鉴智分享过很多 demo,实现了基于双目的魔毯、智能底盘功能,和蔚来/奔驰的 4D 底盘异曲同工,也算是近年来把双目作为核心优势的重要玩家。
鉴智优化了 HKBU 的工作 FADNet
也有做 MVS 和全向深度估计 Full Surround Monodepth from Multiple Cameras (TRI-ML/VIDAR)
地平线
- 地平线 PoC 过双目,也有一些开源的工作,后续再观望观望。
奔驰
- 老法师奔驰早在13年前就分享过基于 stixel 的双目深度估计、freespace 预测 / 参考。
英伟达
英伟达作为奔驰的重要合作伙伴,优化、实现了不少双目的工作:
- https://github.com/NVIDIA-AI-IOT/redtail/tree/master/stereoDNN
- VPI - Vision Programming Interface
- Stereo Disparity Sample
- ACCELERATING OPTICAL FLOW AND STEREO DISPARITY ESTIMATION USING THE NVIDIA A100 OFA ENGINE
维宁尔 (Veoneer)
- 维宁尔曾是宝马、斯巴鲁的双目供应商,在2018年的投资者日上曾分享过双目规划。可以看到,基础方法论还是奔驰分享的 stereo stixel
华为 ADS 1.0
- 华为在 ADS 1.0 上规划了前向四目,除了广角和长焦外,还有一对双目。不过从 ADS 2.0 的交付来看,最终还是拥抱了 LiDAR-centeric 而不是双目视觉。
ArgoAI
ArgoVerse stereo 相较于 KITTI stereo 更符合现在的自动驾驶场景需求。
- ArgoAI 1/2 都包含了双目数据,在 CVPR 2021/2022 都举办过比赛。但里面都是一些成熟模型的 finetune 和刷点,缺乏一些新意和实践价值。
安霸/VisLab
- 多组双目系统的想法一开始由安霸/VisLab 的视频启发,他们实现了一个前向两对双目(包括长焦)的系统。还有一个视频,很可惜找不到了,这个视频描述了 VisLab 在 side 和 rear 装了多组双目,实现实时的全向深度估计。这个想法,很类似于 Mobileye 2020年发布的 VIDAR,以及 TRL 的 Full Surround Monodepth. 这些成果,都来源于VisLab 十多年的立体视觉研究积累。
ForeSight
- ForeSight 分享过他们的异构双目系统,我曾经去常州实车体验过:
- 前向 120 度和 bumper 200 度广角实现的双目 (类似于 TW-SMNet)
- 车顶的 30 度 RGB 双目
- 车顶的 IR 红外双目
- 这块可以参考:
- iPhone 15 上的空间视频拍摄 / Tele
- GitHub - ComVisDinh/disparityestimation: Deep Network Exploitation for Disparity Estimation Using Stereo Images with Different Focal Lengths
- 视角不平衡立体匹配研究-CSDN博客
蔚来/理想
- 蔚来/理想的两个 front side 相机 FOV overlap 较小,非光心对齐同构。也不是不能做双目,但可能效果较差。
智加/Plus
在 Plus 创业伊始 16-18 间的 stereo demo
无论是 2021 年量产交付的解放 J7+, 还是 2023 年的江淮 K7+、2024 年的柳汽 H7+,长基线双目都是我们最核心的模块。多年前,我们曾发布过 1km 以上的目标感知结果,但那是基于 L4 状态下的超宽基线(双目布置在车侧, 2.8m 基线)。在 L2+ 量产平台下,我们需要将双目摄像头放在挡风玻璃内,能够被雨刮覆盖,并满足法规和稳定性要求。
在感知架构上,最早期,感知方案主要还是 2D 检测为主,通过 2D 检测去抠深度图,或者通过接地点等几何先验去测距。渐渐的,有了很多 Mono3D 检测,Stereo3D 检测的工作。最后,收敛到 BEV 前融合 3D 检测,甚至全稀疏的 Sparse BEV. 但不管何时,在前向远距离感知上,双目都能够持续提升感知的整体上限。例如,我们做过不少事情去探索双目的价值:
第一件事是,通过 SGM/optical flow 这些底层特征,识别非标/超宽障碍物。但实践下来,很难简单地与 3D 表达兼容。我们渐渐地发现,相较于2D 视角,BEV/Occupancy 是一个更优雅的框架去解决这些难题。逻辑上还是相似的,BEV/Occ 仍然需要去表达、解释这些稠密的底层特征和时序特征。
通过稠密深度图去避让超宽车
通过光流 motion seg 去识别障碍物
第二件事是,仅对 bbox 内的点去做 match,相同精度下仅有 1/2 latency,并能提升远处 recall. 即使在夜晚,我们也能有 300m 的稳定 trakcing.
第三件事是,在高分辨图下,动态裁剪 2M 原图,通过一个额外的 2D 检测器以及稀疏匹配,实现远距离小目标 2倍 tracking 性能的提升 (cone, 80m->160m), 整体感知 tracking 距离从 300m+ 到近 400m.
第四件事是,实现长焦双目。效果显而易见, Z=fb/d. 焦距 f 的提升能够简单而有效地提升远处距离性能。但简单替换相机,会造成前向盲区过大的问题。在框架上,需要通过广角相机去做车道线等模块。有一定的系统迁移成本。
总结
无论是图森的 LiDAR-centeric 方案,还是智加的 Stereo-centeric, 核心本质还是提升远距离 tracking 的稳定性。就好像 @王峰 提到的 “对于远距离感知的探索不能说是一帆风顺,简直就是满路荆棘。”
上面这些工作,都是在 Xavier 低算力平台下循序渐进的思考和实践。在 Orin 平台下,我们已经渐渐地过渡到视觉 BEV 3D 框架。但正如图森的分享,在卡车领域里,数以亿计的 2D 数据仍然在和 3D 需求互相融合,继续完善。
后续的实践,是将高分辨率 RoI 双目集成到 BEV 框架中。当有充沛的远距离 GT 数据时,不管是 dense-bev 还是 sparse query bev,都能看得更远更稳。等待合适时机再跟大家分享 :-P
最后也是最重要的,要感谢智加/Plus 的同事们 (Tim, Mianwei, Darren, Philip, Andy, Tong, Peidong, Xingjian, Fuyue, Xuyang),我只是起到了个承上启下的作用 。
标签:场景,数据,地图,融合,驾驶,自动,合集,3D From: https://blog.csdn.net/weixin_49587977/article/details/143485671