
# 基于单目视频与动态摄像机运动的人体动力学研究

柳理，首尔大学，韩国

朴黄弼，首尔大学，韩国

李济熙，首尔大学，韩国

![Image](images/4b0f5a9f2177d9299924335e654ff8664a30711acb9b2f19984fd941d4d96301.jpg)

<div style="text-align: center;">Fig. 1. We reconstructed and simulated a sequence of parkour actions from the dynamic-view video, in which the camera tracks the moving subject.</div>

我们提出了一种新方法，能够充分利用物理规律方面的先验知识，从自然场景视频中重建三维人体运动。以往的研究主要聚焦于重建人体局部坐标系下的关节角度与位置；只有当视频采用固定摄像机视角时，才能部分重建全局参考坐标系下的人体平移与旋转信息。我们希望突破这种固定视角的限制，以处理动态视角的视频——这类视频中摄像机可能会进行平移、倾斜和变焦来追踪移动的主体。由于我们不对摄像机运动做任何限制，因此从视频中得到的人体平移与旋转信息并不对应参考坐标系中的绝对位置。关键的技术挑战在于：在假设不存在根运动的前提下，从一系列三维全身姿态中推断出人体的平移与旋转信息。由于人体运动遵循物理规律，这种推断是可行的。我们的重建算法会生成一套控制策略，用于模拟视频中出现的三维人体运动。该算法尤其适用于重建高度动态的运动，比如体育动作、舞蹈、体操和跑酷动作。

CCS概念：• 计算方法 → 物理仿真；强化学习；运动处理。

其他关键词：基于物理的仿真、视频处理、运动重建

## ACM参考文献格式

柳理、朴黄弼、李济熙。2021年。基于单目视频与动态摄像机运动的人体动力学研究。《ACM图形学汇刊》第40卷第6期，文章编号208（2021年12月），共14页。<https://doi.org/10.1145/3478513.3480504>

## 1 引言

视频是学习人体运动技能的便捷数据源。在计算机图形学与计算机视觉领域，众多研究人员致力于从视频中估计人体姿态并重建三维人体运动。尽管二维视频存在深度模糊和遮挡等固有局限，但借助用大量训练数据集训练的深度卷积网络，所估算出的三维姿态质量已显著提升[Kanazawa等人，2018年、2019年；Kocabas等人，2020年；Pavllo等人，2019年]。

当前最先进的算法往往只能重建不含全局参考坐标系下人体平移与旋转信息的三维人体姿态序列；只有当视频采用固定摄像机视角时，才能估算出人体的平移与旋转信息。我们希望突破这种固定视角的限制，以处理动态视角的视频——这类视频中摄像机可能会进行平移、倾斜和变焦来追踪移动的主体。从动态视角视频中估算出的人体平移与旋转信息并不对应参考坐标系中的绝对位置。关键的技术挑战在于：在假设不存在根运动的前提下，从一系列三维人体姿态中推断出人体的平移与旋转信息。由于人体运动遵循物理规律，这种推断是可行的。

在本文中，我们提出了一种新框架，该框架能够充分利用基于深度强化学习（DRL）的物理先验，从自然场景视频中重建三维人体运动。我们的算法会学习一种控制策略（即基于物理的控制器），在用户提供的角色与环境之间交互提示的指导下，生成与视频中一致的三维人体运动。这种间接重建方式具有多项优势：由于运动是通过物理模拟生成的，因此重建出的三维运动始终符合物理规律。

---

该算法能够填补缺失的信息，比如根运动数据缺失、场景布局未知以及姿态估计不精确等问题。

我们尤其关注高动态的人体运动，包括体育、舞蹈和跑酷动作。视频中的主体可能会奔跑、抓取、踩踏或跳过物体，同时摄像头会持续追踪该主体。我们的算法能够同时重建出合理的场景布局以及场景中连贯的人体运动。具体而言，我们的主要贡献包括：

- 我们构建了一种全新的系统架构，将二维姿态估计器、三维姿态估计器和策略学习算法相结合，从而能够从多视角动态视频中同时重建三维人体运动和场景布局。

- 我们提出了一种滑动窗口算法，该算法能够稳健且高效地处理一系列人体与物体的交互情况，同时保证场景布局的全局一致性。

- 人体与物体之间的接触是理解三维人体运动最重要的视觉线索。我们训练了一个深度接触估计器，用于检测多视角动态视频中的足部与物体的接触情况。

## 2 相关工作

### 2.1 单目姿态/运动估计

在计算机视觉领域，借助卷积神经网络（CNN），尤其是ResNet [He et al. 2016]，基于单目视频的姿态估计技术取得了显著进展。Toshev等人 [^2014] 采用级联CNN来回归每个关节的坐标，以整体方式估计姿态，而非采用传统的基于部件的模型方法。Tompson等人 [^2014] 联合训练CNN和图形模型，输出热图。在后续研究中，研究人员探索了不同的网络架构以提升姿态估计的性能 [Chen et al. 2018; He et al. 2017; Newell et al. 2016; Pfister et al. 2015; Wei et al. 2016]。Cao等人 [^2019] 采用了自下而上的方法，先检测每个关节再构建骨骼，从而实现实时多人姿态估计。

基于上述2D姿态估计技术，3D姿态估计已成为研究热点。Mehta等人[^2017]提出了一种基于CNN的实时框架，该框架能够逐帧回归2D和3D姿态，并通过骨骼拟合生成全局稳定的3D姿态。Pavllo等人[^2019]利用时序卷积网络从单目视频中估计平滑的姿态。Monszpart等人[^2019]则提出了一种从单目视频中恢复人体运动并借助人体-物体交互检测来推断场景位置的框架。由于现已存在包含3D动作捕捉数据与2D视频的大型数据集[Ionescu等人，2013年；Sigal等人，2010年]，3D姿态估计可被构建为标准的监督学习问题，无需经过中间的2D关节估计步骤。近年来，直接从单张图像或视频中推断3D姿态的端到端3D姿态估计方法也受到了研究关注。Kanazawa等人[^2018]通过引入一种能区分估计结果与真实人类数据的对抗性先验，从单张图像中同时估计3D姿态与人体形状。在后续研究中，Kanazawa等人[^2019]训练了一个时序编码器，以便根据图像序列预测邻近姿态。Kocabas等人[^2020]开发了VIBE框架，该框架同样借助对抗性学习，从大型动作数据集[Mahmood等人，2019年]中构建动作判别器。与此同时，Kolotouros等人[^2019]提出了一种将基于回归的方法与基于迭代优化的方法相结合的策略。

尽管光学动作捕捉系统成本高昂且搭建繁琐，但光学动作捕捉长期以来一直被视为获取高质量人体运动数据的最佳方式。基于视频的动作捕捉正逐渐成为一种易于获取、成本低廉且无附件要求的替代方案。Xu等人[^2018]利用CNN估计日常穿着下的人体动作及非刚性表面形变。一系列研究[Habermann等人，2019年、2020年；Xu等人，2018年]通常采用模板网格来捕捉表面细节以及人体动作。Xiang等人[^2019]不仅捕捉了3D人体姿态，还记录了面部表情与手部动作。Shi等人[^2020]则着重于保持随时间变化的骨骼一致性。以往的大多数研究都假设视频是相机参数固定的静态镜头[Habermann等人，2019年；Mehta等人，2020年；Shi等人，2020年；Xiang等人，2019年；Xu等人，2018年]，或者已知相机参数[Vondrak等人，2012年]，又或需要进行相机校准[Wei和Chai，2010年]。

### 2.2 基于物理的仿真与控制

基于物理的角色模拟与控制一直是计算机图形学领域长期面临的挑战。早期的方法依赖于状态机和反馈规则[Hodgins et al. 1995; Yin et al. 2007]、数据驱动的跟踪机制[da Silva et al. 2008; Lee et al. 2010; Sok et al. 2007]，以及基于模型的优化[Kwon and Hodgins 2017; Liu et al. 2012]。近年来，深度强化学习（DRL）方法已被成功应用于受物理模拟的关节角色的控制。深度网络的表征能力使其能够在高维连续状态/动作空间中实现精确控制，并成功模拟出各种人类动作，例如行走[Schulman et al. 2015; Yu et al. 2018]、踏石过河[Xie et al. 2020]、篮球运球[Liu and Hodgins 2018]、穿衣服[Clegg et al. 2018]、搬运物体[Merel et al. 2020]，甚至芭蕾舞[Yuan and Kitani 2020]。Peng等人[2018a]学习到了一种控制策略，可使模拟角色模仿真实的动作捕捉数据。这种模仿学习算法随后被进一步改进，以处理交互式控制[Bergamin et al. 2019; Park et al. 2019]、身体形态变化[Won and Lee 2019]以及多样化行为[Peng et al. 2019; Won et al. 2020]。

### 2.3 借助物理原理的运动重建

从单目视频中重建运动是一个不适定问题。利用物理定律可以有效解决该问题固有的歧义性。

在计算机视觉和计算机图形学领域，许多研究人员采用基于物理的方法来解决从图像或视频重建人体运动时出现的脚部滑动、遮挡以及运动不自然等问题。Vondrak等人[^2008]在贝叶斯滤波中利用物理模拟作为时间先验来进行人体运动跟踪。一系列研究也借助物理原理来处理相关问题。

---

![Image](images/3d13ba1d2d7b0f68d880d0821f77733bb62a4e14185f6ae1b2a8104b5f2b604f.jpg)

<div style="text-align: center;">Fig. 2. System overview.</div>

人体运动跟踪和接触点估计[Brubaker and Fleet 2008; Brubaker et al. 2007, 2009]。Wei等人[^2010]优化了关键帧处的3D姿态，并通过插值生成中间姿态；他们利用基于物理的插值来消除由遮挡引起的歧义。Rempe等人[^2020]利用基于物理的运动优化来避免重建伪影，例如脚部穿透地面和身体倾斜不平衡等问题。他们还训练了一个网络，用于从视频中识别脚部与地面的接触时机。Shimada等人[^2020]开发了一个类似的系统，该系统包含脚部接触预测器、2D和3D姿态估计器，以及基于物理的运动优化器。

我们的方法属于另一类重建方法，这类方法通过正向动力学模拟来估计能够生成期望人体运动的控制策略。Vondrak等人[^2012]利用轮廓似然函数来优化基于物理的控制器的参数。他们通过改变环境条件，验证了该控制器在斜坡和不平整地面上具有出色的鲁棒性。Yuan和Kitan（2018年；2019年）提出了姿态估计方法，能够从佩戴式摄像头拍摄的视频中重建出符合物理规律的3D人体运动。他们分别采用生成对抗模仿学习[Yuan和Kitani 2018]与强化学习[Yuan和Kitani 2019]来恢复控制策略。最近，他们提出了残差力控制技术，用以缓解模拟角色与真实人体之间的动力学不匹配问题[Yuan和Kitani 2020]，并成功实现了芭蕾舞等灵活的人体动作。Peng等人[2018b]将2D/3D姿态估计器与策略学习器相结合，从2D视频中重现动态运动技能。在假设环境为空且摄像头视角固定的条件下，他们成功重建了后空翻、侧手翻等高度动态的人体运动。我们的系统正是在这些先前研究的基础上构建的，旨在解决尚未被攻克的两大技术难题：动态摄像头视角与场景布局问题。

## 3 系统概述

图2展示了我们系统的整体架构。该系统以视频片段和模拟角色模型为输入。我们还提供了一个由多个简单几何原型（如立方体）构成的环境模型，每个原型的初始尺寸和位置均由用户指定。在重建与几何原型交互的3D人体运动过程中，系统会同时估算场景的几何布局。

我们的系统包含2D姿态估计器、3D姿态估计器、接触点估计器、策略学习器以及场景几何构建器。训练好的姿态估计器能够预测2D屏幕坐标系与3D身体坐标系中的关节位置。接触点估计器则用于判断身体与物体接触的时间与位置。深度策略学习器会利用所有关节数据与接触信息，在全球参考坐标系下学习运动技能与场景布局。在学习运动技能的过程中，骨骼根节点的全局位置与朝向也会被自动还原。

## 4 姿态与接触点估计

我们采用了预训练的2D/3D姿态估计器：使用OpenPose框架[Cao等人2019]来预测2D姿态，利用VIBE[Kocabas等人2020]从视频帧中重建3D姿态。这些姿态估计器是在大型训练数据集上训练而成的，其性能取决于数据集的规模与分布。我们希望从视频中重建的高度动态人体运动往往包含一些偏离数据集常见姿态分布的特殊姿势。当目标姿态呈现倾斜或倒置状态时，姿态估计有时会失败。为解决这一问题，我们按照先前的研究[Peng等人2018b]的做法，对每段视频帧的$0^{\circ}$、$90^{\circ}$、$180^{\circ}$和$270^{\circ}$旋转版本分别运行2D姿态估计器，进而选出最优的姿态输出结果。选择依据包括时间连贯性以及2D关节估计的置信度值。一旦3D姿态估计失败，缺失的姿态数据会通过线性插值来填补。估计得到的3D

---

![Image](images/0b93c24b7978fc2b02eb88ddbc924e896940f718fdc43c24efd5458ed946b261.jpg)

<div style="text-align: center;">Fig. 3. Contact estimation from the dynamic-view video. The red dots indicate body-ground contact.</div>

![Image](images/8f3b1391bd537f39a667a041aec707dbdea258c7f4fe64bed187934fe9696233.jpg)

![Image](images/235c85998cb99197dbd50d401d094fcb07748f9b65f8926131121122a3705651.jpg)

![Image](images/502b19ee643c7fa5b25360e74e3f60d16ae4d6f9e41da08d81942fad627f160a.jpg)

<div style="text-align: center;">Fig. 4. Three camera settings to synthesize training data for our contact estimator. (Left) a fixed-view camera. (Middle) a panning camera at fixed location. (Right) a tracking camera.</div>

关节位置会通过求解逆运动学，转换为适合物理模拟的关节体表示形式。

接触信息属于关键数据，它反映了角色与环境之间的物理交互，包括地面、墙壁和扶手等。近期，Rempe等人[^2020]训练了一个神经网络，该网络能够基于单目视频在相机视角固定的条件下检测脚部与地面的接触情况。我们对其工作进行了改进，以处理动态视角下的视频（见图3）。我们从Mixamo动作数据集[Adobe Systems Inc. 2018]中选取了72段运动片段以及11个已绑定骨骼的角色，利用这三种相机设置生成训练图像，同时采用31种背景纹理和4种光照强度（见图4和图5）。这三种相机设置分别为固定视角相机、在固定位置跟踪主体的摇摄相机，以及与主体一同移动的跟踪相机；相机位置是相对于主体随机确定的。这些运动数据包含高动态性且接触丰富的动作，比如后空翻、卡波耶拉踢击以及霹雳舞。我们利用脚部的高度和速度自动为运动数据中的接触点打上标签。以这些生成的图像作为训练数据，我们采用监督学习方式训练用于估计接触情况的神经网络。该接触估计器被集成到OpenPose框架中：输入的视频片段会被送入OpenPose以估算二维姿态，该姿态由节点以及节点间的连线构成；我们将OpenPose的输出结果作为输入提供给接触估计器。为了纳入时间信息，接触估计器会观察以目标帧为中心的连续九帧图像。接触估计器会为每个脚部节点标注一个二进制值（若处于接触状态则标为1）。我们的深度接触估计器能够输出脚部与物体的接触信息，而手部与物体的接触信息则需手动指定。更多实现细节请参阅论文[Rempe et al. 2020]。

## 5 人类动力学学习

我们的人形角色动力学模型是由刚性连杆构成的关节结构，这些连杆通过球窝关节或铰链关节相连。

![Image](images/dddc8093d63337721f7db4ddc14c51d7caed7f52e8ce4a5cc9d5718fc42de9cd.jpg)

<div style="text-align: center;">Fig. 5. Examples of rendered training images for the contact estimator. The motion data used for rendering includes various movements; from simple movements such as walking, running, and push-ups to dynamic movements such as backflip, capoeira, and cartwheel.</div>

这些关节由比例-微分（PD）伺服电机驱动。视频中的演员会与场景中的物体产生物理交互。我们为场景提供了由简单几何图形（如立方体）构成的初步布局。

我们的目标是学习一种控制策略（又称控制器），使该人形角色能够根据前文所述的估算出的二维及三维姿态、接触标签以及身体朝向提示，来模仿视频中的三维人体动作。设$\pi(\mathbf{a}_t|\mathbf{s}_t,\mathbf{e})$为控制策略，其中$\mathbf{s}_t$和$\mathbf{a}_t$分别为时刻t时动力学模型的状态与动作。该动作会为时刻t的PD控制提供一个目标姿态$\tilde{\mathbf{q}}_t$：

 $$ \bar{\mathbf{q}}_{t}=\hat{\mathbf{q}}_{t}+\mathbf{a}_{t}, $$

其中，$\hat{q}$ 是由三维姿态估计得到的轴角表示形式的所有关节朝向组成的参考姿态，而 $a_t$ 是从控制策略中采样出的用于偏移关节朝向的动作向量。状态由一个聚合向量 $s_t = [\phi_t, \mathbf{p}_t, \mathbf{R}_t, \mathbf{v}_t, \omega_t]$ 定义，该向量包含按视频片段长度归一化后的时间 $\phi_t \in [0,1]$、身体各关节的位置、用单位四元数表示的身体关节朝向，以及它们的线速度和角速度。除 $\phi_t$ 外，所有特征都是相对于附着在骨骼根部的身体局部坐标系来表示的。我们将环境 $\mathbf{e}$ 定义为由物体的高度、尺寸和位置组成的聚合向量。具体而言，我们对每个物体的朝向位置和高度进行参数化，这些场景参数会通过场景拟合过程来探索。用户会提供一个可供探索的参数域 $[\mathbf{e}_{\min}, \mathbf{e}_{\max}]$。参数域越宽，灵活性就越高，不过相应的计算成本也会随之增加。在我们的实验中，每个位置和高度参数的域范围均为 $[-30\text{cm}, 30\text{cm}]$。

在本节中，我们首先介绍一种基线算法，该算法能学习单一控制策略，从而重建整个视频中的三维人体运动。对于少量环境物体而言，这种基线算法已经足够好。然而，为了应对复杂的场景布局，我们需要更高效的算法，相关内容将在本节末尾详细说明。

### 5.1 策略学习

对于一个离散时间动力学系统，深度强化学习会寻找能够最大化折扣累积奖励 $\pi$ 的控制策略 $V^{\pi}(\mathbf{s})$。在每个时间步 t，处于状态 $\mathbf{s}_{t}$ 的智能体采取动作 $\mathbf{a}_{t}$。环境会对该动作做出响应，产生

---

![Image](images/a7d3b98671e851884eae4abe0b20414962d427702732551ba5c9814c451d9348.jpg)

<div style="text-align: center;">Fig. 6. A body orientation hint from 2D joint positions.</div>

新的状态 $\mathbf{s}_{t+1}$，并给出奖励 $r_t$。策略 $\pi$ 的折扣累积奖励定义如下：

 $$ V^{\pi}(\mathbf{s}_{t})=\mathbb{E}_{\mathbf{s}_{0}=\mathbf{s}_{t},\mathbf{a}_{i}\sim\pi}\left[\sum_{i=0}^{\infty}\gamma^{i}r_{i}\right], $$

其中，$\gamma \in [0,1)$ 是折扣因子。最优控制策略 $\pi^{*}$ 为

 $$ \pi^{*}=\operatorname{a r g m a x}_{\pi}V^{\pi}. $$

奖励设计是深度强化学习取得成功的关键。我们的奖励函数包含两项：$r_{track}$ 和 $r_{scene}$。前者 $r_{track}$ 旨在鼓励对估计姿态的精准跟踪，而后者则倾向于使角色与场景物体良好对齐。

 $$ r=r_{\mathrm{t r a c k}}+r_{\mathrm{s c e n e}}. $$

每一项又包含若干子项。具体来说，$r_{track}$ 包含五个子项，用于评估角色对估计姿态、速度、身体朝向以及接触情况的跟踪效果；$r_{scene}$ 包含三个子项，用于调控角色与物体交互的对齐度和时机。

 $$ \begin{aligned}&r_{\mathrm{track}}=w_{q}r_{q}+w_{v}r_{v}+w_{\mathrm{ori}}r_{\mathrm{ori}}+w_{\mathrm{contact}}r_{\mathrm{contact}}+w_{\mathrm{reg}}r_{\mathrm{reg}},\\&r_{\mathrm{scene}}=w_{\mathrm{dist}}r_{\mathrm{dist}}+w_{\mathrm{align}}r_{\mathrm{align}}+w_{\mathrm{com}}r_{\mathrm{com}}.\\ \end{aligned} $$

各个子项具体如下。

姿态与速度。$r_{q}$ 和 $r_{v}$ 旨在促使估计姿态与模拟姿态及速度之间保持良好匹配。

 $$ \begin{aligned}\boldsymbol{r}_{q}&=\exp\left(-\alpha_{q}\left\|\hat{\mathbf{q}}-\mathbf{q}\right\|^{2}\right),\\\boldsymbol{r}_{v}&=\exp\left(-\alpha_{v}\left\|\hat{\mathbf{v}}-\mathbf{v}\right\|^{2}\right),\end{aligned} $$

其中，$\hat{q}$ 是估计姿态的关节角度向量，q 是模拟模型的关节角度聚合向量，v 是通过有限差分计算得到的关节速度向量。需要注意的是，姿态和速度向量并未提供关于根节点位置和朝向的信息，这些信息是由深度强化学习隐式估计得出的。

身体朝向。身体朝向奖励旨在鼓励从视频和仿真中估计出的身体上矢量能够良好匹配。在动态视角视频中，由于主体和摄像机都在运动，因此无法直接估计主体相对于参考框架的身体位置和朝向。在电影摄影中，虽然允许各种摄像机运动（如摇摄、变焦、推拉、俯仰），但不建议进行摄像机滚动操作。拍摄时强烈建议保持向上的方向稳定。假设视频中的向上方向是稳定的，我们就能获得关于身体朝向的重要线索。图像平面中视图上矢量$\hat{\theta}$与身体上矢量$v_{Y}$之间的夹角$v_{b}$可以作为三维空间中身体上矢量的线索（见图6）。其中，$v_{b}$是根据OpenPose结果得到的从骨盆到颈部的二维矢量，而$v_{Y}$是图像平面中指向向上的二维单位矢量。我们将$\theta$定义为角色骨盆关节位置到头部关节位置的矢量与三维空间中y轴之间的夹角。

 $$ r_{ori}=\exp\left(-\alpha_{ori}\left\|\hat{\theta}-\theta\right\|^{2}\right) $$

接触判定。在我们的实现中，考虑了四个可能与环境物体发生接触的末端执行器（手和脚）。接触奖励旨在鼓励估计的接触状态$\hat{c}$与仿真中的接触状态c能够良好匹配。此处，c和$\hat{c}$均为二进制标志位。

 $$ r_{\mathrm{c o n t a c t}}=\exp\left(-\alpha_{\mathrm{c}}\sum_{l\in\{\mathrm{r f},\mathrm{l f},\mathrm{r h},\mathrm{l h}\}}\|\mathrm{x o r}(\hat{c}_{l},c_{l})\|^{2}\right), $$

其中异或运算符为$\text{xor}(\hat{c}, c) = 1$，条件是$\hat{c} \neq c$；否则结果为零。

正则化。正则化项通过最小化关节扭矩来防止过大的力以及不必要的运动。

 $$ r_{\mathrm{r e g}}=\exp\left(-\alpha_{\mathrm{r e g}}\left\|\tau\right\|^{2}\right), $$

其中$\tau$是关节扭矩的聚合矢量。

距离判定。距离奖励用于确保当视频估计结果显示存在接触时，仿真的末端执行器能与目标物体接触。设$p_l$为末端执行器的位置，$Z_l$为目标物体上的目标区域。该目标区域是主体可能踩踏的表面。具体而言，我们将$Z_l$设定为该表面中心四分之一的区域，在图7最左侧图中该区域被标记为红色。

 $$ r_{\mathrm{d i s t}}=\hat{c}\exp\left(-\alpha_{\mathrm{d i s t}}\sum_{l\in\{\mathrm{r f},\mathrm{l f},\mathrm{r h},\mathrm{l h}\}}\|\mathrm{m i n d i s t}(Z_{l},\mathbf{p}_{l})\|^{2}\right), $$

其中mindist(Z, p)表示区域Z与位置p之间的最小距离。注意：仅当接触标志位开启时($\hat{c} = 1$)，该奖励值才不为零。

我们通过实验发现，当手部接触区域($Z_{rh}$和$Z_{lh}$)位于物体上表面的中心时，策略往往会在手部接触瞬间无法成功重建运动。在这种情况下，我们会手动将$Z_{rh}$和$Z_{lh}$设置为物体的角落位置。

---

![Image](images/f3f8e663c62e96b7276d262a28ce72a3db864591b65796b4d2ac522849c07331.jpg)

<div style="text-align: center;">Fig. 7. Scene reward terms. (Left) Distance. (Middle) Alignment. (Right) Center of Mass.</div>

对齐判定。角色与物体接触时应保持良好对齐（见图7中间部分）。我们假设视频中的演员正面向其即将互动的物体方向。对齐奖励为

 $$ r_{\mathrm{a l i g n}}=\hat{c}\exp\left(-\alpha_{\mathrm{a l i g n}}\left\|1-\mathbf{u}_{\mathrm{p e l v i s}}\cdot\mathbf{u}_{\mathrm{o b j}}\right\|^{2}\right), $$

其中$\mathbf{u}_{pelvis}$和$\mathbf{u}_{obj}$是在世界坐标系中表示的单位矢量。$\mathbf{u}_{pelvis}$是沿骨盆正面轴线的单位矢量。

质心。当模拟角色处于空中时，其质心（CoM）会沿弹道轨迹运动，而着陆时间则由接触估计器确定。因此，质心的位置是可以预测的。质心奖励能在早期阶段反映出该弹道轨迹的合理性。$d_{ee}$ 表示着陆时刻质心与参考姿态末端执行器之间的距离（见图7右侧）。$d_{obj}$ 则表示预期质心与其预期着陆位置之间的距离。如果模拟角色能完美遵循参考姿态和接触时机，那么$d_{ee}$ 就会等于$d_{obj}$。质心奖励的计算方式如下：

 $$ r_{\mathrm{c o m}}=\exp\left(-\alpha_{\mathrm{c o m}}\left\|d_{\mathrm{e e}}-d_{\mathrm{o b j}}\right\|^{2}\right), $$

若角色处于空中，则质心奖励不为零；否则质心奖励为零。

我们使用同一组权重和参数来生成所有示例 $w_q = 0.35$、$w_v = 0.1$、$w_{ori} = 0.2$、$w_c = 0.25$、$w_{reg} = 0.1$、$w_{dist} = 0.5$、$w_{align} = 0.2$、$w_{com} = 0.3$、$\alpha_q = 12$、$\alpha_v = 0.6$、$\alpha_{ori} = 5$、$\alpha_c = 2$、$\alpha_{req} = 1$、$\alpha_{dist} = 15$、$\alpha_{alian} = 1$ 以及 $\alpha_{com} = 5$。

### 5.2 网络训练

价值函数V和控制策略$\pi$均由深度神经网络表示。在训练阶段，通过物理仿真周期性地收集经验元组$(\mathbf{s}_t, \mathbf{a}_t, \mathbf{s}_{t+1}, r_t)$，随后利用近端策略优化算法[Schulman等人，2017]来更新V和$\pi$。

正如Peng等人[2018a]此前讨论的那样，处理经验元组分布不均的问题是学习轨迹跟踪策略时的关键难点。仿真系统可能在剧集开始时收集大量经验元组；随着剧集推进，模拟角色可能会绊倒或摔倒，而失去平衡后的经验元组对学习控制策略毫无用处。一旦角色绊倒，我们会在视频结束前终止该轮次的跟踪仿真。我们会监测质心高度、与障碍物的碰撞情况，以及与预估姿态和身体朝向的偏差，以此判断是否需提前终止仿真。这种提前终止操作会导致样本分布不均的问题。

为缓解这一问题，我们希望在时间范围内尽可能均匀地抽取经验元组。为此，在每次学习迭代中，我们会统计每个帧下被存入内存缓冲区的经验元组数量，进而计算出与之成反比的概率分布P。

 $$ P(t)=\frac{\frac{1}{n_{t}+1}}{\sum_{i}\frac{1}{n_{i}+1}}, $$

其中$n_{t}$表示时间t时抽取的元组数量。每当一个剧集结束后，会有固定数量（本例中为32个）的连续经验元组被追加到内存缓冲区中，而这些追加元组的起始时间是根据P来选定的。

### 5.3 场景适配

策略学习的计算成本在很大程度上取决于输入视频的长度和场景中物体的数量。对于记录空旷环境中动作的短视频片段而言，该算法高效且可靠；但随着视频变长、场景中物体增多，学习过程的计算难度也会随之增加。

我们发现，没有必要学习一个能覆盖整个时间范围的单一策略网络。相反，我们学习一系列策略网络。每个网络都在一个较短的时间窗口内学习控制策略，在该窗口中，智能体最多与场景中的三个物体发生交互（例如接触或跳跃）。我们有一系列相互重叠的时间窗口，它们共同覆盖了整个时间范围（见图8）。在某一窗口内学习策略网络时，中间物体的配置（如位置和高度）是相对于其前一个物体来参数化的。通过依次访问这些窗口，我们就能获得一系列对环境变化具有鲁棒性的控制策略。我们使用针对第n个物体学习的第n个策略，来控制角色从接触第$(n-1)$个物体那一刻起到再次接触其他物体之间的运动。

---

![Image](images/fcd3a7b759d0db5b41ef747c89cef905078b0a2a2296cccba007da9f86fbc604.jpg)

<div style="text-align: center;">Fig. 8. Learning a sequence of policy networks for sliding time windows.</div>

针对第n个物体而言。需要注意的是，智能体可能会多次与单个物体交互，因此物体的排列顺序可能与其唯一ID不同。

我们按顺序训练每个窗口的策略。例如，在训练完某个窗口的策略后，我们接着训练下一个窗口的策略，此时下一个窗口的初始状态是由前一个窗口学到的策略来参数化的。一旦每个窗口的价值网络和策略网络都被学习完毕，就可以通过最大化该窗口内的累积价值，从网络中估算出三个连续物体的局部排列情况。

全局一致的场景排列能够实现最大化

 $$ \mathbf{e}^{*}=\underset{\mathbf{e}}{\operatorname{argmax}}\sum_{n=1}^{N}f_{n}(\mathbf{e}), $$

 $$ f_{n}(\mathbf{e})=V^{\pi_{n}^{*}}(\mathbf{s}(t_{n-1}),\mathbf{e})-V^{\pi_{n}^{*}}(\mathbf{s}(t_{n}),\mathbf{e}), $$

其中N表示窗口的数量，$f_n(\mathbf{e})$表示第n个窗口内的累积奖励，$\pi_n^*$是第n个窗口的最优策略，$V^{\pi_n^*}$是与策略一同学习到的价值函数，$\mathbf{s}(t_n)$则是第n个窗口的初始状态。我们使用序列最小二乘规划（SLSQP）[Kraft 1994]来计算一致的场景排列。

## 6 实验结果

我们的类人角色身高175厘米，体重61.4公斤。其骨骼结构包含膝关节处的两个铰链关节、15个球窝关节以及浮动基座。为了稳健地驱动连杆式身体动力学系统，我们采用了线性时稳定PD控制[Tan et al. 2011; Yin and Yin 2020]。PD控制的比例增益和微分增益分别为$k_p = 600$和$k_d = 49 \approx 2\sqrt{k_p}$。DART物理引擎用于模拟该动力学系统[Lee et al. 2018]。控制频率与视频帧率相等，范围在18Hz到30Hz之间（见表1）。若模拟过程涉及手与物体的交互，则模拟频率是控制频率的十倍；否则为五倍。

<div style="text-align: center;">Table 1. Input video details.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequences</td><td style='text-align: center; word-wrap: break-word;'>No. of frames</td><td style='text-align: center; word-wrap: break-word;'>fps</td><td style='text-align: center; word-wrap: break-word;'>Camera types</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cartwheel</td><td style='text-align: center; word-wrap: break-word;'>82</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>static</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Backflip</td><td style='text-align: center; word-wrap: break-word;'>67</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>static</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Forward jump</td><td style='text-align: center; word-wrap: break-word;'>75</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>static</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dance</td><td style='text-align: center; word-wrap: break-word;'>69</td><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>static</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Lateral jump</td><td style='text-align: center; word-wrap: break-word;'>130</td><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Jump top-out</td><td style='text-align: center; word-wrap: break-word;'>86</td><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hurdle</td><td style='text-align: center; word-wrap: break-word;'>17</td><td style='text-align: center; word-wrap: break-word;'>18</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>High jump</td><td style='text-align: center; word-wrap: break-word;'>72</td><td style='text-align: center; word-wrap: break-word;'>25</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parkour1</td><td style='text-align: center; word-wrap: break-word;'>78</td><td style='text-align: center; word-wrap: break-word;'>25</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parkour2</td><td style='text-align: center; word-wrap: break-word;'>87</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parkour3</td><td style='text-align: center; word-wrap: break-word;'>66</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parkour4</td><td style='text-align: center; word-wrap: break-word;'>70</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>dynamic</td></tr></table>

该引擎用于模拟动力学系统[Lee et al. 2018]。控制频率与视频帧率相等，范围在18Hz到30Hz之间（见表1）。若模拟过程涉及手与物体的交互，模拟频率则为控制频率的十倍；否则为五倍。

我们选用PyTorch [Paszke等人，2019]作为神经网络库，用于实现接触点估计与强化学习。深度接触点估计器包含四个全连接层，节点数分别为1024、512、128和32，且各层均采用了批量归一化技术。策略网络和价值网络则各有三个全连接层，每层包含128个节点。我们采用了ReLU激活函数，并使用He初始化方法 [He等人，2015]来初始化网络参数。训练接触点估计器时使用了学习率为0.0001的Adam优化器；而策略网络和价值网络的训练则采用带动量的梯度下降法，其中动量参数为0.9，学习率为0.0002。深度强化学习中使用的折扣因子和GAE参数分别为$\gamma = 0.99$和$\lambda = 0.95$。接触点估计器网络的小批量大小设为64，策略网络与价值网络的小批量大小则为256。深度强化学习的计算时间会因视频片段长度以及人机交互的数量/类型而异；在配备Intel Core i9-9900K（3.6 GHz，8核）处理器的单台电脑上，计算时间介于24小时至96小时之间。我们的代码和数据可在<https://github.com/yul85/movingcam>获取。

### 6.1 视频片段

我们使用多种单目视频片段对算法进行了测试。重建结果可参见附带的视频。从YouTube下载的大多数视频片段都展现了充满活力且动态性极强的人体运动。部分视频为固定镜头拍摄（图9），其余则包含动态摄像机视角（图10和图11）。固定镜头片段取自Peng等人 [2018b]的数据集。视频片段的详细信息汇总于表1中。

对跑酷动作的重建展现了算法的全部潜力。跑酷运动员会利用跑步、跳跃、翻越等动态动作，借助环境特征从一个地点移动到另一个地点。他们需同时运用双手和

---

![Image](images/dc3787f6d5cad889b548c8c8f7e1d9d5d708d34074a2993ea2a87a9510c68e2b.jpg)

<div style="text-align: center;">Fig. 9. Motion reconstruction from static-shot video clips. (From top to bottom) Cartwheel, backflip, forward jump, and dance.</div>

---

![Image](images/b3dc7c7b4ed950a097c2d5df5fddc04aea0b9025ce1235295c8b54e81cac1364.jpg)

<div style="text-align: center;">Fig. 10. Motion reconstruction from dynamic-shot video clips. (From top to bottom) Lateral jump, jump top-out, and hurdle.</div>

双脚来进行跳跃、抓握、踢打和翻滚。摄像机则会追踪运动员以记录其流畅的动作。

跳高运动则是另一个极具挑战性的案例：由于运动员越过横杆时，3D姿态估计器连续30帧以上无法给出准确的姿态估计结果。尽管我们的算法能够妥善处理小范围的数据缺失，但如此大的3D帧间隙仍超出了其处理能力。我们在跳跃过程中手动设置了两个关键帧3D姿态；这些关键帧姿态被赋予了较低的权重（$w_q = 0.1$），因此其可信度低于自动估计的姿态。最终，算法成功重建出了平滑且符合物理规律的3D运动轨迹，填补了由稀疏关键帧造成的大间隙（见图11顶部）。跳高运动是我们唯一使用手动关键帧的案例，其余所有示例均通过自动2D/3D姿态估计生成。

### 6.2 场景估计的有效性

在我们的实现中，用户需先提供对场景布局的初步猜测，该猜测会在价值网络与策略网络的学习过程中被逐步优化。为了评估这种方法的有效性，我们比较了用户初始猜测与估计出的场景布局之间的重建精度。我们采用了MPJPE和接触点精度两项指标进行定量对比。平均关节位置误差（MPJPE）用于衡量VIBE估计出的

---

![Image](images/a26fb4597b147acae9fae89b718915f375e4d24710c1e0490e745223387dd855.jpg)

<div style="text-align: center;">Fig. 11. High jump and parkour sequences.</div>

---

<div style="text-align: center;">Table 2. Quantitative comparisons between fixed and estimated scene arrangements.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2"></td><td colspan="2">MPJPE [mm] $\downarrow$</td><td colspan="2">Contact accuracy [%] $\uparrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>human Intuition</td><td style='text-align: center; word-wrap: break-word;'>Object Generator</td><td style='text-align: center; word-wrap: break-word;'>human Intuition</td><td style='text-align: center; word-wrap: break-word;'>Object Generator</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parkour1</td><td style='text-align: center; word-wrap: break-word;'>137.21</td><td style='text-align: center; word-wrap: break-word;'>134.24</td><td style='text-align: center; word-wrap: break-word;'>81.8</td><td style='text-align: center; word-wrap: break-word;'>85.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parkour3</td><td style='text-align: center; word-wrap: break-word;'>181.98</td><td style='text-align: center; word-wrap: break-word;'>142.34</td><td style='text-align: center; word-wrap: break-word;'>50.8</td><td style='text-align: center; word-wrap: break-word;'>93.9</td></tr></table>

姿态与模拟姿态之间的差异。

 $$ \mathrm{MPJPE}=\frac{1}{I}\frac{1}{J}\sum_{i=0}^{I}\sum_{j=0}^{J}\left\|\boldsymbol{p}_{j}^{i}-\hat{\boldsymbol{p}}_{j}^{i}\right\|, $$

其中，I表示运动帧数，J表示关节数量，$\hat{p}_{j}^{i}$ 表示第i帧中参考姿态下第j个关节的位置，而 $p_{j}^{i}$ 则表示第i帧中模拟姿态下第j个关节的位置。接触精度用于衡量真实情况与模拟结果之间接触误差的平均值。

相较于用户提供的固定场景布局策略，采用所估计的场景布局后，MPJPE值更低且接触精度更高（详见表2）。我们的方法能够同时估算运动与场景布局，从而具备更好的灵活性与更高的精确度。即便如此，在实际应用中用户提供的布局依然重要，因为良好的初始猜测有助于加快学习过程并提升收敛速度。

鲁棒性方面，一系列训练好的控制策略所蕴含的信息远比在固定场景布局下的运动重建更为丰富。我们能够交互式地生成多种多样的新颖场景布局，而这些控制策略可据此合成物理上合理的3D人体动作（见图12）。这一实例展现了“重建与泛化”框架的潜力——该框架将数据采集过程与数据生成过程统一起来。

![Image](images/c13e3cc985927f21f71e6918371994ae815d52d690a68c134f7edeb5fea00fdc.jpg)

<div style="text-align: center;">Fig. 12. The learned control policy can robustly generate motions in various scene arrangements.</div>

### 6.3 接触估算器对比

我们对各类接触估算器的性能进行了比较（见表3）。Rempe等人提出的网络[^2020]是用静态视角视频训练的，而我们则使用静态视角与动态视角混合视频来训练自己的网络。本文针对所用示例视频评估了足部接触估算的精确度；我们手动标注了测试图像以提供真实值。不出所料，由于网络架构相同，两种网络在静态视角视频上的表现相当。对于所有动态视角视频，我们的网络平均性能比Rempe的网络高出8.84%。这一对比表明，我们的接触估算器能够有效处理动态视角视频。

### 6.4 消融研究

奖励机制方面，我们通过消融研究验证了所设计奖励机制的有效性。需要注意的是，接触奖励$r_{c}$与身体朝向奖励$r_{ori}$均利用了从2D姿态估算结果中获得的提示信息。此外，我们在训练策略时并未加入与角色-物体交互相关的奖励项，即距离奖励$r_{dist}$、对齐奖励$r_{align}$以及质心奖励$r_{com}$。

![Image](images/ce6ee2853eb0139eadb5a58794c8aa850d2f4f6110b1996e3d590670cbff0344.jpg)

![Image](images/6a3eec005081307a9bd3cf3a28b81c975a3d7478ca7537ce5af7f29573cfedd2.jpg)

![Image](images/23cff10f842039fc9e12a74bd3fd2b44d7ca18fce3751d589a27a84630fd5a8a.jpg)

![Image](images/7ff7e05166591fd610c1264449c11a6b2c75f3272b916d73c70392097b7860e2.jpg)

![Image](images/938078750e815a8f34ad8637503f74c0068462adf2caa43275dd44867c22976f.jpg)

![Image](images/cf217833f11984e44180518b4ea35cef3527eb177f8b49ee76cf39990d27e12c.jpg)

![Image](images/3c1d0af4a40e1a002440d675f14206dc61d469c3b74cadada49db712f56cf831.jpg)

![Image](images/858174a7119b2427b6a8d12eb99e4257f2c102f77f46aebb0c5bcfc88d2558f3.jpg)

![Image](images/545e1e264ff4610f16fb36a517e6b44f9fd19e2c3298b71f8fc5b0a8ef7a4128.jpg)

![Image](images/c22c457599e289b4b5ecebaf99f3775ee510735535c29dabdc535aeac8373d55.jpg)

<div style="text-align: center;">Fig. 13. Ablation study for rewards. (Top) The baseline algorithm (ours) successfully reconstructed the Parkour moves. (Second row) Without body orientation hints, the simulated character fails to maintain the upright direction. (Third row) Without contact rewards, the simulated character fails to land on appropriate location. (Fourth row) Without  $r_{object}$, which indicates the distance, the alignment, and the CoM rewards, the simulated character cannot advance the sequence towards the right direction and fails to land on the object at the expected contact time. (Bottom) Learning curves confirm the benefits of the rewards we designed.</div>

图13展示了加入与未加入这些奖励项时的对比结果。若没有身体朝向方面的提示信息，模拟角色往往会摔倒，因为训练数据中并未提供有关身体朝向的任何信息（见图13第二行）。

---

<div style="text-align: center;">Table 3. Accuracy (%) of foot contact estimation.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2"></td><td colspan="4">Static</td><td colspan="8">Dynamic</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cartwheel</td><td style='text-align: center; word-wrap: break-word;'>Backflip</td><td style='text-align: center; word-wrap: break-word;'>Forward jump</td><td style='text-align: center; word-wrap: break-word;'>Dance</td><td style='text-align: center; word-wrap: break-word;'>Lateral jump</td><td style='text-align: center; word-wrap: break-word;'>Jump top-out</td><td style='text-align: center; word-wrap: break-word;'>Hurdle</td><td style='text-align: center; word-wrap: break-word;'>High jump</td><td style='text-align: center; word-wrap: break-word;'>Parkour1</td><td style='text-align: center; word-wrap: break-word;'>Parkour2</td><td style='text-align: center; word-wrap: break-word;'>Parkour3</td><td style='text-align: center; word-wrap: break-word;'>Parkour4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>91.7</td><td style='text-align: center; word-wrap: break-word;'>88.1</td><td style='text-align: center; word-wrap: break-word;'>96.5</td><td style='text-align: center; word-wrap: break-word;'>88.5</td><td style='text-align: center; word-wrap: break-word;'>91.1</td><td style='text-align: center; word-wrap: break-word;'>80.8</td><td style='text-align: center; word-wrap: break-word;'>87.0</td><td style='text-align: center; word-wrap: break-word;'>87.4</td><td style='text-align: center; word-wrap: break-word;'>90.0</td><td style='text-align: center; word-wrap: break-word;'>82.3</td><td style='text-align: center; word-wrap: break-word;'>82.3</td><td style='text-align: center; word-wrap: break-word;'>90.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rempe et al.</td><td style='text-align: center; word-wrap: break-word;'>94.9</td><td style='text-align: center; word-wrap: break-word;'>93.7</td><td style='text-align: center; word-wrap: break-word;'>90.1</td><td style='text-align: center; word-wrap: break-word;'>89.2</td><td style='text-align: center; word-wrap: break-word;'>75.0</td><td style='text-align: center; word-wrap: break-word;'>71.7</td><td style='text-align: center; word-wrap: break-word;'>82.6</td><td style='text-align: center; word-wrap: break-word;'>73.6</td><td style='text-align: center; word-wrap: break-word;'>81.4</td><td style='text-align: center; word-wrap: break-word;'>75.9</td><td style='text-align: center; word-wrap: break-word;'>75.8</td><td style='text-align: center; word-wrap: break-word;'>85.0</td></tr></table>

由于从图像中估算出的提示信息并不精确，它仍能帮助模拟角色正确判断其直立方向。若没有接触奖励，模拟角色常常无法落在合适的接触区域，最终会绊倒（见图13第三行）。若缺少距离、对齐及质心奖励，模拟角色会朝向错误方向，从而无法正常完成跑酷动作；甚至会在空中旋转。由于这些多余且不必要的动作，角色无法在预期的接触时间内抵达目标物体（见图13第四行）。然而，当算法配备全部奖励项时，便能成功重构出跨越多个障碍物的跑酷动作（见图13第一行）。

自适应采样。我们还进行了消融实验，以评估公式(13)中自适应采样的有效性。图14展示了有无自适应采样时的学习曲线。正如预期，如果输入视频较长且/或场景结构复杂，自适应采样便至关重要。

![Image](images/c6955adcdd55155702da35825065bba3a74df784de1f7ec64795f83e631a825a.jpg)

![Image](images/99f7879befd8bf5e97dcdb4466aed0d61e2ce3c2c682f849919ca8a9dc4c4cd1.jpg)

<div style="text-align: center;">Fig. 14. Learning curves with and without adaptive sampling (AS) for long sequences, parkour1 and parkour2.</div>

### 6.5 与SFV方法的比较

图15展示了SFV [Peng et al. 2018b]与我们方法之间的并列对比结果。在SFV框架中，运动重建过程结束后，会进行额外的后处理来恢复运动的全局变换。具体做法是以无相机运动为前提，通过提取角色各帧的像素位置来获取角色的轨迹；随后再训练控制策略，使其模仿作为参考的重建运动数据。因此，使用SFV框架从动态相机视频中重建出的结果并不具备连贯的全局根轨迹。相比之下，我们的框架无论相机如何运动，都能成功重建运动轨迹。

![Image](images/8ec033ba3ac7d961374e7316ccd762d3b9fea085e060bff47d0ed4f90304c509.jpg)

![Image](images/a2ec594b8241ee27bd9dd466ed6c49430e6e511d2a11bfffb0f04a7b03cfa93a.jpg)

![Image](images/9d3322e0801d756357bf10e55b86ae8ba66b55a4e7d32dcadb75a42ecf442962.jpg)

![Image](images/95f2d42305728c108bb9944f251849e7f4cdc520dee81eaccb210dcc005ef6d7.jpg)

![Image](images/89b05793ed537ddafe2aa7cfb8f0595d111653bd947a81259294ba0b18a9aeb0.jpg)

![Image](images/563173ae0cd40403b66daa86911d50639a328ab3f6585c578c14b8b2c28f01eb.jpg)

![Image](images/5dca0f13309a613b6fa7e37b1e650524b5d7db5cf3d3b30667ba264f47afe3ec.jpg)

![Image](images/9f4d6c73d78ca36728ff6db90107a3c0682224fda160e05c4fa35d3f0595f5ad.jpg)

![Image](images/cbd246922071203d41dd922d585955657954e44885a8ab1517194090977b4976.jpg)

<div style="text-align: center;">(a) SFV [Peng et al. 2018b]</div>

![Image](images/7b130747fbc11a63940a3bb7bbad91c881d60ece4e41f076bd709ecce91c3937.jpg)

<div style="text-align: center;">(b) Ours</div>

<div style="text-align: center;">Fig. 15. Qualitative comparison between SFV [Peng et al. 2018b] and our method. Figures in the left column show reconstructed motions from SFV (dark blue characters), and our motion reconstruction results (green characters) are in the right columns. The global root trajectories are illustrated as black lines.</div>

## 7 讨论

我们提出了一种深度强化学习框架，它通过学习控制策略，从单目动态视角视频中重建三维人体运动。所学习的策略让我们能够更深入地理解重建运动背后的动力学机制，以及实现泛化的可能性。实验中所学到的策略展现了人类跑步、跳跃、快速改变运动方向、将身体拉至墙上方、摆动和翻滚等精细的运动技能。这些细节往往从观看视频时难以察觉。我们的算法揭示了

---

从自然场景视频中人体运动与运动技能的协同关系。

我们算法的性能取决于二维和三维姿态估计器的性能。实验表明，该算法能够应对姿态估计失误导致的适度间隙问题，但连续多帧出现较大间隙时则会引发问题。我们的框架对所选用的二维和三维姿态估计器没有特定要求；未来随着更优秀的姿态估计器问世，算法性能也会相应提升。

我们的框架存在诸多局限性。为了便于解决问题，我们做了多项假设。我们的动力学模型可能与视频中主体的身体特征不匹配。幸运的是，学习算法对质量、惯性、摩擦力和恢复系数等物理参数的选择具有较强鲁棒性。目前我们的算法仅能处理包括踏步、抓取和踢击在内的少数几种人机交互类型；我们还能想到许多其他类型，比如滚动/滑动接触和形变，它们在物理模拟中带来了有趣的挑战。深度接触估计器在检测脚与地面或物体接触方面表现良好，但要为手、膝盖和肘部训练接触估计器却并非易事，主要原因是针对各类接触类型的训练数据集规模不足。在实验中，我们手动标注了手与地面及物体的接触情况。

未来研究存在令人期待的机遇。其中一大挑战是实现多人互动场景下的运动重建。理解人与人互动的动力学机制在活动识别与合成领域有广泛应用。目前我们假设视频中的人体运动发生在地球表面，若能在不同物理环境中重建三维人体运动，比如水下和月球表面，将会十分有意义。

## 致谢

本研究得到了韩国政府（MSIT）资助的信息通信技术规划评估研究所（IITP）的资助（项目编号：2017-0-00878，即基于深度学习的人体运动模拟（SW StarLab））。

## 参考文献

Adobe Systems Inc. 2018. Mixamo. <http://www.mixamo.com>

Kevin Bergamin、Simon Clavet、Daniel Holden和James Richard Forbes. 2019. DReCon：基于数据驱动的物理角色响应式控制。《ACM图形学交易》（TOG）第38卷第6期，1–11页。

Marcus A Brubaker和David J Fleet. 2008. 用于人体姿态跟踪的膝部助行器。收录于2008年IEEE计算机视觉与模式识别会议。IEEE出版社，1–8页。

Marcus A Brubaker、David J Fleet和Aaron Hertzmann. 2007. 利用简化的下肢动力学进行基于物理的人体跟踪。收录于2007年IEEE计算机视觉与模式识别会议。IEEE出版社，1–8页。

Marcus A Brubaker、Leonid Sigal和David J Fleet. 2009. 接触动力学估计。收录于2009年IEEE第12届国际计算机视觉会议。IEEE出版社，2389–2396页。

Z. Cao、G. Hidalgo Martinez、T. Simon、S. Wei和Y. A. Sheikh. 2019. OpenPose：利用部件亲和场实现实时多人2D姿态估计。《IEEE模式分析与机器智能交易》（2019年）。

Yilun Chen、Zhicheng Wang、Yuxiang Peng、Zhiqiang Zhang、Gang Yu和Jian Sun. 2018. 用于多人姿态估计的级联金字塔网络。收录于IEEE计算机视觉与模式识别会议论文集。7103–7112页。

Alexander Clegg、Wenhao Yu、Jie Tan、C. Karen Liu和Greg Turk. 2018. 学习穿衣：通过深度强化学习合成人体穿衣动作。《ACM图形学交易》第37卷第6期，文章179（2018年12月），共10页。

Marco da Silva、Yeuhi Abe和Jovan Popović. 2008. 风格化人体运动的交互式模拟。《ACM图形学交易》第27卷第3期（2008年8月），1–10页。

Marc Habermann、Weipeng Xu、Michael Zollhoefer、Gerard Pons-Moll和Christian Theobalt. 2019. Livecap：从单目视频中实时捕捉人体动作。《ACM图形学交易》（TOG）第38卷第2期，1–17页。

Marc Habermann、Weipeng Xu、Michael Zollhofer、Gerard Pons-Moll和Christian Theobalt. 2020. Deepcap：利用弱监督的单目人体动作捕捉。收录于IEEE/CVF计算机视觉与模式识别会议论文集。5052–5063页。

Kaiming He、Georgia Gkioxari、Piotr Dollár和Ross Girshick. 2017. Mask R-CNN。收录于IEEE国际计算机视觉会议论文集。2961–2969页。

Kaiming He、Xiangyu Zhang、Shaoqing Ren和Jian Sun. 2015. 深入探究整流器：在ImageNet分类任务中超越人类水平的表现。CoRR abs/1502.01852（2015年）。arXiv:1502.01852 <http://arxiv.org/abs/1502.01852>

Kaiming He、Xiangyu Zhang、Shaoqing Ren和Jian Sun. 2016. 用于图像识别的深度残差学习。收录于IEEE计算机视觉与模式识别会议论文集。770–778页。

Jessica K. Hodgins、Wayne L. Wooten、David C. Brogan和James F. O'Brien. 1995. 人体运动动画制作。收录于第22届计算机图形学与交互技术年会（SIGGRAPH '95）论文集。美国纽约：计算机协会，71–78页。

Catalin Ionescu、Dragovichisescu. 2013. Human3.6m：自然环境中的大规模传感数据，第36卷第7期。

Angjoo Kanazawa、Michael J. Black、David W. Jacobs和Jitendra Malik。2018年。人体形状与姿态的端到端恢复。载于IEEE计算机视觉与模式识别会议（CVPR）。IEEE计算机协会。

Angjoo Kanazawa、Jason Y. Zhang、Panna Felsen和Jitendra Malik。2019年。从视频中学习3D人体动力学。载于计算机视觉与模式识别会议（CVPR）。

Muhammed Kocabas、Nikos Athanasiou和Michael J. Black。2020年。VIBE：用于人体姿态与形状估计的视频推理。载于IEEE/CVF计算机视觉与模式识别会议论文集。第5253–5263页。

Nikos Kolotouros、Georgios Pavlakos、Michael J. Black和Kostas Daniilidis。2019年。通过在循环中拟合模型来学习重建3D人体姿态与形状。载于IEEE国际计算机视觉会议论文集。第2252–2261页。

Dieter Kraft。1994年。算法733：TOMP——用于最优控制计算的Fortran模块。ACM数学软件交易刊，第20卷第3期（1994年9月），第262–281页。 <https://doi.org/10.1145/192115.192124>

Taesoo Kwon和Jessica K. Hodgins。2017年。用于控制动态人体运动的动量映射倒立摆模型。ACM图形学交易刊，第36卷第4期，文章编号145d（2017年1月），共14页。

Jeongseok Lee、Michael X. Grey、Sehoon Ha、Tobias Kunz、Sumit Jain、Yuting Ye、Siddhartha S. Srinivasa、Mike Stilman和C. Karen Liu。2018年。DART动态动画与机器人工具包。开源软件期刊，第3卷第22期（2018年），第500页。

Yoonsang Lee、Sungeun Kim和Jehee Lee。2010年。数据驱动的双足控制。ACM图形学交易刊，第29卷第4期，文章编号129（2010年7月），共8页。

Libin Liu和Jessica Hodgins。2018年。利用轨迹优化与深度强化学习来学习篮球运球技能。ACM图形学交易刊（TOG），第37卷第4期（2018年），第1–14页。

Libin Liu、KangKang Yin、Michiel van de Panne和Baining Guo。2012年。Terrain Runner：用于高度动态运动的控制、参数化、组合与规划。ACM图形学交易刊，第31卷第6期，文章编号154（2012年11月），共10页。

Naureen Mahmood、Nima Ghorbani、Nikolaus F. Troje、Gerard Pons-Moll和Michael J. Black。2019年。AMASS：作为表面形状的动作捕捉档案库。载于IEEE国际计算机视觉会议论文集。第5442–5451页。

Dushyant Mehta、Oleksandr Sotnychenko、Franziska Mueller、Weipeng Xu、Mohamed Elgharib、Pascal Fua、Hans-Peter Seidel、Helge Rhodin、Gerard Pons-Moll和Christian Theobalt。2020年。XNect：利用单个RGB摄像头实现实时多人3D动作捕捉。ACM图形学交易刊（TOG），第39卷第4期（2020年），第82–1页。

Dushyant Mehta、Srinath Sridhar、Oleksandr Sotnychenko、Helge Rhodin、Mohammad Shafiei、Hans-Peter Seidel、Weipeng Xu、Dan Casas和Christian Theobalt。2017年。VNect：利用单个RGB摄像头实现实时3D人体姿态估计。ACM图形学交易刊，第36卷第4期，共14页。 <https://doi.org/10.1145/3072959.3073596>

Josh Merel、Saran Tunyasuvunakool、Arun Ahuja、Yuval Tassa、Leonard Hasenclever、Vu Pham、Tom Erez、Greg Wayne和Nicolas Heess。2020年。Catch & Carry：用于视觉引导全身任务的可复用神经控制器。ACM图形学交易刊，第39卷第4期，文章编号39（2020年7月），共14页。

Aron Monszpart、Paul Guerrero、Duygu Ceylan、Ersin Yumer和Niloy J. Mitra。2019年。iMapper：基于交互引导的单目视频场景建模。ACM图形学交易刊（TOG），第38卷第4期（2019年），第1–15页。

Alejandro Newell、杨凯宇和邓佳。2016年。用于人体姿态估计的堆叠式沙漏网络。载于欧洲计算机视觉会议论文集。Springer出版社，第483–499页。

朴秀焕、柳浩硕、李世英、李顺敏和李哲熙。2019年。从杂乱无章的人体运动数据中学习预测与模拟策略。ACM

---

《计算机图形学汇刊》（TOG）第38卷第6期（2019年），第1–11页。

Adam Paszke、Sam Gross、Francisco Massa、Adam Lerer、James Bradbury、Gregory Chanan、Trevor Killeen、Zeming Lin、Natalia Gimelshein、Luca Antiga、Alban Desmaison、Andreas Kopf、Edward Yang、Zachary DeVito、Martin Raison、Alykhan Tejani、Sasank Chilamkurthy、Benoit Steiner、Lu Fang、白俊杰以及Soumith Chintala。2019年。PyTorch：一种命令式风格的高性能深度学习库。载于第32届神经信息处理系统大会论文集，由H. Wallach、H. Larochelle、A. Beygelzimer、F. d'Alché-Buc、E. Fox和R. Garnett编辑。Curran Associates, Inc.出版社，第8024–8035页。<http://papers.neurips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library.pdf>

Dario Pavllo、Christoph Feichtenhofer、David Grangier和Michael Auli。2019年。基于时序卷积和半监督训练的视频中3D人体姿态估计。载于计算机视觉与模式识别会议（CVPR）。

彭学斌、Pieter Abbeel、Sergey Levine和Michiel van de Panne。2018a。Deep Mimic：以示例为导向的基于物理的角色技能深度强化学习。《计算机图形学汇刊》（TOG）第37卷第4期（2018年），第1–14页。

彭学斌、Michael Chang、张 Grace、Pieter Abbeel和Sergey Levine。2019年。MCP：通过乘法组合策略学习可组合的分层控制。arXiv预印本arXiv:1905.09808（2019年）。

彭学斌、Angjoo Kanazawa、Jitendra Malik、Pieter Abbeel和Sergey Levine。2018b。SFV：从视频中通过强化学习获取物理技能。《计算机图形学汇刊》第37卷第6期，文章编号178（2018年11月），共14页。

Tomas Pfister、James Charles和Andrew Zisserman。2015年。用于视频中人体姿态估计的流动卷积神经网络。载于IEEE国际计算机视觉会议论文集。第1913–1921页。

Davis Rempe、Leonidas J. Guibas、Aaron Hertzmann、Bryan Russell、Ruben Villegas和杨继梅。2020年。从单目视频中获取接触信息与人体动力学。载于欧洲计算机视觉会议（ECCV）论文集。

John Schulman、Philipp Moritz、Sergey Levine、Michael Jordan和Pieter Abbeel。2015年。利用广义优势估计实现高维连续控制。arXiv:1506.02438 [cs.LG]

John Schulman、Filip Wolski、Prafulla Dhariwal、Alec Radford和Oleg Klimov。2017年。近端策略优化算法。arXiv:1707.06347 [cs.LG]

史明毅、Kfir Aberman、Andreas Aristidou、小村拓、Dani Lischinski、Daniel Cohen-Or和陈宝权。2020年。MotioNet：基于单目视频且具备骨骼一致性的3D人体运动重建。《计算机图形学汇刊》（TOG）第40卷第1期（2020年），第1–15页。

岛佐志、Vladislav Golyanik、徐伟鹏和Christian Theobalt。2020年。PhysCap：实时实现物理上合理的单目3D动作捕捉。《计算机图形学汇刊》第39卷第6期，文章编号235（2020年12月）。

Leonid Sigal、Alexandru O Balan和Michael J Black。2010年。HumanEva：用于评估人体关节运动的同步视频与动作捕捉数据集及基准算法。国际计算机视觉杂志第87卷第1-2期（2010年），第4页。

索光元、金万明和李哲熙。2007年。基于人体运动数据的双足行为模拟。《ACM图形学汇刊》第26卷第3期（2007年7月），107:1–107:10。

谭杰、刘凯和特克·格雷戈里。2011年。稳定的比例-微分控制器。《IEEE计算机图形学与应用》第31卷第4期（2011年），34–44页。 <https://doi.org/10.1109/MCG.2011.30>

乔纳森·J·汤普森、阿琼·贾恩、扬·勒昆和克里斯托夫·布雷格勒。2014年。卷积神经网络与图模型的联合训练用于人体姿态估计。收录于《神经信息处理系统进展》，第1799–1807页。

亚历山大·托舍夫和克里斯蒂安·塞格迪。2014年。DeepPose：基于深度神经网络的人体姿态估计。收录于《IEEE计算机视觉与模式识别会议论文集》，第1653–1660页。

马雷克·冯德拉克、列昂尼德·西格尔、杰西卡·霍金斯和奥德斯·詹金斯。2012年。基于视频的双足控制三维动作捕捉。《ACM图形学汇刊》第31卷第4期（2012年），1–12页。

马雷克·冯德拉克、列昂尼德·西格尔和奥德斯·查德威克·詹金斯。2008年。用于概率运动跟踪的物理仿真。收录于2008年IEEE计算机视觉与模式识别会议，IEEE出版社，第1–8页。

魏世恩、拉马克里希纳·瓦伦、筱原武夫和谢赫·亚瑟尔。2016年。卷积姿态机。收录于《IEEE计算机视觉与模式识别会议论文集》，第4724–4732页。

韦晓林和柴金祥。2010年。VideoMoCap：从单目视频序列中建模物理真实感人体运动。收录于ACM SIGGRAPH 2010论文集，第1–10页。

元正达姆、戈皮纳特·迪帕克和杰西卡·霍金斯。2020年。一种用于控制物理模拟角色多样化行为的可扩展方法。《ACM图形学汇刊》第39卷第4期，文章编号33（2020年7月），共12页。

元正达姆和李哲熙。2019年。基于物理的角色中身体形态变化的学习。《ACM图形学汇刊》第38卷第6期（2019年），1–12页。

向东来、朱汉彪和谢赫·亚瑟尔。2019年。Monocular Total Capture：野外环境下人脸、身体和手部的姿态估计。收录于《IEEE计算机视觉与模式识别会议论文集》，第10965–10974页。

谢兆明、凌洪宇、金南熙和范德潘内·米歇尔。2020年。ALL-STEPS：基于课程驱动的分步技能学习。《计算机图形学论坛》第39卷，Wiley在线图书馆，第213–224页。

徐伟鹏、查特吉·阿维谢克、佐尔霍费尔·迈克尔、罗丁·赫尔格、梅塔·杜希扬特、赛德尔·汉斯-彼得和特奥博尔特·克里斯蒂安。2018年。MonoPerfCap：基于单目视频的人体动作捕捉。《ACM图形学汇刊》第37卷第2期，文章编号27（2018年5月），共15页。 <https://doi.org/10.1145/3181973>

尹康康、洛肯·凯文和范德潘内·米歇尔。2007年。SIMBICON：简单的双足运动控制。《ACM图形学汇刊》第26卷第3期（2007年7月），105:1–105:10。

尹志奇和尹康康。2020年。用于基于物理的角色动画的线性时间稳定PD控制器。《计算机图形学论坛》第39卷第8期（2020年），第191–200页。 <https://doi.org/10.1111/cgf.14113>

余文浩、特克·格雷戈里和刘凯伦。2018年。学习对称且低能耗的运动方式。《ACM图形学汇刊》第37卷第4期（2018年），1–12页。

袁烨和基塔尼·克里斯。2018年。通过模仿学习进行3D自我姿态估计。收录于《欧洲计算机视觉会议论文集》（ECCV），第735–750页。

袁烨和基塔尼·克里斯。2019年。将自我姿态估计与预测作为实时PD控制。收录于IEEE/CVF国际计算机视觉会议论文集，第10082–10092页。

叶远和Kris Kitani。2020年。用于敏捷人类行为模仿与扩展动作合成的残余力控制。arXiv预印本arXiv:2006.07364（2020年）。
