Java|虚拟人的手工前世和AI今生( 五 )


为什么真实质感的皮肤难以手工打造?
这是因为 , 人的皮肤在细节上有着特别复杂的表现 。 和那些滑溜溜的虚拟人脸部皮肤完全不同 , 人类真实皮肤具有着相当的复杂性:
当日光进入人体后 , 不同波长的光会有不同的吸收 , 对应着不同的散射距离和衰减速度;此外 , 进入皮肤的光线还受到皮肤表层透光度 , 毛孔和皱纹结构甚至是皮下组织结构的影响 。
因此 , 靠着艺术家的手工一直无法还原出皮肤的照片级真实感 , 纯手工打造拥有毛孔结构细微变化的皮肤太难了 。
这个难题一直到了2008年才有了转机 , 技术宅发明了一种黑科技 , 能对面部皮肤进行高精度三维重建 , 在精确的脸部几何模型之上 , 再准确生成表面的皱纹和每个毛孔的结构细节(感慨一下 ,太牛了……) , 同时还用物理学公式描述了不同波长光线在皮下组织的衰减 , 最终才得到了“照片级”真实的皮肤质感 。
这就是影视行业里大名鼎鼎的LightStage , 或许是这个星球上最牛的人脸扫描技术 , 也是光场动态重建技术在工业界最有代表性的系统实现 。
LightStage是由美国南加州大学ICT Graphic Lab的保罗·德贝维奇(Paul Debevec)所领导开发的三维采集重建平台系统 。 第一代系统于2000年诞生 , 从诞生的第一天就受到了广泛的关注 , 到现在已经发展到了LightStage6 , 最新一代系统被命名为 LightStageX 。
LightStage所采用的光场扫描的技术出了好些顶级图形学论文 。 对普通读者来说 , 只需要理解一点:LightStage光场扫描通过采集人脸各种角度的明暗分明的光照数据(如上所示) ,最终计算还原出超高精度的人脸表面信息 。
这种技术能很好的重建人脸上每个毛孔的结构 。 通过LightStage扫描重建的美国前总统奥巴马人脸 , 上面的毛孔细节清晰可见 , 着实让人惊叹 。
有趣的是 , 摄影制图法和大杀器LightStage都采用类似的球形相机阵列来拍摄获得人脸不同角度的信息 。 但明显的区别是:前者用柔和均匀的灯光拍摄 , 要避免高光和明暗不均匀;而后者则特地拍摄明暗分明的人脸 。 两种系统的用光理念南辕北辙 。
因此 , 观察阵列拍摄时的用光方式 , 读者可以一眼辨别出相机阵列背后所采用的是摄影制图技术 , 还是动态光场重建技术 。
当LightStage2成型之后 , 索尼影业旗下Imageworks的视觉效果主管Scott Stokdyk在Light Stage团队的配合下 , 用这个技术为电影《蜘蛛侠2》制作了演员阿尔弗雷德·莫利纳(“欧克医生”Doc Ock)和托比·马奎尔(“蜘蛛侠”)的虚拟替身 。 这项技术在近40个镜头中使用 , 帮助这部电影获得了2004年奥斯卡最佳视觉效果成就奖 。
LightStage2在更多的电影制作中被使用 , 包括了2005年的电影《金刚》 , 以及2006年的电影《超人归来》 , 后者用LightStage2扫描制作了一个虚拟数字超人角色 , 在很多动作动作镜头里都有运用 , 这个虚拟数字超人帮助这部电影赢得了奥斯卡最佳视觉效果提名 。
《超人归来》
而到了成熟的LightStage5 , 则被广泛用于好莱坞的各种大片 , 很多都是耳熟能详的 , 比如《本杰明巴顿奇事》《蜘蛛侠3》《阿凡达》……
严格上来说 , LightStage这个大杀器的核心技术光度立体法并不测量几何结构 , 还是要靠类似摄影制图的方法来获取人像的准确3D模型 , 然后再用光度立体法对模型表面进行高精度细节的计算 - 这就是Light Stage能还原皮肤毛孔结构细节的原因 。 也正因此 , LightStage扫描技术能够得到众多好莱坞大片的青睐 。
不过 , 尽管LightStage是个有公开论文的成熟系统 , 其最核心的模型表面高精度细节计算并没有公开的解决方案 , 很多算法细节无从知晓 , 导致国内长期以来一直没有这种级别的扫描技术出现 。