图像处理方法、装置、电子设备和计算机存储介质与流程

文档序号:24071609发布日期:2021-02-26 15:34阅读:80来源:国知局
图像处理方法、装置、电子设备和计算机存储介质与流程

[0001]
本公开涉及计算机视觉处理技术,尤其涉及一种图像处理方法、装置、电子设备和计算机存储介质。


背景技术:

[0002]
目前,人体动作姿态识别已经成为多个领域的热点研究问题,随着多种人体姿态识别算法的出现,人体动作姿态识别取得了一定的研究进展。人体动作姿态相似度的度量,在动作学习、游戏健身、人机交互、虚拟现实等方面有着广泛的应用;例如,在线上视频教学场景,动作姿态相似度的比对显得尤为重要。
[0003]
然而,在相关技术中,视频中人体动作相似度是基于人体关节角度计算得出的,人体关节角度并不能直观准确地反映动作的标准程度,例如,顺时针夹角与逆时针夹角虽然角度大小相同,但对应动作实则不同。


技术实现要素:

[0004]
本公开实施例期望提供图像处理的技术方案,能够准确地得出不同视频中的人体动作相似度。
[0005]
本公开实施例提供了一种图像处理方法,所述方法包括:
[0006]
获取第一视频数据和第二视频数据;
[0007]
对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息;对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息;
[0008]
根据所述第一视频数据中每帧图像的归一化坐标信息、以及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0009]
在一些实施例中,所述根据所述第一视频数据中每帧图像的归一化坐标信息、以及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0010]
将所述第一视频数据中每帧图像的归一化坐标信息进行合并,得到所述第一视频数据中每帧图像的关键点特征向量;将所述第二视频数据中每帧图像的归一化坐标信息进行合并,得到所述第二视频数据中每帧图像的关键点特征向量;
[0011]
根据所述第一视频数据中每帧图像的关键点特征向量、以及所述第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0012]
在一些实施例中,所述根据所述第一视频数据中每帧图像的关键点特征向量、以及所述第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0013]
对所述第一视频数据中各帧图像的关键点特征向量进行合并,得到所述第一视频数据的特征向量时间序列;
[0014]
对所述第二视频数据中各帧图像的关键点特征向量进行合并,得到所述第二视频数据的特征向量时间序列;
[0015]
根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0016]
在一些实施例中,所述对所述第一视频数据中各帧图像的关键点特征向量进行合并,得到所述第一视频数据的特征向量时间序列,包括:
[0017]
对所述第一视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第一视频数据中各帧图像的归一化特征向量,对第一视频数据中各帧图像的归一化特征向量进行合并,得到所述第一视频数据的特征向量时间序列;
[0018]
所述对所述第二视频数据中各帧图像的关键点特征向量进行合并,得到所述第二视频数据的特征向量时间序列,包括:
[0019]
对所述第二视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第二视频数据中各帧图像的归一化特征向量,对所述第二视频数据中各帧图像的归一化特征向量进行合并,得到所述第二视频数据的特征向量时间序列。
[0020]
在一些实施例中,所述根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0021]
根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,并采用动态时间规整(dynamic time warping,dtw)方法,确定所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离;
[0022]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0023]
在一些实施例中,所述根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0024]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值;
[0025]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0026]
在一些实施例中,所述根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0027]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值的平均值,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0028]
在一些实施例中,所述获取第一视频数据和第二视频数据,包括:
[0029]
获取待比对的第一初始视频数据和第二初始视频数据;
[0030]
对所述第一初始视频数据和所述第二初始视频数据进行预处理,得到帧数相同的第一视频数据和第二视频数据。
[0031]
在一些实施例中,所述对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息,包括:
[0032]
对所述第一视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,对所述第一视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第一视频数据中每帧图像的归一化坐标信息;
[0033]
所述对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息,包括:
[0034]
对所述第二视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,对所述第二视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第二视频数据中每帧图像的归一化坐标信息。
[0035]
本公开实施例还提供了一种图像处理装置,所述装置包括:
[0036]
获取模块,用于获取第一视频数据和第二视频数据;
[0037]
第一处理模块,用于对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息;对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息;
[0038]
第二处理模块,用于根据所述第一视频数据中每帧图像的归一化坐标信息、以及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0039]
在一些实施例中,所述第二处理模块,用于根据所述第一视频数据中每帧图像的归一化坐标信息、以及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0040]
将所述第一视频数据中每帧图像的归一化坐标信息进行合并,得到所述第一视频数据中每帧图像的关键点特征向量;将所述第二视频数据中每帧图像的归一化坐标信息进行合并,得到所述第二视频数据中每帧图像的关键点特征向量;
[0041]
根据所述第一视频数据中每帧图像的关键点特征向量、以及所述第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0042]
在一些实施例中,所述第二处理模块,用于根据所述第一视频数据中每帧图像的关键点特征向量、以及所述第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0043]
对所述第一视频数据中各帧图像的关键点特征向量进行合并,得到所述第一视频数据的特征向量时间序列;
[0044]
对所述第二视频数据中各帧图像的关键点特征向量进行合并,得到所述第二视频数据的特征向量时间序列;
[0045]
根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0046]
在一些实施例中,所述第二处理模块,用于对所述第一视频数据中各帧图像的关键点特征向量进行合并,得到所述第一视频数据的特征向量时间序列,包括:
[0047]
对所述第一视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第一视频数据中各帧图像的归一化特征向量,对第一视频数据中各帧图像的归一化特征向量进行合并,得到所述第一视频数据的特征向量时间序列;
[0048]
所述第二处理模块,用于对所述第二视频数据中各帧图像的关键点特征向量进行合并,得到所述第二视频数据的特征向量时间序列,包括:
[0049]
对所述第二视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第二视频数据中各帧图像的归一化特征向量,对所述第二视频数据中各帧图像的归一化特征向量进行合并,得到所述第二视频数据的特征向量时间序列。
[0050]
在一些实施例中,所述第二处理模块,用于根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0051]
根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,并采用dtw方法,确定所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离;
[0052]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0053]
在一些实施例中,所述第二处理模块,用于根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0054]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值;
[0055]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0056]
在一些实施例中,所述第二处理模块,用于根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0057]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值的平均值,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0058]
在一些实施例中,所述获取模块,用于获取第一视频数据和第二视频数据,包括:
[0059]
获取待比对的第一初始视频数据和第二初始视频数据;
[0060]
对所述第一初始视频数据和所述第二初始视频数据进行预处理,得到帧数相同的第一视频数据和第二视频数据。
[0061]
在一些实施例中,所述第一处理模块,用于对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息,包括:
[0062]
对所述第一视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,对所述第一视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第一视频数据中每帧图像的归一化坐标信息;
[0063]
所述第一处理模块,用于对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息,包括:
[0064]
对所述第二视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,对所述第二视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第二视频
数据中每帧图像的归一化坐标信息。
[0065]
本公开实施例还提供了一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
[0066]
所述处理器用于运行所述计算机程序以执行上述任意一种图像处理方法。
[0067]
本公开实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种图像处理方法。
[0068]
本公开实施例提出的图像处理方法、装置、电子设备和计算机存储介质中,获取第一视频数据和第二视频数据;对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息;对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息;所述归一化坐标信息表示所述人体关键点的归一化后的坐标;根据所述第一视频数据中每帧图像的归一化坐标信息、以及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0069]
可以看出,在本公开实施例中,可以对视频数据中每帧图像的人体关键点的坐标进行归一化处理,然后,可以基于视频数据中每帧图像的归一化坐标信息进行视频数据中人体动作相似度的比对;通过对视频数据中每帧图像的人体关键点的坐标进行归一化处理,有利于排除视频中背景、人体位置和尺度等等不同因素造成的影响,进而,有利于直观准确地对不同视频数据的人体动作相似度进行比对。
[0070]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
[0071]
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0072]
图1为本公开实施例的图像处理方法的流程图;
[0073]
图2为本公开实施例的一个应用场景示意图;
[0074]
图3a为本公开实施例中第一初始视频数据中的一帧图像;
[0075]
图3b为本公开实施例中第二初始视频数据中的一帧图像。
[0076]
图4为本公开实施例的图像处理装置的组成结构示意图;
[0077]
图5为本公开实施例的电子设备的结构示意图。
具体实施方式
[0078]
以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本公开,并不用于限定本公开。另外,以下所提供的实施例是用于实施本公开的部分实施例,而非提供实施本公开的全部实施例,在不冲突的情况下,本公开实施例记载的技术方案可以任意组合的方式实施。
[0079]
需要说明的是,在本公开实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要
素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
[0080]
例如,本公开实施例提供的图像处理方法包含了一系列的步骤,但是本公开实施例提供的图像处理方法不限于所记载的步骤,同样地,本公开实施例提供的图像处理装置包括了一系列模块,但是本公开实施例提供的装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
[0081]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
[0082]
本公开实施例可以应用于终端和/或服务器组成的计算机系统中,并可以与众多其它通用或专用计算系统环境或配置一起操作。这里,终端可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等,服务器可以是服务器计算机系统小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
[0083]
终端、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0084]
在相关技术中,由于场景条件的限制,大多数视频的拍摄角度是单一的,导致拍摄的视频是平面二维的视频数据,且视频中的动作与标准动作很可能不是完全同步的,因此,需要针对不同的拍摄角度的视频数据计算人体姿态动作相似度。
[0085]
对于不同视频数据中人体动作相似度的计算,可以基于人体关节角度和dtw方法实现,在一些实施方式中,可以利用人体关节角度作为比对的标准,以消除视频背景的干扰和人体大小位置不同的影响;然后,对对关节角度的序列采取指数平滑法处理,并利用角度差分割每个视频数据的序列(即按照时间顺序排列的多帧图像),最后利用dtw方式求得不同视频数据的序列之间的距离。
[0086]
上述人体动作相似度的计算方法存在以下问题:
[0087]
1)采用人体关节角度作为比对标准,然而,由于人体关节角度不能充分可靠地反映动作的标准程度,导致最后得出的人体动作相似度不够准确;并且,dtw算法是基于不同视频数据的序列的最短路径确定距离的,可能存在不同视频数据的人体动作区分度低的问题,例如,两段完全不同的人体动作也会被识别为相似度较高的人体动作。
[0088]
2)基于角度差分割每个视频数据的序列,但是,由于每个人的动作幅度不同,很难针对不同的人体确定通用的视频序列的分割标准,导致两个待比对的视频数据分割出来的视频帧数不同,不利于进行视频数据中人体动作相似度的比对。
[0089]
针对上述技术问题,在本公开的一些实施例中,提出了一种图像处理方法,本公开
实施例可以应用于人体动作姿态识别等场景。
[0090]
图1为本公开实施例的图像处理方法的流程图,如图1所示,该流程可以包括:
[0091]
步骤101:获取第一视频数据和第二视频数据。
[0092]
这里,第一视频数据和第二视频数据表示需要比对的两个视频数据;第一视频数据和第二视频数据均包括多帧人体图像。
[0093]
在一些实施例中,第一视频数据或第二视频数据可以是由摄像机等图像采集设备采集得到的,也可以是从网络端或本地存储空间获取的视频数据;在另一些实施例中,可以首先获取图像采集设备采集的初始视频数据,或者,从网络端获取初始视频数据,或者,从本地存储空间获取初始视频数据,然后,对初始视频数据进行预处理,得到第一视频数据或第二视频数据。
[0094]
在一些实施例中,第一视频数据和第二视频数据的帧数可以相同,也可以不相同,本公开实施例并不进行限定。
[0095]
步骤102:对第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到第一视频数据中每帧图像的归一化坐标信息;对第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到第二视频数据中每帧图像的归一化坐标信息。
[0096]
本公开实施例中,每帧图像的人体关键点为预先指定的至少一个人体关键点;在实际应用中,可以根据实际需求从各个人体关键点中指定出至少一个人体关键点。
[0097]
在一些实施例中,每帧图像的人体关键点和序号可以表示为:{0,“鼻子(nose)”},{1,“颈部(neck)”},{2,“右肩(rshoulder)”},{3,“右肘(relbow)”},{4,“右手腕(rwrist)”},{5,“左肩(lshoulder)”},{6,“左肘(lelbow)”},{7,“左手腕(lwrist)”},{8,“臀中部(midhip)”},{9,“右臀(rhip)”},{10,“右膝(rknee)”},{11,“右踝(rankle)”},{12,左臀(lhip)”},{13,“左膝(lknee)”},{14,“左踝(lankle)”},其中,0至14表示各个人体关键点的序号。
[0098]
在一些实施例中,每帧图像的人体关键点和序号可以表示为:{15,“右眼(reye)”},{16,“左眼(leye)”},{17,“右耳(rear)”},{18,“左耳(lear)”},{19,“左大脚趾(lbigtoe)”},{20,“左小脚趾(lsmalltoe)”},{21,左脚后跟(lheel)”},{22,“右大脚趾(rbigtoe)”},{23,“右小脚趾(rsmalltoe)”},{24,“右脚后跟(rheel)”},其中,15至24表示各个人体关键点的序号。
[0099]
本公开实施例中,在获取第一视频数据和第二视频数据后,可以采用人体关键点识别算法对第一视频数据和第二视频数据中的每帧图像进行处理,得到第一视频数据中的每帧图像的人体关键点的坐标和第二视频数据中的每帧图像的人体关键点的坐标;这里,人体关键点识别算法可以采用神经网络实现。
[0100]
在一些实施例中,在得到第一视频数据和第二视频数据中的每帧图像的人体关键点的坐标后,可以对第一视频数据和第二视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,并对第一视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第一视频数据中每帧图像的归一化坐标信息;对第二视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第二视频数据中每帧图像的归一化坐标信息。
[0101]
本公开实施例中,对视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处
理的原理为:按照人体关键点的邻域内像素点的坐标对人体关键点的坐标进行修正,例如可以将邻域内像素点的坐标的平均值作为降噪平滑处理后的人体关键点坐标;可以理解地,通过对视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,可以在一定程度上对人体关键点的不准确的坐标(即噪声数据)进行修正,达到降噪的目的。示例性地,降噪平滑处理的方法包括但不限于指数平滑、均值滤波、卡尔曼滤波等。
[0102]
在一些实施例中,归一化坐标信息表示所述人体关键点的归一化后的坐标,示例性地,可以基于以下公式(1)和公式(2)对第一视频数据或第二视频数据中每帧图像的人体关键点的坐标进行归一化处理:
[0103][0104][0105]
其中,x
i
表示第一视频数据或第二视频数据中每帧图像的第i个人体关键点的横坐标,x
i
'表示第i个人体关键点经归一化处理后的横坐标,在x
i
表示第一视频数据中每帧图像的第i个人体关键点的横坐标的情况下,min{x
i
}表示第一视频数据中各个人体关键点的横坐标的最小值,max{x
i
}表示第一视频数据中各个人体关键点的横坐标的最大值;在x
i
表示第二视频数据中每帧图像的第i个人体关键点的横坐标的情况下,min{x
i
}表示第二视频数据中各个人体关键点的横坐标的最小值,max{x
i
}表示第二视频数据中各个人体关键点的横坐标的最大值。y
i
表示第一视频数据或第二视频数据中每帧图像的第i个人体关键点的纵坐标,y
i
'表示第一视频数据或第二视频数据中每帧图像的第i个人体关键点经归一化处理后的纵坐标;在y
i
表示第一视频数据中每帧图像的第i个人体关键点的纵坐标的情况下,min{y
i
}表示第一视频数据中各个人体关键点的纵坐标的最小值,max{y
i
}表示第一视频数据中各个人体关键点的纵坐标的最大值;在y
i
表示第二视频数据中每帧图像的第i个人体关键点的纵坐标的情况下,min{y
i
}表示第二视频数据中各个人体关键点的纵坐标的最小值,max{y
i
}表示第二视频数据中各个人体关键点的纵坐标的最大值;i表示大于或等于1的整数。
[0106]
可以理解地,基于上述公式(1)和公式(2),可以对第一视频数据或第二视频数据中每帧图像的人体关键点的坐标进行平移和缩放处理,使各个人体关键点经归一化处理后的横坐标和纵坐标的范围统一至[0,1]。
[0107]
步骤103:根据第一视频数据中每帧图像的归一化坐标信息、以及第二视频数据中每帧图像的归一化坐标信息,确定第一视频数据和第二视频数据的人体动作相似度。
[0108]
图2为本公开实施例的一个应用场景示意图,如图2所示,可以将第一视频数据201和第二视频数据202输入至图像处理装置203,在图像处理装置203中,通过前述实施例记载的图像处理方法进行处理,可以得到第一视频数据和第二视频数据的人体动作相似度。
[0109]
在实际应用中,步骤101至步骤103可以利用电子设备中的处理器实现,上述处理器可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可
编程门阵列(field-programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。
[0110]
可以看出,在本公开实施例中,可以对视频数据中每帧图像的人体关键点的坐标进行归一化处理,然后,可以基于视频数据中每帧图像的归一化坐标信息进行视频数据中人体动作相似度的比对;通过对视频数据中每帧图像的人体关键点的坐标进行归一化处理,有利于排除视频中背景、人体位置和尺度等等不同因素造成的影响,进而,有利于直观准确地对不同视频数据的人体动作相似度进行比对。
[0111]
在一些实施例中,获取第一视频数据和第二视频数据的实现方式可以是,获取待比对的第一初始视频数据和第二初始视频数据;对第一初始视频数据和第二初始视频数据进行预处理,得到帧数相同的第一视频数据和第二视频数据。
[0112]
在一种实施方式中,第一初始视频数据为从图像采集设备、网络端或本地存储空间获取的视频数据,第二初始视频数据为预先获取的包含人体标准动作的视频数据;例如,第一初始视频数据用于表示待比对的太极拳动作,第二初始视频数据表示标准的太极拳动作。
[0113]
在一种实施方式中,对第一初始视频数据和第二初始视频数据进行预处理的实现方式可以是,对第一初始视频数据和第二初始视频数据进行降帧处理,得到帧数相同的第一视频数据和第二视频数据。
[0114]
本公开实施例中,通过对第一初始视频数据和第二初始视频数据进行预处理,可以得到帧数相同的第一视频数据和第二视频数据;在得到帧数相同的第一视频数据和第二视频数据的基础上,有利于对第一视频数据和第二视频数据的人体动作相似度进行比对。
[0115]
本公开实施例中,对于步骤103的实现方式,示例性地,可以将第一视频数据中每帧图像的归一化坐标信息进行合并,得到第一视频数据中每帧图像的关键点特征向量;将第二视频数据中每帧图像的归一化坐标信息进行合并,得到第二视频数据中每帧图像的关键点特征向量。
[0116]
根据第一视频数据中每帧图像的关键点特征向量、以及第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0117]
在一些实施例中,在得到第一视频数据和第二视频数据中每帧图像的归一化坐标信息后,可以根据公式(3)得到第一视频数据或第二视频数据中每帧图像的关键点特征向量:
[0118]
v=(x1',y1'....x
n
',y
n
')
ꢀꢀ
(3)
[0119]
其中,v表示第一视频数据或第二视频数据中每帧图像的关键点特征向量,x1'至x
n
'分别表示第一视频数据或第二视频数据中每帧图像的第1个人体关键点至第n个人体关键点的经归一化处理后的横坐标,y1'至y
n
'分别表示第一视频数据或第二视频数据中每帧图像的第1个人体关键点至第n个人体关键点的经归一化处理后的纵坐标,n表示预先指定的人体关键点的个数。
[0120]
本公开实施例中,不同帧图像的归一化坐标信息可以按照相同的顺序进行合并,这样,在得到的不同帧图像的关键点特征向量中,相同位置的元素代表相同的含义,例如,不同帧图像的关键点特征向量中,第3个元素均表示人体的右肘关键点的坐标。
[0121]
对于根据第一视频数据中每帧图像的关键点特征向量、以及第二视频数据中每帧
图像的关键点特征向量,确定第一视频数据和第二视频数据的人体动作相似度的实现方式,在一个示例中,可以对第一视频数据中各帧图像的关键点特征向量进行合并,得到第一视频数据的特征向量时间序列;对第二视频数据中各帧图像的关键点特征向量进行合并,得到第二视频数据的特征向量时间序列;根据第一视频数据的特征向量时间序列和第二视频数据的特征向量时间序列,确定第一视频数据和第二视频数据的人体动作相似度。
[0122]
这里,第一视频数据的特征向量时间序列表示按照时间顺序排列的多个关键点特征向量;第二视频数据的特征向量时间序列表示按照时间顺序排列的多个关键点特征向量。
[0123]
本公开实施例中,第一视频数据和第二视频数据均包括多帧数据,在得到第一视频数据或第二视频数据中各帧图像的关键点特征向量后,可以在时间维度将第一视频数据或第二视频数据中各帧图像的关键点特征向量进行拼接,得到第一视频数据的特征向量时间序列或第二视频数据的特征向量时间序列;在一些实施例中,第一视频数据的特征向量时间序列或第二视频数据的特征向量时间序列可以为矩阵。
[0124]
可以理解地,在得到第一视频数据的特征向量时间序列或第二视频数据的特征向量时间序列的基础上,有利于在时间维度对第一视频数据的特征向量时间序列或第二视频数据的特征向量时间序列进行对齐,并有利于将两个视频数据中不同时间点的动作和动作之间进行对齐,进而,有利于准确得出第一视频数据和第二视频数据中人体动作相似度。
[0125]
对于对所述第一视频数据中各帧图像的关键点特征向量进行合并,得到所述第一视频数据的特征向量时间序列的实现方式,示例性地,可以对第一视频数据中各帧图像的关键点特征向量进行归一化处理,得到第一视频数据中各帧图像的归一化特征向量,对第一视频数据中各帧图像的归一化特征向量进行合并,得到第一视频数据的特征向量时间序列。
[0126]
对于对第二视频数据中各帧图像的关键点特征向量进行合并,得到所述第二视频数据的特征向量时间序列的实现方式,示例性地,可以对第二视频数据中各帧图像的关键点特征向量进行归一化处理,得到第二视频数据中各帧图像的归一化特征向量,对第二视频数据中各帧图像的归一化特征向量进行合并,得到所述第二视频数据的特征向量时间序列。
[0127]
在一些实施例中,可以根据以下公式(4)对第一视频数据或第二视频数据中各帧图像的关键点特征向量进行l2归一化处理
[0128][0129]
其中,v'表示第一视频数据或第二视频数据中每帧图像的归一化特征向量。
[0130]
本申请的一些实施例中,在得到第一视频数据的特征向量时间序列和第二视频数据的特征向量时间序列后,可以根据第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,并采用dtw方法,确定第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离;然后,根据第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0131]
在一些实施例中,第一视频数据和第二视频数据中各对应帧图像表示:第一视频
数据和第二视频数据中帧序号相同的各对图像;在第一视频数据和第二视频数据的帧数相同的情况下,可以直接比对第一视频数据和第二视频数据中帧序号相同的图像的归一化特征向量的距离,这里,帧序号表示视频数据帧的位置,例如,第一视频数据和第二视频数据均包括m帧图像,第一视频数据和第二视频数据中的第j个帧的帧序号为j,j取1至m,m为大于1的整数。
[0132]
在另一些实施例中,在第一视频数据和第二视频数据的帧数不相同的情况下,基于dtw方法,可以采用线性扩张的方法,将帧数较少的视频数据进行线性映射,使线性映射后的视频数据的帧数达到目标帧数,目标帧数表示第一视频数据和第二视频数据中帧数的较大者;在两个视频数据的帧数相同,可以按照前述实施例记载的内容,针对相同帧数的两个视频数据,执行坐标归一化处理、归一化坐标信息合并、关键点特征向量进行归一化处理、归一化特征向量合并、以及计算归一化特征向量的距离等步骤,从而确定出相同帧数的两个视频数据中各对应帧图像的归一化特征向量的距离;这里,相同帧数的两个视频数据中各对应帧图像的归一化特征向量的距离为:第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离。
[0133]
在一些实施例中,第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离为余弦相似度d。
[0134]
可以看出,本公开实施例可以采用dtw方法对两个视频数据的动作进行动态比对,即,可以结合整体的特征向量时间序列实现各对应帧图像的归一化特征向量的对比,相比于按照时间帧数进行静态逐帧对比的方案,有利于准确地得出不同视频数据的人体动作相似度;另外,本公开实施例无需基于角度差分割每个视频数据的序列,而是可以根据视频数据中每帧图像的归一化坐标信息,得到更能准确区分不同人体相似度的特征向量时间序列,进而采用dtw方法比对不同视频数据中各对应帧图像的归一化特征向量,有利于进行视频数据中人体动作相似度的准确比对。
[0135]
对于根据第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离,确定第一视频数据和第二视频数据的人体动作相似度的实现方式,示例性地,可以根据第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离,确定第一视频数据和第二视频数据中各对应帧图像的相似度评分值;根据第一视频数据和第二视频数据中各对应帧图像的相似度评分值,确定第一视频数据和第二视频数据的人体动作相似度。
[0136]
在一些实施例中,可以根据第一视频数据和第二视频数据中各对应帧图像的相似度评分值的平均值,确定第一视频数据和第二视频数据的人体动作相似度。
[0137]
在一些实施例中,在得到第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离后,可以根据预设评分方式对第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离。
[0138]
在一些实施例中,基于预设评分方式得出的第一视频数据和第二视频数据中各对应帧图像的相似度评分值的范围为[0,100]。
[0139]
在一些实施例中,预设评分方式可以根据以下公式(5)进行说明。
[0140][0141]
其中,s表示第一视频数据和第二视频数据中对应帧图像的相似度评分值;可以看出,基于上述公式(5),可以将第一视频数据和第二视频数据中各对应帧图像的归一化特征向量的距离映射为0至100的评分值,即,得出静态姿态得分。
[0142]
需要说明的是,上述记载的内容仅仅是对预设评分方式的示例性说明,本公开实施例并不局限于此。
[0143]
在一些实施例中,可以将第一视频数据和第二视频数据中各对应帧图像的相似度评分值的平均值记为s_mean,可以确定第一视频数据和第二视频数据的人体动作相似度为s_mean;这样,可以利用第一视频数据和第二视频数据中各对应帧图像的相似度评分值的平均值s_mean,直观地体现第一视频数据和第二视频数据中人体动作的相似度。
[0144]
图3a为本公开实施例中第一视频数据中的一帧图像;图3b为本公开实施例中第二视频数据中的一帧图像;图3a和图3b表示不同的人体图像,图3a表示待比对的太极拳动作,图3b表示标准的太极拳动作;在一个示例中,第一视频数据和第二视频数据中各对应帧图像的相似度评分值的平均值为95.6,图3a和图3b所示的对应帧图像的相似度评分值为95.6。
[0145]
本公开实施例中可以应用于人体动作对比等场景;在一些实施例中,用户可以将自己的动作录制成视频,与标准视频一同输入,然后基于本公开实施例的图像处理方法,可以得出自己的动作与标准视频中的动作的相似度,并可以确定自己的动作与标准视频中的动作在各对应帧的相似度评分值,这样可以获知自己的动作中存在的与标准视频的动作不相符的部分。
[0146]
在一些实施例中,用户可以通过摄像机等设备拍摄自己的动作,然后与标准视频的动作进行实时运算,确定自己的动作与标准视频中的动作在各对应帧的相似度评分值,并在显示屏实时显示自己的动作与标准视频中的动作在各对应帧的相似度评分值。
[0147]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0148]
在前述实施例提出的图像处理方法的基础上,本公开实施例提出了一种图像处理装置。
[0149]
图4为本公开实施例的图像处理装置的组成结构示意图,如图4所示,该装置可以包括:
[0150]
获取模块400,用于获取第一视频数据和第二视频数据;
[0151]
第一处理模块401,用于对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息;对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息;
[0152]
第二处理模块402,用于根据所述第一视频数据中每帧图像的归一化坐标信息、以
及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0153]
在一些实施例中,所述第二处理模块402,用于根据所述第一视频数据中每帧图像的归一化坐标信息、以及所述第二视频数据中每帧图像的归一化坐标信息,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0154]
将所述第一视频数据中每帧图像的归一化坐标信息进行合并,得到所述第一视频数据中每帧图像的关键点特征向量;将所述第二视频数据中每帧图像的归一化坐标信息进行合并,得到所述第二视频数据中每帧图像的关键点特征向量;
[0155]
根据所述第一视频数据中每帧图像的关键点特征向量、以及所述第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0156]
在一些实施例中,所述第二处理模块402,用于对所述第一视频数据中各帧图像的关键点特征向量进行合并,得到所述第一视频数据的特征向量时间序列,包括:
[0157]
对所述第一视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第一视频数据中各帧图像的归一化特征向量,对第一视频数据中各帧图像的归一化特征向量进行合并,得到所述第一视频数据的特征向量时间序列;
[0158]
所述第二处理模块402,用于对所述第二视频数据中各帧图像的关键点特征向量进行合并,得到所述第二视频数据的特征向量时间序列,包括:
[0159]
对所述第二视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第二视频数据中各帧图像的归一化特征向量,对所述第二视频数据中各帧图像的归一化特征向量进行合并,得到所述第二视频数据的特征向量时间序列。
[0160]
在一些实施例中,所述第二处理模块402,用于根据所述第一视频数据中每帧图像的关键点特征向量、以及所述第二视频数据中每帧图像的关键点特征向量,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0161]
对所述第一视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第一视频数据中各帧图像的归一化特征向量,对第一视频数据中各帧图像的归一化特征向量进行合并,得到所述第一视频数据的特征向量时间序列;
[0162]
对所述第二视频数据中各帧图像的关键点特征向量进行归一化处理,得到所述第二视频数据中各帧图像的归一化特征向量,对所述第二视频数据中各帧图像的归一化特征向量进行合并,得到所述第二视频数据的特征向量时间序列;
[0163]
根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0164]
在一些实施例中,所述第二处理模块402,用于根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0165]
根据所述第一视频数据的特征向量时间序列和所述第二视频数据的特征向量时间序列,并采用dtw方法,确定所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离;
[0166]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0167]
在一些实施例中,所述第二处理模块402,用于根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0168]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的归一化特征向量的距离,确定所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值;
[0169]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0170]
在一些实施例中,所述第二处理模块402,用于根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值,确定所述第一视频数据和第二视频数据的人体动作相似度,包括:
[0171]
根据所述第一视频数据和所述第二视频数据中各对应帧图像的相似度评分值的平均值,确定所述第一视频数据和第二视频数据的人体动作相似度。
[0172]
在一些实施例中,所述获取模块400,用于获取第一视频数据和第二视频数据,包括:
[0173]
获取待比对的第一初始视频数据和第二初始视频数据;
[0174]
对所述第一初始视频数据和所述第二初始视频数据进行预处理,得到帧数相同的第一视频数据和第二视频数据。
[0175]
在一些实施例中,所述第一处理模块401,用于对所述第一视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第一视频数据中每帧图像的归一化坐标信息,包括:
[0176]
对所述第一视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,对所述第一视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第一视频数据中每帧图像的归一化坐标信息;
[0177]
所述第一处理模块401,用于对所述第二视频数据中的每帧图像的人体关键点的坐标进行归一化处理,得到所述第二视频数据中每帧图像的归一化坐标信息,包括:
[0178]
对所述第二视频数据中的每帧图像的人体关键点的坐标进行降噪平滑处理,对所述第二视频数据对应的降噪平滑处理后的人体关键点坐标进行归一化处理,得到第二视频数据中每帧图像的归一化坐标信息。
[0179]
实际应用中,获取模块400、第一处理模块401和第二处理模块402均可以利用电子设备中的处理器实现,上述处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。
[0180]
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0181]
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本
实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0182]
具体来讲,本实施例中的一种图像处理方法对应的计算机程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种图像处理方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种图像处理方法。
[0183]
基于前述实施例相同的技术构思,参见图5,其示出了本公开实施例提供的一种电子设备5,可以包括:存储器501和处理器502;其中,
[0184]
所述存储器501,用于存储计算机程序和数据;
[0185]
所述处理器502,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种图像处理方法。
[0186]
在实际应用中,上述存储器501可以是易失性存储器(volatile memory),例如ram;或者非易失性存储器(non-volatile memory),例如rom,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器502提供指令和数据。
[0187]
上述处理器502可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。
[0188]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0189]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
[0190]
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0191]
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0192]
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0193]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0194]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1