雷锋网按:本文来自公号“董老师在硅谷”,作者Steve Gu,杜克大学计算机博士,之前在苹果担任算法工程师,Google X担任技术主管和未来技术评估,发表专利包括iPhone的指纹识别以及在下一代苹果产品以及Google Glass的人机交互方式,目前从事AI相关领域创业。
什么是真实?在电影黑客帝国中,电脑接管了人类的视觉、听觉、嗅觉、触觉等讯号,让人们从出生开始就生活在虚拟世界中却浑然不知。这虽然是科幻片,但令人浮想联翩。
2014年,Facebook 20亿美金收购了Oculus Rift。同年Google I/O,Google发布了Cardboard,一款利用廉价纸板和手机屏幕就可以实现虚拟现实的DIY设备。2015年初,Microsoft公开了一款介于虚拟与增强现实之间的头戴设备HoloLens,现场演示十分惊艳。此外各大公司与游戏厂商都纷纷在虚拟现实(Virtual Reality,简称VR)领域布局,众多初创公司也在摩拳擦掌,顿时,VR成为炙手可热的话题。虽然黑客帝国中描述的故事不太可能在现实发生,但VR以及VR所带来的全新体验已然走进了寻常百姓家,为人津津乐道。
VR最伟大的地方在于其构造简单,成本低廉,几乎每个人都可以自己动手制作。比如Google发布的Cardboard,利用手机屏幕作为显示器,利用普通纸板作为机身,利用透镜聚焦图像,利用一个小磁铁作为控制开关,利用手机上的传感器(比如陀螺仪,加速度计)作为头部控制,利用手机上的APP来显示不同的内容和场景制作。整套成本不超过1美元!
(图1)人眼的Field of View (FoV, 视场)通常可以达到180度。而普通相机的视角最多只能到达150度。宽阔的视场更能让人具有身临其境的代入感。图中所示水平视场约135度,垂直视场约60度。
然而,逼真的VR效果仍然亟待很多最新科技来帮助实现。怀着好奇心,我们来探讨VR背后的黑科技。接下来主要从感官世界(视觉,听觉,嗅觉,触觉),以及人机交互的角度讨论如何建造黑客帝国,实现身临其境的体验。同时分析黑科技背后的产业趋势和机遇。
目前大部分的VR设备主要侧重在重构视觉与听觉,然而这仅仅是虚拟现实技术中的冰山一角。想象你住在北京的胡同里,却可以戴着VR头盔游览意大利佛罗伦萨街角的一家水果店。你看到水果店周围的古朴建筑,水果店主人向顾客微笑,并不宽阔的街道上车水马龙人来人往,街旁小贩快乐的叫卖声传进你的耳朵,这时你嗅到了新鲜水果的清香,于是你伸出手,竟可以触摸到水果,感觉这般真实。不仅如此,图象,声音,气味,纹理的感觉,都随着你的移动而变化,仿佛亲临佛罗伦萨。
最近看到一些尝试模拟多种感官的VR设备。除基本的视听功能以外,这些设备可以传气味、风、热、水雾以及震动。此类设备的用户体验在目前仍然有待提高,技术上并不完善。然而在学术界,相关的研究已经持续了好几十年。下面我们来细数VR背后的黑科技。
(图2)通过分屏显示左右眼不同内容获得图像的纵深感。系统参数包括视场大小,屏幕分辨率,透镜焦距,双眼间距,眼睛到透镜距离等。一般来说,视场越宽,视觉代入感越强。但是过宽的视场会造成图像扭曲以及像素被放大。所以需要综合考虑系统设计。
一般认为人的大脑三分之二都用于视觉相关的处理,那么VR首先要解决的就是如何逼真地呈现图景来欺骗大脑。目前的主要的解决方案是通过融合左眼和右眼的图像来获得场景的纵深感。其原理主要是通过将三维场景分别投影到人的左、右两眼,形成一定的视差,再通过人的大脑自动还原场景的三维信息。这里涉及几个主要参数:Field of View (视场)决定了一次能呈现多少场景,又分为垂直视场和水平视场。通常水平视场越宽越好(比如接近180度),垂直视场在90度左右。
屏幕分辨率则决定了细节的逼真度。所谓视网膜屏幕,就是说屏幕像素相对于观看距离来说是如此之高,以至于人的肉眼无法分辨曲线是连续的还是像素化的。高像素对于逼真的VR体验至关重要。值得注意的是,视场和屏幕分辨率通常成反比关系。宽视场可以通过透镜的设计来实现。然而过宽的视场会导致场景的边缘扭曲,同时像素被放大。设计上通常要平衡这两点。延迟则决定了系统响应速度。一般来说24帧每秒的帧速要求系统延迟小于50毫秒,甚至更多。
另外还有一些物理参数比如双眼间距,透镜的焦距,眼睛到透镜的距离等,需要综合考虑。对于虚拟场景的重现,主要是通过计算机图形学对合成物体作逼真的渲染,然后分别投影到头盔佩戴者的左右眼来实现。而对于真实场景的重现来说,侧重于如何采集现场画面,并且完整地记录下场景的几何信息。这个可以通过体感相机(比如Microsoft Kinect)或者相机阵列进行。比如说Google今年推出的Jump就采用了16台GoPro来制作虚拟场景。
听觉
声音配合画面才能淋漓尽致地展现现场效果。最简单的方法就是直接从手机播放声音。
然而一般的声音录制方法并不能还原完整的环境三维信息。而三维声音,也称为虚拟声(virtual acoustics)、双耳音频(binaural audio),则利用间隔一个头部宽度的两个麦克风同时录制现场声音。该方法可以完整地保存声音源到双耳的信号幅度以及相位的差别(如图3所示),让听众仿佛置身现场一般。笔者曾试用过这套系统,音质极佳,令人震撼。
(图3)利用间隔一个头部距离的一对麦克风可以忠实地记录从声音源到双耳的传递过程
颇有意思的是,麦克风的外围竟有人耳的造型以及由类似皮肤的材料构成,这样可以最大限度地保存外部声音导入人耳的整个过程。更有甚者(如图4所示),有人构建了三维声音阵列,可以将360度全景声音全部录入,然后通过头部的转动选择性地播放出来。
虚拟声的最佳应用是专门为某个佩戴者量身定制声音,这样可以最大限度地高保真地还原音乐的现场感受。对于一般使用者来说,因为个体的差异(比如头部宽度,耳朵形状等),虚拟声的实际效果略有不同,难以达到最佳播放状态。需要根据特定场景通过电脑合成声音。理论上,如果洞悉了三维场景以及材料性质,计算机就可以模拟各类事件发生的声音并将它合成在头盔或VR盒子里播放。声音合成的过程中基于物体间的距离,头部的朝向等来模拟真实环境播放出的声音。
(图4)左图为3Dio公司的三维音频输入设备 右图进一步将8台麦克风做成360度阵列用以VR展示
如何让VR盒子带来“暗香浮动月黄昏”的感受?嗅觉虽然并不是VR必须的输入信号,但能够极大程度丰富VR的体验。将嗅觉嵌入到影片里的尝试可以追溯到半个多世纪前(比如Smell-o-Vision)。而通过电子调控方式实现气味合成也已经有好几十年历史,比较著名的比如iSmell公司。
简单的思路是这样子的:合成气味的方式通常是由一堆塞满了香料的小盒子组成,也被称作气味工厂。每一个小盒子可以单独地被电阻丝加热并散发出对应的气味。同时加热多个小盒子就可以将不同的气味混在一起(如图5)。
气味合成这项技术距离实际应用还有一段距离,主要难点在于如何精确地采集、分析、以及合成环境中的任意气味。简单的实现,比如释放焰火、花香、雨露等一些基本环境味道,早已经应用在5D、7D电影中。而复杂的合成,比如巴黎某商店特有的气味,目前还难以做到。
其中,还牵涉到需要经常更换气味盒子的问题,日常使用并不方便。笔者介绍嗅觉在VR中的实践只为抛砖引玉。或许在不久的未来会有更加实用地调配和模拟气味的方法可供头戴设备使用。
(图5)将气味香料放在不同的小盒子里通过单独加热来释放和混合
触觉(haptics)可以将虚拟的对象实物化,不仅看得见,还能“摸得着”。如何模拟不同物体的触感是一个非常热门的研究课题。各种模拟触感的方法也层出不穷。
最简单的触感可以通过不同频率的器件震动来实现,条件是设备与皮肤相接触,通过纵向和横向的特定频率与持续的振动来模拟各种材料以及特殊条件之下的触感。比如说,手机振动就是一种基本的触感激发方式。再比如最新款的苹果笔记本配备有震荡反馈的触控板,可以根据手指压力的大小自动调整电流来控制振荡频率以及幅度。更为复杂地,可以根据屏幕显示的内容实时地调整震荡波形来实现不同材质触感的反馈。类似的原理也可以在VR中实现,比如将触感装置嵌入到游戏手柄内。这样就可以根据画面以及手势动作来模拟各类物体不同的触摸感觉。
除了手柄以外,甚至可以隔空体验触感。比如UltraHaptics,通过聚焦超声波到人的皮肤来实现“隔空打耳光”的功能。其原理是通过超声波相位整列聚焦声音到空间中的某一个点形成振动,示意图见图6左。再比如迪士尼的Aireal,可以通过精确地压缩和释放空气产生空气漩涡(vortex ring)来“打击”到皮肤表面。虽然实现隔空振动的原理不同,两者都使用了体感相机来捕捉手的位置并作定点的“打击”。
(图6)左:Ultrahaptics,通过相位阵列聚焦超声波到空间任意点产生振动,并可以调整频率和节奏产生不同的触感。右:迪士尼的Aireal项目,通过远距离发送空气漩涡波撞击皮肤产生各种触感。两个项目都使用了体感相机(Kinect)来识别定位手的位置。前者通过相位调控电子地调整波束方向,后者通过马达机械调整空气漩涡的发送朝向。
最新研究中,日本科学家提出了利用激光镭射来触发空气中定点的等离子体,既可以用来作全息显示,又可以通过激光镭射的激发产生触感。
(图7)在SIGGRAPH 2015的展示中,一组日本科学家演示了如何利用激光镭射在空气中激发等离子体来作全息显示以及产生触感。
聊完丰富多彩的感官世界,我们来看看VR中的控制部分。一般的VR头盔拥有丰富的传感器比如前置相机、陀螺仪、加速度计、感光器、近距探测器。也可以添加诸如心率监控、眼球跟踪等传感装置。传感器的这类应用赋予了VR设备许多新颖的功能以及交互体验。
最常用的莫过于头部控制,主要利用陀螺仪来检测头部的二维旋转角度,并对屏幕的显示内容作相应调整。绝大部分的VR盒子都能实现这个基本功能。
手势控制可以大大增强互动性与娱乐性,对于游戏玩家尤其重要。手势控制主要分成两类:第一类是通过穿戴类似wii控制器的手套或手柄来实现手势的识别;第二类则直接利用头盔上的外置相机通过计算机视觉的方法来识别和跟踪手势。
对于后者,往往需要类似Kinect这样的深度相机才能准确地识别手势。LeapMotions,SoftKinetics等公司在VR手势控制上已经有不少成熟的demo。一般来说,使用深度相机可以比较准确地定位手的具体位置,稳定性较好。
想象三维场景随着你的眼睛转动而改变。比如Kickstarter上的FOVE尝试的正是使用眼球跟踪技术来实现VR游戏的交互。眼球跟踪技术在VR盒子或者头盔上并不难实现,一般需要在盒子或者头盔内部装载一到两个朝向眼睛的红外相机即可。除了基本的眼球追踪之外,还可以识别特定的眨眼动作用来控制屏幕等。 除了游戏控制之外,眼球跟踪还有很多其他应用。比如可以模仿人眼的生物学特性,仅仅将图像聚焦放在眼球关注的地方,而将图像其余部分动态模糊掉,让三维影像显示变得更加真实,同时有效地聚焦图像,还能省电 (见图8)。
(图8)从左到右:头部控制、手势识别和控制和眼球跟踪。它们各自作为VR的输入方式,方便交互。
玩得就是心跳!心跳可以反映人的当前状态,比如兴奋、恐惧、放松、压力。检测VR使用者当前的生理状态可以动态地调整影像内容以及音效来实现一些超现实效果。比如说,当心跳较快即人处于兴奋状态时,可以动态地调高图像播放速率来匹配人目前的运动节奏,让运动来得更猛烈一些。也可以利用负反馈的调整让人迅速平静下来,帮助更好的休息或者冥想。
实现心率监测有多种方式,比如苹果手表使用的是红绿两种光谱的近距探测器来监测心跳速率。心率监测器可以结合手柄置于手腕之内,或者置于头盔之中。通常的问题是该心率探测器不能有效地和皮肤紧密贴着,因而一些运动带来的微微移动会带来读数的不准。心率控制在VR目前的应用中并不多见,任然属于比较新颖的项目。
笔者写这个话题是有所犹豫的,因为意念控制技术目前仍然非常原始,一般只是利用电极读取头部血流变化,通过机器学习的手段来匹配特定的读数特征变化。在此不详述。
“你选择红色药丸还是蓝色药丸?”,影片黑客帝国抛出了这样一个令人深思的问题。笔者相信,VR技术可以帮助人们更好地体验真实的世界。技术上而言,从感官到人机交互仍然充满很多想象空间与实际问题,亟待人们创新地去解决。相信随着VR技术的深入发展和普及,人们的生活体验会变得更加丰富多彩,从此不必再受时空拘束。