Facebook FRL提出逆向绘制重建,实现虚拟化身头发照片级真实感
帮助实现数字人类头发的照片级真实感绘制
(映维网 2021年08月16日)随着增强现实技术和虚拟现实技术的出现,创造逼真数字人类越来越受到计算机视觉和图形学界的重视。逆向绘制(Inverse rendering)是一种可以减轻3D美术建模高保真数字人类的工作量的广泛应用技术。对于数字人类逆向绘制,已经有数种成功的方法来构建产生多视点光度数据的捕获系统(多视点光度数据是从不同视点和不同光照条件下拍摄的一组图像)。对于所述图像,逆向绘制框架能够重建人体皮肤的详细几何结构和复杂材质外观,例如镜面反射和次表面散射。尽管以往的数字人类研究在人脸和身体方面取得了进步,但头发则不然。
由于本身的特点(微小尺度的几何结构和大量的发束,对高保真头发数据的逆向绘制依然是一个有待解决的问题。在名为《Human Hair Inverse Rendering using Multi-View Photometric data》中,Facebook Reality Labs和加州大学的研究人员提出了一个新的逆向绘制框架来重建头发的细节几何及其反射,从而帮助实现数字人类头发的照片级真实感绘制。
参考最近数字人类逆向绘制研究的成功,团队采用了多视图光度数据。作为第一阶段,研究人员以发束级别精度重建头发几何。传统的多视角立体技术在这个阶段失败,因为它们是设计用来重建三维表面,而不是三维发束。主要的挑战是在视图中寻找像素级的对应关系。有人曾提出一种基于线的多视图立体算法,亦即从多视图图像重建三维线云。然而,所述方法需要密集的摄像头(一个半球需要70个摄像头),并且依赖于启发式方法来匹配和选择视图。
Facebook和加州大学团队提出了一种基于线的多视图立体解决方案。与之前的研究相比,它可以从更少的视图中获得更密集的重构线。研究人员设计了一个能够充分利用光度数据的匹配成本函数,并提出了光码(lightcode,它存储关于一小段头发是否能被每种光照亮的信息)。利用光码,团队有效地解决了头发对应问题以及每像素视图选择问题。
使用重建的头发几何,团队在第二阶段使用光度数据估计反射属性。估计头发的反射率是一个挑战,因为头发的整体外观是光线与约80微米厚的每根头发纤维的聚合多重交互结果。每一种纤维都表现出高度的各向异性和复杂的光散射模式。为了估计发丝的全反射特性,团队需要一个高度复杂和精密的显微镜捕捉系统。所以,研究人员提出了一个实用的解决方案,通过一个简单的头发反射模型和拟合参数来利用重建的几何和照明信息。
团队提出的头发逆向绘制管道如图2所示。所述框架的输入是多视图光度数据,即从不同视点和不同照明条件拍摄的一组图像。团队假设Nc camera指向被摄体,并且存在Nl点光源(Nl)≥ Nc)。团队同时假设每个camera都有一个共同的光源。在每个光源(和额外的均匀照明)下,所有camera捕获Nc×(Nl+1)图像,然后团队首先使用多视图光度立体理论重建一组密集的发束,然后使用推断的几何体估计发束的反射特性。
团队使用合成头发绘制数据演示了所述方法,并使用了高质量的人头模型和发束模型。具体来说,团队在上半球放置Nc=24个摄像头,对准头发区域,然后在球体均匀分布Nl=36个点光源。研究人员确保每个camera都有一个共同的点光源。使用合成数据有以下优点。首先,可以获得在实际捕获的数据中不可能获得的groundtruth。其次,可以有效地控制数据集。例如,团队可以轻松地更改头发反射参数、camera和照明的数量、曝光设置等。所有的图像都以2048×2048的分辨率绘制,其中一根头发大约有3个像素宽。
对于头发几何重建,团队的几何重建算法参考了基于线的多视图立体(LMVS;line-based
multi-view stereo)技术,亦即利用多视图捕捉重建精确的头发几何结构。然而,由于头发内部的多重散射效应,无法轻松从捕捉到的图像中区分头发。所以,这种方法需要大量camera才能获得满意的输出,并且只恢复头发的外表面。
针对这种情况,团队使用多视角光度立体(MVPS; multi-view photometric stereo)装置来解决这个问题,并提出了一种充分利用光度数据的LMVS解决方案。特别地,团队介绍了一种新的每像素光编码结构lightcode光码。光码可以有效地选择多视点立体图像的相邻视点,也可以为多视点立体图像的鲁棒匹配提供强信号。
对于头发反射率估计,团队注意到毛发外观的聚集性难以估计。光线在头发体积内会反弹很多次,特别是在金发或其他浅色头发的情况下。为了匹配捕获的图像,需要准确估计单个头发纤维的反射率特性。影响视觉外观的主要因素有两个:头发的纵向粗糙度和吸收系数。纵向粗糙度βl控制头发束上的亮显大小,吸收系数σ决定每个纤维吸收多少光,从而控制头发束的颜色。
总的来说,团队介绍了一种头发逆向绘制框架来重建头发的高保真三维几何结构及其反射率。团队将多视点光度数据作为输入,而方法主要包括两个阶段。在第一阶段,团队提出了基于线的多视角立体,其可以产生准确的头发几何从多视角光度数据。另外,团队提出了一种单像素光码,其能够有效地解决头发对应匹配问题。与最先进的技术相比,这一解决方案能够从较少数量的camera中实现精确和密集发束重建;在第二阶段,团队使用多视角光度数据估计头发的反射特性。采用简化的发丝BSDF模型进行真实感再现。基于头发的三维几何结构,研究人员对头发的纵向粗糙度进行拟合,得到单根头发的颜色。实验结果表明,所述方法能真实再现头发的外观,为数字人提供逼真感。团队使用真实感合成头发绘制数据证明了所述方法的准确性和效率。
相关论文:Human Hair Inverse Rendering using Multi-View Photometric data
所述论文的贡献主要包括:
- 提出一个使用多视图光度数据的头发逆向绘制框架,其能够产生高保真头发几何体及其反射率,并可用来帮助虚拟角色实现头发的照片级真实感绘制。
- 提出了一种基于线的多视图立体解决方案,其可根据多视图光度数据生成精确的头发几何图形。通过使用光码,所述方法可以产生更为密集的发束。
- 使用多视角光度数据估计头发反射率。给定估计的纤维方向和一组光矢量和camera矢量,团队利用头发BSDF的稀疏样本来估计多次散射反照率和纵向粗糙度(其可以分别定义头发的整体颜色和高光宽度)