基于动作识别的人体活跃度检测方法及系统及装置及介质与流程

未命名 08-27 阅读:107 评论:0


1.本发明涉及健身领域,具体涉及基于动作识别的人体活跃度检测方法及系统及装置及介质。


背景技术:

2.随着生活水平的提高,人们越来越注重对于健康生活的追求。随着科学技术的发展进步,现有的健身器械不断朝着家庭化、智能化方向发展,在此前提下,智能化镜面健身器逐渐开始出现在人们的生活中。智能化镜面健身器通过机体内置各类设备并由正面的镜面进行显示和镜像展示,在本案之前,申请人已就健身镜相关方案展开了大量研究并提起专利申请,包括对用户动作的有效识别、对用户动作的反馈等,随着研究的不断细化,本技术人发现,健身装置在朝向家庭化发展的过程中,用户运动的积极性是非常重要的,在使用家庭健身装置进行健身时,需要调动用户的健身积极性,从而使用户达到运动目标。基于此,本技术人发现通过向用户反馈运动量,即其运动的活跃度能较好的达到激励用户达成运动目标的效果,然而现有的活跃度检测方法大多是通过可穿戴设备进行检测,但该检测方法只能粗略的检测出用户的活跃度,并不适用于在健身过程中实时检测,进而达到激励用户的效果。


技术实现要素:

3.本发明提供了基于动作识别的人体活跃度检测方法及系统及装置及介质,本发明的目的在于通过用户连续帧动作图像获取用户的平均速度,根据平均速度获取用户在发生动作时的活跃度。
4.为实现上述发明目的,本发明提供了基于动作识别的人体活跃度检测方法,包括:
5.在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;
6.根据连续帧动作图像获取t秒内用户的平均速度;
7.根据用户的平均速度获取t秒内用户活跃度,并显示活跃度。
8.现有的活跃度获取方法,通过终端采集人体的加速度数据,基于采集的加速度数据识别动作类型,基于识别的动作类型及查表得到的所述动作类型对应的代谢当量计算人体活跃度指标。本发明通过每一帧动作图像获取用户的平均速度,在根据用户的平均速度来获取活跃度,对于小幅度动作,现有的方法不能准确的体现用户的活跃度,而本发明通过连续帧的动作图像能够更加准确的体现用户活跃度。
9.用户的平均速度的获取有多种方法,可以为通过动作图像中某一个或多个骨骼点的坐标变化,还可以根据用户的动作获取一个最能体现用户动作幅度的位置,该位置可以为动作图像中的某点,也可以为线段或围绕的图形,只要能准确的体现出用户运动的状态,最终得到用户的平均速度即可,也正是基于此,本发明通过用户平均速度能够进一步的体现用户的活跃度。
10.在此基础上,为了本技术人发现通过动作图像中用户的骨骼点来确定用户的平均
速度能更好的反应用户动作的变化,特别对于只发生了手部动作或腿部动作等局部动作而言,本方法能直接的得到最能反映用户动作的速度大小,具体包括:
11.获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的信息;
12.根据每个骨骼点对应的信息获取t秒内每个骨骼点的平均速度;
13.根据每个骨骼点的平均速度获取用户的平均速度。
14.其中,t秒内第j个骨骼点的平均速度:
[0015][0016]
其中n为t秒内包括的动作图像帧数,(xi,yi)为该骨骼点在第i个动作图像中的坐标,j和i均为正整数。在本技术中共有j个骨骼点,j可以为16,也可以为12或14,根据实际的使用情况确定。根据上述公式确定t秒内每个骨骼点的平均速度后,由于对于一个动作而言,每个动作中每个骨骼点影响用户平均动作的比重各有不同,因此本发明在获取每个骨骼点的平均速度后,还要根据预设的每个骨骼点的权重,得到最终的用户平均速度,具体的,每个骨骼点预设有权重wj,j为正整数,用户的平均速度:
[0017][0018]
其中,vj为t秒内第j个骨骼点的平均速度,wj为第j个骨骼点预设的权重,m为动作图像中用户的骨骼点数量。在本技术中,每个骨骼点的权重大小,可以根据每个动作的类型来确定,还可以为经过归纳得到的,在本发明中,该权重的具体的大小为根据实际情况或动作的类型来确定的,只要能体现用户的动作图像中的每个骨骼点的比重,清楚准确体现用户动作即可。
[0019]
在本发明中,作为优选的,在用户的动作图像中共计有16个骨骼点,包括头部、脖子、喉咙、胯部、左手、右手、左手肘、右手肘、左脚、右脚、左肩、右肩、左膝盖、右膝盖、左臀和右臀,其中,头部、脖子、喉咙、胯部的权重为1,左手、右手、左手肘、右手肘的权重为1.5,左脚、右脚、左肩、右肩的权重为2.5,左膝盖、右膝盖的权重为4,左臀和右臀的权重为4.5。
[0020]
通过上述公式基于每个骨骼点的平均速度获取到用户的平均速度后,本技术人还发现,在采集区域内的用户图像时,同一个动作,用户站得近一点和站的远一点,因为成像近大远小的关系,站的近时骨骼点经过的像素距离更大,计算出来的用户的平均速度v会更大。因此为了使计算出的速度保持距离不变性,本技术人根据用户的平均速度和预设的人体基准距离获取用户相对平均速度根据用户相对平均速度获取t秒内用户活跃度。具体的,预设的人体基准距离为选取人体基准距离s,人体基准距离s通过上身中两个骨骼点来获取,两个骨骼点的选取可以为头顶骨骼点和盆骨骨骼点,还可以为喉咙骨骼点和胯部骨骼点等。用于确定人体基准距离的参照点,通过两个参照点之间的距离长度是稳定的,这样在用户站位较远或较近时,都能通过比例大小准确的得到用户相对平均速度优选的,在本发明中,选取喉咙骨骼点和胯部骨骼点来作为两个参照点,通过计算喉咙骨骼点和胯部骨骼点之间的欧式距离来获取人体基准距离s,然后通过用户的平均速度v与人体基准距离s的比值得到用户相对平均速度
[0021]
在通过若干骨骼点得到用户相对平均速度后,需要将转换成一个更为直观的数据,这样更便于用户在运动的过程中直观的看到自己当前的活跃度,通常0-100的分数对于用户而言能最直观的体现用户的活跃度,因此在本发明中,将用户相对平均速度转换为0-100的分数,用于表示用户当前的活跃度。具体包括:
[0022]
预设用户平均速度与活跃度分数的映射函数;
[0023]
根据获取的用户的平均速度和映射函数获取活跃度分数。
[0024]
在本发明中,映射函数可以为线性函数也可以为非线性函数,在预设映射函数时,当用户相对平均速度为0时,活跃度分数为0,当用户相对平均速度大于或等于预设的相对平均速度最大值时,活跃度分数为100。
[0025]
在本发明中,共预设有三个映射函数,分别为第一非线性函数、第二非线性函数和线性函数,在选择映射函数时,根据实际的情况进行选择,若希望分数随着用户的骨骼点运动均匀线性增加,就选择线性映射;如果希望用户随着运动的加快,分数快速上升,则选择第一非线性函数,如果希望用户很难达到一个高分值的运动量,就选用第二非线性函数。
[0026]
其中,第一非线性函数为:
[0027]
第二非线性函数为:
[0028]
第一非线性函数为:其中vmax为预设的相对平均速度最大值。
[0029]
与本发明中的方法对应,本发明还提供了基于动作识别的人体活跃度检测系统,包括:
[0030]
采集模块,用于在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;
[0031]
第一计算模块,用于根据连续帧动作图像获取t秒内用户的平均速度;
[0032]
第二计算模块,用于根据用户的平均速度获取t秒内用户活跃度;
[0033]
显示模块,用于显示用户活跃度。
[0034]
骨骼点模块,用于获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的坐标。
[0035]
与本发明中的方法对应,本发明还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于动作识别的人体活跃度检测方法的步骤。
[0036]
与本发明中的方法对应,本发明还提供了一种存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于动作识别的人体活跃度检测方法的步骤。
[0037]
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0038]
本发明通过用户连续帧动作图像获取用户的平均速度,根据平均速度获取用户在发生动作时的活跃度,获取的活跃度更加精准,并且对于小幅度动作,本发明通过连续帧动作图像也能更加准确的获取用户的平均速度,减小误差。
[0039]
同时,本发明将活跃度转换为分数进行展现,在用户运动过程中对用户展现当前
运动的活跃度,能更好激励用户运动,提高积极性。
附图说明
[0040]
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本技术的一部分,并不构成对本发明实施例的限定。在附图中:
[0041]
图1为基于动作识别的人体活跃度检测方法的流程示意图;
[0042]
图2为基于动作识别的人体活跃度检测系统的组成示意图。
具体实施方式
[0043]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
[0044]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0045]
本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
[0046]
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0047]
实施例一
[0048]
请参考图1,图1为基于动作识别的人体活跃度检测方法的流程示意图,本发明提供了基于动作识别的人体活跃度检测方法,所述方法包括:
[0049]
在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;
[0050]
根据连续帧动作图像获取t秒内用户的平均速度;
[0051]
根据用户的平均速度获取t秒内用户活跃度,并显示活跃度。
[0052]
在本实施例中,通过连续帧动作图像获取t秒内用户的平均速度有多种方法,可以为根据用户的动作类型,确定动作图像中的一个关键点或多个关键点或关键点之间的连线,在动作图像中建立坐标系,在t秒内,通过连续帧动作图像中该关键点的位置变换,得到t秒内用户的平均速度。
[0053]
在本实施例中,在本实施例中用户的平均速度与活跃度预设有对应关系,当得到用户的平均速度后,根据预设对应关系可以直接得到活跃度,并进行展示,进而激励用户。
[0054]
实施例二
[0055]
在实施例1的基础上,本实施例选择多个骨骼点作为关键点来获取用户的平均速度,具体包括:
[0056]
在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;
[0057]
获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的信息;
[0058]
根据每个骨骼点对应的信息获取t秒内每个骨骼点的平均速度;
[0059]
t秒内第j个骨骼点的平均速度:
[0060][0061]
其中n为t秒内包括的动作图像帧数,(xi,yi)为该骨骼点在第i个动作图像中的坐标,j和i均为正整数。
[0062]
根据每个骨骼点的平均速度获取用户的平均速度;
[0063]
每个骨骼点预设有权重wj,j为正整数,用户的平均速度:
[0064][0065]
其中,t秒内第j个骨骼点的平均速度,wj为第j个骨骼点预设的权重,m为动作图像中用户的骨骼点数量。
[0066]
根据用户的平均速度获取t秒内用户活跃度,并显示活跃度。
[0067]
在本实施例中,若干骨骼点可以为12个骨骼点,也可以为14个骨骼点,还可以为16个骨骼点,在本实施例中并不对骨骼点的数量和位置进行限定,只要能分别代表手部、腿部和头部的移动即可。
[0068]
下面结合具体的例子对本发明中的基于动作识别的人体活跃度检测方法进行介绍:
[0069]
步骤1在预设时间1秒内,采集区域内用户图像,得到用户的连续的25帧动作图像;
[0070]
步骤2获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的信息;
[0071]
步骤2.1将动作图像的左下角为原点,水平方向为x轴,竖直方向为y轴,单位长度为1像素建立直角坐标系,通过ai定位出动作图像中用户的16个骨骼点及16个骨骼点的坐标,包括头部、脖子、喉咙、胯部、左手、右手、左手肘、右手肘、左脚、右脚、左肩、右肩、左膝盖、右膝盖、左臀和右臀。
[0072]
步骤3根据每个骨骼点对应的信息获取1秒内每个骨骼点的平均速度;
[0073]
1秒内第j个骨骼点的平均速度:
[0074][0075]
其中n为1秒内包括的动作图像帧数,在本实施例中n为25,(xi,yi)为该骨骼点在第i个动作图像中的坐标,j和i均为正整数。头部、脖子、喉咙、胯部、左手、右手、左手肘、右手肘、左脚、右脚、左肩、右肩、左膝盖、右膝盖、左臀和右臀依次排序,即头部为序号1,右臀为序号16,v1为头部骨骼点的平均速度,v
16
为右臀骨骼点的平均速度,通过公式1分别计算出16个骨骼点在1秒内25帧动作图像的平均速度vj。
[0076]
步骤4根据每个骨骼点的平均速度获取用户的平均速度;
[0077]
每个骨骼点预设有权重wj,j为正整数,用户的平均速度:
[0078][0079]
其中,1秒内第j个骨骼点的平均速度,wj为第j个骨骼点预设的权重,m为动作图像中用户的骨骼点数量,在本实施例中m为16。
[0080]
在本实施例中,头部、脖子、喉咙、胯部的权重为1,左手、右手、左手肘、右手肘的权重为1.5,左脚、右脚、左肩、右肩的权重为2.5,左膝盖、右膝盖的权重为4,左臀和右臀的权重为4.5。
[0081]
步骤5根据用户的平均速度v和预设的人体基准距离s获取用户相对平均速度
[0082][0083]
在本实施例中,人体基准距离s通过喉咙骨骼点和胯部骨骼点铼确定,喉咙骨骼点坐标为(x1,y1),部的坐标为(x2,y2),则基准像素距离s:
[0084]
s=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)),即常见的两点欧式距离。
[0085]
步骤6根据用户相对平均速度获取活跃度分数;
[0086]
步骤6.1预设用户平均速度与活跃度分数的映射函数;
[0087]
第一非线性函数为:
[0088]
第二非线性函数为:
[0089]
第一非线性函数为:其中vmax为预设的相对平均速度最大值;
[0090]
步骤6.2将用户相对平均速度作为x带入步骤6.1中的映射函数,当用户相对平均速度大于或等于预设的相对平均速度最大值时,活跃度分数为100。
[0091]
在本实施例中,选择第一非线性函数为映射函数获取活跃度,得到活跃度后,显示活跃度分数。
[0092]
在本实施例中,本装置为智能健身镜,智能健身镜机体内置各类设备,正面设置有用于显示和镜像展示的镜面,用户在进行运动时,可通过智能健身镜的镜面显示活跃度。
[0093]
在本实施例中,用户在运动的过程中,不断在智能健身镜的镜面显示活跃度。在本实施例中t=1秒,每秒包括25帧动作图像,假设某个时间段的连续帧号是1、2、3、4、5、6、....100,总共大概4秒的时间里,分别计算1-25帧,2-26帧,3-27帧,....76-100帧里每个骨骼点的平均速度。即在每个时刻,都能算出该时刻的前25帧每个骨骼点的平均速度。进而在每个时刻都能显示用户的活跃度,达到更好的激励效果。
[0094]
实施例三
[0095]
请参考图2,图2为基于动作识别的人体活跃度检测系统的组成示意图,本发明实施例二提供了基于动作识别的人体活跃度检测系统,在实施例1或2的基础上,所述系统包括:
[0096]
采集模块,用于在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;采集模块包括摄像头,在本实施例中,通过摄像头获取用户图像;
[0097]
骨骼点模块,用于获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的坐
标。
[0098]
第一计算模块,用于根据连续帧动作图像获取t秒内用户的平均速度;
[0099]
第二计算模块,用于根据用户的平均速度获取t秒内用户活跃度;
[0100]
显示模块,用于显示用户活跃度。
[0101]
其中,第一计算模块用于根据连续帧动作图像中的若干骨骼点及每个骨骼点对应的坐标获取t秒内用户的平均速度。
[0102]
实施例四
[0103]
本发明实施例四提供了一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于动作识别的人体活跃度检测方法的步骤。
[0104]
其中,所述处理器可以是中央处理器,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0105]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中基于动作识别的人体活跃度检测装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0106]
实施例五
[0107]
本发明实施例五提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于动作识别的人体活跃度检测方法的步骤。
[0108]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器((erasableprogrammablereadonlymemory,eprom)或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0109]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0110]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.基于动作识别的人体活跃度检测方法,其特征在于,包括:在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;根据连续帧动作图像获取t秒内用户的平均速度;根据用户的平均速度获取t秒内用户活跃度,并显示活跃度。2.根据权利要求1所述的基于动作识别的人体活跃度检测方法,其特征在于,根据连续帧动作图像获取t秒内用户的平均速度,具体包括:获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的信息;根据每个骨骼点对应的信息获取t秒内每个骨骼点的平均速度;根据每个骨骼点的平均速度获取用户的平均速度。3.根据权利要求2所述的基于动作识别的人体活跃度检测方法,其特征在于,t秒内第j个骨骼点的平均速度:其中n为t秒内包括的动作图像帧数,(x
i
,y
i
)为该骨骼点在第i个动作图像中的坐标,j和i均为正整数。4.根据权利要求2或3所述的基于动作识别的人体活跃度检测方法,其特征在于,每个骨骼点预设有权重w
j
,j为正整数,用户的平均速度:其中,v
j
为t秒内第j个骨骼点的平均速度,w
j
为第j个骨骼点预设的权重,m为动作图像中用户的骨骼点数量。5.根据权利要求4所述的基于动作识别的人体活跃度检测方法,其特征在于,根据用户的平均速度和预设的人体基准距离获取用户相对平均速度,根据用户相对平均速度获取t秒内用户活跃度。6.根据权利要求1所述的基于动作识别的人体活跃度检测方法,其特征在于,根据用户的平均速度获取t秒内用户活跃度,具体包括:预设用户平均速度与活跃度分数的映射函数;根据获取的用户的平均速度和映射函数获取活跃度分数。7.基于动作识别的人体活跃度检测系统,其特征在于,包括:采集模块,用于在预设时间t秒内,采集区域内用户图像,得到用户的连续帧动作图像;第一计算模块,用于根据连续帧动作图像获取t秒内用户的平均速度;第二计算模块,用于根据用户的平均速度获取t秒内用户活跃度;显示模块,用于显示用户活跃度。8.根据权利要求7所述的基于动作识别的人体活跃度检测系统,其特征在于,还包括:骨骼点模块,用于获取每个动作图像中用户的若干骨骼点及每个骨骼点对应的坐标。9.一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任意一个所述基于动作识别的人体活跃度检测方法的步骤。
10.一种存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任意一个所述基于动作识别的人体活跃度检测方法的步骤。

技术总结
本发明公开了基于动作识别的人体活跃度检测方法及系统及装置及介质,涉及健身领域,在预设时间T秒内,采集区域内用户图像,得到用户的连续帧动作图像;根据连续帧动作图像获取T秒内用户的平均速度;根据用户的平均速度获取T秒内用户活跃度,并显示活跃度。本发明通过用户连续帧动作图像获取用户的平均速度,根据平均速度获取用户在发生动作时的活跃度,获取的活跃度更加精准,并且对于小幅度动作,本发明通过连续帧动作图像也能更加准确的获取用户的平均速度,减小误差。减小误差。减小误差。


技术研发人员:曾晓嘉 刘易 薛立君
受保护的技术使用者:成都拟合未来科技有限公司
技术研发日:2022.02.10
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐