没有合适的资源?快使用搜索试试~ 我知道了~
6088×个基于不可微采样的可微曲面绘制Forrester Cole1Kyle Genova1Avneesh Sud1Daniel Vlasic1Zhoutong Zhang1,21谷歌研究2麻省理工摘要我们提出了一种可微分渲染的3D表面,支持显式和隐式表示,在遮挡边界提供衍生物,是快速和简单的实现方法。该方法首先使用不可微光栅化对表面进行采样,然后应用可微的、深度感知的点溅射来产生最终图像。我们的方法不需要微分网格或光栅化步骤,使其有效的大型3D模型和适用于从隐式表面定义提取的等值面我们证明了我们的方法的有效性隐式,网格,和参数化表面为基础的逆绘制和神经网络训练appli-阳离子。特别是,我们第一次展示了从神经辐射场(NeRF)提取的等值面的高效的、可微分的渲染,并且展示了NeRF的基于表面而不是基于体积的渲染。1. 介绍相对于底层场景参数计算渲染表面的导数在图形、视觉和机器学习中引起越来越多的兴趣。三角形网格是许多行业中的主要形状表示,但基于网格的衍生物在局部或改变拓扑时是未定义的。因此,体积表示在计算机视觉应用中的重要性已经上升,特别是神经辐射场或NeRF [27]。到目前为止,这些体积形状表示已经使用体绘制来绘制。体绘制是自然可区分的,但是如果底层形状可以由表面很好地表示,本文提出了一种方法来呈现显式(例如,网格)和隐式(例如,等值面)表示,并产生精确、平滑的导数,包括在遮挡边界处。我们的方法使用一个不可微的光栅化步骤来采样的表面和解决occlu- sions,然后splats的样本使用深度感知,differentiable splatting操作。因为采样操作不需要是可微分的,所以可以使用任何常规的表面提取和光栅化方法(例如,[24]第二十四话图1. 我们的方法提供了高效的,可区分的显式和隐式表面表示渲染。示例包括纹理三角形网格(YCB玩具飞机[4])、三次B 样 条 曲面 和 密 度 体 积的 等 值 面 ( 来自 NeRF 的 Lego[27])。通过将预先训练的NeRF变成表面光场来渲染乐高。由于表面光场只需要一个评价每个像素,我们实现了128的渲染速度,ING与原来的NeRF相比。也可使用所述斑点提供图像w.r.t.的平滑导数。遮挡边界处的曲面溅射是在固定大小的像素网格上执行的,并且使用自动微分容易由于不需要自定义梯度,因此立即支持正向和反向模式微分。我们称这种方法光栅化,然后splat(RtS)。在光栅化和溅射步骤之间,表面样本可以通过在光栅化图像缓冲器上评估的任何可微函数进行着色-而由于着色和飞溅计算的复杂性受像素数量的限制,而不是表面的复杂性,因此RtS能够扩展到高度详细的场景。可微分着色函数的一个示例是NeRF网络:给定空间位置和观察方向,它输出相应的辐射。虽然NeRF是使用体绘制训练的,但我们的方法可以将预训练的NeRF转换为表面光场[28,39],从而消除了对昂贵的光线行进的需求。我们将表面表示为从预训练的NeRF中提取的密度场的等值面,使用NeRF颜色预测6089×个分支,并共同微调NeRF网络和密度场。所得到的优化表面和表面光场在渲染质量方面与原始NeRF网络相匹配(在0. 3PSNR),但只需要一个单一的网络评估每个像素,产生128加速(图。①的人。我们进一步证明,RtS提供了高品质的衍生物的网格和参数曲面的逆渲染,同时保持简单的实施。用于基于网格的渲染的RtS的实现作为TensorFlow Graphics1的一部分提供。2. 相关工作早期的可微分渲染探索了专门的形状参数化的衍生物(例如,可变形模型[3]或高度场[36,15,2])。最近的工作集中在一般的3D三角形网格和隐式表示,如符号距离场和体积。2.1. 渲染三角形网格渲染三角形网格时,假设拓扑是恒定的。计算导数的剩余主要挑战是处理遮挡边界。以前的工作分为四个主要类别:渐变更换 诸如[16,23,14]的方法使用启发式来定义网格渲染的平滑导数,同时保持向前渲染不变。OpenDR [23]和DiRT [14]使用图像空间滤波操作来查找导数,而神经网格渲染器(NMR)[16]定义了一个特殊的每三角形导数函数。在[41]中提出了具有修改的梯度函数的表面溅射[42]的可微版本。这些方法不容易支持纹理或复杂的着色模型,并且在某些情况下由于渲染和其梯度之间的不匹配而产生收敛问题。自定义梯度函数仅针对梯度反向传播所必需的雅可比向量积来实现,并且新的附加函数对于支持前向模式或高阶导数是必要的边缘采样。Redner [19],nvdiffracast [18],DEODR [8]和其他人[13,10]明确采样形状的遮挡边缘它们需要形状处理来查找和采样边缘,因此计算导数的成本随着网格中边缘的数量而增加Nvdiffrast使用严格优化的CUDA内核来降低成本,但它们的代码需要特定的GPU硬件,并且不容易为新系统进行更改。RtS可以在没有任何形状处理或自定义衍生代码的情况下实现,并且可微分部分的成本与网格的大小无关。重新参数化渲染积分。当执行蒙特卡罗路径跟踪时,遮挡不连续。1https://www.tensorflow.或g/graphics可以使用渲染方程[25,1]的重新参数化来处理。这些方法与我们的方法有关,因为它们选择表面样本,而不需要明确的遮挡边界采样。然而,这些方法只适用于路径跟踪的上下文中,而RtS支持简单的着色和光栅化。使用平滑渐变进行前向渲染。与我们的方法类似,Soft Rasterizer和相关方法[21,32,6]以及[34]的可微可见性方法改变了前向渲染过程,使得其梯度通过构造而平滑与Soft Rasterizer不同,RtS不需要昂贵的最近点查询或网格处理。2.2. 表面飞溅表面溅射[42]将表面视为点云,并在每个重叠的点处渲染圆盘图元以创建连续表面。溅射已经被适配用于3D形状的可区分渲染[41]和图像的向前扭曲[30]。类似于splats,还探索了使用3D体积基元的可区分可见性[34]。与这些方法相比,我们的方法使用真实的表面表示作为底层几何,而不是点集,并且在每个帧处对splats重新采样,避免了随着优化进行而对splats进行欠采样或过采样的问题。2.3. 隐式曲面的隐式曲面表示(如符号距离场)自然会处理拓扑变化,但渲染仍然需要显式处理遮挡边界。在最近的工作中,有时假设遮挡掩模由用户提供[40,29],或者通过找到击中背景的射线上的最近掠射点来计算[22]。这两种方法都不能处理自遮挡,这是漫游风格场景中唯一的遮挡类型(图1)。第10段)。体绘制[11,27]在遮挡处提供平滑导数,包括自遮挡,但需要昂贵的射线行进来找到表面。MarchingCubes(MC)等值面提取[24]可用于将体积转换为用于优化的表面,但该过程不是自然可微的[20]。我们的方法提取和栅格化的等值面在一个单一的不可微的步骤,然后计算衍生物在图像空间,避免奇异性的MC衍生物。与RtS最相关的是MeshSDF [33],它也使用隐式曲面的不可微采样,然后使用NMR进行可微遮挡测试[16]。但是,MeshSDF使用SDF的法线定义自定义衍生,这种技术适用于真正的SDF,但不适用于常规等值面。此外,MeshSDF demonstrates只有一个神经表示的表面,而我们的方法允许等值面参数化的网格或任何其他可微函数。6090GGUC PSGUU→UG→UGUGUG转项目不可微:自动可微:可优化变量:场景参数样品评价结果摄像头造型三角形顶点面片角点体素化距离属性法向量顶点颜色纹理坐标光SplatSplat位置阴影着色颜色飞溅颜色ID参数位置法线Splat颜色图2.栅格化后溅射系统。 场景参数θ首先通过采样函数传递,从而产生每层屏幕空间参数缓冲区U,k。这些缓冲区是不可微的,并且仅在正向传递中计算(虚线箭头)。评估函数使用它们来将形状属性(例如位置和法线)插入G缓冲区Gk。自动微分可以应用于和下游函数(实线箭头)。计算的属性通过延迟着色函数组合以计算splat颜色Ck以及相应的屏幕空间位置Pk通过投影函数 . 然后,函数使用3x3内核将着色颜色溅射到相应的像素位置,以产生最终结果S。3. 方法先栅格化后拼合的方法由三个步骤组成:表面的光栅化(Sec. 3.1),对表面样品进行着色(第3.2),和多层溅射(Sec. 3.3)。所有的导数都是使用自动微分产生的,所以实现者只需要编写前向渲染计算(图1)。2)的情况。3.1. 基于不可微采样的光栅化可以表示为一个函数,该函数采用包含几何属性(如位置、法线或纹理坐标)以及相机参数的场景参数θ,并产生屏幕空间几何缓冲区(或G-缓冲区[35])Gk∈1.. K,其中包含与摄影机最接近的K个光线交点处的插值属性。使该过程既可微分又有效,我们将光栅化分为两个阶段:产生不可微表面参数Uk的采样函数(θ)Uk,以及评估函数(θ,Uk)生成G缓冲区的Gk必要的参数随表面类型而异(见下文)。给定表面参数的表面属性的评估通常是简单的插值操作,因此可以在自动微分框架中容易地表达。困难且计算密集的操作是找到表面与相机射线的相交的采样函数。然而,由于我们对w.r.t.的衍生品不感兴趣。采样模式本身可以充当不可微的下面我们将给出三角形网格、参数曲面和隐式曲面的具体示例。3.1.1三角形网格对于三角形网格,参数U_k由每像素三角形索引T_k和对应三角形内的像素的(透视校正)质心坐标B_k组成。采样函数可以使用传统的Z缓冲器图形处理非常有效地计算这些值,使用深度剥离[12]来检索每个像素的多个交叉点。评估函数简单地使用T查找每个像素的三个顶点属性,然后使用B对它们进行插值。3.1.2参数曲面双三次规则B样条曲面[5]是一种光滑参数曲面,到目前为止还不支持可微渲染。这些表面的有效光栅化是通过细分矩形面片直到所得到的小平面小于一个像素来实现的,这使得导数的传播变得复杂。我们避免了这种困难与不可微的采样函数,返回每像素补丁索引和补丁参数。然后,评估函数使用参数和B样条基矩阵([5]中的等式1)来内插面片顶点属性。这种方法可以扩展到所有具有封闭形式求值表达式的参数曲面,例如Catmull-Clark细分曲面[38]和Bézier曲面。3.1.3隐式曲面我们将隐式曲面视为三维空间上函数fθ:R3R与网格或样条曲面片不同,隐式曲面没有自然的参数化。我们选择基于Marching Cubes [24]算法提供的等值面三角剖分6091Gβ值U2∈CS3ΣΣΣ11参数Uk是9-D向量,由6个晶格指数v1. 6定义与等值面相交的3条边,以及3个三角形重心坐标β1…3 .第三章。求值函数在 v1 处 对 f 求 值 。 6(sim-对象空间xyz位置的G缓冲区(Sec. 3.1),然后在每个像素处应用相机视图和投影变换。3.3.1单层溅射查找它们的值,如果f已在网格上定义),沿边插值到v2α1splat核由具有窄变分的高斯定义。ance.如果p是单个splat的中心位置,则重量求系数α1..3即-v1v62 X在附近像素q处的飞溅的值为:细化三角形顶点, 则v内插 的 顶点 使用53β3v411 +系W.− q − p2 Σ2β1 3以产生表面点αX. 关键的是,这个方案隐藏了vαwp(q)= p exp2σ2(一)复杂的拓扑规则其中,ε是小调整因子,Wp是正常的-在不可微函数中推进立方体,通过全网格拓扑消除存储或微分的需要[20]。注意,虽然当相邻网格值几乎相同时,由于奇异性,Marching Cubes算法不是自可微的[20,33],但我们的程序通过仅在导数明确定义的情况下评估表面来解决这个问题。我们从几乎所有采样函数U中的相同网格单元。3.2. 着色G缓冲区Gk包含各种表面属性de-等待所需的阴影。任何可以表示为延迟着色操作的着色函数[9]根据3x3邻域中的所有权重的总和计算的量化因子通过设置σ= 0。5、我们有:Wp=exp−2[p+(i,j)−p2.(二)i=−1j=−1然后,像素q处的最终颜色sq是相邻像素rNq的阴影颜色cr的加权和除以累积权重:sq=Σwr(q)cr,max1,Σwr(q)(3)r∈Nqr∈Nq可以应用。对于纹理映射网格(图6),G k中的每个像素包含3D位置、3D表面法线和2D纹理坐标。对于参数表面渲染(图 8)和隐式表面渲染使用NeRF着色器(图。10),Gk仅包含3D世界空间位置。着色步骤的输出是一组RGBA缓冲器Ck。3.3. 深度感知溅射阴影颜色Ck具有关于w.r.t.的导数。表面属性,但是因为它们是使用点采样产生的,所以它们不具有关于R.T.的导数。闭塞界限为了在遮挡处产生平滑导数,飞溅函数将每个光栅化的表面点转换成飞溅,以Pk中的对应像素为中心,并由Ck中的对应阴影颜色着色。为了处理遮挡边界处的splat重叠,我们引入了基于深度的splat的多层累积策略(Sec. 3.3.2),为闭塞和解除闭塞提供卓越的准确性(第3.3.2节)。4.1)。尽管溅射始终以像素为中心,但必须使用曲面定义计算溅射的位置,以便导数从图像流回曲面。splat位置由附加的G缓冲器Pk定义,其包含每个表面样本的屏幕空间xyzP_k可以通过渲染其中归一化因子具有1的下限以处理Nq中的权重可以总和为<1的边界。0的情况。 由于调整系数ε = 0。05,权重的完整3 × 3邻域的总和总是> 1。0(见下文)。规范化的重要性。公式中的调整系数ε的必要性1和等式1中的附加归一化。3是微妙的;每个帧以精确的像素速率对splats进行重新采样,因此通过相邻splats的累积权重进行归一化(如[42]中)对于正向渲染是不必要的然而,sq的导数不考虑重采样,并且确实需要通过累积的权重进行归一化,以便匹配前向传递。由于我们希望允许累积的权重在与背景的边界处总和为1,因此我们添加ε以确保归一化总是发生在内部splat。<3.3.2多层溅射单层飞溅将所有飞溅视为存在于相同深度处,并忽略遮挡,从而为遮挡对象产生虚假衍生物(图2)。3c)。相反,取决于飞溅3 .第三章。β值26092≈渲染R/ t兔子移动正方形移动兔子移动a) 有限差异(∆ ≈ 1px)b)我们的(2层)c)我们的(1层)d) 无飞溅e) Pytorch3D f)Redner g)nvdiffracast h)nvdr(2x FSAA)图3. 我们和基线方法的渲染导数的可视化。 从上到下:绿色兔子在黑色背景上向右移动,红色立方体在兔子后面移动,兔子在立方体前面移动。在这种情况下,有限差分(a)可以被视为地面实况我们的方法与2层(b)密切匹配的有限差分结果,而我们的1层(c)产生虚假的衍生物时,立方体移动到兔子后面显示基线方法(d-h)用于比较。分析见第4.1我们的解决方案是渲染多层G缓冲区,并在溅射过程中保持三个累积缓冲区:S+用于遮挡目标像素的碎片,S-用于被遮挡的碎片,并且S〇用于与目标像素相同深度处的碎片。当将以p为中心的splat应用于像素q时,加权的颜色和权重被累积到三个缓冲器中的一个中(图2)。4).为了确定飞溅是否位于前面,后面,或与像素重合,我们提出了一个简单的启发式算法,比挑选一个固定的深度阈值更强大我们将p处的多层表面交叉点与深度q处的最近交叉点配对。与最前面的q层配对的p层被分配给So,其前面的层(如果有的话)被分配给S+,其余的被分配给S-。一旦渲染了所有splat,则按照等式(1)分别对缓冲器进行归一化。3,并使用过度合成[31]以S-、S〇、S+顺序合成以产生最终结果S。该方案正确地处理了表面的第一层和第二层之间的遮挡(图12)。3d)。p q p q p q4. 结果和评价4.1. 衍生工具分析图图3可视化了叠加在黑色背景和漫射红色正方形上的绿色兔子的图像导数所示的导数是S/t,其中t是兔子或正方形的平移有限差分(Fig.3a)提供“地面实况”,因为在这种情况下可以选择Δ t以产生1个像素的 多层溅射(图 3b)产生非常类似于有限差分结果的导数。单层溅射(图 3c)提供了遮挡边界处的导数,但是混淆了自遮挡:当红色正方形移动到兔子后面(中间行)时,单层溅射在兔子的轮廓周围产生虚假导数。图3(d-h)示出了用于比较的基线方法。没有溅射的可微分光栅化(d)提供形状内部的导数,但不在遮挡边界处。PyTorch3D [32](e)产生不准确的自遮挡导数(底行)。 雷德纳[19](f)更好地处理自遮挡,但可能由于采样而错过边缘nvdiffrast [18](g,h)依赖于像素采样来找到边缘,因此错过了沿着兔子轮廓存在的子像素边缘FSAA(h)改进了结果,但没有完全解决问题用于这些比较的参数见当结果S看起来像C时只是模糊了图4. 多层片状堆积。当p处的splat被应用于像素q时,它对三个累积缓冲器之一有贡献:当p与q处的可见表面重合时,So(绿色)(粗曲线),当p在前面时,S +(红色),或当p在后面时,S -(蓝色)。根据p和q之间是否存在遮挡边界,出现不同的情况。我们忽略了多个重合遮挡边界的罕见情况。稍微地,模糊S不足以产生w.r.t.的非零导数。 在闭塞处的表面。 如图所示 在图3b中,没有溅射光栅化在遮挡边界处产生零导数,因此光栅化之后的任何模糊也将产生零导数。模糊效果。 模糊应用我们的方法是轻微的K6093×个×个U≈图5. 从轮 廓进行姿 势估计 。给定一个扰动的初始姿势(左),三个模型旋转并平移回其原始方向(右),通过在剪影(黑色)上丢失L 2像素。初始化优化后目标照片差异(红色通道)(σ= 0.5px),但不是不可见的。为了分析当图像清晰度重要时这种模糊是否影响优化,我们重复图1中的纹理优化实验。[ 18 ]的6,其优化纹理球体以匹配目标图像。启用mipmapping时,模糊σ= 0。5将PSNR从33.7降低1.5%至33.2。禁用mipmapping时,模糊会将PSNR从25.4增加到28.3,这可能是由于模糊的轻微抗锯齿效果。4.2. 姿态估计用于可微分渲染的常见用例是在给定已知对象的一个或多个图像的情况下估计该对象的姿态与以前的工作相比,RtS是partic- ularly适合这个任务,因为它的运行时间增加缓慢的网格复杂性,它支持更多的sophisticated优化比梯度下降。性能比较。RtS对于大型网格(表1)是快速的,因为它使用传统的几何体上的前向渲染通道,然后是图像空间操作。Py-Torch 3D(基于Soft Rasterizer)需要空间分箱来实现可接受的性能,并且不能缩放到大网格。Redner [19]由于采样和处理遮挡边缘的成本而同样受到影响。Nvdiffrast [18]以复杂的三角形特定实现为代价实现了出色的性能。在一个任务的姿态估计从剪影(图。5),RtS在 Nefertiti [7]网格(2m面)的PyTorch3D和Redner上实现了高达20的加速比,并且对于Teapot(2.5K面)实现了较小但显着的加速比。我们的方法在没有任何自定义CUDA内核的情况下在Nvdiffraast的2内执行在对轮廓进行姿态拟合的特定情况下,采样函数可以直接返回世界空间位置,而不是三角形idT和重心坐标B。由于网格本身不改变,仅改变由投影函数P定义的姿态,因此世界空间位置不需要是可微的,并且评估函数G三角形RtS RtS姿态P3D Redner Nvdr图6. 用于姿态估计的LM与ADAM。从初始相机姿势、视野、背景颜色和漫射照明(左)开始,玩具飞机[4]的渲染被优化以匹 配照片(右中), 从而产生接近的 姿势匹配( 右 ) 。 左 侧 绘 制 总 迭 代 次 数 , 右 侧 绘 制 壁 时 间 。Levenberg-Marquardt [26](LM)比Adam [17]收敛的迭代次数更少,而且更平滑,但收敛的总时间相似。基线光栅化(无飞溅)不会收敛到正确的解。多层溅射对于姿态估计具有有限的效果。可以跳过在给定T的情况下查找顶点属性的潜在高成本步骤。这种优化(使用Levenberg-Marquardt进行优化。由于RtS不需要自定义梯度代码,因此可以应用前向模式和后向模式自动微分。姿态估计问题具有比输出变量(像素)更少的输入变量(姿态),使得前向模式成为用于计算优化算法(诸如Levenberg-Marquadt [26])所需的完全雅可比矩阵的有效选择,其使用后向模式微分是极其昂贵的。与Adam相比,LM优化提供了鲁棒的收敛性,尽管在我们当前的实现中,LM的额外成本意味着这两种方法具有相似的总运行时间,即4秒收敛(图2)。(六)。4.3. 网格优化图7示出了手部模板网格[8]的顶点位置和颜色的优化。首先将手与输入图像大致对齐,并赋予均匀的灰色(图10)。图7a),然后使用Adam优化以匹配来自3个相机视图的输入使用“尽可能刚性”变形引擎将曲面正则化2.5K1616212407能源[37]。 与其设置纯色背景色,不如设置纯色326K1816472479矩形放置在手的后面以显示效果2M261758830619多层几何图形。表1. 姿态估计性能。毫秒每迭代对齐V100上的轮廓。比较的方法是如图7底部,当优化顶点位置时,多层溅射对于收敛是重要的。单层溅射的收敛速度较慢,并且0 10二十个30迭代40 50 60 0 2 46秒八十2- 层 LM 1-层LM2- 层 ADAM 1-层ADAM 无飞溅L2损失6094U扫掠球体参数随 机 球体参数初始化最终迭代目标初始化最终迭代。目标图9. 隐式曲面优化。SDF使用两种不同的参数化在50× 3网格上定义:扫描球体(顶部)具有环半径和球体半径参数,而随机球体(底部)具有n个球体,每个球体都具有二维中心和半径参数。两者都被优化以匹配环面的图像。图7. 手动网格优化。 给定粗略对准的模板网格(a),顶点位置和颜色被细化(b)以适合3张目标照片(c,示出一张)。由于优化的灵活性,单层溅射可能是不稳定的,并且多层溅射对于一致的结果是必要的(底部)。单层优化在较高的学习速率下变得不稳定。与姿态估计相比,每个顶点依赖于更少的像素(图1B)。6)并且形状更灵活,因此图像导数中的误差更显著。4.4. 参数化曲面优化图8显示了双三次均匀B样条曲面[5]的轮廓优化的简单演示。曲面由扫掠曲线定义,产生近似的旋转曲面。优化变量是轮廓曲线的8个控制点的半径曲面初始化为圆柱体,并进行优化以匹配另一个类似于棋子的样条曲面的轮廓。优化在200次迭代中收敛。基于三角形的渲染器需要通过密集的细分网格进行区分,而我们的方法仅使用细分来光栅化表面参数。图8. B样条曲面的轮廓拟合。通过拟合轮廓,圆柱形细分曲面(左)变形为曲线形状(右)。顶行显示优化的控制网格和相应的细分曲面。底行显示轮廓重叠(黑色:轮廓与地面实况一致,红色:需要移除表面,绿色:表面需要添加)。不可微采样函数。一旦光栅化,表面参数用于微分interpolate的控制点,阴影,和splat的剪影图像没有镶嵌。4.5. 隐式曲面优化图9示出了使用隐式表面拟合环面的图像,并且证明了我们的方法可以处理拓扑变化。 我们展示了基于球体的两种可能的参数化:第一种方法沿着半径为r2的圆扫过半径为r1的球体,第二种方法将该表面定义为200个具有各自半径和2-D位置的球体的并集。损失是渲染和目标之间的平均绝对误差。使用Adam [17],两种优化都运行了请注意,对于在圆环中心初始化的扫掠球体,旋转的相机视图(图2)。9顶部)是打破对称性所必需的,否则会使优化陷入局部最小值。这些结果可以与MeshSDF进行比较(图12)。3在[33]中),其还将球体优化为环面以演示拓扑的变化。然而,在它们的情况下,参数化是被训练以产生球体和环面的深度神经网络的潜在代码。与MeshSDF不同,我们的方法不依赖于深度神经网络来计算梯度,因此我们可以自由选择可以在网格上评估的任何隐式表面参数化。4.6. 表面NeRFNeRF [27]求解从3-D位置x和观看方向d到RGB颜色和密度σ的函数,使得当使用体积光线投射渲染该函数时,结果与一组设定的输入图像相匹配。这种方法产生非常高质量的视图合成结果,在长的渲染时间的代价。然而,使用我们的方法,我们可以将预先训练的NeRF转换为3D网格和表面光场[39]。该表示仅需要每个像素的单个NeRF评估,而不是每个像素的单个NeRF评估。体绘制所需的128,将每像素成本从226MFLOPS降低到1.7 MFLOPS。6095(a)测试图像(b)NeRF[27](c)NeRF表面。(d)SNeRF(固定)冲浪(f)SNeRF图10。NeRF测试场景的表面渲染结果。图像质量在保持的视图(a)上进行评价。NeRF的全体积渲染产生高质量图像(b),但是从经训练的NeRF提取的等值面(c)是有噪声的。在该表面固定的情况下,微调的NeRF产生降低的质量(d)。在优化表面并微调NeRF之后,我们获得了改进的表面(e)和高质量的渲染(f)。表面优化。 我们首先在规则网格上评估NeRF以构建输入密度场,然后在固定阈值处提取等值面。该表面是受试者形状的准确但有噪声的模型(图13)。10c)。此外,由于NeRF是在体积渲染的假设下训练的,因此必须对其进行微调,以便在仅在表面处进行评估时产生良好的给定此初始化,我们直接优化密度网格,同时在原始NeRF L2损失下微调NeRF网络。我们使用RtS渲染等值面,其中NeRF网络产生阴影颜色Ck,有效地充当表面光场[28]。优化后,对等值面进行了细化(图1)。 10 e),和输出RGB具有类似的质量,以原来的NeRF渲染(图.10 f)。我们使用Adam [17]对NeRF网络进行微调,并使用标准梯度下降来优化密度网格,因为Adam对于网格优化是不稳定的,因为等值面在每次迭代时都不约束所有网格值。在每次迭代中,我们在NeRF网络上采取一个梯度步骤,同时保持密度网格固定,然后在密度网格上采取一个梯度步骤,同时保持NeRF网络固定。我们使用等值面阈值50(由[27]建议)并优化5000次迭代。评价表2显示了我们的方法在NeRF“Lego”和“Fern”数据集 上 的 结 果 我 们 比 较 了 基 线 NeRF 和 表 面 NeRF(SNeRF)的图像我们表2. NeRF方法的图像质量。基线NeRF [27]、我们的表面NeRF(SNeRF)和没有几何优化的SNeRF(固定表面)的两个场景的PSNR和SSIM还评估没有表面优化(“固定表面”)的SNeRF在Lego上,一个从表面合成的场景,SNeRF在0的情况。3的NeRF和改进2. 2在没有表面优化的情况下,基线上的PSNR在Fern上,SNeRF损失0。9的PSNR到全体积渲染,并且仅提高0. 1固定表面基线上的PSNR这一结果可能是由于蕨类植物场景的极其复杂的等值面(图1)。第10段)。5. 讨论和限制栅格化然后splat是一种通用的方法,它解决了可微分表面渲染的两个关键问题:处理不同的表面表示,并提供在遮挡边界的衍生物。我们的方法适用于任何表面,可以表示为一个不可微的采样和可微的评价函数。这种灵活性打开了大门,研究人员探索表面表示以前不支持微分渲染,包括样条曲面和一般等值面。我们已经证明,等值面绘制可用于减少NeRF渲染的运行时成本超过100倍。我们的方法需要封闭形式的评估函数,其可能根本不可用(例如,某些细分方案)或仅可通过MarchingCubes离散化获得。对于定义为空间的连续函数的曲面,离散化可能会影响曲面质量。然而,由于评估仅发生在表面附近,因此可以通过以评估中的二次(而不是三次)成本增加分辨率来改善质量虽然我们渲染多个层,以解决闭塞,飞溅的步骤目前假设一个单一的表面,在每个像素,不处理半透明的对象。未来工作的方向是扩展该方法以处理半透明层,这可以提高包括反射或半透明的场景的质量。乐高蕨类PSNR SSIM PSNRSSIM NeRF(基线)29.91 0.962 24.38 0.86429.61 0.957 23.52 0.813SNeRF(固定)27.44 0.945 23.41 0.8096096引用[1] SaiPr a veenBang g aru,Tzu-MaoLi,andFr e´ doDurand.非偏置扭曲区域采样可微分渲染。39(6),2020年11月。二个[2] 乔纳森·T.巴伦和吉坦德拉·马利克形状、照明和着色的反射率。TPAMI,2015。二个[3] Volker Blanz和Thomas Vetter。三维人脸合成的可变形模 型 。 在 Proceedings of the 26th annual conference onComputer graphics and interactive techniques,pages 187-194,1999中。二个[4] B. Calli、黑冠草A.辛格A.Walsman,S.Srinivasa,P.阿比尔和A. M.美元. ycb对象和模型集:操纵研究的共同基准。在2015年国际先进机器人会议(ICAR),第510-517页,2015年。1、6[5] E. Catmull和J.克拉克任意拓扑网格上递归生成的b样条计算机辅助设计,10:350-355,1978. 三、七[6] Wenzheng Chen,Huan Ling,Jun Gao,Edward Smith,Jaakko Lehtinen,Alec Jacobson,and Sanja Fidler.学习使用基于插值的可区分渲染器预测3d对象。神经信息处理系统进展,第9605-9616页,2019年。二个[7] 基南·克兰Keenan六个[8] Martin de La Gorce、David J Fleet和Nikos Paragios。基于模型的单目视频三维手姿态估计。IEEE Transactionson Pattern Analysis and Machine Intelligence,33(9):1793-1805,2011. 二、六[9] Michael Deering , Stephanie Winner , Bic Schediwy ,Chris Duffy和Neil Hunt。三角形处理器和法线向量着色器:用于高性能图形的VLSI系统。Acm siggraph计算机图形,22(4):21-30,1988。1、4[10] 我是艾尔·德劳诺伊和伊曼纽尔·普拉多斯。 用于优化基于三角形网格的曲面的梯度流:应用于处理可见性的三维重建问题。国际计算机视觉杂志,95(2):100-123,2011。二个[11] 托德·艾文斯。体视化算法综述。ACM Siggraph计算机图形学,26(3):194二个[12] 卡斯·埃弗里特交互式独立于订单的透明度。NVIDIA技术报告,2001年。三个[13] Pau Gargallo,Emmanuel Prados,and Peter Sturm.图像曲面重建中重投影误差的最小化。2007年IEEE第11届计算机视觉国际会议,第1-8页。IEEE,2007年。二个[14] 保罗·亨德森和维托里奥·法拉利。通过形状、姿态和阴影的生成建模学习单图像3D重建。国际计算机视觉杂志,2019年。二个[15] Andre 'Jalobeanu,Frank O Kuehnel和John C Stutz。自然三维表面的建模图像:概述和潜在应用。2004年计算机视觉和模式识别研讨会会议,第188IEEE,2004年。2[16] Hiroharu Kato、Yoshitaka Ushiku和Tatsuya Harada。神经三维网格渲染。InProceedings of the IEEE Conference计算机视觉和模式识别,第3907- 3916页,2018年。二个[17] Diederik P Kingma和Jimmy Ba。Adam:随机最佳化的方法。arXiv预印本arXiv:1412.6980,2014。六七八[18] Samuli Laine、Janne Hellsten 、Tero Karras 、YeonghoSeol、Jaakko Lehtinen和Timo Aila。用于高性能微分渲染的模块化图元。ACM Trans.Graph. ,39(6),Nov. 2020. 二、五、六[19] 李子茂、艾塔拉、杜兰德神父、李嘉诚.通过边缘采样的可微蒙特卡罗射线追踪。ACM事务处理图表(Proc.SIGGRAPH Asia),37(6):222:1-222:11,2018.二、五、六[20] Yiyi Liao,Simon Donne,and Andreas Geiger.深行军立方体:学习明确的表面表示。在IEEE计算机视觉和模式识别会议的论文集,第2916-2925页二、四[21] Shichen Liu,Tianye Li,Weikai Chen,and Hao Li.软光栅化器:一个基于图像的三维推理可区分的渲染器在IEEE计算机视觉国际会议论文集,第7708-7717页二个[22] Shaohui Liu,Yinda Zhang,Songyou Peng,Boxin Shi,Marc Pollefeys,and Zhaopeng Cui.Dist:使用可微球体跟踪渲染深度隐式符号距离函数。在IEEE/CVF计算机视觉和模式识别会议论文集,第2019-2028页,2020年。二个[23] Matthew M Loper和Michael J Black。Opendr:一个近似可微的渲染器.欧洲计算机视觉会议,第154-169页。Springer,2014. 二个[24] William E. Lorensen和Harvey E.克莱恩移动立方体:一种高分辨率三维表面构造算法。SIG-图形计算Graph. ,21(4):163-169,Aug. 1987. 一、二、三[25] Guillaume Loubet , Nicolas Holzschuch , and WenzelJakob.重新参数化不连续的被积函数以进行可微渲染。ACM Transactions on Graphics(TOG),38(6):1二个[26] 唐纳德·马夸特非线性参数的最小二乘估计算法。JournaloftheSocietyforIndustrialandAppliedMathematics,11(2):431-441,1963. 6[27] 作者 :Ben Mildenhall,放 大图 片作 者: Jonathan T.Barron,Ravi Ramamoorthi和Ren Ng. Nerf:将场景表示为用于视图合成的神经辐射场。在ECCV,2020年。一、二、七、八[28] 加文·米勒史蒂文·鲁宾和杜尔塞·庞瑟里昂用于预先计算的全局照明的表面光场的惰性在George Drettakis和Nelson Max,编辑,Rendering Techniques施普林格维也纳。1、8[29] Michael Niemeyer、Lars Mescheder、Michael Oechsle和Andreas Geiger。差分体绘制:学习隐式3D表示没有3D监督。IEEE Conf.计算机视觉和模式识别(CVPR),2020年。二个[30] 西蒙·尼克劳斯和凤琉。Softmax splatting用于视频帧插值。在IEEE计算机视觉和模式识别会议上,2020。二个6097[31] 托马斯·波特和汤姆·达夫合成数字图像。在1984年第11届计算机图形学和交互技术集,第2535[32] Nikhila Ravi 、 Jeremy Reizenstein 、 David Novotny 、Taylor Gordon、Wan-Yen Lo、Justin Johnson和GeorgiaGkioxari。Pytorch3d。https://github.com/facebookresearch/pytorch3d,2020. 二、五、六[33] EdoardoRemelli , ArtemLukoianov , StephanRRichter, Beno ît Guillard, Timur Bagautdinov
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功