APP下载

基于自适应交互式多模型粒子滤波的分布式说话人跟踪算法

2021-07-29良,陈喆,殷亮*

大连理工大学学报 2021年4期
关键词:估计值麦克风分布式

代 金 良,陈 喆,殷 福 亮*

(1.大连理工大学 信息与通信工程学院,辽宁 大连 116024;2.北京三听科技有限公司,北京 100176 )

0 引 言

近年来,基于麦克风阵列的声源定位和跟踪算法已被广泛地应用于工业设备和民用系统中,如远程视频会议和智能机器人等[1].在传统的基于麦克风阵列的声源定位系统中,麦克风被固定安置在特定位置上,利用满足特殊几何模型的特定拓扑结构来实现音频信号收集和声源位置估计等功能,然而这种固定的麦克风阵列拓扑结构极大地限制了其应用[2].随着半导体技术和嵌入式系统的快速发展,微型及嵌入式麦克风音频接口模块可以被方便地安装在便携式智能移动终端设备(如智能手机和笔记本电脑等),从而构成分布式麦克风网络(distributed microphone network,DMN).这种分布式麦克风网络可以更加容易地构建起一套ad-hoc网络[3-4].不同于传统的麦克风阵列,其包含了一组具有随机位置的通信节点,每个节点上含有若干麦克风并可以与相邻节点保持通信.此外,在DMN中,每个节点上的麦克风能够实现在本地独立地采集和处理语音信号,从而实现基于DMN的说话人定位和跟踪等功能.然而,传统的基于特殊几何拓扑结构麦克风阵列的声源定位方法无法直接应用于DMN中,极大地限制了DMN在实际系统中的应用.

近年来,声源定位和跟踪算法已得到广泛研究[5-7].在文献[6]中,Cho等将说话人定位问题建模为累积相关最大化的优化问题,从而实现了对说话人的定位.在文献[7]中,Canclini等提出了一种基于时延估计的声源定位方法.该方法基于对到达时间(TDOA)的估计,具有复杂度低、鲁棒性强的优点.尽管以文献[6-7]为代表的这些已有算法获得了不错的声源定位性能,然而,对于实际系统而言,这些已有算法都是利用当前时刻估计值(如TDOA)来估算声源位置,因此无法克服背景噪声和强混响对定位结果的影响.为了解决这个问题,贝叶斯滤波可以被用来尝试利用所有过去和当前时刻的观测值来估计得到更加准确的声源定位结果.例如,在文献[8]中,根据非线性观测模型,扩展卡尔曼滤波和无迹卡尔曼滤波(UKF)已被用在DMN中实现对声源的分布式跟踪.文献[9]则是研究了分布式粒子滤波器(DPF)在声源定位和跟踪中的应用.在这些分布式粒子滤波算法中,于DMN中的每个节点在本地进行语音采集并通过粒子滤波器实现对说话人的位置估计,然后通过一致性算法实现对各个节点上说话人位置后验分布的近似最优融合.此外,文献[10]提出一种新的自适应分布式粒子滤波算法,在DMN中实现了更好的说话人跟踪性能.虽然以文献[9-10]为代表的分布式声源跟踪算法能够实现单一运动模式下说话人的跟踪定位,但实际应用中声源运动模式往往复杂,这些跟踪算法的性能会出现不同程度的下降.针对这个问题,文献[8]虽然提出了基于交互式多模型(interacting multiple model,IMM)的分布式卡尔曼滤波算法,在复杂的说话人运动状态下仍然可以获得较好的跟踪性能,然而,该算法依赖线性高斯状态空间模型,因此对强混响和非高斯背景噪声的鲁棒性较差.文献[11]则是在文献[8]的基础上,将IMM与分布式粒子滤波算法相结合,提高说话人跟踪算法对混响和非高斯噪声的鲁棒性,但是该算法假设IMM中各运动模型之间的转换概率为固定值并且已知,这极大限制了其在实际系统中的应用.

本文针对分布式麦克风网络,提出一种基于自适应交互式多模型粒子滤波的分布式说话人跟踪算法.首先,该算法基于说话人的运动规律满足多种运动模型[11];其次,DMN中的各个节点上的一组麦克风采集说话人发出的语音信号并估计TDOA,以TDOA作为说话人位置的观测量,建立多模态状态空间模型;再次,利用双粒子滤波器(dual-PF)实现对运动模型转换概率和说话人当前位置信息的联合估计,进而得到说话人位置信息的局部后验分布;最后,通过文献[12]中的一致性融合算法,将DMN各个节点上得到的局部后验分布进行分布式最优融合,最终实现对说话人位置信息的全局最优估计.

1 DMN及系统模型

1.1 DMN

在一个具有二维拓扑结构的DMN中,共有L个相互独立的节点,每个节点上有一个由两个麦克风构成的小型麦克风阵列,以及能够与其他节点保持通信的微控制器和通信模块.假设sl,i表示DMN中第l个节点上第i个麦克风的位置向量,u(t)表示说话人的语音信号,hl,i(sl,i)表示说话人到第i个麦克风的冲激响应,则第l个节点上第i个麦克风采集到的信号可以表示为

zl,i(t)=hl,i(sl,i)*u(t)+wl,i(t)

(1)

式中:wl,i(t)表示背景噪声.假设声源在给定的时间间隔内没有明显的运动,则可以对接收到的语音信号zl,i(t)进行帧内处理,以估计声源的位置.设Nf为接收语音信号帧长度,则时间索引k处一帧信号可以表示为

zl,i(k)=(zl,i(kNf)zl,i(kNf+1)…

zl,i(kNf+Nf-1))T

(2)

(3)

1.2 TDOA观测模型

TDOA模型由于原理简单、计算复杂度低,被广泛用于声源定位和移动跟踪系统中.本文的DMN中,每个节点上都装有一对同步的麦克风,每个节点都可利用该麦克风对计算TDOA,并作为说话人位置坐标的观测量.

根据式(2),在第l个网络节点上对于第k帧接收信号,广义互相关(GCC)函数[14]可以通过下式计算得出:

(4)

其中“*”表示复共轭计算,zl,1(f)和zl,2(f)表示接收信号的频谱,Ω为积分区间.在此基础上,第l个节点上的TDOA观测量可以通过下式计算得到:

(5)

其中τmax表示由麦克风间距计算得到的TDOA理论最大值.

由于TDOA的理论计算公式为

(6)

(7)

其中nl,k为观测噪声.

1.3 说话人跟踪的贝叶斯滤波求解

根据式(3)和(7)所示状态空间模型,说话人位置向量的最小均方误差估计值可以表示为

(8)

其中后验分布p(xk|y1:k)可以表示为

p(xk|y1:k)∝p(yk|xk)p(xk|y1:k-1)

(9)

其中p(yk|xk)为似然函数;p(xk|y1:k-1)为一步预测后验分布,可以表示为

(10)

由于式(8)所示的高维积分无法得到明确的解析解,已有文献常采用粒子滤波算法进行求解.

(11)

(12)

2 分布式自适应交互式多模型粒子滤波算法

2.1 交互式多模型粒子滤波算法

对于复杂的运动模型,很难通过经典的粒子滤波算法快速跟踪运动目标.如果将交互式多模型(IMM)算法与粒子滤波算法相结合,则可以对复杂运动模型进行较为准确的预测和切换,进而实现较为准确的目标跟踪.

根据文献[12],对于式(3)所示的运动状态模型,假设匀速模型、匀加速模型以及转向速度不变模型之间的转换概率pi,j已知,则运动模型转换矩阵可以表示为

(13)

其中p1,1=p2,2=p3,3,p1,2=p2,1,p1,3=p3,1,p2,3=p3,2,则相应的交互式多模型粒子滤波(IMMPF)算法可以总结为以下几个阶段:

(1)运动模式交互计算

(14)

(15)

(16)

(2)状态预测

式(3)考虑了多种运动模式的复杂情况,因此对于运动模式j,可以通过下式实现对状态粒子的预测更新:

(17)

相应的权值也更新为

(18)

(3)运动状态模型更新

根据式(6)、(7),可以进一步计算得到运动模式j的残差观测向量和残差协方差矩阵:

(19)

(20)

相应地,运动状态模型的似然函数可以表示为

(21)

(4)运动状态模型概率更新

(22)

(5)估计状态向量以及估计误差的协方差矩阵

(23)

(24)

2.2 基于双粒子滤波器(dual-PF)的自适应IMMPF算法

由文献[11]和前文中的推导可知,传统的IMMPF算法通常假设式(13)中的运动模型转换概率已知,然而在实际系统中,通常无法预先获知该参数值,往往只能根据经验对其进行假定设置,这将使得IMMPF算法的性能下降.

针对此问题,本文根据文献[16]中的双滤波器(dual filters)原理,提出如图1所示的自适应IMMPF算法.该算法包含两个粒子滤波器,其中参数估计粒子滤波器用于对运动模型转换概率的估计,而IMMPF滤波器用于对状态向量进行估计,进而实现在运动模型转换概率未知情况下对状态向量的贝叶斯估计.

图1 基于双滤波器原理的自适应IMMPF滤波器Fig.1 Adaptive IMMPF filter based on dual filters principle

如图1所示,在本文提出的自适应IMMPF算法中,首先给定运动模型转换概率向量一个初始值,然后利用式(14)~(24)使用一个粒子滤波器实现对状态向量的粗估计;接下来,基于该状态向量的粗估计值,建立如下的运动模型转换概率向量Γ的状态空间模型:

Γk+1=Γk+bk

(25)

其中Γk=(p1,1p1,2p1,3)T,p1,1、p1,2、p1,3为式(13)中的运动模型转换概率,驱动噪声bk假设满足均值为0、方差为0.1的高斯分布.

假设图1中已经计算得到了状态向量粗估计值,式(25)可以同样作为运动模型转换概率向量Γk的观测方程,则使用如下粒子滤波算法可以得到运动模型转换概率的估计值:

(1)根据式(25)对运动模型转换概率的采样值进行更新:

(26)

(2)根据式(12)计算相应的权值

(27)

(3)得到运动模型转换概率向量的估计值

(28)

2.3 局部后验概率分布式融合

在DMN中,虽然每个网络节点都可以根据式(23)计算得到局部状态估计向量,然而该计算方法只用到了局部观测向量,没有考虑到全局观测信息对状态估计值的影响.因此,本文利用各个网络节点上的局部估计值实现近似全局最优的融合处理.

假设在k-1时刻第l个节点上估计得到的说话人状态向量的全局后验分布满足高斯分布,由式(10)可知,预测后验分布p(xk|y1:k-1)可以使用基于Sigma点的无迹变换(unscented transformation,UT)算法[17]计算得到:

(29)

假设使用p(xk|y1:k-1)作为参考分布,则式(12)对应的权值计算公式可以改写为

(30)

由于全局似然函数p(yk|xk)可以写成如下形式:

(31)

其中yl,k为第l个节点上计算得到的TDOA观测量,p(yl,k|xk)为第l个节点对应的局部后验似然分布,将式(31)代入式(9)中可以得到

p(xk|y1:k)∝p(yk|xk)p(xk|y1:k-1)=

(32)

(33)

(34)

式中的累加求和可以利用文献[12]中的一致性方法采用分布式的方式计算得到.

2.4 基于分布式交互粒子滤波的说话人跟踪

本文提出的基于分布式交互粒子滤波的说话人跟踪算法可归纳为如下步骤:

对于k=0,1,2,…,K,执行以下操作:

(1)利用式(4)、(5)在每个节点上都计算得到TDOA观测量;

(2)利用式(14)~(28)在每个节点上运行IMMPF算法得到局部后验分布估计值和运动模型转换概率估计值;

(3)基于步骤(2)中得到的概率估计值,利用式(14)~(24)得到局部后验分布估计值;

(4)根据式(33)、(34)利用一致性算法在各个节点上实现局部后验分布的分布式融合;

(5)得到全局状态估计最优值.

即首先,在DMN的每个节点上计算得到TDOA观测值;然后,利用局部IMMPF算法和参数估计粒子滤波器相结合计算得到运动模型转换概率的估计值,然后将该概率估计值送入IMMPF算法得到说话人状态向量的局部后验分布估计值;接下来,利用一致性算法,在各个节点上计算得到近似的全局最优状态估计值.

3 计算机仿真实验与结果分析

为了验证本文算法的有效性,计算机仿真实验环境设置为一个长×宽×高为6 m×5 m×4 m的办公室房间.在该房间中布置了一个含有10个节点的分布式麦克风网络(如图2所示),每个网络节点的位置坐标都是随机选取的.在每个节点上,通过一个麦克风对进行语音信号的采集.假设网络节点上的麦克风对的高度与说话人的高度相等,都是1.8 m,说话人在二维平面上的移动轨迹如图2所示.该说话人的移动轨迹满足如下规律:前1/3时间是匀速运动,中间1/3时间是原地静止状态,后1/3时间采用匀加速运动模式.语音信号在该实验环境中的房间冲击响应由文献[18]中IMAGE方法仿真产生,仿真实验中混响值设为0.38.假设说话人发出的声音为一段性语音信号,麦克风上的语音信号采样频率为16 kHz,一帧信号长度为96 ms.说话人位置估计均方误差E(MSE)可以由下式计算得到:

图2 分布式麦克风网络Fig.2 Distributed microphone network

(35)

图3给出了本文算法与文献[9]中的分布式高斯粒子滤波算法、文献[8]中经典粒子滤波算法,以及文献[11]中传统的分布式IMMPF算法的说话人跟踪结果对比.需要说明的是,文献[11]所示算法和本文算法的仿真实验中,运动模型转换概率初始值{p1,1,p1,2,p1,3}被随机设定为{0.92,0.04,0.04}.

(a)二维平面坐标下的跟踪结果比较

由图3可看出,本文算法对说话人的跟踪结果与实际的说话人运动轨迹更吻合,特别是存在说话人运动模式发生改变的情况,本文算法的说话人跟踪误差更小.相比之下,经典的粒子滤波算法的跟踪结果无法对说话人的运动模式变化做出及时的识别,因此误差更大.虽然分布式高斯粒子滤波算法可以对说话人进行有效跟踪,但其未考虑多种运动模式的复杂情况,因此跟踪结果不如本文算法.此外,文献[11]中的算法虽然采用IMM方法实现对运动模式的判别,但是该算法需要已知运动模型转换概率,而在本文的仿真实验中是假设该概率值为未知的,采用随机设置该概率值的方式,因此文献[11]算法的性能有所下降.相反,由于本文算法采用双滤波器结构,对运动模型转换概率采用自适应估计,可以更加准确地得到说话人位置状态信息的估计值.

图4给出了几种算法的跟踪性能对比,即MSE性能对比.与图3对应,在图4中,本文算法由于使用了IMM算法,可以及时地响应运动模式的变化,因此对应的跟踪性能更好,MSE更低.相反,经典粒子滤波算法和分布式高斯粒子滤波算法没有考虑多运动模式的复杂情况,因此其跟踪性能略逊于本文算法,其MSE也高于本文算法.同样,文献[11]中算法的性能依赖于对运动模型转换概率的准确设置,因此在该概率值未知情况下,本文算法的性能更优.

本文算法是通过循环迭代同时估计运动模型转换概率和运动轨迹,在算法运行过程中,当运动模式发生变化时(如图4的1.5~1.8 s处,3.8 s处),本文算法对运动模型转换概率估计需要一定的收敛时间,从图4可以清晰地看出,从这些说话人运动模式发生变化的时刻开始的一小段时间内,本文算法的MSE性能与之前比会有所下降(即MSE会升高),但是不久之后算法重新收敛,MSE又会有所下降,趋于稳定.

(a)x轴坐标

4 结 语

本文提出一种基于自适应交互式多模型粒子滤波的分布式说话人跟踪算法.首先,该算法在分布式麦克风网络的各个节点上利用一组麦克风对采集语音信号,并计算得到TDOA观测量;其次,利用双粒子滤波器,将IMM算法和粒子滤波算法相结合,对说话人位置坐标进行局部估计;最后,利用一致性算法对各个节点上得到的说话人位置坐标的局部后验分布估计值进行分布式融合,进而得到近似全局最优的说话人位置坐标估计值.与已有算法相比,本文算法采用双滤波器结构实现对运动模型转换概率和说话人位置信息状态向量的联合估计,可以及时响应运动模型的变化,因此可以得到更加准确的说话人位置状态估计.

猜你喜欢

估计值麦克风分布式
GRAS发布新12Bx系列、支持TEDS的测量麦克风电源模块
一道样本的数字特征与频率分布直方图的交汇问题
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
2018年4月世界粗钢产量表(续)万吨
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
麦克风的艺术
基于DDS的分布式三维协同仿真研究
麦克风
2014年2月世界粗钢产量表