Geometry-Guided Generalizable NeRF for Human Rendering

一:介绍

        自由视角的人体外观渲染是一个计算机图形学中的长期问题。

        最近,NeRF显示出显著的视图合成效果。有的工作基于NeRF来呈现人体的表面,但是他们不能泛化。最近的一些工作,通过将源视图的像素对齐的特征作为输入,帮助新场景呈现图像,但是在重建复杂运动的人类时,会产生伪影。

        论文提出了一种新的人体外观呈现方法,特点是出色的泛化能力,可以在稀疏的视图上合成每一帧的自由视角图像,不需要微调,效果也很好。

二:相关工作

        基于图像的渲染:这种方法是通过在一个场景中捕捉一组图像,使用这些图像在场景的任意视角观察图像。这种方法依赖密集的视角,深度图或是几何表征。最近一些工作通过三维重建模型来生成相对准确的深度图,再结合深度学习网络来纠正不同视图之间的像素映射错误。但是这种方法不支持端到端的学习,因此数据的预处理很复杂。

        神经体积渲染:最近,神经体渲染通过多层感知机来存储场景信息,实现高质量的新视角合成。但是,需要在一个场景中有大量的视图,并且只能对静态的场景进行重建,同时一个场景中训练的模型不能泛化。也有的人通过将像素对其的空间特征作为输入,以此推断场景的几何模型和纹理特征,并泛化到新场景,但是使用这些来重建人类外观很困难。

        人体表面捕捉:之前,大多数的传统方法是通过传统的建模和渲染管道来合成新视角照片,这些方法依赖于深度相机来实现高保真的重建和高质量视角合成。

三:方法

        概述:使用给定的源图像,给定的校准后的相机参数,表演者的估计参数化人体SMPL,输出的是一个新视角的表演者的图像。

      1 感知遮挡的颜色混合模块

        对于给定射线上的一个样本点Xk,使用感知遮挡的颜色混合模块来计算颜色Ck

        1.1 投影和特征提取

        通过源图像的相机内外参数和目标视角图像的相机内外参数,将目标坐标系中的一个样本点X投影到每一个源视图中,并且计算其在对应的视图中的像素的位置。

        特征提取过程:作者将串联的图像和图像对应的深度图送入一个CNN网络,生成遮挡特征图Fi,通过X点的投影位置,使用双线性插值计算X投影点的遮挡特征和颜色。这里获得的遮挡特征在后面通过MLP解码,获得投影点的遮挡概率。

        1.2 能见度计算

        感知遮挡的可见性:当表演者的姿势比较复杂时,就会产生自遮挡的问题,因此,作者想要推断出一个样本点被遮挡的概率,直接的办法就是判断样本点是否和人体形状相交,在投射到源视图上,但是这样计算会很耗时。

        因此,作者通过加入深度信息来对遮挡概率建模,首先使用SMPL提供一个先验的深度图,并将深度图和源图像连接起来,再通过CNN对编码生成一个特征图,最后通过一个MLP对遮挡特征图的像素点的特征 fi 解码,输出平均值和标准差,再通过遮挡概率函数计算点X的被遮挡的概率。

        

        这里的 Zi 指的是点 X 在源视图 i 上的深度,u和δ是通过MLP预测的平均值和标准差,Oi对应于源射线(指从源视图的X投影的像素点出发的射线)在 Zi 之前被遮挡的概率,即如果 Zi > u ,意味着射线击中了身体的其他表面,即点X在射线射中之前就被遮挡了,这里 Zi 和 u 的差值越大,代表被遮挡的概率越高。

        在后面的计算中,作者把被遮挡概率 Oi 表示为可见度 Vio = 1 - Oi

        基于方向的可见性:通过一个WWG的方法来分配每一个源视图的方向可见度Vid

     

       1.3 颜色混合网络

        基于上面的感知遮挡的可见度和感知方向的可见度,从每个颜色图中混合Ci,再输出颜色。

        颜色混合网络分为三个MLP结构,分别用来预测 源视图的初始颜色可见度+多视图感知特征,最终的颜色可见度和最终的颜色权重        

        第一个MLP结构,对于一个Xk点的颜色Ck,除了点Xk的局部特征 fi 外,作者还采用了PointNet的方法来构建全局特征,这将有助于检查源视图之间的一致性。具体的说,对于上面计算出N个源视图的遮挡感知可见度Vio和方向可见度Vid,先归一化,再分别计算其平均值和方差 uo , vo , ud , vd 。作者在下面将这四个值拼接在源视图的像素点对应的局部特征fi上,作为全局特征。将拼接后的特征向量输入第一个MLP网络,得到每一张源视图的初始可见度 vic 和多视图感知特征 fim 。

        第二个MLP将上一个MLP输出的多视图感知特征 fim 和初始颜色可见度 vi 结合感知遮挡的可见度 vi 送入MLP2,输出每个视图的最终颜色可见度 vi 。

        在最后一个MLP中,作者将多视图感知特征 fi 以及每一个源视图的可见度 vi 送入MLP3中,获得对应的颜色权重wi

        最后,通过每一个源视图的权重,获得点Xk的颜色Ck

        

      2.密度解码器

        为了计算密度,作者使用了多模型的密度特征,也包括了多视图的一致性特征。

        首先,SMPL模型是一个有着稀疏点云的人体模型,这提供了几何先验。作者先对点云进行位置编码,然后,将编码的顶点作为输入,输出一个三维体积特征张量,这个张量存储了人体形状的先验信息,然后通过三线性差值获得三维体素特征 fv 。然后,将感知遮挡的颜色模块预测的多视图一致性特征 fc 和 fv 一起送入密度解码器,输出密度。

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值