机器人听觉系统中指纹定位改进方法*
2018-11-02王硕朋
杨 鹏,徐 静,王硕朋
(1.河北工业大学控制与工程学院,天津 300130;2.教育部智能康复装置与检测技术工程研究中心,天津 300130)
移动设备和无线通信技术的发展使得基于位置的服务[1]近年来得到广泛应用,例如共享单车、百度地图、库存和仓储。全球定位系统在室外定位表现出色,然而GPS信号穿透能力弱,难以在非视距传播信道和多障碍物的室内环境获得足够的定位精度[2-3]。因此,国内外投入了大量精力来寻找适合室内环境定位的短距离信号,如:视觉信息和听觉信息。其中,声音是物体振动产生的声波,相对于视觉信息具有传播全向性和不受能见度束缚的优势。利用听觉信息估计目标位置的过程称为声源定位,声源定位技术[4]利用机器人处理麦克风阵列接收的声音信号来对单个或多个声源位置进行估计,是一种自然且有效的定位方式,为室内定位技术的发展提供了新的研究方向。
目前,使用声音信号进行室内定位的方法分为几何定位法和指纹定位法两大类。几何定位法是通过至少两个位置标定的参考节点和未知节点的几何关系获取未知节点的位置。该类定位方法需要增加额外的硬件设施,且在非线性结构化的室内环境中存在模型依赖度高和系统稳定性差等缺点。基于位置指纹的听觉定位方法是一种常用的场景分析法,通过对定位环境内声场信息的感知和逻辑推理对目标定位节点的位置进行估计,可以有效克服几何定位法的缺点,具有定位精度高、模型依赖度低等优势,是室内定位的主流技术。然而在大型室内空间中指纹定位法需要面临两个难题:①系统开销大。指纹定位法需要消耗大量的时间和人力在多个参考点处进行多次数据采集,构建高维数据库以提高定位精度。此外,构建数据库和定位目标要在同样的条件下进行,若定位条件发生变化,原有数据库的使用将会使定位效果急剧恶化。②定位复杂度高。指纹定位法多采用最佳匹配算法搜索整个高维数据库选择与待定位声源特征向量最相似的邻近参考点,严重影响了定位的实时性。本文针对上述问题,提出了一种低开销、低复杂度、高定位精度的基于声音位置指纹的改进室内定位方法。
1 相关工作
基于声音位置指纹的听觉定位方法在室内定位领域引起了广泛研究。文献[5]对所有参考节点进行多次数据采集,记录各能量比值在每个参考点出现的概率,然后计算待测声源在这些参考节点位置出现的最大概率;文献[6]提出了最邻近算法,以指纹数据库中与声源特征最相似的参考节点对应的空间坐标作为定位结果;文献[7]提出了改进的K近邻法,待测声源的位置不仅由K个邻近参考点的坐标决定,而且要考虑它们占有的权值;文献[8]提出了基于神经网络的声源定位方法,使用数据库的预存指纹数据进行训练,建立一个基于声音信号参数和位置的非线性映射模型;文献[9]提出了具有相位变换滤波器的导向响应功率法,通过网格搜索大量的声源候选位置来提高混响环境下的系统鲁棒性。这些定位方法能有效改善室内定位的性能,但没能均衡数据采集、处理、选择的复杂度和听觉定位系统的高精度。基于这样的发展背景,我们希望在某种情况下,能够在保持声音指纹定位精度最高的条件下,确保定位复杂度最小化,同时通过对参考节点位置特征的有效利用,保证听觉定位系统开销的最小化。
指纹定位方法首先要建立由参考节点的信号特征和位置构成的数据库,本文选取定位精度高且硬件要求低的麦克风之间的声达时间差TDOA(Time Difference Of Arrival)[10]作为声源信号的特征,然后通过特征匹配实现目标位置估计。
设某定位区域内共有I个参考点,第i个参考点的二维空间坐标是Li=[xi,yi],驱动移动机器人在每个参考点处多次释放位置信息,将多次测量得到的指纹均值作为参考点的位置指纹储存起构建数据库。t时刻在第i个参考点处获得的声音位置特征向量表示为:
(1)
(2)
(3)
第i个参考点的声音位置特征向量与其对应的二维空间坐标组合构成一组位置指纹,记为:
Fi=[Ri,Li]=[ri1,ri2,…,riM,xi,yi]
(4)
将每个参考点以式(4)的形式形成I组位置指纹,这些指纹以行向量的形式排列构成了目标区域初始状态的指纹数据库F:
(5)
当移动机器人在待定位声源发出声音信号请求定位时,分布式麦克风阵列将采集这一信号并上传至中心处理平台提取该点的声音位置特征信息Fx=[r1,r2,…,rM],rm表示待定位声源处第m个麦克风与标准麦克风之间所接收信号的TDOA,待定位声源的位置估计问题可以表示为:
Lx=O(F1,F2,…,FI,Fx)
(6)
式中,Lx表示待定位声源的估计位置,O是需要确定的定位函数,本文采用基于特征相似度的加权K近邻算法[11]估计声源位置。待定位声源与数据库F中每个参考点的距离Di可以反映它们之间的特征相似度。Di的计算公式如下:
(7)
式中,p≥1。当p=1时,Di称为哈曼顿距离,当p=2时,Di称为欧式距离,当p=∞时,Di表示两位置距离的最大值。实验表明,p值的选取与定位精度无线性关系。
2 系统模型
离线阶段,移动机器人在每个参考点释放声音位置信息,具有四路通道的分布式麦克风阵列将接收信号并交由采集模块进行特征提取,其中采样频率为100 kHz,采样周期为1 s。不同位置的参考点拥有唯一的特征标识,然后组合这些声音位置特征构建指纹数据库。在线阶段,中央处理平台将实时检测的位置特征和数据库的预存信息匹配来估计声源位置。常用的匹配算法有最近邻法NN(Nearest Neighbor)和K近邻法KNN(K-Nearest Neighbors)。指纹定位方法的系统模型如图1所示。
图1 指纹算法的原理图
3 本文算法
本文针对参考点密度对经典指纹定位算法性能的影响,从指纹算法包括的离线采集和在线定位两个阶段[12-13]进行改进。
3.1 离线阶段
聚类技术[14]将同一数据库中的所有元素按照一定的特征规律分类,它可以减少搜索数据库的时间和指纹定位算法的复杂度,同一聚类内的元素相比于聚类之外的元素更加相似,有多种方法可以用于聚类。本文采用基于位置的聚类技术,具体过程为:将定位地图分成互不相邻或部分重叠的相邻网格点集群,如图2所示。
图2 定位区域划分示意图
设每个集群包含的元素个数为z,为每个集群定义中心,将聚类后获得的参考点的位置指纹存储起来得到最终的位置指纹数据库F:
F=[F1F2…FK]
(8)
式中,Fk(k=1,2,…,K)表示聚类k内参考点的位置指纹集合,K表示聚类的总数。
聚类是离线采样阶段的步骤,该步骤不需要在在线定位阶段重复,且在线定位时,首先计算待定位声源的位置特征与每个聚类中心的特征相似度,然后选择与待定位声源有最佳特征相似度的聚类中心所在的聚类来估计声源位置,省略了搜索整个数据库的步骤,提高了指纹定位的效率。
3.2 在线阶段
在在线定位阶段,首先确定待定位声源所在的聚类。欧式距离被用来表示待定位声源与各聚类中心的位置特征相似度,欧式距离越短,表明声源与各聚类中心的位置特征越相似,声源与各聚类中心的位置越接近,声源在该聚类中心所在聚类内的可能性越大,反之,表明声源与各聚类中心的位置特征差异越大,声源与各聚类中心的位置距离越远,声源在该聚类中心所在聚类内的可能性越小。因此,声源所在聚类的获得方法为:
(9)
基于位置指纹的室内定位方法通常采用递增式网络划分法和栅格法在定位地图内生成参考点,这类方法生成的参考点的密疏分布由定位精度的需求决定,一般情况下,参考点数量的增加会使得定位系统的性能有效改善:定位精度提高,定位误差波动趋于平稳。本文第4节通过实验验证了参考点数量对系统定位性能的影响。但在实际定位环境中,存在一定局限。首先,不同定位区域对定位精度的要求不同,递增式网络划分法和栅格法在形成参考点时依据定位精度定义栅格大小,容易造成局部定位区域内参考点疏密布置不合理的问题,为指纹数据库的构建带来多余的工作量;其次,同一定位区域但不同位置的参考点的使用率参差不齐,部分参考点的存在反而会降低定位精度,参考点的布置合理问题存在盲目性。但直接降低参考点的密度,则无法实现位置特征的有效匹配,定位性能会下降。
(10)
如图3所示,更新后的参考点由离线阶段布置在定位区域内的原始参考点和线性插值生成的虚拟参考点两部分组成,为了降低定位算法的复杂度,只增加声源选定聚类内的参考点密度,该聚类内原参考点和虚拟参考点的声音位置指纹构成了更新后的数据库。
图3 更新后的参考点位置示意图
(11)
argminDkj,j=1,2,…,J
(12)
(13)
式中,e=10-4,加入e是为了避免分母为0。待定位声源的位置通过邻近参考点坐标的线性组合得出:
(14)
声源位置的估计过程如下:
4 实验分析
如图4所示,定位区域在一个6 m ×5 m的长方形实验室内进行且房间墙壁未做隔音处理。采用 NI9215A数据采集卡采集麦克风接收的声音信号,具有4路通道的麦克风阵列布置在定位区域的4个顶点,高度为 136 cm,其最佳拾音距离≤10 m;声源为一个小型蓝牙音响。采用16个具有位置标定的参考点构建数据库,聚类的个数为4。
图4 实验环境
参考点数量和系统定位性能的关系通过一个简单的对比实验来验证。实验环境内噪音约为40 dB,在定位区域内包含4路麦克风和13个测试点。初始定位地图布置4个参考点,基于声音位置指纹的听觉定位系统仅采用这4个参考点的声达时间差作为特征构建数据库,然后从定位地图四周向内逐渐增加到10个参考点,接下来增加到20个参考点、50个参考点和70个参考点。在该过程中,实验环境和测试点的位置等其他测试条件不变。
如图5所示,不同参考点密度下的测试点的平均定位误差、最大误差和方差不同,且随着参考点密度的增加,系统定位精度逐渐提高,误差波动趋于平缓,因此,证明定位区域内参考点的数量对定位性能具有显著影响。
图5 不同参考点条件下的定位效果
在定位区域内均匀的选取13个测试点,采用经典的指纹定位法(L=0)和改进后的指纹定位方法进行对比定位实验,邻近参考点个数N=4。改进的定位算法中分别在插值次数L=2和L=4的条件下进行实验,定位结果如图6所示。表1总结了传统指纹定位算法与改进的指纹定位算法在不同插值次数和参考点数量条件下的系统性能。
图6 定位结果
表1 传统与改进后的定位性能比较
从图5(a)可以看出传统指纹定位方法其定位结果和待定位声源的实际位置差距较大,且误差波动剧烈。而图5(b)和图5(c)所示的改进后的指纹定位方法其定位结果和待定位声源的实际位置保持着高度一致性,且误差波动较小。
表1则说明同等参考点密度下,改进后的指纹方法的各方面定位性能均优于传统指纹定位方法,且插值次数L越大,定位精度越高,定位误差波动越小,但综合考虑计算机的运行速度和计算复杂度,结合多次实验验证,当插值次数L=4时,算法在定位精度和实时性等方面综合性能最符合室内定位环境下的位置服务需求。
5 结语
本文提出了采用多种策略降低基于位置指纹的室内定位技术的复杂度,相比于传统指纹定位法的改进如下:在离线阶段,优化安排在定位区域内的参考点数量,减少处理数据的工作量和构建数据库的开销;采用基于位置的聚类算法构建数据库,提高在线搜索数据库的效率。在在现阶段,在选定聚类内使用插值方法,结合位置标定的参考点扩展指纹数据库的维数来增加待定位声源附近的参考点密度,提高系统的定位性能;使用加权K近邻法选取邻近参考点估计声源位置来进一步降低计算复杂度。实验结果表明,本文方法降低了参考点密度对室内定位性能的影响力,在保证高定位精度的前提下,有效的减少了指纹算法的复杂度,提高了机器人听觉定位系统的实用性。