热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动驾驶中的9种传感器融合算法

来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的

来源丨AI 修炼之路

在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的安全性。

为了更好地理解,让我们考虑一个简单的例子,如激光雷达和相机都在看着行人: 

  • 如果两个传感器中的一个没有检测到行人,我们将使用另一个传感器作为冗余来增加检测到行人的机会。

  • 如果两个传感器都检测到了行人,传感器融合技术将使我们更准确地知道行人的位置……通过处理两个传感器的噪声值。

由于传感器是有噪声的,因此需要传感器融合算法来处理这些噪声,并尽可能进行最精确的估计。

在融合传感器时,我们实际上是在融合传感器数据,或者叫做数据融合。有9种方法可以构建数据融合算法。这9种方法又可以分为3大类。

本文将重点介绍传感器融合的3种分类和9种算法

按抽象级别进行传感器融合

最常见的融合类型是抽象级别的。在这种情况下,问题是“应该什么时候进行融合?”

文章激光雷达和摄像头的融合中描述了早期(EARLY)和后期(LATE)融合两种过程。

在业界,还有其他称呼:低级(Low Level)、中级(Mid-Level)和高级(High-Level)传感器融合。

低级别融合:融合原始数据

低级别传感器融合是关于融合来自多个传感器的原始数据。例如,融合来自激光雷达的点云数据和来自摄像头的像素级数据。

✅ 这种类型的融合在未来几年具有很大的潜力,因为其考虑了所有数据。

❌ 早期融合(Low-Level)几年前还很难做到的,因为所需的处理量很大。每毫秒可以将数十万个点与数十万个像素融合在一起。

下面是一个摄像头和激光雷达低级别融合的示例。

525847406daae70400ade69a4e71464d.png

在此过程中使用了对象检测,但真正完成这项工作的是将3D点云投影到图像中,然后将其与像素关联起来。

中级别融合:融合检测数据

中级传感器融合是将传感器独立检测到的物体进行融合。

如果摄像头检测到障碍物,雷达也检测到它,我们把这些结果融合到一起形成对障碍物的位置、类别和速度的最佳估计。通常使用的方法是卡尔曼滤波器(贝叶斯算法)

✅ 这个过程很容易理解,并且包含了几个现有的实现。

❌ 它严重依赖于检测器。如果一个失败,整个融合都可能失败。卡尔曼滤波器来解决这个问题!

中级传感器融合示例:

6c35244af5e0fd0938e000963d33f3be.png

在此示例中,我们将来自激光雷达的3D边界框与来自对象检测算法的2D边界框融合在一起。该过程有效;但也可以逆转。可以将3D激光雷达的结果映射到2D中,并在2D影像中进行数据融合。

高级别融合:融合轨迹

最后,高级传感器融合是关于融合对象及其轨迹。我们不仅依赖于检测,还依赖于预测和跟踪。

✅ 此过程高一级,其优点是简单。

❌ 一个主要问题是可能会丢失太多信息。如果追踪是错误的,那么整件事都是错误的。

雷达和摄像头之间按抽象级别的数据融合图:

8dffdf96ddaa0797ac812eff87f80662.png

中心化级别的传感器融合

融合算法的第二类方法是按中心化级别来区分的。该场景下的问题是“融合在哪里发生?”。主计算机可以做,或者每个传感器可以做自己的检测和融合。一些方法是通过使用称为卫星架构的技术来做融合的。

我们来了解一下3种类型的融合:

  • 中心化:

    一个中央单元处理融合(低级别)。

  • 去中心化:

    每个传感器融合数据并将其转发到下一个。

  • 分布式:

    每个传感器在本地处理数据并将其发送到下一个单元(后期融合)。

我们以一辆经典的自动驾驶汽车为例。在这种情况下,每个传感器都有自己的计算机。所有这些计算机都连接到一个中央计算单元。

与此相反,Aptiv开发了一种卫星架构的架构。这个想法是:所有传感器都连接到一个中央单元上,该单元处理称为主动安全域控制器的智能。

5b47aa270481c5db2f16b27ae9bf14f2.png

在这个过程中,利用传感器的位置和传递的信息类型,可以帮助减轻车辆的总重量,并随着传感器的数量可以更好地扩展。

左图的情况如下:

  1. 传感器只是“卫星”:

    它们只是用来收集原始数据的。

  2. 主计算机中进行360°的融合:

    不必安装非常好的传感器,因为不会进行单个检测。

  3. 检测是在360°的全景图上完成的。

✅ 这有几个优点,请阅读

这是“中心化融合”的两个例子。当我们使用经典架构时,可能会遇到另外两种类型的融合。

雷达和摄像头之间按抽象级别的数据融合图:

6b523cd3971297ee71812c2ec438cca7.png

按竞争级别的传感器融合

对传感器融合算法进行分类的最后一种方法是按竞争级别。

  • 在抽象级别,问题是“什么时候”融合应该发生。

  • 在中心化级别,它是关于“在哪里”的。

  • 在竞争级别,问题是“融合应该做什么?

同样,有3种可能。

竞争融合

竞争融合是指传感器用于相同目的。例如,当同时使用雷达和激光雷达来检测行人时。这里发生的数据融合过程称为冗余,使用术语“竞争”。

互补融合

互补融合是指使用不同的传感器观察不同的场景来获取我们使用其他方式无法获得的东西。例如,使用多个摄像头构建全景图时。由于这些传感器相互补充,使用术语“互补”。

协同融合

最后,协同融合是关于使用两个或更多传感器来产生一个新场景,但是关于同一个对象的。例如,在使用2D传感器进行3D扫描或3D重建时。

bf02a52f0dcabbe4f381e24ca9ca7f0c.png

希望这篇文章可以帮助您更好地了解如何使用传感器融合,以及如何区分不同的融合算法。

融合通常由贝叶斯算法完成,例如卡尔曼滤波器。我们可以融合数据来估计物体的速度、位置或类别。

译自:Learn Self-Driving Cars, Computer Vision, and cutting-edge Artificial Intelligence

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

cf403827efddb27e259142dd39e2b709.png

▲长按加微信群或投稿

bd23a0bad2af0ade00a7d16be4f189b6.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

8afd0d577d4bd8168aafdc86c42b67a8.png

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  



推荐阅读
author-avatar
枪手杰_863
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有