窦占树, 崔丽珍∗, 罗海勇, 洪金祥
(1.内蒙古科技大学 信息工程学院,内蒙古 包头 014010;2.中国科学院 计算技术研究所,北京 100190)
近年来,煤矿智能化建设[1-3]成为当下研究的热点,对煤矿井下目标的定位精度[4]有了更高的要求。 与此同时,各种井下无线定位技术[5-6]得到快速发展。 基于WiFi 的井下定位技术[7-9]由于其特有的定位优势,已经在工业生产中得到了广泛应用。井下环境复杂多变[10-11],狭长的井下通道、粗糙的巷道帮壁、工作人员的实时移动、大量的粉尘和复杂的井下基础设施等都使得井下通信环境时刻处于变化之中,导致定位模型精度降低。 在复杂多变的煤矿井下环境及时并准确地获取井下作业人员的位置显得非常重要。 基于位置指纹的定位技术由离线和在线阶段组成。 离线建库阶段[12]的主要工作是收集样本点RSS 的值和对应的坐标,用于构建指纹数据库。 在线定位阶段[13]需要选取合适的定位算法,通过对比用移动终端采集到的RSS 值和指纹数据库[14]中存储的RSS 值,数据库中对应的最相似参考点的坐标就是待定位目标点的坐标。 离线数据库主要用于训练定位模型,使模型具有更强的泛化能力。将在线数据输入到用离线数据训练好的模型中,最终得到待定位目标点的坐标。 煤矿井下定位技术主要包括WiFi 技术、UWB 技术[15]和蓝牙技术[16]等。基于WiFi 的井下定位技术能够满足井下定位的精度需求。
本文将在线顺序极限学习机(Online Sequential Limit Learning Machine,OSELM)算法[17-20]用于井下定位,利用OSELM 算法的在线学习能力实现对定位模型的在线实时更新,同时对OSELM 算法进行改进。 实验表明,经改进的OSELM 算法能够有效提高模型的定位精度。
本文选择3 层OSELM 神经网络结构。 输入层有4 个神经元,代表4 个AP 点提供的RSSI 信号强度值;隐藏层有155 个神经元;输出层有2 个神经元,输出对应的(X,Y)坐标。 OSELM 网络结构如图1所示。
图1 OSELM 网络结构Fig.1 OSELM network structure
f1(x)为隐藏层节点激活函数,wij为输入层第i个神经元与隐藏层第j个神经元间的连接权值,βjk为隐藏层第j个神经元与输出层第k个神经元间的连接权值。 通常,SELM 由N个训练样本、p个输入层节点、L个隐藏层节点和q个输出层节点组成,N个采样节点的坐标为:
在采样节点处接收到的来自v个AP 无线接入点的信号强度值为:
OSELM 网络表达式为:
式中,f(·)表示激活函数;βj为隐藏层第j个神经元与输出层间的连接权值矩阵;wi=[wi1,wi2,…,wip]为输入层与隐藏层间的连接权值矩阵;bj为第j个隐藏层神经元偏置矩阵。 式(3)可简化为:
式中,H 表示隐藏层输出矩阵;C 表示期望输出矩阵。 隐藏层与输出层间的连接权值 β 能够通过求解方程组最小二乘解得到,即:
式中,‖·‖表示范数,对应的解为:
式中,H∗为H 的广义逆矩阵,当OSELM 网络应用于回归预测领域时,对应的定位误差为:
利用OSELM 的在线学习能力,能很好地解决因井下环境高动态变化导致模型精度下降的问题。但该模型只是完成了在线更新的过程,并没有对新增数据的质量、有效性进行评估。 本文对OSELM算法引入权重项ω进行改进。
在权值ω的设置中,应考虑以下3 点:
① 采集新增数据的参考点数占实验区域内所有参考点数的比例大小。 采集新增数据的参考点都是均匀分布在实验区域的情况下,如果采集新增数据的参考点数较多,应该给予相对较大的权重来对模型进行更新。 反之,应该给予相对较小的权重。用ω1表示采集新增数据的参考点覆盖率的影响。
② 采集新增数据的时间先后顺序。 当有多批增量数据依次到达定位模型时,需要根据增量数据到达的时间先后顺序给予权重上的不同。 采集新增数据的时间点距离在线定位的时间点越近,含有的有用信息越多,应该给予更大的权值。 用ω2表示新增数据时效性的影响。
③ 当考虑2 个影响因素时,将时效性和覆盖率改进实验进行融合,做融合性改进实验。 融合性权重ω3可表示为:
在煤矿井下环境进行实验区域的部署。 采集数据的煤矿井下巷道空间狭长且曲折,同时有各种机械设备,环境较为复杂多变。 选定80 m×3 m×3 m的实验区域,离线阶段每隔1 m 部署一个参考点,共部署81 个参考点。 在10,30,50,70 m 处分别部署1 个WiFi AP 热点,共采集4 050 条数据。 在线阶段每隔5 m 进行数据采集,共17 个参考点,采集850 条数据。 实验通过增加通道内测试人员的走动,增加干扰噪声的同时改变障碍物的位置,来达到使通道内的通信环境发生变化的目的。 实验场景如图2所示。
图2 实验场景Fig.2 Experimental scene
为验证所提算法能有效解决井下环境高动态变化导致模型精度降低的问题,本文采用2 个实验对所提算法性能进行验证。
实验1:在实验区域内相同环境下采集离线建库数据和在线定位数据。 实验2:离线建库数据与实验1 相同,采集在线定位数据时,需要改变实验环境,即在同一实验区域不同环境下采集离线和在线数据。
定位精度是衡量本文实验结果的重要指标,主要是衡量通过定位算法得到的待定位目标点的坐标估计值与真实值之间的接近程度。 定位精度越高,说明待定位目标点的坐标估计值与真实值之间的接近程度越高,定位算法的优越性越大。
3.1.1 实验1:3 种算法对比实验
SVM,ELM 和OSELM 三种算法的定位精度对比如图3 所示。
图3 定位精度对比Fig.3 Comparison of positioning accuracy
SVM,ELM 和OSELM 三种定位算法的均方根误差(Root Mean Squared Error,RMSE)对比如表1 所示。
表1 3 种算法的RMSE 对比Tab.1 Comparison of RMSE of three algorithms单位:m
由图3 可知,3 种算法的预测值和真实值拟合程度均较高。 对比3 种算法的RMSE 可知,OSELM算法比SVM 算法低0.241 2 m,OSELM 算法比ELM算法低0.541 1 m,定位误差均在2 m 内,满足复杂井下环境的定位精度需求。
3.1.2 实验2:3 种算法对比实验
SVM,ELM 和OSELM 三种算法的定位精度对比如图4 所示。
图4 定位精度对比Fig.4 Comparison of positioning accuracy
实验环境发生变化后,SVM,ELM 和OSELM 三种算法的RMSE 对比如表2 所示。
表2 3 种算法的RMSE 对比Tab.2 Comparison of RMSE of three algorithms单位:m
由图4 可知,3 种算法预测输出值和真实坐标值的拟合程度与实验1 相比,定位精度都有所降低。对比表2 和表1 可以看出,SVM,ELM 和OSELM 三种算法的RMSE 分别增大了1.755 8,1.889 1,0.668 6 m。实验环境变化后,SVM 和ELM 定位算法的RMSE变化较大,OSELM 定位算法的RMSE 变化较小。 因此,OSELM 算法更适合用于解决WiFi 井下动态定位问题。
在实验区域内共采集9 批数据:1 个初始训练数据集Train-data、7 个不同时间采集的增量数据集Incredata1~7 和1 个测试数据集Test-data。 其中,增量数据集Incredata1~4 用于参考点覆盖率的改进实验;增量数据集Incredata5~7 用于新增数据时效性的改进实验。
(1)采集新增数据的参考点覆盖率权重对定位模型精度的影响
用Incredata1~4 分别对模型进行更新,权值计算公式为:
当考虑权重时,由式(9)可知Incredata1~4 的权重分别为1/2,1/3,1/5,1。 当不考虑权重时,ω值为1。 用Train-data 训练初始模型,分别用Incredata1~4 对模型进行增量学习。 最后用Test-data 对模型进行测试。 统计在不同误差距离下的定位精度。 采集新增数据的参考点覆盖率权重对定位精度的影响如图5 所示。
图5 采集参考点覆盖率权重对定位精度的影响Fig.5 Effect of acquisition reference point coverage weights on positioning accuracy
用Incredata1~4 分别对模型进行增量学习,在误差距离为1,2,3 m 的情况下,定位精度对比如表3所示。
表3 定位精度对比Tab.3 Comparison of positioning accuracy单位:%
由表3 可知,用每隔1 m(权值为1/2)和3 m(权值为1/3)的方式采集到的数据对模型进行增量学习的定位精度较高,因为每隔1,3 m 采集到的数据量刚好适用于对模型进行增量学习,使得模型泛化能力更强。 而按全覆盖(权值为1)和每隔5 m(权值为1/5)的方式进行数据的采集,采集到的数据量过多和过少,易使模型出现过拟合和欠拟合现象,导致模型精度降低。 用每隔1 m 采集到的数据对模型进行增量学习,定位精度最高,大大降低了数据采集工作量,提升了实验效率。
(2)增量数据时效性权重对模型精度的影响
考虑到采集增量数据的时间先后顺序,为增量数据赋予时效性权重对模型进行在线增量式学习,计算公式为:
式中,T0为离线数据采集时间点;Τ1为在线数据采集时间点;t为增量数据采集时间点,t∈[T0,T1]。
考虑时效性权重时,由式(10)可知,Incredata5~7的权重分别为:ω5=2/7,ω6=3/7,ω7=4/7。 有3 批数据用于时效性改进实验,共有6 种增量数据到达情况,增量顺序1~6 分别为:(5,6,7),(5,7,6),(6,5,7),(6,7,5),(7,5,6)和(7,6,5)。 对比6 种不同增量顺序情况下定位误差在1,2 m 时的定位精度,如表4 所示。
表4 定位精度Tab.4 Positioning accuracy单位:%
由表4 可知,在增量顺序为(5,6,7)的情况下,定位精度最高。 定位误差在1,2 m 时,定位精度分别达到了88%和95%,按照采集增量数据的时间先后顺序对模型进行增量学习,会使模型定位精度最高。
当考虑时效性权重时,按照增量数据采集的时间先后顺序(5,6,7)对定位模型进行增量学习。 不考虑时效性权重时,把增量数据(5,6,7)作为一个整体进行增量学习。 统计在3 m 误差距离下的定位精度。 引入时效性权重对定位模型精度的影响如图6 所示。
图6 时效性权重对定位精度的影响Fig.6 Effect of timing weights on positioning accuracy
OSELM 算法和引入时效性权重进行改进的OSELM 算法在误差距离为1,2,3 m 时的定位精度对比如表5 所示。
表5 定位精度对比Tab.5 Comparison of positioning accuracy单位:%
由表5 可知,在误差距离为1,2,3 m 的情况下,引入时效性权重进行改进的OSELM 算法与OSELM算法相比,定位精度分别提高了6%,4%,5%。 在3 m 误差距离内,为增量数据引入时效性权重能有效提高定位模型精度。
(3)同时考虑2 个影响因素时,做融合性改进实验
采用乘法取权值的方式进行权值的计算,权值计算公式为:
根据式(9)计算出Incredata1~7 的权值,各增量数据权值如表6 所示。
表6 各增量数据权值Tab.6 Weights of incremental data
首先,用Train-data 训练初始模型。 默认不考虑权重的情况下,权值为1,所以Incredata4 是不考虑权重的情况。 其次,Incredata1 的权值最大,为1/2,因此在融合性改进实验中,选择用权值最大的Incredata1 对模型进行在线增量式学习。 最后,用Testdata 对模型进行测试。 所得定位结果与BP,ELM,OSELM 三种算法定位精度进行对比,如图7 所示。
图7 定位精度对比Fig.7 Comparison of positioning accuracy
考虑2 种因素进行改进的OSELM 算法和BP,ELM,OSELM 三种算法在1,2,3 m 误差距离下定位精度对比,如表7 所示。
表7 定位精度对比Tab.7 Comparison of positioning accuracy单位:%
综合考虑2 种因素的基于改进的OSELM 算法与其他3 种算法对比,定位精度最高。 在1,2,3 m 误差距离下,定位精度分别达到了71%,93%,99%。在3 m 误差距离范围内,给予新增数据融合性权重,能够提高模型定位精度。
本文将OSELM 算法用于井下定位,同时从新增数据时效性和采集新增数据的参考点覆盖率两方面以及综合考虑这两方面因素对OSELM 算法进行改进。 实验结果表明,实验环境变化后,与SVM 和ELM 算法相比,OSELM 算法对动态环境有更强的适应能力。 同时,为OSELM 算法给予时效性权重,能够提高定位模型精度。 每隔1 m 进行增量数据的采集与全覆盖采集方式相比,模型精度更高,同时大大降低了数据采集工作量。 综合考虑两方面因素对OSELM 算法进行改进,与BP,ELM,OSELM 算法进行对比,显著提升了定位模型精度。 因此,在OSELM 算法基础上加入权重项的考虑,能够有效提高定位模型精度,所提OSELM 及其改进算法均可行有效。