基于关键点聚类的多视点人体运动捕捉方法转让专利

申请号 : CN202010546913.9

文献号 : CN111797714A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周晓巍鲍虎军帅青方琦

申请人 : 浙江大学

摘要 :

本发明公开了一种基于关键点聚类的多视点人体运动捕捉方法。本发明的实现包括:检测多视点图像中的人体关键点;基于图像信息及几何关系建立人体关键点的关系图;基于关键点的关系图及聚类算法,对各个视点下的人体关键点进行关联,找到属于同一个人的关键点;基于关键点的关联结果,还原各个人体关键点的三维位置。本发明通过高效鲁棒的关键点聚类方法,建立不同视点图像中的人体关键点的关联,提高了多视点人体运动捕捉方法的效率与准确率。

权利要求 :

1.一种基于关键点聚类的多视点人体运动捕捉方法,其特征在于,包括以下步骤:S1:检测多视点图像中的各个关节类型的人体关键点的二维位置;

S2:将所有视点下获得的所有关键点作为图模型的顶点,综合图像信息和几何信息构造顶点之间的有权值的边,边的权值表示这条边所连接的两个顶点的距离,建立图模型;

对于处于同一视点下的两个关键点,如果两个关键点在人体骨架树上不相邻,那么其距离无穷大,如果两个关键点在人体骨架树上相邻,那么其距离定义为图像中两个关键点连接的置信度的相反数;

对于不处于同一视点下的两个关键点,如果两个关键点表示的不是人体同一种类型的关节,那么其距离无穷大,如果表示的是人体同一种类型的关节,那么其距离定义为两个关键点反投影到空间形成的射线之间的最短距离;

S3:对多视点下的多人的关键点进行聚类,每个聚类结果为一个子图,子图里包含了至t少一个关键点,第i个子图记为Ci;迭代过程的第t步的结果即为当前的子图集合,记为S;

3.0.聚类初始化:获得初始的图的节点和边;将每个节点作为一个子图,获得初始子图集合S0={C1,C2,...,CN},N为集合中子图总数;

3.1.距离计算:在第t步迭代过程中,对子图集合St中的任意两个子图之间的距离进行计算;对于子图 其距离计算公式为:其中, 表示子图C1中的第x个节点,该节点为第ux个视点下的,第ix种关节的第mx个检测结果; 表示子图C2中的第y个节点,该节点为第vy个视点下的,第jy种关节的第ny个检测结果;D(·)表示关键点的距离计算,Ds(·)表示子图之间的距离计算函数;

3.2.子图连接:对于第t步的子图集合St,其任意两个子图之间的距离构成了一个列表Dt={Ds(C1,C2),Ds(C1,C3),...},对该列表排序;子图连接过程为:

3.2.0:初始化空的集合St+1表示新的子图集合;初始化空的集合Q=φ表示使用过的子图的集合;

3.2.1:选择Dt中距离最小的边Ds(Ci,Cj),将该边从Dt中移除;

3.2.2:判断Ci,Cj是否在集合Q里,如果其中一个在,那么返回步骤3.2.1;如果两个都不在,那么将Ci,Cj加入到集合Q中;

3.2.3:判断该距离Ds(Ci,Cj)是否大于给定的最大距离阈值Dmax,如果大于,那么结束连接过程;

3.2.4:将子图Ci,Cj合并成为新的子图Ck,将新的子图加入集合St+1;返回步骤3.2.1,继续连接;

子图连接过程反复执行,直到集合Dt中不包含任何边,或无法再连接新的边;子图连接过程完成后,将新连接的子图集合St+1当作新的子图,跳转到步骤3.1,重新进行距离计算;

S4:对于完成聚类的关键点,使用关键点重建算法得到三维人体关键点位置,将重建的三维人体关键点重新投影到各个视点的图像中。

2.根据权利要求1所述的一种基于关键点聚类的多视点人体运动捕捉方法,其特征在于,所述步骤S3中,记前一帧的聚类子图为 中包括了前一帧重建出来的人体的三维关键点位置;在前一帧的子图集合非空时,在步骤3.0中,将前一帧的子图加入到当前帧初始化的子图集合S0中;在步骤3.1中,如果一个子图为包含三维关键点的子图,一个子图为包含二维关键点的子图,那么其距离计算为三维关键点到二维关键点反投影形成的射线的距离。

说明书 :

基于关键点聚类的多视点人体运动捕捉方法

技术领域

[0001] 本发明属于计算机技术领域,尤其涉及一种基于关键点聚类的多视点人体运动捕捉方法。

背景技术

[0002] 在相关的多视点视频无标记多人重建技术中,一些方法使用自顶向下的方法先对人体进行检测,再对各个视点下的人体进行匹配,这种方法在场景中的人体相互遮挡的时候表现较差。近期还有方法通过对人体各段骨头分别进行关联,分别对各段骨头进行重建,再将属于同一个人的进行合并。这种方法没有充分考虑到人体的几何信息,使得关联过程不够高效。

发明内容

[0003] 本发明的目的在于针对现有技术的不足,提出一种基于关键点聚类的多视点人体运动捕捉方法,并使用聚类结果进行三维人体重建。
[0004] 根据本发明的第一方面,提供了一种对人体关键点建立图模型的方法,包括:
[0005] 1.图模型的建立:本发明使用图模型来对人体关键点聚类问题进行建模。各个视点下的检测出的人体关键点视为图模型中的顶点,关键点之间的联系视为图模型的边。一个人体即可通过该图的子图来表示,一个子图中包含了多个顶点。一个子图完整地表示一个人当且仅当该子图包含了所有属于这个人的顶点,即该子图包含了这个人在各个视点下的所有检测到的关键点。人体关键点聚类问题即可描述为在该图中找到完整的人体子图的问题。多人场景下的关键点聚类问题即是找出所有这样的符合条件的子图。
[0006] 2.图模型顶点的构造:给定多视点的图像生成的关键点响应热度图,使用非极大值抑制的方法,得到各个类型的人体关键点的在图像上的候选位置。将所有视点下获得的所有关键点作为图模型的顶点,建立图模型。
[0007] 3.图模型边的构造:给定图模型的顶点,综合使用图像信息、几何信息构造顶点之间的有权值的边,边的权值表示这条边所连接的两个顶点的距离。即对于任意两个顶点来说,该距离越接近于零,则表示这两个顶点越倾向于属于同一个人;该距离越大,则表示这两个顶点越不可能属于同一个人。对于处于同一视点下的两个关键点,如果两个关键点在人体骨架树上不相邻,那么这两个顶点距离无穷大,如果两个关键点在人体骨架树上相邻,那么其距离由图像中两个关键点连接的图像置信度得到。对于不处于同一视点下的两个关键点,如果这两个关键点表示的不是人体的同一个类型的关节,那么其距离为无穷大;如果表示的是人体的同一个类型的关节,那么其距离通过空间几何信息得到,具体计算方式为:分别将两个二维关键点反投影到空间,构成两条射线,计算这两条射线的最短距离。
[0008] 根据本发明的第二方面,提供了一种人体关键点的图模型的聚类方法,包括:
[0009] 1.顶点关联:给定初始化的图模型,进行本发明提出的人体关键点图上的聚类。给定图的顶点和边,对所有边的距离进行升序排列。根据边的排序,从距离最小的边开始,依次选择未被连接过的顶点进行连接,将选中的边所连接的两个顶点合并为一个子图,直到边的距离大于给定的最大距离阈值。
[0010] 2.子图关联:对顶点进行连接之后,部分顶点已经被连成了包含有多个顶点的子图。与一般的图的聚类方法不同的是,本发明在聚类的过程中,使用子图与子图之间的距离,而不是仅考虑顶点与顶点之间的距离。第一步中的顶点可视为一个只包含一个顶点的子图。计算子图与子图之间的距离时,为两个子图包含的顶点之间的所有距离的均值。计算完成距离之后,同样对所有边的距离进行升序排列,依次选择边进行连接。
[0011] 3.迭代更新:整个图的聚类过程因此就分为距离计算与子图关联两个过程。在计算完成距离之后,对子图进行连接,再对连接之后的子图重新计算距离。在迭代过程中,由于计算距离时使用了更多的关键点,因此聚类过程比只考虑单个关键点之间的距离来进行连接更加鲁棒。直到无法再连接新的边的时候,迭代过程结束。
[0012] 根据本发明的第三方面,提供了一种重建跟踪方法,包括:
[0013] 1.对聚类结果的重建:对于每一个聚类出的人体,对其包含两个及以上的视点的关键点进行重建,得到其三维关键点位置。
[0014] 2.对重建结果的跟踪:对于前一帧的重建结果,将其当作只包含三维关键点的子图,加入当前帧的图模型的子图集合中。计算三维关键点的子图与当前帧的二维关键点的子图的距离时,计算方式为,三维关键点到二维关键点反投影到空间形成的直线的距离。三维关键点形成的子图同样可以与其他子图进行连接,完成聚类过程。
[0015] 本发明的有益效果是:本发明通过对多视点图像中的人体关键点进行关联来进行人体的三维姿态重建。为了实现关键点的关联,本发明提供了一种图模型的点与边的建立方法,同时提供了一种结合图像信息、几何信息、时序信息的迭代聚类方法。实现了多视点人体运动捕捉,提高了基于图像的运动捕捉的方法的准确率。与现有的基于关键点聚类的方法相比,本方法同时完成了关键点关联与人体结构组织两个过程,在聚类的过程同时考虑到了人体结构信息,聚类结果更加鲁棒。

附图说明

[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017] 图1是本发明实施例的多视点人体运动捕捉流程示意图。
[0018] 图2是本发明实施例的初始化构造图模型的顶点与边的示意图。
[0019] 图3是本发明实施例的迭代过程中聚类结果的示意图。

具体实施方式

[0020] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0021] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0022] 如图1所示,本发明提供一种基于关键点聚类的多视点人体运动捕捉方法,基于从图像中得到的关键点位置,进行三维关键点重建。具体的步骤为:
[0023] 1.输入多个不同视点相机同步采集的图像,使用一个现存的深度神经网络,可以得到各个视点下的关键点位置分布热度图。根据关键点位置分布热度图,使用非极大值抑制方法,提取出图像中的可能的人体关键点的二维位置,即对于第c个相机,对于人体的第j种关节,图像中检测出来的第m个关键点的二维位置可记为 其中j=1,2,…,J,表示人体的J种不同的关节,c=1,2,…,V表示总共V个相机。如图1(a)所示。
[0024] 2.对于从图像中检测出来的关键点,计算第u个视点下的第i种关节的第m个检测结果duim与第v个视点下的第j种关节的第n个检测结果dvjn之间的距离,建立人体关键点的图模型。此时图模型上的每一个顶点表示一个关键点,图模型上的边表示本方法所定义的关键点的距离。由于人体骨架有着特定的连接方式,例如左手手腕只与左手手肘进行连接,因此我们只需要考虑存在连接关系的组合,记所有的可能关节类型组合为P,同一个视点下的关键点中,可能连接的两个关键点的关节类型必须在可能的关节类型组合里,即(i,j)∈P。那么分类考虑需要计算距离的情况:
[0025] 如果u=v,(i,j)∈P,则表示同一个视点下的可能处于同一段骨头的关键点的组合,基于现存的深度神经网络,可以从图像中获取两个关键点连接的置信度,那么此时的两个节点的距离定义为该置信度的相反数。该置信度越大,则两节点距离越小,说明这两个节点更容易被连接起来。图2左上角中,画出了连接人体的脊柱这一段的二维关键点组合。
[0026] 如果u≠v,i=j,则表示不同视点下的同一种关节类型的关键点,此时两个关键点的距离定义为两个关键点反投影到空间形成的射线之间的最短距离。图2左上与左下两张图中,以人的脖子这一关节为例,画出了上下两个视点中的脖子关节的存在的连接的边。
[0027] 3.使用本发明提出的聚类算法,对多视点下的多人的关键点进行聚类,每个聚类结果为一个子图,子图里包含了至少一个关键点,对于第i个子图,其表示为Ci={dcjm,…},i即表示该子图所对应的人的序号。迭代过程的第t步的结果即为当前的子图集合,记为St。
[0028] 3.0.聚类初始化:在初始化过程中,使用本发明提出的图模型建立方法,获得初始的图的节点和边。将每个节点作为一个子图,获得初始的子图集合S0={C1,C2,…,CN},集合中总共包含了N个子图。每个关键点只会在一个子图中出现。
[0029] 3.1.距离计算:在第t步的迭代的过程中,需要对子图集合St中的任意两个子图之间的距离进行计算。对于子图 其距离计算公式为:
[0030]
[0031] 其中, 表示子图C1中的第x个节点,该节点为第ux个视点下的,第ix种关节的第mx个检测结果; 表示子图C2中的第y个节点,该节点为第vy个视点下的,第jy种关节的第ny个检测结果;D(·)表示上述的关键点的距离计算,Ds(·)则表示子图之间的距离计算函数。
[0032] 3.2.子图连接:对于第t步的子图集合St,其任意两个子图之间的距离构成了一个列表Dt={Ds(C1,C2),Ds(C1,C3),…},对该列表排序。子图连接过程为:
[0033] 3.2.0:初始化空的集合St+1表示新的子图集合;初始化空的集合Q=φ,表示使用过的子图的集合。
[0034] 3.2.1:选择Dt中距离最小的边Ds(Ci,Cj),将该边从Dt中移除。
[0035] 3.2.2:判断Ci,Cj是否在集合Q里,如果其中一个在,那么回到3.2.1;如果两个都不在,那么将Ci,Cj加入到集合Q中。
[0036] 3.2.3:判断该距离Ds(Ci,Cj)是否大于给定的最大距离阈值Dmax,如果大于,那么结束连接过程。
[0037] 3.2.4:将子图Ci,Cj合并成为新的子图Ck,将新的子图加入集合St+1。;返回步骤3.2.1,继续连接。
[0038] 子图连接过程反复执行,直到集合Dt中不包含任何边,或无法再连接新的边。子图连接过程完成后,将新连接的子图集合St+1当作新的子图,跳转到步骤3.1,重新进行距离计算。
[0039] 图3所示为迭代过程中的其中一步的两个子图。上面两个视点中检测到的关键点被包含在一个子图中,下面两个视点中的关键点被包含在另一个子图中。使用两个子图之间的距离来进行连接,由于考虑到了更多的关键点,因此距离计算更加稳定,能够有效提高聚类过程的鲁棒性。
[0040] 重复子图连接过程直到无法再连接新的边为止。聚类结果如图1(b)所示。
[0041] 4.对于完成聚类的关键点,使用关键点重建算法,得到三维人体关键点位置,重建结果如图3所示。将重建的三维人体关键点重新投影到各个视点的图像中,如图1(c)所示。
[0042] 5.记前一帧的聚类子图为 中包括了前一帧重建出来的人体的三维关键点位置。为了综合使用时序信息,本方法在前一帧的子图集合非空时,在3.0步骤中,将前一帧的子图加入到当前帧初始化的子图集合S0中。在3.1的距离计算步骤中,如果一个子图为包含三维关键点的子图,一个子图为包含二维关键点的子图,那么其距离计算为三维关键点到二维关键点反投影形成的射线的距离。其余聚类过程与之前一致。
[0043] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0044] 以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。