欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

opencv 手部识别_手势识别结合到VR头显中,有哪些难点?

发布时间:2024/9/30 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 opencv 手部识别_手势识别结合到VR头显中,有哪些难点? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文/知乎用户mysunnytime

”VR 头盔要做到「手势识别」,有哪些需要攻克的难点?“

工业场景下,我们可以把这个问题转化为,如何利用更少的软硬件条件,对VR使用场景的手势识别功能提足够的用户体验。那么怎样是足够的用户体验呢?这要看我们在VR中为什么需要手势识别。

 为什么VR中需要手势识别?

VR应用中需要什么样的手势识别? 

虚拟现实之所以是虚拟现实,是因为它带给用户一个沉浸式体验,把用户的视觉和听觉等替换成了一个虚拟出来的环境。或许是魔法的霍格沃兹,或许是你异地同事的办公室。除非是VR电影,否则一般用户都需要和场景进行交互,比如选择、操纵物体,和虚拟环境中的其他人物互动、移动。想象一下我们的真实世界中,我们和世界是怎样交互的?人和人接触时,互动方式主要是靠三种方式:语言、表情和手势;而人和物体的互动则绝大部分是靠手;人在世界中的移动(locomotion)主要靠脚,偶尔需要手的参与(开车等)。所以不管是哪一种互动,手都起着很重要的作用。在人机交互的设计中,“手”可是比心脏更还要的器官XD。VR中要用到“手”的地方可以分类如下:
  • 选择物体(select):发出射线进行远程选择,或者直接触碰进行近处的选择;
  • 操纵物体(manipulate):比如把被选择的物体放大缩小、移动位置;
  • 表达意义:比如挥手问好的手势,“请”的手势,还可以是程序自定义的表达意义的手势,比如在空中画一个圈,就出现一个魔法效果等。这其中又分成两种,一种是用手臂就能表达的(比如指向某个方向),一种是还需要手掌手指的细节的(比如猜拳)。这三种手势的应用中,从控制精准度的要求来讲,操纵物体和选择物体要求较高,而表达意义要求较低。从FOV(Field of View 视域)角度来说,选择物体时一般不需要手势发生在FOV中,用户主要会盯着被选择的物体;而操纵一般需要手势发生在FOV中,一般设计中,物体和手势都需要被看到;表达意义时,主要需要被表达的对象(人或系统)感知到手势,然而如果手势复杂,用户也可能需要看着手势发生的地方。
当前实现VR手势识别的方式有哪些?关于“VR头盔要如何做到手势识别”这一问题,如果纯使用VR头戴,当前可以完成的识别方式有:1. 图像识别:在头戴上安装摄像头捕捉,再利用CV技术识别出“手”这个物体,进而识别手势。从图像中识别手部轮廓 | Adrian Rosebrock @ https://www.pyimagesearch.com/2016/04/11/finding-extreme-points-in-contours-with-opencv/2. 深度传感器:原理是从头盔处发射和接受红外线,根据收发时间差得出距离,结合发射角度从而得到空间点的位置。这样可以得出一个深度扫描图。再识别出“手”这个物体,识别出其关节,识别手势。深度摄像头得到的点云图(point cloud)| pmd,https://pmdtec.com/picofamily/图像识别基于二维点阵图的色彩信息,而深度传感器的识别基于视域内点集的三维位置——一个是平面,一个是立体。深度传感器一定程度上可以直接还原物体的3D信息(3D建模),手部的信息集和环境信息集差异更大,从这个角度上讲可靠性比图像识别更加可靠(得多);然而要把这个原始的手部信息识别成手势,和从图像中识别出手以后再识别手势相比,各有其难度。不管是使用普通照相机作为输入源的图像识别方法,还是使用深度传感器的方法,又有一个重大局限,那就是传感器处于VR头戴设备上,那么,用户的手必须出现在设备传感器的检测区域里,也就是说,设备必须“看得见”你的手(用户的手要在设备的FOV中)。这造成两个方面的局限:1)用户必须抬手,或者低头;2)只有当手掌方向和传感器“视角”平行并且无遮挡的时候,识别效果最好,如果设备不能完整地“看到”用户的手(例如一些手势中,较近地手指遮挡了较远的手指,或者两只手距离很近、或互相遮挡时),那么很容易造成误判。比如,下图两个OK的手势,左边就较好识别,右边就较难识别。那么除了在VR头盔上做文章,还有什么别的方法呢?如果不限于仅仅使用VR头盔,那么额外借助其他硬件的方法还有:3. 手持控制器/手柄(controller):可以实现的输入渠道有按钮、加速度传感器/螺旋仪定位。如果定位上再结合以上1、2两点利用VR头戴的传感器(如windows mixed reality头戴),或者室内传感器(lighthouse),进行手柄的识别,那么精度相当可靠。这样,手柄可以实现高精度的手部定位功能。除此之外,现在很多手柄还巧妙结合硬件设计,可以识别“抓”、“指”等简单收拾的手势。Oculus Rift手柄的巧妙手势识别4. 手套:优势是精准,可以识别到每一根手指和每一个关节,并且有些设计还能提供反向作用力,让人在抓握时感受到被抓物体的硬度。一般是用手柄或定位器进行手掌的位置方向定位,然后利用套在手指上的传感器,进行手指和关节定位。缺点是佩戴会降低舒适度。Plexus VR手套 | https://vimeo.com/276517370

 总结 

那么说了这么多,让我来尝试总结一下各种VR中手势识别的特点:其中,标红的部分就是每种方式的短板所在,也就是需要攻克的难点。同时,考虑到这些方式的特点,我们在设计VR应用时,也应根据我们的使用场景来扬长避短,选择适合的手势识别方式。这里按照之前总结的三个基础使用场景,提出适合的手势识别方式,来尽可能地利用更少的软硬件条件,创造足够的用户体验。

(本文已获得知乎用户mysunnytime授权发布,原回答链接:https://www.zhihu.com/question/348026118/answer/843541717)

  第一时间了解XR资讯  

  关注VR陀螺官网(vrtuoluo.cn)

VR陀螺的联系方式:

商务合作 | 采访 | 投稿 :

西瓜(微信号 18659030320)文静(微信 mutou_kiki)交流分享 | 爆料:案山子 (微信 shimotsuki_jun)投稿邮箱:tougao@youxituoluo.com

近期热文



你的每一个“在看”,都是我们坚持原创的动力

总结

以上是生活随笔为你收集整理的opencv 手部识别_手势识别结合到VR头显中,有哪些难点?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。