一种基于时序的手部姿态交互系统及交互方法技术方案

技术编号:39803321 阅读:6 留言:0更新日期:2023-12-22 02:34
本发明专利技术公开了一种基于时序的手部姿态交互系统及交互方法,包括服务器端和客户端,首先对单目摄像机带有人手的视频流进行手部姿态估计,并通过手部姿态估计结果在客户端实现交互功能

【技术实现步骤摘要】
一种基于时序的手部姿态交互系统及交互方法


[0001]本专利技术涉及一种基于时序的手部姿态交互系统及交互方法,属于计算机视觉的



技术介绍

[0002]随着计算机硬件

软件的更新和升级,人们对与计算机交互的体验也提出了更高的要求,如何提升用户与计算机之间进行交流互动的体验,让用户可以更自然

便捷地与计算机进行交互是人机交互领域一直探索的课题

新兴的人机交互方式主要包括使用手势

语音

虹膜等,而这些交互方式的均属于人的日常技能,人们在使用这些交互方式时无需经过特殊训练

当前,
VR/AR
应用市场处于快速发展的时期,其对人机交互技术的沉浸感也要求越来越高,使用手势实现人机交互与其他的交互方式相比更加自然

直观

便捷,在沉浸感方面有不可替代的优越性,近年来逐渐成为人机交互领域的重要研究方向

[0003]手部姿态估计是基于手势的人机交互技术中关键的组成部分,能够识别用户的手部关键点并在计算机中还原用户的手部姿态,在使用手势进行人机交互的应用场景中发挥重要的作用

[0004]现有的手部姿态估计算法存在实时性不理想,且对关节灵活性高

自遮挡严重

相似部位混淆等问题表现出的效果不能满足用户的需求

当前手部姿态估计算法主要通过深度相机实现,然而深度相机的使用成本较高,且深度相机的使用受景深

光强等因素的影响,在实际应用中往往受到限制,而这些因素对单目相机的影响较小

[0005]因此,使用单目摄像机实现手部姿态估计目标,并具有较好的实时性

准确率和抗遮挡性,是本领域技术人员目前需要解决的技术问题


技术实现思路

[0006]本专利技术的目的是针对现有技术的缺陷,提供一种基于时序的手部姿态交互系统及交互方法,以实现鲁棒性

实时性更佳的手势识别方法和手部姿态估计方法,并基于改进的手势识别算法和手部姿态估计方法,开发一个基于手势的人机交互系统

[0007]为实现上述目的,本专利技术采用的技术方案为:一种基于时序的手部姿态交互系统,包括服务器端和客户端,所述服务器端对含有人手的图像进行处理,通过手部姿态估计算法得到用户的手部个关键点的
3D
坐标信息以及每个关键点对应的父节点信息并传输给客户端;所述客户端用于接受服务器端传输的检测结果,将数据实时同步到虚拟场景中,根据手部姿态估计的结果在虚拟场景中还原手部的姿态骨架并与场景中的对象进行交互,触发对应的交互功能,所述交互功能包括惯性碰撞功能

触碰功能

持握功能及缩放功能

[0008]进一步的,所述客户端采用
C#
语言搭建,借助
Unity
图形引擎作为开发平台;客户端使用
WebCam
库调用单目摄像机,获得视频流,并对每帧图像进行存储,将单目摄像机获得的图像以
Socket
通讯的方式传输给服务器端,从服务器端获得手部关键点信息,并使用手
部关键点信息与虚拟场景中的对象进行交互,触发对应的交互行为

[0009]进一步的,所述触碰功能能够让用户能够点击

触碰虚拟场景中的对象;所述惯性碰撞交互功能能够让用户通过改变手部移动的速度影响手部模型的动量,在与虚拟场景中的对象进行交互时,交互的对象可以根据与手部的虚拟模型碰撞时接受到的动量进行对应的反馈;所述缩放功能能够让用户通过控制手的屈伸程度改变虚拟场景中物体的尺寸;所述持握功能能够根据虚拟手部模型与交互对象的距离判定交互对象是否跟随虚拟手部模型移动

[0010]一种基于时序的手部姿态交互系统的交互方法,包括如下步骤,步骤1,通过单目摄像机获得包含手部图像的视频流;步骤2,在服务器端通过手部姿态估计模型提取当前帧的手部
2D
关键点坐标,对带有手部关键点信息堆叠成一个时序的张量输入到本文设计的手部
2D
关键点生成器网络,并通过生成器模型输出该序列的最后一帧手部
2D
关键点;步骤3,对判别器分别输入最后一帧的标签与最后一帧预测的关键点,和生成器对抗训练,辅助生成器应对遮挡导致的错点和飞点问题,生成更加可靠的
2D
关键点位置;步骤4,将前述步骤得到的带有
2D
关键点信息的手部姿态图像输入到
3D
关键点预测的网络中,还原关键点的
3D
坐标信息,实现
3D
的手部姿态估计;步骤5,使用
Socket
通信技术将前述步骤中获得的信息由服务器端传输至客户端,并对该信息在
Unity
搭建的客户端进行还原,将各关键点使用
Unity Shader
技术相互连接,还原用户的
3D
手部姿态骨架;步骤6,根据
Unity
中的组件设定交互功能的条件,并触发对应的交互功能

[0011]进一步的,所述步骤2中,手部
2D
关键点取器采用
Openpose
,并且按照时间累计已经提取过的手部
2D
关键点的数据,选取
30
帧作为时间序列长度

[0012]进一步的,所述步骤2中,预测序列帧最后一帧的关键点信息和真实值的一致性损失函数如公式如下所示,其中
y
i
代表当前网络的预测值,是当前帧的真实值,
N
为当前批量的样本个数;

[0013]进一步的,所述步骤3中,判别器的损失函数的意义代表尽可能的提升真实样本的分数,此处真实样本代表的是序列帧最后一帧的真实关键点信息;公式如下

[0014]其中,
P
r
代表真实分布,
P
g
代表生成分布,代表生成分布和真实分布的取值采样,
D
代表判别器,
L

D
)为判别器的损失函数,
D(x) 为鉴别真数据的概率函数,数据来源越
真实概率越大,反之数据来源真越假,概率越小,为
x 的梯度算子;公式的最后一项代表梯度惩罚项,其中,
x
为来自真实样本分布和生成样本分布的线性插值采样,为常数系数取值为
0.1
,代表最后一项的权重, x
r
表示真实样本,
x
g
表示生成样本,是0‑1的随机数

[0015]进一步的,所述步骤4的具体步骤为,将带有...

【技术保护点】

【技术特征摘要】
1.
一种基于时序的手部姿态交互系统,其特征在于:包括服务器端和客户端,所述服务器端对含有人手的图像进行处理,通过手部姿态估计算法得到用户的手部个关键点的
3D
坐标信息以及每个关键点对应的父节点信息并传输给客户端;所述客户端用于接受服务器端传输的检测结果,将数据实时同步到虚拟场景中,根据手部姿态估计的结果在虚拟场景中还原手部的姿态骨架并与场景中的对象进行交互,触发对应的交互功能,所述交互功能包括惯性碰撞功能

触碰功能

持握功能及缩放功能
。2.
根据权利要求1所述的基于时序的手部姿态交互系统,其特征在于:所述客户端采用
C#
语言搭建,借助
Unity
图形引擎作为开发平台;客户端使用
WebCam
库调用单目摄像机,获得视频流,并对每帧图像进行存储,将单目摄像机获得的图像以
Socket
通讯的方式传输给服务器端,从服务器端获得手部关键点信息,并使用手部关键点信息与虚拟场景中的对象进行交互,触发对应的交互行为
。3.
根据权利要求1所述的基于时序的手部姿态交互系统,其特征在于:所述触碰功能能够让用户能够点击

触碰虚拟场景中的对象;所述惯性碰撞交互功能能够让用户通过改变手部移动的速度影响手部模型的动量,在与虚拟场景中的对象进行交互时,交互的对象可以根据与手部的虚拟模型碰撞时接受到的动量进行对应的反馈;所述缩放功能能够让用户通过控制手的屈伸程度改变虚拟场景中物体的尺寸;所述持握功能能够根据虚拟手部模型与交互对象的距离判定交互对象是否跟随虚拟手部模型移动
。4.
一种基于时序的手部姿态交互系统的交互方法,其特征在于:包括如下步骤,步骤1,通过单目摄像机获得包含手部图像的视频流;步骤2,在服务器端通过手部姿态估计模型提取当前帧的手部
2D
关键点坐标,对带有手部关键点信息堆叠成一个时序的张量输入到本文设计的手部
2D
关键点生成器网络,并通过生成器模型输出该序列的最后一帧手部
2D
关键点;步骤3,对判别器分别输入最后一帧的标签与最后一帧预测的关键点,和生成器对抗训练,辅助生成器应对遮挡导致的错点和飞点问题,生成更加可靠的
2D
关键点位置;步骤4,将前述步骤得到的带有
2D
关键点信息的手部姿态图像输入到
3D
关键点预测的网络中,还原关键点的
3D
坐标信息,实现
3D
的手部姿态估计;步骤5,使用
Socket
通信技术将前述步骤中获得的信息由服务器端传输至客户端,并对该信息在
Unity
搭建的客户端进行还原,将各关键点使用
Unity Shader
技术相互连接,还原用户的
3D
手部姿态骨架;步骤6,根据
Unity
中的组件设定交互功能的条件,并触发对应的交互功能
。5.
根据权利要求4所述的基于时序的手部姿态交互系统的交互方法,其特征在于:所述步骤2中,手部
2D
关键点取器采用
Openpose
,并且按照时间累计已经提取过的手部
2D
关键点的数据,选取
30
帧作为时间序列长度
。6.
根据权利要4所述的基于时序的手部姿态交互系统的交互方法,其特征在于:所述步...

【专利技术属性】
技术研发人员:高天寒杨镇豪李青山
申请(专利权)人:博雅正链重庆科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1