资讯详情

全面解析特斯拉自动驾驶体系

汽车革命的上半年是电气化,下半年是智能化。电气化只是改变了汽车的动力供应模式,并没有改变汽车的性质。智能是革命的主菜,会给汽车带来颠覆性的变化。

在智能汽车的道路上,有一个具有绝对实力的领导者,那就是Elon Musk在特斯拉的领导下,其自动驾驶系统是全球关注的焦点,马斯克在微博上发布了一份文件,称特斯拉创造的人工智能是世界上最先进的。

3月6日,马斯克发布了微博内容

到目前为止,特斯拉是世界上唯一一家实现自动驾驶核心领域全栈自研自产的科技公司,

总的来说,特斯拉的自动驾驶架构是利用纯视觉方案实现对世界的感知,基于原始视频数据通过神经网络构建真实世界的三维向量空间,通过传统的控制方法和神经网络混合规划系统实现汽车行为和路径规划,向执行机构生成控制信号,通过完善的数据闭环系统和模拟平台实现自动驾驶能力的持续迭代。

根据2021年8月Tesla AI Day上的展示,,激光雷达、毫米波雷达等非摄像头传感器被完全抛弃,只用摄像头感知,在自动驾驶领域独树一帜。

人类通过眼睛感知世界的原则是:光通过视网膜收集信息,通过传输和预处理,信息到达大脑视觉皮层,神经元从视网膜信息中提取颜色、方向、边缘等特征结构,然后传递到下颞叶皮层,然后通过复杂的认知神经网络处理最终输出感知结果。

人类视觉感知原理

自动驾驶视觉感知方案是模仿人类视觉系统的原理,摄像头是汽车之眼,车身前部有三个摄像头,分别是前视主视摄像头、前视宽视摄像头(鱼眼镜头)和前视窄视摄像头(长聚焦镜头)。左右两侧有两个摄像头,分别是侧前视摄像头和侧后视摄像头。车身后部有一个后视摄像头,整体实现360度全视,最大监测距离可达250米。

特斯拉车身摄像头视野

,包括汽车、行人、道路、交通标志、红绿灯、建筑等静态环境,以及坐标位置、方向角、距离、速度、加速度等属性参数,向量空间不需要与现实世界完全一致,更倾向于机器理解数学表达。

通过神经网络输出三维向量空间

根据特斯拉在AI DAY经过多轮升级迭代,特斯拉目前使用的视觉感知框架如下图所示,这是一套

特斯拉视觉感知网络架构

特斯拉视觉感知网络的基本结构是由主干部组成的(Backbone)、颈部(Neck)多分支头(Head)特斯拉被命名为联合组成HydraNet从古希腊神话中取意九头蛇。

主要层将原始视频数据通过残差神经网络通过(RegNet)及BiFPN完成端到端训练,提取颈部层的多尺度视觉特征空间(feature map),最后,在头层完成子网络培训,并根据不同的任务类型输出感知结果,支持1000多项任务,包括物体检测、交通信号灯识别和车道线识别。

HydraNet多任务网络结构

,与使用独立神经网络的单一任务相比,具有以下优点:

1)使用相同的主干统一提取特征并与每个任务的头部共享,可以避免不同任务之间的重复计算,有效提高网络的整体运行效率;

2)可以在不同子任务类型之间解耦,每个任务的独立运行不会影响其他任务。因此,无需验证其他任务是否正常,升级成本较低;

3)可缓存生成的特征空间,便于随时调用各任务需求,可扩展性强。

特斯拉通过不同汽车收集的数据共同构建一个通用的感知网络架构。然而,由于摄像头安装外参的不同,不同汽车收集的数据可能会有轻微的偏差,引入摄像头校准外参,通过去畸变和旋转处理每辆车收集的图像数据,统一映射到同一套虚拟标准摄像头坐标中,实现各摄像头原始数据的校准(Rectify)消除外参误差,确保数据一致性,将校准后的数据喂养到主神经网络进行训练。

虚拟摄像头层插入原始数据进入神经网络

因为摄像头收集的数据是2D图像级,与现实世界的三维空间不在一个维度上,因此要实现完全自动驾驶能力,需要将二维数据变换至三维空间。

为了构建三维向量空间,网络需要输出物体深度信息,大多数自动驾驶公司使用激光雷达、毫米波雷达等传感器获取深度信息,并与视觉感知结果集成,特斯拉坚持使用纯视觉数据计算深度信息,其想法是,BEV坐标系,即鸟瞰俯视图坐标系,是一种忽略高程信息的自行车坐标系。

特斯拉早期采用的方案是在二维图像空间实现感知,然后映射到三维向量空间,然后整合所有摄像头的结果,但图像层面感知是基于地面平面假设,即地面想象成无限平面,实际世界会有坡度,导致深度信息预测不准确,这是基于摄像头的纯视觉方案面临的最大困难,同时,也会出现单个摄像头看不到完整目标导致后融合难以实现的问题。

为了解决这个问题,使感知结果更准确,

引入BEV三维空间转换层

,这是一种基于注意机制的深度学习模型,源于人脑对信息处理的机制。面对大量的外部信息,人脑会过滤掉不重要的信息,只关注关键信息,可以大大提高信息处理的效率。Transformer在处理大规模数据量级的学习任务时表现出色。

Transformer模型所需的三个核心参数是Query、Key和Value,其中Key和Value由HydraNet主干部分产生的多尺度特征空间通过一层MLP(多层感知机网络)培训获得,通过池化处理特征空间描述向量(context summary),同时输出BEV空间格栅的位置编码(positional encoder),合成描述向量和位置编码后再通过一层MLP可以得到Query。

,这也是特斯拉放弃雷达融合路线走纯视觉路线的信心。

在引入空间理解层后,感知网络具有描述现实世界的三维向量空间的能力,但仍然感知瞬时图像片段,缺乏时空记忆,即汽车只能根据当前时刻感知的信息来判断,这将导致世界空间的一些特征。

例如,在驾驶过程中,如果行人在过马路时被静止的障碍物挡住,而汽车只有瞬时感知能力,行人在感知时刻被汽车挡住,就无法识别行人,造成很大的安全风险。面对类似的场景,人类司机会根据行人穿越道路的记忆,预测当前时刻很有可能被汽车挡住,并有意继续穿越道路,从而选择减速或刹车避开。

因此,因此,可以在当前场景下推断当前场景最大的结果,而不仅仅是基于当前时刻看到的场景进行判断。

为了解决这一问题,,通过使用具有时间维度的视频片段而非静态的图像来训练神经网络,为自动驾驶增添了短时记忆能力。

引入时空序列特征提取层以实现短时记忆能力

特斯拉同时还引入了IMU传感器获取到的包含速度和加速度在内的自车运动信息,,其中时间维度的特征队列提供了感知在时间上的连续性,而空间特征队列的意义是防止由于部分场景等待时间过长导致的时序信息丢失,并利用三维卷积、Transfomer、RNN等方法实现时序信息融合,进而得到多传感器融合的视频流时空特征空间。

此外,可以省略BEV层的位置编码,直接将视觉特征喂给RNN网络,通过隐藏层保留多个时刻的状态编码,指导应对当前环境需要选取哪些记忆片段使用。

短时记忆层无疑增加了特斯拉感知网络的鲁棒性,针对恶劣天气、突发事件、遮挡场景等,都能保持良好的感知能力。

据特斯拉AI技术总监Karpathy介绍,基于以上架构的特斯拉视觉感知体系,对于深度信息的感知能力甚至可以超过雷达,同时由于具备短时记忆,特斯拉可以实现局部地图的实时构建,通过融合多个局部地图,理论上可以得到任何一个区域的高精地图,这也是特斯拉目前没有采用高精地图作为输入原因。

人体在感知到周围世界的信息后,会基于对这些信息的认知做出相应的判断,来规划自己的躯体应该作何反应并下发控制指令,汽车也是如此,在完成感知任务后下一步便是对感知到的信息做出决策方案,指导汽车完成相应执行动作,这便是自动驾驶的规划与控制部分。

规控是一个非常复杂的问题,一方面汽车的行为空间具有典型的,同一个目标任务可能对应非常多个解决方案,同时全局最优解难以获得,具体表现就是汽车可能由于陷入局部最优,无法快速做出准确决策;另一方面行为空间具有,要制定针对目标任务的规划方案需要在短时间内快速产生速度、加速度等多个维度的参数。

特斯拉采用的解决方案是将传统规划控制方法与神经网络算法相结合,,以任务分解的方式分别解决上述两大难题,其规划控制逻辑如下图所示。

混合规划系统解决方案

在感知获得的三维向量空间中,基于既定的目标位置,先采用找到一条初步的路径,然后根据安全性、舒适性等指标,围绕初步路径进行优化,,最终获得一条最优的时空轨迹。

在大部分结构化场景下,例如高速公路等,(启发式搜索方法),但针对一些复杂的场景,例如闹市中心、停车场等,由于场景中非结构化元素比较多,搜索空间大,采用传统A-Star算法消耗运算节点过多,导致决策速度缓慢。

由此,强化学习的机制类似于人类学习模式,通过奖赏正确的行为来引导人类习得某项能力,首先利用神经网络学习全场景特点获得价值函数,然后通过(蒙特卡洛树搜索)引导搜索路径不断靠拢价值函数,这种方法可以大幅度减少搜索空间,有效提高决策实时性。

MCTS算法规划停车场行车路线

而在行车过程中,会涉及与其他车辆的博弈问题,例如变道过程、在狭窄路口错车场景,类似场景下一般需要根据对方车辆的反应变化随时调整自车的决策方案。

因此除了单车规划外,,根据其他车的状态参数(速度、加速度、角速度等)规划其路径,进而选择合适的自车方案,待其他车状态发生变化后,随时调整自车方案,尽量避免出现自车愣在原地不做反应的情况,提升自车的smart性。

狭窄路口联合轨迹规划

至此,,首先通过视觉感知网络生成三维向量空间,对于仅有唯一解的问题,可直接生成明确的规控方案,而对于有多个可选方案的复杂问题,使用向量空间和感知网络提取的中间层特征训练神经网络规划器,得到轨迹分布,再融入成本函数、人工干预数据或其他仿真模拟数据,获得最优的规控方案,最终生成汽车转向、加速、刹车等控制指令,由汽车执行模块接受控制指令实现汽车自动驾驶。

特斯拉FSD 感知-规划-控制整体架构

可以看到在特斯拉的自动驾驶方案中,无论是在感知层面还是规控层面,核心算法基本都是由数据驱动的,数据的数量和质量决定了算法的性能,因此

特斯拉每年售出近百万辆汽车,通过这些汽车日常运行,可以采集到超大规模的原始数据集,对这些数据集的标注工作特斯拉最早是外包给合作方,后来发现存在交付延迟和质量不高的情况,因此便在内部发展了上千人的标注团队并独立开发标注基础设施。

特斯拉的标注最初是在二维图像中进行的,后来发展为,除了标注三维空间外还有对时间维度的标注,直接在向量空间中完成标注后再反向投影到摄像头对应的图像空间中。

特斯拉的四维标注

随着数据规模的逐渐扩大,人工标注的方式需要消耗大量人力成本,同时人类相对更擅长语义分割之类的标注任务,对于几何图形的标注,反倒是机器更擅长,因此特斯拉,实现人工与机器相结合的数据标注模式。

特斯拉实现自动标注的方案是通过汽车在一段时间内采集到的视频、IMU、GPS、里程表等数据构成(Clip),由离线神经网络系统训练得到中间层结果,如目标物、语义分割、深度、光流等,再通过大量机器算法生成最终用以训练的标签集,包括行车轨迹、静态环境重建、动态物、运动学参数等,人工可以对自动生成的标签集进行调整干预。

自动标注方案实现过程

对于静态标注物,例如对于某一段道路的标注,以摄像头采集到的路面每个点的平面坐标作为输入,通过神经网络预测出这个点的高度及相关的语义分割、道路线边界等三维中间结果,然后将这个三维点反向投影至各个摄像头的二维空间,并将其与原本在二维图像空间内直接做语义分割的结果进行对比,再基于各个摄像头的对比结果进行跨时空维度的联合优化实现重建,最终得到整个道路在各摄像机画面内及视频前后帧时间序列中的一致性标注结果。

通过不同辆车不同时间经过同一路段采集到的视频数据,按照上述方法进行自动标注,再将所有标注结果进行融合后优化,得到该路段的精确标注结果,实现道路重建。

自动标注实现道路重建

通过这种方式,

对于动态标注物,核心是要标注其运动学参数及行为轨迹预测,通过不同车辆在同一路段采集的含时间序列的视频标注单元,我们不仅可以知道每个标注物过去时刻的信息,还可以知道未来时刻的信息,因此,即使被遮挡的运动物体也可以标注出来。

动态物体自动标注

通过对静态物体和动态物体分别标注,最终得到一个最小标注单元的完整标注结果,如下图所示。

自动标注实现Clip的完整标注

可以看到,,全过程自动实现,无人工参与。

一万个标注单元在一周内即可完成自动化标注,而纯人工标注则需要几个月的时间,

由于路测条件的限制,导致积累数据和训练算法的效率偏低且成本高昂,为了更高效的实现数据训练,特斯拉构建了一个,来加速FSD能力的训练,仿真对于实现完全自动驾驶的价值如今在行业内已经普遍被认可。

自动驾驶的仿真是在模拟环境中,通过调整各类交通参与物及环境的模型参数以构建各种虚拟场景,以训练算法应对不同场景的性能。

特斯拉仿真场景

主要体现在以下几个方面:

1、通过仿真可以建立在现实世界中难以遇到的(corner case),例如高速公路上一家三口在跑步的场景,类似的场景虽然在现实世界中存在的可能性极低,但考虑到自动驾驶的安全性,必须掌握应对此种极端场景的能力,因此可以在仿真环境下进行模拟训练;

2、针对部分难以直接标注的情况,可以通过仿真进行快速标注,例如在一个路况复杂的十字路口有各种川流不息的汽车、行人,由于元素众多,要直接进行标注难度很大,而在仿真场景中,由于所有的元素的初始参数都是自行设定的,因此在模拟复杂的运动状态时,所需要标注的参数很容易就可以通过计算得到,以此实现快速标注;

3、仿真为规控算法的训练和验证提供了一个,考虑汽车驾驶安全问题的重要性,自动驾驶规控算法训练和优化过程难以通过实际路测实现,在仿真场景中便具有非常高的自由度;

4、可以用以某些闭环场景算法的,例如泊车场景,这个场景下空间是闭环的,参与者有限,因此通过仿真持续模拟各种工况,可以有效地对自动驾驶泊车能力进行训练;

5、对于现实世界中FSD失败的场景,可以通过失败场景,在仿真环境中寻找失败原因并进行算法训练和优化。

一套完整的仿真体系需要包括仿真场景、仿真系统和仿真评估三大部分,这里仅介绍特斯拉在仿真场景层面所做的工作。

自动驾驶的实现首先是基于感知能力,因此对非常关键,特斯拉的感知系统是基于纯摄像头,因此对摄像头的各种属性进行软硬件建模,如传感器噪声、曝光时间、光圈大小、运动模糊、光学畸变等,甚至对于挡风玻璃上的衍射斑这种细节,特斯拉也考虑在内,这套准确的传感器仿真系统不仅可以用以FSD的训练和验证,还可以指导摄像头的硬件选型和设计。

准确的传感器仿真

为了真实的模拟现实世界场景,要求,特斯拉利用神经网络渲染技术来提升视觉渲染效果,同时用光线追踪的方法来模拟逼真的光照效果。

逼真的视觉渲染

为了避免仿真环境过于单一,导致感知系统过拟合的问题,特斯拉对,包括多元交通参与者(例如车、行人等)和静态环境物(例如建筑、树、道路等)等,截至最新Tesla AI Day公开的信息,特斯拉总共已经绘制了2000+公里的道路环境。

多元交通参与者与地理位置

针对自动驾驶可能遇到的各种场景,,由计算机通过调整参数生成不同的场景形态,例如道路曲度等,同时由于大量的仿真场景可能是无用的,例如实际该场景下汽车的决策已经正确,为了避免计算资源的浪费,特斯拉还引入了MLB等神经网络用来寻找故障点,重点围绕故障点进行仿真数据创建,反哺实际规划网络,形成闭环。

大规模场景生成

除了直接在虚拟场景中进行仿真训练,特斯拉还希望可以在仿真环境中重现真实世界场景,以便可以复现FSD失败的场景,实现在仿真环境下的优化迭代后再反哺汽车算法模型,实现“数据闭环”,因此在完成真实世界片段的自动标注重建后,再叠加视觉图像信息,

场景重现

特斯拉通过仿真获得的虚拟数据规模已达到37.1亿张图片及4.8亿标注,且已实际融入车端模型中,用以提升FSD性能。

上面对特斯拉自动驾驶所采用的算法架构和数据闭环进行了介绍,而超大规模的数据和高性能的算法均需要强大的算力支撑,

Dojo是一种通过网络结构连接的分布式计算架构,具有大型计算平面、极高带宽、低延迟、可扩展性极强等特点,去年8月的AI Day,特斯拉公布了为Dojo超算打造的自研

Dojo D1芯片

D1芯片采用分布式结构和7纳米制造工艺,单片面积仅645平方毫米,具有500亿个晶体管和354个训练节点,内部电路长达17.7公里,,1TOPS代表处理器每秒钟可进行一万亿次(10^12)操作,同时具有GPU级的计算能力和CPU的连接能力,

同时D1芯片之间可以实现无缝连接,特斯拉将25个D1芯片连接起来组成了独立的训练模块,(每秒处理9千万亿次),I/O带宽最大达每秒36TB。

D1组成的训练模块

那么将120个训练模块(包含3000颗D1芯片)集成在一块,就组成了AI训练计算机柜——Dojo ExaPOD,其包含超过100万个训练节点,(每秒110京次的浮点运算,1京=10^18),超越了当时排名全球第一的日本富士通0.415 EFLOPs,且在相同成本下,ExaPOD具有4倍性能和1.3倍能耗节约,碳排放仅占1/5。

Dojo ExaPOD 超级计算机

而且由于DI芯片的无限连接特性,理论上由其组成的Dojo计算机性能拓展无上限,因此目前的算力不是终点,

超强算力将持续服务于特斯拉大规模数据训练、自动驾驶算法、云计算能力和其他AI方向。

特斯拉全栈自研自动驾驶体系在全球已经处于领先地位,却也仍然有非常大的提升空间,例如:

1、感知层面进一步逼近人类甚至超越人类,马斯克曾在采访中提到过特斯拉已经在使用摄像头采集可见光的光子信息,跳过图像信号处理阶段,直接将最原始的光子数据输入给神经网络训练,这将使纯视觉方案获得远超人类的夜间视距。

2、规控层面提升自动驾驶的“老司机”属性,特斯拉目前公开的决策规划的技术方案并不多,从已公开的部分可以看到整体比较中规中矩,如何进一步发展规控能力,让人类对自动驾驶拥有更多信任感,是一个非常重要的课题。

3、仿真层面打造自动驾驶“数字孪生”,仿真是实现完全自动驾驶的关键一环,主要由于仿真的试错成本非常低,可以加速自动驾驶能力训练,促进L4级以上自动驾驶提早到来。

自动驾驶作为人工智能技术的“皇冠”,可以说是智能时代的“核弹”,是全球高科技企业竞相追逐的科技高地,自动驾驶的持续发展最终很有可能将引发汽车交通行业乃至整个人类社会运行方式的巨大变革。

数据、算法、算力是驱动自动驾驶的三驾马车,特斯拉通过大规模汽车生产获取数据、持续迭代FSD算法反哺汽车性能、自研超级算力服务AI训练的模式成功打造了实现完全自动驾驶的良性飞轮。

标签: a979孪生晶体管参数

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台