运动功能分析方法和电子设备

文档序号:30848263发布日期:2022-07-23 03:43阅读:92来源:国知局
运动功能分析方法和电子设备

1.本发明涉及图像处理技术领域,尤其涉及一种运动功能分析方法和电子设备。


背景技术:

2.近年来,由脑卒中导致的运动功能障碍的患病人数大幅增加,对患者的运动功能障碍程度进行及时精准的诊断对医生制定康复治疗方案以及防止功能障碍严重变化具有重要意义。
3.目前普遍采用基于量表的评定方法来对患者的运动功能障碍进行评定。在评定的过程中,需要医生人工检查分析患者的动作,再根据患者的动作评定患者的运动功能障碍等级。这种方法在分析患者动作时过于依赖人为经验,不仅需要投入大量医疗资源,而且对于患者功能状态的细微变化往往难以发现,导致患者运动功能障碍的评定也不够准确。


技术实现要素:

4.本发明提供一种运动功能分析方法和电子设备,用以解决现有技术中依赖人为经验进行动作评估效率较低的缺陷,实现快速准确地输出运动功能评估结果的效果。
5.本发明提供一种运动功能分析方法,包括:采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧;提取每个所述视频帧中骨骼节点的三维坐标,基于所述三维坐标确定所述动作视频的动作中心帧,基于所述动作中心帧从所述动作视频中提取预设数量个视频帧,作为样本视频帧;基于所述样本视频帧中骨骼节点的三维坐标,确定所述样本视频帧的坐标矩阵,并基于所述样本视频帧中骨骼节点的三维坐标,确定所述骨骼节点处的角度,获得角度矩阵;将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
6.根据本发明提供的一种实施方式,所述采集目标用户执行预设动作指令的动作视频,包括:通过声音信号发送多个预设动作指令,或者通过虚拟现实界面显示所述预设动作指令;采集每个所述预设动作指令对应的动作视频。
7.根据本发明提供的一种实施方式,所述动作视频中包括n个视频帧,n为正整数;所述确定所述动作视频的动作中心帧,包括:基于所述动作视频中n个视频帧中骨骼节点的三维坐标,得到所述动作视频对应的第一矩阵,所述第一矩阵的行与所述视频帧对应,列与所述骨骼节点对应;计算所述第一矩阵中第i行与第i-1行每个三维坐标的差值,得到由所述差值构成的偏差矩阵,n≥i≥2;
基于滑动窗口算法对所述偏差矩阵的每列进行求和计算,得到计算后的偏差累计矩阵;计算所述偏差累计矩阵的每行的累加和,确定所述累加和的绝对值最小的目标行数;将所述目标行数对应的视频帧作为动作中心帧。
8.根据本发明提供的一种实施方式,所述计算所述第一矩阵中第i行与第i-1行每个三维坐标的差值,得到由所述差值构成的偏差矩阵,包括:在所述差值大于0时,将所述差值替换为正1,在所述差值小于0时,将所述差值替换为负1。
9.根据本发明提供的一种实施方式,所述三维坐标包括宽度、高度、深度,所述第一矩阵包括宽度对应的宽度矩阵、高度对应的高度矩阵以及深度对应的深度矩阵;所述将所述目标行数对应的视频帧作为动作中心帧,包括:分别确定所述宽度矩阵的目标行数,所述高度矩阵的目标行数以及所述深度矩阵的目标行数,将各个所述目标行数的平均数对应的视频帧,作为动作中心帧。
10.根据本发明提供的一种实施方式,所述将所述坐标矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果,包括:基于每个所述样本视频帧中所述骨骼节点的三维坐标,计算所述骨骼节点处的角度;基于每个所述样本视频帧的所述骨骼节点处的角度,得到角度矩阵;将所述坐标矩阵与所述角度矩阵进行合并后输入所述检测模型中,得到所述目标用户的运动功能分析结果。
11.根据本发明提供的一种实施方式,所述检测模型包括第一模型、第二模型;所述将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果,包括:将所述坐标矩阵划分为上肢关节位置矩阵与下肢关节位置矩阵,并将所述角度矩阵划分为上肢关节角度矩阵与下肢关节角度矩阵;将所述上肢关节位置矩阵与所述上肢关节角度矩阵合并后,输入预设的第一模型中,得到上肢功能障碍评分;将所述下肢关节位置矩阵与下肢关节角度矩阵合并后,输入预设的第二模型中,得到下肢功能障碍评分。
12.本发明还提供一种运动功能分析装置,包括:数据采集模块,用于采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧;视频采样模块,用于提取每个所述视频帧中骨骼节点的三维坐标,基于所述三维坐标确定所述动作视频的动作中心帧,基于所述动作中心帧从所述动作视频中提取预设数量个视频帧,作为样本视频帧;特征提取模块,用于基于所述样本视频帧中骨骼节点的三维坐标,确定所述样本视频帧的坐标矩阵,并基于所述样本视频帧中骨骼节点的三维坐标,确定所述骨骼节点处的角度,获得角度矩阵;
数据确定模块,用于将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
13.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述运动功能分析方法。
14.本发明还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述运动功能分析方法。
15.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述运动功能分析方法。
16.本发明提供的运动功能分析方法和电子设备,可以采集用户的动作视频,确定动作视频的动作中心帧,基于动作中心帧再从动作视频中采样预设数量帧,可以保证样本的可用性,并减少样本数量,节省计算资源。通过动作视频确定用户在每个视频帧中每个骨骼节点的三维坐标。然后将三维坐标转化为坐标矩阵,每个坐标矩阵中包括所有样本视频帧的三维坐标。将该坐标矩阵输入到检测模型中,通过检测模型可以提取骨骼节点的细微变化,从而给出精准的运动功能评估结果。并且,本技术方案无需人工参与,可以节省人力时间资源;在医生评定患者运动功能障碍时,也可以快速给出动作的分析结果,便于医生参考进行运动功能障碍的评定。
附图说明
17.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明提供的运动功能分析方法的流程示意图;图2是本发明提供的运动功能分析方法中骨骼节点的示意图;图3是本发明提供的运动功能分析方法的应用场景示意图;图4是本发明提供的运动功能分析装置的结构示意图;图5是本发明提供的电子设备的结构示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
21.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合
并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
22.本说明书中,用语“第一”、“第二”、“第三”等仅作为标记使用,不是对其对象的数量或顺序限制。
23.下面结合附图描述本发明的运动功能分析方法和电子设备。
24.首先本发明实施例提供一种运动功能分析方法。示例性的,该运动功能分析方法可应用于个人计算机(personal computer,pc)、平板电脑、虚拟现实设备、增强现实设备、服务器等各种电子设备中,本实施方式对此不作任何限定。
25.图1示出了本实施例提供的一种运动功能分析方法的流程图。如图1所示,该运动功能分析方法可以包括以下步骤:步骤10:采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧。
26.电子设备可以发送预设动作指令,用户根据预设动作指令作出相应的动作。在用户运动时,通过摄像头拍摄用户做动作的过程,可以得到用户执行该预设动作指令的动作视频。
27.其中,预设动作指令是用于提示用户进行运动动作的指令。示例性的,根据运动功能障碍评定时通常采用的动作,可以预先编辑预设动作指令。运动功能障碍评定通常采用的运动任务包括:1、肩关节屈曲90度;2、肩关节屈曲90-180度;3、肩关节屈曲90度,肘关节保持0度,使前臂旋前运动;4、肩关节保持0度,肘关节屈曲90度,使前臂旋前旋后运动;5、肩关节屈曲30-90度位,肘关节0度位,使前臂旋前旋后运动;6、髋关节保持伸展,使膝关节屈曲运动;7、髋关节和膝关节保持伸展,使踝关节背屈运动。根据这些运动任务可以预先编写每个运动任务对应的指令,作为预设动作指令。电子设备可以通过声音信号发送预设动作指令,也可以通过虚拟现实界面显示预设动作指令。该虚拟现实界面中可以包括虚拟人体模型执行引导动作的视频。此外,预设动作指令还可以包括文字信号、图像信号等各种类型的指令。例如预设动作指令可以为“肩关节屈曲90度”的声音信号、“肩关节屈曲90-180度”的文字信息,或者包含声音、文字和图像的视频信息等等,本实施方式对此不作任何限定。
28.在用户需要进行运动功能分析时,用户可以启动电子设备。该电子设备可以包括数字摄像头,或者通过usb端口连接一数字摄像头。然后,电子设备可以提供语音信号,通过该语音信号来发送预设动作指令,从而引导用户执行对应的动作任务。或者,电子设备也可以通过视频信号来发送预设动作指令,例如电子设备可以显示虚拟现实场景中人体模型的动作示例。在发送预设动作指令之后,电子设备可以开启数字摄像头,来采集用户执行动作任务的视频,即动作视频。示例性的,预设动作指令可以包括多个,电子设备可以采集到每个预设动作指令对应的动作视频。动作视频中可以包括多个视频帧。示例性的,动作视频可以为rgb图像构成;或者通过深度摄像头也可以采集三维视频帧,得到动作视频。
29.步骤20:提取每个所述视频帧中骨骼节点的三维坐标,基于所述三维坐标确定所述动作视频的动作中心帧,基于所述动作中心帧从所述动作视频中提取预设数量个视频帧,作为样本视频帧。
30.采集到的动作视频往往包括了大量的视频帧。动作视频中的视频帧越多,则矩阵越大,需要的计算量越大。为了减少计算量,可以将动作视频中有用的视频帧筛选出来,参与到运动功能分析的过程中。示例性的实施方式中,基于动作视频中所有视频帧对应的坐
标矩阵,可以确定动作视频中的动作中心帧。该动作中心帧指的是用户做动作的中间过程对应视频帧。确定动作中心帧的过程如下:对动作视频进行逐帧识别,可以得到每个视频帧中骨骼节点的三维坐标。该三维坐标可以包括宽度、高度、深度三个维度,可以表示为(x,y,z)。示例性的,通过mediapipe软件可以从动作视频中提取出骨骼节点的三维三维坐标。或者通过其他深度神经网络模型也可以识别出每个视频帧中骨骼节点的三维坐标。人体的骨骼节点较多,为了节省计算资源,可以只采集每个视频中中关键的骨骼节点的三维坐标,例如只采集肩、肘、髋、膝、腕、踝等骨骼节点的三维坐标等。本实施方式对骨骼节点的类型和数量不作特殊限定。
31.采集到动作视频中每个视频帧的骨骼节点的三维坐标后,可以将动作视频的所有视频帧的三维坐标转化为矩阵,即第一矩阵。该第一矩阵中的元素为骨骼节点的三维坐标;行与视频帧对应,列与骨骼节点对应。假设动作视频中包括n个视频帧,则第一矩阵中包括n行,n为正整数。举例来说,采集每个视频帧中10个骨骼节点的三维坐标,则将每个视频帧的三维坐标作为一行,可以得到n行。每一行中包括10个骨骼节点的三维坐标。
32.上述第一矩阵中每个元素为一个三维坐标,如(x,y,z),为了降低计算时算法的复杂度,可以将三维坐标中的每个维度转化为一个矩阵,即包括三维坐标中宽度的矩阵、包括高度的矩阵以及包括深度的矩阵,则第一矩阵可以包括宽度对应的宽度矩阵、高度对应的高度矩阵和深度对应的深度矩阵,3个矩阵。举例来说,将每个视频帧中骨骼节点的x值可以转换为一个宽度矩阵,该宽度矩阵中每个元素为一个骨骼节点的x值。然后将y值作为高度矩阵的元素,可以得到高度矩阵。同理的,可以得到z值对应的深度矩阵。若每个动作视频中包括n帧,每个视频帧中共采集了22个骨骼节点,则第一矩阵可以包括3个n行22列的矩阵。
33.计算第i行与第i-1行每个坐标的差值,得到由相邻两行的差值构成的偏差矩阵。也就是说,利用第i帧中的坐标减去第i-1帧对应的坐标,得到相邻两帧之间的相同骨骼关节的差值。该差值可以体现同一骨骼关节的移动程度,便于确定动作中心帧。偏差矩阵可以为n-1行。i可以为2、3、4、

、n,即n≥i≥2。
34.示例性的实施方式中,计算得到偏差矩阵后,可以将偏差矩阵进行归一化。具体的,判断偏差矩阵中的每个差值是否大于0,若差值为正,则将差值替换为正1;若差值为负,则将差值替换为负1。如此一来,偏差矩阵中的元素由负1、0和正1构成,计算更加简单。
35.对归一化后的偏差矩阵,可以采用滑动窗口算法对偏差矩阵的每列进行求和计算,得到计算后的偏差累计矩阵。滑动窗口算法可以每次对偏差矩阵的列中预设数量的元素进行求和,将求出的和值作为偏差累计矩阵的列。举例来说,偏差矩阵包括10行,滑动窗口算法的窗口大小为5,则每次计算一列中的5个元素的累加和,例如先计算第一列中从第一行到第五行的和,将计算得到的和作为偏差累计矩阵第一列的第一行。然后根据滑动步长窗口滑动到下一个数据进行计算,例如滑动步长为1,则每次滑动一个单位,第一次计算第一列中从第一行到第五行的和,第二次则计算第一列中从第二行到第六行的和,依次类推,直到滑动到第一列的最后一行为止。对偏差矩阵的每列按照滑动窗口算法进行求和后,将求和的结果作为新的偏差累计矩阵中每列的数据。例如,第一次计算第一列中从第一行到第五行的和,作为偏差累计矩阵中第一列中第一行的值。
36.得到偏差累计矩阵后,计算偏差累计矩阵每行的累加和,确定累加和的绝对值最小的行为目标行数。由此可知,目标行数为相邻预设数量帧各个骨骼节点偏差综合后最接
近0的行,也就是说,在该预设数量的相邻视频帧中,相同的骨骼节点的位移达到中和,目标行数对应帧为动作中心帧。
37.示例性的实施方式中,三维坐标的每个维度对应一个矩阵,即第一矩阵包括宽度矩阵、高度矩阵、深度矩阵。按照上述计算目标行数的过程,可以分别计算每个维度的矩阵的目标行数,然后计算三个维度的目标行数的平均数,将该平均数对应的视频帧作为动作中心帧。示例性的,若三个维度的目标行数的平均数不为整数,可以采取向上取整的方式确定最终的动作中心帧。例如,计算三个维度的目标行数的平均数为3.2,则可以向上取整,将第4行对应的帧,即第4帧作为动作中心帧。此外,采用向下取整或者四舍五入的方式,也可以将不为整数的平均数转换为整数,从而确定对应的动作中心帧。
38.基于动作中心帧可以对动作视频进行重采样,从动作视频中提取出预设数量个样本视频帧,从而减少要处理的数据量。举例来说,动作视频中包括100个视频帧,从该动作视频中筛选出的样本视频帧可以为50帧,则检测模型要处理的输入数量量从100变成50。不仅减少了计算量,提高了计算速度,也能避免无用的视频帧对分析结果造成干扰,可以提高模型的精确度。
39.具体的,确定动作中心帧后,可以从原始的动作视频中提取出以动作中心帧为中心的连续预设数量个视频帧,作为样本视频帧。举例来说,以动作中心帧为中心,提取动作中心帧之前连续的m帧,以及动作中心帧之后连续的m帧,与动作中心帧共同作为样本视频帧,则样本视频帧为2m+1帧。m为正整数,预设数量为2m+1。若当前的动作视频中视频帧的总数量大于2m+1,则可以从其中提取动作中心帧前后各m个视频帧,加上动作中心帧,样本视频帧一共为2m+1帧。若当前的动作视频中视频帧的总数量小于2m+1,则可以用该动作视频的第一帧与最后一帧在动作视频的起始和终止位置分别进行填充,使得动作视频中包含的帧数等于2m+1,从而得到样本视频帧。
40.步骤30:基于所述样本视频帧中骨骼节点的三维坐标,确定所述样本视频帧的坐标矩阵,并基于所述样本视频帧中骨骼节点的三维坐标,确定所述骨骼节点处的角度,获得角度矩阵。
41.该坐标矩阵与上述第一矩阵类似,其行对应样本视频帧,其列对应骨骼节点。该坐标矩阵中只包括样本视频帧中骨骼节点的三维坐标。并且,该坐标矩阵也可以包括三个维度的矩阵,即x维度的矩阵、y维度的矩阵以及z维度的矩阵。
42.示例性的,结合骨骼节点对应的关节的角度能够提高运动功能分析结果的准确性。具体的,基于每个样本视频帧中骨骼节点的三维坐标,可以计算骨骼节点处关节的角度。然后根据每个样本视频帧的骨骼节点处的角度得到角度矩阵;将坐标矩阵与角度矩阵进行合并,将合并后的矩阵输入到检测模型中,以得到用户的运动功能分析结果。
43.举例来说,如图2所示,样本视频帧中包括22个骨骼节点。节点1为左肩、节点2为左肘、节点3为左大拇指、节点4为左食指、节点5为左小指、节点6为左腕、节点7为左髋、节点8为左膝、节点9为左踝、节点10为左脚趾、节点11为左脚跟。右边的各个节点与左边对称,不再赘述。根据节点1与节点2之间的向量,节点1与节点7之间的向量可以计算节点1处的肩关节的角度。根据节点2、节点6之间的向量,节点1、节点2之间的向量可以计算节点2处肘关节的角度。根据节点6、节点2之间的向量,与节点6、节点4之间的向量可以计算节点6处腕关节角度。根据节点7、节点1之间的向量、与节点7、节点8之间的向量可以计算节点7处髋关节角
度。根据节点8、节点7之间向量与节点8、节点9之间的向量可以计算节点8处膝关节角度。根据节点9、节点8之间向量与节点9、节点11之间的向量,可以计算节点9处踝关节角度。同理的,根据图2中示出的22个节点的三维坐标,可以得到每个样本视频帧中22个节点处三维坐标的样本矩阵,以及22个节点处角度构成的角度矩阵。
44.然后,步骤40:将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
45.将上述步骤得到的坐标矩阵可以输入预设的检测模型中,该模型可以提取坐标矩阵中每个骨骼节点的变化特征,从而输出目标用户的运动功能分析结果。该运动功能分析结果可以为用户的运动功能好坏的量化。示例性的,该检测模型被训练为根据输入的坐标矩阵,输出0到2之间的得分,作为运动功能分析结果。若得分越接近2,则可以表示用户的运动功能越接近于正常。若得分越接近0,则表示用户的运动功能障碍的严重程度越高。医生在对目标用户如脑中卒患者进行运动功能障碍评估时,可以参考本实施例的技术方案给出的运动功能分析结果,从而更加快速的对患者的运动功能障碍程度进行定量评估。
46.若样本视频帧一共为n帧,则样本矩阵为n
×
22的矩阵,角度矩阵为n
×
22的矩阵,将样本矩阵与角度矩阵进行合并,可以得到n
×
44的矩阵。将合并后的矩阵输入到检测模型中,可以得到用户的运动功能分析结果。
47.有些关节处角度变化较小,例如手腕、各手指之间等等,可以只计算其中关键关节的角度,从而减少计算角度的关节数量。示例性的,计算肩关节、肘关节、腕关节、髋关节、膝关节、踝关节的角度,即节点1、节点2、节点6、节点7、节点8、节点9处的角度,根据计算得到的角度来确定角度矩阵。样本视频帧一共为n帧时,角度矩阵为n行12列的矩阵。其中,行与样本视频帧对应,列与骨骼关节对应。
48.检测模型可以为长短时记忆神经网络(long short-term memory,lstm)模型。预先可以收集大量的运动视频,通过医生对运动视频中患者动作进行运动功能障碍评定,给出每个运动视频的评定结果。然后将这些运动视频作为训练数据,将运动视频对应的评定结果作为标签,来对lstm模型进行训练,训练完成后的模型作为检测模型。示例性的,检测模型可以包括两个模型,分别对上肢、下肢进行检测。具体的,将运动视频中的视频帧划分为上肢、下肢两个部分,利用这两个部分训练两个lstm模型,分别记为第一模型、第二模型。
49.将坐标矩阵可以划分为上肢关节位置矩阵与下肢关节位置矩阵;将角度矩阵可以划分为上肢关节角度矩阵和下肢关节角度矩阵。将上肢关节位置矩阵与上肢关节角度矩阵进行合并,合并后的矩阵输入到第一模型,得到上肢功能障碍评分。将下肢关节位置矩阵与下肢关节角度矩阵输入到第二模型,得到下肢功能障碍评分。举例来说,如图2所示,上肢关节位置矩阵包括左边的节点1至节点6以及与其对称的右边6个节点的三维坐标。若样本视频帧为2m+1帧,则上肢关节位置矩阵为(2m+1)
×
12。下肢关节位置矩阵包括节点7至节点11与对称的右边5个节点的三维坐标,即下肢关节位置矩阵为(2m+1)
×
10。上肢关节角度矩阵包括左右肩、肘、腕六个关节处的角度,即(2m+1)
×
6。下肢关节角度矩阵包括左右髋、膝、踝六个关节处的角度,即(2m+1)
×
6。将上肢关节位置矩阵与上肢关节角度矩阵进行合并,可以得到(2m+1)
×
(12+6)的矩阵,将该矩阵作为输入向量输入到第一模型中。第一模型可以提取输入向量的特征,并将提取的特征通过sigmoid和双曲正切激活函数拟合为一个0至2之间的数,作为上肢功能障碍评分输出。同理的,将下肢关节位置矩阵与下肢关节角度矩阵
进行合并,可以得到(2m+1)
×
(10+6)矩阵,将该矩阵作为输入向量,输入到第二模型中。第二模型可以根据该输入向量,输出下肢功能障碍评分。
50.用户的运动功能分析结果可以包括上肢功能障碍评分与下肢功能障碍评分。本实施方式中,通过采集用户在做运动时的视频,来检测用户的动作,通过神经网络模型对用户的动作进行评估,能够确保对评估的准确性。并且,在评估的过程中不需要专业人员的参与,能够节省人力时间,用户也能够方便及时地对自己的运动功能状况进行监测。
51.示例性的,结合上肢功能障碍评分与下肢功能障碍评分可以给出综合评分,作为最终的运动功能分析结果。例如,将上肢功能障碍评分与下肢功能障碍评分相加,作为运动功能分析结果;或者将上肢功能障碍评分与下肢功能障碍评分的平均值作为运动功能分析结果等等。
52.图3示出了本实施例提供的运动功能分析方法的一种应用场景。如图3所示,用户301为进行运动功能分析的目标用户。电子设备302可以包括高清数字摄像头303。该高清数字摄像头303可以采集用户301的动作视频,电子设备302接收到摄像头303采集到用户301的动作视频后,可以通过unity 3d软件搭建虚拟现实环境,生成用户301的虚拟人体运动模型304。虚拟人体运动模型303可以显示在电子设备302的显示屏幕305中。同时,显示屏幕305中还可以显示预设动作指令306。该预设动作指令306可以为预先制作虚拟人体模型的运动视频,通过虚拟现实界面可以显示该运动视频,用于引导用户执行运动任务。用户301在执行运动任务的过程中,电子设备302可以将用户301的虚拟人体运动模型304实时更新在屏幕305中。在用户301完成运动任务时,电子设备可以提取动作视频中样本视频帧的各个骨骼节点的三维坐标,从而得到坐标矩阵和角度矩阵。进而,利用检测模型提取坐标矩阵与角度矩阵的特征,输出对应的运动功能分析结果。与人为观察用户动作进行运动功能评定相比,通过检测模型可以客观准确地对运动功能进行量化,给用户准确、及时的分析结果。用户可以通过运动功能分析结果进行自我健康管理;医生也可以基于运动功能分析结果及时确定用户的运动功能障碍情况,来对用户进行运动功能障碍评定。
53.下面对本发明提供的运动功能分析装置进行描述,下文描述的运动功能分析装置与上文描述的运动功能分析方法可相互对应参照。
54.图4示出了本发明提供的运动功能分析装置的结构示意图。如图4所示,运动功能分析装置40可以包括数据采集模块41,用于采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧;视频采样模块42,用于提取每个所述视频帧中骨骼节点的三维坐标,基于所述三维坐标确定所述动作视频的动作中心帧,基于所述动作中心帧从所述动作视频中提取预设数量个视频帧,作为样本视频帧;特征提取模块43,用于基于所述样本视频帧中骨骼节点的三维坐标,确定所述样本视频帧的坐标矩阵,并基于所述样本视频帧中骨骼节点的三维坐标,确定所述骨骼节点处的角度,获得角度矩阵;数据确定模块44,用于将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
55.根据本发明的一种实施方式,数据采集模块41具体可以包括指令发送模块,用于通过声音信号发送多个预设动作指令,或者通过虚拟现实界面显示所述预设动作指令;视频采集模块,用于采集每个所述预设动作指令对应的动作视频。
56.根据/本发明的一种实施方式,所述动作视频中包括n个视频帧,n为正整数;视频
采样模块42具体可以包括矩阵获取模块,用于基于所述动作视频中n个视频帧中骨骼节点的三维坐标,得到所述动作视频对应的第一矩阵,所述第一矩阵的行与所述视频帧对应,列与所述骨骼节点对应;偏差计算模块,用于计算所述坐标矩阵中第i行与第i-1行每个三维坐标的差值,得到由所述差值构成的偏差矩阵,n≥i≥2;求和计算模块,用于基于滑动窗口算法对所述偏差矩阵的每列进行求和计算,得到计算后的偏差累计矩阵;行数确定模块,用于计算所述偏差累计矩阵的每行的累加和,确定所述累加和的绝对值最小的目标行数;将所述目标行数对应的视频帧作为动作中心帧。
57.根据本发明的一种实施方式,偏差计算模块具体被配置为:在所述差值大于0时,将所述差值替换为正1,在所述差值小于0时,将所述差值替换为负1。
58.根据本发明的一种实施方式,所述三维坐标包括宽度、高度、深度,所述第一矩阵包括宽度对应的宽度矩阵、高度对应的高度矩阵以及深度对应的深度矩阵;所述行数确定模块具体可以用于:分别确定所述宽度矩阵的目标行数,所述高度矩阵的目标行数以及所述深度矩阵的目标行数,将各个所述目标行数的平均数对应的视频帧,作为动作中心帧。
59.根据本发明的一种实施方式,所述检测模型包括第一模型、第二模型;所述数据确定模块44具体包括:样本划分模块,用于将所述坐标矩阵划分为上肢关节位置矩阵与下肢关节位置矩阵,并将所述角度矩阵划分为上肢关节角度矩阵与下肢关节角度矩阵;矩阵合并模块,用于将所述上肢关节位置矩阵与所述上肢关节角度矩阵合并后,输入预设的第一模型中,得到上肢功能障碍评分;评分输出模块,用于将所述下肢关节位置矩阵与下肢关节角度矩阵合并后,输入预设的第二模型中,得到下肢功能障碍评分。
60.图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行运动功能分析方法,该方法包括:采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧;提取每个所述视频帧中骨骼节点的三维坐标,并将所述三维坐标转化为坐标矩阵,所述坐标矩阵的行与所述视频帧对应,列与所述骨骼节点对应;将所述坐标矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
61.此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
62.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的运动功能分析方法,该方法包括:采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧;提取每个所述视频帧中骨骼节点的三维
坐标,基于所述三维坐标确定所述动作视频的动作中心帧,基于所述动作中心帧从所述动作视频中提取预设数量个视频帧,作为样本视频帧;基于所述样本视频帧中骨骼节点的三维坐标,确定所述样本视频帧的坐标矩阵,并基于所述样本视频帧中骨骼节点的三维坐标,确定所述骨骼节点处的角度,获得角度矩阵;将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
63.又一方面,本发明还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的运动功能分析方法,该方法包括:采集目标用户执行预设动作指令的动作视频,所述动作视频中包括多个视频帧;提取每个所述视频帧中骨骼节点的三维坐标,基于所述三维坐标确定所述动作视频的动作中心帧,基于所述动作中心帧从所述动作视频中提取预设数量个视频帧,作为样本视频帧;基于所述样本视频帧中骨骼节点的三维坐标,确定所述样本视频帧的坐标矩阵,并基于所述样本视频帧中骨骼节点的三维坐标,确定所述骨骼节点处的角度,获得角度矩阵;将所述坐标矩阵与所述角度矩阵输入预设的检测模型中,得到所述目标用户的运动功能分析结果。
64.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
65.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
66.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1