CN111582058B - 一种使用对抗式3d分层网络进行手部姿态估计的方法 - Google Patents

一种使用对抗式3d分层网络进行手部姿态估计的方法 Download PDF

Info

Publication number
CN111582058B
CN111582058B CN202010312001.5A CN202010312001A CN111582058B CN 111582058 B CN111582058 B CN 111582058B CN 202010312001 A CN202010312001 A CN 202010312001A CN 111582058 B CN111582058 B CN 111582058B
Authority
CN
China
Prior art keywords
network
hand
hierarchical
predicted
gesture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010312001.5A
Other languages
English (en)
Other versions
CN111582058A (zh
Inventor
张一帆
孙琳晖
程健
卢汉清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Nanjing Artificial Intelligence Innovation Research Institute
Institute of Automation of Chinese Academy of Science
Original Assignee
Zhongke Nanjing Artificial Intelligence Innovation Research Institute
Institute of Automation of Chinese Academy of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongke Nanjing Artificial Intelligence Innovation Research Institute, Institute of Automation of Chinese Academy of Science filed Critical Zhongke Nanjing Artificial Intelligence Innovation Research Institute
Priority to CN202010312001.5A priority Critical patent/CN111582058B/zh
Publication of CN111582058A publication Critical patent/CN111582058A/zh
Application granted granted Critical
Publication of CN111582058B publication Critical patent/CN111582058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提出了一种使用对抗式3D分层网络进行手部姿态估计的方法,对抗式3D分层网络主要包括两个部分:3D分层预测网络(3DHNet)负责各个关节点的预测,3DHNet相比传统的2D卷积神经网络能够提取到深度图中的关键信息,姿态判别网络(PDNet)负责对输入的手部姿态的合理性进行判断。通过将3DHNet和PDNet进行对抗训练,在对抗训练的过程中,PDNet的目的是尽可能的将预测的手部姿态与真实的手部姿态区分开,而3DHNet的目的则是使预测的结果尽可能地接近真实的手部姿态,来迷惑PDNet,通过这种对抗训练的方式,PDNet以一种自适应的方式为3DHNet的预测结果添加了物理约束,来使得3DHNet的预测结果更加的合理和准确。

Description

一种使用对抗式3D分层网络进行手部姿态估计的方法
技术领域
本发明涉及一种使用对抗式3D分层网络进行手部姿态估计的方法,属于生物肢体语言检测与行为分析领域。
背景技术
手部姿态估计任务,指的是从包含手部区域的深度图中,定位出手的各个关节点在世界坐标系下的坐标(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方向上作线性内插,得到:
Figure GDA0004078295000000021
Figure GDA0004078295000000022
式中,A像素点和C像素点共处X方向,B像素点和C像素点共处X方向;(x,y1)表示A像素点和C像素点之间的插值像素坐标,(x,y2)表示B像素点和D像素点之间的插值像素坐标;
接着在Y方向作线性内插,最终得到:
Figure GDA0004078295000000023
式中,(x,y)表示进一步计算出的(x,y1)和(x,y2)在Y方向上的插值像素点;
步骤1-3、3D分层预测网络通过第二部分将手部姿态估计任务分解成多个子任务,一个子任务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应一个子任务来负责提取关节点周围的局部信息;
步骤1-4、在3D分层预测网络分解子任务后,预测结果和实际结果会有偏差,损失项如下:
Figure GDA0004078295000000024
式中,Hj和Cj分别表示由真实的各个关节点位置以及预测的关节点位置生成的3D热图,J表示关节节点总数;
步骤1-5、将步骤1-4获得的损失项作为监督项,就可对3D分层预测网络进行监督训练;
步骤1-6、将步骤1-4预测的3D热图进行处理,就可以得到关节点的坐标:
在得到预测的各个关节点的3D热图之后,取该热图中最大值所在的位置,即可获得关节点相对于热图的坐标,然后根据原图到热图的换算比例,即可得到在原始深度图中,各个关节点的3D坐标,从而得到预测的手部姿态;
在进一步的实施例中,所述步骤2进一步包括:
步骤2-1、利用姿态判别网络对步骤1中的预测结果添加物理约束,输入真实手部姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿态判为假;
其中,真实手部姿态的算法如下:
Figure GDA0004078295000000031
式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数;
预测手部姿态的算法如下:
Figure GDA0004078295000000032
式中,Cj表示由预测的各个关节点位置生成的3D热图,J表示关节节点总数。
在进一步的实施例中,所述步骤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×Lme2×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分层预测网络通过第一部分对手部进行特征提取和连续的下采样与上采样操作,获取手部的全局信息:
特征提取:使用卷积神经网络的卷积操作,来实现对特征的提取;
下采样:采用最大池化操作来实现下采样,对于尺寸为M*N的图像进行下采样,求出M和N的公约数A,以该公约数A作为下采样倍率,将原始图像A*A的窗口内的所有像素的最大值作为代表值,以使得图像符合显示区域的大小;
上采样:利用待求像素四个邻像素A(x1,y1)、B(x1,y2)、C(x2,y1)、D(x2,y2)的灰度在X方向上作线性内插,得到:
Figure GDA0004078295000000051
Figure GDA0004078295000000052
式中,A像素点和C像素点共处X方向,B像素点和C像素点共处X方向;(x,y1)表示A像素点和C像素点之间的插值像素坐标,(x,y2)表示B像素点和D像素点之间的插值像素坐标;
接着在Y方向作线性内插,最终得到:
Figure GDA0004078295000000053
式中,(x,y)表示进一步计算出的(x,y1)和(x,y2)在Y方向上的插值像素点;
3D分层预测网络通过第二部分将手部姿态估计任务分解成多个子任务,一个子任务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应一个子任务来负责提取关节点周围的局部信息;
在3D分层预测网络分解子任务后,预测结果和实际结果会有偏差,损失项如下:
Figure GDA0004078295000000054
式中,Hj和Cj分别表示由真实的各个关节点位置以及预测的关节点位置生成的3D热图,J表示关节节点总数;
在得到预测的各个关节点的3D热图之后,取该热图中最大值所在的位置,即可获得关节点相对于热图的坐标,然后根据原图到热图的换算比例,即可得到在原始深度图中,各个关节点的3D坐标,从而得到预测的手部姿态;
所述姿态判别网络模块进一步利用姿态判别网络对3D分层预测网络中的预测结果添加物理约束,输入真实手部姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿态判为假;
其中,真实手部姿态的算法如下:
Figure GDA0004078295000000061
式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数;
预测手部姿态的算法如下:
Figure GDA0004078295000000062
式中,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×Lme2×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前后的预测结果变化示意图。
具体实施方式
申请人认为,针对传统的手部姿态估计方法存在的问题,目前比较有效的方式采取体素化的输入形式,使用3D卷积神经网络进行特征提取,预测表示关节点位置概率分布的3D heatmap(3D热图)能够使得关节点预测达到较高的精度。将原始的深度图转化成体素化的输入,需要四步:第一步,深度图中的数据会被投影到3D空间;第二步,投影到3D空间的数据会根据预设的体素大小进行离散化处理;第三步,体素各个位置的值V(i,j,k)将根据该位置是否被离散的点所覆盖被设为1或者0。体素化后的手部区域如图1所示,其中蓝色的点表示该位置的值为1。
手是一个结构化物体,各个关节点通过骨骼连接形成的手部姿态需要满足物理学约束。所以在手部姿态估计任务中,除了要考虑预测的关节点位置的准确性,还需要考虑预测出的关节点所形成的手部姿态是否合理。
如图2所示,右图拇指的关节点位置和左图十分接近,但是右图的拇指弯曲程度却是不合理的。所以可以采取类似生成式对抗网络(GAN)中的思想,来对预测出的关节点位置添加一定的物理约束,来保证手部姿态的合理性。
实施例一:
生成式对抗网络(GAN)包括生成网络和判别网络,其中生成网络负责以随机噪声为输入,生成图片;判别网络以真实的图片或者生成的图片为输入,判别其真假。生成网络的目的生成与真实图片尽可能接近的图片来迷惑判别网络,而判别网络则是尽可能地将生成图片判为假,真实图片判为真。所以可以借鉴生成式对抗网络的思想,将姿态估计网络视为生成网络,以预测的姿态与真实姿态作为判别网络输入,通过对抗学习来达到以自适应的方式对预测结果添加物理约束的目的。
在本发明中,申请人提出一个对抗式3D分层网络(PEAN)用于准确而合理的手部姿态估计。对抗式3D分层网络主要包括两个部分:3D分层预测网络(3DHNet)负责各个关节点的预测;姿态判别网络(PDNet)负责对输入的手部姿态的合理性进行判断。整体的网络结构如图3所示。
3DHNet的目标是预测出各个关节点的坐标,它以从深度图转化来的体素化的手部区域为输入,经过3D卷积神经网络,输入代表关节点概率分布的3D Heatmap。考虑到手是一个结构化的物体,实现准确的位置估计,不仅需要充分的全局信息,还需要一定的局部信息,所以3DHNet采取了一种分层的结构。如图4所示,3DHNet的结构主要包括两个部分。第一个部分是一个类似于沙漏的结构,通过该部分的下采样和上采样操作,网络能够获得充分的全局信息。第二个部分则是进行了分层的操作,在该部分,手部姿态估计任务被解耦成了多个子任务,一个子任务负责一个关节点位置的预测,所以会形成和关节点数目一样的分支,每个分支对应一个子任务来负责提取关节点周围的局部信息。通过这样一个在网络尾部分层的操作,使得3DHNet既获得了充分的全局信息,也获得了判别性的局部信息,从而提升了预测结果的精度。
具体的,所述3DHNet进一步将包含手部特征的原始深度图中的数据投影到3D空间;投影到3D空间的数据根据预设的体素值进行离散化处理;体素各个位置的值V(i,j,k)根据该位置是否被离散的点所覆盖被设为1或者0;
3DHNet通过第一部分对手部进行下采样和上采样操作,获取手部的全局信息:
下采样:对于尺寸为M*N的图像进行下采样,求出M和N的公约数A,以该公约数A作为下采样倍率,将原始图像A*A的窗口内的所有像素求均值并合并为一个像素,以使得图像符合显示区域的大小;
上采样:利用待求像素四个邻像素A(x1,y1)、B(x1,y2)、C(x2,y1)、D(x2,y2)的灰度在X方向上作线性内插,得到:
Figure GDA0004078295000000081
Figure GDA0004078295000000082
式中,A像素点和C像素点共处X方向,B像素点和C像素点共处X方向;(x,y1)表示A像素点和C像素点之间的插值像素坐标,(x,y2)表示B像素点和D像素点之间的插值像素坐标;
接着在Y方向作线性内插,最终得到:
Figure GDA0004078295000000091
式中,(x,y)表示进一步计算出的(x,y1)和(x,y2)在Y方向上的插值像素点;
3DHNet通过第二部分将手部姿态估计任务分解成多个子任务,一个子任务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应一个子任务来负责提取关节点周围的局部信息;
在3D分层预测网络分解子任务后,预测结果和实际结果会有偏差,损失项如下:
Figure GDA0004078295000000092
式中,Hj和Cj分别表示由真实的各个关节点位置以及预测的关节点位置生成的3D热图,J表示关节节点总数;
在得到预测的各个关节点的3D热图之后,取该热图中最大值所在的位置,即可获得关节点相对于热图的坐标,然后根据原图到热图的换算比例,即可得到在原始深度图中,各个关节点的3D坐标,从而得到预测的手部姿态。
3DHNet负责的是对关节点位置的预测,在整个预测的过程中,并没有对手部姿态添加显式或者隐式的物理约束,这使得预测结果所形成的手部姿态的合理性无法得到保证。所以,通过对抗学习的方式引入了PDNet,利用一种自适应的方式为预测结果添加物理约束,来使得预测的结果更加准确和合理。
PDNet是一个轻量级的网络,结构如图5所示,它以真实或预测的手部姿态作为输入,并将前者判为真后者判为假。真实的手部姿态指的是由真实的各个关节点位置生成的3D heatmap平方后相加得到的,而预测的手部姿态则是由预测的heatmap平方相加得到。采取3D heatmap平方后相加的结果作为手部姿态有两个优势,一个是只需要很小的计算量就可以得到手部姿态,另一个则是这种形式的手部姿态可以直观地表示出各个关节点的位置以及它们之间的相互关系。
具体的,PDNet利用姿态判别网络对步骤1中的预测结果添加物理约束,输入真实手部姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿态判为假;
其中,真实手部姿态的算法如下:
Figure GDA0004078295000000101
式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数;
预测手部姿态的算法如下:
Figure GDA0004078295000000102
式中,Cj表示由预测的各个关节点位置生成的3D热图,J表示关节节点总数。
3DHNet与PDNet以对抗学习的方式结合在一起。首先3DHNet会单独训练,当预测的结果较为准确,即得到的3D heatmap较为锋利的时候,3DHNet将会和PDNet进行对抗训练。在对抗训练的过程中,PDNet的目的是尽可能的将预测的手部姿态与真实的手部姿态区分开,而3DHNet的目的则是使预测的结果尽可能地接近真实的手部姿态,来迷惑PDNet。通过这种对抗训练的方式,PDNet以一种自适应的方式为3DHNet的预测结果添加了物理约束,来使得3DHNet的预测结果更加的合理和准确。
具体的,对抗训练的过程如下:
首先,3D分层预测网络单独训练,当预测的结果较为准确,即得到的3D热图的锋利度达到阈值的时候,3D分层预测网络和姿态判别网络进行对抗训练:
接着,姿态判别网络通过最小化损失函数来实现对输入的姿态进行区分,姿态判别网络会交替地输入真实的手部姿态以及预测的手部姿态,并输出分类结果来代表去输入的判定,其采用交叉熵损失作为损失函数:
Lcritic=-[y×log(x)+(1-y)×log(1-x)]
式中,x表示输入的手部姿态,可以为真实的手部姿态与预测的手部姿态,y表示对输入的分类结果,如果输入的是真实的手部姿态,y为1,反之为0;
接着,3D分层网络使预测的结果尽可能地接近真实的手部姿态,来迷惑姿态判别网络,3D分层网络求解损失最小问题来使得预测的结果更加合理:
L=α1×Lme2×Lcritic
式中,第二项中的y为1,目的是希望3D分层预测网络预测的手部姿态能够尽可能迷惑姿态判别网络;
重复上述步骤,使得姿态判别网络为3D分层网络的预测结果添加物理约束。
在多个手部姿态数据集上的实验表明,我们的PEAN的整体预测精度达到了领先的水平,并且如图6所示,对比引入PDNet前后的预测结果,可以看出,在3DHNet与PDNet进行对抗学习之后,原本预测的不合理变得更加的合理和准确。
实施例二:
在3D分层预测网络分解子任务后,且计算出损失项之后,将获得的损失项进行在线加强,整个网络的总损失函数如下:
LossA=Losst+Lossf+Lossm+Lossn+Lossl+λR(ω)
式中,Losst表示大拇指关节的损失,Lossf表示食指关节的损失,Lossm表示中指关节的损失,Lossn表示无名指关节的损失,Lossl表示小拇指关节的损失,LossA为整个网络的总损失;Losst、Lossf、Lossm、Lossn、Lossl分别满足步骤1-4中的公式计算,Losst包含两个关节节点,Lossf、Lossm、Lossn、Lossl包含三个关节节点;
将输出的3D热图和3D方向矢量进行后处理,得到深度图像上的点到关节处的偏移矢量:
Eij=l(1-Hij)Dij
其中,l表示以关节位置为球心做出的球体半径长度,Hij表示从第i个关节节点到第j个关节节点的3D热图,Dij表示从第i个关节节点到第j个关节节点的3D方向矢量,Eij表示从第i个关节节点到第j个关节节点的偏移矢量;
通过预测候选关节节点与实际关节节点像素加权融合得到修正后的关节坐标:
Figure GDA0004078295000000111
式中,Ekj表示预测候选关节节点的第k个候选节点到第j个候选节点的偏移矢量,Pk为第k个候选节点的坐标,ωk表示第k个候选节点的权重值,K表示预测候选节点总数,选取数值为4,Fj表示最终获得的第j个关节节点的3D坐标。
3DHNet负责的是对关节点位置的预测,在整个预测的过程中,并没有对手部姿态添加显式或者隐式的物理约束,这使得预测结果所形成的手部姿态的合理性无法得到保证。所以,通过对抗学习的方式引入了PDNet,利用一种自适应的方式为预测结果添加物理约束,来使得预测的结果更加准确和合理。
PDNet是一个轻量级的网络,结构如图5所示,它以真实或预测的手部姿态作为输入,并将前者判为真后者判为假。真实的手部姿态指的是由真实的各个关节点位置生成的3D heatmap平方后相加得到的,而预测的手部姿态则是由预测的heatmap平方相加得到。采取3D heatmap平方后相加的结果作为手部姿态有两个优势,一个是只需要很小的计算量就可以得到手部姿态,另一个则是这种形式的手部姿态可以直观地表示出各个关节点的位置以及它们之间的相互关系。
具体的,PDNet利用姿态判别网络对步骤1中的预测结果添加物理约束,输入真实手部姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿态判为假;
其中,真实手部姿态的算法如下:
Figure GDA0004078295000000121
式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数;
预测手部姿态的算法如下:
Figure GDA0004078295000000122
式中,Cj表示由预测的各个关节点位置生成的3D热图,J表示关节节点总数。
3DHNet与PDNet以对抗学习的方式结合在一起。首先3DHNet会单独训练,当预测的结果较为准确,即得到的3D heatmap较为锋利的时候,3DHNet将会和PDNet进行对抗训练。在对抗训练的过程中,PDNet的目的是尽可能的将预测的手部姿态与真实的手部姿态区分开,而3DHNet的目的则是使预测的结果尽可能地接近真实的手部姿态,来迷惑PDNet。通过这种对抗训练的方式,PDNet以一种自适应的方式为3DHNet的预测结果添加了物理约束,来使得3DHNet的预测结果更加的合理和准确。
对抗训练还可以采用如下方法:
首先,3D分层预测网络单独训练,当预测的结果较为准确,即得到的3D热图的锋利度达到阈值的时候,3D分层预测网络和姿态判别网络进行对抗训练:
接着,姿态判别网络训练最大化损失函数建立对抗样本:
Figure GDA0004078295000000123
式中,J(x,y)max表示最大损失函数,J表示交叉熵损失,
Figure GDA0004078295000000124
表示对最大损失函数求偏导,sign()表示符号函数,x表示初始样本,y表示对抗样本的分类,x*表示对抗样本;
接着,姿态判别网络对3D分层预测网络添加平滑扰动,平滑锋利的3D热图,将预测的手部姿态与真实的手部姿态区分开,平滑扰动函数如下:
Figure GDA0004078295000000131
式中,ri,j表示坐标(i,j)处RGB三个通道像素值的平均值:
Figure GDA0004078295000000132
ri+1,j表示ri,j坐标横向平移一个像素之后的RGB三个通道像素值的平均值,ri,j+1表示ri,j坐标纵向平移一个像素之后的RGB三个通道像素值的平均值;
接着,3D分层网络使预测的结果尽可能地接近真实的手部姿态,来迷惑姿态判别网络,3D分层网络求解多目标优化问题寻找扰动:
argmin(x*+kT)
式中,k表示多目标函数平衡系数,argmin()表示对括号内的目标函数取最小值时的变量值;
重复上述步骤,使得姿态判别网络为3D分层网络的预测结果添加物理约束。
在多个手部姿态数据集上的实验表明,我们的PEAN的整体预测精度达到了领先的水平,并且如图6所示,对比引入PDNet前后的预测结果,可以看出,在3DHNet与PDNet进行对抗学习之后,原本预测的不合理变得更加的合理和准确。

Claims (4)

1.一种使用对抗式3D分层网络进行手部姿态估计的方法,其特征是包括以下步骤:
步骤1、利用3D分层预测网络对各个关节点预测;所述步骤1进一步包括:
步骤1-1、将包含手部特征的原始深度图中的数据投影到3D空间;投影到3D空间的数据根据预设的体素值进行离散化处理;体素各个位置的值V(i,j,k)根据该位置是否被离散的点所覆盖被设为1或者0;
步骤1-2、3D分层预测网络通过第一部分对手部进行特征提取和连续的下采样与上采样操作,获取手部的全局信息;
步骤1-3、3D分层预测网络通过第二部分将手部姿态估计任务分解成多个子任务,一个子任务负责一个关节点位置的预测,形成和关节点数目一样的分支,每个分支对应一个子任务来负责提取关节点周围的局部信息;
步骤1-4、在3D分层预测网络分解子任务后,预测结果和实际结果会有偏差,损失项如下:
Figure FDA0004078294990000011
式中,Hj和Cj分别表示由真实的各个关节点位置以及预测的关节点位置生成的3D热图,J表示关节节点总数;
步骤1-5、将步骤1-4获得的损失项作为监督项,就可对3D分层预测网络进行监督训练;
步骤1-6、将步骤1-4预测的3D热图进行处理,就可以得到关节点的坐标;
步骤2、利用姿态判别网络对输入的手部姿态的合理性进行判断;所述步骤2进一步包括:
步骤2-1、利用姿态判别网络对步骤1中的预测结果添加物理约束,输入真实手部姿态和预测手部姿态,将真实手部姿态判为真,预测手部姿态判为假;
步骤3、3D分层预测网络和姿态判别网络对抗训练;所述步骤3进一步包括:
步骤3-1、3D分层预测网络单独训练,当预测的结果较为准确,得到的3D热图的锋利度达到阈值的时候,3D分层预测网络和姿态判别网络进行对抗训练;
步骤3-2、姿态判别网络通过最小化损失函数来实现对输入的姿态进行区分;
步骤3-3、3D分层网络使预测的结果尽可能地接近真实的手部姿态,来迷惑姿态判别网络,3D分层网络求解损失最小问题来使得预测的结果更加合理;
步骤3-4、重复步骤3-1至3-3,使得姿态判别网络为3D分层网络的预测结果添加物理约束。
2.根据权利要求1所述的一种使用对抗式3D分层网络进行手部姿态估计的方法,其特征在于,所述步骤1-2进一步包括:
特征提取:使用卷积神经网络的卷积操作,来实现对特征的提取;
下采样:采用最大池化操作来实现下采样,对于尺寸为M*N的图像进行下采样,求出M和N的公约数A,以该公约数A作为下采样倍率,将原始图像A*A的窗口内的所有像素的最大值作为代表值,以使得图像符合显示区域的大小;
上采样:利用待求像素四个邻像素A(x1,y1)、B(x1,y2)、C(x2,y1)、D(x2,y2)的灰度在X方向上作线性内插,得到:
Figure FDA0004078294990000021
Figure FDA0004078294990000022
式中,A像素点和C像素点共处X方向,B像素点和C像素点共处X方向;(x,y1)表示A像素点和C像素点之间的插值像素坐标,(x,y2)表示B像素点和D像素点之间的插值像素坐标;
接着在Y方向作线性内插,最终得到:
Figure FDA0004078294990000023
式中,(x,y)表示进一步计算出的(x,y1)和(x,y2)在Y方向上的插值像素点;
步骤1-6进一步包括:
在得到预测的各个关节点的3D热图之后,取该热图中最大值所在的位置,即可获得关节点相对于热图的坐标,然后根据原图到热图的换算比例,即可得到在原始深度图中,各个关节点的3D坐标,从而得到预测的手部姿态。
3.根据权利要求1所述的一种使用对抗式3D分层网络进行手部姿态估计的方法,其特征在于,所述步骤2-1进一步包括:
真实手部姿态的算法如下:
Figure FDA0004078294990000031
式中,Hj表示由真实的各个关节点位置生成的3D热图,J表示关节节点总数;
预测手部姿态的算法如下:
Figure FDA0004078294990000032
式中,Cj表示由预测的各个关节点位置生成的3D热图,J表示关节节点总数。
4.根据权利要求1所述的一种使用对抗式3D分层网络进行手部姿态估计的方法,其特征在于,所述步骤3-2进一步包括:
姿态判别网络会交替地输入真实的手部姿态以及预测的手部姿态,并输出分类结果来代表去输入的判定,其采用交叉熵损失作为损失函数:
Lcritic=-[y×log(x)+(1-y)×log(1-x)]
式中,x表示输入的手部姿态,可以为真实的手部姿态与预测的手部姿态,y表示对输入的分类结果,如果输入的是真实的手部姿态,y为1,反之为0;
步骤3-3进一步包括:
在对抗训练过程中,3D分层预测网络的损失函数为:
L=α1×Lme2×Lcritic
式中,第二项中的y为1,使得3D分层预测网络预测的手部姿态能够尽可能迷惑姿态判别网络;α1表示赋予Lme的权重,α2表示赋予Lcritic的权重。
CN202010312001.5A 2020-04-20 2020-04-20 一种使用对抗式3d分层网络进行手部姿态估计的方法 Active CN111582058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010312001.5A CN111582058B (zh) 2020-04-20 2020-04-20 一种使用对抗式3d分层网络进行手部姿态估计的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010312001.5A CN111582058B (zh) 2020-04-20 2020-04-20 一种使用对抗式3d分层网络进行手部姿态估计的方法

Publications (2)

Publication Number Publication Date
CN111582058A CN111582058A (zh) 2020-08-25
CN111582058B true CN111582058B (zh) 2023-04-18

Family

ID=72111555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010312001.5A Active CN111582058B (zh) 2020-04-20 2020-04-20 一种使用对抗式3d分层网络进行手部姿态估计的方法

Country Status (1)

Country Link
CN (1) CN111582058B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115909406A (zh) * 2022-11-30 2023-04-04 广东海洋大学 一种基于多类分类的手势识别方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491752A (zh) * 2018-01-16 2018-09-04 北京航空航天大学 一种基于手部分割卷积网络的手部姿态估计方法
CN108564611A (zh) * 2018-03-09 2018-09-21 天津大学 一种基于条件生成对抗网络的单目图像深度估计方法
CN110188598B (zh) * 2019-04-13 2022-07-05 大连理工大学 一种基于MobileNet-v2的实时手部姿态估计方法
CN110286749B (zh) * 2019-05-27 2022-11-15 华中师范大学 基于深度数据的手部姿势估计和追踪方法

Also Published As

Publication number Publication date
CN111582058A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN109858506B (zh) 一种面向卷积神经网络分类结果的可视化算法
CN110276316B (zh) 一种基于深度学习的人体关键点检测方法
CN111819568B (zh) 人脸旋转图像的生成方法及装置
CN110427799B (zh) 基于生成对抗网络的人手深度图像数据增强方法
CN110246181B (zh) 基于锚点的姿态估计模型训练方法、姿态估计方法和系统
CN111931602B (zh) 基于注意力机制的多流分段网络人体动作识别方法及系统
CN111913435B (zh) 一种基于堆积沙漏网络的单/多目标关键点定位方法
CN111476806B (zh) 图像处理方法、装置、计算机设备和存储介质
CN107229904A (zh) 一种基于深度学习的目标检测与识别方法
CN111062263B (zh) 手部姿态估计的方法、设备、计算机设备和存储介质
CN112183491A (zh) 表情识别模型及训练方法、识别方法、装置和计算设备
CN109902631B (zh) 一种基于图像金字塔的快速人脸检测方法
CN111199207A (zh) 基于深度残差神经网络的二维多人体姿态估计方法
CN115147488B (zh) 一种基于密集预测的工件位姿估计方法与抓取系统
CN109255382A (zh) 用于图片匹配定位的神经网络系统,方法及装置
CN115335872A (zh) 目标检测网络的训练方法、目标检测方法及装置
CN108171249A (zh) 一种基于rgbd数据的局部描述子学习方法
CN109886281A (zh) 一种基于四元数超限学习机彩色图像识别方法
CN111709268A (zh) 一种深度图像中的基于人手结构指导的人手姿态估计方法和装置
CN111582058B (zh) 一种使用对抗式3d分层网络进行手部姿态估计的方法
CN112446253B (zh) 一种骨架行为识别方法及装置
CN111340011A (zh) 一种自适应时序移位神经网络时序行为识别方法及系统
CN117522990B (zh) 基于多头注意力机制和迭代细化的类别级位姿估计方法
Ishkov et al. Processing and visualization of tomography signal with AI: Decision making on COVID-19
Li et al. A multi-branch hand pose estimation network with joint-wise feature extraction and fusion

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 211100 floor 3, building 3, Qilin artificial intelligence Industrial Park, 266 Chuangyan Road, Nanjing, Jiangsu

Applicant after: Zhongke Nanjing artificial intelligence Innovation Research Institute

Applicant after: INSTITUTE OF AUTOMATION, CHINESE ACADEMY OF SCIENCES

Address before: 211000 3rd floor, building 3, 266 Chuangyan Road, Jiangning District, Nanjing City, Jiangsu Province

Applicant before: NANJING ARTIFICIAL INTELLIGENCE CHIP INNOVATION INSTITUTE, INSTITUTE OF AUTOMATION, CHINESE ACADEMY OF SCIENCES

Applicant before: INSTITUTE OF AUTOMATION, CHINESE ACADEMY OF SCIENCES

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant