一种针对两视图的全局三维人体姿态可信估计方法与流程

文档序号:16926056发布日期:2019-02-22 19:52阅读:311来源:国知局
一种针对两视图的全局三维人体姿态可信估计方法与流程

给定两幅以人为主体的视图,本发明旨在估计满足对极几何约束约束和骨长约束的可信三维人体姿态。首先,本发明提出利用两视图对极几何约束和人体骨长约束检测不可靠关节点估计的方法。其次,本发明提出对极线约束和骨长约束进行不可靠关节的矫正方法。最后,本发明提出自动的相机外参标定和骨长计算方法。对于人体姿态估计中严重遮挡,对称歧义,运动模糊等挑战,本发明实现了鲁棒可信的姿态估计。本发明在不利用人体模型或假设任何人体先验知识的情况下,可以实现对不同骨架尺寸,比例的任何人进行稳定,可信的二维和全局三维人体姿态估计。



背景技术:

现有的三维人体姿态估计方法根据输入数据不同可以分为:基于单目rgb图像(序列);基于深度图像(序列);和基于多视图图像(序列)。基于单目rgb图像(序列)进行三维人体姿态估计是一个严重约束不足的问题,系统的观测输入为复杂自然图像,状态输出为高维人体姿态,由观测输入到状态输出过程是高度非线性的。3d姿态训练数据集的不足、不同人体尺寸和比例的差异、以及三维姿态空间的高维度,都使得三维姿态重建的可信性成为亟待解决的关键问题。基于深度图像(序列)的三维人体姿态估计方法有效缓解了基于单目图像方法的深度歧义问题。现有的基于深度的人体姿态估计方法所采用的深度图通常来自tof相机或kinect传感器。然而,kinect和tof都是主动传感器,因此仅限于没有红外线干扰的室内场景,并且只能在有限的范围内工作。基于多视图图像(序列)的方法可以有效克服单目三维姿态估计中的困难,并构建一个更真实适用的姿态估计系统。但现有的多视图方法通常都是独立地估计二维姿态和三维姿态,因此不能充分利用多视图三维几何信息。这些的方法的结果可能不满足多视图几何约束。

目前为止的三维姿态估计方法在获取关节点深度信息方面都依赖于骨架模型和训练数据。骨架模型提供关节点之间几何约束,训练数据则提供了二维姿态与深度之间的统计关系。然而,三维姿态数据集获取困难、规模小;同时三维姿态的状态参数维度高、个体身材比例和大小的差异大。这导致三维姿态估计结果的可信度无法保证。



技术实现要素:

本发明的目的是针对现有技术的不足,提供一种可信的三维人体姿态估计方法。

本发明是通过以下技术方案实现的:一种针对两视图的三维人体姿态可信估计方法,包括以下步骤:一种针对两视图的可信三维人体姿态估计方法,包括以下步骤:

(1)从左右两个相机中分别获取n帧图像;利用n组一一对应的左右两个视图,分别进行二维人体姿态的初步估计,得到n组关节点的初始二维位置;

每一组关节点中包含人体的14个关节点。各个关节点名称如下:<head,neck,shoulder.l,elbow.l,wrist.l,shoulder.r,elbow.r,wrist.r,hip.l,knee.l,ankle.l,hip.r,knee.r,ankle.r>,关节点对应编号依次为<1,2,3,4,5,6,7,8,9,10,11,12,13,14>,各关节点对应的父关节点编号依次为<#,1,2,3,4,2,6,7,2,9,10,2,12,13>。其中#表示无父节点,关节点9(hip.l)和关节点13(hip.r)与父关节点(neck)之间不形成固定骨长,其余关节点与父关节点之间均形成具有固定骨长的骨头,共11段骨头,标记为<b1,...,b11>;

所述二维人体姿态初步估计,以一张rgb图像作为输入,采用级联的全卷积神经网络模型回归14个关节点的置信度图sj,j∈{1,2,...,14},关节点j的初始二维坐标通过选取置信度图中置信度最大值所对应的像素点获得,即关节点j的坐标xj为:

sj(x)为置信图中像素点x的置信度;

(2)根据步骤1获得的n组关节点的初始二维位置;即n*14个来自左右两个视图的关节点对,利用这些匹配关节点对的初始二维位置,以及两个相机内参k1,k2(已知或预先标定),估计左右两视图对应的本征矩阵e,对本征矩阵e分解得到相机外参m1,m2。由相机内参k1,k2和外参m1,m2进一步得到左右两视图各自的相机投影矩阵p1=k1m1,p2=k2m2;

(3)根据步骤1获得的n组关节点的初始二维位置,以及步骤2获得的相机投影矩阵,采用线性三角化技术得到这n组关节点的初始三维位置。利用每段骨头对应的两个关节点的三维位置,分别获得骨长信息,总共得到n组骨长信息;每一组骨长信息中,包含人体的11个骨长数据;针对每一个骨头bi,取n组骨长信息中对应位置的骨长数据的中位数作为该位置的骨长的可靠估计,记为

(4)检测和矫正不可靠关节点

(4.1)利用对极几何准则和骨长准则检测不可靠关节点:

所述对极几何准则来源于两视图对极几何约束,该准则定义如下:

对于关节点j,计算xj,1和xj,2到相应对极线lj,1和lj,2的最大距离,

ue(j)=max{d(xj,1,lj,1),d(xj,2,lj,2)}

其中,xj,1和xj,2分别为关节点j在左右视图中的位置,

lj,1=ftxj,2,lj,2=fxj,1,是左右两视图对应的基础矩阵。d(x,l)计算图像上点x到直线l的垂直距离。

若:

ue(j)>η1

η1=12(像素),则<xj,1,xj,2>不满足放松的对极几何约束条件,是不可靠估计。

若该关节点的父关节点不是可靠的且矫正之后任然不可靠,则仅以对极几何准则判断该关节点的可靠性,否则进一步利用骨长准则检测关节点j的可靠性。所述骨长准则如下:

不失一般性,假定关节点j与其父关节点k之间形成骨头bi,对应骨长的可靠估计为

定义关节点j的二维初始坐标<xj,1,xj,2>经过三角化得到三维初始坐标为xj,父关节点的三维位置为xk,骨长准则计算与骨长之间的差异,表示xj,xk之间的欧氏距离,即:

对于关节点j,若

η2=0.1,即<xj,1,xj,2>不满足放松的骨长约束,是不可靠估计。

(4.2)矫正不可靠关节点:

对于一对不可靠估计<xj,1,xj,2>,比较xj,1和xj,2的置信度大小,以置信度大的作为正确估计,另一个为错误估计。不失一般性,假定视图1提供正确估计,视图2为错误估计,即xj,1为正确估计,xj,2为错误估计。

若该关节点j的父关节点可靠,或经校准后可靠,则以骨长矫正方法进行矫正。假定关节点j的父关节点为k,两者之间形成骨头bi,对应骨长为骨长矫正方法如下:

将寻找最优二维估计xj,2的问题转化为在世界坐标系中寻找一个三维点xj满足相机投影模型及骨长约束的优化问题,即

s.t.p1xj=xj,1

p1是视图1对应的投影矩阵。

该优化问题的几何形式如下:在由图像点xj,1经过p1反投影的三维射线上寻找一个点xj满足或者距离xk最近。可通过投影得到的三维射线与以xk为球心,为半径的球的交点或者距离球心最近的点求解。区分两者情况:射线与球没有交点或有交点。对于第一种情况(没有交点),最优点xj选取射线上距离xk最近的点。对于第二种情况下(有交点),设两个交点分别为a,b,将这两个交点均重投影到视图2(不可靠视图)得到p2a,p2b,这里,p2是视图2对应的投影矩阵。比较这两个二维点的置信度sj,2(p2a)和sj,2(p2b),选取对应置信度高的点作为最优估计xj。得到最优三维估计xj之后,将该三维坐标xj投影到视图2(不可靠视图)得到最优二维估计p2xj,对xj,2进行更新,即:

xj,2←p2xj

否则采用对极几何方法进行校正,矫正过程如下:

计算正确估计xj,1在不可靠视图上的对极线lj,2=fxj,1,选取该对极线上置信度最高的像素点作为最优二维估计,对xj,2进行更新,即:

s.t.xt1j,2=0

sj,2(x)表示视图2中关节点j的置信图中像素点x的置信度;

所述父节点的可靠性通过以下方法评估:

利用对极几何准则和骨长准则进行评估,若

ue(j)<η1

且sj,1(xj,1)+sj,2(xj,2)>η3

这里,η3=0.2,则称关节点j是可靠的,可以为其子节点的可靠性检测和矫正提供依据。

(6)三维人体姿态恢复。经过步骤4得到左右两视图可靠的二维姿态估计之后,结合步骤2估计的相机投影矩阵,采用线性三角化技术实现从两视图的可靠二维姿态到三维姿态的恢复。

本发明的有益效果在于:能够实现严重遮挡,对称歧义,运动模糊等复杂场景下三维人体姿态的鲁邦估计;可以实现对不同骨架尺寸,比例的人进行自动的二维和全局三维人体姿态的可信估计估计;可以实现对快速运动场景下的稳定鲁邦的姿态跟踪。

附图说明

图1:本发明的方法流程图。主要包括基于卷积神经网络(cnn)的初始二维人体估计,姿态矫正及三维姿态恢复两个核心环节。

图2:二维人体姿态估计网络结构图。本发明采用多阶段级联的卷积神经网络回归关节点的置信度图。每个阶段均输出置信度图,预测结果经过下采样后与特征图进行拼接作为下一阶段的输入。

图3:人体骨架模型示意图。本发明考虑由14个关节点和11根骨头构成的人体骨架。

图4:骨长直方图分布图。其中,箭头所指的为中位数位置;

图5:二维人体姿态估计网络在严重遮挡(a),对称歧义(b),运动模糊(c)等情况下预测的关节点置信度图;

图6:不可靠关节点对示意图。

图7:基于对极几何约束不可靠关节点检测方法失败案例

图8:基于骨长的不可靠关节矫正方法示意图。

图9:a~c为human3.6m数据集上的部分实验结果图,d~f为humaneva-i上的实验结果,g~i为kthmultiviewfootballii上的实验结果

图10:本发明在使用姿态矫正前后的二维和三维姿态估计结果对比。可以看出,针对初始二维姿态估计在严重遮挡(a),对称歧义(b),运动模糊(c)等情况下的错误估计,本发明可以有效的检测并进行矫正。

图11:本发明实现的无标记动作捕捉系统示意图及部分室内,室外动作捕捉结果。

具体实施方式

一种针对两视图的三维人体姿态可信估计方法,包括以下步骤:

(1)从左右两个相机中分别获取n帧图像(n≥100);利用n组一一对应的左右两个视图,分别进行二维人体姿态的初步估计,得到n组关节点的初始二维位置;

每一组关节点中包含人体的14个关节点。根据现有的记载,各个关节点名称如下:<head,neck,shoulder.l,elbow.l,wrist.l,shoulder.r,elbow.r,wrist.r,hip.l,knee.l,ankle.l,hip.r,knee.r,ankle.r>,如图3所示。关节点对应编号依次为<1,2,3,4,5,6,7,8,9,10,11,12,13,14>,各关节点对应的父关节点编号依次为<#,1,2,3,4,2,6,7,2,9,10,2,12,13>。其中#表示无父节点,关节点9(hip.l)和关节点13(hip.r)与父关节点(neck)之间不形成固定骨长,其余关节点与父关节点之间均形成具有固定骨长的骨头,共得到如图3所示的11段骨头,标记为<b1,...,b11>;

所述二维人体姿态初步估计,以一张rgb图像作为输入,采用全卷积神经网络模型回归14个关节点的置信度图sj,j∈{1,...,14}。网络结构如图2所示,采用vgg网络对输入图像进行特征提取,得到特征图,再采用多阶段级联的卷积神经网络回归关节点的置信度图。每个阶段均预测置14个关节点的置信度图,预测结果经过下采样后与特征图进行拼接作为下一阶段的输入。

关节点j的初始二维坐标通过选取置信度图中置信度最大值所对应的像素点获得,即关节点j的坐标xj为:

sj(x)为置信图中像素点x的置信度;

(2)根据步骤1获得的n组关节点的初始二维位置;即n*14个来自左右两个视图的关节点对,利用这些匹配关节点对的初始二维位置,以及两个相机内参k1,k2(已知或预先标定),估计左右两视图对应的本征矩阵e,对本征矩阵e分解得到相机外参m1,m2。由相机内参k1,k2和外参m1,m2进一步得到左右两视图各自的相机投影矩阵p1=k1m1,p2=k2m2;此过程通过调用pythonopencv函数:cv2.undistortpoints,cv2.findessentialmat和cv2.recoverpose实现。

(3)根据步骤1获得的n组关节点的初始二维位置,以及步骤2获得的相机投影矩阵,采用线性三角化技术得到这n组关节点的初始三维位置。利用每段骨头对应的两个关节点的三维位置,分别获得骨长信息,总共得到n组骨长信息;每一组骨长信息中,包含人体的11个骨长数据。以骨头bi为例,得到的n组骨长信息形成一个骨长集合集合中每个每个元素提供了对bi的一个骨长估计。由于步骤1获得的初始二维位置中存在不可靠估计,所以该集合中包含噪点,如图4所示。因此,选取该集合的中位数作为该骨头bi的可靠骨长估计结果,记为

(4)检测和矫正不可靠关节点

如图5所示,当输入图像中存在严重遮挡(a),对称歧义(b),运动模糊(c)等情况时,步骤1所述的神经网络无法给出关节点置信度图的可靠估计。因此,无法得到关节点的可靠二维初始位置,全节点不可靠的二维估计经过三角化后导致错误的三维位置,如图6所示。

(4.1)利用对极几何准则和骨长准则检测不可靠关节点:

所述对极几何准则来源于两视图对极几何约束,该准则定义如下:

对于关节点j,计算xj,1和xj,2到相应对极线lj,1和lj,2的最大距离,

ue(j)=max{d(xj,1,lj,1),d(xj,2,lj,2)}

其中,xj,1和xj,2分别为关节点j在左右视图中的位置,lj,1=ftxj,2,lj,2=fxj,1,是左右两视图对应的基础矩阵。d(x,l)计算图像上点x到直线l的垂直距离。

若:

ue(j)>η1

η1=12(像素),则<xj,1,xj,2>不满足放松的对极几何约束条件,是不可靠估计。

该准则可用于检测大部分不可靠估计,特殊情况如图7所示,即当错误估计点恰好在对极线上或距对极线非常近的时候,对极约束准则失效。本发明提出如下骨长准则作为补充。

若该关节点的父关节点不是可靠的且矫正之后仍然不可靠,则仅以对极几何准则判断该关节点的可靠性,否则进一步利用骨长准则检测关节点j的可靠性。所述骨长准则如下:

不失一般性,假定关节点j与其父关节点k之间形成骨头bi,对应骨长的可靠估计为

定义关节点j的二维初始坐标<xj,1,xj,2>经过三角化得到三维初始坐标为xj,父关节点的三维位置为xk,骨长准则计算||xj-xk||2与骨长之间的差异,表示xj,xk之间的欧氏距离,即:

对于关节点j,若

η2=0.1,即<xj,1,xj,2>不满足放松的骨长约束,是不可靠估计。

(4.2)矫正不可靠关节点:

对于一对不可靠估计<xj,1,xj,2>,本发明假定至少有一个视图提供了正确的二维初始估计(因为两视图的视角差异足够大,关节点通常在至少一个视图中可见,在这种情况下,步骤(1)通常可以提供非常可靠的初始估计)。本发明首先利用各自关节点对应的置信度区分出正确估计和错误估计。具体方法为:比较xj,1和xj,2的置信度大小,以置信度大的作为正确估计,另一个为错误估计。不失一般性,假定视图1提供正确估计,视图2为错误估计,即xj,1为正确估计,xj,2为错误估计。

若该关节点j的父关节点可靠,或经校准后可靠,则以骨长矫正方法进行矫正。假定关节点j的父关节点为k,两者之间形成骨头bi,对应骨长为骨长矫正方法如下:

将寻找最优二维估计xj,2的问题转化为在世界坐标系中寻找一个三维点xj满足相机投影模型及骨长约束的优化问题,即

s.t.p1xj=xj,1

这里,p1是视图1对应的投影矩阵。

该优化问题的几何形式如下:在由图像点xj,1经过p1反投影的三维射线上寻找一个点xj满足或者距离xk最近。如图8所示,可通过投影得到的三维射线与以xk为球心,为半径的球的交点或者距离球心最近的点求解。区分两者情况:射线与球没有交点或有交点:

(a)对于第一种情况(没有交点),最优点xj选取射线上距离xk最近的点。

(b)对于第二种情况下(有交点),设两个交点分别为a,b,将这两个交点均重投影到视图2(不可靠视图)得到p2a,p2b,这里,p2是视图2对应的投影矩阵。比较这两个二维点的置信度sj,2(p2a)和sj,2(p2b),选取对应置信度高的点作为最优估计xj。

得到最优三维估计xj之后,将该三维坐标xj投影到视图2(不可靠视图)得到最优二维估计p2xj,对xj,2进行更新,即:

xj,2←p2xj

否则,关节点j的父关节点不可靠,且经校准后仍然不可靠,采用对极几何方法进行校正,矫正过程如下:

计算正确估计xj,1在不可靠视图上的对极线lj,2=fxj,1,选取该对极线上置信度最高的像素点作为最优二维估计,对xj,2进行更新,即:

s.t.xtlj,2=0

sj,2(x)表示视图2中关节点j的置信图在像素点x的置信度;

所述父节点的可靠性通过以下方法评估:

利用对极几何准则和骨长准则进行评估,若

ue(j)<η1

且sj,1(xj,1)+sj,2(xj,2)>η3

这里,η3=0.2,则称关节点j是可靠的,可以为其子节点的可靠性检测和矫正提供依据。

(6)三维人体姿态恢复。经过步骤4得到左右两视图可靠的二维姿态估计之后,结合步骤2估计的相机投影矩阵,采用线性三角化技术实现从两视图的可靠二维姿态到三维姿态的恢复。得到最终的三维姿态如图1(e)所示。

表1给出了本发明在human3.6m数据集上的定量评价结果。表中数据采用平均关节点误差mpjpe(meanperjointpositionerror)作为评价指标。从实验结果可以看出,本发明提出的方法远远超过了现有的基于单目图像,单目视频,以及多视图的方法。图9给出了本发明在human3.6m,humaneva-i及kthmultiviewfootballii数据集上的部分实验结果图。可以看出无论是针对室内场景还是室外场景,本发明均可进行有效地姿态估计。

表1

为了进一步说明本发明所提出的不可靠关节点检测以及矫正方法的有效性,图10给出了部分在使用姿态矫正前和矫正后的二维姿态和三维姿态估计结果对比。可以看出,针对初始二维姿态估计在严重遮挡(a),对称歧义(b),运动模糊(c)等情况下的错误估计,本发明可以有效地检测并进行矫正。

图11给出了系统示意图及部分室内,室外动作捕捉结果,本发明不依赖任何人体先验知识,可用于任何场景下不同人的动作捕捉,实现了一个实时,无标记,自动的动作捕捉系统。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1