传感融合技术概述
在前面几篇文章,笔者分别介绍了自动驾驶环境感知领域的一些技术,包含雷达技术、摄像头和视觉建模技术、V2X技术。无论是哪一类型的技术,都是在帮助车辆的决策系统获取车辆运行过程中的数据,但是每一种传感器都存在着不确定性,比如激光雷达和摄像头会受到极端天气的影响。正是因为这个原因,导致在自动驾驶技术在环境感知环节依赖于多传感器的数据融合,这样才能让不同的传感器在不同的环境下发挥自身的最大作用。所以本篇文章将重点介绍下,如何实现自动驾驶传感器的融合。
传感器融合的问题和挑战
传感器数据融合面临着许多技术上的挑战:
-
数据对准问题
首先各个传感器收集的数据要对准是自动驾驶决策的前提,前面几篇文章讲了数据的标定,包含雷达的数据标定和摄像头的数据标定。
需要将各个传感器的数据在一个空间坐标系做标定,才能让来自各个方面的数据发挥价值。另外所有传感器单位统一,比如激光摄像头与毫米波摄像头都要统一使用毫米作为单位。
另外还要注意数据传输的时效问题,因为数据都是从各个传感器传递到中央处理模块,各个线路数据传输的时延要加以控制,才能使采集的数据可以保持在同一个时间维度
2.数据不确定性问题
因为传感器的工作环境不同,可能受到外部环境雨雪、光线的影响,也可能受到内部的温度、电压影响,也可能出现特殊情况,比如路面颠簸造成的影响,使得数据出现不准确的问题。在数据融合过程中,如何通过算法来甄选出哪些是噪声数据,哪些是真实数据也是一个需要解决的问题
多传感器融合结构
传感器的数据融合分为三个基本模式,分别是集中式、分布式和混合式,接下来分别介绍下。
1.集中式
集中式的方案是所有传感器采集的数据全部送到中央处理器做处理。这样做的优点是没有信息损失,便于中央处理器拿到全部的信息,可以做最精准的判断。劣势在于需要传输的数据量较大,因为传输的都是原始图像和日志信息,另外对中央处理器的计算能力要求很高。
2.分布式
分布式的方案是每个传感器在获取数据后先进行数据的处理,将有价值的信息甚至是部分决策结果反馈给中央处理器。这样信息的损失可能会大一些,另外对于传感器的计算能力有一定要求,但是会大大减少数据传输带来的性能要求,并且会缓解中央处理器的数据处理量。
3.混合式
混合式指的是分布式和集中式的融合方案,某些模块采取混合式,某些模块采取集中式,混合式也是目前来看比较合理的一个方式。
多传感器数据融合算法
因为不同的传感器都存在数据准确性的问题,那么最终融合的数据该如何判定?比如激光雷达报告前车距离是5m,毫米波雷达报告前车距离是5.5m,摄像头判定前车距离是4m,最终中央处理器该如何判断。通常需要一套多数据融合的算法来解决这个问题。
多数据融合的算法有很多种,本文介绍一个经典算法-卡尔曼滤波。卡尔曼滤波是一种高效率的递归滤波器,他能从一系列完全包含噪声的测量数据中,估计动态系统的状态,在自动驾驶、航天、温度测量等领域有很多应用。
卡尔曼滤波的基础思想采用信号与噪声的状态空间模型,利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。通过预测-实测-修正的顺序递归,消除随机干扰。
网上有一个介绍卡尔曼滤波原理的小例子:
假如我们要估算k时刻的实际温度值。首先你要根据k-1时刻的温度值,来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平方相加再开方,就是5)。然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是4度。
由于我们用于估算k时刻的实际温度有两个温度值,分别是23度和25度。究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的协方差(covariance)来判断。因为Kg=5^2/(5^2+4^2),所以Kg=0.61,我们可以估算出k时刻的实际温度值是:23+0.61*(25-23)=24.22度。可以看出,因为温度计的协方差(covariance)比较小(比较相信温度计),所以估算出的最优温度值偏向温度计的值。