HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimatio
CVPR 2021
【paper】
【code】
摘要
(1)基于模型的三维姿态和形状估计方法通过估计人体的几个参数来重建完整的三维网格。然而,抽象参数的学习是一个高度非线性的过程,且图像与模型存在偏差,导致模型性能较差。
(2)相比之下,3D关键点估计方法将深度CNN网络与体积表示相结合,实现了像素级的定位精度,但可能会预测不现实的身体结构。
在本文中,我们通过弥合体网格估计和三维关键点估计之间的差距来解决上述问题。提出了一种新的混合逆运动学解(HybrIK)。
HybrIK原理:HybrIK通过扭摆分解,直接将精确的三维关节转换为相对的身体部位旋转,进行三维身体网格重建。通过三维关节解析求解摆动旋转,通过神经网络从视觉线索获得扭转旋转。
结果表明:与单纯的三维关键点估计方法相比,HybrIK既保留了三维姿态的准确性,又保留了参数化人体模型的真实身体结构,从而得到了像素对齐的三维身体网格和更精确的三维姿态。在没有附加功能的情况下,本文提出的方法在各种三维人体姿态和形状基准上大大超过了目前最先进的方法。结果表明,在三维数据集上,HybrIK算法的MPJPE和PVE性能分别达到13.2 mm和21.9 mm。
Introduction
大多数基于模型的方法可以分为两类:基于优化的方法和基于学习的方法。
基于优化的方法通过迭代拟合过程估计身体的姿态和形状。对统计模型的参数进行调整,以减少二维投影和二维观测之间的误差,如二维关节位置和轮廓。但该优化问题是非凸性的,求解时间较长。结果对初始化是敏感的。这些问题将人们的注意力转移到以学习为基础的方法上。
基于学习的方法使用神经网络直接回归模型参数。但是统计模型中的参数空间比较抽象,使得网络学习映射函数比较困难。
这启发了我们建立三维关节与体网格之间的协作; 一方面,精确的三维关节有助于三维体网格的估计。另一方面,参数化车身模型中的形状先验又解决了三维关键点估计方法中车身结构不现实的问题(目前的三维关键点估计方法缺乏对人体骨骼长度分布的明确建模,可能会对左右不对称、四肢比例异常等人体结构进行不现实的预测。通过利用参数化的人体模型,提出的人体形状更符合实际人体)。
我们方法的核心是通过扭转和摆动分解提出创新的解决方案。将骨架部分的相对旋转分解为扭转和摆动,即纵向旋转和面内旋转。我们通过解析计算摆动旋转和预测扭转旋转,沿着运动学树递归合成整个旋转。
贡献‘
(1)我们提出了HybrIK,一种混合分析-神经IK解决方案,可以将精确的3D关节位置转换为完整的3D人体网格。HybrIK是可微分的,允许端到端培训。
(2)我们的方法关闭了3D骨架和参数化模型之间的循环。它解决了目前基于模型的体网格估计方法的对齐问题和三维关键点估计方法的体结构不现实的问题。
(3)我们的方法在各种3D人体姿势和形状基准上实现了最先进的性能。
相关工作
3D关键点估计
三维人体姿态估计在以往的研究分为基于直接回归的三维人体姿态估计和基于2D信息的三维人体姿态估计;【参考2021年三维人体姿态估计研究综述】;
基于模型的三维姿态和形状估计
【参考2019年基于深度学习的人体姿态估计方法综述_邓益侬】的3D人体姿态估计密集的模型建模;
姿态估计中的身体部分旋转
我们的方法的核心是通过混合IK过程计算人体部位的相对旋转。在三维姿态估计的文献中,有一些关于相对旋转估计的著作:
- Deep kinematic pose regression. In ECCV,2016【利用网络预测身体各个关节的旋转角度,然后用FK层生成三维关节坐标】
- Quaternet: A quaternion-based recurrent model for human motion. In BMVC, 2018. 【转换为四元数】
- Skeleton transformer networks: 3d human pose and skinned mesh from single rgb image. In ACCV, 2018.【直接预测3×3旋转矩阵】
- Xnect: Real-time multi-person 3d human pose estimation with a single rgb camera.【首先估计三维关节,然后使用拟合程序求旋转欧拉角】
以前的方法要么局限于一个难学的问题,要么需要一个额外的拟合程序;
我们的方法从三维关节位置恢复身体部位的旋转,以直接、准确和前馈的方式;
逆运动学过程
数值解是实现IK过程的简单方法,但它们存在耗时的迭代优化问题。
启发式方法是解决IK问题的有效方法。
在某些特殊情况下,IK问题存在解析解。
在本工作中,我们结合解析解的可解释性和神经网络的灵活性,引入前馈混合IK算法与扭摆分解。扭转角是由神经网络估计,这是更灵活的,可以推广到所有身体关节。与以往针对特定关节机构设计的解析解[17]相比,我们的算法可以以直接可微的方式应用于整个人体骨架。
方法
在§3.1中,我们简要描述了正运动学过程、逆运动学过程和SMPL模型。在§3.2中,我们介绍了提出的逆运动学解HybrIK。然后,在§3.3中,我们提出了一个整体的学习框架来估计像素对齐的体网格和真实的3D骨架。最后,我们在§3.4中提供了必要的实现细节。
§3.1
【正运动学】
【逆运动学】
§3.2混合解析-神经逆运动学
通过相对旋转的直接回归估计人体网格过于困难;在这里,我们提出了一种混合分析-神经逆运动学解(HybrIK),利用3D关键点估计来提高3D体网格估计。由于三维关节不能唯一确定相对旋转,我们将原始旋转分解为扭转和摆动。利用三维关节进行摆动旋转的解析计算,并利用神经网络的视觉线索估计单自由度旋转。在HybrIK中,相对旋转沿着运动学树递归地求解。我们进行了误差分析,并进一步开发了一个自适应的解决方案来减少重构误差。
在这项工作中,我们考虑一个一般的情况,其中每个身体关节都假定有完整的三个自由度。
Datasets
3DPW:这是一个具有挑战性的户外基准三维姿态和形状估计。我们只使用该数据集对其测试集进行评估。
MPI-INF-3DHP: 它由受限的室内和复杂的室外场景组成。
Human3.6M: 这是室内三维姿态估计的基准。我们使用5名受试者(S1, S5, S6, S7, S8)进行训练,2名受试者(S9, S11)进行评估。
MSCOCO: 这是一个大规模的野外2D人体姿态数据集。
HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimatio相关推荐
- 【2020-CVPR-3D人体姿态估计】Deep Kinematics Analysis for Monocular 3D Human Pose Estimation
Deep Kinematics Analysis for Monocular 3D Human Pose Estimation 题目:<单目三维人体姿态估计的深度运动学分析> 作者:Jin ...
- 3D Human Pose Estimation from Monocular Images with Deep Convolutional Neural Network(2014)
Deep network for 3D pose estimation(2014) 本文提出两种策略去训练deep convolutional neural network以进行3D pose est ...
- 机器人学之运动学笔记【4】—— 逆向运动学(Inverse Kinematics)
机器人学之运动学笔记[4]-- 逆向运动学(Inverse Kinematics) 1. 逆向求解概念 1.1 了解 1.2 Reachable workspace & Dexterous w ...
- 【论文分享】★★★「SOTA」小样本图神经网络分类模型 HGNN:Hybrid Graph Neural Networks for Few-Shot Learning
题目:Hybrid Graph Neural Networks for Few-Shot Learning 链接:https://ieeexplore.ieee.org/stamp/stamp.jsp ...
- Unity Inverse Kinematics(IK)的使用
IK动画全名是Inverse Kinematics 意思是反向动力学,就是子骨骼节点带动父骨骼节点运动.比如跳街舞的少年用手撑着身体在地上转圈,手就是子骨骼,胳膊身体就是它的父骨骼,这时运动手就需要带 ...
- Blender图解教程:什么是正向动力学(Forward Kinematics简称FK)和反向动力学(Inverse Kinematics 简称IK)
小补一下IK和FK的基础知识,本文仅介绍的原理,其设置方式将在其它文章中介绍. FK 即 Forward Kinematics 正向动力学 IK 即 Inverse Kinematics 反向动力学 ...
- 反向动力学在计算机动画中的应用,Unity3d教程运用类人动画反向动力学 (Inverse Kinematics)...
反向动力学 (Inverse Kinematics)(仅限专业版 (Pro)) 大多数动画经过旋转调整骨架中关节的视点为预订值来制造.子关节的方位依据其父关节的旋转而改变,因而,关节链的端点由其所包含 ...
- 反向动力学(Inverse kinematics) 学习笔记
反向动力学(Inverse kinematics) 学习笔记 1 背景 1.1 骨骼动画 将动画分为两个部分:用于绘制外观的蒙皮,以及用于控制动作的骨架(摘自维基百科).这些骨架以树状结构组织,每片骨 ...
- Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用
Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用 目录 Unity Mecanim动画系统 之 IK(Inverse Kinemat ...
最新文章
- python默认的一个代码缩进是几个空格_python缩进长度是否统一
- 一个KindEditor的插件[myFocus]
- poj-1284(Primitive Roots)(欧拉函数运用)
- Hibernate的@Temporal注解处理时间日期类型的映射关系
- html页面源码_整合SpringMVC之错误处理底层原理及源码分析
- 通过字符串引入模块下的属性
- 第3节 中间层创建与设置
- 墨迹天气语音包_广州天气|冷空气到货,任性吃火锅的理由又有了
- Windows 8.1 轻量接触接触方式部署(二)
- 今日恐慌与贪婪指数为84 贪婪程度有所上升
- 一个人的旅行 图论最短路问题
- 使用datagrid时json的格式
- kail linux镜像文件,KaLi Linux iso下载_KaLi Linux官方镜像文件下载 2018.3 官网最新版(32位/64位)_当载软件站...
- 阿里月饼事件被辞程序员冤吗
- 内核学习——VEH / SEH
- 房地产企业项目管理的特点与目标
- The content of element type “mapper“ must match “(cache-ref|cache|resultMap*|parameterMap*|sql*|inse
- Java中一个数的N次方
- a href点击无效_a标签失效的问题
- 什么是opc ua通信?opc ua的介绍