当前位置: 代码迷 >> 综合 >> GTC 2017 | 开放式 AI CAR 计算平台 Drive PX 2 的烧脑解析
  详细解决方案

GTC 2017 | 开放式 AI CAR 计算平台 Drive PX 2 的烧脑解析

热度:88   发布时间:2023-12-19 08:25:28.0

作者:sid 来源自 GeekCar
https://www.geekcar.com/archives/64648
在这里插入图片描述

毫无疑问,「AI 改变自动驾驶」这句话近一段时间似乎成了公认的「真理」,也有越来越多的汽车厂商、Tier1 供应商以及创业公司开始利用人工智能技术推进自动驾驶的发展,我相信他们其中很大一部分离不开利用 GPU 来进行数据收集机器学习训练以及优化具体的场景算法应用。对于做 GPU 的老大哥 NVIDIA 来说,此前年初 CES 发布的 Drive PX 2 平台就是自动驾驶这个场景下诞生的产物。

如果我们简单搜索一下就会发现,在短短两年的时间内,对外公布与 NVIDIA 合作基于 AI 开发自动驾驶技术的公司和团队就涵盖了大部分一线车厂、供应商和明星自动驾驶创业团队,其中包括特斯拉、沃尔沃、奥迪、奔驰、博世、ZF、百度、Uber、PACCAR、Roborace 等。黄仁勋透露,截止目前为止,在全球有近 200 左右的开发者或企业在基于 Drive PX 2 平台开发自动驾驶技术。

在今年的 GTC 大会上,我们有机会深入接触到 NVIDIA 自动驾驶平台 Drive PX 平台的技术研发工程师和产品专家,希望更深入地了解这个平台到底是什么,以及对于开发者来说,吸引力和可能性在哪。

什么是 Drive PX?Drive PX 2 呢?Xavier 又是什么?

在这里插入图片描述

(上图来自维基百科)

DRIVE PX 2 是一个开放式人工智能车辆计算平台,对于车厂和一级供应商来说,可以根据这个平台做快速的、自主定制化的自动驾驶车辆研发。它提供三个功能递进的平台,分别是 AUTOCRUISE、AUTOCHAUFFEUR 和 FULLY AUTONOMOUS DRIVING(全自动驾驶)。此前 ZF 与 NVIDIA 合作推出的 Pro AI 就是基于 Drive PX 2 Autocruise 平台研发的,采用一个 Parker SoC,专为打造从汽车和卡车到叉车和物料搬运车辆等自动驾驶汽车的公司而设计。
在这里插入图片描述

autocruise
从数据上来看,Autochauffeur 的性能相当于 Autocruise「乘以 2」,另外加了两颗基于 Pascal 架构的独立 GPU,可以实现点对点的自动驾驶;而 FULLY AUTONOMOUS DRIVING 则是将多重全方位配置的 Drive PX 2 系统叠加整合到一台车内实现全自动驾驶。Tesla 与 NVIDIA 合作并且在 2016 年 10 月之后量产的 Model S 车型上搭载的也是 Drive PX 2 自动驾驶平台,但具体是哪种 Drive PX 2 平台,我们暂且不得而知。

autochauffer

那 Drive PX 和 Xavier 呢?从图中可以看出,2015 年 NVIDIA 发布的 Drive PX 应该算是 Drive PX 2 的前身,而在 2017 年初 CES 上发布的 Xavier 则是 Drive PX 2 的「进化版本」,是一款完整的片上系统 (SoC),集成了被称为 Volta 的下一代全新 GPU 架构、定制 8 核 CPU 架构以及新的计算机视觉加速器。该处理器提供 20 TOPS(万亿次运算/秒)的高性能,而功耗仅为 20 瓦,能够取代目前配置了两个移动 SoC 和两个独立 GPU 的 DRIVE PX 2,而功耗仅仅是它的一小部分。

nvidia_drive_px_xavier_800

2017 年 3 月份,NVIDIA 宣布和博世合作开发的人工智能自动驾驶汽车电脑,就是基于 Xavier 平台开发的。基于目前的合作情况来看,未来 NVIDIA 和车厂以及一级供应商在自动驾驶领域的合作,很有可能会集中在 Xavier 平台开发。

Drive PX 2 的内部架构及开发逻辑是怎样的?
GTC 的第一天,在 NVIDIA DRIVE 平台产品经理和架构师的演讲中,有一张图或许可以说明整个平台的基本逻辑:

drive platform

NVIDIA 的 DRIVE 平台,最底层是 Drive PX 2 硬件和软件架构,在这一层面,NVIDIA 已经和 ZF、博世这类顶级汽车一级供应商深度合作,根据不同厂商的不同需求做定制化,将 NVIDIA 的硬件架构平台和车上的传感器端以及车辆控制端相连接,通过「车规级」测试并解决「安全」问题。

hwsw

再往上则是 CUDA、CuDNN、TensorRT 以及 NvMedia 这些底层开发工具层。CUDA 是 NVIDIA 创造的一个并行计算平台和编程模型。它利用图形处理器 (GPU) 能力,实现计算性能的显著提高。换句话说,就是可以让 GPU 解决复杂的计算问题,并且可以适应多种常用编程语言。

tensorrt

Tensor RT 可以优化深度学习模型函式库,具有实时回应极度复杂网络的能力。透过训练过的 32 位或 16 位定义神经网络以及设定以降低精度的 INT8 运算为目的进行优化,将深度学习应用的处理量及效率极大化。从图中我们可以看到,有了 Tensor RT 加持,每秒处理图像的能力以及优化训练神经网络和实时性都有提高。NVMEDIA 提供可以调控摄像头或数据的 API 接口,实现图像抓取、图像信号处理、2D 引擎、编码、与其他软件内容交互操作。

driveworks

做个不恰当的比喻,如果把 Drive PX 2 看做一个独立的计算机,那么刚才提到的两个层级就相当于底层架构、驱动程序和操作系统,而再往上一层的 Drive Works,则是操作系统上跑的软件。实际上,Drive Works 是一套给开发者用的自动驾驶汽车软件开发包,开发者可以在这上面实现各种传感器识别、端到端高清制图、定位、路径规划等功能。例如实现摄像头、激光雷达、GPS 以及 CAN 总线等的数据收集、多传感器标定、通过将地图数据和摄像头拍摄图像比对计算实现准确定位。

最后一层是深度学习网络和其他自动驾驶开发应用程序。基于 NVIDIA Drive PX 2,开发者还可以利用深度神经网络实现交通工具识别、地面标线识别、开放路面识别等等 ADAS 功能,甚至多传感器数据融合的深度神经网络分析计算。

对于 NVIDIA 来说,用 GPU 技术推动自动驾驶汽车的发展是个非常好的机会,也正好处在一个十分理想的时间节点,而 Drive PX 2 的出现则给了 GPU 开发者们更大的想象空间。NVIDIA 通过这个平台可以和汽车厂商以及一级供应商建立合作关系,同时让无数对自动驾驶算法有想法的开发者们有了新的创新平台,以此建立起一套更加完善的自动驾驶生态系统。