特斯拉FSD的神经网络(Tesla 2022 AI Day)

这是特斯拉的全自动驾驶(Full Self Driver)技术结构图,图中把自动驾驶模型拆分出分成了几个依赖的模块:

技术底座:自动标注技术处理大量数据,仿真技术创造图片数据,大数据引擎进不断地更新(大模型的数据基础)

核心部分:神经网络对场景的识别和理解(不仅仅是视觉技术的运用,结合了自然语言处理领域技术)

  • 提出占有网络,这个网络能够实时地识别周围环境中各种物体的占有率,然后进行立体建模,体素化,还能够实现预测物体未来的运动趋势

  • 然后进一步识别各种车道线,解决各种车道线交错的难题

增强神经网络的资源:AI训练集群,AI优化编译、接口

最终的目的是实现车端大模型直接处理原始的视频,做自动驾驶决策

 基于Attention机制的占用网络

占有网络是特斯拉FSD中的核心部分,目的是识别周围物体占用空间中的部分,对空间做一个建模,并且区分物体,赋予不同的语义,然后还能够预测物体未来的变化趋势,即预测物体运动。

image-20240115232904946

这个是Occupancy整体工作原理示意图,具体的流程如下:

  1. 输入图像校准,使用12位的原始图像,而非8位,这么做是因为可以获得更多的4位图像信息和16倍动态范围。

  2. 图片特征提取,用RegNet+BiFPN来实现图片的卷积特增提取和多尺度特征的提取结合

  3. Spatial Attention空间注意力机制,这里先把图片加上相机特征做embedding,这样子Spatial Query就蕴含了空间位置信息,即含有三维空间特征的Query和二维的图片特征的Value做注意力机制。Attention实现了对多个相机的3D空间位置信息和2D图像的信息融合,模型从中学习对应的特征关系,最终输出高维的空间特征。

  4. Temporal Alignment时空对齐,获得时空特征数据,利用行车的轨迹结合Attention得到的空间特征,做Channel维度的拼接,输出会进入反卷积的部分

  5. 反卷积和体积空间输出,把时空特征数据做反卷积,得到空间占用流的输出

  6. 上一步得到的体素化是不够精确的,于是进一步设计了一个Queryable MLP部分来提高分辨率。这部分其实是多层感知机的解码器,用于对于生成任务。主要流程就是生成每个体素特征图,并将其输入到 MLP 中,以此进一步生产获得连续的体素语义,占用流信息,这也实现了对未来行为的预测

  7. 在反卷积后还输出表面的信息,目的是为了在坡道,弯曲路面灯地方实现精确的控制。表面和体素化的输出预测不是独立的,内在他们其实是一致的

  8. 最后基于生成的体素化信息结合NERF模型可以尝试还原真实的场景,这还需要未来的研究和探索

在特斯拉介绍的占有网络中,中间特征的学习部分用到了Attention的思想,即Spatial Attention部分。当我们用卷积网络去识别图像时,卷积核识的都是图像的局部信息,但是其实图像识别的时候每个部分对于识别的正确性的影响是不同的。注意力机制的引入就是为了解决这个问题,其实就是模拟人看图片时能够注意到的重点,抛弃不重要的局部信息。

img

这个图片画出Attention计算的三个阶段,结合前面特斯拉的介绍可以进一步理解Attention被结合在占有网络这个视觉任务中的意义。找图片的特点其实就是找图片的图片的特征,构造Query矩阵来查找特征。占有网络这里用的是Spatial Query,就是结合了空间信息的一个询问。这里面比较特殊的地方是被询问的Value是来自图片,图片一开始是二维的,使用图片的特征信息都是源于二维的。通过Q*K做计算,然后更新Attention Value。这么做注意力机制的目的其实就是学习到他们之间的相关性,即三维特征和二维特征的联系,让模型学习图片中对应的物体占有的空间。学习到了这些就代表有了根据二维图片和相机空间位置对应三维空间中物体实际位置和体积的能力,依照这个思路特斯拉的占有网络才能有后面进一步训练和计算然以及体素化重建空间。

2024-01-16 18-36-04 的屏幕截图

在上面这个图片中蓝色代表的是占有网络预测的部分。在这里占有网络很容易就预测到了大巴要转弯的动作且很好地拟合了体积,这在传统的视觉技术上是很复杂的问题,可以看作是多个层长方体的拟合,但是这个地方简化成了空间被占有的部分,模型就更容易理解和拟合了。对于坡面也是如此,占有网络可以更快更准确实现地面的预测。

 来语言模型的灵感

 

image-20240115234233731

之前的神经网络已经实现了分割当前行驶的车道线和其他的车道线,这个是在汽车驾驶环境比较单一的时候才比较好用,比如高速公路保持行驶。但是现实中会有很多的线条交错的场景,比如在一个多分叉的路口,这种地方分割、识别车道线就不好用了,只有进一步研究车道线之间的拓扑连接关系,才能实现更好的规划。

2024-01-16 15-05-57 的屏幕截图

特斯拉车道神经网络Lanes Neural Network示意图,网络主要是由三个部分组成:Vision,Map,Language。

Vision部分是采集车身上的摄像头的视频流做一个编码,并且希望他产生丰富的视觉内容,所以这里用到了卷积层,注意力层等提取特征,任何用到Transformer做编码。

img

这是Transformer的结构示意图,可以发现它是由编解码两块组成的,Encoder和Decoder。特斯拉在这里使用Transformer来进行编码是认为Encoder能够实现图片的基于位置的编码,然后里面的自注意力和多头注意力可以学习到很多有用的特征,输出的是蕴含内容十分丰富的向量,有助于下一步的训练。

Map部分是结合粗糙地图数据做进一步的增强,即使这里是低精度的地图,但是已经包含了在交叉口车道的拓扑信息。车道和车道数信息都在其中,把这些信息和前面Transformer产生出的蕴含丰富信息的向量编码进行融合,经过重新编码后再拿来训练可以学习到很多有用的信息。最终Vision模块和Map模块结合后输出了Dense World Tensor这个多维度且内容十分丰富的向量,这个向量就是对于周围世界信息的编码。接下来再输入第三个Language部分。

第三个部分之所以取名Language是结合了自然语言处理的思路。特斯拉在这个部分把车道相关信息和各种的车道节点位置、点位属性:起点、终点、分叉、合并等以及车道曲线几何参数进行编码。这个编码是基于创造新语言单词的思路去做的。目的就是实现了一种视觉问题到语言问题的转换,用这些创造出来的词组成句,帮助描述他们各种图像场景,这样就能够进一步去使用当前先进的自然语言处理技术来尝试解决问题。

image-20240115234527403

这是Language of Lanes的流程演示。这是一个Self Attention的过程。直接把整个图片分成很多的点,然后直接预测车道线是不可行的,计算成本很高。他们的思路是先选取一个粗略的点,即第一集的点预测,目的是划分出一个可行的预测区域,然后再进一步改进,得到准确的点,就是二级预测的结果。一级和二级的操作是重复的。然后对于这个点就能够预测他的类型,这个是利用到了前面提到的编码。最后一步是结合判断是否为分叉点,合并点并且用回归的方式做线条的拟合。最终得到的结果会加入句子,即更新Attention的结果。

可以注意到在获得车道线的语言的过程中除了自注意力机制Self Attention之外还用到了交叉注意力机制Cross Attention。这两者之间是有区别的,后者可以看作是对前者思想的一个扩展,自注意力机制是在当前的序列中获取上下文信息,而交叉注意力是让模型在两个序列之间建立交互。在特斯拉的任务中,交替使用这两种Attention可以让模型结合整体和局部的各种信息,学习到其中的关联性和依赖性。

2024-01-16 17-24-26 的屏幕截图

Language of Lanes最终就是表示了一组车道线的连接关系。因为是语言描述的场景,所以还能实现行为的预测。比如上图这个场景,有一辆车是因为事故停在了红绿灯前面,而有一个车是走到红绿灯前减速停车等红灯,模型有了语言的描述,就能够从语义中理解和识别场景里面的物体并预测行为,从而实现避让这个场景中的事故车辆的智能驾驶动作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/341623.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MobaXterm解决session保存限制

自从用了MobaXterm以后,才知道这个软件会比xshell好用太多,但是免费版对会话有限制,保存14个以后就不能再保存,对于我们开发要连接好多服务器的话,就比较头疼了,作为程序员那肯定是有解决办法的&#xff0c…

php学习

php基础语法 一 php程序 1.php标记 开始标记<?php 和结束标记 ?>中间写 PHP 代码 当解析一个文件时&#xff0c;PHP 会寻找起始和结束标记&#xff0c;也就是告诉php 开始和停止解析二者之间的代码。此种解析方式使得PHP 可以被嵌入到各种不同的文档中去&#xff…

个人云服务器docker搭建部署前后端应用-myos

var code "87c5235c-b551-45bb-a5e4-9593cb104663" mysql、redis、nginx、java应用、前端应用部署 本文以单台云服务器为例&#xff1a; 1. 使用腾讯云服务器 阿里或其他云服务器皆可&#xff0c;类似 安装系统&#xff0c;现在服务器系统都集成安装了docker镜像&a…

区域入侵烟火检测智慧安监AI智能分析网关V4如何添加新用户并分配权限?

AI边缘计算智能分析网关V4性能高、功耗低、检测速度快&#xff0c;易安装、易维护&#xff0c;硬件算法可按需组合、按场景配置&#xff0c;每个摄像头可同时配置3种算法&#xff0c;能同时对16路视频流进行处理和分析。硬件内置近40种AI算法模型&#xff0c;支持对接入的视频图…

Elasticsearch:聊天机器人、人工智能和人力资源:电信公司和企业组织的成功组合

作者&#xff1a;来自 Elastic Jrgen Obermann, Piotr Kobziakowski 让我们来谈谈大型企业人力资源领域中一些很酷且改变游戏规则的东西&#xff1a;生成式 AI 和 Elastic Stack 的绝佳组合。 现在&#xff0c;想象一下大型电信公司的典型人力资源部门 — 他们正在处理一百万件…

小红书达人推广模式有哪些,品牌投放策略总结

小红书是一个以种草为核心的平台&#xff0c;而品牌方进行种草时&#xff0c;就需要依托达人的力量。今天我们和大家分享下小红书达人推广模式有哪些&#xff0c;品牌投放策略总结&#xff01; 一、小红书达人推广模式有哪些 1. 明星种草 这种小红书达人推广模式&#xff0c;依…

利用STM32CubeMX和keil模拟器,3天入门FreeRTOS(2.0) —— 如何删除任务

前言 &#xff08;1&#xff09;FreeRTOS是我一天过完的&#xff0c;由此回忆并且记录一下。个人认为&#xff0c;如果只是入门&#xff0c;利用STM32CubeMX是一个非常好的选择。学习完本系列课程之后&#xff0c;再去学习网上的一些其他课程也许会简单很多。 &#xff08;2&am…

WPF多值转换器

背景&#xff1a;实现Slider拖动可以调整rgb 单转换器&#xff1a;WPF中数据绑定转换器Converter-CSDN博客 在View中&#xff1a; <StackPanel Orientation"Vertical"><Slider x:Name"slider_R" Minimum"0" Maximum"255" Wi…

Python爬虫采集下载中国知网《出版来源导航》PDF文档

时隔一年&#xff0c;很久没更新博客了。今天给大家带来一个采集 &#xff1a;出版来源导航 这个是网址是中国知网的&#xff0c;以下代码仅限于此URL&#xff08;出版来源导航&#xff09;采集&#xff0c;知网的其他网页路径采集不一定行&#xff0c;大家可以试试。 以下代码…

《绝地求生大逃杀》怎么买衣服 Steam商店服装购买方法

《绝地求生大逃杀》怎么买衣服&#xff1f;游戏中好看的服装有不少&#xff0c;大家可能开箱并没开出来&#xff0c;想买却不知具体的入手途径&#xff0c;今天闲游盒带来《绝地求生大逃杀》怎么买衣服 Steam商店服装购买方法&#xff0c;希望对各位有帮助。 打开Steam&#xf…

ffmpeg和opencv一些容易影响图片清晰度的操作

ffmpeg 转视频或者图片&#xff0c;不指定码率清晰度会下降 ffmpeg -i xxx.png xxx.mp4 码率也叫比特率&#xff08;Bit rate&#xff09;(也叫数据率)是一个确定整体视频/音频质量的参数&#xff0c;秒为单位处理的字节数&#xff0c;码率和视频质量成正比&#xff0c;在视频…

高效办公-电脑的基本组成

作为一位网络工程师在公司内部混久了也兼职了桌面运维了&#xff0c;感觉做网管也是有一些坑的&#xff0c;所以记录一下吧。然后忽然觉得公众号内容有点专业了&#xff0c;那就增加一点办公常识吧&#xff0c;主要是一些电脑使用方面的设置和简单优化&#xff0c;利人利己。 一…

RAR分卷压缩文件可以合并成一个吗?推荐2个方法!

有时候文件太大&#xff0c;我们在压缩RAR文件时会选择压缩成分卷文件&#xff0c;这样更便于传送。如果后续只想要一个压缩包&#xff0c;如何把RAR分卷压缩文件合并起来呢&#xff1f;下面小编分享2个方法&#xff0c;不清楚的小伙伴一起来看看吧&#xff01; 方法一&#xf…

linux安装docker(入门一)

环境&#xff1a;centos 7(linux) 网站 官网: https://docs.docker.com/ Docker Hub 网站: https://hub.docker.com/ 容器官方概述 一句话概括容器&#xff1a;容器就是将软件打包成标准化单元&#xff0c;以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立软件包 &…

[分章:阅读]《我的第一本算法书》

第一章数据结构 1.链表 1、数据结构之一&#xff0c;线性排列数据&#xff0c;指针链接数据&#xff1b;访问O&#xff08;n&#xff09;&#xff0c;删除/添加O&#xff08;1&#xff09; 2、类似链条。 2.数组 1、线性排列数据&#xff0c;含数据下标&#xff08;即索引&…

Linux忘记密码

1.服务器启动界面出现3秒倒计时内&#xff0c;按一下“e”键 2.向右移动光标到ro\这个位置后边&#xff0c;插入&#xff1a;rw init/sysroot/bin/sh_ 切记sh_的下划线后边不要有空格&#xff0c;不然会报错 3.修改完成直接按CtrlX启动系统 4.输入 chroot /sysroot切换进去 5.…

Xftp连接不上Linux虚拟机的原因解决方法

前言&#xff1a; 在当今数字化时代&#xff0c;远程连接到Linux虚拟机是许多开发者和系统管理员日常工作的一部分。然而&#xff0c;有时候&#xff0c;面对Xftp连接不上Linux虚拟机的问题&#xff0c;我们可能感到困惑和无措。这个看似小问题可能导致工作中断&#xff0c;因…

【wu-framework-parent 1.2.2-JDK17-SNAPSHOT 新版本中的 ACW】

版本: 1.2.2-JDK17-SNAPSHOT 项目地址&#xff1a;https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-smart-intergration/wu-smart-acw 演示地址&#xff1a;http://124.222.48.62:30193/wu-smart-acw-ui/#/login admin/admin docker启动 docker …

移动CRM系统是什么?能帮企业做哪些事情?

移动CRM&#xff0c;即移动客户关系管理&#xff0c;是一种利用移动设备进行客户关系管理的工具。随着移动技术的飞速发展&#xff0c;移动CRM在商业领域得到了广泛应用。本文将对移动CRM的概念、功能和作用、价格等方面进行详细介绍。 1.移动crm的概念 移动CRM是基于客户关系…

Facebook的可访问性使命:构建无障碍社交空间

在当今数字时代&#xff0c;社交媒体不仅是人们交流、分享和连接的平台&#xff0c;更是构建开放、包容社交环境的关键。Facebook&#xff0c;作为全球最大的社交媒体平台之一&#xff0c;积极推动着可访问性使命&#xff0c;致力于构建一个无障碍的社交空间&#xff0c;使每个…