罗风 · 2021年05月14日

即时定位与地图构建(SLAM)和自动驾驶汽车:DSP 的设计实现之旅

简介

在汽车最初诞生之时,它仅仅被视作将我们从一个地点快速运送到另一地点的交通工具;但作为如此具有革命性意义的发明,它颠覆了人类了解世界的方式,理所当然也将享受持续创新的加持。

智能化工具的搭载让汽车愈加聪慧,先是以防抱死和动力转向为代表的驾驶员辅助应用,现有人工智能(AI)助力下自动驾驶汽车的崛起。追本溯源,自动驾驶汽车(Autonomous vehicles)须具备的一大关键属性就是追踪定位和运动的能力。

90 年代出现的汽车 GPS 技术已沿用至今,运动追踪现已成为相对简单的任务。但作为一项技术而言,它打开了通往多种定位和路线规划应用的大门。然而,我们也要承认 GPS 的局限性。它的精度只有数米,不适合需要追踪小距离或微距离运动的场景以及在高楼大厦林立的城市或山地等 GPS 卫星不可用的环境,数据获取的困难性也给 GPS 判了死刑。

随着汽车变得更加自动化,并开始具备感知周围环境的能力,对追踪细微运动的需求成为了必然。我们应该拓宽视野,寻找 GPS 之外的解决方案。

幸运是眷顾我们的,即时定位与地图构建(SLAM)的精度可达英寸(1 英寸=2.54 厘米)级,且无需卫星互联。SLAM 的本质是将未知环境的地图构建转化为计算问题,并同步追踪物体在同一环境的即时定位(包括位置和方向)。SLAM 可以追踪 6 个运动的自由度(6DoF),包括 3 个位置度(上/下、前/后、左/右)和 3 个定向度(偏航、俯仰、滚转),来确定你在环境中的位置(见图 1)。

WeChat Image_20210514114018.png
图 1

SLAM 的用途非常广泛。比如,在地图构建应用中,SLAM 可以被用于识别你在所处环境的朝向,如果应用判断你在交叉路口朝向西北,它就可以告诉你接下来要右转还是左转。GPS 计算只知道你现在位于一个交叉路口,却无法知道你的朝向。

即时定位与地图构建

SLAM 让设备拥有了定位感知能力,嵌入式视觉应用也因此取得了重大进步。基于 SLAM,一辆汽车不仅能追踪朝向或方向(定向),同时也可以感知它在所处环境内部的运动方式(位置、速度和高度)。

SLAM 运算所需的数据通常只需由摄像头传感器获取,这个过程被称作视觉实时定位建模(VSLAM)。最近几年,随着更多可用传感器的使用,SLAM 也随之进化,开始融合不同传感器的数据。

SLAM 系统的工作原理是通过连续的影像帧和其它传感器数据对一系列特征点进行追踪,对摄像头的 3D 位置进行三角化,并利用这些信息同步估测摄像头(或其它传感器)的定向。只要确保每一帧影像有足够的可供追踪的特征点,传感器的定向和周围物理环境的结构就能被快速解读。

举个例子,汽车设计的过程中,SLAM 会调用单个或多个前向摄像头、雷达、激光雷达和惯性测量单元(IMUs,提供加速计和陀螺仪数据,用于预估传感器定向),判断汽车在当前环境的运动模式。GPS 数据可用时,也将被用于验证之前的位置预估是否准确。

图 2 展示了车身装配的多种传感器,包括摄像头、雷达和激光雷达等。这些传感器都可以作为 SLAM 的数据来源。

WeChat Image_20210514114040.png
图 2:自动驾驶汽车利用多种传感器和摄像头来感知周围环境

SLAM 应用

SLAM 是驾驶员辅助系统和自动驾驶汽车上多种应用的关键。包括且不限于:

车道保持辅助(和车道偏离预警):除了追踪车道标识,SLAM 也可以确保汽车在同一车道内驾驶,并在变道时保证安全。

导航:通过判断周围环境,并结合预先规划的路径和 GPS 数据,汽车可以利用 SLAM 自我导航至目的地。

前方碰撞预警(FCW):联合 SLAM、汽车当前所处的道路或运行轨迹将被用于更可靠的碰撞预警。

SLAM 的市场趋势

如图 3 所示,SLAM 相关应用市场的规模预计将于 2024 年超过 20 亿美元【1】。增长的主要推手是 SLAM 算法的演进和在多个细分市场的增长。持续的技术开发和对 SLAM 优势意识度的上升是市场需求增加的主要动力。自动驾驶汽车和增强虚拟现实等行业对这项技术不断提高的兴趣也促进了 SLAM 在全球的采纳和扩张。

WeChat Image_20210514114105.png
图 3:SLAM 技术相关市场预计将于 2024 年超过 20 亿美元

不止于此,SLAM 正在被用于室内和户外环境的导航应用,进一步推动这一技术在多个终端用户行业的大规模采纳。过去 5 年间,领先的科技公司显著加大对 SLAM 的投资,并将其作为新产品开发和并购等业务扩张战略的一部分进行考量。

SLAM 的实现条件

图 4 展示了 SLAM 的一般性流程。

WeChat Image_20210514114121.png
图 4:SLAM 处理流程图

图中每个区块的实现都是基于传统的计算机视觉(Computer Vision)。不同之处在于,它们非常依赖多种不同的线性代数和矩阵运算,承担了繁重的计算任务,且可以实现于 CPU 或 GPU。
**对一般性使用和原型设计来讲,CPU 是很不错的选择,但它的性能和能力有限。**首先,用于并行处理的单指令多数据流(SIMD)通道数量较少;其次,功耗效率不高。这两条导致 CPU 不是大规模应用的最佳选择,甚至在某些场景下,CPU 都无法满足 SLAM 的实时性要求。

**GPU 则在计算能力方面提升了一个台阶。它具有多种适合并行处理的模态,可协助实现高性能,并满足即时性需求。**但万物皆有两面性,GPU 是耗能巨兽,功耗巨大。而且,仅仅凭借这一条处理上的优势就想说服 SoC 供应商在有限的布局规划空间额外增加 GPU 所需组件也不太现实。

专属 DSP 大展身手的时机终于到了。DSPs 具备高度可编程的特性,面积小,是多个细分市场大规模部署设备量产的理想选择。

Tensilica Vision Q7 DSP

Cadence® Tensilica® Q7 DSP 是为了实现 SLAM 在边缘及其他设备的高性能而专门设计的。Vision Q7 DSP 已经是 Tensilica 家族的第六代视觉与 AI DSPs 产品。Cadence 对它的指令集进行了优化,使其拥有更高的矩阵运算、特征提取和卷积运算性能,是迄今性能最高的视觉 DSP,并具备在边缘设备运行 SLAM 应用所必须的高性能与低功耗间的完美平衡。

图 5 展示了 Cadence® Tensilica® Q7 DSP 的架构和关键特性。

WeChat Image_20210514114212.png
图 5:Tensilica Vision Q7 DSP 架构

Tensilica Vision Q7 DSP 的高级特性如下:

● 512 MAC(8 位)处理

● 64 路 SIMD VLIW 处理器

● 1024bit 存储接口

● 矢量浮点单元(vFPU)的性能是上一代 DSP 的 2 倍

● 拥有 4 通道的集成 3D DMA

● SLAM 性能加速选项可选

● 运算速度最高可达每秒 2 万亿次运算(TOPS)

此外,Vision Q7 DSP 的设计已通过 ISO 26262 认证,是汽车应用的绝佳平台。下方是将与多种传感器连接的 Vision Q7 DSP 用于 SLAM 运算的典型架构图。

WeChat Image_20210514114241.png
图 6:使用 Vision Q7 DSP 的 SLAM 系统架构示意图

Vision Q7 DSP 也可以用于实现多种去中心化和分布式的系统。DSP 可被布置在靠近传感器的位置,在到达 CPU 之前对数据进行处理,缓解对存储器带宽的需求,同时减少数据传输量。这一方法通常被用于汽车等复杂系统,以满足新一代应用的安全关键和高性能需求。

便捷的开发流程和配套工具

**除了已经获得 Tensilica Xtensa® Xplorer 开发环境的全面支持,Vision Q7 DSP 还可以充分利用已经非常成熟且进行了高度优化的 Cadence Xtensa Imaging Library 图像库。**受到 OpenCV(C++语言计算机视觉库)的启发,Cadence 将多种 OpenCV 函数进行了移植,且沿用了类似的函数名称和 API,让 OpenCV 移植过来更加平滑、容易。

**Vision Q7 DSP 也已经获得 Tensilica Neural Network compiler 神经网络编译器的支持。**Tensilica 神经网络编译器将神经网络结构图编译成 Vision Q7 DSP 可执行、高度优化的高性能代码,这些代码充分利用了优化神经网络库中丰富的函数集。

性能比较

基于单摄像头数据源,Cadence 在公司内部做了 VSLAM 的实现测试,并获得了 SLAM 流水线上不同区块在 Vision Q7 DSP 和 Vision Q6 DSP(Q7 的前代产品)的相关数据(见图 7)。

WeChat Image_20210514114334.png
图 7:Vision Q7 DSP 与 Vision Q6 DSP 的速度对比:在 SLAM 不同功能块上均有 2 倍提升

对比 Vision Q6 DSP,Vision Q7 DSP 的测试结果在 SLAM 流程管线的不同功能块**均****显示了接近 2 倍的性能提升。**优化的指令集,更优的封装,以及数量更多的 MACs 让摄像头位置预估的精度更高,使用 Vision Q7 DSP 加速 SLAM 相关应用的体验也更好。除了性能提升,Vision Q7 DSP 占用的面积和 Vision Q6 DSP 完全一致,且能耗更低,是未来产品的理想选择。

结论

本文中,我们介绍了 SLAM 概念,谈及了将 Vision DSP 用于汽车应用的设计实现方法。我们也比较了 Vision Q7 DSP 与其前代产品 Vision Q6 DSP 的差别,以及对 SLAM 不同模块的性能提升。

本文也讲述了如何用纯粹的计算机视觉技术实现 SLAM 的工作流程。就在最近,通过集成多种卷积神经网络(CNN)层来增强特征点匹配和特征提取也取得了一些进展。Cadence Tensilica Q7 DSP 支持最新神经网络运算所需的各种 layer,让同一 DSP 上融合视觉和 AI 成为可能。

总而言之,视觉处理和 AI 的完美牵手是将新一代 SLAM 相关应用推向汽车市场的关键。

参考文献

【1】A. Bhutani and P. Wadhwani, “SLAM Technology Market size worth over $2bn by 2024,” Global Market Insights, 1 October 2018. [Online]. Available: https://www.gminsights.com/pr... [Accessed 1 May 2019].

作者:Amol Borkar
来源:https://mp.weixin.qq.com/s/pD1lx-RuIKFqgfPEGBpNYw
作者微信公众号
qrcode_Cadence_China_1.jpg

相关文章推荐

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
19301
内容数
1296
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息