一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人体三维模型获取方法、装置、智能终端及存储介质与流程

2021-11-05 22:43:00 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及的是一种人体三维模型获取方法、装置、智能终端及存储介质。


背景技术:

2.人体三维模型对于描述人体姿态、预测人体行为至关重要。目前,人体三维模型已经被广泛运用于各种领域中,例如异常行为监测、自动驾驶及监控等领域。近年来,随着科学技术的发展,尤其是深度学习技术的发展,人体三维模型的重建效果逐渐提升。
3.但现有技术中,通常是利用彩色图像,通过卷积神经网络获取人体三维模型。现有技术的问题在于,彩色图像无法提供有效的三维空间信息,使得获得的人体三维模型准确率较低,无法准确地反映人体三维姿态。
4.因此,现有技术还有待改进和发展。


技术实现要素:

5.本发明的主要目的在于提供一种人体三维模型获取方法、装置、智能终端及存储介质,旨在解决现有技术中利用彩色图像,通过卷积神经网络获取人体三维模型,获得的人体三维模型准确率较低的问题。
6.为了实现上述目的,本发明第一方面提供一种人体三维模型获取方法,其中,上述方法包括:
7.获取彩色图像以及与上述彩色图像对应的深度图像;
8.基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;
9.基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;
10.基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。
11.可选的,上述获取彩色图像以及与上述彩色图像对应的深度图像,包括:
12.获取由采集设备采集的彩色图像以及与上述彩色图像同步的待处理深度图像;
13.将上述待处理深度图像对齐上述彩色图像后作为上述彩色图像对应的深度图像。
14.可选的,上述基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域,包括:
15.对上述彩色图像进行目标检测,获取行人检测框;
16.基于上述行人检测框,通过人体姿态估计算法获取目标单人姿态估计框架;
17.基于上述目标单人姿态估计框架获取上述人体关节点二维坐标信息和上述人体分割区域。
18.可选的,上述基于上述目标单人姿态估计框架获取上述人体关节点二维坐标信息和上述人体分割区域,包括:
19.基于上述目标单人姿态估计框架获取多个人体关节点,并获取对应的人体关节点二维坐标信息,其中,各上述人体关节点二维坐标信息是各上述人体关节点在上述彩色图像中的位置坐标;
20.基于上述行人检测框和各上述人体关节点获取多个人体分割区域,其中,各上述人体分割区域是基于各上述人体关节点对人体边缘轮廓划分获得的人体区域。
21.可选的,上述基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型,包括:
22.获取上述人体分割深度区域内的各点对应的点云三维坐标;
23.基于上述损失函数对上述人体关节点进行迭代拟合,获取目标人体关节点的位置信息;
24.基于各上述目标人体关节点的位置信息与各目标点云获取人体三维模型,其中,上述目标点云包括与上述目标人体关节点对应的人体分割深度区域内各点的点云三维坐标。
25.可选的,上述预设的损失函数中包括重投影损失函数、三维关节点损失函数、角度损失函数和表面点深度损失函数。
26.可选的,在基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型之后,上述方法还包括:
27.基于上述人体三维模型获取人体三维骨架点。
28.本发明第二方面提供一种人体三维模型获取装置,其中,上述装置包括:
29.图像获取模块,用于获取彩色图像以及与上述彩色图像对应的深度图像;
30.人体分割区域获取模块,用于基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;
31.人体分割深度区域获取模块,用于基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;
32.人体三维模型重建模块,用于基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。
33.本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的人体三维模型获取程序,上述人体三维模型获取程序被上述处理器执行时实现任意一项上述人体三维模型获取方法的步骤。
34.本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有人体三维模型获取程序,上述人体三维模型获取程序被处理器执行时实现任意一项上述人体三维模型获取方法的步骤。
35.由上可见,本发明方案获取彩色图像以及与上述彩色图像对应的深度图像;基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。与现有技术中仅利用彩色图像获取人体三维模型的方案相比,本发明方案结合能够提供人体对应的三维空间
信息的深度图像获取人体三维模型,有利于提高获得的人体三维模型的准确率,使得获得的人体三维模型能更好的反映人体三维姿态。
附图说明
36.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
37.图1是本发明实施例提供的一种人体三维模型获取方法的流程示意图;
38.图2是本发明实施图1中步骤s100的具体流程示意图;
39.图3是本发明实施图1中步骤s200的具体流程示意图;
40.图4是本发明实施图3中步骤s203的具体流程示意图;
41.图5是本发明实施例提供的一种目标单人姿态估计框架示意图;
42.图6是本发明实施例提供的一种人体分割区域示意图;
43.图7是本发明实施图1中步骤s400的具体流程示意图;
44.图8是本发明实施例提供的另一种人体三维模型获取方法的流程示意图;
45.图9是本发明实施例提供的一种人体三维模型获取装置的结构示意图;
46.图10是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
47.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
48.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
49.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
50.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
51.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当

时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0052]
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实
施例,都属于本发明保护的范围。
[0053]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0054]
人体三维模型对于描述人体姿态、预测人体行为至关重要。目前,人体三维模型已经被广泛运用于各种领域中,例如异常行为监测、自动驾驶及监控等领域。近年来,随着科学技术的发展,尤其是深度学习技术的发展,人体三维模型的重建效果逐渐提升。
[0055]
但现有技术中,通常是利用彩色图像,通过卷积神经网络获取人体三维模型。现有技术的问题在于,彩色图像无法提供有效的三维空间信息,使得获得的人体三维模型准确率较低,无法准确地反映人体三维姿态。从而使得获得的人体三维模型无法应用到人机交互等要求较高的场景中,限制了人体三维模型的应用。
[0056]
为了解决现有技术的问题,本发明方案获取彩色图像以及与上述彩色图像对应的深度图像;基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。与现有技术中仅利用彩色图像获取人体三维模型的方案相比,本发明方案结合能够提供人体对应的三维空间信息的深度图像获取人体三维模型,有利于提高获得的人体三维模型的准确率,使得获得的人体三维模型能更好的反映人体三维姿态。
[0057]
示例性方法
[0058]
如图1所示,本发明实施例提供一种人体三维模型获取方法,具体的,上述方法包括如下步骤:
[0059]
步骤s100,获取彩色图像以及与上述彩色图像对应的深度图像。
[0060]
其中,上述彩色图像和上述深度图像是包含目标对象的图像,目标对象是需要进行人体三维模型重建的对象。进一步的,上述彩色图像和深度图像中可以包括多个目标对象,本实施例中,以存在一个目标对象为例进行具体说明,当存在多个目标对象时,可以使用本实施例中的方法分别对各个目标对象进行人体三维模型重建。具体的,深度图像是以深度信息(距离)作为像素值的图像,可以提供目标对象对应的有效的三维空间信息,从而提高获取的人体三维模型的准确率。
[0061]
步骤s200,基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域。
[0062]
具体的,本实施例中,可以对上述彩色图像中的目标对象进行目标检测和人体姿态估计,获得对应的人体关节点二维坐标信息和人体分割区域。其中,各上述人体关节点二维坐标信息是目标对象的人体关节点在上述彩色图像中的位置坐标,上述人体分割区域是基于各人体关节点对人体边缘轮廓划分获得的人体区域。
[0063]
步骤s300,基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域。
[0064]
其中,上述人体关节点三维坐标信息是上述深度图像中与各上述人体关节点二维坐标信息对应的深度信息,上述人体分割深度区域是上述深度图像中与各上述人体分割区域对应的区域。具体的,人体关节点应该在人体内部,但深度图像无法采集人体内部的深度
信息,因此本实施例中,将各人体关节点对应的皮肤表面的三维坐标信息作为上述人体关节点三维坐标信息,即直接将深度图像中与各上述人体关节点二维坐标信息对应的深度信息作为人体关节点三维坐标信息。
[0065]
步骤s400,基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。
[0066]
由上可见,本发明实施例提供的人体三维模型获取方法获取彩色图像以及与上述彩色图像对应的深度图像;基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。与现有技术中仅利用彩色图像获取人体三维模型的方案相比,本发明方案结合能够提供人体对应的三维空间信息的深度图像获取人体三维模型,有利于提高获得的人体三维模型的准确率,使得获得的人体三维模型能更好的反映人体三维姿态。
[0067]
在一种应用场景中,还可以基于上述人体三维模型获取方法对视频流进行处理,以获得视频流中的人体三维模型。在对视频流进行处理时,获取待处理视频流,上述待处理视频流中包括连续多帧帧同步且对齐的彩色图像和深度图像。对于每一帧同步且对齐的彩色图像和深度图像,分别进行上述步骤s100到步骤s400的处理,获得每一帧的人体三维模型,具体可以对每一帧进行并行处理或依次处理,在此不做具体限定。进一步的,在预设的损失函数中还可以设置平滑损失函数,保证上下帧拟合出的人体三维模型尽可能平滑,通过计算上下帧拟合出的人体三维模型中关节点的l2损失,避免因帧间发生较大的关节点位置跳动而影响视觉效果。本实施例中,以对一帧彩色图像及其对应的深度图像为例进行具体说明,但不做具体限定。
[0068]
具体的,本实施例中,如图2所示,上述步骤s100包括:
[0069]
步骤s101,获取由采集设备采集的彩色图像以及与上述彩色图像同步的待处理深度图像。
[0070]
步骤s102,将上述待处理深度图像对齐上述彩色图像后作为上述彩色图像对应的深度图像。
[0071]
在一种应用场景中,上述采集设备可以包括至少一部深度相机和至少一部彩色相机。进一步的,上述采集设备还可以包括其它组件,例如对应的相机固定组件、照明光源等,具体可以根据实际需求进行设置和调整。在另一种应用场景中,上述采集设备还可以为双目相机或多目相机,在此不做具体限定。本实施例中,控制上述深度相机和上述彩色相机进行同步拍摄,以获得同步的彩色图像和待处理深度图像。进行同步控制的方法可以根据实际需求进行设定,例如,在一种应用场景中,可以通过控制器或其它控制设备设定时序,从而实现对深度相机和彩色相机的同步控制,同步控制彩色相机和深度相机分别连续采集多帧帧同步的彩色图像和待处理深度图像。本实施例中,以对采集获得的一帧图像为例进行具体说明,当采集获得了多帧图像时,分别对每一帧图像进行本实施例中的处理,获得各帧图像中对应的人体三维模型。
[0072]
上述待处理深度图像是上述深度相机直接获取的,与上述彩色图像帧同步但未进行对齐,上述彩色图像对应的深度图像是将上述待处理深度图像与上述彩色图像进行对齐
后获得的。具体的,深度图像是以深度信息(距离)作为像素值的图像,深度图像中某一点的像素值是该点到采集模组(如上述深度相机和彩色相机构成的采集模组)所在平面的距离。
[0073]
上述步骤s101中获取待处理深度图像的方法有多种,可以根据实际需求进行选择和调整。在一种应用场景中,照明光源向目标区域投射结构光光束,采集模组接收经目标区域反射回的光束并形成电信号,并传输至处理器。处理器对该电信号进行处理,计算出反映该光束的强度信息以形成结构光图案,最后基于该结构光图案进行匹配计算或三角法计算,得到待处理深度图像。在另一种应用场景中,照明光源向目标区域投射红外光束,采集模组接收经目标区域反射回的光束并形成电信号,并传输至处理器。处理器对该电信号进行处理以计算出相位差,并基于该相位差间接计算光束由照明光源发射到摄像头接收所用的飞行时间。进一步地,基于该飞行时间计算获取深度图像。其中,上述红外光束可包括脉冲型和/或连续波型,此处不作限制。在另一种应用场景中,照明光源向目标区域投射红外脉冲光束,采集模组接收经目标区域反射回的光束并形成电信号,并传输至处理器。处理器对电信号进行计数以获取波形直方图,并根据波形直方图直接计算光束由照明光源发射到摄像头接收所用的飞行时间,基于该飞行时间计算获取深度图像。
[0074]
本实施例中,预先对上述深度相机和彩色相机进行标定,分别获取深度相机和彩色相机的内外参数,进一步的,利用深度相机和彩色相机的内外参数分别获取深度相机与彩色相机获得的图像的像素坐标系的转换关系,使待处理深度图像与彩色图像上的像素一一对应,进而实现待处理深度图像与彩色图像的对齐。其中,相机的内外参数包括相机内参数和相机外参数,相机内参数是与相机自身特性相关的参数,例如焦距、像素大小等,相机外参数是在世界坐标系中的参数,例如相机的位置、旋转方向等。
[0075]
具体的,本实施例中,如图3所示,上述步骤s200包括:
[0076]
步骤s201,对上述彩色图像进行目标检测,获取行人检测框。
[0077]
步骤s202,基于上述行人检测框,通过人体姿态估计算法获取目标单人姿态估计框架。
[0078]
步骤s203,基于上述目标单人姿态估计框架获取上述人体关节点二维坐标信息和上述人体分割区域。
[0079]
具体的,可以利用目标检测算法对上述彩色图像进行目标检测,获取行人检测框。其中,具体的目标检测算法和人体姿态估计算法可以根据实际需求进行选择和调整,在此不作具体限定。在一种应用场景中,上述人体姿态估计算法可以为alphapose 2d模型算法,优选的,alphapose算法中利用rmpe姿态估计模型进行人体姿态估计。具体的,rmpe姿态估计模型包括对称空间变换网络单元(sstn,symmetric spatial transformer network)、参数化姿态最极大抑制单元(nms,parametric pose nonmaximum

suppression)及姿态指导区域产生单元(pgpg,pose

guided proposals generator)。其中,上述对称空间变换网络单元用于基于行人检测框获取单人姿态估计框架;参数化姿态最极大抑制单元用于利用姿态距离测量的方法去除当前单人姿态估计框架的冗余框,以获取目标单人姿态估计框架;姿态指导区域产生单元用于根据单人姿态估计框架和目标单人姿态估计框架生成新的训练样本,进一步对rmpe姿态估计模型进行训练,增强数据以提高该模型的性能。其中,上述rmpe姿态估计模型既可用于多人检测,也可用于单人检测,上述目标单人姿态估计框架是需要获取人体三维模型的目标对象对应的姿态估计框架。其中,上述人体姿态估计算法除
了为alphapose2d模型算法外,还可以为openpose、ppn等2d模型算法的任意一种或多种组合,此处不作限制。
[0080]
具体的,本实施例中,如图4所示,上述步骤s203包括:
[0081]
步骤s2031,基于上述目标单人姿态估计框架获取多个人体关节点,并获取对应的人体关节点二维坐标信息,其中,各上述人体关节点二维坐标信息是各上述人体关节点在上述彩色图像中的位置坐标。
[0082]
步骤s2032,基于上述行人检测框和各上述人体关节点获取多个人体分割区域,其中,各上述人体分割区域是基于各上述人体关节点对人体边缘轮廓划分获得的人体区域。
[0083]
本实施例中,基于上述目标单人姿态估计框架获取至少15个人体关节点,并获取对应的人体关节点二维坐标信息。具体的,各人体关节点二维信息是各人体关节点在上述彩色图像中对应的像素点的位置坐标。本实施例中,上述15个人体关节点优选为头,颈部,中臀,左肩,左肘,左手腕,右肩,右肘,右手腕,左臀,左膝,左脚踝,右臀,右膝,右脚踝,如图5所示。进一步的,具体的人体关节点以及人体关节点的数目可以根据实际需求进行设置和调整,在此不做具体限定。
[0084]
进一步的,利用边缘检测算法在上述行人检测框中获取人体边缘轮廓,获取上述各人体关节点二维信息,利用相邻的人体关节点在上述人体边缘轮廓中进行划分,获取多个人体分割区域。图6是本发明实施例提供的一种人体分割区域示意图,如图6所示,本实施例中划分获得14个人体分割区域。可选的,还可以有其它获得人体分割区域的方法,且划分获得的人体分割区域的数目可以根据实际需求进行设置和调整,在此不做具体限定。
[0085]
进一步的,本实施例中,获得的上述各人体关节点、人体关节点二维信息以及人体分割区域都是人体在彩色图像中的信息,利用彩色图像和深度图像的对齐关系,可以获取深度图像中对应的人体关节点三维信息以及人体分割深度区域,从而获得目标对象对应的三维空间信息,进而实现人体三维模型重建。
[0086]
具体的,本实施例中,如图7所示,上述步骤s400包括:
[0087]
步骤s401,获取上述人体分割深度区域内的各点对应的点云三维坐标。
[0088]
步骤s402,基于上述损失函数对上述人体关节点进行迭代拟合,获取目标人体关节点的位置信息。
[0089]
步骤s403,基于各上述目标人体关节点的位置信息与各目标点云获取人体三维模型,其中,上述目标点云包括与上述目标人体关节点对应的人体分割深度区域内各点的点云三维坐标。
[0090]
本实施例中,可以通过如下公式(1)获得深度图像中人体分割区域内的各点对应的点云三维坐标:
[0091][0092]
其中,(x
s
,y
s
,z
s
)是需要获得的点云三维坐标,即深度相机坐标系下的各点的点云三维坐标。z为各点在深度图像上的像素值,即各点对应的深度(距离)。(u,v)是各点在深度
图像中的像素的坐标,(u0,v0)是图像主点坐标,dx和dy是深度相机的传感器像元在两个方向上的物理尺寸,f

是深度相机的焦距(单位为毫米)。其中,图像主点(即像主点)是摄影中心与像平面的垂线与像平面的交点。
[0093]
进一步的,利用参数化人体模型及预设的损失函数对目标人体关节点,以及各人体分割深度区域内各点对应的点云进行迭代拟合,获取人体三维模型。具体的,在迭代拟合获得人体三维模型的过程中,通过预设的损失函数进行约束。
[0094]
其中,上述参数化人体模型是预先设置的用于重建人体三维模型的模型。在一种应用场景中,上述参数化人体模型优选为smpl模型。传统的smpl模型经训练获取由24个人体关节点、6890个顶点、13776个面片组成的人体三维模型,计算量较大。本实施例中,在24个人体关节点优选上述15个人体关节点,并通过预设的多个损失函数对人体关节点进行迭代拟合获取目标人体关节点的位置信息,并进一步基于上述目标关节点的位置信息,利用其与对应的人体分割深度区域内各点的点云三维坐标迭代拟合获得人体三维模型,并基于损失函数对迭代过程中的人体三维模型进行约束。在提高准确度的基础上能减少计算量,提高人体三维模型的获取效率。
[0095]
在一种应用场景中,上述预设的损失函数包括重投影损失函数、三维关节点损失函数、角度损失函数和表面点深度损失函数中的一种或多种。本实施例中,预设的多种损失函数包括上述重投影损失函数、三维关节点损失函数、角度损失函数和表面点深度损失函数。优选的,本实施例中,在步骤s402中基于上述重投影损失函数、三维关节点损失函数和角度损失函数对人体关节点进行迭代拟合,在步骤s403中,基于上述表面点深度损失函数进行约束,并基于目标人体关节点的位置信息与各目标点云进行迭代拟合获取人体三维模型。
[0096]
具体的,上述重投影损失函数用于体现获得的目标人体关节点投影到二维平面(彩色图像平面)后与该平面中获得的对应人体关节点之间的重投影位置损失。本实施例中,将获得的15个目标人体关节点投影到彩色图像平面,可获得各目标人体关节点在彩色图像中的二维像素位置,计算该二维像素位置与用于识别彩色图像中人体关节点的二维图形输出的对应人体关节点位置的gm(geman

mcclure)损失,作为上述重投影损失函数。
[0097]
上述三维关节点损失函数用于体现获得的目标人体关节点的位置与基于深度图像观测到的对应人体关节点之间的三维距离的损失。具体的,基于上述彩色图像中识别出的15个人体关节点,可以在对齐的深度图像中获得各人体关节点对应的深度。理想情况下,采用像素坐标到相机坐标的转换公式,即上述公式(1),可以得到15个人体关节点在相机坐标系下的观测坐标,但是由于人体关节点被遮挡或者发生自遮挡的问题,无法取得所有人体关节点的观测坐标。另一方面,此时获得的观测坐标是人体关节点对应的表面皮肤的三维位置,并不是人体骨架中实际关节点对应的三维坐标。所以此处仅计算有效的观测到的人体关节点的三维坐标点位置与重建获得的人体三维模型中各对应的目标人体关节点的距离,若距离大于设定的阈值(可以根据实际需求进行设置和调整),则计算gm损失,作为上述三维关节点损失函数,否则认为该三维骨架中的目标人体关节点的位置较为合理,将三维关节点损失记为0。
[0098]
上述角度损失函数用于对各个目标人体关节点之间的角度进行约束。具体的,实际运动过程中,人体关节的运动角度是受到人体解剖结构的限制的。例如,在下肢保持不动
时,上肢向后旋转180度是不合理的。因此,在拟合过程中,对每个关节点进行角度约束,以达到加速收敛且避免拟合出的目标人体关节点出现畸形的效果。具体的,预先为每个关节点设定对应的关节点角度范围,判断当前拟合出的目标人体关节点角度是否在对应的关节点角度范围内,超过范围则计算超出部分的平方损失,作为角度损失函数,没有超出,则角度损失记为0。
[0099]
上述表面点深度损失函数用于对每一次迭代拟合获得的人体三维模型的各区域的表面点云的深度值损失进行约束。具体的,表面点深度损失是人体三维模型的各区域的表面点云在深度方向的标准深度值与其转换到深度图像中的像素点的值之间的gm损失。本实施例中,预先将smpl模型的6890个顶点划分为与上述人体分割区域对应的14个区域。在基于每一帧彩色图像及其对应的深度图像进行拟合的每次迭代过程中,计算出smpl模型14个区域的表面点和深度图像中分割出的14个人体分割深度区域的深度值的损失。具体的,以右大腿区域的表面损失计算为例,从smpl模型拟合获得的人体三维模型中可以获取到右大腿区域的所有点云,通过面片的连接关系可以获取点云的法向量,根据点云的法向量方向,可以获得右大腿面向相机的表面点云。首先获取在smpl模型中拟合获得的人体三维模型中上述表面点云在深度方向的标准深度值(z值),即上述表面点云与对应的采集模组所在平面的距离。然后利用相机坐标到像素坐标的公式将这些表面点云投影到深度图像中,即利用相机坐标到像素坐标的公式计算获取这些表面点云在深度图像中的二维坐标,在深度图像中获取这些点对应的二维像素对应的深度值(像素值),其中,上述相机坐标到像素坐标的公式可以根据上述公式(1)获得。计算上述标准深度值与上述深度图像中二维像素对应的深度值之间的gm损失值,作为上述表面点深度损失函数。该损失值越小,表示smpl模型的表面越贴近深度图像对应关节区域的表面,即拟合出的关节点位置越准确。
[0100]
进一步的,上述人体三维模型用于处理连续多帧的视频流时,预设的损失函数还可以包括平滑损失函数,从而保证上下帧之间拟合出的人体三维模型尽可能平滑。具体的,计算上下帧拟合出的目标人体关节点的l2损失,作为上述平滑损失函数,避免因帧间发生较大的关节点位置跳动而影响视觉效果。
[0101]
在一种应用场景中,对上述各损失函数进行组合求和,获取损失函数求和的值,并与预设阈值范围(可以根据实际需求进行设置和调整)进行比较,若损失函数求和的值不在预设阈值范围内,则继续迭代拟合人体关节点与对应的人体分割深度区域的目标点云,获取新的人体三维模型,直至损失函数求和的值在预设阈值范围内。其中,对上述各损失函数进行组合求和可以是直接相加或按权重分配进行求和,在此不做具体限定。进一步的,上述各损失函数可以是gm损失、l1损失、l2损失或其它损失函数,在此不做具体限定。
[0102]
具体的,本实施例中,如图8所示,在上述步骤s400之后,上述方法还包括:步骤s500,基于上述人体三维模型获取人体三维骨架点。
[0103]
具体的,利用迭代拟合后的人体三维模型,进一步计算获取人体三维骨架点。其中,迭代拟合后的人体三维模型的重建效果等同于理想人体三维模型,基于此进一步计算获取人体三维骨架点,可提高人体三维骨架点的准确度。优选的,利用迭代后的人体三维模型获取人体三维骨架点的方法可以为直接获取在迭代拟合过程中获取最终的最优人体三维模型时利用的人体三维骨架点的坐标信息。也可以进一步将最终迭代拟合获得的人体三维模型输入至神经网络模型获取对应的人体三维骨架点,以进一步提高准确率。还可以有
其它获取方法,在此不做具体限定。
[0104]
示例性设备
[0105]
如图9中所示,对应于上述人体三维模型获取方法,本发明实施例还提供一种人体三维模型获取装置,上述人体三维模型获取装置包括:
[0106]
图像获取模块610,用于获取彩色图像以及与上述彩色图像对应的深度图像。
[0107]
其中,上述彩色图像和上述深度图像是包含目标对象的图像,目标对象是需要进行人体三维模型重建的对象。进一步的,上述彩色图像和深度图像中可以包括多个目标对象,本实施例中,以存在一个目标对象为例进行具体说明,当存在多个目标对象时,可以使用本实施例中的装置分别对各个目标对象进行人体三维模型重建。
[0108]
人体分割区域获取模块620,用于基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域。
[0109]
具体的,本实施例中,可以对上述彩色图像中的目标对象进行目标检测和人体姿态估计,获得对应的人体关节点二维坐标信息和人体分割区域。其中,各上述人体关节点二维坐标信息是目标对象的人体关节点在上述彩色图像中的位置坐标,上述人体分割区域是基于各人体关节点对人体边缘轮廓划分获得的人体区域。
[0110]
人体分割深度区域获取模块630,用于基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域。
[0111]
其中,上述人体关节点三维坐标信息是上述深度图像中与各上述人体关节点二维坐标信息对应的深度信息,上述人体分割深度区域是上述深度图像中与各上述人体分割区域对应的区域。具体的,人体关节点应该在人体内部,但深度图像无法采集人体内部的深度信息,因此本实施例中,将各人体关节点对应的皮肤表面的三维坐标信息作为上述人体关节点三维坐标信息,即直接将深度图像中与各上述人体关节点二维坐标信息对应的深度信息作为人体关节点三维坐标信息。
[0112]
人体三维模型重建模块640,用于基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。
[0113]
由上可见,本发明实施例提供的人体三维模型获取装置通过图像获取模块610获取彩色图像以及与上述彩色图像对应的深度图像;通过人体分割区域获取模块620基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;通过人体分割深度区域获取模块630基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;通过人体三维模型重建模块640基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。与现有技术中仅利用彩色图像获取人体三维模型的方案相比,本发明方案结合能够提供人体对应的三维空间信息的深度图像获取人体三维模型,有利于提高获得的人体三维模型的准确率,使得获得的人体三维模型能更好的反映人体三维姿态。
[0114]
在一种应用场景中,还可以基于上述人体三维模型获取装置对视频流进行处理,以获得视频流中的人体三维模型。在对视频流进行处理时,获取待处理视频流,上述待处理视频流中包括连续多帧帧同步且对齐的彩色图像和深度图像。对于每一帧同步且对齐的彩
色图像和深度图像,分别基于上述人体三维模型获取装置进行处理,获得每一帧的人体三维模型,具体可以对每一帧进行并行处理或依次处理,在此不做具体限定。本实施例中,以对一帧彩色图像及其对应的深度图像为例进行具体说明,但不做具体限定。
[0115]
具体的,本实施例中,上述人体三维模型获取装置及其各个模块的具体功能还可以参照上述人体三维模型获取方法中的对应描述,在此不再赘述。
[0116]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图10所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和人体三维模型获取程序。该内存储器为非易失性存储介质中的操作系统和人体三维模型获取程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该人体三维模型获取程序被处理器执行时实现上述任意一种人体三维模型获取方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0117]
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0118]
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的人体三维模型获取程序,上述人体三维模型获取程序被上述处理器执行时进行以下操作指令:
[0119]
获取彩色图像以及与上述彩色图像对应的深度图像;
[0120]
基于上述彩色图像获取人体关节点二维坐标信息和人体分割区域;
[0121]
基于上述深度图像,分别获取与各上述人体关节点二维坐标信息对应的人体关节点三维坐标信息,以及与各上述人体分割区域对应的人体分割深度区域;
[0122]
基于预设的损失函数对所有上述人体关节点三维坐标信息和所有上述人体分割深度区域进行迭代拟合,获取人体三维模型。
[0123]
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有人体三维模型获取程序,上述人体三维模型获取程序被处理器执行时实现本发明实施例提供的任意一种人体三维模型获取方法的步骤。
[0124]
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0125]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0126]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
[0127]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0128]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0129]
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0130]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献