CN115410233B - 一种基于卡尔曼滤波和深度学习的手势姿态估计方法 - Google Patents

一种基于卡尔曼滤波和深度学习的手势姿态估计方法 Download PDF

Info

Publication number
CN115410233B
CN115410233B CN202211354116.6A CN202211354116A CN115410233B CN 115410233 B CN115410233 B CN 115410233B CN 202211354116 A CN202211354116 A CN 202211354116A CN 115410233 B CN115410233 B CN 115410233B
Authority
CN
China
Prior art keywords
gesture
attitude
angle
hand
model
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
CN202211354116.6A
Other languages
English (en)
Other versions
CN115410233A (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.)
Qilu University of Technology
Original Assignee
Qilu University of Technology
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 Qilu University of Technology filed Critical Qilu University of Technology
Priority to CN202211354116.6A priority Critical patent/CN115410233B/zh
Publication of CN115410233A publication Critical patent/CN115410233A/zh
Application granted granted Critical
Publication of CN115410233B publication Critical patent/CN115410233B/zh
Priority to PCT/CN2023/139747 priority patent/WO2024094227A1/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
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及计算机视觉技术领域,尤其是一种基于卡尔曼滤波和深度学习的手势姿态估计方法,本发明包括两个主要部分:一是一种基于卡尔曼滤波数据融合的高精度姿态标注的姿态估计数据集制作,包括第一阶段仿真手姿态估计阶段和第二阶段真实手势图像采集和姿态数据融合阶段;二是基于深度学习和集成学习的对双视角RGB图像进行3D手势姿态估计,3D手势姿态估计分为手势姿态估计模型的训练阶段和预测阶段。在数据集的制作过程中也需要使用到本申请提出的基于深度学习和集成学习的手势姿态估计方法作为卡尔曼滤波中的观测校正使用。

Description

一种基于卡尔曼滤波和深度学习的手势姿态估计方法
技术领域
本发明涉及计算机视觉,人机交互相关技术领域,尤其是一种基于卡尔曼滤波和深度学习的手势姿态估计方法,进行了虚实信息融合。
背景技术
手势作为人体与外界进行接触的一种重要媒介,在人机交互、增强现实、虚拟现实和手势识别等领域具有十分广泛的应用。随着新型人交互方式朝着更加自然、便利的趋势发展,基于手势的人机交互在游戏娱乐、医疗、智能家居和军工等领域具有非常重要的研究意义和前景,准确的手势姿态估计是使用手势进行人机交互等应用的关键环节。
目前,手势姿态估计方法可以分为基于可穿戴传感器设备的方法和基于计算机视觉的方法。基于可穿戴传感器设备的方法要求使用者穿戴装有传感器的数据手套或其它外部辅助设备,借助传感器部件直接获取手势关节点的位置坐标。此类方法不易受光照、背景等自然环境因素的影响,具有较好的鲁棒性和稳定性,但该方法由于辅助设备一般价格昂贵,精密度较高,需要繁琐的操作步骤和维护校准过程,佩戴后会对人手产生一定的动作束缚,使用时灵活性不高。另一种基于计算机视觉的方法,是对手势图像进行模型学习或者数据匹配的方法,它又可根据预测结果的空间维度分为3D姿态估计和2D姿态估计。3D手势姿态估计的研究大多是基于深度图像的,深度图像自带目标对象的深度信息,极大的便利姿态估计的研究。而获取深度图像的深度相机是依据结构光技术、双目立体视觉技术或者飞行时间方法而成像的,其对光照等其它环境因素十分敏感,不适合室外以及其它特殊场景的使用,且一般价格昂贵,移植性差。相比于深度图像,RGB图像的适用性更高,对环境要求低,获取简便,但RGB图像具有深度模糊性,是实现3D姿态估计难点之一,同时难以对其进行精确的姿态数据标注,常用的姿态标注方法就是借助外部物理传感器获取相应的姿态数据,但在实际使用过程中,传感器与手的相对位移以及传感器受环境影响等因素容易产生误差,高质量、高精度的数据集相对缺乏。另外,人手的高自由度和自遮挡特性仍然是手势姿态估计需要克服的问题。
在基于手势进行视觉人机交互的一些应用中,如移动车载云台监控、特种武装移动侦察机器人以及各种简单的机械臂结构,它们的受控对象的自由度不高,使用一种或几种简单手型即可完成相应的控制。因此,在2D图像上实现对固定手型的3D姿态估计具有十分重要的研究意义和广泛的应用前景。
由于RGB图像缺乏深度信息,常借助单一外部传感器设备进行姿态标注的方法仍然不够精确,其原因一是传感器本身的精度问题;二是传感器在使用过程中难以避免与人手发生相对位移等情况,即使使用精确度较高的传感器仍然可能存在较大误差。
发明内容
针对上述问题,本发明提出了一种基于卡尔曼滤波和深度学习的手势姿态估计方法, 本方法中基于双视角RGB图像的对固定手型进行3D手势姿态估计, 采用卡尔曼滤波融合了采集手势图像时手中姿态传感器输出的姿态角度数据(实际物理传感器观测数据)和手势图像经过预先训练的手势姿态估计模型预测的姿态角度数据(虚拟传感器观测数据),通过对一个实际传感器和一个虚拟传感器观测数据的卡尔曼滤波融合,能够有效纠正如传感器在使用中与目标对象间因发生相对位移等情况产生的非传感器精度而导致的测量误差。
本方案中的数据集制作方法的主要流程为,首先在3D仿真环境中预先构建所预测手型的仿真手模型并采集仿真手模型在三维空间中匀速转动过程中的双视角RGB手势图像以及手势图像对应的三维姿态数据,对采集的仿真手图像和姿态数据训练仿真手的3D姿态估计模型; 在现实环境中,人手保持与上述仿真环境中同样的手型姿态并手握姿态传感器,使用两个RGB相机采集真手在三维空间中匀速转动过程中与上述仿真环境中的视角相似的双视角真手RGB图像,同时记录采集手势图像时姿态传感器输出的手势姿态数据。将采集的双视角真手RGB图像使用上述训练好的仿真手姿态估计模型进行姿态预测,使用卡尔曼滤波多传感器数据融合算法将该模型预测的手势姿态数据和双视角真手图像对应的姿态传感器输出的手势姿态数据进行数据融合,融合输出对双视角真手图像的高精度姿态标注数据。采集大量的双视角真手RGB图像并使用卡尔曼滤波对上述来自两种不同渠道的姿态数据进行数据融合,以此获得高精度姿态标注的手势姿态估计数据集,并解决RGB图像因缺少深度信息而标注困难的问题。另外,本申请公开了基于双视角RGB图像的对固定手型进行3D姿态估计的方法,融合了深度学习出色的自动特征提取能力和集成学习算法稳健的回归拟合能力,首先使用CNN提取双视角手势图像的深层特征,再对特征使用集成学习算法进行姿态的回归,构造了一种对双视角RGB手势图像的深度特征进行集成的手势姿态估计模型。该手势姿态估计方法能够有效克服手势自遮挡对预测产生的影响,解决了在普通2D图像上的3D手势姿态估计问题。
本发明提供如下技术方案:一种基于卡尔曼滤波和深度学习的手势姿态估计方法,首先,制作基于卡尔曼滤波数据融合的姿态标注的双视角手势姿态估计数据集,包括第一阶段仿真手姿态估计阶段和第二阶段真实手势图像采集和姿态数据融合阶段;其次,对姿态标注的双视角手势姿态估计数据集进行3D姿态估计,包括手势姿态估计模型的训练阶段和预测阶段。
步骤1-9为基于卡尔曼滤波数据融合的高精度姿态标注的姿态估计数据集制作方法,步骤1-4为第一阶段仿真手姿态估计阶段,步骤5-9为第二阶段真实手势图像采集和姿态数据融合阶段;步骤10-20为第二部分基于深度学习和集成学习的手势姿态估计方法,步骤10-14为第一阶段手势姿态估计模型的训练阶段,步骤15-20为第二阶段模型的预测阶段,高质量的数据集是基于学习的姿态估计方法取得预期效果的前提。
制作双视角手势姿态估计数据集时,首先进行仿真手姿态估计,其次,进行真实手势图像采集和姿态数据融合。
仿真手姿态估计包括如下步骤,
步骤1、确定所要预测的固定手势形态,即固定手型;
步骤2、对于步骤1确定的固定手型,使用建模仿真软件对固定手型进行3D建模,生成与该手型在形态、肤色和纹理等物理外观特性近似的仿真手模型;
步骤3、在3D仿真软件中导入对于步骤2中获得的仿真手模型,并在3D仿真软件中设置两个摄像头,然后在3D仿真环境软件中采集仿真手模型在3维空间中旋转时的双视角手势图像和三轴姿态角度数据
Figure DEST_PATH_IMAGE001
Figure DEST_PATH_IMAGE002
为翻滚角、
Figure DEST_PATH_IMAGE003
为俯仰角、
Figure DEST_PATH_IMAGE004
为偏航角,制作仿真手模型的姿态估计数据集;其中3D仿真软件中两个摄像头和仿真手模型的位姿关系与人类双眼和手势的位姿关系相同;
步骤4、对于仿真手模型的姿态估计数据集使用本基于深度学习和集成学习的手势姿态估计方法,训练仿真手的3D姿态估计模型,使3D姿态估计模型能够对仿真手模型图像实现三维手势姿态的预测;具体操作同步骤10-20。
真实手势图像采集和姿态数据融合包括如下步骤,
步骤5、真实环境下,真实人手保持所要预测的手型姿态,手中置有姿态传感器,即陀螺仪,采集真实人手在三维空间旋转时的双视角手势图像序列和姿态传感器输出的三轴姿态角度数据序列,此时的双视角相机视角位置与步骤2中的双视角设置相同,此过程的姿态称为传感器输出姿态;
步骤6、将步骤3采集的双视角真手图像帧输入到步骤4,使用仿真手图像训练得到的仿真手姿态估计模型中进行姿态预测,该姿态数据称为模型预测姿态;
步骤7、将步骤6中预测的双视角图像对应的传感器输出姿态和模型对图像的预测姿态使用卡尔曼滤波进行数据的融合,将两个均具有不确定性的姿态数据通过卡尔曼滤波融合后输出准确的手势三维姿态数据,该三维姿态数据称为融合姿态,此过程中使用卡尔曼滤波进行多传感器的姿态数据融合操作,融合的是来自不同传感器的手势姿态数据,而非对传感器内部本身的精度校正;
步骤8、将步骤7生成的手势融合姿态作为步骤6采集的手势图像的标签并保存;
步骤9、对步骤5中采集的所有双视角真实手势图像帧和对应的传感器输出姿态均按照步骤6、7、8进行操作,获得具有融合姿态数据标签的真手图像序列,即生成了高精度姿态标注的手势姿态估计数据集。
所述的步骤3中制作仿真手模型的姿态估计数据集,具体步骤如下:
步骤31、在3D建模仿真软件中导入步骤2设计的仿真手的3D建模模型,并设置好坐标系;
步骤32、在3D建模软件中设置可以捕获两个不同视角RGB仿真手图像的视觉传感器和能够输出仿真手模型三轴姿态角度的姿态传感器;
步骤33、编程实现仿真手模型在3D建模软件中绕三维空间坐标轴旋转,定时采集双视角传感器捕获的仿真手图像,同时记录采集图像时的传感器输出姿态角度,以姿态角度作为双视角图像的标签进行保存,采集手势图像和姿态数据就完成了仿真手模型的姿态估计数据集的制作,其中采集大量手势图像和姿态数据。
步骤5中采集真手的双视角手势图像序列和对应的三维姿态数据序列的具体步骤如下:
步骤51、保持所要预测的手势形态并在手中置有姿态传感器,手在转动时姿态传感器元件与手不发生相对移动;
步骤52、设置两个与步骤3中视角相同的两个普通RGB相机;
步骤53、匀速转动手腕并定时捕获两个视角相机的手势图像,并记录采集图像时手中姿态传感器输出的姿态数据,其中匀速转动手腕速度是随机的,且捕获两个视角相机的手势图像是自动捕获。
所述的步骤7中卡尔曼滤波手势姿态数据融合操作,其模型将两部分不确定性的手势姿态数据融合为一组更加精确的手势姿态角度数据
Figure 144334DEST_PATH_IMAGE001
。一是采集真实手势图像时,手握姿态传感器输出的手势三轴姿态角度值
Figure DEST_PATH_IMAGE005
(即实际物理传感器观测角度);二是使用步骤4训练的仿真手势姿态估计模型对采集的真实手势图像进行预测的手势姿态角度值
Figure DEST_PATH_IMAGE006
(即虚拟传感器观测角度)。这两组数据皆存在一定的不确定性,
Figure DEST_PATH_IMAGE007
的不确定性首先是因为姿态传感器自身存在的一定的精度问题,其次是由于手握或贴片的姿态传感器在人手转动变化过程中也会存在一定的相对位移,导致其测量值与手的姿态存在一定操作误差;
Figure DEST_PATH_IMAGE008
的不确定性首先是因为其模型的训练使用的是仿真手的图像,而实际使用时是对真实的人手图像的预测,其势必会存在一定误差,其次是手势姿态估计同样受手势图像的光照亮度、分辨率等因素的影响而产生预测误差。对于上述通过姿态传感器采集的姿态数据
Figure 682763DEST_PATH_IMAGE007
可以看作是由实际传感器获取的,而通过仿真手模型对真手图像预测的姿态数据
Figure 552630DEST_PATH_IMAGE008
可看作是由虚拟传感器获取的。因此,采用卡尔曼滤波多传感器数据融合的方法对上述两种均具有不确定性的传感器观测值进行数据融合,获得对真手的手势图像更加接近真实值的数据融合姿态标注
Figure DEST_PATH_IMAGE009
由于手势姿态估计模型对手势图像进行姿态预测需要一定的时间,即
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
的获取具有一定的时间差。因此,使用卡尔曼滤波对此两种观测数据进行融合时采用串行处理的方式,即对两组手势姿态的观测数据依次对系统状态进行更新校正,获得最终的手势姿态融合数据。
对该卡尔曼滤波手势姿态数据融合预测模型的分析如下:
首先确定系统的状态向量:
由于两个观测数据均为手势的三轴姿态角度,所以第
Figure DEST_PATH_IMAGE012
时刻的系统状态向量
Figure DEST_PATH_IMAGE013
选择为手势三轴姿态角度
Figure DEST_PATH_IMAGE014
,维度为3*1。
建立系统的状态方程,确定系统的状态转移矩阵
Figure DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE016
因为没有控制量
Figure DEST_PATH_IMAGE017
,所以
Figure DEST_PATH_IMAGE018
Figure DEST_PATH_IMAGE019
此系统具有两个观测量,第一个观测量
Figure DEST_PATH_IMAGE020
为传感器输出的手势姿态数据
Figure 474187DEST_PATH_IMAGE010
,第二个观测量
Figure DEST_PATH_IMAGE021
为仿真手姿态估计模型对真手图像的预测姿态数据
Figure 378689DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE022
Figure DEST_PATH_IMAGE023
Figure DEST_PATH_IMAGE024
对于状态方程和观测方程具有以下形式的卡尔曼滤波手势姿态数据融合系统:
Figure DEST_PATH_IMAGE025
(1)
Figure DEST_PATH_IMAGE026
(2)
Figure DEST_PATH_IMAGE027
(3)
其中,
Figure DEST_PATH_IMAGE028
为系统
Figure DEST_PATH_IMAGE029
时刻的过程噪声,
Figure DEST_PATH_IMAGE030
Figure DEST_PATH_IMAGE031
是以传感器输出的姿态数据为系统观测
Figure 461921DEST_PATH_IMAGE020
Figure 678138DEST_PATH_IMAGE012
时刻测量噪声,
Figure DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE033
是以手势姿态估计模型对手势图像预测的姿态数据为系统观测
Figure 232748DEST_PATH_IMAGE021
Figure 850811DEST_PATH_IMAGE012
时刻的测量噪声,
Figure DEST_PATH_IMAGE034
首先由状态方程对手势的姿态角度进行先验估计,以姿态传感器输出的姿态角度
Figure 324517DEST_PATH_IMAGE010
作为系统观测量
Figure 903397DEST_PATH_IMAGE020
对系统的状态估计进行第一次观测校正,再以手势姿态估计模型对手势图像预测的手势姿态角度
Figure DEST_PATH_IMAGE035
作为系统观测量
Figure 855173DEST_PATH_IMAGE021
对经过第一观测校正后的状态进行第二次观测校正,经过两次观测更新后的输出结果就是对两组数据最终的融合
Figure DEST_PATH_IMAGE036
卡尔曼滤波数据串行融合的步骤如下:
步骤701、卡尔曼滤波手势姿态数据融合系统的参数初始化,
初始化系统状态
Figure DEST_PATH_IMAGE037
,初始化系统不确定性协方差矩阵
Figure DEST_PATH_IMAGE038
、系统状态噪声协方差矩阵
Figure DEST_PATH_IMAGE039
以及以姿态传感器输出姿态角度
Figure 29540DEST_PATH_IMAGE010
作为系统观测量
Figure 283935DEST_PATH_IMAGE020
的噪声协方差矩阵
Figure DEST_PATH_IMAGE040
和以手势姿态估计模型对手势图像预测的手势姿态角度
Figure 740324DEST_PATH_IMAGE011
作为系统观测量
Figure 230211DEST_PATH_IMAGE021
的噪声协方差矩阵
Figure DEST_PATH_IMAGE041
步骤702、根据
Figure 100002_DEST_PATH_IMAGE042
时刻的最优手势姿态角度估计
Figure 229391DEST_PATH_IMAGE012
时刻的手势姿态角度
Figure DEST_PATH_IMAGE043
Figure DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE045
步骤703、根据先验估计系统不确定性协方差矩阵
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE047
T为矩阵的转置,
步骤704、根据系统观测
Figure 356485DEST_PATH_IMAGE020
的数据计算卡尔曼增益
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE049
步骤705、更新计算系统的后验不确定性协方差矩阵
Figure DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
I为单位矩阵
步骤706、采用传感器输出姿态角度
Figure 237853DEST_PATH_IMAGE010
作为观测值
Figure 406798DEST_PATH_IMAGE020
对姿态进行第一次更新校正,
Figure DEST_PATH_IMAGE052
表示观测值
Figure 853960DEST_PATH_IMAGE020
Figure 309212DEST_PATH_IMAGE012
时刻的值,
Figure DEST_PATH_IMAGE053
Figure DEST_PATH_IMAGE054
得到第一次更新的手势姿态角度
Figure DEST_PATH_IMAGE055
步骤707、由上述步骤获得第一次观测更新后的系统状态
Figure DEST_PATH_IMAGE056
(手势姿态角度
Figure DEST_PATH_IMAGE057
)和系统的不确定性协方差矩阵
Figure 317357DEST_PATH_IMAGE050
,采用手势姿态估计模型对手势图像预测的手势姿态角度
Figure 149046DEST_PATH_IMAGE008
作为观测值
Figure 716294DEST_PATH_IMAGE021
对系统的状态进行第二次更新校正,
步骤708、根据系统观测2的数据计算卡尔曼增益
Figure 217814DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE058
步骤709、更新系统的不确定性协方差
Figure 401670DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE059
步骤710、以手势姿态估计模型对手势图像预测的姿态角度
Figure 177996DEST_PATH_IMAGE035
作为观测值
Figure 334171DEST_PATH_IMAGE021
对手势姿态进行第二次更新校正,
Figure DEST_PATH_IMAGE060
表示观测值
Figure 803330DEST_PATH_IMAGE021
Figure 677745DEST_PATH_IMAGE012
时刻的值,
Figure 100002_DEST_PATH_IMAGE061
Figure DEST_PATH_IMAGE062
Figure DEST_PATH_IMAGE063
即为对两组观测值进行卡尔曼滤波融合后的手势姿态角度值
Figure DEST_PATH_IMAGE064
,输出该融合角度数据,即输出融合后的手势姿态角度值;
步骤711、迭代步骤702-710,不断对两组数据融合输出高精度的手势姿态角度值。
以下为本申请的第二部分发明内容,即对步骤1-9生成的高精度姿态标注的双视角手势姿态估计数据集进行3D姿态估计,基于深度学习和集成学习的对双视角RGB图像进行3D姿态估计的方法,其操作步骤为步骤10-20。
进行3D姿态估计时,首先进行手势姿态估计模型的训练,然后进行手势姿态估计模型的预测;
手势姿态估计模型的训练阶段步骤如下:
步骤10、将双视角手势姿态估计数据集中所有视角1的图像训练基于CNN的特征提取器
Figure DEST_PATH_IMAGE065
步骤11、与步骤10一样,将双视角手势姿态估计数据集中所有视角2的图像训练基于CNN的特征提取器
Figure DEST_PATH_IMAGE066
步骤12、使用步骤10和11训练得到的特征提取器
Figure 225139DEST_PATH_IMAGE065
Figure 501399DEST_PATH_IMAGE066
分别提取双视角手势姿态估计数据集各自视角手势图像的深层特征
Figure DEST_PATH_IMAGE067
Figure DEST_PATH_IMAGE068
步骤13、对于数据集中属于同时刻下采集的双视角图像的双视角特征
Figure DEST_PATH_IMAGE069
Figure DEST_PATH_IMAGE070
进行左右串行拼接,生成一个组合特征
Figure DEST_PATH_IMAGE071
步骤14、对步骤13中获得的组合特征序列构造基于贝叶斯优化的集成学习手势姿态回归器,使用集成学习的回归算法进行手势的姿态回归,保存训练好的集成学习姿态回归模型。
手势姿态估计模型的预测阶段的步骤如下:
步骤15、训练一个手部检测模型,用于在实时手势姿态估计之前的摄像机捕获图像的筛选,剔除不包含人手的无效图像;
步骤16、采集与双视角手势姿态估计数据集中相同视角的双视角测试手势图像帧;
步骤17、使用步骤15中训练的手部检测模型对步骤16采集的双视角测试图像帧进行手部检测,确认图像是否包含人手;
步骤18、对手部检测后包含人手的双视角图像使用步骤10和步骤11训练的特征提取器提取双视角测试图像的深层特征
Figure 547984DEST_PATH_IMAGE067
Figure DEST_PATH_IMAGE072
步骤19、同步骤13,对步骤18提取的双视角测试图像特征
Figure 175274DEST_PATH_IMAGE067
Figure 152457DEST_PATH_IMAGE068
进行左右串行拼接,获得组合特征
Figure DEST_PATH_IMAGE073
步骤20、将获得的测试图像组合特征输入到步骤14训练的集成学习手势姿态回归模型中进行姿态预测,输出对手势的三维姿态预测值。
步骤10和步骤11中训练基于CNN的特征提取器,操作步骤如下:
步骤101、选择可以提取图像深层特征的CNN架构;
步骤102、设置步骤101中CNN网络的全连接层为3个维度输出的回归层;
步骤103、以单一视角中的所有手势图像作为网络的输入,以手势的三轴姿态角度标签为输出,训练CNN网络拟合手势图像和三轴姿态角度;
步骤104、在训练CNN收敛到设定范围内后,停止训练,保存准确率最高的网络训练权重。
所述的步骤12中,使用训练好的CNN模型在提出手势图像时是提取的网络最后一个卷积层的输出特征。
所述的步骤14中构造集成学习手势姿态回归器,就是选择使用回归能力强的集成学习回归算法,对提取的双视角手势图像的深层特征进行姿态回归,拟合双视角手势图像特征和对应的手势姿态角度值。具体步骤如下:
步骤141、对提取并拼接后的双视角手势图像的组合深层特征进行特征降维;
步骤142、对降维后的手势图像特征和图像所对应的姿态角度数据构造新的手势姿态回归数据集;
步骤143、构造基于集成学习回归算法的手势姿态回归模型,即拟合手势图像的特征和姿态角度数据;
步骤144、以集成学习回归算法的超参数取值范围集合为搜索空间
Figure DEST_PATH_IMAGE074
,以最小化手势姿态角度回归的误差为目标函数
Figure DEST_PATH_IMAGE075
,采用贝叶斯优化方法搜索集成学习手势姿态回归模型的最优超参数组合
Figure DEST_PATH_IMAGE076
,使其目标函数取得最小值;
Figure DEST_PATH_IMAGE077
步骤145、使用步骤144搜索的最优手势姿态回归超参数组合训练模型并保存。
在步骤20中,对双视角测试手势图像的深层特征在使用步骤14训练好的集成学习手势姿态回归模型预测前需要进行与步骤141同样的特征降维处理。
通过上述描述可以看出本方案相比现有技术,有益效果包括: 1、本申请提出一种基于卡尔曼滤波虚实信息融合的制作高精度姿态标记的双视角手势图像姿态估计数据集的方法,该方法可解决普通RGB图像姿态标注困难的问题,能够有效克服使用单一传感器产生的误差,可以获得更加精确的姿态估计数据集;2、本申请提出的手势姿态估计估计方法基于双视角图像进行模型训练和模型预测,能够有效克服手势的自遮挡问题,提高模型姿态估计精确度;3、本申请提出的手势姿态估计方法实现了对普通RGB图像的3D姿态估计,适用性更加广泛,操作方便简单;4、本申请提出的手势姿态估计方法是针对某种固定手势的,可实现对任何固定手势进行姿态估计,并且能够更好地与低自由度的手势应用相结合。
附图说明
图1是本发明具体实施方式的整体框图。
图2是本发明的姿态估计数据集的制作方法流程图。
图3是本发明的基于卡尔曼滤波的手势姿态角度数据融合流程图。
图4是本发明的基于双视角RGB图像的3D手势姿态估计方法的模型训练阶段流程图。
图5是本发明的基于双视角RGB图像的3D手势姿态估计方法的模型测试阶段流程图。
具体实施方式
下面将结合本发明具体实施方式中的附图,对本发明具体实施方式中的技术方案进行清楚、完整地描述,显然,所描述的具体实施方式仅仅是本发明一种具体实施方式,而不是全部的具体实施方式。基于本发明中的具体实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他具体实施方式,都属于本发明保护的范围。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合;
通过附图1可以看出,本方案包括两个部分:一是基于卡尔曼滤波数据融合的高精度姿态标注的姿态估计数据集制作;二是基于深度学习和集成学习的对双视角RGB图像进行3D手势姿态估计,3D手势姿态估计分为手势姿态估计模型的训练阶段和预测阶段。在数据集的制作过程中也需要使用到本申请提出的基于深度学习和集成学习的手势姿态估计方法作为卡尔曼滤波中的观测校正使用。故本申请的手势姿态估计方法和高精度姿态标记的数据集制作方法具有十分紧密的联系,又可进行单独使用。
结合图2可以看出,本方案基于卡尔曼滤波制作具有高精度姿态标记的双视角手势图像姿态估计数据集,步骤如下:
步骤1、确定所要预测的固定手势形态,如笛卡尔坐标系手型;
步骤2、对于步骤1确定的固定手型,使用建模仿真软件对其进行建模,生成与该手型在形态、肤色和纹理等其它物理外观特性近似的仿真手模型的文件;
步骤3、在3D仿真软件中导入对于步骤2中获得的仿真手模型,并在3D仿真软件中设置两个摄像头,然后在3D仿真环境软件中采集仿真手模型的双视角手势图像和三维姿态数据,制作仿真手模型的姿态估计数据集;其中3D仿真软件中两个摄像头和仿真手模型的位姿关系与人类双眼和手势的位姿关系相近;
步骤4、对于仿真手模型的姿态估计数据集使用本申请第二部分提出的基于深度学习和集成学习的手势姿态估计方法,训练仿真手的3D姿态估计模型,使其能够对仿真手模型图像实现三维手势姿态的预测,具体操作同步骤10-20;
步骤5、如图2,真实环境下,真实人手同样保持所要预测的手型姿态,手中置有陀螺仪,即姿态传感器,同样采集其在三维空间旋转时的双视角手势图像序列和姿态传感器输出的三维姿态数据序列,注意此时的双视角相机视角位置需与步骤2中的双视角相似。此过程的姿态称为传感器输出姿态;
步骤6、将步骤3采集的双视角真手图像帧输入到步骤4使用仿真手图像训练得到的仿真手势姿态估计模型中进行姿态预测,该姿态数据称为模型预测姿态;
步骤7、如图2,由于步骤4中训练的仿真手姿态估计模型是由仿真手图像训练的,将其直接对真手图像预测会产生一定的误差;另外,步骤5中对真手使用姿态传感器输出的姿态数据也会由于传感器的精度、灵敏度以及使用时与手的相对移动等各种操作因素而产生一定误差。因此,真手图像对应的传感器输出姿态和模型预测姿态均存在不确定性,将步骤6中预测的双视角图像对应的同一组双视角手势图像的传感器输出姿态和模型预测姿态使用卡尔曼滤波进行多数据的融合,将两个均具有不确定性的姿态数据通过卡尔曼滤波融合后输出一个准确的手势三维姿态数据,该三维姿态数据称为融合姿态;此过程中使用卡尔曼滤波进行多传感器的姿态数据融合操作,融合的是来自不同传感器的手势姿态数据,而非对传感器内部本身的精度校正;
步骤8、将步骤7生成的手势融合姿态作为步骤6预测手势图像的标签并保存手势图像和标签;
步骤9、对步骤5中采集的所有双视角真手图像帧和对应的传感器输出姿态均按照步骤6、7、8进行操作,获得带融合姿态标签的真手图像序列,即生成了高精度姿态标注的手势姿态估计数据集。
步骤3中制作仿真手模型的姿态估计数据集的具体步骤如下:
步骤31、在3D建模仿真软件中导入步骤2设计的仿真手的3D建模模型,并设置好坐标系;
步骤32、在3D建模软件中设置可以捕获两个不同视角RGB仿真手图像的视觉传感器和能够输出仿真手模型三轴姿态的姿态传感器;
步骤33、编程实现仿真手模型在3D建模软件中绕三维空间坐标轴旋转,定时采集双视角传感器捕获的仿真手图像,同时记录采集图像时的传感器输出姿态角度,以姿态角度作为双视角图像的标签进行保存,采集大量手势图像和姿态数据就完成了仿真手模型的姿态估计数据集的制作。
步骤4中训练仿真手姿态估计模型的方法使用的就是本申请提出的基于深度学习和集成学习的手势姿态估计方法,其具体操作同如下步骤10-20。
步骤5中所述的采集真手的双视角手势图像序列和对应的三维姿态数据序列的具体步骤如下:
步骤51、保持所要预测的手势形态并在手掌内放置姿态传感器,手在转动时姿态传感器与手不发生相对移动;
步骤52、设置两个与步骤3中视角相同的两个普通RGB相机;
步骤53、随机匀速转动手腕编程实现定时自动捕获两个视角相机的手势图像,并记录采集图像时手中姿态传感器的输出数据。
如图3,给出了在数据集制作过程中,基于卡尔曼滤波的手势姿态多数据融合的结构和操作流程。由于手势姿态估计模型对手势图像进行姿态预测需要一定的时间,即
Figure 860388DEST_PATH_IMAGE007
Figure 264825DEST_PATH_IMAGE011
的获取具有一定的时间差。因此,使用卡尔曼滤波对此两种观测数据进行融合时采用串行处理的方式,即对两组手势姿态的观测数据依次对系统状态进行更新校正,获得最终的手势姿态融合数据
Figure DEST_PATH_IMAGE078
对该卡尔曼滤波手势姿态的数据融合预测模型的分析如下:
首先确定系统的状态向量:
由于两个观测数据均为手势的三轴姿态角度,所以第
Figure 254777DEST_PATH_IMAGE012
时刻的系统状态向量
Figure 770072DEST_PATH_IMAGE013
选择为手势三轴姿态角度
Figure 20925DEST_PATH_IMAGE014
,维度为3*1。
建立系统的状态方程,确定系统的状态转移矩阵
Figure 596263DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE079
因为没有控制量
Figure 73512DEST_PATH_IMAGE017
,所以
Figure 392498DEST_PATH_IMAGE018
Figure 497857DEST_PATH_IMAGE019
此系统具有两个观测量,第一个观测量
Figure 883577DEST_PATH_IMAGE020
为传感器输出的手势姿态数据
Figure 441597DEST_PATH_IMAGE010
,第二个观测量
Figure 298695DEST_PATH_IMAGE021
为仿真手姿态估计模型对真手图像的预测姿态数据
Figure 258560DEST_PATH_IMAGE011
Figure 51067DEST_PATH_IMAGE022
Figure 361963DEST_PATH_IMAGE023
Figure DEST_PATH_IMAGE080
对于状态方程和观测方程具有以下形式的卡尔曼滤波手势姿态数据融合系统:
Figure 288330DEST_PATH_IMAGE025
(1)
Figure 978069DEST_PATH_IMAGE026
(2)
Figure 331690DEST_PATH_IMAGE027
(3)
其中,
Figure 864302DEST_PATH_IMAGE028
为系统
Figure 328782DEST_PATH_IMAGE029
时刻的过程噪声,
Figure 873027DEST_PATH_IMAGE030
Figure 397549DEST_PATH_IMAGE031
是以传感器输出的姿态数据为系统观测
Figure 417457DEST_PATH_IMAGE020
Figure 420048DEST_PATH_IMAGE012
时刻测量噪声,
Figure 582914DEST_PATH_IMAGE032
Figure 278338DEST_PATH_IMAGE033
是以手势姿态估计模型对手势图像预测的姿态数据为系统观测
Figure 519963DEST_PATH_IMAGE021
Figure 326245DEST_PATH_IMAGE012
时刻的测量噪声,
Figure 110662DEST_PATH_IMAGE034
首先由状态方程对手势的姿态角度进行先验估计,以姿态传感器输出的姿态角度
Figure 976987DEST_PATH_IMAGE010
作为系统观测量
Figure 971487DEST_PATH_IMAGE020
对系统的状态估计进行第一次观测校正,再以手势姿态估计模型对手势图像预测的手势姿态角度
Figure DEST_PATH_IMAGE081
作为系统观测量
Figure 456826DEST_PATH_IMAGE021
对经过第一观测校正后的状态进行第二次观测校正,经过两次观测更新后的输出结果就是对两组数据最终的融合。
具体地,其卡尔曼滤波数据串行融合的操作步骤如下:
步骤701、卡尔曼滤波手势姿态数据融合系统的参数初始化:
初始化系统状态
Figure 220383DEST_PATH_IMAGE037
,初始化系统不确定性协方差矩阵
Figure 992030DEST_PATH_IMAGE038
、系统状态噪声协方差矩阵
Figure 349193DEST_PATH_IMAGE039
以及以姿态传感器输出姿态角度
Figure 497278DEST_PATH_IMAGE010
作为系统观测量
Figure 115341DEST_PATH_IMAGE020
的噪声协方差矩阵
Figure 323468DEST_PATH_IMAGE040
和以手势姿态估计模型对手势图像预测的手势姿态角度
Figure 400883DEST_PATH_IMAGE011
作为系统观测量
Figure 87080DEST_PATH_IMAGE021
的噪声协方差矩阵
Figure 825229DEST_PATH_IMAGE041
步骤702、根据先验估计由
Figure 938678DEST_PATH_IMAGE029
时刻的手势姿态角度估计
Figure 4854DEST_PATH_IMAGE012
时刻的手势姿态角度
Figure DEST_PATH_IMAGE082
Figure DEST_PATH_IMAGE083
步骤703、根据先验估计系统不确定性协方差矩阵
Figure 25900DEST_PATH_IMAGE046
Figure 493921DEST_PATH_IMAGE047
步骤704、根据系统观测1的数据计算卡尔曼增益
Figure 43851DEST_PATH_IMAGE048
Figure 721958DEST_PATH_IMAGE049
步骤705、更新计算系统的后验不确定性协方差矩阵
Figure 749956DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE084
步骤706、如图3,采用传感器输出姿态角度
Figure 338064DEST_PATH_IMAGE007
作为观测值
Figure 58895DEST_PATH_IMAGE020
对姿态进行第一次更新校正,
Figure 224297DEST_PATH_IMAGE052
表示观测值
Figure 429888DEST_PATH_IMAGE020
Figure 731557DEST_PATH_IMAGE012
时刻的值:
Figure 623289DEST_PATH_IMAGE053
Figure 275987DEST_PATH_IMAGE054
得到第一次更新的手势姿态角度
Figure 521155DEST_PATH_IMAGE055
步骤707、由上述步骤获得第一次观测更新后的系统状态
Figure 942909DEST_PATH_IMAGE056
(手势姿态角度
Figure 5543DEST_PATH_IMAGE057
)和系统的不确定性协方差矩阵
Figure 879958DEST_PATH_IMAGE050
。采用手势姿态估计模型对手势图像预测的手势姿态角度
Figure DEST_PATH_IMAGE085
作为观测值
Figure 459975DEST_PATH_IMAGE021
对系统的状态进行第二次更新校正。
步骤708、根据系统观测
Figure 736236DEST_PATH_IMAGE021
的数据计算卡尔曼增益
Figure 969771DEST_PATH_IMAGE048
Figure 206848DEST_PATH_IMAGE058
步骤709、更新系统的不确定性协方差
Figure 918453DEST_PATH_IMAGE050
Figure 314799DEST_PATH_IMAGE059
步骤710、如图3,以手势姿态估计模型对手势图像预测的姿态角度
Figure 719235DEST_PATH_IMAGE035
作为观测值
Figure 965581DEST_PATH_IMAGE021
对手势姿态进行第二次更新校正,
Figure 480876DEST_PATH_IMAGE060
表示观测值
Figure 731729DEST_PATH_IMAGE021
Figure 307067DEST_PATH_IMAGE012
时刻的值:
Figure 518737DEST_PATH_IMAGE061
Figure 837723DEST_PATH_IMAGE062
Figure 208661DEST_PATH_IMAGE063
即为对两组观测值进行卡尔曼滤波融合后的手势姿态角度值
Figure 830266DEST_PATH_IMAGE064
,输出该融合角度数据。
步骤711、迭代步骤702-710,不断对两组数据融合输出高精度的手势姿态角度值。
经过上述步骤,采用卡尔曼滤波的方法将双视角手势图像的两组不确定性姿态数据融合为一组精确度更高、更接近真实数据的姿态标记。
如图4和图5,手势姿态估计采用基于卷积神经网络CNN和集成学习的对双视角手势图像的手势姿态估计方法,该方法同样也在本申请提出的制作高精度姿态标记的数据集中进行了使用。该手势姿态估计方法主要分为模型的训练和预测两个部分。
如图4,手势姿态估计模型训练阶段,步骤如下:
步骤10、将双视角分别记录为视角1和视角2,将双视角手势姿态估计数据集中所有视角1的图像训练基于CNN的特征提取器
Figure 388287DEST_PATH_IMAGE065
,CNN可选择如ResNet等深层卷积神经网络;
步骤11、将双视角手势姿态估计数据集中所有视角2的图像训练基于CNN的特征提取器
Figure 510963DEST_PATH_IMAGE066
步骤12、使用步骤10和11训练得到的特征提取器
Figure 470829DEST_PATH_IMAGE065
Figure 263336DEST_PATH_IMAGE066
分别提取双视角手势姿态估计数据集各自视角手势图像的深层特征
Figure 574231DEST_PATH_IMAGE067
Figure 235020DEST_PATH_IMAGE068
步骤13、对于数据集中属于同时刻下采集的双视角图像的双视角特征
Figure 49392DEST_PATH_IMAGE069
Figure 137434DEST_PATH_IMAGE070
进行左右串行拼接,生成一个组合特征
Figure 43948DEST_PATH_IMAGE071
步骤14、对步骤13中获得的组合特征序列构造基于贝叶斯优化的集成学习手势姿态回归器,使用集成学习的回归算法进行手势的姿态回归,集成学习算法可选择回归性能出色的LightGBM、CatBooat等算法,最后保存训练好的集成学习姿态回归模型。
所述的步骤10和步骤11中训练基于CNN的特征提取器,具体过程如下:
步骤101、选择可以提取图像深层特征的CNN架构,CNN可选择如ResNet等深层卷积神经网络;
步骤102、设置步骤101中CNN网络的全连接层为3个维度输出的回归层;
步骤103、以单一视角中的所有手势图像作为网络的输入,以手势的三轴姿态角度标签为输出,训练CNN网络拟合手势图像和三轴姿态角度;
步骤104、在训练CNN收敛到一定范围内后,停止训练,保存准确率最高的网络训练权重。
在步骤12中,使用训练好的CNN模型在提出手势图像时是提取的网络最后一个卷积层的输出特征。
步骤14中构造集成学习手势姿态回归器,就是选择使用回归能力强的集成学习回归算法,对提取的双视角手势图像的深层特征进行姿态回归,拟合双视角手势图像特征和对应的手势姿态角度值。步骤如下:
步骤141、对提取并拼接后的双视角手势图像的组合深层特征进行如PCA特征降维的处理;
步骤142、对降维后的手势图像特征和图像所对应的姿态角度数据构造新的手势姿态回归数据集;
步骤143、构造基于集成学习回归算法的手势姿态回归模型,即拟合手势图像的特征和姿态角度数据;
步骤144、以集成学习回归算法的超参数取值范围集合为搜索空间
Figure 242848DEST_PATH_IMAGE074
,以最小化手势姿态回归的误差为目标函数
Figure DEST_PATH_IMAGE086
,采用贝叶斯优化方法搜索集成学习手势姿态回归模型的最优超参数组合
Figure 442885DEST_PATH_IMAGE076
,使目标函数取得最小值;
Figure 842774DEST_PATH_IMAGE077
步骤145、使用步骤144搜索的最优手势姿态回归超参数组合训练模型并保存。
如图4,手势姿态估计模型的预测阶段的步骤如下:
步骤15、训练一个手部检测模型,用于在实时手势姿态估计之前的摄像机捕获图像的筛选,剔除不包含人手的无效图像;
步骤16、采集与双视角手势姿态估计数据集中相同视角的双视角测试手势图像帧;
步骤17、首先使用步骤15中训练的手部检测模型对步骤16采集的双视角测试图像帧进行手部检测,确认图像是否包含人手,如图5所示;
步骤18、对手部检测后包含人手的双视角测试图像使用步骤10和步骤11训练的特征提取器提取双视角测试图像的深层特征
Figure 862682DEST_PATH_IMAGE067
Figure 130852DEST_PATH_IMAGE068
步骤19、同步骤13,对步骤18提取的双视角测试图像特征
Figure 795183DEST_PATH_IMAGE067
Figure 225027DEST_PATH_IMAGE068
进行左右串行拼接,获得组合特征
Figure 732232DEST_PATH_IMAGE073
步骤20、将获得的测试图像组合特征进行与步骤141同样的特征降维处理,然后输入到步骤14训练的集成学习手势姿态回归模型中进行姿态预测,输出对手势的三维姿态预测值。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (7)

1.一种基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于:
制作基于卡尔曼滤波数据融合的姿态标注的双视角手势姿态估计数据集,包括第一阶段仿真手姿态估计阶段和第二阶段真实手势图像采集和姿态数据融合阶段;
对姿态标注的双视角手势姿态估计数据集进行3D姿态估计,包括手势姿态估计模型的训练阶段和预测阶段;
制作双视角手势姿态估计数据集时,首先进行仿真手姿态估计,其次,进行真实手势图像采集和姿态数据融合;
仿真手姿态估计包括如下步骤,
步骤1、确定所要预测的固定手势形态,即固定手型;
步骤2、对于步骤1确定的固定手型,使用建模仿真软件对固定手型进行3D建模,生成与该手型的物理外观特性近似的仿真手模型,物理外观特性包括在形态、肤色和纹理;
步骤3、在3D仿真软件中导入对于步骤2中获得的仿真手模型,并在3D仿真软件中设置两个摄像头,然后在3D仿真环境软件中采集仿真手模型在3维空间中旋转时的双视角手势图像和三轴姿态角度数据
Figure 945202DEST_PATH_IMAGE001
Figure 331184DEST_PATH_IMAGE002
为翻滚角、
Figure 110921DEST_PATH_IMAGE004
为俯仰角、
Figure 506130DEST_PATH_IMAGE005
为偏航角,制作仿真手模型的姿态估计数据集;其中3D仿真软件中两个摄像头和仿真手模型的位姿关系与人类双眼和手势的位姿关系相同;
步骤4、对于仿真手模型的姿态估计数据集使用基于深度学习和集成学习的手势姿态估计方法,训练仿真手的3D姿态估计模型,使3D姿态估计模型能够对仿真手模型图像实现三维手势姿态的预测;
真实手势图像采集和姿态数据融合包括如下步骤,
步骤5、真实环境下,真实人手保持所要预测的手型姿态,手中置有姿态传感器,采集真实人手在三维空间旋转时的双视角手势图像序列和姿态传感器输出的三轴姿态角度数据序列,此时的双视角相机视角位置与步骤2中的双视角设置相同,此过程的姿态称为传感器输出姿态;
步骤6、将步骤3采集的双视角真手图像帧输入到步骤4,使用仿真手图像训练得到的仿真手姿态估计模型中进行姿态预测,该姿态数据称为模型预测姿态;
步骤7、将步骤6中预测的双视角图像对应的传感器输出姿态和模型对图像的预测姿态使用卡尔曼滤波进行数据的融合,将两个均具有不确定性的姿态数据通过卡尔曼滤波融合后输出准确的手势三维姿态数据,该三维姿态数据称为融合姿态,此过程中使用卡尔曼滤波进行多传感器的姿态数据融合操作,融合的是来自不同传感器的手势姿态数据;
步骤8、将步骤7生成的手势融合姿态作为步骤6采集的手势图像的标签并保存;
步骤9、对步骤5中采集的所有双视角真实手势图像帧和对应的传感器输出姿态均按照步骤6、7、8进行操作,获得具有融合姿态数据标签的真手图像序列,即生成了高精度姿态标注的手势姿态估计数据集;
进行3D姿态估计时,首先进行手势姿态估计模型的训练,然后进行手势姿态估计模型的预测;
手势姿态估计模型的训练阶段步骤如下:
步骤10、将双视角分别记录为视角1和视角2,将双视角手势姿态估计数据集中所有视角1的图像训练基于卷积神经网络CNN的特征提取器
Figure 648399DEST_PATH_IMAGE006
步骤11、将双视角手势姿态估计数据集中所有视角2的图像训练基于卷积神经网络CNN的特征提取器
Figure 470861DEST_PATH_IMAGE007
步骤12、使用步骤10和11训练得到的特征提取器
Figure 737895DEST_PATH_IMAGE008
Figure 936795DEST_PATH_IMAGE007
分别提取双视角手势姿态估计数据集各自视角手势图像的深层特征
Figure 933570DEST_PATH_IMAGE009
Figure 926933DEST_PATH_IMAGE010
步骤13、对于数据集中属于同时刻下采集的双视角图像的双视角特征
Figure 681263DEST_PATH_IMAGE011
Figure 887116DEST_PATH_IMAGE012
进行左右串行拼接,生成一个组合特征
Figure 410501DEST_PATH_IMAGE013
步骤14、对步骤13中获得的组合特征序列构造基于贝叶斯优化的集成学习手势姿态回归器,使用集成学习的回归算法进行手势的姿态回归,保存训练好的集成学习姿态回归模型;
手势姿态估计模型的预测阶段的步骤如下:
步骤15、训练一个手部检测模型,用于在实时手势姿态估计之前的摄像机捕获图像的筛选,剔除不包含人手的无效图像;
步骤16、采集与双视角手势姿态估计数据集中相同视角的双视角测试手势图像帧;
步骤17、使用步骤15中训练的手部检测模型对步骤16采集的双视角测试图像帧进行手部检测,确认图像是否包含人手;
步骤18、对手部检测后包含人手的双视角图像使用步骤10和步骤11训练的特征提取器提取双视角测试图像的深层特征
Figure 840346DEST_PATH_IMAGE014
Figure 81971DEST_PATH_IMAGE015
步骤19、同步骤13,对步骤18提取的双视角测试图像特征
Figure 684991DEST_PATH_IMAGE016
Figure 328462DEST_PATH_IMAGE017
进行左右串行拼接,获得组合特征
Figure 758568DEST_PATH_IMAGE018
步骤20、将获得的测试图像组合特征输入到步骤14训练的集成学习手势姿态回归模型中进行姿态预测,输出对手势的三维姿态预测值。
2.根据权利要求1所述的基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于,
所述的步骤3中制作仿真手模型的姿态估计数据集,具体步骤如下:
步骤31、在3D建模仿真软件中导入步骤2设计的仿真手的3D建模模型,并设置好坐标系;
步骤32、在3D建模软件中设置可以捕获两个不同视角RGB仿真手图像的视觉传感器和能够输出仿真手模型三轴姿态角度的姿态传感器;
步骤33、实现仿真手模型在3D建模软件中绕三维空间坐标轴旋转,定时采集双视角传感器捕获的仿真手图像,同时记录采集图像时的传感器输出姿态角度,以姿态角度作为双视角图像的标签进行保存,采集手势图像和姿态数据就完成了仿真手模型的姿态估计数据集的制作。
3.根据权利要求2所述的基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于,
所述的步骤5中采集真手的双视角手势图像序列和对应的三维姿态数据序列的具体步骤如下:
步骤51、保持所要预测的手势形态并在手中置有姿态传感器,手在转动时姿态传感器元件与手不发生相对移动;
步骤52、设置两个与步骤3中视角相同的两个普通RGB相机;
步骤53、匀速转动手腕并定时捕获两个视角相机的手势图像,并记录采集图像时手中姿态传感器输出的姿态数据。
4.根据权利要求3所述的基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于,
卡尔曼滤波数据串行融合的步骤如下:
步骤701、卡尔曼滤波手势姿态数据融合系统的参数初始化,
初始化系统状态
Figure 487490DEST_PATH_IMAGE019
,初始化系统不确定性协方差矩阵
Figure 566304DEST_PATH_IMAGE020
、系统状态噪声协方差矩阵
Figure 64282DEST_PATH_IMAGE021
以及以姿态传感器输出姿态角度
Figure 39191DEST_PATH_IMAGE022
作为系统观测量
Figure 989830DEST_PATH_IMAGE023
的噪声协方差矩阵
Figure 872335DEST_PATH_IMAGE024
和以手势姿态估计模型对手势图像预测的手势姿态角度
Figure 224819DEST_PATH_IMAGE025
作为系统观测量
Figure 760842DEST_PATH_IMAGE026
的噪声协方差矩阵
Figure 198777DEST_PATH_IMAGE027
步骤702、根据时刻的最优手势姿态角度估计
Figure 619394DEST_PATH_IMAGE028
时刻的手势姿态角度
Figure 419860DEST_PATH_IMAGE029
Figure 2151DEST_PATH_IMAGE030
Figure 927382DEST_PATH_IMAGE031
步骤703、根据先验估计系统不确定性协方差矩阵
Figure 151690DEST_PATH_IMAGE032
Figure 213186DEST_PATH_IMAGE033
T表示矩阵的转置,
步骤704、根据系统观测
Figure 825433DEST_PATH_IMAGE034
的数据计算卡尔曼增益
Figure 237960DEST_PATH_IMAGE035
Figure 265959DEST_PATH_IMAGE036
步骤705、更新计算系统的后验不确定性协方差矩阵
Figure 447542DEST_PATH_IMAGE037
Figure 466576DEST_PATH_IMAGE038
I为单位阵,
步骤706、采用传感器输出姿态角度
Figure 366398DEST_PATH_IMAGE039
作为观测值
Figure 932509DEST_PATH_IMAGE040
对姿态进行第一次更新校正,
Figure 703019DEST_PATH_IMAGE041
表示观测值第
Figure 63593DEST_PATH_IMAGE028
时刻的值,
Figure DEST_PATH_IMAGE042
Figure 450712DEST_PATH_IMAGE044
得到第一次更新的手势姿态角度
Figure 148410DEST_PATH_IMAGE045
步骤707、由上述步骤获得第一次观测更新后的系统状态
Figure 39005DEST_PATH_IMAGE046
和系统的不确定性协方差矩阵
Figure 836060DEST_PATH_IMAGE047
,采用手势姿态估计模型对手势图像预测的手势姿态角度
Figure 444896DEST_PATH_IMAGE025
作为观测值
Figure 87230DEST_PATH_IMAGE026
对系统的状态进行第二次更新校正,
步骤708、根据系统观测2的数据计算卡尔曼增益
Figure 97911DEST_PATH_IMAGE035
Figure 65867DEST_PATH_IMAGE048
步骤709、更新系统的不确定性协方差
Figure 161999DEST_PATH_IMAGE047
Figure 201499DEST_PATH_IMAGE049
步骤710、以手势姿态估计模型对手势图像预测的姿态角度
Figure 66687DEST_PATH_IMAGE050
作为观测值
Figure 205544DEST_PATH_IMAGE051
对手势姿态进行第二次更新校正,
Figure 382448DEST_PATH_IMAGE052
表示观测值
Figure 632164DEST_PATH_IMAGE026
Figure 617437DEST_PATH_IMAGE028
时刻的值,
Figure 927196DEST_PATH_IMAGE053
Figure 201182DEST_PATH_IMAGE055
Figure 254589DEST_PATH_IMAGE056
即为对两组观测值进行卡尔曼滤波融合后的手势姿态角度值
Figure 94369DEST_PATH_IMAGE057
,输出该融合后的手势姿态角度值,
步骤711、迭代步骤702-710,不断对两组数据融合输出高精度的手势姿态角度值。
5.根据权利要求1所述的基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于,
训练基于CNN的特征提取器,操作步骤如下:
步骤101、选择可以提取图像深层特征的CNN架构;
步骤102、设置步骤101中CNN网络的全连接层为3个维度输出的回归层;
步骤103、以单一视角中的所有手势图像作为网络的输入,以手势的三轴姿态角度标签为输出,训练CNN网络拟合手势图像和三轴姿态角度;
步骤104、在训练CNN收敛到设定范围内后,停止训练,保存准确率最高的网络训练权重。
6.根据权利要求5所述的基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于,
所述的步骤12中,使用训练好的CNN模型在提出手势图像时是提取的网络最后一个卷积层的输出特征。
7.根据权利要求6所述的基于卡尔曼滤波和深度学习的手势姿态估计方法,其特征在于,
所述的步骤14中构造集成学习手势姿态回归器,具体步骤如下:
步骤141、对提取并拼接后的双视角手势图像的组合深层特征进行特征降维;
步骤142、对降维后的手势图像特征和图像所对应的姿态角度数据构造新的手势姿态回归数据集;
步骤143、构造基于集成学习回归算法的手势姿态回归模型,即拟合手势图像的特征和姿态角度数据;
步骤144、以集成学习回归算法的超参数取值范围集合为搜索空间
Figure 404390DEST_PATH_IMAGE058
,以最小化手势姿态角度回归的误差为目标函数
Figure 696831DEST_PATH_IMAGE059
,采用贝叶斯优化方法搜索集成学习手势姿态回归模型的最优超参数组合
Figure 553928DEST_PATH_IMAGE060
,使其目标函数取得最小值;
Figure DEST_PATH_IMAGE061
步骤145、使用步骤144搜索的最优手势姿态回归超参数组合训练模型并保存。
CN202211354116.6A 2022-11-01 2022-11-01 一种基于卡尔曼滤波和深度学习的手势姿态估计方法 Active CN115410233B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211354116.6A CN115410233B (zh) 2022-11-01 2022-11-01 一种基于卡尔曼滤波和深度学习的手势姿态估计方法
PCT/CN2023/139747 WO2024094227A1 (zh) 2022-11-01 2023-12-19 一种基于卡尔曼滤波和深度学习的手势姿态估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211354116.6A CN115410233B (zh) 2022-11-01 2022-11-01 一种基于卡尔曼滤波和深度学习的手势姿态估计方法

Publications (2)

Publication Number Publication Date
CN115410233A CN115410233A (zh) 2022-11-29
CN115410233B true CN115410233B (zh) 2023-01-24

Family

ID=84168230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211354116.6A Active CN115410233B (zh) 2022-11-01 2022-11-01 一种基于卡尔曼滤波和深度学习的手势姿态估计方法

Country Status (2)

Country Link
CN (1) CN115410233B (zh)
WO (1) WO2024094227A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115410233B (zh) * 2022-11-01 2023-01-24 齐鲁工业大学 一种基于卡尔曼滤波和深度学习的手势姿态估计方法
CN117349599A (zh) * 2023-12-05 2024-01-05 中国人民解放军国防科技大学 基于遗传算法的无人机姿态估计方法、装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020208359A1 (en) * 2019-04-12 2020-10-15 Ultrahaptics Ip Ltd Using Iterative 3D Model Fitting for Domain Adaption of a Hand Pose Estimation Neural Network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4148276B2 (ja) * 2006-05-09 2008-09-10 ソニー株式会社 位置推定装置、位置推定方法及びプログラム記録媒体
LU100684B1 (en) * 2018-01-26 2019-08-21 Technische Univ Kaiserslautern Method and system for head pose estimation
CN111464978A (zh) * 2019-01-22 2020-07-28 岳秀兰 主次无线设备通过物联网连接建立的车辆远程驾驶体系
CN110458944B (zh) * 2019-08-08 2023-04-07 西安工业大学 一种基于双视角Kinect关节点融合的人体骨架重建方法
CN111860274B (zh) * 2020-07-14 2023-04-07 清华大学 基于头部朝向与上半身骨架特征的交警指挥手势识别方法
EP4044118A1 (en) * 2021-02-12 2022-08-17 Grazper Technologies ApS A computer-implemented method, data processing apparatus and computer program for generating three-dimensional pose-estimation data
CN113408443B (zh) * 2021-06-24 2022-07-05 齐鲁工业大学 基于多视角图像的手势姿态预测方法及系统
CN115100744A (zh) * 2022-06-27 2022-09-23 浙江大学 一种羽毛球比赛人体姿态估计和球路追踪方法
CN115410233B (zh) * 2022-11-01 2023-01-24 齐鲁工业大学 一种基于卡尔曼滤波和深度学习的手势姿态估计方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020208359A1 (en) * 2019-04-12 2020-10-15 Ultrahaptics Ip Ltd Using Iterative 3D Model Fitting for Domain Adaption of a Hand Pose Estimation Neural Network

Also Published As

Publication number Publication date
WO2024094227A1 (zh) 2024-05-10
CN115410233A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN106679648B (zh) 一种基于遗传算法的视觉惯性组合的slam方法
CN115410233B (zh) 一种基于卡尔曼滤波和深度学习的手势姿态估计方法
US20240085211A1 (en) System, methods, device and apparatuses for preforming simultaneous localization and mapping
CN109255813B (zh) 一种面向人机协作的手持物体位姿实时检测方法
CN110009681B (zh) 一种基于imu辅助的单目视觉里程计位姿处理方法
Rambach et al. Learning to fuse: A deep learning approach to visual-inertial camera pose estimation
Ribo et al. Hybrid tracking for outdoor augmented reality applications
Remelli et al. Low-dimensionality calibration through local anisotropic scaling for robust hand model personalization
WO2018134686A2 (en) Systems, methods, device and apparatuses for performing simultaneous localization and mapping
JP2016091108A (ja) 人体部位検出システムおよび人体部位検出方法
JP2004157850A (ja) 運動検出装置
CN110327048B (zh) 一种基于可穿戴式惯性传感器的人体上肢姿态重建系统
CN111930226A (zh) 手势追踪方法及装置
US20170287162A1 (en) Method and system for scanning an object using an rgb-d sensor
US20160210761A1 (en) 3d reconstruction
CN109242887A (zh) 一种基于多摄像机和imu的实时人体上肢动作捕捉方法
TW202314593A (zh) 定位方法及設備、電腦可讀儲存媒體
Wang et al. A robust 6-D pose tracking approach by fusing a multi-camera tracking device and an AHRS module
Cordella et al. Robust pose estimation algorithm for wrist motion tracking
CN113487674B (zh) 一种人体位姿估计系统和方法
Zhang et al. A visual-inertial dynamic object tracking SLAM tightly coupled system
Lin et al. Using hybrid sensoring method for motion capture in volleyball techniques training
Bonnet et al. Toward an affordable and user-friendly visual motion capture system
Zhang et al. A static feature point extraction algorithm for visual-inertial slam
Zhang et al. Robust orientation estimate via inertial guided visual sample consensus

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