一种人体动作识别方法、系统、电子设备和存储介质与流程

文档序号:33346814发布日期:2023-03-04 03:50阅读:30来源:国知局
一种人体动作识别方法、系统、电子设备和存储介质与流程

1.本技术涉及人体识别领域,特别是一种人体动作识别方法、系统、电子设备和可读存储介质。


背景技术:

2.随着人体姿态识别技术的不断进步,该类技术在生活中也得到更多的应用;例如,ai健身,其通过人体姿态关键点识别比对,能够对用户的动作是否标准给出较为准确的评价。
3.在相关技术中,通过把人体的肢体动作数字化之后,与视频画面中教练的标准动作数据进行对比。进而通过判断两套数据中各个坐标点之间的相似度,得到用户动作的评分,并提示用户有哪些点位不达标还需改进。
4.但是,由于每个用户的身高、体重和身体比例等参数与健身教学视频中教练的身体参数可能存在较大差异,因此,导致得到的用户动作评价结果并不准确。
5.目前针对相关技术中人体动作识别比对结果不准确的问题,尚未提出有效的解决方案。


技术实现要素:

6.本技术实施例提供了一种人体动作识别方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中人体动作识别不够准确的问题。
7.第一方面,本技术实施例提供了一种人体动作识别方法,所述方法包括:
8.获取用户初始图像,提取所述用户初始图像的关键点,得到多个第一关键点坐标;
9.将所述第一关键点坐标转换到预设坐标系,根据所述转换之后的第一关键点坐标和标准初始图像,确定缩放因子;
10.获取用户动作图像,提取所述用户动作图像中的关键点,得到多个第二关键点坐标;
11.将所述第二关键点坐标转换到所述预设坐标系,并根据所述缩放因子,对转换之后的第二关键点坐标进行缩放,得到比对坐标;
12.获取与所述用户动作图像对应的标准动作图像,将所述比对坐标与所述标准动作图像在预设坐标系下的关键点坐标进行比对,确定关键点差值;
13.根据多组所述用户动作图像的关键点差值,输出用户动作评分。
14.在其中一些实施例中,所述根据转换之后的第一关键点坐标和标准初始图像,确定缩放因子,包括:
15.提取所述标准初始图像中的关键点,并将其转换到预设坐标系下,得到多个标准关键点坐标;
16.在所述标准关键点坐标和所述转换之后的第一关键点坐标中,提取互相对应的坐标点,生成多个坐标点集;
17.分别根据各个坐标点集,得到各个关键点对应的所述缩放因子。
18.在其中一些实施例中,分别根据各个坐标点集,通过如下公式,得到各个关键点对应的所述缩放因子:
[0019][0020]
其中,k为所述缩放因子,(m,n)是所述标准初始图像中的关键点坐标,(p,q)是所述用户初始图像中的关键点坐标,i是所述关键点坐标的序号。
[0021]
在其中一些实施例中,获取用户的初始图像,提取所述用户初始图像的关键点之前,所述方法还包括:
[0022]
获取标准初始图像,基于所述标准初始图像,确定所述预设坐标系。
[0023]
在其中一些实施例中,基于所述标准初始图像,确定所述预设坐标系,包括:
[0024]
提取所述标准初始图像中的各个标准关键点;
[0025]
在所述标准关键点中,确定预设关键点,其中,所述所述预设关键点包括:左肩、右键、左胯和右胯;
[0026]
确定多个所述预设关键点的中心位置,得到所述预设坐标系的原点;
[0027]
基于所述坐标原点,建立笛卡尔坐标系,得到所述预设坐标系。
[0028]
在其中一些实施例中,在用户动作存在延时的情况下,所述方法还包括:
[0029]
用户动作过程中,在第一预设时间段内,间隔第二预设时间获取一组所述用户动作图像,并提取其中的关键点,得到多个所述第二关键点坐标;
[0030]
在第一时间段内,获取一组标准动作图像,并提取其中的关键点,得到多个所述标准关键点坐标;
[0031]
分别获取各组所述用户动作图像中的对比坐标,并分别将各组对比坐标与所述标准关键点坐标对比,得到多组关键点差值;
[0032]
根据最小的一组关键点差值,输出用户动作评分。
[0033]
在其中一些实施例中,所述用户动作评分包括:动作流程整体评分、单项动作评分和单组动作评分;
[0034]
在输出用户动作评分之后,所述方法还包括:
[0035]
获取当前的单项动作评分是否小于该项动作对应的预设评分阈值,若是,发送当前动作不合格音效和/或显示当前动作不合格画面。
[0036]
第二方面,本技术实施例提供了一种人体动作识别系统,所述系统包括:预处理模块和识别比对模块,其中,
[0037]
所述预处理模块用于,获取用户初始图像,提取所述用户初始图像的关键点,得到多个第一关键点坐标,以及,
[0038]
将所述第一关键点坐标转换到预设坐标系,根据所述转换之后的第一关键点坐标和标准初始图像,确定缩放因子;
[0039]
所述识别比对模块用于,获取用户动作图像,提取所述用户动作图像中的关键点,得到多个第二关键点坐标,将所述第二关键点坐标转换到所述预设坐标系,并根据所述缩放因子,对转换之后的第二关键点坐标进行缩放,得到比对坐标,以及,
[0040]
获取与所述用户动作图像对应的标准动作图像,将所述比对坐标与所述标准动作
图像在预设坐标系下的关键点坐标进行比对,确定关键点差值,根据多组所述用户动作图像的关键点差值,输出用户动作评分。
[0041]
第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的方法。
[0042]
第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的方法。
[0043]
相比于相关技术,本技术实施例提供的人体动作识别方法,通过获取用户初始图像,提取用户初始图像的关键点,得到多个第一关键点坐标;将第一关键点坐标转换到预设坐标系之后,根据其和标准初始图像,确定缩放因子;进一步的,获取用户动作图像,提取用户动作图像中的关键点,得到多个第二关键点坐标;将第二关键点坐标转换到预设坐标系之后,根据缩放因子,对其进行缩放,得到比对坐标;将比对坐标与标准动作图像中的关键点坐标进行比对,确定关键点差值,进而根据多个动作图像的关键点差值,输出用户动作的评分值。通过本技术,解决了相关技术中由于用户的身体参数存在差异导致的动作识别比对结果不准确的问题,更能准确的反应用户的动作是否标准。
附图说明
[0044]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0045]
图1是根据本技术实施例的一种人体动作识别方法的应用环境示意图;
[0046]
图2是根据本技术实施例的一种人体动作识别方法的流程图;
[0047]
图3是根据本技术实施例的一种人体关键点的示意图;
[0048]
图4是根据本技术实施例的确定预设坐标系的流程图;
[0049]
图5是根据本技术实施例的一种体动作识别系统的结构框图;
[0050]
图6是根据本技术实施例的电子设备的内部结构示意图。
具体实施方式
[0051]
为了使本技术的目的、技术方案及优点更加清楚明自,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0052]
显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
[0053]
在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相
同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0054]
除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
[0055]
本技术提供的一种人体动作识别方法,可以应用在如图1所示的应用环境中,图1是根据本技术实施例的一种人体动作识别方法的应用环境示意图。如图1所示,终端设备10从与云端11获取数据,并显示标准的动作视频,用户可以跟随显示画面做出对应的动作,例如:健身操、瑜伽等。进一步的,终端设备10可以通过摄像装置采集用户的实时动作图像,并提取其中的骨骼关键点,将该关键点经过坐标系转换以及缩放之后,与标准动作视频中的骨骼关键点进行对比,从而更加准确的判断用户的动作是否标准,帮助用户更好的完成健身动作。
[0056]
需要说明的是,本实施例中的终端设备10可以是智能电视、投影仪、笔记本电脑和平板电脑等。在终端设备10是投影仪的情况下,其可以但不限于是悬挂式投影仪、立式投影仪等。
[0057]
本实施例提供了一种人体动作识别方法,图2是根据本技术实施例的一种人体动作识别方法的流程图,如图2所示,该流程包括如下步骤:
[0058]
s201,获取用户初始图像,提取用户初始图像的关键点,得到多个第一关键点坐标;
[0059]
其中,上述初始图像是动作开始之前,用户在准备状态下的图像,具体的,可以是站立双手叉腰、站立水平伸展双臂等。
[0060]
应当理解,具体选择何种准备姿势为初始图像,可以灵活选择,只要是能够合理获取人体关键点的姿势都可作为准备姿势。
[0061]
进一步的,该初始用户图像可以是rgb图像、黑白图像等,可以通过终端设备内置的摄像头或与终端设备关联的摄像头,获取该初始用户图像。
[0062]
另外,也可以通过多种方式,提取用户初始图像中的关键点,例如:alphapose、2s-agcn和potion等,本实施例中对此也不做具体限定。
[0063]
图3是根据本技术实施例的一种人体关键点的示意图,如图3所示,提取的关键点包括:头顶、脖颈、双肩、双肘、双手腕、双脚腕、双胯、双膝。提取到的人体骨骼关键点应满足
一定的精度要求,应避免采用一些误差过大的方式提取关键点。
[0064]
s202,将第一关键点坐标转换到预设坐标系,根据转换之后的第一关键点坐标和标准初始图像,确定缩放因子;
[0065]
步骤s201中提取到的各个关键点具体的坐标值,可以位于图像平面内任意一个坐标系下;例如,以初始图像的左上角为坐标原点,水平向左为x轴正方向、竖直向下为y轴正方向的坐标系。
[0066]
本实施例中,对提取到的关键点坐标,位于哪种坐标系之下不做具体限定。但是,转换之后的预设坐标系则是确定的,具体的,该预设坐标系以双肩和双胯组成的区域的中心位置为原点坐标,并以水平向左为x轴正方向、竖直向下为y轴正方向。
[0067]
另外,将关键点坐标从一个坐标系转换到同一平面,但不同原点的另一个坐标系,结合数学知识,通过本领域的一些常规手段即可实现,在本实施例中也不再赘述。
[0068]
在转换坐标系完成之后,通过计算各个坐标点与标准初始图像中各个坐标点之间的比例,即可确定缩放因子。当然,标准初始图像中的坐标点也同样是预设坐标系下的坐标点,该缩放因子由多组数据组成,不同位置的关键点可能具备不同的缩放因子。
[0069]
s203,获取用户动作图像,提取用户动作图像中的关键点,得到多个第二关键点坐标,将第二关键点坐标转换到预设坐标系,并根据缩放因子,对转换之后的第二关键点坐标进行缩放,得到比对坐标;
[0070]
其中,用户动作图像是用户观看标准动作视频中做出的对应动作的图像。
[0071]
同样,也可以有多种方式获取用户动作图像中关键点,将第二关键点坐标转换到预设坐标系的方式也与步骤s202中的方式相同,上述两项具体实现方式此处也不再赘述。
[0072]
进一步的,对坐标进行缩放的过程,即将原来的各项坐标数值与对应的缩放因子对应相乘,得到缩放之后的坐标值,该坐标值将被用于与标准图像中的坐标值进行比对,本实施例中将其称为比对坐标。
[0073]
s204,获取用户动作图像对应的标准动作图像,将比对坐标与标准动作图像中的关键点坐标进行比对,确定关键点差值;根据多个动作图像的关键点差值,输出用户动作的评分值。
[0074]
进一步的,用户动作图像可以按照时间刻度获取,例如,假设第2秒获取了一次用户动作图像,可以理解,与该用户动作图像对应的标准动作图像,即是标准动作视频播放到第2秒时那一帧的图像。
[0075]
按照对应关系(颈部对颈部,肩部对肩部)分别计算两张图像中各个关键点的差值,根据该差值对用户的动作进行评分,差值越小,表示用户动作越标准。
[0076]
结合整个过程中累计的多张图像中的关键点差值进行加权运算,可以得到整体的评分值,具体可以采用多种得分制,例如100分制、200分制。另外,也可以分阶段的对某一个具体动作,或者对某一组动作进行评分。基于本技术公开的上述技术特征,本领域技术人员可以根据关键点坐标差值灵活地设置具体的评分方式,本实施例中对此不作具体限定。
[0077]
另外,还可以在用户动作不及格时,发送一些信息以提醒用户。例如,获取当前的单项动作评分是否小于该项动作对应的预设评分阈值,若是,发送当前动作不合格音效和/或显示当前动作不合格画面。
[0078]
通过上述步骤s201至s204,相比较于相关技术,由于人体参数的差异导致识别的
人体动作识别不准确的方法,本技术技术方案,对健身教学视频中图像进行骨骼关节点识别,全身关节点的坐标以中心关节点的坐标作为参考点建立位置关系,在服务器端存储该位置关系。进一步的,识别用户的健身图像中的关节点,根据校正图像的关节点之间的位置关系,调整用户健身图像中关节点位置关系的比例,在用户健身过程中,对比预存储的关键点和健身过程中实时标定的关节点位置关系,判断用户的健身动作是否标准,通过以中心节点作为参考点的方式,更准确的识别用户的骨骼的关节点。
[0079]
在其中一些实施例中,在获取用户初始图像之前:根据标准初始图像确定预设坐标系的,具体的,图4是根据本技术实施例的确定预设坐标系的流程图,如图4所示,该流程包括如下步骤
[0080]
s401,获取标准初始图像;
[0081]
上述标准初始图像,即为标准视频中初始状态下图像。与用户初始图像相同,其也是准备姿势的图像,具体的,可以是站立双手叉腰、站立水平伸展双臂等;
[0082]
s402,提取标准初始图像中的各个标准关键点,并在标准关键点中,确定多个预设关键点;本实施例中,该预设关键点优选为:左肩、右键、左胯和右胯。
[0083]
s403,确定多个预设关键点的中心位置,得到预设坐标系的原点。即选择双胯和双肩区域的中心位置为重新确立的坐标系原点;
[0084]
s404,基于坐标原点,建立笛卡尔坐标系,确定预设坐标系。即以上述四个关键点的中心位置为坐标原点,以水平向右为x正方向,以数值向下为y轴竖直向上为y轴正方向,构建预设坐标系。
[0085]
通过上述步骤s401至s404,建立了预设坐标系,通过该预设坐标系,针对用户的身体参数与教练身体参数存在差异的情况,可将两者的图像转换到在同一个坐标系内进行比对,进而有利于得到更加准确的比对结果。
[0086]
在其中一些实施例中,根据转换之后的第一关键点坐标和标准初始图像,确定缩放因子,包括:
[0087]
提取标准初始图像中的关键点,并将其转换到预设坐标系下,得到多个标准关键点坐标;
[0088]
在标准关键点坐标和转换之后的第一关键点坐标中,提取多组互相对应的坐标点,生成多个坐标点集;
[0089]
即将标准图像的某个位置(如颈部)的关键点坐标与用户动作图像中同一个位置(颈部)关键点坐标组成一组坐标点集,可以理解,依次执行之后,可得到多组坐标点集,每个坐标点集中有两个互相匹配的坐标点。
[0090]
分别基于各个坐标点集,得到各个关键点对应的缩放因子。可以通过如下公式1,计算各个关键点对应的缩放因子:
[0091]
公式1:
[0092]
其中,k为缩放因子,(m,n)是标准初始图像中关键点坐标,(p,q)是用户初始图像中关键点坐标,i是坐标点的序号。
[0093]
具体的,例如:将提取的人体骨骼关键点转换到预设坐标系之后,得到的关键点坐标为c1(p1,q1),c2(p2,q2)...c14(p14,q14),保存的预设坐标系下标准初始图像中的关键
点坐标为b1(m1,n1),b2(m2,n2)....b14(m14,n14)。对应的,计算缩放因子的过程,即将c1中的各个点坐标,按照顺序,依次与b1中的各个点坐标相除,得到该缩放因子。
[0094]
在其中一些实施例中,考虑到用户的动作可能与标准视频中的动作存在延时,本实施例中,还通过如下方式进行改进:
[0095]
首先,用户动作过程中,在第一预设时间段(例如2s)内,每间隔第二预设时间(如0.5s)获取一组用户动作图像,并提取其中的关键点,得到多个第二关键点坐标。即2秒内,每间隔0.5秒获取一次用户动作图像并进行关键点提取,共得到4组关键点坐标;
[0096]
在第一时间段内,获取一组标准动作图像,并提取其中的关键点,得到多个标准关键点坐标;即间隔2秒,获取一次标准图像并进行关键点提取,共得到1组关键点坐标。
[0097]
进一步的,按照上述步骤s203中的方式,分别获取各组用户动作图像中的对比坐标,并分别将这些对比坐标与标准关键点坐标进行对比,得到多组关键点差值;
[0098]
最后,根据最小的一组关键点差值,输出用户动作的评分值。
[0099]
通过上述实施例,利用某一时刻前后几帧图像中,相对差值最小的的关键点进行比对,从而可以避免因为用户动作较慢,导致的关键点比对误差较大的问题,提升用户动作存在延时下的比对准确性。
[0100]
本实施例还提供了一种人体动作识别系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0101]
图5是根据本技术实施例的一种体动作识别系统的结构框图,如图5所示,该系统包括:预处理模块50和识别比对模块51,其中
[0102]
预处理模块50用于,获取用户初始图像,提取用户初始图像的关键点,得到多个第一关键点坐标,以及,
[0103]
将第一关键点坐标转换到预设坐标系,根据转换之后的第一关键点坐标和标准初始图像,确定缩放因子;
[0104]
识别比对模块51用于,获取用户动作图像,提取用户动作图像中的关键点,得到多个第二关键点坐标,将第二关键点坐标转换到预设坐标系,并根据缩放因子,对转换之后的第二关键点坐标进行缩放,得到比对坐标,以及,
[0105]
获取与用户动作图像对应的标准动作图像,将比对坐标与标准动作图像在预设坐标系下的关键点坐标进行比对,确定关键点差值,根据多组用户动作图像的关键点差值,输出用户动作评分。
[0106]
在一个实施例中,图6是根据本技术实施例的电子设备的内部结构示意图,如图6所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种人体动作识别方法,数据库用于存储数据。
[0107]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0108]
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0109]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1