锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

用于高清人物重建的像素对齐隐函数ICCV2019

时间:2023-09-24 01:07:02 1207g传感器保真

fig1

目录

  • 前置内容
    • 隐函数
    • 等值面和Marching Cube算法
  • 摘要
  • 1.Introduction
  • 2.Related Work
    • Single-View 3D Human Digitization
    • Multi-View 3D Human Digitization
    • Texture Inference
  • 3.PIFu: Pixel-Aligned Implicit Function
    • 3.1.单视图surface reconstruction
    • 3.2.纹理推断
    • 3.3.Multi-View表面重建
  • 4.实验
  • 个人总结

前置内容

隐函数

Implicit Function 它是一种用来表达物体表面的函数,如: f ( X ) = 0 f(X)=0 f(X)=0,其中, X X X表示空间中的任何一个点,比如空间中的球心在原点,半径是 r r r隐函数为: f ( X ) = x 2 y 2 z 2 ? r 2 = 0 f(X)=x^{2} y^{2} z^{2}-r^{2}=0 f(X)=x2 y2 z2r2=0 X = ( x , y , z ) X=(x,y,z) X=(x,y,z)满足 f ( X ) = 0 f(X)=0 f(X)=0时,该点在球面上;
X = ( x , y , z ) X=(x,y,z) X=(x,y,z)满足 f ( X ) < 0 f(X)<0 f(X)<0时,该点在球面内部;
X = ( x , y , z ) X=(x,y,z) X=(x,y,z)满足 f ( X ) > 0 f(X)>0 f(X)>0时,该点在球面外部;

更加复杂的物体可以由更加复杂的Implicit Function表示。

等值面和Marching Cube算法

等值面是空间中的一个曲面,我们规定空间中每一个点都有一个属性值,属性值相等的连续空间组成的曲面,我们称之为等值面。

Marching Cube算法是提取等值面的基础算法。直观地说,就是用许多小正方体去对空间进行切分,然后用小正方体内部的平面来近似表示当前的等值面。显然,小正方体的数量越多,逼近的效果越好,随之带来的是计算的代价。小正方体的顶点就是3D空间中的离散点。

简单理解,Marching cube是从implicit转成mesh的方法,而implicit和mesh都是三维数据的一种表示形式。

摘要

我们引入了像素对齐隐函数(PIFu,Pixel-aligned implicit function),这是一种隐式表示,将2D图像的像素与相应3D对象的上下文进行局部对齐。使用PIFu,我们提出了一种端到端的深度学习方法,用于高清重建有衣着的人物,该方法可以从单个图像以及可选的多个输入图像中推断3D表面和纹理。高度复杂的形状,如发型、服装,以及它们的褶皱可以用统一的方式数字化表示。与基于三维深度学习的现有方法相比,PIFu可以生成高分辨率曲面,甚至包括看不见的区域,例如人的背部。此外,PIFu可以自然扩展到任意数量的视图。我们展示了对来自DeepFashion数据集的真实世界图像的高分辨率重建,该数据集包含各种具有挑战性的服装类型。我们的方法在公共基准上实现了最先进的性能,优于之前从单个图像进行人体数字化的工作。

1.Introduction

在沉浸式技术日益普及的时代,大规模创建虚拟3D内容的能力与我们数字化生成和理解3D对象的能力齐头并进。如果在3D视角中对整个物体进行数字化重建就像拍照一样简单,那么就不需要复杂的3D扫描设备、多视图立体算法或繁琐的信息捕获过程,因为在这些过程中需要不断移动传感器

对于某些特定域的对象,例如人脸face、人体human body或人造对象,已经可以借助参数模型、数据驱动技术或深度神经网络从图像中推断出相对准确的三维曲面。最近的3D深度学习进展表明,可以从很少的图像甚至单个输入图像推断出形状。然而,即使对于特定于域的建模任务,结果的分辨率和准确性依然有限。

我们提出了一种新的像素对齐隐函数(PIFu)表示法,用于三维深度学习,以解决从单个或多个输入图像推断三维人体纹理表面的挑战性问题。最成功的2D图像处理深度学习方法(例如语义分割、目标检测等)利用了“全卷积”网络架构,保持图像和输出之间的空间对齐,这在3D领域尤其具有挑战性。虽然体素表示可以应用全卷积的方式,但表示的内存密集性本质上限制了其生成精细细节曲面的能力。基于全局表示的推理技术更节省内存,但不能保证保留输入图像的细节。类似地,基于隐函数的方法依赖图像的全局上下文来推断整体形状,其难以与输入图像在局部上准确对齐。另一方面,PIFu以全卷积的方式将像素级的单个局部特征与整个对象的全局上下文对齐,并且不需要像在基于体素表示中那样占有高内存使用率。衣服主体的形状可以是任意拓扑、高度可变形的。虽然有方法也利用局部特征,但由于缺乏3D感知特征融合机制,他们的方法无法从单个视图推理3D形状。在这项工作中,我们证明了局部特征和3D感知隐式曲面表示的结合产生了显著的差异,包括从单个视图进行高清的重建。

具体来说,我们训练编码器学习图像每个像素的单个特征向量,该特征向量考虑了相对于其位置的全局上下文。给定该像素特征向量和沿该像素的发射相机光线的指定深度,我们学习一个隐式函数,该函数可以分类与该深度对应的3D点是在曲面内部还是外部。特别的,我们的特征向量在空间上将全局3D曲面形状与像素对齐,这允许我们保留输入图像中存在的局部细节,同时在看不见的区域中推断可能的细节。

我们的端到端方法可以直接预测具有复杂发型和穿着任意服装的人的高分辨率3D形状。尽管存在大量的不可见区域,特别是对于单视图输入,但我们的方法可以生成类似于多视图立体摄影测量或其他三维扫描技术获得的完整模型。如图1所示,我们的算法可以处理各种复杂的衣服,如裙子、围巾,甚至高跟鞋,同时捕捉高频细节,如在像素级与输入图像匹配的褶皱。

  • 图1:我们提出了像素对齐隐函数(PIFu),该函数允许从单个输入图像(顶行)中重建穿着衣服的人的高分辨率3D纹理表面。我们的方法可以数字化服装中的复杂变化,例如起皱的裙子和高跟鞋,包括复杂的发型。形状和纹理可以完全恢复,包括不可见的区域,例如body的背部。PIFu还可以扩展到多视图输入图像(底行)。

通过简单地采用隐函数回归光线上每个query点的RGB值,PIFu可以自然地扩展到推断各个点的颜色。因此,我们的数字化框架还可以生成表面的完整纹理,同时在看不见的区域预测合理的外观细节。通过额外的多视图立体约束,PIFu还可以自然扩展以处理多输入图像,这通常是实际人体捕捉设置所需要的。由于已经可以从单个输入图像生成完整的纹理网格,添加更多视图能通过为未看到的区域提供额外信息来进一步改进重建的结果。

我们在一系列具有挑战性的真实世界的服装主题图像上证明了我们方法的有效性和准确性。我们还首次展示了从视频序列重建动态人体的高分辨率示例。我们使用高端摄影机测量获得的Ground Truth三维扫描数据集对我们的方法进行了全面评估。我们将我们的方法与之前的工作进行了比较,并在一个公共基准上展示了最先进的性能。

2.Related Work

Single-View 3D Human Digitization

由于单视图本身的信息缺失,单视图数字化技术需要强大的先验知识。因此,人体的参数模型被广泛用于从输入图像中数字化人体。轮廓和其他类型的手动注释通常用于初始化人体模型与图像的拟合。最近的方法涉及深度神经网络,以提高高度挑战性图像的位姿和形状参数估计的鲁棒性。将部件分割开作为输入的方法可以生成更精确的拟合。尽管参数化模型能够重建人体,但它们只能生成无衣着的人体。衣服、头发和其他细节的3D表面会完全被忽略。


参数化人体形状重建方法依赖于基于统计得到的人体参数化模型,仅需一组低维向量(即人体参数)即可描述人体形状。


BodyNet等无模板方法学习使用深度神经网络直接生成人的体素表示。由于体素表示的高内存要求,输出中往往缺少细节。最近,有人引入了一种多视图推理方法,通过从单个图像合成新的轮廓视图。但这种方法很难推断一致生成的视图,无法可靠地生成细节。相比之下,PIFu内存效率高,能够捕捉图像中的细节,并预测每个点的颜色。

Multi-View 3D Human Digitization

多视图采集方法旨在生成完整的人体模型并简化重建问题,但通常受限于工作室的设置。早期的尝试是基于视觉外壳,它使用来自多个视图的轮廓来雕刻捕获的可见区域。当使用大量摄像机时,可以获得合理的重建,但凹度本身就很难处理。使用多视图立体约束或使用受控照明,例如多视图光度立体技术,可以获得更精确的几何图形。有几种方法使用参数化模型来进一步指导数字化过程。虽然多视图捕获技术明显优于单视图捕获技术,但它们的灵活性和可部署性明显较差。

中间解决方案包括使用深度学习框架从非常稀疏的视图中生成合理的3D曲面。有人引入了一种基于体积占有率场的深度学习方法,该方法可以使用稀疏视点作为输入来捕捉人体。这些方法至少需要三个视图才能产生合理的输出。

Texture Inference

当从单个图像重建三维模型时,可以很容易地从输入中采样纹理。然而,为了获得完整的纹理,需要推断遮挡区域中的外观。3D纹理推断的问题是从单个图像或多个图像预测新视图的视图合成方法。在衣着人体纹理网格推断的背景下,有人引入了一种视图合成技术,可以从正面预测后视图。然后使用前视图和后视图对最终3D网格进行纹理处理,但无法处理自遮挡区域和侧视图。我们提出的方法可以以端到端的方式预测每个点的颜色,并且可以处理具有任意拓扑的曲面。


纹理推断可以理解为预测每个点的颜色。


3.PIFu: Pixel-Aligned Implicit Function

给定单视图或多视图图像,我们的目标是在保留图像中存在的细节的同时重建穿着衣服的人体的三维几何体和纹理。为此,我们引入了像素对齐隐函数(PIFu),它是一种高效的空间对齐的三维曲面表示。隐函数将曲面表示定义为函数 f f f,比如 f ( X ) = 0 f(X)=0 f(X)=0。这让曲面可以获得内存高效表示,因为曲面信息不需要每个点都显式存储。提出的像素对齐隐函数由全卷积图像编码器 g g g和由多层感知器(MLP)表示的连续隐函数 f f f组成,其中曲面定义为: f ( F ( x ) , z ( X ) ) = s : s ∈ R f(F(x),z(X))=s:s\in R f(F(x),z(X))=s:sR其中,对于一个3D的点 X X X x = π ( X ) x=\pi(X) x=π(X)是该点在2D投影空间下的坐标, z ( X ) z(X) z(X)是相机坐标系下的深度值(3D空间下的点到相机的距离), F ( x ) = g ( I ( x ) ) F(x)=g(I(x)) F(x)=g(I(x))是在 x x x处的图像特征向量(其中 I ( ⋅ ) I(\cdot) I()代表图像中对象的mask)。注意,我们的像素对齐特征 F ( x ) F(x) F(x)来自双线性插值采样,因为 X X X的2D投影是在连续空间而不是离散空间(即像素)中定义的。

我们使用像素对齐的图像特征而不是全局特征学习三维空间上的隐函数,这允许学习的函数保留图像中存在的局部细节。PIFu的连续性允许我们以内存高效的方式生成具有任意拓扑的几何体。此外,PIFu可以作为一个通用框架,可以扩展到各种域,例如RGB颜色。

Digitization Pipeline

  • 图2:衣着人物数字化的pipeline:给定一张图像,PIFu预测人物的连续内外概率场。类似的,纹理推断PIFu(Tex-PIFu)在具有任意拓扑的曲面几何体的给定位置推断RGB值。

图2展示了我们的框架。给定一张输入图像,用于表面重建(surface reconstruction)的PIFu预测穿着衣服的人的连续内外概率场。类似地,用于纹理推断的PIFu(Tex-PIFu)在surface几何体的3D位置输出RGB值,从而在自遮挡表面区域和任意拓扑形状中实现纹理推断。此外,我们还表明,该方法可以自然地处理单视图和多视图输入,这使得我们能够在更多视图可用时产生更高保真度的结果。

3.1.单视图surface reconstruction

对于表面重建,我们将Ground truth surface表示为连续3D占用场(occupancy field)的0.5水平集:如果 X X X在网格曲面(mesh surface)内部, f v ∗ ( X ) = 1 f^{*}_{v}(X)=1 fv(X)=1,否则 f v ∗ ( X ) = 0 f^{*}_{v}(X)=0 fv(X)=0。我们训练PIFu f v f_{v} fv,通过最小化MSE: L V = 1 n ∑ i = 1 n ∣ f v ( F V ( x i ) , z ( X i ) ) − f v ∗ ( X i ) ∣ 2 L_{V}=\frac{1}{n}\sum_{i=1}^{n}|f_{v}(F_{V}(x_{i}),z(X_{i}))-f_{v}^{*}(X_{i})|^{2} LV=n1i=1nfv(FV(xi),z(Xi))fv(Xi)2其中, X i ∈ R 3 , F V ( x ) = g ( I ( x ) ) X_{i}\in R^{3},F_{V}(x)=g(I(x)) XiR3,FV(x)=g(I(x))是图像编码器 g g g x = π ( X ) x=\pi(X) x=π(X)处的图像特征, n n n是采样点的数量。给定一对输入图像和与输入图像空间对齐的相应3D mesh,通过最小化 L V L_{V} LV更新 g g g和PIFu的参数。正如Bansal等人在语义分割方面所证明的那样,与所有像素的训练相比,使用像素子集训练图像编码器不会影响收敛。在推理过程中,我们在3D空间上对概率场进行密集采样,并使用Marching Cube算法在阈值0.5处提取概率场的等值面(对3D空间的每个点预测点在网格内部的概率,令概率为0.5的点为曲面上的点)。这种隐式曲面表示适用于具有任意拓扑的详细对象。除了PIFu的表达能力和内存效率外,我们还开发了一种空间采样策略,这对于实现高保真推理至关重要。

Spatial Sampling
训练数据的分辨率在实现隐函数的表达性和准确性方面起着核心作用。与基于体素的方法不同,我们的方法不需要Ground truth 3D mesh的离散化。相反,我们可以使用有效的光线跟踪算法从原始分辨率的GT mesh中实时采样3D点。此外,我们观察到采样策略在很大程度上会影响最终的重建质量。如果对三维空间中的点进行均匀采样,大多数点都远离对象曲面,这将不必要地将网络强迫为外部空间预测。另一方面,仅在曲面周围采样可能会导致过拟合。因此,我们建议结合均匀采样和基于曲面几何的自适应采样。我们首先在曲面几何体上随机采样点,并为x、y和z轴添加正态分布 N ( 0 , σ ) N(0,σ) N(0,σ)(在我们的实验中 σ = 5.0 σ=5.0 σ=5.0 cm)的偏移,以扰动其在曲面周围的采样位置。我们以16:1的比例将这些样本与边界框内的均匀采样点相结合。


对于每一对(2D图像,3D模型),2D图像先输入到一个由全卷积组成的图像编码器 g g g,得到与2D图像高宽一样的深度特征,对于3D模型,可以采样得到 n n n个3D点 ( X 1 , . . . , X n ) (X_{1},...,X_{n}) (X1,...,Xn),同时可以知道其对应的曲面点ground truth ( f v ∗ ( X 1 ) , . . . , f v ∗ ( X n ) ) (f^{*}_{v}(X_{1}),...,f^{*}_{v}(X_{n})) (fv(X1),...,fv(Xn))(该3D点是否在对象内部)。

在PIFu中,使用MLP表达 f v ( ⋅ ) f_{v}(\cdot) fv() g g g是图像编码器,用于提取语义信息, z z z则包含了3D信息。

边界框是3D模型的固定边界,比如我们可以设置出 512 × 512 × 512 512\times512\times512 512×512×512个点 X X X,我们对所有点进行预测,然后用Marching Cube提取固定好阈值的等值面,该等值面作为立体对象的外表曲面。


3.2.纹理推断

PIFu使我们能够通过将式1中的 s s s定义为RGB向量场而不是标量场来直接预测表面几何体上的RGB颜色。这支持具有任意拓扑和自遮挡的形状纹理。然而,将PIFu扩展到颜色预测是一项非常重要的任务,因为RGB颜色仅在表面上定义,而3D占用场(occupancy field)在整个3D空间上定义。在此,我们重点介绍了PIFu在训练过程和网络架构方面的改进。

给定曲面上采样的3D点 X ∈ Ω X\in\Omega XΩ,纹理推断的目标如下所示: L C = 1 n ∑ i = 1 n ∣ f c ( F C ( x i ) , z ( X i ) ) − C ( X i ) ∣ L_{C}=\frac{1}{n}\sum_{i=1}^{n}|f_{c}(F_{C}(x_{i}),z(X_{i}))-C(X_{i})| LC=

相关文章