游泳姿势识别方法、装置、系统和存储介质与流程

文档序号:24532724发布日期:2021-04-02 10:12阅读:265来源:国知局
游泳姿势识别方法、装置、系统和存储介质与流程

本发明涉及可穿戴设备技术领域,尤其涉及一种游泳姿势识别方法、装置、系统和存储介质。



背景技术:

随着智能可穿戴设备的快速发展,可穿戴设备的功能越来越多、用户群越来越广,以智能手表和手环为代表的可穿戴设备,为实现佩戴者全天候的运动识别提供了可能。特别对于游泳运动来说,对游泳姿势的识别成为可穿戴设备研发的关注点。

目前,主要的泳姿识别方法是通过6轴传感器(加速度和陀螺仪)或9轴传感器(加速度计、陀螺仪和磁力计)采集用户在游泳过程中的运动数据,进而对用户的游泳姿势进行识别。

然而,上述方案存在设备功耗较高、识别复杂度较大、需要处理的数据量大的问题。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种游泳姿势识别方法,不仅准确性高、而且计算简单、功耗低。

本发明的第二个目的在于提出一种游泳姿势识别装置。

本发明的第三个目的在于提出一种游泳姿势识别系统。

本发明的第四个目的在于提出一种存储介质。

为达上述目的,本发明第一方面实施例提出了一种游泳姿势识别方法,包括:获取第一时间窗口内气压计采集的气压数值序列;对所述气压数值序列进行解析,以确定所述第一时间窗口对应的第一游泳姿势特征向量;对所述第一游泳姿势特征向量进行识别,以确定所述气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。

根据本发明实施例的游泳姿势识别方法,首先,获取第一时间窗口内气压计采集的气压数值序列,然后,对气压数值序列进行解析,以确定第一时间窗口对应的第一游泳姿势特征向量,最后,对第一游泳姿势特征向量进行识别,以确定气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。由此,该方法通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

为达上述目的,本发明第二方面实施例提出了一种游泳姿势识别装置,包括:获取模块,用于获取第一时间窗口内气压计采集的气压数值序列;第一确定模块,用于对所述气压数值序列进行解析,以确定所述第一时间窗口对应的第一游泳姿势特征向量;第二确定模块,用于对所述第一游泳姿势特征向量进行识别,以确定所述气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。

根据本发明实施例的游泳姿势识别装置,通过获取模块获取第一时间窗口内气压计采集的气压数值序列,通过第一确定模块对气压数值序列进行解析,以确定第一时间窗口对应的第一游泳姿势特征向量,通过第二确定模块对第一游泳姿势特征向量进行识别,以确定气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。由此,该装置通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

为达上述目的,本发明第三方面实施例提出了一种游泳姿势识别系统,包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为调用并执行所述存储器存储的可执行指令,以实现本发明第一方面实施例提出的游泳姿势识别方法。

根据本发明实施例的游泳姿势识别系统,在处理器调用并执行存储器存储的可执行指令时,能够通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

为达上述目的,本发明第四方面实施例提出了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明第一方面实施例提出的游泳姿势识别方法。

该存储介质,在其上存储的计算机程序被处理器执行时,能够通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1是根据本发明实施例的游泳姿势识别方法的流程图;

图2是根据本发明一个实施例的游泳姿势识别方法的流程图;

图3是根据本发明一个示例的确定第一气压特征值的流程图;

图4是在自由泳方式下气压计采集的气压数值变化曲线图;

图5a是根据本发明一个具体示例的在室内办公的场景下气压数值的实际变化曲线以及游泳模拟曲线图;

图5b是根据本发明一个具体示例的在上下楼梯的场景下气压数值的实际变化曲线以及游泳模拟曲线图;

图5c是根据本发明一个具体示例的在乘坐电梯的场景下气压数值的实际变化曲线以及游泳模拟曲线图;

图5d是根据本发明一个具体示例的在游泳的场景下气压数值的实际变化曲线以及游泳模拟曲线图;

图5e是根据本发明一个具体示例的在户外出行的场景下气压数值的实际变化曲线以及游泳模拟曲线图;

图6是根据本发明一个示例的确定第一游泳姿势特征向量的流程图;

图7是根据本发明另一个示例的确定第一游泳姿势特征向量的流程图;

图8是根据本发明一个实施例的确定第一游泳姿势的流程图;

图9是根据本发明一个具体示例的仅基于气压计进行泳姿识别的流程图;

图10是根据本发明一个示例的对第一游泳姿势进行校验的流程图;

图11是根据本发明一个具体示例的仅基于加速度传感器进行泳姿识别的流程图;

图12是根据本发明一个示例的进行泳姿识别融合处理的流程图;

图13是根据本发明实施例的游泳姿势识别装置的结构框图;

图14是根据本发明一个实施例的游泳姿势识别装置的结构框图;

图15是根据本发明一个示例的游泳姿势识别装置的结构框图;

图16是根据本发明另一个示例的游泳姿势识别装置的结构框图;

图17是根据本发明实施例的游泳姿势识别系统的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本申请主要考虑到目前的基于6轴和9轴的游泳姿势识别方法,功耗大、数据处理复杂,且对佩戴者的佩戴角度、方式及松紧程度,都有较高要求,不适用于佩戴设备,而提出了一种基于气压计采集的气压值,来对用户的游泳姿势进行识别方法。本申请实施例提出的基于气压计的泳姿识别方法,与佩戴角度、方式和松紧无关,在数据维度上聚焦游泳过程中水和空气对气压计的差异化影响,通过分析不同泳姿下的气压差异,实现对泳姿的识别,消除了游泳和自身各种因素对识别结果的影响。

需要说明的是,就游泳姿势的识别而言,考虑到不同用户和不同泳姿之间的差别和共性,本发明实施例基于一段时间内一组连续的气压数值序列,进行泳姿的识别,本发明实施例可识别的游泳姿势包括:自由泳、蛙泳、蝶泳、仰泳等。下面参考附图描述本发明实施例的游泳姿势识别方法、装置、系统和存储介质。

图1是根据本发明实施例的游泳姿势识别方法的流程图。

如图1所示,该游泳姿势识别方法包括以下步骤:

s101,获取第一时间窗口内气压计采集的气压数值序列。

其中,气压计内置在用户的佩戴设备中,该佩戴设备可以包括耳机、耳塞和腕部可穿戴设备等,其中,腕部可穿戴设备可包括智能手表、手环等。

其中,第一时间窗口为包含当前时刻、且具有一定时间宽度的时间序列,通常,为了可靠捕捉用户在游泳过程中的各种游泳动作,第一时间窗口的时间长度可设置为不小于10s(秒),而为了保证气压计可以采集到用户出入水时,的气压数值,气压计的采样频率不低于2hz(赫兹)。

具体地,在实际应用中,用户的佩戴设备内置的气压计以采样频率fs(fs≥2hz)采集气压,该气压是佩戴设备所处环境的绝对压强。那么在每个时间宽度为t(t≥10s)的时间窗口内,气压计可以采集n=t*fs个气压数值。

举例而言,假设fs=2hz、t=10s,则n=20,即气压计以2hz的采样频率在10s内可以采集20个气压数值,该20个气压数值组成的气压数值序列为x={x1,x2,…,x20},其中,x1、x2为气压计在第1秒内采集的气压数值;x3、x4为气压计在第2秒内采集的气压数值;x5、x6为气压计在第3秒内采集的气压数值;x7、x8为气压计在第4秒内采集的气压数值;x9、x10为气压计在第5秒内采集的气压数值;x11、x12为气压计在第6秒内采集的气压数值;x13、x14为气压计在第7秒内采集的气压数值;x15、x16为气压计在第8秒内采集的气压数值;x17、x18为气压计在第9秒内采集的气压数值;x19、x20为气压计在第10秒内采集的气压数值。

需要说明的是,气压计作为用户的佩戴设备(尤其是智能手表、手环)的基本模块,一般处于常开状态(工作状态)。因此,本发明实施例中通过佩戴设备内置的气压计采集气压数值,以基于气压数值序列进行泳姿的识别的技术方案,具有较大的可行性,可广泛应用于当前的佩戴设备尤其是智能手表、手环,可以实现全天候的游泳姿势识别。

s102,对气压数值序列进行解析,以确定第一时间窗口对应的第一游泳姿势特征向量。

可以理解的是,由于气压计处于水下时采集的绝对压强包含水产生的液体压强,而气压计在空气中采集的压强仅为当前环境的气压值,因此,人在游泳过程中,气压计采集的气压值是不断变换的,且由于不同的泳姿,用户的运动频率、在空气中或水中的停留时长不同,因此,可以根据气压计在一定时间段内采集的气压值的变化趋势,确定用户的游泳姿势。

具体地,在获取到气压数值序列x后,可对该序列x进行解析,以确定该时间窗口内气压数值的特征相邻,比如气压数值的大小、各个气压数值的持续时长及变化趋势等,该特征向量即为第一时间窗口对应的第一游泳姿势特征向量。

s103,对第一游泳姿势特征向量进行识别,以确定气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。

需要说明的是,可事先对用户的不同游泳姿势进行机器训练,以得到不同游泳姿势对应的游泳姿势特征向量,从而得到机器训练模型。

具体地,可通过事先得到的机器训练模型,对第一游泳姿势特征向量进行深度学习,得到第一游泳姿势特征向量对应的泳姿识别结果,即为气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。

本发明实施例的游泳姿势识别方法,通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

需要说明的是,只有用户处于游泳状态时,才能在得到气压数值序列后,进一步得到用于识别用户泳姿的第一游泳姿势特征向量。因此,本发明实施例中需确定用户是否处于游泳状态,即进行游泳检测,以下进行详细描述。

在本发明的一个实施例中,在对气压数值序列进行解析,以确定第一时间窗口内的第一游泳姿势特征向量之前,即在执行步骤s102之前,如图2所示,还包括:

s201,对气压数值序列进行预处理,以确定第一时间窗口对应的第一气压特征值。

可以理解的是,若用户在第一时间窗口内处于游泳状态,那么该时间序列内的一定包含用户在进入水下时,气压计采集的气压值,而水下的气压值一定大于空气中的气压值,因此,本申请实施例中,该第一时间窗口对应的第一气压特征值,可以是该气压数值序列中的最高气压数值,或者,可以为该气压数值序列中的前3个最高气压数值的平均气压数值等等。

或者,还可以采用如图3所示的方式,确定该第一气压特征值:

s301,计算气压数值序列中每两个相邻气压数值的差值的绝对值。

具体地,在获取到第一时间窗口内气压计采集的气压数值序列x之后,通过下式计算两个相邻气压数值的差值的绝对值qi:

qi=|xi+1-xi|(1)

其中,1≤i≤n-1,xi+1、xi为气压数值序列中的两个相邻气压数值,两个相邻气压数值的差值的绝对值,即为两个相邻气压数值之间的跳变值,该跳变值表示用户在出水和入水时相比于正常场景下(用户未处于游泳状态)的变化程度。

例如,当n=20时,可分别计算出19个相邻气压数值的差值的绝对值qi,分别为q1、q2、…q19。

s302,将各个差值的绝对值中的最大绝对值,确定为第一时间窗口对应的第一气压特征值。

具体地,在计算出n-1个两个相邻气压数值的差值的绝对值qi之后,确定其中的最大值,即为最大绝对值qmax,将该最大绝对值确定为第一时间窗口对应的第一气压特征值。

s202,判断第一气压特征值是否不小于入水变化阈值,若是,则执行步骤s102;若否,则执行步骤s203。

s203,获取下一时间窗口内的气压计数值序列。

其中,入水变化阈值是指用户处于游泳状态时,气压计在入水前后采集的两个相邻气压数值之间变化值。

需要说明的是,入水变化阈值可事先根据用户在游泳状态下时气压计采集的气压数值计算,也可基于用户游泳时的历史气压数值进行计算,例如,出入水变化阈值可以是400。本发明实施例对此并不限制。

具体地,在确定出第一时间窗口对应的第一气压特征值qmax后,判断第一气压特征值qmax是否大于或等于入水变化阈值qth1,如果qmax≥qth1,则说明该第一时间窗口内用户有输入水动作,因此,即可确定佩戴气压计的用户当前处于游泳状态,进而可继续执行步骤s102及步骤s103,以确定用户当前的泳姿。如果qmax<qth1,则说明佩戴气压计的用户当前未处于游泳状态,进而执行步骤s203,即当前窗口无需进行泳姿识别,继续获取下一时间窗口内的气压计数值序列。

由此,首先通过简单的计算,确定第一时间窗口内两个相邻气压数值之间的最大变化值,若根据该最大变化值确定出用户处于游泳状态,再对该第一时间窗口内的气压数值序列进行解析,以确定用户在该第一时间窗口内的游泳姿势;若根据该最大变化值确定出用户未处于游泳状态,则退出当前的检测步骤,从而既实现了用户是否处于游泳状态的游泳检测,又实现了用户处于游泳状态时的泳姿识别,避免了用户若在该第一时间窗口内未处于游泳状态时的计算处理,进一步降低了佩戴设备的功耗。

在本发明的一个示例中,在确定第一时间窗口对应的第一气压特征值之后,即在执行步骤s201之后,还可包括:如果第一气压特征值小于入水变化阈值、且小于空气气压阈值,则更新当前的出水次数;如果当前的出水次数大于第一阈值,则确定用户当前未处于游泳状态。

其中,空气气压阈值是指用户当前所在环境中空气气压的绝对值。空气气压阈值可根据实际情况确定,比如,根据与当前时间窗口相邻的、前一个用户未处于游泳状态的时间窗口内采集的气压数值的均值确定,或者,根据用户当前所处的环境的普通大气压强确定等。通常,该空气气压阈值可以是20。

具体地,在确定出第一时间窗口对应的第一气压特征值qmax后,如果判断出第一气压特征值qmax小于入水变化阈值qth1、且小于空气气压阈值qth2,即qmax<qth1且qmax<qth2,则说明气压数值序列中的所有的两个相邻气压数值之间的跳变值(q1、q2、…qn-1),未超出入水时的气压变化值、且未超过气压计处于空气中时气压的绝对值,则说明用户此时未处于游泳状态,比如可能处于短暂的休息状态、或者已完成退出游泳状态等。

此时可以通过以下方式进一步判断用户到底处于哪种状态。

根据下列公式更新当前的出水次数n1,以根据出水次数n1确定用户到底处于何种状态:

n1=n2+1(2)

其中,n2是指当前时刻之前用户的总共出水次数。需要说明的是,在检测出用户处于游泳状态时,可开始计算用户的出水次数,并存储在存储器中,以待后续调用。之后,若当前的出水次数大于第一阈值,则可以认为用户已结束游泳。

其中,第一阈值nth1是指用户(或者气压计)在游泳中途因换泳姿或者休息而处于空气中的最长时间对应的出水次数,如果当前的出水次数n1大于第一阈值nth1,即n1>nth1,则说明在连续多个时间窗口内,出水次数都处于增加状态(即用户一直处于空气中),那么就说明用户当前已经结束游泳、未处于游泳状态(因为用户中间换泳姿或者其他的休息动作时间不会这么久),进而后续,无需再进行泳姿识别。

需要说明的是,如果当前的出水次数n1小于或等于第一阈值nth1,即n1≤nth1,则说明用户当前可能是在进行中途换泳姿或者其他的休息动作,因此,后续需进行泳姿识别。

由此,若通过根据气压计在第一时间窗口内采集的气压数值序列,判断出用户未处于游泳状态,则可以停止后续进行泳姿识别的过程,从而避免在用户未处于游泳状态的情况下进行泳姿识别,而引起的资源浪费问题;且避免因用户游泳过程中的中途换泳姿或者休息动作时,忽略对用户的后续泳姿识别,造成的误识别问题。

在本发明的一个示例中,在确定第一时间窗口对应的第一气压特征值之后,即在执行步骤s201之后,还可包括:如果第一气压特征值小于入水变化阈值、且大于或等于空气气压阈值,则确定用户在第一时间窗口内的运动状态与相邻的前一时间窗口内的运动状态相同。

具体地,如果第一气压特征值qmax小于入水变化阈值qth1、且大于或等于空气气压阈值qth2,即qmax<qth1、且qmax≥qth2,则说明该第一时间窗口内,用户的出入水变化(相较于相邻的前一时间窗口内的出入水变化)不典型、但气压计未处于空气中,而由于用户在变换泳姿时,通常气压计采集的气压数值的变化程度会相对较明显,因此,可以认为该时间窗口内用户延续了相邻的前一时间窗口内的运动状态,该运行状态。即,在上述情况下,即可确定出用户在第一时间窗口内的运动状态与相邻的前一时间窗口内的运动状态相同。

若前一时间窗口内的运动状态为游泳状态,则用户在第一时间窗口内处于游泳状态,则根据上述步骤s102及步骤s103,也就是根据第一时间窗口对应的第一气压特征值,确定用户在第一时间窗口内的游泳姿势;若前一时间窗口内的运动状态为未游泳状态,则用户在第一时间窗口内也未处于游泳状态,则无需进行后续泳姿识别。

也就是说,在每个时间窗口内,首先进行用户是否处于游泳状态的游泳检测,若用户处于游泳状态,则进行当前时间窗口内的泳姿识别;若用户未处于游泳状态,则无需进行当前时间窗口内的泳姿识别。

通过上述分析可知,本申请在获取到任一时间窗口内的气压数值序列后,首先确定出第一气压特征值qmax、进而根据该第一气压特征值与各个气压阈值的关系,判断用户当前是否处于游泳状态、是否需要进行泳姿的识别。当确定用户处于游泳状态时,再根据该第一气压特征值的大小,确定采用何种方式进行后续的泳姿识别,当用户未处于游泳状态时,再根据当前出于空气中的次数,判断用户是否已退出游泳状态,若已退出游泳状态,则无需进行后续的泳姿识别。

由上述示例可看出,该实施例是以两个相邻气压数值之间的跳变为关键,实现基于佩戴设备内置的气压计来确定出是否处于游泳状态且需要进行泳姿的识别,为了说明该方案的可行性与可靠性,下面通过实验进行验证:

对于智能手表或手环来说,内置的气压计测量的是设备所处环境的绝对压强。那么对于处于空气中的智能手表或手环,气压计测量的绝对压强pabsolute等于所处位置、海拔和气温条件下的大气压强pair。一般来说,高度每上升12m(米),大气压强减小100pa(帕斯卡)。因此,假设海平面的大气压强为p0,那么在海拔高度为h的位置处,大气压强为:

即当智能手表或手环处于这样的环境里时,内置的气压计得到的绝对压强pabsolute是:

一般来说,在智能手表或手环佩戴者正常使用的情况下,智能手表或手环佩戴高度的变化较小,相应的气压计得到的绝对压强也变化较小。

特别的,当佩戴者处于上下楼梯,或者在上下行的电梯中时,气压计测量的绝对压强会有明显变化,但是考虑到上下楼梯和上下行电梯的速度受约束,即单位时间(1秒)内气压计的变化速率δpabsolute与高度变化速率δh一致。即可得出:

通常地可以满足δh<12,即δpabsolute<100。

当佩戴者处于游泳运动时,即智能手表或手环在某一时间段内位于水面以下深度h的情况下,此时气压计测出的绝对压强pabsolute等于所处位置、海拔和气温条件下的大气压强pair与该深度的液体产生的液体压强pwater的总和。即:

其中,pwater=ρ·g·h,g=9.8n/kg。

佩戴者在游泳的过程中,当智能手表或手环从空气进入水下深度h时,气压计测量值的变化量为:

δpabsolute=9800·h(7)

一般地,游泳过程中,佩戴有智能手表或手环的手臂至少深入到水下4cm处,即从智能手表或手环由空气进入水下深度h的过程里,假设所需时间为1秒(单位时间),那么气压计的绝对压强将明显增大:

δpabsolute=392(8)

将空气环境中气压计绝对压强变化率,与由空气进入水下的气压计绝对压强变化率相对比可知,后者明显大于前者,即由空气进入水下的气压计绝对压强变化率大于空气环境中气压计绝对压强变化率。

图4示出了在用户的手臂(手臂上佩戴的智能手表或手环内置气压计)以自由泳方式频繁出水和入水的场景下,气压计的测量输出值(气压数值)的变化曲线,曲线上的数据是气压原始(实际)数值(barometerrawdata)。

基于上述公式推导以及图4可知,基于气压计的游泳检测,核心在于捕捉相邻气压计测量值之间的跳变,这种跳变在出水和入水时相比于正常场景下因高度的变化要明显剧烈,因此表明本发明实施例提出的基于气压计进行游泳检测的方法具有可行性。

而且,图5a、图5b、图5c、图5d和图5e分别示出了用户在室内办公、上下楼梯、乘坐电梯、户外出行和游泳的场景下,用户所佩戴的气压计的测量输出值的实际变化曲线,以及游泳模拟曲线,其中,实际变化曲线是由气压计的实际输出的测量值,即气压计原始数据(barometerrawdata)得到的,游泳模拟曲线是进行游泳检测得出的(swimdetectedsimulation,游泳检测模拟)气压变化曲线。由这些曲线可知,用户在室内办公、上下楼梯、乘坐电梯、户外出行和游泳的场景下,游泳模拟曲线均比较稳定,即均提供了比较稳定的游泳检测输出,且在室内办公、上下楼梯、乘坐电梯、户外出行的场景下,游泳检测曲线几乎不变,而在游泳场景下,游泳检测曲线发生了较大变化,因此进一步表明本发明实施例提出的基于气压计进行游泳检测的方法具有可行性。

由此可知,本发明实施例提出的以两个相邻气压数值之间的跳变为关键,基于佩戴设备内置的气压计,来确定出用户当前是否处于游泳状态且需要进行泳姿的识别,具有可行性与可靠性。

在本发明的一个实施例中,第一游泳姿势特征向量qmax中可以包含以下特征中的至少一种:气压均值、气压方差、气压计出入水面的次数、气压计处于水下的第一时长、气压计处于空气中第二时长、水下气压均值、水下气压方差、水下气压四分位数或水下气压占比。

具体地,在获取到气压数值序列x={x1,x2,…,xn}后,首先根据以下公式计算气压均值fmean:

然后,根据以下公式计算气压方差fvar:

需要说明的是,第一游泳姿势特征向量qmax是通过对气压数值序列进行解析后确定出的,因此本发明下列示例提出了确定气压计出入水面的次数、气压计处于水下的第一时长、气压计处于空气中第二时长、水下气压均值、水下气压方差、水下气压四分位数及水下气压占比的方法。如图6所示,第一游泳姿势特征向量中包含气压计处于水下的第一时长及气压计处于空气中第二时长,对气压数值序列进行解析,以确定第一时间窗口内的第一游泳姿势特征向量,可包括以下步骤:

s601,获取第二时间窗口对应的气压数值序列,其中,第二时间窗口对应的第二气压特征值小于空气气压阈值、且第二时间窗口与第一时间窗口间的时间距离最短。

具体地,选取与第一时间窗口之间的时间距离最短、且其对应的气压特征值小于空气气压阈值的时间窗口作为第二时间窗口,然后获取第二时间窗口内气压计采集的气压数值序列y。

s602,根据第二时间窗口对应的气压数值序列的均值,确定当前时刻的空气气压值。

具体地,在获取到第二时间窗口对应的气压数值序列y后,计算气压数值序列y的均值,该均值即为当前时刻的空气气压值y0,即此时的大气压强。

s603,根据当前时刻的空气气压值,确定第一时间窗口内包含的气压计出入水面的次数及气压计出入水面时刻。

具体地,在计算出当前时刻的空气气压值y0后,对于第一时间窗口对应的气压数值序列x中的n个xi,获取满足下列公式的xi。

sign(xi-y0)·sign(xi-1-y0)<0(11)

其中,sign函数为符号函数,统计第一时间窗口内满足式(11)的气压数值xi。若xi<y0、xi-1>y0,此种情况下,xi为气压计在空气中时采集的气压数值,xi-1为在水下中采集的气压数值;或者,xi>y0、xi-1<y0,此种情况下,xi为气压计在水中采集的气压数值,xi-1为在空气中时采集的气压数值。

xi的个数即为第一时间窗口内包含的气压计出入水面的次数(出水次数以及入水次数)。xi在第一时间窗口内的时刻即为气压计出入水面时刻。

例如,气压数值序列x(假设n=20)中的xi为x2、x10、x16,则第一时间窗口内包含的气压计出入水面的次数为3,气压计出入水面时刻依次为2、10、16,其中,2是气压数值x2的采样时刻、10是气压数值x10的采样时刻、16是气压数值x16的采样时刻。

s604,根据每两个相邻的出入水面时刻,确定第一时间窗口内气压计处于水下的第一时长及气压计处于空气中第二时长。

具体地,在确定出第一时间窗口内包含的气压计的出入水面时刻后,计算相邻两个过零点之间的时间距离,即对于相邻过零点xi和xj,根据下列公式计算该相邻过零点xi和xj之间的时间距离d:

d=|i-j|

(12)

由于气压数值过零点表示气压计出入水面,因此相邻两个过零点之间的时间距离d,表示气压计在水下或者在空气中的持续时间,由此通过计算相邻两个过零点之间的时间距离,即可计算出气压计处于水下的第一时长及处于空气中的第二时长。

在该示例中,如图7所示,第一游泳姿势特征向量中还可包括:水下气压均值、水下气压方差、水下气压四分位数及水下气压占比,在确定当前时刻的空气气压值之后,即在上述步骤s602之后,还可包括以下步骤:

s701,根据当前时刻的空气气压值,确定第一时间窗口内气压计采集的气压数值序列中包含的各水下气压数值。

具体地,在确定出当前时刻的空气气压值y0之后,可对于第一时间窗口内的气压计采集的气压数值序列x={x1,x2,…,xn},统计其中的大于空气气压值y0的气压数值xi,也就是说,统计满足xi>y0的各气压数值xi,即为各水下气压数值,即大于y0的各气压数值xi。

s702,根据各水下气压数值,确定第一时间窗口内的水下气压均值、水下气压方差、水下气压四分位数及水下气压占比。

具体地,在确定出各大于y0的各气压数值xi(组成一组气压数值)后,计算该一组气压数值(例如x2、x3、x10和x16)的均值、方差,即可得到第一时间窗口内的水下气压均值、水下气压方差,其中,水下气压均值表示气压计在水下的平均深度,水下气压方差表示气压计在水下的深度变化剧烈程度。计算该一组气压数值的25%、50%和75%分位值,即可得到25分位值、50分位值和75分位值,即为水下气压四分位数,水下气压四分位数描述了气压计在水下的深度分布。若统计出气压数值序列中包含的水下气压数值的个数m,则水下气压占比为m/n,该水下气压占空比表示气压计在水下的时间分布,据此即可得到气压计在空气中的时间分布。

由此,即可通过将第一时间窗口内的气压数值进行解析,确定出第一时间窗口内的具体地第一游泳姿势特征向量。

另外,本申请实施例,在根据气压计在一个时间窗口内采集的气压数值序列确定用户泳姿时,还可以给出当前确定的泳姿的置信度,以便在该置信度较低时,对该泳姿进行及时修正。即在本发明的一个实施例中,如图8所示,对第一游泳姿势特征向量进行识别,以确定第一时间窗口内的第一游泳姿势,可包括:

s801,利用第一预设的分类模型对第一游泳姿势特征向量进行识别,以确定第一时间窗口内的第一游泳姿势及第一置信度值。

需要是说明的是,可事先采集若干组不同人在不同泳姿情况下的气压数值,对气压数值进行滑动窗口分组后,计算游泳姿势特征向量,形成由特征向量组成的训练集和验证集合,进行机器学习(例如bp(backpropagation,反向传播)神经网络)训练模型,以得到游泳姿势特征向量-游泳姿势模型,即为第一预设的分类模型。

具体地,如图9所示,在确定出第一时间窗口内的第一游泳姿势特征向量(气压均值、气压方差、气压计出入水面的次数、气压计处于水下的第一时长、气压计处于空气中第二时长、水下气压均值、水下气压方差、水下气压四分位数及水下气压占比中的至少一个特征)后,考虑到各个特征的量纲不同,因此首先对各个特征进行归一化处理,以避免某些特征因为量纲太小而被忽略,然后利用第一预设的分类模型对进行归一化处理后的特征进行识别,以确定第一时间窗口内的第一游泳姿势及对应的第一置信度值。其中,第一置信度值表示通过上述方法得到的第一游泳姿势的可信程度。

进一步地,继续参照图8,在确定第一时间窗口内的第一游泳姿势及第一置信度值之后,即在上述步骤s801之后,还可包括:

s802,如果第一置信度值小于第二阈值,则启动加速度传感器,以获取加速度传感器在第三时间窗口内采集的加速度序列。

其中,第二阈值,可以根据需要设置,比如设置为0.8、0.9或者0.95等等。

具体地,在确定出第一时间窗口内的第一游泳姿势及第一置信度值之后,如果第一置信度值小于第二阈值,说明此时的第一游泳姿势的可信度较低,从而即可启动用户的佩戴设备内置的加速度传感器,以辅助实现泳姿的识别。具体的,可以获取加速度传感器在第三时间窗口内采集的加速度序列,从而根据用户在该时间窗口内的加速度特征,对用户的泳姿进行进一步的判断。

具体而言,加速度传感器的采样频率可与气压计的采样频率fs(fs≥2hz)相同、也可以不同,相应的,第三时间窗口的时间宽度可与第一时间窗口的时间宽度t(t≥10s)相同,也可以不同。

举例来说,若加速度传感器在第三时间窗口内采集的加速度序列a为a={u1,u2,…,un;v1,v2,…,vn;w1,w2,…,wn;a1,a,…,an},其中,ui为x轴上的加速度,vi为y轴上的加速度,wi为z轴上的加速度,ai为i时刻的合加速度幅值,即:

且n=t*fs,n≥20。

s803,根据加速度传感器在第三时间窗口内采集的加速度序列,对第一游泳姿势进行校验。

可以理解的是,由于不同的泳姿时,用户的加速度变化状态不同,因此,本申请实施例中,可以基于一定时间段内的加速度序列,比如,根据加速度的变化趋势、频率等来确定用户的泳姿。

在一种实现方式中,如图10所示,可以根据加速度序列采用以下方式,来对用户的游泳姿势进行校验:

s1001,对加速度传感器在第三时间窗口内采集的加速度序列进行解析,以确定第三时间窗口对应的第二游泳姿势特征向量。

该示例中,第二游泳姿势特征向量中包含以下特征中的至少一种:加速度均值、加速度方差、加速度过零点的个数、四分位数、偏度、峰度、极值、加速度序列对应的主峰位置、加速度序列对应的主峰值或加速度序列中包含的峰数量。

具体地,在获取到加速度序列后,计算加速度序列的加速度均值、加速度方差、以及过零点的加速度的个数,然后计算加速度序列进行自相关后的波形,根据自相关波形可以确定出其中峰的个数,其中,峰是指距离相邻峰的位置满足一定间距约束条件、峰宽满足一定约束条件的局部极值点,峰中的主峰是指对应幅值最大的峰,从而进一步确定出主峰位置、主峰值(主峰位置对应的幅值)。

其中,加速度序列的四分位数可用来描述第三时间窗口内的加速度的分布区间;加速度序列的偏度、峰度均可用来描述第三时间窗口内的加速度的分布特征;加速度序列的极值可用来描述第三时间窗口内的加速度的波动剧烈程度;加速度序列对应的主峰位置、加速度序列对应的主峰值及加速度序列中包含的峰数量,均可以用来描述第三时间窗口内的加速度的周期性。

s1002,利用第二预设的分类模型对第二游泳姿势特征向量进行识别,以确定第三时间窗口内的第二游泳姿势及第二置信度值。

需要是说明的是,可事先采集若干组不同人在不同泳姿情况下的加速度,对加速度进行滑动窗口分组后,计算游泳姿势特征向量,形成由特征向量组成的训练集和验证集合,进行机器学习(例如bp神经网络)训练模型,以得到游泳姿势特征向量-游泳姿势模型,即为第二预设的分类模型。

具体地,如图11所示,在确定出第二游泳姿势特征向量后,考虑到各个特征的量纲不同,因此首先对各个特征进行归一化处理,以避免某些特征因为量纲太小而被忽略,然后利用第二预设的分类模型对进行归一化处理后的特征进行识别,以确定第三时间窗口内的第二游泳姿势及对应的第二置信度值。其中,第二置信度值表示通过上述方法得到的第二游泳姿势的可信程度。

s1003,根据第二游泳姿势及第二置信度值,对第一游泳姿势进行校验。

在一个示例中,根据第二游泳姿势及第二置信度值,对第一游泳姿势进行校验,即上述步骤s1003,可包括:如果第二游泳姿势为非合法游泳姿势,则确定用户当前处于游泳暂停状态。

在一个示例中,根据第二游泳姿势及第二置信度值,对第一游泳姿势进行校验,即上述步骤s1003,还可包括:如果第二游泳姿势为合法游泳姿势、且第二置信度大于第二阈值,则确定第一时间窗口及第三时间窗口内的游泳姿势为第二游泳姿势。

在一个示例中,根据第二游泳姿势及第二置信度值,对第一游泳姿势进行校验,即上述步骤s1003,还可包括:如果第二游泳姿势为合法游泳姿势、且第二置信度小于或等于第二阈值,则获取第一预设的分类模型输出的各类游泳姿势分别对应的各第一权重值、及第二预设的分类模型输出的各类游泳姿势分别对应的各第二权重值;根据各类游泳姿势分别对应的各第一权重值及各第二权重值,确定第一时间窗口及第三时间窗口内的游泳姿势。

具体而言,在确定出第二游泳姿势以及第二置信度值后,可判断第二游泳姿势为合法游泳姿势还是非合法游泳姿势,其中,合法游泳姿势包括:自由泳、蛙泳、蝶泳和仰泳;非合法游泳姿势是指用户在游泳过程中的除划水以外的其他衔接或者休息动作(即用户处于水中但未进行划水动作),例如调整泳镜、泳帽等。

如图12所示,如果第二游泳姿势为非合法姿势,则说明用户当前处于游泳暂停阶段,但未退出游泳状态;如果第二游泳姿势为合法游泳姿势、且第二置信度值大于第二阈值,则说明用户正在游泳且进行周期性的划水动作,且得出的第二游泳姿势这一结果较为可信、可靠,又由于游泳是一种具有周期动作且单一动作模式具有较长持续时间的运动,因此对于相邻的时间窗口的泳姿识别结果,应在时间维度上具有连续性和稳定性,因此,即可确定出第一时间窗口及第三时间窗口内的游泳姿势为第二游泳姿势,可以是自由泳、蛙泳、蝶泳或者仰泳。

参照图12,如果第二游泳姿势为合法游泳姿势、且第二置信度值小于或等于第二阈值,则说明用户正在进行周期性的划水动作(即游泳),且得出的第二游泳姿势这一结果可信程度不高,又由于得出的第一游泳姿势这一结果可信度也不高,于是可知,此时通过本发明实施例得出的第一游泳姿势或者第二游泳姿势,并不是用户当前实际的游泳姿势,即第一游泳姿势或第二游泳姿势的准确度均不高,因此,为了提高泳姿识别的准确度,可将第一游泳姿势和第二游泳姿势作为备选,以进行融合处理,以确定第一时间窗口以及第二时间窗口内的游泳姿势。融合处理过程如下:

首先,获取第一预设的分类模型输出的各类游泳姿势分别对应的各第一权重值、及第二预设的分类模型输出的各类游泳姿势分别对应的各第二权重值,举例来说,在仅基于气压计得到的各第一游泳姿势为sib,其对应的各第一权重值pib,在仅基于加速度传感器得到的各第二游泳姿势为sia,其对应的各第二权重值pia。

然后,根据下列公式计算泳姿识别结果s为:

其中,α为权重系数,α的大小范围为0<α<1。

又对于相邻的滑动窗口的泳姿识别结果,应在时间维度上具有连续性和稳定性,因此对于连续的w个滑动窗口,当前窗口平滑输出的泳姿结果,为当前即以前w-1个窗口结果的大多数(majority),即:

由此,即可确定出第一时间窗口及第三时间窗口内的游泳姿势。

综上所述,本发明实施例提出的该游泳姿势识别方法,在仅基于用户佩戴设备内置的气压计对用户的游泳姿势进行检测时,若置信度较低,则可以动态开启加速度传感器予以辅助泳姿识别,并通过增加一个负样本类(非合法游泳姿势),用来涵盖那些佩戴者处于水中但并未有周期划水动作的场景,降低这种情况下仅依赖气压计的泳姿误识别,以在两种气压计和加速度传感器给出的识别结果上做融合处理,同时,在时间维度上做多窗口内的平滑融合,使泳姿识别结果更鲁棒和平滑。

基于相同的发明构思,本发明实施例提出了一种游泳姿势识别装置,图13是根据本发明实施例的游泳姿势识别装置的结构框图。

如图13所示,该游泳姿势识别装置100包括获取模块10、第一确定模块20和第二确定模块30。

其中,获取模块10用于获取第一时间窗口内气压计采集的气压数值序列;第一确定模块20用于对气压数值序列进行解析,以确定第一时间窗口对应的第一游泳姿势特征向量;第二确定模块30用于对第一游泳姿势特征向量进行识别,以确定气压计所在的佩戴设备所属用户在第一时间窗口内的第一游泳姿势。

在一个实施例中,如图14所示,该游泳姿势识别装置100还可包括:第三确定模块40和第四确定模块50。

其中,第三确定模块40用于对气压数值序列进行预处理,以确定第一时间窗口对应的第一气压特征值;第四确定模块50用于确定第一气压特征值不小于入水变化阈值。

在一个示例中,第三确定模块40可具体用于:计算气压数值序列中每两个相邻气压数值的差值的绝对值;将各个差值的绝对值中的最大绝对值,确定为第一时间窗口对应的第一气压特征值。

在一个示例中,如图15所示,游泳姿势识别装置100还可包括:更新模块60和第五确定模块70。更新模块60用于如果第一气压特征值小于入水变化阈值、且小于空气气压阈值,则更新当前的出水次数;第五确定模块70用于如果当前的出水次数大于第一阈值,则确定用户当前未处于游泳状态。

在一个示例中,如图16所示,游泳姿势识别装置100还可包括:第六确定模块80。第六确定模块80用于如果第一气压特征值小于入水变化阈值、且大于或等于空气气压阈值,则确定用户在第一时间窗口内的运动状态与相邻的前一时间窗口内的运动状态相同。

在一个示例中,第一游泳姿势特征向量中包含以下特征中的至少一种:气压均值、气压方差、气压计出入水面的次数、气压计处于水下的第一时长、气压计处于空气中第二时长、水下气压均值、水下气压方差、水下气压四分位数或水下气压占比。

在一个示例中,第一游泳姿势特征向量中包含气压计处于水下的第一时长及气压计处于空气中第二时长,第一确定模块20,在对气压数值序列进行解析,以确定第一时间窗口内的第一游泳姿势特征向量时,可用于:获取第二时间窗口对应的气压数值序列,其中,第二时间窗口对应的第二气压特征值小于空气气压阈值、且第二时间窗口与第一时间窗口间的时间距离最短;根据第二时间窗口对应的气压数值序列的均值,确定当前时刻的空气气压值;根据当前时刻的空气气压值,确定第一时间窗口内包含的气压计出入水面的次数及气压计出入水面时刻;根据每两个相邻的出入水面时刻,确定第一时间窗口内气压计处于水下的第一时长及气压计处于空气中第二时长。

在一个示例中,第一游泳姿势特征向量中还包括:水下气压均值、水下气压方差、水下气压四分位数及水下气压占比,第一确定模块20,在确定当前时刻的空气气压值之后,还可用于:根据当前时刻的空气气压值,确定第一时间窗口内气压计采集的气压数值序列中包含的各水下气压数值;根据各水下气压数值,确定第一时间窗口内的水下气压均值、水下气压方差、水下气压四分位数及水下气压占比。

在一个示例中,第二确定模块30,在对第一游泳姿势特征向量进行识别,以确定第一时间窗口内的第一游泳姿势时,可用于:利用第一预设的分类模型对第一游泳姿势特征向量进行识别,以确定第一时间窗口内的第一游泳姿势及第一置信度值。

在一个示例中,第二确定模块30,在确定第一时间窗口内的第一游泳姿势及第一置信度值之后,还可用于:如果第一置信度值小于第二阈值,则启动加速度传感器,以获取加速度传感器在第三时间窗口内采集的加速度序列;根据加速度传感器在第三时间窗口内采集的加速度序列,对第一游泳姿势进行校验。

在一个示例中,第二确定模块30,在根据加速度传感器在第三时间窗口内采集的加速度序列,对第一时间窗口内的第一游泳姿势进行校验时,具体可用于:对加速度传感器在第三时间窗口内采集的加速度序列进行解析,以确定第三时间窗口对应的第二游泳姿势特征向量;利用第二预设的分类模型对第二游泳姿势特征向量进行识别,以确定第三时间窗口内的第三游泳姿势及第二置信度值;根据第二游泳姿势及第二置信度值,对第一游泳姿势进行校验。

在一个示例中,第二确定模块30,在根据第二游泳姿势及第二置信度值,对第一游泳姿势进行校验时,具体可用于:如果第二游泳姿势为非合法游泳姿势,则确定用户当前处于游泳暂停状态;如果第二游泳姿势为合法游泳姿势、且第二置信度值大于第二阈值,则确定第一时间窗口及第三时间窗口内的游泳姿势为第二游泳姿势;如果第二游泳姿势为合法游泳姿势、且第二置信度值小于或等于第二阈值,则获取第一预设的分类模型输出的各类游泳姿势分别对应的各第一权重值、及第二预设的分类模型输出的各类游泳姿势分别对应的各第二权重值;根据各类游泳姿势分别对应的各第一权重值及各第二权重值,确定第一时间窗口及第三时间窗口内的游泳姿势。

在一个示例中,第二游泳姿势特征向量中包含以下特征中的至少一种:加速度均值、加速度方差、加速度过零点的个数、四分位数、偏度、峰度、极值、加速度序列对应的主峰位置、加速度序列对应的主峰值或加速度序列中包含的峰数量。

需要说明的是,该游泳姿势识别装置的具体实施方式可参见上述游泳姿势识别方法的具体实施方式,为避免冗余,此处不再详细赘述。

本发明实施例的游泳姿势识别装置,通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

图17是根据本发明实施例的游泳姿势识别系统的结构框图。

如图17所示,该游泳姿势识别系统200包括本发明上述实施例提出的游泳姿势识别装置100。

本发明实施例的游泳姿势识别系统,通过本发明实施例的游泳姿势识别装置,能够通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

本发明实施例还提出了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现本发明实施例上述的游泳姿势识别方法。

该存储介质,在其上存储的计算机程序被处理器执行时,能够通过根据气压计在一定时间内采集的气压值,确定用户在该时间内的游泳姿势。不仅准确性高、而且计算简单、功耗低。

需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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