对脊柱形态进行分类的计算机设备和存储介质
技术领域
本申请涉及医疗器械技术领域,特别是涉及一种对脊柱形态进行分类的计算机设备和存储介质。
背景技术
在医疗器械领域中,可以利用数字化智能检测设备检测脊柱侧弯的情况。这种检测设备可以对人体的姿态特征进行数字化采样,例如获取加速度计的行进轨迹、X光图像、核磁共振图像等,然后对采样数据进行分析,得到脊柱侧弯的情况。但是这种检测设备往往需要结合其他专业化的设备才能对脊柱形态进行分析,确定脊柱形态所属的类别,例如加速度计、X光机和核磁共振仪,也就是说,需要在配备有专业化设备的场景下才能对脊柱形态的类别进行分析,使用专用化设备分析脊柱形态的类别,虽然可以保证分析结果的准确性,但是增加了对脊柱形态进行类别分析的局限性,降低分析脊柱形态的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在保证对脊柱形态类别进行分析准确性的同时,提高分析准确率的对脊柱形态进行分类的计算机设备和存储介质。
第一方面,提供一种对脊柱形态进行分类的计算机设备,所述计算机设备包括处理器,所述处理器被配置为执行以下步骤:
获取目标对象运动至至少一种预定姿态的运动视频;
若分析到在所述运动视频中所述目标对象运动至所述预定姿态,将所述目标对象运动至所述预定姿态的时刻作为目标稳定时刻;
获取在所述目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度;
根据所述相对高度,输出所述目标对象的脊柱形态类别。
在一个实施例中,在获取目标对象运动至至少一种预定姿态的运动视频后,所述处理器被配置为执行以下步骤:
从所述运动视频中,提取多个时刻下所述目标对象的头部位置;
根据所述头部位置的高度变化,分析所述目标对象是否运动至所述预定姿态。
在一个实施例中,在根据所述头部位置的高度变化,分析所述目标对象是否运动至所述预定姿态时,所述处理器被配置为执行以下步骤:
从所述多个时刻中选取预设时刻范围内的头部位置;
在所述预设时刻范围内,若所述头部位置的高度变化至极值位置,确定所述目标对象运动至所述预定姿态。
在一个实施例中,所述预定姿态包括起立姿态,所述目标稳定时刻包括起立稳定时刻;
所述处理器还被配置为执行以下步骤:在预设时刻范围内,若所述头部位置的高度变化至极大值位置,确定所述目标对象运动至所述起立姿态,将与所述极大值位置对应的时刻确定为起立稳定时刻。
在一个实施例中,所述预定姿态包括深蹲姿态,所述目标稳定时刻包括深蹲稳定时刻;
所述处理器还被配置为执行以下步骤:在预设时刻范围内,若所述头部位置的高度变化至极小值位置,确定所述目标对象运动至所述深蹲姿态,将与所述极小值位置对应的时刻确定为深蹲稳定时刻。
在一个实施例中,当存在多个起立稳定时刻和多个深蹲稳定时刻时,所述处理器在根据所述相对高度,输出所述目标对象的脊柱形态类别时,被配置为执行以下步骤:
获取所述多个起立稳定时刻下的脊柱左侧目标点和脊柱右侧目标点的第一相对高度;
获取所述多个深蹲稳定时刻下的脊柱左侧目标点和脊柱右侧目标点的第二相对高度;
确定多个第一相对高度和多个第二相对高度之间的平均相对高度;
根据所述平均相对高度,输出所述目标对象的脊柱形态类别。
在一个实施例中,在根据所述相对高度,输出所述目标对象的脊柱形态类别时,所述处理器被配置为执行以下步骤:
获取所述脊柱左侧目标点和所述脊柱右侧目标点的水平间距;
根据所述水平间距和所述相对高度,确定所述脊柱左侧目标点和所述脊柱右侧目标点之间的倾斜度;
根据所述倾斜度,输出所述脊柱形态类别。
在一个实施例中,在根据所述相对高度,输出所述目标对象的脊柱形态类别时,所述处理器被配置为执行以下步骤:
获取预先设定的倾斜度等级;所述倾斜度等级对应不同的脊柱形态类别;
确定所述倾斜度所属的倾斜度等级;
将与所确定的倾斜度等级对应的脊柱形态类别,作为所述目标对象的脊柱形态类别。
在一个实施例中,所述处理器在获取目标对象运动至至少一种预定姿态的运动视频时,被配置为执行以下步骤:接收由与本端预先连接的客户端发送的运动视频;所述运动视频为所述目标对象按照预定动作要领运动至所述预定姿态的动态视频。
在一个实施例中,所述脊柱左侧目标点为左肩关节,所述脊柱右侧目标点为右肩关节;
所述处理器在获取在所述目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度时,被配置为执行以下步骤:
利用预先设定的关节定位算法对所述目标稳定时刻的帧图像进行处理,确定左肩关节位置和右肩关节位置;
根据所述左肩关节位置和所述右肩关节位置,得到所述左肩关节和所述右肩关节的相对高度。
第二方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标对象运动至至少一种预定姿态的运动视频;
若分析到在所述运动视频中所述目标对象运动至所述预定姿态,将所述目标对象运动至所述预定姿态的时刻作为目标稳定时刻;
获取在所述目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度;
根据所述相对高度,输出所述目标对象的脊柱形态类别。
上述对脊柱形态进行分类的计算机设备和计算机可读存储介质,可以获取目标对象运动至至少一种预定姿态的运动视频,并在分析到运动视频中目标对象运动至预定姿态后,将目标对象运动至预定姿态的时刻作为目标稳定时刻,获取目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度,然后根据相对高度,输出目标对象的脊柱形态类别,通过对目标对象运动至预定姿态的运动视频进行分析得到脊柱形态类别,不仅保证了在不需要借助专业化设备的情况下,得到的脊柱形态类别的准确性,而且在任何场景下都可以分析脊柱形态类别,解决了传统使用专业化设备进行分析的局限性,提高对脊柱形态类别进行分析的效率。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中计算机设备与应用程序进行交互的示意图;
图3为一个实施例中对脊柱形态进行分类的计算机设备的流程示意图;
图4为一个实施例中头部位置的高度变化的示意图;
图5为另一个实施例中头部位置的高度变化的示意图;
图6为另一个实施例中对脊柱形态进行分类的计算机设备的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请提供的对脊柱形态进行分类的计算机设备,可以是服务器,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力,被配置为执行对脊柱形态进行分类的步骤,处理器可以运行相应的计算机程序,从而执行对脊柱形态进行分类的步骤。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与对脊柱形态进行分类相关的数据。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。计算机设备可以用独立的服务器或者多个服务器组成的服务器集群来实现,计算机设备可以和客户端进行连接,客户端可以是应用程序或者是智能手机、平板电脑等终端设备,当客户端为应用程序时,应用程序可以通过在终端设备上运行的方式,实现与计算机设备的通信。如图2所示,当计算机设备为服务器,客户端为应用程序时,应用程序安装在智能手机上,应用程序通过智能手机与服务器进行连接。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,如图3所示,提供了一种对脊柱形态进行分类的计算机设备,该计算机设备的处理器被配置为执行对脊柱形态进行分类的相关步骤,结合图3对对脊柱形态进行分类的相关步骤进行介绍:
步骤302,获取目标对象运动至至少一种预定姿态的运动视频。
其中,姿态可以是理解为肢体的摆放位置,例如四肢的摆放位置或其他部位的摆放位置;预定姿态可以理解为预先定义的肢体的摆放位置,预先定义的肢体摆放位置可以通过预定动作要领进行定义,也可以理解为,预定姿态为通过预定动作要领进行定义的姿态;预定姿态可以有不同种类,不同种类的预定姿态对应肢体的不同摆放位置,肢体的不同摆放位置对应不同种类的预定动作要领,也就是可以理解为,不同种类的预定姿态可以对应不同的预定动作要领,例如,如果预定姿态为起立姿态,那么预定动作要领可以是双脚与肩部同宽、脚尖向外、保持直立,如果预定姿态时深蹲姿态,那么预定动作要领可以是腰背挺直、双手向前伸直、双脚与肩部同宽、膝关节小于90°、膝盖的高度不超过脚尖,预定动作要领可以根据实际情况设置。
运动视频可以理解为目标对象运动至一种或多种预定姿态的动态视频,当预定姿态为通过预定动作要领进行定义的姿态时,运动视频可以理解为目标对象按照预定动作要领运动至预定姿态的动态视频。
具体地,拍摄组件拍摄目标对象运动至一种或多种预定姿态的运动视频后,计算机设备获取到该运动视频,进入步骤304。
其中,拍摄组件可以为计算机设备的组成部分。在一个实施例中,拍摄组件可以不是计算机设备的组成部分,此时,结合图2中计算机设备为服务器,客户端为应用程序,对计算机设备获取到该运动视频的方式进行介绍:当客户端是应用程序时,应用程序安装在智能手机等终端设备上,智能手机通过其拍摄组件202拍摄目标对象按照预定动作要领运动至预定姿态的运动视频,然后应用程序调用该运动视频,通过智能手机将该运动视频发送至服务器等计算机设备。
步骤304,若分析到在所述运动视频中所述目标对象运动至所述预定姿态,将所述目标对象运动至所述预定姿态的时刻作为目标稳定时刻。
计算机设备在获取到运动视频后,对运动视频进行分析,如果计算机设备分析到目标对象运动至预定姿态,则将目标对象运动至预定姿态的时刻作为目标稳定时刻。其中,当目标对象运动至预定姿态的次数为多次时,计算机设备可以从中选取一次运动至预定姿态的时刻,将选取的时刻作为目标稳定时刻,计算机设备还可以将多次运动至预定姿态的时刻作为目标稳定时刻,此时,每个目标稳定时刻分别与不同次数运动至预定姿态对应。当存在多种预定姿态时,计算机设备可以从中选取一种预定姿态,将目标对象运动至所选取的预定姿态的时刻作为目标稳定时刻,计算机设备也可以将目标对象运动至多种预定姿态的时刻都作为目标稳定时刻,此时,目标稳定时刻的个数为多个,每个目标稳定时刻对应不同种类的预定姿态。当存在多种预定姿态,并且目标对象运动至多种预定姿态的次数为多次时,计算机设备可以将每次运动至任意一种预定姿态作为目标稳定时刻,此时每个目标稳定时刻与不同次数下运动至不同预定姿态对应。
步骤306,获取在所述目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度。
脊柱目标点可以理解为用于对脊柱形态进行分析的目标点,目标点可以是脊柱两侧的任意点,任意点可以是指背部上的任意区域,还可以是指任意关节,例如肩关节;在对脊柱形态进行分析时,可以结合脊柱两侧的脊柱目标点进行分析,为了区分脊柱两侧的脊柱目标点,故,用“脊柱左侧目标点”和“脊柱右侧目标点”进行命名。
计算机设备在确定目标稳定时刻后,获取与目标稳定时刻对应的帧图像,对帧图像中脊柱左侧目标点和脊柱右侧目标点的位置进行分析,确定脊柱左侧目标点和脊柱右侧目标点的相对高度。
步骤308,根据所述相对高度,输出所述目标对象的脊柱形态类别。
脊柱形态类别可以理解为与不同倾斜度等级对应的脊柱形态,倾斜度等级可以用脊柱左侧目标点和脊柱右侧目标点的相对高度进行评估,例如如果相对高度在第一范围内,那么倾斜度等级为轻微,脊柱形态类别为第一级,如果相对高度在第二范围内,那么倾斜度等级为中等,脊柱形态类别为第二级,如果相对高度在第三范围内,那么倾斜度等级为严重,脊柱形态类别为第三级。
计算机设备在获取到脊柱左侧目标点和右侧目标点的相对高度后,可以确定相对高度所属的范围,进而确定脊柱形态类别,输出脊柱形态类别。其中,计算机设备可以向客户端输送所确定的脊柱形态类别。
上述对脊柱形态进行分类的计算机设备包括处理器,处理器通过获取目标对象运动至至少一种预定姿态的运动视频,并在分析到运动视频中目标对象运动至预定姿态后,将目标对象运动至预定姿态的时刻作为目标稳定时刻,获取目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度,然后根据相对高度,输出目标对象的脊柱形态类别,通过对目标对象运动至预定姿态的运动视频进行分析得到脊柱形态类别,不仅保证了在不需要借助专业化设备的情况下,得到的脊柱形态类别的准确性,而且在任何场景下都可以分析脊柱形态类别,解决了传统使用专业化设备进行分析的局限性,提高对脊柱形态类别进行分析的效率。
在一个实施例中,目标对象在运动至预定姿态的过程中,如果头部位置的高度发生变化,为了更准确地分析目标对象是否运动至预定姿态,计算机设备可以对运动视频中目标对象的头部位置的高度变化进行分析,以判断目标对象是否运动至预定姿态。在本实施例中,计算机设备可以从运动视频中,提取到多个时刻下目标对象的头部位置,然后根据头部位置的高度变化,分析所述目标对象是否运动至所述预定姿态。
具体地,计算机设备可以从运动视频中得到多个时刻的帧图像,从多个时刻的帧图像中提取目标对象的头部位置,然后将多个时刻的头部位置按照目标对象运动至预定姿态的时间进行排序,从而得到目标对象在运动至预定姿态的过程中头部位置的高度变化情况,进而根据头部位置的高度变化,分析目标对象是否运动至预定姿态。
可以理解的是,如果不同目标对象的身高存在差异,那么不同目标对象在运动至预定姿态时,头部位置均有所不同,因此,如果根据预先设定好的标准值判断目标对象是否运动至预定姿态,会导致分析结果的不准确。本实例提供的通过对目标对象头部位置的高度变化进行分析,判断目标对象是否运动至预定姿态,可以解决因目标对象的身高差异导致分析结果不准确的情况,提高分析目标对象是否运动至预定姿态的准确性。
在一个实施例中,如果目标对象在运动至预定姿态的过程中,预定姿态下的头部位置可以是运动过程中的极值位置,例如当预定姿态为起立姿态或者深度姿态时,目标对象在运动至起立姿态或者深度姿态的过程中,头部位置的高度如果变化至极值位置,说明目标对象运动至对应的预定姿态。本实施例中,计算机设备在获取到多个时刻下目标对象的头部位置后,可以从多个时刻中选取预设时刻范围内的头部位置,在预设时刻范围内,如果头部位置的高度变化至极值位置,计算机设备可以确定目标对象运动至预定姿态。
其中,计算机设备在从多个时刻中选取预设时刻范围内的头部位置时,可以根据待分析时刻进行选取,例如,第30个时刻下的头部位置为计算机设备的待分析时刻的头部位置,那么计算机设备可以从多个时刻中选取基于第30个时刻并且预设时刻范围为前后16个时刻的头部位置;计算机设备如果在预设时刻范围内,头部位置的高度变化至极值位置,那么计算机设备可以将与极值位置对应的时刻,如待分析时刻,确定为目标稳定时刻,此时,目标对象运动至预定姿态。
需要说明的是,由于不同时刻对应不同的帧图像,计算机设备在根据待分析时刻选取预设时刻范围内的头部位置时,可以理解为根据待分析的帧图像选取预设帧范围内帧图像,例如,待分析图像为第30帧,那么计算机设备可以选取基于第30帧图像并且预设帧范围为前后16帧的帧图像,然后从选取到的帧图像中提取对应的头部位置,分析头部位置的高度变化情况。
在一个实施例中,如果预定姿态为起立姿态,那么计算机设备可以在从多个时刻中选取预设时刻范围内的头部位置后,分析到在预设时刻范围内,头部位置的高度变化至极大值位置,则确定目标对象运动至起立姿态,并将与极大值位置对应的时刻确定为起立稳定时刻。如图4所示,计算机设备获取到预设时刻范围内的头部位置,进而可以确定在第4个时刻下头部位置的高度变化至极大值位置,此时可以确定目标对象运动至起立姿态,并将第4个时刻确定为起立稳定时刻。
在另一个实施例中,如果预定姿态为深蹲姿态,那么计算机设备可以在从多个时刻中选取到预设时刻范围内的头部位置后,分析到在预设时刻范围内,头部位置的高度变化至极小值位置,则确定目标对象运动至深蹲姿态,并将与极小值位置对应的时刻确定为深蹲稳定时刻。如图5所示,计算机设备获取到预设时刻范围内的头部位置,进而可以确定在第3个时刻下头部位置的高度变化至极小值位置,此时可以确定目标对象运动至深蹲姿态,并将第3个时刻确定为起立稳定时刻。
需要说明的是,图4和图5展示的头部位置可以理解为是预设时刻范围内的一部分,并不构成对预设时刻范围的限定。
在一个实施例中,如果预定姿态包括起立姿态和深蹲姿态,并且目标对象多次运动至对应的预定姿态,那么计算机设备在步骤304中可以将每次运动至任意一种预定姿态的时刻作为目标稳定时刻,即计算机设备可以获取到多个起立稳定时刻和多个深蹲稳定时刻。
在本实施例中,计算机设备在获取到多个起立稳定时刻和多个深蹲稳定时刻后,可以分别获取多个起立稳定时刻下脊柱左侧目标点和脊柱右侧目标点的第一相对高度,此时获取到的第一相对高度的个数为多个,和起立稳定时刻的个数对应,以及多个深蹲稳定时刻下脊柱左侧目标点和脊柱右侧目标点的第二相对高度,此时获取到的第二相对高度的个数为多个,和深蹲稳定时刻的个数对应,然后对多个第一相对高度和多个第二相对高度进行求和处理,得到相对高度和值,对第一相对高度的个数和第二相对高度的个数进行求和处理,得到个数和值,将相对高度和值除以个数和值,得到平均相对高度;然后根据平均相对高度,输出目标对象的脊柱形态类别。例如,目标对象运动至起立姿态和深蹲姿态的次数分别为5次,此时,计算机设备可以获取到5个起立稳定时刻和5个深蹲稳定时刻,进而得到与5个起立稳定时刻对应的5个第一相对高度,与5个深蹲稳定时刻对应的5个第二相对高度,然后计算机设备对5个第一相对高度和5个第二相对高度进行求和,得到相对高度和值,将相对高度和值除以个数和值10个,得到平均相对高度,进而根据平均相对高度,输出脊柱形态类别。
需要说明的是,为了“第一/第二”是为了区分不同种类的预定姿态下目标稳定时刻的相对高度。
在上述实施例中,对起立姿态下的多个起立稳定时刻和深蹲姿态下的多个深蹲稳定时刻的相对高度进行平均化分析,可以反映出目标对象在运动至对应姿态下脊柱形态的变化特征,更准确地对目标对象的脊柱形态类别进行分析。
在一个实施例中,计算机设备在获取到脊柱左侧目标点和脊柱右侧目标点的相对高度后,还可以获取脊柱左侧目标点和脊柱右侧目标点的水平间距,然后计算相对高度和水平间距之间的比值,根据比值,确定脊柱左侧目标点和脊柱右侧目标点之间的倾斜度,然后根据倾斜度,输出脊柱形态类别。其中,相对高度和水平间距之间的比值可以是几何数学上的斜率,此时可以将该斜率认为是倾斜度,也可以将与该斜率对应的角度作为倾斜度。可以理解的是,当相对高度有多个时,此时倾斜度也有多个时,计算机设备根据平均相对高度,输出目标对象的脊柱形态类别可以理解为:计算机设备计算多个倾斜度的平均倾斜度,根据平均倾斜度输出目标对象的脊柱形态类别。
进一步地,计算机设备在得到倾斜度后,可以根据倾斜度等级输出对应的脊柱形态类别,其中倾斜度等级可以是预先设定的,每个倾斜度等级对应不同的脊柱形态类别,倾斜度等级可以通过倾斜度范围确定,例如在倾斜度是用斜率表征的情况下,可以将倾斜度等级为轻微确定为包括倾斜度小于tan7°的倾斜度,将倾斜度为中等确定为包括倾斜度在tan7°和tan10°之间的倾斜度,将倾斜度为严重确定为包括倾斜度大于tan10°的倾斜度。
具体地,计算机设备在得到倾斜度后,确定倾斜度所属的倾斜度等级,并确定与该倾斜度等级对应的脊柱形态类别,将该脊柱形态类别作为目标对象的脊柱形态类别。
在上述实施例中,获取脊柱左侧目标点和脊柱右侧目标点的水平间距,并根据水平间距和相对高度确定倾斜度,输出脊柱形态类别,简化了对脊柱形态类别分析的操作,提高分析脊柱形态类别的效率。进一步地,还通过确定倾斜度所属的倾斜度等级,确定对应脊柱形态类别,对脊柱形态类别进行分析的操作进行统一化,更适用于多种场景下的脊柱形态类别分析。
在一个实施例中,脊柱左侧目标点可以为左肩关节,脊柱右侧目标点可以为右肩关节,此时,计算机设备在获取到运动视频后,可以利用预先设定的关节定位算法对目标稳定时刻的帧图像进行处理,确定左肩关节位置和右肩关节位置,然后计算左肩关节位置和右肩关节位置的差值,将该差值作为左肩关节和右肩关节的相对高度。其中,左肩关节位置和右肩关节位置可以用图像坐标表示,如P1(x1,y2),P2(x2,y2);此时,相对高度为y2-y1,水平间距为x2-x1,对应的倾斜度可以是斜率,可以用k表示斜率,并且斜率k:
其中,关节定位算法对目标稳定时刻的帧图像进行处理可以分为三个阶段:第一阶段利用VGG深度学习神经网络为目标稳定时刻的帧图像创建特征映射,将图像从空间域转化为高维特征向量空间;第二阶段CNN卷积神经网络的第一分支预测身体部位位置(例如肘部,膝部等)的一组2D坐标置信度图;第三阶段利用CNN卷积神经网络的第二分支计算人体不同关节点之间的关联度,即将第一阶段得到的图像特征向量场转换为关节点之间的亲和度场,从而得到左肩关节位置和右肩关节位置。关节定位算法还可以确定头部位置。
在本实施例中,将脊柱左侧目标点确定为左肩关节,将脊柱右侧目标点确定为右肩关节,可以更快速地定位到对应的位置和相关高度,进而提高对脊柱形态类别进行分析的效率。
现结合图6和具体应用实施例介绍本申请提供的对脊柱形态进行分类的计算机设备。
在本实施例中,如图2所示,计算机设备可以为服务器,应用程序安装在智能手机上,通过智能手机的拍摄组件202拍摄运动视频,由应用程序调用该运动视频,将该运动视频发送至服务器,并且服务器在向客户端输送脊柱形态类别时,可以以脊柱测试风险等级评估报告的形式输送。另外在服务器中还预先配置有关节定位算法。
步骤602,获取运动视频数据。
获取运动视频,智能手机拍摄组件拍摄到目标对象连续5次运动至起立姿态和深蹲姿态的运动视频,并将该运动视频发送至服务器。
其中,起立姿态对应的动作要领是:双脚与肩部同宽、脚尖向外、保持放松直立姿态;深蹲姿态对应的动作要领是:腰背挺直、双手向前伸直、双脚与肩部同宽、膝关节小于90°、膝盖高度不超过脚尖。
目标对象从起立姿态运动至深蹲姿态,从深蹲姿态运动至起立姿态的过程中,身体上部保持缓慢上下起伏动作,但双脚不能移动。目标对象按照该要求连续执行5次,整个运动过程在一分钟内完成。另外,拍摄组件在拍摄时,将拍摄组件朝向目标对象的后背面。
步骤604,分析运动视频,提取头部位置、左肩关节位置、右肩关节位置。
服务器在获取到运动视频后,利用关节定位算法,确定头部位置、左肩关节位置、右肩关节位置,可以分为三阶段:第一阶段利用VGG深度学习神经网络为运动视频的帧图像创建特征映射,将图像从空间域转化为高维特征向量空间;第二阶段使用CNN卷积神经网络的第一分支预测身体部位位置(例如肘部,膝部等)的一组2D坐标置信度图;第三阶段使用CNN卷积神经网络的第二分支计算人体不同关节点之间的关联度,即将第一阶段得到的图像特征向量场转换为关节点之间的亲和度场,从而得到头部位置、左肩关节位置、右肩关节位置。
步骤606,确定起立稳定时刻和深蹲稳定时刻。
获取待分析帧图像相邻的前后16帧图像,提取对应的头部位置,可以用y坐标表示,并按照时间顺序进行排序,可以得到如图4或图5的头部位置的高度变化图像。如果待分析帧图像的y坐标为极大值时,则判断为目标对象运动至起立姿态,则将该时刻确定为起立稳定时刻;如果待分析帧图像的y坐标为极小值,则判断目标对象运动至深蹲姿态,则将该时刻确定为深蹲稳定时刻。服务器可以采用通过多项式非线性插值对头部位置进行分析。
步骤608,获取左肩关节位置和右肩关节位置的斜率。
确定起立稳定时刻和深蹲稳定时刻下的左肩的图像坐标(相当于左肩关节位置)和右肩的图像坐标(相当于右肩关节位置),计算左肩的图像坐标和右肩的图像坐标之间的斜率,例如,左肩和右肩的图像坐标分别为P1(x
1,y
2),P2(x
2,y
2),且x
1≠x
2。则P1和P2连线的斜率k为:
此时,若k>0,则表征左肩高于右肩;若k<0,则表征左肩低于右肩。
步骤610,输出脊柱形态类别。
计算5次起立姿态和5次深蹲姿态下斜率的平均值(相当于平均倾斜度)。如果平均值小于tan7°,则判定目标对象倾斜度等级为轻微,脊柱形态类别为第一级;如果平均值为tan7°到tan10°之间,则判定目标对象倾斜度等级为中等,脊柱形态类别为第二级;如果平均值大于tan10°,则判定目标对象倾斜度等级为严重,脊柱形态类别为第三级。然后服务器通过脊柱测试风险等级评估报告的形式向客户端发送脊柱形态类别。
在本实施例中,利用智能手机的拍摄组件运动视频,避免了在对目标对象进行脊柱形态类别分析时,对专业化设备的依赖,保证了对脊柱形态类别进行分析的准确性,还提高了对脊柱形态类别进行分析的效率。
应该理解的是,虽然图3和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标对象运动至至少一种预定姿态的运动视频;
若分析到在运动视频中目标对象运动至预定姿态,将目标对象运动至预定姿态的时刻作为目标稳定时刻;
获取在目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度;
根据相对高度,输出目标对象的脊柱形态类别。
在一个实施例中,在获取目标对象运动至至少一种预定姿态的运动视频后,处理器被配置为执行以下步骤:从运动视频中,提取多个时刻下目标对象的头部位置;根据头部位置的高度变化,分析目标对象是否运动至预定姿态。
在一个实施例中,在根据头部位置的高度变化,分析目标对象是否运动至预定姿态时,处理器被配置为执行以下步骤:从多个时刻中选取预设时刻范围内的头部位置;在预设时刻范围内,若头部位置的高度变化至极值位置,确定目标对象运动至预定姿态。
在一个实施例中,预定姿态包括起立姿态,目标稳定时刻包括起立稳定时刻;处理器还被配置为执行以下步骤:在预设时刻范围内,若头部位置的高度变化至极大值位置,确定目标对象运动至起立姿态,将与极大值位置对应的时刻确定为起立稳定时刻。
在一个实施例中,预定姿态包括深蹲姿态,目标稳定时刻包括深蹲稳定时刻;处理器还被配置为执行以下步骤:在预设时刻范围内,若头部位置的高度变化至极小值位置,确定目标对象运动至深蹲姿态,将与极小值位置对应的时刻确定为深蹲稳定时刻。
在一个实施例中,当存在多个起立稳定时刻和多个深蹲稳定时刻时,处理器在根据相对高度,输出目标对象的脊柱形态类别时,被配置为执行以下步骤:获取多个起立稳定时刻下的脊柱左侧目标点和脊柱右侧目标点的第一相对高度;获取多个深蹲稳定时刻下的脊柱左侧目标点和脊柱右侧目标点的第二相对高度;确定多个第一相对高度和多个第二相对高度之间的平均相对高度;根据平均相对高度,输出目标对象的脊柱形态类别。
在一个实施例中,在根据相对高度,输出目标对象的脊柱形态类别时,处理器被配置为执行以下步骤:获取脊柱左侧目标点和脊柱右侧目标点的水平间距;根据水平间距和相对高度,确定脊柱左侧目标点和脊柱右侧目标点之间的倾斜度;根据倾斜度,输出脊柱形态类别。
在一个实施例中,在根据相对高度,输出目标对象的脊柱形态类别时,处理器被配置为执行以下步骤:获取预先设定的倾斜度等级;倾斜度等级对应不同的脊柱形态类别;确定倾斜度所属的倾斜度等级;将与所确定的倾斜度等级对应的脊柱形态类别,作为目标对象的脊柱形态类别。
在一个实施例中,处理器在获取目标对象运动至至少一种预定姿态的运动视频时,被配置为执行以下步骤:接收由与计算机设备预先连接的客户端发送的运动视频;运动视频为目标对象按照预定动作要领运动至预定姿态的动态视频。
在一个实施例中,脊柱左侧目标点为左肩关节,脊柱右侧目标点为右肩关节;处理器在获取在目标稳定时刻下脊柱左侧目标点和脊柱右侧目标点的相对高度时,被配置为执行以下步骤:利用预先设定的关节定位算法对目标稳定时刻的帧图像进行处理,确定左肩关节位置和右肩关节位置;根据左肩关节位置和右肩关节位置,得到左肩关节和右肩关节的相对高度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。