基于注意力机制的UWB室内定位算法

2021-06-21 01:53叶晓桐宋俊典
计算机应用与软件 2021年6期
关键词:参考点基站神经网络

叶晓桐 张 裕 宋俊典

1(上海应用技术大学计算机科学与信息工程学院 上海 201418)2(上海计算机软件技术开发中心 上海 201112)

0 引 言

基于位置的服务具有众多应用领域与重要的市场价值。当今人们工作和生活大部分时间都在室内进行,而卫星导航信号穿过建筑物后衰减严重不能用于室内定位。因此,应用Wi-Fi、蓝牙、UWB等室内定位技术成为研究的热点[1]。由于UWB信号具有传输速率高、安全性好、定位精度高、穿透能力强的特点,国内外许多学者对UWB定位技术做了大量研究[2]。传统的UWB定位算法,例如:Chan算法[3]、Taylor算法[4]及基于它们的改进和融合算法[5-6],未能较好解决多径效应与非视距(NLOS)对UWB定位性能所产生的影响,难以在定位性能上有所提升。

近些年来,一些文献应用神经网络、深度学习等方法进行UWB定位,减少多径效应与非视距(NLOS)环境对定位精度的影响,或提高视距下的定位精度[7-10]。文献[11]利用3层的BP神经网络训练TDOA数据,解决视距环境下精确定位问题,但BP神经网络收敛速度慢且易陷入局部极小值的弊端没有很好地被克服。文献[12]为了减小非视距对UWB定位精度的影响,先利用非视距误差特性建立卷积神经网络(CNN)来校正位置数据,然后用扩展卡尔曼滤波的方法估计位置,但是当位置突变时扩展卡尔曼滤波精度降低。文献[13]为了降低多径和非视距带来的影响,利用免疫算法优化的BP神经网络训练TDOA值,取得较好的效果。但仅使用3个TDOA值作为输入适用的空间范围较小。此外,较多文献的研究都基于仿真验证算法,不能评估算法在实际场景下的性能,而且有的定位模型是把相对固定室内环境中的定位数据输入训练网络所产生的,在实际应用中不能较好地解决移动的人员或物体等动态干扰因素带来的定位误差问题。

本文利用通道注意力特性[14-15],结合卷积神经网络构建了一个深度学习网络(SE-CNN),设计了一种基于注意力机制的室内定位算法。以UWB的TDOA值作为研究对象,利用基站位置、TDOA值组成的定位数据与TDOA值对应的真实位置对SE-CNN进行训练。先使用基于通道注意力机制的SENet模块,使得在无动态干扰影响下的TDOA通道获得较大权重值,受到动态干扰的TDOA数据通道获得较小权重值,以减少TDOA测量值中因干扰因素引起的多径效应与NLOS所产生的误差,接着利用CNN网络的映射能力建立定位数据与目标位置之更准确的非线性关系,得到较优的定位模型,提高系统定位精度。

1 基于注意力机制的定位算法

1.1 SE-CNN模型

本文结合SENet和CNN网络,构建了一种用于UWB定位的深度学习网络模型——SE-CNN。如图1所示。

图1 SE-CNN网络模型

网络模型主要分为四个模块:

1) 输入模块。输入的是四个基站的坐标以及四个TDOA值。数据组织形式表示如下:

2) 通道注意力模块。利用基于通道注意力机制的SENet模块。数据通过Global Average Pooling层,对每组特征数据做全局平均池化,可以得到一个平均的实数值。这个实数值在一定程度上具有全局感受野。然后进入两层全连接层。特征通道权重表征通道间的相关性也即特征选择后每个通道的重要程度,得到的各通道权重通过乘法再作用于原数据的各个通道上。SENet的公式推导如下式所示:

(1)

s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1,z))

(2)

xc=Fscale(uc,s)=sc·uc

(3)

式中:uc为特征通道,W1、W2为全连接层权重值,δ()和σ()分别表示Relu和Sigmoid函数。

从SENet输出的数据是在通道维度上对原数据重要程度进行重新标定过的数据。

3) 特征提取模块。包含两个卷积层和两个线性连接层。从SENet模块输出的数据分别经过两次卷积操作和最大池化操作提取特征。最后数据进入神经元数量为32和2的线性连接层。

4) 输出模块。输出为目标估计位置。

1.2 采集数据与预处理

在实验室环境下,四个基站位置已知,选取多个不同参考点,由激光测距仪获取参考点的真实位置。采集数据时将固定好标签的支架放置在参考点上,标签的发送频率为32 Hz,每个参考点连续测量5 min,基站接收标签发送的信号得到约10 000组数据值,服务器计算并存储TDOA值。将四个基站位置与多组TDOA组成训练集,训练网络的输入是4个基站的坐标和多组TDOA值。定位模型的输出为目标位置,用X和Y两维坐标表示。

1.3 SE-CNN定位方法与过程

基于数据集的SE-CNN定位算法的训练过程如下。

1) 训练网络生成定位模型阶段。

Step1初始化SE-CNN网络中的权值及阈值。

Step2从数据集中取一批训练样本,每批训练样本包含16条数据,每条数据中包括4个基站各自的坐标、4个TDOA值以及标签所在的参考点位置坐标,取每条数据的前16个元素作为网络的输入,逐层传输,并计算输出与参考点位置坐标之间的误差。误差的计算使用MSELoss函数,最终使用平均MSELoss作为判断定位结果优劣的标准。

Step3误差在网络中反向传播,调整网络的权值和阈值。利用MSELoss函数得到误差,再将误差逐层返回,并计算出每一层的误差,最后更新权值。这一过程的目的是通过训练样本调整网络参数值。

Step4重复Step 2-Step 3直到网络输出与参考点位置坐标的误差达到要求为止。

网络训练结束后,保存训练完成的SE-CNN网络模型及参数,用于定位解算阶段的目标定位。

2) 定位解算阶段。

Step1将标签放置到已知位置的测试点,服务器已存储各基站坐标,并实时计算TDOA值。

Step2将定位数据输入定位模型,即可得到标签的估计位置。

训练网络及定位解算过程的流程如图2所示。

图2 SE-CNN网络训练与定位解算

2 实 验

2.1 实验环境

本实验在学校实验楼4楼的一间7 m×6 m的实验室进行,室内人员的流动具有随机性。定位系统示意如图3所示。

图3 定位系统示意图

实验设备包括一台服务器、4个基站、2个标签、1个支架。服务器上安装定位软件,用于接收基站发送的数据。4个基站中有1个主基站、3个从基站,基站间时间同步。

2.2 参数设置

图1所示的模型是由一个SENet模块、2个卷积层、2个池化层和2个全连接层组成。SE-CNN网络参数:(1) 激活函数为Relu;(2) 优化器为Adam;(3) 学习率设置为0.001。各层的具体参数如表1所示。

表1 SE-CNN参数表

2.3 算法对比

本文使用均方误差作为评价指标来比较各个算法的性能。由表2中各算法的误差比较可以看出,本文提出的SE-CNN网络得到的平均误差为0.001 2,在实验的所有神经网络中误差最小,且最大误差与最小误差相差相对较少。BP神经网络极易收敛于局部极小值,且收敛缓慢,平均误差较大,误差的波动也相对较大。CNN网络对受干扰的定位数据敏感,因此误差会有跳变到很大的情况,定位误差不稳定。深度置信网络(DBN)结构复杂,计算复杂度较高,学习过程较慢,容易收敛于局部最优解,所以最小误差较大,平均误差相对较大。综上所述,本文提出的算法定位精度优于其他算法,且稳定性相对较好。

表2 不同定位算法误差比较

3 结 语

本文提出了一种基于注意力机制的UWB定位算法,构建了由注意力模块与CNN网络组成的SE-CNN网络模型。将该网络模型训练后生成的定位模型利用通道注意力机制削弱了移动的人或物等动态干扰因素对定位性能的影响,减少了多径效应与NLOS环境带来的定位误差,提高了定位精度和稳定性,在真实的应用场景中具有良好的适应性。下一步将在物流仓库、工厂等动态复杂的定位场景下验证并改进本算法的性能。

猜你喜欢
参考点基站神经网络
基于神经网络的船舶电力系统故障诊断方法
基于NETMAX的基站网络优化
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
数控机床回参考点故障诊断及维修
5G基站辐射对人体有害?
5G基站辐射对人体有害?
5G辐射比4G小
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
简析线性电路电位与电压的关系