什么是传感器融合?
目前,几乎各行各业都在使用传感器:在汽车、工厂,甚至我们的智能手机中,都有传感器的身影。虽然单个传感器本身就可以提供有用的数据,但如何能同时从多个传感器的输出中提取信息呢?假设整体大于各部分之和,此举将为我们提供一个更好的周遭环境的模型。传感器融合是我们实现这一壮举的过程。
具体而言,传感器融合是合并来自多个传感器的数据以创建目标场景或对象的更准确概念化过程。其背后的理念是,每个传感器都有优缺点;我们的目标是充分利用它们的优势,减少不确定性,以获得所研究环境的精确模型。
有哪些不同类型的传感器?
首先,我们来定义传感器融合过程中使用的各类型传感器。例如,自动驾驶汽车会使用许多不同的传感器在环境中导航。以下是几种最常见的传感器技术:
相机
相机捕捉场景的图像,然后利用识别场景中的对象。它们的缺点是,图像很容易被夜幕、恶劣天气和灰尘等遮盖。
雷达
雷达传感器通过发射无线电波来探测目标,并精确估计其速度。它使用一个称为径向速度的函数来测量波频变化,以确定目标是朝着它移动还是远离它。不同于相机,雷达无法用于指示它所感知到的目标。
激光雷达
激光雷达(LiDAR)是光探测和测距的缩写,它使用红外传感器来测量目标对象和传感器之间的距离。传感器发出电波,并测量电波从目标反射回来所需的时间。然后使用这些数据创建环境的3D点云。激光雷达的缺点是射程不长,没有相机或雷达的性价比高。
超声波传感器
超声波传感器可以预估数米内目标对象的位置。
里程传感器
如果测量车轮速度,里程传感器可以帮助预测车辆相对于已知起点的位置和方向。
传感器融合的三种类型
通常,传感器融合有三种不同的方法或类型。
一、互补性融合
这种类型的传感器融合由彼此独立的传感器组成,但当它们的输出组合在一起时,就可以创建更完整的场景图像。例如,在一个房间周围放置几个摄像头,分别聚焦房间的不同位置,可以共同提供房间外观的图片。这种融合类型的优点是,它的准确率通常最高。
二、竞争/冗余性融合
以竞争性排列建立传感器融合时,传感器提供对同一目标对象的独立测量。在这一类别中,有两种配置:一种是来自多个独立传感器的数据融合,另一种是来自不同实例的单个传感器的数据融合。在三种传感器融合类型中,这种类型的完整性最高。
三、协作性融合
第三种传感器融合称为协作性融合。它由两个独立的传感器提供数据,将这些数据结合,可以提供单个传感器无法提供的信息。例如,在立体视觉的情况下,两个视角略有不同的相机提供的数据可以共同形成目标对象的三维图像。在三种传感器融合类型中,这种类型最难使用,因为单个传感器的误差特别容易影响最终结果。但它的优势在于,它能够提供场景或目标对象的独特模型。
应该注意的是,为获得尽可能准确的结果,传感器融合的许多应用都不只使用三种类型中的一种。传感器融合中还使用三种通信方案,包括:
- 去中心化:传感器节点之间不发生通信。
- 中心化:传感器与中央节点通信。
- 分布式:传感器节点以设定的间隔进行通信。
通信方案的使用取决于项目的使用场景和需求。
传感器融合算法
为了在传感器融合应用中合并数据,数据科学家需要使用一种算法。卡尔曼滤波也许是传感器融合中最流行的算法。不过,一般而言,数据科学家探讨的传感器融合有三个级别。
传感器融合的三个级别
传感器的输出需要后处理,其级别会有所不同。选择的级别会影响数据存储需求以及模型的准确率。以下简要说明三个级别:
- 低级:在低级,传感器融合采用传感器的原始输出,以确保我们不会在转换过程中无意地将噪声引入数据中。这种方法的缺点是需要处理相当多的数据。
- 中级:中级传感器融合不使用原始数据,而是使用已有单个传感器或单独处理器标注过的数据。它利用对目标对象位置的假设,加权各种解释后得出一种答案。
- 高级:高级传感器融合与中级类似,它融合加权假设,获得关于目标对象位置的答案。但它也使用这种方法来识别对象的轨迹。
卡尔曼滤波算法
卡尔曼滤波早在1960年就已问世,我们现在的智能手机和卫星上都有应用,通常用于导航目的。它旨在估计动态系统的当前状态,但也可用来估计过去(称为滤波)和未来(称为预测)。在解析嘈杂的数据时,它特别有用;例如,自动驾驶汽车上的传感器有时会捕获不完整或嘈杂的数据,然后可以通过卡尔曼滤波算法进行校正。
卡尔曼滤波是贝叶斯滤波的一种形式。在贝叶斯滤波中,算法交替进行预测(对当前状态的估计)和更新(对传感器的观测)。本质上,算法将根据更新进行预测和校正,循环执行这两个步骤,直至达到所需精度。
卡尔曼滤波使用基于状态(包括位置和速度)和不确定性的数学建模进行实时预测。它适用于线性函数,但某些传感器输出(如雷达数据)不是线性的。在这种情况下,数据科学家依靠两种方法来线性化模型:
- 扩展卡尔曼滤波:使用雅可比级数和泰勒级数进行线性化。
- 无迹卡尔曼滤波:使用更精确的近似值进行线性化。
无论如何,卡尔曼滤波算法是传感器融合最常用的算法方法之一,有助于将多个数据源合并为当前的一个清晰状态。
传感器融合的其他算法
除了卡尔曼滤波器,数据科学家还可以选择将其他算法应用于传感器融合。其中包括:
- 神经网络:在深度学习中,使用神经网络融合来自多个传感器的图像数据,以便对结果进行分类。
- 中心极限定理(CLT):大多数情况下使用钟形曲线表示,CLT算法将平均来自多个传感器的数据。
- 贝叶斯算法:前面我们提到,卡尔曼滤波是贝叶斯滤波的一种,但算法还有其他类型。例如,Dempster-Schafer算法通过不确定性和推理的测量来模拟人类推理。
传感器融合和自动驾驶汽车
传感器融合在自动驾驶汽车领域至关重要。融合算法通过了解车辆的精确位置、移动速度和方向,帮助车辆越过障碍物。换言之,传感器融合能够最大限度地提高自动驾驶车辆的安全性。我们来介绍它的工作原理。
车辆将接收摄像头、雷达和激光雷达传感器的输入,以形成一个周围环境的模型。传感器融合发生在将这些数据合并到一个模型的实践中。之前我们提到这些不同传感器的工作原理及其优缺点。结合它们各自的优势,可以描绘出车辆
环境的高精度图片。然后,导航系统使用这张图片提供的信息决定车辆可以去哪里,以多快的速度行驶。
有时,自动驾驶汽车也会利用从车内提取的数据,即所谓车内外传感器的融合。车辆收集的传感器输入越多,使用传感器融合技术就越复杂。权衡之下,如果操作正确,使用的传感器数据越多,得到的模型通常就越精确。
防止打滑是汽车传感器融合功能的一个示例。利用来自方向盘方向、陀螺仪和加速计的传感器输入组合,传感器融合算法可以确定汽车是否处于打滑中,以及驾驶员希望汽车行驶的方向。在这种情况下,自动驾驶车辆可以自动踩下制动器,以防止进一步打滑。