一种基于改进深度卷积模型的室内定位方法

2022-08-23 07:16程春玲杜金楷章丁祥
计算机技术与发展 2022年8期
关键词:定位精度定位图像

刘 伟,程春玲,杜金楷,章丁祥

(南京邮电大学 计算机学院,江苏 南京 210003)

0 引 言

随着网络信息技术的发展,基于室内位置服务的需求大幅增加,如安防救援和工业生产流程的可视化、商场定位、病患位置监测等,因此对高精度室内定位技术的研究具有非常重要的现实意义[1]。但由于信号的衰减、多径效应、软件不适配等多种原因,传统的室外定位设施并不能在室内有效的工作,室内定位的精度和稳定性无法达到要求。目前,采用不同通信手段的定位技术不断涌现,基于Wi-Fi信号的室内定位技术相对于蓝牙、红外线等技术来说具有成本低、覆盖率高、信号稳定等优点,有着更大的研究潜力[2]。近年来,深度学习迅速发展,其中卷积神经网络(Convolutional Neural Network,CNN)在图像分类、人类活动识别等方向被广泛应用。在室内定位中引入CNN,构建位置图像并实现位置分类是一种非常新颖的定位方式。文献[3]中提出了将深层卷积神经网络和指纹定位相结合的定位方案Ci-Fi,利用Wi-Fi的信道状态信息(Channel State Information,CSI)构建图像,利用深层卷积神经网络(Deep Convolutional Neural Network,DCNN)实现位置分类,但DCNN模型存在拟合能力弱、未知位置识别能力弱的问题。

针对DCNN存在的问题,该文对其进行改进,提出了能够识别未知位置的I-DCNN(Improved-Deep Convolutional Neural Network)模型。调整了DCNN结构,通过提升模型复杂度、增加(Batch Normalization,BN)、更换激活函数等手段解决了DCNN在不同数据集上拟合能力有差异的问题;利用数据增强方式扩充数据集,增加dropout层防止过拟合,提升了DCNN在测试集上的定位精度;将DCNN与I-Openmax(Improved-Openmax)算法相结合,利用I-Openmax层代替DCNN中的softmax层,实现了未知位置识别。

1 相关工作

基于Wi-Fi的定位技术常常使用接收信号强度(Received Signal Strength,RSS)[4]或CSI来进行定位[5]。CSI是Wi-Fi信道的物理层数据,其中含有的幅值和相位信息无论数据稳定性和数据精度都高于RSS。因此包含细粒度信道信息的CSI数据,可以提供更高的定位精度。目前室内定位技术大都尝试将基于RSS室内定位技术与深度学习相结合,实现位置分类。为了解决接收信号强度指示(Received Signal Strength Indication,RSSI)易随时间和环境的变化而变化的问题,刘伟明团队提出了一种基于深度负相关学习的WiFi室内定位模型[6],该模型通过负相关学习约束,不同的学习器学习多个表征特性,极大地提高了模型的泛化能力,很好地解决了该问题。Ayesha Sahar团队首次尝试将长短期记忆(Long Short-Term Memory,LSTM)神经网络与基于RSS定位技术相结合,实现室内定位[7]。该方案将定位过程分为两个阶段,离线阶段利用RSS信号构建WiFi指纹序列,在线阶段利用搭建好的LSTM模型实现定位。由于RSS信号的特性,上述方案数据获取成本低,但定位精度无法达到要求。

CSI数据由于包含细粒度信道信息,可以提供更高的定位精度。Ci-Fi室内定位系统[3]是将卷积神经网络与基于CSI定位技术相结合的室内定位方案,该方案利用CSI相位特征计算相位差并估计到达角(Angle Of Arrival),证明AoA值的稳定性,最后利用AoA值构建尺寸60×60的数据图像。离线阶段,搭建DCNN模型,利用来自训练位置的图像训练DCNN,在线定位阶段,使用一种基于概率的多图像定位算法实现图像位置的估计。该方案使用CSI进行室内定位,提升了室内定位精度,但该方案存在不同数据集上拟合能力差异显著、未知位置识别能力弱的问题。

2 I-DCNN

该文通过实验发现,DCNN存在如下问题:(1)不同数据集下拟合不稳定;(2)未知位置识别鲁棒性弱;(3)在尝试提升模型拟合能力后,其定位精度仍低于使用预期。因此,该文提出新的深度学习模型I-DCNN,结构如图1所示。

图1 I-DCNN结构

如图1所示,I-DCNN针对DCNN模型存在的问题进行改进,针对拟合能力差的问题调整模型结构,提升模型复杂度;针对定位精度问题扩充训练集,增加dropout层;针对未知位置识别能力弱的问题使用I-Openmax算法代替DCNN中的softmax层。

2.1 增强拟合能力

为提升模型的拟合能力并细化每一层的特征学习,I-DCNN提升了模型的深度。为了学习到更为丰富的图片特征,提升了模型每一层的宽度[8]。对模型结构的调整如下:(1)全连接层隐藏层层数从1层增加到2层;(2)增加全连接层网络宽度,将隐藏层第一层神经元数量从64提升到128。

DCNN模型使用的激活函数是Sigmoid,Sigmoid激活函数有如下缺点:(1)容易出现梯度消失现象,当激活函数接近饱和区时,变化太缓慢,导数接近0,从而无法完成深层网络的训练;(2)Sigmoid函数的输出不是0均值,会对梯度产生影响,使得收敛缓慢。LeakyReLu函数[9]则是对ReLu函数的一种改进版本,它用一个类似于0.01的小值来初始化神经元,从而解决神经元坏死问题。LeakyReLu函数表达式如式(1)所示:

f(x)=max(0.01x,x)

(1)

其中,x表示激活函数前网络层输出,实验表明,LeakyReLu函数相较Sigmoid函数,解决了梯度消失的问题,加快了模型收敛速度。

BN层[10]是近年来深度学习方向的重要突破,已经被广泛证明其有效性和重要性。BN层本质上则是通过一定规范化手段,将每一层输入值变换到均值为0,方差为1的标准正态分布,公式如式(2)、式(3)所示:

(2)

(3)

其中,γ和β是可学习参数,m指的是mini-batch size,xi指的是当前层输入。该文在所有卷积层后面加入了BN层,使得每层输入保持独立同分布。

DCNN模型使用的是SGD优化器,但SGD由于更新频繁,会造成损失函数有严重的振荡,容易陷入局部极小值,且SGD对于学习率比较敏感,需要花费较多的时间在学习率的调整上。所以对优化器进行改进,使用基于自适应学习率算法的AdamW优化器[11],AdamW优化器是在Adam和L2正则化基础上进行改进的自适应算法,为解决SGD收敛性问题而提出。

3.4节的实验表明,在经过上述改进后,模型拟合能力明显增强,能够顺利学习数据特征。但改进后的模型存在泛化能力不够的问题。

2.2 提升定位精度

在解决模型欠拟合问题后,模型的定位精度低于预期,DCNN有过拟合趋势。过拟合是机器学习方法设计不好的一个重要问题,推测由于解决方案不够合理,改进后的模型产生了过拟合问题。

模型在测试集上表现较差,模型处于过拟合状态,可能由于训练集数据过少,无法描述问题的真实分布,所以尝试通过图像平移和翻转等方式扩充数据集[12]。通过3.2节所示数据采集方法采集数据,训练集中每个位置可构建53幅60×112的数据图像,共构建477张图像。通过图像翻转、平移、裁剪等方式将数据集扩充到750张图像,实验结果表明该方法能够在一定程度上解决改善过拟合问题。

该文在DCNN模型的全连接层加入了两层dropout层,有效避免了模型过拟合。dropout操作[13]防止过拟合原因:(1)dropout起到取平均的作用;(2)减少神经元之间复杂共适应关系。加入dropout层后,模型过拟合问题基本解决,在已知位置上表现较好,但是当测试集包含未知位置时,模型性能有较为显著的下降,所以将DCNN与I-Openmax算法相结合,提升未知位置识别能力。

2.3 增强未知位置识别能力

室内定位常常要求对任意位置进行定位,模型在训练阶段仅对已采集的标记点位进行学习,对新的位置的预测精度较低。为实现未知位置分类,该文首先尝试将Openmax算法[14]与DCNN模型相结合,使用Openmax层代替DCNN全连接层中的softmax层。传统的softmax层只能输出图像属于各个已知位置的概率,而Openmax层可以同时输出图像属于已知位置和未知位置的概率。用Openmax替换softmax层,测试结果表明现有的Openmax算法在识别未知位置图像时准确率较高,能够准确地将其判断为unknown。但当识别已知图像时,有一定的可能将已知图像识别成unknown。

因此对Openmax算法进行改进,提出I-Openmax算法。I-Openmax算法实现流程如下:(1)训练阶段,利用与Openmax同样方法拟合分布模型;(2)测试阶段,给定位置每4张测试图像分为一组,该位置的一组图像输入模型中,经过Openmax计算输出。判断4张图像输出结果,当不少于3张图像被判定为unknown时,判断该位置为未知位置,否则,判断该位置为已知位置,将数据输入原来的softmax层进行计算,输出判断结果。计算代码如下所示:if numunknownlocation is unknown else Softmax,其中numunknown表示4张输入图像被判断为未知位置的数量,Softmax表示将Openmax替换成softmax层进行操作。

3 实验及其结果分析

3.1 实验环境

(1)数据采集硬件环境。

在10 m×7 m的空旷会议室中对实现的I-DCNN模型进行测试,使用了2台安装了Intel Wi-Fi Link 5300无线网卡和Ubuntu操作系统的笔记本分别作为发射端和接收端,发射端使用1根天线,接收端使用3根天线,将工作频率设置为5 GHz。

(2)仿真的软硬件环境。

仿真实验在笔记本电脑上完成,配置为:Intel i5,硬盘512 G,windows10,采用Pytorch框架构建实验所需的神经网络模型,使用MATLAB对于采集到的数据进行预处理,使用PyCharm作为编写程序的IDE,最后的网络训练和测试环节均在Google的Colab平台上完成。

3.2 数据集

数据采集方式如下:以会议室平面图右上角作为原点,将接收端固定在原点处,发射端与接收端的距离设置为1.3 m,将发射端绕接收端做圆周运动。分别采集0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°、180°这9个角度的数据,为每个位置采集4 000条数据,共采集36 000条数据。接收端有三根天线,每根天线提供30个子载波信号,所以每条数据包含90个子载波信号。对数据集按照8∶1∶1进行划分,80%数据作为训练集,10%数据作为验证集,10%数据作为测试集。

数据图像构建方式如下,利用MATLAB从子载波数据集中提取CSI相位数据,计算天线之间的CSI相位数据差值,每条数据最终可以得到60个CSI相位差值,选取60条数据构建图像,可以构建出一幅大小为60×60的数据图像。采用该构建方式分别对训练集和测试集进行图像构建。训练集中,每个位置可以构建53幅图像,训练集共可以构建477幅图像,通过数据增强的方式将训练集扩充至750幅图像。测试集中,每个位置可以构建13幅图像,测试集共可以构建117幅图像。

3.3 评价指标

实验评价指标如下:

(1)均方误差(Mean Square Error,MSE)。

若待测点估计位置的角度和真实位置的角度分别为θi和θ0,则通过多次实验之后,定位系统定位偏离期望值的幅度可用均方误差表示,其计算公式如式(4)所示:

MSE=[(θi-θ0)2]

(4)

(2)平均绝对误差(Mean Absolute Error,MAE)。

若待测点估计位置的角度和真实位置的角度分别为θi和θ0,多次输入测试图像后,每次输出值及其绝对误差不会相同,将各次测量的绝对误差取绝对值后再取平均值,称其为绝对平均误差,计算公式如式(5)所示:

(5)

(3)识别准确率R。

利用指标R来描述模型训练过程中每次迭代后的准确率,在训练集每张CSI图像的输出中挑选概率最大的位置作为其输出,并与该图像位置标签进行比较,在所有训练集图像输出完毕后,计算判断正确的位置图像占图像总数比例。R计算公式如式(6)所示:

(6)

其中,N表示训练集图像总数,predsi表示第i张图像的输出,labeli表示第i个训练图像的标签,total_num表示测试图像总数量。

3.4 拟合能力分析

(1)DCNN拟合能力分析。

设置训练批次batch_size=16,迭代次数epoch=40,损失函数为交叉熵损失函数(cross entropy loss)。在不同学习率下对模型进行多次训练,选取loss收敛后损失值最低的模型作为最优模型。对比学习率分别为0.001、0.005、0.01、0.05、0.1、0.5时的最优模型在训练集上的拟合情况,如图2所示。

(a)0.001、0.007、0.01学习率拟合表现 (b)0.05、0.1、0.5学习率拟合表现

从图2可以看出,多次调整学习率,模型仍然处于一种欠拟合状态,无法学习CSI图像的数据特征,其拟合能力无法达到要求。

(2)I-DCNN模型拟合能力分析。

选取AlexNet模型和DCNN模型作为拟合能力对比模型,AlexNet模型是2012年ImageNet竞赛的冠军模型,是图像分类领域的经典模型,DCNN则在室内定位方案中展示了强大的图像分类能力,该文选取这两种模型与I-DCNN进行拟合能力对比分析。对AlexNet模型和DCNN模型进行调优后,将I-DCNN在训练集上的拟合能力和DCNN以及AlexNet进行对比,训练批次batch-size=16,迭代次数epoch=40,DCNN学习率a=0.1,AlexNet学习率b=0.01。三种模型在同一训练集上拟合能力如图3所示。

图3 I-DCNN与DCNN和AlexNet对比

对三种模型的训练时间进行了比较,对三种模型进行10次训练,训练时间取平均值,三种模型训练时间如表1所示。

表1 三种模型训练耗时对比

从表1可以看出,AlexNet由于模型复杂度较高,所以运行时间明显较长,DCNN运行时间最短,I-DCNN时间适中。从图3可以看出,I-DCNN可以较快收敛,且波动较小,而AlexNet和DCNN正确率均在0.1左右波动,处于欠拟合状态。实验结果表明,I-DCNN具有更好的拟合能力。

3.5 定位性能分析

由于DCNN模型和AlexNet模型在文中训练集上处于欠拟合状态,所以无法将三者的定位性能进行进一步比较。而基于SVR的室内定位算法[15]在文中数据集上也取得了很好的效果,所以选取SVR算法与基于I-DCNN室内定位算法进行比较。分别对两种算法进行了30次测试,测试结果取平均值,结果如图4所示。

(a)识别准确率对比 (b)MSE对比 (c)MAE对比

(1)识别准确率R比较。

图4分别展示在不包含未知位置,包含未知位置不使用I-Openmax算法以及包含未知角使用I-Openmax算法三种情况下,两种算法的性能表现。图4(a)显示当未使用I-Openmax算法,不包含未知角情况下两种算法识别准确率都达到了95%以上。当测试集包含未知位置,两者的识别准确率都降到了90%以下。当使用I-Openmax算法的时候,I-DCNN的性能明显好于传统机器学习算法。

(2)MSE比较。

从图4(b)可以看出,当不包含未知位置时,两者均方误差都较低。当包含未知位置时,两者均方误差显著升高,但I-DCNN明显好于传统机器学习SVR,证明对于未知位置的估计,使用图像定位算法后的I-DCNN效果要好于SVR。当使用I-Openmax算法后,I-DCNN的均方误差要明显小于SVR。

(3)MAE比较。

平均绝对误差刻画了预测值和其真实值之间的距离,从图4(c)可以看出,测试集不包含未知位置时,预测值和真实值的距离很小,当包含未知位置时,两种算法的距离均显著增大,但I-DCNN的误差距离明显小于SVR,而I-Openmax算法的使用则明显降低了I-DCNN预测值和误差之间的距离。

上述比较证明,在包含未知位置的测试集上,基于I-DCNN的室内定位算法性能优于SVR算法。

4 结束语

针对基于卷积神经网络室内定位方案中对于未知位置识别的需求,基于开放集识别的核心思想,该文提出了I-DCNN模型,I-DCNN模型通过改进模型结构,解决DCNN存在的拟合能力弱、定位精度不够的问题,通过与I-Openmax算法相结合解决未知位置识别能力弱的问题,在物流机器人定位、室内目标追踪等连续定位场景具有广阔的应用潜力。

在实验中发现,I-DCNN模型性能与数据集质量关联显著,对采集环境和采集设备要求较高,同时当数据集质量较低时,训练集和测试集的数据关联性显著减弱,以上问题限制了模型的大规模推广。因此,下一步的工作主要有:(1)寻找采集效率更高、采集成本更低的CSI数据采集方式;(2)对图像的构建方式进行改进,充分利用CSI数据振幅、相位等特征,减弱数据集质量对模型性能的影响。

猜你喜欢
定位精度定位图像
北方海区北斗地基增强系统基站自定位精度研究
小米8手机在城市环境下的单点定位精度研究
GPS定位精度研究
GPS定位精度研究
A、B两点漂流记
难与易
送餐机器人
巧用“余数定位”,突破周期函数的计算问题
名人语录的极简图像表达
一次函数图像与性质的重难点讲析