一种优化的贝叶斯估计多传感器数据融合方法*

2014-08-29 11:47张品董为浩高大冬杭州电子科技大学通信工程学院杭州310018
传感技术学报 2014年5期
关键词:卡尔曼滤波贝叶斯传感

张品,董为浩,高大冬(杭州电子科技大学通信工程学院,杭州310018)

一种优化的贝叶斯估计多传感器数据融合方法*

张品*,董为浩,高大冬
(杭州电子科技大学通信工程学院,杭州310018)

由于来自多个传感器的测量数据总是有一定程度的不确定性和不一致性,采用多传感器数据融合算法将多个节点的测量数据进行数据融合,利用数据的冗余度来减小这种不确定性,得到高可靠性的数据信息。提出了一种优化的贝叶斯估计多传感器数据融合方法,将贝叶斯估计和卡尔曼滤波器结合起来,应用于无线传感网络数据融合中。根据滤波器应用到传感数据、融合数据或者两者的方式,提出3种不同的技术,即:前向滤波法、后向滤波法和前后向滤波法。通过一个实例研究估计移动机器人的位置,验证算法的有效性。实验表明,在集中式和分布式两个方面数据融合体系结构,结合卡尔曼滤波器的贝叶斯融合算法能够有效地解决数据的不确定性和不一致性。

无线传感器网络;数据融合;贝叶斯估计;卡尔曼滤波器

多传感器数据融合是20世纪70年代以来形成的一门新兴边缘学科,在军事、国防、航天等高科技领域有广泛的应用,目前已成为备受人们关注的热门领域[1]。多传感器系统首要的目标是将来自多个传感器的测量数据及相关数据库的有关信息进行联合、相关、组合以获得更全面、具有更高可靠的数据信息。然而会遇到许多问题,比如数据关联,传感器不确定性和数据管理等,而最根本的问题在于传感器测量系统中固有的不确定性。这种不确定性的出现不仅来自测量的不精确和噪声,还来自各个传感器的不一致性。过去的策略[2]常常是模拟这种不确定性,融合不同类型的数据来得到一致的决策。早在二十世纪八十年代,Bar-Shalom[3]研究了两个传感子系统之间的相关性,并给出了互协方差阵的计算公式。九十年代,Carlson[4]提出了著名的联邦Kalman滤波器算法,采用方差上界消除相关和统一的信息分配原则,避免了互协方差阵的计算,但具有一定的保守性。在1994年,Kim[5]提出了极大似然融合估计算法,但是要求随机变量服从正态分布,以便构造似然函数。后来,邓自立、孙书立[6-7]在线性最小方差意义下提出了矩阵加权、对角加权和标量加权3种加权融合算法。近年,R.Olfat-Saber提出了一种基于一致性策略的分布式算法——Kalman-Consensus滤波器,由于其简单的分布式结构以及算法可扩展性、稳健性而引起广泛关注[8-9]。

近年来出现的大部分技术只是针对具体的故障模型,并不能广泛应用,缺乏完备性。基于熵的分析有助于确定来自某个特定的传感器的数据融合是否能够提高融合变量的信息。本文讨论了在传感网络数据融合中怎样处理各传感节点数据的不确定性和不一致性的问题,提出了一种优化的贝叶斯估计多传感器数据融合方法——基于卡尔曼滤波器的贝叶斯融合算法[10]。根据滤波器应用到传感数据、融合数据或者两者的方式,提出3种不同的技术,即:前向滤波法、后向滤波法和前后向滤波法。

1 基于贝叶斯数据融合算法

贝叶斯推理是基于贝叶斯定理的条件或后验概率的统计数据融合算法,能够通过已知向量Z,估计未知的n维状态向量X。

1.1 简化的贝叶斯算法

假设一个状态空间,贝叶斯估计器提供了一种计算后验(条件)概率分布的方法,假设k时刻的概率为xk,已知k组测量Zk={z1,…,zk}和先验分布如下:

其中:(1)p(zk|xk)为似然函数——基于给定的传感器测量模型;(2)p(xk|Zk-1)为先验分布函数——给定的转换系统的模型;(3)分母p(Zk|Zk-1)只是一种规格化术语,保证概率密度函数归一化。

概率密度函数p(Z|X)描述了Z关于X的概率信息,它是一个基于观测的传感器依赖目标函数。如果状态变量X的可用信息独立于以前的观测值,则可以利用似然函数来改进以提供更准确的结果。若将变量X的先验信息封装成先验概率,并不是基于观测的数据,则这具有主观性。由于噪声引起的不确定性,由传感器提供的信息通常建模为一个近似于真实值的平均值,根据测量和传感器的操作参数的方差表示噪声的不确定性。概率传感器模型可使测定所获得数据的统计特征更容易。当已知状态的测定量X时,这个概率模型能够得到传感器Z的概率分布。这个分布是针对具体的某个传感器节点,而且能够通过实验来确定。高斯分布是一种最常用表示传感器不确定性的分布,公式如下:

其中j代表第j个传感器节点。因此,如果有两个传感器节点建模都使用式(2),那么根据贝叶斯理论,这两个传感器的融合均值可由最大后验概率估计(MAP)可得到:

其中σ1和σ2分布是传感器1和2的标准偏差。根据文献[11]得到了融合方差:

1.2 改进的贝叶斯算法

由于传感器的故障、本身的局限、复杂环境等因素,传感器经常会提供虚假的数据。然而,前面描述的简化的贝叶斯方法(SB)不能够有效地处理虚假数据。该方法由式(3)产生相同的加权平均值,并没有考虑来自各个传感器的数据是否真实。后验概率分布总是比任何单个分布有一个较小的方差。简化的贝叶斯方法没有一个机制来判断来自某些传感器的数据是否是虚假的,因此可能会导致错误的估计。在文献[11]中提出了改进的贝叶斯方法(MB),考虑了测量的不一致性。

在式(5)中可以看到,这一改进导致个体分布的方差与因子f成正比。因子f由下式(6)给出:

参数m是传感器值最大的预期差值。传感器测量的差值越大,导致因子f越大,方差也就越大。状态量x的最大后验概率估计(MAP)保持不变,但是融合的后验概率分布的方差改变了。因此,根据两个传感器测量值的平方差,和单个的高斯分布相比,后验概率分布的方差可能会增加或减少。正如在文献[11]已给出的结论,改进的贝叶斯方法能够非常有效地识别传感器数据的不一致,从而可以反映测量值得真实状态。

在图1和图2中可以看到简化贝叶斯方法(SB)和改进的贝叶斯方法(MB)之间的差别。在这个例子中,传感器1有80%的概率是服从均值为20,方差为9的正态分布,也就是有20%的概率会提供虚假的数据。同样,传感器2有90%的概率是服从均值为20,方差为4的正态分布,和有10%的概率会提供虚假的数据。在第1种情况下,两个传感器是一致的,如图1所示。从图1可以看出,根据改进的贝叶斯方法得到的融合的后验概率分布比单个分布的乘积有一个较小的方差,表明融合算法能够导致后验概率的不确定性降低和信息熵减小。

在第2种情况下,两个传感器是不一致的,如图2所示。根据改进的贝叶斯方法得到的融合的后验概率分布比单个分布都有一个更大的方差,表明融合算法能够导致后验概率的不确定性增加和熵增加。但是,据简化的贝叶斯方法得到的融合的后验概率分布的方差和图1中的相比没有变化。

图1 两个传感器一致时的数据融合

图2 两个传感器不一致时的数据融合

2 提出的算法

在本文中,提出的算法是将前一节中描述的改进的贝叶斯融合算法和卡尔曼滤波器结合起来,应用于无线传感网络。根据如何将滤波器应用到传感数据,融合数据或者两者,提出了3种不同的技术,即:前向滤波法、后向滤波法和前后向滤波法,并将会在接下来的部分进行描述。

2.1 改进的前向滤波贝叶斯融合算法

提出的第1个技术是在融合节点之前增加卡尔曼滤波器。如算法1所示,将卡尔曼滤波器添加到每一个传感器之后,滤除来自传感器测量带来的噪声,然后将各个滤波后的测量值采用改进的贝叶斯融合算法融合到一起得到一个结果值。这个值就表示某一时刻的状态值。

算法1前向滤波算法(F-MB)

6σ2f(k)←(σ1-2,f-1+σ2-2,f-1)-1;

2.2 改进的后向滤波贝叶斯融合法

提出的第2个技术是在融合节点之后增加卡尔曼滤波器。首先根据改进的贝叶斯融合算法将各个测量值融合在一起得到融合的状态值xint,然后为了滤除噪声,将卡尔曼滤波器应用到融合的状态值xint,如算法2所示。卡尔曼滤波器的输出值表示某一时刻的状态值xf,以及方差Pf。

算法2后向滤波算法(MB-F)

输入端σ1,σ2,z1(k),z2(k),x1(k-1),x2(k-1),P1(k-1),P2(k-1)

输出端xf(k-1),σ2f(k)

开始

1ζ←σ1/σ2;

2 For j←1 to 2 do

3(xj(k),Pj(k))←调用滤波器;

4 Xf(k)←x1(k)/(1+ζ2)+x2(k)/(1+ζ-2)

5根据式(6)求出f值;

输入端σ1,σ2,z1(k),z2(k),xf(k-1),Pf(k-1)

输出端xf(k),Pf(k)

开始

1ζ←σ1/σ2;

2 xint(k)←z1(k)/(1+ζ2)+z2(k)/(1+ζ-2)

3根据式(6)求出f值;

4σ2int(k)←(σ1-2,f-1+σ2-2,f-1)-1;

5(xf(k),Pf(k))←调用滤波器;

2.3 改进的前后向滤波贝叶斯融合法

在这种技术中,在融合节点的前后都应用卡尔曼滤波器。该算法是算法1和算法2的集合,如算法3所示。

算法3前后向滤波算法(F-MB-F)

输入端σ1,σ2,z1(k),z2(k),x1(k-1),x2(k-1),xf(k-1),P1(k-1),P2(k-1),Pf(k-1)

输出端xf(k),Pf(k)

开始

1ζσ1/σ2;

2 For j←1 to 2 do

3(xj(k),Pj(k))←调用滤波器;

4 xint(k)←x1(k)/(1+ζ2)+x2(k)/(1+ζ-2)

5根据式(6)求出f值;

6σ2int(k)←(σ1-2,f-1+σ2-2,f-1)-1;

7(xf(k),Pf(k))←调用滤波器;

3 实例分析:移动机器人局部定位

在这一部分,将研究移动机器人定位估计问题,以此来证明所提出的算法的有效性。定位技术大致分为相对位置测量和绝对位置测量。对于前者,可以通过之前已确定的位置和后来移动的距离来估计机器人的位置。对于后者,可以通过3个或者更多活跃的指向标的入射方向来计算机器人的绝对位置,也可以用人工或天然的标志,还可以用模型匹配,将基于传感器的地图特征和世界地图进行匹配来估计出机器人的绝对位置[12-13]。

3.1 实验设置

测距法是一种相对定位法,利用编码器来测量机器人的轮子转数和转向。右轮安装一个霍尔传感器,左轮安装一个光学编码器。由微控制器MCU采集并处理数据做出统一指令,确保两个传感器得到相同的指令。根据数据的采样时间和机器人做匀速运动,能够计算出每一个轮子的移动距离。由于两个传感器采集的数据的不确定性和不一致性,需要微控制器MCU把这些数据发送给MATLAB,执行提出的算法,以此来估计出机器人的位置。

传感器内部的主要噪声源是1/f噪声和热噪声(也称白噪声),为了模拟每个传感器的内部噪声源,假定在加性高斯白噪声条件下,霍尔传感器和光学编码器的噪声标准差分别是2.260 cm和2.378 cm。另外,假定机器人以7.8 cm/s的速度做匀速直线运动,近似干扰误差为0.493 cm/s。采样周期为0.5 s,运动时间为20 s。

3.2 评价标准

算法的性能由以下4个指标来评估:

(1)CPU运行时间(TIME):它表示估计出机器人全部运动位置时算法所耗费的全部处理时间,当然运行时间越小越好。

(2)残差平方和(RSS):它表示在每个采样点上机器人理论位置值和估计位置值之间差值平方的总和。残差平方和(RSS)越小,算法越精确。公式如下:

(3)方差(P):它表示机器人估计值的方差。方差反映了每一种算法中滤波器的性能。

(4)相关系数:它表示每一种算法下估计值和理论值之间的关系。相关系数的范围为-1~1。

(5)判别函数(CF):计算判别函数的一种决策方法是每一种技术的效用估计。根据每个指标的重要性,为CPU运行时间(TIME)、残差平方和(RSS)、方差(P)各分配一个权值ω(0~1),而且3个权值之和为1。每一种技术下的实验计算值用ci来表示,那么每一种技术下的判别函数(CF)由以下公式得到:

其中ω1,ω2和ω3分别表示TIME,RSS和P的权值。这些权值可以根据不同的情况进行调节。在这里,假定ω1=0.3,ω2=0.3,ω3=0.4。c1,c2和c3分别表示在每次实验中得到的TIME,RSS和P的计算值。c1max,c2max和c3max分别表示在每次实验中得到的TIME,RSS和P的最大计算值。为了在最短时间内最小方差下算法能够产生准确的估计值,我们的目标就是使判别函数值最小化。

3.3 结果与讨论

由于各传感器的噪声源,可能会产生误差,测量性误差值如图3所示。另外,图3也表示出了采用提出的算法进行估计而产生的误差,其估计性误差值表示了在某一采样时刻理论值和每一种算法的估计值的差值。可以看出,直接测量带来误差明显高于算法估计而导致误差,第1种解释是提出的算法能够比直接依赖测量机制做出更好的估计。

图3 测量和估计误差值

表1概括了前面描述的3种指标执行500次的平均结果,已经分别加粗了各项的最小值。在表1中可以看到,MB与其他算法相比虽然有最小的运行时间,但是它有最大的RSS。图4表示了每一种算法下估计值的方差。从图4中可以看出,MB-F和F-MB-F的估计值方差明显低于MB和F-MB。这就能够证明在MB-F和F-MB-F中卡尔曼滤波器的有效性。更重要的是,提出的算法估计值几乎正比于理论值,相关系数为0.99。

图4 估计值的方差

表1 两个节点的融合算法决策表

用3个传感器进行重复同样的实验[14-15],根据集中式和分布式架构融合来自各个传感器的数据。在集中式架构下,所有传感器的数据同时进行融合,而在分布式架构下,数据按照一定的顺序进行融合。就单个元器件失效而言,分布式融合有更强的健壮性,而且在通信资源方面与常规的方案相比,拥有更高的效率。

正如表2所示,就运行时间、RSS、P而言,分布式融合普遍胜过集中式。分布式系统下采用MB算法取得的运行时间最小,而集中式系统下采用FMB-F算法取得的运行时间最大,这和使用两个传感器进行融合的情况一样,直接融合比F-MB-F更快。就RSS而言,在集中式和分布式系统下F-MB-F算法都拥有最小的误差,最高的精度,然而MB算法却有最大的误差。这也是合理的,因为卡尔曼滤波器的存在,产生有更小噪声的估计值,更接近理论值。此外,MB-F和F-MB-F算法在估计值的方差方面显然比MB和F-MB小。这就证明了在前向和后向滤波中,滤波器发挥了有效作用。

总的来说,F-MB-F算法拥有最小的CF,紧接着就是MB-F算法。可见,这两种算法都能够提供相对可靠的结果。不过,在实时性要求高的场合建议采用MB-F算法,而在精确度要求高的场合建议采用F-MB-F算法。

表2 3个节点的融合算法决策表

4 结论

本文中讨论了多传感器数据融合的3种技术。为了解决传感数据的不确定性和不一致性问题,这些技术把改进的贝叶斯融合算法和卡尔曼滤波器结合了在一起。提出的技术已经应用在了基于测距的移动机器人位置估计,证明了卡尔曼滤波器能够改善残差平方和(RSS)和估计值的方差(P)。文中技术如粒子滤波器来取代卡尔曼滤波器,也需要去考虑越来越多的维数问题。

[1]韩崇韶,朱洪艳,段战胜.多源信息融合[M].北京:清华大学出版社,2006.

[2]Khaleghi B,Khamis A,Karray F O,et al.Multi-Sensor Data Fusion:A Review of the State-of-the-Art,in Information Fusion[M].2011.

[3]Bar-shalom Y.On the Track-to-Track Correlation Problem[J]. IEEE Transactions on Automatic Control,1981,26(2):571 -572.

[4]Carlson N A.Federated Square Root Filter for Decentralized Parallel Processes[J].IEEE Transactions on Aerospace and Electronic Systems,1990,26(3):517-525.

[5]Kim K H.Development of Track to Track Fusion Algorithm[C]// Proceeding of the American Control Conference,1994:1037-1041.

[6]Sun S L,Deng Z L.Multi-Sensor Optimal Information Fusion Kalman Filter[J].Automatica,2004,40(6):1017-1023.

[7]Sun S L.Multi-Sensor Optimal Information Fusion Kalman Filter with Application[J].Aerospace Science and Technology,2004,8 (1):57-62.

[8]Olfati-Saber R.Distributed Kalman Filtering for Sensor Networks[C]//Proceeding of the 46th IEEE Conference on Decision and Control,2007:5492-5498.

[9]Olfati-Saber R,Jalalkamali P.Collaborative Target Tracking Using Distributed Kalman Filtering on Mobile Sensor Networks[C]// 2011 American Control Conference,2011:1100-1105.

[10]史志富,张安,何胜强.基于贝叶斯网络的多传感器目标识别算法研究[J].传感技术学报,2007,20(4):921-924.

[11]Garg D,Kumar M,Zachery R.A Generalized Approach for Inconsistency Detection in Data Fusion from Multiple Sensors[C]//A-merican Control Conference,2006:2078-2083.

[12]李志宇,史浩山.一种基于网格和移动代理的无线传感器网络数据融合算法[J].传感技术学报,2008,21(7):1232-1236.

[13]薛晗,李迅,马宏绪.基于无线传感器网络的移动机器人智能导航算法[J].传感技术学报,2008,21(5):834-840.

[14]Abdulhafiz W.Bayesian Approach to Multi-Sensor Data Fusion with Pre-and Post-Filtering[C]//Master’s Thesis,Mehcatronics Engineering Department,German University in Cairo,2012.

[15]Chen Zhifeng,Cai Yunze,Xu Xiaoming.A Data Fusion Algorithm for Multi-Sensor Dynamic System Based on Interacting Multiple Model[C]//Proceeding of the 31th Chinese Control Conference. 2012:199-203.

张品(1971-),男,杭州电子科技大学通信工程学院副教授,1992年7月毕业于上海交通大学电子工程系,获工学学士学位,2000年7月于西南交通大学应用数学系获理学硕士学位,2004年12月电子科技大学通信工程学院获博士学位,主要研究方向为计算机网络、无线网络,zhangpin@hdu.edu.cn;

董为浩(1990-),男,杭州电子科大学通信工程学院,硕士研究生,主要研究方向无线传感网网络,707264794@qq.com;

高大冬(1989-),男,杭州电子科技大学通信工程学院,硕士研究生,主要研究方向为无线传感网络。

An Optimal Method of Data Fusion for Multi-Sensors Based on Bayesian Estimation*

ZHANG Pin*,DONG Weihao,GAO Dadong

(Department of Communication Engineering,Hangzhou Dianzi University,Hangzhou 310018,China)

Data provided by sensors is always affected by some level of uncertainty in the measurements.Combining data from several sources using multi-sensor data fusion algorithms exploits the data redundancy to reduce this uncertainty and to achieve improved accuracy.An optimal method of data fusion for multi-sensor based on Bayesian Estimation is presented,which relies on combining a Bayesian fusion algorithm with Kalman filter in WSNs.Three different approaches namely:Pre-Filtering,Post-Filtering and Pre-Post-Filtering are described based on how filtering is applied to sensor data,to fused data or both.A case study of estimating the position of a mobile robot to verify if the proposed algorithm is valid is presented.Experimental study shows that combining Bayesian fusion algorithm with Kalman filter can help in handling the problem of uncertainty and inconsistency of the data in both centralized and decentralized data fusion architectures.

wireless sensor network;data fusion;Bayesian estimation;Kalman filter

TP393

A

1004-1699(2014)05-0643-06

10.3969/j.issn.1004-1699.2014.05.014

项目来源:国家自然科学基金项目(61271214)

2014-01-12

2014-03-25

猜你喜欢
卡尔曼滤波贝叶斯传感
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
IPv6与ZigBee无线传感网互联网关的研究
改进的扩展卡尔曼滤波算法研究
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于贝叶斯估计的轨道占用识别方法
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于互信息的贝叶斯网络结构学习
一种基于贝叶斯压缩感知的说话人识别方法
某型Fabry-Perot光纤应变计的传感特性试验