徽州骆驼 · 2021年08月04日

如何打造自动驾驶的数据闭环?(中)

接上篇文章:如何打造自动驾驶的数据闭环?(上)

3 训练数据标注工具

其实AWS的机器学习平台本身也提供了数据标注工具Amazon SageMaker Ground Truth。

如图是微软开源标注工具VOTT(Video Object Tagging Tool):

1.jpg

2.jpg

标注工具可以是全自动、半自动和手工等3类。

比如人工标注工具:摄像头图像LabelMe和激光雷达点云PCAT

还有半自动标注工具:摄像头CVAT、VATIC,激光雷达3D BAT、SAnE,图像点云融合Latte

自动标注工具:基本没有开源(商用也没有吧)的工具可用。

这里有一些自动标注方面的论文:

  • “Beat the MTurkers: Automatic Image Labeling from Weak 3D Supervision“

3.png

  • “Auto-Annotation of 3D Objects via ImageNet“

4.png

  • “Offboard 3D Object Detection from Point Cloud Sequences“

5.jpg

这里是Nvidia在会议报告中给出的端到端标注流水线:它需要人工介入

6.jpg

在这里顺便提一下“数据可视化”的问题,各种传感器数据除了标注,还需要一个重放、观察和调试的平台。如图是Uber提供的开源可视化工具 Autonomous Visualization System (AVS):

7.jpg

888.jpg

其中”XVIZ“是提出的自动驾驶数据实时传输和可视化协议:

8.jpg

另外,“streetscape.gl“是一个可视化工具包,在XVIZ 协议编码自动驾驶和机器人数据。它提供了一组可组合的 React 组件,对 XVIZ 数据进行可视化和交互。

9.jpg

4 大型模型训练平台

模型训练平台,主要是机器学习(深度学习)而言,前面亚马逊AWS提供了自己的ML平台SageMaker。我们知道最早有开源的软件Caffe,目前最流行的是Tensorflow和Pytorch(Caffe2并入)。

10.jpg

Tensorflow

11.jpg

Pytorch

在云平台部署深度学习模型训练,一般采用分布式。按照并行方式,分布式训练一般分为数据并行和模型并行两种。当然,也可采用数据并行和模型并行的混合。

模型并行:不同GPU负责网络模型的不同部分。例如,不同网络层被分配到不同的GPU,或者同一层不同参数被分配到不同GPU。

数据并行:不同GPU有模型的多个副本,每个GPU分配不同的数据,将所有GPU计算结果按照某种方式合并。

模型并行不常用,而数据并行涉及各个GPU之间如何同步模型参数,分为同步更新异步更新。同步更新等所有GPU的梯度计算完成,再计算新权值,同步新值后,再进行下一轮计算。异步更新是每个GPU梯度计算完无需等待,立即更新权值,然后同步新值进行下一轮计算。

分布式训练系统包括两种架构:Parameter Server Architecture(PS,参数服务器)和Ring -AllReduce Architecture(环-全归约)。

如下图是PS结构图:

12.jpg

这个图是Ring AllReduce的架构图:

13.jpg

Pytorch现在和多个云平台建立合作关系,可以安装使用。比如AWS,在AWS Deep Learning AMIs、AWS Deep Learning Containers和Amazon SageMaker,都可以训练Pytorch模型,最后采用TorchServe进行部署。

Pytorch提供两种方法在多GPU平台切分模型和数据:

  • DataParallel
  • distributedataparallel

DataParallel更易于使用。不过,通信是瓶颈,GPU利用率通常很低,而且不支持分布式。DistributedDataParallel支持模型并行和多进程,单机/多机都可以,是分布训练。

PyTorch 自身提供几种加速分布数据并行的训练优化技术,如 bucketing gradients、overlapping computation with communication 以及 skipping gradient synchronization 等。

Tensorflow在模型设计和训练使用也方便,可以使用高阶 Keras API;对于大型机器学习训练任务,使用 Distribution Strategy API 在不同的硬件配置上进行分布式训练,而无需更改模型定义。

其中Estimator API 用于编写分布式训练代码,允许自定义模型结构、损失函数、优化方法以及如何进行训练、评估和导出等内容,同时屏蔽与底层硬件设备、分布式网络数据传输等相关的细节。

tf.distribute.MirroredStrategy支持在一台机器的多个 GPU 上进行同步分布式训练。该策略会为每个 GPU 设备创建一个副本。模型中的每个变量都会在所有副本之间进行镜像。这些变量将共同形成一个名为MirroredVariable的单个概念变量。这些变量会通过应用相同的更新彼此保持同步。

tf.distribute.experimental.MultiWorkerMirroredStrategyMirroredStrategy非常相似。它实现了跨多个工作进程的同步分布式训练,而每个工作进程可能有多个 GPU。与MirroredStrategy类似,它也会跨所有工作进程在每个设备的模型中创建所有变量的副本。

tf.distribute.experimental.ParameterServerStrategy支持在多台机器上进行参数服务器PS训练。在此设置中,有些机器会被指定为工作进程,有些会被指定为参数服务器。模型的每个变量都会被放在参数服务器上。计算会被复制到所有工作进程的所有 GPU 中。(注:该策略仅适用于 Estimator API。)

5 模型测试和检验

模型的测试和检验可以分成多种方式:

一是仿真测试检验。建立仿真测试环境,比如开源的一些软件平台:

  • Carla

14.jpg

  • AirSim

15.jpg

  • LGSVL

16.jpg

还有一些成熟的商用软件,也可以构建仿真测试环境:Prescan和VTD。存在一些仿真子模块,比如开源的交通流仿真方面SUMO,商用的动力学仿真方面CarSim、Trucksim和Carmaker等。测试方式包括模型在环(MIL)、软件在环(SIL)、硬件在环(HIL)和整车在环(VIL)等。传感器的仿真,特别是摄像头的图像生成,除了图形学的渲染方式,还有基于机器学习的方式。

这里列出Uber ATG发表的一系列仿真建模论文:

“LiDARsim: Realistic LiDAR Simulation by Leveraging the Real World“

17.jpg

”S3: Neural Shape, Skeleton, and Skinning Fields for 3D Human Modeling“

18.jpg

”SceneGen: Learning to Generate Realistic Traffic Scenes“

19.jpg

”TrafficSim: Learning to Simulate Realistic Multi-Agent Behaviors“

20.jpg

”GeoSim: Realistic Video Simulation via Geometry-Aware Composition for Self-Driving“

21.jpg

“AdvSim: Generating Safety-Critical Scenarios for Self-Driving Vehicles“

22.jpg

另外谷歌Waymo最近推出的传感器仿真工作:

”SurfelGAN: Synthesizing Realistic Sensor Data for Autonomous Driving“

23.jpg

二是封闭场地的实车测试检验。各大车企都有自己的测试基地,现在自动驾驶方面也可使用。其开销远大于仿真系统。

24.jpg

谷歌waymo测试场

三是开放场地的测试检验。现在好多L4级别的自动驾驶,比如无人出租车/无人卡车/无人送货,都在做这种政府批准的实际驾驶实验区测试。这种测试,必要时候安全员的接管或者遥控接管,都是需要花费大量投入的。

25.jpg

GM的自动驾驶公司Cruise在旧金山测试

最后是用户的测试检验。这个是特斯拉特有的影子模式,以及FSD beta版本测试的志愿者模式。

26.jpg

特斯拉的“Operation Vacation”模式

如图是英伟达报告描述的车队级别的模型部署闭环:

27.jpg

作者:黄浴
来源:https://mp.weixin.qq.com/s/qbEHFfCwUbBjkkjQrkM7Ag
微信公众号:
汽车电子与软件.jpg

推荐阅读:

更多汽车电子干货请关注汽车电子与软件专栏。

推荐阅读
关注数
5606
内容数
320
汽车电子与软件行业的相关技术报道及解读。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息