在Quest和Quest 2推动下,手势识别技术在VR游戏等C端场景得到广泛应用,你可以用手势拼积木,或是用手直接混合魔药、模拟各种交互等等。与手柄相比,手势的优势在于使用更灵活,而且沉浸感更好,直接上手体验会比手柄按键更自然。
而在Quest支持手势识别之前,实际上也会有VR头显通过Leap Motion等手势识别模块来实现手势交互。在2019年,Leap Motion被体感方案商Ultrahaptics收购,合并成手势识别方案公司Ultraleap,随后又推出了可集成于AR/VR头显的升级版手势识别模组Stereo IR 170。
与Quest基于摄像头的手势识别方案不同,Ultraleap方案基于红外传感,好处是可以适应工厂等环境的亮度变化,目前企业级头显Varjo XR-3和VR-3已经配备该方案,此外还包括Lynx R-1、XTAL VR头显、高通XR2参考设计等等。近期,Ultraleap在官方博客中,进一步讲述其手势识别技术的设计原理,以及红外光传感的一些优势。
红外传感器是最佳光学手势识别方案?
Ultraleap指出,手势识别的应用场景广泛,包括操控汽车界面、游戏娱乐、AR/VR体验和培训等等。在这些应用场景中,手势识别技术需要足够稳定和灵敏,才能为用户带来顺畅无阻的体验。此外,手势识别需要足够通用,可适应各种不同的环境和照明条件。
Ultraleap表示:红外摄像头可以适用于多种不同亮度的场景,因此在工厂、户外等B端场景依然可以正常运行。考虑到这一点,B端VR头显Varjo XR-3内置了Ultraleap的红外手势识别模块,可以为B端用户带来足够稳定的体验。
细节方面,Ultraleap的手势识别软件可以将传感器捕捉到的原始数据(位置、方向、手速),转化成实时的数字模型。理论上讲,可以通过RGB摄像头、GPS、激光阵列、LiDAR等多种传感器来追踪手势数据,不过在实际应用中,Ultraleap发现基于红外摄像头和LED的方案效果最稳定、数据捕捉最可靠,更适应不同的光照环境。
为什么选择红外方案?
Ultraleap表示:不管是Stereo IR 170手势识别传感器、Leap Motion模组,还是高通XR2参考设计集成的手势识别模块,它们均内置基于两个红外摄像头和红外LED的追踪方案。
据了解,人眼对光线变化适应能力强,可识别的光照范围也广。相比之下,摄像头大约只能识别100种不同的亮度,这将大大限制光学手势识别技术的性能,尤其是在环境光亮度变化大、难以预测的情况下。
为了保持光线环境的稳定,Ultraleap的手势识别模块内置红外LED光源,红外LED光线照到双手后,光线反射回手势识别模块的红外摄像头中,实现基于光学数据的手势识别。如此一来,便不用仅依赖周围的环境光,从而可以保证比较稳定的光学追踪。
光照条件可控
就像是人眼通过光线反射来识别周围环境,红外摄像头也是通过识别光线反射来识别手势变化,因此稳定的光照条件是关键。通过内置红外LED光源,Ultraleap可以控制手势识别所需的光照条件,实时补偿环境光变化,提供一个可预测的光照环境。
从技术上讲,采用LED可见光就足以实现手势识别,但可见光照在手上可能会影响用户体验,干扰用户眼前的视觉或手势交互,尤其是在光线较暗的场景中。比如:主题公园的山洞项目等等。利用红外光传感,既能保持手势识别的效果,又足够隐形,红外LED光线只有红外传感器能捕获。
红外传感原理
与可见光相似,红外光是一种电磁辐射。通常,电磁辐射在原子吸收和释放能量的过程中产生。此外,电磁辐射可以根据波长来分类,可分为可见光、红外光、紫外光、X光、无线电波等等。其中,红外光的波长范围在1000微米到760纳米之间,比可见光更长,因此频率更低,超出了人眼可识别的范围。
红外光的传感与检测是一项关键技术,通常会热成像传感器来识别到环境中发出的红外线辐射,一个比较常见的例子是军人使用的夜视镜,以及一些监控摄像头。一些电影院会采用支持红外线热成像的摄像头,可以在黑暗的环境中持续监控。
此外,NASA发射的卡西尼号飞船就采用红外摄像头,用来过滤土星大气透出的光线,可捕捉到传统相机无法识别的一些信息。
实际上,与热成像传感器相比,Ultraleap的手势识别模组并非识别人手发射的红外线,而是利用强度可控的内置红外LED光源来照亮人手,然后通过人手反射的红外光来识别手势。
Ultraleap表示:与视频相机不同,红外相机专注于识别特定的红外光,因此基于红外传感的方案目的主要是识别重要的手势信息。
体积足够小巧
Ultraleap解释,其手势识别模块的摄像头并不会追踪所有的红外光,主要专注于850纳米左右的电磁波,而这只是红外光谱中很窄的一段。
为了专注识别850纳米左右的电磁波,Ultraleap在红外传感器上加入了一个方形的红外滤光器,它的作用是过滤掉波长不是在825到875纳米之间的电磁波。因此,Ultraleap手势识别方案仅识别825纳米到857纳米之间波长的红外光,这些红外光是其LED光源照在人手上反射回的光线。
采用滤光器的好处是,可以过滤掉多余的环境光,提升红外成像的清晰度。据悉,这些环境光可能会让红外线成像产生过曝,从而影响红外识别的效果。因此,仅识别有限波段的红外光,更有助于识别手势,让红外传感器可以在黑暗空间中更清晰的识别动态手势。此外,可控的红外光传感条件可提升手势识别的准确性和在不同照明环境的通用性。
为了在不同亮度的环境中保持稳定的红外线传感,Ultraleap利用软件来调节红外LED强度,如果识别到环境光较暗,则会相应调暗红外LED光源。另一方面,如果使用者的手移动缓慢,Ultraleap会降低传感器的帧数。这种根据环境变化来调节的效果足够灵敏,好处是可提升手势追踪的准确性,以及省电。
与Leap Motion Controller手势识别模块相比,Ultraleap的Stereo IR 170手势识别模组提升了可追踪范围和距离。
除了上述细节外,Ultraleap手势识别模组并不会持续发射红外LED光,它的原理更像是闪光灯,从发射光源到传感器获得信号,整个过程足够快速。而红外LED闪光的频率则是与传感器的刷新率同步,因此在红外传感器每次采样的瞬间,LED光源会同步打光。如此一来,又进一步节省了手势识别模块的耗电。
从手势数据到3D建模
在捕捉到手势数据后,便传输到Ultraleap摄像头模组中的图像传感器中,该传感器包含了数十万个光学捕捉单元(photosite),这些单元可以将光子转化成电子,然后再将电流转化成数字光值,也就是像素。
接下来,传感器捕捉到的数据转化成像素并输入到追踪引擎中,然后在经过机器学习算法处理,软件会实时输出代表手势信息的27个3D节点。然后,基于Unity或Unreal开发的应用可根据这27个节点来生成可交互的3D手势模型,或渲染成其他模型。
比如,无接触式界面方案TouchFree会将识别到的手势数据转化成用光标,让你可以用手隔空控制菜单。而Ultrahaptics的超声波体感反馈技术,则将手势识别数据转化成对应的超声波体感反馈。参考:Ultraleap