本申请涉及计步领域,特别涉及一种计步方法、装置、计步设备及可读存储介质。
背景技术:
可穿戴设备、手机等便携式终端一般都具有计步功能。目前的计步方法一般采用合加速度计算,对于一般有规律的运动,计步结果比较准确,然而,当用户进行规律性较差的运动时,由于运动姿态的不同,手臂前后的摆动、身体上下摆动的频率和幅度都没有规律可言,使得人体运动产生的合加速度并没有很好的规律性,导致采用合加速度计算的计步方法无法实现精确计步。
现有的另一种计步方法是选择加速度变化量最大的轴作为计步轴,采用计步轴的加速度数据进行计步,然而当用户进行规律性较差的运动时,可能导致选择的计步轴与默认的计步方式不匹配,进而出现少记步的情况,同样无法实现精确计步。
因此,如何对进行无规律运动的用户实现精确计步是本领域技术人员目前需要解决的技术问题。
技术实现要素:
本申请的目的是提供一种计步方法、装置、计步设备及可读存储介质,用于对进行无规律运动的用户实现精确计步。
为解决上述技术问题,本申请提供一种计步方法,该方法包括:
采集三轴加速度数据;其中,所述三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;
根据所述三轴加速度数据分别计算所述x轴的加速度变化量和所述y轴的加速度变化量;
选择所述加速度变化量最大的轴作为计步轴;
当所述计步轴为所述y轴时,根据所述y轴的加速度数据中的极值点个数进行计步。
可选的,根据所述三轴加速度数据分别计算所述x轴的加速度变化量和所述y轴的加速度变化量,包括:
根据所述三轴加速度数据确定预设采样时间内所述x轴的加速度最大值和所述x轴的加速度最小值的差值为所述x轴的加速度变化量;
根据所述三轴加速度数据确定所述预设采样时间内所述y轴的加速度最大值和所述y轴的加速度最小值的差值为所述y轴的加速度变化量。
可选的,根据所述y轴的加速度数据中的极值点个数进行计步,包括:
确定所述y轴的加速度数据中的极大值点或极小值点为第一计步点;
根据所述第一计步点的个数的二倍进行计步。
可选的,根据所述y轴的加速度数据中的极值点个数进行计步,包括:
确定所述y轴的加速度数据中的极大值点和极小值点为第二计步点;
根据所述第二计步点的个数进行计步。
可选的,在根据所述y轴的加速度数据中的极值点个数进行计步之后,还包括:
检测所述x轴的加速度变化量是否超过所述y轴的加速度变化量;
若是,则将所述计步轴切换为所述x轴,并在当前步数的基础上根据所述x轴的加速度数据继续进行计步。
可选的,所述在当前步数的基础上根据所述x轴的加速度数据继续进行计步,包括:
确定所述x轴的加速度数据中的极大值点或极小值点为第三计步点;
在所述当前步数的基础上根据所述第三计步点的个数继续进行计步。
可选的,所述在当前步数的基础上根据所述x轴的加速度数据继续进行计步,包括:
确定所述x轴的加速度数据中的极大值点和极小值点为第四计步点;
在所述当前步数的基础上根据所述第四计步点的个数的一半继续进行计步。
本申请还提供一种计步装置,该装置包括:
采集模块,用于采集三轴加速度数据;其中,所述三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;
计算模块,用于根据所述三轴加速度数据分别计算所述x轴的加速度变化量和所述y轴的加速度变化量;
选择模块,用于选择所述加速度变化量最大的轴作为计步轴;
第一计步模块,用于当所述计步轴为所述y轴时,根据所述y轴的加速度数据中的极值点个数进行计步。
可选的,所述解密模块包括:
本申请还提供一种计步设备,该计步设备包括:
三轴加速度传感器,用于采集三轴加速度数据;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述计步方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述计步方法的步骤。
本申请所提供计步方法,包括:采集三轴加速度数据;其中,三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量;选择加速度变化量最大的轴作为计步轴;当计步轴为y轴时,根据y轴的加速度数据中的极值点个数进行计步。
本申请所提供的技术方案,通过根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量,并选择加速度变化量最大的轴作为计步轴,通过只选用一个轴的加速度数据来进行计步的方式,避免了其他方向的加速度对计步造成干扰;同时,当计步轴为所在直线与人体正面垂直的y轴时,根据y轴的加速度数据中的极值点个数进行计步,避免了少记步情况的出现,进而实现了对进行无规律运动的用户的精确计步。本申请同时还提供了一种计步装置、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种计步方法的流程图;
图2为一种无规律快速行走的合加速度波形图;
图3为一种手臂运动过程的受力分析示意图;
图4为一种有规律的正常行走的加速度波形图;
图5为一种手臂摆动幅度大的快速行走的加速度波形图;
图6为本申请实施例所提供的另一种计步方法的流程图;
图7为本申请实施例所提供的一种计步装置的结构图;
图8为本申请实施例所提供的另一种计步装置的结构图;
图9为本申请实施例所提供的一种计步设备的结构图。
具体实施方式
本申请的核心是提供一种计步方法、装置、计步设备及可读存储介质,用于对进行无规律运动的用户实现精确计步。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种计步方法的流程图。
其具体包括如下步骤:
s101:采集三轴加速度数据;
这里提到的三轴加速度数据可以通过三轴加速度传感器采集,三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;需要说明的是,这里提到的x轴、y轴和z轴仅为本申请实施例中的一种命名方式,与加速度计的放置位置有关系,也可以将三轴加速度传感器所在直线与地面垂直的轴作为y轴,所在直线与人体正面垂直的轴作为z轴,所在直线与人体侧面垂直的轴作为x轴,本申请对此不做具体限定。
下面以图2为例对现有技术中的第一种计步方法进行说明,图2为一种无规律的快速行走的合加速度波形图,很明显该合加速度的波形并没有很好的规律性,导致采用合加速度计算的计步方法无法实现精确计步;
下面以图3、图4及图5为例对现有技术中的第二种计步方法进行说明,图3为一种手臂运动过程的受力分析示意图,图4为一种有规律的正常行走的加速度波形图,图5为一种手臂摆动幅度大的快速行走的加速度波形图;
如图3所示,由位置s1到位置s2再到位置s3为人走一步时的手臂运动过程,手臂在位置s1时,x轴方向的加速度值x1最大且方向向下,手臂在位置s2时,x轴方向的加速度值x2最大且方向向上,手臂在位置s3时,x轴方向的加速度值x3最大且方向向下,即在人走一步时x轴方向的加速度值的变化过程为由最大到最小再到最大,也就是说人走一步时x轴加速度波形增加一个周期;手臂在位置s1时,y轴方向的加速度值y1最大且方向向右,手臂在位置s2时,y轴方向的加速度值y2为0,手臂在位置s3时,y轴方向的加速度值y3最大且方向向左,即在人走一步时y轴方向的加速度值的变化过程为由最大到零再到最小,也就是说人走一步时y轴加速度波形增加半个周期;即y轴加速度波形的周期是x轴加速度波形的周期的二倍;
如图4所示,当人进行有规律的正常行走时,x轴方向的加速度变化量是明显大于y轴方向的加速度变化量的,所以现有技术中第二种计步方法通常以x轴为计步轴,根据x轴加速度数据进行计步,即x轴加速度波形增加一个周期时记一步;然而,如图5所示,当人进行手臂摆动幅度大的快速行走时,手臂需要更快的速度进行摆动,因此受到的y轴方向的力更大,导致y轴方向的加速度变化量超过了x轴方向的加速度变化量,此时y轴为计步轴,而由于y轴加速度波形的周期是x轴加速度波形的周期的二倍,y轴加速度波形增加一个周期时对应人走了两步,但此时的计步方式却还是加速度波形增加一个周期时记一步,导致了少记步的情况的出现,造成无法实现精确计步;因此本申请提供了一种计步方法,用于解决上述问题。
s102:根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量;
这里提到的计算x轴的加速度变化量和y轴的加速度变化量的目的在于,根据加速度变化量的大小选择计步轴,进而根据计步轴的加速度数据进行计步;
可选的,为提高加速度变化量的计算精准度,可以根据当前时刻所在周期内加速度最大值和加速度最小值计算加速度变化量,即这里提到的根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量,其具体可以为:
根据三轴加速度数据确定当前时刻所在周期内x轴的加速度最大值和x轴的加速度最小值的差值为x轴的加速度变化量;
根据三轴加速度数据确定当前时刻所在周期内y轴的加速度最大值和y轴的加速度最小值的差值为y轴的加速度变化量。
可选的,为降低加速度变化量的计算难度,提高加速度变化量的计算速度,可以根据预设采样时间内加速度最大值和加速度最小值计算加速度变化量,该预设采样时间可由用户或生产厂家自行设置,本申请对此不做具体限定,即根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量,其具体也可以为:
根据三轴加速度数据确定预设采样时间内x轴的加速度最大值和x轴的加速度最小值的差值为x轴的加速度变化量;
根据三轴加速度数据确定预设采样时间内y轴的加速度最大值和y轴的加速度最小值的差值为y轴的加速度变化量。
s103:选择加速度变化量最大的轴作为计步轴;
可选的,当计步轴为x轴时,还可以根据x轴的加速度数据中的极值点个数的一半进行计步。
s104:当计步轴为y轴时,根据y轴的加速度数据中的极值点个数进行计步。
当计步轴为y轴时,则y轴加速度波形增加一个周期时对应人走了两步,而一个周期内的极值点个数为两个,所以根据y轴的加速度数据中的极值点个数进行计步;
可选的,为降低极值点计数难度,进而提高计步效率,可以通过仅对加速度数据中的极大值点或极小值点进行计数来实现,即这里提到的根据y轴的加速度数据中的极值点个数进行计步,其具体可以为:
确定y轴的加速度数据中的极大值点或极小值点为第一计步点;
根据第一计步点的个数的二倍进行计步。
可选的,为提高计步精准度,避免出现因上述计步方式导致的计步过程中步数的最小变化值为2的情况,可以通过仅对加速度数据中的所有极值点进行计数来实现,即这里提到的根据y轴的加速度数据中的极值点个数进行计步,其具体可以为:
确定y轴的加速度数据中的极大值点和极小值点为第二计步点;
根据第二计步点的个数进行计步。
可选的,本申请所提供的技术方案可实际应用于手臂计步装置(包括手环、臂环等)中,也可以以手机app的方式安装于手机中,进而在用户手持手机或将手机固定于手臂上时实现对用户的精确计步。
基于上述技术方案,本申请所提供的一种计步方法,通过根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量,并选择加速度变化量最大的轴作为计步轴,通过只选用一个轴的加速度数据来进行计步的方式,避免了其他方向的加速度对计步造成干扰;同时,当计步轴为所在直线与人体正面垂直的y轴时,根据y轴的加速度数据中的极值点个数进行计步,避免了少记步情况的出现,进而实现了对进行无规律运动的用户的精确计步。
针对于上一实施例的步骤s104,在根据y轴的加速度数据中的极值点个数进行计步之后,还可以执行图6所示的步骤实现对计步轴及计步方式的切换,下面结合图6进行说明。
请参考图6,图6为本申请实施例所提供的另一种计步方法的流程图。
其具体包括以下步骤:
s601:检测x轴的加速度变化量是否超过y轴的加速度变化量;
若是,则进入步骤s602;
当x轴的加速度变化量超过y轴的加速度变化量时,执行步骤s602将计步轴切换为x轴,并在当前步数的基础上根据x轴的加速度数据继续进行计步,以避免出现多记步的情况;
可选的,当x轴的加速度变化量未超过y轴的加速度变化量时,则还可以返回执行步骤s104,继续根据y轴的加速度数据中的极值点个数进行计步。
s602:将计步轴切换为x轴,并在当前步数的基础上根据x轴的加速度数据继续进行计步。
可选的,为降低极值点计数难度,进而提高计步效率,可以通过仅对加速度数据中的极大值点或极小值点进行计数来实现,即这里提到的在当前步数的基础上根据x轴的加速度数据继续进行计步,其具体可以为:
确定x轴的加速度数据中的极大值点或极小值点为第三计步点;
在当前步数的基础上根据第三计步点的个数继续进行计步。
可选的,为提高计步精准度,避免出现因上述计步方式导致的计步过程中步数的最小变化值为2的情况,可以通过仅对加速度数据中的所有极值点进行计数来实现,即这里提到的在当前步数的基础上根据x轴的加速度数据继续进行计步,其具体可以为:
确定x轴的加速度数据中的极大值点和极小值点为第四计步点;
在当前步数的基础上根据第四计步点的个数的一半继续进行计步。
请参考图7,图7为本申请实施例所提供的一种计步装置的结构图。
该装置可以包括:
采集模块100,用于采集三轴加速度数据;其中,三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;
计算模块200,用于根据三轴加速度数据分别计算x轴的加速度变化量和y轴的加速度变化量;
选择模块300,用于选择加速度变化量最大的轴作为计步轴;
第一计步模块400,用于当计步轴为y轴时,根据y轴的加速度数据中的极值点个数进行计步。
请参考图8,图8为本申请实施例所提供的另一种计步装置的结构图。
该计算模块200可以包括:
第一确定子模块,用于根据三轴加速度数据确定预设采样时间内x轴的加速度最大值和x轴的加速度最小值的差值为x轴的加速度变化量;
第二确定子模块,用于根据三轴加速度数据确定预设采样时间内y轴的加速度最大值和y轴的加速度最小值的差值为y轴的加速度变化量。
该第一计步模块400可以包括:
第三确定子模块,用于确定y轴的加速度数据中的极大值点或极小值点为第一计步点;
第一计步子模块,用于根据第一计步点的个数的二倍进行计步。
该第一计步模块400可以包括:
第四确定子模块,用于确定y轴的加速度数据中的极大值点和极小值点为第二计步点;
第二计步子模块,用于根据第二计步点的个数进行计步。
该装置还可以包括:
检测模块,用于检测x轴的加速度变化量是否超过y轴的加速度变化量;
第二计步模块,用于当x轴的加速度变化量超过y轴的加速度变化量时,将计步轴切换为x轴,并在当前步数的基础上根据x轴的加速度数据继续进行计步。
该第二计步模块可以包括:
第五确定子模块,用于确定x轴的加速度数据中的极大值点或极小值点为第三计步点;
第三计步子模块,用于在当前步数的基础上根据第三计步点的个数继续进行计步。
该第二计步模块可以包括:
第六确定子模块,用于确定x轴的加速度数据中的极大值点和极小值点为第四计步点;
第四计步子模块,用于在当前步数的基础上根据第四计步点的个数的一半继续进行计步。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图9,图9为本申请实施例所提供的一种计步设备的结构图。
该计步设备900可因配置或性能不同而产生比较大的差异,可以包括一个三轴加速度传感器921,一个或一个以上处理器(centralprocessingunits,cpu)922和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器922可以设置为与存储介质930通信,在计步设备900上执行存储介质930中的一系列指令操作。
计步设备900还可以包括一个或一个以上电源929,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作装置941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。
上述图1至图6所描述的计步方法中的步骤由计步设备基于该图9所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种计步方法、装置、计步设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
1.一种计步方法,其特征在于,包括:
采集三轴加速度数据;其中,所述三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;
根据所述三轴加速度数据分别计算所述x轴的加速度变化量和所述y轴的加速度变化量;
选择所述加速度变化量最大的轴作为计步轴;
当所述计步轴为所述y轴时,根据所述y轴的加速度数据中的极值点个数进行计步。
2.根据权利要求1所述的方法,其特征在于,根据所述三轴加速度数据分别计算所述x轴的加速度变化量和所述y轴的加速度变化量,包括:
根据所述三轴加速度数据确定预设采样时间内所述x轴的加速度最大值和所述x轴的加速度最小值的差值为所述x轴的加速度变化量;
根据所述三轴加速度数据确定所述预设采样时间内所述y轴的加速度最大值和所述y轴的加速度最小值的差值为所述y轴的加速度变化量。
3.根据权利要求1所述的方法,其特征在于,根据所述y轴的加速度数据中的极值点个数进行计步,包括:
确定所述y轴的加速度数据中的极大值点或极小值点为第一计步点;
根据所述第一计步点的个数的二倍进行计步。
4.根据权利要求1所述的方法,其特征在于,根据所述y轴的加速度数据中的极值点个数进行计步,包括:
确定所述y轴的加速度数据中的极大值点和极小值点为第二计步点;
根据所述第二计步点的个数进行计步。
5.根据权利要求1所述的方法,其特征在于,在根据所述y轴的加速度数据中的极值点个数进行计步之后,还包括:
检测所述x轴的加速度变化量是否超过所述y轴的加速度变化量;
若是,则将所述计步轴切换为所述x轴,并在当前步数的基础上根据所述x轴的加速度数据继续进行计步。
6.根据权利要求5所述的方法,其特征在于,所述在当前步数的基础上根据所述x轴的加速度数据继续进行计步,包括:
确定所述x轴的加速度数据中的极大值点或极小值点为第三计步点;
在所述当前步数的基础上根据所述第三计步点的个数继续进行计步。
7.根据权利要求5所述的方法,其特征在于,所述在当前步数的基础上根据所述x轴的加速度数据继续进行计步,包括:
确定所述x轴的加速度数据中的极大值点和极小值点为第四计步点;
在所述当前步数的基础上根据所述第四计步点的个数的一半继续进行计步。
8.一种计步装置,其特征在于,包括:
采集模块,用于采集三轴加速度数据;其中,所述三轴加速度数据的x轴所在直线与地面垂直,y轴所在直线与人体正面垂直,z轴所在直线与人体侧面垂直;
计算模块,用于根据所述三轴加速度数据分别计算所述x轴的加速度变化量和所述y轴的加速度变化量;
选择模块,用于选择所述加速度变化量最大的轴作为计步轴;
第一计步模块,用于当所述计步轴为所述y轴时,根据所述y轴的加速度数据中的极值点个数进行计步。
9.一种计步设备,其特征在于,包括:
三轴加速度传感器,用于采集三轴加速度数据;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述计步方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述计步方法的步骤。
技术总结