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


以上都是纯计算机生成的人脸图片 ,但混在真人照片里 ,绝对真伪难分
如果哪天 , MetaHuman Creator增加一个上传人脸照片自动学习和匹配捏脸的功能 , 那就真的是“一键喜提虚拟人”了 。
顺便提一下 , 前面提到过的虚拟人AYAYI , 正是由MetaHuman Creator打造的 。
到这里 , 打造虚拟人模型的故事就差不多了 。
在打造了3D虚拟人模型后 , 其实紧接着还有一项很有挑战的工作——把人物模型各个部位正确地绑定到之后用以驱动动作和表情的控制器上 。 这就好比把皮肤和底下的肌肉和骨骼正确连接在一起 , 这样静态的模型才有可能被驱动起来 。
在这点上 , 类似MetaHuman这样的捏脸系统稍微好一点 , 毕竟是通过同一个原始模型衍生而来 , 内部的驱动机制可以统一做好;而对于直接相机阵列扫描得来的超写实模型 , 绑定是一个很繁重的工作;这个领域目前也有了大数据和AI技术的加持 , 不再赘叙 。
让虚拟人动起来: 关键帧动画、动作捕捉、AI驱动
关键帧动画
在很长一段时间里 , 我们驱动一个3D模型 , 无论虚拟人还是虚拟怪物 , 让模型动起来的方法就是关键帧动画 。
关键帧动画是容易理解的概念 , 有点类似黏土定格动画 , 把黏土人偶摆出一个动作拍一帧 , 持续摆拍完成后再以24帧每秒的速度播放 , 就得到了连贯的黏土动画 。 很明显 , 打造这样的动画需要惊人的耐心 。
关键帧动画和黏土动画的机制很像 , 读者可以理解为把现实的黏土人偶换成了软件里的3D模型 , 制作者在时间轴上摆出模型的一个个动作(关键帧) , 软件实现动作间的过渡 , 从而打造了一个3D人物的关键帧动画 。
人们想了很多方法去提高关键帧动画的效率 , 但本质上 , 关键帧动画还是由3D动画师一帧帧手工抠出来的 。
动作捕捉
和3D建模一样 , 从生产效率 , 输出质量和人力成本等各方面而言 , 纯手工的关键帧动画方式都无法被工业化大规模生产流程所接受 。 自《指环王》的咕噜开始 , 动作捕捉技术走进了大众的视野 。
顾名思义 , “动作捕捉”就是直接捕捉采集表演者的动作 , 然后去匹配驱动虚拟人模型 。 这是目前虚拟人动作生成的主要方式 。
动作捕捉这个事情 , 有一个有趣的路线区分 , 有点类似自动驾驶汽车感知系统路线之争:
自动驾驶的核心是要通过传感器感知周围环境 , 有两种方式:纯视觉摄像头和激光雷达 。 哪种路线更好 , 视觉派和雷达派至今还PK得不亦乐乎 。
动作捕捉 , 也分为两大派系 , 光学动作捕捉和惯性动作捕捉 。
光学动作捕捉是在一个摄影棚四周架上一圈摄像头 , 360度无死角对着表演者拍摄;表演者身上标记着很多反射红外光的标记点(marker) , 通过多摄像头对反光点的同步追踪 , 计算机计算得出演员动作 。
惯性动作捕捉呢 , 则是在人体特定骨骼节点上绑上惯性测量元件(加速度计+陀螺仪+磁力计等等) , 通过对传感器测量数值进行计算 , 从而完成动作捕捉 。
光学动作捕捉是当前电影工业的主要生产方式 , 因为精确度足够高 。
但问题是:尽管效果很好 , 但光学动捕对于大众化普及没什么意义 。 一般人很难拥有这种昂贵的光学动捕摄影棚 , 场地和设备的需求注定了这是一个相对阳春白雪的技术 。
惯性动捕的成本则低得多 。 目前 , 小几万人民币的成本 , 可以拥有一个包括动捕手套在内的全身惯性动捕设备 , 这价格对网红大V不是问题 , 普通创作者咬咬牙也买得起 。