文章目录
论文: 《ICON : Implicit Clothed humans Obtained from Normals》
github: https://github.com/yuliangxiu/icon
创新点
现有方法需要3D扫描或者具有精心控制的2D图像进行3D重建,作者提出ICON,可通过不受约束的2D图像建模,结合所有建模结果生成动画;
现有方法对各种姿势人体3D建模不够鲁棒,由于使用全局特征进行编码,对全局姿势比较敏感;为解决这个问题,ICON使用局部特征。
在AGORA和CAPE数据集上,即使训练数据有限,ICON获得SOTA,而且在非同分步数据集上也比较鲁棒。
算法
mesh-based方法具有很好的正则化,而深层隐式函数具有更强的表现力;ICON将两者结合。ICON输入穿衣的人体RGB图及SMPL人体估计,输出穿衣的像素级3D重构结果;
ICON结构如图3,主要包括两个模块:Body-guided normal预测、基于局部特征隐式三维重建。
Body-guided normal prediction
Body-guided normal预测流程:
1、使用PyMAF从图像
I
I
I估计SMPL mesh,
M
(
β
,
θ
)
∈
R
N
×
3
M(\beta,\theta)\in R^{N\times 3}
M(β,θ)∈RN×3;
2、使用PyTorch3D中可微渲染器DR,从前后两面渲染M得到SMPL-body normal
N
b
=
{
N
f
r
o
n
t
b
,
N
b
a
c
k
b
}
N^b=\{N^b_{front}, N^b_{back}\}
Nb={Nfrontb,Nbackb},如式1;
3、将
N
b
N^b
Nb与原图
I
I
I concat后,通过网络
G
N
=
{
G
f
r
o
n
t
N
,
G
b
a
c
k
N
}
G^N=\{G^N_{front}, G^N_{back}\}
GN={GfrontN,GbackN}得到预测clothed-body normal maps,
N
^
c
=
{
N
^
f
r
o
n
t
c
,
N
^
b
a
c
k
c
}
\hat N^c=\{\hat N^c_{front}, \hat N^c_{back}\}
N^c={N^frontc,N^backc},如式2;
4、训练
G
N
G^N
GN的损失函数如式3,
其中,
L
p
i
x
e
l
=
∣
N
v
c
−
N
^
v
c
∣
,
v
=
{
f
r
o
n
t
,
b
a
c
k
}
,
L
V
G
G
L_{pixel}=|N^c_v - \hat N^c_v|,v=\{front,back\},L_{VGG}
Lpixel=∣Nvc−N^vc∣,v={front,back},LVGG为感知损失,有助于恢复细节。
精细化SMPL
准确的SMPL body有助于生成质量更佳的clothed-body normals,但是实际中不会生成像素级对齐的SMPL fit;因此,在推理时,SMPL fit依靠SMPL-body normal maps
N
b
N^b
Nb和预测的clothed-body normal maps
N
c
N^c
Nc之间的差异进行优化,如图4;
SMPL的参数优化损失函数如式4、5
其中,
L
N
_
d
i
f
f
L_{N_{\_diff}}
LN_diff为normal map的L1损失,
L
S
_
d
i
f
f
L_{S_{\_diff}}
LS_diff为SMPL body normal-map轮廓
S
b
S^b
Sb与人体mask
S
^
c
\hat S^c
S^c之间L1损失。
ICON在推理时,交替进行a.使用预测的clothed-body normal
N
^
c
\hat N^c
N^c优化SMPL mesh;b.使用精细化SMPL mesh预测
N
^
c
\hat N^c
N^c;
Local-feature based implicit 3D reconstruction
给定预测的clothed-body normal maps
N
^
c
\hat N^c
N^c及SMPL-body mesh
M
M
M,基于局部特征
F
P
F_P
FP回归3D surface,
F
P
F_P
FP如式6,
其中,
F
s
F_s
Fs为point P到最近body point
P
b
∈
M
P^b\in M
Pb∈M的有符号距离;
F
n
b
F^b_n
Fnb为
P
b
P^b
Pb的barycentric surface normal;
F
n
c
F^c_n
Fnc为从
N
^
c
=
{
N
^
f
r
o
n
t
c
,
N
^
b
a
c
k
c
}
\hat N^c=\{\hat N^c_{front}, \hat N^c_{back}\}
N^c={N^frontc,N^backc}提取的normal向量;
F
P
F_P
FP经过隐函数
I
F
(
M
L
P
网
络
)
IF(MLP网络)
IF(MLP网络),估计点P的occupancy
o
^
(
P
)
\hat o(P)
o^(P),通过MSE损失训练
I
F
IF
IF;
实验
评估方式
作者使用三种评估方式:
Chamfer距离: 计算真值scan与重构mesh之间距离;这种评该评估方法捕获了较大的几何差异,但遗漏了较小的几何细节。
P2S距离: CAPE数据集scan包含大的空洞,为了排除孔洞影响,我们记录scan点到最近重构表面点之间距离,为Chamfer距离的单向版本;
Normal difference: 表示使用重构的及真值surface分别进行渲染normal图片,计算两者之间L2距离,用于捕获高频几何细节误差。
实验结果
实验结果如表2,
实验结果表明:
1、如表2-A,ICON超过所有原始SOTA方法,ICON泛化性强,;
2、如表2-B,没有SMPL-X-body引导,误差变大,使用body引导,可有效改善遮挡部位重建,如图5.
3、表2-C,作者评估局部特征
F
P
F_P
FP的重要性,作者将局部特征
F
P
F_P
FP替换为使用2D卷积提取全局特征,应用于image及clothed-body normal map及仅应用于clothed-body normal maps,结果表明在非同分布数据集CAPE-NFP上,重建表现比较差。
如图6,作者对不同方法使用不同量级数据进行训练,结果表明,ICON始终优于其他方法,同时仅使用少量数据即可达到SOTA性能,作何归因于使用局部特征,使得泛化性增强.
4、表2-D,SMPL-X从图像估计结果可能无法于图中身体像素点完全对齐。ICON需要对SMPL-X shape及pose不同噪声级别都比较鲁棒,ICON+BR使用噪声性能与PaMIR*使用真值性能相当。
应用
动画生成。
作者将视频帧进行3D重建,重建结果输入SCANimate,得到动画输出,如图8b。
结论
作者提出的ICON可以从图片鲁棒地生成3D clothed-body person,其准确性和真实性超越了现有方法。这有两个关键:
1、使用3D body model,同时迭代优化body model;
2、使用局部特征消除与全局姿态相关性;
问题:
如图7,对于宽松衣服重建效果不佳,因为body是在正交视角下训练的,无法产生透视效果,因此产生不对称的四肢或解剖学上不可能的形状。