特斯拉的FSD(Full Self-Driving,全自动驾驶)技术是一个涵盖感知、规控、执行等环节的全链路自动驾驶系统,它在算法、算力、数据、芯片等多个层面实现了高度集成和快速进化。以下是特斯拉FSD技术的关键点概述:
1. 算法端:
- 感知模块:采用HydraNets架构,整合多个视觉识别任务到单一网络,通过BEV(Bird's Eye View)+ Transformer技术,实现对车辆周围环境的感知。
- 规划模块:引入基于神经网络的规划模块和蒙特卡洛树搜索,提高自动驾驶决策质量。
2. 算力端:
- 特斯拉构建了Dojo超级计算机系统,以处理自动驾驶所需的海量数据,减少对英伟达GPU的依赖。
- 自研D1芯片作为Dojo的核心,采用存算一体架构,优化数据传输和处理效率。
3. 芯片端:
- 从HW1.0到HW3.0,特斯拉逐步从合作转向硬件平台全面自研。
- HW4.0搭载FSD2.0芯片,相较于FSD1.0芯片,算力大幅提升5倍,NNA(Neural Network Accelerator)数量增加,工作频率提升。
- 下一代AI 5芯片预计将于2025年下半年投产。
4. 数据端:
- 自动标注:开发自动标注系统生成4D标签,提高标注效率。
- 仿真模拟:构建虚拟仿真空间,重现和构建极端及复杂场景进行算法训练。
- 数据引擎:通过影子模式筛选有效数据,回传至云端,实现数据和模型的持续优化。
5. FSD技术端快速进化:
- 2023年12月,特斯拉推出FSD Beta V12,首个端到端AI自动驾驶系统,提升自动驾驶的效率和适应性。
- V13版本即将在10月推出,预计2025年Q1进入中国和欧洲市场。
6. 软硬件全链路闭环:
- 特斯拉自动驾驶系统的发展历程从2013年开始,最初采用外部合作方式。
- 2019年推出HW3.0,正式开启全栈自研。
- 2021年7月,FSD Beta V9采用纯视觉自动驾驶方案,摒弃了传统雷达。
- 2024年1月,FSD V12将城市街道驾驶堆栈升级为端到端神经网络。
- 2024年2月,Model Y迎来HW4.0硬件升级,算力提升5倍,硬件设计多项创新。
特斯拉通过全栈自研构筑了强大的技术基石,持续引领智能驾驶技术的发展。
特斯拉自动驾驶系统发展历程
特斯拉的FSD技术正迎来商业化的拐点。截至2024年8月7日,FSD的累计行驶里程已达到1.6亿公里,显示出其技术的快速增长和市场接受度。为了降低体验门槛并吸引更多用户,特斯拉在2024年4月12日将FSD的月订阅价格从199美元降至99美元,而买断价格保持在1.2万美元不变。FSD V12版本的更新和订阅价格的下降共同推动了这一增长。
FSD的系统架构实现了软硬件全链路闭环的高度集成。这一架构包括感知、规控、执行等多个环节,并在算法、算力、数据、芯片等方面展现出强大的整合能力。核心组件包括规划、神经网络、训练数据、训练基础设施以及AI编译与推理等。在算法端,规划组件处理复杂的路径规划问题,而神经网络则利用视频流信息输出车辆的运动学状态。算力端的训练基础设施提供必要的计算支持,并通过AI编译器优化,提升计算效率。芯片端的AI编译与推理组件确保神经网络高效运行,实现高性能的并行计算。数据端则通过自动化和精准化处理,形成一个闭环的数据系统,为算法训练和优化提供高质量的数据基础。
特斯拉 FSD 系统架构
特斯拉的FSD技术在算法端实现了创新的优化,以支持高效的神经网络推理。在感知方面,特斯拉采用了BEV(Bird's Eye View)+ Transformer架构,将2D图像转化为对周围环境的准确3D感知。此外,特斯拉进一步将这一架构升级为Occupancy Network,能够直接在向量空间中产生体积占用,精准识别物体的运动状态差异。
在规划方面,特斯拉采用了交互搜索框架,通过任务分解的方式对一系列可能的行驶轨迹进行研究,实现对规划方案的实时评估。这种全栈自研的算法使得特斯拉能够以低成本的感知硬件实现高阶智能驾驶能力,并快速优化迭代自动驾驶算法。
在感知技术方面,特斯拉的视觉感知系统采用了HydraNets架构,这是一种标准化流程,用于处理来自摄像头的视觉信息。HydraNets架构包括输入层、特征提取的Backbone层、用于提取更复杂特征的Neck层,以及由多个Task Specific Heads组成的Head层,负责最终的检测任务,如物体检测、交通信号和车道识别等。这一架构能够实现特征共享、任务解耦与特征缓存,从而提高整体的感知效率和性能。
特斯拉视觉感知系统算法采用 HydraNets 架构
特斯拉在自动驾驶领域的早期技术方案中,首先在二维图像空间完成对环境的感知,然后将这些二维图像信息投射到三维向量空间中。由于摄像头捕捉到的数据本质上是二维的,与实际的三维物理世界存在差异,因此要实现完全自动驾驶,必须将这些二维数据转换到三维空间中去。在这一过程中,特斯拉面临了巨大的挑战,尤其是在对每个像素深度信息的精确预测上,以及对于被遮挡区域的预测上。当物体被多个摄像头捕捉,且没有单个摄像头能完整捕捉到物体时,就难以实现对这些信息的准确融合,进而影响到对物体的准确预测。
为了解决这一问题,特斯拉采用了BEV(Bird's Eye View)+ Transformer架构,将二维图像转化为三维感知信息。特斯拉坚持使用纯视觉数据来计算深度信息,在网络结构中引入了BEV空间转换层,以增强网络的空间理解能力。特斯拉采用了“前融合”方案,直接将车身多个摄像头获得的视频数据进行融合,并用同一套神经网络进行训练,从而实现从二维图像空间到三维向量空间的特征变换。Transformer神经网络在这个过程中起到了核心作用,通过自注意力机制和多头注意力模块,将图像特征转换为键和值,然后通过模型自行检索需要的特征用于预测,实现对车辆周围环境的准确感知。此外,特斯拉还引入了虚拟标准摄像头来校准图像,消除外参误差,确保数据的一致性。
图像空间预测投射到向量空间后出现较大偏差 单相机检测无法解决物体横跨多相机的问题
特斯拉的FSD技术通过采用BEV+Transformer架构,实现了从2D图像到3D感知的转变。这一转变的核心在于将摄像头捕获的二维图像数据转换为三维空间的深度信息,从而为自动驾驶提供精确的环境感知。特斯拉没有依赖激光雷达或毫米波雷达等传统传感器,而是坚持使用纯视觉数据来计算深度信息。在网络结构中,特斯拉引入了BEV空间转换层,这有助于构建网络的空间理解能力,并通过前融合方案将多个摄像头的视频数据直接融合,使用同一套神经网络进行训练,实现从二维图像空间到三维向量空间的特征变换。Transformer神经网络在这个过程中起到了核心作用,通过自注意力机制和多头注意力模块,将图像特征转换为键和值,然后通过模型自行检索需要的特征用于预测,实现对车辆周围环境的准确感知。这种方法不仅提高了感知的准确性,还增强了系统对于复杂环境的适应能力,包括处理遮挡和动态场景的能力 。
此外,特斯拉的FSD技术还包括了先进的规划模块,该模块采用交互搜索框架,通过任务分解的方式对一系列可能的行驶轨迹进行研究,实现对规划方案的实时评估。这种全栈自研的算法使得特斯拉能够以低成本的感知硬件实现高阶智能驾驶能力,并快速优化迭代自动驾驶算法。通过这种方式,特斯拉的FSD技术在算法端、算力端、数据端和硬件端展现出强大的整合能力,为实现完全自动驾驶提供了坚实的技术基础 。
BEV 视角融合了多个摄像头的视频数据 Transformer 是实现二维到三维变换的核心
特斯拉在自动驾驶的感知框架中加入了一层虚拟标准摄像头,用以消除由于摄像头安装外参差异导致的微小数据偏差。这一过程涉及将每辆车采集到的图像数据通过去畸变、旋转等方式处理,然后统一映射到同一套虚拟标准摄像头坐标中。这样的校准(Rectify)确保了数据的一致性,为神经网络的训练提供了标准化的数据输入。通过这种方法,特斯拉能够提高感知系统的准确性和鲁棒性,确保自动驾驶系统在不同车辆和条件下都能可靠地工作。
通过图像校准解决摄像头采集数据偏差问题 加入虚拟标准摄像头以校准图像数据偏差
特斯拉在其自动驾驶技术中引入了时空序列特征层,这一创新显著提升了环境感知的准确性。在采用BEV(Bird's Eye View,鸟瞰图)+ Transformer架构后,感知网络已经具备了对三维空间的感知能力。然而,这仅仅局限于对瞬时图像片段的感知,无法捕捉到动态世界中的时序变化。
为了解决这一局限,特斯拉通过引入时空序列特征层,赋予了感知网络类似于人类司机的短时记忆能力。这种能力使得网络不仅能够根据当前时刻的感知信息做出判断,还能够依据一段时间内的数据特征,推演出当前场景下可能发生的各种结果。这样的技术升级,让特斯拉的自动驾驶系统在处理动态场景时更为精准和可靠,大大增强了其在复杂交通环境中的适应性和预测能力。
感知网络仍是对瞬时图像片段进行感知 特斯拉引入时空序列特征层
特斯拉在其自动驾驶技术中引入了时空序列特征层,这一创新显著提升了环境感知的准确性。该层主要包括特征队列模块(Feature Queue),它由时序特征队列和空间特征队列两部分组成。时序特征队列负责缓存随时间变化的特征,每过27ms就会将一个特征加入队列,这有助于稳定感知结果的输出。例如,在运动过程中发生的目标遮挡情况下,模型可以利用目标被遮挡前的特征来预测感知结果。而空间特征队列则负责缓存随空间变化的特征,每当车辆行驶一定固定距离,就会将一个特征加入队列。这在需要长时间静止等待的场景下尤为重要,如等红绿灯时,由于时序特征队列中的特征会因时间的流逝而出队丢失,空间特征队列则能够记住一段距离之前路面的箭头或是路边的标牌等交通标志信息,从而确保自动驾驶系统在这些场景下依然能够准确感知环境 。
特征序列模块可以缓存时序与空间特征
特斯拉在其自动驾驶技术中引入了视频模块(Video Queue),这一模块的核心是空间RNN模块(Spatial RNN Module),它通过循环神经网络(RNN)结构来整合时序信息。在这个模块中,车辆的运动状态在二维平面上被映射为一个二维网格的隐状态(Hidden State)。随着车辆的前进,只有与当前视野相关的网格部分会被更新,这样的设计允许系统只更新与车辆当前位置和运动状态相关的环境信息。此外,该模块的隐状态可以包含多个通道,每个通道负责跟踪道路的不同特征,如道路中心线、边缘、标线等,使得系统能够同时处理多种类型的环境信息。空间RNN模块可以根据当前的能见度选择性地更新隐藏状态,如果某个区域被其他车辆遮挡,系统可以选择不更新那个区域的状态,直到能见度恢复。这种设计显著提升了感知系统对于时序遮挡的鲁棒性,以及对距离和目标移动速度估计的准确性。
隐状态可组织成二维网格 空间 RNN 的隐状态可包含多个通道
特斯拉的Occupancy Network是对HydraNets架构的重要改进,它能够直接在向量空间产生体积占用,从而更有效地表达长尾障碍物。传统的3D物体检测方法对于常见障碍物如车辆、行人较为有效,但对于变形障碍物、异形障碍物以及未知类别的障碍物,如挂车、翻倒的车辆或路上的石子等,这些方法的准确性和适用性有限。Occupancy Network通过判断3D空间中每个体素网格是否被占用,提供了一种全新的表达方式,能够预测和识别这些难以用传统方法捕捉的障碍物。
Occupancy Network的算法受到机器人领域中occupancy grid mapping的启发,将3D空间划分为大小一致的体素网格,并判断每个网格是否被占用。该网络以摄像头产生的视频流为输入,直接在向量空间产生单一统一的体积占用,预测车辆周围3D位置的占用概率。与传统的目标检测网络相比,Occupancy Network能够精准识别物体的运动状态差异,例如能够捕捉到一辆两节的公交车中,一节已经启动而另一节还处于静止状态的细微差别。这种能力对于传统的目标检测网络来说是非常复杂的。Occupancy Network的处理速度极快,能够在10毫秒内更新对周围环境的感知,并提供物体尺寸的近似估计,支持动态及静态场景的全面预测,具有低延迟和低内存占用的特点 。
Occupancy Network不仅优化了HydraNets,通过直接在向量空间产生体积占用,对长尾障碍物进行了更好的表达。除了体素网格,它还能生成具有3D几何形状和语义信息的可行驶表面(driverable surface),这对于在多山或弯曲道路上自动驾驶车辆的控制能力至关重要。
决策层可以利用这些信息,更准确地进行加速、减速等运动决策。此外,Occupancy Network引入了Spatial Attention机制,通过RegNet和BiFPN从多相机获取特征,然后使用带有3D空间位置信息的Spatial Query,基于Spatial Attention注意力机制,实现对多个相机的3D空间位置信息和2D图像的信息融合。模型从中学习对应的特征关系,最终输出高维的空间特征。
在特征融合后,基于反卷积(Deconvolution)的解码器会解码出每个3D空间位置的占用情况和占用流输出,形成固定大小的体素网络。模型还额外设计了一个隐式Queryable MLP Decoder,输入任意坐标值(x,y,z),可解码出该空间位置的信息,即Occupancy,Semantics,Flow,打破了模型分辨率的限制。
Occupancy Network 能够生成可行使表面
特斯拉的Lanes Network是为了提供自动驾驶车辆在关键车道拓扑信息方面的需求,从而优化轨迹规划和车道变换决策。最初,特斯拉将车道检测问题建模为图像空间内的即时分割任务,这种方法适用于高速公路等高度结构化的道路,但并不适用于交叉路口等复杂多变的道路场景。因此,特斯拉开始运用神经网络来预测车道之间的连接性。车道检测神经网络由三部分组成,第一部分包括卷积层、注意力层与其他神经网络层,对车辆摄像头采集的视频信息进行编码,产生丰富的视觉表示。接着,特斯拉利用包含交叉口内车道拓扑、各条道路上的车道数等信息的低精度地图,对车道检测神经网络生成的视觉表示进行增强,输出密集张量信息,并最终转化为车道及其连接性的信息。
此外,特斯拉采用了离散化处理加上样条系数回归的方法来进行车道线预测。首先将现实世界进行离散化处理,引入粗略划分的网格,然后对可能位置的热力图进行预测,锁定可能性最大的位置,并在此基础上对预测进行细化,以得到精确的点位。不同点位的标记类型不同,新车道的起点为起始标记,其他点为延续标记,通过回归样条系数来获取两点间的精确几何形状。之后,不断重复这一过程,直到得到车道图中所有标记。这种方法不仅提高了车道检测的准确性,还增强了自动驾驶车辆在复杂地形上的控制能力,使得决策层能够更好地进行加速、减速等运动决策。
Lanes Network 旨在生成车道与连接信息 特斯拉采用低精度地图对视觉表示进行增强
特斯拉在车道线预测方面,采用了一种结合离散化处理和样条系数回归的创新方法。这一过程首先涉及到将实际道路环境进行数字化转换,通过创建一个初步的网格来近似现实世界。然后,利用热力图预测技术来识别车道线最可能出现的位置,挑选出最有可能的候选位置。在此基础上,特斯拉进一步细化预测结果,以达到精确定位车道线的目的。
在这一方法中,不同的点位根据其在车道线中的作用被赋予不同的标记。例如,新车道线的起始点会被标记为起点,而车道线上的其他点则被标记为延续点。通过样条系数回归分析,特斯拉能够计算出车道线两点之间的精确几何形状。这个过程会不断重复,直到覆盖车道图中所有的关键点,从而构建出一个完整的车道模型。这种方法不仅提高了车道检测的精确度,还有助于提升自动驾驶系统在复杂道路条件下的导航能力。
Lanes Network 工作原理
特斯拉的自动驾驶系统通过其神经网络的设计,能够高效地处理关键信息,以快速响应道路上的动态变化。这一系统的工作流程大致可分为两个主要步骤:首先,神经网络迅速定位3D空间中的各个代理,即识别出车辆或其它物体的精确位置;其次,系统从这些位置提取出关键数据,并将它们与车辆的速度、行进方向等信息结合起来,进行进一步的分析和处理。
这种设计允许神经网络采用稀疏化处理策略,专注于那些对于决策最为关键的信息区域,从而以较低的延迟实现高效的性能。这样的处理方式不仅提升了系统对周围物体行为的预测能力,还确保了自动驾驶系统能够在理解环境位置和运动状态的同时,对这些物体的语义信息进行深入预测。这意味着系统不仅能“看到”周围的物体,还能理解它们的含义以及可能的行动路径,从而在保障行车安全的基础上,实现更加人性化的驾驶操作。
稀疏化处理可使神经网络专注于计算最重要的区域
特斯拉的自动驾驶规划系统通过采用交互搜索框架,能够快速从多种可能的方案中选择出最优的行驶路径。这套系统的设计考虑了自动驾驶中的两大挑战:非凸性和高维性。非凸性意味着存在多个可能的解决方案,但难以找到全局一致的最优解;而高维性则涉及到车辆在未来10-15秒内的行为规划,这需要考虑位置、速度、加速度等多个参数。
为了解决这些问题,特斯拉将规划问题分解为两层。首先,使用离散搜索方法来降低非凸性问题,缩小选择范围,避免陷入局部最小值。然后,对于高维问题,特斯拉采用连续优化方法,利用基于梯度的技术快速找到解决方案。这种方法的效率较高,因为它可以利用梯度信息,而不是逐点评估每个点的好坏。
此外,特斯拉的规划系统还需要解决多代理联合轨迹规划问题,即考虑自己和所有其他车辆、行人的运动轨迹,对所有可能的行驶方案进行评估,并快速选出最优行驶方案。这一评估过程通常需要在10毫秒左右完成,而在复杂场景下,如繁忙的路口,可能需要50毫秒。这种高效的规划能力使得特斯拉的自动驾驶系统能够在保证安全性的同时,实现类似人类驾驶员的驾驶操作,提高了自动驾驶的效率和舒适性。
效率、安全和舒适是自动驾驶规划的三大目标 非凸性和高维性是自动驾驶规划的两大难点
特斯拉将规划问题进行分层分解
自动驾驶系统需要实现多代理联合轨迹规划 自动驾驶行驶方案评估至少需要 10 毫秒
特斯拉的自动驾驶规划系统通过采用交互搜索框架,实现了对多种可能行驶轨迹的快速评估和优化。这一系统的工作流程主要分为两个阶段:
首先,系统通过收集车道、障碍物和周围移动物体的视觉测量数据,这些数据被转化为稀疏抽象和潜在特征。利用这些信息,系统生成一组候选目标,并使用经典优化方法与神经网络规划器来创建初始轨迹。这一阶段,特斯拉的神经网络快速识别出3D空间中代理(即车辆或物体)的位置,并从这些位置提取张量,结合车辆速度、方向等其他数据,进行后续处理。
其次,系统采用递增式的方法,在关键约束的基础上,不断加入新的约束条件,利用较少约束下的最优解作为初值,逐步求解更复杂的优化问题。特斯拉还构建了轻量级可查询网络,该网络由人类驾驶数据与宽松时间限制下的计算数据进行训练,能够在100微秒内对规划轨迹进行评分,显著提升规划效率。
在决策过程中,特斯拉主要从四个方面对规划轨迹进行评分和决策树剪枝:1)碰撞检查,确保路径安全;2)舒适性分析,评估乘客体验;3)干预可能性,评估候选路径导致人工接管的概率;4)与人类驾驶接近度,基于人类驾驶数据,评估候选路径与人类驾驶员行为的接近程度。通过这种综合评估,特斯拉规划系统能够高效地筛选出最优路径,优化自动驾驶的决策过程。
-- END --
声明:内容源自智驾社,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,将及时处理!