特斯拉自动驾驶的“通用世界模型”和视频生成技术|Ashok23年CVPR主题演讲

文章正文
发布时间:2024-10-20 09:33

2月17日,在OpenAI官宣Sora之后不久,埃隆·马斯克发帖称:

特斯拉在大约一年前就能以精确的物理生成真实世界的视频。这并不是超级有趣的事情,因为所有的训练数据都来自汽车,所以视频看起来就像是来自一辆特斯拉,尽管是动态生成的(而不是事先记录的)。我们的FSD训练算力不足,所以还没有训练其他视频,但这当然可行。今年晚些时候,当我们有空余算力时,就会这么做。”

2023年6月18日,特斯拉自动驾驶负责人阿肖克·埃卢斯瓦米(Ashok Elluswamy)在CVPR2023上作了一个名为“自动驾驶的基础模型”的主题演讲,解释了特斯拉正在打造的“通用世界模型”如何能够通过过往的视频片段和行动提示,生成“可能的未来”的全新视频。

本视频全长约20分钟,本文字数约6千。

Ashok演讲全文

今天,我想介绍一下我们的工作,我们认为这将成为自动驾驶和机器人的基础模型。这不仅仅是我一个人的工作,我代表的,是我们团队中一大批才华横溢的工程师。让我们开始吧。

我们的团队已经向美国和加拿大所有购买者交付了FSD beta软件,大约有40万辆汽车。目前,他们使用FSD beta共行驶了2.5亿英里。

我认为很酷的一点是,这是一个可以规模化的自动驾驶技术栈,你可以把车开到美国的任何地方,启用它,设置一个目的地,然后汽车就会尝试导航到目的地。它能处理所有的转弯、在交通灯前停车、与其他物体互动。

这一切都主要由车上的八个摄像头驱动,它们提供了围绕汽车360度的全方位覆盖。这一系统运作良好,因为我们采用了基于真正现代的机器学习的技术栈。这其中,自动驾驶技术栈的许多模块都成为了神经网络。

我想说的是,这与传统的自动驾驶方法不同,后者将定位、地图、大量的雷达、激光雷达、超声波等技术融合在一起。相反,我们的技术主要是由摄像头驱动的。

如果你想要自己测试,显然可以买辆车体验一下,否则,你就相信我的介绍,或者看一些视频。但它效果很不错,而且我们正在让它变得更好。

我分享过占用网络,它们是我们的技术栈中更重要的部分之一。我认为,这是基础模型之一,因为这是一个非常通用的任务,而且它没有任何特定的本体,或者至少本体错误很鲁棒。

它只是预测三维空间中的某个体素是否被占用,以及被占用的概率;而且它可以表达任意场景,不需要进行标注或本体设计;而且非常通用,可以应用于任何场景。

除了占用率,我们还能预测体素未来的流动情况,构成任意的运动轨迹,而且一切都以实时运行,这与Nerf非常相似。但与Nerf或Multiview不同的是,重建通常是针对单一场景进行的,我们根据八个摄像头实时预测占用率:视频以流式输入,然后我们预测汽车周围的所有空间中,特定体素是否被占用。我们并不是进行离线的后处理。

这个架构看起来非常复杂,但实际上最终并不复杂。

多台摄像机的视频流输入,你可以选择任何你想要的骨干网络,不管是RegNets,还是最新的splits,你可以使用任何技术。然后所有数据汇集到一个大型transformer块中,它通过空间注意力来建立特征。同时加入几何模型,通过时间注意力形成一些特征,然后再上采样形成实际的预测。

虽然图表看起来有点复杂,但其实相当简单。同样的架构和建模不仅可用于占用率,还可用于驾驶所需的其他任务。

显然,车道和道路对于驾驶任务非常重要。但我想说,车道的预测挺讨厌的。原因在于,首先车道是高维数据,它绝对不是一维或二维数据,而是高维数据;然后,它们具有图的结构。

大部分物体,比如车辆,都是独立的,它们都是局部的,而车道可以横跨整条道路。你视野所及的车道长达若干英里,它们会分叉、合并,并给建模带来各种麻烦。

它们还具有很大的不确定性,有时,你可能看不到车道,因为它们被挡住了,或者在夜间只能看到部分车道。不仅如此,有时候,即使能看到所有车道,就算是人类,也无法就看到的是两条车道还是一条车道达成一致意见。

识别车道的不确定性很大,因此,仅仅将它们作为某种聚集来预测是不够的,这样会很难在流程的下游进行使用。最好能用某种矢量的表示方法来预测它们,如多段折线、样条曲线、多项式等,以方便使用。而所有这些都需要在几十毫秒内实时完成。

如我所说,在现实世界中实时预测车道是一个非常困难的问题。尽管如此,我们还是使用了最先进的生成式模型的技术。

在这个车道建模的例子里,我们使用的自回归transformer与GPT十分相似。我们可以将车道令牌化,然后一次一个令牌地对其进行预测。语言大多是线性的,而车道则不同,我们必须预测完整的图结构。因此,我们要预测什么是分叉点,什么是合并点,等等。一切都通过神经网络端到端完成,在此之后几乎不需要任何后处理。

自动驾驶的重要任务之一,显然是移动物体、车辆、卡车、行人等。仅仅检测到它们是不够的,你需要掌握它们的完整运动状态,还需要预测它们的形状信息、它们的未来等。

所有这些模型,也就是我之前描述的模型,甚至包括车道模型和物体模型,在某种程度上都是多模态模型,因为它们不仅接收摄像机视频流,它们还接受其他输入,如本车的运动参数,如速度、加速度、抖动等都是输入。

我们还提供了车道的导航指示,可以引导我们使用哪条车道,等等。一切都是通过网络完成的,所以我才说它是一个现代的机器学习技术栈,而不是在后期处理中完成这些任务。

我们尝试将所有输入结合起来,然后进行端到端的感知。在这里,你可以看到这些模型的预测结果。这里展示的车道、车辆,并不是通过大量后处理,而是都由这些网络预测出来的。这里展示的信息,并没有采用跟踪或类似的方法。

总体来说,我认为它相当稳定。这些车辆上发出的绿色曲线,是对未来的预测。这一切都能很好地在车内实时运行。

我们不一定非得只停留在感知上,一旦我们完成了所有感知,如车道、占有率、物体,甚至交通控制灯和其他物体,我们就可以通过网络,进行完整的运动规划。至于我们是如何做到这一点的,我就不多展开了。但从本质上来说,这可以被看作是另一项任务,而不是一件独立的事情。

那么,这一切是如何实现的呢?这是因为我们建立了一条复杂的自动标注管线,为我们提供了来自整个车队的数据,可以提取全世界数以百万计的视频片段。

在左侧,你看到的是一个多行程重构的例子。我们选择某个地点,多辆特斯拉汽车行驶过这个地点,上传它们的视频片段和车辆运动学数据。我们将所有数据汇集在一起,并重建整个3D场景。

你所看到的折线,有青色的,还有一些其他颜色的,这些都是不同的汽车在这个场景位置进行的不同行程,它们都能很好的对齐。

对,你看到的粉色线条和青色线条,这些都是不同的汽车的不同行程,它们都能很好的对齐。而这种多行程重构能让我们获得所有的车道、道路线。数以百万计的车辆提供的所有信息基本上可以覆盖全球所有地方。

一旦你有了这些基于相机校准的轨迹,以此作为基础结构,你就能做很多很酷的事情来重建整个场景。你可以看到地面的重建效果非常好,没有重影或模糊等瑕疵,一切都很清晰,几何都是正确的。

这是一种混合了Nerf和通用3D重建的方法。有时采用Nerf,即使重渲染的视觉效果看起来非常不错,但底层的几何可能会非常模糊不清。我们采用了一种混合方法,效果非常好。你可以看到,障碍物、车辆、甚至卡车等都能非常准确地重建出来。

一旦重建完成,我们就可以离线运行更多的神经网络来生成我们想要的标注。正如我之前提到的,为便于使用,我们需要某种矢量的方法来表示车道。我们不直接使用位图,而是获取位图,在此之上运行离线的神经网络,然后生成矢量的表示,这可以作为标注给在线的技术栈使用。

与车道类似,一旦重建了马路的车道信息,你也可以自动标注交通信号灯。这里,你可以看到我们的系统在没有任何人工输入的情况下自动标注交通信号灯。

这些结果具有多个视角的一致性。是的,我们可以预测它们的形状、颜色和相关性。你可以看到边上的这些白色交通信号灯,它们也能正确的投影到所有的摄像头视图中,这是因为我们有一个非常好的自动标注系统,可以协同校准所有数据。它们在三维空间中具有像素级别的完美精度。

是的,所有这些预测组合在一起,让我们通过相机对世界有了超级扎实的了解。我已经可以将它称之为“基础模型”,能在很多不同的场景下使用。

而这些预测确实有助于FSD在任何地方行驶。我们不需要设置地理限制,甚至有时修建了一条新路,开启FSD,它也能在那里很好地运行。此外,它们还能帮助人工驾驶,因为显然人类并不是完美的驾驶员,他们时不时需要一些帮助。

在左边这个案例中,本车的驾驶员由于某种原因越过了停车标志牌,差点撞上这辆红色小汽车。我们的系统对此进行了干预,自动踩下了刹车。右边的情况也类似,直行时,有人突然开过来强行插入。这相当危险,但系统很早就踩下了刹车。

你会想,自动紧急刹车系统自1980年起就存在了,这有何不同?据我所知,特斯拉是第一家提供适用于横穿车辆的自动紧急制动系统的公司。

与位于自己车道上的车辆相比,处理横穿车辆的难度更大,因为对于横穿车辆来说,你需要知道它们是否会及时停下,停止线在哪里,它们有红绿灯吗?例如,如果它们要转弯,会转入哪条车道?需要完成大量的工作,才能理解横穿车辆可能会去哪里,它们有足够的空间把车停下来吗,等等。这不仅仅是检测一辆车并获得其速度那么简单。

如我所说,我相信特斯拉是第一家推出适用于横穿车辆的自动紧急制动系统的公司,在过去几个月里,它已经交付给了客户。

但是,基础模型真的只是将这些任务串联在一起吗?我们认为,可以不仅于此。这些任务,如占用率,虽然很通用,但即使在这个空间里,有些数据也很难表达。我可能马上就会讲到细节,

这就是为什么我们正在致力于学习一个更通用的世界模型,能真正代表任意事物。我们建立了一个神经网络,以过去或其他输入为条件,预测未来。

显然,大家一直都在想着要这么做。随着最近transformer、扩散模型等生成式模型的兴起,我们终于也能一展身手了。

你现在看到的,是纯粹生成的视频序列,根据过去的视频,网络会预测未来最有可能的样本。你可以看到,它不仅仅是针对一个摄像头进行预测,而是联合预测汽车周围的所有八个摄像头。

你可以看到,各个摄像头上的汽车颜色是一致的,物体在三维空间中的运动也是一致的。尽管我们并没有显式要求它以三维或非三维的方式进行计算,它们也没有任何三维的先验知识,这只是网络在自行理解深度和运动,而无需我们告知。

由于这只是预测未来的RGB值,所以对于本体的要求非常通用。你可以通过行驶记录、油管或自己的手机获取任何视频片段,任何视频都可以用来训练这个通用的动态世界模型。此外,它还可以附带行动条件,我将展示几个例子。

左边,汽车正在车道上行驶,我们要求它保持在这条车道上继续行驶。然后,如我所说,模型能够很好地预测周围所有几何形体的流动,并理解三维空间。

右边,我们要求它向右变道。(也许我们可以退回去再放一遍)

左边,车子正在行驶,我们让它直行,模型就直行了。然后在右边,我们让它变道,它就变道了。

这两个输出的过去上下文是相同的。在过去相同的情况下,当我们要求它生成不同的未来时,模型就能产生或想象出不同的未来。这超级强大,因为你有了一个可以根据不同的行为模拟不同未来的神经网络模拟器。

和传统的游戏模拟器不同,这个模拟器更强大,因为它可以表示那些很难用显式系统描述的事物。我会再举几个例子,但它超级强大。

此外,其他物体(如车辆)的意图和自然行为也很难显式表示,但在这个世界里却很容易表示。

它不一定只限于RGB颜色,显然,你可以执行不仅限于RGB颜色的预测未来的任务,还可以进行车道(?)分割,或者它们在三维空间中的关联。你可以完全只凭过去和你的行动提示,来想象未来的三维场景。

即使没有提示,你也可以预测不同的未来。个人而言,它的效果好的让我吃惊,我们正在做的工作将有一个激动人心的未来。

下面是一些我认为需要用这个方法来表示的场景案例。

这些图片中有大量的烟雾,或者纸片满天飞。在纸片满天飞的情况下,即使用占用率也很难表达。我们能计算占用率,计算占用率流,但怎么知道那些是纸片呢?怎么知道它的材料特性呢?有一些烟雾,显然,你可以开车穿过它,但它占据了空间,光线无法透过。

驾驶的时候有很多细微的情况,我们必须解决所有这些问题,才能建立一个通用的能在全球行驶的驾驶技术栈,很像人类,速度很快,同时又非常安全。

我认为,我们正在以正确的方法搭建这个系统。

显然,训练所有这些模型需要大量的算力,这也是特斯拉致力于成为全球算力领导者的原因。Dojo是我们在特斯拉定制的训练硬件,它将在下个月开始投入生产。有了它,我们认为我们将成为全球顶级的计算平台之一。

我们还认为,要训练这些视觉的基础模型,我们需要大量的算力,不仅仅是训练这一个模型,我们还需要大量的算力来进行大量不同的实验,以确定哪些模型执行效果良好。

这就是为什么对我们来说,能够获得丰富的算力是一件非常令人兴奋的事情。到那时,唯一的约束将只是工程师们的创意和想法。

这不仅仅是为汽车打造的,也是为机器人。例如,占用网络和其他一些网络,已经被汽车和机器人共享。它们效果良好,通用于这些系统之间。

然后,我们希望把它扩展到所有任务中。例如,车道和车辆检测不应仅限于汽车使用,如果机器人碰巧走上了马路上,并环顾四周,它就应该了解道路和车辆,以及车辆是如何移动的,等等。所有这些都是同时为了这两个平台构建的,未来的机器人平台也会需要它。

我基本上讲完了。

再总结一下,我们正在构建这些超酷的视觉的基础模型,它们能真正理解一切。它们普遍适用于汽车和机器人,它们将基于来自车队的大量的多样化数据和大量的算力进行训练。对于这个领域未来12到18个月将发生的一切,我感到非常激动。

谢谢!

首页
评论
分享
Top