1. 简介
- DeepLoc发表在2018年SIGSPATIAL会议上。GPS是大家所熟知的定位服务,但是GPS对于一些低端的手机不支持,并且需要与卫星进行交互,会很快的将手机的电池耗干净。DeepLoc系统是利用基站的信号对用户进行定位,是一种基于深度学习的室外定位系统。最终在城市和乡村环境实验,DeepLoc获得了一个比较好的定位精度,城市环境18.8m,农村环境15.7m。
2. DeepLoc系统结构
- DeepLoc系统主要包括以下几个组成部分:
1)指纹收集模块(Fingerprint Collector): 主要用于离线基站指纹收集。收集的信息包括,当前定位经纬度(lng,lat)、当前定位的置信度(confidence)、当前位置手机收集到的基站id和其信号强度rssi。最多收集强度最高的7个基站信号。
2)网格生成模块(Grid Generator): 主要用于在收集的指纹数据上生成网格,每个网格中收集的指纹数据当做训练样本用于构建深度模型。其中网格的大小,是一个可调参数用于控制定位精度和计算复杂度。
网格生成.png3)数据增强模块(Data Augmenter): 主要用于处理收集的GPS位置和基站rssi值噪声样本,通过此模块能够增加一部分训练样本并且能够提升模型的鲁棒性。
4)定位模型训练模块(Model Trainer Module): 主要负责神经网络模型的训练,模型的输入是所有信号塔的rssi值;模型的输出是所有网格的概率值。
5)位置估计模块(Location Estimator Module): 位置估计模块使用训练好的神经网络模型,预测每个网格的概率,之后通过这个概率值作为权重,结合每个网格中心坐标位置,预测用户最终的定位坐标。
- 其中模块1,2,3,4属于离线模型训练阶段,模块5属于在线用户定位阶段。
3. 模型详细说明
3.1 数据增强模块(Data Augmenter)
- 训练数据的质量和大小,往往影响深度模型的分类准确率。数据增强模块的目标是处理输入噪声数据,并且生成一些新的训练样本,增加训练数据大小,减少数据手机开销并增加系统的鲁棒性。DeepLoc有两个数据增强模块:Spatial Augmenter用于处理GPS定位坐标的噪声,Scan Augmenter用于处理手机的rss数据噪声。两个模块都能够增加一定的训练样本。
- 下图为Spatial Augmenter模块说明,其使用了定位的置信度(confidence),以定位坐标为中心,置信度为半径换出的圆如果与某个网格相交,则将当前的样本同事用于这些网格中(也就是同时增加几条样本)。
- 下图为Scan Augmenter模块,通过对扫描到的基站信号强度进行屏蔽处理,增加训练样本。即接收到的信号强度向量,乘以一个mask向量,得到一个新的信号强度向量。
3.2 模型训练模块(Model Trainer)
- 模型的输入是,个基站的信号强度值(rssi),如果没有扫描到对应的基站,则其接收信号强度设置为0;模型的输出是每个网格(共个网格)的分类概率,是一个多分类问题。输出层使用softmax激活函数,是的所有网格的分类概率和为1。
- DeepLoc训练过程中使用dropout放置模型过拟合,损失函数使用交叉熵损失函数。
3.3 在线用户位置估计
- 在得到每个网格的分类概率之后,最终用户的定位位置为:所有网格的中心坐标乘以其分类概率
计算最终用户坐标.png
4. 效果评估
-
测试环境和模型参数说明如下,从下图可以看出测试区域非常的小,所以定位精度可能比较高。
测试环境.png
模型参数说明.png
参考资料
- 论文:DeepLoc: A Ubiquitous Accurate and Low-Overhead Outdoor Cellular Localization System
https://arxiv.org/pdf/2106.13632.pdf
网友评论