欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 一种基于计算机视觉的瑜伽动作指导系统和方法独创技术50534字

一种基于计算机视觉的瑜伽动作指导系统和方法

2023-03-19 00:37:53

一种基于计算机视觉的瑜伽动作指导系统和方法

  技术领域

  本发明属于健身管理训练技术领域,具体涉及一种基于计算机视觉的瑜伽动作指导系统和方法。

  背景技术

  随着社会不断发展进步,人们的生活节奏也在不断的加快,人们对健康的关注程度也随之日益提高,步入运动健身行列的人群越来越多,现在网上各种健身教程和APP非常多,全民在家健身已经很流行。瑜伽作为其中一种,因为它容易实现,不需要器械,因此受到了更多人的青睐。瑜伽不仅可以解决长时间伏案工作的办公人员的疲劳问题,而且,若坚持练习瑜伽,则可促进新陈代谢,可以让形体更加完美,培养气质、提升个人魅力。

  据调查发现,大多数人都是通过自己找视频学习,虽能在一定程度上满足人们的需求,但在训练者体验上不可避免会出现枯燥乏味、难以坚持等问题;同时,大众在没有瑜伽教练的专业指导下难以保证动作的规范化而可能受伤,难以根据自身训练情况与目标制定针对性的计划;此外,如果在瑜伽会馆里,健身者需要缴纳一定的费用,由瑜伽教练进行现场教学及指导,当健身者人数较多时,瑜伽教练并不能顾及到每一位健身者,但是如果进行小班教课,又会使健身者的费用增加。

  现有的一些实施方案,例如,公开号为CN108853946A的专利文献公开了一种基于Kinect的健身指导训练系统及方法,需要特定的采集设备Kinect传感器提取人体关键点位置。再如,公开号为CN106422274A的专利文献公开了一种基于多传感器的瑜伽评估系统,使用可穿戴设备进行所需信息的计算,都是基于硬件传感器设计,操作流程繁琐,妨碍训练者锻炼。另外,一种基于人员图像识别的健身动作检测与分析系统,利用已经存储好的标准健身动作的参数特征和采集到的数据特征进行比较,需要使用标准动作模板,适用性一般。

  发明内容

  基于现有技术中存在的上述不足,本发明的目的在于提供一种基于计算机视觉的瑜伽动作指导系统和方法,建立灵活高效的瑜伽姿态评估系统,可以帮助瑜伽训练者及时调整动作细节,提高训练效率,同时避免因为错误的训练姿势损伤身体。

  本发明的目的可以通过以下技术方案实现:

  一种基于计算机视觉的瑜伽动作指导系统,包括:

  图像采集模块,用于实时采集训练者与教练视频的当前身体姿态的图像;

  图像处理与评估模块,用于从图像中获取人体骨架信息,并基于人体骨架信息进行训练者姿势的评价与动作指导语句的推理;

  语音播报及评价显示模块,用于提醒训练者姿势是否标准并根据动作指导语句给予动作指导,还用于显示训练者的运动评价数据;

  云端数据管理模块,分别与图像采集模块、图像处理与评估模块、语音播报及评价显示模块通信连接,用于接收图像采集模块上传的图像数据并存储、将图像数据发送至图像处理与评估模块、接收图像处理与评估模块上传的运动评价数据及动作指导语句、将运动评价数据及动作指导语句发送至语音播报及评价显示模块。

  作为优选方案,图像采集模块是训练者运动状态信息的来源。该模块以图像的形式获取并记录训练者与训练视频中教练的当前身体状态,通过时序排列多张图像得到一段时间内的训练者运动状态记录视频,作为评估算法执行的基础准备。

  作为优选方案,所述图像处理与评估模块包括:

  图像子模块,用于从图像数据中提取人体的关键点位置,并根据关键点位置依序以连线的形式构建人体骨架,以获得训练者运动姿态信息和教练运动姿态信息;

  评估子模块,用于将训练者运动姿态信息与教练运动姿态信息进行姿态对比,以获得训练者的运动评价数据;还用于根据运动评价数据判定是否进行动作的指导,并在需要进行动作的指导时推理出动作指导语句。

  作为优选方案,所述姿态对比的评价指标包括:

  距离指标,为训练者运动姿态和教练运动姿态中相同两个关键点位置的距离的偏差程度;

  角度指标,为训练者运动姿态的各个骨骼间形成的夹角与教练运动姿态中的对应夹角间的偏差程度;

  频率指标,为训练者运动姿态中单位时间内周期性动作完成的次数与教练运动姿态中单位时间内周期性动作完成的次数之间的比值;

  比例因子,为训练者的骨架大小与教练的骨架大小之间的比例系数。

  作为优选方案,所述姿态对比的算法综合单个动作的标准程度与完整运动过程的完成程度,选用角度指标和频率指标组成联合评价指标,通过基于时间序列的熵权法自动为每个指标的关键点位置自动定权,以获得训练者动作的综合得分;

  根据综合得分划分为不及格、合格、良好、优秀四种等级;若综合得分为良好或合格,则输出进行动作指导语句推理的指令,根据关键点位置的匹配情况推理出动作指导语句;若综合得分为不合格,则输出按照教练运行姿势进行自行调整的指令。

  作为优选方案,所述动作指导语句包括:

  指令类型1:弯曲问题;

  指令类型2:肢端旋转问题;

  指令类型3:肢端距离调整问题;

  指令类型4:扭腰动作问题;

  指令类型5:对于需要侧弯腰的动作问题;

  指令类型6:对于需要顶胯和缩胯的动作问题;

  指令类型7:对于需要挺胸与含胸的动作问题;

  进一步地,所述指令类型1的推导方法为:弯曲问题是根据选自脖子,右肩,右肘,右腕,左肩,左肘,左腕,右臀,右膝,右踝,左臀,左膝,左踝的关键点,以判断函数为其中,为教练视频中关键点B的弯曲角度,A与C为关键点B的相邻关键点,VABC为训练者视频中关键点B的弯曲角度,A与C为关键点B的相邻关键点。当p1为一负数时,则方向判断为伸直,当p1为一正数时,方向判断为弯曲。程度直接用|p1|来定义弯曲程度。

  进一步地,所述指令类型2的推导方法为:肢端旋转问题是根据选自左手尖与左腕的长度,右手尖与右腕的长度,左脚尖与左踝的长度,右脚尖与右踝的长度的关键点,以方向判断函数为其中,k为比例因子,为教练视频中关键点A与B的连线长度,LAB为训练者视频中关键点A与B的连线长度,关键点A为上述左手尖、右手尖、左脚尖与右脚尖中任意一点,关键点B为上述左腕、右腕、左踝和右踝中与关键点A对应的一点。当p2大于1时,则方向判断为向偏离平行于相机方向转动;当p2小于1时,则方向判断为向平行于相机方向转动。

  进一步地,所述指令类型3的推导方法为:肢端距离调整问题是根据选自左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点,判别函数为其中,k为上述定义的比例因子,LAB为训练者视频中左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点的距离,为教练视频中左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点的距离。当p3大于1时,则方向判断为减少;当p3小于1时,则方向判断为增加。

  进一步地,所述指令类型4的推导方法为:扭腰动作问题是根据选自左肩与右肩的连线距离和左臀与右臀的连线距离的关键点,方向包括扭腰和往回扭腰。方向判别函数为其中,LAB为训练者左肩与右肩的连线距离,LCD为训练者左臀与右臀的连线距离,为教练左肩与右肩的连线距离,为教练左臀与右臀的连线距离。当p4大于1时,则方向判断为往回扭腰;当p4小于1时,则方向判断为扭腰。

  进一步地,所述指令类型5的推导方法为:对于需要侧弯腰的动作问题以左肩与右肩的连线与水平的角度和左臀与右臀的连线与水平的角度为对比的因素,角度求解公式为其中,YA为左肩或左臀的Y轴坐标,YB为右肩或右臀的Y轴坐标,XA为左肩或左臀的X轴坐标,XB为右肩或右臀的X轴坐标,方向包括侧弯和弯回。其方向判别函数与程度通过模糊推理的方法由两种因素推导方向。合成采用最大-最小法,模糊蕴含采用求交法。A'为左肩与右肩的连线与水平的角度的弯曲程度,Ai→Z5i为左肩与右肩的连线与水平的角度的弯曲程度对应判别函数中第i个结果的贡献值,B'为左臀与右臀的连线与水平的角度的弯曲程度,Bi→Z5i为左臀与右臀的连线与水平的角度的弯曲程度对应判别函数中第i个结果的贡献值,方向判断函数为:其中Z5为训练者的方向判别及程度值,为教练的方向判别及程度值。当p5为正时,则方向判断为弯回;当p5为负时,则方向判断为侧弯。

  进一步地,所述指令类型6的推导方法为:对于需要顶胯和缩胯的动作问题以双膝平均弯曲程度与臀部平均弯曲程度差值为对比的因素,通过其中VA为训练者视频的左膝的弯曲角度,为教练视频的左膝的弯曲角度,VB为训练者视频的左臀的弯曲角度,为教练视频的右臀的弯曲角度,获得双膝平均弯曲程度与臀部平均弯曲程度差值,方向包括顶跨和缩胯,其方向判别函数与程度通过模糊推理的方法由两种因素推导方向。同样合成采用最大-最小法,模糊蕴含采用求交法。当p6为正时,则方向判断为缩跨;当p6为负时,则方向判断为顶胯。

  进一步地,所述指令类型7的推导方法为:对于需要挺胸与含胸的动作问题以颈部、臀部平均的弯曲角度和两肩的长度为对比的因素,臀部的平均弯曲程度与颈部的弯曲程度推导出初步的评判结果,初步的评判结果得出后由两肩的长度进行程度微调。初步的评判结果由顶胯和缩胯的动作问题中的推理模型得出。得出初步评判结果Z7后,其方向判别函数为:

  

  其中,LAB为训练者视频中两肩的长度,为教练视频中两肩的长度,k为上述定义的比例因子。A'为颈部的弯曲程度,Ai→Z7i为颈部的弯曲程度对应判别函数中第i个结果的贡献值,B'为臀部的弯曲程度,Bi→Z7i为臀部的弯曲程度对应判别函数中第i个结果的贡献值。当p7为正时,则方向判断为挺胸;当p7为负时,则方向判断为含胸。

  所有指令类型设有优先级;若优先级相同,则按照指令类型的编号顺序执行。

  本发明图像采集模块得到的数据,实时传递到云端并通过云端数据管理模块存储,该数据被传送到图像处理与评估模块,该模块对训练者动作进行对比评估与推理出动作指导语句,图像处理与评估模块得到的评估性与指导性数据通过云端数据管理模块被传送到语音播报及评价显示模块,通过将评价结果与指导性语句以图像、文字和语音的方式输出,对训练者的动作进行评分和指导。

  图像采集模块中的图像数据存储格式为任意大小的RGB图像信息,通过手机适配的普通摄像头或者个人计算机的外接摄像头等进行获取。获取后的图像数据将发送至云端数据处理模块。

  云端数据处理模块是数据存储与转运中心。由一台服务器构成,负责管理整个系统的数据流,是整个系统的中间管理系统。

  图像采集模块得到的视频,云端数据管理模块将会进行传输和储存,确认图像处理与评估模块与云端数据管理模块之间的数据链路完整,并且有云端数据管理模块数据请求指令后,将刚接收的存储数据进行封装处理发送到图像处理与评估模块。

  图像处理与评估模块是训练者姿态分析及评价中心。该模块从采集得到的图像信息中提取出人体姿态信息,首先提取图像中人体的关键点位置,并绘制人体骨架,用以描述当前训练者姿态。将得到的训练者姿态信息与教练姿态信息进行对比,得到综合评价分数并推理出动作指导语句。

  当图像处理与评估模块完成指导性语句推理过程后,将得到评估结果与指令语句进行数据封装。并同时向云端数据管理模块发出数据发送请求,当云端数据模块收到上述数据发送请求后,确认信道畅通后,云端数据管理模块将反馈信号到发送到图像处理与评估模块,图像处理与评估模块将评估结果数据打包发到云端数据管理模块,云端数据管理模块接受到数据后,将该数据进行封装存储,并将数据打包发送到语音播报及评价显示模块。

  语音播报及评价显示模块是直接对训练者进行指导的模块。该模块由一个终端来完成,终端为PC设备或者手机设备。其中,语音播报及评价显示模块包括语音播报子模块,将云端数据管理模块传递的数据进行语音输出;语音播报及评价显示模块还包括一个显示模块,显示模块可以布置在PC端或者移动手机端,其将云端数据管理模块中传递的图像信息进行显示。

  作为优选方案,显示模块中,显示的部分包括标准瑜伽视频、综合评价指标以及标准瑜伽视频动作者的骨架模型,其中该骨架绘制在标准视频中人体的身上,另外该图像信息显示还包括训练者的骨架模型,该骨架绘制在人体的身上。显示系统还会将所有得到的评估标准信息显示在对应的22个关键点上,其中包括评估指标包括距离指标、角度指标、频率指标、综合评价指标和需要调整的部分。

  作为优选方案,图像采集模块布置在电脑摄像头,其他普通摄像头或者是手机摄像头,电脑摄像头和手机摄像头直接将采集的图像输入到PC端和手机端,普通摄像头通过数据线或数据地址输入到PC端。采集的图像内容包括完整的用户身体姿态以及用户所在训练场景,通过调节图像采集模块的工作位置进行实现,例如调节手机支架的高度以及距离调节取景范围等方式。

  作为优选方案,图像采集模块中图像的发送方式支持在线上传和离线上传两种模式,即用户实时录制并上传训练视频与上传已经录制完成的训练视频。在线上传模式采集图像信息并实时发送至云端数据处理模块进行处理;离线上传模式根据用户需求上传指定长度的视频。

  本发明还提供一种基于计算机视觉的瑜伽动作指导方法,包括以下步骤:

  S1、获取训练者及教练的实时图像数据;

  S2、选用Openpose算法提取图像中人体的关键点位置,通过自下而上的方法提取并构建人体骨架,分别得到训练者运动姿态信息和教练运动姿态信息;

  S3、将训练者运动姿态信息与教练运动姿态信息进行姿态对比,以获得训练者的运动评价数据;

  S4、根据运动评价数据判定是否进行动作的指导;若是,则推理出动作指导语句;

  S5、根据动作指导语句进行瑜伽动作指导。

  作为优选方案,所述步骤S3中,姿态对比的评价指标包括:

  距离指标,为训练者运动姿态和教练运动姿态中相同两个关键点位置的距离的偏差程度;

  角度指标,为训练者运动姿态的各个骨骼间形成的夹角与教练运动姿态中的对应夹角间的偏差程度;

  频率指标,为训练者运动姿态中单位时间内周期性动作完成的次数与教练运动姿态中单位时间内周期性动作完成的次数之间的比值;

  比例因子,为训练者的骨架大小与教练的骨架大小之间的比例系数。

  作为优选方案,所述步骤S3中,姿态对比的算法综合单个动作的标准程度与完整运动过程的完成程度,选用角度指标和频率指标组成联合评价指标,通过基于时间序列的熵权法自动为每个指标的关键点位置自动定权,以获得训练者动作的综合得分;

  所述步骤S4包括:根据综合得分划分为不及格、合格、良好、优秀四种等级;若综合得分为良好或合格,则输出进行动作指导语句推理的指令,根据关键点位置的匹配情况推理出动作指导语句;若综合得分为不合格,则输出按照教练运行姿势进行自行调整的指令。

  作为优选方案,所述动作指导语句包括:

  指令类型1:弯曲问题;

  指令类型2:肢端旋转问题;

  指令类型3:肢端距离调整问题;

  指令类型4:扭腰动作问题;

  指令类型5:对于需要侧弯腰的动作问题;

  指令类型6:对于需要顶胯和缩胯的动作问题;

  指令类型7:对于需要挺胸与含胸的动作问题。

  进一步地,所述指令类型1的推导方法为:弯曲问题是根据选自脖子,右肩,右肘,右腕,左肩,左肘,左腕,右臀,右膝,右踝,左臀,左膝,左踝的关键点,以判断函数为其中,为教练视频中关键点B的弯曲角度,A与C为关键点B的相邻关键点,VABC为训练者视频中关键点B的弯曲角度,A与C为关键点B的相邻关键点。当p1为一负数时,则方向判断为伸直;当p1为一正数时,方向判断为弯曲。程度直接用|p1|来定义弯曲程度。

  进一步地,所述指令类型2的推导方法为:肢端旋转问题是根据选自左手尖与左腕的长度,右手尖与右腕的长度,左脚尖与左踝的长度,右脚尖与右踝的长度的关键点,以方向判断函数为其中,k为比例因子,为教练视频中关键点A与B的连线长度。LAB为训练者视频中关键点A与B的连线长度,关键点A为上述左手尖、右手尖、左脚尖与右脚尖中任意一点,关键点B为上述左腕、右腕、左踝和右踝中与关键点A对应的一点。当p2大于1时,则方向判断为向偏离平行于相机方向转动;当p2小于1时,则方向判断为向平行于相机方向转动。

  进一步地,所述指令类型3的推导方法为:肢端距离调整问题是根据选自左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点,判别函数为其中,k为上述定义的比例因子,LAB为训练者视频中左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点的距离,为教练视频中左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点的距离。当p3大于1时,则方向判断为减少;当p3小于1时,则方向判断为增加。

  进一步地,所述指令类型4的推导方法为:扭腰动作问题是根据选自左肩与右肩的连线距离和左臀与右臀的连线距离的关键点,方向包括扭腰和往回扭腰。方向判别函数为其中,LAB为训练者左肩与右肩的连线距离,LCD为训练者左臀与右臀的连线距离,为教练左肩与右肩的连线距离,为教练左臀与右臀的连线距离。当p4大于1时,则方向判断为往回扭腰,当p4小于1时,则方向判断为扭腰。

  进一步地,所述指令类型5的推导方法为:对于需要侧弯腰的动作问题以左肩与右肩的连线与水平的角度和左臀与右臀的连线与水平的角度为对比的因素,角度求解公式为其中,YA为左肩或左臀的Y轴坐标,YB为右肩或右臀的Y轴坐标,XA为左肩或左臀的X轴坐标,XB为右肩或右臀的X轴坐标,方向包括侧弯和弯回。其方向判别函数与程度通过模糊推理的方法由两种因素推导方向。合成采用最大-最小法,模糊蕴含采用求交法。A'为左肩与右肩的连线与水平的角度的弯曲程度,Ai→Z5i为左肩与右肩的连线与水平的角度的弯曲程度对应判别函数中第i个结果的贡献值,B'为左臀与右臀的连线与水平的角度的弯曲程度,Bi→Z5i为左臀与右臀的连线与水平的角度的弯曲程度对应判别函数中第i个结果的贡献值,方向判断函数为:其中Z5为训练者的方向判别及程度值,为教练的方向判别及程度值。当p5为正时,则方向判断为弯回;当p5为负时,则方向判断为侧弯。

  进一步地,所述指令类型6的推导方法为:对于需要顶胯和缩胯的动作问题以双膝平均弯曲程度与臀部平均弯曲程度差值为对比的因素,通过其中VA为训练者视频的左膝的弯曲角度,为教练视频的左膝的弯曲角度,VB为训练者视频的左臀的弯曲角度,为教练视频的右臀的弯曲角度,获得双膝平均弯曲程度与臀部平均弯曲程度差值,方向包括顶跨和缩胯,其方向判别函数与程度通过模糊推理的方法由两种因素推导方向。同样合成采用最大-最小法,模糊蕴含采用求交法。当p6为正时,则方向判断为缩跨;当p6为负时,则方向判断为顶胯。

  进一步地,所述指令类型7的推导方法为:对于需要挺胸与含胸的动作问题以颈部、臀部平均的弯曲角度和两肩的长度为对比的因素,臀部的平均弯曲程度与颈部的弯曲程度推导出初步的评判结果,初步的评判结果得出后由两肩的长度进行程度微调。初步的评判结果由顶胯和缩胯的动作问题中的推理模型得出。得出初步评判结果Z7后,其方向判别函数为:

  

  其中,LAB为训练者视频中两肩的长度,为教练视频中两肩的长度,k为上述定义的比例因子。A'为颈部的弯曲程度,Ai→Z7i为颈部的弯曲程度对应判别函数中第i个结果的贡献值,B'为臀部的弯曲程度,Bi→Z7i为臀部的弯曲程度对应判别函数中第i个结果的贡献值。当p7为正时,则方向判断为挺胸;当p7为负时,则方向判断为含胸。

  作为优选方案,所述基于计算机视觉的瑜伽动作指导方法,还包括:

  对所有指令类型设置优先级;若优先级相同,则按照指令类型的编号顺序执行;

  若推理出任一指令类型的方向与程度,则由对比的关键点、方向与程度共同构成动作指导语句。

  为了使得指令性语句互相不冲突并最大化调整效果,所有指令的优先级设置,例如:指令类型1、2、3、4的优先级分别是1、2、3、3,指令类型5、6、7的优先级都是4,当优先级一样时,则按照指令编号的顺序执行。

  当图像处理与评估模块推理出某种指令类型的方向与程度时,由对比的关键点、方向与程度共同构成指令语句。

  相对于现有技术,本发明具有以下有益效果:

  本发明的只需视觉进行动作判定,简化了训练者操作流程,不妨碍训练者锻炼。而且,本发明提供了动作指令指导的推理方法,由训练者动作与教练动作的差异推导动作修改指令语句,以便进行语音指导的互动,模拟教练员的真实指导。

  本发明通过基于人体关键点的动作评估,训练者可以选择任意训练视频进行姿势对比,以此取得更好的健身效果。当输入图片或视频流,利用模型得到人体的骨架,通过计算人体关节之间的角度对动作进行分析,将瑜伽训练者的体态特征与想要模仿的瑜伽视频进行对比,确定瑜伽动作是否标准,并为训练者提供建议或者在姿态偏差超过一定限度时给出警告,实时指导训练者纠正自己的姿势,训练者可在训练完成后可查看自己本次训练评估的结果。

  本发明提供的基于计算机视觉的瑜伽动作指导系统,图片采集模块和语音播报及评价显示模块布置在手机或PC机端,无需专用的图像采集设备与显示和播报的设备,易于训练者采集图像与获取评价及指导信息。云端数据管理模块协调数据传输与存储,扩大了图像处理与评估的处理能力并提供训练者查看历史数据的功能。云端数据管理模块可同时接受多个图像采集模块传送的数据,图像处理与评估模块可实时为多个训练者数据提供评估与动作指令推导,该系统可以同时为多个训练者提供指导性服务。通过语音播报及评价显示模块,将训练对比图像、评价结构和与语音指导命令输出,为训练者提供了便捷的动作指导互动方式。帮助人们无需教练也能做出标准动作,在家也能达到健身房效果。同时,特别针对初学者,该辅助系统通过给予瑜伽训练者及时调整动作细节的指令,提高训练效率,同时避免因为错误的训练姿势损伤身体。可以通过搭建摄像设备与个人计算机结合的完整系统,既方便个人的瑜伽学习以及训练,又可应用于瑜伽学习的教学监督场景或者自动考核场景中。

  本发明提供的基于计算机视觉的瑜伽动作指导方法,其算法简洁高效,适用范围广,并且对于传感器以及计算机等硬件设备的运算能力要求相对较低,因此可以在多平台上实现应用。其综合评估算法提供全面、准确的评判结果。动作指令推导算法又将图像对比结果以更加人性化的方式推导出适合训练者姿势调整的命令。

  附图说明

  图1为本发明实施例的基于计算机视觉的瑜伽动作指导系统的框架图;

  图2为本发明实施例的于计算机视觉的瑜伽动作指导方法的流程图;

  图3为本发明实施例的人体关键点定义及骨架图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整地描述,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

  如图1所示,本发明实施例的基于图像识别的瑜伽指导系统,包括图像采集模块、云端数据管理模块、图像处理与评估模块和语音播报及评价显示模块。其中,云端数据管理模块分别与图像采集模块、图像处理与评估模块、语音播报及评价显示模块连接。

  图像采集模块得到的图像数据,实时传递到云端并通过云端数据管理模块存储,该数据会被传送到图像处理与评估模块,该模块对训练者动作进行对比评估与推理出动作指导语句,图像处理与评估模块得到的评估性与指导性数据通过云端数据管理模块被传送到语音播报及评价显示模块,通过将评价结果与指导性语句以图像、文字和语音的方式输出,对训练者的动作进行评分和指导。

  图像采集模块是训练者运动状态信息的来源。该模块以图像的形式获取并记录训练者与训练视频中教练的当前身体状态,通过时序排列多张图像得到一段时间内的训练者运动状态记录视频,作为评估算法执行的基础准备。

  图像数据存储格式为任意大小的RGB图像信息,通过手机适配的普通摄像头或者个人计算机的外接摄像头等进行获取。获取后的图像数据将发送至云端数据管理模块。

  图像采集模块布置在电脑摄像头,其他普通摄像头或者是手机摄像头,电脑摄像头和手机摄像头直接将采集的图像输入到PC端和手机端,普通摄像头通过数据线或数据地址输入到PC端。采集的图像内容包括完整的训练者身体姿态以及训练者所在训练场景,通过调节图像采集模块的工作位置进行实现,例如调节手机支架的高度以及距离调节取景范围等方式。

  图像采集模块中图像的发送方式支持在线上传和离线上传两种模式,即训练者实时录制并上传训练视频与上传已经录制完成的训练视频。在线上传模式将按照一定频率采集图像信息并实时发送至云端数据管理模块进行处理。离线上传模式根据训练者需求上传指定长度的视频。

  在实际应用中,图像采集模块放置在一个固定位置,保证能够捕获人的完整身体,训练者在摄像头感知范围内运动,如果身体部分离开画面,会导致姿态估计模块不完整或出现较大误差。

  云端数据管理模块是数据存储与转运中心。该模块中云端数据保存的图像信息中的人体部分为按照视觉信息划分的像素块,不仅包含有人体的姿态信息还包含有人的穿着打扮信息,面部表情信息等冗余信息。

  云端数据管理模块是由一台服务器构成,负责管理整个系统的数据流,是整个系统的中间管理系统。

  图像采集模块得到的一定帧率的视频,云端数据管理模块会将数据进行接受储存,接着再确认图像处理与评估模块与云端数据管理模块之间的数据链路完整之后,并且有云端数据管理模块数据请求指令后,将刚接收的存储数据进行封装处理发送到图像处理与评估模块。

  图像处理与评估模块是训练者姿态分析及评价中心。该模块从采集得到的图像信息中提取出人体姿态信息,首先选用Openpose算法提取图像中人体的关键点位置,关键点为关键关节,指具有一定自由度的关节和具有标志性的部位,该方法通过自下而上的方法提取人体骨架,骨架模型图如图3所示,根据其特征依序以点和线的形式重新构建人体的关节以及骨骼间的连接,重新构建人体骨架信息,用以描述当前训练者姿态。依据训练者上传的教练视频的姿态评估标准对当前训练者状态进行打分,作为最终语音播报及评价显示模块的参考依据。

  人体骨架信息在实际采集的视频中,连续帧中的人体动作和姿态是非常相似的,为了提高效率,采用隔帧估计的办法。

  图像处理与评估模块得到训练者的骨架信息后,依据评估算法将训练者运动姿态信息与教练运动姿态信息进行对比,得到综合评价分数。图像处理与评估模块在接收到云端数据管理模块发送的数据后,将训练者图像与教练图像进行对比,形成基本的对比指标:距离指标、角度指标、频率指标和比例因子。随后进行综合姿态评价,本发明选用角度信息和频率信息组成联合评价指标,通过基于时间序列的熵权法自动为每一个基础指标的关键点自动定权,用于给出训练者动作的综合得分。由综合的评价指标评价判断是否需要进行动作指导。动作指导命令分为七种,由基本的对比指标经过推理获得动作指令元素,最后将指令元素拼接并发送到云端数据模块。

  其中骨架信息是指:图像处理与评估模块对瑜伽的评估主要是观察对人身体各个部位肌肉和韧带的拉伸,拉伸程度通过关键点之间的关系来分析。本发明实施例中所定义使用的人体关键点定义及骨架图如图3所示,共有22个关键点,序号对应关系为:0-鼻子、1-脖子、2-右肩、3-右肘、4-右腕、5-左肩、6-左肘、7-左腕、8-右臀、9-右膝、10-右踝、11-左臀、12-左膝、13-左踝、14-右眼、15-左眼、16-右耳、17-左耳、18-右手端、19-左手端、20-右脚端、21-左脚端,每个点都是以图像坐标系中的坐标(x,y)表示。

  图像处理与评估模块首先通过将训练者与教练图像对比,获得距离指标、角度指标、频率指标和比例因子四个指标。

  其中,距离指标是指:距离由两个关键点坐标求出,若两点分别用A(X1,Y1)、B(X2,Y2)表示,求AB之间的距离,则表示为LAB,默认值为0,如果其中一个点未检测到,取默认值。计算公式为:

  角度指标是指:角度由三个关键点坐标求出,若三点分别用A(X1,Y1)、B(X2,Y2)、C(X3,Y3)表示,求顶点B的角度,则表示为VABC,取值范围为[0,180],默认值为0。如果其中一个关键点未检测到,则取默认值。计算公式为:

  频率指标是指:一个周期性动作在单位时间内完成的次数,记做F,用来表示一个动作的运动快慢。在一个动作中取某几个关键点作为重要标志点,默认值为0,如果其中一个标志点未检测到,取默认值。

  另外,为了消除因瑜伽训练者放置相机的距离与教练视频放置相机的距离不一致问题,本发明实施例在对比两个关键点的长度时加入比例因子:

  

  其中,LAB为训练者视频中颈部关键点与鼻子关键点的距离,为教练视频中颈部关键点与鼻子关键点的距离,LCD为训练者视频中两只眼睛关键点之间的距离,为训练者视频中两只眼睛关键点之间的距离。

  联合指标中定权方法如下:关节角度以V表示,定义为三个关键点的中间夹角。设定关键点一共有J个,则计算每个关键点的夹角,表示为Vj,j∈{1,2,...J},由此,教练的所有关节可表示为训练者的所有关节可表示为Vj,j∈{1,2,...J},训练者与教练各个角度的偏离度表示为:训练者与教练各个角度的联合偏离度表示为:其中为训练者与教练各个角度的偏离度。其中,每个角度的权值利用下列方法自动得出:其中,i为时间序列,i=10时为当前时间角度,i=9为上一个采样时刻的角度。为第i个时间序列中第j个关键点的训练者图像与教练图像的角度的差值。k=1/ln(j)>0,满足ej>0。

  动作频率以F表示,定义是单位时间内完成重复性动作的次数。以F*表示教练在一段视频训练中的频率,以F表示训练者在对应视频中的频率,训练者动作频率与教练动作频率的偏离程度比例为:

  联合评价指标是结合上述频率和角度两个参数来评价的,两个参数的权重分别为λF和λV,联合评价用于每次训练者动作和教练动作的比较,即训练者动作和教练动作进行一次比较之后,会得到一个联合指标值,联合评价指标计算公式为:在实际应用中,如果动作有频率部分,取λF=λV,无频率部分则取λF=0,λV=1。由此得到单次比较的联合评价等级表如表1所示。

  表1单次比较的联合评价等级表

  

  

  当训练者完成整套动作之后,会根据联合评价指标给出训练者的最终评价,设定训练者在运动过程中一共和教练比较次数为M,这个参数在实际应用中会在每次比较之后累加,直到比较结束时得到。其中,得到A、B、C、D各个等级的比较次数分别记为:MA,MB,MC,MD,整套动作下比较的综合评价等级表如表2所示。

  表2整套动作下比较的综合评价等级表

  

  当综合评判结果为良好和合格时,输出动作指导的指令,当不合格时直接告诫训练者按照教练姿势自行调整。

  当瑜伽对比与评估模块识别出瑜伽训练者的姿态处于可以调整状态时(结果为良好与合格),将根据关键点的匹配情况根据如下规则推导出指导性的指令语句。

  基于对于单对象判断的指令语句推导:

  弯曲问题(指令类型1):对比的关键点(取角度):{脖子,右肩,右肘,右腕,左肩,左肘,左腕,右臀,右膝,右踝,左臀,左膝,左踝}。方向:{弯曲,伸直}。方向的判断函数如下:其中,为教练视频中关键点B的弯曲角度,A与C为关键点B的相邻关键点,VABC为训练者视频中关键点B的弯曲角度,A与C为关键点B的相邻关键点。当p1为一负数时,则方向判断为伸直,当p1为一正数时,方向判断为弯曲。程度:直接用|p1|来定义弯曲程度。

  肢端旋转问题(指令类型2):对比的关键点:{左手尖与左腕的长度,右手尖与右腕的长度,左脚尖与左踝的长度,右脚尖与右踝的长度}。方向:{向平行于相机方向转动,向偏离平行于相机方向转动}。方向判断函数如下:其中,k为比例因子,为教练视频中关键点A与B的连线长度,LAB为训练者视频中关键点A与B的连线长度,关键点A为上述左手尖、右手尖、左脚尖与右脚尖中任意一点,关键点B为上述左腕、右腕、左踝和右踝中与关键点A对应的一点。当p2大于1时,则方向判断为向偏离平行于相机方向转动,当p2小于1时,则方向判断为向平行于相机方向转动。程度:{稍微,适度,使劲}。程度判断规则表如表3所示。

  表3肢端旋转程度判断规则表

  

  肢端距离调整问题(指令类型3):对比的关键点:{左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离}。方向:{增加,减少}。方向判别函数如下:其中,k为上述定义的比例因子,LAB为训练者视频中左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点的距离,为教练视频中左腕与右腕距离,左肘与右肘距离,左膝与右膝距离,左踝与右踝距离的关键点的距离。当p3大于1时,则方向判断为减少,当p3小于1时,则方向判断为增加。程度:{稍微,适度,大幅度}程度判断规则如表4所示。

  表4肢端距离调整程度判断规则

  

  扭腰动作问题(指令类型4):对比的关键点:{左肩与右肩的连线距离和左臀与右臀的连线距离}。方向:{扭腰,往回扭腰}。方向判别函数如下:其中,LAB为训练者左肩与右肩的连线距离,LCD为训练者左臀与右臀的连线距离,为教练左肩与右肩的连线距离,为教练左臀与右臀的连线距离。当p4大于1时,则方向判断为往回扭腰,当p4小于1时,则方向判断为扭腰。程度:{稍微,适度}。程度判断规则如表5所示。

  表5扭腰动作程度判断规则表

  

  基于对于多对象综合判断的指令语句推导:

  对于需要侧弯腰的动作问题(指令类型5):对比的因素:{左肩与右肩的连线与水平的角度和左臀与右臀的连线与水平的角度}。以上角度求解公式如下:

  其中,YA为左肩或左臀的Y轴坐标,YB为右肩或右臀的Y轴坐标,XA为左肩或左臀的X轴坐标,XB为右肩或右臀的X轴坐标,方向:{侧弯,弯回}。其方向判别函数与程度通过模糊推理的方法由两种因素推导方向:对比因素与评价结果Z5的论域设置为:{5,12,20,30,40}(角度制)。语言变量设置如下:{很小,较小,适中,较大,很大}。对于对比因素与评判结果Z5的隶属度函数设置如表6所示。

  表6对比因素与评判结果Z5的隶属度函数设置表

  

  合成采用最大-最小法,模糊蕴含采用求交法。

  

  其中,A'为左肩与右肩的连线与水平的角度的弯曲程度,Ai→Z5i为左肩与右肩的连线与水平的角度的弯曲程度对应判别函数中第i个结果的贡献值,B'为左臀与右臀的连线与水平的角度的弯曲程度,Bi→Z5i为左臀与右臀的连线与水平的角度的弯曲程度对应判别函数中第i个结果的贡献值。方向判断函数为:其中Z5为训练者的方向判别及程度值,为教练的方向判别及程度值。该函数为程度相减,当p5为正时,则方向判断为弯回,当p5为负时,则方向判断为侧弯。程度:{稍微,适度,使劲}。程度判断规则如表7所示。

  表7侧弯腰的动作程度判断规则表

  

  对于需要顶胯和缩胯的动作问题(指令类型6):对比的因素:{双膝平均弯曲程度与臀部平均弯曲程度差值}。由以上对比因素通过下式获得双膝平均弯曲程度与臀部平均弯曲程度差值:其中VA为训练者视频的左膝的弯曲角度,为教练视频的左膝的弯曲角度,VB为训练者视频的左臀的弯曲角度,为教练视频的右臀的弯曲角度。方向:{顶跨,缩胯}。其方向判别函数与程度通过模糊推理的方法由两种因素推导方向:对比因素与评价结果Z6的论域设置为:{-20,-10,-5,0,5,10,20}(角度制)。语言变量设置如下:{负较大,负,负较小,适中,正较小,正,正较大}。对于对比因素与评判结果p6的隶属度函数设置如表8所示。

  表8对比因素与评判结果p6的隶属度函数设置表

  

  

  同样合成采用最大-最小法,模糊蕴含采用求交法,即Z5=Z6,p5=p6。当p6为正时,则方向判断为缩跨,当p6为负时,则方向判断为顶胯。程度:{稍微,适度}。程度判断规则如表9所示。

  表9顶胯和缩胯的动作程度判断规则表

  

  对于需要挺胸与含胸的动作问题(指令类型7):对比的因素:{颈部、臀部平均的弯曲角度和两肩的长度}。臀部的平均弯曲程度与颈部的弯曲程度推导出初步的评判结果,初步的评判结果得出后由两肩的长度进行程度微调。初步的评判结果由顶胯和缩胯的动作问题中的推理模型得出。得出初步评判结果Z7后,其方向判别函数为:

  

  其中,LAB为训练者视频中两肩的长度,为教练视频中两肩的长度,k为上述定义的比例因子。A'为颈部的弯曲程度,Ai→Z7i为颈部的弯曲程度对应判别函数中第i个结果的贡献值,B'为臀部的弯曲程度,Bi→Z7i为臀部的弯曲程度对应判别函数中第i个结果的贡献值。当p7为正时,则方向判断为挺胸;当p7为负时,则方向判断为含胸。程度:{稍微,适度}。程度判断规则如表10所示。

  表10挺胸与含胸的动作程度判断规则表

  

  

  为了使得指令性语句互相不冲突并最大化调整效果,以上指令的优先级设置如表11所示。

  表11各指令类型的优先级表

  

  当优先级一样时,则按照指令编号的顺序执行。当图像处理与评估模块推理出某种指令类型的方向与程度时,由对比的关键点、方向与程度共同构成指令语句。

  根据上述等级划分标准,图像处理与评估模块将得到评估结果与指令语句进行数据封装。并同时向云端数据管理模块发出数据发送请求,当云端数据模块收到上述数据发送请求后,确认信道畅通后,云端数据管理模块将反馈信号到发送到图像处理与评估模块,图像处理与评估模块将评估结果数据打包发到云端数据管理模块,云端数据管理模块接受到数据后,将该数据进行封装存储,并将数据打包发送到语音播报及评价显示模块。

  语音播报及评价显示模块由一个终端来完成的,可以是PC设备或者手机设备。其中,语音播报子模块主要进行把云端数据管理模块传递的数据进行语音输出。

  语音播报及评价显示模块还包括一个显示模块。其中,显示模块可以布置在PC端或者移动手机端,其将云端数据管理模块中传递的图像信息进行显示,其中显示的部分包括标准瑜伽视频,以及标准瑜伽视频动作者的骨架模型,其中,该骨架绘制在视频中训练者身上,另外该图像信息显示还包括训练者的骨架模型,该骨架绘制在视频中训练者身上。该显示模块还会将所有得到的评估标准信息显示在对应的22个关键点上,其中包括评估指标包括距离指标、角度指标、频率指标、综合评价指标和需要调整的部分。

  基于本发明实施例上述的瑜伽动作指导系统,如图2所示,本发明实施例还提供一种基于计算机视觉的瑜伽动作指导方法,包括以下步骤:

  S1、获取训练者及教练的实时图像数据;

  S2、选用Openpose算法提取图像中人体的关键点位置,通过自下而上的方法提取并构建人体骨架,分别得到训练者运动姿态信息和教练运动姿态信息;

  S3、将训练者运动姿态信息与教练运动姿态信息进行姿态对比,以获得训练者的运动评价数据;

  S4、根据运动评价数据判定是否进行动作的指导;若是,则推理出动作指导语句;具体地,根据动作评级进行是否进行动作的指导的判定;若极不标准,直接提示训练者按照教练视频调整;若为可调整动作,则推理动作调整语句;若标准,则继续获取图像数据。

  S5、根据动作指导语句进行瑜伽动作指导,然后结束流程。

  其中,步骤S3中,姿态对比的评价指标包括:

  距离指标,为训练者运动姿态和教练运动姿态中相同两个关键点位置的距离的偏差程度;

  角度指标,为训练者运动姿态的各个骨骼间形成的夹角与教练运动姿态中的对应夹角间的偏差程度;

  频率指标,为训练者运动姿态中单位时间内周期性动作完成的次数与教练运动姿态中单位时间内周期性动作完成的次数之间的比值;

  比例因子,为训练者的骨架大小与教练的骨架大小之间的比例系数。具体可以参考对应的瑜伽动作指导系统中的具体内容,在此不赘述。

  另外,步骤S3中,姿态对比的算法综合单个动作的标准程度与完整运动过程的完成程度,选用角度指标和频率指标组成联合评价指标,通过基于时间序列的熵权法自动为每个指标的关键点位置自动定权,以获得训练者动作的综合得分;

  步骤S4包括:根据综合得分划分为不及格、合格、良好、优秀四种等级;若综合得分为良好或合格,则输出进行动作指导语句推理的指令,根据关键点位置的匹配情况推理出动作指导语句;若综合得分为不合格,则输出按照教练运行姿势进行自行调整的指令。

  其中,动作指导语句包括:

  指令类型1:弯曲问题;

  指令类型2:肢端旋转问题;

  指令类型3:肢端距离调整问题;

  指令类型4:扭腰动作问题;

  指令类型5:对于需要侧弯腰的动作问题;

  指令类型6:对于需要顶胯和缩胯的动作问题;

  指令类型7:对于需要挺胸与含胸的动作问题。

  由于本发明实施例的瑜伽动作指导方法,是与瑜伽动作指导系统对应的,相应的具体内容可以参考上述瑜伽动作指导系统具体描述的内容,在此不赘述。

  本发明提供的基于计算机视觉的瑜伽动作指导系统,图片采集模块和语音播报及评价显示模块布置在手机或PC机端,无需专用的图像采集设备与显示和播报的设备,易于训练者采集图像与获取评价及指导信息。云端数据管理模块协调数据传输与存储,扩大了图像处理与评估的处理能力并提供训练者查看历史数据的功能。云端数据管理模块可同时接受多个图像采集模块传送的数据,图像处理与评估模块可实时为多个训练者数据提供评估与动作指令推导,该系统可以同时为多个训练者提供指导性服务。通过语音播报及评价显示模块,将训练对比图像、评价结构和与语音指导命令输出,为训练者提供了便捷的动作指导互动方式。帮助人们无需教练也能做出标准动作,在家也能达到健身房效果。同时,特别针对初学者,该辅助系统通过给予瑜伽训练者及时调整动作细节的指令,提高训练效率,同时避免因为错误的训练姿势损伤身体。可以通过搭建摄像设备与个人计算机结合的完整系统,既方便个人的瑜伽学习以及训练,又可应用于瑜伽学习的教学监督场景或者自动考核场景中。

  本发明提供的基于计算机视觉的瑜伽动作指导方法,其算法简洁高效,适用范围广,并且对于传感器以及计算机等硬件设备的运算能力要求相对较低,因此可以在多平台上实现应用。其综合评估算法提供全面、准确的评判结果。动作指令推导算法又将图像对比结果以更加人性化的方式推导出适合训练者姿势调整的命令。

  以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

《一种基于计算机视觉的瑜伽动作指导系统和方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)