没有合适的资源?快使用搜索试试~ 我知道了~
1440Pulsar:高效的基于球体的神经绘制ChristophLassner1MichaelZollh?fer11Facebook Reality Labs图一:Pulsar是一个高效的基于球体的可微渲染模块,比计算机技术快几个数量级,模块化,易于使用。它可以用来解决各种各样的应用程序,因为它与PyTorch紧密集成。使用基于球体的表示,不仅可以优化颜色和不透明度,还可以优化位置和半径(a,b,c)。由于模块化设计,照明提示也可以很容易地集成(d)。摘要我们提出了Pulsar,一个高效的基于球体的可重构渲染模块,由于与PyTorch的紧密集成,它比竞争技术快几个数量级,模块化,易于使用微分渲染是现代神经渲染方法的基础,因为它能够从图像观察中对3D场景表示进行端到端训练。然而,神经网格、体素或函数表示的基于梯度的优化受到多重挑战,即,拓扑信息、高内存占用或低渲染速度。为了缓解这些问题,Pulsar采用:1)基于球体的场景表示,2)模块化的,有效的可微分投影操作,以及3)(可选)神经着色。Pulsar执行速度比现有技术快几个数量级,并允许实时渲染和优化数百万个球体的表示。使用球体的场景表示,获得前所未有的速度,同时避免拓扑问题。Pulsar是完全可微的,因此能够实现从3D重建到神经渲染的大量1. 介绍可微分渲染管道是所有现代神经渲染方法的基础,这些方法基于图像观察来学习3D最近,神经渲染已经授权了各种各样的应用,例如小说视图合成[22],面部再现[36]和3D重建[17]。现代神经渲染可以分为三个部分:1)3D神经场景表示,2)从3D数据到一致的2D表示的投影(投影步骤)以及3)使用统计模型(通常是神经网络)处理投影数据以产生最终图像(神经着色步骤)。该策略结合了经典渲染和神经网络的优点。通过投影步骤,生成场景的一致的几何表示,而神经着色步骤可以通过使用最新的生成神经网络来生成真实的理想情况下,这种神经渲染方法可以以端到端的方式联合训练:1441×通过投影和着色步骤来学习并发送场景所得到的图像可以与地面实况观测进行比较,以通知优化过程,不仅可以改进着色步骤中的生成模型,还可以联合学习场景的表示和投影步骤的潜在未知参数。该过程需要以可缩放的方式通过完整的流水线进行梯度的有效计算,使得即使对于以真实世界分辨率渲染的复杂和详细场景的几何形状也可以获得在本文中,我们介绍了Pulsar,一个高效的,基于球体的,可微分的渲染模块,由于与PyTorch紧密集成,Pulsar旨在通过各种措施来满足所有上述要求,从场景表示的设计到低级数据并行优化,从而为向前和向后传递带来前所未有的速度首先,我们选择一个完全基于球体的3D数据表示。每个球体由其在空间中的位置和半径参数化。此外,每个球体具有指定的不透明度,并且可以具有任意矢量作为有效载荷,诸如颜色或一般潜在特征矢量。图像形成基于体积合成模式,该体积合成模式以从后到前的顺序聚合有效载荷以形成最终图像或屏幕空间特征图。这使得它很容易直接处理来自3D传感器的点云数据,允许优化的场景表示与-出拓扑结构变化的问题(因为它们将存在的网格),是更有效的渲染比最近的方法基于体积网格或完全连接的网络,因为我们的表示,稀疏的设计,剔除空的空间。此外,我们基于球体的表示消除了对加速结构的需要,例如k-d树或八叉树,因此自然可以支持动态场景。此外,它导致了一个定义良好的,简单的渲染和混合功能,可以区分没有近似。我们故意将照明计算与几何投影步骤分开,因为它可以在单独的步骤中轻松处理最后,我们将Pulsar与PyTorch [26]优化框架集成,以利用自动微分并简化与深度学习模型的集成。上述策略允许Pulsar在消费级图形硬件上通过数百万个球体的3D场景的图像形成来渲染多达一百万个球体可以渲染和更新的图像分辨率为1024 × 1024像素的实时速度(执行C++代码的时间小于22毫秒渲染和梯度计算小于6毫秒)。Pulsar支持广义针孔和正交相机模型,并计算相机参数的梯度以及更新场景表示。我们恶魔-证明了Pulsar可以成功地处理各种各样的应用,如3D重建、神经渲染和视点合成。Pulsar是开源的,因此未来研究人员可以自己解决大量总的来说,我们的主要技术贡献是:• 一个快速、通用、基于球体、可微分的渲染模块,紧密集成在PyTorch中,支持使用几何和投影组件对深度模型进行端到端训练。• Pulsar的执行速度比现有技术快几个数量级,并允许实时渲染和优化数百万个球体的表示。• 我们证明了各种各样的应用程序可以处理与脉冲星,如三维重建,建模逼真的人头,和新的视图合成的场景。2. 相关工作我们专注于微分渲染和常用的场景表示,如纹理网格,体素网格,(隐式)功能,和基于点的表示相关的工作的讨论对于神经渲染的全面回顾,我们参考了Tewari等人最近关于“神经渲染”的最新[35 ]第35段。差异化渲染 渲染 可以理解为逆图形的一个子领域,从早期开始就一直是计算机视觉研究的一部分[4]。有关当前方法的特征摘要,请参见表1。1.一、OpenDR[20]是关于网格的可重构渲染(包括照明和纹理)的开创性工作之一它建立在OpenGL之上,使用局部泰勒展开和过滤操作来查找梯度,不包括深度。OpenDR利用了现有的OpenGL基础架构,但引入了近似,并且在运行过滤和近似操作时具有很大的开销。神经网格渲染器(NMR)[10]使用自定义函数来处理对象边界来渲染网格。Paparazzi等人。[14]是另一种使用图像过滤实现的网格渲染器。Pix2Vex [27]是一个使用三角形软混合的网格渲染器。本着同样的精神,Liu等人。[16]引入了网格三角形的概率图。他们使用软z缓冲区来获得可微表示。他们的渲染功能启发了我们的公式。Tensorflow Graphics [40]是Ten- sorflow [1]的可微分渲染包类似地,Py-Torch 3D [28]是Py- Torch的可微分渲染包,最初专注于网格渲染。最近的扩展使基于点的渲染可用,并已用于创建SynSin [42]。Pulsar的执行速度比这些技术快几个数量级。1442××方法目的位置更新深度更新正常更新闭塞轮廓变化拓扑变化OpenDR网格✓✗通过位置变化✗✓✗NMR网格✓✗通过位置变化✗✓✗狗仔队网格有限有限通过位置变化✗✗✗软光栅化器网格✓✓通过位置变化✓✓✗Pix2Vex网格✓✓通过位置变化✓✓✗TensorFlow Graphics网格✓✓通过位置变化✓✓✗PyTorch3D网格/点✓✓通过位置变化✓✓✓DSS点✓✓✓✓✓✓脉冲星(我们的)领域✓✓通过额外的渠道✓✓✓表1:通用可微模块和模块的特性比较(与[44],表1)①的人。DSS和PyTorch3D是唯一不需要基于网格的几何表示的渲染器,便于拓扑更改。与DSS相反,Pulsar使用3D球体,但没有法线。额外的通道可用于捕获和优化正常信息。基于物理的可微分绘制一些绘制器的目标是接近底层的物理过程。Li等人[3,12]实现了可微分光线跟踪器,以便能够计算基于物理的渲染效果的梯度。这些实现方式更详细地明确地对图像形成过程进行建模,但是执行速度明显较慢。类似地,Mitsuba 2渲染器[24]和Difftaichi [7]是基于物理的可重构渲染器,执行时间较慢,但对包括照明和辅助光线的完整图像形成过程进 行 虽 然 可 以 使 用 Difftaichi 或 Enoki ( Mitsuba 的autodiff框架)实现Pulsar在这项工作中,我们不专注于基于物理的方法,因为我们的目标是一个快速的可区分模块,使神经渲染方法近似自然图像形成现象,而不必显式地对它们进行建模。场景表示有很多种可能的场景表示,来自密集体素网格[5,19,33,39,43],多平面图像[21,46],网格[10,16,18,20,37],基于函数的表示[15,22,31,34],到基于点的表示(在下一段中讨论)。与使用显式可微分图形引擎相比,神经渲染也可以仅通过深度学习模型来实现。例如,在[11]中尝试了这一点。隐式函数,如符号距离字段(SDF),是一种流行的几何表示。最近,全连接网络[25]已被用于学习SDF。Liu等人。[17]通过可微球体跟踪优化符号距离函数。类似地,Saito等人[30]通过隐函数对人类进行建模。 Zeng等人。[45]优化类似的函数,使用可微分的渲染器。Jiang等人。[9]正在直接为SDF实现可微分渲染,包括光照。RenderNet [23]是一个带有投影单元的CNN架构Tulsiani等人[38]使用分层深度图像表示并开发用于优化该表示的可微分渲染器。而不是规定固定的输入大小或离散化底层3D场景,Sitzmann et al.[34] Mildenhall etal.[22]使用网络结构表示场景,并采用光线投射的变体来从任意视点重构图像。基于点的表示Insafutdinov等人。[8]提议使用可微分点云。他们训练CNN来预测3D对象的形状和姿态,并使用正交投影和光线终止概率来获得可微表示。与我们的方法相比,他们的方法在分辨率方面受到很大限制(他们使用128 128像素的图像分辨率,在他们的论文中只有16k个点);这对于解决现实世界的任务来说太低了。Yifan等人。[44]提出了一种具有位置和正常参数化的基于点的表示。每个点都被渲染为一个小的在他们的论文中所示的示例中,他们使用了多达100k点的表示,并报告了比我们的方法慢几个数量级的运行时间(对于分辨率为256 256像素的图像,向前258ms,向后680 msLin等人。[13]定义了一个用于点云生成的渲染器,但仅提供深度值的gra-texture。Roveri等人。[29]为神经网络定义了一个基于点的可微分投影模块,可以产生Aliev等人[2]建议使用延迟神经渲染步骤对房间规模的点云进行建模。SynSin [42]和PyTorch3D点渲染器遵循与我们类似的方法,但幅度较慢。此外,我们采用了不同的混合函数,并使球半径的优化。此外,它们仅使用每个像素的前几个点来确定像素颜色。我们发现这会导致复杂场景中的高频伪影,因此允许无限数量的球体对像素颜色做出贡献(或基于最小贡献设置边界),并且仅使用前几个球体进行梯度传播。3. 方法我们感兴趣的是神经渲染方法,从一组N个训练im中学习3D场景表示1443γγ∈i=1∈∈∈γ∈SRR∈ ∈∈俄.西∈i=1∈图像F以可微分的方式。为此,我们提出了一个混合功能,结合了通道信息的基础上的位置,半径,和不透明度的球体被包围的相机射线与每个像素。对于给定的光线,我们将混合权重wi与每个球体i相关联:oi·di·exp( oi·zi)图2:神经渲染管道的可视化脉冲星能实现特别快的可微分投影wi= exp(λ)+ok·dk·exp(ok·zk)缩放到复杂场景表示的步骤场景表示本身可以由神经网络产生。通道信息可以是与Liu等人类似。[16],我们选择球体相交深度zi的加权softmax函数作为我们定义的基础。我们采用归一化的设备坐标zi[0,1],其中0表示最大深度。为了使表示更加严格,引入了尺度因子γ年龄T={(Ii,Ri,ti,Ki)}N.在这里,IiRH×W×33×3关于深度。 小值,例如γ = 1−5,铅是图像观测,RiR是摄像机旋转,tiR 3是摄像机平移,KiR3×3是摄像机内部参数[6]。神经再生-绘制任务可以分成三个阶段(参见图2):1)场景表示(传统的网格模型或其本身可能是神经网络的结果),2)可微分绘制操作,以及3)神经着色模块。Pul- sar为使用球体作为图元的场景表示提供了一种特别有效的可微分渲染操作。“硬”混合,而大的值,如γ=1,导致“软”混合。根据优化的数量,使用不同的伽玛值是有意义γ=1和γ=1−5是我们允许保持数值稳定性的极限。额外的偏移exp(x0)是场景背景颜色的是射线到球心的归一化正交距离由于该距离始终与射线方向正交,因此会自动为与射线正交的两个方向提供梯度方向 我们定义d =min(1,||d→i||2),其中d→是3.1. 基于球体的场景表示我们将场景表示为集合S={(pi,fi,ri,oi)}M3iRii从射线到球面cen正交指向的向量之三.像这样,di变成[0,1]中的线性缩放因子。M个球,学习位置为piR,神经功能-真向量fiRd,半径r iR和不透明度o iR. 所有这些场景属性都可以通过可微渲染操作进行优化神经特征向量-torfiRd编码局部场景属性。根据其用途,它可以表示表面颜色,辐射,或者是用于神经网络的抽象特征表示如果辐射是直接学习的,我们的场景表示可以被理解为一种有效和稀疏的方式来存储神经辐射场[22],只存储空间的非空部分显式的基于球体的场景表示使我们能够通过显式地建模图像形成过程来利用多视图和透视几何3.2. 有效可微投影Pulsar实现映射F =(,R,t,K),其基于由相机旋转R、平移t和内部参数K定义的图像形成模型从基于3D球体的场景表示映射到渲染的特征图像F。相对于R,t和K的大部分部分,即焦距和传感器尺寸是可微的。要素聚合渲染操作必须为要素的每个像素计算通道值将不透明度积分到等式中是不平凡的1在一个不同的-因为它必须是“软”的。假设每个球体的不透明度值为0i,它可以被积分为 指数函数中的因子,或者作为另一个线性比例因子。与[45]类似,我们观察到仅将其作为指数函数内的缩放因子进行积分,主要与深度分量相互作用,通常会在背景前面留下可见的球体。另一方面,仅将其用作指数函数之外的缩放因子,主要与距离分量相互作用,在大多数情况下使深度在这两个地方使用它是一个可行的和数值稳定的解决方案。数 据 并 行 实 现 Pulsar 作 为 PyTorch 扩 展 在 C++ 和CUDA C中实现,以利用现代GPU的处理能力,并将渲染步骤与机器学习模型自然集成。我们发现以下几点对于实现高性能很重要:具有快速闭合形式相交计算的表示。 混合函数的可交换性,在查找交叉点时启用逐像素线程协作。此外,它允许提前停止。仔细分配整个任务K1444×NSS N·∗∗R分成子任务,并为每个子任务选择正确的数据并行实现允许我们有效地使用硬件线程并具有有利的存储器访问模式。例如,在球体上的并行化可以是有益的,因为共享用于Eq.1.一、但是,这种方法需要在写入同一像素时在线程之间进行同步,这会降低性能。另一种方法是在像素上进行平行化。在这种情况下,重要的是在搜索相关球体期间利用像素之间的空间接近度 为此,我们提出了一种基于瓦片的加速结构和跨硬件级别的协同过滤。另一个好处是渲染速度在很大程度上与球体大小无关内存布局对性能有很大影响例如,我们设法将球体相交所需的所有 信 息 编 码 为 8 个 字 节 。 一 个 高 速 缓 存 线 上 的NVIDIA图尔- ING GPU持有256=8 32字节,并有32个线程在一个经线,这意味着32个球体的交叉点可以执行-形成在一个合作的经线并行。有关详细讨论,请参阅补充材料。3.3. 神经阴影神经着色网络的任务是使用学习特征到颜色映射的像素生成器网络将2D屏幕空间特征映射F转换为输出彩色在我们应用神经着色的测试中,我们使用卷积U-Net或逐像素逐个卷积网络。着色网络的容量越高,该方法可以过拟合的越多。重要的是要根据所需的应用程序和可用的训练数据找到正确的权衡。3.4. 端到端优化通过使用Pulsar进行基于梯度的优化,我们找到了最佳的基于球体的神经3D场景表示模型和神经阴影模型(; θθ)我们解决了以下端到端优化问题:图3:PyTorch 3D和Pulsar在不同球体数量下的缩放行为。虽然PyTorch 3D在球体数量方面几乎是线性扩展的,但Pulsar采用了早期停止和其他优化技术,达到更好的缩放行为。在NVIDIA RTX 2070 GPU上以1024×1024分辨率执行基准测试4. 结果在下文中,我们将在训练和测试时间性能方面与其他 可 微 分 渲 染 方 法 进 行 比 较 , 并 展 示 Pulsar 作 为PyTorch模块的模块化实现的强大功能和简单性。渲染速度对于可微分和神经渲染比传统渲染更重要,因为它有效地限制了可以处理的图像和场景表示的分辨率:场景不是在向前传递中只处理“一次”,而是在优化循环中连续处理。如本文稍后所述,使用数百万个球体进行优化,使用其他渲染器执行速度非常慢。为 了 说 明 这 一 点 , 我 们 将 Pulsar 与 各 种 最 先 进 的neural/diff进行了比较。渲染模块在两个不同复杂度的场景上的运行时。Pulsar的性能远远优于当前所有最先进的方法,包括PyTorch 3D(参见表1)。2),在某些比较中超过两个数量级,至少因子五。我们继续对最接近的竞争者PyTorch 3D(点)和Pulsar进行测量,以分析渐近行为。其他框架通常太慢,无法创建平均值-你好..在这个尺度上进行比较。您可以在,Θs= argminS,Θsi=0时.. Ii− N(R(S,Ri,ti,Ki); Θs).. 1 .一、图三.对于PyTorch3D,我们使用每像素点数=5来实现条件的紧密匹配。PyTorch3D球体渲染器已经达到了400 ms的运行时间,请注意,此优化基于2D图像观察而无需3D监督来查找所有参数。Pulsar提供了高效的可微投影,而所有其他阶段都是使用PyTorch以模块化的方式实现的。我们在所有的实验中使用ADAM来解决这个优化问题。虽然这是所提出的渲染组件的一个简单应用,但它可以用于各种设置,并以简单和模块化的方式集成到深度学习管道中。低500K球体,而Pulsar在大约4.4M球体的最大基准球体量下仍然低于该值。除了良好的缩放行为方面的球体数量,我们也观察到良好的缩放行为方面的图像大小。对于4.4M球体的4K图像分辨率,我们仍然测量不到400 ms的执行时间,具体取决于GPU和场景:我们在NVIDIA RTX 2070 GPU上测量到387 ms(对于4.4M球体),具有中等内存要求(3500 MB)。S1445×方法数量的点面数avg. 转发时间(ms)avg. 反向时间(ms)软光栅化器15 09929 924285294DSS15 099N.A.215179PyTorch3D(网格)15 09929 92410480PyTorch 3D(点)/SynSin15 099N.A.342脉冲星15 099N.A.141脉冲星(仅CUDA)15 099N.A.31软光栅化器233 872467 84850325356DSS233 872N.A.32663690PyTorch3D(网格)233 872467 848222105PyTorch 3D(点)/SynSin233 872N.A.1123脉冲星(我们的)233 872N.A.212Pulsar(仅CUDA)233 872N.A.91表2:最先进的可微分渲染方法与PyTorch集成的性能比较对于Pulsar,我们使用完整的Python接口(对于其他渲染器)以及CUDA内核的运行时来测量性能。PyTorch3D(points)对所有点使用固定的点大小,并且运行时不能很好地扩展较大的点大小。Pulsar的运行时间在很大程度上是球体大小不可知的,并且随着分辨率和球体数量的增加而有利地扩展。例如,对于100万个球体,我们仍然测量不到33 ms(CUDA中为19 ms)的前向执行时间和11 ms(4.7 ms在CUDA中)向后。所有时间均在NVIDIA RTX 2080 GPU上以1000×1000图像分辨率测量。1 进口火炬手工种子(1)2 从pulsar导入渲染器3 n_sphere=104 #我们为1024x1024图像创建渲染器。5 renderer= Renderer(1024,1024,n_spheres)6 pos =手电筒。rand(n_spheres,3)*10.07 pos[:,2]+=25.0; pos[:,:2]-=5.08 col =火炬。rand(n_spheres,3)9 rad =火炬。rand(n_spheres)10 凸轮=火炬。张量(11#--t-R-f s12[0.0,0.0,0.0,0.0,0.0,0.0,5.0,2.0],13dtype = torch。float32)14 image= renderer(pos,col,rad,cam,15gamma=0.1,max_depth=45.0)16 # L1损失,假设目标图像是图像。17 # loss =(image -target).abs().sum()18 #loss.backward()19 #使用任何PyTorch优化器进行优化。清单1:渲染一个包含10个随机球体的最小场景的完整代 码 示 例 损 失 计 算 如 ll 所 示 16 和 17 , 可 以 在 任 何PyTorch优化循环中使用。f和s表示焦距和传感器宽度。易于使用Lst。1显示了一个完整的示例,仅用九行代码就生成和渲染了一个场景表示。生成的图像包含十个球体,随机放置和着色。在构造时,渲染器创建缓冲区结构,对于该缓冲区结构,必须知道要渲染的图像大小和球体的最大量(l. 5)。场景表示以直观的方式被编码,其可以被集成到nn.Module结构中或通过其他操作(II.6-8)。相机参数以优化友好的格式编码(Pulsar也接受6D旋转矢量[47]),以便相机参数矢量可用于梯度更新(l. 9)。在洛在图13中,前向函数根据场景描述生成图像张量该张量可以用于进一步的计算,例如神经阴影,或者直接定义损失(在II中示出)。16和17)。这些操作会自动注册到PyTorch5. 应用我们展示了3D reflection和神经渲染中的几个应用程序,以显示Pulsar在各种优化设置中的多功能性特别是,我们展示了Pulsar如何通过使用高度详细的表示和高质量的梯度,以简单的方式攻击不同的经典计算机视觉任务在所有的实验中,我们优化或重建外观和几何只使用光度计1-损失。我们根据复杂度对实验进行排序,在最后一个实验中,我们在优化过程中使用了数百万个球体。这些实验将是令人望而却步的缓慢执行与其他微分渲染方法。5.1. 3D重建基于轮廓的3D重建Pulsar能够基于轮廓进行物体的3D重建。我们展示了SoftRas [16]示例场景的结果,该场景提供了飞机的120个视图,见图4(a)。为了使用我们的基于球体的表示,我们将球体放置在SoftRas用于初始化的网格的所有软- Ras使用大小64 - 64的图像分辨率,这将每个球体的大小推到像素大小的下限。而不是更复杂的和计算复杂的IOU,拉普拉斯,并在SoftRas中所需的平坦损失,我们只采用了一个光度的101-损失与地面真实轮廓方面。SoftRas需要这些额外的损失来保持网格表面一致。相比之下,我们可以移动球体而不考虑表面拓扑。对于较少数量的球体和较小的分辨率,SoftRas更快,但Pulsar的缩放更适合真实世界的场景(参见表1)。2)的情况。1446××××√·图4:使用Pulsar进行3D重建,最多可使用40万个球体。(a)基于轮廓的变形重建(c.t. [16]); 1352个球体,6464。(b)使用照明线索重建并与DSS进行比较[44]; 8003球体,256 256。Pulsar在31 s后完成重建,而DSS在1168 s后完成重建(c)在73秒内的3D头部模型的重建步骤; 400 k球体,800 1280。使用了具有随机方位角和仰角的80幅图像。(d)用于训练(e)的神经阴影模型的初始化特征。(e)基于此几何结构的pix2pixHD [41照明优化我们重现了DSS [44]中的一个实验,其中包括一个照明模型,见图4(b)。为此,我们将平行光源的漫射阴影作为一个单独的阶段来实现。这突出了专用几何投影步骤的多功能性,并演示了它与其他细化模型的结合是多么容易。与DSS类似,我们使用144个相机,以随机方位角和仰角选择,与对象中心的距离恒定。在本实验中,300个优化步骤足以使Pulsar达到收敛。使用Pulsar,我们在31秒内完成了优化,而DSS需要更复杂的损失,在477步之后几乎需要20分钟才能收敛;Pulsar快了一个数量级以上。详细的3D重建脉冲星可以远远超过球体的数量和图像分辨率在令人不安的例子。我们在以下实验中证明了这一点:首先,通过演示用于重建头部模型的多阶段流水线,然后通过处理NeRF数据集的几个示例[22]。在这个实验中,我们重建一个头部模型与现实的头发和眼睛在高分辨率,见图4(c),从100个图像的分辨率800 - 1280像素。我们用400k随机分布的球体初始化一个体积,并在73秒内优化一个粗略的头部模型如果球体的颜色向背景颜色收敛,或者如果它们不可见(从任何视点都不会接收渐变更新的球体),则我们将其这将导致头部的外壳表示具有几厘米的厚度。经过优化-和清理,一个模型组成的约。剩下两万个接下来,我们通过细分将球体的数量增加三倍:我们用12个半径为2r的球体来细化每个球体,其中r是之前的半径,并将它们放置在面心立方包装方案中,重新优化和修剪。最终模型有130k个球体,见图4(d)。优化在37分钟内完成,并临时生成多达160万个球体的模型神经阴影为了展示所提出的管道的潜力,我们将学习的头部模型(参见图4(d))与神经阴影网络相结合,用于以高分辨率对面部进行建模。作为架构,我们使用了现成的Pix2PixHD [41]设计,并使用了15个功能通道。对于神经网络训练,我们采用了光度损失,感知损失[32]和对抗损失,这是Pix2PixHD的标准我们用不同数量的训练图像进行了实验有了超过320张图像,该模型产生了引人注目的结果,可以在消费者硬件上近实时渲染(我们实现了30+ FPS的几何投影步骤和神经着色需要37毫秒)。5.2. 神经渲染真实数据上的新视图合成我们对NeRF的示例进行了新视图合成实验1447×××- ·图5:具有1 M和更多球体的高分辨率场景表示视图合成和重建示例;来自NeRF数据集的场景[22]。(a)“花”景的试验视图(b)“蕨类植物”场景的测试视图(c)具有两个不同虚拟视点和共享的每像素全连接阴影模型的“椅子”场景的测试视图 请注意椅套上的视点相关着色效果。(d)“椅子”模型的360度视图。X/Y球体是优化之前/之后。数据集[22]。在第一个例子中,见图5(a),我们表明,纯球面几何足以表示复杂的,现实世界的场景。我们初始化的场景填充的体积,在前面的相机均匀与2.1M球,根据深度增加半径我们使用Pulsar来联合优化所有球体属性(即,位置、半径、颜色和不透明度)。我们对低不透明度的球体应用阈值,并使用能量为zi Oi的不透明度深度正则化器来鼓励球体移动到正确的场景深度。优化在NVIDIA V100 GPU上运行仅需20分钟第二个例子,见图5(b),显示了类似的重建的“蕨类植物”的我们从5.5M随机球体开始优化,并在三个尺度上进行优化,以考虑蕨类植物叶子中的细节。视相关阴影我们显示分离成几何投影和神经阴影下的挑战条件,见图5(c-d)。为此,我们考虑NeRF数据集的合成“椅子”场景,该场景具有200个视图。表面是高度纹理和改变其apepetries显着(缎面覆盖)取决于视角。我们从5.5M随机初始化的球体开始优化,并在双倍图像分辨率下工作,以捕捉所有纹理细节。我们添加了一个简单的全连接模型,该模型在所有像素之间共享,以优化每个像素视图方向上的视图相关外观和条件通过着色模型反向传播相干分量即使是这样一个小的模型也能很好地捕捉到视点依赖效应6. 限制虽然我们已经展示了具有数百万个球体的复杂场景的高性能渲染和优化,但我们的方法仍然受到一些限制,可以在未来的工作中解决:1)计算相对于位置和距离的梯度是具有挑战性的屏幕空间中小于几个像素的球体的直径。我们通过在渲染管道中明确处理这种情况并将这些球体的梯度计算限制在特征通道和不透明度中来解决这个问题。通过这种方式,它们可以通过不透明度优化进行修剪,并且我们防止噪声梯度泄漏到位置或半径模型中。通过寻找更好的方法来处理这些情况,我们可以获得更好的结果。2)虽然我们的模块非常灵活,可以轻松地与任意PyTorch训练循环集成,但目前还不能编程。CUDA内核是高度优化的,包含混合函数及其符号导数。这意味着更改函数需要显式修改CUDA内核,这是耗时且容易出错的。可编程着色器语言结合自动微分可以缓解这个问题,同时保持手写CUDA代码的高性能。7. 结论我们提出了Pulsar,一个高效的基于球体的可重构渲染模块。它的架构建立在微分渲染和神经网络领域的最新见解之上,并在投影步骤中刻意选择限制复杂性,以获得高速和可扩展性。Pulsar的执行速度比现有技术快了几个数量级,并首次实现了对数百万个球体的实时渲染和优化。我们展示了它的性能和灵活性的各种各样的应用程序,从三维重建一般神经渲染。Pulsar是开源软件,模块化,易于使用,因为它与PyTorch紧密集成。通过它的性能和可访问性,我们希望Pulsar将使研究人员能够探索以前无法实现的新想法。1448引用[1] Mart 'ın Abadi,Ashish Agarwal,Paul Barham,EugeneBrevdo,Zhifeng Chen,Craig Citro,Greg S. Corrado,Andy Davis , Jeffrey Dean , Matthieu Devin , SanjayGhemawat , Ian Goodfellow , Andrew Harp , GeoffreyIrving , MichaelIsard , YangqingJia , RafalJozefowicz,Lukasz Kaiser,ManjunathKudlur,JoshLevenber g,DanishMane' ,RajatMong a, Sherry Moore,Derek Murray , Chris Olah , Mike Schuster , JonatheShlens , Benoit Steiner , Ilya Sutskever , Kunal Tal-war , PaulTucker , VincentVanhoucke , VijayVasudevan, Fer-nandaVie'gas,OriolVinyals,PeteWarden , MartinWatten-berg, Martin Wicke , YuanYu,and Xiaoqiang Zheng.张量流:异构系统上的大规模机器学习,2015年。软件可从tensorflow.org获得。[2] 卡拉-阿里·阿利耶夫,德米特里·乌里扬诺夫,维克多·伦比斯基。基于神经点的图形。arXiv预印本arXiv:1906.08240,2019。[3] Dejan Azinovic ,Tzu-Mao Li , Anton Kaplanyan , andMatthias Nießner.反向路径跟踪联合材料和照明估计。在IEEE计算机视觉和模式识别会议论文集,第2447-2456页[4] 布鲁斯·冈瑟·鲍姆加特。计算机视觉的几何建模。技术报告AI实验室备忘录AIM-249,斯坦福大学,10 1974年。[5] Christopher B Choy , Danfei Xu , JunYoung Gwak ,Kevin Chen,and Silvio Savarese. 3d-r2 n2:一种用于单视图和多视图3d对象重建的统一方法。欧洲计算机视觉会议,第628-644页Springer,2016.[6] 理查德·哈特利和安德鲁·齐瑟曼计算机视觉中的多视图几何学。剑桥大学出版社,纽约,纽约,美国,第2版,2003年。[7] 胡渊明,卢克·安德森,李自茂,孙奇,内森·卡尔,乔纳森·拉甘-凯利和弗雷多·杜兰德。Difftaichi:物理模拟的微分编程。arXiv预印本arXiv:1910.00935,2019。[8] Eldar Insafutdinov和Alexey Dosovitsky使用可微分点云进行形状和姿态的无监督学习。In S.本焦,H。沃勒克,H。拉罗谢勒角格劳曼,北-地Cesa-Bianchi和R.Garnett , 编 辑 , 神 经 信 息 处 理 系 统 进 展 31 ( NIPS2018),第2804-2814页,加拿大蒙特利尔,2018年。柯伦事务所[9] Jiang Yue , Dantong Ji , Zhizhong Han , and MatthiasZwicker.Sdfdiff:用于3D形状优化的有符号距离场的可微分渲染arXiv预印本arXiv:1912.07109,2019。[10] 加藤浩治牛久义孝原田达也神经三维网格渲染。在IEEE计算机视觉和模式识别会议论文集,第3907- 3916页[11] Tejas D Kulkarni , William F Whitney , PushmeetKohli,and Josh Tenenbaum.深度卷积逆图形网络。神经信息处理系统的进展,第2539-2547页,2015年[12] 李子茂、艾塔拉、杜兰神父、李嘉诚.通过边缘的可微MonteCarlo射线追踪取样. ACM事务处理图表(Proc. SIGGRAPH Asia),37(6):222:1 -222:11,2018.[13] 林晨轩,陈空,西蒙·露西。密集三维物体重建的高效点云生成。在2018年第32届AAAI人工智能会议[14] Guilin Liu,Duygu Ceylan,Ersin Yumer,Jimei Yang,and Jyh-Ming Lien.使用基于物理的渲染网络进行材质编辑。在IEEE计算机视觉国际会议论文集,第2261-2269页[15] Lingjie Liu , Jiatao Gu , Kyaw Zaw Lin , Tat-SengChua,and Christian Theobalt.神经稀疏体素场,2020年。[16] Shichen Liu,Tianye Li,Weikai Chen,and Hao Li.软光栅化器:一个基于图像的三维推理微分渲染器在IEEE计算机视觉国际会议论文集,第7708-7717页[17] Shaohui Liu,Yinda Zhang,Songyou Peng,Boxin Shi,Marc Pollefeys,and Zhaopeng Cui.Dist:使用可微球体跟踪绘制深度隐式符号距离函数。arXiv预印本arXiv:1911.13225,2019。[18] 斯蒂芬·隆巴迪,杰森·萨拉吉,托马斯·西蒙,还有亚瑟·谢赫.用于面部渲染的深层外观模型。ACM事务处理图表,37(4),2018年7月。[19] Stephen Lombardi , Tomas Simon , Jason Saragih ,Gabriel Schwartz , Andreas Lehrmann , and YaserSheikh.NeuralVolume-umes : LearningDynamicRenderable Volumes from Images.ACM事务处理图表,38(4),2019年7月。[20] 马修·M作者声明:Michael J. OpenDR:一个近似微分渲染器。计算机视觉施普林格国际出版社,9月。2014年。[21] Ben Mildenhall , Pratul P. Srinivasan , Rodrigo Ortiz-Cayon,Nima Khademi Kalantari,Ravi Ramamoorthi,Ren Ng,and Abhishek Kar.局部光场融合:具有规定采样指南的实用视图合成。ACM Transactions on Graphics(TOG),2019年。[22] 放大图片作者:David J. Barron,Ravi Ramamoorthi,and Ren Ng. Nerf:将场景表示为用于视图合成的神经辐射场。arXiv预印本arXiv:2
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)