一种使用手机自动判断用户运动行为的方法与流程

文档序号:12120346阅读:793来源:国知局

本发明涉及一种用户运动行为的方法,特别涉及一种使用手机自动判断用户运动行为的方法。



背景技术:

已有的记录生活作息的方法是使用穿戴装置,例如手环;这种技术需要用户对于额外的硬件投入,其需支付额外成本,而且不方便。



技术实现要素:

本发明要解决的技术问题是提供一种用户不需要额外的硬件投入,仅使用智能手机就能完成全部判断过程的使用手机自动判断用户运动行为的方法。

为达到上述目的,本发明的技术方案如下:

一种使用手机自动判断用户运动行为的方法,所述方法包括如下步骤:

(1)打开手机端APP应用软件,APP自动进入检测模式;此后无论用户是否打开App还是将App退出至后台运行都会自动判断用户的运动行为;手机利用内置的GPS定位模块和传感器模块实时采集用户位置移动数据;

(2)对用户位置移动速度是否超过预先设定的阈值进行判断,使用手机GPS定位模块返回的数据,其中包含有瞬时的原始的速度,单位是米/秒,阈值为1.51m/s、2.235m/s、3.043m/s或4.122m/s;阈值是根据200个实验样本5分钟的运动行为数据,取上95分位数,取证后作为触发阈值的;此外,在App应用软件进入休眠前,会做一次定位判断,若存在上次定位点,且与本次定位点之间的直线距离超过200m,则放弃休眠进入下个阶段,如果用户位置移动速度超过预先设定的阈值,则进入下个程序;如果用户位置移动速度不超过预先设定的阈值,则APP应用软件休眠N分钟,然后重复步骤(2)直至用户位置移动速度超过预先设定的阈值为止;

(3)对手机状态是否满足运动行为开始条件进行判断,在本步骤中存在最长不超过一分钟缓冲时长。本阶段开始时,检测手机的网络连接状态。若手机存在wlan连接,且定位类型为lbs,则每秒从GPS定位模块取一次速度,若任一次定位速度大于0m/s,则进入下个程序;若在一分钟内所返回的速度等于0m/s,则App应用软件休眠N分钟,然后返回步骤(2);若手机状态不满足前述条件,手机无wifi连接,或在wifi连接情况下定位状态不为lbs,则每秒从GPS定位模块取一次速度,平均速度小于1.51m/s则进入走路的判断,介于1.51m/s到2.235m/s之间则进入跑步的判断,大于2.235m/s则进入打车、搭公交车和骑车的判断,进入下个程序;若在一分钟内所返回的速度等于0m/s,则判断用户为静止状态,App应用软件休眠N分钟,然后返回步骤(2),重新判断直至手机状态满足行程开始条件;

(4)记录GPS定位模块采集的数据以及传感器模块采集的数据,并将采集到的数据储存到sqlite数据库中;

(5)对位置移动速度进行区间辨识,使用手机GPS定位模块返回的数据,其中包含有瞬时的原始速度,单位是米/秒,阈值为1.51m/s、2.235m/s、3.043m/s或4.122m/s;阈值是根据200个实验样本5分钟的非驾驶行程数据,取上95分位数,取整后作为触发阈值的;对位置移动速度是否低于预先设定的阈值进行判断,如果位置移动速度低于预先设定的阈值,则进入下个程序;如果不低于预先设定的阈值,则APP应用软件休眠N秒钟,然后返回步骤(4)直至位置移动速度低于预先设定的阈值为止;

(6)对移动速度状态进行判断,对移动速度状态是否满足行程结束条件进行判断,如果满足,则用户行程结束;如果不满足,则APP应用软件休眠N秒钟,然后返回步骤(5)直至移动速度状态满足行程结束条件;

(7)对手机状态是否满足运动行为结束条件进行判断,本阶段仍存在最多不超过一分钟的缓冲期;当其中任意一秒检测到手机连接wlan并且定位类型为lbs时,进入下个程序;当连续六十秒速度都等于0m/s时,则判断用户进入静止状态,当任意一次定位获得的速度大于0m/s时,返回步骤(6),如果满足,则用户行程结束,如果不满足,则进入下个程序;

(8)APP应用软件在行程结束后进行数据清洗,数据清洗分为五步:

第一步,检查每个字段是否存在不合理的错误数值,longitude应在0-360之间,latitude应在-90-90之间,timestamp应大于1356969600000,course应在0-360之间,speed应在0-56之间,以上区间均包含端点,对每行数据,仅当所有字段均在范围内时保留;

第二步,用惯性导航的原理,线性差值补全GPS点的数据,使得相邻的两条数据间的间隔在800-1200毫秒之间;

第三步,若speed字段出现最多不超过连续3个缺失的,将speed缺失的几行用前后非缺失行线性差值补全;

第四步,若course字段出现最多不超过连续3个缺失的,将course缺失的几行用前后非缺失行线性差值补全;

第五步,计算速度的前10秒移动平均。然后再使用传感器数据二次过滤非运动行为数据,将九轴传感器的数据按每分钟归集,每分钟为300组数据,每组数据计算出一个判断值,0或者1;具体的做法是,使用重力传感器和磁力传感器回传的六轴数据,合成旋转矩阵R,使用R左乘加速度三轴向量数据,得到校正到用户坐标系后的三轴加速度向量(x,y,z);若z轴大小不在0.9-1.1个重力加速度内,且x与y的平方和大于1m/s2,则记录该组数据判断值为1,否则则为0;当300组判断值中1的个数在30-100之间时,若该分钟的平均速度小于1.5m/s,则标记为走路状态,若该分钟的平均速度在1.51m/s至2.235m/s之间,则标记为跑步状态,若该分钟的平均速度介于2.235m/s到3.043m/s之间,则标记为骑自行车状态,若该分钟的平均速度介于3.043m/s到4.122m/s之间,则标记为搭公交车,若该分钟的平均速度大于4.122m/s打车的状态;当300组判断值中1的个数大于100个时,该分钟被用户姿态被记为本专利所称之运动行为,如走路、跑步、搭公交、骑车和打车的行为;

(9)对非运动状态点的比例是否超过阈值进行判断,如果超出阈值,则结束;如果未超出阈值,则将数据进行压缩、分片、上传至APP应用软件服务端,并最终在APP应用软件上显示出来。该阈值是根据用户不同运动状态的行为样本,使用SVM支持向量机算法学习得出的。

在本发明的一个实施例中,所述传感器模块为加速度传感器、重力感应器、距离感应器、陀螺仪感应器或磁力感应器中的一种或多种。

在本发明的一个实施例中,平均速度小于1.51m/s则进入走路的判断,介于1.51m/s到2.235m/s之间则进入跑步的判断,大于2.235m/s则进入打车、搭公交车和骑车的判断,进入下个程序,0m/s则判断用户进入静止的状态,并且加上传感器模块进行辅助判断,阈值是根据200个实验样本5分钟的运动行为数据,取上95分位数,取整后作为触发阈值的。

在本发明的一个实施例中,所述移动速度区间辨识的判断方法为:使用手机GPS定位模块来获取手机用户的瞬时速度数值,每秒一次,共计60组,使用传感器九轴数据得到用户姿态判断数据,每秒五次,共计300组;具体的做法是,使用重力传感器和磁力传感器回传的六轴数据,合成旋转矩阵R,使用R左乘加速度三轴向量数据,得到校正到用户坐标系后的三轴加速度向量(x,y,z);若z轴大小不在0.9-1.1个重力加速度内,且x与y的平方和大于1m/s2,则记录该组数据判断值为1;当300组数中有100组以上为1时,返回步骤(2),重新判断直至运动状态满足行程开始条件;当300组数中没有30组判断值为1时,则进入下个程序;当300组数中有30-100个判断值为1时,计算60s内的平均速度,若平均速度大于0m/s则进入下个程序,否则App应用软件休眠N分钟,然后返回步骤(2)。

在本发明的一个实施例中,所述移动速度状态的判断方法为:使用手机GPS定位模块来获取手机用户的瞬时速度数值,每秒一次,共计60组,使用传感器九轴数据得到用户姿态判断数据,每秒五次,共计300组;具体的做法是,使用重力传感器和磁力传感器回传的六轴数据,合成旋转矩阵R,使用R左乘加速度三轴向量数据,得到校正到用户坐标系后的三轴加速度向量(x,y,z);若z轴大小不在0.9-1.1个重力加速度内,且x与y的平方和大于1m/s2,则记录该组数据判断值为1;当300组数中有100组以上为1时,返回步骤(2),重新判断直至运动状态满足行程开始条件;当300组数中没有30组判断值为1时,则进入下个程序;当300组数中有30-100个判断值为1时,计算60s内的平均速度,若平均速度大于0m/s则进入下个程序,否则App应用软件休眠N分钟,然后返回步骤(2)。

在本发明的一个实施例中,所述非运动状态占的比例是否超过阈值的判断方法为:对于总行程时间而言,若前一步骤中标记的非运动状态大于65%,则该段数据被过滤掉,直接丢弃;否则将数据压缩、分片、上传至服务器,进行事件提取并对行程打分后,在App应用软件上显示出来;该阈值是根据用户不同运动状态的行为样本,使用SVM支持向量机算法学习得出的。

通过上述技术方案,本发明的有益效果是:

1、用户不需要额外的硬件投入,仅使用智能手机就能完成全部的判断过程。

2、在行为判断中完全不需要用户的人工干预,仅需要对手机APP授予GPS定位权限即可。

3、判断与反馈是即时的,在行程结束后用户即可看到该段行程的详情,算法已自训练好,对新用户无需额外的训练样本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明工作流程图;

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

参见图1所示,本发明公开了一种使用手机自动判断用户运动行为的方法,包括如下步骤:

(1)打开手机端APP应用软件,APP自动进入检测模式;此后无论用户是否打开App还是将App退出至后台运行都会自动判断用户的运动行为;手机利用内置的GPS定位模块和传感器模块实时采集用户位置移动数据;传感器模块为加速度传感器、重力感应器、距离感应器、陀螺仪感应器或磁力感应器中的一种或多种;

(2)对用户位置移动速度是否超过预先设定的阈值进行判断,使用手机GPS定位模块返回的数据,其中包含有瞬时的原始的速度,单位是米/秒;阈值为1.51m/s、2.235m/s、3.043m/s或4.122m/s;阈值界定为平均速度小于1.51m/s则进入走路的判断,介于1.51m/s到2.235m/s之间则进入跑步的判断,大于2.235m/s则进入打车、搭公交车和骑车的判断,0m/s则判断用户进入静止的状态,并且加上传感器模块进行辅助判断,阈值是根据200个实验样本5分钟的非运动行为数据,取上95分位数,取整后作为触发阈值的;此外,在App应用软件进入休眠前,会做一次定位判断,若存在上次定位点,且与本次定位点之间的直线距离超过200m,则放弃休眠进入下个阶段,如果用户位置移动速度超过预先设定的阈值,则进入下个程序;如果用户位置移动速度不超过预先设定的阈值,则APP应用软件休眠N分钟,然后重复步骤(2)直至用户位置移动速度超过预先设定的阈值为止;

(3)对手机状态是否满足运动行为开始条件进行判断,如果满足,则进入下个程序,如果不满足,则APP应用软件休眠N分钟,然后返回步骤(2)重新判断直至手机状态满足行程开始条件;手机状态是否满足运动行为开始条件的具体判断方法为:首先检测手机的网络连接状态,若手机存在wifi连接,且定位类型为lbs,即无法连接GPS卫星,则每秒从GPS定位模块取一次速度,若任一次定位速度大于0m/s,则进入下个程序;若在一分钟内所返回的速度等于0m/s,则App应用软件休眠N分钟,然后返回步骤(2);若手机状态不满足前述条件,手机无wifi连接,或在wifi连接情况下定位状态不为lbs,即已经连接上GPS卫星,则每秒从GPS定位模块取一次速度,平均速度小于1.51m/s则进入走路的判断,介于1.51m/s到2.235m/s之间则进入跑步的判断,大于2.235m/s则进入打车、搭公交车和骑车的判断,进入下个程序;若在一分钟内所返回的速度等于0m/s,则判断用户为静止状态,App应用软件休眠N分钟,然后返回步骤(2),重新判断直至手机状态满足行程开始条件;

(4)记录GPS定位模块采集的数据以及传感器模块采集的数据,并将采集到的数据传递给APP应用软件运动行为分析库函数中进行计算;本申请是用手机自动判断用户运动行为并收集用户运动行为数据的部分,不涉及到后期对收集到的运动行为进行分析处理的部分;主要收集GPS模块数据,每秒一次,三个传感器的九轴数据,每秒五次,以及对点亮和熄灭屏幕的事件监听,并将数据写到sqlite数据库中;后期服务器端的算法会通过这些数据判断用户的运动行为:如跑步、走路、搭公交车、骑车和打车;

(5)对位置移动速度进行区间辨识,使用手机GPS定位模块返回的数据,其中包含有瞬时的原始速度,单位是米/秒;阈值为1.51m/s、2.235m/s、3.043m/s或4.122m/s;阈值界定为平均速度小于1.51m/s则进入走路的判断,介于1.51m/s到2.235m/s之间则进入跑步的判断,大于2.235m/s则进入打车、搭公交车和骑车的判断,0m/s则判断用户进入静止的状态,并且加上传感器模块进行辅助判断,阈值是根据200个实验样本5分钟的非运动行为数据,取上95分位数,取整后作为触发阈值的;对位置移动速度是否低于预先设定的阈值进行判断,如果位置移动速度低于预先设定的阈值,则进入下个程序;如果不低于预先设定的阈值,则APP应用软件休眠N秒钟,然后返回步骤(4)直至位置移动速度低于预先设定的阈值为止;移动速度区间辨识的具体判断方法为:使用手机GPS定位模块来获取手机用户的瞬时速度数值,每秒一次,共计60组,使用传感器九轴数据得到用户姿态判断数据,每秒五次,共计300组;具体的做法是,使用重力传感器和磁力传感器回传的六轴数据,合成旋转矩阵R,使用R左乘加速度三轴向量数据,得到校正到用户坐标系后的三轴加速度向量(x,y,z);若z轴大小不在0.9-1.1个重力加速度内,且x与y的平方和大于1m/s2,则记录该组数据判断值为1;当300组数中有100组以上为1时,返回步骤(2),重新判断直至运动状态满足行程开始条件;当300组数中没有30组判断值为1时,则进入下个程序;当300组数中有30-100个判断值为1时,计算60s内的平均速度,若平均速度大于0m/s则进入下个程序,否则App应用软件休眠N分钟,然后返回步骤(2);

(6)对移动速度状态进行判断,对移动速度状态是否满足行程结束条件进行判断,如果满足,则用户行程结束;如果不满足,则APP应用软件休眠N秒钟,然后返回步骤(5)直至移动速度状态满足行程结束条件;移动速度状态的具体判断方法为:使用手机GPS定位模块来获取手机用户的瞬时速度数值,每秒一次,共计60组,使用传感器九轴数据得到用户姿态判断数据,每秒五次,共计300组;具体的做法是,使用重力传感器和磁力传感器回传的六轴数据,合成旋转矩阵R,使用R左乘加速度三轴向量数据,得到校正到用户坐标系后的三轴加速度向量(x,y,z);若z轴大小不在0.9-1.1个重力加速度内,且x与y的平方和大于1m/s2,则记录该组数据判断值为1;当300组数中有100组以上为1时,返回步骤(2),重新判断直至运动状态满足行程开始条件;当300组数中没有30组判断值为1时,则进入下个程序;当300组数中有30-100个判断值为1时,计算60s内的平均速度,若平均速度大于0m/s则进入下个程序,否则App应用软件休眠N分钟,然后返回步骤(2);

(7)对手机状态是否满足运动行为结束条件进行判断,本阶段仍存在最多不超过一分钟的缓冲期;当其中任意一秒检测到手机连接wlan并且定位类型为lbs时,进入下个程序;当连续六十秒速度都等于0m/s时,则判断用户进入静止状态,当任意一次定位获得的速度大于0m/s时,返回步骤(6),如果满足,则用户行程结束,如果不满足,则进入下个程序;

(8)APP应用软件在行程结束后进行数据清洗,数据清洗分为五步:

第一步,检查每个字段是否存在不合理的错误数值,longitude应在0-360之间,latitude应在-90-90之间,timestamp应大于1356969600000,course应在0-360之间,speed应在0-56之间,以上区间均包含端点,对每行数据,仅当所有字段均在范围内时保留;

第二步,用惯性导航的原理,线性差值补全GPS点的数据,使得相邻的两条数据间的间隔在800-1200毫秒之间;

第三步,若speed字段出现最多不超过连续3个缺失的,将speed缺失的几行用前后非缺失行线性差值补全;

第四步,若course字段出现最多不超过连续3个缺失的,将course缺失的几行用前后非缺失行线性差值补全;

第五步,计算速度的前10秒移动平均。

然后再使用传感器数据二次过滤非运动行为数据,将九轴传感器的数据按每分钟归集,每分钟为300组数据,每组数据计算出一个判断值,0或者1;具体的做法是,使用重力传感器和磁力传感器回传的六轴数据,合成旋转矩阵R,使用R左乘加速度三轴向量数据,得到校正到用户坐标系后的三轴加速度向量(x,y,z);若z轴大小不在0.9-1.1个重力加速度内,且x与y的平方和大于1m/s2,则记录该组数据判断值为1,否则则为0;当300组判断值中1的个数在30-100之间时,若该分钟的平均速度小于1.5m/s,则标记为走路状态,若该分钟的平均速度在1.51m/s至2.235m/s之间,则标记为跑步状态,若该分钟的平均速度介于2.235m/s到3.043m/s之间,则标记为骑自行车状态,若该分钟的平均速度介于3.043m/s到4.122m/s之间,则标记为搭公交车,若该分钟的平均速度大于4.122m/s打车的状态;当300组判断值中1的个数大于100个时,该分钟被用户姿态被记为本专利所称之运动行为,如走路、跑步、搭公交、骑车和打车的行为;

(9)对非运动状态点的比例是否超过阈值进行判断,如果超出阈值,则结束;如果未超出阈值,则将数据进行压缩、分片、上传至APP应用软件服务端,并最终在APP应用软件上显示出来;非运动状态占的比例是否超过阈值的具体判断方法为:对于总行程时间而言,若前一步骤中标记的非运动状态大于65%,则该段数据被过滤掉,直接丢弃;否则将数据压缩、分片、上传至服务器,进行事件提取并对行程打分后,在App应用软件上显示出来;该阈值是根据用户不同运动状态的行为样本,使用SVM支持向量机算法学习得出的。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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