登录注册   忘记密码

AI + 5G = 高通的未来汽车之道

之前有文章对比过Nvidia和Qualcomm的自动驾驶方案。和Nvidia主要依赖Deep Learning的自动驾驶方案不同,高通更强调通信的作用,特别是5G在未来自动驾驶中的作用,这也反映了两家公司技术基因的差异。最近高通推出了Snapdragon™ Neural Processing Engine (NPE),加强对on-device deep learning的支持,看起来其汽车平台的拼图更加完整了。


Deep Learning在目前的ADAS中已经有非常广泛的应用,即使不是End-to-End实现,也是整个处理流程中的重要部分(可以参考一下我之前的文章“从TI“新”的自动驾驶战略说起”,https://zhuanlan.zhihu.com/p/27529255)。同时,由于自动驾驶对实时性的要求,进行Cloud端处理几乎不可能,因此,这也是一个on-device inference的重要场景。作为智能终端芯片和设备的大玩家,高通之前在Deep Learning方面出镜不多。不过这次推出Snapdragon™ Neural Processing Engine (NPE) SDK,可以看出是有备而来。上图背景就是高通的Drive data platform的参考设计(后面详细介绍这个平台)。


简单来说,SNPE就是帮助大家在Snapdragon平台上做on-device inference的。

用高通自己话说:

The Snapdragon NPE is engineered to help developers save time and effort in optimizing performance of trained neural networks on devices with Snapdragon. It does this by providing tools for model conversion and execution as well as APIs for targeting the core with the power and performance profile to match the desired user experience. The Snapdragon NPE supports convolutional neural networks and custom layers.

The Snapdragon NPE does a lot of the heavy lifting needed to run neural networks on Snapdragon mobile platforms, which can help provide developers with more time and resources to focus on building new and innovative user experiences.


具体一点来说,SNPE可以实现下面一些功能:

Execute an arbitrarily deep neural network

Execute the network on the Snapdragon CPU, the AdrenoTM GPU or the HexagonTM DSP. DSP is only supported on Android.

Debug the network execution on x86 Ubuntu Linux

Convert Caffe, Caffe2 and TensorFlowTM models to a SNPE Deep Learning Container (DLC) file

Quantize DLC files to 8 bit fixed point for running on the Hexagon DSP

Debug and analyze the performance of the network with SNPE tools

Integrate a network into applications and other code via C or Java


模型训练是在流行的Deep Learning框架(Caffe,Caffe2和TensorFlow模型由SNPE支持)上进行的。训练完成后,trained model将转换为可以加载到SNPE运行时的DLC(高通内部的格式)文件。 然后,可以使用该DLC文件来使用一个Snapdragon加速计算内核来执行向前Inference功能。如下图所示:

640.webp.jpg

基本的SNPE工作流如下:

Convert the network model to a DLC file that can be loaded by SNPE.

Optionally quantize the DLC file for running on the Hexagon DSP.

Prepare input data for the model.

Load and execute the model using SNPE runtime.

640.webp.jpg

高通也给出了一个使用不同的处理器进行Inference的性能差别,可以看出DSP在功耗效率方面优势很明显。由于高通的Hexagon DSP设计还是非常优秀的(参见高通的Hexagon DSP),这个结果比较正常。不过,和专门的DL硬件加速器相比,效率肯定还是有差距的。另外,在目前的硬件架构下,GPU和CPU始终都用的是浮点模型,因此不需要进行量化。而DSP使用定点模型,因此是需要进行量化的。相应的,SNPE提供了进行网络量化的工具。在SNPE文档中也介绍了量化的算法,大家可以参考。


从功能上讲,SNPE可以和Nvidia的TensorRT进行个比较。

640.webp.jpg

TensorRT会根据GPU的架构对训练好的DNN model进行一定的优化。目前,SNPE除了量化以外,好像没有对网络做其它针对硬件的优化,当然底层的库肯定是优化过的。


我的看法:

SNPE的功能和Nvidia的TensorRT类似,主要用于DNN在高通芯片上实现on-device infernce。这个工具可以利用高通芯片中的Hexagon DSP,这相比一般的ARM SoC(使用ARM CPU/GPU来实现DNN Inference)来说是有很大优势的。更重要的是,NPE可以带来很多开发者和更多应用的部署,这可以给高通设计专用的DNN处理器带来大量的经验。


640.webp.jpg

相信大家都对5G非常熟悉了,如果不熟,可以从上面两张图大体了解5G的应用和技术目标。具体我就不在这里赘述了,我们直接来看看5G对汽车行业的影响。

640.webp.jpg

根据高通和研究机构的一项调查,“到2035年,5G技术预计将在更广泛的汽车行业实现超过2.4万亿美元的经济产出 - 几乎占全球5G全球影响的20%”。我们暂且不考虑这个数字的准确程度,毕竟2035年是一个比较远期的预测。但从这里可以看出,汽车行业将是5G关注的一个重点应用领域。


那么,5G到底能给汽车行业带来哪些变化呢?概括的说,包括下面两大方面。更低的排放和事故率;更高的效率和更好的用户体验。

640.webp.jpg

在开发3G和4G移动通信技术的时候,面向消费者的高速数据通信是考虑的重点;而在5G中机器和机器(machine-to-machine)之间的通信则越来越重要。虽然现在已经有一些汽车有上网的能力,但是汽车与其它车辆(V2V),与行人(V2P),与网络(V2N)以及与周边的基础设施(V2I)的通信都还在研发当中。而5G中的强调的V2X(vehicle to everything)将会很好的支持这些通信模式。


如果说自动驾驶技术让汽车能够“感知”和“思考”的话,V2X则给了汽车“交流”的能力。而这种“交流”能力,可以让汽车分享信息和知识,变得更为聪明和安全,也可以在更广泛的层面上让我们的整个交通系统更加智能。换句话说,就是从汽车“个人智慧”扩展到了“群体智慧”。


一个有趣的例子高密度车辆编队应用。两辆车或多辆车同向行驶,前车作为领航车。前车在进行紧急制动、变道、转弯时,实时将操控信号通过5G基站传达到后车,后车在极低时延下收到信号指令,及时做出与前车协同一致的动作。而在这种高密度车辆编队应用中,要求车辆可以在80公里时速的情况下,保持1m的车距。高密度车辆编队中使用5G所使能的自动驾驶或无人驾驶,整个车辆编队步调一致,车辆间的安全距离也可缩小,直接降低风阻造成的燃油消耗,节省雇佣司机的人力成本,同时使整个车队的安全性也得到保障。


当一辆自动驾驶汽车自身的传感器受到天气等因素的影响时,有了5G的V2X能力,就有可能从别的车辆或者路边的设施获得帮助。当一辆自动驾驶汽车“看到”前面有必须避让的障碍物的时候,可以通过V2V来分享这一信息,让后车有更多时间准备做出避让动作,或者提前处理避免拥堵。V2X可以使自动驾驶车辆“知道”哪里有停车位,并确定路边停车场的替代方案,加速交通和减少拥堵。V2X也适用于公共交通工具,并将改变公共汽车和出租车运营方式。试想一下,公交车也可以根据交通状况和乘车需求设计灵活的路线。增加数据共享意味着可以对车辆路线进行实时调度,并允许他们在较长的时间内自主运行,使商业运输和配送服务将变得更加有效。其实,类似的例子大家只要稍微想想就应该可以举出很多。

640.webp.jpg

最后,我们来看看高通是怎么把智能和通信技术结合起来,形成的一个面向未来的汽车解决方案的。这个Drive Data Flatform基于Qualcomm Snapdragon 820Am automotive processor(集成X12 LTE modem,802.11p,Wi-Fi and Bluetooth LE)和Snapdragon™ Neural Processing Engine。这个平台并不是5G,Deep Learning也是初步应用。不过,在这个平台上,高通还是给我们展示了一些很有意思的功能。


一个例子是GPS和VIO(Visual Inertial Odometry)融合技术,即结合camera和IMU(Inertial  motion censor)来协助定位。首先,利用Machine Learning对道路上的标志物,车道和红绿灯等进行实时的识别,进行标记后送到云端;云端的map engine根据很多车辆提供的信息,把这些标志物和精确的3D地图位置对应起来;而标志物的精确位置可以更准确的确定车辆的位置,即Localization using map fusion。通过这种方式可以提供比传统GPS更准确的位置信息。


而基于汽车的智能和V2X来共享信息和知识将会得到广泛的应用,如下图。当一辆汽车收集(通过对环境的感知)了沿途的红绿灯信息,临时交通标志,事故和路况等信息,就可以及时把它分享给其它汽车。

640.webp.jpg

此外还可以通过大量汽车来测量通信网络的信号质量,帮助运营商改善网络,等等。感兴趣的话,大家可以点击文末的阅读原文看看他们的Video。


总  结:

虽然AI和5G都还在路上,但它们结合起来,无疑会给汽车产业带来几乎无限的想象空间。如果我们把自动驾驶汽车看成是一种革命的话,把大量自动驾驶汽车,传统汽车,其它交通工具以及周边环境连接而起来形成的巨大智能体,给我们带来的就是一个全新的世界了。


而对于高通来说,面对不断下滑的利润,能不能抓住AI和5G相结合的机会,应该是至关重要的。

您的评论:

0

用户评价

  • 暂无评论