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
    +关注

    关注

    544

    文章

    7661

    浏览量

    343895
  • SLAM
    +关注

    关注

    22

    文章

    376

    浏览量

    31569
  • 自动驾驶
    +关注

    关注

    773

    文章

    12894

    浏览量

    162909

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

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

收藏 人收藏

    评论

    相关推荐

    机器视觉、工业视觉计算机视觉这三者的关系

    机器视觉、工业视觉计算机视觉这三者的关系
    的头像 发表于 01-24 10:51 487次阅读
    机器<b class='flag-5'>视觉</b>、工业<b class='flag-5'>视觉</b>和<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>这三者的关系

    工业计算机与商用计算机的区别

    工业计算机与商用计算机的区别  工业计算机和商用计算机是两种应用于不同领域的计算机系统。虽然它们在技术
    的头像 发表于 12-27 10:50 217次阅读

    什么是计算机视觉计算机视觉的三种方法

    计算机视觉是指通过为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机
    的头像 发表于 11-16 16:38 1929次阅读
    什么是<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>?<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的三种方法

    最适合AI应用的计算机视觉类型是什么?

    计算机视觉是指为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机
    的头像 发表于 11-15 16:38 211次阅读
    最适合AI应用的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>类型是什么?

    【RISC-V + OpenCV 计算机视觉】用 VisionFive 2 昉·星光 2 进行物体识别

    强大的计算机视觉库,OpenCV提供了丰富的函数和工具,用于处理图像和视频数据,实现各种计算机视觉任务,使目标检测更加简便高效。 00:00
    发表于 09-08 11:42

    视觉SLAM是什么?视觉SLAM工作原理 视觉SLAM框架解读

    近年来,SLAM技术取得了惊人的发展,领先一步的激光SLAM已成熟的应用于各大场景中,视觉SLAM虽在落地应用上不及激光
    的头像 发表于 09-05 09:31 1458次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>是什么?<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>的<b class='flag-5'>工作</b>原理 <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>框架解读

    人工智能计算机视觉方向是什么

    “看”并作出决策。 计算机视觉是人工智能领域的一大分支,是以计算机和数字图像处理技术为手段,通过对视觉信息的处理和分析来
    的头像 发表于 08-15 16:06 1076次阅读

    机器视觉计算机视觉的区别

    机器视觉计算机视觉的区别 机器视觉计算机视觉是两个相关但不同的概念。虽然许多人使用这两个术语
    的头像 发表于 08-09 16:51 1007次阅读

    计算机视觉是什么 计算机视觉历史及发展趋势

    正像其它学科一样,一个大量人员研究了多年的学科,却很难给出一个严格的定义,模式识别如此,目前火热的人工智能如此,计算机视觉亦如此。与计算机视觉密切相关的概念有
    发表于 07-20 15:41 0次下载

    计算机视觉六大主要技术介绍

    本文将对计算机视觉应用中最为广泛的六大技术进行介绍。
    的头像 发表于 07-11 17:06 557次阅读

    使用计算机视觉为工业工人进行跌倒检测

    电子发烧友网站提供《使用计算机视觉为工业工人进行跌倒检测.zip》资料免费下载
    发表于 06-12 16:00 0次下载
    使<b class='flag-5'>用计算机</b><b class='flag-5'>视觉</b>为工业工人进行跌倒检测

    使用计算机视觉进行电梯乘客计数

    电子发烧友网站提供《使用计算机视觉进行电梯乘客计数.zip》资料免费下载
    发表于 06-12 15:35 0次下载
    使<b class='flag-5'>用计算机</b><b class='flag-5'>视觉</b>进行电梯乘客计数

    一套完整的机器视觉系统的工作流程有哪些?

    机器视觉系统的工作流程
    的头像 发表于 06-06 15:17 1368次阅读
    一套完整的机器<b class='flag-5'>视觉</b>系统的<b class='flag-5'>工作流程</b>有哪些?

    什么是机器视觉?机器视觉计算机有什么关系?

    机器视觉计算机视觉有什么区别
    的头像 发表于 06-05 09:28 803次阅读
    什么是机器<b class='flag-5'>视觉</b>?机器<b class='flag-5'>视觉</b>与<b class='flag-5'>计算机</b>有什么关系?

    计算机视觉相关概念总结

    为了帮助同事和客户了解更多有关计算机视觉和AI的更多信息,我们言简意赅介绍一些计算机视觉和AI术语,希望能帮助到大家。
    的头像 发表于 05-31 10:11 489次阅读