HumanNeRF:从2D视频提取动态人像,并转换为3D模型
近期,华盛顿大学计算机科学院的GRAIL图形和成像实验室发布了一项基于NeRF合成的新技术:HumanNeRF,该方案的最大特点就是利用AI算法将2D视频合成高保真3D全身模型。科研人员表示:HumanNeRF可从网络视频等2D数据提取动态人像,并进行自由视点渲染。
据了解,GRAIL实验室由Adobe、谷歌、Intel、微软、皮克斯等公司赞助,多年来不断在研发将2D图像、视频中内容风格,并“注入生命”的技术,效果就像是哈利波特中描绘的动态照片那样神奇。此前青亭网曾报道过一个“照片唤醒”AR方案就是GRAIL的研究项目之一,该方案的特点是可将2D图片中的人物变成3D动画,并允许3D动画以AR的形式从图片中脱离。
这一次,GRAIL团队通过HumanNeRF方案,把网络视频中的人渲染成支持自由视点查看的3D模型。HumanNeRF合成的3D模型可结合动捕系统,来合成动态的虚拟人像。
我们知道,NeRF全称是神经辐射场,它是一种小型神经网络,可通过2D图片来学习3D建模和渲染。作为近两年兴起的技术,AI神经渲染方案正在颠覆传统的3D渲染流程。NeRF技术的一些变体在几秒钟内便可学习和渲染复杂的3D模型。
NVIDIA图形研究副总裁David Luebke曾表示:NeRF就像是位图影像,原理是捕捉光线从一个目标出发或在一个场景中照射的规律。值得注意的是,GRAIL的投资者之一,谷歌也是NeRF技术的领军者,此前其曾与UC伯克利、UC圣地亚哥合作开发了NeRF模型方案,并用来渲染3D街区、3D物体。
而与其他NeRF方案相比,HumanNeRF的优势是合成的3D模型更清晰,重影概率小。训练HumanNeRF模型学习非刚性运动后,便可合成动态的服装褶皱变化。值得注意的是,科研人员还利用HumanNeRF来合成视频输入的反向视角,也就是说如果2D视频中的人是正面,那么则合成3D模型的背面,听起来很难,不过HumanNeRF的合成效果看起来足够自然。
HumanNeRF可将任何单视角视频中的人体运动转化为3D模型,也就是说可以将视频中的人像抠出来,做成AR,或是与3D场景结合。细节方面,HumanNeRF实际上是对视频中某一帧的人体动作进行抠图,生成的3D模型可从任意角度查看,也就是说2D图像中没有显示的部分也可以合成出来。这意味着,未来网络上的2D视频资源也可以轻松转化成3D内容。大量的网络视频也可以成为NeRF模型的训练数据。
硬件方面,HumanNeRF需要在四个GeForce RTX 2080 Ti GPU上进行训练,需要72个小时。而利用NVIDIA Instant NGP三维重建训练方案,将大大降低NeRF所需的算力。
通过验证,HumanNeRF利用单一角度视频渲染3D姿态的效果足够有效。HumanNeRF解决了3D人像渲染的两大难题:神经网络渲染动态对象、对于多摄像头方案的依赖。此外还可学习人体T型姿态,并通过运动场来学习刚性骨骼运动和非刚性运动。运动场和姿态预测学习信息可根据2D视频中的姿态去修改3D模型,并在NeRF中渲染。
不过目前,这项技术还有一些需要优化的局限,比如视频中未出现完整的身体,或是部分身体被遮挡,生成的3D模型可能会出现伪影。加入姿态矫正后,可改善图像对其效果。但如果初始姿态预估数据不良,或是包含运动模糊等明显的伪影,逐帧生成的3D姿态在时间维度上依然不平滑。
另一方面,也可以假设人体非刚性运动与姿态相关,从而预测3D数据的运动,但准确性依然不够好(在吹风、运动等情况下,人的衣服也会移动)。此外,HumanNeRF假设视频背景的照明是漫射的,也就是说场景中的人运动时,周围的亮度不会发生变化。如果自动合成的3D模型出现分割错误,那么将需要依靠人工来手动干预。参考:GRAIL