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

一种双手交互状态下的三维重建方法与流程

2022-02-19 08:17:17 来源:中国专利 TAG:


1.本发明属于计算机视觉、人机交互领域、计算机图形学,具体地,涉及一种双手交互状态下双手三维重建技术。


背景技术:

2.手部三维重建是计算机视觉和人机交互领域的热点问题,在虚拟现实、智能控制和终端设备上具有广泛的应用。手部三维重建任务主要是根据输入的图片估计手部的三维形状,形状通常使用网格模型表示。
3.到目前为止,手部三维重建已经取得了很多的研究成果。现有技术根据数据采集设备主要可分为三类:1)利用多个彩色相机实现手部三维重建;2)利用单个彩色相机实现手部三维重建;3)利用深度相机拍摄深度图进行手部三维重建。
4.重建方法上主要可以分为两大类。1)直接估计网格模型每一个顶点的坐标。这一类方法通过图卷积算法或者网格卷积算法利用深度神经网络对网格模型每一个顶点的坐标进行估计。算法通常先提取较少的顶点特征,并设计上采样算法逐渐增加顶点的数量,最终获得高精度的网格模型。这种方法的缺点是手部的网格模型通常包含成百上千顶点,因此直接预测每个顶点的坐标需要在极大的解空间中求解。同时,直接预测每一个顶点的位置没有利用手部形状的先验。2)使用参数化模型生成网格模型。为了解决上述问题,大量使用参数化模型估计手部三维网格模型的算法被提出。mano为最常用的手部参数化模型,其包含形状和姿态两个参数。10维的形状参数描述了手部的长短胖瘦信息,48维的姿态参数由手部16个关节的旋转向量组成。在给定mano的形状参数和姿态参数后,即可生成手部网格模型同时能获得手部的关键点位置。需要说明的是,从形状参数和姿态参数生成网格模型和关键点位置的过程是可导的,这也就允许我们通过监督mano模型输出的网络和骨架达到训练网络的目标。
5.目前通过单张彩色图片重建单手三维模型的工作较多,但多数双手三维重建依赖于深度图片。现有的通过单张彩色图片重建双手三维模型的工作往往不能准确重建紧密交互情况下的双手三维模型。


技术实现要素:

6.针对现有技术中存在的技术问题,本发明的目的在于提供一种双手交互状态下的三维重建方法,本发明是通过单张彩色图片重建双手交互状态下的双手三维模型,能够使用普通的彩色相机对双手三维模型进行重建。需要指出的是,本发明虽然针对双手紧密交互情况提出了优化算法,但本发明同样可以在双手相互分离的情况下实现双手三维重建。
7.为了解决上述技术问题,本发明提供了一种三维手部模型重建的方法,如图2所示,其包括以下步骤:
8.步骤1,输入单张彩色图像;
9.步骤2,利用2.5d热图提取网络(如internet)检测图片中双手关键点的2.5d热图;
2.5d热图反应了二维关键点在图像上的位置和二维关键点在空间中的深度;
10.步骤3,利用resnet50浅层残差模块提取步骤1中图片的特征;
11.步骤4,将resnet50浅层残差模块提取的图片特征与2.5d热图输入到后续的resnet50深层残差模块中提取特征图;
12.步骤5,将步骤2中检测的左手、右手的2.5d热图沿通道进行最大值池化操作,分别得到左手与右手的注意力图;
13.步骤6,使用步骤4所提取的特征图作为输入利用全连接网络预测双手之间的相对位置关系;
14.步骤7,将步骤4的特征图与步骤5得到的左手注意力图与右手注意力图分别逐点相乘,再通过平均值池化得到左手特征图与右手特征图;
15.步骤8,利用左手和右手的特征图分别预测左手和右手的参数化模型(如mano等)的参数;
16.步骤9,利用步骤8生成的左手和右手的模型参数,回归左手和右手三维关键点位置,使用步骤2中预测的2.5d热图与回归所得三维关键点的位置关系计算弱透视投影模型的相机参数,根据三维关键点的投影位置分别生成左手和右手的注意力图;
17.步骤10,将步骤9生成的注意力图与步骤4中深层残差模块提取的低层特征逐像素相乘,提取左手与右手的特征;
18.步骤11,将步骤10中的左右手特征、网络之前预测的左手和右手的模型参数以及步骤6中预测的双手相对位置关系输入到级联模块中,网络预测新的左手和右手的参数化模型参数;
19.步骤12,迭代重复步骤9

11,使用最新预测的左右手模型参数生成左、右手注意力图,新的生成的左、右手注意力图与步骤4中深层残差模块提取的更低层的特征(靠近输入端的特征)逐像素相乘,生成下一个级联模块的输入特征,用于下一个级联模块得到更精确的人手参数化模型。
20.本发明包含m个级联模块。除了第m个级联模块输出的结果外,网络预测的每一个手部参数化模型参数都会用于生成注意力图,靠近输出端的级联模块生成的注意力图与步骤4中更靠近输入端的特征图逐像素相乘(类似于hourglass),生成下一个级联模块的输入。
21.进一步,该方法还包括,使用的手部三维模型是一个包含姿态和形状参数的手部参数化模型,给定参数即可生成相应的网格模型,网格模型如图1所示。
22.进一步,该方法还包括,手部三维模型为网格表示,比骨架节点提供更多信息。形状信息在人机交互领域有重要的应用,是碰撞检测的基础,为用户带来更加真实的交互体验。
23.进一步,该方法还包括,使用真实数据集训练网络,包括interhand2.6m,cmu haggling。
24.进一步,该方法还包括,步骤9利用二维关键点和三维关键点生成注意力图。指定手部参数化模型的参数后得到手部三维关键点,根据步骤2中每个关键点的2.5d热图像素值最高的位置得到二维关键点坐标。定义三维关键点在弱透视投影模型下的投影位置与二维关键点之间的距离平方和为损失,优化弱透视投影参数最小化该损失即可得到对齐后的
弱透视投影参数,利用对齐得到的弱透视投影参数将三维关键点投影在二维图像上,以每个投影位置为中心生成热图,再通过可导计算融合每个关键点的热图得到注意力图。
25.进一步,该方法还包括,在步骤11和步骤12中使用的级联模块结合双手的模型参数以及相对位置关系预测更加精确的双手网格模型。神经网络利用双手之间的语义信息实现精确的三维模型估计。
26.与现有技术相比,本发明有以下优点:
27.本发明仅通过单张彩色图片实现双手三维重建。相比于深度相机,彩色相机更加便捷,且应用场景更广,可以在室外使用。
28.此外,相比于传统的自上而下方法,先检测每一只手所在的区域再将对每个区域内分别进行手部三维模型重建。本发明直接重建双手的三维模型并估计二者的相对位置关系,因此不要求双手在图片中相互分离。即使在双手紧密交互的情况下,本发明也能实现双手的三维模型重建。
29.此外,在监督网络时对输出的三维关键点位置、双手之间的相对位置、形状参数、注意力图进行监督,并加入了形状一致性约束和正则约束,保证了三维模型重建结果的准确性与合理性。
30.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
31.图1是本发明中使用的手部网格模型示意图。
32.图2是本发明的整体架构图。
33.图3是本发明的使用注意力图提取特征的示意图。
具体实施方式
34.为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
35.步骤1:输入单张彩色图像。
36.本发明要求输入单张彩色图像,手部在图像中应当占有一定比例。图像中的双手可以处于紧密交互的状态,也可以处于相互分离的状态。图片在输入神经网络前,尺寸应当被调整为256
×
256。为了不改变手部在图像中的形状,需要将长宽进行等比例缩放,将较长的边调整为256个像素长度,使用128像素值进行填充使图片的长宽相等。在图片输入网络前会对像素值除256再减0.5,像素值的范围变为

0.5到0.5。
37.步骤2:利用神经网络检测双手关键点的2.5d热图。
38.本发明使用已有的internet网络预测2.5d热图,对双手共42个关键点的热图进行估计。输出的热图分辨率为64
×
64
×
64。为了降低网络测试与训练的空间消耗,将每一个热图下采样为16
×
32
×
32。本步骤中使用的预测2.5d热图的神经网络可以单独训练,并在训练双手三维模型重建网络时将internet网络的参数固定。resnet50浅层残差模块、resnet50深层残差模块、各级联模块等全部模块共同构成三维模型重建网络。
39.步骤3,利用resnet50浅层残差模块提取图片的特征;
40.步骤4,将神经网络提取的图片特征与2.5d热图一同输入到后续的resnet50深层残差模块中提取特征。
41.首先使用7
×
7步长为2的卷积核对图片进行卷积,再经过最大值池化,特征图维数为64
×
64
×
64。经过两组残差模块得到512
×
32
×
32的特征图。将步骤2中得到的下采样后的热图(42
×
16
×
32
×
32),通过合并关键点数和深度两个维度将热图的维度变为672
×
32
×
32。将热图与特征图拼接,组成1184
×
32
×
32的特征图,送入后续残差模块中,输出2048
×8×
8的特征图。
42.步骤5,利用2.5d热图生成左手与右手的注意力图。
43.将步骤2中生成的左手和右手的2.5d热图分别沿深度方向拼接得到维度为(21
×
64)
×
64
×
64的张量,沿通道进行最大值池化得到维度为64
×
64的注意力图。再通过下采样得到8
×
8的注意力图。
44.步骤6,预测双手之间的相对位置关系。
45.本发明会首先预测每一只手在各自坐标系下的归一化三维模型,指定中指的掌指关节为坐标原点。并且该关节到手腕关节的距离归一化为1。这样做的好处是可以得到一个与绝对尺度和绝对位置无关的模型,降低了从二维彩色图片估计三维模型的歧义性。但需要预测双手的相对位置关系。相对位置关系包含了原点的相对位置以及两只手的相对尺寸,引入原点更重要的意义在于消除手部位置在相机坐标系下的歧义性,更加关注手部形状上各点关于原点的相对位置。
46.将步骤4中得到2048
×8×
8的特征图过平均值池化,得到2048维的向量。该向量经过两层全连接网络获得4个用于描述双手之间的相对位置关系的参数。第一个参数为两只手之间的尺度比值的自然对数α,e
α
即为右手与左手尺度的比值,后三个参数为两只手之间的位置偏移t(t为三维空间中的向量包含x,y,z三个分量)。将预测得到的左手三维模型与位置偏移t相加,再与尺度比值相乘即可将左手三维模型转移到右手三维模型所在坐标系下,实现了将双手三维模型统一到同一个坐标系下。
47.步骤2中使用的7
×
7的卷积核与上述步骤2到步骤4中的残差模块共同构成了resnet50网络,与原始resnet50的区别在于去掉了用于分类的全连接层,并且修改了resnet50的第三组残差模块的输入维度,使其等于2.5d热图与特征图拼接所得张量的维度。
48.步骤7,提取左手特征图与右手特征。
49.将步骤5中得到的左右手注意力图与步骤4中得到的2048
×8×
8的特征图每一个通道逐像素相乘。分别得到左手特征图和右手特征图,注意力图经过卷积网络和平均值池化得到表示左手特征的向量和表示右手特征的向量。提取特征的过程如图3所示。注意力图的生成方式决定了他在手部所在区域有更高的响应。因此左手特征图在左手区域内的像素值被保留,区域外的像素值被抑制,得到的结果更能反应左手的特征。同样的,右手特征图可以保留更多的右手特征并去除其他特征。
50.步骤8,预测左手和右手的模型参数。
51.以左手为例,将左手特征图通过平均值池化操作得到2048维的向量,通过一层全连接网络预测左手的mano模型参数,网络使用了mano模型,但本发明能推广使用其他参数
化模型。用同样的方法预测右手mano模型参数。为了监督mano参数的预测结果,损失函数包含了以下损失项:双手关节偏移损失、双手形状一致性损失、关键点位置损失、形状损失、骨架长度损失、形状参数正则项、姿态参数正则项。
52.j
left,i
和分别表示左手第i个三维关键点位置的预测值和真实值。j
right,i
和分别表示右手第i个三维关键点位置的预测值和真实值。l
left,b
和分别表示左手第b个骨头的长度的预测值和真实值。l
right,b
和分别表示右手第b个骨头的长度的预测值和真实值。
53.β
left
和β
right
分别表示左手和右手mano模型的形状参数。θ
left
和θ
right
分别表示左手和右手mano模型的形状参数。
54.双手关节偏移损失为
55.双手形状一致性损失为
56.关键点位置损失为
57.形状损失为
58.骨架长度损失为其中为中指的掌指关节到手腕关节的距离。
59.形状参数正则项、姿态参数正则项分别为mano的形状参数和姿态参数的l2正则项。
60.具体来说,双手关键点偏移损失用于监督左右手相同编号关键点的相对位置。双手形状一致性损失用于惩罚左右手形状参数的偏差,保证了同一个人左右手有相近的形状参数。关键点位置损失用于监督重建得到的三维模型的关键点位置。形状损失用于监督mano的形状参数。骨架长度损失用于监督重建得到的三维模型的骨架长度。形状参数正则项和姿态参数正则项保证了网络输出合理的手部形状。
61.步骤9,利用模型参数生成注意力图。
62.首先通过预测的手部参数化模型的参数计算手部的三维关键点坐标。使用弱透视投影相机模型将手部三维关键点投影到二维平面上。根据2.5d热图的像素最大值在图片(即步骤1中输入的单张彩色图像,2.5d热图通过尺度变换可以变换到原图)中的位置可获得关键点在图片上的二维坐标。将该二维坐标与三维关键点在二维平面上的投影位置之间的距离的平方和视为误差。最小化该误差即为求解以弱透视投影参数为自变量的最小二乘问题,通过最小二乘法求解弱透视投影参数,使得到预测的二维关键点与三维关键点投影之间误差最小。其中,通过步骤2预测的2.5d热图得到二维关键点坐标的预测值。将投影三维关键点投影到平面之后,以投影位置为中心,按照预设的方差生成像素值服从高斯分布的二维热图x为像素坐标,c为高斯分布的中心即关键点投影位置,σ为高斯分布的方差。本发明设置2σ2=3。得到各个关键点的热图后,通过可导的方式将每一只手各自的关键点热图通过可导计算进行融合。本发明使用累乘的方
式进行融合式进行融合得到注意力图。
63.步骤10,提取左手特征图与右手特征。
64.以左手为例,从残差网络中取维度为2048
×8×
8与步骤9中得到的左手注意力图每一个通道逐像素相乘。得到的结果经过一个残差模块,输出2048
×8×
8的特征,该特征经过平均值池化得到2048维的左手特征。利用上述方法分别得到左手和右手的特征。
65.步骤11,预测新的左手和右手的模型参数。
66.以左手为例,将步骤10中预测的左手特征、步骤8中预测的双手姿态参数和双手形状参数、步骤6中预测的双手相对位置关系拼接在一起,送入左手参数预测分支中。该分支包含两个全连接层,第一层使用relu作为激活函数,第二层输出左手的mano参数。用相同的方法预测右手的mano参数。使用与步骤8相同的损失函数监督网络。
67.此步骤中出现的左手和右手分支组成了第一级级联模块。
68.步骤12,通过级联的方式提高双手模型重建精度。
69.每一级级联模块的网络结构相同。使用上一级预测的mano参数生成注意力图。将注意力图与更低层的残差网络特征图逐像素相乘(第二级使用1024
×
16
×
16维度的特征,第三级使用512
×
32
×
32维度的特征)。相乘的结果经过残差模块得到2048
×8×
8的特征,利用平均值池化得到2048维向量。采用步骤11的方式预测mano参数。
70.需要指出,预测的二维关键点坐标在对齐时需要根据选取的特征图尺寸乘相应的系数。例如,原始的二维关键点预测值对应64
×
64尺寸的图片。当特征图为16
×
16,则二维坐标需乘
71.以上以人手为例对本发明做了说明,容易理解的是,本发明也适用于人体整体或局部(如人手、人脸)、多个人、多个动物、多个机器人等对象,本发明也适用于多种传感器,包含并不限于彩色相机、深度相机、激光雷达等。
72.以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。
再多了解一些

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

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

相关文献