历史上的今天
返回首页

历史上的今天

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

正在发生

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

2021-08-26 来源: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的输出,会并行地发送给车辆的所有任务,如物体检测、车道预测、交通信号等。

 

 


推荐阅读

史海拾趣

Catalyst公司的发展小趣事

Catalyst公司深知品质是企业生存和发展的根本。因此,公司始终将品质管理放在首位,从原材料采购到生产加工、产品检验等各个环节都进行严格把控。公司还建立了完善的售后服务体系,确保客户在使用过程中能够得到及时、专业的技术支持。这些举措不仅提升了Catalyst产品的品质水平,也赢得了客户的信任和好评。

DEWALT公司的发展小趣事

随着全球经济的不断发展和市场需求的不断增长,DEWALT公司开始积极拓展海外市场。公司在全球范围内设立了多个生产基地和销售网络,为不同地区的用户提供优质的产品和服务。同时,DEWALT还积极与全球知名的企业和品牌进行合作,共同推动电动工具行业的发展。在未来,DEWALT公司将继续致力于技术创新和产品拓展,为全球用户提供更加高效、耐用的电动工具产品。

GSR Technology Ltd公司的发展小趣事

为了应对市场需求的多样化,GSR Technology Ltd开始实施多元化产品策略。公司在保持GSR技术领先的同时,逐步向汽车电子、智能家居、安全监控等领域拓展。通过技术创新和定制化解决方案,公司成功推出了多款具有市场竞争力的电子产品,进一步拓宽了市场份额。同时,公司加强市场营销和品牌建设,提升了品牌知名度和美誉度。

Filtran Ltd公司的发展小趣事

随着业务规模的扩大,Filtran Ltd意识到供应链管理的重要性。公司开始在全球范围内寻找优质原材料供应商,并在亚洲和欧洲建立了生产基地,以降低成本并缩短交货周期。同时,通过引入先进的ERP系统和数字化管理工具,实现了供应链的高效协同。这一战略调整不仅提高了生产效率,还增强了公司对市场变化的快速响应能力。

Fermionics Lasertech Inc公司的发展小趣事

在电子科技日新月异的今天,Fermionics Lasertech Inc公司由一群热衷于激光技术研究的科学家和工程师创立。他们致力于开发新型激光器,以满足电子制造行业对高精度加工的需求。在经历无数次实验和失败后,他们终于研发出了具有划时代意义的超精密激光切割设备,这一技术突破为公司赢得了第一笔大额订单,也为公司的后续发展奠定了坚实的基础。

Elite公司的发展小趣事

Elite公司成立于20世纪90年代末,由一群热衷于电子技术的年轻人创立。在初创阶段,Elite面临着资金短缺、市场竞争激烈的挑战。然而,公司凭借其独特的创新理念和过硬的技术实力,成功研发出一款具有高性价比的智能手机,迅速在市场上获得认可。这款产品不仅帮助Elite实现了初步盈利,更为公司后续发展奠定了坚实基础。

问答坊 | AI 解惑

电量隔离传感器的工作原理和数字化技术

电量隔离传感器变送器是针对工程中的电量检测(监测),提高系统的整体抗干扰能力,而研制开发的一种小体积、高性能的电量测试部件(产品)。 电量隔离传感器变送器可以对现场的大电流、高电压、功率、频率、相角、电度等电参量进行隔离测量和变换,也 ...…

查看全部问答>

雷击防护电路设计规范

大家看一下能不能用上,希望可以帮到您哦!!…

查看全部问答>

【正版】Windows Embedded SP2

Windows Embedded Standard SP2 正版全套9CD 版本 软件功能及介绍就不多说了,可以去微软官方网站查看, (http://www.microsoft.com/windowsembedded/zh-tw/about/what.mspx) 产品包括9张CD光盘和安装ID以及PID,是市场上 最全的正版产品。 以下是9 ...…

查看全部问答>

sqlserverce数据库 插入数据时遇到的问题

我向数据库中插入数据,当记录个数超过65535时,提示出错…

查看全部问答>

急!!!求GAL的8分频设计 (在线等)

   我想用GAl实现信号的八分频,不知道用ABEL怎么编写程序!!!想请各位帮忙!!!不胜感激…

查看全部问答>

WinCE 18bpp LCD驱动的问题

现在有一块18bpp(RGB666)的TFT屏,想在Windows Mobile6上点起来。可是发现Windows Mobile只支持16bpp和24bpp,并不支持18bpp。我应该怎么样做呢?十分感谢…

查看全部问答>

内部FAE培训资料【3】GPIO模块介绍及应用_讲稿

内部FAE培训资料【3】GPIO模块介绍及应用_讲稿…

查看全部问答>

继电器该如何选择?

当经过继电器的信号频率范围在DC到20MHz时【峰峰值在1Vpp到15Vpp】 所选用继电器有什么要求~【会出现什么样的干扰,有什么样的措施解决】…

查看全部问答>

求应用设计

各位大虾:   我有如下两个需求,望有能力的大虾赐教:   1、在一较大的容器内装有水,再放置一比较小的玻璃容器,玻璃容器内装有有机溶剂,有机溶剂液面会逐渐下降,能否有那种技术能监测到有机溶剂的液面下降? 2、需要检测空气中的 ...…

查看全部问答>

来看看这个串口通信程序

波特率9600    无效验位  停止位1位  数据8位   功能:串口通信发送:每次4个字节,格式如:55A1D1XX              8位LED根据XX的值来显示(比如 ...…

查看全部问答>