40年的边上" title="图形学创世纪——写在SIGGRAPH 40年的边上">

前言:

SIGGRAPH是由ACM
SIGGRAPH(美国计算机协会计算机图形专业组)主办的计算机图形与交互技术年度顶级会议,它集科学、艺术、商业于一身。历年大会都有丰富的成果展示,我们熟知的像素、图层、顶点等概念都是在SIGGRAPH上发表的学术报告,Pixar著名的《小台灯》动画短片也是首先在SIGGRAPH上展示的。2013年7月21日–25日,这一盛会迎来了它的40周年庆典。

今年的SIGGRAHP在美国加州西南部城市阿纳海姆举行,有超过一万七千名参会者,近两百家商业公司参展。在大会的演讲、圆桌、论文、展示等环节,超过一千三百位演讲人参与其中。

借着这次大会,我们也回顾了一下,这些年来图形学在影视工业得到应用的里程碑事件,以及它对人们生活日渐加深的影响。我们会发现,从最初的光影和水滴,到复杂一些的植物和动物,再到人的表情和毛发,这恰好是一段图形学的创世纪故事。展望未来,还有更广袤、更让人惊奇的三维世界,等待着我们一起去探索,去创造。

作者:微软亚洲研究院 童欣

图形学的创世纪:从光影、怪兽毛发到人的表情

对普通人来说,电影动画是我们在日常生活中与计算机图形学接触最多也是最直观的领域之一。计算机动画节(Computer Animation
Festival)是SIGGRAPH的一项重要活动,展示最前沿的电影、数字游戏和视频成果。

许多朋友可能被最近上映的《环太平洋》中真实、绚丽的光影效果所震撼。围绕这部电影涉及的技术,SIGGRAPH上有许多相关展示。在这部电影之前,由于CG技术的限制,许多效果还无法通过计算生成,画面中的雨滴不是高反光,倒更像是发光的小灯泡,夜景中的主体轮廓也很难显示清楚,制作公司更多地是做贴图方面的工作,比拼的是合成与后期调整。

40年的边上" title="图形学创世纪——写在SIGGRAPH 40年的边上">

不过工业光魔(ILM)在这部电影中迈出了一大步:决战场景设在香港雨夜,使用霓虹灯与海浪打光,主光源照在动态怪兽身上,烘托出真实凝重的气氛。新技术的应用是这部电影成功的关键因素之一,这是全球电影行业等待了十年的结果。明年,我们将在更多新作品中见到CG的光影。

不过更多时候,观众已经很自然地接受了电影中计算机生成的图像,察觉不出细微之处的改进。不过,其中涉及的图形学技术,在这些年已取得了长足的进步。见微知著,用发丝就可以说明。《玩具总动员》是第一部由计算机运用图形学技术制作的长篇动画,也是计算机图形学技术应用的一个里程碑。不过在这部电影中,所有角色都只有光滑的表面——它们没有毛发,而到了《怪兽公司》,角色身上开始长出毛发,再到去年Disney的电影《勇敢传说》和今年的《怪兽大学》,主角已经拥有了蓬松、卷曲、自然的长发。

40年的边上" title="图形学创世纪——写在SIGGRAPH 40年的边上">

从技术角度来看,直发的运动相对规律,而卷发的物理特性则复杂很多,尤其是运动中会涉及大量碰撞、摩擦,传统技术很难真实模拟。为了克服这些困难,工程师们使用了“粒子弹簧”模型等技术,假设头发之间用弹簧连接,这样既能真实地呈现自然效果,还能方便艺术家控制人物的造型。

可不能小看了毛发和表情的作用——如何让电脑制作出的人物栩栩如生,一直是困扰艺术家和图形学研究人员的难题,因为观众对人的动作、皮肤、毛发、表情特别敏感。2005年上映的CG动画电影《最终幻想:降临之子》,仅女主角的头发就花费了600万美元一根根绘制出来,但票房上却未达到预期,其中一个很重要的原因就是人物的毛发、表情、动作显得呆板,给观众一种虚假的感觉,无法将他们带入到电影情节当中。

40年的边上" title="图形学创世纪——写在SIGGRAPH 40年的边上">

不过这一难题正被研究人员逐步克服。《指环王》中一些由电脑制作的角色已经拥有与人十分相似的表情,不过因为它们还不是人,所以观众们对效果并不十分挑剔。而到了《阿凡达》,计算机制作的人物非常细腻,即使是挑剔的观众也感觉不到他们全出自计算机之手,这部电影是图形学技术应用的另一个里程碑。

每个里程碑,都意味着一系列技术走向成熟。因为制作长篇作品,不单要通过建模技术塑造人物和场景,也要靠绘制技术渲染光影效果,还需要具备人物动作的相关技术。最重要的是,能有一套可用系统,在有限的时间和资金前提下,工业化地生产出一部成品,它们是一个时代图形学技术的集大成之作。

图形学照进生活

专业技术令电影越来越震撼的同时,研究人员也正努力让它们走进普通人的生活。《Dynamic Hair Manipulation in Images and
Videos》是微软亚洲研究院在SIGGRAPH
2013上入选的10篇论文之一,它提出了一种新方法创建3D头发模型。相对传统基于多图像的建模方式,新方法对输入设备几乎没有要求,普通手机内置摄像头拍摄的照片就可以满足。它还允许用户操纵图片和视频中的发型。

真实感绘制的终极目标是既好又快地重现真实环境,过去的主要思路是直接计算场景对入射光照的反馈,但是由于光在场景中要经过无数次碰撞的复杂性,这些方法要么速度慢,难以满足实时应用的需要,要么牺牲绘制质量,难以达到照片级的真实效果。电影中为了达到逼真的效果,需要花费大量时间进行离线渲染。对计算能力的苛刻要求,几乎让它无法走近普通人的生活。

40年的边上" title="图形学创世纪——写在SIGGRAPH 40年的边上">

《Global
Illumination with Radiance Regression
Functions》是微软亚洲研究院另一篇入选SIGGRAPH大会的论文,面对上述问题,它提出了一套全新的解决方案。神经网络与全局光照两个技术在各自的领域里,都各自发展了许久,但从没有人试着将这两者结合。新的研究思路避开复杂的光线模拟,而通过场景各处的位置、纹理及光源信息,运用机器学习的方法直接预测图像输出。

40年的边上" title="图形学创世纪——写在SIGGRAPH 40年的边上">

这样的想法,源自研究员对画家作画的观察——尽管现实中三维场景的光线十分复杂,但画家笔下描绘的二维图像却很有规律,有些画家的作品其真实感甚至能与照片一较高低。既然画家可以凭借经验和想象作画,计算机为什么不能从数据中学习?

计算摄像学:给你个清晰的世界

过去几年,随着计算摄像学(它是图形学与视觉的交叉学科)的发展,研究人员发展了很多图像处理和数据捕捉新技术,用于弥补拍摄图片或视频时的不足。

这些技术的背后都得益于图形学理论的发展,在最新的一些案例展示中,人眼已经完全无法识别的模糊图像,经过算法处理,能自动分析出相机的抖动方向,再据此还原出清晰的原貌。不禁让人感叹计算机和算法是不是已经超过了我们人类。

微软亚洲研究院也在SIGGRAPH上展示了两项计算摄像学成果:一项是实时视频稳定技术。使用手机或手持摄像机拍摄视频,往往伴随着不必可避免的抖动,造成画面模糊不清,而视频稳定技术能消除额外的晃动,提升视频质量。在拍摄和分享视频越来越流行的今天,这种技术颇具实用价值。

以往的视频稳定技术大致可以分为二维和三维相机抖动估算两种。二维方式稳定、快速,但模型相对简单,并不能处理复杂场景中的视差等问题。另一方面,三维方式可以修正视差,获得更好的质量,但它的估算模型不稳定,容易在摄像机快速旋转、镜头变焦等情况下失效。

微软亚洲研究院提出的这项新技术,将视频中的图像分割为多个矩形网格,每个区有都有单独的相机路径,这种灵活的模型可以处理由视差或卷帘式快门引起的复杂抖动和变形,同时又不失稳定和高效的特点。

另一项计算摄像学成果是“矩形全景图”。我们都有这样的经验,手机拍摄的全景图,边界往往并不规则,但无论打印、分享还是发布图片,多数用户更希望图片具有规则的矩形边缘。这时我们通常有两个选择:一是选择其中边界规则的矩形部分进行裁剪,但关键信息刚好处在不规则的边缘时,只好舍弃,原本宽广视角带来的震撼效果也会大打折扣。二是保留所有图像,但不得不接受难看的边缘色块。

而“矩形全景图”则分两步将图片巧妙变形:先将图片拉伸为矩形,再根据原始图片优化拉伸后的形状和线条,这种方式尽可能地保留了边缘部分,同时又能生成没有色块的矩形全景图。这些变形很聪明,能保留照片中原始线条的方向,让使用者几乎察觉不到变形后的图片与现实的区别。虽然这项技术并没有很深的理论背景,但能解决现实生活中一个很影响用户体验的问题,是个十分出色的想法。

身临其境的未来视频通话

SIGGRAPH上一个关于人脸建模的技术演示引起了很多关注,它能利用视频或深度摄像机,实时对人脸进行建模,捕获面部表情并映射到另一个对象身上,这对将来提升实时会话体验很有帮助。

难道我们现在利用手机、平板电脑进行视频通话的效果不够好么?经常视频聊天的朋友可能常常感觉眼神并不能与对方相接,这与我们当面交流还有微妙的差异。原因在于,摄像头通常在屏幕上方,而聊天中的两个人通常只会注视屏幕,而不会紧盯摄像头。更麻烦的在于,多人视频会议中,由于多个对象并行会话,为了实现高质量的视频效果,设置复杂,设备也非常昂贵。而将头扭向一侧时,在其他人看来往往会产生错觉,不知道对方正在与谁交流。这些问题都很难通过传统的视频技术解决,而实时人脸建模则是一个可行的方案,目前已经有一些初创公司正在以此为方向进行技术和产品的探索。

图形学之外的带感新思路

今年的SIGGRAPH大会还有一些精彩展示让人眼前一亮,Disney Research的AIREAL(http://www.disneyresearch.com/project/aireal/)就是其中一个,它将人与计算机的交互带到了现实世界中。

近年来低成本的动作捕捉设备让不少用户有机会能通过手势与电脑交互,然而这其中还缺少重要的一环——物理反馈。当使用者隔空与计算机生成的虚拟元素交互(例如接球、撞车),与我们在现实世界中有触感的体验差别很大。过去,为了让使用者有这方面的体验,需要他们戴上力反馈手套、穿上力反馈背心。这些额外装备不单价格不菲,更让使用者平添束缚。

AIREAL配合深度摄像头,以及能扭转角度的喷嘴,对使用者的姿态做出实时反馈,让使用者触摸虚拟物体、感受不同纹理。它射出气体涡环(Vortex
Ring,类似我们平时见过的烟圈)——这是一种能长距离保持形状和速度的空气环,当它接触皮肤,涡环破裂,由于内部压力较低,便将触觉传递给用户。尽管这还是一项概念性的技术,但为我们带来了有益的启发。

图形学的梦想:消弭现实与虚拟的边界

倘若每个用户都能产生内容,将为一个市场带来空前的繁荣。回顾历史,计算机视觉起初只应用在工业和军事上,那时设备价格昂贵,普通人很少从中受益。而当摄像头成为手机标配,在技术与应用的相互促进下,这个领域变得绝然不同。互联网上已经有像YouTube、Flickr、Instagram许多家市值上亿美元的二维图片、视频服务公司,而三维领域还是一片无比巨大的荒原。

假如,每个普通用户都能产生三维内容,可以想象,后续的绘制、动画等技术也都将发挥功效。而作为源头的三维内容产生技术,是目前限制这个领域发展的瓶颈——普通用户并没有方便、易学的工具可用。

如果你曾使用3ds
Max或Maya这样的三维建模软件,一定能体会它们的学习难度与手机上的图片处理软件间的巨大差别。即便是艺术家和专业人士,也需要长时间学习才能掌握创建复杂3D图形的技能,对普通人来说,难度则更大。

以往用户需要从头开始输入参数创造模型,而以Kinect为代表的新一代体感控制器,能以一种易用、直接、低成本的方式,从现实世界中抽取物体的三维信息,然后在这一基础上做进一步地修改或调整,这将大大降低用户上手的难度。

我们可以看看,以色列特拉维夫大学最近所做“3-Sweep”演示(http://v.youku.com/v_show/id_XNjA3MjAxMDk2.html)就能体会解决这一问题,能孕育多少新创造。

另一方面,虽然深度摄像头、激光扫描器的出现大大方便了场景扫描,但得到的数据还无法直接使用——因为不能分辨扫描得到的具体物体。一旦有技术能将扫描场景中的物体分离、识别(例如分辨出桌椅),应用就会大不相同。就像从二维图片中搜索物体的名称,未来通过关键字就能找到相应3D素材。

当用户创造、记录、使用三维数据的成本越来越低,拍摄三维物体能像现在拍摄图片、视频一样轻松容易时,拥抱三维世界的时机就真正成熟了。三维内容的增加会促进交互界面的发展,进而又将促进三维应用的发展。当每个人都能轻松地贡献三维内容,同时又能方便地消费三维内容时,整个产业将变得完全不同。

未来的某天,我们或许会看到这样一幅图景——你在现实中的所见都能在无意识的状态下,自动于虚拟世界中建模;而通过三维打印,虚拟世界中的模型也能在真实世界中重建。此时,现实与虚拟世界的边界将不再像今天这样清晰,我们将迎来虚拟与现实的融合——在你的Cyber
Space里,你就是“造物主”。

(图片来自互联网)

____________________________________________________________________________

童欣博士

微软亚洲研究院网络图形组首席研究员。1993年毕业于浙江大学计算机系,获工学学士学位;1996年获浙江大学计算机系硕士学位;1999年获清华大学计算机系博士学位,同年加入微软亚洲研究院。目前主要从事计算机图形学方面的研究。

相关阅读

让虚拟秀发飘动起来

让脸部动画更逼真——计算机图形学带来新机遇

欢迎关注

微软亚洲研究院官方微博:http://e.weibo.com/msra/profile

微软亚洲研究院人人主页:http://www.renren.com/600674137

最新文章

  1. 隔天开启tomcat spring报错
  2. JMeter--集合点设置(转)
  3. vs 2012 + OPenCV 2.4.8 配置
  4. linux下删除文件名乱码文件
  5. 【POJ】2187 Beauty Contest(旋转卡壳)
  6. IdTcpClient简单示例
  7. Android如何设置标题栏的高度
  8. Java字符流读写数据的两种方式
  9. 关于一点coding.net与git配合在AndroidStudio/Idea上的使用笔记个的
  10. 限制 UITextField 输入长度
  11. 第一次写博客,关于前端开发deMVC在js中的应用
  12. Java判断字符串是中文还是英文
  13. android 实现代码关机
  14. codeforces 598A Tricky Sum
  15. 201621123002《java程序设计》第十三周学习总结
  16. 使用chrome远程调试设备及调试模拟器设备
  17. 利用U盘启动制作GHO镜像
  18. Storm流处理项目案例
  19. Python拾遗
  20. 1.如何在虚拟机ubuntu上安装hadoop多节点分布式集群

热门文章

  1. PPT |《Kubernetes的兴起》
  2. js获取指定日期n天之后的日期
  3. STM32重映射
  4. webpack4+vue 打包 就是没效果?求解!!!
  5. MQTT的编译和安装(mosquitto)
  6. java this的用法以及原理
  7. Python说文解字_杂谈07
  8. Python说文解字_杂谈04
  9. 项目部署篇之——下载安装Xftp6,Xshell6
  10. Golang解析json的几种方法