Tesla Open AI Day解读
Posted wang-jue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tesla Open AI Day解读相关的知识,希望对你有一定的参考价值。
一、背景介绍
2021年08月20日,特斯拉在Open AI Day上介绍了最新的自动驾驶进展。视频YouTube链接、B站链接。智能驾驶三要素:安全、舒适、高效。整个介绍主要分为三个部分,第一部分视觉感知,主要是通过视觉方法实现检测、识别、分割、速度、方向的预测;第二部分规划决策,包括路径规划、转向、停车等场景下的问题决策;第三部分硬件,加速芯片、显卡。
二、视觉感知
背景介绍上来先给了一张图,也就是Tesla智能驾驶摒弃了激光雷达,通过全视觉方案完成智能驾驶。通过车载八个摄像头完成全方位视觉感知,映射到三维向量空间中。 后面又给出一张图,即通过神经网络的建模,来模拟大脑视觉皮层的视觉感知,这里我就贴图了。
这里要明确一下两个概念:(1)图像空间:图像拍摄的空间;(2)向量空间:在真实三维场景中,需要将所有的检测结果转换到真实的场景位置坐标中。
1、视觉感知基本框架
下图是一个视觉感知的基本框架:
由下往上,逐层分析:
(1)输入:相机输入是1280×960,12-Bit,36Hz的图像,也就是每秒36帧12位的1280×960的高清图像(这里应该是多机位的,也就是每个摄像头都是一秒36帧图像);
(2)RegNet:网络的骨干网络是RegNet,来源于何凯明大神2020年的论文《Designing Network Design Spaces》;
(3)BiFPN:采用BiFPN的多尺度特征融合方法,可以获得四个尺度160×120×64、80×60×128、40×30×256、20×15×512的多尺度特征图,用于感知不同尺度的目标;
(4)Detection Head:这里只说了“Yolo like”的框架,应该是类似于YOLO的单阶段检测算法;最终通过输出的二进制特征图判定每个位置是否有目标以及目标的属性。
2、HydraNets
HydraNets,多任务学习的感知框架,这里多任务共享特征,同时进行多任务处理。
分析有三个特点,如图所示:
(1)特征共享:通过backbone网络进行特征提取之后,同时可以进行多个任务的处理,提高推理效率;
(2)解耦合:多个任务间互不干扰;
(3)Fine-Tuning:在fine-tune时可以将backbone网络固定住,只训练检测头的参数,提高效率。
3、多角度信息融合难点
不同视角下相机的检测结果需要进行融合,以获得车辆周围的信息感知。但是有两个难点:
(1)不同角度相机的检测结果难以融合,如果通过调节参数来做很麻烦(比如车辆 不同,相机安装不同都需要重新调整);
(2)图像空间的检测结果与输出空间的检测结果不同。
多相机的不同角度检测结果融合会导致较大的偏差,比如图像到向量空间中映射偏差、离相机距离近的特征点密集,远的离散,导致预测车道线等不连续。
对于不同相机拍摄到的同一个目标,由于位置偏差看到的都是目标的局部信息,无法判断属于同一目标。
4、多相机向量空间预测/校准
既然每个相机预测的结果进行融合会导致很大的偏差,通过多个相机的图像的特征进行融合,然后再进行检测(也就是把多个图像特征融合在一起,最终只预测出一个结果),就能很好的解决多相机预测融合的问题。
这个框架图看起来很明朗,多机位的相机拍摄到图像,经过BackBone进行特征提取,获得多尺度特征,最后送入到红色的框框中,最后完成检测。(感觉这里不同角度所用的BackBone的参数应该是不同的,相机角度不同,获得的图像也不同,比如正前方的平视与侧面的拍摄的凸面图像是不同的)
这样就会存在两个问题:图像到向量空间的转换、需要向量空间的数据。
(1)图像到向量空间的预测
通过Transformer来实现多机位特征到结果的预测,由于通过融入不同相机的位置信息,能够获得准确的空间位置映射。
(2)多机位相机校准
不同相机安装过程中存在一些位置误差,或者不同车型安装相机的位置不同,这样就很难保证所有的相机的图像/特征的位置准确性,图像的上面一行表示一些偏差分布。通过MLP(Multilayer Perceptron)将每一个相机映射到虚拟相机中,由于映射到的每个虚拟相机的位置是固定的,保证了空间向量的准确性。
(3)多相机融合校准结果
后面给出了通过Transformer以及多机位的校准,可以获得准确、连续的检测结果。左图是通过多相机检测结果融合、右图是通过特征融合以及Transformer预测的结果。
下图表示的是单相机检测结果融合与多相机特征融合的检测结果比较。可见单相机检测结果融合(黄色)由于角度偏差预测的结果不准确;而多相机(蓝色)特征的融合检测结果更加准确(避免多个相机检测结果融合的不确定性)。
5、信息感知的时序性
视觉感知是缺乏时序信息的,比如表示前方的信息、信号灯、前方车辆速度等。
(1)时序/视频网络框架
提出视频模块,保留一段时序特征图,通过队列的数据结构实现。
(2)特征时序序列
通过进队出队的方式维持一个时序特征图,包括多机位的特征图、位置编码、其他自身信息。基于时间或者位置进行进队操作,比如间隔27ms、行进1m等。
(3)Spatial RNN
现在有了时序的数据/特征,需要通过建模实现时序的特征检测,这里对比了3D Conv、Transformer、RNN三种框架,都有一定的缺点。提出Spatial RNN Video模块,车辆行驶在二维的坐标中,而Spatial RNN用来提取车辆周围一部分的特征信息实现检测(这一部分介绍的比较少,没有具体搞明白细节怎么处理的)。
(4)检测结果可视化
车辆行驶过后的检测结果可视化,可以看到很好的将驶过的路径绘制出来。由于video的时间序列,相比单帧的图像而言,可以很好的检测目标(由于帧序列的原因,对于每个目标是唯一的;而单帧图像无法确定是否为同一个目标)。
相比单帧预测的结果而言,因为时序特征序列的作用,可以很好的对前方车辆的速度进行预测(绿色是雷达计算的、蓝色是预测的结果)。
6、视觉感知框架总览
由下向上介绍:
(1)多机位相机拍摄到不同角度的图像;
(2)经过RegNet网络及BiFPN进行特征提取;
(3)经过Transformer进行特征融合及MLP的特征修正;
(4)通过队列的方式获得Video的特征;
(6)经过Spatial RNN进行特征提取;
(7)最终再经过不同的检测头实现车辆、行人、车道线、深度图、速度/方向等检测。
三、规划决策
规划决策有两个难点:(1)Non-Convex(非凸难以优化):将离散搜索转化为连续的函数优化,会容易陷入局部最优;(2)高维的参数量(参数空间分布很广):在车辆行驶中有众多的参数,需要在接下来的几秒内做出决策,离散搜索的计算复杂度太高。提出方法:
向量空间 -> 粗略搜索 -> 凸空间连续性 -> 连续优化 -> 平滑决策解
1、转弯问题
下图场景中,当前车辆在最右道,需要前进然后在路口进行左转。其中右边上图表示需要在上面一条红线之前完成转弯;下图表示车辆速度。有很多中方式:
(1)先减速然后等后面的车辆驶过之后变道(缺点:突然减速,不舒适);
(2)先加速超车然后变道(缺点:可能会超过转弯的距离,无法实现转弯)。
在1.5ms内搜索2500中可能方式,最终平衡舒适和安全的前提下找到一个合理的决策,然后在转弯10秒钱做好转弯的规划。
2、决策问题
在行驶过程中迎面而来一辆汽车,需要判断做出何种让步。
(1)如果对面速度较快,可能判断停下的概率较低,而不让步的概率大;
(2)如果对面速度较慢,或者我们行驶的较快,应该大胆的向前走,使得对面停车(避免自动驾驶的车辆过于胆小,总是让步,降低效率)。
以上是关于Tesla Open AI Day解读的主要内容,如果未能解决你的问题,请参考以下文章
『AI原理解读』MindSpore1.2强大并行能力介绍与解读
『AI原理解读』MindSpore1.2强大并行能力介绍与解读
AI绘画 | draft意间国产draft推荐及AI绘画背后的原理解读