基于SoftRas的单视图网格重建及3D风格化

900 阅读15分钟

一.引言

从二维图像中理解和重建三维场景和结构一直是计算机视觉的基本目标之一。传统视觉方法(几何方法)需要时间域上一系列图像才能完成图像三维重建,但在条件不允许时,用单图片恢复 3D 结构是需要的并有价值的。

为了获得图像到三维的相关性,之前的方法主要依赖于基于二维的关键点(轮廓)[3,6,8,9]或形状(外观)[2,5,7,10,13]的匹配损失。然而,这些方法要么仅限于任务特定的领域,要么由于二维特征的稀疏性,只能提供微弱的监督。相比之下,通过模拟图像形成的物理机制,渲染将每个像素与三维参数联系起来,通过反向传播,可以获得通用三维推理任务的密集像素级监督,这是传统方法无法实现的。

文章[1]通过将SoftRas”软”光栅器与一个简单的网格生成器相结合,只使用多视图图像来训练网络,而不需要任何3D监督。在测试时,可以从单个RGB图像中重建三维网格和网格纹理。

二.SoftRas”软”光栅器介绍

2.1概念解释

Soft Rasterizer:基于单目图像的三维网格重建的可微分渲染器,图像软渲染引擎。是目前主流三角网格可微渲染器之一。

2.2优势

1)真正可微的渲染框架。但是在传统的图形通道中,渲染过程不是可微的。如图1,标准的网格渲染器中包含一个叫做光栅化的离散采样操作,该操作阻止了梯度流入网格顶点。该框架(上)将渲染描述为一个可微的聚合过程A(·),以“软”概率的方式融合每个三角形贡献图片。因为它“软化”离散光栅化以实现可微性。

2)由于SoftRas仅仅基于渲染损失向网格生成器提供强错误信号,因此可以从单个图像中实现网格重建,而无需任何3D监督。通过流动梯度到被遮挡的三角形来拟合目标图像的三维姿势。

image.png 图1.该框架(上)将渲染描述为一个可微的聚合过程A(·),以“软”概率的方式融合每个三角形贡献。这个方法还解决了标准光栅化器的核心问题,即由于离散采样操作,标准光栅化器无法将梯度从像素流到几何体(下)

2.3 结构

可微渲染通道

如图2所示,外部变量(相机P和照明条件L)定义环境设置,内部属性(三角形网格M和每个顶点外观A,包括颜色、材质等)描述模型特定属性。根据标准渲染管道,相机P对输入几何M进行变换,得到网格法线N、图像空间坐标U和视觉相关深度Z。根据照明和材料模型,我们可以计算给定{A、N、L}的颜色C。这两个模块都是可微的。然而,由于离散采样操作,标准图形管道中的栅格化(栅格化可以看作是由像素和三角形之间的相对位置决定的二进制掩膜)和z-buffering(图2红块)对于U和Z是不可微的,z-buffering基于三角形的相对深度以像素级one-hot的方式合并栅格化结果F。

image.png

图2.标准渲染管道(上分支)和我们的渲染框架(下分支)之间的比较

可微公式:将该问题表述为软且可微的方式建模离散二进制掩膜和one-hot合并操作。提出了两个主要组成部分,即建模每个像素停留在特定三角形内的概率的概率映射{图片},和基于每个三角形颜色映射和三角形之间的相对深度的聚合函数A(·)。

概率图计算

利用概率映射图片模拟了三角形图片对图像平面的影响。为了估计图片在像素图片处的概率,该函数需要同时考虑相对位置图片图片之间的距离。为此,我们在像素图片处的图片定义如下:图片(1)                                        其中,σ是一个控制概率分布锐度的正标度,除非另有说明,否则我们将σ设置为1×10−4。图片是从图片图片边缘的最近距离。图片可选择是欧几里得距离。图片是一个符号指示器图片(2)
通过使用s型函数,方程将输出归一化为(0,1),这是一个边界落在0.5上的二进制掩码的连续近似。此外,符号指示器还将图片内外的像素分别映射到(0.5、1)和(0、0.5)的范围。

聚合函数
对于每个网格三角形图片我们通过使用重心坐标插值顶点颜色,在图像平面像素图片处定义其颜色映射图片。对图片之外的图片进行处理,将重心坐标归一化为[0,1]。然后,使用一个聚合函数A(·)来合并颜色映射,以基于图片和相对深度图片获得渲染输出l。受softmax运算符的启发,定义了一个聚合函数如下:图片(3) 其中图片为背景色;权重图片定义为:图片 (4)

满足
图片(5)

其中,图片表示图片上二维投影为图片的三维点的标准化逆深度,ε 是小常数,提供背景颜色,而γ(除非另有说明,设置为1×10−4)控制聚合函数的清晰度。图片是两个主要变量图片图片的函数。具体来说,图片给具有较大的图片更近的三角形分配更高的权重。作为γ→0,颜色聚合函数只输出最近的三角形的颜色,这与z-buffering完全匹配。此外,图片对z轴平移具有鲁棒性。图片沿着x、y方向调制图片使屏幕空间上更接近图片的三角形将得到更高的权重。当本征顶点颜色设置为常数顶点颜色时,等式(3)可用于着色图像。进一步探讨了轮廓的聚合函数。对象的轮廓与其颜色和深度图无关,提出了一个基于二进制占用率的轮廓专用聚合函数AO:图片(6)

等式(6)将轮廓建模为至少有一个三角形覆盖像素的概率。

梯度计算分析

根据可微渲染通道图的计算图,我们从下式得到渲染的图像I到网格M中的顶点的梯度图片(7)

通过反转投影矩阵和照明模型得到图片图片图片图片图片图片在传统的渲染管道中不存在。我们的框架引入概率映射D,它将梯度图片因子分解为图片*图片,使图片可微分。进一步,我们通过所提出的聚合函数得到了图片。从像素到三角形的梯度。我们的方法可以完全控制内部变量,并能够通过聚合函数将梯度流动到不可见的三角形和所有三角形的z坐标。从像素到顶点的屏幕空间梯度。由于连续概率公式,从屏幕空间中的像素图片的梯度可以将梯度流动到所有遥远的顶点。

三.SoftRas单视图网格重建

3.1 数据集

使用点云数据集小型数据集ShapeNet。小型数据集指一个点云中包含的对象或场景非常小,直观表现就是点数非常少的数据集。该数据集有16个类别(飞机,椅子,汽车等),共16,881个形状。每个类别又进一步的标注了组件结构(例如飞机分为机翼,机身和机尾)用作零件分割(part segmentation),16个类别一共分成了50个零件。在此模型的训练中,训练数据包含13个种类,每个种类几百或几千张形状(shape),每个形状(shape)包含 24张多角度的RGB图像。

3.2 重建框架与网络结构

SoftRas单视图网格重建框架如图3所示。软光栅化器与网格生成器合并来评估其在单视图三维重建上的性能。从图像像素到形状和颜色生成器的直接梯度使我们能够实现三维无监督网格重建。给定一个输入图像,形状和颜色生成器生成一个三角形网格M及其相应的颜色C,然后将其输入软光栅化器。SoftRas层同时渲染轮廓和彩色图像,反向传播,优化I(render_images)。单视图网格重建整体流程分析(训练过程):

(1)数据(图像)载入:输入图像,数据集-ShapeNet的13类对象。每个对象在24个不同的视图中渲染,图像分辨率为64×64;

(2)形状和颜色生成器:受网格学习[4,12]的最新进展的启发,通过pixel2mesh 等变形模板网格合成三维模型(网格学习),得到对应网格顶点(vertices)和面(faces),为了验证软光栅化器的性能,使用与[4,11]相同的常用的编码解码器;颜色生成器生成一个三角形网格顶点对应的颜色C。

(3)正则化设置:设置网格正则化项(mesh regularizer),包含拉普拉斯正则化器进行拉普拉斯预测与法向量损失,即几何损失。

(4)形成三角网格:网格顶点(vertices)和面(faces)生成对应的三角网格M。

(5)软光栅器可微分渲染: 生成 (render_images),SoftRas层同时渲染轮廓Is和彩色图像Ic,并通过与输入真实值比较,提供基于渲染的误差信号。

(6)损失函数计算:轮廓损失,颜色损失,几何损失(正则化项)这三种损失的加权之和

(7)计算梯度,优化

image.png

图3.单视图网格重建框架

形状和颜色生成器网络结构: 使用了一个编码器-解码器架构来进行单视图网格重建。编码器被用作特征提取器,其网络结构如图4所示,输出特征大小为512。颜色和形状生成器的详细网络结构分别如图5(a)和(b)所示。这两个网络共享相同的特征提取器。形状生成器由三个完全连接的层组成,并输出一个每个顶点的位移向量,将一个模板网格变形到一个目标模型中。颜色生成器包含两个部分:采样网络用于采样输入图像来构建调色板,选择网络用于从调色板中选择颜色来纹理采样点。

image.png

图4.特征提取器的网络架构。

image.png

图5.形状和颜色生成器的网络架构。

损失函数: 重建网络有三个损失:轮廓损失Ls、颜色损失Lc和几何损失Lg。设和分别表示预测的轮廓和真实的轮廓。轮廓影损失定义为

image.png (8)

其中⊗和⊕分别为元素级乘积和和算符。颜色损失被测量为渲染图像和输入图像之间的L1范数。为了达到吸引人的视觉质量,增加了一个几何损失Lg,它规范了形状和颜色的拉普拉斯预测。最终的损失是三种损失的加权之和:

image.png (9)

其中几何损失由拉普拉斯预测损失与法向量损失构成,模型训练实验中,设置图片图片颜色损失Lc 的权值图片

3.2.1颜色重建

将颜色重建作为一个分类问题,学习为每个采样点的输入图像中的像素颜色。提出了一种使用调色板着色网格的新方法,如图6所示。设Nc表示M上的采样点数,根据输入图像大小和经过形状生成器得到的顶点数,这里Nc=1280。H,W分别为输入图像的高度和宽度,实验中W=H=64。将输入图像传递给神经网络后,将提取的特征输入一个采样网络,采样代表性颜色构建调色板;一个选择网络,结合调色板的颜色,用于纹理采样点。颜色预测是通过将颜色选择与学习到的调色板相乘来获得的。我们的方法将计算复杂度降低到O(Np(HW+Nc)),其中Np是调色板的大小,Np越大计算成本越高,设置合适的Np值,通过学习可实现清晰而准确的颜色恢复,并可以显著降低计算成本。

image.png

图6.颜色重建的网络结构\

3.3 重建结果

使用ShapeNet数据,按重构框架训练模型,迭代250000次完成模型训练。下面展示单视图网格重建的测试结果。(1)形状重建结果如图7:

image.png

(a) input:2D image  (b) output:  3D object

图7.形状重建结果

(2)颜色重建结果如图8:

image.png

(a) input:2D image  (b) output:  texture

图8.形状重建结果

(3)整体网格重建结果如图9:

image.png

(a) input:2D image  (b) output:  texture  and  3D object

图9.整体重建结果

四.2d-3d 风格迁移

2D 到 3D 风格转换是通过优化网格的形状和纹理来执行的,将 2D 图像空间中的信息流入 3D 空间来实现的。通过SoftRas 颜色重建,可以获得3d 形状对应的纹理图,颜色损失被测量为渲染图像和输入图像之间的L1范数,使用可微渲染器将具有纹理的模型渲染到不同的视图中。将图像风格在每个视图上施加损失,通过一个可微渲染器反向传播以更新纹理,以便我们可以获得新的纹理风格。对于物体的2d 到3d 风格迁移,不需要对应纹理的规范性,也可直接使用风格图像代替颜色重建得到的纹理图像,完成风格迁移。实现流程如图10所示。

image.png

图10.2d-3d 风格化流程

其他图像2d-3d风格迁移结果如图11所示:

image.png

图11.2d-3d 风格化结果示例

五.总结

本文根据文章[1]介绍一个真正的可微渲染框架(SoftRas),它能够以完全可微的方式直接呈现给定的网格。在统一的渲染框架中考虑外部变量和内在变量,并生成从像素到网格顶点及其属性(颜色、正常等)的有效梯度。通过重新定义传统的离散操作和视觉相关深度z作为可微概率过程来实现这一目标。能够提供更有效的监督信号,梯度流到看不见顶点,并优化网格三角形的z坐标,从而对单视图网格重建和基于图像的形状拟合任务有了显著的改进。本文这里主要用于单视图网格重建任务,同时介绍了物体2d 到3d 风格化的整体流程,并完成了结果示例。2D 到 3D 风格转换通过优化纹理来执行,使2D 图像空间中的信息流入3D 空间来实现。

参考文献: [1] Shichen Liu, Tianye Li, Weikai Chen, and Hao Li. Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning.2019 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE, 2020. 

[2] V. Blanz and T. Vetter. A morphable model for the synthesis of 3d faces. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques, pages 187– 194. ACM Press/Addison-Wesley Publishing Co., 1999. 1, 3

[3] F. Bogo, A. Kanazawa, C. Lassner, P. Gehler, J. Romero, and M. J. Black. Keep it smpl: Automatic estimation of 3d human pose and shape from a single image. In European Conference on Computer Vision, pages 561–578. Springer, 2016. 1, 3, 5

[4] H. Kato, Y. Ushiku, and T. Harada. Neural 3d mesh renderer. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3907–3916, 2018. 1, 2, 4, 5,6, 7, 8, 13, 15

[5] H. Lensch, J. Kautz, M. Goesele, W. Heidrich, and H.-P. Seidel. Image-based reconstruction of spatial appearance and geometric detail. ACM Transactions on Graphics (TOG), 22(2):234–257, 2003. 1

[6] F. Liu, D. Zeng, Q. Zhao, and X. Liu. Joint face alignment and 3d face reconstruction. In European Conference on Computer Vision, pages 545–560. Springer, 2016. 1

[7] M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black. Smpl: A skinned multi-person linear model. ACM transactions on graphics (TOG), 34(6):248, 2015. 1, 3, 8

[8] W. Matusik, C. Buehler, R. Raskar, S. J. Gortler, and L. McMillan. Image-based visual hulls. In Proceedings of the 27th annual conference on Computer graphics and interactive techniques, pages 369–374. ACM Press/AddisonWesley Publishing Co., 2000. 1

[9] G. Pavlakos, X. Zhou, K. G. Derpanis, and K. Daniilidis. Coarse-to-fifine volumetric prediction for single-image 3d human pose. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 7025–7034, 2017. 1, 5

[10] R. Zhang, P.-S. Tsai, J. E. Cryer, and M. Shah. Shape-from shading: a survey. IEEE transactions on pattern analysis and machine intelligence, 21(8):690–706, 1999. 1

[11] X. Yan, J. Yang, E. Yumer, Y. Guo, and H. Lee. Perspective transformer nets: Learning single-view 3d object reconstruction without 3d supervision. In Advances in Neural Information Processing Systems, pages 1696–1704, 2016. 5, 6, 7

[12] N. Wang, Y. Zhang, Z. Li, Y. Fu, W. Liu, and Y.-G. Jiang. Pixel2mesh: Generating 3d mesh models from single rgb images. In ECCV, 2018. 3, 5, 6, 7

[13] T. F. Cootes, G. J. Edwards, and C. J. Taylor. Active appearance models. IEEE Transactions on Pattern Analysis & Machine Intelligence, (6):681–685, 2001. 1\

文章来自一点资讯AI图像图形实验室(AIIG)团队