基于图像的单目三维网格重建
Posted yongqivisionimax
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于图像的单目三维网格重建相关的知识,希望对你有一定的参考价值。
作者:LongwayDate:2020-05-02
代码地址:https://github.com/ShichenLiu/SoftRas
论文题目:Soft Rasterizer: A Differentiable Renderer for Image-based 3DReasoning(CVPR2019)
概述渲染通过模拟图像形成的物理过程来缩小二维视觉和三维场景之间的差距,通过反转这种渲染器,人们可以得到一种从二维图像中推断三维信息的学习方法。然而,光栅化阻止了渲染过程变成一个可微操作。与目前最先进的可微渲染器不同,作者提出了一种真正可微的渲染框架,它可以直接使用可微函数渲染着色网格,并将有效的监督信号从不同的图像表示形式(包括轮廓、阴影和彩色图像)反向传播到网格顶点及其属性。该框架的关键是一个新的公式,它将渲染视为一个聚合函数,将所有网格三角形关于渲染像素的概率贡献融合在一起并且使得框架能够将梯度流到被遮挡的和远距离的顶点,这是以前的技术所无法实现的。结果表明,利用该渲染器可以在质量和数量上对三维无监督单视图重建进行显著的改进。简介从二维图像中理解和重建三维场景和结构是计算机视觉的基本目标之一。基于图像的三维推理关键在于找到从像素到三维属性的足够监督。为了获得图像到三维的相关性,先验方法主要依赖于基于二维关键点/轮廓或形状/外观的匹配损失。但是这些方法要么只适用于特定领域,要么只能提供弱监督。作者发现,通过反转渲染器,就可以获得对通用3D推理任务的密集像素级监督,这是传统方法无法实现的。但是在传统的图形通道中,渲染过程不是可微的。尤其是标准的网格渲染器中包含一个叫做光栅化的离散采样操作,该操作阻止了梯度流入网格顶点。最近的进展只是用手工制作的函数逼近后向梯度,而在前向过程中直接使用标准图形渲染器,这会导致不受控制的优化行为和对其他三维推理任务的有限泛化能力。作者提出了一个真正可微的渲染框架,它能够在前向过程中渲染彩色网格,如下图所示:
该框架(上)将渲染描述为一个可微的聚合过程A(·),以“软”概率的方式融合每个三角形贡献Di。这个方法还解决了标准光栅化器的核心问题,即由于离散采样操作,标准光栅化器无法将梯度从像素流到几何体(下)。与标准光栅化器只选择观察方向上最接近的三角形的颜色不同,作者提出所有三角形对每个渲染像素都有概率贡献,这可以在屏幕空间上建模为概率图。由于其概率公式,这个框架除了能够流动梯度到所有的网格三角形,而且将监督信号从像素传播到远距离三角形。作者把这个框架叫做“Soft Rasterizer (SoftRas)”,因为它“软化”离散光栅化以实现可微性。SoftRas能够提供高质量的梯度流,用于监督基于图像的3D推理的各种任务,下图是SoftRas的一些表现:
由SoftRas生成的各种渲染效果,通过分别调整γ和σ,可以获得不同程度的透明度和模糊度
基于单图像的三维无监督网格重建由于SoftRas仅仅基于渲染损失向网格生成器提供强错误信号,因此可以从单个图像中实现网格重建,而无需任何3D监督。
通过流动梯度到被遮挡的三角形来拟合目标图像的三维姿势对于基于图像的形状拟合任务,证明了该方法能够使用考虑所有三角形概率贡献的聚集机制来处理遮挡;与其他可微渲染器相比,该方法有更平滑的效果,通过使用平滑渲染避免了局部极小值。相关工作1.可微渲染:最近存在很多渲染器的派生物,比如Kato提出用手工函数来逼近光栅化的后向梯度,以实现可微渲染,Li引入可微光线跟踪器来实现二次渲染效果的可微性等。但是,这些渲染器通常都是为特殊目的而设计的,因此不能推广到其他应用中。在这篇文章中,作者主要研究一个通用的可微绘制框架,它能够直接使用可微函数来绘制给定的网格,而不仅仅是逼近后向梯度。2.基于图像的三维推理:二维图像被广泛地用作三维属性推理的媒介,特别是基于图像的重建技术受到了广泛的关注。传统的方法仅限于多视图提供的覆盖范围,随着大规模三维形状数据集的可用性,基于学习的方法能够考虑单个或少数图像,这得益于先前从数据中学习到的形状。软光栅器1.可微渲染通道:下图展示了标准渲染管道(上分支)与本文的渲染框架(下分支)之间的比较,作者定义了环境设置的外部变量(相机P和照明条件L)和描述模型特定属性的内部属性(三角形网格M和顶点外观A,包括颜色、材质等)。
2.概率图计算:利用概率图Dj模拟三角fj对图像平面的影响。为了估计像素Pi处Dj的概率,函数需要同时考虑Pi与Dj之间的相对位置和距离。为此,在像素Pi处定义Dj如下所示:
其中σ是控制概率分布锐度的正标量,而δij是符号指示器,δij={+1,if Pi∈fi;-1,otherwise},d(i,j)是Pi到fj边缘的最近距离。下图用欧几里德距离表示不同σ的三角形的概率图Dj:
(a)像素到三角形距离的定义;(b)-(d)不同σ生成的概率图3.聚合函数:对于每个网格三角形fj,通过使用重心坐标插值顶点颜色,在图像平面上的像素Pi处定义其颜色映射Cj。然后,使用聚合函数A(·)合并颜色映射Cj,以获得基于概率图Dj和相对深度Zj的渲染输出I,最后定义聚合函数如下:
其中Cb是背景色,权重wj满足=1,定义为:
其中zij表示fi上3D点的标准化反深度,其2D投影为Pi;ε是一个小常数以启用背景色,而γ控制聚合函数的锐度作者进一步探讨了轮廓的聚合函数,其中,对象的轮廓与其颜色和深度图无关。因此,提出了一个基于二进制占有率的轮廓专用聚合函数AO:
直观地说,上述公式将轮廓建模为至少有一个三角形覆盖像素pi的概率4.与以往工作的比较:
在梯度流方面的比较由于OpenDR和NMR都在前向过程中使用标准图形渲染器,因此它们无法控制中间渲染过程,并且无法将梯度流到最终渲染图像中被遮挡的三角形中。与此相反,该方法完全控制了内部变量,并且能够通过聚合函数将梯度流到不可见三角形中。由于连续概率公式,屏幕空间中像素Pj的梯度可以流向所有远处的顶点。然而,对于OpenDR,由于局部过滤操作,顶点只能从近距离内的相邻像素接收梯度。对于NMR,没有从白色区域内的像素定义相对于三角形顶点的梯度。基于图像的三维推理1.单视图网格重建:从图像像素到形状和颜色生成器的直接梯度使作者能够实现三维无监督网格重建,下图展示了本文的框架:
给定一个输入图像,形状和颜色生成器生成一个三角形网格M及其对应的颜色C,然后将其输入到软光栅化器中。SoftRas层同时渲染轮廓Is和彩色图像Ic,并通过与真实值的比较提供基于渲染的错误信号。上面的框架定义了三个损失函数,分别是轮廓损失Ls,颜色损失Lc和几何损失Lg(没有提供),如下所示:
最后的损失是三项损失的加权和:
2.基于图像的形状拟合:基于图像的形状拟合在姿态估计、形状对齐、基于模型的重建等方面有着重要的作用,传统的方法必须依赖于粗糙的对应关系,例如2D关节或特征点,以获得用于优化的监控信号。相反,SoftRas可以直接将像素级的误差反向传播到3D属性,从而实现密集的图像到3D的对应,进而实现高质量的形状拟合。然而,可微渲染器必须解决两个难题,遮挡和远距离影响,以便易于应用。作者的方法同时处理了这些问题。这篇文章定义的聚合函数融合了所有三角形的概率图,使得梯度流到所有顶点,包括被遮挡的顶点,基于概率分布的软近似允许梯度传播到远端,同时可以很好地控制接收场的大小。为此,作者提出的这个方法可以通过最小化下面的目标函数来准确地解决基于图像的形状拟合问题:
其中R(·)是从网格M生成渲染图像I的渲染函数,该渲染函数由其姿态θ、平移t和非刚性变形参数ρ参数化结果展示
以上是关于基于图像的单目三维网格重建的主要内容,如果未能解决你的问题,请参考以下文章