一种用于强交互人体运动的2d人体位姿生成方法及装置
技术领域
1.本发明属于人体位姿检测技术领域,具体为一种用于强交互人体运动的2d人体位姿生成方法。
背景技术:2.2d人体位姿生成作为计算机视觉和图形学领域中的一个基本问题,主要是利用普通相机或者深度相机获取图像信息对人体骨架各关节点的位置进行预测,并连接生成2d人体骨架,是实现人体动作识别、虚拟试衣和人机交互等技术的基础,同时也在医疗、比赛、动画和智慧城市等领域有着许多的应用价值。
3.目前2d人体位姿生成方法按对象数量可分为单人2d人体位姿估计和多人2d人体位姿估计。单人2d位姿估计由于检测场景简单,随着近几年研究深入,已经有了许多鲁棒高效的神经网络能够对此任务达到很高的预测准确率。而对于多人2d人体位姿估计的问题,由于人数的增多会给单个相机所拍摄图像中的内容带来许多的遮挡问题,尤其当图像内人物进行一些强交互运动时。同时人数的增多也会使得计算量发生增长,会严重影响对人体关节点预测估计的速度和准确率,目前对于多人强交互人体运动的2d人体位姿估计仍是研究难点。
4.同时2d人体位姿生成方法按检测方法还可分为自顶向下的方法和自底向上的方法。自顶向下的方法是首先检测出图片中的所有人,再利用单人的2d位姿估计算法对所有人进行关节点检测。但当人数增加时会严重影响检测速度,而且很难准确检测出图像中的所有人。自底向上的方法是首先检测出图片中所有的关节点位置,再连接生成人体骨架,这种方法的检测速度和准确度不会受到人数增加太多的影响。
5.另外,目前商业人体位姿估计系统一般需要身穿带有标记的特殊衣服来对人体进行跟踪,尽管这样的商业系统可以得到非常准确的2d人体位姿估计结果,连人体细小的细节及面部表情都可以捕捉到。但是,这种商业系统必须在特定的环境下才能够进行工作,适用范围严格受限。此外2d人体位姿估计研究中还有着一套无标记系统的方法,其中有使用单摄像机进行采集视频,但这样采集到的图像所包含信息较少,尤其当其中人物进行强交互运动存在严重遮挡时,对检测结果的准确率有着严重的影响。
技术实现要素:6.本发明的目的在于克服现有技术中的不足,提供一种用于强交互人体运动的2d人体姿态生成方法及装置,可有效的提高2d人体位姿检测的准确度。
7.为达到上述目的,本发明是采用下述技术方案实现的:
8.第一方面,本发明提供了一种用于强交互人体运动的2d人体姿态生成方法,包括以下步骤:
9.获取待检测的多视角图像集;所述多视角图像集包括同一时刻下的多视角图像;
10.将待检测的同一时刻下的各视角图像输入2d人体位姿估计网络分别进行特征融
合,并基于融合后的特征进行关节点位置估计,得到关节点的位置估计结果;
11.对于关节点的位置估计结果,采用贪心匹配算法计算各个关节点之间的匹配关系,并以骨骼长度为阈值约束关节点的连接,生成2d人体骨架。
12.进一步地,所述2d人体位姿估计网络的构造方法包括以下步骤:
13.建立多视角的强交互人体运动数据集;
14.选用hrnet网络模型作为骨干网络,并利用建立的强交互人体运动数据集对hrnet网络模型进行预训练和微调,获得微调后的hrnet网络模型;
15.基于微调后的hrnet网络模型建立网络结构构成2d人体位姿估计网络。
16.进一步地,建立多视角的强交互人体运动数据集的方法包括:
17.搭建多视角相机阵列;
18.基于所述多视角相机阵列采集强交互人体运动的图像数据;
19.将所述强交互人体运动图片数据按照预设的关节点为各个视角各个图像中的每一个人物进行标注,与公共数据集混合,作为对强交互运动的数据补充,建立多视角的强交互人体运动的数据集。
20.进一步地,利用建立的强交互人体运动数据集对2d人体位姿估计网络hrnet的预训练模型进行微调,获得微调后的hrnet网络模型的方法包括:
21.利用建立的强交互运动数据集对网络重新进行训练,提升网络对这种强交互运动的检测能力。
22.进一步地,将待检测的同一时刻下的各视角图像输入2d人体位姿估计网络分别进行特征融合,并基于融合后的特征进行关节点位置估计,得到关节点的位置估计结果的方法包括以下主要步骤:
23.对各视角图像进行初始特征生成;
24.对各视角图像进行特征融合,并以此进行关节点位置估计。
25.进一步地,对各视角图像进行初始特征生成,包括:
26.将各个视角的待检测图像数据作为输入,利用2d人体位姿估计网络进行人体位姿检测,得到人体关节位置初始的热图和特征图;
27.所述热图代表关节可能出现的位置置信度,作为各视角图像的初始特征。
28.进一步地,对各视角图像进行特征融合,包括:
29.对每个视角下获得的初始特征利用对极几何原理计算在其他视角中的对应极线位置,在其他视角中对应的极线上分别采样多个特征,与源视角进行特征之间的相似度计算;
30.将采样得到的采样特征与源视角中的特征根据相似度进行匹配,分别得到的概率值作为各个采样特征的权重,根据该权重进行加权融合,获得加权采样特征作为近似关节点特征;
31.将近似关节点特征通过网络学习获得的权重与源视角进行特征融合,得到融合后的关节位置热图和特征图,即为:
32.h
fused
(p
′
)=h(p)+ωh(p
′
)
33.其中p为已知2d关节点,p
′
为p对应的2d关节点,h()代表关节位置热图,h
fused
()代表融合后的结果,ω代表权重参数,由在网络训练中进行学习得到;
34.根据融合后的关节位置热图和特征图得到关节点的位置估计结果。
35.进一步地,对于关节点的位置估计结果,采用贪心匹配算法计算各个关节点之间的匹配关系,并以骨骼长度为阈值约束关节点的连接,生成2d人体骨架包括:
36.经过特征融合检测得到的关节点送入人体骨架装配模块,将人体骨架生成问题转化为各个关节点之间的一个最优匹配问题;
37.采用贪心匹配算法解析计算各个关节点之间的匹配关系,并以图像长度的一半来作为骨骼长度阈值,从而生成2d人体骨架。
38.第二方面,本发明提供了一种用于强交互人体运动的2d人体位姿生成装置,包括:
39.数据集模块:用于获取待检测的多视角图像集;所述多视角图像集包括同一时刻下的多视角图像;
40.预估模块:用于将待检测的同一时刻下的各视角图像输入2d人体位姿估计网络分别进行特征融合,并基于融合后的特征进行关节点位置估计,得到关节点的位置估计结果;
41.骨架生成模块:用于对于关节点的位置估计结果,采用贪心匹配算法计算各个关节点之间的匹配关系,并以骨骼长度为阈值约束关节点的连接,生成2d人体骨架。
42.进一步地,所述2d人体位姿估计网络的构造方法包括以下步骤:
43.建立多视角的强交互人体运动数据集;
44.选用hrnet网络模型作为骨干网络,并利用建立的强交互人体运动数据集对hrnet网络模型进行预训练和微调,获得微调后的hrnet网络模型;
45.基于微调后的hrnet网络模型建立网络结构构成2d人体位姿估计网络。
46.与现有技术相比,本发明的有益效果是:
47.1、本发明使用hrnet作为骨干网络,对各视角的图像数据进行关节特征检测,然后将不同视角间各关节的特征进行融合,利用多视角数据来增强检测结果,尤其对于检测场景中存在多人进行强交互运动(例如斗鸡、打拳、拥抱等)导致遮挡问题严重的情况,仅使用单视角数据进行检测会出现大量的漏检或者错检,而本发明可以有效的提高2d人体位姿检测的准确度。
48.2、本发明通过增加摄像机的数量,则可以提高对整个场景的覆盖率,联合多个视角图像提供的额外有效信息来解决多人之间的遮挡问题,从而提高人体位姿检测的准确率。
附图说明
49.图1为根据实施例的本发明方法的流程示意图;
50.图2为根据实施例的2d人体关节点示意图;
51.图3为根据实施例的对极几何示意图;
52.图4为根据实施例的整体网络结构图。
具体实施方式
53.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
54.实施例一:
55.如图1所示,本实施例提供一种用于强交互人体运动的2d人体位姿生成方法步骤如下:
56.多视角数据集建立:搭建20个视角的多相机阵列,采集并建立强交互人体运动数据集,其中包括多视角图片和2d人体位姿标注信息;
57.2d人体位姿检测网络模型微调:选用目前优秀的high-resolution net(hrnet)2d人体位姿检测网络作为骨干网络(backbone),并利用建立的强交互人体运动数据集对2d人体位姿估计网络hrnet的预训练模型进行微调,以提升其对强交互运动的检测能力;
58.各视角图像特征融合:基于微调后的hrnet网络模型建立新的网络结构,将各视角图像分别进行特征融合;
59.人体骨架生成:对于融合后的检测结果,采用贪心匹配算法计算各个关节点之间的匹配关系,并以骨骼长度为阈值约束关节点的连接,最终生成2d人体骨架。
60.进一步地,多视角数据集建立,具体为:利用搭建的多视角相机阵列拍摄大量强交互人体运动(例如斗鸡、打拳、拥抱等)的图像数据。相比于单视角数据,这样可以从不同视角获得更多的信息,包括在单视角中由于遮挡无法获得的。由于公共数据集(比如coco数据集)缺少针对强交互人体运动的数据,对其进行这部分数据的补充制作成所需要的多视角人体运动数据集。
61.为了充分捕捉强交互人体运动的信息,搭建了一个多视角相机阵列采集系统,配备了20台工业摄像机(blackfly摄像机),包括10台高分辨率摄像机和10台高速摄像机。相比于单视角采集,对于强交互人体运动中常见的遮挡问题,多视角相机阵列可以全方位的采集有效信息来解决。为了制作强交互人体运动数据集,将采集的强交互人体运动图片数据按照从额头到脚踝总共17个关节点(如图2所示),为各个视角各个图像中的每一个人物进行标注,分别为额头、鼻子、左肩、右肩、左肘、右肘、左腕、右腕、左臀、右臀、左膝、右膝、左踝、右踝、颈部、胸部和腰部,然后作为公共数据集的补充,来建立针对强交互人体运动的数据集。
62.进一步的,2d人体位姿检测网络模型微调,具体为:hrnet人体位姿检测网络是目前比较成熟优秀的2d人体位姿检测网络,但其预训练模型是基于coco数据集训练得到的,针对强交互人体运动检测效果不够理想。所以利用新建立的强交互人体运动数据集对其进行微调,提高该网络对强交互人体运动位姿的检测效果。
63.hrnet采用的是自底向上的人体位姿检测方法,即首先检测出图片中所有关节点可能出现的位置,再连接形成人体骨架。而其他自顶向下的检测方法,需要首先检测出图片中的所有人,但对于强交互人体运动,人与人之间重叠会很严重,在某些视角中无法准确检测出所有人。相比之下,hrnet这种方法对于强交互运动检测效果更好。而且相比于之前的人体位姿检测网络大多是不断通过下采样增强语义信息,然后再上采样恢复高分辨率恢复位置信息,hrnet而是通过并联多个不同分辨率的分支网络结构,并且分支之间不断进行特征信息的交互,主要的交互方式为:相同分辨率的特征之间进行复制生成;需要增大分辨率的通过上采样实现;需要减小分辨率的通过3
×
3卷积实现。从而hrnet可以一直保持高分辨率,获取精确的空间信息,并通过信息交互减少信息损耗,从而在人体位姿检测中可以有很好的表现。但是所使用的coco数据集中缺少针对强交互人体运动的数据,所以将建立的强交互人体运动数据集与其混合,对hrnet的预训练模型进行微调,以适应对强交互运动的人
体位姿检测。
64.进一步地,基于微调后的hrnet网络模型建立新的网络结构,将各视角图像分别进行特征融合。
65.首先将各个视角的强交互人体运动图像数据作为输入,利用hrnet进行人体位姿检测,得到人体关节位置初始的热图(heatmaps)和特征图,作为各视角图像的初始特征,其中热图代表关节可能出现的位置置信度。由于目前只利用单视角进行检测,对于强交互人体运动场景会存在很多关节点丢失或者错检的问题。
66.然后根据对极约束,一个视角中的像素点如果在另一视角中存在,那其一定会落在其对应的极线上。那么对于选定的视角u中的某一关节点p,利用标定好的相机内外参来确定其在另一视角v中的对应极线位置,以此来缩小寻找p的对应关节位置的范围。
67.对于3d人体骨架某一关节点p在视角u中对应的2d关节点p,则极线l
′
为:
[0068][0069]
式中,k1和k2分别为两个相机的内参,r和t为旋转矩阵和平移向量,p为已知2d关节点,l
′
即为计算得到p对应的极线。
[0070]
那么点p在视角v中对应的点p
′
必然出现在极线l
′
上,且满足l
′
t
p
′
=0。
[0071]
在确定对应极线的位置后,仅仅是缩小了对应关节位置的搜索范围,由于缺少3d信息,无法准确确定关节点p在其对应极线上的对应关节点。所以对极线进行采样,对于采样得到的k个采样点,将其关节特征按照与点p的相似度加权求和,作为与点p对应的准确关节点的近似关节点特征,即为:
[0072][0073]
其中,p为已知2d关节点,pv为点p在视角v中对应极线采样的特征点集合,p
′
为集合其中某一点,f()为关节点对应的特征,s()为相似度计算,主要利用softmax实现,为点p对应的准确关节点的近似关节点特征,∑()代表求和计算。即将这个相似度计算问题看做一个多分类问题,将采样得到的采样特征与源视角中的特征进行匹配,分别得到的概率值就作为各个采样特征的权重,然后进行加权融合。这样得到的加权采样特征作为与点p对应的准确关节点p
′
的近似关节点特征,就可以和点p的特征进行融合,即为:
[0074]hfused
(p
′
)=h(p)+ωh(p
′
)
[0075]
其中p为已知2d关节点,p
′
为p对应的2d关节点,h()代表关节位置热图,h
fused
()代表融合后的结果,ω代表权重参数,是在网络训练中进行学习得到。这样利用了其他视角的信息来增强特征检测结果,相比与仅使用单一视角检测,可以更加有效地解决强交互运动带来的遮挡严重等问题。
[0076]
进一步的,人体骨架生成,具体为:经过热图融合检测得到的关节点送入人体骨架装配模块,将人体骨架生成问题转化为各个关节点之间的一个最优匹配问题,即每个关节点只会与其他一类的关节点进行连接,比如右手肘只会与右手腕相连接,不会与右脚踝进行连接,采用贪心匹配算法解析计算各个关节点之间的匹配关系,找到最优的两个关节点之间的匹配关系,最终完成所有关节点的匹配。并以图像长度的一半来作为骨骼长度阈值,
因为不同人体之间的关节点可能会发生错误的连接匹配,导致骨骼长度过长,采用这样的一个阈值可以简单有效地避免不同人体之间关节的错误匹配,从而生成鲁棒的2d人体骨架。
[0077]
实施例二:
[0078]
一种用于强交互人体运动的2d人体位姿生成装置,所述装置包括:
[0079]
数据集模块:用于获取待检测的多视角图像集;所述多视角图像集包括同一时刻下的多视角图像;
[0080]
预估模块:用于将待检测的同一时刻下的各视角图像输入2d人体位姿估计网络分别进行特征融合,并基于融合后的特征进行关节点位置估计,得到关节点的位置估计结果;
[0081]
骨架生成模块:用于对于关节点的位置估计结果,采用贪心匹配算法计算各个关节点之间的匹配关系,并以骨骼长度为阈值约束关节点的连接,生成2d人体骨架。
[0082]
本实施例的装置可用于实现实施例一所述的方法。
[0083]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0084]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0085]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0086]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0087]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。