CN113705379A - 一种手势估计方法、装置、存储介质及设备 - Google Patents
一种手势估计方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN113705379A CN113705379A CN202110919896.3A CN202110919896A CN113705379A CN 113705379 A CN113705379 A CN 113705379A CN 202110919896 A CN202110919896 A CN 202110919896A CN 113705379 A CN113705379 A CN 113705379A
- Authority
- CN
- China
- Prior art keywords
- gesture
- initial
- dimensional key
- hand
- image
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000005457 optimization Methods 0.000 claims description 39
- 230000009466 transformation Effects 0.000 claims description 27
- 238000013519 translation Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 210000000988 bone and bone Anatomy 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 53
- 210000000707 wrist Anatomy 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 210000003811 finger Anatomy 0.000 description 8
- 210000004247 hand Anatomy 0.000 description 8
- 210000003813 thumb Anatomy 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 210000001145 finger joint Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001297 coherence probe microscopy Methods 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000002478 hand joint Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
本说明书提供一种手势估计方法、装置、存储介质及设备,该方法中,从手势图像中获取手部的二维关键点,将获取到的初始手部模型的初始三维关键点投影到该手势图像中以得到投影点,进而对描述该初始三维关键点的手势参数进行调整,使得到的目标三维关键点对应的投影点与该二维关键点之间的误差满足条件,从而得到手势图像中所对应的手势参数。这一方法对数据集依赖性较低,具有更强的场景适应能力,能够克服相关技术中直接基于图像结合深度学习回归出手部的关节转角所导致的鲁棒性不强的问题。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种手势估计方法、装置、存储介质及设备。
背景技术
手势驱动是目前十分热门的交互方式,利用描述手势的参数来驱动某个对象做出相应的动作,能够极大程度方便用户的操作。手势驱动中最为关键的一个环节就是识别手势,而手势的一种描述方式就是手部的关节转角。相关技术中一般是直接基于图像结合深度学习回归出手部的关节转角。然而,这一方式对数据集的依赖性非常强,对场景的适应性较差。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种手势估计方法、装置、存储介质及设备。
根据本说明书实施例的第一方面,提供一种手势估计方法,所述方法包括:
从手势图像中获取手部的二维关键点;
获取初始手部模型,所述初始手部模型包括用于描述初始三维关键点的手势参数;
将所述初始三维关键点投影到所述手势图像中,得到投影点;
对所述手势参数进行调整,得到目标三维关键点,以使所述目标三维关键点对应的投影点与所述二维关键点之间的误差满足条件。
在某些例子中,上述初始手部模型是基于手部各关键点间的初始平移量创建得到的;所述初始平移量是通过统计多个预设手势的骨骼长度而得到的。
在某些例子中,将所述初始三维关键点投影到所述手势图像中,得到投影点,包括:
基于所述初始三维关键点以及初始变换矩阵,得到相机坐标系下的三维关键点;所述初始变换矩阵包括所述初始三维关键点所在坐标系到所述手势图像所对应的相机坐标系的旋转变换的初始值以及平移变换的初始值;
将所述相机坐标系下的三维关键点和所述手势图像对应的相机内参的乘积,确定为投影点。
在某些例子中,对所述手势参数进行调整,包括:
基于所述二维关键点和所述投影点构建重投影误差;
对所述重投影误差进行迭代优化,优化的参数包括所述手势参数。
在某些例子中,上述方法还包括:
从手势图像中获取手部的二维关键点对应的置信度;
所述重投影误差是利用所述置信度为对应的二维关键点的重投影损失进行加权而得到的,所述重投影损失表征所述二维关键点与对应的投影点之间的误差。
在某些例子中,上述手势图像是目标视频流中的一帧图像,所述手势图像的下一帧图像在对重投影误差进行迭代优化时,初始的手势参数为所述手势图像在优化成功时所对应的手势参数。
在某些例子中,上述方法还包括:
基于优化成功时所对应的手势参数驱动目标模型进行运动,以使所述目标模型的手部展示与所述手势图像相对应的手势。
根据本说明书实施例的第二方面,提供一种手势估计装置,所述装置包括:
第一获取模块,用于从手势图像中获取手部的二维关键点;
第二获取模块,用于获取初始手部模型,所述初始手部模型包括用于描述初始三维关键点的手势参数;
投影模块,用于将所述初始三维关键点投影到所述手势图像中,得到投影点;
优化模块,用于对所述手势参数进行调整,得到目标三维关键点,以使所述目标三维关键点对应的投影点与所述二维关键点之间的误差满足条件。
根据本说明书实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现说明书实施例中任一项方法。
根据本说明书实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现说明书实施例中任一项方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,公开了一种手势估计方法、装置、存储介质及设备,该方法中,从手势图像中获取手部的二维关键点,将获取到的初始手部模型的初始三维关键点投影到该手势图像中以得到投影点,进而对描述该初始三维关键点的手势参数进行调整,使得到的目标三维关键点对应的投影点与该二维关键点之间的误差满足条件,从而得到手势图像中所对应的手势参数。这一方法对数据集依赖性较低,具有更强的场景适应能力,能够克服相关技术中直接基于图像结合深度学习回归出手部的关节转角所导致的鲁棒性不强的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种手势估计方法的流程图;
图2是本说明书根据一示例性实施例示出的直播客户端进行手势驱动的流程的示意图;
图3是本说明书根据一示例性实施例示出的手部拓扑关系的示意图;
图4是本说明书根据一示例性实施例示出的表征手部关键点的重投影误差的示意图;
图5是本说明书根据一示例性实施例示出的手势估计装置所在计算机设备的一种硬件结构图;
图6是本说明书根据一示例性实施例示出的一种手势估计装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
手势驱动是目前十分热门的交互方式,利用描述手势的参数来驱动某个对象做出相应的动作,能够极大程度方便用户的操作。手势驱动中最为关键的一个环节就是识别手势,而手势的一种描述方式就是手部的关节转角。相关技术中一般是直接基于图像结合深度学习回归出手部的关节转角。然而,这一方式对数据集的依赖性非常强,对场景的适应性较差。基于此,本说明书实施例提供一种手势估计方案,以解决上述问题。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种手势估计方法的流程图,所述方法包括:
在步骤101、从手势图像中获取手部的二维关键点;
本步骤中提到的手势图像是展示目标对象的手部的图像,这一图像可以包括RGB图像,所述的RGB图像是指利用红、绿、蓝三个颜色通道的不同比例表示每一个像素的彩色图像。当然,在其他实施例中,这一图像也可以是其他类型的图像,如深度图像等。
手部的二维关键点可以是基于深度学习模型从手势图像中获取得到的。在一个可选的实施例中,该深度学习模型可以采用语义分割网络提取手部区域并调整手部区域大小,再采用卷积姿态机(Convolutional Pose Machines,CPMs)定位手部关键点位置,输出预设数目的不同关键点的得分图像(score map),通过这些得分图像可以确定手部的二维关键点。当然,在其他实施例中,这一深度学习模型也可以是其他模型,如卷积神经网络(Convolutional Neural Networks,CNN)模型、支持向量机(Support Vector Machine,SVM)模型等,本说明书对此不作限制。
在步骤102、获取初始手部模型,所述初始手部模型包括用于描述初始三维关键点的手势参数;
本步骤中提到的初始手部模型可以是通过对手部拓扑关系进行运动学建模而得到的模型。手部的结构可以使用预设数目的关键点来描述,如,人体手部的结构可以使用21个关键点来描述,这21个关键点可以分别是手腕对应的关键点、5个手指指尖对应的关键点,以及15个手指关节对应的关键点。同一手指上的相邻两个关键点之间的长度为这两个关键点所对应的骨骼的骨骼长度,不同对象的手部骨骼长度是不同的,如男生手部的骨骼长度和女生手部的骨骼长度之间存在着较大差距,若初始手部模型是按照男生手部的骨骼长度来构建,而手势图像是展示女生的手部的图像,那么其得到的手势结果误差很大。因此,为了保证手势估计的准确性,在某些例子中,该初始手部模型可以是基于手部各关键点间的初始平移量创建得到的,该初始平移量是通过统计多个预设手势的骨骼长度而得到的。也就是说,可以通过扫描多个对象的多个预设手势,来获取各个骨骼长度的统计量,进而基于该统计量来构建初始手部模型,这样,通过对手部的骨骼长度的显示约束,保证了手势估计结果的合理性。
本步骤中提到的手势参数可以包括手部的关节转角。该手部的关节转角包括手腕的全局旋转和关节的局部旋转,这两个参数所代表的含义如下所示:建立一个手部坐标系作为全局坐标系(为方便表示,记为H坐标系),再在初始手部模型的各个关键点上建立局部坐标系,其中,手部坐标系与手腕对应的关键点的局部坐标系(为方便表示,记为W坐标系)的原点位置重合,则W坐标系相对于H坐标系的旋转变换为手腕的全局旋转(为方便表示,记为R),每个手指关节对应的关键点的局部坐标系相对于各自的父关节(关键点在从手腕处到指尖处路径上的上一个关键点,例如,将一根手指从指尖到手腕的关键点依次记为I3、I2、I1、I0、W,则I3的父关节是I2、I2的父关节是I1、I1的父关节是I0、I0的父关节是W)的局部坐标系的旋转变换的集合为关节的局部旋转(为方便表示,记为θ)。
在一个可选的实施例中,手部的关节转角可以基于手部正运动学函数映射为初始三维关键点。运动学主要研究的是机械臂的运动特性,正运动学是在已知关节角度的情况下,求解机械臂末端位姿的研究。为方便表示,本实施例记相邻父子局部坐标系的旋转变换为旋转矩阵r,平移变换为三维向量t,则子坐标系A到父坐标系B之间的空间变换为沿用前面手指各关键点为I3至W的例子,则指尖I3相对于H坐标系的空间变换TI3_H可以表示为如下公式:
TI3_H=TW_H*TI0_W*TI1_I0*TI2_I1*TI3_I2
也就是说,手指指尖对应的关键点的局部坐标系相对于全局坐标系的变换关系可以由手腕到指尖各关键点之间的所有父子局部坐标系的变换关系集合得到。其中,TI3_H的形式为齐次矩阵,为其中,tI3_H即为指尖I3的初始三维关键点。上述计算中的参数包括手腕的全局旋转R、关节的局部旋转θ以及平移变换t,由于平移变换t实际上是手部各关键点间的初始平移量,是固定的,因此可变参数只有手腕的全局旋转R和关节的局部旋转θ。因此,可以将上述手部正运动学函数表示为FK(),则初始三维关键点的坐标P3D可以基于以下公式计算得到:
P3D=FK(R,θ)
此时的初始三维关键点是手部坐标系,即H坐标系下的三维关键点。需要说明的是,这些三维关键点与步骤101中获取到的二维关键点是具有对应关系的,这里的对应关系不仅仅是数量上的对应关系,还包括性质上的对应关系,例如,初始手部模型中有个三维关键点代表拇指指尖,而手势图像中同样有个二维关键点代表拇指指尖。
在步骤103、将所述初始手部模型的初始三维关键点投影到所述手势图像中,得到投影点;
本步骤中提到的投影点,是指将初始手部模型投影到手势图像所在坐标系后得到的重投影二维关键点,其可以是手势图像对应的相机内参和相机坐标系下的三维关键点的乘积,该相机坐标系下的三维关键点基于初始三维关键点和初始变换矩阵得到,其中,该初始变换矩阵包括初始三维关键点所在坐标系到手势图像所对应的相机坐标系的旋转变换的初始值以及平移变换的初始值;
具体地,投影点的坐标P2DC可以基于以下公式计算得到:
P2DC=Cins*P3DC
其中,Cins是手势图像对应的相机内参,P3DC是初始三维关键点在手势图像对应的相机坐标系(为方便表示,记为C坐标系)下的坐标。
在一个可选的实施例中,手势图像对应的相机内参Cins可以是基于该手势图像的分辨率确定得到的,具体地,相机内参其中,cx可以是手势图像的宽度数值的二分之一,cy可以是手势图像的高度数值的二分之一,fx与fy可以根据同等分辨率的相机对应的焦距参数来确定。当然,在其他实施例中,手势图像对应的相机内参Cins也可以是从手势图像携带的参数信息中获取得到的,所述的参数信息可以包括拍摄该手势图像的相机所对应的各种参数信息。
在一个可选的实施例中,初始三维关键点在C坐标系下的坐标可以基于以下公式计算得到:
其中,RH_C是指H坐标系到C坐标系的旋转变换,TH_C是指H坐标系到C坐标系的平移变换。在定义H坐标系和C坐标系方向一致时,RH_C可以是单位矩阵I。
在步骤104、对所述手势参数进行调整,得到目标三维关键点,以使所述目标三维关键点对应的投影点与所述二维关键点之间的误差满足条件。
由于二维关键点是从手势图像中检测出来的,是已确定的,而投影点是初始三维关键点投影到手势图像中得到的,其实际上可以由手势参数和一些已确定的参数来确定,因此,通过对手势参数进行调整来得到目标三维关键点,当目标三维关键点对应的投影点与二维关键点之间的误差满足条件时,得到的手势参数即为描述手势图像中所展示的手势的参数。
在一些例子中,对手势参数进行调整可以是使用重投影误差来构造代价函数,在迭代优化该代价函数的过程中进行调整。各关键点的重投影误差L2D可以是指各关键点的重投影损失,其表征二维关键点与投影点之间的误差,可选的,其可以是二维关键点与投影点的差值的2-范数。利用重投影误差,可以很好地估计预定义的手势参数的精确程度,重投影误差越小,所调整的手势参数越能够准确地描述手势图像中展示的手势。
考虑到自遮挡情况下不同的关键点可信度是不一致的,在一些例子中,可以在迭代优化过程中剔除置信度小于预设阈值的对应关键点。这里的置信度可以是从手势图像中获取得到的。在基于深度学习算法检测手势图像中的手部信息时,得到不同关键点的得分图像,每个得分图像表示手势图像中的对应位置含有该关键点的概率,这一概率就是该关键点的置信度,其取值范围在0至1之间。
在另外的一些例子中,各关键点的重投影误差L2D也可以是采用各二维关键点的置信度F2D为对应的关键点的重投影损失进行加权而得到的,其可以表示为以下公式:
L2D=‖P2D-P2DC‖2*F2D
通过这一加权方法,可以在自遮挡情况下,对可信度较高的关键点有所侧重,同时又合理保留了可信度较低的关键点对于迭代优化过程的参与贡献,从而使得迭代优化结果更加准确,提高了手势估计的准确度。
综合前面的公式可知,各关键点的重投影误差L2D中除了关节转角以外,还包括H坐标系到C坐标系的平移变换这一参数。H坐标系到C坐标系的平移变换TH_C这一参数可以影响手部整体的大小,在重投影误差L2D的迭代优化过程中考虑手部整体的大小,可以使估计得到的关节转角更加准确,因此,待调整的手势参数还可以包括H坐标系到C坐标系的平移变换,在一些例子中,该平移变换TH_C可以预定义为(0,0,z),其中,z是手势图像对应的相机到手部的直线距离,通过试验总结得到,z的值通常在0.3m至1.5m的范围内。而关节转角所包含的手腕的全局旋转R和关节的局部旋转θ这两个参数可以预定义为单位矩阵I,表示未发生旋转变换,当然,其也可以根据具体场景的需要进行设置。
另外,迭代优化时所采用的优化算法可以是LM(Levenberg-Marquardt,列文伯格-马夸尔特)算法,LM算法是一种介于牛顿法和梯度下降法之间的非线性优化算法,在LM算法中,每次迭代的过程相当于寻找一个合适的阻尼因子λ,当λ很小时,算法采用牛顿法的最优步长计算式,当λ很大时,算法采用梯度下降法的最优步长计算式。通过试验总结得到,利用LM算法来对本实施例的重投影误差进行迭代优化,可以得到收敛快、稳定的优化效果。当然,在其他实施例中,也可以采用其他迭代优化方法,如拟牛顿法(Quasi-NewtonMethods)、共轭梯度法(Conjugate Gradient)等。在一些例子中,在迭代优化时,还可以设置误差阈值与迭代次数阈值,当优化后的误差小于该误差阈值时,返回优化结果和成功标志,而当迭代次数达到该迭代次数阈值、且优化后的误差仍未收敛到该误差阈值以下时,返回当前的优化结果和失败标志,以使用户根据成功/失败标志决定是否使用返回的优化结果。
本实施例的手势估计方法,从手势图像中获取手部的二维关键点,将获取到的初始手部模型的初始三维关键点投影到该手势图像中以得到投影点,进而对描述该初始三维关键点的手势参数进行调整,使得到的目标三维关键点对应的投影点与该二维关键点之间的误差满足条件,从而得到手势图像中所对应的手势参数。这一方法对数据集依赖性较低,具有更强的场景适应能力,能够克服相关技术中直接基于图像结合深度学习回归出手部的关节转角所导致的鲁棒性不强的问题。
在得到手势图像中所展示的手势的关节转角后,可以基于该关节转角来实现手势驱动。在一个可选的实施例中,获取到调整后的手势参数后,可以基于该调整后的手势参数驱动目标模型进行运动,以使该目标模型的手部展示手势图像中的相同手势。这里的目标模型可以是一个预设对象的三维角色模型,该预设对象可以是真实人物,也可以是虚拟人物。由于目标模型的手部和初始手部模型并非是一模一样的手部,如这两个手部的各骨骼长度可能存在一定的差异,因此在根据得到的关节转角驱动目标模型进行运动时,其展示的手势可能存在一些细小的误差,例如,手势图像中展示的是一个“OK”的手势,其中拇指和食指是触碰到一起的,而在根据得到的关节转角驱动目标模型进行运动时,目标模型的手部所展示的手势同样是一个“OK”的手势,但是其拇指和食指之间可能存在一定距离,没有完全触碰到一起。为了进一步提高手势驱动的准确性,目标模型的手部与步骤102所获取到的初始手部模型可以存在以下对应关系:初始手部模型是基于扫描多个目标对象的多个预设手势得到的统计量而构建得到的,该目标对象与预设对象具有相同的属性,该属性可以包括肤色、年龄、性别、职业中的一种或多种。例如,目标模型是一个亚洲人肤色的成年人,则初始手部模型可以是通过扫描多个亚洲人肤色的成年人的多个预设手势以获取各个骨骼长度的统计量,进而基于该统计量而构建得到的,这样,可以减少目标模型展示的手势与手势图像中展示的手势之间的误差。当然,在其他实施例中,初始手部模型的目标对象与目标模型的预设对象之间也可以不具有相同的属性,在实际应用中,可以在获取到手势图像中展示的手势对应的关节转角后,基于目标对象与预设对象之间的差别对该关节转角进行调整,从而保证手势驱动的准确性。
本实施例的手势估计方案可以应用于直播客户端或直播服务端中,基于直播客户端所在设备的摄像头获取主播用户手部的手势图像,以此产生目标视频流来对目标模型进行手势驱动,该目标模型是展示在直播画面中的AR(Augmented Reality,增强现实)对象。目标视频流的第一帧手势图像输入时,手势参数可以采用预定义的参数,而从第二帧手势图像起,其每一帧手势图像在开始迭代优化的手势参数,都采用上一帧得到的手势参数作为初始值,这样,一方面可以加速收敛,另一方面也可以实现运动的平滑,满足实时稳定的驱动需求。另外,当某一帧手势图像的迭代优化结果失败时,可以重新使用预定义参数作为初始值,也可以采用上一次迭代优化成功时的参数作为初始值。通过这样的方式,主播用户可以通过展示不同手势,驱动目标模型做出相应的手势并展示在直播画面中,从而实现AR场景与直播互动的结合,丰富直播间的趣味性。
为了对本说明书实施例的手势估计方法做更进一步的说明,接下来介绍一具体实施例:
本实施例的手势估计方法应用于一直播客户端中,其通过对主播所展示的手势的估计,驱动一目标模型做出相应的手势,以通过目标模型的形象与直播间的观众进行互动,该目标模型是主播指定的虚拟角色的三维模型。如图2所示,图2是本实施例示出的直播客户端进行手势驱动的流程的示意图,该流程包括:
S201、通过所在设备的摄像头获取展示主播手部动作的目标视频流;
S202、针对目标视频流的第一帧RGB图像,基于深度学习方法检测出该RGB图像的手部信息,该手部信息包括二维关键点和置信度;
S203、获取初始手部模型,该初始手部模型是对手部拓扑关系进行运动学建模而得到的,其中,手部的结构使用21个关键点描述,各关键点之间的初始平移量是通过扫描多个目标对象的三维手势而得到的;通过手部正运动学函数来表示该初始手部模型的初始三维关键点,该手部正运动学函数是将初始关节转角映射为初始三维关键点的函数;此时的初始三维关键点是手部坐标系下的三维关键点;其中,关节转角包括手腕的全局旋转和15个关节的局部旋转;如图3所示,图3是本实施例示出的手部拓扑关系的示意图,该图中从左到右分别展示了手部骨骼分布、21个关键点以及15个手指关节;
S204、构建重投影二维关键点,基于手部坐标系到RGB图像对应的相机坐标系的旋转变换(预定义相机坐标系C和手部坐标系H的方向一致,因此该旋转变换为单位矩阵)、平移变换以及初始三维关键点,得到相机坐标系下的三维关键点,再结合RGB图像对应的相机内参,得到重投影的二维关键点,记为投影点;其中,该相机内参根据图像的分辨率生成,具体地,其涉及的参数中,cx可以是手势图像的宽度数值的二分之一,cy可以是手势图像的高度数值的二分之一,fx与fy可以根据同等分辨率的相机对应的焦距参数来确定;
S205、构建手部关键点的重投影误差,其中采用置信度为每个手部关键点的重投影损失进行加权,每个手部关键点的重投影损失是二维关键点与投影点的差值的2-范数;如图4所示,图4是本实施例示出的表征手部关键点的重投影误差的示意图,该图中各手部关键点的箭头是从投影点指向对应的二维关键点;
S206、通过LM算法对手部关键点的重投影误差进行迭代优化,其中优化的目标包括关节转角以及平移变换,由于是第一帧图像,关节转角为初始关节转角,即手腕的全局旋转、15个关节的局部旋转采用初始参数,同时平移变化也采用初始参数,其中,手腕的全局旋转和15个关节的局部旋转的初始参数为单位矩阵,表示未发生旋转变换,平移变换的初始参数为(0,0,z),z是目测相机到手部的直线距离的预估值,本实施例中设置为1m;设置误差阈值与迭代次数阈值,当优化后的误差小于该误差阈值时,返回优化结果和成功标志,而当迭代次数达到该迭代次数阈值、且优化后的误差仍未收敛到该误差阈值以下时,返回当前的优化结果和失败标志,以使用户根据成功/失败标志决定是否使用返回的优化结果;
S207、基于优化成功时的关节转角驱动目标模型进行运动;
S208、从目标视频流的第二帧起,每一帧RGB图像的迭代优化,都采用上一帧的手势估计结果作为优化目标的初始参数,如第N+1帧的初始参数为第N帧的优化结果。
本实施例中,基于运动学模型对手部关键点的拓扑关系进行了强约束,很好的克服了相关技术中利用深度学习方法直接估计3D关键点进而回归出手部关节转角导致的鲁棒性不强的问题;由于只需要利用深度学习方法提取2D关键点,对数据集依赖不强,无需自产数据;借助高效的优化算法,可以实现实时的手势驱动,并对各个关键点的优化进行了合理加权,进一步保证了手势的准确性,可以极大提升手势驱动的体验;通过主播展示手势,驱动展示在直播画面中的目标模型做出相应手势,丰富了直播间的趣味性。
与前述方法的实施例相对应,本说明书还提供了手势估计装置及其所应用的终端的实施例。
本说明书手势估计装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书实施例手势估计装置所在计算机设备的一种硬件结构图,除了图5所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中装置531所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
如图6所示,图6是本说明书根据一示例性实施例示出的一种手势估计装置的框图,所述装置包括:
第一获取模块61,用于从手势图像中获取手部的二维关键点;
第二获取模块62,用于获取初始手部模型,所述初始手部模型包括用于描述初始三维关键点的手势参数;
投影模块63,用于将所述初始三维关键点投影到所述手势图像中,得到投影点;
优化模块64,用于对所述手势参数进行调整,得到目标三维关键点,以使所述目标三维关键点对应的投影点与所述二维关键点之间的误差满足条件。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种手势估计方法,其特征在于,所述方法包括:
从手势图像中获取手部的二维关键点;
获取初始手部模型,所述初始手部模型包括用于描述初始三维关键点的手势参数;
将所述初始三维关键点投影到所述手势图像中,得到投影点;
对所述手势参数进行调整,得到目标三维关键点,以使所述目标三维关键点对应的投影点与所述二维关键点之间的误差满足条件。
2.根据权利要求1所述的方法,其特征在于,所述初始手部模型是基于手部各关键点间的初始平移量创建得到的;所述初始平移量是通过统计多个预设手势的骨骼长度而得到的。
3.根据权利要求1所述的方法,其特征在于,将所述初始三维关键点投影到所述手势图像中,得到投影点,包括:
基于所述初始三维关键点以及初始变换矩阵,得到相机坐标系下的三维关键点;所述初始变换矩阵包括所述初始三维关键点所在坐标系到所述手势图像所对应的相机坐标系的旋转变换的初始值以及平移变换的初始值;
将所述相机坐标系下的三维关键点和所述手势图像对应的相机内参的乘积,确定为投影点。
4.根据权利要求1所述的方法,其特征在于,对所述手势参数进行调整,包括:
基于所述二维关键点和所述投影点构建重投影误差;
对所述重投影误差进行迭代优化,优化的参数包括所述手势参数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
从手势图像中获取手部的二维关键点对应的置信度;
所述重投影误差是利用所述置信度为对应的二维关键点的重投影损失进行加权而得到的,所述重投影损失表征所述二维关键点与对应的投影点之间的误差。
6.根据权利要求4所述的方法,其特征在于,所述手势图像是目标视频流中的一帧图像,所述手势图像的下一帧图像在对重投影误差进行迭代优化时,初始的手势参数为所述手势图像在优化成功时所对应的手势参数。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于优化成功时所对应的手势参数驱动目标模型进行运动,以使所述目标模型的手部展示与所述手势图像相对应的手势。
8.一种手势估计装置,其特征在于,所述装置包括:
第一获取模块,用于从手势图像中获取手部的二维关键点;
第二获取模块,用于获取初始手部模型,所述初始手部模型包括用于描述初始三维关键点的手势参数;
投影模块,用于将所述初始三维关键点投影到所述手势图像中,得到投影点;
优化模块,用于对所述手势参数进行调整,得到目标三维关键点,以使所述目标三维关键点对应的投影点与所述二维关键点之间的误差满足条件。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110919896.3A CN113705379A (zh) | 2021-08-11 | 2021-08-11 | 一种手势估计方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110919896.3A CN113705379A (zh) | 2021-08-11 | 2021-08-11 | 一种手势估计方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113705379A true CN113705379A (zh) | 2021-11-26 |
Family
ID=78652555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110919896.3A Pending CN113705379A (zh) | 2021-08-11 | 2021-08-11 | 一种手势估计方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705379A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114693779A (zh) * | 2022-04-02 | 2022-07-01 | 蔚来汽车科技(安徽)有限公司 | 用于确定手部三维关键点的方法及装置 |
CN117095131A (zh) * | 2023-10-16 | 2023-11-21 | 广州紫为云科技有限公司 | 物体运动关键点的三维重建方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992858A (zh) * | 2017-12-25 | 2018-05-04 | 深圳市唯特视科技有限公司 | 一种基于单一rgb帧的实时三维手势估计方法 |
CN111694427A (zh) * | 2020-05-13 | 2020-09-22 | 北京农业信息技术研究中心 | Ar虚拟摇蜜互动体验系统、方法、电子设备及存储介质 |
CN112150551A (zh) * | 2020-09-25 | 2020-12-29 | 北京百度网讯科技有限公司 | 物体位姿的获取方法、装置和电子设备 |
US20210124917A1 (en) * | 2019-10-18 | 2021-04-29 | Htc Corporation | Method for automatically generating hand marking data and calculating bone length |
-
2021
- 2021-08-11 CN CN202110919896.3A patent/CN113705379A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992858A (zh) * | 2017-12-25 | 2018-05-04 | 深圳市唯特视科技有限公司 | 一种基于单一rgb帧的实时三维手势估计方法 |
US20210124917A1 (en) * | 2019-10-18 | 2021-04-29 | Htc Corporation | Method for automatically generating hand marking data and calculating bone length |
CN111694427A (zh) * | 2020-05-13 | 2020-09-22 | 北京农业信息技术研究中心 | Ar虚拟摇蜜互动体验系统、方法、电子设备及存储介质 |
CN112150551A (zh) * | 2020-09-25 | 2020-12-29 | 北京百度网讯科技有限公司 | 物体位姿的获取方法、装置和电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114693779A (zh) * | 2022-04-02 | 2022-07-01 | 蔚来汽车科技(安徽)有限公司 | 用于确定手部三维关键点的方法及装置 |
CN117095131A (zh) * | 2023-10-16 | 2023-11-21 | 广州紫为云科技有限公司 | 物体运动关键点的三维重建方法、设备及存储介质 |
CN117095131B (zh) * | 2023-10-16 | 2024-02-06 | 广州紫为云科技有限公司 | 物体运动关键点的三维重建方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748934B2 (en) | Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium | |
JP7453470B2 (ja) | 3次元再構成及び関連インタラクション、測定方法及び関連装置、機器 | |
KR102197553B1 (ko) | 파트 기반 키 프레임들 및 선험적 모델을 사용한 견고한 메시 트래킹 및 융합 | |
CN108335353B (zh) | 动态场景的三维重建方法、装置和系统、服务器、介质 | |
US9361723B2 (en) | Method for real-time face animation based on single video camera | |
CN112819944B (zh) | 三维人体模型重建方法、装置、电子设备及存储介质 | |
CN112884881B (zh) | 三维人脸模型重建方法、装置、电子设备及存储介质 | |
CN109242978B (zh) | 三维模型的视角调整方法和装置 | |
WO2021004257A1 (zh) | 视线检测和视频处理的方法、装置、设备和存储介质 | |
Barandiaran et al. | Real-time optical markerless tracking for augmented reality applications | |
US11282257B2 (en) | Pose selection and animation of characters using video data and training techniques | |
CN112562001B (zh) | 一种物体6d位姿估计方法、装置、设备及介质 | |
KR20220149717A (ko) | 단안 카메라로부터 전체 골격 3d 포즈 복구 | |
CN113705379A (zh) | 一种手势估计方法、装置、存储介质及设备 | |
CN109144252A (zh) | 对象确定方法、装置、设备和存储介质 | |
CN114255285A (zh) | 视频与城市信息模型三维场景融合方法、系统及存储介质 | |
CN111739134B (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
US11361467B2 (en) | Pose selection and animation of characters using video data and training techniques | |
CN115775300B (zh) | 人体模型的重建方法、人体重建模型的训练方法及装置 | |
WO2024031882A1 (zh) | 视频处理方法、装置及计算机可读存储介质 | |
CN112967329B (zh) | 图像数据优化方法、装置、电子设备及存储介质 | |
Lee et al. | Real-time camera tracking using a particle filter and multiple feature trackers | |
Albakri et al. | 3D Keyframe Motion Extraction from Zapin Traditional Dance Videos | |
CN111581411B (zh) | 高精度人脸形状库的构建方法、装置、设备及存储介质 | |
WO2023132261A1 (ja) | 情報処理システム、情報処理方法および情報処理プログラム |
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 |