CN105890600A - 基于手机传感器的地铁乘客位置推测方法 - Google Patents
基于手机传感器的地铁乘客位置推测方法 Download PDFInfo
- Publication number
- CN105890600A CN105890600A CN201610231284.4A CN201610231284A CN105890600A CN 105890600 A CN105890600 A CN 105890600A CN 201610231284 A CN201610231284 A CN 201610231284A CN 105890600 A CN105890600 A CN 105890600A
- Authority
- CN
- China
- Prior art keywords
- data
- subway
- mobile phone
- website
- window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000001133 acceleration Effects 0.000 claims abstract description 67
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000010801 machine learning Methods 0.000 claims abstract description 5
- 238000006243 chemical reaction Methods 0.000 claims description 19
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 9
- 229910052742 iron Inorganic materials 0.000 claims description 9
- 238000003066 decision tree Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 claims description 5
- 238000013398 bayesian method Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 241001269238 Data Species 0.000 claims description 3
- 230000001149 cognitive effect Effects 0.000 claims description 3
- 230000006872 improvement Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 125000006850 spacer group Chemical class 0.000 claims description 3
- 238000000844 transformation Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 2
- 230000000750 progressive effect Effects 0.000 claims description 2
- 239000007787 solid Substances 0.000 claims description 2
- 238000013480 data collection Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000002596 correlated effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000011435 rock Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种基于手机传感器的地铁乘客位置推测方法,包括如下步骤,训练阶段,收集来自每一个站点的标记好的各种手机加速度传感器的数据,从这些数据中抽取出相应的特征,然后使用机器学习的方法学习出一组在各个站点之间的分类器,一个站间隔是分类器最基本的识别单元。采集用户数据的阶段,读取用户手机上的加速度传感器数据并上传到相应的服务器;识别阶段,从服务器上获得乘客的手机上的传感器的相关数据,划分出地铁数据中的站点数据,利用分类器把站点数据映射到每一个站点,基于投票算法来推测出用户的完整的地铁乘坐路径。
Description
技术领域
本发明涉及一种基于手机传感器的地铁乘客位置推测方法,属于传感器数据处理分析技术领域。
背景技术
随着移动互联网的发展,移动终端的普及,基于地理位置的广告推送为商户带来了更多的顾客,同时也为顾客带来了更多的便利。但一般我们乘坐地铁时,由于网络信号不好,GPS基站等传统的定位方式通常无法准确的定位我们当前的位置,这样的情况下,一些手机应用也就不能很好的根据地理位置来向我们推送合适的广告。
现在有很多的计算机制能够计算出智能设备上的加速度传感器的相关数据,从而进一步估计他们现在的方向和位置。但是这些方法并不能用来取重构列车的轨迹。这是因为和行人以及其他的交通工具相比,地铁在十字路口的时候,转向的时候更加平稳,这就意味着这个时候的加速度传感器获得的信息就非常少了,并且对于一些很小的误差非常敏感的。所以上述的设计出来的用于行人的或者私家车的方法,也就是根据一些微小的信息变化(转向、消失等)检测出位置的方法,对于地铁来说是不现实的。当然,我们根据具体的实验也发现,他们的这些方法是不现实的。
不过,通过我们的研究发现,虽然一些较小的较细的信息无法反映很多的信息,也不能从中得到很多的信息,但是,对于一个加速度传感器和地铁的特性而言,在两个相邻的地铁站之间的几十秒的数据采集倒是可以反映很多的信息并且也很容易地找出这些数据之间的各种特征之间的不同(峰值、峰谷在不同方向上的变化等)。我们的方法是在这些特征比较明显的传感器数据中,通过机器学习的方法,找出具体的比较明显的特征,然后根据这些特征,构造分类器,这样的话,就可以使用分类器来区分特定的乘客是否经过特定的站点了。(特征:是指数据的一些特性,比如说,一组数据的特征可以是这组数据的大小,均值或者方差等等,只要是能够使用它来区分自己与别的数据,都可以认为是数据的特征)
我们认为这个方法是具有应用前景的,至少有以下两个理由支持我们的说法:首先,在主要的大城市中,每天都有大量的人乘坐地铁上班下班等。举个例子,南京的各种交通工具统计中显示,每天大概124万人次乘坐地铁,对于上海而言,乘坐地铁的人就更多了,大概在900万左右每天,在地铁中的广告推送具有很大的市场前景。所以,这样的一个算法是有很大的市场平台的。其次,用传感器来定位消耗的电量大大的小于使用GPS等定位方式,没有为本来电量就比较拮据移动设备增加负担。
发明内容
发明目的:为了实现这个目标,本发明提供一种基于手机传感器的地铁乘客位置推测方法,解决以下问题:
第一:地铁相对于静止,行走,或者乘坐其他的交通工具而言,数据是隐藏起来的。我们需要一个很好的方法从这些数据中准确地抽取出地铁的数据来。
第二:由于内部或者外部的原因,地铁的数据很容易被这些噪音影响。这样导致的后果就是,很多的地铁之间的站点是没有办法识别出来的。我们需要一个能够抵抗这种噪声的方法,它能够在存在这些噪声的情况下,仍然识别出地铁的各个的站点。
如果一个个人用户在地铁上携带智能手机的话,通过本发明的方法,就可以根据他的手机上的传感器采集到的数据,准确定位到他的具体的位置信息。
技术方案:一种基于手机传感器的地铁乘客位置推测方法,包括如下步骤:
训练阶段,收集来自每一个站点的标记好的各种手机加速度传感器的数据,从这些数据中抽取出相应的特征,然后使用机器学习的方法学习出一组在各个站点之间的分类器,一个站间隔是分类器最基本的识别单元。
采集用户数据的阶段,读取用户手机上的加速度传感器数据并上传到相应的服务器;
识别阶段,从服务器上获得乘客的手机上的传感器的相关数据,划分出地铁数据中的站点数据,利用分类器把站点数据映射到每一个站点,基于投票算法来推测出用户的完整的地铁乘坐路径。
所述训练阶段中,根据得到的用户手机加速度传感器的数据进行分类和训练,然后得到分类器。首先对手机传感器的数据进行坐标转换,转换完坐标之后,得到的数据就是相对于同一个参照系ENU的数据。坐标转换之后,用构建的分类器将不是地铁部分的数据去掉。见抽取地铁相关的数据部分的描述。得到纯净的只含有地铁相关的数据,并且这个数据的参照系是唯一不变的ENU坐标系统。接下来的工作是对地铁数据进行划分操作,划分结束之后,使用朴素贝叶斯的方法进行训练,得到分类器。
坐标转换:
从手机上得到的关于手机的坐标[x,y,z],转换成基于ENU的坐标[x’,y’,z’],通过方向传感器来实现转换,手机中的方向传感器的数据也是一个3维的数据[α,β,γ],这里的,α是在水平面之间和Y轴之间的夹角,β是X轴与水平线之间的夹角,γ是Y轴在水平线上的投影和真实的北方向上的夹角,令:α1是Y轴与Z轴在水平方向上投影的夹角,β1是X轴与Z轴在水平方向上投影的夹角,γ1是X轴与Z轴在水平方向上投影的夹角,X1,Y1,Z1为手机坐标系中x,y,z轴的加速度。有了这些夹角的数据,就能够很容易地确定东西南北,并且准确计算出各个向量的分量(位于ENU坐标系下的)。我们利用立体几何公式,向北方向加速度:ycosαcos(γ-π)+x cosβcos(γ+γ1-π)+z cosθcos(γ+β1-π)、向北方向的加速度:-y cosαcos(γ-π/2)-x cosβcos(γ+γ1-π/2)-z cosθcos(γ+β1-π/2)、垂直方向的加速度:x1sinβ+y1sinα+z1sinθ对角度进行变换,获得手机中加速度传感器在各个方向上的分量。
抽取地铁相关的数据
建立一个贝叶斯分类器,基于数据的HRA(水平方向加速度分量)特性来判断这些混合数据是不是地铁的数据。
将M个乘客手机传感器数据的坐标转换后的数据作为M个样本,对这M个样本的数据使用滑动窗口(WIN)进行分类。使用5个统计指标来对这些数据进行分类:均值,方差,超过预先定义的三个阈值的值的数目作为分类器的分类特征。首先我们对这M个样本用滑动窗口向后滑动取值。对于一个特定的地铁线,窗口的值被设定在这个地铁的最小的站点距离的一半。我们先将已知的地铁和非地铁数据放入贝叶斯分类器中训练出一个概率模型,然后将未知分类的窗口中的数据输入进模型,这样就可以判断这个窗口中的数据是否是地铁相关的数据。
如果Wini(窗口)被分成是非地铁相关的数据,但是Wini+1却被分成是地铁相关的数据,则会继续对Wini+2进行进一步地划分,如果这个数据被归类为非地铁的数据的话,则认为Wini+1是被错误划分的;否则,一个新的地铁的数据,就会被认为是在位置Wini的地方开始的,这种情况下的时候,进一步对开始的窗口,也就是第(i+1)w-1(w代表窗口的大小),(i+1)w-2,...一个一个进行划分直到出现第一个被划分成不是地铁的数据。接下来,如果开始位置的窗口是在样本(i+1)w-k(1<k<=w),那么地铁的开始位置就将会被认为是在样本(i+1)w-k+w/2的位置。当Wini被分成地铁相关数据时,方法也类似。
地铁相关数据的划分
在获得地铁相关的传感器数据之后,对这些数据进行划分,将这些数据的每一段都对应于两个地铁站点之间的一段距离。
假设{X1,X2,X3,...,Xn}是应用程序从用户的智能设备中获取的一系列的地铁数据的HRA(水平方向加速度分量)。定义了一个滑动的窗口W,窗口的长度Lw等于两个地铁站点之间最少行驶时间的大小。假设它从X1开始,一个一个数据采样到Xi,那么Xi的判定就是在阈值T1以下同时在窗口WXi中的数值是否超过长度95%LW,|{k∈{i,i+1,i+Lw-1}:Xk<T1}|>95%Lw,标记 这里使用最小化的数据值Mean(WXs)作为潜在的划分的点。这个的Mean(WXs)被定义为在WXs中的这些数据的均值,T1初始值为地铁暂停时加速度值的1.5倍。一旦发现Xs,那么算法就会直接跳过接下来的T2个数据值,搜寻下一个暂停站点的数据值Xs+T2。这里的T2等于在目标地铁线上的最短的站点间隔之间的距离,将一定数量的数值点当做现实中的距离。
当传感器数据含有很多噪音的时候,选择一个不恰当的T1,可能会错过一个或者几个划分的点(注释,如果T1的值足够小的话,错误的划分能够被避免。)。为了处理这个问题,进一步划分前面找到的暂停站点的集合。如果在相邻的两个站点之间的距离大于这条地铁线上的最大的两个站点之间的距离的话,那么在这段间隔之间,有一些站点划分被我们漏掉了。所以,在这个时候,算法就应该稍微减少一下T1的值,然后再重新搜索在这个间隔里的停靠站点的划分。为了提高精确度,不断重复这个算法,直到所有的划分的站点的间隔都没有超过最大的间隔的时候停止。
在对地铁相关的传感器数据划分之后,接着识别其具体对应的站点,在站点识别过程中,为提高站点识别的精确度,进行容忍错误的推测算法;具体方法如下:
得到分类器数据
对地铁相关数据进行去噪处理使得这些数据变得光滑,这样我们就可以很好地过滤掉那些由于人的手在持手机期间晃动所引起的噪声;
对于一个在特定方向上的加速度样本Xi来说,使用周围k个样本的均值或者它们附近的值来对加速度样本Xi进行替换,Xi‘指平滑后的加速度值,k指Xi周围的k个值。
(1)特征选择:用来对数据进行划分的特征选择主要是来自以下的两个集合:
数据的统计特征:被抽取特征的地铁相关数据包括3个数据(ECA,NCA,VCA),所提取的特征主要包括加速度均值、加速度的最大值、加速度的标准差、加速度绝对值的平均值、分别超过三个预定义阈值的个数、分段的长度和六种傅里叶变换的值。
峰值特征:把地铁相关数据的加速度曲线划分在同样大小的窗口中,然后对每个窗口的最大值、最小值分别进行排序,找出所有窗口中的最大值和最小值,并且把最大的三个峰值数据作为提取的峰值,最小的三个峰谷作为提取的峰谷。为了进一步提高准确度,把窗口的大小设置为不同的值,重复几次以上的处理过程,并且选取三个峰值(峰谷)出现次数最多的作为最后的结果。
(2)分类:在我们确定哪些特征作为抽取的特征之后,就可以从已经收集到的标记好的数据中抽取出这些特征,并使用它们进行训练得到识别未知的数据是哪一段的分类器。使用的不是仅仅只有一个分类器,主要使用两种分类器:改进后的朴素贝叶斯方法和决策树。
在AdaBoost中,每一个训练样本集合都会有一个对应的权重。一系列的K个分类器是通过迭代的方式得到的。在每一轮的学习中,来自原来的总的样本中的数据被重新采样得到新的训练结合,进行训练。那些权重比较高的样本优先被选中。在一个新的分类器Mi被学习到之后,这些被分离器Mi分错的样本,在Mi+1训练队的时候会获得更大的关注度。对于决策树,我们使用也是它的集成的版本:随机森林算法,它包含了多个决策树,输出结果由包含决策树的众数决定。
尽管我们使用了各种算法去改进分类器,但我们没有办法消除所有误差,为了进一步提高精度,我们提出了一种能容忍错误的推测方法。
(3)错误容忍的轨迹推测
假设地铁乘客的用户数据由n的段组成,分别为{S1,S2,S3,S4,......,Sn},并且地铁网站有m个站点间隔组成{I1,I2,I3,I4,......In}。不过我们给出的结果并不是一个具体的站点的结果,而是一个概率矩阵P=[Pi,j]n*m,这里的Pi,j表示的是数据Si被映射到站点间隔Ij的概率。
推测的结果必须是n站地铁的连续序列,所以推测的集合是有限的。举例来说,我们假设这m个站属于一段地铁线,这里总共只有2×(m-n+1)种可能集合:
我们可以考虑所有的可能性,然后使用一个基于投票的方法来决定最终的输出。在这个方法中,投出一个可能的概率Pbti:Ii->....->Ii+n-1等于每一个分段被匹配到对应车站区间的概率和。我们选取获得最高概率的区间作为我们最终的推测区间。
有益效果:与现有技术相比,本发明方法在用户乘坐地铁时,就算完全没有GPS,网络等定位条件,且能有效的定位出用户的位置;并且用手机传感器来就行推测能够大幅度节约手机电量。
附图说明
图1是将手机坐标系转化为惯性坐标系的图;
图2是步行和乘坐地铁时的水平传感器数据图;
图3是水平传感器分别在乘坐地铁,出租车,公交车和静止时的数据图,(a)公交车,(b)出租车,(c)地铁,(d)静止不动;
图4是停止位置时的数据说明图;
图5是原数据和平滑后的数据比较图,(a)采集的原生态数据,(b)平滑的数据;
图6是峰值选择示意图;
图7是精确抽取地铁相关的数据图,(a)优化以前,(b)优化之后;
图8是划分精度测量,通过编辑在不同站点之间的结果;
图9是南京、苏州、上海的推测的精确度。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
基于手机传感器的地铁乘客位置推测方法,整体概述如下步骤:
训练阶段,收集来自每一个站点的标记好的各种手机加速度传感器的数据,使用一些列的预处理操作从这些数据中抽取出相应的特征,然后使用机器学习的方法学习出一组在各个站点之间的分类器,一个站间隔是分类器最基本的识别单元。
采集用户数据的阶段,读取用户手机上的加速度传感器数据并上传到相应的服务器;
识别阶段,我们从服务器上获得乘客的手机上的传感器的相关数据,采用一些预处理的方法从加速度传感器数据中提取地铁数据,划分出地铁数据中的站点数据,利用前面得到的分类器把站点数据映射到每一个站点,最后使用给予投票的算法来推测出用户的完整的地铁乘坐路径。
方法的详细介绍:
训练阶段中,根据得到的用户手机加速度传感器的数据进行分类和训练,然后得到分类器。不过,我们直接从手机中获得的加速度传感器的数据是不能直接使用的,因为直接得到的手机加速度传感器的数据中的相关的参数是对应于每一个手机的自己的特性的,因此我们需要对手机加速度传感器的数据进行坐标转换。转换完坐标之后,得到的数据就是相对于同一个参照系ENU的数据。(详细方法见下面的坐标转换部分描述)
坐标转换之后,用构建的分类器将不是地铁部分的数据去掉,见抽取地铁相关的数据部分的描述。完成以上操作,我们就可以得到纯净的只含有地铁相关的数据,并且这个数据的参照系是唯一不变的ENU坐标系统。接下来的工作是对地铁数据进行划分操作,因为得到的数据是一堆混乱的数据,我们需要从这些数据中,分出每一个站点的数据相关特征,由于这些数据是我们实现刻意采集的数据,所以我们是知道每一个划分之后的数据是哪一个站点的。对数据进行的划分操作,详细内容参照地铁相关数据的划分,划分结束之后,我们就可以使用朴素贝叶斯的方法进行训练,得到分类器。到这里,就已经完成了前面起到的数据分类器的构造工作。
坐标转换:
我们提出的方法是基于智能手机上的加速度传感器的3-axis的结果进行地铁用户轨迹追踪的。就如同我们在图1中所展示的一样,每一个结果都是一个3维的向量[x,y,z],这些向量都是基于手机屏幕的坐标系统[X,Y,Z]的,不过这个的缺点是它会随着手机的晃动发生改变的。所以,这个系统,对于不同的手机来说是不同的。这个就导致一个非常困难的问题,就是很难从未处理过的数据中得到有用方向移动的数据。为了解决这个问题我们引入了另外的一种静态的East-Noth-Up(ENU)坐标系统,我们在图2中详细介绍这个系统。这个系统的优点是,它并不会随着手机的转换或者移动而发生任何的改变。因此我们在对数据进行分析以前,会把从手机上得到的关于手机的坐标[x,y,z],转换成基于ENU的坐标[x’,y’,z’]。
由于缺少在两个坐标系统之间的联系,所以直接进行转换几乎是不可能的事情。所以我们需要使用方向传感器来帮助我们进行这个工作,这个方向传感器是基于磁力计的一个工具。方向传感器的数据也是一个3维德数据[α,β,γ],这里的α是在水平面之间和Y轴之间的夹角,β是X轴与水平线之间的夹角,γ是Y轴在水平线上的投影和真实的北方向上的夹角,令:α1是Y轴与Z轴在水平方向上投影的夹角,β1是X轴与Z轴在水平方向上投影的夹角,γ1是X轴与Z轴在水平方向上投影的夹角,X1,Y1,Z1为手机坐标系中x,y,z轴的加速度。有了这些夹角的数据,就能够很容易地确定东西南北,并且准确计算出各个向量的分量(位于ENU额坐标系下的)。我们在表1中展示这个变换,角度变换的情形我们在图1中标记出来了。
表1
抽取地铁相关的数据
要推测地铁的路线,首先要获取地铁相关的手机传感器数据,即从一大堆加速度传感器数据中提取地铁相关的数据。
在进行坐标系的转换之后,我们所要作的下一步的工作就是在获取到的乘客的繁多的数据中抽取出哪些数据是和地铁相关的数据。在这些获得的数据中,只有很少的一部分的数据是用户在坐地铁的时候产生的数据。
为了能够去抽取地铁相关的数据,我们首先需要弄明白地铁相关的数据和其他的交通工具中使用加速度传感器产生的数据之间的区别。图2展示了一系列的水平方向传感器的相关数据,这一段数据描述的是一个人下地铁之后开始行走的过程。我们将会发现,行走的时候的加速度传感器的振幅与乘坐地铁的时候相比是非常大。图3进一步对乘客乘坐地铁和大巴,乃至私家车的数据进行了进一步的HRA(水平方向加速度分量)图的比较。我们仍然能够发现,地铁的数据的振幅比非地铁的数据的振幅小了很多很多。
基于以上的观察,我们可以直接建立一个简单贝叶斯分类器(这个分类器的作用仅仅只是用来区分哪些数据是地铁相关的数据,与后面的分类器作用是不一样的),基于数据的HRA(水平方向加速度分量)特性来判断这些混合数据是不是地铁的数据。
假设我们已经拿到乘客手机传感器数据的坐标转换后的数据,并且一共有M个样本(一个乘客的数据代表一个样本),我们就可以对这M个样本的数据使用滑动窗口(WIN)进行分类。我们使用5个统计指标来对这些数据进行分类:均值,方差,超过预先定义的三个阈值的值的数目作为分类器的分类特征。这个分类的结果是二值情况的,要么是地铁的数据,要么不是地铁的数据。首先我们对这M个样本用滑动窗口向后滑动取值。对于一个特定的地铁线,窗口的值被设定在这个地铁的最小的站点距离的一半。我们先将已知的地铁和非地铁数据放入贝叶斯分类器中训练出一个概率模型,然后将未知分类的窗口中的数据输入进模型,这样就可以判断这个窗口中的数据是否是地铁相关的数据。
如果Wini(窗口)被分成是非地铁相关的数据,但是Wini+1却被分成是地铁相关的数据,我们则会继续对Wini+2进行进一步地划分,如果这个数据被归类为非地铁的数据的话,则我们认为Wini+1是被错误划分的。否则,一个新的地铁的数据,就会被认为是在位置Wini的地方开始的,这种情况下的时候,我们进一步对开始的窗口,也就是第(i+1)w-1,(i+1)w-2,...一个一个进行划分知道出现第一个被划分成不是地铁的数据(w代表窗口的大小)。接下来,如果开始位置的窗口是在样本(i+1)w-k(1<k<=w),那么地铁的开始位置就将会被认为是在样本(i+1)w-k+w/2的位置。当Wini被分成地铁相关数据时,方法也类似。
地铁相关数据的划分
在获得地铁相关的传感器数据之后,我们的下一步的工作就是对这些数据进行划分,即把地铁数据划分为和实际对应的一站一站的数据,因为站点间隔是我们在训练阶段的基本的单位,无法再进行下一步的划分,所以要将这些数据的每一段都对应于两个地铁站点之间的一段距离。
正如我们所知道的那样,地铁在每一个地铁站点处仅仅只是暂停,然后乘客进入地铁,乘客离开地铁的简单的事情。所以,主要的相关的数据就隐藏在这些背后,因此我们可以通过这些数据来推断地铁乘客的位置信息。图4展示了从一条地铁相关的数据中抽取出来的HRA(水平方向加速度分量)图。我们将会发现,在图中有很多的凹点,这些点的数据值明显显得比其他部分的数据的值要小很多。根据我们的分析,这些凹点就是对应于地铁站点暂停的地点的数据。这些地方的数据为什么会比其他地方的数据小很多?是因为在这些地点,地铁是静止不动的,所以智能手机上的加速度传感器不会出现在任何方向上的加速度,因此显示的数值要比其他地方小很多很多。所以我们设计了算法1来自动对这些数据进行划分,主要是依据它们的各个间断点的数据,从而找出哪些是停靠站点的数据。
假设{X1,X2,X3,...,Xn}是应用程序从用户的智能设备中获取的一系列的地铁数据的HRA(水平方向加速度分量)。我们提出的方法定义了一个滑动的窗口W,窗口的长度Lw等于两个地铁站点之间最少行驶时间的大小。假设它从X1开始,一个一个数据采样到Xi,那么Xi的判定就是在阈值T1(T1的初始值为地铁暂停时加速度值的1.5倍)以下同时在窗口WXi中的数值是否超过长度95%LW。|{k∈{i,i+1,i+Lw-1}:Xk<T1}|>95%Lw然后我们标记 这里使用最小化的数据值Mean(WXs)作为潜在的划分的点。这个的Mean(WXs)被定义为在WXs中的这些数据的均值。一旦我们发现Xs,那么算法就会直接跳过接下来的T2(T2的初始值为最小的地铁站与站之间的间隔)个数据值,搜寻下一个暂停站点的数据值Xs+T2。这里的T2等于在目标地铁线上的最短的站点间隔之间的距离。
上述的处理过程,能够帮助我们确定哪些点的集合是潜在的划分点。不过,当传感器数据含有很多噪音的时候,选择一个不恰当的T1,可能会错过一个或者几个划分的点(注释,如果T1的值足够小的话,错误的划分能够被避免。)。为了处理这个问题,我们进一步划分我们前面找到的点的集合。如果在相邻的两个站点之间的距离大于这条地铁线上的最大的两个站点之间的距离的话,那么我们就知道,在这段间隔之间,有一些站点划分被我们漏掉了。所以,在这个时候,算法就应该稍微减少一下T1的值,然后再重新搜索在这个间隔里的停靠站点的划分。为了提高精确度,我们不断重复这个算法,直到所有的划分的站点的间隔都没有超过最大的间隔的时候停止。
算法1:找到最终的分段点
输入:地铁相关的HRA(水平方向加速度分量)数据,X。
一个用来识别停靠点的阀值,T1。
车站区间的最大值,Lmax。
车长区间的最小值,Lmin。
输出:最终分段点
开始:
算法2:找到分段点FindSegPoints
输入:X,T1,Lmax,Lmin;//上面的算法说明了
X的开始和结束:sIdx和eIdx;
输出:潜在分段点的集合
开始:
我们的实验发现,即使采用上面的算法思想优化了之后,这个方法仍然存在很多的错误。所以,我们将会给出进一步推测的算法,它具有良好的容错性,并且取得的效果很好。
得到分类器数据
到现在为止,我们已经讨论了如何去划分地铁相关数据。在本小节中,我们会进一步进行讨论,如何去区分这些这些划分好的数据站点对应。也就是说,我们要把前面得到的数据,对应到地铁线路上的每一个站点。
我们提出方案要我们去采集足够数量的训练数据,这样也就是说对每一个站点间隔都要采集。然后,我们利用这些已经标记好的数据去学习出一个分类器的模型,这个分类器的模型能够把返回的数据划分的结果,转换成各个站点的之间的间隔划分,这个在最后的一步推测中是非常重要的。我们现在首先介绍这些特征的选取,然后再介绍分类方法。
表2
Mean | 加速度的均值 |
Max | 加速度的最大值 |
STD | 加速度的标准差 |
MAV | 加速度绝对值的平均值 |
NVHT1,2,3 | 超过阀值1,阀值2,阀值3的个数 |
Length | 分段的长度 |
FFT DC 1-6Hz | 6种傅里叶变换的值 |
SE | 波峰的值 |
SP | 波峰的位置 |
(1)特征选择:用来对数据进行划分的特征选择主要是来自以下的两个集合:
数据的统计特征:正如我们在表2中看到的那样,这个集合包含的内容是加速度的数据,既有时间的范围,又有频率的范围。(包含:mean,max,std,mav,nvht1,2,3,length,FFT DC 1-6Hz,SE,SP)此外,我们抽取特征的数据包含表1中的所有的3个数据(ECA,NCA,VCA)。这些特征能够有效地抓取在这一期间的地铁的运行的整体的模式。举个例子,对于去刻画地铁的垂直震动模式,NCA的STD成分是非常有用的。另外在抽取这些特征以前,我们首先需要对数据进行处理使得这些数据变得光滑,这样我们就可以很好地过滤掉那些由于人的手在持手机期间晃动所引起的噪声。
峰值特征:尽管数据的统计特征能够抓住地铁在运动过程中的整体的运行模式,不过仍然会有很多的比较重大的事件,例如在一些特别的位置突然的拐弯等,会被统计特征忽略。当然,这些变化主要是因为地铁轨迹的突然变化引起的,不过对于在这一段的路径分类器来说却是一个非常理想的特征。这些事件通常会导致加速度传感器的数据出现一个突然的波峰或者出现波谷。所以,去抓取这种比较明显的特征的时候,我们也抓取包含了加速度的在某一个坐标轴方向出现波峰或者波谷的情况在内。不过,这些特征并不是很容易去抽取到的。我们接下来阐述。
去噪:,加速度传感器的数据含有很多由于使用者的手的移动所造成的噪音,图5(a)展示了当一个智能手机用户在静止的时候,晃动他的手机的时候加速度传感器的数据。我们能够发现,这样的晃动也会产生很明显的峰值或者峰谷,有的时候,会比地铁的产生的波峰波谷的更大。我们使用了一个简单的技巧,使得这些数据变得比较光滑,同时也减少这些噪声产生的干扰。对于一个在特定方向上的加速度样本Xi来说,处理他们的技巧就是使用这个K个样本的均值或者它们附近的值来对这些数据进行替换我们展示了数据经过平滑化处理之后的加速度传感器的数据,在图5(b)中我们将会发现,很多比较明显的,很大的峰值变得小了很多很多,并且他们的峰值和峰谷现在已经没有办法再影响我们想要的数据特征的抽取了。这个方法的依据是,因为人们的手在移动的时候,很多的时候,都是突然地移动,很快地从一个方向移动到另外一个方向,并且持续的时间是非常短的,因此,对它们进行相加,能够相互抵消。相反,由于地铁的加减速引起的加速度的变化,一般都是在一个方向上的,并且会持续一段时间的,因此不会相互抵消。
波峰波谷提取:,如图6中所展示的那样,我们把一个特定的加速度曲线划分在同样大小的窗口中,然后对它们进行排序,找出它们中的最大值和最小值,并且把最大的三个峰值数据作为我们想要的峰值,最小的三个峰谷作为我们想要的峰谷。不过,即使这个窗口的大小设置地非常好的时候,这种方法也是会产生错误的。举个例子,在图6中的窗口中不仅仅错过了想要的峰值,而且还找到了一个错误的峰值。为了进一步提高准确度,我们把窗口的大小设置为不同的值,重复几次以上的处理过程,并且选取三个峰值(峰谷)出现次数最多的作为最后的结果。
分类:在我们确定哪些特征作为抽取的特征之后,我们就可以从已经收集到的标记好的数据中抽取出这些特征,并使用它们进行训练得到识别未知的数据的分类器。我们使用的不是仅仅只有一个分类器,我们使用的是基于多个基础、多个类别的分类器,是一种结合了分类结果的改进之后的分类方法(adaboost的算法思想),总体来说,这个分类方法是非常好的。最后的结果是基于简单分类器的投票结果的。我们主要使用两类分类器:改进后的朴素贝叶斯方法和决策树。
为了提高朴素贝叶斯的精度,我们使用的是基于AdaBoost改进的贝叶斯算法(参考来源Y.Freund and R.E.Schapire,“A desicion-theoretic generalization of on-line learning and an application to boosting,”inComputational learningtheory.Springer,1995,pp.23–37.)。在AdaBoost中,每一个训练样本集合都会有一个对应的权重。一系列的K个分类器是通过迭代的方式得到的。在每一轮的学习中,来自原来的总的样本中的数据被重新采样得到新的训练结合,进行训练。那些权重比较高的样本优先被选中。在一个新的分类器Mi被学习到之后,这些被分离器Mi分错的样本,在Mi+1训练队的时候会获得更大的关注度。对于决策树,我们使用也是它的集成的版本:随机森林算法,它包含了多个决策树,输出结果由包含决策树的众数决定。
尽管我们使用了各种算法去改进分类器,但我们没有办法消除所有误差,为了进一步提高精度,我们提出了一种能容忍错误的推测方法。
用户数据采集阶段:
这一阶段只要的工作就是在用户的手机或者移动设备商安装我们开发的程序,然后,该程序会自动上传它收集到的用户手机上的相关的数据到远方的服务器上去。
乘客位置的推测:
前面提到,我们的服务器收到我们的程序上传的乘客手机上的数据。然后我们对这些数据进行一下操作:第一步,进行坐标转换,当然和前面的坐标转换工作是一样的,为的就是把数据变成在在同一个参照系ENU下的数据。第二步,是提取地铁相关数据。第三步,对前面两步已经处理好的数据进行划分。第四步,对站点进行识别,第五步,对用户的数据进行推测,具体的推测方法如下:
错误容忍的轨迹推测
假设地铁乘客的用户数据由n的段组成,分别为{S1,S2,S3,S4,......,Sn},并且地铁网站有m个站点间隔组成{I1,I2,I3,I4,......In}。不过我们给出的结果并不是一个具体的站点的结果。而是一个概率矩阵P=[Pi,j]n*m,这里的Pi,j表示的是数据Si被映射到站点间隔Ij的概率,如表4所示。
推测的结果必须是n站地铁的连续序列,所以推测的集合是有限的。举例来说,我们假设这m个站属于一段地铁线,这里总共只有2×(m-n+1)种可能集合:
我们可以考虑所有的可能性,然后使用一个基于投票的方法来决定最终的输出。在这个方法中,投出一个可能的概率Pbti:Ii->....->Ii+n-1等于每一个分段被匹配到对应车站区间的概率和。举个例子:我们选取获得最高概率的作为我们最终的推测区间。这个方法能容忍单个分段的分类错误。原因如下:
(1)对于每一个数据划分,我们不仅仅考虑的是优化的映射,也考虑其他的可能性的。当然,我们这么做也是有的时候,会由于分类器的划分的错误导致优化的映射可能是不正确的。
(2)我们的最后的结果的是深入考虑了很多因素的,细致到这条轨迹上的每一个站点的可能的结果。这样的话,出现一个或者较少几个错误站点的情况的时候,并不会影响整体的结果。
实际测试结果展示
为了能够评价我们的方法,我们招募了15个志愿者,收集了超过120小时的乘坐地铁的数据。我们的数据集主要是在3个主要的城市中的6条地铁线上,这些地铁线上的站点采集的站点超过了50个站点,当然,为了更加实际,我们使用的智能设备是12种不同的智能手机。我们采集的数据的说明在表3中有更加详细的说明。
表3
城市 | 数据大小 | 志愿者人数 | 地铁线路数 | 时间 |
南京 | >30小时 | 8 | 1 | 2014秋季 |
苏州 | >40小时 | 7 | 2 | 2015春季 |
上海 | >40小时 | 7 | 3 | 2015夏季 |
每一个志愿者携带了一部安装有我们自己开发的数据收集应用程序的安卓手机。这个应用会每隔0.1s读取一次方向传感器和加速度传感器的数据。在整个实验过程中,参与实验的志愿者像平时一样手持手机采集数据。我们最终收集到的数据超过270条地铁数据,我们接下来会对我们提出的方法的高效性进行评估。
我们主要从以下三个方面来评估我们的工作:
1,抽取地铁相关数据的精确度
我们首先测试的是我们提出的抽取地铁相关数据的精确度。为了达到这个目的,我们除了收集了地铁相关的数据,我们还收集了一些其他的四种交通工具,步行,静止,公交车,私家车的数据,每一种交通数据的时间是1.5小时。我们把这些数据序列划分成100个左右的数据段(包括40条地铁相关的数据),然后使用我们在前面介绍的分类器对这些数据进行分类。每一种数据被划分成地铁的数据的百分比见图7(a)。我们发现,在抽取过程中只有很少的错误会发生。不过,当我们使用我们在前面提出方法的进一步的优化的时候,超过99%的地铁数据能够被正确识别,并且不会产生一些其他的错误。
2,地铁数据划分的精确度
我们现在评价一下我们在前面提出的地铁数据划分的算法的精确度。我们使用编辑距离(Edit Distance)来进行评价,这种方法对不同的字符串的量化区分是十分有效的。假设是真实的数据序列划分点,在算法1执行之后,则会得到编辑距离ED(A,B)被定义为从A到B经过的最少的转换次数。这里,定义不同的字符串标记形式表示节点,和是相等的话,也就是说|js-kt|<10s,这里的10s,是地铁的最短的暂停时间的一半。我们对我们的数据集中的每一条数据进行划分,得到的编辑距离分布的CDF图如图8所示。我们能够发现,和真实的数据相比,90%以上的数据错误的站点不会超过2个。所以我们使用在F地铁相关数据划分中提出的具有良好容错性能的方法来解决这个问题。
3,地铁位置信息推测的精确度
我们评价我们提出的使用监督学习(得到分类器数据部分)的位置推测的精确度。为了简单起见,我们使用的主要是我们在A城市中采集的数据为例来评价我们的基本方法(也就是我们前面提到的第一种方法)的准确度。对于A城市,我们总共收集了40组地铁相关的数据,每一条数据对应以一段10个站点的长度。对于每次评估,我们选出40条中的39条作为训练,剩下的1条数据作为测试数据。
我们首先先评估一下总体分类器的分类的精确度。这个评估的结果见表4。第i行,第j列的元素对应的是站点Ii被分类器划分为站点Ij的百分率。我们会发现在这个矩阵的对角线上的数据要远远大于在其他地方的数据,并且对角线上的数据就是我们想要的数据,因为它就是正确识别站点的精确度。另外,表4也显示出站点间隔I1,I6和I7的识别率要比其他的站点间隔识别率高很多。通过分析这些站点的映射关系,我们发现结果是非常合理的,因为所有的这些三个站点间隔数据都具有很好的识别特征。
接下来我们评估一下我们在前面提出(乘客位置的推测部分的方法)的基于投票算法的推测机制的结果情况。在每一轮的评测中,我们仍然选择40条数据中的39条用来训练,剩下的一条数据用来进行测试。由于上下的一段数据含有10个数据段,我们对它进行划分,产生三组子序列,每一个子序列的长度分别是3,5,7个数据段。每一个在这些集合中的数据段,都被看作是一个特定的乘客的地铁数据。然后我们应用投票算法来推测他的乘坐地铁的轨迹。对于这个数据段的每一个长度情况下的推测的正确率如图9所示。我们发现,随着乘客地铁数据段的增加,此时我们推测乘客乘坐路径的准确度在不断上升。特别地,当乘客乘坐3站地铁的时候,推测出用户正确的乘坐路线的概率在80%左右。当乘客乘坐的地铁线的长度上升到7的时候,准确度的值就会上升到94%。
对于另外的两个城市的推测的准确度稍微有点降低,不过,它们也是随着乘客乘坐的地铁的长度的上升而准确度不断提高的。特别需要指出的是,当乘客乘坐的地铁的长度等于5站的时候,6条地铁线中有4条的识别率都超过80%,并且还有两条的数据超过了90%。
表4:各个间隔映射到各个站点之间的概率分布
I1 | I2 | I3 | I4 | I5 | I6 | I7 | I8 | I9 | I10 | |
S1 | 80 | 0 | 5 | 0 | 2.5 | 5 | 5 | 0 | 0 | 2.5 |
S2 | 2.5 | 40 | 5 | 5 | 10 | 0 | 0 | 22.5 | 12.5 | 2.5 |
S3 | 2.5 | 10 | 47.5 | 7.5 | 7.5 | 5 | 10 | 0 | 7.5 | 2.5 |
S4 | 15 | 10 | 7.5 | 45 | 0 | 0 | 0 | 10 | 8 | 5 |
S5 | 5 | 12.5 | 2.5 | 10 | 37.5 | 2.5 | 17.5 | 5 | 2.5 | 5 |
S6 | 0 | 0 | 5 | 0 | 5 | 80 | 10 | 0 | 0 | 0 |
S7 | 5 | 2.5 | 0 | 0 | 2.5 | 12.5 | 77.5 | 0 | 0 | 0 |
S8 | 7.5 | 32.5 | 10 | 2.5 | 7.5 | 0 | 2.5 | 22.5 | 12.5 | 2.5 |
S9 | 5 | 15 | 2.5 | 7.5 | 7.5 | 2.5 | 0 | 15 | 37.5 | 7.5 |
S10 | 10 | 22.5 | 7.5 | 5 | 10 | 5 | 10 | 7.5 | 2.5 | 20 |
Claims (6)
1.一种基于手机传感器的地铁乘客位置推测方法,其特征在于,包括如下步骤:
训练阶段,收集来自每一个站点的标记好的各种手机加速度传感器的数据,从这些数据中抽取出相应的特征,然后使用机器学习的方法学习出一组在各个站点之间的分类器,一个站间隔是分类器最基本的识别单元。
采集用户数据的阶段,读取用户手机上的加速度传感器数据并上传到相应的服务器;
识别阶段,从服务器上获得乘客的手机上的传感器的相关数据,划分出地铁数据中的站点数据,利用分类器把站点数据映射到每一个站点,基于投票算法来推测出用户的完整的地铁乘坐路径。
2.如权利要求1所述的基于手机传感器的地铁乘客位置推测方法,其特征在于,所述训练阶段中,根据得到的用户手机加速度传感器的数据进行分类和训练,然后得到分类器;
首先对手机传感器的数据进行坐标转换,转换完坐标之后,得到的数据就是相对于同一个参照系ENU的数据;坐标转换之后,用构建的分类器将不是地铁部分的数据去掉。得到纯净的只含有地铁相关的数据,并且这个数据的参照系是唯一不变的ENU坐标系统。接下来的工作是对地铁数据进行划分操作,划分结束之后,使用朴素贝叶斯的方法进行训练,得到分类器。
3.如权利要求2所述的基于手机传感器的地铁乘客位置推测方法,其特征在于,从手机上得到的关于手机的坐标[x,y,z],转换成基于ENU的坐标[x’,y’,z’],通过方向传感器来实现转换,手机中的方向传感器的数据也是一个3维的数据[α,β,γ],这里的,α是在水平面之间和Y轴之间的夹角,β是X轴与水平线之间的夹角,γ是Y轴在水平线上的投影和真实的北方向上的夹角,令:α1是Y轴与Z轴在水平方向上投影的夹角,β1是X轴与Z轴在水平方向上投影的夹角,γ1是X轴与Z轴在水平方向上投影的夹角,X1,Y1,Z1为手机坐标系中x,y,z轴的加速度;有了这些夹角的数据,就能够很容易地确定东西南北,并且准确计算出各个向量的分量(位于ENU坐标系下的)。利用立体几何公式:向北方向加速度:y cosαcos(γ-π)+xcosβcos(γ+γ1-π)+z cosθcos(γ+β1-π)、向北方向的加速度:-y cosαcos(γ-π/2)-xcosβcos(γ+γ1-π/2)-z cosθcos(γ+β1-π/2)、垂直方向的加速度:x1 sinβ+y1 sinα+z1sinθ对角度进行变换,获得手机中加速度传感器在各个方向上的分量。
4.如权利要求1所述的基于手机传感器的地铁乘客位置推测方法,其特征在于,建立一个贝叶斯分类器,基于数据的HRA特性来判断这些混合数据是不是地铁的数据。
将M个乘客手机传感器数据的坐标转换后的数据作为M个样本,对这M个样本的数据使用滑动窗口(WIN)进行分类;使用5个统计指标来对这些数据进行分类:均值,方差,超过预先定义的三个阈值的点的数目作为分类器的分类特征;首先对这M个样本用滑动窗口向后滑动取值;对于一个特定的地铁线,窗口的值被设定在这个地铁的最小的站点距离的一半,先将已知的地铁和非地铁数据放入贝叶斯分类器中训练出一个概率模型,然后将未知分类的窗口中的数据输入进模型,这样就可以判断这个窗口中的数据是否是地铁相关的数据;
如果Wini(窗口)被分成是非地铁相关的数据,但是Wini+1却被分成是地铁相关的数据,则会继续对Wini+2进行进一步地划分,如果这个数据被归类为非地铁的数据的话,则认为Wini+1是被错误划分的;否则,一个新的地铁的数据,就会被认为是在位置Wini的地方开始的,这种情况下的时候,进一步对开始的窗口,也就是第(i+1)w-1(w为窗口的大小),(i+1)w-2,…一个一个进行划分直到出现第一个被划分成不是地铁的数据;接下来,如果开始位置的窗口是在样本(i+1)w-k(1<k<=w),那么地铁的开始位置就将会被认为是在样本(i+1)w-k+w/2的位置;当Wini被分成地铁相关数据时,方法也类似。
5.如权利要求3所述的基于手机传感器的地铁乘客位置推测方法,其特征在于,在获得地铁相关的传感器数据之后,对这些数据进行划分,将这些数据的每一段都对应于两个地铁站点之间的一段距离;
假设{X1,X2,X3,…,Xn}是应用程序从用户的智能设备中获取的一系列的地铁数据的HRA;定义了一个滑动的窗口W,窗口的长度Lw等于两个地铁站点之间最少行驶时间的大小;假设滑动的窗口W从X1开始,一个一个数据采样到Xi,那么Xi的判定就是在阈值T1以下同时在窗口WXi中的数值是否超过长度95%LW,|{k∈{i,i+1,i+LW-1}:Xk<T1}|>95%LW,标记这里使用最小化的数据值Mean(WXs)作为潜在的划分的点;这个的Mean(WXs)被定义为在WXs中的这些数据的均值;一旦发现Xs,那么算法就会直接跳过接下来的T2个数据值,搜寻下一个暂停站点Xs+T2;这里的T2等于在目标地铁线上的最短的站点间隔之间的距离;
当传感器数据含有很多噪音的时候,选择一个不恰当的T1,可能会错过一个或者几个划分的点;为了处理这个问题,进一步划分前面找到的暂停站点的集合;如果在相邻的两个站点之间的距离大于这条地铁线上的最大的两个站点之间的距离的话,那么在这段间隔之间,有一些站点划分被我们漏掉了;所以,在这个时候,算法就应该稍微减小一下T1的值,然后再重新搜索在这个间隔里的停靠站点的划分;为了提高精确度,不断重复这个算法,直到所有的划分的站点的间隔都没有超过最大的间隔的时候停止。
6.如权利要求3所述的基于手机传感器的地铁乘客位置推测方法,其特征在于,在对地铁相关的传感器数据划分之后,接着识别其具体对应的站点,在站点识别过程中,为提高站点识别的精确度,进行容忍错误的推测算法;具体方法如下:
得到分类器数据
对地铁相关数据进行去噪处理使得这些数据变得光滑:
对于一个在特定方向上的加速度样本Xi来说,使用周围k个样本的均值或者它们附近的值来对加速度样本Xi进行替换,
X′i指平滑后的加速度值,用来替代Xi,k指Xi周围的k个值;
(1)特征选择:用来对数据进行划分的特征选择主要是来自以下的两个集合:
数据的统计特征:被抽取特征的地铁相关数据包括3个数据(ECA,NCA,VCA),所提取的特征主要包括加速度均值、加速度的最大值、加速度的标准差、加速度绝对值的平均值、分别超过三个预定义阈值的个数、分段的长度和六种傅里叶变换的值;
峰值特征:把地铁相关数据的加速度曲线划分在同样大小的窗口中,然后对每个窗口的最大值、最小值分别进行排序,找出所有窗口中的最大值和最小值,并且把最大的三个峰值数据作为提取的峰值,最小的三个峰谷作为提取的峰谷;为了进一步提高准确度,把窗口的大小设置为不同的值,重复几次以上的处理过程,并且选取三个峰值和三个峰谷出现次数最多的作为最后的结果;
(2)分类:在确定哪些特征作为抽取的特征之后,从已经收集到的标记好的数据中抽取出这些特征,并使用它们进行训练得到识别未知的数据是哪一段的分类器;使用两种分类器:改进后的朴素贝叶斯方法和决策树;
(3)错误容忍的轨迹推测
假设地铁乘客的用户数据由n的段组成,分别为{S1,S2,S3,S4,……,Sn},并且地铁网站有m个站点间隔组成{I1,I2,I3,I4,……In};给出概率矩阵P=[Pi,j]n*m,这里的Pi,j表示的是数据Si被映射到站点间隔Ij的概率;使用基于投票的方法来决定最终的输出,在投票的方法中,投出一个可能的概率Pbti:Ii->….->Ii+n-1等于每一个分段被匹配到对应车站区间的概率和:选取获得最高概率的区间作为最终的推测区间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610231284.4A CN105890600A (zh) | 2016-04-14 | 2016-04-14 | 基于手机传感器的地铁乘客位置推测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610231284.4A CN105890600A (zh) | 2016-04-14 | 2016-04-14 | 基于手机传感器的地铁乘客位置推测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105890600A true CN105890600A (zh) | 2016-08-24 |
Family
ID=56704739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610231284.4A Pending CN105890600A (zh) | 2016-04-14 | 2016-04-14 | 基于手机传感器的地铁乘客位置推测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105890600A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109682375A (zh) * | 2019-01-21 | 2019-04-26 | 重庆邮电大学 | 一种基于容错决策树的uwb辅助惯性定位方法 |
CN112268563A (zh) * | 2020-10-23 | 2021-01-26 | 重庆越致科技有限公司 | 一种行人乘坐轨道交通状态及轨迹的检测方法和装置 |
CN112348230A (zh) * | 2020-10-14 | 2021-02-09 | 北京交通大学 | 一种地铁乘客出行路径识别方法 |
CN112990518A (zh) * | 2019-12-12 | 2021-06-18 | 深圳先进技术研究院 | 一种地铁个体乘客目的站点实时预测方法及装置 |
CN117350792A (zh) * | 2023-12-06 | 2024-01-05 | 南京智慧交通信息股份有限公司 | 一种基于多任务学习的自适应广告投放方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103606294A (zh) * | 2013-11-30 | 2014-02-26 | 赵东旭 | 一种地铁报站方法及其装置 |
CN104236566A (zh) * | 2014-09-24 | 2014-12-24 | 深圳先进技术研究院 | 基于智能手机的地图匹配方法 |
CN105023020A (zh) * | 2014-04-21 | 2015-11-04 | 三星电子株式会社 | 语义标注设备及其方法 |
-
2016
- 2016-04-14 CN CN201610231284.4A patent/CN105890600A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103606294A (zh) * | 2013-11-30 | 2014-02-26 | 赵东旭 | 一种地铁报站方法及其装置 |
CN105023020A (zh) * | 2014-04-21 | 2015-11-04 | 三星电子株式会社 | 语义标注设备及其方法 |
CN104236566A (zh) * | 2014-09-24 | 2014-12-24 | 深圳先进技术研究院 | 基于智能手机的地图匹配方法 |
Non-Patent Citations (1)
Title |
---|
JINGYU HUA,ETC.: "We Can Track You If You Take the Metro: Tracking Metro Riders Using Accelerometers on Smartphones", 《ARXIV: 1505.05958V1》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109682375A (zh) * | 2019-01-21 | 2019-04-26 | 重庆邮电大学 | 一种基于容错决策树的uwb辅助惯性定位方法 |
CN112990518A (zh) * | 2019-12-12 | 2021-06-18 | 深圳先进技术研究院 | 一种地铁个体乘客目的站点实时预测方法及装置 |
CN112990518B (zh) * | 2019-12-12 | 2022-12-02 | 深圳先进技术研究院 | 一种地铁个体乘客目的站点实时预测方法及装置 |
CN112348230A (zh) * | 2020-10-14 | 2021-02-09 | 北京交通大学 | 一种地铁乘客出行路径识别方法 |
CN112268563A (zh) * | 2020-10-23 | 2021-01-26 | 重庆越致科技有限公司 | 一种行人乘坐轨道交通状态及轨迹的检测方法和装置 |
CN112268563B (zh) * | 2020-10-23 | 2022-03-04 | 重庆越致科技有限公司 | 一种行人乘坐轨道交通状态及轨迹的检测方法和装置 |
CN117350792A (zh) * | 2023-12-06 | 2024-01-05 | 南京智慧交通信息股份有限公司 | 一种基于多任务学习的自适应广告投放方法及系统 |
CN117350792B (zh) * | 2023-12-06 | 2024-03-08 | 南京智慧交通信息股份有限公司 | 一种基于多任务学习的自适应广告投放方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Travel mode detection using GPS data and socioeconomic attributes based on a random forest classifier | |
CN105890600A (zh) | 基于手机传感器的地铁乘客位置推测方法 | |
CN108022012A (zh) | 基于深度学习的车辆位置预测方法 | |
CN105206041B (zh) | 一种考虑时序dbscan的智能手机轨迹链簇识别方法 | |
CN103728551B (zh) | 一种基于级联集成分类器的模拟电路故障诊断方法 | |
Assemi et al. | Developing and validating a statistical model for travel mode identification on smartphones | |
CN109145982A (zh) | 驾驶员的身份识别方法及装置、存储介质、终端 | |
CN103477241A (zh) | 来自运动和环境光分类器的装置位置估计 | |
CN109323754A (zh) | 一种列车车轮多边形故障诊断检测方法 | |
CN107330469A (zh) | 一种基于gps轨迹数据的出行方式识别方法 | |
CN111079547B (zh) | 一种基于手机惯性传感器的行人移动方向识别方法 | |
CN108171976A (zh) | 基于在途数据的车辆用途识别方法 | |
CN110210550A (zh) | 基于集成学习策略的图像细粒度识别方法 | |
CN106203437B (zh) | 个体驾驶行为特征识别方法和装置 | |
Guo et al. | Transportation mode recognition with deep forest based on GPS data | |
CN108804539A (zh) | 一种时间与空间双视角下的轨迹异常检测方法 | |
CN105609116A (zh) | 一种语音情感维度区域的自动识别方法 | |
CN109886724A (zh) | 一种鲁棒性的居民出行轨迹识别方法 | |
CN112884014A (zh) | 一种基于路段拓扑结构分类的交通速度短时预测方法 | |
Moosavi et al. | Driving style representation in convolutional recurrent neural network model of driver identification | |
CN110955804B (zh) | 一种针对用户时空数据行为检测的Adaboost方法 | |
CN107564546A (zh) | 一种基于位置信息的语音端点检测方法 | |
CN109350072A (zh) | 一种基于人工神经网络的步频探测方法 | |
Wang et al. | Temperature forecast based on SVM optimized by PSO algorithm | |
CN110081890A (zh) | 一种结合深度网络的动态k最近邻地图匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160824 |