logo好方法网

一种使用对抗式3D分层网络进行手部姿态估计的方法及系统


技术摘要:
本发明提出了一种使用对抗式3D分层网络进行手部姿态估计的方法及系统,对抗式3D分层网络主要包括两个部分:3D分层预测网络(3DHNet)负责各个关节点的预测,3DHNet相比传统的2D卷积神经网络能够提取到深度图中的关键信息,姿态判别网络(PDNet)负责对输入的手部姿态的  全部
背景技术:
手部姿态估计任务,指的是从包含手部区域的深度图中,定位出手的各个关节点 在世界坐标系下的坐标(x,y,z)。随着人工智能的发展,手部姿态估计任务在计算机视觉中 的地位越发重要。精准的手部姿态估计,对于虚拟现实、手势识别以及人机交互而言是关键 的一环。尽管对该领域的研究已经持续了数十年,但是由于手的自由度高、各个手指的相似 性以及手指之间的遮挡,使得手部姿态估计任务依然面对着极大的挑战。 传统的基于卷积神经网络的方法,是将深度图作为2D数据输入到2D卷积神经网络 中,直接回归出关节点的位置。但是深度图实际上代表的是2.5D数据,直接将其视作2D数据 并且采用2D卷积神经网络进行处理,并不能很好地提取到深度图中的关键信息。除此之外, 直接回归关节点的位置是一个高度非线性过程,会增加网络的学习难度。
技术实现要素:
发明目的:一个目的是提出一种使用对抗式3D分层网络进行手部姿态估计的方 法,以解决现有技术存在的上述问题。进一步目的是提出一种实现上述方法的系统。 技术方案:一种使用对抗式3D分层网络进行手部姿态估计的方法,包括以下步骤: 步骤1、利用3D分层预测网络对各个关节点预测; 步骤2、利用姿态判别网络对输入的手部姿态的合理性进行判断; 步骤3、3D分层预测网络和姿态判别网络对抗训练。 在进一步的实施例中,所述步骤1进一步包括: 步骤1-1、将包含手部特征的原始深度图中的数据投影到3D空间;投影到3D空间的 数据根据预设的体素值进行离散化处理;体素各个位置的值V(i,j,k)根据该位置是否被离 散的点所覆盖被设为1或者0; 步骤1-2、3D分层预测网络通过第一部分对手部进行特征提取和连续的下采样与 上采样操作,获取手部的全局信息: 特征提取:使用卷积神经网络的卷积操作,来实现对特征的提取; 下采样:采用最大池化操作来实现下采样,对于尺寸为M*N的图像进行下采样,求 出M和N的公约数A,以该公约数A作为下采样倍率,将原始图像A*A的窗口内的所有像素的最 大值作为代表值,以使得图像符合显示区域的大小; 上采样:利用待求像素四个邻像素A(x1,y1)、B(x1,y2)、C(x2,y1)、D(x2,y2)的灰度在 X方向上作线性内插,得到: 7 CN 111582058 A 说 明 书 2/10 页 式中,A像素点和C像素点共处X方向,B像素点和C像素点共处X方向;(x,y1)表示A 像素点和C像素点之间的插值像素坐标,(x,y2)表示B像素点和D像素点之间的插值像素坐 标; 接着在Y方向作线性内插,最终得到: 式中,(x,y)表示进一步计算出的(x,y1)和(x,y2)在Y方向上的插值像素点; 步骤1-3、3D分层预测网络通过第二部分将手部姿态估计任务分解成多个子任务, 一个子任务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应一 个子任务来负责提取关节点周围的局部信息; 步骤1-4、在3D分层预测网络分解子任务后,预测结果和实际结果会有偏差,损失 项如下: 式中,Hj和Cj分别表示由真实的各个关节点位置以及预测的关节点位置生成的3D 热图,J表示关节节点总数; 步骤1-5、将步骤1-4获得的损失项作为监督项,就可对3D分层预测网络进行监督 训练; 步骤1-6、将步骤1-4预测的3D热图进行处理,就可以得到关节点的坐标: 在得到预测的各个关节点的3D热图之后,取该热图中最大值所在的位置,即可获 得关节点相对于热图的坐标,然后根据原图到热图的换算比例,即可得到在原始深度图中, 各个关节点的3D坐标,从而得到预测的手部姿态; 在进一步的实施例中,所述步骤2进一步包括: 步骤2-1、利用姿态判别网络对步骤1中的预测结果添加物理约束,输入真实手部 姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿态判为假; 其中,真实手部姿态的算法如下: 式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数; 预测手部姿态的算法如下: 式中,Cj表示由预测的各个关节点位置生成的3D热图,J表示关节节点总数。 8 CN 111582058 A 说 明 书 3/10 页 在进一步的实施例中,所述步骤3进一步包括: 步骤3-1、3D分层预测网络单独训练,当预测的结果较为准确,即得到的3D热图的 锋利度达到阈值的时候,3D分层预测网络和姿态判别网络进行对抗训练; 步骤3-2、姿态判别网络通过最小化损失函数来实现对输入的姿态进行区分: 姿态判别网络会交替地输入真实的手部姿态以及预测的手部姿态,并输出分类结 果来代表去输入的判定,其采用交叉熵损失作为损失函数: Lcritic=-[y×log(x) (1-y)×log(1-x)] 式中,x表示输入的手部姿态,可以为真实的手部姿态与预测的手部姿态,y表示对 输入的分类结果,如果输入的是真实的手部姿态,y为1,反之为0; 步骤3-3、3D分层网络使预测的结果尽可能地接近真实的手部姿态,来迷惑姿态判 别网络,3D分层网络求解损失最小问题来使得预测的结果更加合理: 所述在对抗训练过程中,3D分层预测网络的损失函数为: L=α1×Lme α2×Lcritic 式中,第二项中的y为1,目的是希望3D分层预测网络预测的手部姿态能够尽可能 迷惑姿态判别网络; 步骤3-4、重复步骤3-1至3-3,使得姿态判别网络为3D分层网络的预测结果添加物 理约束。 一种使用对抗式3D分层网络进行手部姿态估计的系统,包括用于对各个关节点预 测的3D分层预测网络模块;用于对输入的手部姿态的合理性进行判断的姿态判别网络模 块;以及用于促使3D分层预测网络和姿态判别网络进行对抗训练的对抗训练模块。 在进一步的实施例中,所述3D分层预测网络模块进一步包括第一部分和第二部 分,所述第一部分呈沙漏结构,通过该部分的下采样和上采样操作以获得充分的全局信息; 所述第二部分用于进行分层操作,在该第二部分中,手部姿态估计任务被解耦成多个子任 务,一个子任务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应 一个子任务来负责提取关节点周围的局部信息;所述3D分层预测网络模块进一步用于预测 出各个关节点的坐标,以从深度图转化来的体素化的手部区域为输入,经过3D卷积神经网 络,输出代表关节点概率分布的3D热图; 所述姿态判别网络模块进一步以真实和预测的手部姿态作为输入,并将前者判为 真后者判为假; 所述对抗训练模块进一步监测3D分层预测网络模块的预测结果,当预测结果的准 确度达到阈值,即得到的3D热图的锋利度达到阈值时,对抗训练模块促使3D分层预测网络 和姿态判别网络进行对抗训练,在对抗训练的过程中,姿态判别网络的目的是尽可能的将 预测的手部姿态与真实的手部姿态区分开,而3D分层预测网络的目的则是使预测的结果尽 可能地接近真实的手部姿态,来迷惑姿态判别网络。 在进一步的实施例中,所述3D分层预测网络模块进一步将包含手部特征的原始深 度图中的数据投影到3D空间;投影到3D空间的数据根据预设的体素值进行离散化处理;体 素各个位置的值V(i,j,k)根据该位置是否被离散的点所覆盖被设为1或者0; 3D分层预测网络通过第一部分对手部进行特征提取和连续的下采样与上采样操 作,获取手部的全局信息: 9 CN 111582058 A 说 明 书 4/10 页 特征提取:使用卷积神经网络的卷积操作,来实现对特征的提取; 下采样:采用最大池化操作来实现下采样,对于尺寸为M*N的图像进行下采样,求 出M和N的公约数A,以该公约数A作为下采样倍率,将原始图像A*A的窗口内的所有像素的最 大值作为代表值,以使得图像符合显示区域的大小; 上采样:利用待求像素四个邻像素A(x1,y1)、B(x1,y2)、C(x2,y1)、D(x2,y2)的灰度在 X方向上作线性内插,得到: 式中,A像素点和C像素点共处X方向,B像素点和C像素点共处X方向;(x,y1)表示A 像素点和C像素点之间的插值像素坐标,(x,y2)表示B像素点和D像素点之间的插值像素坐 标; 接着在Y方向作线性内插,最终得到: 式中,(x,y)表示进一步计算出的(x,y1)和(x,y2)在Y方向上的插值像素点; 3D分层预测网络通过第二部分将手部姿态估计任务分解成多个子任务,一个子任 务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应一个子任务 来负责提取关节点周围的局部信息; 在3D分层预测网络分解子任务后,预测结果和实际结果会有偏差,损失项如下: 式中,Hj和Cj分别表示由真实的各个关节点位置以及预测的关节点位置生成的3D 热图,J表示关节节点总数; 在得到预测的各个关节点的3D热图之后,取该热图中最大值所在的位置,即可获 得关节点相对于热图的坐标,然后根据原图到热图的换算比例,即可得到在原始深度图中, 各个关节点的3D坐标,从而得到预测的手部姿态; 所述姿态判别网络模块进一步利用姿态判别网络对3D分层预测网络中的预测结 果添加物理约束,输入真实手部姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿 态判为假; 其中,真实手部姿态的算法如下: 式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数; 10 CN 111582058 A 说 明 书 5/10 页 预测手部姿态的算法如下: 式中,Cj表示由预测的各个关节点位置生成的3D热图,J表示关节节点总数; 所述对抗训练模块进一步监测3D分层预测网络,首先由3D分层预测网络单独训 练,当预测的结果较为准确,即得到的3D热图的锋利度达到阈值的时候,3D分层预测网络和 姿态判别网络进行对抗训练: 姿态判别网络会交替地输入真实的手部姿态以及预测的手部姿态,并输出分类结 果来代表去输入的判定,其采用交叉熵损失作为损失函数: Lcritic=-[y×log(x) (1-y)×log(1-x)] 式中,x表示输入的手部姿态,可以为真实的手部姿态与预测的手部姿态,.y表示 对输入的分类结果,如果输入的是真实的手部姿态,y为1,反之为0; 3D分层网络使预测的结果尽可能地接近真实的手部姿态,来迷惑姿态判别网络, 3D分层网络求解损失最小问题来使得预测的结果更加合理: L=α1×Lme α2×Lcritic 式中,第二项中的y为1,目的是希望3D分层预测网络预测的手部姿态能够尽可能 迷惑姿态判别网络。 有益效果:本发明提出了一种使用对抗式3D分层网络进行手部姿态估计的方法及 系统,包括一个对抗式3D分层网络,对抗式3D分层网络主要包括两个部分:3D分层预测网络 (3DHNet)负责各个关节点的预测,3DHNet相比传统的2D卷积神经网络能够提取到深度图中 的关键信息,姿态判别网络(PDNet)负责对输入的手部姿态的合理性进行判断。通过将 3DHNet和PDNet进行对抗训练,在对抗训练的过程中,PDNet的目的是尽可能的将预测的手 部姿态与真实的手部姿态区分开,而3DHNet的目的则是使预测的结果尽可能地接近真实的 手部姿态,来迷惑PDNet,通过这种对抗训练的方式,PDNet以一种自适应的方式为3DHNet的 预测结果添加了物理约束,来使得3DHNet的预测结果更加的合理和准确。 附图说明 图1为本发明步骤1中体素化后得到的手部区域示意图。 图2为本发明考虑预测出的关节点所形成的手部姿态是否合理的示意图。 图3为本发明中由3DHNet和PDNet组成的对抗式3D分层网络的整体结构示意图。 图4为本发明中3D分层预测网络(3DHNet)的结构示意图。 图5为本发明中姿态判别网络(PDNet)的结构示意图。 图6为本发明引入PDNet前后的预测结果变化示意图。
下载此资料需消耗2积分,
分享到:
收藏