通往实体数字人:人物-场景交互动作生成
通往实体数字人:人物-场景交互动作生成
北京大学人工智能研究院朱毅鑫助理教授团队与北京通用人工智能研究院黄思远研究员团队在CVPR 2024会议上发表的论文《Scaling Up Dynamic Human-Scene Interaction Modeling》聚焦于人与场景交互的动作生成问题,在建模、方法和训练数据方面均有创新贡献。研究团队提出了使用自回归条件扩散模型的动作生成框架,实现了丰富、真实且无长度限制的人体动作生成。同时,研究团队发布了目前最大的人物-场景交互数据集TRUMANS,包含详尽的针对人物动作以及三维场景的标注信息。
概述
人们在日常活动中可以轻松完成坐在椅子上、拿起瓶子或打开抽屉等动作。如今,仿真人类肢体动作已成为计算机视觉、计算机图形学、机器人技术和人机交互等领域的一项重要任务。生成人体动作的核心目标在于创造自然、逼真且多样化的动态模式,这在影视、游戏、增强现实与虚拟现实等多个领域都有广泛应用。深度学习技术的兴起使人体动作生成方法得到飞速发展。人体建模技术的重大突破也使从视频中捕获人体动作以及构建庞大的人体动作数据库变得更为便捷。基于这些进展,近年来以数据为驱动的人体动作生成技术越来越受到研究界的重视。
目前,在给定物体、场景、动作类别等条件下生成人物动作的研究仍处于起步阶段,这主要由于缺乏高质量人体动作与场景交互数据集。现有的真实场景数据集,例如PiGraphs和PROX,在人体动作标注质量方面仍有不足。尽管通过VICON等设备录制的动作捕捉数据集能够带来高质量的动作标注,但这些数据集缺乏多样化的3D场景中人与场景的交互。最近,使用虚拟仿真技术的合成数据集因其低成本和高适应性而引起研究者们的关注。
本工作发布了一个全新的人物-场景交互数据集TRUMANS,有效且精确地将3D 合成场景复制到兼具质量与规模的物理环境中。该数据集包括15小时的长期人体运动数据,覆盖了卧室、餐厅和办公室等100个场景配置。TRUMANS涵盖了包括寻路、物体操作、及与刚性和铰接物体的交互等全面的日常行为。尽管场景是合成的,但作者确保了人与物体之间的交互能够无缝、自然且精确地重现。
同时,本文研究了一种方法,能够在特定场景和动作类型的条件下生成真实的人物动作。为此,作者设计了一个局部场景感知器,可以识别周围环境特征并生成符合可供性的交互动作作为响应。这个方法在3D环境中的避障能力方面表现出色——通过动作信息编码器,将时间信息融入到动作片段中,使模型可以随时接收指令并生成相应的动作,达到了将逐帧的动作标签作为可控条件纳入。整个研究采用了自回归扩散模型技术,实现任意长度连续动作的生成。
图 2. TRUMANS数据集来源于精细的动作捕捉和真实的渲染,可对场景做多样的替换
研究方法
基于动作生成的研究目标和方法包含三个部分。首先介绍自回归扩散模型的动作生成框架,接着是每一个循环节内的扩散模型运作方式,最后介绍将场景信息和动作类别信息作为条件融入模型的方法。
2.1 自回归扩散模型
本研究的主要目标是生成可控的、任意长度的自然且具多样性的人体动作。为此,本文提出了一种自回归扩散策略,通过一个个循环节首尾相连的方式逐步生成长动作序列。每个循环节通过扩展前一个循环节的末尾几帧,使下一个片段能够自然地与其衔接。过渡帧上的固定数据用掩码标记,训练的过程通过填充未被掩码的帧来补全每个片段的其余部分。由于使用了classifier-free的训练机制,该框架也能用于首个循环节的生成。
以如下坐在沙发上的场景为例,为了在角色导航与细粒度交互中提供精确的关节控制,本方法为每个循环节划分子目标。每个子目标描述了当前循环节结束时人物骨盆的预设位置。模型根据子目标位置的场景配置学习合适的骨盆高度。例如,当子目标位于椅子上时,需要让角色坐下。手部的精细交互也使用相同的技术,例如抓取瓶子或推门,通过将子目标设置在3D空间的期望位置,并将手部关节位置设为子目标,同时将关节上的噪声归零。后续的精细接触通过优化手与物体的相对位置的方式实现。
图 5. 多样的,且符合场景约束的生成结果
2.2 场景感知机制
本地场景感知器用于获取本地场景几何信息,并将其作为运动生成的条件。具体来说,给定一个场景,首先生成一个全局占用网格,每个单元格被分配一个布尔值表示其是否可达,1表示可达,0表示不可达。本地占用网格是以当前循环节的子目标为中心的三维网格,垂直范围内从0米到1.8米,方向与第一帧中角色骨盆的偏航方向对齐。本地占用网格的值通过查询全局占用网格获取。
本方法使用Vision Transformer (ViT)对体素网格进行编码。通过沿xy平面划分本地占用网格,将 z轴视为特征通道来构建 Token,并将这些 Token输入到ViT模型中,使用输出的场景嵌入作为扩散模型的条件。虽然将场景离散化为网格降低了人与场景交互的精确度,但这对提高训练效率和方法的实用性是非常有必要的。因为如果直接从场景CAD模型中计算本地占用网格,会显著增加训练持续时间。例如,使用Kaolin中的checksign函数会使训练速度减慢大约300倍。
图 6. 动态物体参与人物动作生成
2.3 动作信息编码
与之前那种基于单一动作描述生成完整动作序列的方法不同,本研究的方法在生成长期动作时逐帧使用动作标签作为条件。在这个模型中,一个特定动作可能会超过一个循环节,并在多个循环节中继续。因此模型需要理解动作执行的进程。
为了解决这个问题,本研究引入了一个进度标识符,用于支持逐帧的动作类别标签。具体来说,就是在原始动作标签上添加一个0到1之间的实数,表示当前循环节在整个动作中的进度。这样,模型就能够处理跨多个循环节的动作,增强生成动作序列的语义性和连续性。
研究背后的故事
这个工作和你的上一个工作(关于人和椅子的全身交互三维重建)有什么联系和区别吗?
上个工作是关注和单个物体的交互——人怎么坐一把椅子;而这次的研究就像上次采访结尾时说的,努力把视野扩大到整个室内场景——关注一个人在整个室内的各种活动,包括与椅子、桌子,以及其他物体的交互,最终目标是提出通用的人与场景交互过程的建模。
上次的工作有没有为你这次的工作奠定一些基础?
上次工作让我对人体动作训练所需要的一些数据和底层技术有了更深刻的理解,比如多少数据能达到什么样的效果、什么样的方法适合什么样的问题等等,把这些经验用在这次的工作上就可以少走很多弯路。比如我们已经明确了要做的交互类型,就可以直接从针对目标任务的方法上进行切入,工作效率就高了很多。
我记得你上次买了八十多把椅子,工作量很大,这次的工作量如何?
我们这次就不需要买那么多椅子了,而是用一个物体来代替一整类交互方式相似的物体。例如用一把椅子代替所有能坐的家具,在这把椅子上绑上位置追踪器,能实时把它的姿态传输到电脑里,所以录数据花的体力劳动是之前的1%都不到。
在进行这项研究的过程中,最大的困难和挑战是什么?你是如何面对的?
首先是场地问题,场地问题和本身的研究方法没有太大关系,但是收集人体动作的数据的时候,如果做动作捕捉的话,不可避免地要用到专业设备。我们摆放物体、复现论文里用到的虚拟场景还是有比较大工作量的。
而且这也是一个硬件和软件结合的工作,有时候出现了问题,得先看是硬件问题还是软件的问题。所以我需要一步一步纠错,把觉得需要靠后解决的问题先不考虑,看到哪步的时候这个错误复现了,那么问题就出现在这个地方,然后再深究。这样的话就能找到问题到底在哪。
在进行这项研究的过程中有什么印象深刻的事或者心得可以分享吗?
当时AIGC正火起来的时候,我想做一个人体动作的AIGC模型,当时觉得现在大家缺的其实是数据,所以就先从数据入手,当时想的比较天真,觉得可以直接把日常生活中所有能见到的动作都拍一遍,就像训练大模型一样,提供一个非常强的数据库用来训练大模型。但实际上这么做了才发现,最终得到的模型能学会的知识还是很有限的。具体来说,我们拍了20种动作(20种其实很多了,让一个人列举都很难举出20种交互方式)但是我们发现用这种方式训练出来的模型没有泛化能力。所以之后的研究还是得往泛化的方向努力,不能仅仅让模型点对点学一些技能,还得学会执行这些技能的更底层的知识。
你觉得这项研究最大的特点或者创新点是什么?
创新点就是它解决问题比较全面,之前这种人物交互问题一般是单独研究一个人和一个物体,或者单独研究身体的某个部位,比如说手或者上半身,而我现在的工作将人和场景分别看作整体进行建模。
这项研究对你接下来的工作规划有什么影响吗?
因为这个研究已经进行的比较深入了,所以我不愿意让这条线到此为止,而是要进一步把这一年来积攒的经验用在后续的工作上。我们现在投的两篇都是基于很多之前的积累,可以复用之前的工作,避免了很多重复。
相比于去年,你现在的学习工作生活状态和心态有什么变化吗?
认识了更多做这方向的研究者,领域比之前了解得更多了一点。之前经验不足的时候,经常担忧自己的想法投稿之前被别人抢,现在基本上不用讨论这个问题了,因为我已经大概知道其他人都在做什么。
参考资料
- Jiang, Nan, Tengyu Liu, Zhexuan Cao, Jieming Cui, Zhiyuan Zhang, Yixin Chen, He Wang, Yixin Zhu, and Siyuan Huang. "Full-body articulated human-object interaction." In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2023
- Wang, Zan, Yixin Chen, Baoxiong Jia, Puhao Li, Jinlu Zhang, Jingze Zhang, Tengyu Liu, Yixin Zhu, Wei Liang, and Siyuan Huang. "Move as You Say, Interact as You Can: Language-guided Human Motion Generation with Scene Affordance." In Conference on Computer Vision and Pattern Recognition (CVPR), 2024.
- Cui, Jieming, Tengyu Liu, Nian Liu, Yaodong Yang, Yixin Zhu, and Siyuan Huang. "Anyskill: Learning openvocabulary physical skill for interactive agents." In Conference on Computer Vision and Pattern Recognition (CVPR), 2024.
- Manolis Savva, Angel X Chang, Pat Hanrahan, Matthew Fisher, and Matthias Nießner. Pigraphs: learning interaction snapshots from observations. ACM Transactions on Graphics (TOG), 2016.
- Mohamed Hassan, Vasileios Choutas, Dimitrios Tzionas, and Michael J Black. "Resolving 3d human pose ambiguities with 3d scene constraints". In International Conference on Computer Vision (ICCV), 2019.
- Joao Pedro Ara ́ujo, Jiaman Li, Karthik Vetrivel, Rishi Agarwal, Jiajun Wu, Deepak Gopinath, Alexander William Clegg, and Karen Liu. "Circle: Capture in rich contextual environments". In Conference on Computer Vision and Pattern Recognition (CVPR), 2023.
- Michael J Black, Priyanka Patel, Joachim Tesch, and Jinlong Yang. "Bedlam: A synthetic dataset of bodies exhibiting detailed lifelike animated motion". In Conference on Computer Vision and Pattern Recognition (CVPR), 2023.
- Tevet, G., Raab, S., Gordon, B., Shafir, Y., Cohen-or, D., Bermano, A. H. "Human Motion Diffusion Model" In The Eleventh International Conference on Learning Representations, 2022.