技术领域
[0001] 本
发明涉及视觉感知技术领域,具体涉及一种基于AI视觉感知技术的运动教学系统。
背景技术
[0002]
人工智能学科自诞生之初便奠定了其模拟、延伸、扩展人类智能的宏伟目标。随着人工智能技术的发展,人工智能在感知,
自然语言处理,知识表示,
自动推理和规划以及
机器学习等多个方向都取得了长足的发展。感知能
力包括视觉感知(
图像识别和视频理解和重建场景的能力)和听觉感知(即
语音识别voice recognition,指的是从多个人的声音中找到特定的人的声音)。自然语言处理指的是语义识别speech recognition,即在语音识别之后还能理解人的话语的含义。
[0003] 在各种涉及运动的项目,包括体育、健身运动,舞蹈、戏曲等艺术运动,和康复、矫正等等,传统的非现场教学方式模仿者只能观看录像和对着镜子练习以揣摩和领会动作。其最大的问题是没有一个带有专业眼光和能力的动作正确度及艺术性评价工具,让学生即时获得专业指导。另一个问题是模仿者和创建该视频
教程的示范者之间没有互动,严重影响自学模仿者的学习效率和效果。而且现有的运动状态感知技术通常采用可穿戴设备,固定附着在人体多个部位,利用设备中的重力
传感器和
加速度传感器等传感器,计算人体的运动状态,使用者需要直接穿戴设备,不够方便。为此,提出一种基于AI视觉感知技术的运动教学系统。
发明内容
[0004] 本发明所要解决的技术问题在于:如何实现高效、简明和精确的连贯动作比对和正确度评价,和在没有示范者亲身指导的情况下,自动进行带有丰富
互动性的教学指导,使模仿者学习效率及效果得大幅提升,提供了一种基于AI视觉感知技术的运动教学系统。
[0005] 本发明是通过以下技术方案解决上述技术问题的,本发明包括教程编制发布子系统与运动学习子系统,所述教程编制发布子系统包括示范动作感知模
块、教程编
制模块与教程发布模块,所述运动学习子系统包括模仿动作感知模块、相似度判定模块与教学过程
控制模块。
[0006] 所述示范动作感知模块用于对示范者(教员)的动作图片或视频的每一
帧做
姿态感知,生成示范动作序列数据。示范动作包括正确示范动作与典型错误示范动作;每个
片段至少有一个姿态,当有多个时,第一个为初始姿态,后续可设置多个
节点姿态,两个节点之间的动作为分节动作。教学片段和分节都用于动作分解教学;初始示范姿态是该片段的第一个节点。
[0007] 所述模仿动作感知模块,用于对模仿者(学员)的动作视频逐帧进行姿态感知,生成模仿动作序列数据;所述相似度判定模块,用于将模仿者的动作序列和示范者标准姿态或动作序列比较,计算模仿者动作和示范者动作的相似度和模仿者动作的正确度。这种方法无需进行行为识别,无需理解正在进行的行为,只需要跟示范动作进行比对即可。
[0008] 所述教学过程控制模块,用于根据所述相似度判定模块的判定结果,控制教学的节奏和进度及调整教学方法,并用于接收模仿者的教学
请求和命令;学习过程中运动教学系统逐个评价每个片段的正确度,当模仿者的动作正确度达不到
阈值时,教学控制模块提示模仿者并自动回到本片段的起点,以更慢的速度重新开始本片段的学习。
[0009] 所述教程编制模块,用于将示范者的示范动作图片或视频,和其经过所述示范动作感知模块生成的动作序列数据,加以辅助教学素材,编辑制作成数字形式的教学内容,供所述运动学习子系统用于教学活动。数字形式的运动教学教程内容包括正确示范动作视频和典型错误动作示范视频及其运动序列数据、分段和分节索引表(包括视频分段和分节时间标签或帧编号等)、动作要领讲解音频。
[0010] 更进一步的,动作序列组合了静态姿态和动态趋势两部分信息,包括目标对象(人体和与之相关的道具)各个关键点的空间坐标、折曲扭摆
角度、速度矢量,数据信度。空间坐标主要用于场景重建;折曲扭摆角度主要用于动作相似度比较;速度矢量主要用于示范者视频和模仿者动作同步及速度正确度和肢体协调性评估;摄像机的盲区数据信度为0,也可手工将部分部位信度设置为0,信度为0的部位在姿态比对过程中被跳过。目标对象各个关键点的空间坐标和折曲扭摆角是根据视频姿态感知的结果测量出来的,根据跟其前一帧之间的坐标变化,计算出各个关键点的速度。关键点包括人体关节、端点和虚拟关键点。
[0011] 虚拟关键点是假想出来的身体之外的点,用于确定面部和眼球(视线)的方向等等。多数运动项目其面部和视线朝向都是动作正确性的重要考核部分,比如戏剧表演。有些运动还有
马匹等动物参与,所述运动教学系统也对其做姿态和运动状态感知。当所述运动教学系统用于棍棒等带有武器道具的武术教学时,可识别棍棒等道具,将道具也纳入运动状态比对。以直棍棒为例,系统采集棍棒的两个端点和手握点。
[0012] 所述教程发布模块,用于发布教程数据的数字拷贝,存储于
云端
服务器,以分类频道形式展现,可供在线使用,或者下发到学习终端内部供离线使用。
[0013] 示范动作或模仿动作序列中,每个离散的姿态包括的属性及其计算方法如下:
[0014] A:坐标序列Pn:按照预先定义的人体的关节点和虚拟关键点顺序,将各点坐标记入坐标序列Pn,序列中可以存在重复的点,以记录不同方向的角度;
[0015] B:角度序列An:依次计算相邻三个点所决定的角度,得到角度序列An,其中最后一个表示角Pn-1PnP0;
[0016] C:速度矢量序列Vn:依次根据上一帧和这一帧的空间
位置相减得到位移矢量,除以帧间隔时长,计算每个点的速度矢量Vn:
[0017] Vn=(Pn-Pn-1)/Tf
[0019] D:序列Rn:表示每个序列Pn和An中对应点的数据的信度;
[0020] E:帧时间标签T。
[0021] 更进一步的,如果有多角度同步摄像,则分别对摄像头录制的视频,进行姿态感知,将相同的时间片刻的数据根据信度加权取平均值,再进行速度计算。
[0022] 更进一步的,由于示范者的动作速度和模仿者的速度不可能完全相同,而且往往模仿者较慢,模仿者还可能会做过头一点再调整回来。另外,在健身练习中,有时候需要学员维持某个状态一段时间。为此,教学过程控制设计四种示范者和模仿者的同步模式:
[0023] M1、差速同步模式:指调整示范者视频的播放速度,使之接近和配合模仿者的动作速度;系统对每一个示范视频帧都进行比对,用于评估和同步;本模式适合于高级阶段的连贯练习;
[0024] M2、停等同步模式:每个动作片段或分节都是匀速播放完后停下,等待模仿者完成动作片段或分节,然后自动进入下一个片段;系统对每一个示范视频帧都进行比对以评估学员的
水平;本模式适合于中高级阶段的分解连贯练习;
[0025] M3、命令同步模式:在此模式下,系统可只比对动作分节或者动作分段的首尾姿态。当学员认为完成该节点的姿态时,通过口令或手持遥控器方式给教学系统一个指示,教学系统进行当前节点姿态比对。比对通过则前往下一个节点,不通过则进行动作指导,直到学员再次指示系统进行比对。在两个节点之间,学员的动作不做考核,适用于初学阶段;
[0026] M1-3模式下运动教学系统姿态采集模仿者动作视频,将每一帧做姿态感知之后,和示范动作比对的过程和
算法如下:
[0027] S11:如果已经到达当前片段的末尾,或到达下一个节点,则结束当前片段或者当前两个节点之间的比对过程。否则取下一个待比对的示范姿态,跳到S12;
[0028] S12:取下一个比对模仿姿态;
[0029] S13:依次求示范姿态和模仿姿态的
关节角度差值的绝对值乘信度,并累加,公式如下:
[0030]
[0031] 其中,Ak和ak分别表示示范者和模仿者角度序列的第k个角度,Rk为其信度;
[0032] S14:重复S12-S13,直到下一模仿姿态的D值开始增大时跳入步骤S11。
[0033] M4、静态维持模式:系统在预定时间长度内评估学员的姿态和同一个示范姿态的相似度。如果任一时刻其差别超过一定
门限,则进而判断其错误类型,给学员以动作纠正讲解。系统可只工作在这一个模式,实现姿态监控功能。
[0034] 在M4模式下,运动教学系统姿态采集模仿者动作视频,将每一帧做姿态感知之后,和单一示范姿态比对的过程和算法如下:
[0035] S21:取下一帧比对模仿姿态;
[0036] S22:依次求示范姿态和模仿姿态的关节角度差值的绝对值乘信度,并累加,公式如下:
[0037]
[0038] 其中,Ak和ak分别表示示范者和模仿者角度序列的第k个角度,Rk为其信度;
[0039] S23:重复S21-S22,直到达到所要求的维持时长。
[0040] 当需要判断动作错误的类型时,有两个方法判断模仿者的动作错误类型。一是和示范者录制的典型错误动作做相似度比对,二是根据教程中示范者演示的典型错误动作制作的动作序列数据的误差模型,评判模仿者的动作和哪一种错误动作接近。判断出错误类型后,给出针对性地讲解,指导模仿者纠正动作;当涉及到马匹和/或其他道具时,根据马匹和/或道具的比对结果,指导模仿者纠正对马匹的控制方法,及对相关道具的使用方法。
[0041] 模仿者随时可主动向所述运动教学系统发出命令,命令包括调整学习速度、回到整套动作的起点、回到本片段的起点、调整同步模式、跳过本片段、调整正确度阈值、切换到其他教程、结束练习等等,接受命令的方式包括语音、遥控器、手势等等。更进一步的,模仿动作感知模块的输出被存储作为模仿者学习进步速度评估依据。
[0042] 本发明相比
现有技术具有以下优点:该基于AI视觉感知技术的运动教学系统,利用人工智能视觉感知技术,可以免于穿戴在身上的各种传感器;可以事先对示范者的动作视频进行分析和处理,记录每个时刻每部分肢体的位置,速度和角度,然后对模仿者的动作进行同样的分析和处理,分析其每个时刻的运动状态,和示范者的动作进行比较,这样传统非现场教学中的问题,即缺乏即时评价和互动性的问题,将得到很好的解决,值得被推广使用。
附图说明
[0043] 图1是本发明
实施例一中运动教学系统的总体结构示意
框图;
[0044] 图2是本发明实施例一中教程编辑子系统的教程编制过程示意图;
[0045] 图3是本发明实施例一中运动学习子系统的学习过程示意图;
[0046] 图4是本发明实施例一中教学控制过程的流程示意图;
[0047] 图5是本发明实施例一中单路视频运动感知过程示意图;
[0048] 图6是本发明实施例一中多路视频运动感知过程示意图;
[0049] 图7是本发明实施例一中目标人体和道具的关键点示意图;
[0050] 图8是本发明实施例一中初始示范姿态,片段,和节点示意图;
[0051] 图9是本发明实施例二中比对和监控过程的流程和状态机示意图。
具体实施方式
[0052] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0053] 实施例一
[0054] 如图1~8所示,本实施例提供了一种运动教学系统,包括教程编制发布子系统与运动学习子系统,所述教程编制发布子系统包括示范动作感知模块、教程编制模块与教程发布模块,所述运动学习子系统包括模仿动作感知模块、相似度判定模块与教学过程控制模块。
[0055] 所述示范动作感知模块用于对示范动作视频的每一帧做姿态感知,生成示范动作序列数据。示范动作包括正确示范动作与典型错误示范动作;每个片段至少有一个姿态,当有多个时,第一个为初始姿态,后续可设置多个节点姿态,两个节点之间的动作为分节动作。教学片段和分节都用于动作分解教学;初始示范姿态是该片段的第一个节点。
[0056] 所述模仿动作感知模块,用于对模仿者的动作视频逐帧进行姿态感知,生成模仿动作序列数据;所述相似度判定模块,用于将模仿者的动作序列和示范者标准姿态或动作序列比较,计算模仿者动作和示范者动作的相似度和模仿者动作的正确度。
[0057] 所述教学过程控制模块,用于根据所述相似度判定模块的判定结果,控制教学的节奏和进度及调整教学方法,并用于接收模仿者的教学请求和命令;学习过程中运动教学系统逐个评价每个片段的正确度,当模仿者的动作正确度达不到阈值时,教学控制模块提示模仿者并自动回到本片段的起点,以更慢的速度重新开始本片段的学习。
[0058] 所述教程编制模块,用于将示范者的示范动作图片或视频,和其经过所述示范动作感知模块生成的动作序列数据,加以辅助教学素材,编辑制作成数字形式的教学内容,供所述运动学习子系统用于教学活动。数字形式的运动教学教程内容包括正确示范动作视频和典型错误动作示范视频及其运动序列数据、分段和节点索引表(包括视频分段时间标签或帧编号、节点时间标签或帧编号等)、动作要领讲解音频。在一套连贯动作中,分段可以设置在动作节奏的停顿时刻,分节可以设置在肢体改变运动方向的时刻。
[0059] 所述教程发布模块,用于发布教程数据的数字拷贝,存储于云端服务器,以分类频道形式展现,可供在线使用,或者下发到学习终端内部供离线使用,产品交付时可内置一部分教程。
[0060] 动作序列组合了静态姿态和动态趋势两部分信息,包括目标对象(人体和与之相关的道具)各个关键点的空间坐标、折曲扭摆角度、速度矢量,数据信度。空间坐标主要用于场景重建;折曲扭摆角度主要用于动作相似度比较;速度矢量主要用于示范者视频和模仿者动作同步及速度正确度和肢体协调性评估;摄像机的盲区数据信度为0,也可手工将部分部位信度设置为0,信度为0的部位在姿态比对过程中被跳过。目标对象各个关键点的空间坐标和折曲扭摆角是根据视频姿态感知的结果测量出来的,根据跟前一帧之间的坐标变化,计算出各个关键点的速度。
[0061] 关键点包括人体关节、肢体端点、道具的关节点、虚拟关键点。虚拟关键点是假想出来的身体之外的点,用于确定面部和眼球(视线)的方向等等。多数运动项目其面部和视线朝向都是动作正确性的重要考核部分,比如戏剧表演。有些运动还有马匹等动物参与,所述运动教学系统也对其做姿态和运动状态感知。当所述运动教学系统用于棍棒等带有武器道具的武术教学时,可识别棍棒等道具,将道具也纳入运动状态比对。以直棍棒为例,系统采集棍棒的两个端点和手握点。
[0062] 示范动作或模仿动作序列中,每个离散的姿态包括的属性及其计算方法如下:
[0063] A:坐标序列Pn:按照预先定义的人体的关节点和虚拟关键点顺序,将各点坐标记入坐标序列Pn,序列中可以存在重复的点,以记录不同方向的角度;
[0064] B:角度序列An:依次计算相邻三个点所决定的角度,得到角度序列An,其中最后一个表示角Pn-1PnP0;
[0065] C:速度矢量序列Vn:依次根据上一帧和这一帧的空间位置相减得到位移矢量,除以帧间隔时长,计算每个点的速度矢量Vn:
[0066] Vn=(Pn-Pn-1)/Tf
[0067] 其中Tf表示视频帧间隔时长;
[0068] D:序列Rn:表示每个序列Pn和An中对应点的数据的信度;
[0069] E:帧时间标签T。
[0070] 如果有多角度同步摄像,则分别对摄像头录制的视频,进行姿态感知,将相同的时间片刻的数据根据信度加权取平均值,再进行速度计算。适用于示范视频和模仿视频的单路视频的姿态和运动
数据采集过程如下:
[0071] S0:为降低处理开销,在开始前操作者手工选择和标定所有目标对象;如果不标定(标定目标数量为0),则后续对图像中的所有人进行感知;
[0072] S1:读取视频第一帧(设其帧序号为N,N>=1);
[0073] S2:在步骤S1中视频场景中,利用人工智能
人脸识别技术识别目标对象,以减少对不必要的目标对象进行后续操作;如果没有找到全部目标对象,则对所有人进行后续操作;
[0074] S3:如果N>1(即当前帧不是第一帧),则利用视频帧间位置变化不大的特征,将N-1帧的姿态数据作为
基础,计算目标对象的姿态变化后的姿态数据,即目标对象身体主要关节和部位的位置;如果N=1(当前帧是初始帧),则做整个姿态感知过程;
[0075] S4:保存S3得到的数据,对下一帧图像重复S1-S4。
[0076] 由于示范者的动作速度和模仿者的速度不可能完全相同,而且往往模仿者较慢,模仿者还可能会做过头一点再调整回来。在健身练习中,有时候需要学员维持某个状态一段时间。为此,教学过程控制设计四种示范者和模仿者的同步模式,由学员主动切换或在教程中预先设置适合的模式。不管什么模式,初始都是等待学员调整到初始示范状态之后开始后续的比对。学员初始姿态调整期间,系统可以通过语音指导学员尽快完成初始姿态同步。四种模式如下:
[0077] M1、差速同步模式:指调整示范者视频的播放速度,使之接近和配合模仿者的动作速度;系统对每一个示范视频帧都和模仿者视频帧进行小范围交叉比对,用于评估学习状况和同步;本模式适合于高级阶段的练习;
[0078] M2、停等同步模式:每个动作片段或分节都是匀速播放完后停下,等待模仿者完成当前分段或分节的最后一个姿态动作之后自动进入下一个片段或分节;系统可对每一个示范视频帧都进行比对,用于评估学习状况;也可以只比对分段或分节的起止姿态。本模式适合于中高级阶段的练习;
[0079] M3、命令同步模式:此时系统可以只比对动作分节或分段的起止姿态。当学员认为自己完成当前分段或分节的终止姿态时,通过口令或手持遥控器方式给教学系统一个指示,教学系统进行当前节点姿态比对。比对通过则前往下一个节点,不通过则进行动作指导,直到学员再次指示系统进行比对。在两个节点之间,学员的动作不做考核,适用于初学阶段;
[0080] 在M1-3模式下,运动教学系统的教学控制过程的
框架如图4所示。运动教学系统姿态采集模仿者动作视频,将每一帧做姿态感知之后,和示范姿态比对的过程和算法如下:
[0081] S11:如果已经到达当前片段的末尾,或到达下一个节点,则结束当前比对过程。否则取下一个待比对的示范姿态,跳到S12;
[0082] S12:取下一个比对模仿姿态;
[0083] S13:依次求示范姿态和模仿姿态的关节角度差值的绝对值乘信度,并累加,公式如下:
[0084]
[0085] 其中,Ak和ak分别表示示范者和模仿者角度序列的第k个角度,Rk为其信度;
[0086] S14:重复S12-S13,直到下一模仿姿态的D值开始增大时跳入步骤S11。
[0087] M4、静态维持模式:系统在预定时间长度内评估学员的姿态和同一个示范姿态的相似度。如果任一时刻其差别超过一定门限,则进而判断其错误类型,给学员以动作纠正讲解。同时,系统对学员动作的每一帧都做比对,以便做姿态
稳定性评估。
[0088] 在M4模式下,运动教学系统姿态采集模仿者动作视频,将每一帧做姿态感知之后,和单一示范姿态比对的过程和算法如下:
[0089] S21:取下一帧比对模仿姿态;
[0090] S22:依次求示范姿态和模仿姿态的关节角度差值的绝对值乘信度,并累加,公式如下:
[0091]
[0092] 其中,Ak和ak分别表示示范者和模仿者角度序列的第k个角度,Rk为其信度;
[0093] S23:重复S21-S22,直到达到所要求的维持时长。
[0094] 当需要判断动作错误的类型时,有两个方法判断模仿者的动作错误类型。一是和示范者录制的典型错误动作做相似度比对,二是根据教程中示范者演示的典型错误动作制作的动作序列数据的误差模型,评判模仿者的动作和哪一种错误动作接近。判断出错误类型后,给出针对性地讲解,指导模仿者纠正动作;当涉及到马匹和/或其他道具时,根据马匹和/或道具的比对结果,指导模仿者纠正对马匹的控制方法,及对相关道具的使用方法。
[0095] 在教学过程中,学员或模仿者可随时主动向所述运动教学系统发出命令,命令包括:调整学习速度(初学阶段需要慢速播放示范视频,学员可以随时加快或降低速度),学习内容切换(包括回到整套动作的起点、回到本教学片段的起点、跳过本动作片段、切换到其他教程),调整同步模式,取消或启用分节,调整正确度阈值,结束练习,等等;
[0096] 系统接受命令的方式包括语音、遥控器、手势等等。
[0097] 模仿动作感知模块的输出被存储作为模仿者学习效果评估依据。
[0098] 在体育项目中,错误动作识别主要用于防止运动损伤。比如跑步时,身体应该前倾,尽量用前脚掌着地;举重时膝部应该向外分开;等等。典型错误动作包括产生运动损伤的错误动作,在学员出现这类错误时,教学系统可被设置为立即指出,指导学员纠正姿势。
[0099] 实施例二
[0100] 本实施例提供了一种学生坐姿
监控系统,跟实施例一的主要差别是:
[0101] 1、学生坐姿监控系统的教程中的示范动作只包含一个正确示范姿态。这个姿态是一张静态正确坐姿画面,经过人工智能姿态识别画面,或者手工编制姿态数据,得到示范动作状态;为了在学生坐姿和示范坐姿差别较大时识别所犯错误类型,还可以输入多张典型错误画面,生成典型错误示范动作状态;
[0102] 2、坐姿不要求的部位的信度设置为0;
[0103] 3、姿态比对模块只工作在静态维持模式,其教程只有一个片段,该片段只有一个姿态;
[0104] 4、由于示范者动作只有一幅静态图片,对模仿者的视频不需要计算各关键点运动速度,只做静态姿态比对。
[0105] 5、监控过程不接受学生控制命令,本实施例的教学控制过程如图9所示,工作在三个状态:
[0106] Sc(正确状态):这个状态下,系统对摄像头摄录的每一帧做姿态识别,然后和正确姿态相比对。如果没有发现问题,则继续在原状态下,处理下一帧;如果有问题,则进入预警状态,并设置一个
定时器。定时器的长度可以设置为10秒(或其他合适的长度),表示如果学生10秒内回到正确坐姿,则系统不干预;
[0107] Sp(预警状态):在此状态下,系统继续处理学生视频。如果在定时器超时之前,回到正确姿态,则关闭定时器,回到Sc;如果定时器超时前仍然没有回到正确姿态,则根据最后一帧判断其错误类型,想学生发出警示,进入Sw;
[0108] Sw(警示状态):在此状态下,系统继续处理学生视频。同时持续发出警示,直到学生回到正确姿态,回到Sc;
[0109] 在对学生进行监控时,可利用一个摄像头从比较好的角度,比如侧后方拍摄,采集每一帧视频画面,进行动作感知,并和示范动作状态比对。当学生姿态和示范动作姿态差别较大时,和典型错误动作状态数据相比较,获得所犯的错误类型,进行相应的提醒。有些典型错误姿态虽然跟示范动作不一样,但也可以接受,无需提醒学生改变,这是,其“提醒音”设置为无声即可。
[0110] 综上所述,本发明利用人工智能视觉感知技术,可以免于穿戴在身上的各种传感器;可以事先对示范者的动作视频进行分析和处理,记录每个时刻每部分肢体的位置,速度和角度,然后对模仿者的动作进行同样的分析和处理,分析其每个时刻的运动状态,和示范者的动作进行比较,这样传统非现场教学中的问题将得到很好的解决,值得被推广使用。
[0111] 此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0112] 在本
说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0113] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、
修改、替换和变型。