基于SMPL-X模型的人体姿态与形状重构算法

2021-12-01 05:55马蓉蓉韩超远
陕西科技大学学报 2021年6期
关键词:人体模型关节点体型

李 健,马蓉蓉,韩超远,齐 勇,何 斌

(1.陕西科技大学 电子信息与人工智能学院,陕西 西安 710021;2.同济大学 电子与信息工程学院,上海 201804)

0 引言

人体姿态估计从静态图像或视频序列中识别不同人体部位的位置和方向,是人体动作分析与识别的基础,目前广泛应用在人机交互、医学影像、数字娱乐和视频监控等众多领域.参数化人体模型的姿态估计包含表示关节点旋转角度和人体外观体态表现的参数信息,使得人体的三维姿态更加丰富、准确.

目前,大部分研究基于SMPL (Skinned Multi Person Linear model)模型[1]展开,主要依赖于根据检测到人体二维关节点坐标调整3D人体模型到2D图像的映射关系.文献[2]从图像中提取局部特征,再通过优化求解模型参数来拟合这些图像特征.文献[3]提出了包含面部和手部细节的SMPL-X(SMPL eXpressive)模型,并将上述算法扩展至此模型.此类基于优化的算法效果好,但速度慢,易于局部最优,且依赖于初始值.基于学习的方法从图像全局特征进行匹配分析,能有效避免基于优化方法在复杂姿态和遮挡关系情况下出现的特征误匹配问题.但由于SMPL-X是比SMPL维度高的模型且输入不变情况下手、脸部分图像分辨率低,将SMPL模型神经网络回归器扩展到SMPL-X,直接从RGB图像中回归参数来重建完整的3D人体,在细节上难以实现.

为了解决上述问题,本文融合现有基于回归和优化的方法,设计了一种基于SMPL-X的人体姿态和形状估计的方法.首先利用HMR(Human Mesh Recovery)网络[4],从像素直接回归模型参数,获取姿态更为精确的身体部分的表示作为初始值.然后利用二维人体关键点和人体轮廓的约束,构造能量函数对参数进行优化求解,拟合至SMPL-X模型,重建出包含面部、手部细节更精细的模型表示.避免了二维关节映射到三维姿态时的信息缺失问题,加快迭代优化的速度,提高了人体重建模型的准确度.

1 相关研究

1.1 参数化人体模型

对整个人体进行捕获建模是一个具有挑战性的问题,为了使其易于处理,研究人员分而治之的进行了身体、面部和手部重建研究.对于人脸,Blanz和Vetter引入了第一个3D可变形模型[5].对于人手,Khamis等[6]从RGB-D图像中学习手形变化的模型,Romero等[7]通过3D手部扫描数据学习具有丰富形状和姿势空间的参数化手模型MANO(hand Model with Articulated and Non-rigid deformations).对于人体而言,引入CAESAR数据集后创建出了SCAPE[8]、SMPL等可求解形状和姿势的模型,然而这些模型具有中性的面容且不包含手部的细节.Adam[9]和SMPL-X是最早代表身体、面部和手部的模型.Adam缺少SMPL依赖于姿势的混合形状,且发行版本不含面部表达.SMPL-X模型将SMPL人体模型、FLAME (Faces Learned with an Articulated Model and Expressions)人头模型[10]和MANO人手模型相结合,模块完全铰接,提供了一个包含脸部表情和手部动作的更加全面生动的人体模型,更能反应人体真实的3D结构.

1.2 人体姿态估计

人体姿势估计通常是对2D或3D关节点的估计[11-13],与解剖学关节相对应,仅仅使用关节点的相对位置关系表示人体姿态是不够的,容易忽略人体的外观体态表现.最新的研究使用参数化模型或非参数化模型解决此问题.三维人体姿态估计方法可以划分为两大类别:(1)先通过二维图像来估计二维人体姿态,再由二维人体姿态预测三维人体姿态;(2)通过二维图像,以端到端的方式直接预测三维人体姿态.

第一类方法:将问题分解为多个阶段.第一阶段由二维人体关节检测器估计关节位置得到二维人体姿态估计,作为中间表示.第二阶段通过模型匹配[2,3]或者训练回归器[4,14,15]的方式估计二维人体姿态和三维人体姿态之间的映射关系.从低维空间向高维空间求解时会产生深度模糊等不适定问题,上述方法通过已知的肢体长度、统计人体模型、关节角度限制等各种先验规则进行正则化来解决.这类方法利用的是2D信息,因此很容易获得注释,但缺点是最终的回归器无法利用原始图像像素,造成信息缺失,并且中间任务造成的错误无法克服.

第二类方法:直接根据RGB像素预测3D姿势,避免了信息瓶颈和其他错误源,但学习姿势的映射关系更加困难.大多数方法推断3D人体关节,非参数模型的方法估计体素[16]、距离场[17]或3D网格深度图[18],参数化模型的方法估计模型参数[19-21].成对的室内图像和MoCap数据集允许进行有监督的训练,但无法推广到野外数据.为了解决这个问题,Rogez和Schmid[22]通过合成的3D人类来扩充这些数据集,而Kanazawa等[4]在野外数据集上应用了重投影损失在其2D关节标注上,实现了弱监督.

2 算法设计

基于SMPL-X模型的人体姿态估计重建中最主要的问题是如何将标准人体模板与真实数据进行非刚体配准,本质就是为标准模板寻找合适的体型、姿态以及面部参数,从而使这些参数所描述的人体模型与输入的真实数据实现最优匹配.本文设计了一种基于此模型的人体姿态与形状估计的方法,算法框架如图1所示,使用HMR生成对抗网络框架从彩色图像中提取模型参数,再利用人体关键点和轮廓的约束构造能量函数并对参数进行优化求解.

图1 算法总框架图

2.1 3D人体表示

BP(θ;P)

(1)

M(β,θ,φ)=W(Tp(β,θ,φ),J(β),θ,ω)

(2)

W是一个混合蒙皮线性方程,ω是各个关节的混合权重,其包含:将β体型参数对应到骨骼关节的函数J(β),将θ姿态参数以及动作参数修正P映射到模型对应点的变形函数BP(θ;P),将β体型参数及其修正数据S映射到模型对应点的变形函数BS(β,S),将φ面部参数及其修正参数ε映射到模型对应点的变形函数BE(φ;ε).

2.2 HMR算法

由于深度信息缺失,从二维图像直接推断人体三维姿态时容易出现误差.HMR算法是目前人体姿态估计领域应用较为成功的深度学习网络结构,可在一定程度上缓解由于人体自遮挡和二维图像深度信息的丢失导致姿态不确定的问题.因此对于身体部分的姿态估计,参考如图2所示HMR网络框架.

图2 HMR网络框架

网络输入单张图片,首先经过Resnet-50编码层输出卷积特征,再送入3层全连接回归层,输出相机参数、SMPL模型体型参数β、动作参数θ.网络预测获取到模型M(β,θ)及模型的三维关节位置X(θ,β).

(3)

(4)

(a)原始RGB (b)预测模型图3 神经网络预测模型

2.3 二维特征获取

从二维图像到三维的人体模型直接求解具有挑战,将问题分解为两个阶段,首先从图像中获取二维关节信息和人体边缘轮廓,用于后续拟合模型的姿态和体型参数.

2.3.1 二维关节获取

本文采用3D参数模型以二维观测求解三维人体姿态及其映射关系,因此人体二维关节检测在三维人体姿态估计中起着重要作用.OPENPOSE算法[12]利用卷积神经网络实现的人体二维关节点检测.RGB图像作为输入,经过10层VGG-19进行特征提取,再将所得特征分为2个分支送入深层卷积网络.通过贪心推理预测身体各关节位置部分置信度图S和部分亲和字段得到一组二维矢量场L(part affinity fields),表示了身体各部分间的关联程度.使用CMU Panoptic数据集训练的网络模型,输出如图4所示,包含(身体25、手部32、面部70个)关节点二维坐标及置信度.

(a)原始RGB (b)关节预测结果图4 二维关节预测结果

2.3.2 轮廓边缘检测

边缘轮廓可以更加精确的定位人体位置.本文使用像素覆盖分割算法[23]对图像进行人体分割以获取轮廓,用于后续模型体型参数的求解.在RGB颜色空间,分别用一个K=5的高斯分量的全协方差混合高斯模型(GMM)来对目标和背景进行建模.

E(α,k,θ,z)如公式(5)所示,用于整个图像的Gibbs能量,由区域能量项U与边界能量项V构成.其中,区域能量项表示像素被归类为目标或者背景的惩罚.D为混合高斯密度模型,θ模型参数(高斯分量的权重π、均值向量u和协方差矩阵∑).根据像素RGB值,代入目标和背景GMM,得到该像素所属目标或背景的概率.边界能量项体现邻域像素m和n之间不连续的惩罚.根据两邻域像素差别来确定是否属于同一类别,衡量两像素的相似性采用颜色之间的欧式距离‖zm-zn‖2,图像的对比度用β体现,放大缩小差别.分割结果如图5所示.

(5)

(a)原始RGB (b)轮廓分割结果图5 人体边缘轮廓分割结果

2.4 能量函数构造

利用上述2.2节获取的 SMPL模型及其参数表示,将姿态参数进行SMPL到SMPL-X的转换作为模型初始值,将模型的关节点和三维轮廓顶点重投影到二维平面上,再利用2.3节获取二维关节信息以及人体边缘轮廓作为约束,最小化匹配能量函数.调整模型的姿态参数使之与二维关节点对齐,从而得到与图像中人物姿态相似的三维姿态.调整模型的体型参数,使投影点尽可能靠近二维轮廓线,达到调整模型形状的目的.使用的能量函数如式(6)所示.

E(β,θ,φ)=EJ+λθbEθb+λθfEθf+λmhEmh+λαEα+λβEβ+λεEε+λcEc+λshEsh(θ)

(6)

其中,β、θ、φ为了约束2D到3D的固有歧义,用了不同的先验进行正则化,λθb、λθf、λmh、λα、λβ、λε、λc、λsh分别为对应能量项的权重参数,Eε、Eθf、Emh表示面部表情、脸部动作、手部动作的L2正则项.Eβ表示体型先验,通过与训练数据集中的形状分布之间的马氏距离计算.Eθb参考文献[3]通过变分自编码器(VAE)训练一个全身姿态先验,来惩罚不合理的动作.

(7)

Ec表示互穿惩罚项,惩罚身体部位相互穿透的先验.使用BVH(Bounding volume hierarchy)检测碰撞三角形C列表,并计算由三角形C及其法线n定义的局部圆锥3D距离场,根据距离场中位置计算入侵深度并对渗透率进行惩罚.fs和ft是相互入侵的三角形,ft的顶点vt是fs的距离场Ψfs中的入侵项,表示受到Ψfs(vt)的入侵惩罚,反之亦然.

Eα(θb)=∑i∈(elbows,knees)exp(θi)

(8)

Eα表示膝盖和肘部弯曲的先验,θ表示弯曲方向,为负方向时表示合理,为正时表示不合理,能量值变大,给予惩罚.

(9)

EJ表示基于关节点的距离约束项,使用重投影损失来最小化估计的2D关节点Jext,i和SMPL-X每个3D关键点Rθ(J(β))的2D投影的加权鲁棒距离,J(β)从模型表面顶点获取每个关键点坐标,Rθ(J(β))根据动作参数θ给每个关节点做旋转,从而得到符合当前动作的每个关键点的坐标,其中Rθ是沿着运动学变换关节的函数,表示与姿态参数有关的全局刚性变换函数,使用的是罗德里格斯公式(Rodriguez formula)将每两个关节轴角转换为局部旋转矩阵.Jext,i和ωi为OpenPose方法得到的第i个关节点的坐标及其置信度,并使用杰曼麦克卢尔函数(Geman-McClure)ρ处理噪声.其中∏表示具有固有摄像机参数K的3D到2D的正交投影,求解其与二维关节点坐标之间的加权欧氏距离,使其最小化.计算关节重投影损失采用Adam优化器,处理局部最优解使用退火方案,表现在γ上.

(10)

3 实验结果与分析

3.1 数据集和评价指标

在数据集EHF 和3DPW上测试所提出的基于SMPL-X模型的姿态与体型重构算法性能.EHF由100帧RGB图像、3D扫描及对齐的SMPL-X网格组成,受试者执行各种身体姿势、手势和面部表情,用于来评估全身预测.3DPW包括在室外RGB视频序列带有SMPL三维姿态注释,包含在室内和室外环境中执行各种运动的几个受试者,通过单一的RGB相机和IMU安装在受试者上捕获的,用于评估仅身体部分的重构.

为了进一步定量评估算法的精度,与真实的3D骨架进行比较,使用平均每关节位置误差(Mean Per Joint Position Error ,MPJPE)和进行刚性变换(旋转、平移和缩放)对齐后的关节点误差平均值(Procrustes Analysis-Mean Per Joint Position Error,PA-MPJPE)作为评价指标,即在预测网格和地面真值上应用线性关节回归器计算14个LSP公共关节间平均欧氏距离.为了与地面真相网格进行比较,使用了网格顶点到顶点(V2V)误差,即地面真值与预测的网格顶点之间的平均距离.预测网格和地面真值网格具有相同的拓扑时,为了与文献[2,4,19]等预测SMPL而不是SMPL-X的方法进行公平的比较,只在身体部分计算V2V.

3.2 定向评估

为验证文中提出的基于形变模型的人体姿态与体型重构算法有效性,在EHF数据上实验,展示算法在复杂姿势下的有效性,并将同样利用单张RGB进行人体姿态估计的文献[3]SMPLify-X、文献[4]HMR和最新基于SMPL-X模型STOA工作[9]算法作为对比算法.图6为EHF数据集不同动作的4帧图像的姿态估计结果,HMR算法姿态估计比较准确但缺乏面部与手部的估计.SMPLify-X在细节上表现更好,但存在细微姿势估计以及体型不准确的问题.文献[9]算法不包含面部信息,且存在姿态估计不准确问题.文中所提算法相较而言,姿态估计的结果更为精准,增加头部特征点,因此头部姿态估计更为准确,同时引入了二维轮廓线约束,因此重构结果在腿部、腹部等部分体型更加准确.

(a)原始图像 (b)HMR (c)SMPLify-X (d)文献[9] (e)本文图6 EHF数据集部分人体估计结果对比展示

为了进一步评估算法的普适性与精度,对该算法在任意获取的RGB图像上进行了实验,结果如图7所示.对复杂姿势且着装情况下,其余算法姿态估计效果相对数据集上均有所下降,本文算法对于姿态和体型的估计效果仍能保持,在细微姿态估计、头部与手部细节处表现良好,模型平滑流程,验证了该算法的普适性.

(a)原始图像 (b)HMR (c)SMPLify-X (d)文献[9] (e)本文图7 真实数据人体估计结果对比展示

3.3 定量评估

在3DPW数据集上与基于SMPL模型优化的方法SMPLify、回归的HMR和文献[19]SPIN算法,对模型的身体部位、比较关节预测误差与网格顶点误差取平均值(以毫米为单位).表1显示,本文的算法性能在不同姿态下关节预测与模型预测结果平均值相较于SMPLify、HMR,SPIN具有明细优势.

表1 不同算法3DPW数据集的实验误差

在EHF数据集上与SMPLify-X进行比较.使用公开训练的模型,与文献[14]进行比较,该算法使用不包含面部信息的SMPL-X模型.与估计SMPL模型的HMR和SPIN进行仅身体部分的评估.表2评估结果表明,在完整的人类表达重建和身体部分重建方面,网格顶点误差和关节位置估计准确度均优于其他基准,有明显优势.同时在手脸细节部分,由于本算法在姿态和体型的贴合,定位更加准确,与SMPLify-X相比有了细微提高.

表2 不同算法EHF数据集的实验误差

4 结论

本文提出了一个从二维图像估计三维人体姿态与体型算法,并结合SMPL-X模型将估计结果以三维人体网格模型的形式体现.结合回归与优化方法,利用GAN网络获取姿态与模型参数作为初始值,再利用关节和轮廓特征优化拟合模型参数,重建出包含更丰富的人体细节的SMPL-X人体模型.实验结果表明,在姿态与体型估计方面准确度高,解决了重建精度有限的问题,并且使用回归参数作为先验使得优化算法速度大大提升.在今后的工作中,将进一步研究利用视频时序上所包含信息解决二维图像深度信息缺少导致姿态估计不准确的问题.

猜你喜欢
人体模型关节点体型
基于关节点数据关注RGB视频的双人交互行为识别
校车连体型主动式安全气囊保护效果的研究优化
科学家发现体型比手机还小的恐龙化石
基于人体行为模型的跌倒行为检测方法①
体型最小的猫,竟然是个恐怖的大胃王
结构化:向儿童思维更深处漫溯
丰田汽车碰撞测试新增儿童模型
Family makes 45—foot icicle in front yard
体验创新:3D人体扫描仪测三围
我们正走向矮人世界