动作评价模型的训练方法、动作评价方法及相关设备

文档序号:8351 发布日期:2021-09-17 浏览:21次 英文

动作评价模型的训练方法、动作评价方法及相关设备

技术领域

本申请涉及图像处理领域,特别是涉及一种动作评价模型的训练方法、动作评价方法、电子设备及计算机可读存储介质。

背景技术

动作评价的目的是将待评价动作(也可以被称为学生动作)片段与对应的标准动作(也可以被称为教师动作)片段进行比对,根据待评价动作片段与标准动作片段差异的大小,给出相似度评分。

动作评价的应用场景众多。例如,可以应用在体育动作示教、模特走姿培训、拉伸康复训练等场景。以体育动作示教为例,若体育动作不标准会造成学员骨骼的损伤,而动作评价可以有效的判断学生所做的俯卧撑、仰卧起坐、引体向上等体育动作是否标准。

现有的动作评价方法为提取动作片段中单帧的关键点特征,计算不同动作片段中对应单帧之间的相似度,基于相似度得到动作评价结果。但是,现有的动作评价方法的动作评价效果不好。

发明内容

本申请提供一种动作评价模型的训练方法、动作评价方法、电子设备及计算机可读存储介质,能够解决现有的动作评价方法的动作评价效果不好的问题。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种动作评价模型的训练方法。该训练方法包括:获取训练集,训练集中包括多类动作对应的标准动作片段,每个标准动作片段包括多个标准动作帧;对于每个标准动作片段,提取标准动作片段中的每个标准动作帧的关键点特征,组成标准动作片段的关键点特征序列;利用基于时空注意力机制的动作评价模型对标准动作片段的关键点特征序列进行处理,得到标准动作片段的动作特征;基于标准动作片段的动作特征,调整动作评价模型的参数。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种动作评价方法。该方法包括:获取待评价动作片段和目标动作片段,待评价动作片段和目标动作片段均属于目标动作,待评价动作片段包括多个待评价动作帧,目标动作片段包括多个目标动作帧;提取每个待评价动作帧的关键点特征,组成待评价动作片段的关键点特征序列,提取每个目标动作帧的关键点特征,组成目标动作片段的关键点特征序列;利用动作评价网络分别对待评价动作片段的关键点特征序列和目标动作片段的关键点特征序列进行处理;基于经处理的待评价动作片段的关键点特征序列和经处理的目标动作片段的关键点特征序列之间的相似度,得到待评价动作片段的动作评价结果;其中,动作评价网络是基于前述训练方法得到的。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,该电子设备包括处理器、与处理器连接的存储器,其中,存储器存储有程序指令;处理器用于执行存储器存储的程序指令以实现上述方法。

为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,存储有程序指令,该程序指令被执行时能够实现上述方法。

通过上述方式,本申请在对动作评价模型的训练过程中,时空注意力机制会对关键点特征序列进行处理(用到了时空注意力机制),因此考虑了关键点特征序列中的不同关键点特征之间的关系;且基于动作评价模型处理得到的动作特征的类内距离和类间距离,来评估动作评价模型的处理效果。因此,训练得到的动作评价模型提取到的动作特征易于区分,从而有助于后续动作评价。故本申请提供的方法能够提高后续动作评价的效果。

附图说明

图1是本申请动作评价模型的训练方法实施例一的流程示意图;

图2是图1中S14的具体流程示意图;

图3是本申请动作评价模型的一结构示意图;

图4是本申请动作评价方法一实施例的具体流程示意图;

图5是本申请训练过程和动作评价过程的架构示意图;

图6是本申请电子设备一实施例的结构示意图;

图7是本申请计算机可读存储介质一实施例的结构示意图。

具体实施方式

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

本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,在不冲突的情况下,本文所描述的实施例可以与其它实施例相结合。

图1是本申请动作评价模型的训练方法实施例一的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施例可以包括:

S11:获取训练集。

训练集中包括多类动作对应的标准动作片段,每个标准动作片段包括多个标准动作帧。

本申请涉及的动作片段为多个动作帧形成的动作序列。多类动作可以属于同一场景,也可以属于不同场景。例如,多类动作均属于体育动作示教场景,且多类动作包括俯卧撑、仰卧起坐和引体向上等。

S12:对于每个标准动作片段,提取标准动作片段中的每个标准动作帧的关键点特征,组成标准动作片段的关键点特征序列。

可以通过姿态估计算法提取标准动作帧中的关键点特征。标准动作片段的关键点特征序列的维度为(T,V,C)。其中T表示标准动作片段包括的标准动作帧的数量(时间维度),即序列长度;V表示标准动作帧中的关键点个数(空间维度),C表示关键点坐标(通道数)。

S13:利用基于时空注意力机制的动作评价模型对标准动作片段的关键点特征序列进行处理,得到标准动作片段的动作特征。

动作评价模型通过时空注意力机制可以为关键点特征序列中对动作评价来说重要的(有利于区分动作的)关键点特征分配较高的注意力。

其中,时空注意力机制可以包括时间注意力机制(图注意力网络GAT)和/或空间注意力机制(自注意力模块self-attention)。动作评价模型通过空间注意力机制可以学习同一标准动作帧中的不同关键点特征的重要性(空间维度),从而为同一标准动作帧中的对动作评价来说重要的(有利于区分动作的)关键点特征,分配较高的注意力。动作评价模型通过时间注意力机制可以学习不同标准动作帧中的关键点特征的重要性(时间维度),从而为对动作评价来说重要的标准动作帧中的关键点特征,分配较高的注意力。

若时空注意力机制包括空间注意力机制,则本步骤可以包括:利用空间注意力机制对同一个标准动作帧中的不同关键点特征进行处理。具体而言,可以基于不同关键点特征的空间关系获取不同关键点特征对应的权重,并将各关键点特征与对应的权重相乘,得到处理结果。

若时空注意力机制包括时间注意力机制,则本步骤可以包括:利用时间注意力机制对不同标准动作帧中的关键点特征进行处理。具体而言,可以基于不同标准动作帧之间的关系获取不同标准动作帧对应的权重;将不同标准动作帧的关键点特征与对应的权重相乘,得到处理结果。

另外,动作评价模型还可以包括长短期记忆网络(LSTM或者BiLSTM)。为了提高时间注意力机制的效果,可以在利用时间注意力机制对不同标准动作帧中的关键点特征进行处理之前,利用长短期记忆网络对不同标准动作帧的关键点特征进行处理,以学习标准动作片段在时间维度的位置信息(即不同标准动作帧的先后顺序)。

若动作评价模型包括时间注意力机制和空间注意力机制,或者包括时间注意力机制、空间注意力机制和长短期记忆网络,本申请利用时间注意力机制、空间注意力机制和长短期记忆网络对关键点特征序列处理的先后顺序不作限制。例如,可以依次利用时间注意力机制、空间注意力机制和长短期记忆网络对关键点特征序列进行处理。

此外,动作评价模型还可以包括池化层和全连接层。本步骤还可以包括:利用池化层对标准动作片段的动作特征进行池化;利用全连接层对经池化的标准动作片段的动作特征进行处理。

S14:基于标准动作片段的动作特征,调整动作评价模型的参数。

结合参阅图2,本步骤可以进一步扩展为以下子步骤:

S141:获取标准动作片段的动作特征的损失函数。

损失函数用于衡量标准动作片段的动作特征的类间距离和类内距离。

类间距离为属于不同类动作的动作特征之间的距离,类内距离为属于同一类动作的动作特征之间的距离。

S142:基于损失函数调整动作评价模型的参数。

基于损失函数评估动作评价模型的处理效果,进而调整动作评价模型的参数,以逐渐减小动作评价模型得到的同类动作特征之间的距离(类内距离),以及增大不同类动作特征之间的距离(类间距离),直至满足预设条件。其中,预设条件可以为训练效果、训练次数、训练时间等达到预期。

三元组损失函数为可以衡量类间距离和类内距离的一种损失函数。每个标准动作片段带有标签,用于表示其所属的动作。

在损失函数为三元组损失函数的情况下,可以选取多类动作中的一类作为目标动作。基于标签对多个标准动作片段的特征进行分组,每组包括三个标准动作片段的特征,且三个标准动作片段的特征中的两个属于目标动作;获取每组中的三个标准动作片段的特征之间的三元组损失。获取三元组损失所依据的公式可以如下:

Ltriplet=max(0,||f(X)-f(X+)||2-||f(X)-f(X-)||2margin);

其中,Ltriplet表示三元组损失,f(X)表示标准动作片段Anchor的动作特征、f(X+)表示标准动作片段Positive的动作特征、f(X-)表示标准动作片段Negative的动作特征,Anchor和Positive属于目标动作,αmargin为超参数,用于控制不同类动作特征之间的距离。

通过三元组损失函数训练得到的动作评价模型可以适用于对目标动作相关的动作片段的评价过程。并且,为适应实际动作评价的需求,可以通过改变训练过程中目标动作的类型,来改变动作评价模型适用的实际动作评价的动作片段所属的动作类型。

通过本实施例的实施,本申请在对动作评价模型的训练过程中,时空注意力机制会对关键点特征序列进行处理,因此考虑了关键点特征序列中的不同关键点特征之间的关系;且基于动作评价模型处理得到的动作特征的类内距离和类间距离,来评估动作评价模型的处理效果。因此,训练得到的动作评价模型提取到的动作特征易于区分,从而有助于后续动作评价。故本申请提供的方法能够提高后续动作评价的效果。

下面以一个例子的形式,对本申请提供的动作评价模型的训练方法进行说明:

1)利用姿态估计算法获取标准动作片段的关键点特征序列(T,V,C)。

2)将(T,V,C)送入动作评价模型(ST-Attention)。结合参阅图3,图3是本申请动作评价模型的一结构示意图。如图3所示,动作评价模型包括依次连接的第一时空注意力层(ST-BiLSTM-Attention Layer)和6个第二时空注意力层(ST-Attention Layer)、全局池化层(Global Pooling)和全连接层(full connection)。ST-Bilstm-Attention Layer包括依次连接的图注意力网络(GAT)、BiLSTM和自注意力模块(Self-Attention),ST-AttentionLayer包括依次连接的GAT和Self-Attention。

从而,在ST-Bilstm-Attention Layer,利用GAT对(T,V,C)进行空间维度的处理,以更新(T,V,C);将(T,V,C)转换至时间维度,得到(V,T,C);依次利用BiLSTM和Self-attention对(V,T,C)进行时间维度的处理,以更新(V,T,C);将(V,T,C)的送至ST-Attention Layer。

由于ST-Bilstm-Attention Layer已经学习到了时间维度的位置信息,因此ST-Attention Layer不再包括BiLSTM。在ST-Attention Layer,将(V,T,C)转换至空间维度,得到(T,V,C);利用GAT对(T,V,C)进行空间维度的处理,以更新(T,V,C);将(T,V,C)转换至时间维度,得到(V,T,C);利用Self-Attention对(V,T,C)进行时间维度的处理,以更新(V,T,C);将(V,T,C)送至Global Pooling。

Global Pooling对(V,T,C)进行全局池化,以更新(V,T,C);将(V,T,C)送至fullconnection。

full connection对(V,T,C)进行处理,以得到最终的处理结果,即标准动作片段的动作特征。

上述处理过程中,只有C维度发生变化且由GAT控制。经过ST-Bilstm-AttentionLayer,C维度的特征由2个增加到64个,经过ST-Attention Layer的第3、5层时C维度的特征翻倍(分别增加到128个和256个),此时特征维度为(T,V,256),经过全局池化后特征维度变为256,最后通过全连接层得到维度为100个的深层特征向量。

上述方法训练得到的动作评价模型可以用于对目标动作的动作评价过程。结合参阅图4,图4是本申请动作评价方法一实施例的具体流程示意图。如图4所示,本实施例可以包括:

S21:获取待评价动作片段和目标动作片段。

待评价动作片段和目标动作片段均属于目标动作,待评价动作片段包括多个待评价动作帧,目标动作片段包括多个目标动作帧。

S22:提取每个待评价动作帧的关键点特征,组成待评价动作片段的关键点特征序列,提取每个目标动作帧的关键点特征,组成目标动作片段的关键点特征序列。

S23:利用动作评价网络分别对待评价动作片段的关键点特征序列和目标动作片段的关键点特征序列进行处理。

S24:基于经处理的待评价动作片段的关键点特征序列和经处理的目标动作片段的关键点特征序列之间的相似度,得到待评价动作片段的动作评价结果。

例如,可以获取经处理的待评价动作片段的关键点特征序列和经处理的目标动作片段的关键点特征序列之间的余弦相似度。该相似度与待评价动作片段的标准程度正相关,且由于待评价动作片段与目标动作片段均属于目标动作,因此相似度大小会根据标准程度在0-1间取值。

本实施例的其他详细描述请参见前面的实施例说明,在此不赘述。

通过本实施例的实施,本申请利用通过前述训练方法训练得到的动作评价模型,故能够提高动作评价结果的精度。

下面以一个例子的形式,对本申请的训练过程及动作评价过程进行说明。

结合参阅图5,在训练过程,训练集中包括的标准动作片段有目标动作(Anchor、Positive)和非目标动作Negative,分别对Anchor、Positive和Negative进行姿态估计得到对应的关键点特征序列,再利用动作评价网络ST-Attention对关键点特征序列处理,得到Anchor、Positive和Negative的动作特征,基于动作特征计算三元组损失Triplet-Loss,基于Triplet-Loss调整ST-Attention的参数。保存最后一次训练得到的ST-Attention的参数并应用于动作评价过程。

在动作评价过程,分别对待评价片段(Student)和目标动作片段(Teacher)进行姿态估计得到对应的关键点特征序列,再利用动作评价网络ST-Attention对关键点特征序列处理,得到Student和Teacher的动作特征,计算Student和Teacher的动作特征之间的余弦相似度(Cosine similarity),基于Cosine similarity得到Student的动作评价结果。

图6是本申请电子设备一实施例的结构示意图。如图6所示,该电子设备可以包括处理器31、与处理器31耦接的存储器32。

其中,存储器32存储有用于实现上述任一实施例的方法的程序指令;处理器31用于执行存储器32存储的程序指令以实现上述方法实施例的步骤。其中,处理器31还可以称为CPU(Central Processing Unit,中央处理单元)。处理器31可能是一种集成电路芯片,具有信号的处理能力。处理器31还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器31也可以是任何常规的处理器等。

图7是本申请计算机可读存储介质一实施例的结构示意图。如图7所示,本申请实施例的计算机可读存储介质40存储有程序指令41,该程序指令41被执行时实现本申请上述实施例提供的方法。其中,该程序指令41可以形成程序文件以软件产品的形式存储在上述计算机可读存储介质40中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质40包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种基于创新边缘特征提取方法的遥感图像显著性检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!