ARCH++: Animation-Ready Clothed Human Reconstruction Revisited
可直接用于动画的穿衣服人体重建
我们提出了一种基于图像的三维化身重建方法ARCH++,该方法可以重建具有任意服装风格的3D化身。我们重建的化身是动画就绪和高度逼真的,在输入视图的可见区域和不可见区域都是如此。虽然以前的工作显示出很有希望重建具有各种拓扑结构的可动画衣着的人,但我们观察到存在导致次优重建质量的根本限制。在本文中,我们回顾了基于图像的化身重建的主要步骤,并利用ARCH++解决了这些限制。首先,我们引入了一种端到端的几何编码器来更好地描述底层3D人体的语义,取代了以前手工制作的特征。其次,针对典型姿态下衣着人体拓扑变化引起的占有率歧义问题,提出了一种跨空间一致性的协同监督框架,用于联合估计姿态空间和规范空间中的占有率。最后,我们使用图像到图像的转换网络来进一步细化重建曲面上的细节几何和纹理,从而提高了任意视点之间的逼真度和一致性。在实验中,我们展示了在重建质量和真实感方面在公共基准和用户研究方面的改进。
? 给定一个任意姿势的对象图像(左),我们的方法可以在设定的输入空间(中间)和自动装配的规范空间(右)中生成照片级逼真的化身。
Introduction
数字人类已经成为众多AR/VR应用的重要组成部分,例如视频游戏、社交远程呈现[48,39]和虚拟试穿。要获得真正身临其境的体验,对这些化身来说,获得超越[Uncanny Valley](机器人、化身和动画的目标是极端现实主义,但却陷入了一个被称为诡异山谷的令人不安的深渊。它们极其逼真,栩栩如生,但当我们审视它们时,我们会发现它们并不完全是人类。当机器人或动画画像躺在这个“山谷”里时,人们往往会感到不安、陌生、厌恶或令人毛骨悚然。 怪诞谷是一个术语,用来描述机器人物体的类人外观和它引起的情感反应之间的关系。在这一现象中,人们对高度逼真的人形机器人感到不安甚至反感。你可能以前体验过这种感觉–可能是在看CGI动画电影或玩电子游戏的时候。这个动画人可能看起来几乎是真实的,但看起来“几乎是人”和“完全是人”之间的细微鸿沟会让你感到不舒服,甚至令人反感。)的更高水平的现实感是至关重要的[45]。建立一个照片真实感的化身需要艺术家的许多手工作品,或者在受控环境下昂贵的捕获系统[14,21,49],这限制了访问并增加了成本。因此,以最小的前提(例如自拍)革新重建技术对于未来的数字人类应用是至关重要的。
最近从一张图像重建的人体模型结合了之前特定类别的数据和图像观察[72,31,66]。其中,基于模板的方法[32,34,67,3,9]仍然存在保真度不足和难以支持服装变化的问题;而非参数重建方法[55,75,56,23],例如使用隐式曲面函数,尽管保真度令人印象深刻,但不能提供直观的方式来使重建的化身动画化。在最近的工作ARCH[26]中,作者提出在规范空间中使用像素对齐的隐函数[55]来重建非参数人体模型,其中所有重建的化身都被变换成一个共同的姿势。为此,利用参数化人体模型来确定变换。通过从底层身体模型传输蒙皮权重(其编码每个顶点受每个躯干关节的变换的影响程度),可以对重建结果进行动画处理。然而,我们观察到参数化人体模型和像素对齐隐式函数的优势没有被充分利用。
在本文中,我们介绍了ARCH++,它重新回顾了从图像重建可动画化化身的主要步骤,并解决了先前工作的公式和表示中的局限性。首先,目前基于隐函数的方法主要使用手工制作的特征作为三维空间表示,存在深度模糊和缺乏人体语义信息的问题。为了解决这个问题,我们提出了一种基于PointNet++ [52,53]的端到端几何编码器,它表达性地描述了底层的3D人体。第二,我们发现获得规范空间监督的解映射过程会导致拓扑变化(例如,移除自相交区域),因此关节重建无法在原始设定空间中获得相同水平的精度。因此,我们提出了一个共同监督框架,其中占用率是在设定空间和规范空间中共同预测的,并在跨空间一致性上有额外的约束。这样,我们两者都受益:在设定空间中的监督允许预测保留原始扫描的所有细节;而规范空间重建可以确保重建化身的完整性。最后,基于图像的化身重建经常遭受遮挡区域的几何和纹理退化。为了使问题更容易处理,我们首先使用图像平移网络来推断图像域中被遮挡区域的表面法线和纹理,然后使用模制修复方案来细化重建的表面。
在实验中,我们在真实感渲染的合成图像和野外图像上评估了ARCH++,性能优于基于隐式函数和公共基准上的其他设计选择的先前作品。
ARCH++的贡献包括:1)基于点的隐式函数几何编码器,直接提取人体形状和姿态先验,高效且无量化误差;2)我们首先指出并研究了确定目标占用空间的基本问题:定态空间保真度与规范空间完备性。尽管之前被忽略,但我们概述了不同空间的利弊,并提出了联合空间占用场的共同监管框架;3)我们发现基于图像的表面属性估计可以解决视图不一致重构质量的公开问题。我们的模塑-修复表面精细化策略生成了360?照片级真实感3D化身。4)我们的方法在基于图像的动画化身重建这一全新的任务上表现出了更好的性能。
Related Work
基于模板的重建利用参数化人体模型,例如SCAPE [4]和SMPL [40]来提供身体形状和姿态的强先验,以解决不适定问题,包括服装下的身体估计[69,73]和基于图像的人体形状重建[11,37,32,20,35,65,34,67]。虽然这些作品主要关注的是在不穿衣服的情况下强调身体形状,但基于模板的表示后来扩展到用最小身体[51]或外部衣服模板[10]、3D扫描[68,51]、视频[2,22]和单个图像[1,10,29]的位移来建模穿衣服的人。当这些方法在身体模板网格上构建服装形状时,重构的模型可以很容易地由参数化身体模型的姿态参数驱动。为了解决有限的网格分辨率细节的缺乏,最近的工作提出利用2D紫外线地图[36,3]。然而,由于服装拓扑可能会明显偏离下面的身体网格,并且其变化很大,这些基于模板的解决方案无法捕捉现实世界中的服装变化。
非参数捕捉广泛用于在受控环境下从多视图系统捕捉具有任意拓扑的高度详细的3D形状[43,5,61,58,18,62,16,64,59,42]。深度学习的最新进展通过支持稀疏视图输入[19,25],甚至单目输入[38]进一步推进了这一极限。对于单视图服装人体重建,直接回归方法证明了有希望的结果,支持各种服装类型,具有广泛的形状表示,包括体素[60,28]、双向深度图[17,57]、视觉外壳[46]和隐式函数[55,56,23]。特别是,像素对齐的隐函数(PIFu)[55]及其后续工作[56,23]通过利用神经隐函数[44,12,50]和完全卷积的图像特征,展示了令人印象深刻的重建结果。不幸的是,尽管其结果是高保真的,但由于缺少身体部分的分离和关节,非参数重建还不能动画化。最近,IF-Net [13]利用部分点云输入,并使用潜在体素特征学习隐式函数。与基于图像的化身重建相比,从点完成可以利用直接提供的强形状和姿势线索,从而跳过从复杂图像中学习它们。
混合方法结合了基于模板的方法和非参数方法,使我们能够利用两者的优点,即结构先验和对任意拓扑的支持。最近的工作[8]表明,使用SMPL模型作为指导,显著提高了来自RGB-D输入的非刚性融合的鲁棒性。对于单视角人体重建,Zheng等人首先引入了模板-模型(SMPL)和非参数形状表示(体素[75]和隐式表面[74])的混合方法。然而,这些方法选择用于形状建模的输入视图空间,其中重构的身体部分潜在地粘在一起,使得重构难以像前述非参数方法那样动画化。与我们的工作最相关的是ARCH [26],其中重建的穿着衣服的人类已经准备好动画,因为像素对齐的隐式函数在未装箱的规范空间中建模。然而,这样的框架从根本上导致了次优的重建质量。通过解决隐式函数的手工空间编码、原始设定空间中缺乏监管以及遮挡区域保真度有限的问题,我们实现了准确性和照片真实性的显著提高。
Proposed Methods
我们提出的ARCH++框架使用从粗到精的方案,即通过学习连接空间隐式曲面函数(见图2)进行初始重建,然后在两个空间中进行网格细化(见图3)。 初始关节空间隐式曲面重建概述。该过程包括三个部分:I)语义感知几何编码器,ii)像素对齐外观编码器和iii)联合空间占用估计器。
Joint-Space Implicit Surface Reconstruction
语义感知几何编码器。查询点的空间特征表示对于深度隐式函数至关重要。虽然通过堆栈沙漏网络[47]的像素对齐外观特征已经通过先前的工作[55,56,26,23]证明了其在详细的有衣人体重建中的有效性,但是逐点空间编码的有效设计还没有得到很好的研究。提取的几何特征应该被告知潜在的三维人体的语义,这提供了强有力的先验知识来规范整个穿着的人的形状。
以前使用的空间编码方法包括手工制作的特征(例如,径向基函数( Radial Basis Function, RBF)[26])和潜在体素特征[13,23,74]。前者是基于查询点和身体关节之间的欧几里德距离构建的,忽略形状。基于体素的特征捕捉参数化身体网格的形状和姿态先验。与手工制作的特征相比,端到端学习的体素特征更好地了解底层身体结构,但通常受到图形处理器内存大小的限制,并且由于空间分辨率低而遭受量化误差。为了在不损失精度的情况下有效地编码形状和姿态先验,我们提出了一种新的语义感知几何编码器,它提取点状空间编码。本质上,一个参数化的身体网格可以被采样成一个点云,并被输入PointNet++ [52,53]来学习基于点的空间特征,这比手工制作的径向基函数特征和基于体素的特征都有几个优点。我们的方法编码参数形状的形状和姿态先验,没有计算开销和网格体素化过程引起的量化误差。在[17]中报告了代表3D形状的点v.s .体素的附加详细统计比较。
给定由[67,26]估计和变形的参数化身体网格,我们使用基于PointNet++ [52,53]的语义感知几何编码器来学习底层的3D人体先验。我们从身体网格表面采样N0(e.g., 7324)点,并将它们馈送到几何编码器用于空间特征学习,也就是说,
f
p
n
:
{
x
0
i
}
i
=
1
N
0
?
{
x
1
j
,
h
1
j
}
j
=
1
N
1
,
{
x
2
k
,
h
2
k
}
k
=
1
N
2
,
{
x
3
l
,
h
3
l
}
l
=
1
N
3
,
(
1
)
\small \begin {aligned} f_{pn}:\{x_0^i\}_{i=1}^{N_0} \mapsto \{x_1^j,h_1^j\}_{j=1}^{N_1},\{x_2^k,h_2^k\}_{k=1}^{N_2},\{x_3^l,h_3^l\}_{l=1}^{N_3}, \end {aligned} (1)
fpn?:{x0i?}i=1N0???{x1j?,h1j?}j=1N1??,{x2k?,h2k?}k=1N2??,{x3l?,h3l?}l=1N3??,?(1) 其中x_0i_是从参数体网格采样的点。基于PointNet++的编码器利用完全连接的层和邻域最大池来提取点的语义感知几何特征h∈R32。它还应用最远点采样对N1= 2048、N2= 512、N3 = 128的点进行渐进下采样,以提取感受野不断增加的潜在特征。例如{ xj 1 }是大小为N1的下采样点集,hj1∈R32是每个点的学习特征。
如图2所示,对于规范空间中的任何查询点pa∈R3,我们通过基于逆L2范数核的特征插值获得它的点态空间编码fg∈R96,然后是查询坐标连接的多层感知器(MLP)。特别地,我们从不同的点集密度-j,k,l中提取这些特征来构造级联特征fg= (fjg⊕fkg⊕flg),这些级联特征被告知多尺度结构。例如,fjg∈R32定义为:
f
g
j
(
p
a
,
{
x
1
j
,
h
1
j
}
)
=
MLP
(
p
a
⊕
∑
m
∥
p
a
?
x
1
m
∥
?
2
S
(
p
a
,
{
x
1
j
,
h
1
j
}
)
h
1
m
)
,
S
(
p
a
,
{
x
1
j
,
h
1
j
}
)
=
∑
m
∥
p
a
?
x
1
m
∥
?
2
,
(
2
)
\small \begin {aligned} f_g^j(p_a, \{x_1^j,h_1^j\}) &= \text {MLP}(p_a \oplus \sum _{m} \frac {\left \| p_a - x_1^m \right \|^{-2}}{S(p_a, \{x_1^j,h_1^j\})}h_1^m),\\ S(p_a, \{x_1^j,h_1^j\}) &= \sum _{m} \left \| p_a - x_1^m \right \|^{-2}, \end {aligned} (2)
fgj?(pa?,{x1j?,h1j?})S(pa?,{x1j?,h1j?})?=MLP(pa?⊕m∑?S(pa?,{x1j?,h1j?})∥pa??x1m?∥?2?h1m?),=m∑?∥pa??x1m?∥?2,?(2) 其中通过在查询点的点集{ xj 1}中找到K个最近的邻居来确定索引。根据经验,我们发现设置k=3可以获得相当好的性能。分别利用 {xk2,hk2}和{xl3,hl3}类似地获得在其他点设置密度fkg、flg∈R32提取的特征。
像素对齐外观编码器。我们采用与[55,56,26,23]相同的架构设计,通过加权为μ的堆叠沙漏网络[47],将输入图像I∈R512×512×3映射到潜在特征映射ψ(I)∈R128×128×256。为了获得任意查询点pb∈R3在姿态空间中的外观编码a∈R256,我们基于弱透视投影的摄像机模型将其投影回图像平面,并对潜在图像特征进行双线性插值:
f
a
(
p
b
,
I
)
=
B
(
ψ
μ
(
I
)
,
π
(
p
b
)
)
,
(
3
)
\small \begin {aligned} f_a(p_b,I) = \mathcal {B}(\psi _{\mu }(I), \pi (p_b)), \end {aligned} (3)
fa?(pb?,I)=B(ψμ?(I),π(pb?)),?(3) 其中B(·)表示可微双线性采样操作,π(·)表示从查询点pb到 I 的像平面的弱透视相机投影。
联合空间占用估计器。虽然大多数非参数和混合方法使用设定的空间作为学习和推理的目标空间,但是ARCH在规范空间中直接重建穿衣服的人体网格,其中人体处于标准化的A形姿势。目标空间的不同选择各有利弊。设定的空间自然地与输入像素证据对齐,因此重建利用直接的图像特征对应具有高数据保真度。因此,许多工作选择在其原始设定的空间中重建有衣人体网格(例如,PIFu(HD)[55,56],Geo-PIFu [23],PaMIR [74])。然而,在许多情况下,人可以展示复杂的自我交叉姿势(例如,双手放在口袋里,交叉手臂),导致难以表达的“粘合”网状结构。与此同时,规范的姿态重建为我们提供了一个动画就绪的装配网格(通过其注册的A形参数网格[26])。使用规范空间作为目标空间的问题是,当我们将网格扭曲到其设定的空间中时,可能会出现像相交表面和扭曲身体部分这样的伪影(见图6)。因此,扭曲得到的规范拓扑空间网格的重建保真度将退化。为了保持输入图像的保真度和重建表面的完整性,我们建议学习联合空间占有率分布。
我们使用关节空间定义的占据图O来隐式地表示原始设定空间和操纵的规范空间下的3D服装人类:
O
=
{
(
p
a
,
p
b
,
o
a
,
o
b
)
:
??
p
a
,
p
b
∈
R
3
,
?
?
1
≤
o
a
,
o
b
≤
1
}
,
(
4
)
\small O = \{ (p_a, p_b, o_a, o_b):\; p_a,p_b \in \mathbb {R}^3,\ -1 \leq o_a, o_b \leq 1\}, (4)
O={(pa?,pb?,oa?,ob?):pa?,pb?∈R3,??1≤oa?,ob?≤1},(4) 其中θ,β是基于MLP的深度隐式曲面函数的网络权重。为了从两个空间中密集的占用率估计中重建化身,我们使用Marching Cube[41]分别在oa= τ 和ob=τ (即,τ=0)处提取等值面。
根据设定的空间查询点Pb及其对应的规范空间点Pa是否在穿着的人体网格内,由地面真实关节空间占有率O_?_a,O_?_b来监督网络输出Oa,Ob。虽然pa,pb是一对映射点,但它们的地面实况占用值在所有情况下都不相同。例如,如果姿势空间中的原始网格具有自接触(例如,手在口袋中),则参数化实体手部外部和附近的点可能具有o?b>0和o?a<0。即,SemDF定义了两个空间之间的密集对应映射,但它们的占有率值不必相同。因此,天真地学习一个空间中的分布,然后将重建扭曲到另一个姿势可能会导致网格伪影(参见图6)。这促使我们对两个空间占有率分布进行联合建模,以保持规范空间网格的完备性和位姿空间重构的保真度。
网格细化步骤概述。我们的方法利用估计的法线和纹理,从图2中细化最初估计的关节空间网格。
Mesh Refinement
我们通过添加几何曲面细节和照片级真实感纹理来进一步细化关节空间中的重构网格。如图3所示,我们提出了一种模塑修复方案,该方案利用在图像空间中估计的正面和背面法线和纹理。这是基于这样的观察,即使用深度隐式函数(如[26])直接学习和推断密集的法线/色场通常会导致过度平滑的模糊图案和块伪影(参见图5)。相比之下,法线和纹理贴图的图像空间估计会产生精细细节的清晰结果,并且对人体姿势和形状的变化具有很强的鲁棒性。这些好处来自设计良好的2D卷积深度网络(例如,Pix2Pix[27,63])和高级(对抗性)图像生成训练方案,如GAN,但有感知损失。图像空间估计的法线(和纹理)贴图可以两种不同的方式使用。它们既可以作为单视图图像的附加通道直接输入到堆栈沙漏中,也可以用作基于造型的正面和背面网格细化采样源。在实验中,我们对这两种方案进行了烧蚀研究(即早期的直接输入和后期的表面细化),并证明了我们的基于模塑的细化在保持不同视图的精细表面细节方面更好(见图8)。
姿态空间。对于Marching Cube在原始姿态空间中获得的服装人体网格,我们进行可见性跟踪,以确定顶点V∈R3是否应该投影到正面或背面,以便对法线/纹理贴图进行双线性采样。本质上,这是一个基于造型的网格优化过程,用于表面细节和纹理增强。我们首先进行正常的细化。 请注意,对于其未细化法线n∈R3与输入图像平面接近平行(即在ε度内)的顶点,我们将其投影到正面和背面法线贴图Ifn,Inb∈R512×512×3。然后,我们可以通过线性混合融合来计算精化的曲面法线n‘∈R3:
n
′
=
χ
(
1
?
α
′
)
?
B
(
I
n
f
,
π
(
V
)
)
+
χ
(
α
′
)
?
B
(
I
n
b
,
π
(
V
)
)
,
α
′
=
(
9
0
°
+
ε
?
α
)
/
(
2
ε
)
,
(
6
)
\small \begin {aligned} \mathbf {n}' &= \chi (1-\alpha ')\,\mathcal {B}(I_{n}^f,\pi (V)) + \chi (\alpha ')\,\mathcal {B}(I_{n}^b,\pi (V)),\\ \alpha ' &= (90^{\circ } + \varepsilon - \alpha )/(2\varepsilon ),\\ \end {aligned} (6)
n′α′?=χ(1?α′)B(Inf?,π(V))+χ(α′)B(Inb?,π(V)),=(90°+ε?α)/(2ε),?(6) 其中α是未细化法线和前向摄影机光线投射之间的角度,α’是α的规格化值。同样,B(·)表示双线性采样操作。指示函数χ(·)确定从正面和背面采样的法线的混合权重:
χ
(
α
′
)
=
min
?
(
max
?
(
α
′
,
?
0
)
,
?
1
)
(
7
)
\small \chi ({\alpha }') = \min (\max ({\alpha }',\, 0),\, 1) (7)
χ(α′)=min(max(α′,0),1)(7) 这种简单而有效的融合方案创建了一个具有可以忽略的混合边界伪影的归一化细化网格。有了精化的曲面法线,我们可以进一步应用泊松曲面重构[33]来更新网格拓扑,但在实践中我们发现这是不必要的,因为造型精化的化身已经可以满足各种AR/VR和新视图渲染应用。DeepHuman[75]中也使用了这种凹凸渲染的想法,但他们只使用前视图来优化网格。我们进一步以类似的方式进行纹理细化,但使用细化的法线来帮助确定边界顶点的线性混合权重。我们基于造型的正面/背面法线和纹理优化方法生成衣物人体网格,这些网格在不同的视点下看起来像照片一样逼真,具有全身表面细节(例如,衣服皱纹、头发)。
规范空间。重建的规范空间化身被操纵,因此可以扭曲回其姿势空间,然后通过上述相同的管道进行精炼。然而,规范化身优化的一个独特挑战是,此空间中的网格重建可能会在姿态空间下包含不可见的曲面。例如,在图5的第三行中,折叠的手臂在姿势空间中与胸部接触,但在规范空间中展开。因此,我们没有标准网格胸部区域的直接法线/纹理对应。为了解决这个问题,我们用不完整的法线和纹理绘制标准网格的正面和背面图像,并将其视为修复任务。这个问题已经使用深度神经网络[70,71]和基于补丁匹配的方法[7,6,24]进行了很好的研究。我们使用PatchMatch[6]作为它的健壮性。如图5的最后两列所示,与直接回归逐点法线和纹理相比,我们基于修复的结果获得了更清晰的细节和更少的伪像。
总结
这篇论文关于人体重建的最后结果很不错,但是最棒的的还是重建的结果能够直接动画驱动,能够将人体重建的结果应用于实践当中。
复的结果获得了更清晰的细节和更少的伪像。
总结
这篇论文关于人体重建的最后结果很不错,但是最棒的的还是重建的结果能够直接动画驱动,能够将人体重建的结果应用于实践当中。
|