CN112749512A - 手势估计优化的方法、系统和电子装置 - Google Patents

手势估计优化的方法、系统和电子装置 Download PDF

Info

Publication number
CN112749512A
CN112749512A CN202110062811.4A CN202110062811A CN112749512A CN 112749512 A CN112749512 A CN 112749512A CN 202110062811 A CN202110062811 A CN 202110062811A CN 112749512 A CN112749512 A CN 112749512A
Authority
CN
China
Prior art keywords
hand
posture
key point
palm
optimization
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.)
Granted
Application number
CN202110062811.4A
Other languages
English (en)
Other versions
CN112749512B (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.)
Hangzhou Yixian Advanced Technology Co ltd
Original Assignee
Hangzhou Yixian Advanced Technology Co ltd
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 Hangzhou Yixian Advanced Technology Co ltd filed Critical Hangzhou Yixian Advanced Technology Co ltd
Priority to CN202110062811.4A priority Critical patent/CN112749512B/zh
Publication of CN112749512A publication Critical patent/CN112749512A/zh
Application granted granted Critical
Publication of CN112749512B publication Critical patent/CN112749512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • 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/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

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

Abstract

本申请涉及一种手势估计优化的方法、系统和电子装置,通过神经网络获取手势图像的第一关键点坐标;根据第一关键点坐标获取手掌法向向量和手指向量,根据手指向量在手掌法向向量上投影的正负性判断第一关键点坐标为左手或者右手;构建模型手,对模型手进行初始化,初始化包括:根据第一关键点坐标,获取模型手每根骨头的指骨长度和手掌部分的关键点的初始位置,手掌部分的关键点共面;获取手掌姿态和手指姿态,根据手掌姿态和手指姿态获取模型手的粗糙初始姿态;将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解优化问题,得到手的姿态,解决了手势估计过程中需要额外增加网络分支区分左手和右手,计算量高的问题。

Description

手势估计优化的方法、系统和电子装置
技术领域
本申请涉及计算机视觉技术领域,特别是涉及手势估计优化的方法、系统和电子装置。
背景技术
随着人机交互技术的发展,人机交互方式如键盘、鼠标、触屏等在许多新兴领域已经难以满足用户的要求,在增强现实(Augmented Reality,简称为AR)、虚拟现实(VirtualReality,简称为VR)以及远程操控等场景下,用户更倾向于使用无线的、非接触式的方式实现人机交互。另一方面,基于计算机视觉技术的手势交互技术可以让用户摆脱繁杂的交互设备,利用特定的手势动作向机器发出指令,方便快捷,所以计算机视觉技术的发展满足了用户使用无线的、非接触式的方式实现人机交互的要求。
手势交互技术的核心在于估计手部各个关键点在空间中的三维坐标,通过该关键点的三维坐标判断用户的手势,通过获取各个手指的位置完成空中点击、空中滑动等动态手势交互,但相关技术中通常需要额外增加网络分支区分左手和右手。
目前针对相关技术中,需要额外增加网络分支区分左手和右手,计算量高的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种手势估计优化的方法、系统和电子装置,以至少解决相关技术中需要额外增加网络分支区分左手和右手,计算量高的问题。
第一方面,本申请实施例提供了一种手势估计优化的方法,所述方法包括:
获取手势图像,根据神经网络获取所述手势图像的第一关键点坐标;
根据所述第一关键点坐标获取手掌法向向量和手指向量,根据所述手指向量在所述手掌法向向量上投影的正负性判断所述第一关键点坐标为左手或者右手;
构建模型手,所述模型手包括手掌部分和手指部分,对所述模型手进行初始化,所述初始化包括:根据所述第一关键点坐标,获取所述模型手每根骨头的指骨长度和所述手掌部分的关键点的初始位置,其中,所述手掌部分的关键点共面;
获取所述手掌部分的手掌姿态和所述手指部分的手指姿态,根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态;
将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态,其中,所述优化问题包括优化目标和约束条件。
在其中一些实施例中,将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态包括:
将手的姿态输入到正向模型中,获得所述模型手的第二关键点坐标,根据所述第二关键点坐标和所述第一关键点坐标,构建第一优化目标Lossloc
根据优化变量和所述指骨长度,构建第二优化目标Lossfg
根据关节旋转的第一运动范围,构建第三优化目标Lossr
根据当前手的姿态和上一帧手的姿态,构建第四优化目标Losssmooth
根据所述第一优化目标Lossloc、所述第二优化目标Lossfg、所述第三优化目标Lossr和所述第四优化目标Losssmooth,构建所述优化目标如下:
Loss(r,t,l)=Lossloc1Lossfg2Lossr3Losssmooth
其中,λi用于控制比例;
所述优化问题如下:
min Loss(r,t,l)
其中,[r,t,l]=[r1,r2,…,r24,t1,t2,t3,l1,l2,…,l15],ri为每个关节运动的自由度,li为指骨长度,ti为整个模型手三个维度的移动;
约束条件包括如下:
Figure BDA0002903370130000021
其中,
Figure BDA0002903370130000022
为关节旋转的第一运动范围的进一步扩大,得到的第二运动范围,[Lmin,Lmax]为所述指骨长度的预设范围;
求解所述优化问题,得到所述优化目标的最小值及达到所述最小值时所对应的各个优化变量,其中,优化变量包括手的位置、手的姿态和指骨长度,所述优化目标的最小值指示所述手的姿态。
在其中一些实施例中,根据所述第一关键点坐标获取手掌法向向量和手指向量,根据所述手指向量在所述手掌法向向量上投影的正负性判断所述所述第一关键点坐标为左手或者右手包括:
根据所述第一关键点坐标获取手掌上的第一向量和第二向量,根据所述第一向量和所述第二向量获取所述手掌法向向量,其中,所述手掌法向向量的方向指向手心,则为左手,所述手掌法向向量的方向指向手背,则为右手;
获取所述手指向量在所述手掌法向向量上的第一投影,若所述第一投影方向为正,则所述第一关键点坐标为左手,若所述第一投影方向为负,则所述第一关键点坐标为右手。
在其中一些实施例中,获取所述手掌部分的手掌姿态和所述手指部分的手指姿态,根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态包括:
获取所述模型手到与所述第一关键点坐标对应的手掌的旋转矩阵和平移矩阵,根据所述旋转矩阵和所述平移矩阵获取所述手掌姿态;
根据所述第一关键点坐标,获取每根手指的弯曲角度,根据所述手指的弯曲角度获取所述手指姿态;
根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态。
在其中一些实施例中,将手的姿态输入到正向模型中,获得所述模型手的第二关键点坐标之后,所述方法还包括:所述第二关键点坐标作为所述第一关键点坐标的修正结果。
在其中一些实施例中,构建所述优化目标之后,所述方法还包括异常检测方法,所述异常检测方法包括:
若所述优化目标大于预设阈值,则跳转到获取所述粗糙初始姿态的步骤;
若跳转到获取所述粗糙初始姿态的步骤之后,所述优化目标还大于所述预设阈值,则跳转到判断所述第一关键点坐标为左手或者右手的步骤。
在其中一些实施例中,获取所述手的姿态或者关键点坐标之后,所述方法还包括根据关键点坐标或者所述手的姿态进行AR叠加方法,所述根据关键点坐标或者所述手的姿态进行AR叠加方法包括:
根据所述采集装置预设的内参获取所述采集装置的FOV,根据所述FOV渲染所述关键点坐标或者所述手的姿态,其中,所述预设的内参无需标定,所述关键点坐标包括所述第一关键点坐标和所述第二关键点坐标。
第二方面,本申请实施例提供了手势估计优化的系统,所述系统包括获取模块、判断模块、初始化模块和优化模块,
所述获取模块,用于获取手势图像,并根据神经网络获取所述手势图像的第一关键点坐标;
所述判断模块,用于根据所述第一关键点坐标获取手掌法向向量和手指向量,根据所述手指向量在所述手掌法向向量上投影的正负性判断所述第一关键点坐标为左手或者右手;
所述初始化模块,用于构建模型手,所述模型手包括手掌部分和手指部分,并对所述模型手进行初始化,所述初始化包括:根据所述第一关键点坐标,获取所述模型手每根骨头的指骨长度和所述手掌部分的关键点的初始位置,其中,所述手掌部分的关键点共面;
所述获取模块,还用于获取所述手掌部分的手掌姿态和所述手指部分的手指姿态,根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态;
优化模块,用于将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态,其中,所述优化问题包括优化目标和约束条件。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的手势估计优化的方法。
相比于相关技术,本申请实施例提供的手势估计优化的方法,通过获取手势图像,根据神经网络获取手势图像的第一关键点坐标;根据第一关键点坐标获取手掌法向向量和手指向量,根据手指向量在手掌法向向量上投影的正负性判断第一关键点坐标为左手或者右手;构建模型手,模型手包括手掌部分和手指部分,对模型手进行初始化,初始化包括:根据第一关键点坐标,获取模型手每根骨头的指骨长度和手掌部分的关键点的初始位置,其中,手掌部分的关键点共面;获取手掌部分的手掌姿态和手指部分的手指姿态,根据手掌姿态和手指姿态获取模型手的粗糙初始姿态;将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解优化问题,得到手的姿态,其中,优化问题包括优化目标和约束条件,解决了手势估计过程中需要额外增加网络分支区分左手和右手,计算量高的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的手势估计优化的方法的流程图;
图2是根据本申请实施例的模型手初始化的示意图;
图3是根据本申请实施例的模型手的初始坐标系的示意图;
图4是根据本申请实施例的判断左手或者右手的示意图;
图5是根据本申请实施例的驱动球棍手运动的示意图;
图6是根据本申请实施例的手势估计优化的系统的结构框图;
图7是根据本申请实施例的手势估计优化的方法的流程示意图;
图8是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种手势估计优化的方法,图1是根据本申请实施例的手势估计优化的方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取手势图像,根据神经网络获取该手势图像的第一关键点坐标;本实施例中,手势图像为从摄像头或视频流获取的一帧图像,利用神经网络,得到手势图像的第一关键点坐标,第一关键点坐标为3D关键点坐标,该3D关键点坐标由手势图像上的2D关键点坐标以及一个归一化后的深度坐标得到,即利用预设的相机内参及人手的单个尺寸因子计算出相对于相机的3D关键点坐标。
步骤S102,根据该第一关键点坐标获取手掌法向向量和手指向量,根据手指向量在手掌法向向量上投影的正负性判断第一关键点坐标为左手或者右手;本实施例中,利用手指总是向着掌心方向弯折的特性,根据该第一关键点坐标获取手掌法向向量和手指向量,若在右手中,手掌法向向量的方向指向手背,左手中,手掌法向向量的方向指向手心,则手指向量在手掌法向向量上投影的方向为正,则该第一关键点坐标为左手的坐标,手指向量在手掌法向向量上投影的方向为负,则该第一关键点坐标为右手的坐标;若在右手中,手掌法向向量的方向指向手心,左手中,手掌法向向量的方向指向手背,则手指向量在手掌法向向量上投影的方向为正,则该第一关键点坐标为右手的坐标,手指向量在手掌法向向量上投影的方向为负,则该第一关键点坐标为左手的坐标;
步骤S103,构建模型手,该模型手包括手掌部分和手指部分,对该模型手进行初始化,初始化包括:根据第一关键点坐标,获取模型手每根骨头的指骨长度和手掌部分的关键点的初始位置,其中,手掌部分的关键点共面;
本实施例中,图2是根据本申请实施例的模型手初始化的示意图,如图2所示,以右手为例,从指尖往下的骨头分别为第一骨头、第二骨头、第三骨头和第四骨头,大拇指只有第一骨头、第二骨头和第三骨头,四根第四骨头代表手掌部分,其余骨头组成手指部分,手掌部分有五个关键点,下方的关键点为根节点,除了根节点外的四个关键点位置在初始化阶段可以随意移动,但需要保证五个关键点共面;大拇指上的第三骨头拥有三个自由度,可以绕着根节点在一定角度范围内旋转,其长度在初始化阶段可以随意拉长或缩短;其余手指上的第三骨头拥有两个自由度,可以绕着rx/rz在一定范围内旋转,其长度在初始化阶段也可以随意拉长或缩短;所有手指的第一骨头和第二骨头只有rx的自由度,长度在初始化阶段可以进行调节,整个模型手拥有六个自由度,可以绕着rx/ry/rz的进行旋转和平移,总计27个自由度,因此,构建的模型手,初始化阶段可以适配各种手型;
根据第一关键点坐标,计算模型手上每根骨头的指骨长度,取连续n帧图像上指骨长度的均值作为当前每根骨头的指骨长度;利用手掌部分的关键点和最小二乘法拟合平面方程构建拟合平面,计算手掌部分的关键点在该拟合平面上的投影,以根节点为原点,中指指骨方向对齐模型手平面和拟合平面,保证手掌部分的关键点共面,取连续n帧图像上的手掌部分的关键点的初始位置的均值作为手掌部分的关键点的初始位置;
步骤S104,获取手掌部分的手掌姿态和手指部分的手指姿态,根据手掌姿态和手指姿态获取模型手的粗糙初始姿态;本实施例中,得到粗糙初始姿态后,从粗糙初始姿态出发优化,可以避免过多变量一起优化导致不收敛的情况;
步骤S105,将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解优化问题,得到手的姿态,其中,优化问题包括优化目标和约束条件。本实施例中,优化问题的优化变量都需要一个初始状态,从一个合理的接近最终结果的状态出发比较容易收敛,用上一帧手的姿态或粗糙初始姿态作为初始状态,通过优化方法优化得到合适的结果,例如采用LM算法(Levenberg-Marquard)求解,LM算法是一种迭代求函数极值的算法,LM算法综合了牛顿法求极值与梯度法求极值这两种算法的特点,优化得到的值为当前帧手的姿态估计结果。
通过上述步骤S101至步骤S105,相对于相关技术中需要额外增加网络分支判断第一关键点坐标为左手或者右手,本申请系统根据手指向量在手掌法向向量上投影的正负性就能判断出第一关键点坐标为左手或者右手,无需额外增加网络分支即可方便地区分左右手,减少计算量;区分出左右手之后,创建模型手,获取模型手的粗糙初始姿态,将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态,初始解和最终的解越接近就越容易收敛,将粗糙初始姿态或上一帧手的姿态作为求解优化问题的初始值可以保证结果收敛,并且迭代的步数更少,计算速度更快。
由于手指大多只有1~2个自由度且各自的自由度范围都较小,不用担心死锁问题,故而这里用较为直观的欧拉角进行手的姿态的优化和计算,同时可以方便地后续对每个自由度的范围进行限制(符合人的生理构造)。
旋转矩阵Rw用欧拉角表示,定义欧拉角和旋转矩阵的转化关系如公式1所示:
Figure BDA0002903370130000081
在其中一些实施例中,获取手掌部分的手掌姿态和手指部分的手指姿态,根据手掌姿态和手指姿态获取模型手的粗糙初始姿态包括:
获取模型手到第一关键点坐标对应的手掌的旋转矩阵和平移矩阵,根据旋转矩阵和平移矩阵获取手掌姿态;根据第一关键点坐标,获取每根手指的弯曲角度,根据手指的弯曲角度获取手指姿态;根据手掌姿态和手指姿态获取模型手的粗糙初始姿态。本实施例中,获取手掌姿态时,为了减少深度带来的误差,只用2D关键点坐标来计算整个手掌的旋转矩阵和平移,这是一个经典的3D到2D的PNP问题,PnP为Perspective-n-Point的简称,是求解3D到2D点对的运动的方法,即给出n个3D空间点时,如何求解相机的位姿,典型的PnP问题求解方式有很多种,例如P3P,直接线性变换(DLT),EPnP(Efficient PnP),UpnP,还有非线性的Bundle Adjustment,由于有手掌部分的五个关键点作为配对点,可以采用EPnP高速完成解算过程;
图3是根据本申请实施例的模型手的初始坐标系的示意图,如图3所示,关节分为掌指关节(metacarpophalangeal point,MP),近侧指间关节(proximal interphalangealpoint,PIP),远侧指间关节(distal interphalangeal point,DIP)和指尖TIP,分别用小写的t/d/p/m代表各关节和顶点,分别计算每个关节相对于图示的每个关节局部坐标系Y轴的欧拉角,Y轴为模型手里从一个关节指向下一个关节的方向,对于DIP/PIP只保留绕rx自由度的欧拉角,假设大拇指的MP在根节点上,保留所有自由度,其他手指的MP保留绕rx和rz自由度的欧拉角,即可得到手指21个自由度的粗糙初始姿态;
如图3所示,模型手有一个初始坐标系,对于Pm而言,其Y轴为P0指向Pm方向,X轴和手掌平面共面垂直于Y轴,以食指为例,计算食指四个自由度的欧拉角,对于Pd而言,直接计算向量PdPt和向量PpPd之间的夹角
Figure BDA0002903370130000082
作为欧拉角
Figure BDA0002903370130000083
的结果(只有一个自由度),Pp与Pd一样,向量PpPd和向量PmPp之间的夹角
Figure BDA0002903370130000087
作为欧拉角
Figure BDA0002903370130000084
的结果;对于Pm而言,其局部坐标系随着整个手进行旋转,计算旋转后的各轴朝向,计算当前帧Pm在该局部坐标系下的坐标(x,y,z)(就是在三个轴的向量上进行投影),计算向量(x,y,z)和向量
Figure BDA0002903370130000085
Figure BDA0002903370130000086
的旋转矩阵,再转化成欧拉角即为Pm的欧拉角结果。
αi为模型手上
Figure BDA0002903370130000091
与yb轴的夹角,
Figure BDA0002903370130000092
的距离
Figure BDA0002903370130000093
记作
Figure BDA0002903370130000094
剩余三根初始化参数了的指骨长度分别记为Lp,Ld,Lt,将手的姿态输入到正向模型中,获得模型手的第二关键点坐标的计算方法如公式2至公式5所示:
Figure BDA0002903370130000095
Figure BDA0002903370130000096
Figure BDA0002903370130000097
Figure BDA0002903370130000098
其中,Rw为旋转矩阵,Tw为平移矩阵,如果为大拇指,则
Figure BDA0002903370130000099
和P0重合,αi为0;如果不为大拇指,则
Figure BDA00029033701300000910
为0,优化后的关键点通过正向模型求解一遍就是最终需要的关键点。
在其中一些实施例中,将手的姿态输入到正向模型中,获得模型手的第二关键点坐标之后,将第二关键点坐标作为第一关键点坐标的修正结果。本实施例中,第二关键点坐标为通过手的姿态重新计算的模型手的关键点坐标,使得得到的优化后的关键点坐标更符合人体的构造,同时让结果更加平滑和自然。
在其中一些实施例中,将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解优化问题,得到手的姿态包括:
将手的姿态输入到正向模型中,获得模型手的第二关键点坐标,根据第二关键点坐标和第一关键点坐标,构建第一优化目标Lossloc;本实施例中,模型手的第二关键点坐标要和由神经网络得到的第一关键点坐标的结果尽可能接近,将第二关键点坐标和第一关键点坐标之间的距离作为优化目标的一部分,构建第一优化目标Lossloc,如公式6所示:
Figure BDA00029033701300000911
其中,Pi为第二关键点坐标,
Figure BDA00029033701300000912
为第一关键点坐标;
根据优化变量和指骨长度,构建第二优化目标Lossfg;本实施例中,允许各手指的长度在一定范围内波动,但是不希望手指的长度随着手的姿态变化而变化,故将手指的长度的变化量作为罚项,构建第二优化目标Lossfg,如公式7所示:
Figure BDA00029033701300000913
其中,
Figure BDA00029033701300000914
为优化变量,
Figure BDA00029033701300000915
为初始化阶段固化的指骨长度;
根据关节旋转的第一运动范围,构建第三优化目标Lossr;本实施例中,Rw和Tw无约束,但人体每个关节的rx,ry,rz只能在一定范围内移动,MCP绕rz的运动范围一般为[-15°,15°],绕rx的运动范围一般为[0°,120°],PIP和DIP绕rx的运动范围一般为[0°,90°],具体数值可以根据实际场景进行调整,假设对于某个关节的旋转
Figure BDA0002903370130000101
的运动约束为
Figure BDA0002903370130000102
期望每个关节在限定范围内运动,但也给予一定的自由度,故引入第三优化目标Lossr,在允许范围内运动罚项为0,超出越大惩罚越大,第三优化目标Lossr由如下公式8得到:
Figure BDA0002903370130000103
根据当前帧手的姿态和上一帧手的姿态,构建第四优化目标Losssmooth;本实施例中,为了保证手的姿态的变化尽可能平滑,当前手的姿态距离上一帧手的姿态的变化要尽可能小,故引入第四优化目标Losssmooth,第四优化目标Losssmooth由如下公式9得到:
Figure BDA0002903370130000104
其中,公式4中的
Figure BDA0002903370130000105
包括Rw转化成的欧拉角,β是用来调节旋转的平移配比的参数。
根据第一优化目标、第二优化目标、第三优化目标和第四优化目标,构建模型手的优化目标由如下公式10得到:
Loss(r,t,l)=Lossloc1Lossfg2Lossr3Losssmooth 公式10其中,λi用于控制比例;
在上述第二优化目标和第三优化目标的基础上可以进一步强制限定每个变量的范围,保证手型的鲁棒性。例如,每根手指的长度必须在初始化数值的一定范围内,记作[Lmin,Lmax],限定各自由度在第三优化目标的限制上进一步扩大范围,记作
Figure BDA0002903370130000106
得到优化问题如下:
min Loss(r,t,l)
其中,[r,t,l]=[r1,r2,…,r24,t1,t2,t3,l1,l2,…,l15],ri为每个关节运动的自由度,li为指骨长度,ti为整个模型手三个维度的移动;
约束条件包括如下:
Figure BDA0002903370130000107
求解优化问题,得到优化目标的最小值及达到最小值时所对应的各个优化变量,其中,优化目标的最小值指示手的姿态,本实施例中,优化阶段手指的长度允许一定程度的缩放,变化的角度也可以略微超出正常范围,可以适配各种异常情况,得到更为鲁棒的结果,并且综合考虑了当前帧手的姿态和上一帧手的姿态,得出的结果更为平滑,解决了相关技术中基于单目彩色或灰度的摄像头直接估计人手2.5/3D关键点或姿态的方法结果不够鲁棒,可能存在抖动、跳变、异常值的问题。
初始值为上一帧手的姿态结果或初始化阶段给出的粗糙初始姿态,通过优化方法优化得到合适的结果,例如采用LM算法(Levenberg-Marquard)求解,优化得到的[r,t,l]作为当前帧手的姿态的估计结果,同时通过正向模型计算各关键点的3D坐标作为当前帧3D坐标的修正结果。
这里的模型手总计由20个关键点构成,在一些常见的方案里大拇指会多一个关键点,总计21个关键点,为保证结果的统一性,在模型手的对应位置敲定多出关键点的位置,在计算过程中,该位置随着大拇指PIP关节一起运动,同时随着大拇指关节长度变化缩放相对于根节点的距离,继而可以计算出该点的3D坐标。
在其中一些实施例中,根据第一关键点坐标获取手掌法向向量和手指向量,根据手指向量在手掌法向向量上投影的正负性判断第一关键点坐标为左手或者右手包括:根据第一关键点坐标获取手掌上的第一向量和第二向量,根据第一向量和第二向量获取手掌法向向量,其中,手掌法向向量的方向指向手心,则为左手,手掌法向向量的方向指向手背,则为右手;获取手指向量在手掌法向向量上的第一投影,若第一投影方向为正,则判断为左手,若第一投影方向为负,则判断为右手。图4是根据本申请实施例的判断左手或者右手的示意图,如图4所示,第一向量(向量a)为根节点指向中指方向的关键点,第二向量(向量b)为小拇指下方的关键点指向食指下方的关键点,手掌法向向量为第一向量叉乘第二向量,方向指向手背,分别计算手指向量(向量d1、向量d2、向量d3和向量d4)在手掌法向向量的第一投影
Figure BDA0002903370130000111
保留绝对值最大的作为结果dis,对连续N帧的dis求和,如果为正则为左手,否则为右手,计算四根手指在手掌法向向量上的投影,取绝对值最大的作为结果dis,并以连续N帧dis的和作为结果进行判断,可以保证结果的准确率。
在其中一些实施例中,构建优化目标之后,若优化目标大于预设阈值,则跳转到获取粗糙初始姿态的步骤;若跳转到获取粗糙初始姿态的步骤之后,优化目标还大于预设阈值,则跳转到判断第一关键点坐标为左手或者右手的步骤。本实施例中,若优化目标大于预设阈值,即从上一帧迭代无法得到一个满足期望的结果,大概率由陷入局部最优解造成,跳转到获取粗糙初始姿态的步骤,找出更合理的粗糙初始姿态;跳转到获取粗糙初始姿态的步骤之后,若优化目标仍然大于预设阈值,说明当前模型手的初始化参数不能解决当前的姿态问题,大概率由换人或其他异常情况造成,则跳转到判断第一关键点坐标为左手或者右手的步骤,进行异常检测,保证各种情况均能得到鲁棒的结果。
在其中一些实施例中,获取手的姿态或者关键点坐标之后,根据关键点坐标或者手的姿态进行AR叠加,即根据采集装置预设的内参获取采集装置的FOV,根据FOV渲染关键点坐标或者手的姿态,其中,预设的内参无需标定,关键点坐标包括第一关键点坐标和第二关键点坐标。本实施例中,假设相机内参为
Figure BDA0002903370130000121
彩色图的分辨率为W*H,其透视变换矩阵与预设的无需标定的相机内参的转化关系如公式11所示:
Figure BDA0002903370130000122
其中,
Figure BDA0002903370130000123
near/far为渲染范围,合理即可。
在该FOV下渲染计算所得的关键点坐标或者手的姿态,即可实现在图像上完美叠加,由于内参无需标定,在任意手机/平板/AR/VR眼镜上均可实现基于摄像头图像的AR叠加,无需标定相机内参既可在图像上完成高精度的手势AR效果叠加。
利用自由度结果可以直接驱动一个模型手进行运动,完成一些AR交互功能,进一步的也可以应用在AR/VR眼镜上,驱动一个模型手完成一些游戏功能;利用优化后的第二关键点坐标可以驱动“球棍手”进行运动,同样可以实现完美叠加,完成一些诸如碰撞、抓取、选中的交互需求;也可以利用各种位置/姿态结果叠加一些AR特效,或者美化的功能,具体的可以根据需求进行设计,图5是根据本申请实施例的驱动球棍手运动的示意图,如图5所示,图5为一种“球棍”手叠加效果,叠加精度以及效果均很好。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种手势估计优化的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的手势估计优化的系统的结构框图,如图6所示,该系统包括包括获取模块61、判断模块62、初始化模块63和优化模块64,
获取模块61用于获取手势图像,根据神经网络获取手势图像的第一关键点坐标;判断模块62用于根据第一关键点坐标获取手掌法向向量和手指向量,根据手指向量在手掌法向向量上投影的正负性判断第一关键点坐标为左手或者右手;初始化模块63用于构建模型手,模型手包括手掌部分和手指部分,对模型手进行初始化,初始化包括:根据第一关键点坐标,获取模型手每根骨头的指骨长度和手掌部分的关键点的初始位置,其中,手掌部分的关键点共面;获取模块61还用于获取手掌部分的手掌姿态和手指部分的手指姿态,根据手掌姿态和手指姿态获取模型手的粗糙初始姿态;优化模块64用于将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解优化问题,得到手的姿态,其中,优化问题包括优化目标和约束条件。
在其中一些实施例中,将粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解优化问题,得到手的姿态包括:
将手的姿态输入到正向模型中,获得模型手的第二关键点坐标,根据的第二关键点坐标和第一关键点坐标,构建第一优化目标Lossloc
根据优化变量和指骨长度,构建第二优化目标Lossfg
根据关节旋转的第一运动范围,构建第三优化目标Lossr
根据当前帧手的姿态和上一帧手的姿态,构建第四优化目标Losssmooth
根据第一优化目标Lossloc、第二优化目标Lossfg、第三优化目标Lossr和第四优化目标Losssmootg,构建模型手的优化目标如下;
Loss(r,t,l)=Lossloc1Lossfg2Lossr3Losssmooth
其中,λi用于控制比例;
优化问题如下:
min Loss(r,t,l)
其中,[r,t,l]=[r1,r2,…,r24,t1,t2,t3,l1,l2,…,l15],ri为每个关节运动的自由度,li为指骨长度,ti为整个模型手三个维度的移动;
约束条件包括如下:
Figure BDA0002903370130000141
其中,
Figure BDA0002903370130000142
为关节旋转的第一运动范围的进一步扩大,得到的第二运动范围,[Lmin,Lmax]为指骨长度的预设范围;
求解优化问题,得到优化目标的最小值及达到最小值时所对应的各个优化变量,优化变量包括手的位置、手的姿态和指骨长度,优化目标的最小值指示手的姿态。
在其中一些实施例中,图7是根据本申请实施例的手势估计优化的方法的流程示意图,如图7所示,该方法包括如下步骤:
步骤S701,程序开始;
步骤S702,获取视频流图像数据;
步骤S703,基于神经网络完成对于图像数据中手势的2D/3D关键点识别和追踪;
步骤S704,判断初始化是否完成,若为是,则从当前帧手的姿态和模型手参数出发优化整体优化姿态结果,若为否,则区分左右手,并对构建的模型手进行初始化;
步骤S705,左右手分类,模型手初始化;
步骤S706,计算手掌姿态;
步骤S707,优化和迭代各手指姿态;
步骤S708,从当前帧手的姿态和模型手参数出发优化整体优化姿态结果;
步骤S709,异常检测;
步骤S710,根据模型手的参数和手的姿态计算关键点坐标;
步骤S711,利用手的姿态和关键点坐标在图像或其他介质上叠加AR效果;
步骤S712,判断是否为首次异常,若为是,则跳转到步骤S906,重新计算手掌姿态,若为否,则跳转到步骤S905,重新区分左右手,并对构建的模型手进行初始化。
通过步骤步骤S701至步骤S712,相比于相关技术中基于单目彩色或灰度的摄像头直接估计人手2.5/3D关键点或姿态的方法结果不够鲁棒,可能存在抖动、跳变、异常值的问题,本申请系统通过优化基于单目摄像头(彩色或灰度)的神经网络输出的2.5D结果,得到更为鲁棒的3D关键点坐标结果以及手的姿态,可以直接完成图像上的AR效果叠加,驱动模型手运动等等,可以很方便地部署到各种移动平台。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
另外,结合上述实施例中的手势估计优化的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种手势估计优化的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种手势估计优化的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图8是根据本申请实施例的电子设备的内部结构示意图,如图8所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图8所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种手势估计优化的方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)

1.一种手势估计优化的方法,其特征在于,所述方法包括:
获取手势图像,根据神经网络获取所述手势图像的第一关键点坐标;
根据所述第一关键点坐标获取手掌法向向量和手指向量,根据所述手指向量在所述手掌法向向量上投影的正负性判断所述第一关键点坐标为左手或者右手;
构建模型手,所述模型手包括手掌部分和手指部分,对所述模型手进行初始化,所述初始化包括:根据所述第一关键点坐标,获取所述模型手每根骨头的指骨长度和所述手掌部分的关键点的初始位置,其中,所述手掌部分的关键点共面;
获取所述手掌部分的手掌姿态和所述手指部分的手指姿态,根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态;
将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态,其中,所述优化问题包括优化目标和约束条件。
2.根据权利要求1所述的方法,其特征在于,将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态包括:
将手的姿态输入到正向模型中,获得所述模型手的第二关键点坐标,根据所述第二关键点坐标和所述第一关键点坐标,构建第一优化目标Lossloc
根据优化变量和所述指骨长度,构建第二优化目标Lossfg
根据关节旋转的第一运动范围,构建第三优化目标Lossr
根据当前帧手的姿态和上一帧手的姿态,构建第四优化目标Losssmooth
根据所述第一优化目标Lossloc、所述第二优化目标Lossfg、所述第三优化目标Lossr和所述第四优化目标Losssmooth,构建所述优化目标如下:
Loss(r,t,l)=Lossloc1Lossfg2Lossr3Losssmooth
其中,λi用于控制比例;
所述优化问题如下:
min Loss(r,t,l)
其中,[r,t,l]=[r1,r2,...,r24,t1,t2,t3,l1,l2,...,l15],ri为每个关节运动的自由度,li为指骨长度,ti为整个模型手三个维度的移动;
约束条件包括如下:
Figure FDA0002903370120000011
li∈[Lmin,Lmax]
其中,
Figure FDA0002903370120000012
为关节旋转的第一运动范围的进一步扩大,得到的第二运动范围,[Lmin,Lmax]为所述指骨长度的预设范围;
求解所述优化问题,得到所述优化目标的最小值及达到所述最小值时所对应的各个优化变量,其中,优化变量包括手的位置、手的姿态和指骨长度,所述优化目标的最小值指示所述手的姿态。
3.根据权利要求1所述的方法,其特征在于,根据所述第一关键点坐标获取手掌法向向量和手指向量,根据所述手指向量在所述手掌法向向量上投影的正负性判断所述第一关键点坐标为左手或者右手包括:
根据所述第一关键点坐标获取手掌上的第一向量和第二向量,根据所述第一向量和所述第二向量获取所述手掌法向向量,其中,所述手掌法向向量的方向指向手心,则为左手,所述手掌法向向量的方向指向手背,则为右手;
获取所述手指向量在所述手掌法向向量上的第一投影,若所述第一投影方向为正,则所述第一关键点坐标为左手,若所述第一投影方向为负,则所述第一关键点坐标为右手。
4.根据权利要求1所述的方法,其特征在于,获取所述手掌部分的手掌姿态和所述手指部分的手指姿态,根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态包括:
获取所述模型手到所述第一关键点坐标对应的手掌的旋转矩阵和平移矩阵,根据所述旋转矩阵和所述平移矩阵获取所述手掌姿态;
根据所述第一关键点坐标,获取每根手指的弯曲角度,根据所述手指的弯曲角度获取所述手指姿态;
根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态。
5.根据权利要求2所述的方法,其特征在于,将手的姿态输入到正向模型中,获得所述模型手的第二关键点坐标之后,所述方法还包括:所述第二关键点坐标作为所述第一关键点坐标的修正结果。
6.根据权利要求2所述的方法,其特征在于,构建所述优化目标之后,所述方法还包括异常检测方法,所述异常检测方法包括:
若所述优化目标大于预设阈值,则跳转到获取所述粗糙初始姿态的步骤;
若跳转到获取所述粗糙初始姿态的步骤之后,所述优化目标还大于所述预设阈值,则跳转到判断所述第一关键点坐标为左手或者右手的步骤。
7.根据权利要求2所述的方法,其特征在于,获取所述手的姿态或者关键点坐标之后,所述方法还包括根据关键点坐标或者所述手的姿态进行AR叠加方法,所述根据关键点坐标或者所述手的姿态进行AR叠加方法包括:
根据采集装置预设的内参获取所述采集装置的FOV,根据所述FOV渲染所述关键点坐标或者所述手的姿态,其中,所述预设的内参无需标定,所述关键点坐标包括所述第一关键点坐标和所述第二关键点坐标。
8.一种手势估计优化的系统,其特征在于,所述系统包括获取模块、判断模块、初始化模块和优化模块,
所述获取模块,用于获取手势图像,并根据神经网络获取所述手势图像的第一关键点坐标;
所述判断模块,用于根据所述第一关键点坐标获取手掌法向向量和手指向量,根据所述手指向量在所述手掌法向向量上投影的正负性判断所述第一关键点坐标为左手或者右手;
所述初始化模块,用于构建模型手,所述模型手包括手掌部分和手指部分,并对所述模型手进行初始化,所述初始化包括:根据所述第一关键点坐标,获取所述模型手每根骨头的指骨长度和所述手掌部分的关键点的初始位置,其中,所述手掌部分的关键点共面;
所述获取模块,还用于获取所述手掌部分的手掌姿态和所述手指部分的手指姿态,根据所述手掌姿态和所述手指姿态获取所述模型手的粗糙初始姿态;
优化模块,用于将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态,其中,所述优化问题包括优化目标和约束条件。
9.根据权利要求8所述的系统,其特征在于,将所述粗糙初始姿态或上一帧手的姿态作为初始值,构建优化问题,求解所述优化问题,得到手的姿态包括:
将手的姿态输入到正向模型中,获得所述模型手的第二关键点坐标,根据所述第二关键点坐标和所述第一关键点坐标,构建第一优化目标Lossloc
根据优化变量和所述指骨长度,构建第二优化目标Lossfg
根据关节旋转的第一运动范围,构建第三优化目标Lossr
根据当前帧手的姿态和上一帧手的姿态,构建第四优化目标Losssmooth
根据所述第一优化目标Lossloc、所述第二优化目标Lossfg、所述第三优化目标Lossr和所述第四优化目标Losssmooth,构建所述优化目标如下:
Loss(r,t,l)=Lossloc1Lossfg2Lossr3Losssmooth
其中,λi用于控制比例;
所述优化问题如下:
min Loss(r,t,l)
其中,[r,t,l]=[r1,r2,...,r24,t1,t2,t3,l1,l2,...,l15],ri为每个关节运动的自由度,li为指骨长度,ti为整个模型手三个维度的移动;
约束条件包括如下:
Figure FDA0002903370120000041
其中,
Figure FDA0002903370120000042
为关节旋转的第一运动范围的进一步扩大,得到的第二运动范围,[Lmin,Lmax]为所述指骨长度的预设范围;
求解所述优化问题,得到所述优化目标的最小值及达到所述最小值时所对应的各个优化变量,其中,优化变量包括手的位置、手的姿态和指骨长度,所述优化目标的最小值指示所述手的姿态。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的手势估计优化的方法。
CN202110062811.4A 2021-01-18 2021-01-18 手势估计优化的方法、系统和电子装置 Active CN112749512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110062811.4A CN112749512B (zh) 2021-01-18 2021-01-18 手势估计优化的方法、系统和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110062811.4A CN112749512B (zh) 2021-01-18 2021-01-18 手势估计优化的方法、系统和电子装置

Publications (2)

Publication Number Publication Date
CN112749512A true CN112749512A (zh) 2021-05-04
CN112749512B CN112749512B (zh) 2024-01-26

Family

ID=75652382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110062811.4A Active CN112749512B (zh) 2021-01-18 2021-01-18 手势估计优化的方法、系统和电子装置

Country Status (1)

Country Link
CN (1) CN112749512B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326751A (zh) * 2021-05-19 2021-08-31 中国科学院上海微系统与信息技术研究所 一种手部3d关键点的标注方法
CN113393563A (zh) * 2021-05-26 2021-09-14 杭州易现先进科技有限公司 关键点自动标注的方法、系统、电子装置和存储介质
CN113449610A (zh) * 2021-06-08 2021-09-28 杭州格像科技有限公司 一种基于知识蒸馏和注意力机制的手势识别方法和系统
CN114185429A (zh) * 2021-11-11 2022-03-15 杭州易现先进科技有限公司 手势关键点定位或姿态估计的方法、电子装置和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130343605A1 (en) * 2012-06-25 2013-12-26 Imimtek, Inc. Systems and methods for tracking human hands using parts based template matching
JP2015001804A (ja) * 2013-06-14 2015-01-05 国立大学法人埼玉大学 ハンドジェスチャトラッキングシステム
CN107374727A (zh) * 2017-07-28 2017-11-24 重庆金山医疗器械有限公司 一种微创外科手术机器人简化运动学模型的建模方法
CN108960178A (zh) * 2018-07-13 2018-12-07 清华大学 一种人手姿态估计方法及系统
CN109308459A (zh) * 2018-09-05 2019-02-05 南京大学 基于手指注意力模型和关键点拓扑模型的手势估计方法
CN109829368A (zh) * 2018-12-24 2019-05-31 平安科技(深圳)有限公司 手掌特征的识别方法、装置、计算机设备及存储介质
CN110147767A (zh) * 2019-05-22 2019-08-20 深圳市凌云视迅科技有限责任公司 基于二维图像的三维手势姿态预测方法
CN110472506A (zh) * 2019-07-11 2019-11-19 广东工业大学 一种基于支持向量机和神经网络优化的手势识别方法
CN111062263A (zh) * 2019-11-27 2020-04-24 杭州易现先进科技有限公司 手部姿态估计的方法、设备、计算机设备和存储介质
CN111709268A (zh) * 2020-04-24 2020-09-25 中国科学院软件研究所 一种深度图像中的基于人手结构指导的人手姿态估计方法和装置
CN112083800A (zh) * 2020-07-24 2020-12-15 青岛小鸟看看科技有限公司 基于自适应手指关节规则滤波的手势识别方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130343605A1 (en) * 2012-06-25 2013-12-26 Imimtek, Inc. Systems and methods for tracking human hands using parts based template matching
JP2015001804A (ja) * 2013-06-14 2015-01-05 国立大学法人埼玉大学 ハンドジェスチャトラッキングシステム
CN107374727A (zh) * 2017-07-28 2017-11-24 重庆金山医疗器械有限公司 一种微创外科手术机器人简化运动学模型的建模方法
CN108960178A (zh) * 2018-07-13 2018-12-07 清华大学 一种人手姿态估计方法及系统
CN109308459A (zh) * 2018-09-05 2019-02-05 南京大学 基于手指注意力模型和关键点拓扑模型的手势估计方法
CN109829368A (zh) * 2018-12-24 2019-05-31 平安科技(深圳)有限公司 手掌特征的识别方法、装置、计算机设备及存储介质
CN110147767A (zh) * 2019-05-22 2019-08-20 深圳市凌云视迅科技有限责任公司 基于二维图像的三维手势姿态预测方法
CN110472506A (zh) * 2019-07-11 2019-11-19 广东工业大学 一种基于支持向量机和神经网络优化的手势识别方法
CN111062263A (zh) * 2019-11-27 2020-04-24 杭州易现先进科技有限公司 手部姿态估计的方法、设备、计算机设备和存储介质
CN111709268A (zh) * 2020-04-24 2020-09-25 中国科学院软件研究所 一种深度图像中的基于人手结构指导的人手姿态估计方法和装置
CN112083800A (zh) * 2020-07-24 2020-12-15 青岛小鸟看看科技有限公司 基于自适应手指关节规则滤波的手势识别方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
雷安琪;冯玉田;唐子成;: "改进型手姿态关键点估计方法在Leap Motion中的应用", 工业控制计算机, no. 09 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326751A (zh) * 2021-05-19 2021-08-31 中国科学院上海微系统与信息技术研究所 一种手部3d关键点的标注方法
CN113326751B (zh) * 2021-05-19 2024-02-13 中国科学院上海微系统与信息技术研究所 一种手部3d关键点的标注方法
CN113393563A (zh) * 2021-05-26 2021-09-14 杭州易现先进科技有限公司 关键点自动标注的方法、系统、电子装置和存储介质
CN113449610A (zh) * 2021-06-08 2021-09-28 杭州格像科技有限公司 一种基于知识蒸馏和注意力机制的手势识别方法和系统
CN114185429A (zh) * 2021-11-11 2022-03-15 杭州易现先进科技有限公司 手势关键点定位或姿态估计的方法、电子装置和存储介质
CN114185429B (zh) * 2021-11-11 2024-03-26 杭州易现先进科技有限公司 手势关键点定位或姿态估计的方法、电子装置和存储介质

Also Published As

Publication number Publication date
CN112749512B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN112749512A (zh) 手势估计优化的方法、系统和电子装置
WO2021103648A1 (zh) 手部关键点检测方法、手势识别方法及相关装置
KR20210011984A (ko) 이미지 처리 방법 및 장치, 이미지 디바이스, 및 저장 매체
CN112083800B (zh) 基于自适应手指关节规则滤波的手势识别方法及系统
CN105989625A (zh) 数据处理的方法和装置
US20210026333A1 (en) Method, system, and non-transitory computer-readable recording medium for supporting object control
CN108693958B (zh) 一种手势识别方法、装置及系统
CN111815768B (zh) 三维人脸重建方法和装置
CN110348359B (zh) 手部姿态追踪的方法、装置及系统
CN111433783B (zh) 手部模型生成方法、装置、终端设备及手部动作捕捉方法
CN115761787A (zh) 一种融合约束的手部姿态测量方法
CN109531578B (zh) 仿人机械手臂体感控制方法及装置
CN116248920A (zh) 虚拟角色直播处理方法、装置及系统
Li et al. 3D hand reconstruction from a single image based on biomechanical constraints
CN116188742A (zh) 虚拟对象的控制方法、装置、设备及存储介质
CN115494938A (zh) 非接触式交互方法及装置
WO2012082077A2 (en) Pose-independent 3d face reconstruction from a sample 2d face image
KR20220086971A (ko) 손 관절을 추적하는 방법 및 장치
CN116012497B (zh) 动画重定向方法、装置、设备及介质
CN111103967A (zh) 虚拟对象的控制方法和装置
US20220415094A1 (en) Method and system for estimating gesture of user from two-dimensional image, and non-transitory computer-readable recording medium
WO2021004507A1 (zh) 虚拟角色控制方法及装置
CN116206026B (zh) 轨迹信息处理方法、装置、计算机设备和可读存储介质
CN115798030A (zh) 基于旋量的手势识别方法、装置、电子设备和存储介质
WO2023189838A1 (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
GR01 Patent grant
GR01 Patent grant