0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用计算机视觉技术实现SLAM的工作流程

Cadence楷登 来源:Cadence楷登 作者:Cadence楷登 2021-04-08 11:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

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

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

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

随着汽车变得更加自动化,并开始具备感知周围环境的能力,对追踪细微英寸=2.54 厘米)级,且无需卫星互联。SLAM 的本质是将未知环境的地图构建转化为计算问题,并同步追踪物体在同一环境的即时定位(包括位置和方向)。SLAM 可以追踪 6 个运动的自由度(6DoF),包括 3 个位置度(上/下、前/后、左/右)和 3 个定向度(偏航、俯仰、滚转),来确定你在环境中的位置(见图 1)。

2613246a-94f7-11eb-8b86-12bb97331649.png

图 1

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

即时定位与地图构建

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

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

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

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

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

SLAM 应用

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

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

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

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

SLAM 的市场趋势

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

26650ac8-94f7-11eb-8b86-12bb97331649.png

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

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

SLAM 的实现条件

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

267819ce-94f7-11eb-8b86-12bb97331649.png

图 4:SLAM 处理流程图

图中每个区块的实现都是基于传统的计算机视觉(Computer Vision)。不同之处在于,它们非常依赖多种不同的线性代数和矩阵运算,承担了繁重的计算任务,且可以实现于 CPUGPU

对一般性使用和原型设计来讲,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 的架构和关键特性。

2683703a-94f7-11eb-8b86-12bb97331649.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 运算的典型架构图。

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

269afd36-94f7-11eb-8b86-12bb97331649.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 相关应用推向汽车市场的关键。

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

文章出处:【微信公众号:Cadence楷登】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    559

    文章

    8220

    浏览量

    364263
  • SLAM
    +关注

    关注

    24

    文章

    456

    浏览量

    33194
  • 自动驾驶
    +关注

    关注

    791

    文章

    14692

    浏览量

    176909

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

文章出处:【微信号:gh_fca7f1c2678a,微信公众号:Cadence楷登】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    上海计算机视觉企业行学术沙龙走进西井科技

    12月5日,由中国图象图形学学会青年工作委员会(下简称“青工委”)、上海市计算机学会计算机视觉专委会(下简称“专委会”)联合主办,上海西井科技股份有限公司、江苏路街道商会承办的“上海
    的头像 发表于 12-16 15:39 169次阅读

    使用代理式AI激活传统计算机视觉系统的三种方法

    当前的计算机视觉系统擅长于识别物理空间与流程中的事件,却难以诠释场景细节及其意义,也无法推理后续可能发生的情况。
    的头像 发表于 12-01 09:44 388次阅读

    STM32计算机视觉开发套件:B-CAMS-IMX摄像头模块技术解析

    CMOS RGB图像传感器、ISM330DLC惯性运动单元和VL53L5CX ToF传感器。B-CAMS-IMX可用于任何具有MIPI CSI-2® 接口(带22引脚FFC连接器)的STM32开发板,轻松在STM32微控制器和微处理器上实现全功能计算机
    的头像 发表于 10-20 09:46 833次阅读
    STM32<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>开发套件:B-CAMS-IMX摄像头模块<b class='flag-5'>技术</b>解析

    易控智驾荣获计算机视觉顶会CVPR 2025认可

    近日,2025年国际计算机视觉与模式识别顶级会议(IEEE/CVF Conference on Computer Vision and Pattern Recognition,CVPR 2025)在美国田纳西州纳什维尔召开。
    的头像 发表于 07-29 16:54 1009次阅读

    自动化计算机的功能与用途

    任务都是通过使用控制机械和流程的自动化计算机实现自动化的。什么是自动化计算机?自动化计算机是工业级计算
    的头像 发表于 07-15 16:32 552次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 536次阅读
    工业<b class='flag-5'>计算机</b>与商<b class='flag-5'>用计算机</b>的区别有哪些

    NVIDIA技术赋能欧洲最快超级计算机JUPITER

    NVIDIA 宣布,搭载 NVIDIA Grace Hopper 平台的 JUPITER 超级计算机成为欧洲最快超级计算机,其运行 HPC 和 AI 工作负载的速度是第二名的两倍以上。
    的头像 发表于 06-12 15:33 1078次阅读

    利用边缘计算和工业计算机实现智能视频分析

    IVA的好处、实际部署应用程序以及工业计算机如何实现这些解决方案。一、什么是智能视频分析(IVA)?智能视频分析(IVA)集成了复杂的计算机视觉,通常与卷积神经网
    的头像 发表于 05-16 14:37 652次阅读
    利用边缘<b class='flag-5'>计算</b>和工业<b class='flag-5'>计算机</b><b class='flag-5'>实现</b>智能视频分析

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    必须严谨,并定期重新校准。 OpenCV与ROS2的无缝结合 OpenCV是计算机视觉的核心工具,书中介绍了如何在ROS2中调用OpenCV进行图像处理(如边缘检测、颜色空间转换等)。 通过ROS2
    发表于 05-03 19:41

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
    的头像 发表于 04-22 14:29 1889次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    Arm KleidiCV与OpenCV集成助力移动端计算机视觉性能优化

    生成式及多模态人工智能 (AI) 工作负载的广泛增长,推动了对计算机视觉 (CV) 技术日益高涨的需求。此类技术能够解释并分析源自现实世界的
    的头像 发表于 02-24 10:15 909次阅读

    AR和VR中的计算机视觉

    ):计算机视觉引领混合现实体验增强现实(AR)和虚拟现实(VR)正在彻底改变我们与外部世界的互动方式。即便是在引人入胜的沉浸式
    的头像 发表于 02-08 14:29 2181次阅读
    AR和VR中的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>

    NX CAD软件:数字化工作流程解决方案(CAD工作流程)

    NXCAD——数字化工作流程解决方案(CAD工作流程)使用西门子领先的产品设计软件NXCAD加速执行基于工作流程的解决方案。我们在了解行业需求方面累积了多年的经验,并据此针对各个行业的具体需求提供
    的头像 发表于 02-06 18:15 767次阅读
    NX CAD软件:数字化<b class='flag-5'>工作流程</b>解决方案(CAD<b class='flag-5'>工作流程</b>)

    工业计算机的定义与重要性

    工业计算机是专门为工业环境设计和制造的计算设备,其主要功能在于监控、控制和优化生产流程。这类计算机系统通常具备强大的处理能力、较高的稳定性以及耐高温、抗震动和防尘等特性,能够在极端的
    的头像 发表于 12-25 15:11 984次阅读
    工业<b class='flag-5'>计算机</b>的定义与重要性

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 1015次阅读