一种基于隐空间运动编码的多人人体模型重建方法

文档序号:26606622发布日期:2021-09-10 23:45阅读:90来源:国知局
一种基于隐空间运动编码的多人人体模型重建方法

1.本发明涉及一种基于隐空间运动编码的多人人体模型重建方法,属于计算机视觉及三 维视觉领域。


背景技术:

2.多人人体模型重建在全息通讯、交通行为监测、群体行为分析等应用中有着重要的作 用。在人工智能相关技术的推动下,市场对人体重建的需求日益增加。目前基于单视角的 人体模型重建方案面临着深度歧义、对遮挡不鲁棒等问题,这导致基于单视角的工作一方 面由于深度不定而无法重建出准确的人体模型,另一方面由于图像信息的缺失,面对有遮 挡的多人图像无法得到良好的重建结果。基于多视角的人体模型重建方案虽然在一定程度 上能弥补单视角方案的这些不足,但是现有的方法需要先进行相机标定然后才能进行人体 模型重建,流程复杂。此外,由于人体模型相互遮挡与视角缺失,有效信息减少,导致多 视角方法也难以重建准确的交互多人人体模型。面对有遮挡的多人图像,时序约束可以较 好地弥补由于被遮挡而缺失的人体模型信息。但是加入时序约束的重建方法求解空间维度 大,计算复杂,容易落入局部最小值。因此,在简化重建流程的基础上,加入时序信息, 实现准确的多人人体模型重建是一个新的挑战性问题。


技术实现要素:

3.发明目的:本发明提出一种基于隐空间运动编码的多人人体模型重建方法,利用多个同 步相机采集多人人体视频,经过姿态检测与跟踪,使用隐空间运动编码结合物理运动先验联 合优化相机参数和人体模型,从多视角未标定视频序列中直接重建三维人体模型。
4.技术方案:本发明所述的一种基于隐空间运动编码的多人人体模型重建方法,包括以 下步骤:
5.s1.隐空间运动先验训练:从现有包含运动序列的三维人体模型数据集中提取人体运动 序列,用于变分自编码网络训练,训练完成后固定变分自编码网络的解码器参数,用于后 续迭代优化;
6.s2.搭建多视角相机系统并采集多人体运动视频;
7.s3.对步骤s2中搭建的多视角相机系统采集到的多人体运动视频使用现有开源二维姿 态估计和跟踪进行预处理,获得二维关节点轨迹;
8.s4.利用多视角视频初始帧三维姿态来获取初始相机外参;
9.s5.步骤s3中获得的二维关节点轨迹和步骤s4中得到的初始相机外参,通过几何三角 剖分计算出每帧中每个待重建人体每个关节点的三维位置,然后将人体初始模型的关节点 与每个关节点的三维位置对齐,以对齐后的初始三维人体模型作为拟合的初始状态,依次 完成多人体运动视频中每个待重建人体的对齐;
10.s6.以步骤s5中初始化后的三维人体模型为初始状态,利用步骤s1中训练完成的
自编 码网络的解码器对隐空间编码进行解码,驱动三维人体模型变形,迭代优化隐空间编码和 步骤s4中获得的初始相机外参,使三维人体模型的关节点投影与步骤s3中得到的二维关 节点轨迹一致,最后对每帧中的人体模型进行蒙皮后即可获得整个序列的人体重建结果。
11.进一步地,步骤s1的具体方法包括:
12.s11.从现有包含运动序列的三维人体模型数据集中提取人体运动序列,每帧中的人体运动信 息通过一个骨架蒙皮的三维人体模型进行表示,其骨架姿态以关节点旋转表示,通过关节点 旋转驱动人体网格变形,对于t帧具有n个骨架关节点的人体运动序列,用t
×
n
×
6个参数 对其进行表示;
13.s12.首先,构造变分自编码网络来对步骤s11中所述人体运动信息进行学习,构建人体运 动信息的隐空间表示,所述变分自编码网络的编码器由一个编码门控循环单元、一个均值编 码网络和一个方差编码网络组成,所述变分自编码网络的解码器由一个解码全连接网络和一 个解码门控循环单元组成,以t帧人体运动序列作为输入,经过变分自编码网络的编码器得 到该序列对应的均值和方差,从均值方差所组成的分布中进行采样,其采样编码经过变分自 编码网络的解码器后恢复成输入的t帧人体运动序列;
14.s13.对经过变分自编码网络的编码器得到该序列对应的均值和方差以标准正态分布作为 监督,以两个分布之间的kullback

leibler散度对隐空间分布加以约束,其公式如下:
[0015][0016]
其中n(μ,σ2)表示标准正态分布,p(x)表示均值编码网络和方差编码网络服从的分布, kl(p||n)表示分布p和分布n之间的kullback

leibler散度;
[0017]
此外,进一步对输出参数使用输入参数的l2损失进行约束,
[0018]
l
param
=‖x
in

x
out
‖2[0019]
x
in
,x
out
分别是输入和输出的人体三维关节点旋转参数,‖
·
‖2表示二范数,l
param
表示输 入参数与输出参数之间的l2损失;
[0020]
进一步用旋转参数驱动网格变形,以输入与输出网格之间的l2损失作为约束:
[0021]
l
mesh
=‖m(x
in
)

m(x
out
)‖2[0022]
m是可微分的蒙皮操作,以旋转参数作为输入,输出变形后的三维人体网格,l
mesh
表示 输入与输出网格之间的l2损失;
[0023]
最终,变分自编码网络的训练损失为:
[0024]
l=λ
kl
kl(p||n)+λ
param
l
param

mesh
l
mesh
[0025]
其中λ
kl

param

mesh
为权重;
[0026]
s14.由于人体运动数据有限,在训练变分自编码网络的过程中使用数据增广来增强所训 练模型的泛化性能,其策略包括:
[0027]
s141.对现有运动序列进行隔帧采样:在原始序列中每间隔m帧采样一帧,构成t帧的运 动序列作为输入;
[0028]
s142.倒序采样:将所采样运动序列的先后顺序颠倒后作为输入;
[0029]
s143.镜像翻转:将人体对称肢体对应的关节点旋转互换,构成新的运动序列作为
输入, 以步骤s13的监督,训练网络直至收敛;
[0030]
s15.完成上述网络训练后,隐空间编码能够以更小的空间维度表示一个完整的人体运 动序列,固定解码器网络参数,随机给定隐空间编码,经过解码器解码后获得人体运动序 列,通过调整隐空间编码,所解码的运动序列也产生相应的运动变化。
[0031]
进一步地,步骤s2中所述多视角相机系统是使用多个flir blackfly工业相机进行多 视角采集,使用三脚架对所述工业相机进行固定,围绕被采集区域摆放,通过硬件触发进 行同步采集,利用usb3.0,pcie接口储存到固态硬盘。
[0032]
进一步地,步骤s3的具体方法为:对采集到的多人体运动视频使用现有开源二维姿态估 计和跟踪进行预处理,每帧图像中,姿态估计获得的人体关节点通过人体跟踪获得连续的关 节点运动轨迹,以人体关节点的位移向量作为约束,对所获取轨迹进行筛选,位移向量计算 公式为:
[0033][0034]
其中s
i
,s
i

n
分别表示第i帧和第i

n帧人体关节点的位置,当的模长大于阈值θ时, 认为跟踪出错,若出错帧数超过k帧,则认为错误无法被纠正,丢弃所有出错结果;若出 错帧数小于k帧,就用当前帧和出错前的最后一帧更新对视频中检测到的每个人体对 象进行上述处理,获得二维关节点轨迹。
[0035]
进一步地,步骤s4的具体方法包括:首先利用现有开源单视角三维姿态估计方法,在相 对坐标下对所采集视频不同视角的初始帧中的同一人体对象进行三维姿态预测,由于相同时 刻不同视角三维姿态之间只存在刚性旋转的差异,而人体刚性旋转等同于相机外参的旋转, 因此,选取其中一个视角作为初始视角,计算其他视角下人体三维姿态相对于该视角三维姿 态的刚性旋转;然后,初始视角的相机旋转为单位阵,其相机平移通过相机内参、三维姿态 估计结果和二维姿态估计结果利用最小二乘法求得,其公式为:
[0036][0037]
其中π为投影,r,t分别为相机旋转和平移,j为三维姿态估计得到的三维关节点位置, p为二维姿态检测得到的二维关节点像素坐标,t
*
为求解得到的平移;
[0038]
得到初始视角相机外参后,将第二个视角三维姿态的刚性旋转作为相机外参的旋转, 利用初始视角的三维姿态和当前视角的二维姿态通过上述公式获取该视角下的相机外参; 重复上述过程获得每个视角相机外参。
[0039]
进一步地,步骤s6的具体方法包括:
[0040]
利用初始化后的三维模型、相机参数和二维姿态估计得到的二维关节点进行光束平差优 化,其公式为:
[0041][0042]
其中λ
repreoj

motion

latent
为权重,r,t,z为各视角相机旋转、平移和多人体隐空间编码, l
reproj
(r,t,z)为重投影项,l
motion
(z)为物理运动先验项,l
latent
(z)为隐空间运动先验项;
[0043]
其中重投影项为:
[0044][0045]
m为该帧二维关节点是否可见,如可见则为1,反之为0,p为二维姿态检测得到的二维 关节点像素坐标,ω为二维关节点的置信度,z为隐空间编码,d(z)为隐空间解码后转换得到 的人体三维关节旋转,fk为正向动力学变换,f,v,n分别为序列帧数、视角数和待重建人数;
[0046]
物理运动先验项l
motion
(z)为:
[0047][0048]
为第n个待重建人体对象第f帧的三维关节点旋转,表示第n个待重建人体 对象第f

1帧的三维关节点旋转,表示第n个待重建人体对象第f+1帧的三维关节 点旋转;
[0049]
隐空间运动先验项l
latent
(z)为:
[0050][0051]
z
n
表示第n个待重建人体对象的隐空间编码,通过优化求解所得到的隐空间编码经过解 码,对每帧中的人体模型进行蒙皮后即可获得整个序列的人体重建结果。
[0052]
与现有技术相比,本发明的有益效果为:1、只需要多视角rgb相机同步采集多人视频, 标定与重建同时进行,设备简单,流程简洁。2、使用隐空间编码表示人体运动,在优化过程 中提供运动先验信息,同时缩减维度,降低优化求解难度。3、联合优化过程中,人体结构先 验、物理运动先验和隐空间运动先验提高了相机参数求解的准确性。4、对于人体受严重遮挡 的视频帧,即使缺少二维关节点约束,利用物理运动先验和隐空间运动先验能够重建该帧的 结果,降低了多人相互遮挡、跟踪误差对重建的影响。
附图说明
[0053]
图1是本发明的流程图;
[0054]
图2是隐空间运动先验网络结构图;
[0055]
图3是多视角采集系统示意图;
[0056]
图4是人体模型示意图;
[0057]
图5是二维姿态估计与关节点轨迹结果图;
[0058]
图6是重建结果图。
具体实施方式
[0059]
以下结合实施例和说明书附图,详细说明本发明的实施过程。
[0060]
下面结合附图对本发明作进一步详细描述。如图1所示,本发明所述的一种基于隐 空间运动编码的多人人体模型重建方法,包括如下步骤:
[0061]
(1)从现有包含运动序列的三维人体模型数据集中提取人体运动序列,每帧中的人体运 动信息通过一个骨架蒙皮的三维人体模型进行表示,本实施例中,人体运动信息是指某一 个时刻人体的姿态,许多个时刻的姿态组成一个运动序列,其骨架姿态以关节点旋转表示, 通过关节点旋转驱动人体网格变形。为了在深度神经网络中对三维旋转进行连续表示,对于 具有n个关节点的人体骨架,每个关节点使用6维参数表示三维旋转。其6维参数具体为三 维旋转矩阵的前两个列向量,由于其第三个列向量只表示正负号,因此可以通过前两个列向 量叉乘获得。当网络估计得到6维参数后,将其组成两个列向量,首先经过施密特正交化, 最后通过叉乘确定第三个列向量,最终即可以3
×
3的旋转矩阵的形式表示每个关节点的旋转。 因此,对于t帧具有n个骨架关节点的人体运动序列,即可用t
×
n
×
6个参数对其进行表示。
[0062]
(2)首先,构造如图2所示的变分自编码网络来对上述人体运动信息进行学习,构建人 体运动信息的隐空间表示。其编码器由一个编码门控循环单元、一个均值编码网络和一个方 差编码网络组成。其解码器由一个解码全连接网络和一个解码门控循环单元组成。以t帧人 体运动序列作为输入,经过编码器得到该序列对应的均值和方差,从均值方差所组成的分布 中进行采样,其采样编码经过解码器后恢复成输入的t帧人体运动序列。
[0063]
(3)对编码得到的均值和方差以标准正态分布作为监督,以两个分布之间的 kullback

leibler散度对隐空间分布加以约束。其公式如下:
[0064][0065]
其中n(μ,σ2)表示标准正态分布,p(x)表示均值编码网络和方差编码网络服从的分布 ,kl(p||n)表示分布p和分布n之间的kullback

leibler散度。
[0066]
此外,进一步对输出参数使用输入参数的l2损失进行约束。
[0067]
l
param
=‖x
in

x
out
‖2[0068]
x
in
,x
out
分别是输入和输出的人体三维关节点旋转参数,‖
·
‖2表示二范数,l
param
表示输 入参数与输出参数之间的l2损失。为了获取更精细的运动细节,我们进一步用旋转参数驱动 网格变形,以输入与输出网格之间的l2损失作为约束:
[0069]
l
mesh
=‖m(x
in
)

m(x
out
)‖2[0070]
m是可微分的蒙皮操作,以旋转参数作为输入,输出变形后的三维人体网格,l
mesh
表示 输入与输出网格之间的l2损失。
[0071]
最终,变分自编码网络的训练损失为:
[0072]
l=λ
kl
kl(p||n)+λ
param
l
param

mesh
l
mesh
[0073]
其中λ
kl

param

mesh
为权重。
[0074]
(4)由于人体运动数据有限,在训练上述网络的过程中使用数据增广来增强所训练模型 的泛化性能。其策略主要包括:1、对现有运动序列进行隔帧采样。在原始序列中每间隔m帧 采样一帧,构成t帧的运动序列作为输入。2、倒序采样。将所采样运动序列的先后
顺序颠倒 后作为输入。3、镜像翻转。将人体对称肢体(如左右手)对应的关节点旋转互换,构成新的 运动序列作为输入。以步骤(3)的监督,训练网络直至收敛。
[0075]
(5)完成上述网络训练后,隐空间编码即可以更小的空间维度表示一个完整的人体运动 序列。固定解码器网络参数,随机给定隐空间编码,经过解码器解码后即可获得人体运动序 列。通过调整隐空间编码,所解码的运动序列也产生相应的运动变化。
[0076]
多视角相机系统搭建:
[0077]
(6)本发明采集系统构成简单,仅使用多个flir blackfly工业相机进行多视角采集。 使用三脚架对相机进行固定,围绕被采集区域适当摆放。通过硬件触发进行同步采集。利用 usb3.0,pcie接口储存到固态硬盘。如图3所示。
[0078]
人体二维姿态估计与跟踪:
[0079]
(7)对采集到的多人体运动视频使用现有开源二维姿态估计和跟踪进行预处理。每帧图 像中,姿态估计获得的人体关节点通过人体跟踪获得连续的关节点运动轨迹。由于多人运动 产生的遮挡和交互,跟踪结果存在噪声。为了滤除跟踪错误的结果,本发明中以人体关节点 的位移向量作为约束,对所获取轨迹进行筛选。位移向量计算公式为:
[0080][0081]
其中s
i
,s
i

n
分别表示第i帧和第i

n帧人体关节点的位置。当的模长大于阈值θ时,θ一 般根据相机帧率和相机焦距确定,本实施例中的θ取值为10,认为跟踪出错,若出错帧数超 过t帧,t一般根据相机帧率进行选取,本实施例中的t,取值为30,则认为错误无法被纠正, 丢弃所有出错结果,如图5所示。若出错帧数小于t帧,就用当前帧和出错前的最后一帧更 新对视频中检测到的每个人体对象进行步骤(7),获得二维关节点轨迹。
[0082]
初始相机参数获取:
[0083]
(8)联合求解相机参数和人体三维模型是一个高度非凸优化问题,其初始值的准确性极 大影响最终结果的准确性。由于相机内参只由相机硬件决定,本发明中假定相机内参已知。 本发明提出利用多视角视频初始帧三维姿态来获取初始相机外参。首先利用现有开源单视角 三维姿态估计方法,在相对坐标下对所采集视频不同视角的初始帧中的同一人体对象进行三 维姿态预测。由于相同时刻不同视角三维姿态之间只存在刚性旋转的差异,而人体刚性旋转 等同于相机外参的旋转。因此,选取其中一个视角作为初始视角,计算其他视角下人体三维 姿态相对于该视角三维姿态的刚性旋转。然后,初始视角的相机旋转为单位阵,其相机平移 通过相机内参、三维姿态估计结果和二维姿态估计结果利用最小二乘法求得。其公式为:
[0084][0085]
其中π为投影,r,t分别为相机旋转和平移,j为三维姿态估计得到的三维关节点位置,p为 二维姿态检测得到的二维关节点像素坐标。得到初始视角相机外参后,将第二个视角三维姿 态的刚性旋转作为相机外参的旋转,利用初始视角的三维姿态和当前视角的二维姿态通过上 述公式获取该视角下的相机外参。重复上述过程获得每个视角相机外参。
[0086]
初始三维关节点获取与人体模型初始化:
[0087]
(9)通过(7)(8)获得的二维姿态结果和初始相机参数,通过几何三角剖分可以计算 出每帧中每个待重建人体每个关节点的三维位置。
[0088]
(10)同样为了降低优化求解难度,本发明需要对人体三维模型进行初始化。对于待拟 合序列中的每帧,将人体初始模型的关节点与(9)获得的三维关节点对齐,以对齐后的初始 三维人体模型作为拟合的初始状态。依次完成视频序列中每个待重建人体的对齐。
[0089]
基于隐空间运动编码的光束平差法求解:
[0090]
(11)利用初始化后的三维模型、相机参数和二维姿态估计得到的二维关节点进行光束 平差优化。其公式为:
[0091][0092]
其中λ
repreoj

motion

latent
为权重,r,t,z为各视角相机旋转、平移和多人体隐空间编码。 其中重投影项为:
[0093][0094]
m为该帧二维关节点是否可见,如可见则为1,反之为0。p为二维关节点,ω为二维关 节点的置信度。z为隐空间编码。d(z)为隐空间解码后转换得到的人体三维关节旋转。fk为 正向动力学变换。f,v,n分别为序列帧数、视角数和待重建人数。
[0095]
物理运动先验项为:
[0096][0097]
为第n个待重建人体对象第f帧的三维关节点旋转,表示第n个待重建人体 对象第f

1帧的三维关节点旋转,表示第n个待重建人体对象第f+1帧的三维关节 点旋转。。
[0098]
隐空间运动先验项为:
[0099][0100]
z
n
表示第n个待重建人体对象的隐空间编码,通过优化求解所得到的隐空间编码,经 过解码,对每帧中的人体模型进行蒙皮后即可获得整个序列的人体重建结果。
[0101]
以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了 解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进 一步说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化 和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权 利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1