漂移数据修正方法和装置与流程

文档序号:12359830阅读:364来源:国知局
漂移数据修正方法和装置与流程

本公开涉及全球定位系统(Global Positioning System,简称:GPS)技术,特别涉及一种GPS的漂移数据修正方法和装置。



背景技术:

很多智能终端中装载有GPS传感器,通过该GPS传感器接收卫星信号,可以用于定位智能终端。随着GPS定位技术的发展,智能终端的GPS定位也可以应用于对用户运动轨迹的记录,例如一些运动软件使用智能手机中的GPS传感器,在用户运动过程中(比如,跑步、骑行)记录运动轨迹并进行运动数据的统计,用户可以通过轨迹记录对自己的运动路径直观了解。



技术实现要素:

有鉴于此,本公开提供一种漂移数据修正方法和装置,以实现对漂移数据的修正。

具体地,本公开是通过如下技术方案实现的:

第一方面,提供一种漂移数据修正方法,包括:

在多个全球定位系统GPS采样点中确定第一采样点和第二采样点,所述第一采样点和第二采样点之间的采样点集合作为存在漂移数据的不动区域;所述第一采样点所述不动区域中首个相交点,所述相交点与之前M个采样点之间连接的线段相交,所述第二采样点是所述不动区域中最后一个非相交点,所述非相交点与之前M个采样点之间连接的线段不相交;M为自然数;

以所述不动区域的重心点作为不动点,所述不动点用于作为所述不动区 域的代表点补入轨迹点集中。

第二方面,提供一种漂移数据修正装置,包括:

不动区域确定模块,用于在多个全球定位系统GPS采样点中确定第一采样点和第二采样点,所述第一采样点和第二采样点之间的采样点集合作为存在漂移数据的不动区域;所述第一采样点是所述不动区域中首个相交点,所述相交点与之前M个采样点之间连接的线段相交,所述第二采样点是所述不动区域中最后一个非相交点,所述非相交点与之前M个采样点之间连接的线段不相交;M为自然数;

不动点确定模块,用于以所述不动区域的重心点作为不动点,所述不动点用于作为所述不动区域的代表点补入轨迹点集中。

本公开实施例的漂移数据修正方法和装置,通过在轨迹中识别不动区域,并将不动区域的重心点作为代表该区域的不动点,实现了对轨迹中的漂移数据的检测和修正。

附图说明

图1是本公开一示例性实施例示出的一种骑行轨迹示意图;

图2是图1中区域C的放大图;

图3是本公开一示例性实施例示出的一种漂移数据修正方法的流程图;

图4是本公开一示例性实施例示出的漂移数据集合示意图;

图5是本公开一示例性实施例示出的不动区域确定方式示意图;

图6是本公开一示例性实施例示出的轨迹修正示意图;

图7是本公开一示例性实施例示出的一种漂移数据修正装置的结构图;

图8是本公开一示例性实施例示出的另一种漂移数据修正装置的结构图;

图9是本公开一示例性实施例示出的智能终端的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的 描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例的漂移数据修正的方法,例如,可以应用于对用户轨迹记录的修正。参见图1的示例,用户在进行自行车骑行运动,并且在骑行过程中使用骑行软件自动记录自己的骑行行程,用户从起点A骑行到终点B,图1显示了骑行软件记录的该骑行轨迹,骑行软件可以是装载在用户的智能手机上,并通过GPS定位方式获取到运动轨迹。

将图1中的骑行轨迹中的区域C放大,如图2所示,可以看到,该区域C的轨迹比较紊乱,实际上,用户骑行到该区域时,可能正在静止,或者低速度骑行接近静止,或者正在等红绿灯等情况,但是由于GPS信号的精度问题,可能产生同一位置不同时刻多次采样得到的定位位置值不同(在小范围内飘动)的情况,导致在一个位置出现多个小范围内飘动的采样点,这些采样点就可以称为“漂移数据”。漂移数据不仅会使得骑行软件对运动情况的识别造成困扰,例如将信号的飘动识别成用户的运动行为,影响运动数据的统计准确性,也使得显示的轨迹看起来不美观,因此,本公开实施例要在图1的轨迹中识别出图2中的漂移数据,并加以修正,以提高数据统计准确性。

图3示例了本公开的漂移数据修正方法的流程图,包括:

301、在多个全球定位系统GPS采样点中确定第一采样点和第二采样点,所述第一采样点和第二采样点之间的采样点集合作为存在漂移数据的不动区域;所述第一采样点所述不动区域中首个相交点,所述相交点与之前M个采样点之间连接的线段相交,所述第二采样点是所述不动区域中最后一个非相交点,所述非相交点与之前M个采样点之间连接的线段不相交;M为自然数;

302、以所述不动区域的重心点作为不动点,所述不动点用于作为所述不动区域的代表点补入轨迹点集中。

上述图3的修正流程,例如是由上述的骑行软件所做的数据处理,步骤 301主要是从图1的整条轨迹中识别出图2所示的漂移数据区域,步骤302主要是对识别的漂移数据进行修正。如下将详细描述该处理过程:

在步骤301中,以用户骑行运动为例,所述的多个GPS采样点,是用户在骑行过程中通过智能手机上的GPS传感器按照一定的时间间隔(例如,5秒)定位的用户当前经纬度值,GPS传感器将采集的经纬度值可以传输至智能手机上的骑行软件,并可以通过时间序列的方式进行存储,比如,[(时间time1,纬度lat1,经度lng1),(time2,lat2,lng2)……(timen,latn,lngn)]。

结合图1所示,在301中采样的多个采样点,即为图1中的从起点A到终点B的骑行轨迹上按照时间间隔定期采集的GPS经纬度,并以上述时间序列的方式记录了各个经纬度定位点对应的时间time。

再结合图4所示,本公开实施例的方法要从图1的轨迹中,识别出位于该轨迹上的多个采样点集合,每个采样点集合中包括的多个采样点都属于漂移数据,例如,图1和图2中仅仅是示例了从起点A到终点B的轨迹上的其中一个漂移数据采样点集合,实际上有可能在该轨迹上存在多个这样的采样点集合,本公开实施例仅以其中一个集合的识别和修正为例进行说明。如图3所示,可以将这样的采样点集合称为“不动区域”,该不动区域包括第一采样点和第二采样点,第一采样点是不动区域的起点,第二采样点是不动区域的终点,而位于该第一采样点和第二采样点之间的采样点集合就称为“不动区域”。例如,该区域中包括:采样点a、采样点b、采样点c和采样点d。

因此,基于上述,要确定不动区域,关键是确定第一采样点和第二采样点,只要确定这两点,那么该两个采样点之间的采样点集合就是不动区域。本公开实施例的方法中,结合图4的示例,在不动区域中的采样点,如果将这些采样点连成折线,折线中的各个线段通常会出现相交,例如,线段b-f,与线段c-e是相交的,根据该特点,寻找不动区域也就是寻找出现线段相交的区域。因此,可以对骑行轨迹中的每个采样点均依次进行判断,将确定的首个相交点作为第一采样点,相交点即与之前M个采样点之间连接的线段相交的采样点(例如,图4中从第一采样点开始出现线段相交的情况,表明开 始进入包括漂移数据的不动区域,正是由于漂移数据的小范围数据飘动的特点,才导致不动区域中的采样点连接线段将出现相交);而将确定的最后一个非相交点作为第二采样点,非相交点与之前M个采样点之间连接的线段不相交(例如,图4中从第二采样点开始轨迹逐渐正常,符合正常骑行特征)。

图5示例了在轨迹上的各个采样点中确定第一采样点和第二采样点的方法,如图5所示,沿时间轴方向示出了九个采样点,假设采样间隔是5秒钟,那么从对应时刻t1的采样点与对应时刻t2的采样点间隔5秒,后续采样点以此类推,在时间上t1至t9的采样时刻逐渐靠后。对于每一个采样点都使用相同的判断方式,以采样点t6(即对应时刻t6的采样点)为例,获取其之前五个采样点即t1-t5,相当于时间上往前追溯了五个采样点,将t1-t6的采样点集合作为“检测区域”。

采样点t1与采样点t2组成线段t1-t2,同理,得到线段t2-t3,t3-t4,t4-t5,t5-t6,总共有五条线段,判断这五条线段是否出现相交,具体的,由于t6是当前检测点,则可以判断“线段t5-t6”分别与线段t1-t2,t2-t3,t3-t4,t4-t5,是否相交。如果至少有一条线段与线段t5-t6相交,则确定采样点t6是“相交点”,即以该采样点t6获取的检测区域中的各线段存在相交。或者也可以是,在时间上往前追溯了五个采样点之后,每一个采样点都与前一个采样点之间组成线段,那么除了线段t5-t6,其他五个追溯点对应五条线段,例如,t0-t1,t1-t2等,同样是判断线段t5-t6与其他线段是否存在相交。

在用户的骑行轨迹的采样点中,依照时间顺序对每个采样点都进行上述判断,将发现的第一个相交点(即在检测区域内存在线段相交的点,如果设置相交概率q=p/m,其中,p为与线段t5-t6相交的线段数量,m为线段总数量五,则相交点的q>0)作为第一采样点,为不动区域的起点,表明从该第一采样点开始将进入包括漂移数据的不动区域。接着,进行第二采样点的判断,仍然是判断线段t5-t6与其他线段是否相交,而假设线段t5-t6与其他五条线段(t0-t1、t1-t2……t4-t5)均不相交,即q=0,则确定当前检测点t6为非相交点。

本公开实施例将不动区域中的最后一个非相交点称为第二采样点,该“最后一个非相交点”的意思是,考虑到在不动区域中,即使是漂移数据,也不一定每个漂移数据的采样点都是相交点,可能会出现q=0的漂移数据点,为了保证不动区域的判断更加可靠,尽可能将一个区域部分的全部的漂移数据都包括在不动区域中,可以设定“在出现第一采样点之后,如果出现连续N个采样点对应的q=0,即连续N个点都不与追溯的M点线段相交”,则确定不动区域已经结束了,该连续N个采样点的最后一个点可以称为第二采样点。

上述的N例如是2M,所述的M和N的具体数值的确定,可以是经验数值。以M值的确定为例,M值可以是一个经验参数值,一般使用机器学习算法(如梯度下降法等)对历史已标定的样本数据进行统计学习而得出,比如统计历史数据当M取值多少时在漂移数据集合中将出现线段相交。一个合适的M值,我们期待其可以尽可能的小,因为比较小的M值可以使得算法的计算量得以大幅度减少,同时可以减少周期性运动(如绕着某个区域绕圈的运动)的影响(如果周期性运动一个周期的采样点数小于M将被误判为漂移)。同时,由于漂移行为的随机性,M值如果过小又会影响通过线段相交判断的漂移点识别的准确性,使得漂移点识别的准确性下降。此外,还可以结合采样时间间隔、用户的运动模式(跑步、骑行)以及运动速度等确定M值,例如,当速度越快的运动,其方向惯性越明显(如骑行速度及方向惯性比跑步强),此时M值选取越小。N值也可以是经验值。

此外,还可以在开始对每个采样点都进行上述检测区域内的线段相交的判断之前,确定智能终端的GPS采样点的采样时间间隔小于等于预设时间。例如,假设预设时间是5秒,即可以认为当采样时间间隔大于5秒时,将使得漂移数据的检测识别的准确率下降,那么在执行上述的采样点判断之前,可以判断采样时间间隔,如果当前的GPS的采样间隔在5秒以内时(小于或等于5秒),可以继续进行线段相交判断;而如果采样间隔大于5秒,则可以不再进行后续的漂移数据的检测识别过程。

在上述的线段相交的判断中,可以采用一些常规的线段相交判断算法, 例如,可以使用线段点积法、投影法或者三角形面积法等,不再详述。需要说明的是,上述方法中确定的“不动区域”是一个包括“时间”和“空间”因素的区域,比如,假设第一采样点是(time1,lat1,lng1),第二采样点是(time2,lat2,lng2),也就是说,第一采样点对应的时间是time1,物理位置是(lat1,lng1),第二采样点对应的时间是time2,物理位置是(lat2,lng2),那么按照采样点的采样顺序,位于时间范围“time1至time2”,空间范围“(lat1,lng1)至(lat2,lng2)”内的采样点集合称为不动区域,不动区域是在时间和空间上均位于第一采样点和第二采样点之间的采样点集合。这种时空特性的确定,可以避免用户进行周期性运动(例如绕圈跑步)带来的轨迹重叠。

经过上述步骤301,根据漂移数据杂乱无章导致采样点相连的线段相交的特性,确定了包括漂移数据的不动区域,在步骤302中,将对不动区域中的漂移数据进行修正。修正的目的是,通过一个不动点来代表该不动区域,该不动点可以是虚拟点,例如,以不动区域的重心点作为不动点。

参见图6的示例,原不动区域中的杂乱无章的漂移数据点,被不动点51所代替,由该不动点51作为不动区域的代表点补入轨迹点集中,由图6也可以看到,清理后的轨迹线更加直观,也将使得运动统计数据更加准确。该不动点51的确定如下:求取不动区域的重心点,假设不动区域内采样点集合为(time1,lat1,lng1),(time2,lat2,lng2)…(timen,latn,lngn),那不动点即重心点的时空两方面的数值为:

time=(time1+time2+…+timen)/n

lat=(lat1+lat2+…+latn)/n

lng=(lng1+lng2+…+lngn)/n

在确定不动点之后,还可以进一步将不动区域中的其他点都清除,以使得轨迹线更加清楚。具体的,在清除算法上,可以设计:假设不动区域中的所有采样点中与不动点之间的最大距离是r,则可以将与不动点相距r以内,且时间位于第一采样点和第二采样点对应时间之间的漂移点滤除。

本公开实施例的漂移数据修正方法,可以在轨迹记录的过程中进行漂移 数据的实时检测和修正,因为在该方法中,对每一个采样点都要依序进行线段交叉的判断,并在判断过程中实时的确定不动区域的边界点(第一采样点和第二采样点),在确定该不动区域后直接进行漂移数据修正补入轨迹集即可,能够实现边记录轨迹采样点,边检测和修正不动区域,使得最终形成的轨迹非常直观和美观,也使得轨迹统计数据更加准确。

图7示例了一种漂移数据修正装置,该装置用于执行上述的漂移数据修正方法,如图7所示,该装置可以包括:不动区域确定模块71和不动点确定模块72;其中,

不动区域确定模块71,用于在多个全球定位系统GPS采样点中确定第一采样点和第二采样点,所述第一采样点和第二采样点之间的采样点集合作为存在漂移数据的不动区域;所述第一采样点是所述不动区域中首个相交点,所述相交点与之前M个采样点之间连接的线段相交,所述第二采样点是所述不动区域中最后一个非相交点,所述非相交点与之前M个采样点之间连接的线段不相交;M为自然数;

不动点确定模块72,用于以所述不动区域的重心点作为不动点,所述不动点用于作为所述不动区域的代表点补入轨迹点集中。

图8示例了另一种漂移数据修正装置,在图7结构的基础上,该装置中的不动区域确定模块71可以包括:相交点确定子模块711、非相交点确定子模块712和区域确定子模块713;其中,

相交点确定子模块711,用于确定与之前M个采样点之间连接的线段相交的相交点,包括:若所述第一采样点与之前的第一个采样点之间的线段作为第一线段,所述第一采样点之前第一个采样点、与所述第一采样点之前的第二个采样点之间的线段作为第二线段,以此类推,所述M个GPS采样点组成M个线段,所述第一线段与其他线段之间至少一个相交,则确定所述第一采样点为相交点;

非相交点确定子模块712,用于确定与之前M个采样点之间连接的线段不相交的非相交点,包括:若所述第一线段与其他线段均不相交,则确定所 述第一采样点为相交点;

区域确定子模块713,用于将所述第一采样点和第二采样点之间的采样点集合作为存在漂移数据的不动区域。

进一步的,所述区域确定子模块713,用于将在时间和空间上均位于所述第一采样点和第二采样点之间的采样点集合,作为不动区域。

进一步的,所述非相交点确定子模块712,用于将所述不动区域中连续N个非相交点中的最后一个作为第二采样点,N为自然数。

图9是根据一示例性实施例示出的一种智能终端900的框图。例如,装置900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图9,装置900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口912,传感器组件914,以及通信组件916。

处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤:在多个全球定位系统GPS采样点中确定第一采样点和第二采样点,所述第一采样点和第二采样点之间的采样点集合作为存在漂移数据的不动区域;所述第一采样点是所述不动区域中首个相交点,所述相交点与之前M个采样点之间连接的线段相交,所述第二采样点是所述不动区域中最后一个非相交点,所述非相交点与之前M个采样点之间连接的线段不相交;M为自然数;以所述不动区域的重心点作为不动点,所述不动点用于作为所述不动区域的代表点补入轨迹点集中。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理部件902可以包括多媒体模块,以方便多媒体组件909和处理组件902之间的交互。

存储器904被配置为存储各种类型的数据以支持在设备900的操作。这些数据的示例包括用于在装置900上操作的任何应用程序或方法的指令,联 系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电力组件906为装置900的各种组件提供电力。电力组件906可以包括电源管理系统,一个或多个电源,及其他与为装置900生成、管理和分配电力相关联的组件。

多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。

I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件914包括一个或多个传感器,用于为装置900提供各个方面 的状态评估。例如,传感器组件914可以检测到设备900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1