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

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3d3627e0e23600ea55bbf3f8f2192d7f.jpeg

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

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

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

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

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

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

中级传感器融合示例:

8a35f61ba89c3dfd49610d9f14e5985c.jpeg

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

高级别融合:融合轨迹

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

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

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

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

301a0cd4eb59227f8301b8cbda8d0ae7.jpeg

中心化级别的传感器融合

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

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

  • 中心化:

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

  • 去中心化:

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

  • 分布式:

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

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

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

7b92fcd99ce9e010e1ec0a03a6f05866.jpeg

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

左图的情况如下:

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

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

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

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

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

✅ 这有几个优点,请阅读

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

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

eff695c2dc6985d0b14bdade2e0bb341.jpeg

按竞争级别的传感器融合

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

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

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

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

同样,有3种可能。

竞争融合

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

互补融合

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

协同融合

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

f8d09287cdb9ad5868c1298aea240739.jpeg

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

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

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

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇

 
 

6bae63c432063a3aaf9e26db9abe0323.jpeg

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值