TeslaAIDay-特斯拉自动驾驶FSD的进展和算法软件技术之算法

原创 Vehicle 2022-10-05 10:11
2022年的特斯拉 AI Day分为三大主题:分别为AI机器人- Optimus,AI智能驾驶 FSD和AI超算芯片技术。我在上篇文章《Tesla 特斯拉AI day - 关于特斯拉机器人的进展和技术》大概介绍了其机器人开发平台的一些硬件技术和开发思路。本文我将介绍其第二部分,这一部分主要是其人工智能算法技术,也是其汽车,机器人共用的底层算法,比较硬核和重磅。
在介绍算法之前,我们先看下特斯拉自动驾驶FSD的一些进展
特斯拉表示从2021年开始交付的特斯拉从硬件层面上都应该支持自动驾驶(此处是“自动驾驶”不是我文章之前常用的词“智能驾驶”),特斯拉团队现在做的是一步一步的提升自动驾驶等级。
目前其自动驾驶软件FSD的使用客户已经从2021年的2千人到现在达16万人。仅仅去年就通过480万段数据训练了超过75000个算法模块,其中交付给车辆281个算法模块,完成了35次版本的发布。
当然特斯拉还是吹牛了一把,他们认为特斯拉能够支持点对点自动驾驶,了解什么是点对点自动驾驶可以点击《浅谈高阶智能驾驶-领航辅助的技术与发展》,他包括从停车场出发实现城市驾驶的交通灯识别停车驾驶,十字路口与其他车辆交互通行,转弯等等。
当然这些进展除了版本迭代内部过程数据化,一年之内使用FSD的客户暴增80倍,等量化很好表达了进展之外,他对消费者感知提升的进展并不是讲的很清楚,你迭代了多少版本用了多少数据,有多少消费者买单并不能说明你使用起来体验很好。其实如果特斯拉能够采用我在《2021DMV自动驾驶公司KPI排行榜》文章中介绍美国加州交通管局用来评价自动驾驶的性能的指标-每次人为介入接管之后行驶公里数KPI(Km Per Intervention)来秀其进展那么就硬核了。
以上就是特斯拉自动驾驶FSD的最新进展,总的来讲数据很震撼,但对消费者使用感知的直接提升数据表达不是特别清楚。
关于特斯拉的FSD的算法技术部分,此次特斯拉2022 AI Day把其FSD背后的技术,按照从终端客户使用感觉到的使用问题开始,然后一步一步深入背后的算法创新优化,算法背后的数据训练等串起来讲。我在这里把他总结分成了如下四个部分,两篇文章去分享:
Tesla AI Day -特斯拉自动驾驶FSD的进展和算法软件技术之算法
1. 路径以及运动规划算法:
当算法植入到终端(车或者机器人),终端通过算法感知环境,规划路径,确保安全,平顺前进。
2. 环境感知算法:
- Occupancy 算法,也就是可活动空间探测
- Lane & Objects 车道以及物体算法,交通中的信息语义层也就是车道线,物体识别以及运动信息。

Tesla AI Day -特斯拉自动驾驶FSD的进展和算法技术之数据和计算
3. 训练算法设施以及软件:
- 训练数据的设施,超算中心用来支持数据处理,算法训练。
- 人工智能算法的编译器以及推理,就是训练算法的框架以及软件方法。

4. 数据标注,采集和虚拟:
- 自动标注算法,训练环境感知算法必须需要已经具有标签的数据,自动标注算法就是标注数据,训练环境感知算法识别这类场景或者物体。
- 环境虚拟,合成制造虚拟场景。
- 数据引擎,现实场景车辆,测试软件获取真实场景环境数据,闭环数据引擎,更正标签等。

希望能给大家带来一些信息,当然看特斯拉的算法有点烧脑,所以错误难免,还请多多指正;另外为了能帮助大家理解,可能很多细节简化,后面希望有时间能够详细分解深入再分享给大家。
1. 路径以及运动规划算法
什么是路径规划?我之前文章《自动驾驶路径运动轨迹生成方法》有详细分享,他主要是搜索要遵循的路径、避开障碍物并生成确保安全、舒适和高效的最佳轨迹,让车辆行驶。
场景越复杂,路径以及运动规划更难,所以,大家可以看到当前很多智能驾驶的使用场景基本都在高速环路等半封闭的场景。
难点在哪里?
特斯拉此次AI Day分享了自动驾驶最难的场景之一,也是最考验路径规划的场景 - 拥堵十字路口,前方道路有行人横穿和行车占道通行的情况下,路径以及运动规划如何进行安全舒适的无保护左转。
一般遇到这种场景,自动驾驶的车辆可能的行为有:
  • 坚持自己的路径,让其他车辆,行人等交通参与者让自己。
  • 在行人和汽车等交通参与者中间找到空隙行驶。
  • 礼让汽车和行人,等他们走了,再走。这是当前大部分国内智能驾驶的选择。
那么一般自动驾驶软件判断运算的步骤如下:
  1. 对当前场景下所有交通参与者进行运动轨迹预测。
  2. 基于各个轨迹的成本以及约束进行计算。
  3. 让本车以及其他交通参与者的运动轨迹进行交互,特斯拉表示这个运算过程大概耗时10ms,一般一个拥堵的十字路口左转场景,会有超过20个交互相关的交通参与者,有超过100种交互相关组合,那么目标路径规划时间大概是50ms
如何实时解决这种场景?
特斯拉表示其采用Interaction Search交互搜寻算法,寻找最优的结果,它分为以下5个步骤:
  1. 视觉环境识别 - 采用稀疏抽取的方法抽取潜在特征来识别车道,障碍物,移动物体等交通参与者。
  2. 选定目标候选人 - 确定车道线,非结构化区域来形成可通行的空间信息。
  3. 产生可能的轨迹 - 通过轨迹优化,神经元规划生成运动轨迹。
  4. 产生运动方案 - 例如到底是强行插入交通还是等待行人通行。
  5. 确定轨迹和时间,速度 - 当确定好运动方案时候,还需要考虑运动轨迹下的其他车辆通行情况,多种考虑之后才能输出运动规划。

特斯拉表示第5步,是最难的,因为随着每一步约束的增加,每一种新的轨迹生成运算都需要1-5ms,那么你想想这种情况下大约有一百多种方案,那么显然都快需要0.5s的时间用来运算了。
特斯拉想到的方案是lightweight queryable networks轻量化可查询的神经元算法,这种算法是去查找基于其人类驾驶方法场景库以及线下虚拟仿真运算出的结论,也就是查找库已有方案,看他的运动轨迹会怎么做,这样可以在大约100us,也就是0.1ms内来生成一种轨迹。
有了多种轨迹和运动规划之后,接下来还需要选择一种,这个时候特斯拉算法采取对碰撞检查,控制舒适性,需要介入的可能性,是否拟人化等多项要求,进行打分来确定,选定最终轨迹和运动规划
以上就是特斯拉利用其路径规划算法,在解决交通繁忙条件下无保护左转采用的交互搜寻算法,寻找最优的结果的流程。这里一个比较妙的方法是特斯拉有一个人类驾驶行为和仿真参考库提供检索。
2. 环境感知算法
环境感知是一切智能驾驶的源头,众所周知特斯拉环境感知主要依赖视觉,当然我之前文章《智能驾驶要用多少个激光雷达?分别放在哪里?什么作用?》等都表示视觉无深度信息容易出问题,但这次特斯拉介绍了其Occupancy Networks 算法用来探索可运动3D空间,那它是否能够解决视觉深度信息呢?按照特斯拉的理念应该是能,只等待算法的进化,此次没有细节,让我们先回到其Occupancy Networks 算法
Occupancy Network 算法能干什么?
特斯拉在过去几年中一直开发的算法,他主要是通过特斯拉外部的8个摄像头视频流,去构建基于几何体积块的环绕汽车的3D空间,并持续去识别全貌即使短时间内有遮挡物,能够识别标注Occupancy(翻译成占住的?)物体例如马路牙子,汽车,行人等,他还能识别物理的流动,来预测一些偶然的流体运动例如长巴士,拖挂车的甩尾,这样Occupancy Network 算法能够高效识别感兴趣的点。
特斯拉表示其Occupancy Network算法在算力和内存之间取得很好的效率,大概10ms就可建模完成,目前此算法已经运行在所有FSD的特斯拉上。
Occupancy Network 算法工作原理是怎样的?
特斯拉表示其Occupancy Network算法工作流大概分以下五个步骤:
1. Image Input ,8个摄像头依据摄像头标定矫正后直接输入给算法,视觉输入不使用ISP(以人为本的图像处理)同时因为摄像头的原始数据是4 位彩色它能提供16倍的动态范围给到算法,所以可以减少输入的延迟。了解摄像头基本原理点击《智能汽车要用多少个摄像头?分别干啥?什么原理?》。
2. Image Featurizers,使用预训练的深度神经网络模型对图像进行特征化,输入给下一步。特斯拉采用RegNet 以及BiFPNs算法来特征化图像,特征化基本就是识别物体了。
3. Spatial Attention,是卷积神经网络中用于空间注意的模块。它利用特征的空间间关系生成空间注意力图,也就是构建空间信息。这里特斯拉提到两个算法Mlticam Qurey Emdedding 也就是多摄像头查询,Spatial Query空间查询然后输入给注意力Attention算法,这里就是构建空间。
4. Temporal Alignment,分为两个部分,一个部分是自己车辆的轨迹对齐,另外一个将各个识别特征物对齐,初步形成了时空特征。
5. Deconvolutions,去卷积也就是把浓缩的特征反向成物体。这里其中有一个一直是普通视觉算法的噩梦,就是路面地理信息,例如上下坡度,特斯拉表示其算法能够识别路面的地理特征。
6. Volume Outputs,去卷积之后的反向物体,将从空间上能代表物体大小,被放置在时空中,而且此类空间占据还根据路面的情况自动匹配,这里特斯拉讲到一个算法NeRF state,能够表示具有复杂遮挡的详细场景几何,这样可以让时空更加真实
7. Queryable Outputs,这里很有意思,去卷积之后的反向物体有些可能不能完全代表真实的物体的大小,所以特斯拉算法采用查询法去数据库中查询真实世界的结果,进行位置和大小的矫正再进行空间放置。
Occupancy Networks 算法可以通过摄像头收割数据,然后利用NeRFs算法构建真实世界的精准映射-虚拟世界,当然特斯拉当前的虚拟构建显然做不到把摄像头色彩完全投影进来,特斯拉目前主要任务是通过车辆收集数据构建可支持自动驾驶所需关键信息的虚拟3D世界,特斯拉也想收割全球以及其各种天气下的信息,当然这当中肯定还有很多技术问题有待解决,所以特斯拉也趁机人才招募广播一把。
特斯拉表示其Occupancy Networks 算法都是自动标注算法训练而成的,特斯拉这个环境感知算法听起来确实厉害,他在Bird's-eye view算法上又进了一步
有了Occupancy Networks 算法可以让自动驾驶对可行驶空间有了认知,但是交通道路是有自己的规则的,其中最直观的就是车道线,所以接下来让我们看看特斯拉对于车道线的识别有什么新内容。
为什么要使用新的车道识别算法
特斯拉表示其老的车道识别算法是使用2D平面,分割算法例如RegNet,他在高速以及清晰高度结构化的场景应用的比较好,目前基本上国内车型应该都采用此类算法,当然国内的道路结构化都比较好,但在国外那种路面国内车型都是挑战,毕竟国外的设施都没有国内新。
当然车道清晰等也不是特斯拉老算法的主要问题,特斯拉在国外训练的算法对于清晰度应该也不是问题,问题是城市应用场景中,简单转弯分隔的结构化车道,繁忙交通中交汇口前车遮挡等无法采集到足够的数据的时候,此类问题是经典车道识别算法无法解决。
当然国内依赖高精地图的智能驾驶方案,则没有此类问题,但他需要准确的高精地图,这就是为什么现在的城市领航辅助迟迟没上,他们必须要有高精地图。高精地图,第一需要测绘了,第二需要有关部门批准释放了。
所以不使用高精地图仅仅依靠视觉算法的特斯拉给出的答案是:用神经元算法预测,生成全套车道实例及其相互连接。
如何实现?
特斯拉表示其最新的FSD 车道算法由以下三个组件组成
1. 视觉组件 - 车辆上八个摄像头的视频流输入卷积层、注意层和其他神经网络层进行编码,或许丰富的环境信息,然后生成带有粗略路线图的表示。
2. 地图组件 - 额外的神经网络层编码的道路级地图数据,特斯拉称之为车道引导,这张地图不是高清地图,但它提供了许多关于交叉口的有用提示,车道内的拓扑结构,交叉路口的车道数,以及一组其他属性。
这里的前两个组成部分产生了一个密集张量世界,可以对世界进行编码,但特斯拉真正想做的是转换这个稠密的张量为智能驾驶车道的连通集合。
3. 语言组件 - 特斯拉将这个任务看成一个图像转字幕的语言任务,这个任务的输入是这个稠密的张量,输出的特殊的文本语音用来预测车道连通。
用这种车道语言单词和符号对车道进行编码,这些单词和符号就是3D中的车道位置,在单词符号中引入修饰语,对连接词进行编码通过将任务建模为语言问题,我们可以利用语言人工智能算法的最新技术来处理道路的多重连通集合。
所以特斯拉的方法是用最先进的语言建模和机器学习算法来解决计算机视觉问题,语言算法应该在人工智能算法中属于比较先进发展较快的一个分支,主要原因应该是语言数据更易得和数据量小,便于学习训练,此次特斯拉发布的车道线识别算法的亮点就是这个。如果展开这个算法估计文章得再加几千字,所以等我有机会深入理解,再详细分享。
总结
总的来讲其算法此次有几个亮点,对于十字路口算法,构建了人类驾驶行为和虚拟驾驶行为库供算法查询从而节省计算时间,利用各项指标去框定选择最优路径。对于车道识别算法,创新性的借鉴语言算法来解决视觉问题。
以上就为,特斯拉2022年AI Day大概发布的算法方面的进展和优化,时间仓促和水平有限,错误难免还请留言交流,关注我们,下一篇文章介绍算法背后的数据,虚拟,算法编译等。
参考文章以及图片

  1. 特斯拉AI Day视频

    *未经准许严禁转载和摘录-获取参考资料方式:

加入我们的知识星球Vehicle 可以下载公众号海量参考资料包含以上参考资料。

>>>>

相关推荐


  • Tesla 特斯拉AI day - 关于特斯拉机器人的进展和技术
  • 保时捷IPO -给追梦人的汽车品牌的资本追梦
  • 2000TOPs的英伟达和高通要把智能汽车带向何方?
  • 大疆能否在智驾赛道“能上天”?
  • 安霸的智能汽车芯片软件布局和雄图
  • 芯片产业链101
  • 从大众新CEO的十个工作重点看大众汽车电气化,软件定义汽车的方向和方法
  • 芯片和操作系统 - 当前汽车供应链面临的关键问题思考
  • 五图看懂自动驾驶AI半导体生态链

Vehicle 不断奔跑才能应对变化,与汽车业内企业个人一起成长
评论
  • 学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。(文末有彩蛋)一、 为什么选择 FPGA:应对 7nm 制程与 AI 限制在全球半导体制程限制和高端 GPU 受限的大环境下,FPGA 成为了中国企业发展的重要路径之一。它可支持灵活的 AIoT 应用,其灵活性与可编程性使其可以在国内成熟的 28nm 工艺甚至更低节点的制程下实现高效的硬件加速。米尔的 ZU3EG 开发板凭借其可重
    米尔电子嵌入式 2024-12-06 15:53 158浏览
  • 随着各行各业对可靠、高效电子元件的需求不断增长,国产光耦合器正成为全球半导体市场的重要参与者。这些元件利用先进的制造工艺和研究驱动的创新,弥补了高性能和可负担性之间的差距。本文探讨了国产光耦合器日益突出的地位,重点介绍了其应用和技术进步。 关键技术进步国产光耦合器制造商在提高性能和多功能性方面取得了重大进展。高速光耦合器现在能够处理快速数据传输,使其成为电信和工业自动化中不可或缺的一部分。专为电力电子设计的栅极驱动器光耦合器可确保电动汽车和可再生能源逆变器等高压系统的精确控制。采用碳化
    克里雅半导体科技 2024-12-06 16:34 145浏览
  • “SPI转CAN-FD”是嵌入式开发领域的常用方法,它极大地促进了不同通信接口之间的无缝连接,并显著降低了系统设计的复杂性。飞凌嵌入式依托瑞芯微RK3562J处理器打造的OK3562J-C开发板因为内置了SPI转CAN-FD驱动,从而原生支持这一功能。该开发板特别设计了一组SPI引脚【P8】,专为SPI转CAN-FD应用而引出,为用户提供了极大的便利。MCP2518FD是一款在各行业中都有着广泛应用的CAN-FD控制器芯片,本文就将为大家介绍如何在飞凌嵌入式RK3562J开发板上适配MCP251
    飞凌嵌入式 2024-12-07 14:30 72浏览
  • DIP开关(双列直插式封装开关)是一种常见的机电设备,广泛应用于各种电子设计中。其多样的形式、配置、尺寸和开关机制使得设计师可以灵活地满足不同的需求。什么是DIP开关?DIP开关由多个开关单元组成,通常并排排列(图1)。这些开关需要手动操作以设置其功能。它们主要安装在PCB上,用于配置设备的操作模式。DIP开关以其可靠性、灵活性和经济性成为原始设备制造商(OEM)和最终客户的首选之一。图1.常见的DIP开关配置极点与掷数:DIP开关的基本规格极点(Pole): 指开关的输入数量。掷数(
    大鱼芯城 2024-12-06 10:36 132浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-09 08:53 67浏览
  • 进入11月中下旬,智能手机圈再度热闹起来。包括华为、小米、OPPO、vivo等诸多手机厂商,都在陆续预热发布新机,其中就包括华为Mate 70、小米Redmi K80、vivo的S20,IQOO Neo10等热门新机,这些热门新机的集中上市迅速吸引了全行业的目光。而在诸多手机厂商集体发布新机的背后,是智能手机行业的“触底反弹”。据机构数据显示,2024年第三季度,中国智能手机市场出货量约为6878万台,同比增长3.2%,连续四个季度保持同比增长,显然新一轮手机换机潮已在加速到来。憋了三年,国内智
    刘旷 2024-12-09 10:43 64浏览
  • 自20世纪60年代问世以来,光耦合器彻底改变了电子系统实现电气隔离和信号传输的方式。通过使用光作为传输信号的媒介,光耦合器消除了直接电气连接的需求,确保了安全性和可靠性。本文记录了光耦合器技术的发展,重点介绍了关键创新、挑战以及这一不可或缺组件的未来发展。 过去:起源和早期应用光耦合器的发明源于处理高压或嘈杂环境的系统对安全电气隔离的需求。早期的光耦合器由LED和光电晶体管的简单组合组成,可提供可靠的隔离,但具有明显的局限性:低速:早期的光耦合器速度慢,频率响应有限,不适合高速数字通信
    腾恩科技-彭工 2024-12-06 16:28 135浏览
  • 在Python中,线程的启动和管理是一个复杂而关键的过程。通过上述代码截图,我们可以深入了解Python中线程启动和处理的具体实现。以下是对图1中内容的详细解析: 4.3.3、启动线程 当调用`rt_thread_startup`函数时,该函数负责将指定线程的状态更改为就绪状态,并将其放入相应优先级的队列中等待调度。这一步骤确保了线程能够被操作系统识别并准备执行。如果新启动的线程的优先级高于当前正在运行的线程,系统将立即切换到这个高优先级线程,以保证重要任务的及时执行。 //```c /*
    丙丁先生 2024-12-06 12:30 111浏览
  • 开发板在默认情况下,OpenHarmony系统开机后 30 秒会自动息屏,自动息屏会让不少用户感到麻烦,触觉智能教大家两招轻松取消自动息屏。使用触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenHarmony5.0 Release系统,SDK源码全开放!SDK源码中修改修改以下文件参数:base/powermgr/power_manager/services/native/profile/power_mode_co
    Industio_触觉智能 2024-12-09 11:39 51浏览
  • 光耦合器对于确保不同电路部分之间的电气隔离和信号传输至关重要。通过防止高压干扰敏感元件,它们可以提高安全性和可靠性。本指南将指导您使用光耦合器创建一个简单的电路,介绍其操作的基本原理和实际实施。光耦合器的工作原理光耦合器包含一个LED和一个光电晶体管。当LED接收到信号时,它会发光,激活光电晶体管,在保持隔离的同时传输信号。这使其成为保护低功耗控制电路免受高压波动影响的理想选择。组件和电路设置对于这个项目,我们将使用晶体管输出光耦合器(例如KLV2002)。收集以下组件:光耦合器、1kΩ电阻(输
    克里雅半导体科技 2024-12-06 16:34 219浏览
  • 光耦合器以其提供电气隔离的能力而闻名,广泛应用于从电源到通信系统的各种应用。尽管光耦合器非常普遍,但人们对其特性和用途存在一些常见的误解。本文将揭穿一些最常见的误解,以帮助工程师和爱好者做出更明智的决策。 误解1:光耦合器的使用寿命较短事实:虽然光耦合器内部的LED会随着时间的推移而退化,但LED材料和制造工艺的进步已显著提高了其使用寿命。现代光耦合器的设计使用寿命为正常工作条件下的数十年。适当的热管理和在推荐的电流水平内工作可以进一步延长其使用寿命。误解2:光耦合器对于现代应用来说太
    腾恩科技-彭工 2024-12-06 16:29 179浏览
  •   在外地五年,回家就是大清洁、大清理,忙活了一个多月,废旧物品实在太多太多!除了老旧或出故障了的家具家电外,就是以前职业生涯养成的研究分析习惯而收留和拆解下的电子电器电脑整机、部件、零件、材料、辅料等等。  家具家电不说了,说说保留的各种各样机械、电器、电气、电子类的吧!有好有坏,扔又舍不得,满满的回忆,历史的烙印。留又没有用,拆解做分析和学习是忙不过来的了,加之,到如今个人做拆解的学习目的已经淡化了,也是因为用不着了。以前是研究学习和促进废物利用,理想也梦想能唤起循环使用产业链,结论是根本不
    自做自受 2024-12-08 22:59 144浏览
  • 2024年12月09日 环洋市场咨询机构出版了一份详细的、综合性的调研分析报告【全球电机控制系统芯片 (SoC)行业总体规模、主要厂商及IPO上市调研报告,2024-2030】。本报告研究全球电机控制系统芯片 (SoC)总体规模,包括产量、产值、消费量、主要生产地区、主要生产商及市场份额,同时分析电机控制系统芯片 (SoC)市场主要驱动因素、阻碍因素、市场机遇、挑战、新产品发布等。报告从电机控制系统芯片 (SoC)产品类型细分、应用细分、企业、地区等角度,进行定量和定性分析,包括产量、产值、均价
    GIRtina 2024-12-09 11:32 63浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦