首页/文章/ 详情

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

7小时前浏览5

简介



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


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


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


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


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


 

图 1


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


   


即时定位与地图构建


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


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


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


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


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


 

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


SLAM 应用


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


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

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

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


SLAM 的市场趋势


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


 

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


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


SLAM 的实现条件


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


 

图 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 的架构和关键特性。


 

图 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 运算的典型架构图。


 

图 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)。


 

图 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/pressrelease/slam-technology-market. [Accessed 1 May 2019].

来源:Cadence楷登
System碰撞电路航空汽车电子消费电子芯片Cadence人工智能Sigrity装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-10-01
最近编辑:7小时前
Cadence楷登
签名征集中
获赞 0粉丝 86文章 251课程 0
点赞
收藏
作者推荐

深度观察 | Cadence 总裁 Anirudh Devgan:用机器学习破解芯片设计桎梏

工具,对于人类而言,是技术进步的重要标识,是一切发展可能的开始,对于芯片这一高精尖科技型产业而言更是如此。面对着系统、工艺和技术的复杂度大幅提升,从芯片的本源需求上出发,芯片设计产业目前正面临着“牵一发而动全身”的技术困境。EDA工具作为芯片设计流程中至关重要的一环,机器学习技术在该领域的广泛应用,将成为打破这一桎梏的重要动力。机器学习引擎的引入,是否能颠覆芯片设计未来? 先进工艺节点所带来的芯片设计难题 芯片设计就是在解决不可回避且棘手问题的过程。从某些角度来说,芯片设计的每一个环节都可以被修改;但在现实中,每次细微的调整都可能导致不同的结果。对这个调整过程进行追溯的需求也是电子设计自动化(EDA)应运而生的原因,每位从事芯片设计分析的人员已经对这个过程的复杂度习以为常。 随着设计尺寸的增加,同时管理大量参数的难度也越来越高。大量参数间的相互作用意味着任何单一数值的变化都可能给预期的功耗、性能与面积(PPA)目标带来影响。 这个过程中的每一个步骤,我们都要使用专门的工具。在芯片设计相对没那么复杂的过去,每个步骤可以像接力赛一样线性按序完成。但随着更先进工艺节点的出现,需要考虑的参数大幅增加,每个决定都会互相影响,就像是在障碍物、天气、交通状况和其他因素全部风云变化的环境下跑一场比赛。 从线性到并行芯片设计流程的转变并不是随机,而是按需驱动的,复杂度的提高是催生这一需求的根源。市场要求厂家更快推出新产品只是一方面因素,对更小产品尺寸和更高功能性不断追求而带来的高水平集成则是另外一个原因。 芯片、模块和 PCB 板级的可配置性与灵活度越来越强,不管采用何种形式的组件都有专门的需求。我们可以简单地将其比作成对象导向的硬件设计,每个元件有独立的参数,每个参数皆在一定范围内可变,每个变量又会对整体设计产生多种影响。 机器学习加持下的 EDA 工具数字化时代的高阶驱动因子 对一个系统中每个元件的每个参数的不同变量进行假设方案分析基本上是不可能的,但这恰恰就是我们希望 EDA 工具可以实现的,Cadence 基于机器学习引擎的数字全流程具备的可视化能力与这一诉求不谋而合。基于机器学习引擎的数字全流程,其意义远不仅仅是作为更好的综合和布局布线工具,它是数字和计算软件时代赋予我们的更高阶驱动因子。 就像半导体行业与技术不断演进的这一客观规律一样,另一个愈发明显的现实就是过去无足轻重的环节和微小的问题,现在已经变为很大的问题且无法避免。理想世界在半导体设计中并不存在,就像 IC 设计工程师永远也无法忽视系统的热分析和管理、信号完整性等系统层参数。未经检查的系统参数出错概率是很高的。现在,系统的参数需要被更严密的考量,甚至本身就是设计的限制条件。 机器学习助力 EDA 工具开启变革时代 现代化芯片设计团队需要随时关注的远不止系统本身,而系统分析也并不是简单的花时间就能完成的。这一问题只能采用类似分布式计算环境的方式解决,并且需要将 EDA 工具重新设计,以适合大规模并行架构的需求。EDA 工具开始采用机器学习(ML)让设计工程师松了口气。现在,机器学习已经开始承担参数检查任务,甚至深度参与系统设计。通过不间断的假设计算,机器学习可以在识别到潜在问题时向设计师及时发出预警。 所以,机器学习可以被用于实现前文提及的前瞻性预测,利用机器学习得到的方法学,可在设计流程早期即可推断出 PPA 结果。机器学习带来的变化是从最底层开始的颠覆,设计工具需要采用全新算法,且不仅需要支持机器学习本身,更要满足并发工作流程的需求。 这种彻底变革是将可部署化、可扩展化的工具流程用于 16nm 及更高阶工艺节点的大型设计的前提。如果要用一个词来提炼,我觉得是相关性,因为每个阶段的设计数据都是互相关联的。这一变化不是单纯的功能实现,它将对系统性能的方方面面和每个系统性能管理工具产生影响。数字全流程环境下,所有的工具都要互相配合。 实际上,这将可以重塑设计流程中的整个工作模式。流程中的很多工具已经开始利用机器学习能力来处理工具中产生的大量底层数据。分布在多个资源处理功能的通用和共享引擎的广泛使用,意味着高层级的设计数据在整个流程中拥有了更高的相关性。来源:Cadence楷登

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈