入局两年间,我所认识的增强现实和虚拟现实

前言

两年前的11月底,大四的第一个学期过了一半,前来实验室实习,第一次跟导师交流起直博阶段的大研究方向。

结合当时的技能点和专业背景,基本确定了踏入增强现实(AR)和虚拟现实(VR)的相关领域。恍惚间两年已过,从本科毕设接触三维重建系统(Demo),到去年暑期863项目展示搭建全景漫游系统(Demo),接着前往上海交大修专业课,借着某课大作业魔改了一个博物馆漫游系统(Demo,以及没想到后来还真的有类似的项目需求),今年暑期搬框架+拆解模型搭VR医疗教学系统(Demo),10月底至近期,因项目需求上手开发微软Hololens,附带安卓开发入门…

背景讲完,说说写这篇文章的动机:

  1. 上个月刷了一本在书单里躺了很久的书《Augmented Human: How technology is shaping the new reality》(中译名:《增强人类 - 技术如何塑造新的现实》)。甚至都忘了是什么时间什么人给我推荐的。读这类概述性的书比读论文还是轻松不少。书籍作者从人的视角出发,介绍了增强现实应用的方方面面,比许多介绍硬核技术的综述型论文更全面,同时也比较新(2017年出版)。比较希望对书籍内容做一个整理,但也不想做成纯粹的书摘。于是在整理的同时,也梳理一下我所理解的AR/VR。
  2. 有段时间没有回头看自己的工作了(因为总觉得相比一篇能发表的paper而言不值一提)。作为一个节点,做得好也罢差也罢,总要给自己一个交待,并在下一阶段解决掉一部分问题。
  3. 带一点科普性质,希望回答的问题是:“当我们在谈论增强现实/虚拟现实时,我们在谈论什么”。也希望同行提出一些感兴趣的点,深入交流或批评指正。

下面进入正题。每个小部分的第一句引文或概念均出自上面所提及的书籍。

概念:何为虚拟,何为现实

叠加 -> 代入 -> ”打破玻璃“

首先来梳理几个大概念的联系。

【现实世界】:人类直接观察到的物理世界

【虚拟世界】:由人工设计,计算机生成,在特定设备中呈现的世界

我们将【现实世界】和【虚拟世界】放置在一条一维坐标轴的左右两端,则理想中的虚拟现实(VR)场景会靠近坐标轴右侧,目前的增强现实(AR)应用比较靠近于坐标轴左侧,混合现实(MR)则泛指轴线中间的部分。这种一维的分类方式在1994年由Milgram等人提出[2],近年微软也经常使用这种方式推广MR的概念(如下图所示,图出自[3])

上面的描述涉及3个主要对象:人(Human)、计算机(Computer)和现实环境(Environment)。人与计算机沟通形成【人机交互(HCI)】,计算机和环境的沟通形成【机器感知(Perception)】,而这三者的有机融合就形成了【混合现实(MR)】(如下图所示,图出自[3]),混合现实的两极则对应了上图中的【虚拟】与【现实】。

虚拟现实和增强现实分别以轴线两极作为出发点。概括来说,虚拟现实的终极目标是从各个维度营造以假乱真的主观体验,增强现实则是在现实环境基础上的补充。近年来随着消费级VR设备和移动端AR平台的普及,相关应用已经逐渐渗透到生活中的许多角落。我们会在第三节内容中看到有关虚拟现实和增强现实的更多体验形式,第二节将先从媒体技术的演进过程切入。

历史:媒体技术演进之路

“每种媒介都借鉴了之前的媒介。”

首先借用导师的一张图:

媒体与技术的更新迭代相辅相成。每一次媒体形式的更新或是相关技术的迭代,都可以看成是在先前形式上的扩展或补充。如果我们将每一种媒体视为一种讲故事的方式,则每一次大的革新都为这个故事加入了更多细节。

传统媒体如文字、图像、视频。如果说文字的表示是各类符号的一维排列组合,那么图像就是将各种颜色的像素点作二维排列组合,视频在此基础上补充了时间轴作为第三维信息。

在上述最基础的表达层面上,传统媒体也随着技术的进步不断各自迭代:不断提升的分辨率和色彩还原度,趋近于人眼观察效果的显示方式,视频内容更高的帧率等等。比如几个月前李安导演的4K分辨率+3D显示+120帧刷新率的电影《双子杀手》,可以说是目前商业电影市场中具备最高层次技术的作品。

传统媒体的故事讲到极致,讲述者与观众之间依然存在一道坎——透不过的纸张,打不破的玻璃,绕不过的幕布——于是部分艺术家探索着打破”第四面墙“(fourth wall)[1]的表达方式。这些方式常见于各种先锋话剧和全景舞台,观众本身也会成为故事的一部分。不过它们依然受限于特定场地和人员,且线性的叙述无法全方位再现。(下图出自漂移式多维体验剧《知音号》[4])

人们早早提出了虚拟现实与增强现实的相关畅想。随着计算机图形学、计算机视觉和人机交互等相关技术的发展,那些曾经出现在小说、插画和影视作品中的元素陆续成为了现实。尤其是几年前微软Hololens的量产,让《星球大战》中的全息影像概念成为了现实。微软研究团队基于Hololens实现的Holoportation(Demo)[5]更是无比惊艳。(下图为《星球大战》电影画面)

回到本节开始的一句话,”每种媒介都借鉴了之前的媒介“,上面提到增强现实对全息影像的完美呈现即是一种佐证。

既有借鉴,就必有创新。下一节我们更进一步,讲讲VR/AR领域现状。

现状:体验、开发、研究和产业

”身体和动作是一切的触发器。“

体验

概念性的东西讲起来洋洋洒洒,那么我们能够在哪里获得近距离的体验?

一般来说,体验的沉浸感越强伴随着成本越高,本小节按成本升序排列介绍不同的体验类型。

① 最简单的AR体验:一部带有摄像头的智能手机。

体验价:¥0

有两个案例大部分人应该并不陌生:2016年QQ发起的【火炬传递】,和近几年来越来越火的【支付宝集五福】

单纯从呈现方式上来看,这两个应用的技术含量并没有那么高。但正因为体验的门槛低,内容贴近生活,从而导致病毒式传播。其中AR火炬应用超过1亿人次参与,而集五福活动和现金红包的绑定营销更是直接形成了每年春节的热门话题。套用一个做AR推广业务专员的话:

爆款入门级AR体验=IP+场景+玩法

② 特定场景下的定制化AR体验

体验价:¥0

除了上面两个知名度较高的应用外,一些企业也推出了特定场景下的AR服务。比如宜家推出AR工具【Ikea Place】来帮助顾客预览家具摆在家中的效果(基于ARKit平台[6]实现)。后来天猫家装节/京东家具等平台也陆续推出过相似应用。

此外,AR在美妆领域也大放异彩..比如欧莱雅就推出过【Makeup Genius】这样的试妆应用。今年7月,阿玛尼品牌在微信小程序中就可以直接试用各种色号(逐渐进入知识盲区

③ 智能手机+播放器+全景视频+VR盒子=入门级VR

体验价:RMB两位数(VR盒子)

购买一个简单的VR盒子,下载一个能够播放VR视频的App,再找个全景视频片源(通常播放器的App会提供很多资源),把手机放入盒子,即可直接体验最简单的虚拟现实场景。下图中这种最简单的纸盒子某宝上可能只要几块钱。

在我看来,使用全景播放器呈现的VR是不完整的,因为你所看到的内容只是一段固定机位拍摄的全景视频而已,所有的事件环绕着相机能够覆盖到的小区域展开。不过这种应用在一定程度上提升了用户沉浸感,适合用于街景漫游等简单场景(开篇背景里介绍的【全景漫游系统】就是从沿这个思路出发,不过部署在了更优质的VR头显设备里,当时的部分开发笔记详见[7])。VR电影的设想很美好,但目前来看设备的长时间佩戴并不够友好。

④ 局部空间增强现实(SAR)

体验价:RMB 接近3位数

在我为数不多的逛展体验中,一些先进的呈现方式给我留下了深刻的印象。一些内容较为丰富的博物馆中会呈现出全息影像,而另一些有一定规模的CG艺术展则更加丰富。这类展览通常票价百元以内,有时运气好能碰上很喜欢的作品。比如未来几个月北京地区可以关注【威尼斯国际艺术双年展】和【瑰丽·犹在境 数字艺术展】。

除了全息影像,CAVE(Cave Automatic Virtual Environment)系统也会出现在一些大型展会中,以及一些有钱有地的研究所(有幸参观过一个,如下图所示),但个人目前对于CAVE系统体会不深,仅仅在刚进实验室时搭过一个简单场景(当时部分开发笔记详见[8])。

⑤ 消费级AR头显

体验价:RMB 4位数

AR头显在C端市场并不活跃,但看得出来近几年处于上升势头。

今年万圣节期间,北京和深圳两地的欢乐谷就推出了AR鬼屋活动。据我所知北京地区相关场次门票全线售罄。后来据相关媒体报道来看[9],体验仍有很大提升空间。预计未来类似的大规模AR体验活动也会更为频繁。

⑤ 消费级VR一体机

体验价:RMB 4位数

VR一体机,顾名思义,就是不需要放入手机也不用连接到电脑的独立设备。直观体验吊打简易VR盒子,相比接下来提到的VR头显+主机套装,一体机的优点自然是无线,便携;缺点是定位不算非常准,以及算力/续航有限。

⑥ 消费级VR头显+主机

体验价:¥10000+(包含头显+主机)

2016年HTC凭借Vive敲开了消费级VR市场的大门。如今3年过去,各种产品线已经发展壮大,消费级VR头显+主机的模式也是目前最容易接触到的具备高度沉浸感的系统。不同厂商也在这个分支下寻求差异化。

HTC Vive Pro也推出了无线套装,然而近期还没拿到货,不作点评。

⑦ 商业级AR头显

体验价:¥30000+

以微软的Hololens和Magic Leap One为代表性产品。

Hololens一代的视场角是真的不太行。二代虽然扩大了一倍,但依然不够。在没有体验到真实设备前,并不报有太高期待。

至于Magic Leap One,则更是众说纷纭,褒贬不一。因为既没有摸过货也没有开发过Magic Leap One应用,不对这款产品作评价。上述产品从技术规格上对比如下:(整理自产品详细描述页,部分数据非官方,仅供参考)

如果单纯作为消费者或是AR爱好者,大可持观望态度,目前来看商业级AR头显并不适合娱乐。虽然看上去不像VR头显那么厚重,但仍然不适合长时间使用。

⑧ 大范围PC+VR漫游/大范围SAR

体验价:???

这种真*虚实融合+6自由度的系统基本处于研究阶段,在部分论文和雏形系统中有所提及。可能未来会在线下体验馆中逐步开放。

(题外话:还真没去VR体验馆玩过,有去过的小伙伴可以留言交流一下体验)

开发

从第一次上手Unity到现在大概刚好3年了,但并不敢说熟悉Unity开发,甚至越做越觉得现在所掌握的都是整个引擎或开发中的一些小碎片,没有形成知识串联。下面仅凭几个项目的经验说一说VR和AR的开发体验。

简单来说,普通应用转变为VR/AR应用的原理,就是把虚拟场景中摄像机的位置和旋转角和现实世界中的头显或手机摄像头位置+旋转角进行校准(这一步可视为Calibration),并追踪其运动轨迹(这一步可视为Tracking)。

其中,个人认为VR开发更容易上手

如果仅从视觉呈现来看,VR场景可以分成两种分支,一种用全景图像+视频做3自由度(仅头部旋转)的内容,另一种用纯三维模型数据做6自由度(头部旋转+位置移动)的内容。前者使用Unity天空盒或特定插件作为渲染平台,后者基本就是在三维场景的基础上套一层SteamVR或者VRTK的框架,执行上面提到的匹配和追踪。由于匹配+追踪的过程基本都是Unity引擎和硬件设备负责,所以一个第一人称视角的应用场景换皮做成VR应用是非常方便的。套框架过程中主要注意两个方面:

  • 为确保渲染速度,内容不宜过多
    • 这部分可能涉及性能优化方面的内容,可参考Unity官方教程[9]
  • 为确保环境真实感,应统一虚拟世界和真实世界的物体关系
    • 在VRTK框架下,Unity中的默认元素Cube与真实世界中1立方米的立方体等价

开头提到的医疗教学Demo和虚拟博物馆Demo就属于6自由度范畴。

AR开发来看,智能手机端ARKit与ARCore各占半壁江山,商业级AR头显方面微软的MRTK较为完善(Magic Leap One的官方视频教程至今连第一章都没有更新完成..

ARKit和ARCore的问题是不够底层,比如ARCore在检测平面时只返回检测到的平面而不提供检测方法,因此一些表层的开发可以进行,底层的研究就不容易深入了。今年Unity和商汤都在推统一的平台,如Unity的AR Foundation和商汤的SenseAR,日后这些平台具体会产出多少有价值的内容,拭目以待。

此外,VR和AR对大部分用户而言仍然是一种超越视频体验的新形式,构造完整的应用还需加入更多引导和教学,并提供安全指引。一般各类开发文档都会有专门的安全开发tips。

研究领域

今年10月ISMAR大会上,一位研究者梳理了VR/AR和其他领域的关联:

这张图在本文开头微软官方概念图的基础上又补充了更多细节。不难看出与VR/AR最相关的几个大类就是计算机图形学(CG)、计算机视觉(CV)和人机交互(HCI),其次是信息可视化和机器学习。这张图也从侧面反映出AR相比VR的技术栈更加复杂。

CG、CV、HCI三驾马车拉动着AR研究,但越是复杂的问题被现有引擎封装的越完善,使得开发者和具体研究问题的距离越远。这从游戏引擎的商业价值来讲无疑是成功的,但对于科研工作者探索深层问题来看则是恰恰相反。个人认为三架马车的硬核程度无疑是CG > CV > HCI。其中最为硬核的图形渲染基本已经由引擎全部封装,且向着轻量化渲染管线、影视级(伪)渲染效果和实时渲染速度上大幅迈进;次级的CV基本封装成了插件形式的工具包,而不涉及底层的调参;唯独交互方式上可以用脚本快速改写和控制。当然,可交互的硬件设备也是受到大厂限制的,主流仍然是几种常见的控制器。

这也是给研究者提了醒,也是结合自己工作得到的一点微小的经验:入门期还是先在平台上做探索,进阶后开发相关工具,积累足够深再创造新平台。

产业

每年都有声音说【寒冬】,也有声音说【元年】,博眼球罢了。产业终归是一年比一年规模扩大,但距离全面普及仍有一段路。

目前感觉整个产业可以分成以下几个模块:

  • 游戏产品

    产品不少,爆款不多

  • 新型硬件产品

    目前已经有了一定积累,是未来2-3年内的必然趋势

  • 新型开发平台

    需要足够大的团队推动,估计未来5年初步成型,10年后可能也会变成现在iOS和Android两极对峙。

  • 行业一体式解决方案

    营销?云服务?全流程技术支撑?

    可能就像现在的工业信息化趋势,未来或许是虚拟化?

学术圈介绍产业实在是有点班门弄斧。前一阵找了些业内人士的总结分析,推荐其中关于增强现实的一篇调研,留给感兴趣的读者查阅:

万字深度考察:2019年增强现实AR企业生存图谱

(看标题就知道足够硬核,预计阅读时间10-20分钟)

展望:技术塑造新的现实

”以人类的身份主导进步,不希望任何人在这些先进的设备中迷失。“

站在整个研究链条上看,虚拟和现实之间沉浸感的变化一定不会是现在各种头显中所呈现的全封闭或全透光的两极化形式,至少其中还会有很多Gap需要填补:针对特定场景和特定内容定制不同程度的虚拟,保留不同层次的现实,将两极化变成虚-实轴上离散的点;再由这些针对特定需求下的离散的系统/硬件/平台,最终扩展到像如今智能手机一样的全功能MR硬件。

回到《增强人类》这本书中的未来畅想:“技术最终要为人服务”。然而不可否认的是,”100年前人们想要能在天上飞的汽车,100年后人们得到了Facebook。“对待新技术,个人更多持谨慎乐观态度。

今天看到同学分享了微信【扫一扫】背后的技术结构[10]。我们有理由相信,足够的积累和探索,终会将类似的新技术隐藏在每个人的举手投足之间。

而作为探索者,要不惜代价努力探索到领域的边界,并推进一小步。

参考

[1] 第四墙-百度百科

[2] Paul Milgram and Fumio Kishino. A taxonomy of mixed reality visual displays. IEICE TRANSACTIONS on Information and Systems, 77(12):1321–1329, 1994.

[3] What is mixed reality? - Microsoft Mixed Reality Docs

[4] 知音号官网——长江首部漂移式多维体验剧

[5] Holoportation: virtual 3D teleportation in real-time (Microsoft Research)

[6] ARKit 3

[7] 【Unity】全景视频漫游和视点切换

[8] Python+OpenCV+Unity - 全景视频投影至立方体

[9] VR Best Practice

[10] 微信「扫一扫识物」 的背后技术揭秘

后记:

这篇文章从构思到最终完成用了一个多月,应该是我建立博客里来整理得最用心的文章之一(也可能没有之一)。目前的积累从高度上和深度上依然达不到Survey工作的水平,但其中不少坑确是一步一步踩过来的,再回忆的过程也是百感交集。于是本文一方面整理了工作思路,一方面整理了工作之外所拓展的视野。

初入圈时,面对这个新领域过于广阔的技术栈和工具平台,稍不注意可能就迷失在某一个小小的问题里,或是被酷炫的工具和Demo吸引,又或是把一个自己做的Demo的界面和内容反复打磨。但对于个人研究而言,这些打磨和轮子的初阶使用都不能形成有价值的工作。Demo的深入作用可能是借助用户调研探索交互或是结合CG进行图形开发。

在局部进展和全局进展间寻找平衡,是留给自己2020年工作的期许。