2. 教育部智能康复装置与检测技术工程研究中心,天津 300130
2. Smart Recovery Device and Testing Technology Engineering Research Center of Ministry of Education, Tianjin 300130, China
听觉定位在视频会议自动摄像机追踪、主动噪声抑制和服务机器人定位[1-3]等应用中具有重要作用. 基于声达时间差(time difference of arrival, TDoA)的几何定位作为一种参数化定位方法, 因其参数容易获得、运算量较低, 广泛应用于机器人听觉定位中[4]. 时延测量和位置估计是声达时间差几何定位方法的2个阶段, 第一阶段中因环境噪声和混响导致的测量误差, 会通过不精确的声达时间差传递到第2个阶段, 进而影响系统的定位精度.
基于声音位置指纹的听觉定位作为一种非参数化定位方法, 对信号的声场传播环境没有特殊的要求[5], 可以有效地解决由噪声和混响所造成的模型依赖度高和环境影响补偿难等问题[6-8]. 数据库的构建是位置指纹定位过程的基础. 在定位区域确定后, 位置指纹定位方法的精度和数据库的规模相关. 高定位精度的获得通常依赖于对定位区域的精细划分和样本点数据的密集采样[9]. 在基于声音位置指纹的机器人听觉定位中, 机器人在进入定位环境初期, 环境先验知识相对匮乏, 定位能力较弱, 亟需通过快速稳健的方式建立听觉定位数据库, 提高自身定位能力[10]. 此外, 在数据库构建初期, 除参考点的数量外, 参考点的分布对全局定位精度的影响相对较大.
目前, 位置指纹定位系统普遍采用栅格法形成定位参考点[11]. 该方法可以保证整个工作区域内的定位精度, 但在实际定位中, 该方法存在诸多不足. 首先, 定位区域中不同位置对于定位的需求通常存在区别, 但在数据库的构建初期参考点数量较少的情况下, 定位区域不同位置定位精度的提升和栅格形成方式相关, 存在一定的盲目性;此外, 栅格法通常根据定位精度对栅格的大小进行统一划分, 容易造成部分区域参考点布置冗余的状况[12], 对指纹库构建过程造成不利的影响.
本文针对指纹数据库构建初期参考点设置问题展开研究, 通过仿真分析参考点对定位结果的影响, 提出基于定位误差分布特征的位置指纹库构建方法. 该方法通过分析当前系统对环境中不同位置定位能力的分布情况, 为新的定位参考点的布置提供参考, 完成数据库构建过程的优化.
1 位置指纹定位方法位置指纹定位系统的工作过程一般分为离线采样和在线定位两个阶段[12-13]. 如图 1所示, 以4阵元分布式麦克风阵列声源定位系统为例, 对工作过程进行介绍.
![]() |
图 1 场景分析法定位流程图 Fig. 1 Location flow chart of scene analysis method |
离线采样阶段的主要目的是构建位置指纹库. 数据库由参考点声音信号特征和对应坐标构成. 定位特征的选择和参考点分布的设置是直接关系到离线指纹库定位性能的2个主要因素.
声音信号中的声音强度、频谱图和声达时间差等与声源信号的位置信息直接相关. 其中声达时间差定位技术是机器人声音实时定位和跟踪的一个重要研究方向, 因计算简单和数据量小, 在室内定位中广泛应用. 选取麦克风间的声达时间差作为特征, 构建位置指纹数据库.
在未对数据库构建进行优化的情况下, 通常通过待定位区域的面积、待定位声音信号的特征、室内环境的构成, 结合应用需求来确定待定位区域指纹采集点的数目和位置. 目前, 位置指纹研究领域通常采用网格划分方法获得参考点, 主要包括方格法、等边三角形质心划分网络法和递增式网络划分法等. 图 1中定位区域部分的带编号灰色小圆点为采用正方形栅格法生成的指纹采集点.
具体的样本信息采集过程如下:驱动机器人移动到指纹采集点, 发出建库信号;采集系统通过麦克风阵列接收信号, 并进行特征提取;将系统采集到的信号特征量与采集点的坐标构成一组指纹, 即
${\bf{Dat}}{{\bf{a}}_n}{\rm{ = }}\left[{x_n},{y_n},f_n^1,f_n^2, \cdots ,f_n^M\right];\;n = 1,2, \cdots, N.$ |
式中:
${D} = {\left[ {{\bf{Dat}{\bf{a}}}_1,\;\;\bf{Dat}{\bf{a}}_{\rm{2}},\;\; \cdots, \;\;\bf{Dat}{\bf{a}}}_N \right]^{\rm T}}.$ |
为了提高数据库的可靠性, 保证定位精度, 需要在一个采集点进行多次采集和剔除野值的处理, 求取平均值获得参考点特征(通常情况下, 一个参考点对应一个特征). 可以采用中值滤波、高斯滤波等方法,对所采集的信号进行处理.
1.2 在线定位在在线定位阶段, 采用加权K最近邻算法(weighted K nearest neighbors, WKNN)[14]完成信号源位置估计. 具体过程如下:当机器人运动到未知位置发出定位信号后, 声音采集系统捕获声音信号并传输到中心处理平台完成特征矢量的提取
${\rm m{d}}_{n} = 1\left/{\left(\sum\limits_{i = 1}^M {{{\left({f^i} - f_n^i\right)}^q}} \right)^{1/q}}\right.;\;\;n = 1,2, \cdots ,N.$ | (1) |
式中:
$\arg \max \;\;{\rm{md}}_{n};\;\;n = 1,2, \cdots ,N,$ | (2) |
获取与待测特征量F匹配最高的k个(k=1, 2, 3, ···)位置指纹和对应的坐标Ln=(xn, yn) (n=1, 2, ···, k) [15]. 根据邻近参考点与待定位点特征空间的匹配度
${\omega _n} = \frac{{{\rm m{d}}_{n} + \varepsilon }}{{ \displaystyle\sum\limits_{j = 1}^k {\rm {m{d}}}{_{{j}} + \varepsilon } }}.$ | (3) |
为了防止出现分母为0的情况, 在式(3)中引入小常数ε, 取ε=0.000 1.
待定位点估计位置采用加权求和的方式计算得出:
$\left( {\hat x,\hat y} \right){\rm{ = }}\sum\limits_{i = 1}^k {{\omega _n} \times \left( {{x_{n,}}{y_n}} \right)} .$ | (4) |
式中:
在基于场景分析的听觉定位过程中, 定位参考点的匹配、定位算法和声音位置指纹库三者决定了定位效果[16-17]. 前两项属于样本匹配和定位算法范畴, 在文献[6]及1.2节中作了介绍. 着重考察第3项内容, 针对数据库对系统定位效果的影响及优化方法展开研究.
针对参考点对定位效果的影响, 构建四麦克风、25测试点, 初始定位参考点为4个, 后逐步增加到20个参考点的仿真环境. 选取麦克风间的声达时间差作为特征, 构建位置指纹数据库. 用M来表示声音位置指纹数据库:
${M} = \left[ {\begin{array}{*{20}{c}}{{{L}_1}}&{\Delta {t_{11}}}&{\Delta {t_{12}}}&{\Delta {t_{13}}}\\ \vdots & \vdots & \vdots & \vdots \\{{{L}_i}}&{\Delta {t_{i1}}}&{\Delta {t_{i2}}}&{\Delta {t_{i3}}}\\ \vdots & \vdots & \vdots & \vdots \\{{{L}_n}}&{\Delta {t_{n1}}}&{\Delta {t_{n2}}}&{\Delta {t_{n3}}}\end{array}} \right].$ |
式中:Li表示第i个参考点的位置信息, Li=[xi, yi];Δti1、Δti2、Δti3分别为在第i个参考点处基准麦克风与其他3个麦克风所接收信号的声达时间差;n为定位参考点的数量, n=4, 5, ···, 20.
将待定位声音信号到达麦克风间的声达时间差Δt记为
$m{d_i} = 1\Bigg/{\left(\sum\limits_{i = 1}^3 {{{\left({f^i} - f_n^i\right)}^2}} \right)^{1/2}};\;\;n = 1,2, \cdots ,N.$ |
获取与
在线定位阶段采用加权K近邻算法进行位置估计, 其中权值计算和位置估计过程和式(3)、(4)相同.
如图 2(a)所示, 初始状态参考点数量为4, 此时定位平均误差为0.625 0 m. 特征中人为加入的高斯白噪声及位置估计算法本身存在的误差导致此时全局定位误差较大.
![]() |
图 2 参考点对定位结果的影响 Fig. 2 Influence of location results by reference points |
如图 2(b)、(c)所示, 参考点不断增加, 当参考点数增加到7和18时, 新增参考点对附近区域定位精度的提升效果明显;距离参考点较远的测试点的定位精度没有得到明显的提升, 可观察到新增参考点远端的部分区域定位效果出现了一定程度的恶化, 定位精度下降.
从图 2(d)可以看出, 在声音位置指纹库中的参考点增加到一定数量后, 定位结果和实际位置的一致性得到改善, 系统定位精度逐渐提高, 当参考点数达到20时, 定位误差为0.173 9 m. 图2 (e)中,Nrp为参考点数. 如图 2(e)所示, 在数据构建前期参考点数从4增加到8的过程中, 平均误差
如图 2所示, 通过分析参考点递增过程中测试点定位效果所呈现出的变化趋势可知:传统数据库线性构建方法不依赖于构建过程中的历史定位结果, 最终所保证的精度在整个区间的任一点都成立. 数据库通过定位参考点的增加, 可以逐步达到目标的定位精度要求, 但在数据库构建初始阶段参考点较少的情况下容易出现局部定位效果恶化的现象, 且数据库构建周期较长. 这种情况主要是因为邻近参考点失配对定位效果的影响很大, 在因参考点数少造成定位能力差的区域的影响尤为明显.
2.2 数据库构建过程优化方法介绍针对栅格法构造数据库存在的问题, 提出基于误差分布特征的指纹库构建方法. 首先计算测试集在当前定位数据库下的定位误差分布特征及全局定位误差, 然后根据定位误差分布特征逐步增加参考点. 重复以上过程, 直到全局误差满足阈值要求为止.
临近测试点搜索与在线匹配阶段的搜索特征临近点的方法类似, 首先根据测试集误差分布, 采用下式搜索误差最大的点:
${\rm{argmax}}\;{e_i};\;\;i = 1,2, \cdots ,n.$ | (5) |
式中:
$(\tilde x,\tilde y) = \sum\limits_{i = 1}^k {{\omega _n}} \times ({{\dot x}_n},{{\dot y}_n}).$ | (6) |
式中:
${\omega _n} = \frac{{{\rm di}{{\rm s}_n}}}{{ \displaystyle\sum\limits_{j = 1}^k {{\rm di}{{\rm s}_i}} }}. $ | (7) |
式中:dis为邻近测试点特征向量到误差最大点特征向量的欧式距离.
数据库构建的具体过程如下.
输入:测试集d;
初始样本集D;
误差阈值T.
过程:
1:repeat
For all data∈d do
2: 根据当前参数和式(4), 对测试点进行定位并计算各点误差e和测试集全局定位误差E;
3: 根据式(5), 选取k个临近测试点;
4: 根据式(6), 计算新定位参考点坐标
5: 驱动机器人移动到新参考点坐标处, 完成信息采集;
6: 将新的指纹存入数据库, 完成数据库更新.
7:end for
8:until E<T
输出:Datan数据库构建完成
3 实验与分析通过仿真和实际实验, 对误差分布特征法和常规栅格地图法2种数据库构建方法进行比较. 通过达到目标精度所需参考点的数目、定位效果恶化的程度, 结合平均误差、方差和最大误差的变化曲线, 对算法进行评价.
3.1 仿真验证定位参考点优化过程的仿真环境和2.1节的仿真环境一致. 从图 3对2种数据库构建方法定位效果的比较可以看出, 采用误差分布特征法构建的数据库, 当定位参考点数增加到14时达到了系统定位所需要的精度(平均定位误差
![]() |
图 3 定位效果比较(仿真) Fig. 3 Comparison of location effect (simulation) |
![]() |
图 4 听觉定位实验场景 Fig. 4 Auditory localization experimental scene |
验证性实验在一间噪声约为40 dB, 且墙壁未作隔音处理的实验室内开展. 如图 4所示, 定位区域为长约为6 m、宽约为5 m的长方形平面;4路麦克风布置在定位区域的4个顶点, 高度为136 cm;初始数据库包含4个参考点, 后参考点数增加到22, 测试点数为13. 机载声源为一小型蓝牙音响;4通道麦克风阵列由BSWA TECH公司的MPA201组成, 最佳拾音距离
采用栅格地图法和误差分布特征法2种定位参考点生成方法, 对数据库构建过程进行试验. 在测试点的位置计算过程中, WKNN算法中k 统一取为3, 满足二维定位要求的最低限度.
由图 5可以看出, 在实际定位中, 采用误差分布特征法生成新参考点方法具有较明显的优势. 当参考点数达到12时, 定位精度达到系统精度的要求(平均定位误差
![]() |
图 5 定位效果比较(实验) Fig. 5 Comparison of positioning effect (actual experiment) |
本文提出基于误差分布特征的位置指纹数据库构建方法. 通过参考小样本测试集的误差分布情况, 搜索系统定位能力较弱的区域, 基于所选取的距离最大定位偏差点的测试点, 采用WKNN算法计算新定位参考点的坐标. 不断迭代新参考点生成过程完成数据库的更新, 直至系统精度满足要求. 实验结果表明, 利用该方法可以有效地减少数据库初步构建所需的参考点数量, 减弱局部定位效果的恶化情况, 在移动机器人上使用将有效提升机器人听觉定位系统的环境适应性. 由于该系统仅采用声达时间差作为定位特征, 当室内噪声和混响造成的定位特征测量偏差较大时, 易造成在线定位阶段邻近参考点失配, 从而导致定位效果恶化. 下一步研究的重点是消除邻近参考点失配问题, 进一步改善局部定位效果恶化现象.
[1] |
李晓飞, 刘宏. 机器人听觉声源定位研究综述[J]. 智能系统学报, 2012, 7(1): 9-20. LI Xiao-fei, LIU Hong. A survey of sound source localization for robot audition[J]. CAAI Transactions on Intelligent Systems, 2012, 7(1): 9-20. DOI:10.3969/j.issn.1673-4785.201201003 |
[2] |
YU Q, YUAN C, FU Z, et al. Research of the localization of restaurant service robot[J]. International Journal of Advanced Robotic Systems, 2010, 7(3): 227-238. |
[3] |
LIU H, SHEN M. Continuous sound source localization based on microphone array for mobile robots [C] // IROS'10. Taipei: IEEE/RSJ, 2010: 4332–4339.
|
[4] |
孙昊. 基于声达时间差的移动机器人声源目标定位方法研究[D]. 天津: 河北工业大学, 2012: 17–21. SUN Hao. Study on sound source localization for mobile robot based on time delay of arrival [D]. Tianjin: Hebei University of Technology, 2012: 17–21. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=D464999 |
[5] |
PAHLAVAN K, AKGUL F O, HEIDARI M, et al. Indoor geolocation in the absence of direct path[J]. IEEE Wireless Communications, 2006, 13(6): 50-58. DOI:10.1109/MWC.2006.275198 |
[6] |
YIN J, YANG Q, NI L M. Learning adaptive temporal radio maps for signal-strength-based location estimation[J]. IEEE Transactions on Mobile Computing, 2008, 7(7): 869-883. DOI:10.1109/TMC.2007.70764 |
[7] |
王硕朋, 杨鹏, 孙昊. 基于声音位置指纹的室内声源定位方法[J]. 北京工业大学学报, 2017, 43(2): 224-229. WANG Shuo-peng, YANG Peng, SUN Hao. Indoor sound-position fingerprint method based on scenario analysis[J]. Journal of Beijing University of Technology, 2017, 43(2): 224-229. |
[8] |
VIEL B, ASPLUND M. Why is fingerprint-based indoor localization still so hard? [C] // PerCom'14. Budapest: IEEE, 2014: 443–448.
|
[9] |
王舒文. 分布式麦克风阵列定位方法研究[D]. 大连: 大连理工大学, 2013: 28–29. WANG Shu-wen. Study on distributed microphone array location method [D]. Dalian: Dalian University of Technology, 2013: 28–29. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=Y2418097 |
[10] |
周艳, 赵海, 曹伟, 等. 三维空间定位参考点的分布问题研究[J]. 东北大学学报: 自然科学版, 2008, 29(12): 1689-1692. ZHOU Yan, ZHAO Hai, CAO Wei, et al. On the 3D distribution of locating reference nodes[J]. Journal of Northeastern University: Natural Science Edition, 2008, 29(12): 1689-1692. |
[11] |
HE S, JI B, CHAN S H G. Chameleon: survey-free updating of a fingerprint database for indoor localization[J]. IEEE Pervasive Computing, 2016, 15(4): 66-75. DOI:10.1109/MPRV.2016.69 |
[12] |
HE S, CHAN S H. Tilejunction: mitigating signal noise for fingerprint-based indoor localization[J]. IEEE Transactions on Mobile Computing, 2015, 15(6): 1554-1568. |
[13] |
DAWES B, CHIN K W. A comparison of deterministic and probabilistic methods for indoor localization[J]. Journal of Systems and Software, 2011, 84(3): 442-451. DOI:10.1016/j.jss.2010.11.888 |
[14] |
HUANG C N, CHAN C T. ZigBee-based indoor location system by k-nearest neighbor algorithm with weighted RSSI[J]. Procedia Computer Science, 2011, 5(3): 58-65. |
[15] |
杨慧琳, 黄智刚, 刘久文, 等. 基于核模糊C均值指纹库管理的WIFI室内定位方法[J]. 浙江大学学报: 工学版, 2016, 50(6): 1126-1133. YANG Hui-lin, HUANG Zhi-gang, LIU Jiu-wen, et al. WIFI fingerprinting localization based on kernel fuzzy C-means Ⅱ clustering[J]. Journal of Zhejiang University: Engineering Science, 2016, 50(6): 1126-1133. |
[16] |
CHEN L, LI B, ZHAO K, et al. An improved algorithm to generate a Wi-Fi fingerprint database for indoor positioning[J]. Sensors, 2013, 13(8): 11085-11096. DOI:10.3390/s130811085 |
[17] |
陈祠, 牟楠, 张晨, 等. 基于主成分分析的室内指纹定位模型[J]. 软件学报, 2013, 24(1): 98-107. CHEN Ci, MOU Nan, ZHANG Chen, et al. Indoor fingerprint positioning model based on principal component analysis[J]. Journal of Software, 2013, 24(1): 98-107. |