特斯拉自动驾驶最新专利:从实景中快速获取时间维度的训练数据方法(2)

来源:公众号“燃云汽车”(转载自公众号“车右智能”)
2020-08-20
3385

接上期。


在上一章节中,我们介绍了在这个涉及“Autopilot自动驾驶深度学习网络”的“训练方法”和“部署方法”的专利中,对于自动驾驶系统的各种技术环节定义。虽然是按照专利的、概要的功能框架图给出介绍,但实际上其所覆盖的方方面面(特别是框图中的各种功能变种)其实是都涉及到了。这是由专利的一般写法所决定的,毕竟专利文件要事无巨细覆盖各种可能的情况,以最大程度地保护专利申请者的技术利益。所以从技术解释上讲,有些重复和重叠的概念和描述,希望读者可以自行甄别清楚。


下图中,我们按照“流程/Process”而非“功能框架”的方式,继续介绍Tesla的新专利。



              

这是比较完整的Tesla处理实景数据的技术流程,其实在我们之前的很多公众号文章中都有涉及,如果将上图中的模块211回连回模块201,形成一个闭环,实际也是讲得通的,即我们多次讲过的,Tesla的大数据闭环系统。


上图流程基本包含两个细分过程,“自动驾驶操作过程”和相伴相生的“自动驾驶数据收集/训练过程”。


201步骤负责准备模型用的训练数据(数据来源可以是车队上报的实景数据,也可以是离线获取的、相关的启动数据);

——>203步骤在云端(可能是Dojo系统)执行高计算资源消耗的模型训练过程;

——>205步骤在模型训练收敛并通过测试之后,将合格的自动驾驶模型OTA方式部署给部分或者全部车队车辆;

——>207步骤在部署了新模型的车辆上执行自动驾驶,其所接收的传感器数据将会分门别类在本地利用、或者按照上报策略执行上报;

——>209步骤在车辆FSD上对于207所采集到的数据进行本地处理并交由自动驾驶模型(训练合格的)处理,完成自动驾驶所需要的各种决策和分析;

——>211步骤中,模型所给出的决策被交给控制机构执行,在油门、刹车和方向盘控制三个方向上完成自动驾驶。


在这个完整的流程中,如果将211步骤中车辆在自动驾驶状态下所遇到的(且被传感器阵列所捕捉和感知的)Corner case数字化并上传到云训练中心,和201步骤中的“筛选和储备训练数据”步骤所对接,为自动驾驶模型的训练数据集提供更有价值的训练数据源,则可以形成积极的闭环结构。


以下我们分别介绍每个步骤:


步骤201中,需要完成训练数据的获取和准备过程。数据的主要来源是两个方面,一个是车载传感器获取的车辆外部数据,另一个是车载传感器获取的车辆内部数据。后者在专利中被统称为odometrydata(并非仅指轮速传感器)。因此,主要的训练数据构成为图形数据和车辆的odometry数据。图形数据包含静态的图片数据和动态连续的视频数据,囊括车身部署的全部8个摄像头数据;其它配套传感器例如毫米波雷达、超声波雷达和Lidar激光雷达等等天然结构化的数据同样被收集,可以作为视觉数据的“相关数据”一起被纳入训练数据集中。


这里小编可以给出一个实际的案例,在之前的公众号文章中我们曾经讲过,Karpathy解释过,毫米波雷达数据拥有天然的车辆速度测量精度,因此在判定邻车速度/换道等实际场景中,可以作为视觉数据的补充数据(or校准数据),从而协助视觉识别技术的完善。


关于车辆的内部数据,即odometry数据,同样可以和外部传感器数据(即捕捉车辆本体以外的外部数据的传感器数据)实现搭配,从而对于外部传感器数据的分析提供便利和基准。举例说明,车辆本体的位置数据(通过GPS测量而得到)以及位置的变化率数据(基于GPS测量数据的计算而得来)可以被用来标注或者关联存储外部传感器所捕捉的有关位置的外部数据,例如:车道线、交通信号系统或者外部目标实体的识别等等。如我们所知,训练集中的“关联”和“标注”特征,都是对于训练自动驾驶模型大有裨益的数据结构。


关于车辆的外部数据,例如视觉传感器数据,其捕捉过程本身即是一个带时间维度的数据捕捉和记录行为,从捕捉的第一张图片开始,每一个图形数据记录都有时间标注,可以被用作Ground truth真值序列而记录。因此训练集中的任何被整理和存储的训练数据集合,即都是具备Ground-truth基础的。这种严格的时间相关数据集合,可以保证模型在训练阶段即面临来自真实世界的时序和物理挑战/训练,不会在逻辑上发生意外。


模型训练的过程和结果本身,是和我们对于自动驾驶模型的功能定义不同而不同的。在本专利中,Tesla强调了不同的训练数据是为了不同的自动驾驶功能而分别准备的,例如:对于车道线的识别、对于车辆的轨迹预测、对于交通流量的分类或者预测,都需要不同的训练数据。从这一步骤也能看出显然这个方法不是为端到端的自动驾驶系统所准备的。


其它还包括,训练数据的准备同时也要兼顾矫正数据/Validationdata set和测试数据/Testing data set的准备。另外,训练数据的格式也严格和传感器的种类和规格相关,是各自不相同的。关于训练数据的标注,有一部分是必须由人工执行标注的,还有部分是可以通过获取方法来实现自动标注过程的,从而可以降低训练数据的获取成本。在Tesla的实现方法中所谓自动标注效果的过程,众说纷纭,有很多推测了。例如Shadow mode/阴影模式即是一种通过对比人类驾驶员和后台Autopilot自驾系统的决策差异,而做出的自动标注过程。潜台词是,人类是正确的,Autopilot需要据此而做出新的训练和完善…….也许吧,小编无法证实这种自我标注方式的完善性和合理性。


步骤203中,根据不同的深度学习模型的种类和设计目标,来执行不同的训练过程。最显著的特征就是CNN网络,可以是CNN的各种实现,可以包含不同的层数,还可以包含各种Pooling层。另在训练过程中,需要保留足够的矫正数据集来矫正经过训练的模型。


步骤205中,通过训练、矫正和测试的深度学习模型,将会得到部署。部署到实际车辆的技术手段一般都是通过OTA(Over-the-Air)渠道来完成,或者是WiFi或者是其它无线技术(比如4/5G)。专利中还指出一个比较有趣的点,即Tesla希望可以在即便车辆处于运行状态下的时候,也可以完成新的深度学习模型的更新和安装。但其并未给出实际更新方法,以及如何在更新过程中保证自动驾驶的持续安全。


模块207中,自动驾驶的深度学习模型在实际部署之后,将开始接收全车传感器的各种数据,并进行接收数据的适应性处理。传感器阵列所给出的数据如果不符合深度学习模型的输入要求,则需要有个转化过程,这个过程不仅是格式上的转化,也会包含数据的预处理过程。后者我们在之前的系统框架介绍中曾经讲过,图像的预处理过程对于Tesla这种以视觉数据为绝对主流数据来源的解决方案来说,格外重要。


模块209中,深度学习模型得到实际的应用,完成自动驾驶决策。模型的实际应用是构建于包含AI processor的FSD硬件和深度自动驾驶网络软件的基础之上的。


上图为例,显示了深度学习模型实际应用的结果。可以看到以视觉数据为输入的前提下,车辆自主的自动驾驶算法完成了完整的“感知领域”的深度学习模型的应用,识别出的各类物体、道路标识、路旁标识牌、道路边界区域、可行驶和非可行驶区域、道路环境和天气分类、道路非可见区域的延伸区域预测……等等识别结果。但是上图实际并未包含全部的识别、预测、学习结果,仅仅是个示例。


模块211中,深度学习模型的输出完成对于车辆的驾驶,就不再赘述了。但需要关注的一点是,这步骤的实现,或者说这个功能模块的实现,应该是依赖人工编写的代码实现,而非通过深度学习模型。举例,当过程209中通过深度学习模型识别出左右两侧的车道线和可驾驶区域的时候(或者预测未来的车道线走向和可驾驶区域),则车辆控制代码完成对于车辆的方向角和速度的控制,从而确保其处于正确的行驶道路之上。


本期针对深度学习网络训练流程的分析到此为止,下期我们将开始关注在实际运行过程中,Ground-truth的训练数据是如何生成并被搜集的。


下期再见!


备注:

1 题图来自互联网搜索;

2 文中所涉及的专利来自Tesla,信息获取自公开的专利渠道,https://patentscope2.wipo.int/search/en/detail.jsf?docId=WO2020159960&tab=PCTDOCUMENTS

3 文中插图1来自Tesla的专利文件“WO2020159960Generating ground truth for machine learning from time series elements”截图;

4 文中插图2来自于Tesla的一段30秒自动驾驶识别结果展示的截图,https://www.tesmanian.com/blogs/tesmanian-blog/musk-recruits-ai-or-chip-team-members-for-tesla-training-computer-dojo-development


声明:本文内容及图片由BC-AUTO转载至网络,信息来源于公众号车右智能


收藏
点赞
2000