Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

参与王淑婷 张倩 路雪

BMVC 2018最佳学生论文:EPFL&FAIR提出QuaterNet,更好地解决人类动作建模问题

英国机器视觉大会(BMVC)2018 于 9 月 3 日到 6 日在英国纽卡斯尔举行,来自瑞士洛桑联邦理工学院(EPFL)和 FAIR 的研究者 Dario Pavllo 等人获得了此次大会的最佳学生论文奖。这篇论文提出了一种基于四元数(quaternion)的循环模型 QuaterNet,用于解决人类运动建模问题。在短期预测方面,QuaterNet 性能优于之前最优的模型。

对人类动作进行建模对于许多应用都很重要,包括动作识别 [12, 34]、动作检测 [49] 及计算机图形学 [22] 等。最近,神经网络被用于 3D 骨骼关节部位序列的长 [22, 23] 、短 [14, 37] 期预测。神经方法在其他模式识别任务中非常成功 [5, 20, 29]。人类动作是一种带有高级内在不确定性的随机序列过程。给定一个观察的姿势序列,未来的丰富姿势序列与之相似。因此,内在不确定性意味着,即使模型足够好,在预测未来姿势的一个长序列时,相隔时间较长的未来预测不一定能够匹配推断记录。因此,相关研究通常将预测任务分为长期预测和短期预测。短期任务通常被称为预测任务,可以通过距离度量将预测与参考记录进行比较来定量评估。长期任务通常被称为生成任务,更难定量评估。在这种情况下,人类评估至关重要。


本研究涉及长期和短期任务,目标是匹配或超越计算机视觉文献中用于短期预测的最佳方法,以及匹配或超越计算机图形学文献中用于长期生成的最佳方法。本着这一目标,作者确定了当前策略的局限性并试图突破这些局限。本文的贡献是双重的。首先,作者提出了一种使用四元数的方法,该四元数带有循环神经网络。其它参数化(如欧拉角)存在不连续性和奇异性,可能导致梯度爆炸和模型训练困难。以前的研究试图通过切换到指数地图(也称为轴角表示)来缓解这些问题,结果问题只是得以缓解而没有完全解决 [17]。其次,作者提出了一个可微损失函数,它对参数化骨骼执行正向运动学,并将关节方位预测和基于位置的损失函数的优点相结合。


实验结果改进了用于人类 3.6m 基准短期预测的最新角度预测误差。作者还通过人类判断,将长期生成质量与计算机图形学文献中最近的研究进行了对比。在这项任务中,作者匹配了之前关于运动的工作的质量,同时允许在线生成,并更好地控制艺术家强加的时间和轨迹约束。


代码和预训练模型地址:https://github.com/facebookresearch/QuaterNet 


论文:QuaterNet: A Quaternion-based Recurrent Model for Human Motion




论文链接:https://arxiv.org/pdf/1805.06485.pdf


摘要:使用深度学习来预测或生成 3D 人体姿势序列是一个活跃的研究领域。之前的研究要么围绕关节旋转,要么围绕关节位置。前者的策略在使用欧拉角或参数化的指数映射时,容易沿着运动链累积误差,且它具备不连续性。后者的策略要求重新投影到骨骼约束上,以避免骨骼拉伸和无效配置。本文的研究打破了上述两个限制。我们的循环网络 QuaterNet 代表四元数的旋转,我们的损失函数对骨骼执行正向运动,以惩罚绝对位置误差,而不是角度误差。就短期预测而言,QuaterNet 从数量上提升了当前最佳水平。就长期生成而言,我们的方法在质量上被判定为与图形学文献中的近期神经策略一样可行。


3.1 模型架构&训练算法


图 1 展示了我们的 pose 网络的高级架构,该网络被我们用于短期预测和长期生成任务。如果将其用于后者,该模型包含附加输入(即图中的「Translations」和「Controls」),用于提供艺术控制。该网络将所有关节的旋转(编码为单位四元数)和可选输入作为其输入,并且在给定 n 帧初始化的情况下,训练该网络使其可预测骨骼在 k 个时间步上的未来状态,k 和 n 取决于任务。对于学习,我们使用 Adam 优化器 [27] 将梯度范数修剪至 0.1,并以每个 epoch α = 0.999 对学习率进行指数级衰减。对于高效的批处理,我们从训练集采样固定长度的 episode,在有效的起点上进行均匀采样。我们把 epoch 定义为大小等于序列数目的随机样本。


图 1:QuaterNet 架构。「QMul」代表四元数乘法:如果包括在内,它会迫使模型输出速度;如果绕过,则模型会发出绝对旋转。


3.2 旋转参数化和正向运动损失


图 2:(a) H3.6m 数据集上的局部角度分布,其中橙色表示 [−π/2, π/2] 的安全范围,蓝色表示可能有问题的范围(所有角的 7%)。(bc) 四元数的 antipodal 表示问题。(b) 是来自训练集的真实序列,既不连续,又不清晰。(c) 我们的方法,修正了不连续性,但仍然允许两个可能的选择 q 和-q。(d) 训练集上步伐参数的分布。


4 实验


4.1 短期预测


表 1:在 Human 3.6M 数据集上,不同动作的短期运动预测的平均角度误差:简单基线(顶部)、之前的 RNN 结果(中间部分)、我们模型的结果(底部)。粗体字表示最优结果,下划线字表示之前的最优结果。


图 3:在较长时间跨度内对不同模型进行对比。我们对比了全部 15 个动作在 64 个测试序列上的平均角度误差。(a) Velocity 模型和 orientation 模型的对比,基线为 0-velocity。两个模型都使用 scheduled sampling 进行训练。(b) 使用 scheduled sampling 训练对 velocity 模型的有益影响。


4.2 长期生成


图 4:使用角度(angle)和使用位置损失进行长期生成训练的对比结果。(a) 关节方向之间的角距离。(b) 关节位置之间的欧氏距离。优化角度会减少位置损失,而优化位置损失会直接得到较低的误差和更快的收敛。(c) 角度损失带来了梯度爆炸。(d) 位置损失使梯度保持平稳。在这种情况下,噪声仅仅源于 SGD 采样。


图 5:左图:我们的研究与 [23] 的对比。右图:我们的 pace 网络可对时间、空间进行精准控制。这里,我们令角色沿着一条有急转弯的路径冲刺(急转弯即图中的尖峰部分)。角色通过减速、旋转身体,并提高步频来预测转弯。


图 6:动作生成示例。上:走;下:跑。

理论学术会议论文
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

推荐文章
暂无评论
暂无评论~