基于关键点检测的单目摄像头增强现实手势交互方法

文档序号:34734455发布日期:2023-07-12 18:11阅读:54来源:国知局
基于关键点检测的单目摄像头增强现实手势交互方法

本发明属扩展现实交互,具体涉及到手势追踪识别并进行数据传输的方法。


背景技术:

1、近年来,随着虚拟现实设备的逐渐普及,虚拟现实交互已经成为一个非常活跃的话题和研究热点,经济社会高速发展,几乎每个人都处在或多或少的压力、焦虑之下,而在虚拟现实世界中,可以让人们暂时抽离出当下的情感世界,而进入一个全新的、新颖的虚拟世界,而对于虚拟现实体验,虚拟现实世界的沉浸感则十分重要,沉浸感很大程度上来自于交互的沉浸感和自然性,更加贴近现实的交互体验可以给人们带来更强的沉浸感,因而研究更加贴近自然的交互的工作具有非常深远的意义。

2、交互大部分与手部相关,人类的手部运动主要是通过肌肉控制手指的运动,是靠神经带动肌肉和筋,让骨骼运动。人体手骨包括腕骨、掌骨和指骨,手指关节多指掌指关节与指骨间关节,主要有屈、伸、收、展、旋转功能,手部的姿态很大程度上取决于手部关节的位置,如果可以通过单目摄像机获取到了现实中手部关节点的位置,并将其传入虚拟世界的虚拟人手,可以控制虚拟人手的手部各种形态,实现通过现实中手部的运动,直接控制虚拟世界的手部运动。

3、虚拟现实的交互方式有许多种类,最传统的是通过游戏手柄进行交互,但是其交互形式是按动手柄上的各种按钮完成交互,存在与现实世界的手部直接交互有很大的区别,沉浸感不高的技术问题;基于数据手套的交互,沉浸感较强,但是存在体验成本更高的问题,广泛普及有较大难度。

4、基于单目摄像头机器视觉的交互是手势交互领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。深度学习方法包括人工神经网络、卷积神经网络、循环神经网络,深度学习在大数据中能自动学习特征。目前,深度学习在手势交互领域中,能够有效地进行手势追踪。

5、在扩展显示交互技术领域,当前需迫切解决的一个技术问题是提供一种准确率实时性更高、沉浸感更强、设备成本更低的手势交互方法。


技术实现思路

1、本发明所要解决的技术问题在于克服上述现有技术问题的缺点,提供一种准确率更高、沉浸感更强、设备成本更低的基于关键点检测的单目摄像头增强现实手势交互方法。

2、解决上述技术问题采用的技术方案是由下述步骤组成。

3、(1)获取输入图像

4、将单目摄像机拍摄到的实时图像作为输入图像,输入图像的宽度w至少为400像素,高度h至少为200像素。

5、(2)检测手部关键点坐标

6、使用手部关键点检测网络对输入图像按下述方法得到手部关键点坐标:

7、1)设置手部置信度阈值θ,θ∈(0,1),在手部置信度低于θ时,手部检测模型启动。

8、2)对输入图像进行手部检测,从左到右分别为0号手、1号手,n为0或1,n号手记为hn,hn包括左手标签l或右手标签r。

9、3)将检测到的手进行定位,裁剪出手部区域。

10、4)将每个手部区域输入手部关键点检测网络进行手部关键点检测,输出hn手部21个关键点坐标如下:

11、关键点0为手腕,记为关键点1~关键点4为大拇指从指根到指尖的四个关节点,记为关键点5~关键点8为食指从指根到指尖的四个关节点,记为关键点9~关键点12为中指从指根到指尖的四个关节点,记为关键点13~关键点16为无名指从指根到指尖的四个关节点,记为关键点17~关键点20为小拇指从指根到指尖的四个关节点,记为

12、将hn手部关键点j记为其x、y、z轴坐标分别为其中的x、y轴坐标为其在输入图像上的相对坐标,关键点0的z轴坐标是一个极小的值,记为n号手hn的z轴坐标原点,若为负数,相对手腕根部远离摄像头,反之靠近摄像头。

13、(3)确定字符串数据

14、按下式对hn手部关键点坐标进行转换,转换后x、y、z轴坐标分别为

15、

16、

17、

18、按下式计算n号手hn的关键点5与关键点17之间的距离作为手掌宽度ln:

19、

20、按下式得到字符串数据s:

21、

22、其中,k∈{0,1,...,20}。

23、(4)传输字符串数据s

24、通过用户数据报协议传输字符串数据s到unity引擎。

25、(5)构建虚拟手部模型

26、用unity引擎绘制骨骼位置,在关键点上添加骨骼旋转角度、相对位移。

27、(6)存储字符串数据s

28、1)手部坐标数据传入unity引擎。

29、2)按下式得到标准化字符串数据s′:

30、

31、3)存储标准化字符串数据s′

32、按下式将标准化字符串数据s′分别存储到左手字符串hl与右手字符串hr中:

33、

34、

35、其中,n为空值。

36、(7)虚拟手部运动

37、1)用逗号将左手字符串hl与右手字符串hr分别分割为含有为64个子字符串的左手字符串数组fl′与右手字符串数组fr′,用float.parse函数将左手字符串数组fl′与右手字符串数组fr′分别转化成左手浮点数组fl与右手浮点数组fr:

38、

39、

40、其中,左手字符串hl为n时,不将其赋值给左手浮点数组fl;右手字符串hr为n时,不将其赋值给右手浮点数组fr。

41、2)虚拟手部整体作为摄像头的子物体随摄像头运动。

42、3)确定关键点相对坐标

43、按下式确定左手关键点i相对于左手关键点0的相对坐标左手手掌宽度dlh:

44、

45、

46、

47、

48、其中,为左手浮点数组fl的i号元素,为左手浮点数组fl的3i号元素接收到左手关键点i的x轴坐标,为左手浮点数组fl的0号元素接收到左手关键点0的x轴坐标,为左手浮点数组fl的3i+1号元素接收到左手关键点i的y轴坐标,为左手浮点数组fl的1号元素接收到左手关键点0的y轴坐标,为左手浮点数组fl的3i+2号元素接收到左手关键点i的z轴坐标,为左手浮点数组fl的2号元素接收到左手关键点0的z轴坐标。

49、按下式确定右手关键点i相对于右手关键点0的相对坐标右手手掌宽度drh:

50、

51、

52、

53、

54、其中,为右手浮点数组fr的i号元素,为右手浮点数组fr的3i号元素接收到右手关键点i的x轴坐标,为右手浮点数组fr的0号元素接收到右手关键点0的x轴坐标,为右手浮点数组fr的3i+1号元素接收到右手关键点i的y轴坐标,为右手浮点数组fr的1号元素接收到右手关键点0的y轴坐标,为右手浮点数组fr的3i+2号元素接收到右手关键点i的z轴坐标,为右手浮点数组fr的2号元素接收到右手关键点0的z轴坐标。

55、4)确定虚拟手部缩放比

56、按下式确定左手关键点0与左手关键点1之间的距离dlr:

57、

58、按下式确定右手关键点0与右手关键点1之间的距离drr:

59、

60、按下式确定虚拟左手手部缩放比ml:

61、

62、按下式确定虚拟右手手部缩放比mr:

63、

64、其中,dlm为虚拟手部模型左手的关键点0与关键点1之间的距离,drm为虚拟手部模型右手的关键点0与关键点1之间的距离。

65、5)确定手部运动相对位置

66、按下式确定虚拟左手手部位置运动时相对摄像头的坐标clx、cly、clz:

67、

68、

69、

70、其中,dlx、dly、dlz为虚拟左手手部的初始位置dl相对摄像头的坐标。

71、按下式确定虚拟右手手部位置运动时相对摄像头的坐标crx、cry、crz:

72、

73、

74、

75、其中,drx、dry、drz为虚拟右手手部的初始位置dr相对摄像头的坐标。

76、(8)触发增强现实的手势交互

77、1)增强现实的虚拟手部当前位置与虚拟物体之间的距离≤0.3且虚拟手部关键点8、12、16、20与虚拟手部关键点0之间的距离均≤0.05时,触发拿起虚拟物体的手势交互。

78、2)增强现实的虚拟手部关键点8、12、16、20与虚拟手部关键点0之间的距离均>0.05时,触发放下虚拟物体的手势交互。

79、(9)性能评估

80、按下式评价基于关键点检测的单目摄像头增强现实手势交互方法每秒钟处理图像的帧数fps:

81、

82、其中,te是一帧处理完毕时的时间,ts是一帧开始处理的时间,每秒钟处理图像的帧数fps>30帧/秒时,该方法为实时性高的方法。

83、在本发明的(2)检测手部关键点坐标步骤中,所述的手部检测的置信度阈值最佳为0.68。

84、在本发明的(5)构建虚拟手部模型步骤中,所述的在关键点上添加骨骼旋转角度为:手腕关键点0的旋转角度为0°~180°,其余各关键点处的旋转角度为0°~90°,手指在以摄像头为中心半径12dlm的范围内移动,其中dlm为虚拟手部模型左手的关键点0与关键点1之间的距离。

85、本发明在手部关键点检测网络步骤中采用了手部置信度阈值,仅在手部置信度低于该阈值时,手部检测模型重新启动。在图像的第一帧需要先进行手部检测再进行关键点检测,因为视频是连续的,根据上一帧手部关键点的坐标,可以预判到手部的区域,再把手部的区域送入下一帧的关键点检测模型,可以不再持续重复地使用手部的检测模型,每一帧只需要由上一帧的关键点来推断出手部区域,送入下一帧的关键点检测模型。

86、本发明与现有技术相比具有以下优点:

87、由于本发明采用手部关键点检测网络,将该网络应用到增强现实的单目摄像头手势追踪识别中,有效地筛选当前帧手部的特征,同时对追踪到的手部关键点信息进行了数据标准化,使得数据更加规范便于驱动虚拟手部的运动,实时性高。本发明具有实时性更高、沉浸感更强、设备成本更低的优点,可在不同背景中进行手势追踪识别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1