发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种动作数据的保存方法和系统。
本发明解决上述技术问题的技术方案如下:
一种动作数据的保存方法,包括:
识别输入的动作视频的T帧图像,获得T帧图像中每一帧图像的多个人体关键点;其中,T>1;
分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存。
本发明的有益效果是:本方案通过分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存,通过本方案保存的动作数据,数据量更小,运动数据抽象成关键点序列,信息密度远远大于图像视频,便于保存、传输、分析处理。
进一步地,还包括:
将具有连接关系的两个人体关键点进行连接,获得多帧人体姿态图片;
将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频;
对所述目标动作视频进行可视化保存。
采用上述进一步方案的有益效果是:本方案通过将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频,对目标动作视频进行可视化保存,实现将关键点序列转化成图像序列,以视频/动图的形式展示给用户,直观展现运动情况。
进一步地,所述人体关键点包括人体关节的二维坐标点。
进一步地,所述分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列具体包括:
根据每一帧图像的多个人体关键点的二维坐标信息构建每一帧图像的关键点数组;
将T帧图像的关键点数组进行汇总获得关键点序列。
进一步地,所述将具有连接关系的两个人体关键点进行连接,获得多帧人体姿态图片具体包括:
新建一个图像画布;
将每一帧图像的关键点数组以二维坐标为圆心在画布上画圆,将具有连接关系的人体关键点进行连接,获得多帧人体姿态图片。
本发明解决上述技术问题的另一种技术方案如下:
一种动作数据的保存系统,包括:识别模块和保存模块;
所述识别模块用于识别输入的动作视频的T帧图像,获得T帧图像中每一帧图像的多个人体关键点;其中,T>1;
所述保存模块用于分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存。
本发明的有益效果是:本方案通过分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存,通过本方案保存的动作数据,数据量更小,运动数据抽象成N×2维的关键点序列,信息密度远远大于图像视频,便于保存、传输、分析处理。
进一步地,还包括:可视化保存模块,用于将具有连接关系的两个人体关键点进行连接,获得多帧人体姿态图片;
将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频;
对所述目标动作视频进行可视化保存。
采用上述进一步方案的有益效果是:本方案通过将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频,对目标动作视频进行可视化保存,实现将关键点序列转化成图像序列,以视频/动图的形式展示给用户,直观展现运动情况。
进一步地,所述人体关键点包括人体关节的二维坐标点。
进一步地,所述保存模块具体用于根据每一帧图像的多个人体关键点的二维坐标信息构建每一帧图像的关键点数组;
将T帧图像的关键点数组进行汇总获得关键点序列。
进一步地,所述可视化保存模块具体用于新建一个图像画布;
将每一帧图像的关键点数组以二维坐标为圆心在画布上画圆,将具有连接关系的人体关键点进行连接,获得多帧人体姿态图片。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明实施例提供的一种动作数据的保存方法,包括:
S1,识别输入的动作视频的T帧图像,获得T帧图像中每一帧图像的多个人体关键点;其中,T>1,且T为正整数;在某一实施例中,人体关键点的定义:人体关键点指的是人身上的关节坐标,例如头顶的坐标、手腕的坐标或膝盖的坐标。
其中,动作视频的T帧图像具体可为:利用关键帧提取技术从动作视频中提取的T帧关键帧,或者,动作视频的每帧图像,也可根据实际情况从动作视频提取T帧图像。其中,关节坐标具体可为人身上的关节在图像中的像素点坐标,也可基于图像建立二维坐标系,此时,关节坐标具体可为人身上的关节在二维坐标系中的坐标。
在另一实施例中,人体关键点的数值化表示:每个关键点用它在图像坐标系下的二维坐标(x, y)来表示。人体一共有N个关键点,则每个图片对应一个N×2维的数组。T帧的视频对应T×N×2的关键点序列。
S2,分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存。
在某一实施例中,输入动作视频,针对每一帧图片,通过人体姿态估计算法识别出人体关键点,汇总得到关键点序列。以关键点序列作为存储和传输的数据。需要说明的是,人体姿态估计算法可以包括:通过深度神经网络,将输入的图片转换成关键点坐标序列。这个算法可以由任何使用神经网络的同类型方法替换。其中,关键点序列可以包括:T×N个关键点的2D坐标,其中T是帧数。N是一个人体上的关键点数量。
本方案通过分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存,通过本方案保存的动作数据,数据量更小,运动数据抽象成N×2维的关键点序列,信息密度远远大于图像视频,便于保存、传输、分析处理。
优选地,在上述任意实施例中,还包括:
将具有连接关系的两个人体关键点进行连接,获得多帧人体姿态图片;
将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频;
在某一实施例中,动作数据可视化:(1)计算机程序新建一个图像画布。(2)对于每个N×2的关键点数组,以二维坐标为圆心在画布上画圆,再画线段将相连的关键点连接起来,构成一个可视化的人体姿态图片。(3)对T个关键点迭代处理,可以得到T张图片,将图片输出到视频文件得到可视化的动作视频。需要说明的是,关键点迭代处理可以包括:对T×N×2的关键点数组,重复用(2)处理T次,每次处理代表一个人姿态的N×2的关键点数组,得到一张图片。重复T次后得到T张图片。
对所述目标动作视频进行可视化保存。
本方案通过将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频,对目标动作视频进行可视化保存,实现将关键点序列转化成图像序列,以视频/动图的形式展示给用户,直观展现运动情况。
优选地,在上述任意实施例中,所述人体关键点包括人体关节的二维坐标点。
优选地,在上述任意实施例中,所述分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列具体包括:
根据每一帧图像的多个人体关键点的二维坐标信息构建每一帧图像的关键点数组;
将T帧图像的关键点数组进行汇总获得关键点序列。
需要说明的是,一帧图像的关键点数组示例(N=23,即23个关键点):[[0.5,0.764],[0.5,0.551],[0.495,0.338],[0.436,0.351],[0.436,0.568],[0.445,0.774],[0.465,0.342],[0.466,0.082],[0.463,0.033],[0.454,-0.022],[0.431,0.068],[0.486,0.087],[0.513,0.074],[0.423,0.116],[0.366,0.166],[0.304,0.135],[0.432,0.825],[0.416,0.819],[0.455,0.802],[0.505,0.817],[0.52,0.808],[0.49,0.799],[0.468,0.189]]。其中每个元素是一个长度为2的数组,分别表示关键点在坐标系中的横纵坐标。如[0.468,0.189]表示关键点坐标为(0.468,0.189)。
T帧图像的关键点序列示例为(T=3,N=23):
[[[0.5,0.764],[0.5,0.551],[0.495,0.338],[0.436,0.351],[0.436,0.568],[0.445,0.774],[0.465,0.342],[0.466,0.082],[0.463,0.033],[0.454,-0.022],[0.431,0.068],[0.486,0.087],[0.513,0.074],[0.423,0.116],[0.366,0.166],[0.304,0.135],[0.432,0.825],[0.416,0.819],[0.455,0.802],[0.505,0.817],[0.52,0.808],[0.49,0.799],[0.468,0.189]], [[0.5,0.764],[0.5,0.551],[0.495,0.338],[0.436,0.351],[0.436,0.568],[0.445,0.774],[0.465,0.342],[0.466,0.082],[0.463,0.033],[0.454,-0.022],[0.431,0.068],[0.486,0.087],[0.513,0.074],[0.423,0.116],[0.366,0.166],[0.304,0.135],[0.432,0.825],[0.416,0.819],[0.455,0.802],[0.505,0.817],[0.52,0.808],[0.49,0.799],[0.468,0.189]], [[0.5,0.764],[0.5,0.551],[0.495,0.338],[0.436,0.351],[0.436,0.568],[0.445,0.774],[0.465,0.342],[0.466,0.082],[0.463,0.033],[0.454,-0.022],[0.431,0.068],[0.486,0.087],[0.513,0.074],[0.423,0.116],[0.366,0.166],[0.304,0.135],[0.432,0.825],[0.416,0.819],[0.455,0.802],[0.505,0.817],[0.52,0.808],[0.49,0.799],[0.468,0.189]]]。
优选地,在上述任意实施例中,所述将具有连接关系的两个人体关键点进行连接,获得多帧人体姿态图片具体包括:
新建一个图像画布;
将每一帧图像的关键点数组以二维坐标为圆心在画布上画圆,将具有连接关系的人体关键点进行连接,获得多帧人体姿态图片。
需要说明的是,如图3、图4、图5所示,将每一帧图像的关键点数组以二维坐标为圆心在画布上画圆,将具有连接关系的人体关键点进行连接得到一帧人体姿态图片,将多帧图片连续播放得到人体运动视频。
在某一实施例中,如图2所示,一种动作数据的保存系统,包括:识别模块1101和保存模块1102;所述识别模块1101用于识别输入的动作视频的T帧图像,获得T帧图像中每一帧图像的多个人体关键点;其中,T>1;
所述保存模块1102用于分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存。
本方案通过分别对每一帧图像的多个人体关键点进行汇总,获得所述动作视频的关键点序列,并对所述关键点序列进行保存,通过本方案保存的动作数据,数据量更小,运动数据抽象成N×2维的关键点序列,信息密度远远大于图像视频,便于保存、传输、分析处理。
优选地,在上述任意实施例中,还包括:可视化保存模块,用于将具有连接关系的两个人体关键点进行连接,获得多帧人体姿态图片;
将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频;
对所述目标动作视频进行可视化保存。
本方案通过将所述多帧人体姿态图片进行迭代获得可视化的目标动作视频,对目标动作视频进行可视化保存,实现将关键点序列转化成图像序列,以视频/动图的形式展示给用户,直观展现运动情况。
优选地,在上述任意实施例中,所述人体关键点包括人体关节的二维坐标点。
优选地,在上述任意实施例中,所述保存模块1102具体用于根据每一帧图像的多个人体关键点的二维坐标信息构建每一帧图像的关键点数组;
将T帧图像的关键点数组进行汇总获得关键点序列。
优选地,在上述任意实施例中,所述可视化保存模块具体用于新建一个图像画布;
将每一帧图像的关键点数组以二维坐标为圆心在画布上画圆,将具有连接关系的人体关键点进行连接,获得多帧人体姿态图片
可以理解,在一些实施例中,可以包含如上述各实施例中的部分或全部可选实施方式。
需要说明的是,上述各实施例是与在先方法实施例对应的产品实施例,对于产品实施例中各可选实施方式的说明可以参考上述各方法实施例中的对应说明,在此不再赘述。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。