聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

特斯拉自动驾驶系统(FSD)深度解读

2023-09-04 11:50 浏览: 953476 次 我要评论(0 条) 字号:

特斯拉一直强调其纯视觉自动驾驶方案的强大,人类感知、认知世界时,有70%-80%的数据,都是通过视觉进行处理的。这至少意味着,在 “智能” 的产生过程中,视觉占据了极其重要的地位。而特斯拉选择依靠纯视觉技术的持续升级不断向自动驾驶发起挑战,某种程度上是在复现智能的进化过程。
我们先来感觉下特斯拉 2023年 最新版全自动驾驶 FSD v11.4.2 的强悍表现:

那么,什么是 FSD?

特斯拉的 “全自动驾驶”(Full Self-Driving, FSD)是一套先进的安全和自动驾驶功能,可用于特斯拉电动汽车(ev)。它使特斯拉汽车能够半自动驾驶(合法的2级自动驾驶)。目前,FSD 还不能“完全”自动驾驶,但特斯拉的最终目标是实现5级自动驾驶(如下图)。

FSD 主要包括自动驾驶导航、自动变道、自动泊车、召唤和交通灯以及停车标志控制等功能,根据去年的公开数据,特斯拉已积累 480 万段数据,训练 7.5 万个神经网络,每 8 分钟就要出一个新的模型,共有 281 个模型用到了特斯拉的车上,在此基础上已推出 35 个 FSD 更新版本。通过网络数据集、仿真模拟、自动标注等功能更为准确地预测转角的汽车运行情况。

众所周知,特斯拉采用 8 路摄像头纯视觉自动驾驶方案,其 FSD 感知系统核心思路是将图像特征转换到向量空间,融合来自多个摄像头特征,最后在向量空间中完成感知任务。具体步骤是通过 Transformer 和 Self-Attention 的方式建立图像空间到向量空间的对应关系,将来自不同摄像头的图像通过标定信息进行校正,使不同车辆上对应的摄像头都输出一致的图像,最后视频(多帧)输入被用来提取时序信息,以增加输出结果的稳定性,更好的处理遮挡场景,并且预测目标的运动。

下面视频为您深度解读特斯拉自动驾驶系统(FSD)技术思路与核心原理:

值得关注的是,特斯拉在强大的 FSD 系统中,应用了大量 AI 算法,例如:

  • 路径及运动规划算法:算法植入到终端,终端通过算法感知环境,规划路径,确保安全,平顺前进;

  • 环境感知算法:Occupancy 算法用于可活动空间探测;Lane & Objects 算法用于交通中车道线、物体识别以及运动信息探测;

  • 训练数据设施:超算中心用来支持数据处理,算法训练;

  • 自动标注算法:标注数据,训练环境感知算法识别这类场景或者物体;

  • 环境虚拟仿真:合成制造虚拟场景;

  • 数据引擎:测试软件获取真实场景环境数据,闭环数据引擎,更正标签等。

1. 路径以及运动规划算法应对无保护左转

面对复杂驾驶场景:在没有人行横道的路口左转时,对面道路有直行车辆会车,且左侧横道有横穿马路的行人时,特斯拉加入安全与舒适性等维度分析,通过树搜索算法并提供人类示范,考虑到不同交通参与者的行驶轨迹后,让系统能找到合适通过的时机和路线,从横穿马路的行人身后通过,避免车从行人面前快速通过给对方带来惊吓,造成更对难以预判的行为。

特斯拉采用的规划模型名为交互搜索(Interaction Search),主要分为五个步骤:第一步:视觉环境识别,采用稀疏抽取的方法抽取潜在特征来识别车道、障碍物、移动物体等交通参与者;

  • 第二步:选定目标候选人,确定车道线,非结构化区域形成可通行的空间信息;

  • 第三步:产生可能的轨迹,通过轨迹优化,神经元规划生成运动轨迹;

  • 第四步:产生运动方案,例如到底是强行插入交通还是等待行人通行;

  • 第五步:确定轨迹和时间,速度和运动方案时,需考虑运动轨迹下的其他车辆通行情况,多种考虑之后才能输出运动规划。

树搜索过程有两个核心模块,即决策树生成和决策树剪枝。

决策树生成:生成决策树的初始输入来自于前面车道线,障碍物以及感知得到的向量空间, 通过向量空间规划出后续潜在目标状态,如目标车道线、目标路口、超车等,最后规划的轨迹还要考虑与周围动态障碍物可能出现的博弈场景。传统生成决策分支算法基于条件约束的优化方法获取最优路径,每种新的轨迹生成运算都需 1~5ms 的计算时间,但对于尽可能遍历城市场景复杂还是不够快,特斯拉采用 lightweight queryable networks 轻量化可查询的神经元算法,这种算法是查找基于其人类驾驶方法场景库以及线下虚拟仿真运算出的结论,以此来缩短规划轨迹生成时间至 100 μs。

决策树剪枝:决策树生成算法实现完整路径规划问题定义,但要在限制的响应时间内遍历复杂场景决策树也是不可能的。对决策树进行剪枝是一个能够对于候选路径进行快速评估,打分,拒绝掉离谱候选路径的方法。特斯拉采用了传统方法与数据驱动相结合的办法,采用碰撞检测,舒适度分析,以及根据车队人类驾驶员实际数据和影子模式训练模型来预测一个候选路径导致接管的概率以及候选路径与人类驾驶员开车路径的差异这样四个方法进行候选路径评估完成剪枝。

预先构建人类驾驶行为和虚拟驾驶行为库供算法查询的技术思路节省了计算时间,决策树提供了利用各项指标去框定选择最优路径的能力。

2. 环境感知算法:实现交通参与者行为预测

面对复杂驾驶场景:六个方向的交叉路口,每个路口均有较多行驶车辆、静止车辆、行人等交通参与者。即使车上配 8 个摄像头,如遇到其他车遮挡,其预测难度也大大增加。对此,特斯拉公布了一种详细架构 Occupancy Network 用以进行交通参与者(车辆、行人等)行为预测。

(1)Occupancy Network 算法

特斯拉环境感知主要依赖视觉,其提出 Occupancy Networks 算法用来探索可运动 3D 空间,该算法在算力和内存之间取得很好的效率,大概 10ms 可建模完成,此算法已经运行在所有 FSD 的特斯拉上,Occupancy Network 算法工作流如下:

  • Image Input:8 个摄像头依据摄像头标定矫正后直接输入给算法,因摄像头的原始数据是 4 位彩色可提供 16 倍的动态范围给到算法,所以可以减少输入的延迟。

  • Image Featurizers:使用预训练的深度神经网络模型对图像进行特征化,特斯拉采用 RegNet 以及 BiFPNs 算法来特征化图像,特征化可理解为识别物体。

  • Spatial Attention:是卷积神经网络中用于空间注意的模块,利用特征的空间间关系生成空间注意力图,也就是构建空间信息。

  • Temporal Alignment:分为两个部分,一个部分是自己车辆的轨迹对齐,另一个将各个识别特征物对齐,初步形成了时空特征。

  • Deconvolutions:去卷积也就是把浓缩的特征反向成物体。特斯拉表示其算法能够识别路面的地理特征,例如上下坡度。

  • Volume Outputs:去卷积之后的反向物体,将从空间上能代表物体大小,被放置在时空中,此类空间占据还根据路面的情况自动匹配,特斯拉采用 NeRF state 算法,能够表示具有复杂遮挡的详细场景几何,可以让时空更加真实。

  • Queryable Outputs:去卷积之后的反向物体有些可能不能完全代表真实的物体的大小,所以特斯拉算法采用查询法去数据库中查询真实世界的结果,进行位置和大小的矫正再进行空间放置。

(2)车道识别算法

传统车道识别算法采用 2D 分割算法,如 RegNet,在高速以及清晰高度结构化的场景应用较好,但在面对复杂的城市应用场景,如繁忙交通中交汇口前车遮挡等无法采集到足够数据时,特斯拉如何在不依赖高精地图仅仅依靠纯时间算法情况下进行对车道信息的精准识别呢?特斯拉给出的答案是:采用神经元算法预测,生成全套车道实例及其相互连接。

特斯拉最新的 FSD 车道算法由以下三个组件组成:

  • 视觉组件:车辆上八个摄像头的视频流输入卷积层、注意层和其他神经网络层进行编码,获取丰富的环境信息,然后生成带有粗略路线图的表示。

  • 地图组件:额外的神经网络层编码的道路级地图数据,不是高清地图,但它提供了许多关于交叉口的有用提示,车道内的拓扑结构,交叉路口的车道数,以及一组其他属性。

  • 语言组件:可看成图像转字幕的语言任务,这个任务的输入是稠密的张量,输出的是特殊文本语音用来预测车道连通。用车道语言单词和符号对车道进行编码,单词和符号就是3D中的车道位置,在单词符号中引入修饰语,对连接词进行编码通过将任务建模为语言问题,可以利用语言人工智能算法的最新技术来处理道路的多重连通集合。

车道识别算法创新性地借鉴语言算法来解决视觉算法问题。

3. 语义分割+自动标注+场景仿真:完成周边车辆预测

面对复杂驾驶场景:如高速公路上行驶,车前摄像头出现雪花盲区或起雾导致其视线无法看清前车时,对车辆自主决策、自动安全驾驶等提出巨大挑战。

(1)语义分割

语义分割是对图像中每一个像素进行分类,确定每个点的类别,再进行区域划分。自动驾驶中,通过对车前道路信息的语义分割可以确定出汽车行驶的区域,精确分割出行人,车辆,障碍物等,确定目标轮廓。特斯拉公布了一种通过语义分割预测周边车辆的方式,其开发的自动标注工具,可以使汽车在行驶过程中实时地对道路、交通参与者以及障碍物等进行标注、重建。不同车辆驶过同一条道路后,他们的标注/重建数据汇聚到一起,可囊括这条道路上丰富的时空信息。这些完整的高质量数据集用于训练新的神经网络,因此面对车前摄像头有遮蔽物干扰的情况下,车辆仍然实现对前车位置、距离、速度较为准确的追踪,为正在行驶的车辆做出正确决策。

(2)自动标注

特斯拉采用人机合作的标注方式,既有人工标注,也有机器标注,机器标注效率更高,通过高效率标注,让现实世界中的时空片段转化为可用数据,使得 FSD 更加智能和高效。特斯拉的AI团队开发自动化的标注工具可在行驶时实时地对道路、交通参与者以及障碍物等进行标注、重建,基于完整的高质量数据集去训练新的神经网络去处理车前摄像头出现雪花导致其视线无法看清前车等复杂场景。同时着重讲解了 Lanes Network 的自动标注,特斯拉车队每天就能产生 500000 条驾驶旅程,利用好这些驾驶数据能够更好地帮助进行车道线的预测。

A. 车道线自动标注步骤

  • 视觉惯性里程计技术:对所有的旅程进行高精度轨迹估计;

  • 多车多旅程的地图重建:不同车辆对同一个地点可能有不同空间角度和时间的观测,将这些信息进行聚合能更好地进行地图重建;

  • 新旅程进行车道自动标注:有了高精度的离线地图重建结果后,当有新旅程发生时,可以进行一个简单的几何匹配,得到新旅程车道线的伪真值。这种获取伪真值的方式有时候(在夜晚、雨雾天中)甚至会优于人工标注。

B. 场景仿真

即使特斯拉有大量数据和高效的自动化标注工具,也并不意味着它们的数据够用。现实场景的复杂程度超乎想象,比如场景非常罕见以至于几乎收集不到(例:高速上人车狗同时飞奔),或者是场景复杂程度超过自动化工具能力(例:一条街上塞了重重叠叠的几十上百号人)。特斯拉依靠过去收集到的数据,仿真出全新的、自带标注的场景以供训练。

视觉仿真的先决条件是要准备自动标注的真实世界道路信息 和丰富的图形素材库,然后依次执行以下步骤:

  • 路面生成:根据路沿进行路面填充,包括路面坡度、材料等细节信息;

  • 车道线生成:将车道线信息在路面上进行绘制;

  • 植物和楼房生成:在路间和路旁随机生成和渲染植物和房屋,生成植物和楼房的目的不仅仅是为了视觉的美观,同时仿真了真实世界中这些物体引起的遮挡效应;

  • 其他道路元素生成:如信号灯,路牌,并且导入车道和连接关系;

  • 加入车辆和行人等动态元素。

特斯拉提出,FSD 核心技术难点之一在于汽车如何去理解复杂的动态驾驶场景,保证自动驾驶的安全性。在座舱内对 BIVMS(Bulit-in Vehicle Intelligent Monitor System)开发过程中,其核心技术难点之一同样在于 BVIMS 如何去理解复杂、多样化的驾驶员动态驾驶场景,以保证其识别的准确性和提醒的合理性,需在面向复杂场景时将技术做深做精,减少误识别、漏识别等情况,打造高性能产品以快速抢占座舱智能化市场。随着座舱内功能的愈发丰富,为了提升用户越来越高的交互体验需求,参考特斯拉 FSD 采用多摄像头纯视觉方案,智能座舱内可同样采用多摄像头方案(DMS,即 Driver-Monitor-System;OMS,即 Occupancy Monitoring System;TOF,即 Time-of-flight),基于多传感器融合方案大大提高座舱算法识别精度,在数据丰富性和精准性上不断提升,开发多模态、3D TOF 应用、AR-HUD(Augmented Reality Head-Up Display)、健康检测等极具创新性的车载产品,此方案也是智能座舱视觉领域后期开发的演进思路和发展趋势。



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复