一种基于异构迁移学习的室内定位方法转让专利

申请号 : CN202110102396.0

文献号 : CN112954632B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭贤生赵梦雪李会勇李林黄健段林甫殷光强万群沈晓峰

申请人 : 电子科技大学

摘要 :

本发明属于室内定位技术领域,具体是涉及一种基于异构迁移学习的室内定位方法。本发明首先通过在每个格点采集RSS值建立离线指纹库作为源域数据,并随机收集一部分格点的RSS值作为共现数据中源域信息部分。然后在线上定位阶段,采集测试样本以及共现数据中目标域信息部分,并完成对共现数据的拼接。本发明的方法,以共现数据为桥梁,并加入边缘分布和条件分布对齐以及拓扑一致性约束,计算一个将源域投影到目标域的映射。最后,利用映射后的源域数据训练分类器,用于目标域的测试样本的位置计算。本发明充分利用共现数据,将源域和目标域数据联系起来,能在定位环境中传感器大量更换的情况下继续完成稳定、准确的定位,而不需要重新建立指纹库。

权利要求 :

1.一种基于异构迁移学习的室内定位方法,其特征在于,包括以下步骤:S1、在定位环境中部署路由器,并将环境划分为间隔距离相同的均匀格点;

S2、采集源域数据:

S21、依次将探测设备置于定位环境中的各个格点并记录下此时的探测设备位置坐标,然后探测周围路由器的信号,记录接收到的各路由器的RSS值;

S22、将步骤S21中得到的所有RSS值和格点位置存储下来,作为WiFi指纹库,同时也是源域数据;

S23、随机将探测设备置于定位环境中的部分格点,并记录接收到的路由器的RSS值,作为共现数据中与源域相关的一部分;

S3、采集目标域数据:

S31、改变环境中路由器的部署情况,再次将探测设备置于定位环境中并记录接收到的各个路由器的RSS值;

S32、将步骤S31中的得到的RSS值存储下来,作为待定位样本,即目标域数据;

S33、将探测设备置于定位环境中和S23中的一致格点位置,并记录接收到的路由器的RSS值,作为共现数据中与目标域相关的一部分;

S4、将步骤S23和步骤S33中采集到的数据按照格点位置进行拼接,作为共现数据;具体方法是:

设得到的源域数据为 其中 是第i个样本对应所有能被探测到的ms个路由器的所有RSS的向量,ns代表源域的样本总数,随机在整个定位环境中采集RSS数据,记为 作为共现数据中源域信息部分,其中nc代表共现数据样本数;

得到的目标域数据为 其中 是第i个样本对应所有能被探测到的mt个路由器的所有RSS的向量,nt代表目标域的样本总数,ms≠mt,在和源域相同的位置在定位环境中采集RSS数据,记为 作为共现数据中目标域信息部分;

将U和V拼接得到共现数据为Xc=[U;V];

S5、利用共现数据作为连接源域和目标域的桥梁,获得源域映射到目标域特征空间的映射矩阵,并计算出源域映射后的样本数据;具体方法是:T

通过映射矩阵A将源域映射到目标域的特征空间中:其中,Hts和Hs是矩阵H中的元素, H=M+αL, α是控制映射矩阵复杂度的参数,β是控制拓扑约束重要程度的参数,L=D‑W,W(i,j)=w(xi,xj)是相似度矩阵,D(i,i)=∑jW(i,j)是一个对角线矩阵, 是单位矩阵,w(xi,xj)具体为:

其中 其中uk是第k个共现数据样本中和源域相同的部分,vk是第k个共现数据样本中和目标域相同的部分;

M具体为:

映射后的数据为 和Xt是同构数据,从而在目标域的特征空间中,使用机器学习算法进行位置估计;

S6、利用映射后的有标签源域数据训练分类器,为无标签的目标域数据进行位置计算,获得定位结果。

说明书 :

一种基于异构迁移学习的室内定位方法

技术领域

[0001] 本发明属于室内定位技术领域,具体是涉及一种基于异构迁移学习的室内定位方法。

背景技术

[0002] 随着社会的发展与科技的进步,基于室内位置的服务也被广泛的应用到了人们的日常生产生活中,例如大型超市对货物的跟踪,医院对于特殊病人的位置监控,智能家居,
室内导航等。由于易于广泛部署、成本低、通信能力强等优点,室内定位技术广泛的采用了
基于WiFi指纹定位的定位系统。
[0003] 基于WiFi指纹的定位技术通常分为离线阶段和在线阶段两部分。离线建库阶段主要任务为在待定位区域进行样本采集,建立稳定、可靠的指纹库;而在线定位阶段将采集到
的待定位样本与离线指纹库中的样本数据进行对比匹配,完成位置计算。因此,基于WiFi指
纹的定位技术的定位精度取决于指纹库的样本数据的代表性以及定位环境变化的剧烈程
度。
[0004] 通常,在一个定位区域中的路由器数量不是恒定不变的,随着时间的推移,部分路由器由于人为关闭或者设备故障等原因无法被探测到,同时也会新增部分人为部署的路由
器。在传统的定位方法中通常选择忽略新增的路由器,并且为未被探测到的路由器的信号
强度值补充‑100dB来保持数据维度一致,这将很大程度的增加定位误差,甚至在路由器全
部更换的情况下无法进行位置估计。路由器的数量变化使得在线采集到的待定位样本在特
征维度和种类上与指纹库中的样本间存在较大差异,无法使用传统的机器学习方法进行定
位,而异构迁移学习可以很好的解决这个问题。
[0005] 迁移学习是指将一个域所学知识迁移到一个不同但又相关的域上,而异构迁移学习专门针对两个域的特征维度不相同的情况。文献“B.Myagmar,J.Li and S.Kimura,"
Heterogeneous Daily Living Activity Learning through Domain Invariant Feature 
Subspace,"in IEEE Transactions on Big Data,doi:10.1109/TBDATA.2020.2977626.”
提出了一种新的半监督异构迁移学习算法,该算法利用最大均值差异(Maximum Mean 
Difference,MMD)准则将源域数据投影到目标域PCA降维后的子空间中,在新的子空间进行
分布对齐。该方法在实测的智能家居数据中被证明是有效的。该方法包括以下几个步骤:1)
在待定位区域划分格点,并采集每个格点处周围APs(Access  Points)的信号强度
(Received Signal Strength,RSS),记录对应坐标值,建立离线指纹库,作为源域数据;2)
改变实验环境,随机关闭部分路由器,并部署部分新的路由器;3)采集环境变化后的RSS数
据,少部分数据记录格点标签,大部分数据不记录标签信息。它们分别作为目标域有标签和
无标签的待定位样本数据。4)利用该方法中的HDLAL方法求解一个映射,将源域数据映射到
目标域PCA降维后的子空间进行对齐;5)在映射后的空间,利用目标域数据和源域数据进行
欧氏距离匹配,计算定位结果。
[0006] 该异构迁移学习方法能够在一定程度上缓解由于路由器维度变化带来的定位误差,但是其缺点也较为明显,主要表现为以下两个方面:1)该方法是半监督的异构迁移学习
方法,要求目标域中包含一定数量的有标签数据。但是在室内定位领域,难以获取有准确位
置信息的样本数据;2)对于无标签的目标域数据,该算法采用利用伪标签计算源域和目标
域的条件分布差异,计算结果直接取决于伪标签的精度。因此,该类方法由于上述问题的存
在而在路由器数量变化的室内环境中难以准确、稳定的位置估计。

发明内容

[0007] 本发明的目的是针对上述方法中的路由器发生维度变化导致定位误差降低的问题,提出了一种基于异构迁移学习的室内定位方法,该方法只需要少量无标签的共现数据
而不需要有标签的目标域数据。其中,共现数据是指同时包含源域特征和目标域特征、标签
对齐但未知的一组数据,它可以是同时采集的严格时间对齐数据,也可以是不同时采集但
标签一致的数据。本发明的方法将源域数据映射到目标域所在的特征空间中,并且与目标
域保持分布一致和拓扑一致。本发明的方法利用共现数据为桥梁,将源域数据和目标域数
据联系起来,从而利用有标签的源域数据更好的辅助目标域数据进行位置计算,有效的提
高路由器维度发生变化的情况下的定位精度。
[0008] 为了实现本发明的目的,将采用以下技术方案:一种基于异构迁移学习的室内定位方法,它利用共现数据作为桥梁连接源域和目标域,将源域映射到目标域所在特征空间,
并加入分布对齐和拓扑一致约束,最后利用映射后的源域辅助目标域数据进行位置估计,
如图1所示,具体包括以下步骤:
[0009] S1、在定位环境中部署路由器,并将环境划分为间隔距离相同的均匀格点;
[0010] S2、采集源域数据:
[0011] S21、依次将探测设备置于定位环境中的各个格点并记录下此时的探测设备位置坐标,然后探测周围路由器的信号,记录接收到的各路由器的RSS值;
[0012] S22、将步骤S21中得到的所有RSS值和格点位置存储下来,作为WiFi指纹库,同时也是源域数据;
[0013] S23、随机将探测设备置于定位环境中的部分格点,并记录接收到的路由器的RSS值,作为共现数据中与源域相关的一部分;
[0014] S3、采集目标域数据:
[0015] S31、改变环境中路由器的部署情况,再次将探测设备置于定位环境中并记录接收到的各个路由器的RSS值;由于环境的改变,此时能探测到的路由器和离线阶段探测到的路
由器出现差异,部分路由器可能因故障或关闭无法被再次探测到,并且探测到一些新增的
路由器;
[0016] S32、将步骤S31中的得到的RSS值存储下来,作为待定位样本,即目标域数据;
[0017] S33、将探测设备置于定位环境中和S23中的一致格点位置,并记录接收到的路由器的RSS值,作为共现数据中与目标域相关的一部分;
[0018] S4、将步骤S23和步骤S33中采集到的数据按照格点位置进行拼接,作为共现数据;
[0019] S5、利用共现数据作为连接源域和目标域的桥梁,获得源域映射到目标域特征空间的映射矩阵,并计算出源域映射后的样本数据;
[0020] S6、利用映射后的有标签源域数据训练分类器,为无标签的目标域数据进行位置计算,获得定位结果。
[0021] 进一步的,所述步骤S4的具体方法是:
[0022] 设得到的源域数据为 其中 是第i个样本对应所有能被探测到的ms个路由器的所有RSS的向量,ns代表源域的样本总数,随机在整个定
位环境中采集RSS数据,记为 作为共现数据中源域信息部分,其中nc代表共现数
据样本数;
[0023] 得到的目标域数据为 其中 是第i个样本对应所有能被探测到的mt个路由器的所有RSS的向量,nt代表目标域的样本,ms≠mt,在和源域
相同的位置在定位环境中采集RSS数据,记为 作为共现数据中目标域信息部分;
[0024] 将U和V拼接得到共现数据为Xc=[U;V]。
[0025] 进一步的,所述步骤S5的具体方法是:
[0026] 通过映射矩阵AT将源域映射到目标域的特征空间中:
[0027]
[0028] 其中,Hts和Hs是矩阵H中的元素,α是控制映射矩阵复杂度的参数,β是控制拓扑约束重要程度的参数。L=D‑W,W(i,j)=w
(xi,xj)是相似度矩阵,D(i,i)=∑jW(i,j)是一个对角线矩阵, 是单位矩阵,w(xi,
xj)具体为:
[0029]
[0030] 其中 其中uk是第k个共现数据样本中和源域相同的部分,vk是第k个共现数据样本中和目标域相同的部分;
[0031] M具体为:
[0032]
[0033]
[0034]
[0035]
[0036] 映射后的数据为 和Xt是同构数据,从而在目标域的特征空间中,使用机器学习算法进行位置估计
[0037] 本发明的有益效果是:本发明充分的利用了同时包含源域和目标域两种特征的共现数据作为桥梁,通过映射源域数据到目标域所在的样本空间来辅助目标域完成位置计
算。在环境变化剧烈的WiFi指纹定位中,当路由器发生大量的更换甚至完全更换时,传统的
定位方法必须建立新环境中的指纹库才能完成定位。而本发明通过将已有的源域指纹库映
射到目标域空间中,避免了这一个耗费人力时间成本的环节。因此,本发明可以在实际定位
中待定位环境路由器变化剧烈的情况中发挥非常重要作用。

附图说明

[0038] 图1为本发明的流程示意图。
[0039] 图2为传统方法和本发明方法的定位误差性能比较图。
[0040] 图3为传统方法和本发明方法的定位误差累积百分比。

具体实施方式

[0041] 下面结合附图及实施例,详细描述本发明的技术方案:
[0042] 1.实验场地布置
[0043] 实验环境为的图书馆环境的3楼和5楼,每层楼的平面面积为154.2m2。室内有座椅板凳及书架等障碍物,在定位区域可探测到的WiFi接入点数量共有620个,具体位置未知。
将每层楼分别划分为106个格点,共212个格点,两层楼的格点位置对应相同,每个格点与邻
近格点间隔为0.9m。
[0044] 2.获取数据并构造源域
[0045] 将移动设备置于定位环境中的48个格点处,其中3楼和5楼分别包含24个格点,且对应位置相同。记录下此时的格点编号和二维坐标,然后探测周围路由器的信号强度并记
录数据,最终得到的源域数据为 其中 是第i个样本对
应所有能被探测到的ms个路由器的所有RSS的向量,ns代表源域的样本总数。同时,随机在整
个定位环境中采集RSS数据,记为 作为共现数据中源域信息部分,其中nc代表共
现数据样本数。
[0046] 3.改变实验环境,获取数据并构造目标域和共现数据
[0047] 关闭定位环境中的部分路由器、并新部署部分未出现过的路由器来模拟路由器减少和增加导致的定位环境改变。将移动设备置于定位环境中所有位置,然后探测周围路由器的
信号强度并记录数据,最终得到的目标域数据为 其中
是第i个样本对应所有能被探测到的mt个路由器的所有RSS的向量,nt代表源域的样本总数,
通常ms≠mt。
[0048] 同时,在和源域相同的位置采集定位环境中采集RSS数据,记为 作为共现数据中目标域信息部分。拼接两部分数据,保证严格的标签对齐,但是标签未知。因此得
到最终的共现数据为Xc=[U;V]。
[0049] 4.映射源域数据到目标域特征空间
[0050] 4‑1.源域数据和目标域数据是异构数据,特征维度不一致,无法直接使用传统的机器学习方法进行位置估计。假设存在一个映射 可以将源域数据映射到目标域
中。映射后的数据为 和Xt是同构数据。因此可以在目标域的特征空间中,使用常
见的机器学习算法进行位置估计。
[0051] 4‑2.边缘分布和条件分布自适应
[0052] 为了让源域更好的适应目标域,从而更好的辅助目标域的预测任务,因此强制映射后的源域数据 和目标域数据Xt的边缘分布和条件分布尽可能接近,减少分布差异。计
算条件分布式,目标域使用伪标签,具体数学表达如下:
[0053]
[0054]
[0055] 令 并将式1式2结合,最终得到下式
[0056] min tr(XMXT)  (3)
[0057] 其中 具体如下:
[0058]
[0059]
[0060]
[0061]
[0062] 4‑3.优化拓扑结构
[0063] 为了使得映射后的源域数据和目标域之间有更优的拓扑,即两个样本的相似度越大,映射后两个样本的距离越近。为了评估两个样本的相似度,针对两个样本是否来自同一
数据域提出了不同的计算方法。当两个样本来自同一数据域时,它们具有相同的特征维度,
可以直接使用Pearson相关系数来表示两个样本的相似度。但是当来自不同数据域时,样本
维度不一致,无法直接计算相似度,因此利用共现数据作为桥梁,计算异构数据之间的相似
度大小。具体评估方法如下:
[0064]
[0065] 其中
[0066] 定义拓扑约束为
[0067]
[0068] 当两个样本相似度越高时,相似度值w(xi,xj)越大,最小化该项可以使得映射后的值越小,即两个样本距离越近。式9可以改写为
[0069] min tr(XLXT)  (10)
[0070] 其中,L=D‑W,W(i,j)=w(xi,xj)是相似度矩阵,D(i,i)=∑jW(i,j)是一个对角线矩阵。
[0071] 4‑4.最终约束条件框架
[0072] 结合式3和式10两个约束条件,并加上正则化项,可以最终得到的目标函数为下式:
[0073] min tr(X(M+αL)XT)+tr(βATA)  (11)
[0074] 其中α和β是参数。令M+αL=H,并令 对上式展开计算可得:
[0075]
[0076] 对式12求导,并令其等于0,最终解得
[0077]
[0078] 利用计算出来的映射矩阵AT可以将源域映射到目标域的特征空间中,并在这个特征空间中进行位置估计。
[0079] 4‑5.映射源域数据
[0080] 通过式 和式(13)计算映射后的源域数据,此时的源域和目标域具有完全相同的特征维度,可以使用传统的机器学习方法进行位置计算。
[0081] 5.训练分类器,进行位置估计
[0082] 使用映射后的源域数据训练KNN分类器,然后将目标域数据通过分类器进行位置估计,更新目标域的伪标签。不断迭代上述方法,直到收敛,返回最终伪标签结果即为定位
结果。
[0083] 最终采集到的源域数据2880条,共现数据200条。本发明分别对实验环境中15个目标域进行实测定位,每个目标域中有1040个测试样本。其结果为:平均定位误差为2.752m,
定位误差小于2米的样本占27%,定位误差小于3米的样本占50%。图2为背景技术中采用的
方法和本发明方法的定位误差性能比较图,其中背景技术中的方法在路由器数量变化的情
况下定位效果要差于本发明的方法,这是因为背景方法虽然对源域数据进行了映射处理,
但是约束条件只有分布对齐,而未充分考虑源域和目标域之间的联系。而本发明提出的方
法不但对齐了源域和目标域之间的分布,而且充分利用共现数据作为桥梁,将每一个源域
样本和目标域样本联系起来进行拓扑优化。本发明方法将源域映射到目标域所在特征空
间,既防止了添加‑100dB带来的定位误差,又保证了源域和目标域的维度一致,可以使用传
统的定位方法进行位置估计。实验结果证明了本发明提出的算法是一种定位精度高、稳健
性好的定位方法。