CN111062263B - 手部姿态估计的方法、设备、计算机设备和存储介质 - Google Patents
手部姿态估计的方法、设备、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111062263B CN111062263B CN201911179271.7A CN201911179271A CN111062263B CN 111062263 B CN111062263 B CN 111062263B CN 201911179271 A CN201911179271 A CN 201911179271A CN 111062263 B CN111062263 B CN 111062263B
- Authority
- CN
- China
- Prior art keywords
- hand
- image
- branch
- map
- feature map
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000011176 pooling Methods 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 210000002478 hand joint Anatomy 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 73
- 238000012549 training Methods 0.000 claims description 47
- 238000013527 convolutional neural network Methods 0.000 claims description 35
- 239000013598 vector Substances 0.000 claims description 29
- 238000010606 normalization Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 21
- 238000010586 diagram Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了手部姿态估计的方法、设备、计算机设备和存储介质,其中,通过对深度图像进行深度差值计算得到前景掩码图,对前景掩码图处理得到输入图像,主干分支对输入图像进行卷积层处理和池化处理得到主特征图,分类分支根据主特征图的特征判断主特征图为右手图像或左手图像,在分类分支判断主特征图为左手图像的情况下,将主特征图输入左手分支,在分类分支判断主特征图为右手图像的情况下,将主特征图输入右手分支,通过左手分支或右手分支计算归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标,解决了左右手混淆或关节点预测失效的问题,无论对于左手还是右手,都提高了对手部归一化三维坐标的识别准确度。
Description
技术领域
本申请涉及计算机视觉技术领域,特别是涉及手部姿态估计的方法、设备、计算机设备和存储介质。
背景技术
随着人机交互技术的发展,人机交互方式如键盘、鼠标、触屏等在许多新兴领域已经难以满足用户的要求,在增强现实(Augmented Reality,简称为AR)、虚拟现实(VirtualReality,简称为VR)以及远程操控等场景下,用户更倾向于使用无线的、非接触式的方式实现人机交互。另一方面,基于计算机视觉技术的手势交互技术可以让用户摆脱繁杂的交互设备,利用特定的手势动作向机器发出指令,方便快捷,所以计算机视觉技术的发展满足了用户使用无线的、非接触式的方式实现人机交互的要求。
手势交互技术的核心在于估计手部各个关节点在空间中的三维坐标,通过该关节点的三维坐标判断用户的手势,通过获取各个手指的位置完成空中点击、空中滑动等动态手势交互,相关技术中通常采用全连接层实现手部姿态估计,由于左手和右手的关节点在输入图像中的分布位置大相径庭,且全连接层难以区分左手和右手,易导致左右手混淆或关节点预测失效。
针对相关技术中,全连接层难以区分左手和右手,易导致左右手混淆或关节点预测失效的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中,全连接层难以区分左手和右手,易导致左右手混淆或关节点预测失效的问题,本发明提供了手部姿态估计的方法、设备、计算机设备和存储介质,以至少解决上述问题。
根据本发明的一个方面,提供了一种手部姿态估计的方法,所述方法包括:
获取深度图像,通过对所述深度图像进行深度差值计算,得到前景掩码图,根据所述前景掩码图的掌心点位置对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像;
所述主干分支接收所述输入图像并对所述输入图像进行卷积层处理和池化处理,得到主特征图,所述分类分支根据所述主特征图的特征,判断所述主特征图为右手图像或者左手图像;
在所述分类分支判断所述主特征图为左手图像的情况下,将所述主特征图输入所述左手分支,在所述分类分支判断所述主特征图为右手图像的情况下,将所述主特征图输入所述右手分支,通过所述左手分支或者所述右手分支计算归一化三维坐标;
根据所述归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标。
在其中一个实施例中,所述分类分支根据所述主特征图的特征,判断所述主特征图为右手图像或者左手图像包括:
将所述主特征图通过卷积神经网络映射为判断实数,通过概率函数将所述判断实数映射为概率值,其中,所述概率值大于或者等于零,且小于或者等于1;
在所述概率值大于预设阈值的情况下,判定所述主特征图为左手图像,在所述概率值小于或者等于所述预设阈值的情况下,判定所述主特征图为右手图像。
在其中一个实施例中,所述通过所述左手分支或者所述右手分支计算归一化三维坐标包括:
将所述主特征图等分为预设数量的子特征图,通过所述左手分支或者所述右手分支的子分支对所述子特征图进行处理,每个所述子分支得到一个子特征向量,其中,所述子分支与所述子特征图一一对应;
将所有所述子特征向量进行拼接,得到第一特征向量,通过全连接层对所述第一特征向量进行映射,得到第二特征向量;
通过对所述第二特征向量中的坐标数据进行提取和重组,得到所述归一化三维坐标。
在其中一个实施例中,所述主干分支接收所述输入图像并对所述输入图像进行卷积层处理和池化处理,得到主特征图包括:
通过第一卷积层和第一最大池化层,所述主干分支将所述输入图像输出为第一特征图;
通过第二卷积层对所述第一特征图进行处理,得到第二特征图,通过第一可分离卷积单元对所述第二特征图进行处理,得到第三特征图,通过第一特征图相加单元将所述第三特征图与所述第二特征图逐元素相加,通过第二最大池化层和第一整流线性单位函数得到第四特征图;
通过第三卷积层对所述第四特征图进行处理,得到第五特征图,通过第二可分离卷积单元对所述第五特征图进行处理,得到第六特征图,通过第二特征图相加单元将所述第六特征图与所述第五特征图逐元素相加,通过第三最大池化层和第二整流线性单位函数得到主特征图。
在其中一个实施例中,所述通过第一可分离卷积单元对所述第二特征图进行处理包括:
所述第一可分离卷积单元包括第一可分离卷积层、第三整流线性单位函数和第二可分离卷积层,所述第一可分离卷积层、所述第三整流线性单位函数和所述第二可分离卷积层依次对所述第二特征图进行处理,得到所述第三特征图。
在其中一个实施例中,在所述得到前景掩码图之后,所述方法包括:
在所述前景掩码图中获取闭合轮廓,计算所述闭合轮廓的面积,其中,所述闭合轮廓的面积由所述闭合轮廓所包围的像素数量确定;
在所述闭合轮廓的面积大于面积阈值的情况下,判定所述闭合轮廓为手部区域轮廓;
获取所述手部区域轮廓的最大内切圆,将所述最大内切圆的圆心作为所述掌心点的二维坐标,根据所述二维坐标在所述前景掩码图中拾取与所述二维坐标对应的深度值,根据所述二维坐标和所述深度值,得到掌心点三维坐标;
根据所述掌心点三维坐标,对所述前景掩码图进行手部区域分割和归一化处理。
在其中一个实施例中,在所述主干分支接收所述输入图像之前,所述多分支神经网络通过网络训练以调整权重参数和偏置参数,所述方法包括:
采集训练深度图样本,在采集所述训练深度图样本的同时,对所述训练深度图样本赋值为左手真值或者右手真值,并通过位置传感器获取关节点初始三维坐标的预期输出真值,对所述训练深度图样本的前景掩码图进行手部区域分割和归一化处理,得到训练输入图像;
根据所述训练输入图像,通过所述主干分支得到训练主特征图,所述左手分支或者所述右手分支对所述训练主特征图进行计算,得到所述关节点的表征三维坐标,根据所述预期输出真值和所述表征三维坐标,得到位置损失函数;
所述分类分支根据所述训练主特征图的特征进行计算,得到分类概率,根据所述分类概率和所述左手真值得到分类损失函数,根据所述分类概率、所述右手真值得到分类损失函数,根据所述位置损失函数和所述分类损失函数得到总体损失函数;
根据所述总体损失函数,通过反向传播算法,调整所述多分支卷积神经网络的参数,其中,所述参数包括所述主干分支、所述分类分支、所述左手分支和所述右手分支中的权重参数和偏置参数。
在其中一个实施例中,在通过反向传播算法,调整所述多分支卷积神经网络的参数之后,所述方法包括:
在所述主干分支、所述左手分支和所述右手分支的所述权重参数和所述偏置参数保持不变的情况下,根据所述分类损失函数,通过误差反向传播调整所述分类分支的权重参数和偏置参数。
在其中一个实施例中,所述获取深度图像,通过对所述深度图像进行深度差值计算,得到前景掩码图,对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像包括:
将所述前景掩码图与所述深度图像进行对应像素值相乘,得到前景深度图;
对所述前景深度图进行掌心点检测,得到掌心点三维坐标;
根据所述掌心点三维坐标,对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像。
根据本发明的另一个方面,提供了一种手部姿态估计的设备,其特征在于,所述设备包括获取模块、判断模块、计算模块和输出模块:
所述获取模块,用于获取深度图像,通过对所述深度图像进行深度差值计算,得到前景掩码图,根据所述前景掩码图的掌心点位置对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像;
所述判断模块,用于主干分支接收所述输入图像并对所述输入图像进行卷积层处理和池化处理,得到主特征图,分类分支根据所述主特征图的特征,判断所述主特征图为右手图像或者左手图像;
所述计算模块,用于在所述分类分支判断所述主特征图为左手图像的情况下,将所述主特征图输入左手分支,在所述分类分支判断所述主特征图为右手图像的情况下,将所述主特征图输入右手分支,通过所述左手分支或者所述右手分支计算归一化三维坐标;
所述输出模块,用于根据所述归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标。
在其中一个实施例中,所述判断模块包括映射单元和判定单元:
所述映射单元,用于将所述主特征图通过卷积神经网络映射为判断实数,通过概率函数将所述判断实数映射为概率值,其中,所述概率值大于或者等于零,且小于或者等于1;
所述判定单元,用于在所述概率值大于预设阈值的情况下,判定所述主特征图为左手图像,在所述概率值小于或者等于所述预设阈值的情况下,判定所述主特征图为右手图像。
根据本发明的另一个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一所述方法。
根据本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述方法。
通过本发明,获取深度图像,通过对深度图像进行深度差值计算,得到前景掩码图,对前景掩码图进行手部区域分割和归一化处理,得到输入图像,主干分支接收输入图像并对输入图像进行卷积层处理和池化处理,得到主特征图,分类分支根据主特征图的特征,判断主特征图为右手图像或者左手图像,在分类分支判断主特征图为左手图像的情况下,将主特征图输入左手分支,在分类分支判断主特征图为右手图像的情况下,将主特征图输入右手分支,通过左手分支或者右手分支计算归一化三维坐标,根据归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标,解决了左右手混淆或关节点预测失效的问题,无论对于左手还是右手,都提高了对手部关节点坐标的识别准确度。
附图说明
图1是根据本发明实施例的手部姿态估计的应用环境示意图;
图2是根据本发明实施例的手部姿态估计的方法的流程图一;
图3是根据本发明实施例的分类分支判断主特征图为左手图像或者右手图像的方法的流程图;
图4是根据本发明实施例的计算归一化三维坐标的流程图;
图5是根据本发明实施例的主干分支处理图像的方法的流程图;
图6是根据本发明实施例的掌心点检测的方法的流程图;
图7是根据本发明实施例的多分支卷积神经网络训练的方法的流程图;
图8是根据本发明实施例的手部姿态估计的方法的流程图二;
图9是根据本发明实施例的手部姿态估计的设备的结构框图一;
图10是根据本发明实施例的手部姿态估计的设备的结构框图二;
图11是根据本发明实施例的手部姿态估计的方法的流程图三;
图12是根据本发明实施例的手部姿态估计主干分支的结构框图;
图13是根据本发明实施例的关节点位置的示意图;
图14是根据本发明实施例的左手21关节点预测效果的示意图;
图15是根据本发明实施例的右手21关节点预测效果的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的方法基于人工神经网络(Artificial Neural Network,简称为ANN)实现,ANN应用于机器学习和认知科学领域,是一种模仿生物神经网络结构和功能的数学模型或计算模型,用于对函数进行估计或近似。其中,利用深层次神经网络解决实际问题的任务又称为深度学习,深度学习相对于机器学习而言,可以更有效地解决计算机视觉、自然语言处理、大数据分析等复杂任务。本申请中,使用的卷积神经网络技术(ConvolutionalNeural Network,简称为CNN)为深度学习技术中的一种,CNN由基本卷积层、激活层和池化层等基本元素组成。本申请用到的另一种深度学习技术为全连接神经网络技术(FullyConnected Neural Network,简称为FC),FC中每一层的每一个神经元都与下一层的每个神经元之间存在权重连接。
本申请通过多分支卷积神经网络实现深度图像中左手或者右手的手部姿态估计,多分支卷积神经网络特指一种特殊结构的卷积网络,与拥有单输入单输出的一般神经网络不同,多分支神经网路具有单输入多输出的特点,可在同一个网络中完成多个不同任务的实现,手部姿态估计为根据深度图像,识别图中包含人手的各个关节点的三维坐标。
本申请提供的手部姿态估计的方法,可以在终端实现,该终端包括存储器和处理器,该存储器存储有计算机程序,该处理器执行所述计算机程序时实现该手部姿态估计方法的步骤,该终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,另外,图1是根据本发明实施例的手部姿态估计的应用环境示意图,如图1所示,终端102通过网络与服务器104通过网络进行通信。服务器104通过终端102获取深度图像,对该深度图像进行深度差值处理、手部区域分割和归一化处理后得到输入图像,服务器104通过多分支卷积神经网络判断该输入图像为左手图像或者右手图像,通过左手分支或者右手分支计算输入图像的归一化三维坐标,进而得到手部关节点三维坐标。其中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,提供了一种手部姿态估计的方法,图2是根据本发明实施例的手部姿态估计的方法的流程图一,如图2所示,本实施例中的多分支卷积神经网络包括主干分支、分类分支、左手分支和右手分支,该方法包括如下步骤:
步骤S202,获取深度图像,通过对深度图像进行深度差值计算,得到前景掩码图,根据前景掩码图的掌心点位置对前景掩码图进行手部区域分割和归一化处理,得到输入图像,其中,深度图像指物体距离摄像头平面的真实距离构成的图像,本实施例的深度图像中包含手部区域,深度图像获取原理包括光流成像、飞行时间(Time of Flight,简称为TOF)、结构光、双目成像等。光流成像利用光流获取物体的运动信息,通过结合视频中的两帧图像获取物体的深度信息;TOF相机获取深度图像的原理为对目标场景发射连续的近红外脉冲,用传感器接收由物体反射回的光脉冲,通过比较发射光脉冲与经过物体反射的光脉冲的相位差,可以推算得到光脉冲之间的传输延迟进而得到物体相对于发射器的距离,最终得到一幅深度图像;基于结构光的深度图像获取原理为将结构光投射至场景,并由图像传感器捕获相应的带有结构光的图案;双目成像通过两个摄像头成像实现,因为两个摄像头之间存在一定的距离,所以同一物体通过两个镜头所成的像存在视差,可以通过视差估计物体的深度信息。
在得到深度图像之后,将位置靠前的一定数量的深度图像进行深度平均值计算,作为平均深度背景,该数量一般为30,在该数量为30的情况下,从第31帧深度图像开始,将每一帧深度图像中每个像素的深度值减去平均深度背景中对应像素的深度值,获得深度差值图,再将深度差值图中所有值大于0且小于高度阈值的像素置为1,获得前景掩码图,本实施例中,高度阈值可以为500毫米或者其它数值,例如,在高度阈值为500毫米,深度差值图中一个像素的深度值为300的情况下,将该像素置为1,根据前景掩码图的掌心点位置,构造一个手部区域包围框,包围框以掌心点为中心,基准宽度为预设宽度值,本实施例中,预设宽度值可以为270或者其它数值,并根据掌心点深度对基准宽度进行缩放,例如,深度越大包围框的宽度越小,深度越小包围框的宽度越大,在得到包围框的宽度之后,根据包围框在前景深度图中的位置,将手部区域分割出来,并对其进行缩放至预设网络输入尺寸96×96,再对其进行深度值归一化,得到卷积神经网络的输入图像。
步骤S204,主干分支接收输入图像并对输入图像进行卷积层处理和池化处理,得到主特征图,分类分支根据主特征图的特征,判断主特征图为右手图像或者左手图像,其中,卷积层可以对输入图像进行特征提取,池化将提取到的特征进行整合和分类,得到的特征图是一个拥有多个通道的二维图像,通常表示为H×W×C的三维矩阵,H为特征图的高度,W为宽度,C为通道数,可称该特征图拥有H×W×C个元素,也可以称该特征图的维度为H×W×C,分类分支基于多分支卷积神经网络实现图像为左手图像或者右手图像的判断。
步骤S206,在分类分支判断主特征图为左手图像的情况下,将主特征图输入左手分支,在分类分支判断主特征图为右手图像的情况下,将主特征图输入右手分支,通过左手分支或者右手分支计算归一化三维坐标,其中,左手分支和右手分支具有相同的神经网络结构,基于多分支卷积神经网络,左手分支和右手分支可以同时进行图像识别和处理,得到向量Jout=(u0,v0,d0,u1,v1,d1,…,u20,v20,d20),其中每3维表示一个关节点的归一化后的三维坐标Ji=(ui,vi,di),其中,i∈{0,1,2,...,20}为关节点序号。
步骤S208,根据归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标,在得到向量Jout之后,将向量Jout转换为手部关节点三维坐标Jpred,其中,Jpred表示为
坐标转换公式如公式1、公式2和公式3所示:
其中i为关节点序号,i∈{0,1,2,...,20};为第i个关节点在深度图像中的横坐标,/>为第i个关节点在深度图像中的纵坐标,/>为第i个关节点在深度图像中的深度值;(ui,vi,di)是本实施例预测出的第i个关节点的归一化后的三维坐标;upalm为掌心点在深度图像中的横坐标,vpalm为掌心点在深度图像中的纵坐标,dpalm为掌心点在深度图像中的深度值;fx和fy分别为深度摄像头在x方向上和y方向上的焦距,通过摄像头的标定过程获得;lbase为包围框的宽度。
通过上述步骤S202至步骤S208,多分支卷积神经网络的主干分支,从输入图像中提取图像视觉特征,将该特征输入到分类分支中,分类分支判断当前的输入图像为左手图像或者右手图像,在输入图像为左手图像的情况下,将主干分支提取的特征送入由全连接网络实现的左手分支中,由左手分支根据图像特征估计出21个左手关节点的位置;在输入图像为右手图像的情况下,将主干分支提取的特征送入由全连接网络实现的右手分支中,由右手分支估计出21个右手关节点的位置,本实施例采用独立的两个分支,根据分类分支的判定结果,分别预测左手和右手的关节点,解决了左右手混淆或关节点预测失效的问题,提高了对左手和右手的手部关节点三维坐标的识别准确度。
在一个实施例中,图3是根据本发明实施例的分类分支判断主特征图为左手图像或者右手图像的方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,将主特征图通过卷积神经网络映射为判断实数,通过概率函数将判断实数映射为概率值,其中,将主干分支输出的主特征图通过可分离卷积层、整流线性单位函数层(Rectified Linear Unit,简称为ReLU)、FC后映射为判断实数,本实施例中,概率函数为激活函数,通过激活函数(Sigmoid)将判断实数映射为概率值,概率值大于或者等于零,且小于或者等于1,该概率值表征当前图像中包含的手是左手的概率,激活函数如公式4所示:
其中,e表示自然对数的底数,fclass为判断实数,Pclass为概率值。
步骤S304,在概率值大于预设阈值的情况下,判定主特征图为左手图像,在概率值小于或者等于预设阈值的情况下,判定主特征图为右手图像,预设阈值可以为0.5或者其它数值,例如,在预设阈值为0.5,概率值为0.7的情况下,认为该概率值对应的图像为左手图像,在预设阈值为0.5,概率值为0.2的情况下,认为该概率值对应的图像为右手图像。
通过上述步骤S302和步骤S304,通过分类分支判断主特征图像为左手图像或者右手图像,在此基础上再进行后续的关节点坐标识别,实现了将左手和右手图像分开处理,提高了对左手和右手的归一化三维坐标的识别准确度。
在一个实施例中,图4是根据本发明实施例的计算归一化三维坐标的流程图,如图4所示,本实施例中左手分支和右手分支的处理过程相同,该方法包括如下步骤:
步骤S402,将主特征图等分为预设数量的子特征图,通过左手分支或者右手分支的子分支对子特征图进行处理,每个子分支得到一个子特征向量,其中,子分支与子特征图一一对应,预设数量可以为4或者5,本实施例中,主干分支输出的主特征图为维度12×12×32的特征图,将该主特征图等分成四块子特征图,每块子特征图的维度为6×6×32,将四块子特征图分别送入四个不同的子分支,每条子分支将子特征图通过两层FC映射为512维特征向量fi,i∈{1,2,3,4},其中,每层FC后接ReLU层。
步骤S404,将所有子特征向量进行拼接,得到第一特征向量,通过全连接层对第一特征向量进行映射,得到第二特征向量,本实施例中,将四条子分支得到的特征向量拼接在一起,形成一个2048维的第一特征向量fconcat,将fconcat输入全连接层,映射为一个63维的第二特征向量Jout=(u0,v0,d0,u1,v1,d1,…,u20,v20,d20)。
步骤S406,通过对第二特征向量中的坐标数据进行提取和重组,得到归一化三维坐标,本实施例中,将第二特征向量Jout中,每3维表示一个关节点的归一化后的三维坐标Ji=(ui,vi,di),i∈{0,1,2,...,20}为关节点序号。
通过上述步骤S402至步骤S406,通过左手分支对左手图像进行归一化三维坐标提取,通过右手分支对右手图像进行归一化三维坐标提取,根据分类分支的判定结果选择左手分支或者右手分支中的一个进行执行,在步骤S302至步骤S306的基础上,可以在一个完整的神经网络中完成左右手分类任务和归一化三维坐标位置预测任务,减少了使用独立分类网络和手部姿态估计网络造成的额外时间,可在低性能移动端处理器上实时运行,避免了左右手混淆导致关节点位置预测不准确的问题,大大提高了预测效率。
在一个实施例中,图5是根据本发明实施例的主干分支处理图像的方法的流程图,如图5所示,该方法还可以包括如下步骤:
步骤S502,通过第一卷积层和第一最大池化层,主干分支将输入图像输出为第一特征图,本实施例中,该第一特征图的宽为输入图像的一半,高也为输入图像的一半,通道数为16。
步骤S504,通过第二卷积层对第一特征图进行处理,得到第二特征图,通过第一可分离卷积单元对第二特征图进行处理,得到第三特征图,通过第一特征图相加单元将第三特征图与第二特征图逐元素相加,通过第二最大池化层和第一整流线性单位函数得到第四特征图,该第一特征图相加单元的作用为将两个维度相同的特征图逐元素相加,本实施例中,第四特征图相对于第一特征图而言,尺寸缩小一半,而通道数增加一半。
步骤S506,通过第三卷积层对第四特征图进行处理,得到第五特征图,通过第二可分离卷积单元对第五特征图进行处理,得到第六特征图,通过第二特征图相加单元将第六特征图与第五特征图逐元素相加,通过第三最大池化层和第二整流线性单位函数得到主特征图,本实施例中,主特征图相对于第四特征图而言,尺寸缩小一半,而通道数不变。
通过上述步骤S502至步骤S506,通过主干分支对输入图像进行特征提取、卷积计算和池化处理,得到了主特征图,减少了分类分支需要处理的数据量,提高了处理效率。
在一个实施例中,通过第一可分离卷积单元对第二特征图进行处理包括:第一可分离卷积单元包括第一可分离卷积层、第三整流线性单位函数和第二可分离卷积层,第一可分离卷积层、第三整流线性单位函数和第二可分离卷积层依次对第二特征图进行处理,得到第三特征图,其中,整流线性单位函数也是一种人工神经网络中常用的激活函数,通过多个可分离卷积层和整流线性单位函数对特征图进行特征提取,整流线性单位函数可以避免梯度爆炸和梯度消失的问题,简化计算过程,通过多个可分离卷积层和整流线性单位函数可以降低多分支卷积神经网络的计算成本。
在一个实施例中,图6是根据本发明实施例的掌心点检测的方法的流程图,如图6所示,该方法包括如下步骤:
步骤S602,在前景掩码图中获取闭合轮廓,计算闭合轮廓的面积,其中,闭合轮廓的面积由闭合轮廓所包围的像素数量确定,由于在应用过程中,深度图像中除了手部图像之外,还会存在其它物体,为了排除其它物品对手部姿态估计的干扰,需要对深度图像中的物体进行筛选,手部轮廓一般为闭合轮廓,因此先获取深度图像中的闭合轮廓,再通过该闭合轮廓的面积进行进一步筛选,该闭合轮廓的面积可以通过跨平台计算机视觉库(OpenSource Computer Vision Library,简称为OpenCV)得到。
步骤S604,在闭合轮廓的面积大于面积阈值的情况下,判定闭合轮廓为手部区域轮廓,在获得深度图像中所有的闭合轮廓的面积之后,需要根据面积阈值进行筛选,来剔除非手部区域轮廓的闭合轮廓,例如,在面积阈值为3000像素的情况下,剔除所有面积小于3000像素的闭合轮廓。
步骤S606,获取手部区域轮廓的最大内切圆,将最大内切圆的圆心作为掌心点的二维坐标,根据二维坐标在前景掩码图中拾取与二维坐标对应的深度值,根据二维坐标和深度值,得到掌心点三维坐标,手部区域轮廓的最大内切圆为手掌部分的内切圆,因此圆心可视为掌心点。
步骤S608,根据掌心点三维坐标,对前景掩码图进行手部区域分割和归一化处理。
通过上述步骤S602至步骤S608,对深度图像中的物体进行筛选,对符合要求的手部区域轮廓进行手势识别,在降低多分支卷积神经网络计算成本的同时,提高了手部姿态估计的准确率。
在一个实施例中,图7是根据本发明实施例的多分支卷积神经网络训练的方法的流程图,如图7所示,该方法包括如下步骤:
步骤S702,采集训练深度图样本,在采集训练深度图样本的同时,对训练深度图样本赋值为左手真值或者右手真值,并通过位置传感器获取关节点初始三维坐标的预期输出真值,对训练深度图样本的前景掩码图进行手部区域分割和归一化处理,得到训练输入图像,多分支卷积神经网络需要通过对训练数据的学习来优化网络中的权重参数和偏置参数,来提高归一化三维坐标的识别度。训练集包括左手样本和右手样本,本实施例中,训练集由500000个左手样本和500000个右手样本组成。每个样本表示为三元组,该三元组包括:输入图像,样本真值和预期输出真值,其中,输入图像的获取方式为,将采集到的包含一只手的大小为640×480的深度图,转换为一个仅包含手部区域的大小为96×96的归一化后的输入图像;样本真值在采集时赋予,在采集到左手样本的情况下,训练深度图样本的样本真值为左手真值,在采集到右手样本的情况下,训练深度图样本的样本真值为右手真值,左手真值可以为1或其他数值,右手真值可以为0或其他数值;预期输出真值表示为:
预期输出真值的获取方法是,在采集过程中,手部各关节点的三维位置传感器获取其三维坐标Qi(Ui,Vi,Di),其中i为关节点序号,Ui为关节点在深度图上的横坐标,Vi为关节点在深度图上的纵坐标,Di为关节点的深度值;再将Qi转换为组成预期输出真值的三维坐标/>转换公式如公式5、公式6和公式7所示:
其中,upalm为掌心点在深度图中的横坐标,vpalm为掌心点在深度图中的纵坐标,dpalm为掌心点的深度值;fx和fy分别为深度摄像头在x方向上和y方向上的焦距,此二者通过摄像头的标定过程获得;lbase为包围框的基准宽度。
步骤S704,根据训练输入图像,通过主干分支得到训练主特征图,左手分支或者右手分支对训练主特征图进行计算,得到关节点的表征三维坐标,根据预期输出真值和表征三维坐标,得到位置损失函数,在多分支卷积神经网络的整体训练过程中,将输入图像送入多分支卷积神经网络,并从左手分支或者右手分支得到输出的63维的表征三维坐标的向量Jout,将Jout和Jgt根据如下公式8计算关节点位置损失函数:
其中,Ljoints为位置损失函数。为提高训练效率,常使用一个包含多个训练深度图样本的样本集合同时送入多分支卷积神经网络进行训练,该样本集合称为一个训练批次,Gleft表示一个训练批次中所有左手样本的序号集合,Gright表示一个训练批次中所有右手样本的序号集合,|·|表示集合的大小,通常情况下,|Gleft|+|Gright|=128;表示训练批次中第k个样本的输出关节点三维位置向量,/>表示训练批次中第k个样本的预期输出真值向量,/>表示二阶范式函数。
步骤S706,分类分支根据训练主特征图的特征进行计算,得到分类概率,根据分类概率和左手真值得到分类损失函数,根据分类概率、右手真值得到分类损失函数,根据位置损失函数和分类损失函数得到总体损失函数,分类函数损失函数由如下公式9计算:
其中,Pclass为左右手分类概率,N为训练批次包含的样本数量,为训练批次中第k个样本的输出分类概率,/>为训练批次中第k个样本的真实左右手分类标签,log为自然对数函数。
总体损失函数由如下公式10计算:
Loverall=Ljoints+αLclass 公式10
其中,Loverall为总体损失函数,α为分类损失函数的权重,本实施例,α=0.1。
步骤S708,根据总体损失函数,通过反向传播算法,调整多分支卷积神经网络的参数,其中,参数包括主干分支、分类分支、左手分支和右手分支中的权重参数和偏置参数,根据总体损失函数为对训练集中的每个训练批次计算总体损失函数,反向传播算法是一种学习算法,建立于梯度下降法的基础上,反向传播算法的输入输出关系实质上是一种映射关系,它的信息处理能力来源于简单非线性函数的多次复合,因此具有很强的函数复现能力,通过反向传播算法优化调整网络的权重参数和偏置参数,可以使损失函数的值趋于最小。
通过上述步骤S702至步骤S708,在多分支卷积神经网络模型训练的过程中,同时采用左手样本和右手样本对模型进行训练,使模型可以更好地应对左手关节点估计和右手关节点估计这两种不同情况,可以避免神经网络在预测时出现左右手混淆问题以及对某一类手预测效果不佳的问题。
在一个实施例中,在通过反向传播算法,调整多分支卷积神经网络的参数之后,还包括:在主干分支、左手分支和右手分支的权重参数和偏置参数保持不变的情况下,根据分类损失函数,通过误差反向传播调整分类分支的权重参数和偏置参数,通过计算分类损失函数并进行误差反向传播,优化调整分类分支的权重参数和偏置参数,使分类损失函数更加接近最小值,使左右手分类的效果进一步提升。
在一个实施例中,图8是根据本发明实施例的手部姿态估计的方法的流程图二,如图8所示,该方法还包括如下步骤:
S802,将前景掩码图与深度图像进行对应像素值相乘,得到前景深度图;
S804,对前景深度图进行掌心点检测,得到掌心点三维坐标;
S806,根据掌心点三维坐标,对前景掩码图进行手部区域分割和归一化处理,得到输入图像。
通过上述步骤S802到步骤S806,在得到前景掩码图的基础上,对前景掩码图和深度图像进行像素相乘处理,得到前景深度图,前景深度图中的图像特征具有更好的区分度,可以提高分类分支中进行左右手判断的准确度。
应该理解的是,虽然图2至图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
对应于上述手部姿态估计的方法,在本实施例中,还提供了一种手部姿态估计的设备,该设备用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一个实施例中,提供了一种手部姿态估计的设备,图9是根据本发明实施例的手部姿态估计的设备的结构框图一,如图9所示,包括:获取模块92、判断模块94、计算模块96和输出模块98,其中:
获取模块92,用于获取深度图像,通过对深度图像进行深度差值计算,得到前景掩码图,根据前景掩码图的掌心点位置对前景掩码图进行手部区域分割和归一化处理,得到输入图像;
判断模块94,用于主干分支接收输入图像并对输入图像进行卷积层处理和池化处理,得到主特征图,分类分支根据主特征图的特征,判断主特征图为右手图像或者左手图像;
计算模块96,用于在分类分支判断主特征图为左手图像的情况下,将主特征图输入左手分支,在分类分支判断主特征图为右手图像的情况下,将主特征图输入右手分支,通过左手分支或者右手分支计算归一化三维坐标;
输出模块98,用于根据归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标。
通过上述模块92至模块98,判断模块94的主干分支从获取模块92的输入图像中提取图像视觉特征,将该特征输入到计算模块96的分类分支中,分类分支判断当前的输入图像为左手图像或者右手图像,在输入图像为左手图像的情况下,主干分支提取的特征将送入由全连接网络实现的左手分支中,由左手分支根据图像特征估计出21个左手关节点的位置;在输入图像为右手图像的情况下,则主干分支提取的特征将送入由全连接网络实现的右手分支中,由右手分支估计出21个右手关节点的位置,本实施例采用独立的两个分支,根据分类分支的判定结果,分别预测左手和右手的关节点,解决了左右手混淆或关节点预测失效的问题,提高了对左手和右手的手部关节点三维坐标的识别准确度。
在一个实施例中,图10是根据本发明实施例的手部姿态估计的设备的结构框图二,如图10所示,本实施例的判断模块94包括:映射单元1002和判定单元1004。
映射单元1002,用于将主特征图通过卷积神经网络映射为判断实数,通过概率函数将判断实数映射为概率值,其中,概率值大于或者等于零,且小于或者等于1;
判定单元1004,用于在概率值大于预设阈值的情况下,判定主特征图为左手图像,在概率值小于或者等于预设阈值的情况下,判定主特征图为右手图像。
通过上述单元1002和单元1004,通过映射单元1002和判定单元1004判断主特征图像为左手图像或者右手图像,在此基础上再进行后续的关节点坐标识别,实现了将左手和右手图像分开处理,提高了对左手和右手的归一化三维坐标的识别准确度。
下面结合实际应用场景对本发明的实施例进行详细说明,在进行手部姿态估计时,图11是根据本发明实施例的手部姿态估计的方法的流程图三,如图11所示,该方法包括如下步骤:
步骤S1102,获取深度图像,对该深度图像进行前景区域分割得到前景深度图,度前景深度图进行掌心点检测,根据前景深度图的掌心点位置对前景深度图进行手部区域分割和归一化处理,得到输入图像;
步骤S1104,主干分支提取输入图像中的图像特征,分类分支根据该图像特征判断输入图像属于左右图像或者右手图像;
步骤S1106,在输入图像为左手图像的情况下,将输入图像输入左手分支计算归一化三维坐标,在输入图像为右手图像的情况下,将输入图像输入右手分支计算归一化三维坐标;
步骤S1108,根据归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标。
通过上述步骤S1102至步骤S1108,采用独立的两个分支,根据分类分支的判定结果,分别预测左手和右手的关节点,解决了左右手混淆或关节点预测失效的问题,提高了对左手和右手的归一化三维坐标的识别准确度。
在一个实施例中,图12是根据本发明实施例的手部姿态估计主干分支的结构框图,如图12所示,包括多个卷积层、多个可分离卷积层、多个最大池化层、多个特征图相加单元和多个整流线性单位函数,通过上述网络结构1201至1219,可以准确提取输入图像中的图像特征,并降低多分支卷积神经网络的计算成本,同时提高归一化三维坐标的估算准确率和估算效率。
在一个实施例中,本实施例对左手或者右手进行21个关节点的掌心点三维坐标计算,图13是根据本发明实施例的关节点位置的示意图,如图13所示,关节点标号从1301到1321,图14是根据本发明实施例的左手21关节点预测效果的示意图,如图14所示,图15是根据本发明实施例的右手21关节点预测效果的示意图,如图15所示,由图14和图15可以看出,关节点的预测结果和测试手部姿态完全一致。
在一个实施例中,提供了一种计算机设备。该计算机设备可以是服务器。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种手部姿态估计的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种手部姿态估计的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例提供的手部姿态估计的方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的手部姿态估计的方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种手部姿态估计的方法,其特征在于,多分支卷积神经网络包括主干分支、分类分支、左手分支和右手分支,所述方法包括:
获取深度图像,通过对所述深度图像进行深度差值计算,得到前景掩码图,根据所述前景掩码图的掌心点位置对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像;
所述主干分支接收所述输入图像并对所述输入图像进行卷积层处理和池化处理,得到主特征图,所述分类分支根据所述主特征图的特征,判断所述主特征图为右手图像或者左手图像;
在所述分类分支判断所述主特征图为左手图像的情况下,将所述主特征图输入所述左手分支,在所述分类分支判断所述主特征图为右手图像的情况下,将所述主特征图输入所述右手分支,通过所述左手分支或者所述右手分支计算归一化三维坐标;
根据所述归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标;
所述主干分支接收所述输入图像并对所述输入图像进行卷积层处理和池化处理,得到主特征图包括:
通过第一卷积层和第一最大池化层,所述主干分支将所述输入图像输出为第一特征图;
通过第二卷积层对所述第一特征图进行处理,得到第二特征图,通过第一可分离卷积单元对所述第二特征图进行处理,得到第三特征图,通过第一特征图相加单元将所述第三特征图与所述第二特征图逐元素相加,通过第二最大池化层和第一整流线性单位函数得到第四特征图;
通过第三卷积层对所述第四特征图进行处理,得到第五特征图,通过第二可分离卷积单元对所述第五特征图进行处理,得到第六特征图,通过第二特征图相加单元将所述第六特征图与所述第五特征图逐元素相加,通过第三最大池化层和第二整流线性单位函数得到主特征图。
2.根据权利要求1所述的手部姿态估计的方法,其特征在于,所述分类分支根据所述主特征图的特征,判断所述主特征图为右手图像或者左手图像包括:
将所述主特征图通过卷积神经网络映射为判断实数,通过概率函数将所述判断实数映射为概率值,其中,所述概率值大于或者等于零,且小于或者等于1;
在所述概率值大于预设阈值的情况下,判定所述主特征图为左手图像,在所述概率值小于或者等于所述预设阈值的情况下,判定所述主特征图为右手图像。
3.根据权利要求1所述的手部姿态估计的方法,其特征在于,所述通过所述左手分支或者所述右手分支计算归一化三维坐标包括:
将所述主特征图等分为预设数量的子特征图,通过所述左手分支或者所述右手分支的子分支对所述子特征图进行处理,每个所述子分支得到一个子特征向量,其中,所述子分支与所述子特征图一一对应;
将所有所述子特征向量进行拼接,得到第一特征向量,通过全连接层对所述第一特征向量进行映射,得到第二特征向量;
通过对所述第二特征向量中的坐标数据进行提取和重组,得到所述归一化三维坐标。
4.根据权利要求1所述的手部姿态估计的方法,其特征在于,所述通过第一可分离卷积单元对所述第二特征图进行处理包括:
所述第一可分离卷积单元包括第一可分离卷积层、第三整流线性单位函数和第二可分离卷积层,所述第一可分离卷积层、所述第三整流线性单位函数和所述第二可分离卷积层依次对所述第二特征图进行处理,得到所述第三特征图。
5.根据权利要求1所述的手部姿态估计的方法,其特征在于,在所述得到前景掩码图之后,所述方法包括:
在所述前景掩码图中获取闭合轮廓,计算所述闭合轮廓的面积,其中,所述闭合轮廓的面积由所述闭合轮廓所包围的像素数量确定;
在所述闭合轮廓的面积大于面积阈值的情况下,判定所述闭合轮廓为手部区域轮廓;
获取所述手部区域轮廓的最大内切圆,将所述最大内切圆的圆心作为所述掌心点的二维坐标,根据所述二维坐标在所述前景掩码图中拾取与所述二维坐标对应的深度值,根据所述二维坐标和所述深度值,得到掌心点三维坐标;
根据所述掌心点三维坐标,对所述前景掩码图进行手部区域分割和归一化处理。
6.根据权利要求1所述的手部姿态估计的方法,其特征在于,在所述主干分支接收所述输入图像之前,所述多分支卷积神经网络通过网络训练以调整权重参数和偏置参数,所述方法包括:
采集训练深度图样本,在采集所述训练深度图样本的同时,对所述训练深度图样本赋值为左手真值或者右手真值,并通过位置传感器获取关节点初始三维坐标的预期输出真值,对所述训练深度图样本的前景掩码图进行手部区域分割和归一化处理,得到训练输入图像;
根据所述训练输入图像,通过所述主干分支得到训练主特征图,所述左手分支或者所述右手分支对所述训练主特征图进行计算,得到所述关节点的表征三维坐标,根据所述预期输出真值和所述表征三维坐标,得到位置损失函数;
所述分类分支根据所述训练主特征图的特征进行计算,得到分类概率,根据所述分类概率和所述左手真值得到分类损失函数,根据所述分类概率、所述右手真值得到分类损失函数,根据所述位置损失函数和所述分类损失函数得到总体损失函数;
根据所述总体损失函数,通过反向传播算法,调整所述多分支卷积神经网络的参数,其中,所述参数包括所述主干分支、所述分类分支、所述左手分支和所述右手分支中的权重参数和偏置参数。
7.根据权利要求6所述的手部姿态估计的方法,其特征在于,在通过反向传播算法,调整所述多分支卷积神经网络的参数之后,所述方法包括:
在所述主干分支、所述左手分支和所述右手分支的所述权重参数和所述偏置参数保持不变的情况下,根据所述分类损失函数,通过误差反向传播调整所述分类分支的权重参数和偏置参数。
8.根据权利要求1至7任一项所述的手部姿态估计的方法,其特征在于,所述获取深度图像,通过对所述深度图像进行深度差值计算,得到前景掩码图,对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像包括:
将所述前景掩码图与所述深度图像进行对应像素值相乘,得到前景深度图;
对所述前景深度图进行掌心点检测,得到掌心点三维坐标;
根据所述掌心点三维坐标,对所述前景掩码图进行手部区域分割和归一化处理,得到所述输入图像。
9.一种手部姿态估计的设备,其特征在于,所述设备包括获取模块、判断模块、计算模块和输出模块:
所述获取模块,用于获取深度图像,通过对所述深度图像进行深度差值计算,得到前景掩码图,根据所述前景掩码图的掌心点位置对所述前景掩码图进行手部区域分割和归一化处理,得到输入图像;
所述判断模块,用于主干分支接收所述输入图像并对所述输入图像进行卷积层处理和池化处理,得到主特征图,分类分支根据所述主特征图的特征,判断所述主特征图为右手图像或者左手图像;
所述计算模块,用于在所述分类分支判断所述主特征图为左手图像的情况下,将所述主特征图输入左手分支,在所述分类分支判断所述主特征图为右手图像的情况下,将所述主特征图输入右手分支,通过所述左手分支或者所述右手分支计算归一化三维坐标;
所述输出模块,用于根据所述归一化三维坐标,通过坐标转换公式,输出手部关节点三维坐标;
所述判断模块还用于,
通过第一卷积层和第一最大池化层,所述主干分支将所述输入图像输出为第一特征图;
通过第二卷积层对所述第一特征图进行处理,得到第二特征图,通过第一可分离卷积单元对所述第二特征图进行处理,得到第三特征图,通过第一特征图相加单元将所述第三特征图与所述第二特征图逐元素相加,通过第二最大池化层和第一整流线性单位函数得到第四特征图;
通过第三卷积层对所述第四特征图进行处理,得到第五特征图,通过第二可分离卷积单元对所述第五特征图进行处理,得到第六特征图,通过第二特征图相加单元将所述第六特征图与所述第五特征图逐元素相加,通过第三最大池化层和第二整流线性单位函数得到主特征图。
10.根据权利要求9所述的手部姿态估计的设备,其特征在于,所述判断模块包括映射单元和判定单元:
所述映射单元,用于将所述主特征图通过卷积神经网络映射为判断实数,通过概率函数将所述判断实数映射为概率值,其中,所述概率值大于或者等于零,且小于或者等于1;
所述判定单元,用于在所述概率值大于预设阈值的情况下,判定所述主特征图为左手图像,在所述概率值小于或者等于所述预设阈值的情况下,判定所述主特征图为右手图像。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179271.7A CN111062263B (zh) | 2019-11-27 | 2019-11-27 | 手部姿态估计的方法、设备、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179271.7A CN111062263B (zh) | 2019-11-27 | 2019-11-27 | 手部姿态估计的方法、设备、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062263A CN111062263A (zh) | 2020-04-24 |
CN111062263B true CN111062263B (zh) | 2023-11-03 |
Family
ID=70298696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911179271.7A Active CN111062263B (zh) | 2019-11-27 | 2019-11-27 | 手部姿态估计的方法、设备、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062263B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11335007B2 (en) * | 2020-05-29 | 2022-05-17 | Zebra Technologies Corporation | Method to generate neural network training image annotations |
CN112036284B (zh) * | 2020-08-25 | 2024-04-19 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备及存储介质 |
CN112822479A (zh) * | 2020-12-30 | 2021-05-18 | 北京华录新媒信息技术有限公司 | 一种用于2d-3d视频转换的深度图生成方法及装置 |
CN112766142B (zh) * | 2021-01-15 | 2022-12-20 | 天津大学 | 足底压力图像处理方法、识别方法及步态分析系统 |
CN112749512B (zh) * | 2021-01-18 | 2024-01-26 | 杭州易现先进科技有限公司 | 手势估计优化的方法、系统和电子装置 |
CN113222830A (zh) * | 2021-03-05 | 2021-08-06 | 北京字跳网络技术有限公司 | 图像处理方法和装置 |
CN114185429B (zh) * | 2021-11-11 | 2024-03-26 | 杭州易现先进科技有限公司 | 手势关键点定位或姿态估计的方法、电子装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846403A (zh) * | 2017-01-04 | 2017-06-13 | 北京未动科技有限公司 | 一种三维空间中手部定位的方法、装置及智能设备 |
WO2018108129A1 (zh) * | 2016-12-16 | 2018-06-21 | 北京市商汤科技开发有限公司 | 用于识别物体类别的方法及装置、电子设备 |
CN108734194A (zh) * | 2018-04-09 | 2018-11-02 | 浙江工业大学 | 一种面向虚拟现实的基于单深度图的人体关节点识别方法 |
CN110147767A (zh) * | 2019-05-22 | 2019-08-20 | 深圳市凌云视迅科技有限责任公司 | 基于二维图像的三维手势姿态预测方法 |
CN110197156A (zh) * | 2019-05-30 | 2019-09-03 | 清华大学 | 基于深度学习的单图像的人手动作与形状重建方法及装置 |
-
2019
- 2019-11-27 CN CN201911179271.7A patent/CN111062263B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018108129A1 (zh) * | 2016-12-16 | 2018-06-21 | 北京市商汤科技开发有限公司 | 用于识别物体类别的方法及装置、电子设备 |
CN106846403A (zh) * | 2017-01-04 | 2017-06-13 | 北京未动科技有限公司 | 一种三维空间中手部定位的方法、装置及智能设备 |
CN108734194A (zh) * | 2018-04-09 | 2018-11-02 | 浙江工业大学 | 一种面向虚拟现实的基于单深度图的人体关节点识别方法 |
CN110147767A (zh) * | 2019-05-22 | 2019-08-20 | 深圳市凌云视迅科技有限责任公司 | 基于二维图像的三维手势姿态预测方法 |
CN110197156A (zh) * | 2019-05-30 | 2019-09-03 | 清华大学 | 基于深度学习的单图像的人手动作与形状重建方法及装置 |
Non-Patent Citations (1)
Title |
---|
Yidan Zhou, et al..Hbe: Hand branch ensemble network for real-time 3d hand pose estimation.《Proceedings of the European Conference on Computer Vision (ECCV) 》.2018,1-16. * |
Also Published As
Publication number | Publication date |
---|---|
CN111062263A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062263B (zh) | 手部姿态估计的方法、设备、计算机设备和存储介质 | |
CN107330439B (zh) | 一种图像中物体姿态的确定方法、客户端及服务器 | |
WO2020228446A1 (zh) | 模型训练方法、装置、终端及存储介质 | |
CN109934065B (zh) | 一种用于手势识别的方法和装置 | |
CN113286194A (zh) | 视频处理方法、装置、电子设备及可读存储介质 | |
CN110555481A (zh) | 一种人像风格识别方法、装置和计算机可读存储介质 | |
CN112200056B (zh) | 人脸活体检测方法、装置、电子设备及存储介质 | |
US20220262093A1 (en) | Object detection method and system, and non-transitory computer-readable medium | |
CN112528974B (zh) | 测距方法、装置、电子设备及可读存储介质 | |
WO2021249114A1 (zh) | 目标跟踪方法和目标跟踪装置 | |
CN111709471B (zh) | 对象检测模型的训练方法以及对象检测方法、装置 | |
WO2021098587A1 (zh) | 手势分析方法、装置、设备及计算机可读存储介质 | |
CN115035158B (zh) | 目标跟踪的方法及装置、电子设备和存储介质 | |
WO2023168957A1 (zh) | 姿态确定方法、装置、电子设备、存储介质及程序 | |
CN112749726A (zh) | 目标检测模型的训练方法、装置、计算机设备和存储介质 | |
WO2023093086A1 (zh) | 目标跟踪及相关模型的训练方法、装置、设备、介质、计算机程序产品 | |
CN111353429A (zh) | 基于眼球转向的感兴趣度方法与系统 | |
CN113557546B (zh) | 图像中关联对象的检测方法、装置、设备和存储介质 | |
CN112329662B (zh) | 基于无监督学习的多视角显著性估计方法 | |
CN112199994B (zh) | 一种实时检测rgb视频中的3d手与未知物体交互的方法和装置 | |
CN116311518A (zh) | 一种基于人体交互意图信息的层级人物交互检测方法 | |
CN115620054A (zh) | 一种缺陷分类方法、装置、电子设备及存储介质 | |
CN115375742A (zh) | 生成深度图像的方法及系统 | |
CN116152334A (zh) | 图像处理方法及相关设备 | |
Shiratori et al. | Detection of pointing position by omnidirectional camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Chuan Inventor after: Zhou Zhimin Inventor after: Jungle Inventor before: Liu Chuan |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |