历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2021年08月26日 | AI DAY解读 — 特斯拉 Autopilot的视觉架构

发布者:幸福梦想 来源: Astroys 关键字:特斯拉  自动驾驶  摄像头 手机看文章 扫描二维码
随时随地手机看文章

是的,我还在跟特斯拉AI DAY缠斗。AI DAY那天最复杂、也最难懂的恐怕就是Andrej Karpathy发表的视觉架构部分,通过8个摄像头获取的图像到底是如何让车辆在道路上自动驾驶的?有步骤,有内容。

 

我们都知道特斯拉用8个摄像头来感知周围环境。但你不能简单地把从这8个摄像头中获取的所有信息直接输入给人工智能,让它来做判断,因为这会一次处理太多信息,而现在的计算机还没有这么强大。

 


为了解决这个问题,就必须压缩数据,同时保留最相关的信息,类似于我们的大脑对眼睛的信息所做的那样。为了做到这一点,特斯拉将这8个摄像头的数据转移到了一个更小的矢量空间(Vector Space)。

 

 

 

这是一个三维空间,包含了环境中所有的相关信息,如路标、汽车、人、车道线等。然后Vector Space就用来实现汽车必须做的许多不同的任务,如物体检测、交通信号、车道线预测等。

 

但如何从这8个摄像头组成的三维输入,变成一个单一的三维输出呢?这基本上是通过以下步骤实现的,并且所有8个摄像头都是并行完成的,效率非常高。

 

 

牢记这张图,下面会反复提及


第1步:Rectify


首先,图像被送入一个校正模块(Rectify),该模块接收图像,并通过将其转化为虚拟表示来校准它们。这一步极大地提高了Autopilot的性能,因为它会使图像在一般情况下(没有发生事件时)看起来更加相似,使网络能够更容易地比较图像,并聚焦于不属于典型背景的重要部分。


第2步:RegNet


然后,这些新生成的图像被送入到RegNet。 这个RegNet只是CNN的一个优化版本。基本上,RegNet会把这些新的图像,像金字塔一样反复压缩信息,网络的起点由一些神经元组成,这些神经元代表图像的一些变化集中在特定的物体上,告诉我们它在空间上的位置。越深入,这些图像就越小,但它们将代表整体图像,同时也聚焦于特定物体。因此,在这个金字塔的末端,最终会有许多神经元,每个神经元都告诉你关于整体图像的一般信息,是否包含一辆车、一个路标,等等。

 

为了两全其美,会在这个金字塔的多个层上提取信息,这也可以看作是不同尺度的图像表示,侧重于原始图像的特定特征。我们最终得到的是局部的和一般的信息,所有这些信息都告诉我们图像是由什么组成的,以及在哪里。

 

 


第3步:BiFPN

 

然后,这些信息被送入BiFPN,这个模型会迫使这些来自不同尺度的信息在一起沟通,并在其中包含的一般和特殊信息中提取最有价值的知识。BiFPN的输出将是来自8个摄像头的最有趣和有用的信息。因此,它既包含了关于图像的一般信息,也包含具体信息,如在哪里、什么尺寸等等。例如,它将使用来自金字塔顶端提取的深层特征的一般知识的context理解Karpathy所展示的情况,“因为这两个模糊的灯光是在两条车道之间的道路上,它们可能是附着在一个特定的物体上,这个物体是在网络的早期层中从一个摄像头中识别出来的。”

 

利用这一context,并知道它是一个单一物体的一部分,就可以成功地猜到这些模糊的灯光是一辆车上的。


第4步:Transformer


所以,现在有了来自所有8个摄像头的不同比例的最有用的信息。然后需要压缩这些信息,这样就不会有8个不同的数据输入,这是通过Transformer模块完成的。简而言之,这个模块将把8个不同图片的浓缩信息,转移到我们想要的Vector Space。它将使用这些一般的和空间信息,这里称为Key,计算Query,就是Vector Space的维度,并试图找出什么东西(what)去哪里(where)。例如,一个Query可以被看作是Vector Space的一个像素,寻找前方车辆的一个特定部分。这个值将相应地合并这两个信息,告诉我们在Vector Space中什么东西(what)在哪里(where)。Transformer可以被看作是8个摄像头和Vector Space的桥梁,了解各摄像头之间的所有的相互关系。

 

时间戳问题


现在,终于把数据浓缩成了一个三维表示,可以开始真正的工作了。这是他们用来标注用于训练导航网络数据的空间,因为这个空间没有8个摄像机那么复杂,更容易进行标注。现在有了一个有效的方法来表示所有的8个摄像头,但仍然有一个问题:单摄像头的输入是不智能的。如果对面的一辆车被另一辆车遮挡,就需要Autopilot知道它还在那里,那辆车并没有因为另一辆车在它前面就消失了。为了解决这个问题,就必须使用时间信息,或者,换句话说,使用多个帧。特斯拉选择使用“Feature Queue”和“Video Module”。

 


第5步:Feature Queue


Feature Queue将占用一些帧并将其保存在缓存中。然后,每隔一米,或每隔27毫秒,就会把缓存的帧发送给模型。在这里,他们同时使用时间或距离测量来衡量车辆的移动和停止。然后,这些刚刚处理过的帧的三维表示与它们相应的位置和包含车辆加速度和速度的运动学数据合并,告诉我们它在每一帧是如何运动的。


第6步:Video Module


所有这些宝贵的信息随后被送入Video Module。Video Module利用这些信息来理解车辆本身和它在当前和过去几帧中的环境。这个理解过程是通过一个RNN完成的,RNN会在所有帧上反复处理所有这些信息,以更好地理解Context,并最终构建出定义明确的地图。由于使用了过去的帧,RNN现在就有更多的信息来更好地理解当前的状况,这对临时遮挡等情况来说是必要的。

 

 

这就是视觉过程的最终架构,它的输出在下图的右下,你可以看到其中一些输出被翻译回图像,以显示车辆在我们对世界的表述中看到的东西,或者说是8个摄像头的表述。Video Module的输出,会并行地发送给车辆的所有任务,如物体检测、车道预测、交通信号等。

 

 


关键字:特斯拉  自动驾驶  摄像头 引用地址:AI DAY解读 — 特斯拉 Autopilot的视觉架构

上一篇:小米官宣7737万美元收购自动驾驶技术公司深动科技
下一篇:深度神经元网络VS激光雷达 两者孰优孰劣?

推荐阅读

眼下AI备受瞩目,许多商界和政府领导人在认真思考正确的举措。在实验室进展更是大家关心的,毕竟学术和企业研究人员发现的成果将奠定AI在未来几年的发展方向。开发机器学习模型需要一个耗时、专家驱动的工作流程,这个流程包括数据准备、特征选择、模型或技术选择、训练以及调优等。自动化机器学习AutoML技术,可使用许多不同的统计和深度学习技术,旨在使...
长期看好磷酸铁锂的比亚迪还在坚持,而且看起来还在创造惊喜——比亚迪将于明年5-6月份推出的全新一代铁锂电池,体积比能量密度将提升50%,寿命长达8年120万公里,成本还可以节约30%。 8月21日晚间,比亚迪公布中报业绩。8月22日上午,比亚迪董事会主席、总裁王传福携高管出席业绩交流会,透露了上述消息。 王传福把磷酸铁锂电池称作“铁电池”在业绩...
据日经亚洲评论报道,消息人士透露,华为正在努力储备5G移动处理器、Wifi、射频和显示驱动IC以及关键芯片开发商联发科、瑞昱、联咏、立积等的其他器件。根据美国商务部最新禁令,芯片供应商9月15日之后将不能再出货华为,而今仅剩下不到三周的时间。消息人士称,为赶在禁令期限前交货,部分芯片供货商甚至同意交付半成品或者尚未经过测试、组装的晶圆。知...
不光是代码有可读性的说法,原理图也有。很多时候原理图不仅仅是给自己看的,也会给其它人看,如果可读性差,会带来一系列沟通问题。所以,要养成良好习惯,做个规范的原理图。此外,一个优秀的原理图,还会考虑可测试性、可维修性、BOM表归一化等。1分模块如上图所示,用线把整张原理图划分好区域,和各个区域写上功能说明,如:电源、STM32等。这样让人...

史海拾趣

问答坊 | AI 解惑

运算放大器稳定性RO 何时转变为 ZO?

[^] 运算放大器稳定性RO 何时转变为 ZO? 2006-07-10 Tim Green,德州仪器 Burr-Brown 产品线线性应用工程经理  在写“保持容性负载稳定的六种方法”部分时发生了一件有趣的事情。我们选择了具有“轨至轨”输出的 CMOS 运算放大器并测量 ...…

查看全部问答∨

psoc:可编程片上系统

赛普拉斯发布全新高性能、低功耗PSoC3和PSoC5可编程片上系统架构 [2009.10.1] 赛普拉斯半导体公司推出两款全新架构产品,高性能、低功耗PSoC3和PSoC5可编程片上系统(PSoC),使其PSoC可编程片上系统的性能大大提升,极大地扩展了可编程模拟和数 ...…

查看全部问答∨

c2000版块何去何从

TI公司最近对C2000进行了从新定义,更名为DSC,Digital signal controller.显然,被TI划分到mcu去了,琳子姐提议把这个版块挪到单片机那去,和muc放在一起,我觉得还是有必要保留在DSP下面,就此,望大家发表一下看法,讨论一下这个版块应该放到哪 ...…

查看全部问答∨

用串口传送文件时,接收方怎么知道传送结束啊?

文件是一个根据你所建的工程编译器编译出来的二进制文件,文件结尾只有一个无用的“0000H",当然不能用它来判断了,因为文件中有很多“0000H”,请问大牛,还有什么办法来判断啊?…

查看全部问答∨

飞凌S3C6410 上 Android移植过程

Android, 移植 本帖最后由 飞凌嵌入式 于 2010-4-29 08:38 编辑 TE6410资料请关注 www.witech.com.cn 1.安装linux 环境 安装Ubuntu Linux 系统,从网站上下载操作系统安装光盘映像,地址: http://mirror.lupaworld.com/ubuntu/releases/8.0 ...…

查看全部问答∨

对于STR711的芯片bootloader该如何修改?

实验室有一块EK-STR711的开发板(arm7tdmi),现在想做嵌入式系统,下载了u-boot-1.1.6,发现不知道该如何修改。网络上很多资料都是三星的芯片。可是我的芯片在u-boot中找不到相应的,不知道该如何下手。希望高手指点一下,万分感谢!…

查看全部问答∨

LED基本色度学RGB基本原理白光工程师你必须撑握的基本知识!

色度学是—门研究彩色计量的科学,其任务在于研究人眼彩色视觉的定性和定量规律及应用。彩色视觉是人眼的—种明视觉。彩色光的基本参数有:明亮度、色调和饱和度。明亮度是光作用于人眼时引起的明亮程度的感觉。一般来说,彩色光能量大则显得亮,反 ...…

查看全部问答∨

找盒子加工商

有3D图,想找靠谱的加工商,哪位大侠推荐一下,谢谢了~~~~急…

查看全部问答∨

外部扩展 RAM 访问方式

请问以下两种方式读取外部扩展RAM,有什么差别呢?为什么在我的程序返回的结果很怪呢? 方式一:       j = 0x0016;       k = 0x16;       pToV = &pV->bTsAddr;//0x4016 & ...…

查看全部问答∨
小广播
最新汽车电子文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved