作为捉拿技术在影视和游戏行业已得到广泛的应用,其中最常用的技术规划是光学作为捉拿。光学动捕需要演员穿着紧身动捕服,并且在身上粘贴光学标记点,在配置好光学动捕设备的场地进行表演和作为录制。光学动捕设备通常价格不菲,同时还需要固定的室内场地,使用成本和门槛较高,很多小型动画工作室只能望而却步。如果可以从手机拍摄的视频中高精度地捉拿人物作为,那将是动画师的福音。现在,动画师的福音来了。一起来看下面的视频,只需用手机从两个视角拍摄同一组人物作为,便可快速高质量地捉拿到人物的作为,得到骨骼动画数据。这些都是通过iCap——网易互娱AI Lab研发的一款产品级的视觉作为捉拿工具实现的。,时长00:09,时长00:09相比于传统光学作为捉拿流程,iCap有以下优势:1.快速产出:能够快速产出作为数据,更适用于敏捷开发,方便前期试错;2.随时随地:只需光照条件足够让拍摄清晰,便可随时随地拍摄视频,产出结果;3.节约人力,节约成本。值得一提的是,iCap不仅支持身体关节数据捉拿,也支持手部数据捉拿。近日,网易互娱AI Lab已经将手部作为捉拿部分的算法进行了整理,相关论文已被CVPR 2022接收。
论文链接:https://arxiv.org/pdf/2203.16202.pdf现有的手部作为捉拿方法大部分是将手部信息和身体信息分开考虑的,即这些规划的输入是单纯的手部视觉信息。这样做的问题是,捉拿到的手部作为可能会和手臂作为存在不匹配,不协调的情况,在整合进全身作为捉拿数据时容易产生不合理的姿势。另外,现有的手部作为捉拿方法大多都只考虑了当前帧的信息,未能考虑帧间连续性,输入的作为容易出现抖动,也难以应对复杂的手部作为捉拿场景(模糊、遮挡等)。这些问题都导致现有规划比较难以推向实际应用。为解决现有规划的痛点,网易互娱AI Lab提出了解决规划,该规划的主要贡献点如下:1.考虑到手臂作为和手部作为之间的相关性,设计模型同时预测手臂和手部作为;通过利用此相关性,输入的手臂和手部姿势会更加合理;2.通过两个transformer模型分别在时间和空间维度上提取相关性信息,使得手臂和手部的相关性能够更好地被利用,与此同时也能输入帧间连续的结果;另外,论文还定制了合适的指标函数以获得准确而稳定的输入序列。 方法介绍此项工作的指标是从视频中捉拿手臂和手的作为,具体地,此规划以骨骼转动量来表示作为。实现上述指标最简单的思路是直接学习一个图像到骨骼转动量的映射,但这就需要有能够和作为捉拿数据逐帧匹配图像数据(即和作为捉拿数据对齐的视频),这通常是难以获取的。研究者认为,直接从图像输入中学习转动量信息难度要大于从关键点输入中学习转动量信息,因为前者缺少训练数据,后者则可以很方便地从作为捉拿数据中提取出(输入关键点,输入转动量)数据对。基于上述分析,规划的整体框架主要包括了一个关键点预测模块和一个转动量估计模块。下图展示了iCap中手部作为捉拿算法的整体框架。
模型结构手部作为捉拿规划由两个模块组成,一个是关键点预测模块,另一个是转动量预测模块。我们首先获取手部2D关键点以及手臂处的3D关键点,然后在基于这些关键点,设计了合适的模型用来估计转动量。关键点预测模块蕴涵一个手部2D关键点定位模型和一个手臂3D关键点预测模型。手部2D关键点定位模型是基于MobileNetV3结构设计的,具体结构是基于one shot NAS搜索得出。手臂3D关键点则直接采用CVPR 2018的VPose3D预测全身3D姿势,再从中提取手臂关键点。转动量预测模块主要蕴涵两个Transformer模型,一个是Temporal Transformer,一个是Spatial Transformer,整个模块称为Spatial-Temporal Parallel Arm-Hand Motion Transformer(PAHMT)。Temporal Transformer的主要指标是提取手臂和手部作为的时序先验信息,以求输入帧间连续的作为数据。Spatial Transformer的主要指标是提取手臂姿势和手势姿势之间的全局相关性(挥动手臂往往和挥动手掌高度相关)以及不同关节点之间的局部相关性(譬如无名指的运动通常会带动中指和小拇指)。对于一段输入序列,将其Reshape成不同形状以作为两个Transformer的输入。不论是全局相关性还是局部相关性,他们在不同帧之间都应该保持一致,故论文受到ViT中的classification token的启发,设置了一个可学习的regression token,用来表征空间相关性特征。我们将Spatial Transformer输入的空间相关性特征和Temporal Transformer时序特征进行逐元素相加(element-wise adding)得到最后的特征,最后经过一个简单的回归网络得到最后的输入。指标函数用来引导模型训练的指标函数主要蕴涵两个部分,一部分是重建指标函数,一部分是对抗指标函数。
对抗指标函数的主要目的是引导模型输入具有“真实感”的手臂和手部作为。重建指标函数是负责去学习骨骼转动量的,主要由三个部分组成,L1 loss,FK loss和帧间平滑loss,
重建损失的基本指标是L1 loss。
考虑到在以骨骼树的形式表示一个姿势的转动量的时候,不同关节的重要程度是不一样的(父节点的转动量会直接影响到子节点的位置,故同样的转动缺点作用于父子节点时,父节点带来的整体缺点更大),论文引入了FK loss,即对输入转动量通过FK函数计算得到关节点位置,用它与ground truth关节点位置计算loss。
考虑到帧间连续性,论文还引入了帧间平滑loss。
实行结果由于缺少蕴涵手部数据的开源作为捉拿数据集,研究者收集了一套蕴涵身体关节和手部作为的作为捉拿数据,数据蕴涵500段作为,总计约20万帧。该动捕数据主要蕴涵了一些舞蹈和体育作为,覆盖了很多肢体作为和手势。研究者对该数据进行了划分(90%训练集,10%验证集),在此作为捉拿数据集上训练模型并进行了消融实行对比。下图展示了该数据的样例。
另外,论文还通过动捕数据渲染得到了一批蕴涵手部作为标签的视频数据,用来和state-of-the-art算法进行对比。下图展示了渲染数据集的样例。
评价指标:论文同时以MPJPE(Mean Per Joint Position Error)和MPJRE(Mean Per Joint Rotation Error)作为评价指标;
Baseline: 模型backbone为普通CNN,指标函数只蕴涵对抗损失和L1 loss,输入输入和论文提出的规划一致,训练涉及的batch size,learning rate等信息均与消融实行中其他方法一致;
AHMT:只考虑Temporal Transformer的规划;
h2h和ah2ah:h2h表示输入手部关键点输入手部转动量;ah2ah表示同时输入手臂和手臂关键点并同时输入手臂和手部转动量。
下表展示了消融实行的结果。结果显示,通过利用帧间相关性信息,普通Temporal Transformer表现出显著优于CNN的性能。而通过引入Spatial Transformer来利用手臂姿势和手势姿势之间的全局相关性以及不同关节点之间的局部相关性之后,实行缺点继续显著降低(MPJPE降低13%,MPJRE降低16%)。对于指标函数,可以看出单独引入FK loss能够降低实行缺点,而单独引入帧间平滑损失则于缺点降低无益,这是因为帧间平滑损失的主要指标是提高输入的帧间连续性。但值得注意的是,当FK loss和帧间平滑损失结合使用时,实行缺点比单独使用任意一种都更低。综上所述,实行验证了论文提出的并行时空transformer结构以及指标函数的有效性。
下表是论文规划和state-of-the-art算法(ExPose,FrankMocap)在渲染数据集上的实行结果,结果表明论文规划显著优于之前的state-of-the-art方法。
下图展示了论文规划和state-of-the-art算法的直观对比,第一行是一些蕴涵识别难度较高的手部作为的视频帧,第二行是FrankMocap的结果,第三行是ExPose的结果,最后一行是论文规划的结果。不难看出论文规划表现出了明显更佳的准确性和鲁棒性。
网易互娱AI Lab提出了一套高效的手部作为捉拿算法,该算法在准确性和稳定性上都显著优于现有的规划。目前该算法已接入其视觉作为捉拿产品iCap中,并持续帮助多个游戏工作室进行作为资源辅助生产。
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/30767