CVPR2023|清华提出首个一阶段3D全身人体网格重建算法

作者丨披星戴月的奔波@知乎

编辑丨极市平台

三维全身人体网格重建(3D Whole-Body Mesh Recovery)是三维人体重建领域的一个基础任务,是人类行为建模的一个重要环节,用于从单目图像中捕获出准确的全身人体姿态和形状,在人体重建、人机交互等许多下游任务中有着广泛的应用。来自粤港澳大湾区研究院(IDEA)与清华大学深研院的研究者们提出了首个用于全身人体网格重建的一阶段算法OSX,通过模块感知的Transformer网络,高效、准确地重建出全身人体网格,并提出了一个大规模、关注真是应用场景的上半身人体重建数据集UBody. 本文提出的算法从投稿至今(2022.11~2023.04),是AGORA榜单SMPL-X赛道的第一名。该工作已经被计算机视觉顶会CVPR2023接收,算法代码和预训练模型已经全部开源。

文章:https://arxiv.org/abs/2303.16160

代码:https://github.com/IDEA-Research/OSX

项目主页:https://osx-ubody.github.io/

单位:IDEA,清华大学深研院

1. 简介

三维全身人体网格重建(3D Whole-Body Mesh Recovery)是人类行为建模的一个重要环节,用于从单目图像中估计出人体姿态(Body Pose), 手势(Hand Gesture)和脸部表情(Facial Expressions),该任务在许多下游现实场景中有着广泛的应用,例如动作捕捉、人机交互等。得益于SMPLX等参数化模型的发展,全身人体网格重建精度得到了提升,该任务也得到越来越多的关注。

相比于身体姿态估计(Body-Only Mesh Recovery),全身人体网格重建需要额外估计手和脸部的参数,而手和脸部的分辨率往往较小,导致难以通过一个一阶段的网络,将全身参数估计出来。之前的方法大多采用多阶段的复制-粘贴(Copy-Paste)框架,提前检测出手和脸的包围框(Bounding Box),将其裁剪出来并放大,输入三个独立的网络,分别估计出身体(Body), 手(Hand), 和脸(Face)的参数,再进行融合。这种多阶段的做法可以解决手和脸分辨率过小的问题,然而,由于三部分的参数估计相对独立,容易导致最后的结果以及三部分之间的连接不够自然和真实,同时也会增加模型的复杂度。为了解决以上问题,我们提出了首个一阶段的算法OSX,我们使用一个模块感知的Transformer模型,同时估计出人体姿态, 手势和脸部表情。该算法在较小计算量和运行时间的情况下,在3个公开数据集(AGORA, EHF, 3DPW)上,超过了现有的全身人体网格重建算法.

我们注意到,目前的全身人体网格重建数据集,大部分是在实验室环境或者仿真环境下采集的,而这些数据集与现实场景有着较大的分布差异。这就容易导致训练出来的模型在应用于现实场景时,重建效果不佳。此外,现实中的许多场景,如直播、手语等,人往往只有上半身出现在画面中,而目前的数据集全部都是全身人体,手和脸的分辨率往往较低。为了弥补这方面数据集的缺陷,我们提出了一个大规模的上半身数据集UBody,该数据集涵盖了15个真实场景,包括100万帧图片和对应的全身关键点(2D Whole-Body Keypoint), 人体包围框(Person BBox)、人手包围框(Hand BBox)以及SMPLX标签。下图是UBody的部分数据可视化。

3b20cb03f06d77a8e3345b47c65e2151.gif

图1 UBody数据集展示

本工作的贡献点可以概括为:

  • 我们提出了首个一阶段的全身人体网格重建算法OSX,能够用一个简单、高效的方式,估计出SMPLX参数。

  • 我们的算法OSX在三个公开数据集上,超过了现有的全身人体网格重建算法。

  • 我们提出了一个大规模的上半身数据集UBody,用以促进全身人体网格重建这个基础任务在现实场景中的应用。

2. 一阶段重建算法介绍

2.1 OSX整体框架

如下图所示,我们提出了一个模块感知(Component-Aware)的Transoformer模型,来同时估计全身人体参数,再将其输入SMPLX模型,得到全身人体网格。我们注意到,身体姿态(Body Pose)估计需要利用到全局的人体依赖信息,而手势(Hand Gesture)和脸部表情(Facial Expression)则更多的聚焦于局部的区域特征。因而,我们设计了一个全局编码器和一个局部解码器,编码器借助于全局自注意力机制(Global Self-attention),捕获人体的全身依赖关系,估计出身体姿态和形状(Body Pose and Shape),解码器则对特征图进行上采样,使用关键点引导的交叉注意力机制(Cross-Attention),用以估计手和脸部的参数。

551722244faa812110dd949462d3a79c.jpeg
图2 OSX网络结构示意图

2.2 全局编码器

在全局编码器中, 人体图片首先被切为多个互不重叠的块, 这些块通过一个卷积层, 加上位置编码, 转换为特征令牌(Feature Token) , 接着, 我们再将其与若干个由可学习参数构成的人体令牌(Body Token) 进行连接, 输入全局编码器。全局编码器由多个Transformer块组成, 每个块包含一个多头自注意力、一个前馈网络和两个层归一化模块(Layer Normization). 经过这些块之后, 人体各个部分之间的信息得到了交互, body token 捕捉了人体的全身依赖关系, 输入全连接层, 回归出人体姿态和形状. Feature token则进行重组(Reshape), 转换为特征图, 供解码器使用。

2.3 高分辨率局部解码器

在解码器中,我们首先对特征图进行上采样,以解决手和脸分辨率过低的问题。具体的,我们使用一个可微分的感兴趣区域对齐(Region of Interest Alignment)操作,将手和脸部的特征图进行上采样,因而获得多尺度的手、脸高分辨率特征 。接着,我们定义多个模块令牌(Component Token) Tc\mathbf{T_c}\mathbf{T_c} ,每一个token代表一个关键点,将这些token输入解码器,通过关键点引导的交叉注意力机制,从高分辨率特征中捕获有用的信息,更新Component Token:

db7272e361d1b822c2ea66a3f923aece.png

最终,这些模块token通过全连接层,转换为手势和脸部表情,并于身体姿态和形状一起,输入SMPLX模型,转换为人体网格。

3. 上半身数据集UBody介绍

3.1 数据集亮点

为了缩小全身人体网格重建这一基础任务与下游任务的差异,我们从15个现实场景,包括音乐演奏、脱口秀、手语、魔术表演等,收集了超过100万的图片,对其进行标注。这些场景与现有的数据集AGORA相比,由于只包含上半身,因而手和脸的分辨率更大,具有更加丰富的手部动作和人脸表情。同时,这些场景含有非常多样的遮挡、交互、切镜、背景和光照变化,因而更加具有挑战性,更加符合现实场景。此外,UBody是视频的形式,每个视频都包含了音频(Audio),因而未来也可以应用于多模态等任务。

b37689b4b3e5623d763a5df71360eee8.jpeg
图3 UBody 15个场景展示

3.2 IDEA自研高精度全身动捕标注框架

为了标注这些大规模的数据,我们提出了一个自动化标注方案,如下图所示,我们首先训练一个基于ViT的关键点估计网络,估计出高精度的全身人体关键点。接着,我们使用一个多阶段渐进拟合技术(Progreesive Fitting),将OSX输出的人体网格转换为三维关键点(3D Keypoints),并投影到图像平面,与估计的二维关键点(2D Keypoints)计算损失,用以优化OSX网络参数,直至估计出来的网格与2D关键点能够高度贴合。

0d13481f01a4e55f7f76bac6ddf6a3be.jpeg
图4 全身动捕标注框架图

以下是UBody数据集的15个场景及其标注结果的展示:

110504d8d2f80419e78ccbb54a7cd83f.gif
SignLanguage
55e4f98e4e1ec17a501ca6f70e8ae723.gif
Singing
d8a67b395c2b8948a6af132d38a13223.gif
OnlineClass
320d8daae80d617fc59266215ccd60ef.gif
Olympic
45dcd67e72600a4a036b06ad35cad736.gif
Entertainment
e7f63508ff92592bfe7df84ff00bdf9b.gif
Fitness
1bf8619c8505b63280c71a71d4043a6c.gif
LiveVlog
b9a345e5c702cf04ed2e47ace9f56943.gif
Conference
e47fe24b8a1e91501589df02b008ed61.gif
TVShow
74906465d91f477d90231e5227e86fd4.gif
ConductMusic
3634dafd7e849dfe3f1c7a90e4de12f8.gif
Speech
a495a5d6507676ce9dd3156be62a40dc.gif
TalkShow
f28df5bdea5c2ec7da0cb3e5f56af406.gif
MagicShow

4. 实验结果

4.1 定量实验对比

OSX从投稿至今(2022.11~2023.04),是AGORA榜单上SMPLX赛道的榜首,在AGORA-test(https://agora-evaluation.is.tuebingen.mpg.de/)上的定量对比结果如下表所示:

6fad7b6f71deba2b248d880e4f606a1a.jpeg
表1 OSX与SOTA算法在AGORA-test上的定量结果

在AGORA-val上的定量对比结果如下表所示:

5dedf8392cb4d2bb7966debfb57025a4.jpeg
表2 OSX与SOTA算法在AGORA-val上的定量结果

在EHF和3DPW的定量结果如下:

f589008e6e7f3dd9e8c9f4d047b2fbf0.jpeg
表3 OSX与SOTA算法在EHF及3DPW上的定量结果

可以看出,OSX由于使用了模块感知的Transformer网络,能够同时保证全局依赖关系的建模和局部特征的捕获,在现有数据集,特别是AGORA这一较为困难的数据集上,显著超过了之前的方法。

4.2 定性实验对比

在AGORA上的定性对比结果如图所示:

5aa9203dc15bd9cc67e8652db9ba6b77.gif从左到右依次为:输入图, ExPose, Hand4Whole, OSX(Ours)

在EHF上的定性对比结果如图所示:

abab0b73dcdb28942be4f53a5d80f20f.gif从左到右依次为:输入图, ExPose, Hand4Whole, OSX(Ours)

在UBody数据集上的对比结果如图所示:

18cea3a69f6786126ea776caf685dfef.gif 从左到右依次为:输入图, ExPose, Hand4Whole, OSX(Ours)

可以看出,我们的算法OSX能够估计出更加准确的身体姿势,手部动作和脸部表情,重建出来的人体网格更加准确,与原图贴合的更好,更加鲁棒。

5. 总结

OSX是首个一阶段全身人体网格重建的算法,通过一个模块感知的Transformer模型,同时估计了body pose, hand pose和facial experssion,在三个公开榜单上取得了目前最好whole-body mesh recovery最好的结果。此外,我们提出了一个大规模的上半身场景数据集UBody,用以促进人体网格重建任务在下游场景中的应用。我们的代码已经进行了开源,希望能够推动该领域的发展。

推荐阅读

欢迎大家加入DLer-计算机视觉技术交流群!

大家好,群里会第一时间发布计算机视觉方向的前沿论文解读和交流分享,主要方向有:图像分类、Transformer、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

3a365cba7f0b23b4edf68e081c9443a3.jpeg

👆 长按识别,邀请您进群!

eab8b856a63dca12e359120dc8f9bf25.gif

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值