运动特征数据库的生成方法、运动状态识别方法及终端与流程

文档序号:13164810阅读:311来源:国知局
运动特征数据库的生成方法、运动状态识别方法及终端与流程

本发明涉及数据处理技术领域,尤其涉及一种运动特征数据库的生成方法、运动状态识别方法及终端。



背景技术:

随着人工智能技术的快速发展,智能终端中逐渐集成了加速度传感器、重力传感器、陀螺仪等各类传感器。智能终端对这些传感器所获取的数据进行分析和挖掘来识别用户的动作与活动。现有用户运动状态识别技术是根据传感器所获取的数据通过主动学习算法预判用户运动状态,然后通过历史判定结果及时间、地点、用户个人信息等用户相关信息对预判的用户运动状态进行修正,将最终修正的结果作为用户运动状态的识别结果。

然而,现有技术在提取传感器数据的频域特征值时,只是提取各方向分量的幅值,导致识别用户运动状态的准确率不高。另外,采用主动学习算法预判用户活动状态的过程、以及后期对预判的用户运动状态进行修正的过程均需要大量的分析和计算,占用智能终端较多资源,造成资源浪费。



技术实现要素:

本发明的实施例提供了一种运动特征数据库的生成方法、运动状态识别方法及终端,可以提高识别运动状态的准确率,降低整个识别过程中的计算量,节约资源。

第一方面,本发明实施例提供了一种运动特征数据库的生成方法,其包括:

获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据;

基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值;

将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库;

获取所述特征数据库中满足预设获取规则的特征值为预设特征值;

根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库。

第二方面,本发明实施例还提供了一种运动状态识别方法,包括:

获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据;

基于所述运动数据集获取每个所述采集时间点对应的特征值;

根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值;

计算每个所述采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值;

根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

第三方面,本发明实施例提供了一种终端,该终端包括用于执行上述第一方面的方法的单元。

第四方面,本发明实施例提供了一种终端,该终端包括用于执行上述第二方面的方法的单元。

第五方面,本发明实施例又提供了一种终端,其包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储程序代码,所述处理器被配置用于调用所述程序代码,执行本发明提供的任一项所述的运动特征数据库的生成方法。

第六方面,本发明实施例又提供了一种终端,其包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储程序代码,所述处理器被配置用于调用所述程序代码,执行本发明提供的任一项所述的运动状态识别方法。

第七方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行发明提供的任一项所述的运动特征数据库的生成方法。

第八方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行发明提供的任一项所述的运动状态识别方法。

本发明实施例提供的运动状态识别方法,其具有算法简单、计算量低、占用设备的资源少、识别用户运动状态的准确率高等优点。

附图说明

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

图1是本发明实施例提供的一种运动特征数据库的生成方法的示意流程图;

图2是图1所示运动特征数据库的生成方法中步骤s102的具体示意流程图;

图3是图2所示步骤s102中步骤s102b的具体示意流程图;

图4是图1所示运动特征数据库的生成方法中步骤s102的另一具体示意流程图;

图5是图4所示步骤s102中步骤s102d的具体示意流程图;

图6是本发明实施例提供的一种运动特征数据库的生成方法的另一示意流程图;

图7是本发明实施例提供的一种运动状态识别方法的示意流程图;

图8是图7所示运动状态识别方法中步骤s302的具体示意流程图;

图9是图8所示步骤s302中步骤s302b的具体示意流程图;

图10是图7所示运动状态识别方法中步骤s302的另一具体示意流程图;

图11是图10所示步骤s302中步骤s302d的具体示意流程图;

图12是本发明实施例提供的一种运动状态识别方法的另一示意流程图;

图13至图17均为本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1是本发明实施例提供的一种运动特征数据库的生成方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备中。该方法包括步骤s101至s105。

s101、获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据。

一般来说,运动状态可以包括走路、快走、跑步、跳跃等等。不同的运动状态对应的特征不同。在本实施例中,通过加速度传感器、重力传感器、陀螺仪等器件来采集用户在不同状态下的多个运动训练数据集。

在这里,用户可以为测试人员,测试人员做不同的运动,由各种传感器采集不同运动状态下的运动训练数据集,便于后续根据不同运动状态下的运动训练数据集提取人在不同运动状态下的特征值。再根据这些不同运动状态下的特征值来识别用户的运动状态。

在本实施例中,每种运动状态下每个传感器对应一个运动训练数据集。譬如,在跑步运动状态下,加速度传感器、重力传感器、陀螺仪分别对应三个运动训练数据集,同理,在走路运动状态下,加速度传感器、重力传感器、陀螺仪也分别对应三个运动训练数据集。

当然,在其他实施例中,每种运动状态下多个传感器也可以对应一个运动训练数据集,每个传感器对应的运动训练数据按照顺序排列在运动训练数据集中,在后续做数据处理操作时,可以依次对运动训练数据集中的每个传感器对应的数据进行处理,在此不做具体限制。

在本实施例中,每个运动训练数据集都包括多个训练采集时间点和与每个训练采集时间点对应的运动训练数据。为了提高使用该运动特征数据库识别用户运动状态的准确率,在此,在多种运动状态下,不同传感器的训练采集总时长相同,而且设置不同传感器的训练采集频率相同,即在相同训练采集总时长下,不同传感器的训练采集时间点的数量相同。

s102、基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值。

在本实施例中,对每种运动状态下多个传感器对应的多个运动训练数据集进行特征值提取。具体地,基于每个运动训练数据集获取每个训练采集时间点对应的特征值。

在本实施例中,以加速度传感器对应的运动训练数据集为例进行说明。可以理解的是,其他传感器对应的运动训练数据集的数据处理过程与加速度传感器的数据处理过程类似。

在任意一种运动状态下,加速度传感器对应的运动训练数据集的表达式为{ti,xi,yi,zi},其中,i=1,2,......n,n为运动训练数据集中训练采集时间点的总个数,ti为第i个训练采集时间点,xi,yi,zi为第i个训练采集时间点ti对应的运动训练数据,x,y,z分别表示加速度传感器的三个轴的加速度值。

在本实施例中,每个训练采集时间点对应的特征值可以包括时域特征值和频域特征值。如图2至图5所示,基于运动训练数据集获取每个训练采集时间点对应的特征值,包括以下步骤:

(一)时域特征值

s102a、基于所述运动训练数据集,获取每个所述训练采集时间点对应的时间窗口内的多个所述运动训练数据。

每个训练采集时间点对应的时间窗口是以每个训练采集时间点为起点延长预设时长的时间段。一般地,预设时长可以在3~5秒范围内取值。在本实施例中,将预设时长取值为5秒。需要说明的是,预设时长的具体数值可以根据实际情况进行设置,预设时长的取值范围不局限于上述的3~5秒范围。

譬如,以任意一个运动训练数据集中,第i个训练采集时间点ti为例,其对应的时间窗口为ti至ti+5秒的时长范围,为了后续表述方便,将ti至ti+5秒的时长范围表示为[ti,ti+5]。

在本实施例中,具体地,以第一个训练采集时间点t1对应的时间窗口[t1,t1+5]开始,获取运动训练数据集中训练采集时间点落在时间窗口[t1,t1+5]内的多个运动训练数据,根据该多个运动训练数据经过后续算法可以获得第一个训练采集时间点t1对应的特征值。然后,再获取运动训练数据集中时间落在第二个训练采集时间点t2对应的时间窗口[t2,t2+5]内的多个运动训练数据,并计算获得第二个训练采集时间点t2对应的特征值,依此类推,直至获取完最后一个训练采集时间点tn对应的特征值,从而完成对每个运动训练数据集中每个训练采集时间点对应的特征值的获取操作。

s102b、计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值。

具体地,在一实施例中,如图3所示,计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值,具体包括步骤s102b1至s102b4:

s102b1、获取每个所述时间窗口内每个所述运动训练数据对应的长度值。

现以第j个训练采集时间点tj对应的时间窗口[tj,tj+5]为例,其中,1≤j<n。假设训练采集时间点落在时间窗口[tj,tj+5]内的运动训练数据的个数为mj个。根据下式计算每个运动训练数据对应的长度值,计算公式如下:

其中,j≤i≤j+mj。根据长度值的计算公式(1)就可以计算出每个时间窗口内每个运动训练数据对应的长度值。

在一实施例中,在获取每个时间窗口内每个运动训练数据对应的长度值之后,还包括:对每个所述时间窗口内的多个所述长度值进行平滑处理。在平滑处理之后,再对平滑处理后的长度值进行后续操作。这样可以避免一些异常运动训练数据带来的较大数据噪声。譬如,测试人员在跑步过程中突然停止一下,那么停止这段时间的运动训练数据就相对较异常,采用平滑处理可以减小异常运动训练数据引入的噪声。

需要说明的是,对每个时间窗口内的多个长度值进行平滑处理的具体算法可以为五点平滑算法、过滤、小波分析等,在此不对平滑处理的具体算法做限制,只要可以对传感器获取的数据进行去噪即可。

s102b2、计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值。

譬如,根据长度值的计算公式(1),计算出时间窗口[tj,tj+5]内的mj个长度值后,计算这mj个长度值中的最大值和最小值,以及计算这mj个长度值的平均值。

s102b3、将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前n个所述长度值的和以获得总长度值,其中n为正整数。

在本实施例中,n的取值为每个时间窗口内运动训练数据总个数的25%和75%,n为正整数。譬如,时间窗口[tj,tj+5]内的运动训练数据的总个数mj取值为100,那么n的取值就为25和75。将时间窗口[tj,tj+5]内的100个长度值按照从小到大的顺序排列,然后取从小到大排列顺序的前25个长度值之和、前75个长度值之和做为总长度值。也就是说,总长度值为两个,分别为前25个长度值之和的总长度值和前75个长度值之和的总长度值。

前25个长度值求和的表达式为:summag25=∑(magi|magi≤mag25);前75个长度值求和的表达式为:summag75=∑(magi|magi≤mag75),其中,summag25表示前25个长度值求和后的总长度值,summag75表示前75个长度值求和后的总长度值,mag25和mag75分别表示100个长度值按照从小到大的顺序排列后第25个长度值和第75个长度值,magi表示100个长度值中第i个长度值。

当然,在一实施例中,n的取值也可以为一个值,比如,n的取值包括每个时间窗口内运动训练数据总个数的25%或75%。此时,每个时间窗口内将获得一个总长度值。在另一实施例中,n的取值还可以为3个或更多个,在此不对n的取值做具体限制。

在一些情况下,每个时间窗口内运动训练数据总个数的25%和75%所得到的数值可能为小数,此时n的取值为小数的整数部分。譬如,若时间窗口[tj,tj+5]内的运动训练数据总个数mj取值为70,那么70×25%=17.5、70×75%=52.5,此时n分别取值为17和52。

s102b4、将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述训练采集时间点对应的时域特征值。

譬如,将第j个训练采集时间点tj对应的时间窗口[tj,tj+5]内最大值、最小值、平均值、总长度值summag25和总长度值summag75作为第j个训练采集时间点tj对应的时域特征值。也就是说,第j个训练采集时间点tj对应5个时域特征值。

需要说明的是,时域特征值不局限于最大值、最小值、平均值及总长度值四种的组合,还可以为上述四种中的任意一种或几种的组合。时域特征值还可以为其他种类的特征值,可以根据实际情况进行设置,在此不做具体限制。

另外,计算每个时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值的具体计算方法不局限于上述方法,可以为其他方法,在此不做具体限制。

(二)频域特征值

s102c、对每个所述时间窗口内的多个所述运动训练数据进行离散傅里叶变换得到频域运动训练数据。

根据前面的介绍可以得知,运动训练数据包括x,y,z三个方向的数据。以智能手机为例,x方向为智能手机屏幕短边方向,y方向为智能手机屏幕长边方向,z方向为垂直于智能手机屏幕的方向。

根据用户在不同运动状态下智能手机屏幕相对地面的位置,一般采用运动训练数据中y方向的数据进行离散傅里叶变换。当然,也可以采用运动训练数据中x方向或z方向的数据进行离散傅里叶变换。具体采用哪个方向的数据进行离散傅里叶变换可以根据实际需求进行设置,在此不做具体限制。

在本实施例中,在步骤s102a之后,将对每个时间窗口内多个运动训练数据中y方向的数据进行离散傅里叶变换,从而得到每个时间窗口对应的多个频域运动训练数据。

具体地,以第j个训练采集时间点tj对应的时间窗口[tj,tj+5]为例,其中,训练采集时间点落在时间窗口[tj,tj+5]内的mj个运动训练数据中y方向数据表示为{yi|j≤i≤j+mj},将这些{yi|j≤i≤j+mj}时域数据通过离散傅里叶变换得到频域运动训练数据{fyk|1≤k≤h},其中,h取值可以为512,fyk为y方向上的频域运动训练数据。需要说明的是,h取值可以为其他数值,在此不做具体限制。

s102d、将每个所述时间窗口内多个所述频域运动训练数据中频率处于第一预设频率范围内的所述频域运动训练数据乘以预设系数以获得新频域运动训练数据。

在本实施例中,如图5所示,将每个所述时间窗口内多个所述频域运动训练数据中频率处于第一预设频率范围内的所述频域运动训练数据乘以预设系数以获得新频域运动训练数据,具体包括以下步骤:

s102d1、获取每个所述时间窗口内多个所述频域运动训练数据中频率处于第一预设频率范围内的所述频域运动训练数据作为准频域运动训练数据。

在本实施例中,第一预设频率范围为0至30赫兹。在时间窗口[tj,tj+5]内,频率处于0至30赫兹的多个准频域运动训练数据可以表示为:

{(freqk,fyk)|1≤k≤0.5×h+1,0≤freqk≤30}

其中,freqk为准频域运动训练数据fyk对应的频率值。

s102d2、计算所述准频域运动训练数据的绝对值乘以预设系数以获得所述新频域运动训练数据。

在本实施例中,预设系数的取值为2。具体地,在时间窗口[tj,tj+5]内,多个新频域运动训练数据可以表示为:

{(freqk,freqyk)|1≤k≤0.5×h+1,0≤freqk≤30,freqyk=2×|fyk|}

其中,freqyk为新频域运动训练数据。

s102e、根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值。

在本实施例中,在获取到时间窗口[tj,tj+5]对应的多个新频域运动训练数据freqyk后,将根据多个新频域运动训练数据freqyk获取第j个训练采集时间点tj对应的频域特征值。

具体地,在一实施例中,根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值,具体包括:

s102e1、获取每个所述时间窗口内多个所述新频域运动训练数据中最大值对应的频率、第二预设频率范围内的新频域运动训练数据的波峰数量以及第三预设频率范围内的新频域运动训练数据的积分值作为每个所述训练采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在本实施例中,第二预设频率范围可以为0至5赫兹,第三预设频率范围可以为0至10赫兹。具体地,譬如,获取时间窗口[tj,tj+5]对应的多个新频域运动训练数据freqyk中最大值对应的频率;再获取0至5赫兹范围内的多个新频域运动训练数据freqyk中波峰数量;再获取0至10赫兹范围内的多个新频域运动训练数据freqyk的积分值。将时间窗口[tj,tj+5]对应的最大新频域运动训练数据对应的频率、0至5赫兹范围内的波峰数量以及0至10赫兹范围的积分值作为第j个训练采集时间点tj对应的频域特征值。也就是说,第j个训练采集时间点tj对应的频域特征值的个数为3个。

需要说明的是,频域特征值不局限于上述三种的组合,还可以为三种的任意一种或两种的组合。同时,频域特征值还可以为其他种类的特征值,可以根据实际情况进行设置,在此不做具体限制。同时,第一预设频率范围、第二预设频率范围和第三预设频率范围的具体范围值不局限于上述情况,预设系数的取值也可以为其他数值,在此不做具体限制。

另外,计算每个训练采集时间点对应的频域特征值的具体计算方法也不局限于上述方法,可以为其他方法,在此不做具体限制。

在本实施例中,每个训练采集时间点对应的特征值包括时域特征值和频域特征值。当然,在其他实施例中,每个训练采集时间点对应的特征值也可以包括时域特征值或者频域特征值,在此不做具体限制。

可以理解的是,在本实施例中,从步骤s102可以看出,每个训练采集时间点对应的特征值均包括5个时域特征值和3个频域特征值,8个特征值按照行方向排列。

在本实施例中,重力传感器、陀螺仪等其他传感器对应的运动训练数据集中,每个训练采集时间点对应的特征值的获取过程与上述加速度传感器的特征值获取过程类似,可以根据上述步骤s102的描述获得重力传感器、陀螺仪等其他传感器对应的特征值,从而完成对不同运动状态下每种传感器对应的运动训练数据集的特征值的获取过程。

s103、将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库。

将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库,具体包括:将同种运动状态下不同运动训练数据集对应的多个特征值在行方向上按照第一预设顺序排列,将不同运动状态下不同运动训练数据集对应的多个特征值在列方向上按照第二预设顺序排列以形成所述特征数据库。

譬如,假设加速度传感器在跑步和走路两种运动状态下的特征值用ais和ais表示,其中i=1,2,......n,i表示训练采集时间点的次序,n为运动训练数据集中训练采集时间点的总个数,s=1,2...,8,s表示每个训练采集时间点对应的特征值的次序。如a13表示在跑步运动状态下加速度传感器获取的第一个训练采集时间点对应的第三个特征值。根据上述规律依次可以得到,重力传感器在跑步和走路两种运动状态下的特征值用bis和bis表示。

那么,上述两种传感器在跑步和走路两种运动状态下的特征数据库可以如表1所示。

表1

如表1所示的特征数据库中,行方向上第一预设顺序为:先是加速度传感器对应的多个特征值,然后是重力传感器对应的多个特征值。列方向上第二预设顺序为:先是跑步运动状态下不同运动训练数据集对应的多个特征值,然后是走路运动状态下不同运动训练数据集对应的多个特征值。

可以理解的是,特征数据库中多个特征值的具体排列情况不局限于表1所示的情况,还可以为其他情况,在此不做具体限制。

s104、获取所述特征数据库中满足预设获取规则的特征值为预设特征值。

在本实施例中,预设特征值包括预设最小特征值和预设最大特征值。获取所述特征数据库中满足预设获取规则的特征值为预设特征值包括:在所述特征数据库,获取每列特征值中最小的特征值作为每列的所述预设最小特征值,以及获取每列特征值中最大的特征值作为每列的所述预设最大特征值。

可以理解的是,特征数据库中有多少列特征值就对应有多少个预设最小特征值和预设最大特征值。如表1所示的特征数据库中,预设最小特征值和预设最大特征值的个数均为16个。

s105、根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库。

在本实施例中,根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库,具体包括:根据每列的所述预设最大特征值和预设最小特征值对所述特征数据库中相应列的特征值进行归一化处理以形成所述运动特征数据库。

归一化公式表达式为:其中,cwr表示特征数据库中第w行第r列的特征值,normcwr表示cwr经过第r列的预设最小特征值minr和预设最大特征值maxr归一化处理后的特征值。

根据上述归一化公式就可以将特征数据库中的特征值归一化到0至1区间,从而形成运动特征数据库。在形成运动特征数据库之后,存储运动特征数据库以及预设特征值,便于后续使用运动特征数据库以及预设特征值来识别用户的运动状态。

需要说明的是,在本实施例中,归一化处理是采用最大值和最小值进行归一化处理,在其他实施例中,还可以采用均值和方差等其他参数进行归一化处理,在此不做具体限制。另外,数量级处理的具体方式也不局限于归一化处理,还可以为其他方式,只要可以将特征数据库中的特征值的数量级统一即可。

另外,还需要说明的是,运动特征数据库中的特征值数量可以根据其所在的运动状态识别设备的配置情况进行任意组合。譬如,在执行完步骤s102之后,还包括存储每个所述运动训练数据集对应的特征值。检测运动状态识别设备中可使用的传感器类型;根据可使用的传感器类型获取相对应的运动训练数据集;根据所述传感器类型对应的运动训练数据集执行步骤s103。这样可以根据运动状态识别设备中传感器的配置情况以及是否可以正常工作的情况来灵活生成运动特征数据库,使得本发明实施例中的运动特征数据库的生成方法的适用性更强。

本实施例提供的运动特征数据库的生成方法,其具有算法简单、计算量低等优点,而且在采用该方法生成的运动特征数据库中,采用了多个时域特征值和频域特征值的组合,提高了特征辨识度,提高后续基于该运动特征数据库识别用户运动状态的准确率。

请参阅图6所示,图6为本发明实施例中运动特征数据库的生成方法的另一示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备中。该方法包括步骤s201至s207。

s201、获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据。

一般来说,运动状态可以包括走路、快走、跑步、跳跃等等。不同的运动状态对应的特征不同。在本实施例中,通过加速度传感器、重力传感器、陀螺仪等器件来采集用户在不同状态下的多个运动训练数据集。

在这里,用户可以为测试人员,测试人员做不同的运动,由各种传感器采集不同运动状态下的运动训练数据集,便于后续根据不同运动状态下的运动训练数据集提取人在不同运动状态下的特征值。再根据这些不同运动状态下的特征值来识别用户的运动状态。

需要说明的是,每种运动状态下每个传感器对应一个运动训练数据集。当然,在其他实施例中,每种运动状态下多个传感器也可以对应一个运动训练数据集,每个传感器对应的运动训练数据按照顺序排列在运动训练数据集中,在后续做数据处理操作时,可以依次对运动训练数据集中的每个传感器对应的数据进行处理,在此不做具体限制。

在本实施例中,每个运动训练数据集都包括多个训练采集时间点和与每个训练采集时间点对应的运动训练数据。为了提高使用该运动特征数据库识别用户运动状态的准确率,在此,在多种运动状态下,不同传感器的训练采集总时长相同。

在本实施例中,在任意一个运动训练数据集中,运动训练数据集的表达式为{ti,xi,yi,zi},其中,i=1,2,......n,n为运动训练数据集中训练采集时间点的总个数,ti为第i个训练采集时间点,xi,yi,zi为第i个训练采集时间点ti对应的运动训练数据,x,y,z分别表示各传感器的三个轴的数值,譬如,x,y,z可以分别表示加速度传感器的三个轴的加速度值。

s202、按照预设训练采样频率对每个所述运动训练数据集中的多个所述训练采集时间点进行采样,以获得每个所述运动训练数据集对应的多个训练采样时间点。

在不同传感器的训练采集总时长相同的情况下,若各传感器的采样频率不同,会导致每种传感器的训练采集时间点的数量不同。为了防止采样不均匀引起的辨识误差,在本实施例中,按照预设训练采样频率对每个运动训练数据集中多个训练采集时间点进行采样,将采样后的时间点称为训练采样时间点。

一般来说,预设训练采样频率的取值范围可以设置为60至100赫兹。在本实施例中,预设训练采样频率具体取值为60赫兹。可以理解的是,预设训练采样频率的取值范围不局限于60至100赫兹,在此不做具体限制。

在本实施例中,在任意一个运动训练数据集中,以第一个训练采集时间点t1为起点,按照1/60的步长进行采样,直至采样到最后一个训练采集时间点tn为止,获得该运动训练数据集对应的m个训练采样时间点。其中,m取((tn-t1)×60+1)的整数。可以理解的是,该m个训练采样时间点至少包括第一个训练采集时间点t1。

s203、根据多个所述训练采样时间点对相应的所述运动训练数据集进行插值处理以生成插值运动训练数据集,其中,所述插值运动训练数据集包括多个所述训练采样时间点和与每个所述训练采样时间点对应的插值运动训练数据。

具体地,譬如,以m个训练采样时间点中第j个训练采样时间点tj为例。在运动训练数据集和插值运动训练数据集中查找与该训练采样时间点tj最近的两个已知的运动训练数据或者插值运动训练数据,两个已知的数据分别表示为(ta,xa,ya,za)和(tb,xb,yb,zb),那么第j个训练采样时间点tj对应的插值运动训练数据(xj,yj,zj)可以用下式计算获得:

其中,1<j≤m,ta<tj<tb。根据插值运动训练数据的计算公式(2)就可以计算出每个训练采样时间点对应的插值运动训练数据,此时,原来的每个运动训练数据集{ti,xi,yi,zi}经过插值处理后生成对应的插值运动训练数据集,该对应的插值运动训练数据集表示为{tv,xv,yv,zv},其中,v=1,2,......m,m为插值运动训练数据集中训练采样时间点的总个数,tv为第v个训练采样时间点,xv,yv,zv为第v个训练采样时间点tv对应的插值运动训练数据。

s204、基于所述插值运动训练数据集获取每个所述训练采样时间点对应的特征值。

在本实施例中,对每种运动状态下每个传感器对应的插值运动训练数据集进行特征值提取。具体地,基于每个插值运动训练数据集获取每个训练采样时间点对应的特征值。

在本实施例中,每个训练采样时间点对应的特征值可以包括时域特征值和频域特征值。基于插值运动训练数据集获取每个训练采样时间点对应的特征值的具体过程类似于第一实施例中基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值的具体过程。

本领域的技术人员在阅读完第一实施例的相关内容后,很容易类推出本实施例中每个训练采样时间点对应的特征值的获取过程。为了说明书的简洁性,在此不对基于插值运动训练数据集获取每个所述训练采样时间点对应的特征值的具体过程做详述。

在本实施例中,经过步骤s204的相关计算步骤,每个训练采样时间点将对应5个时域特征值和3个频域特征值,这8个特征值按照行方向排列。当然,在其他实施例中,每个训练采样时间点对应的特征值也可以包括时域特征值或者频域特征值,在此不做具体限制。

s205、将多个所述插值运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库。

将多个所述插值运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库,具体包括:将同种运动状态下不同插值运动训练数据集对应的多个特征值在行方向上按照第一预设顺序排列,将不同运动状态下不同插值运动训练数据集对应的多个特征值在列方向上按照第二预设顺序排列以形成所述特征数据库。

在此,行方向上第一预设顺序为同一种运动状态下,不同插值运动训练数据集的先后顺序;列方向上第二预设顺序为插值运动训练数据集对应的不同运动状态的先后顺序。

本实施例中,特征数据库内特征值的预设排列顺序与第一实施例中表1所示的特征数据库内特征值的排列顺序类似,为了说明书的简介性,在此不再赘述。

s206、获取所述特征数据库中满足预设获取规则的特征值为预设特征值。

在本实施例中,预设特征值包括预设最小特征值和预设最大特征值。获取所述特征数据库中满足预设获取规则的特征值为预设特征值包括:在所述特征数据库,获取每列特征值中最小的特征值作为每列的所述预设最小特征值,以及获取每列特征值中最大的特征值作为每列的所述预设最大特征值。

可以理解的是,特征数据库中有多少列特征值就对应有多少个预设最小特征值和预设最大特征值。

s207、根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库。

在本实施例中,根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库,具体包括:根据每列的所述预设最大特征值和预设最小特征值对所述特征数据库中相应列的特征值进行归一化处理以形成所述运动特征数据库。

归一化公式表达式为:其中cwr表示特征数据库中第w行第r列的特征值,normcwr表示cwr经过第r列的预设最小特征值minr和预设最大特征值maxr归一化处理后的特征值。

根据上述归一化公式就可以将特征数据库中的特征值归一化到0至1区间,从而形成运动特征数据库。在形成运动特征数据库之后,存储运动特征数据库以及预设特征值,便于后续使用运动特征数据库以及预设特征值来识别用户的运动状态。

需要说明的是,在本实施例中,归一化处理是采用最大值和最小值进行归一化处理,在其他实施例中,还可以采用均值和方差等其他参数进行归一化处理,在此不做具体限制。另外,数量级处理的具体方式也不局限于归一化处理,还可以为其他方式,只要可以将特征数据库中的特征值的数量级统一即可。

另外,还需要说明的是,运动特征数据库中的特征值数量可以根据其所在的运动状态识别设备的配置情况进行任意组合。譬如,在执行完步骤s204之后,还包括存储每个所述运动训练数据集对应的特征值。检测运动状态识别设备中可使用的传感器类型;根据可使用的传感器类型获取相对应的运动训练数据集;根据所述传感器类型对应的运动训练数据集执行步骤s205。这样可以根据运动状态识别设备中传感器的配置情况以及是否可以正常工作的情况来灵活生成运动特征数据库,使得本发明实施例中的运动特征数据库的生成方法的适用性更强。

需要说明的是,本实施例中步骤s204至步骤s207分别与第一实施例中步骤s102至步骤s105相类似,为了说明书的简洁性,在此未对本实施例中步骤s204至步骤s207做详细地介绍。但本领域的技术人员,在阅读第一实施例中相关步骤之后,很容易类推出本实施例中步骤s204至步骤s207的具体实施过程。

本实施例提供的运动特征数据库的生成方法,其具有算法简单、计算量低等优点,而且在采用该方法生成的运动特征数据库中,采用了多个时域特征值和频域特征值的组合,提高了特征辨识度,提高后续基于该运动特征数据库识别用户运动状态的准确率。另外,本实施例中的生成方法采用插值算法对传感器获取的数据进行插值处理,消除各传感器采集数据的噪声,进一步提高该运动特征数据库的特征辨识度。

请参阅图7,图7为本发明实施例中一种运动状态识别方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备中。该方法包括步骤s301至s305。

s301、获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据。

为了可以更准确地识别用户的运动状态,一般来说,可以通过加速度传感器、重力传感器、陀螺仪等多个传感器件来采集用户当前所处运动状态对应的运动数据集。

在本实施例中,每个传感器对应一个运动数据集,此时获取到的运动数据集的个数为多个。比如,当前监测用户运动状态的传感器分别为加速度传感器和重力传感器,那么将获得两个运动数据集,分别对应两种传感器。

当然,在其他实施例中,多个传感器也可以对应一个运动数据集,每个传感器对应的运动数据按照顺序排列在运动数据集中,在后续做数据处理操作时,可以依次对运动数据集中的每个传感器对应的数据进行处理,在此不做具体限制。

另外,在其他实施例中,也可以采用一种传感器来获取用户的运动数据,并以该传感器的运动数据为基础来识别用户的运动状态,在此不做具体限制。

在本实施例中,每个运动数据集都包括多个采集时间点和与每个采集时间点对应的运动数据。为了提高识别运动状态的准确率,设置不同传感器的采集总时长相同,而且不同传感器的采集频率也相同,即在相同采集总时长下,不同传感器的采集时间点的数量相同。

任意一个运动数据集可以表示为{ti,xi,yi,zi},其中,i=1,2,......n,n为运动数据集中采集时间点的总个数,ti为第i个采集时间点,xi,yi,zi为第i个采集时间点ti对应的运动数据,x,y,z分别表示各传感器的三个轴的数值,比如,x,y,z分别表示加速度传感器的三个轴的加速度值。

s302、基于所述运动数据集获取每个所述采集时间点对应的特征值。

若步骤s301获取到多个运动数据集,那么步骤s302将对每个运动数据集中的每个采集时间点进行特征值提取。

下面以加速度传感器对应的运动数据集为例说明特征值提取的具体过程。可以理解的是,其他传感器对应的运动数据集的数据处理过程与加速度传感器的数据处理过程类似。

在本实施例中,每个采集时间点对应的特征值可以包括时域特征值和频域特征值。请参阅图8至图11所示,基于运动数据集获取每个采集时间点对应的特征值,包括以下步骤:

(一)时域特征值

s302a、基于所述运动数据集获取每个所述采集时间点对应的时间窗口内的多个所述运动数据。

每个采集时间点对应的时间窗口是以每个采集时间点为起点延长预设时长的时间段。一般地,预设时长可以在3~5秒范围内取值。在本实施例中,将预设时长取值为5秒。譬如,以第i个采集时间点ti为例,其对应的时间窗口为ti至ti+5秒的时长范围,为了后续表述方便,将ti至ti+5秒的时长范围表示为[ti,ti+5]。

需要说明的是,预设时长的具体数值可以根据实际情况进行设置,预设时长的取值范围不局限于上述的3~5秒范围。

在本实施例中,具体地,以第一个采集时间点t1对应的时间窗口[t1,t1+5]开始,获取运动数据集中采集时间点落在时间窗口[t1,t1+5]内的多个运动数据,根据该多个运动数据经过后续算法可以获得第一个采集时间点t1对应的特征值。然后,再获取运动数据集中时间落在第二个采集时间点t2对应的时间窗口[t2,t2+5]内的多个运动数据,并计算获得第二个采集时间点t2对应的特征值,依此类推,直至获取完最后一个采集时间点tn对应的特征值,从而完成对每个运动数据集中每个采集时间点对应的特征值的获取操作。

s302b、计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值。

具体地,在一实施例中,请参阅图9,计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值,具体包括步骤s302b1至s302b4:

s302b1、获取每个所述时间窗口内每个所述运动数据对应的长度值。

现以第j个采集时间点tj对应的时间窗口[tj,tj+5]为例,其中,1≤j<n。假设采集时间点落在时间窗口[tj,tj+5]内的运动数据的个数为mj个。根据下式计算每个运动数据对应的长度值,计算公式如下:

其中,j≤i≤j+mj。根据长度值的计算公式(4)就可以计算出每个时间窗口内每个运动数据对应的长度值。

在一实施例中,在获取每个时间窗口内每个运动数据对应的长度值之后,还包括:对每个所述时间窗口内的多个所述长度值进行平滑处理。在平滑处理之后,再对平滑处理后的长度值进行后续操作。这样可以避免一些异常运动数据带来的较大数据噪声。

需要说明的是,对每个时间窗口内的多个长度值进行平滑处理的具体算法可以为五点平滑算法、过滤、小波分析等,在此不对平滑处理的具体算法做限制,只要可以对传感器获取的数据进行去噪即可。

s302b2、计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值。

譬如,根据步骤s302b1中的长度值的计算公式(4),计算出时间窗口[tj,tj+5]内的mj个长度值后,计算这mj个长度值中的最大值和最小值,以及计算这mj个长度值的平均值。

s302b3、将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前m个所述长度值的和以获得总长度值,其中m为正整数。

在本实施例中,m的取值为每个时间窗口内运动数据总个数的25%和75%,m为正整数。譬如,时间窗口[tj,tj+5]内的运动数据的总个数mj取值为100,那么m的取值就为25和75。将时间窗口[tj,tj+5]内的100个长度值按照从小到大的顺序排列,然后取从小到大排列顺序的前25个长度值之和、前75个长度值之和做为总长度值。也就是说,总长度值为两个,分别为前25个长度值之和的总长度值和前75个长度值之和的总长度值。

前25个长度值求和的表达式为:summag25=∑(magi|magi≤mag25);前75个长度值求和的表达式为:summag75=∑(magi|magi≤mag75),其中,summag25表示前25个长度值求和后的总长度值,summag75表示前75个长度值求和后的总长度值,mag25和mag75分别表示100个长度值按照从小到大的顺序排列后第25个长度值和第75个长度值,magi表示100个长度值中第i个长度值。

当然,在一实施例中,m的取值也可以为一个值,比如,m的取值包括每个时间窗口内运动数据总个数的25%或75%。此时,每个时间窗口内将获得一个总长度值。在另一实施例中,m的取值还可以为3个或更多个,在此不对m的取值做具体限制。

在一些情况下,每个时间窗口内运动数据总个数的25%和75%所得到的数值可能为小数,此时m的取值为小数的整数部分。譬如,若时间窗口[tj,tj+5]内的运动数据总个数mj取值为70,那么70×25%=17.5、70×75%=52.5,此时m分别取值为17和52。

s302b4、将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述采集时间点对应的时域特征值。

譬如,将第j个采集时间点tj对应的时间窗口[tj,tj+5]内最大值、最小值、平均值、总长度值summag25和总长度值summag75作为第j个采集时间点tj对应的时域特征值。也就是说,第j个采集时间点tj对应5个时域特征值。

需要说明的是,时域特征值不局限于最大值、最小值、平均值及总长度值四种的组合,还可以为上述四种中的任意一种或几种的组合。时域特征值还可以为其他种类的特征值,可以根据实际情况进行设置,在此不做具体限制。

另外,计算每个时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值的具体计算方法不局限于上述方法,可以为其他方法,在此不做具体限制。

(二)频域特征值

s302c、对每个所述时间窗口内的多个所述运动数据进行离散傅里叶变换得到频域运动数据。

根据前面的介绍可以得知,运动数据包括x,y,z三个方向的数据。以智能手机为例,x方向为智能手机屏幕短边方向,y方向为智能手机屏幕长边方向,z方向为垂直于智能手机屏幕的方向。

根据用户当前所处运动状态下智能手机屏幕相对地面的位置,一般采用运动数据中y方向的数据进行离散傅里叶变换。当然,也可以采用运动数据中x方向或z方向的数据进行离散傅里叶变换。具体采用哪个方向的数据进行离散傅里叶变换可以根据实际需求进行设置,在此不做具体限制。

在本实施例中,在步骤s302a之后,将对每个时间窗口内多个运动数据中y方向的数据进行离散傅里叶变换,从而得到每个时间窗口对应的多个频域运动数据。

具体地,以第j个采集时间点tj对应的时间窗口[tj,tj+5]为例,其中,1≤j<n。采集时间点落在时间窗口[tj,tj+5]内的mj个运动数据中y方向数据表示为{yi|j≤i≤j+mj},将这些{yi|j≤i≤j+mj}时域数据通过离散傅里叶变换得到频域运动数据{fyk|1≤k≤h},其中,h取值可以为512,fyk为y方向上的频域运动数据。需要说明的是,h取值可以为其他数值,在此不做具体限制。

s302d、将每个所述时间窗口内的多个频域运动数据中频率处于第一预设频率范围内的所述频域运动数据乘以预设系数以获得新频域运动数据。

在本实施例中,请参阅图11所示,将每个所述时间窗口内多个所述频域运动数据中频率处于第一预设频率范围内的所述频域运动数据乘以预设系数以获得新频域运动数据,具体包括以下步骤:

s302d1、获取每个所述时间窗口内多个所述频域运动数据中频率处于第一预设频率范围内的所述频域运动数据作为准频域运动数据。

在本实施例中,第一预设频率范围为0至30赫兹。在时间窗口[tj,tj+5]内,频率处于0至30赫兹的多个准频域运动数据可以表示为:

{(freqk,fyk)|1≤k≤0.5×h+1,0≤freqk≤30}

其中,freqk为准频域运动数据fyk对应的频率值。

s302d2、计算所述准频域运动数据的绝对值乘以预设系数以获得所述新频域运动数据。

在本实施例中,预设系数的取值为2。具体地,在时间窗口[tj,tj+5]内,多个新频域运动数据可以表示为:

{(freqk,freqyk)|1≤k≤0.5×h+1,0≤freqk≤30,freqyk=2×|fyk|}

其中,freqyk为新频域运动数据。

s302e、根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值。

在本实施例中,在获取到时间窗口[tj,tj+5]对应的多个新频域运动数据freqyk后,将根据多个新频域运动数据freqyk获取第j个采集时间点tj对应的频域特征值。

具体地,在一实施例中,根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值,具体包括:

s302e1、获取每个所述时间窗口内多个所述新频域运动数据中最大值对应的频率、第二预设频率范围内的新频域运动数据的波峰数量以及第三预设频率范围内的新频域运动数据的积分值作为每个所述采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在本实施例中,第二预设频率范围可以为0至5赫兹,第三预设频率范围可以为0至10赫兹。具体地,譬如,获取时间窗口[tj,tj+5]对应的多个新频域运动数据freqyk中最大值对应的频率;再获取0至5赫兹范围内的多个新频域运动数据freqyk中波峰数量;再获取0至10赫兹范围内的多个新频域运动数据freqyk的积分值。将时间窗口[tj,tj+5]对应的最大新频域运动数据对应的频率、0至5赫兹范围内的波峰数量以及0至10赫兹范围的积分值作为第j个采集时间点tj对应的频域特征值。也就是说,第j个采集时间点tj对应的频域特征值的个数为3个。

需要说明的是,频域特征值不局限于上述三种的组合,还可以为三种的任意一种或两种的组合。同时,频域特征值还可以为其他种类的特征值,可以根据实际情况进行设置,在此不做具体限制。同时,第一预设频率范围、第二预设频率范围和第三预设频率范围的具体范围值不局限于上述情况,预设系数的取值也可以为其他数值,在此不做具体限制。

另外,计算每个采集时间点对应的频域特征值的具体计算方法也不局限于上述方法,可以为其他方法,在此不做具体限制。

在本实施例中,每个采集时间点对应的特征值包括时域特征值和频域特征值。当然,在其他实施例中,每个采集时间点对应的特征值也可以包括时域特征值或者频域特征值。具体地,每个采集时间点所包括的特征值的种类及数量与本发明提供的运动特征数据库中每个训练采集时间点或每个训练采样时间点对应的特征值的种类及数量相同即可,在此不做具体限制。

可以理解的是,在本实施例中,从步骤s302可以看出,每个采集时间点对应的特征值均包括5个时域特征值和3个频域特征值,8个特征值按照行方向排列。若运动数据集中n个采集时间点按照先后顺序在列方向上排列,那么每个运动数据集对应的特征值为n行8列的阵列。

在本实施例中,重力传感器、陀螺仪等其他传感器对应的运动数据集中,每个采集时间点对应的特征值的获取过程与上述加速度传感器的特征值获取过程类似,可以根据上述步骤s302的描述获得重力传感器、陀螺仪等其他传感器对应的特征值,从而完成对用户当前所处运动状态下每种传感器对应的运动数据集的特征值的获取过程。

当获得每个运动数据集对应的特征值之后,将多个运动数据集对应的多个特征值按照本发明提供的运动特征数据库中多个特征值的排列顺序进行排列,从而形成运动数据集合。可以理解的是,当只采用一种传感器获取用户的运动数据时,此时运动数据集合就是该传感器对应的运动数据集。

譬如,在本发明实施例一中,表1所示的运动特征数据库中,行方向上先是加速度传感器对应的多个特征值,然后是重力传感器对应的多个特征值。那么用户当前运动状态下,加速度传感器和重力传感器分别对应的运动数据集的特征值也是按照表1的顺序排列。

请参阅表2,表2为加速传感器和重力传感器对应的运动数据集合。在表2中,加速度传感器对应的特征值用cis表示,重力传感器对应的特征值用dis表示,其中i表示采集时间点的次序,i=1,2,......n,n为运动数据集中采集时间点的总个数,s表示每个采集时间点对应的特征值的次序,s=1,2...,8,即每个运动数据集中每个采集时间点对应的特征值总个数为8个。

表2

从表2可以很容易地得知,由加速度传感器的运动数据集和重力传感器的运动数据集合成的运动数据集合为一个n行16列的阵列。

需要说明的是,用户当前运动状态下的运动数据集合中,每个采集时间点对应的特征值的总数要与运动特征数据库中每个训练采集时间点对应的特征值的总数相同。

譬如,运动特征数据库由加速度传感器、重力传感器、陀螺仪三种传感器的特征值组成,每个训练采集时间点对应的特征值的总数为3乘以8,即24个。那么采集用户当前运动状态下的运动数据集合中每个采集时间点对应的特征值的总数也为24个。

s303、根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值。

在本实施例中,预设特征值为本发明提供的运动特征数据库对应的预设特征值。在执行步骤s303时,从存储器中读取该预设特征值,并根据该预设特征值对每个采集时间点对应的特征值进行数量级处理。

具体地,预设特征值包括预设最小特征值minr和预设最大特征值maxr,其中,r表示运动特征数据库中特征值的列数。根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值,包括:根据运动特征数据库中每列预设最小特征值和预设最大特征值对运动数据集合中相应列的每个采集时间点对应的特征值进行归一化处理以生成处理后的特征值。

在本实施例中,归一化公式表达式可以为:其中,i表示运动数据集合中特征值的行数,也即运动数据集合中采集时间点的次序,i=1,2,......n,r表示运动数据集合中特征值的列数,r为正整数,dir表示运动数据集合中第i行第r列的特征值,normdir表示dir经过第r列的预设最小特征值minr和预设最大特征值maxr归一化处理后生成的处理后的特征值。

根据上述归一化公式可以计算出每个采集时间点对应的处理后的特征值。可以理解的是,每个采集时间点对应的特征值为多个,因此对应的处理后的特征值的个数也为多个。

需要说明的是,在本实施例中,归一化处理是采用最大值和最小值进行归一化处理,在其他实施例中,还可以采用均值和方差等其他参数进行归一化处理,在此不做具体限制。另外,数量级处理的具体方式也不局限于归一化处理,还可以为其他方式,只要可以将特征数据库中的特征值的数量级统一即可。

s304、计算每个所述采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。

在运动特征数据库中,第w行第r列的特征值可以表示为normcwr。在本实施例中,可以采用欧式距离计算方法计算处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。具体计算距离计算公式如下:

在距离计算公式(5)中,假设运动特征数据库以及运动数据集合中每个时间点对应的特征值个数为16个。其中normdir表示运动数据集合中第i行对应的多个处理后的特征值。根据距离计算公式(5)可以计算出第i行多个处理后的特征值与运动特征数据库中每行特征值之间的距离值。

譬如,i=1,w=1,2,...,60,那么根据欧式距离计算公式(5)可以计算出运动数据集合中第一行对应的处理后的特征值与运动特征数据库中每行特征值之间的距离值,由于运动特征数据库中共有60行特征值,那么与运动数据集合中第一行处理后的特征值对应的距离值的个数为60个。也就是说,运动数据集合中每行处理后的特征值都对应60个距离值。

同时,由于运动特征数据库中,每行特征值在列方向上是按照运动状态来划分的,因此每个距离值都会对应一个运动状态。也就是说,运动数据集合中每行处理后的特征值都会对应60个运动状态。

需要说明的是,计算每个采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值的具体计算方法不局限于上述的欧式距离计算方法,还可以为余弦距离计算方法等其他方法,在此不做具体限制。

s305、根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

在本实施例中,将运动数据集合中每行处理后的特征值对应多个距离值按照预设分类算法识别每个采集时间点对应的运动状态。在此,预设分类算法为k最近邻算法(k-nearestneighbor,简称knn)。

具体地,将运动数据集合中每行处理后的特征值对应多个距离值按照从小到大的顺序排列,并获取前q个距离值及对应的q个运动状态,其中q为正整数。统计q个运动状态中每种运动状态出现的次数,并将出现次数最多的运动状态作为该采集时间点对应的运动状态。

譬如,将运动数据集合中第j行特征值对应的60个距离值按照从小到大的顺序排列,获取前30个距离值及这30个距离值分别对应的运动状态。假设30个运动状态中,有25个运动状态为跑步状态,那么就将该跑步状态作为第j行特征值对应的运动状态,即第j个采集时间点对应的运动状态。

在一实施例中,在统计q个运动状态中每种运动状态出现的次数时,若至少两种运动状态出现的次数相同,或者出现次数最多的运动状态对应的出现次数小于预设阈值,那么判定该采集时间点为无效采集时间点,可以向用户发出提示信息,提示用户手动输入该采集时间点对应的运动状态,并将该采集时间点对应的运动数据存储起来,便于后续根据该运动数据更新运动特征数据库,使得运动特征数据库中的特征与每个用户的习惯相关,从而提高用户运动状态的识别准确率。

可以理解的是,在其他实施例中,预设分类算法也可以采用其他分类算法,在此不做具体限制。

本实施例提供的运动状态识别方法,具有算法简单、计算量低、对运动状态识别设备的占用率低等优点,而且该方法采用了多个时域特征值和频域特征值的组合,其中该频域特征值中采用积分、波峰数量等特征作为特征值,提高识别用户运动状态的准确率。

请参阅图12,图12为本发明实施例提供的运动状态识别方法的另一示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备中。该方法包括步骤s401至s407。

s401、获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据。

为了可以更准确地识别用户的运动状态,一般来说,可以通过加速度传感器、重力传感器、陀螺仪等多个传感器件来采集用户当前所处运动状态对应的运动数据集。

在本实施例中,每个传感器对应一个运动数据集,此时获取到的运动数据集的个数为多个。比如,当前监测用户运动状态的传感器分别为加速度传感器和重力传感器,那么将获得两个运动数据集,分别对应两种传感器。

当然,在其他实施例中,多个传感器也可以对应一个运动数据集,每个传感器对应的运动数据按照顺序排列在运动数据集中,在后续做数据处理操作时,可以依次对运动数据集中的每个传感器对应的数据进行处理,在此不做具体限制。

另外,在其他实施例中,也可以采用一种传感器来获取用户的运动数据,并以该传感器的运动数据为基础来识别用户的运动状态,在此不做具体限制。

在本实施例中,每个运动数据集都包括多个采集时间点和与每个采集时间点对应的运动数据。为了提高识别运动状态的准确率,设置不同传感器的采集总时长相同。

任意一个运动数据集可以表示为{ti,xi,yi,zi},其中,i=1,2,......n,n为运动数据集中采集时间点的总个数,ti为第i个采集时间点,xi,yi,zi为第i个采集时间点ti对应的运动数据,x,y,z分别表示各传感器的三个轴的数值,比如,x,y,z分别表示加速度传感器的三个轴的加速度值。

s402、按照预设采样频率对多个所述采集时间点进行采样以获得多个采样时间点。

在不同传感器的采集总时长相同的情况下,若各传感器的采样频率不同,会导致每种传感器的采集时间点的数量不同。为了防止采样不均匀引起的辨识误差,在本实施例中,按照预设采样频率对每个运动数据集中多个采集时间点进行采样,将采样后的时间点称为采样时间点。

一般来说,预设采样频率的取值范围可以设置为60至100赫兹。在本实施例中,预设采样频率具体取值为60赫兹。可以理解的是,预设采样频率的取值范围不局限于60至100赫兹,在此不做具体限制。

在本实施例中,在任意一个运动数据集中,以第一个采集时间点t1为起点,按照1/60的步长进行采样,直至采样到最后一个采集时间点tn为止,获得该运动数据集对应的m个采样时间点。其中,m取((tn-t1)×60+1)的整数。可以理解的是,该m个采样时间点至少包括第一个采集时间点t1。

s403、根据多个所述采样时间点对所述运动数据集进行插值处理以生成插值运动数据集,其中,所述插值运动数据集包括多个所述采样时间点和与每个所述采样时间点对应的插值运动数据。

具体地,譬如,以m个采样时间点中第j个采样时间点tj为例。在运动数据集和插值运动数据集中查找与该采样时间点tj最近的两个已知的运动数据或者插值运动数据,两个已知的数据分别表示为(ta,xa,ya,za)和(tb,xb,yb,zb),那么第j个采样时间点tj对应的插值运动数据(xj,yj,zj)可以用下式计算获得:

其中,1<j≤m,ta<tj<tb。根据插值运动数据的计算公式(6)就可以计算出每个采样时间点对应的插值运动数据,此时,原来的每个运动数据集{ti,xi,yi,zi}经过插值处理后生成对应的插值运动数据集{tv,xv,yv,zv},其中,v=1,2,......m,m为插值运动数据集中采样时间点的总个数,tv为第v个采样时间点,xv,yv,zv为第v个采样时间点tv对应的插值运动数据。

s404、基于所述插值运动数据集获取每个采样时间点对应的特征值。

若步骤s401获取到多个运动数据集,经过步骤s402和s403将会获得多个插值运动数据集。那么步骤s404将对每个插值运动数据集中的每个采样时间点进行特征值提取。

在本实施例中,每个采样时间点对应的特征值可以包括时域特征值和频域特征值。基于插值运动数据集获取每个采样时间点对应的特征值的具体过程类似于第三实施例中基于所述运动数据集获取每个采集时间点对应的特征值的具体过程。

本领域的技术人员在阅读完第三实施例的相关内容后,很容易类推出本实施例中每个采样时间点对应的特征值的获取过程。为了说明书的简洁性,在此不对基于所述插值运动数据集获取每个采样时间点对应的特征值的具体过程做详述。

在本实施例中,经过步骤s404的相关计算步骤,每个采样时间点对应的特征值将包括5个时域特征值和3个频域特征值,这8个特征值按照行方向排列。若插值运动数据集中m个采样时间点按照先后顺序在列方向上排列,那么每个插值运动数据集对应的特征值为m行8列的阵列。

当然,在其他实施例中,每个采样时间点对应的特征值也可以包括时域特征值或者频域特征值。另外,每个采样时间点所包括的特征值的种类及数量与本发明提供的运动特征数据库中每个训练采集时间点或每个训练采样时间点对应的特征值的种类及数量相同即可,在此不做具体限制。

在本实施例中,在获得每个插值运动数据集对应的特征值阵列之后,将多个插值运动数据集对应的特征值阵列按照本发明提供的运动特征数据库中多个特征值的排列顺序进行排列,从而形成插值运动数据集合,该插值运动数据集合为m行多列的阵列,且列数为8的整数倍。

可以理解的是,当只采用一种传感器获取用户的运动数据时,此时插值运动数据集合就是该传感器对应的插值运动数据集。

需要说明的是,用户当前运动状态下的插值运动数据集合中,每个采样时间点对应的特征值的总数要与运动特征数据库中每个训练采样时间点对应的特征值的总数相同。

s405、根据预设特征值对每个所述采样时间点对应的特征值进行数量级处理以生成处理后的特征值。

在本实施例中,预设特征值为本发明提供的运动特征数据库对应的预设特征值。具体地,预设特征值包括预设最小特征值minr和预设最大特征值maxr,其中,r表示运动特征数据库中特征值的列数。

根据预设特征值对每个所述采样时间点对应的特征值进行数量级处理以生成处理后的特征值,包括:根据运动特征数据库中每列预设最小特征值和预设最大特征值对插值运动数据集合中相应列的每个采样时间点对应的特征值进行归一化处理以生成处理后的特征值。

在本实施例中,归一化公式表达式可以为:其中,v表示插值运动数据集合中特征值的行数,也即插值运动数据集合中采样时间点的次序,v=1,2,......m,r表示插值运动数据集合中特征值的列数,r为正整数,dvr表示插值运动数据集合中第v行第r列的特征值,normdvr表示dvr经过第r列的预设最小特征值minr和预设最大特征值maxr归一化处理后生成的处理后的特征值。

根据上述归一化公式可以计算出每个采样时间点对应的处理后的特征值。可以理解的是,每个采样时间点对应的特征值为多个,因此对应的处理后的特征值的个数也为多个。

需要说明的是,在本实施例中,归一化处理是采用最大值和最小值进行归一化处理,在其他实施例中,还可以采用均值和方差等其他参数进行归一化处理,在此不做具体限制。另外,数量级处理的具体方式也不局限于归一化处理,还可以为其他方式,只要可以将特征数据库中的特征值的数量级统一即可。

s406、计算每个所述采样时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。

在运动特征数据库中,第w行第r列的特征值可以表示为normcwr。在本实施例中,可以采用欧式距离计算方法计算处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。具体计算距离计算公式如下:

在距离计算公式(8)中,假设运动特征数据库以及插值运动数据集合中每个时间点对应的特征值个数为16个。其中normdvr表示插值运动数据集合中第v行对应的多个处理后的特征值。根据距离计算公式(8)可以计算出第v行多个处理后的特征值与运动特征数据库中每行特征值之间的距离值。

譬如,v=1,w=1,2,...,60,那么根据欧式距离计算公式(8)可以计算出插值运动数据集合中第一行对应的处理后的特征值与运动特征数据库中每行特征值之间的距离值。由于运动特征数据库中共有60行特征值,那么与插值运动数据集合中第一行处理后的特征值对应的距离值的个数为60个。也就是说,插值运动数据集合中每行处理后的特征值都对应60个距离值。

同时,由于运动特征数据库中,每行特征值在列方向上是按照运动状态来划分的,因此每个距离值都会对应一个运动状态。也就是说,插值运动数据集合中每行处理后的特征值都会对应60个运动状态。

需要说明的是,计算距离值的具体计算方法不局限于上述的欧式距离计算方法,还可以为余弦距离计算方法等其他方法,在此不做具体限制。

s407、根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

在一实施例中,步骤s407具体包括以下步骤:

s4071、根据多个所述距离值按照预设分类算法识别所述采样时间点对应的运动状态。

在一实施例中,预设分类算法为k最近邻算法(k-nearestneighbor,简称knn)。具体地,将插值运动数据集合中每行处理后的特征值对应多个距离值按照从小到大的顺序排列,并获取前q个距离值及对应的q个运动状态,其中q为正整数。统计q个运动状态中每种运动状态出现的次数,并将出现次数最多的运动状态作为该采样时间点对应的运动状态。

可以理解的是,在其他实施例中,预设分类算法也可以采用其他分类算法,在此不做具体限制。

s4072、获取相邻两个所述采集时间点之间多个所述采样时间点对应的运动状态。

譬如,假设原运动数据集中,第j个采集时间点和第j+1个采集时间点之间[tj,tj+1],通过步骤s402和s403插值处理后,插入了a个采样时间点,获取这a个采样时间点对应的运动状态。

s4073、统计相邻两个所述采集时间点之间每种所述运动状态出现的次数,并将出现次数最多的运动状态作为相邻两个所述采集时间点中的一个采集时间点对应的运动状态。

譬如,统计这a个运动状态中每种运动状态出现的次数,将出现次数最多的运动状态作为第j个采集时间点或第j+1个采集时间点对应的运动状态。

本发明实施例提供的运动状态识别方法,具有算法简单、计算量低、占用运动状态识别设备的资源少等优点,而且该方法采用了多个时域特征值和频域特征值的组合,提高了识别用户运动状态的准确率。另外,本实施例中的识别方法采用插值算法对传感器获取的数据进行插值处理,消除各传感器采集数据的噪声,进一步提高该识别方法的识别准确率。

请参阅图13,图13为本实施例中一种终端的结构示意图。该终端100可以为智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备。

该终端100包括训练数据集获取单元110、第一特征值获取单元120、特征数据库生成单元130、预设特征值获取单元140、运动特征数据库生成单元150。

(一)训练数据集获取单元110;

训练数据集获取单元110,用于获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据。

一般来说,训练数据集获取单元110通过加速度传感器、重力传感器、陀螺仪等器件来采集用户在不同状态下的多个运动训练数据集。

在本实施例中,每种运动状态下每个传感器对应一个运动训练数据集。当然,在其他实施例中,每种运动状态下多个传感器也可以对应一个运动训练数据集,在此不做具体限制。

在本实施例中,每个运动训练数据集都包括多个训练采集时间点和与每个训练采集时间点对应的运动训练数据。为了提高使用该运动特征数据库识别用户运动状态的准确率,在此,在多种运动状态下,不同传感器的训练采集总时长相同,而且设置不同传感器的训练采集频率相同,即在相同训练采集总时长下,不同传感器的训练采集时间点的数量相同。

(二)第一特征值获取单元120;

第一特征值获取单元120,用于基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值。

在本实施例中,第一特征值获取单元120对每种运动状态下多个传感器对应的多个运动训练数据集进行特征值提取。具体地,第一特征值获取单元120基于每个运动训练数据集获取每个训练采集时间点对应的特征值。

在一实施例中,每个训练采集时间点对应的特征值可以包括时域特征值。第一特征值获取单元120具体用于:基于所述运动训练数据集,获取每个所述训练采集时间点对应的时间窗口内的多个所述运动训练数据;计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值。

具体地,第一特征值获取单元120在计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值时,具体用于获取每个所述时间窗口内每个所述运动训练数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前n个所述长度值的和以获得总长度值,其中n为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述训练采集时间点对应的时域特征值。

在一实施例中,每个训练采集时间点对应的特征值还可以包括频域特征值。第一特征值获取单元120在基于所述运动训练数据集,获取每个所述训练采集时间点对应的时间窗口内的多个所述运动训练数据之后,还用于:对每个所述时间窗口内多个所述运动训练数据进行离散傅里叶变换得到频域运动训练数据;将每个所述时间窗口内多个所述频域运动训练数据中频率处于第一预设频率范围内的所述频域运动训练数据乘以预设系数以获得新频域运动训练数据;根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值。

具体地,第一特征值获取单元120在根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值时,具体用于:获取每个所述时间窗口内多个所述新频域运动训练数据中最大值对应的频率、第二预设频率范围内的新频域运动训练数据的波峰数量以及第三预设频率范围内的新频域运动训练数据的积分值作为每个所述训练采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在本实施例中,第一特征值获取单元120获取每个训练采集时间点对应的时域特征值和频域特征值时具体所采用的算法及步骤可以参阅前面实施例一所示方法的相关步骤,为了说明书的简洁性,在此不再赘述。

(三)特征数据库生成单元130;

特征数据库生成单元130,用于将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库。

具体地,特征数据库生成单元130将同种运动状态下不同运动训练数据集对应的多个特征值在行方向上按照第一预设顺序排列,将不同运动状态下不同运动训练数据集对应的多个特征值在列方向上按照第二预设顺序排列以形成所述特征数据库。

譬如,行方向上第一预设顺序排列可以为先是加速度传感器对应的多个特征值,然后是重力传感器对应的多个特征值。列方向上第二预设顺序可以为:先是跑步运动状态下不同运动训练数据集对应的多个特征值,然后是走路运动状态下不同运动训练数据集对应的多个特征值。

(四)预设特征值获取单元140;

预设特征值获取单元140,用于获取所述特征数据库中满足预设获取规则的特征值为预设特征值。

在本实施例中,预设特征值包括预设最小特征值和预设最大特征值。具体地,预设特征值获取单元140在所述特征数据库中,获取每列特征值中最小的特征值作为每列的所述预设最小特征值,以及获取每列特征值中最大的特征值作为每列的所述预设最大特征值。

可以理解的是,特征数据库中有多少列特征值就对应有多少个预设最小特征值和预设最大特征值。

(五)运动特征数据库生成单元150;

运动特征数据库生成单元150,用于根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库。

在本实施例中,运动特征数据库生成单元150具体用于:根据每列的所述预设最大特征值和预设最小特征值对所述特征数据库中相应列的特征值进行归一化处理以形成所述运动特征数据库。

需要说明的是,本实施例中的终端100中各个单元用于执行上述第一实施例中相关步骤,由于上述第一实施例中已经对相关计算步骤做了详细地说明,为了说明书的简洁性,在此不再对每个功能单元具体计算过程做详细说明。

本实施例提供的终端100,其在生成运动特征数据库过程中,计算量小,计算方法简单,节约资源。同时,该终端生成的运动特征数据库具有较高的特征辨识度。

请参阅图14,图14为本实施例中一种终端的结构示意图。该终端200可以为智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备。

该终端200包括训练数据集获取单元210、训练采样单元220、训练插值单元230、第一特征值获取单元240、特征数据库生成单元250、预设特征值获取单元260和运动特征数据库生成单元270。

(一)训练数据集获取单元210;

训练数据集获取单元210,用于获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据。

一般来说,训练数据集获取单元210通过加速度传感器、重力传感器、陀螺仪等器件来采集用户在不同状态下的多个运动训练数据集。

在本实施例中,每种运动状态下每个传感器对应一个运动训练数据集。当然,在其他实施例中,每种运动状态下多个传感器也可以对应一个运动训练数据集,在此不做具体限制。

在本实施例中,每个运动训练数据集都包括多个训练采集时间点和与每个训练采集时间点对应的运动训练数据。为了提高使用该运动特征数据库识别用户运动状态的准确率,在此,在多种运动状态下,不同传感器的训练采集总时长相同。

在本实施例中,在任意一个运动训练数据集中,运动训练数据集的表达式为{ti,xi,yi,zi},其中,i=1,2,......n,n为运动训练数据集中训练采集时间点的总个数,ti为第i个训练采集时间点,xi,yi,zi为第i个训练采集时间点ti对应的运动训练数据,x,y,z分别表示各传感器的三个轴的数值,譬如,x,y,z可以分别表示加速度传感器的三个轴的加速度值。

(二)训练采样单元220;

训练采样单元220,用于按照预设训练采样频率对每个所述运动训练数据集中的多个所述训练采集时间点进行采样,以获得每个所述运动训练数据集对应的多个训练采样时间点。

在不同传感器的训练采集总时长相同的情况下,若各传感器的采样频率不同,会导致每种传感器的训练采集时间点的数量不同。为了防止采样不均匀引起的辨识误差,在本实施例中,训练采样单元220按照预设训练采样频率对每个运动训练数据集中多个训练采集时间点进行采样,将采样后的时间点称为训练采样时间点。

一般来说,预设训练采样频率的取值范围可以设置为60至100赫兹。在本实施例中,预设训练采样频率具体取值为60赫兹。可以理解的是,预设训练采样频率的取值范围不局限于60至100赫兹,在此不做具体限制。

在本实施例中,在任意一个运动训练数据集中,以第一个训练采集时间点t1为起点,按照1/60的步长进行采样,直至采样到最后一个训练采集时间点tn为止,获得该运动训练数据集对应的m个训练采样时间点。其中,m取((tn-t1)×60+1)的整数。可以理解的是,该m个训练采样时间点至少包括第一个训练采集时间点t1。

(三)训练插值单元230;

训练插值单元230,用于根据多个所述训练采样时间点对相应的所述运动训练数据集进行插值处理以生成插值运动训练数据集,其中,所述插值运动训练数据集包括多个所述训练采样时间点和与每个所述训练采样时间点对应的插值运动训练数据。

具体地,譬如,以m个训练采样时间点中第j个训练采样时间点tj为例。训练插值单元230在运动训练数据集和插值运动训练数据集中查找与该训练采样时间点tj最近的两个已知的运动训练数据或者插值运动训练数据,两个已知的数据分别表示为(ta,xa,ya,za)和(tb,xb,yb,zb),那么第j个训练采样时间点tj对应的插值运动训练数据(xj,yj,zj)可以用下式计算获得:

其中,1<j≤m,ta<tj<tb。训练插值单元230根据插值运动训练数据的计算公式(9)就可以计算出每个训练采样时间点对应的插值运动训练数据,此时,原来的每个运动训练数据集{ti,xi,yi,zi}经过插值处理后生成对应的插值运动训练数据集{tv,xv,yv,zv},其中,v=1,2,......m,m为插值运动训练数据集中训练采样时间点的总个数,tv为第v个训练采样时间点,xv,yv,zv为第v个训练采样时间点tv对应的插值运动训练数据。

(四)第一特征值获取单元240;

第一特征值获取单元240,用于基于所述插值运动训练数据集获取每个所述训练采样时间点对应的特征值。

在本实施例中,第一特征值获取单元240对每种运动状态下多个传感器对应的多个插值运动训练数据集进行特征值提取。具体地,第一特征值获取单元240基于每个插值运动训练数据集获取每个训练采样时间点对应的特征值。

在一实施例中,每个训练采样时间点对应的特征值可以包括时域特征值。第一特征值获取单元240具体用于:基于所述插值运动训练数据集,获取每个所述训练采样时间点对应的时间窗口内的多个所述插值运动训练数据;计算每个所述时间窗口内多个所述插值运动训练数据的时域特征值作为每个所述训练采样时间点对应的时域特征值。

具体地,第一特征值获取单元240在计算每个所述时间窗口内多个所述插值运动训练数据的时域特征值作为每个所述训练采样时间点对应的时域特征值时,具体用于获取每个所述时间窗口内每个所述插值运动训练数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前n个所述长度值的和以获得总长度值,其中n为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述训练采样时间点对应的时域特征值。

在一实施例中,每个训练采样时间点对应的特征值还可以包括频域特征值。第一特征值获取单元240在基于所述插值运动训练数据集,获取每个所述训练采样时间点对应的时间窗口内的多个所述插值运动训练数据之后,还用于:对每个所述时间窗口内多个所述插值运动训练数据进行离散傅里叶变换得到频域插值运动训练数据;将每个所述时间窗口内多个所述频域插值运动训练数据中频率处于第一预设频率范围内的所述频域插值运动训练数据乘以预设系数以获得新频域插值运动训练数据;根据每个所述时间窗口内多个所述新频域插值运动训练数据获取每个所述训练采样时间点对应的频域特征值。

具体地,第一特征值获取单元240在根据每个所述时间窗口内多个所述新频域插值运动训练数据获取每个所述训练采样时间点对应的频域特征值时,具体用于:获取每个所述时间窗口内多个所述新频域插值运动训练数据中最大值对应的频率、第二预设频率范围内的新频域插值运动训练数据的波峰数量以及第三预设频率范围内的新频域插值运动训练数据的积分值作为每个所述训练采样时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在本实施例中,第一特征值获取单元240获取每个训练采样时间点对应的时域特征值和频域特征值时具体所采用的算法及步骤可以参阅前面实施例二所示方法的相关步骤,为了说明书的简洁性,在此不再赘述。

(五)特征数据库生成单元250;

特征数据库生成单元250,用于将多个所述插值运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库。

具体地,特征数据库生成单元250将同种运动状态下不同插值运动训练数据集对应的多个特征值在行方向上按照第一预设顺序排列,将不同运动状态下不同插值运动训练数据集对应的多个特征值在列方向上按照第二预设顺序排列以形成所述特征数据库。

在此,行方向上第一预设顺序为同一种运动状态下,不同插值运动训练数据集的先后顺序;列方向上第二预设顺序为插值运动训练数据集对应的不同运动状态的先后顺序。

(六)预设特征值获取单元260;

预设特征值获取单元260,用于获取所述特征数据库中满足预设获取规则的特征值为预设特征值。

在本实施例中,预设特征值包括预设最小特征值和预设最大特征值。具体地,预设特征值获取单元260用于:在所述特征数据库,获取每列特征值中最小的特征值作为每列的所述预设最小特征值,以及获取每列特征值中最大的特征值作为每列的所述预设最大特征值。

可以理解的是,特征数据库中有多少列特征值就对应有多少个预设最小特征值和预设最大特征值。

(七)运动特征数据库生成单元270。

运动特征数据库生成单元270,用于根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库

具体地,在本实施例中,运动特征数据库生成单元270用于:根据每列的所述预设最大特征值和预设最小特征值对所述特征数据库中相应列的特征值进行归一化处理以形成所述运动特征数据库。

需要说明的是,本实施例中的终端200中各个单元用于执行上述第二实施例中相关步骤,由于上述第二实施例中已经对相关计算步骤做了详细地说明,为了说明书的简洁性,在此不再对每个功能单元具体计算过程做详细说明。

本实施例提供的终端200,其在生成运动特征数据库过程中,计算量小,计算方法简单,节约资源。同时,该终端生成的运动特征数据库具有较高的特征辨识度。

请参阅图15,图15为本实施例中一种终端的结构示意图。该终端300可以为智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备。

该终端300包括数据集获取单元310、第二特征值获取单元320、数量级处理单元330、距离计算单元340和识别单元350。

(一)数据集获取单元310;

数据集获取单元310,用于获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据。

为了可以更准确地识别用户的运动状态,一般来说,数据集获取单元310可以通过加速度传感器、重力传感器、陀螺仪等多个传感器件来采集用户当前所处运动状态对应的运动数据集。

在本实施例中,每个传感器对应一个运动数据集,此时数据集获取单元310获取到的运动数据集的个数为多个。

当然,在其他实施例中,多个传感器也可以对应一个运动数据集,在此不做具体限制。另外,在其他实施例中,数据集获取单元310也可以采用一种传感器来获取用户的运动数据,在此不做具体限制。

在本实施例中,每个运动数据集都包括多个采集时间点和与每个采集时间点对应的运动数据。为了提高识别运动状态的准确率,设置不同传感器的采集总时长相同,而且不同传感器的采集频率也相同,即在相同采集总时长下,不同传感器的采集时间点的数量相同。

(二)第二特征值获取单元320;

第二特征值获取单元320,用于基于所述运动数据集获取每个所述采集时间点对应的特征值。

当数据集获取单元310获取到多个运动数据集时,第二特征值获取单元320将对每个运动数据集中的每个采集时间点进行特征值提取。

在一实施例中,每个采集时间点对应的特征值可以包括时域特征值。第二特征值获取单元320基于运动数据集获取每个采集时间点对应的特征值时,具体用于:基于所述运动数据集获取每个所述采集时间点对应的时间窗口内的多个所述运动数据;计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值。

具体地,第二特征值获取单元320在计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值时,具体用于:获取每个所述时间窗口内每个所述运动数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前m个所述长度值的和以获得总长度值,其中m为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述采集时间点对应的时域特征值。

在一实施例中,每个采集时间点对应的特征值可以包括频域特征值。第二特征值获取单元320在基于所述运动数据集获取每个所述采集时间点对应的时间窗口内的多个所述运动数据之后,还具体用于:对每个所述时间窗口内的多个所述运动数据进行离散傅里叶变换得到频域运动数据;将每个所述时间窗口内的多个频域运动数据中频率处于第一预设频率范围内的所述频域运动数据乘以预设系数以获得新频域运动数据;根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值。

具体地,第二特征值获取单元320在根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值时,具体用于:获取每个所述时间窗口内多个所述新频域运动数据中最大值对应的频率、第二预设频率范围内的新频域运动数据的波峰数量以及第三预设频率范围内的新频域运动数据的积分值作为每个所述采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在第二特征值获取单元320获得每个运动数据集对应的特征值之后,将多个运动数据集对应的多个特征值按照本发明提供的运动特征数据库中多个特征值的排列顺序进行排列,从而形成运动数据集合。可以理解的是,当只采用一种传感器获取用户的运动数据时,此时运动数据集合就是该传感器对应的运动数据集。

运动数据集合为一个多行多列的矩阵,在行方向上为每个采集时间点对应的多个归一化特征值;在列方向上为不同采集时间点对应的归一化特征值。

(三)数量级处理单元330;

数量级处理单元330,用于根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值。

在本实施例中,预设特征值为本发明提供的运动特征数据库对应的预设特征值。具体地,预设特征值包括预设最小特征值minr和预设最大特征值maxr,其中,r表示运动特征数据库中特征值的列数。

具体地,数量级处理单元330根据运动特征数据库中每列预设最小特征值和预设最大特征值对运动数据集合中相应列的每个采集时间点对应的特征值进行归一化处理以生成处理后的特征值。

在本实施例中,数量级处理单元330根据归一化公式进行归一化处理,其中,i表示运动数据集合中特征值的行数,也即运动数据集合中采集时间点的次序,i=1,2,......n,r表示运动数据集合中特征值的列数,r为正整数,dir表示运动数据集合中第i行第r列的特征值,normdir表示dir经过第r列的预设最小特征值minr和预设最大特征值maxr归一化处理后生成的处理后的特征值。

(四)距离计算单元340;

距离计算单元340,用于计算每个所述采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。

在运动特征数据库中,第w行第r列的特征值可以表示为normcwr。在本实施例中,距离计算单元340可以采用欧式距离计算方法计算处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。具体计算距离计算公式为:

在距离计算公式(10)中,假设运动特征数据库以及运动数据集合中每个时间点对应的特征值个数为16个。其中normdir表示运动数据集合中第i行对应的多个处理后的特征值。距离计算单元340根据距离计算公式(10)可以计算出第i行多个处理后的特征值与运动特征数据库中每行特征值之间的距离值。

由于运动特征数据库中,每行特征值在列方向上是按照运动状态来划分的,因此每个距离值都会对应一个运动状态。也就是说,运动数据集合中每行处理后的特征值都会对应多个运动状态。

(五)识别单元350。

识别单元350,用于根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

在本实施例中,预设分类算法为k最近邻算法(k-nearestneighbor,简称knn)。具体地,识别单元350将运动数据集合中每行处理后的特征值对应多个距离值按照从小到大的顺序排列,并获取前q个距离值及对应的q个运动状态,其中q为正整数。统计q个运动状态中每种运动状态出现的次数,并将出现次数最多的运动状态作为该采集时间点对应的运动状态。

需要说明的是,本实施例中的终端300中各个单元用于执行上述第三实施例中相关步骤,由于上述第三实施例中已经对相关计算步骤做了详细地说明,为了说明书的简洁性,在此不再对每个功能单元具体计算过程做详细说明。

本实施例提供的终端300,其在识别用户运动状态过程中所涉及的计算量小、计算方法简单、占用终端资源少,同时,该终端300采用了多个时域特征值和频域特征值的组合,提高识别用户运动状态的准确率。

请参阅图16,图16为本实施例中一种终端的结构示意图。该终端400可以为智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备。

该终端400包括数据集获取单元410、采样单元420、插值单元430、第二特征值获取单元440、数量级处理单元450、距离计算单元460和识别单元470。

(一)数据集获取单元410;

数据集获取单元410,用于获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据。

为了可以更准确地识别用户的运动状态,一般来说,数据集获取单元410可以通过加速度传感器、重力传感器、陀螺仪等多个传感器件来采集用户当前所处运动状态对应的运动数据集。

在本实施例中,每个传感器对应一个运动数据集,此时数据集获取单元310获取到的运动数据集的个数为多个。

当然,在其他实施例中,多个传感器也可以对应一个运动数据集,在此不做具体限制。另外,在其他实施例中,数据集获取单元410也可以采用一种传感器来获取用户的运动数据,在此不做具体限制。

在本实施例中,每个运动数据集都包括多个采集时间点和与每个采集时间点对应的运动数据。为了提高识别运动状态的准确率,设置不同传感器的采集总时长相同。

任意一个运动数据集可以表示为{ti,xi,yi,zi},其中,i=1,2,......n,n为运动数据集中采集时间点的总个数,ti为第i个采集时间点,xi,yi,zi为第i个采集时间点ti对应的运动数据,x,y,z分别表示各传感器的三个轴的数值。

(二)采样单元420;

采样单元420,用于按照预设采样频率对多个所述采集时间点进行采样以获得多个采样时间点。

在不同传感器的采集总时长相同的情况下,若各传感器的采样频率不同,会导致每种传感器的采集时间点的数量不同。为了防止采样不均匀引起的辨识误差,在本实施例中,采样单元420按照预设采样频率对每个运动数据集中多个采集时间点进行采样,将采样后的时间点称为采样时间点。

一般来说,预设采样频率的取值范围可以设置为60至100赫兹。在本实施例中,预设采样频率具体取值为60赫兹。可以理解的是,预设采样频率的取值范围不局限于60至100赫兹,在此不做具体限制。

在本实施例中,在任意一个运动数据集中,以第一个采集时间点t1为起点,按照1/60的步长进行采样,直至采样到最后一个采集时间点tn为止,获得该运动数据集对应的m个采样时间点。其中,m取((tn-t1)×60+1)的整数。可以理解的是,该m个采样时间点至少包括第一个采集时间点t1。

(三)插值单元430;

插值单元430,用于根据多个所述采样时间点对所述运动数据集进行插值处理以生成插值运动数据集,其中,所述插值运动数据集包括多个所述采样时间点和与每个所述采样时间点对应的插值运动数据。

具体地,譬如,以m个采样时间点中第j个采样时间点tj为例。插值单元430在运动数据集和插值运动数据集中查找与该采样时间点tj最近的两个已知的运动数据或者插值运动数据,两个已知的数据分别表示为(ta,xa,ya,za)和(tb,xb,yb,zb),那么第j个采样时间点tj对应的插值运动数据(xj,yj,zj)可以用下式计算获得:

其中,1<j≤m,ta<tj<tb。插值单元430根据插值运动数据的计算公式(11)就可以计算出每个采样时间点对应的插值运动数据,此时,原来的每个运动数据集{ti,xi,yi,zi}经过插值处理后生成对应的插值运动数据集{tv,xv,yv,zv},其中,v=1,2,......m,m为插值运动数据集中采样时间点的总个数,tv为第v个采样时间点,xv,yv,zv为第v个采样时间点tv对应的插值运动数据。

(四)第二特征值获取单元440;

第二特征值获取单元440,用于基于所述插值运动数据集获取每个采样时间点对应的特征值。

当数据集获取单元410获取到多个运动数据集时,第二特征值获取单元440将对每个插值运动数据集中的每个采样时间点进行特征值提取。

在一实施例中,每个采样时间点对应的特征值可以包括时域特征值。第二特征值获取单元440基于插值运动数据集获取每个采样时间点对应的特征值时,具体用于:基于所述插值运动数据集获取每个所述采样时间点对应的时间窗口内的多个所述插值运动数据;计算每个所述时间窗口内多个所述插值运动数据的时域特征值作为每个所述采样时间点对应的时域特征值。

具体地,第二特征值获取单元440在计算每个所述时间窗口内多个所述插值运动数据的时域特征值作为每个所述采样时间点对应的时域特征值时,具体用于:获取每个所述时间窗口内每个所述插值运动数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前m个所述长度值的和以获得总长度值,其中m为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述采样时间点对应的时域特征值。

在一实施例中,每个采样时间点对应的特征值可以包括频域特征值。第二特征值获取单元440在基于所述插值运动数据集获取每个所述采样时间点对应的时间窗口内的多个所述插值运动数据之后,还具体用于:对每个所述时间窗口内的多个所述插值运动数据进行离散傅里叶变换得到频域插值运动数据;将每个所述时间窗口内的多个频域插值运动数据中频率处于第一预设频率范围内的所述频域插值运动数据乘以预设系数以获得新频域插值运动数据;根据每个所述时间窗口内多个所述新频域插值运动数据获取每个所述采样时间点对应的频域特征值。

具体地,第二特征值获取单元440在根据每个所述时间窗口内多个所述新频域插值运动数据获取每个所述采样时间点对应的频域特征值时,具体用于:获取每个所述时间窗口内多个所述新频域插值运动数据中最大值对应的频率、第二预设频率范围内的新频域插值运动数据的波峰数量以及第三预设频率范围内的新频域插值运动数据的积分值作为每个所述采样时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在第二特征值获取单元440获得每个插值运动数据集对应的特征值之后,将多个插值运动数据集对应的多个特征值按照本发明提供的运动特征数据库中多个特征值的排列顺序进行排列,从而形成插值运动数据集合。可以理解的是,当只采用一种传感器获取用户的运动数据时,此时插值运动数据集合就是该传感器对应的插值运动数据集。

插值运动数据集合为一个多行多列的矩阵,在行方向上为每个采样时间点对应的多个归一化特征值;在列方向上为不同采样时间点对应的归一化特征值。

(五)数量级处理单元450;

数量级处理单元450,用于根据预设特征值对每个所述采样时间点对应的特征值进行数量级处理以生成处理后的特征值。

在本实施例中,预设特征值为本发明提供的运动特征数据库对应的预设特征值。具体地,预设特征值包括预设最小特征值minr和预设最大特征值maxr,其中,r表示运动特征数据库中特征值的列数。

具体地,数量级处理单元450用于根据运动特征数据库中每列预设最小特征值和预设最大特征值对插值运动数据集合中相应列的每个采样时间点对应的特征值进行归一化处理以生成处理后的特征值。

在本实施例中,归一化公式表达式可以为:其中,v表示插值运动数据集合中特征值的行数,也即插值运动数据集合中采样时间点的次序,v=1,2,......m,r表示插值运动数据集合中特征值的列数,r为正整数,dvr表示插值运动数据集合中第v行第r列的特征值,normdvr表示dvr经过第r列的预设最小特征值minr和预设最大特征值maxr归一化处理后生成的处理后的特征值。

(六)距离计算单元460;

距离计算单元460,用于计算每个所述采样时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。

在运动特征数据库中,第w行第r列的特征值可以表示为normcwr。在本实施例中,距离计算单元460可以采用欧式距离计算方法计算处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。具体计算距离计算公式如下:

在距离计算公式(12)中,假设运动特征数据库以及插值运动数据集合中每个时间点对应的特征值个数为16个。其中normdvr表示插值运动数据集合中第v行对应的多个处理后的特征值。距离计算单元460根据距离计算公式(12)可以计算出第v行多个处理后的特征值与运动特征数据库中每行特征值之间的距离值。

(七)识别单元470。

识别单元470,用于根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

具体地,识别单元470用于根据多个所述距离值按照预设分类算法识别所述采样时间点对应的运动状态;获取相邻两个所述采集时间点之间多个所述采样时间点对应的运动状态;统计相邻两个所述采集时间点之间每种所述运动状态出现的次数;将出现次数最多的运动状态作为相邻两个所述采集时间点中的一个采集时间点对应的运动状态。

需要说明的是,预设分类算法为k最近邻算法(k-nearestneighbor,简称knn)。当然,在其他实施例中,预设分类算法也可以为其他分类算法,在此不做具体限制。

需要说明的是,本实施例中的终端400中各个单元用于执行上述第四实施例中相关步骤,由于上述第四实施例中已经对相关计算步骤做了详细地说明,为了说明书的简洁性,在此不再对每个功能单元具体计算过程做详细说明。

本实施例提供的终端400,其在识别用户运动状态过程中所涉及的计算量小、计算方法简单、占用终端资源少,同时,该终端400采用了多个时域特征值和频域特征值的组合,提高识别用户运动状态的准确率。另外,该终端400采用插值算法对传感器获取的数据进行插值处理,消除各传感器采集数据的噪声,进一步提高该识别方法的识别准确率。

请参阅图17,图17是本发明实施例提供的一种终端的示意性框图。该终端500可以为智能手机(如android手机、ios手机等)、平板电脑、个人数字助理(pda)、智能穿戴设备等具有识别运动状态功能的设备。

该终端500可以包括一个或者一个以上处理核心的处理器510、一个或一个以上计算机可读存储介质的存储器520、通信单元530、传感器540、输入设备550、以及输出设备560等部件,其中,处理器510、存储器520、通信单元530、传感器540、输入设备550和输出设备560通过总线570相互连接。

其中,所述处理器510用于运行存储在存储器520中的程序代码,以实现如下功能:获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据;基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值;将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库;获取所述特征数据库中满足预设获取规则的特征值为预设特征值;根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库。

在一实施例中,处理器510在执行基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值之前,还执行如下程序:按照预设训练采样频率对每个所述运动训练数据集中的多个所述训练采集时间点进行采样,以获得每个所述运动训练数据集对应的多个训练采样时间点;根据多个所述训练采样时间点对相应的所述运动训练数据集进行插值处理以生成插值运动训练数据集,其中,所述插值运动训练数据集包括多个所述训练采样时间点和与每个所述训练采样时间点对应的插值运动训练数据;

相应地,处理器510在执行基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值时,具体执行:基于所述插值运动训练数据集获取每个所述训练采样时间点对应的特征值;处理器510在执行将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库时,具体执行:将多个所述插值运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库。

在一实施例中,所述特征值包括时域特征值,处理器510在执行基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值时,具体执行如下程序:基于所述运动训练数据集,获取每个所述训练采集时间点对应的时间窗口内的多个所述运动训练数据;计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值。

在一实施例中,处理器510在执行计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值时,具体执行如下程序:获取每个所述时间窗口内每个所述运动训练数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前n个所述长度值的和以获得总长度值,其中n为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述训练采集时间点对应的时域特征值。

在一实施例中,所述特征值还包括频域特征值;处理器510在执行基于所述运动训练数据集,获取每个所述训练采集时间点对应的时间窗口内的多个所述运动训练数据之后,还执行如下程序:对每个所述时间窗口内多个所述运动训练数据进行离散傅里叶变换得到频域运动训练数据;将每个所述时间窗口内多个所述频域运动训练数据中频率处于第一预设频率范围内的所述频域运动训练数据乘以预设系数以获得新频域运动训练数据;根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值。

在一实施例中,处理器510在执行根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值时,具体执行:获取每个所述时间窗口内多个所述新频域运动训练数据中最大值对应的频率、第二预设频率范围内的新频域运动训练数据的波峰数量以及第三预设频率范围内的新频域运动训练数据的积分值作为每个所述训练采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在一实施例中,所述预设特征值包括预设最小特征值和预设最大特征值;处理器510在执行获取所述特征数据库中满足预设获取规则的特征值为预设特征值时,具体执行:在所述特征数据库中,获取每列特征值中最小的特征值作为每列的所述预设最小特征值,以及获取每列特征值中最大的特征值作为每列的所述预设最大特征值;处理器510在执行根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库时,具体执行:根据每列的所述预设最大特征值和预设最小特征值对所述特征数据库中相应列的特征值进行归一化处理以形成所述运动特征数据库。

在本发明提供的终端中,该处理器510还用于运行存储在存储器520中的程序代码,以实现如下功能:获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据;基于所述运动数据集获取每个所述采集时间点对应的特征值;根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值;计算每个所述采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值;根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

在一实施例中,处理器510在执行基于所述运动数据集获取每个所述采集时间点对应的特征值之前,还用于执行:按照预设采样频率对多个所述采集时间点进行采样以获得多个采样时间点;根据多个所述采样时间点对所述运动数据集进行插值处理以生成插值运动数据集,其中,所述插值运动数据集包括多个所述采样时间点和与每个所述采样时间点对应的插值运动数据。

相应地,处理器510在执行基于所述运动数据集获取每个所述采集时间点对应的特征值时,具体执行:基于所述插值运动数据集获取每个采样时间点对应的特征值;处理器510在执行根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值时,具体执行:根据预设特征值对每个所述采样时间点对应的特征值进行数量级处理以生成处理后的特征值;计算每个所述采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值,包括:计算每个所述采样时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。

在一实施例中,处理器510在执行根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态时,具体执行:根据多个所述距离值按照预设分类算法识别所述采样时间点对应的运动状态;获取相邻两个所述采集时间点之间多个所述采样时间点对应的运动状态;统计相邻两个所述采集时间点之间每种所述运动状态出现的次数;将出现次数最多的运动状态作为相邻两个所述采集时间点中的一个采集时间点对应的运动状态。

在一实施例中,所述特征值包括时域特征值;处理器510在执行基于所述运动数据集获取每个所述采集时间点对应的特征值时,具体执行:基于所述运动数据集获取每个所述采集时间点对应的时间窗口内的多个所述运动数据;计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值。

在一实施例中,处理器510在执行计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值时,具体执行:获取每个所述时间窗口内每个所述运动数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前m个所述长度值的和以获得总长度值,其中m为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述采集时间点对应的时域特征值。

在一实施例中,所述特征值还包括频域特征值;处理器510在执行基于所述运动数据集获取每个所述采集时间点对应的时间窗口内的多个所述运动数据之后,还具体执行:对每个所述时间窗口内的多个所述运动数据进行离散傅里叶变换得到频域运动数据;将每个所述时间窗口内的多个频域运动数据中频率处于第一预设频率范围内的所述频域运动数据乘以预设系数以获得新频域运动数据;根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值。

在一实施例中,处理器510在执行根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值,具体执行:获取每个所述时间窗口内多个所述新频域运动数据中最大值对应的频率、第二预设频率范围内的新频域运动数据的波峰数量以及第三预设频率范围内的新频域运动数据的积分值作为每个所述采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

应当理解,在本发明实施例中,处理器510可以是中央处理单元(centralprocessingunit,cpu),该处理器510还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器520可以包括只读存储器和随机存取存储器,并向处理器510提供程序代码和数据。存储器520的一部分还可以包括非易失性随机存取存储器。例如,存储器520还可以存储设备类型的信息。

通信单元530可用于收发信息过程中,信号的接收和发送,特别地,通讯单元530接收客户端发送的信号,并将信号交由一个或者一个以上处理器510处理。同时,通讯单元530将处理器510发出的反馈信号发送给客户端。

传感器540可以为加速度传感器、重力传感器、陀螺仪等可以检测用户运动数据的传感器。该传感器540将获取的用户的运动数据传递至处理器510,由处理器510做相应的处理。

输入设备550可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等。

输出设备560可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。

具体实现中,本发明实施例中所描述的处理器510、输入设备550、输出设备560可执行上述运动特征数据库的生成方法或运动状态识别方法的任意一个实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。

本领域技术人员可以理解,图17中示出的终端500结构并不构成对终端500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

在本发明的另一实施例中提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取用户在不同运动状态下的多个运动训练数据集,其中,每个所述运动训练数据集包括多个训练采集时间点和与每个所述训练采集时间点对应的运动训练数据;基于所述运动训练数据集获取每个所述训练采集时间点对应的特征值;将多个所述运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库;获取所述特征数据库中满足预设获取规则的特征值为预设特征值;根据所述预设特征值对所述特征数据库中的特征值进行数量级处理以形成运动特征数据库。

在一实施例中,该程序指令被处理器执时具体实现:按照预设训练采样频率对每个所述运动训练数据集中的多个所述训练采集时间点进行采样,以获得每个所述运动训练数据集对应的多个训练采样时间点;根据多个所述训练采样时间点对相应的所述运动训练数据集进行插值处理以生成插值运动训练数据集,其中,所述插值运动训练数据集包括多个所述训练采样时间点和与每个所述训练采样时间点对应的插值运动训练数据;

相应地,该程序指令被处理器执行时具体实现:基于所述插值运动训练数据集获取每个所述训练采样时间点对应的特征值;该程序指令被处理器执行时还具体实现:将多个所述插值运动训练数据集对应的多个特征值按照预设排列顺序排列形成特征数据库。

在一实施例中,所述特征值包括时域特征值,该程序指令被处理器执行时具体实现:基于所述运动训练数据集,获取每个所述训练采集时间点对应的时间窗口内的多个所述运动训练数据;计算每个所述时间窗口内多个所述运动训练数据的时域特征值作为每个所述训练采集时间点对应的时域特征值。

在一实施例中,该程序指令被处理器执行时具体实现:获取每个所述时间窗口内每个所述运动训练数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前n个所述长度值的和以获得总长度值,其中n为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述训练采集时间点对应的时域特征值。

在一实施例中,所述特征值还包括频域特征值;该程序指令被处理器执行时具体实现:对每个所述时间窗口内多个所述运动训练数据进行离散傅里叶变换得到频域运动训练数据;将每个所述时间窗口内多个所述频域运动训练数据中频率处于第一预设频率范围内的所述频域运动训练数据乘以预设系数以获得新频域运动训练数据;根据每个所述时间窗口内多个所述新频域运动训练数据获取每个所述训练采集时间点对应的频域特征值。

在一实施例中,该程序指令被处理器执行时具体实现:获取每个所述时间窗口内多个所述新频域运动训练数据中最大值对应的频率、第二预设频率范围内的新频域运动训练数据的波峰数量以及第三预设频率范围内的新频域运动训练数据的积分值作为每个所述训练采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

在一实施例中,所述预设特征值包括预设最小特征值和预设最大特征值;该程序指令被处理器执行时具体实现:在所述特征数据库中,获取每列特征值中最小的特征值作为每列的所述预设最小特征值,以及获取每列特征值中最大的特征值作为每列的所述预设最大特征值;该程序指令被处理器执行时还具体实现:根据每列的所述预设最大特征值和预设最小特征值对所述特征数据库中相应列的特征值进行归一化处理以形成所述运动特征数据库。

在本发明提供的另一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取用户的运动数据集,其中,所述运动数据集包括多个采集时间点及每个所述采集时间点对应的运动数据;基于所述运动数据集获取每个所述采集时间点对应的特征值;根据预设特征值对每个所述采集时间点对应的特征值进行数量级处理以生成处理后的特征值;计算每个所述采集时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值;根据多个所述距离值按照预设分类算法识别每个所述采集时间点对应的运动状态。

在一实施例中,该程序指令被处理器执行时具体实现:按照预设采样频率对多个所述采集时间点进行采样以获得多个采样时间点;根据多个所述采样时间点对所述运动数据集进行插值处理以生成插值运动数据集,其中,所述插值运动数据集包括多个所述采样时间点和与每个所述采样时间点对应的插值运动数据。

相应地,该程序指令被处理器执行时具体实现:基于所述插值运动数据集获取每个采样时间点对应的特征值;该程序指令被处理器执行时还具体实现:根据预设特征值对每个所述采样时间点对应的特征值进行数量级处理以生成处理后的特征值;该程序指令被处理器执行时还具体实现:计算每个所述采样时间点对应的处理后的特征值与运动特征数据库中每种运动状态对应的特征值之间的多个距离值。

在一实施例中,该程序指令被处理器执行时具体实现:根据多个所述距离值按照预设分类算法识别所述采样时间点对应的运动状态;获取相邻两个所述采集时间点之间多个所述采样时间点对应的运动状态;统计相邻两个所述采集时间点之间每种所述运动状态出现的次数;将出现次数最多的运动状态作为相邻两个所述采集时间点中的一个采集时间点对应的运动状态。

在一实施例中,所述特征值包括时域特征值;该程序指令被处理器执行时具体实现:基于所述运动数据集获取每个所述采集时间点对应的时间窗口内的多个所述运动数据;计算每个所述时间窗口内多个所述运动数据的时域特征值作为每个所述采集时间点对应的时域特征值。

在一实施例中,该程序指令被处理器执行时具体实现:获取每个所述时间窗口内每个所述运动数据对应的长度值;计算每个所述时间窗口内多个所述长度值中的最大值、最小值以及平均值;将将每个所述时间窗口内多个所述长度值按照从小到大的顺序排列,并计算每个所述时间窗口内前m个所述长度值的和以获得总长度值,其中m为正整数;将每个时间窗口内的所述最大值、最小值、平均值及总长度值作为每个所述采集时间点对应的时域特征值。

在一实施例中,所述特征值包括频域特征值;该程序指令被处理器执行时具体实现:对每个所述时间窗口内的多个所述运动数据进行离散傅里叶变换得到频域运动数据;将每个所述时间窗口内的多个频域运动数据中频率处于第一预设频率范围内的所述频域运动数据乘以预设系数以获得新频域运动数据;根据每个所述时间窗口内多个所述新频域运动数据获取每个所述采集时间点对应的频域特征值。

在一实施例中,该程序指令被处理器执行时具体实现:获取每个所述时间窗口内多个所述新频域运动数据中最大值对应的频率、第二预设频率范围内的新频域运动数据的波峰数量以及第三预设频率范围内的新频域运动数据的积分值作为每个所述采集时间点对应的频域特征值,其中,所述第二预设频率范围和第三预设频率范围均小于第一预设频率范围。

该计算机可读存储介质可以是前述任一实施例中的终端的内部存储单元,例如终端的硬盘或内存。该计算机可读存储介质也可以是终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

进一步地,该计算机可读存储介质还可以既包括终端的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储计算机程序以及终端所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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