基于相机协同和三维骨骼估计的双人跳水同步性分析方法与流程

文档序号:23055684发布日期:2020-11-25 17:34阅读:125来源:国知局
基于相机协同和三维骨骼估计的双人跳水同步性分析方法与流程

本发明涉及人工智能领域,尤其是一种基于相机协同和三维骨骼估计的双人跳水同步性分析方法。



背景技术:

申请号为200710304226.0的发明专利中提出一种双人跳水同步性自动分析方法,该方法提出了一种一致性特征jff,需要提取起跳高度、空中动作配合时间和入水时间的一致性特征,提取过程过于复杂且精度难以保证,且起跳高度、空中动作配合时间和入水时间的认定比较模糊。



技术实现要素:

为了解决上述问题,本发明提出一种基于相机协同和三维骨骼估计的双人跳水同步性分析方法,该方法包括:

步骤一,利用侧视方向摄像机和正视方向摄像机分别采集跳水运动员的侧视动作图像和正视动作图像;

步骤二,将侧视动作图像和正视动作图像分别送入姿态提取网络,经过处理后得到跳水运动员的侧视关键点热力图、正视关键点热力图,对侧视关键点热力图和正视关键点热力图分别进行后处理得到跳水运动员的侧视二维关键点信息和正视二维关键点信息;

步骤三,将得到的侧视二维关键点信息和正视二维关键点信息分别作为时间卷积网络的输入,经过处理后得到跳水运动员的侧视三维骨架信息和正视三维骨架信息;

步骤四,根据侧视三维骨架信息计算两位跳水运动员的起跳高度、与台板之间的水平距离、入水时角度的余弦值,结合起跳高度、与台板之间的水平距离、入水时角度的余弦值得到评级a;

根据正视三维骨架信息进行两位跳水运动员动作相似度、动作时间一致性的评估,结合动作相似度评估结果和动作时间一致性评估结果得到评级b;

步骤五,当两位跳水运动员中任一位的头部中心点与水面之间的距离小于距离阈值时,利用俯视方向摄像机采集水面图像,从水面图像中选择多帧包括水花的水面图像,并计算选择的多帧水面图像中水花的面积,得到评级c;其中,头部中心点为双耳关键点连线的中心点;利用阈值法计算水面图像中水花的面积;

步骤六,综合评级a、评级b、评级c,得到双人跳水动作同步性的分析结果。

其中,姿态提取网络包括关键点提取编码器和关键点提取解码器,关键点提取编码器对动作图像进行特征提取,输出特征图,关键点提取解码器对特征图进行上采样与特征提取,生成关键点热力图;其中,关键点的选取可参考现有人体姿态估计数据集中选取的关键点,其中,关键点包括大腿根部、左耳、右耳、左肩、右肩、左脚、右脚。

时间卷积网络的一次输入为多帧关键点热力图的二维关键点信息,输出为一个三维骨架的信息。

跳水运动员的起跳高度、与台板之间的水平距离、入水时角度的余弦值的计算方法分别为:

连接每个跳水运动员的两个大腿根部关键点,所得直线的中心点为根节点,两个跳水运动员根节点的坐标分别为(x1,y1,z1),(x2,y2,z2);跳板边缘中心点的坐标为(x,y,z);

分别用z1、z2的最大值减去z,得到两个跳水运动员的起跳高度h、h0;

下落过程中,当两个根节点中任一根节点的高度与跳板边缘中心点的高度首次相同时,根据x1、x2、x,得到两个跳水运动员分别与台板之间的水平距离l、l0;

对于每个跳水运动员,连接双肩关键点连线的中心点与双脚关键点连线的中心点,得到向量a和向量a0,并计算向量a、a0分别与z轴方向上的单位向量之间的角度θ、θ0,得到两个跳水运动员入水时角度的余弦值cosθ、cosθ0。

评级a的获取过程为:根据两个跳水运动员的起跳高度、与台板之间的水平距离、入水时角度的余弦值得到一个分值,具体地:

分值=|h-h0|+|l-l0|+|cosθ-cosθ0|

设置分数评级区间,判断得到的分值位于哪个分数评级区间,所属分数评级区间对应的评级为评级a。

动作相似度的评估方法为:计算一帧中每个跳水运动员的正视三维骨架信息中相邻两关节向量之间夹角的余弦值,得到两个序列[d1,d2,d3,...,dq]和[e1,e2,e3,...,eq],两个序列中的数值对应进行除操作,得到序列[f1,f2,f3,...,fq],统计序列[f1,f2,f3,...,fq]中位于预设范围内的数值的个数,其中,q为每个跳水运动员的三维骨架信息中夹角的数目;

动作时间一致性的评估方法为:将其中一位运动员的三维骨架信息进行平移,使该运动员的根节点与另一位运动员的根节点对齐,计算两运动员的正视三维骨架信息中同一类关键点之间的距离,得到距离序列[y1,y2,y3,...,ym],序列[y1,y2,y3,...,ym]中的值相加得到关节距离,其中,m为关键点的类别数。

动作相似度和动作时间一致性的评估方法还包括:预先设定间隔帧数r,所述个数和关节距离每隔r帧计算一次,且将每次计算后得到的个数相加得到一个总个数,每次计算后得到的关节距离相加得到一个总关节距离,根据总个数得到动作相似度评估结果,根据总关节距离得到时间一致性评估结果。

本发明的有益效果在于:

1.该方法根据三维骨架信息获取跳水运动员的起跳高度,解决了所述发明专利中一致性特征提取过程过于复杂这一问题。

2.本发明利用神经网络技术对双人跳水的同步性进行分析,可以减少由于裁判个人带来的客观影响,使评判结果更加客观公正,且本发明综合了跳水运动员的起跳高度、与跳板之间的水平距离、动作相似度、水花面积等影响因素对跳水的同步性进行分析,其分析结果准确度高,计算速度快。

3.本发明利用多个视角的相机对跳水运动员进行动作图像的采集,并利用神经网络进行三维关键点的提取,解决人体姿态歧义性,提高了后续根据三维关键点计算得到跳水运动员动作信息的准确性。

附图说明

图1为本发明实施流程图。

具体实施方式

为了让本领域技术人员更好的理解本发明,下面结合实施例和附图对本发明进行详细描述。

本发明依据计算机视觉技术分析双人跳水动作,达到对其同步性评估的目的,具体地,本发明提出一种基于相机协同和三维骨骼估计的双人跳水同步性分析方法,其实施流程图如图1所示,本方法使用多个摄像机对运动员的跳水动作进行信息采集,并根据采集到的信息数据提取二维人体姿态信息,然后通过tcn回归出人体三维骨架,根据人体三维骨架对影响跳水同步性的因素进行分析,并结合入水时的水花面积进行双人跳水同步性的评估。

实施例:

利用侧视方向摄像机和正视方向摄像机分别采集跳水运动员的侧视动作图像和正视动作图像,其中,侧视方向的摄像机布置在与跳板垂直的方向上,且在该方向上以跳板为中心,在左右两侧分别布置一个摄像机;

将侧视动作图像和正视动作图像分别送入姿态提取网络,经过处理后得到跳水运动员的侧视关键点热力图、正视关键点热力图,对侧视关键点热力图和正视关键点热力图分别进行后处理得到跳水运动员的侧视二维关键点信息和正视二维关键点信息,具体地:

利用模拟器采集训练数据。模拟器实施者可自行选择,如unrealengine、unity3d、blender等,都可以对运动员双人跳水动作场景进行模拟,且可以在虚拟场景中布置不同方位的虚拟相机采集训练图像并且得到二维关键点信息及三维姿态信息;此外,在虚拟器中还可以调整人体三维模型相关参数来控制胖瘦、身高等。

对数据进行标注,针对图像内的人体骨骼关键点进行高斯核卷积,以生成关键点热力图。具体的细节如高斯核大小的选取,不在本发明讨论范围。关键点包括大腿根部、左耳、右耳、左肩、右肩、左脚、右脚,具体地,标注的人体骨骼关键点可参考coco人体姿态估计数据集。

因为要区分图像内的不同运动员实例,所以引入associativeembedding,即同一个运动员的所有关键点tag值要相近,不同运动员之间的tag值要不同,相近的概念通过欧式距离来实现。其公式如下:

n表示第n个运动员,k表示第k个关键点,x表示真实关键点所在的像素位置,hk表示第k个运动员关键点的标签heatmap。

至此,运动员的tag标签就生成了,称为associativeembedding。

将模拟器中采集的数据与标签数据送入到姿态提取网络中进行训练,该网络的训练细节如下:

利用模拟器采集的图像要经过归一化处理,将图片矩阵的值域变为[0,1]之间的浮点数,以便模型更好地收敛。标签同样经过归一化处理。

通过采集的图像和热力图标签数据,端到端的训练关键点提取编码器和关键点提取解码器。关键点提取编码器对图像进行特征提取,输入为经过归一化处理的图像数据,输出为featuremap;关键点提取解码器是对featuremap进行上采样与特征提取并最终生成关键点热力图(heatmap),其输入为关键点提取编码器产生的featuremap,输出为关键点热力图及associativeembedding。

loss函数采用heatmapsloss+groupingloss的加权和,其公式为:

其中,pcij代表类别c的关键点在位置(i,j)处的得分,得分越高就越可能是该类别关键点。ycij表示类别c真实的heatmaps。n代表groundtruth中的关键点数量。α、β为超参数,需要人为设定。

n代表groundtruth中的关键点数量,n表示第n个运动员,k表示第k个关键点,x表示真实关键点所在的像素位置,表示groundtruth的tag值。hk(xnk,)即预测的tag值。n′为除第n个运动员外的其他运动员,δ为人为设定的值。

函数中前半段就是把输入同一个运动员的关键点的tag值尽量拉近,而公式的后半段就是把不同的运动员个体相互拉开。

即总的loss为:

γ,同样是人为设定,是为了让两个损失的值比较接近,以更好地判断模型的收敛情况。

需要注意的是,由于热力图本身的特点,网络输出的关键点热力图其像素值符合高斯分布,其值域在[0,1]之间。

编码器-解码器的设计有许多种,本发明建议关键点提取编码器和关键点提取解码器套用沙漏网络、cpn、hrnet等预训练模型来进行关键点特征的提取,同时这样也更利于网络的收敛。

关键点热力图的后处理方法即如何得到关键点,是周知的,这里不再赘述。

至此即可得到跳水运动员的侧视二维关键点信息和正视二维关键点信息。

将得到的侧视二维关键点信息和正视二维关键点信息分别作为时间卷积网络的输入,经过处理后得到跳水运动员的侧视三维骨架信息和正视三维骨架信息;

时间卷积网络(tcn)使用2d关键点序列作为输入,然后产生3d姿态预测作为输出。tcn网络训练的标签为通过模拟器得到的3d人体姿态数据(模型骨骼),输入仍为模拟器得到的二维人体姿态数据。时间卷积网络的训练细节为:

a)由于tcn的特性,实施者可设置较大的时间步长以捕捉长期信息。

b)实施者应当知道tcn最终要接fc(全连接),以输出预测目标。

c)将多帧2d关节点序列作为tcn输入,形状为[帧数,关键点个数*2],关键点个数*2表示关键点的x,y坐标。最终经过fc全连接,输出为3d姿态预测,形状为[1,关键点个数*3],关键点个数*3表示关键点的x,y,z坐标,这里帧数建议根据相机刷新率来定,如帧数取6,表示每6帧进行预测一个三维姿态即三维骨架信息。

d)损失函数采用l2损失函数。

至此,得到跳水运动员的侧视三维骨架信息和正视三维骨架信息。

根据侧视三维骨架信息计算两位跳水运动员的起跳高度、与台板之间的水平距离、入水时角度的余弦值,具体的计算方法分别为:

连接每个跳水运动员的两个大腿根部关键点,所得直线的中心点为根节点,两个跳水运动员根节点的坐标分别为(x1,y1,z1),(x2,y2,z2);跳板边缘中心点的坐标为(x,y,z);

分别用两个跳水运动员根节点的最高高度减去跳板高度,即分别用z1、z2的最大值减去z,得到两个跳水运动员的起跳高度h、h0;

得到起跳高度后,计算跳水运动员与台板之间的水平距离,当根节点与跳板边缘中心点之间的垂直高度首次小于一定值或根节点的高度与跳板边缘中心点的高度相同时,根据x1、x2、x,得到两个跳水运动员分别与台板之间的水平距离l、l0;

对于每个跳水运动员,连接双肩中心点与双脚中心点,得到向量a和向量a0,并计算向量a、a0分别与z轴方向上的单位向量之间的角度θ、θ0,得到入水时角度的余弦值cosθ、cosθ0。

结合起跳高度、与台板之间的水平距离、入水时角度的余弦值得到评级a,具体地:

首先对两个跳水运动员的起跳高度、与台板之间的水平距离、入水时角度的余弦值进行计算得到一个分值:

分值=|h-h0|+|l-l0|+|cosθ-cosθ0|

其次,人为设定分数评级区间,得到分值后,判断所得分值属于哪个分数评级区间,得到评级a;比如0-5对应评级1,6-10对应评级2,11-15对应评级3。具体的分数评级区间的划分实施者可根据实际情况自行划分。

根据正视三维骨架信息进行两位跳水运动员动作相似度、动作时间一致性的评估,具体地:

动作相似度的评估方法为:计算一帧中每个跳水运动员三维骨架信息中相邻两关节向量之间夹角的余弦相似度,得到两个序列[d1,d2,d3,...,dq]和[e1,e2,e3,...,eq],对两个序列中的数值对应进行除操作,得到序列[f1,f2,f3,...,fq],统计序列[f1,f2,f3,...,fq]中位于预设范围内的数值的个数,其中,q为每个跳水运动员的三维骨架信息中夹角的数目;

由于跳水动作存在难度等级的划分,因此可以根据不同难度系数的跳水动作具体选择计算哪些关节之间的角度,即q的值是可变的,不同的动作可选择不同关节之间的夹角进行计算。

下面举例说明夹角余弦相似度的计算方法:

余弦相似度(cosinesimilarity)通过计算两个向量的夹角余弦值来评估他们的相似度,以大腿小腿之间的关节角度计算为例,余弦相似度的计算方法为:首先将膝关节点作为原点建立空间直角坐标系,然后连接脚关节点与膝关节点作为向量a1,膝关节点与大腿根部关节点连线作为向量a2,然后根据公式计算向量a1和向量a2的余弦相似度,μ为;两个向量之间的夹角,计算公式如下:

其中,为空间向量,为点乘,为向量模的乘积。

需要注意的是,预先设定间隔帧数r,每隔r帧计算一次序列[f1,f2,f3,...,fq],并统计序列[f1,f2,f3,...,fq]中位于预设范围内的数值的个数,实施例中每隔5帧计算一次,并将每次统计的个数相加,得到一个总个数;预先划分好个数等级区间,判断总个数位于哪个个数等级区间,得到对应的个数等级。其中,个数等级区间是人为根据实际情况进行划分。

动作时间一致性的评估方法为:将其中一位运动员的三维骨架信息进行平移,使该运动员的根节点与另一位运动员的根节点对齐,计算两运动员中同一类关键点之间的距离,得到序列[y1,y2,y3,...,ym],序列[y1,y2,y3,...,ym]中的值相加得到关节距离;其中,m为关键点的类别数,关键点之间的距离可以为欧式距离或l1距离。

动作时间一致性的评估也是每隔5帧评估一次,并将得到的多个关节距离相加得到一个总关节距离,判断该总距离位于哪个预先划分好的距离等级区间,得到距离等级。

结合动作相似度评估结果和时间一致性评估结果得到评级b,即结合个数等级和距离等级得到评级b,具体地,可将个数等级和距离等级相加得到评级b;

左右耳连线的中心点为运动员的头部中心点,当两位跳水运动员中任一位的头部中心点与水面之间的距离小于距离阈值时,利用俯视方向摄像机采集水面图像,从水面图像中选择多帧包括水花的水面图像,并计算选择的多帧水面图像中水花的面积,得到评级c,具体地:

实施例中选择十帧包括水花的水面图像,分别计算十帧水面图像中的水花面积;由于水面图像颜色较为单一,因此实施例通过otsu阈值法计算水花面积,并基于roi区域来统计每一位运动员的水花面积。roi区域可基于图像中间分割线来划分。

最后根据检测的十帧水花面积序列进行做差求和,根据求和值所在区间范围得到评估结果c。该做差求和为10个水花面积值进行对应相减,并求和:

s为一运动员的水花面积,s′为另一运动员的水花面积。

判断求和值位于预先划分好的哪个面积评级区间,评级区间对应的评级即为评级c。

需要注意的是,实施者可根据实际情况进行多帧水面图像的选择。

综合评级a、评级b、评级c即将评级a、评级b、评级c相加,得到最终的双人跳水动作同步性的分析结果。

需要说明的是,上述任何阈值与评级区间都需要人为设定,建议每个评级区间的划分数目要一致,即分数评级区间、个数等级区间、距离等级区间、面积评级区间的区间个数要保持一致,比如都划分5个区间,每个区间分别对应评级1,评级2,评级3,评级4,评级5。

以上所述旨在让本领域人员更好的理解本发明,并不用于限制本发明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1