基于图论的低秩矩阵恢复三维骨架方法与流程

文档序号:11922461阅读:356来源:国知局
基于图论的低秩矩阵恢复三维骨架方法与流程

本发明属于计算机应用领域,对三维骨架的修复问题。本发明提出了一种新的基于图论的低秩矩阵恢复三维骨架方法,能够纠正并恢复不合理的以及被严重毁坏的运动信息,保持骨骼不变的空间特性。



背景技术:

三维物体的运动恢复是三维物体运动捕捉领域的一个重要问题,在计算机图形学和计算机视觉领域都有着广泛且实用的重要应用。三维物体运动信息的重建,通常而言,需要采集到良好的三维物体的运动数据,在此基础上进行重建。传统的运动捕捉系统由于造价高、操作困难等缺陷一直难以推广使用,以Kinect为代表的深度相机的兴起,由于其可以方便快捷地采集三维物体的运动信息等优点,得到了十分广泛的应用,也掀起了一股三维物体运动恢复的热潮。然而,哪怕是如Kinect等的新兴流行相机,也很难采集到完整无误的运动信息。这就需要很多后期的处理和优化工作。

传统的运动恢复方法主要着重于两个方面的问题:一是,利用RGB(彩色)图像或者深度图像的姿态估计问题;一是,利用二维图像进行的骨架修复问题。很多工作关注于第一种问题,有很多已有的算法可以根据RGB(彩色)图像或者深度图像来估计三维物体的运动。Menier等(C.Menier,E.Boyer,and B.Raffin,“3D skeleton-based body pose recovery,”in Intl.Symp.3D Data Processing Visualization and Transmission,2006,pp.389–396.)利用了前景轮廓信息来进行骨架的姿态恢复;随着深度学习的兴起,越来越多的工作借助深度学习工具实现姿态估计。Toshev等(A.Toshev and C.Szegedy,“Deeppose:Human pose estimation via deep neural networks,”in Proc.IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2013,pp.1653–1660.)提出了用深度学习的框架来估计骨架的方法。他们将人为破坏的骨架信息放入深度神经网络中,让网络自我学习骨架特点,然后再用有损的骨架进行测试。然而由于深度神经网络需要预先训练,这种方法在得到很好结果的同时也十分耗时。Wei等(X.Wei,P.Zhang,and J.Chai,“Accurate realtime full-body motion capture using a single depth camera,”ACM Transactions on Graphics,vol.31,no.6,pp.439–445,2012.)通过一个深度相机整合了深度数据、人体几何数据等信息,建立了一个自动的运动捕捉系统,可以捕捉并重建出人体的相应运动。然而,这个系统对于修复有遮挡的骨架来说,还存在很多有待改进的空间。对于第二种问题,流行的传统方法是光束平差法(Bundle Adjustment)Leonards等(S.Leonardos,X.Zhou,and K.Daniilidis,“Articulated motion estimation from a monocular image sequence using spherical tangent bundles,”in IEEE Intl.Conf.Robotics and Automation,2016.)提出了应用球正切光束与黎曼-卡尔曼滤波相结合的模型实现了从二维图像中恢复受损的骨架序列。然而,这些方法都要利用二维图像信息恢复出二维的骨架,或者恢复出三维骨架的运动轨迹,并不能直接地从受损的三维骨架中恢复出可信的三维骨架序列。Wang等(Wang,M.,Kun,L.I.,Yang,J.,Feng,W.U.,&Lai,Y.(2016).3-d skeleton recovery via sparse representation.)利用低秩矩阵修复的方法,直接应用破损骨架的三维信息对三维物体进行运动重建;然而这种方法并不能保证骨架的空间特性,即骨骼长度不变性。如何直接从破损的骨架中准确、光滑地恢复出三维物体的运动信息,仍然是一个具有挑战性的问题。



技术实现要素:

由于人体骨架的运动具有很高的时间相关性,因此,从时域角度而言,三维运动流形应存在于一个低维度的子空间之中。这也就是说,将骨架信息整合到一个矩阵中时,此矩阵应为低秩矩阵。从空域角度而言,三维骨架在任何时刻,都应该保持每一根骨头长度不变,即三维骨架的骨骼保长性。

为了更好地从破损的骨架中恢复出三维物体的运动信息,同时最小化时间成本,本发明采取的技术方案是,基于图论的低秩矩阵恢复三维骨架方法,时域上,利用凸低秩矩阵恢复模型,通过最小化L1范数和核范数的和,来纠正低秩矩阵中的错误元素,从而得到一个理想的矩阵;空域上,通过最小化保长项的能量来保证骨骼长度的时域不变性,从而保证修复的准确性;通过时域和空域的双重约束实现对复杂运动的准确、光滑的重建。

具体步骤是,

1)利用骨架运动的时间相关性,将破损的骨架信息整合到一个矩阵D中,

其中,代表骨架的第i个节点在第t帧的三维坐标位置,分别表示该节点第t帧时,在x,y,z轴的坐标,i∈{1,2,…,S},t∈{1,2,…,T};

2)将骨架修复问题建模:

D=A+E (1)

其中,D为毁坏的骨架三维坐标信息构成的矩阵,A是经过矩阵修复之后得到的修复好的骨架三维坐标构成的矩阵,E是差错矩阵,根据骨架运动信息的时间相关性,矩阵A也应该是低秩的。

min rank(A)+γ‖E‖0 s.t.D=A+E (2)

其中,rank(A)是矩阵A的秩,‖E‖0是矩阵E的L-0范数,γ是一个平衡A与E之间的比重的权重项,γ>0,将上述方程重新描述:

min‖A‖*+λ‖E‖1 s.t.D=A+E (3)

其中,‖A‖*是矩阵A的核范数,σi是矩阵A的奇异值,‖E‖1是矩阵E的L-1范数,λ>0,是一个权重系数;

考虑到骨骼保长性,将上述公式与图论相结合:G=(v,ε)代表无向节点图,v表示骨架的节点集,ε表示骨架的骨骼集,ek∈ε,k∈{1,2,…,H},其中ek表示骨架的第k根骨头,H表示骨架的骨骼总数,骨骼的保长性表示为使下面的能量函数最小:

其中,lij表示第i个节点和第j个节点之间的骨骼长度,表示节点和之间的距离,矩阵N是矩阵A在保长约束上的等价替代矩阵,所以整体的优化方程写为:

其中,γ>0,是一个权重系数;

3)利用增广拉格朗日与高斯牛顿方法相结合进行最终求解

利用增广拉格朗日方法进行最终求解具体步骤是,引入缩小变量和门限变量,结合高斯牛顿法求解非线性最小二乘问题,再分别求解凸优化方程;

方程(5)的拉格朗日方程为:

其中,对于保长项Eiso(N),由于其不能直接求解,将其转化成非线性最小二乘问题:其中,rth(·)表示的是第h根骨骼在第t帧时的能量项,应用高斯牛顿法对上式进行迭代求解,即N-problem:Nk+1=Nkk,δk代表第k次迭代的步长,其中,J是F的雅克比行列式,其中||·||F表示的是矩阵的F范数,其余项通过拉格朗日乘子法求解得出:

其中,Sδ(x)是缩小变量,Sδ(x)=sgn(x)max(|x|-δ,0),Mδ(x)是门限变量,Mδ(x)=USδ(Λ)V,λ,ρ1212都是正的常数,Z1,Z2是拉格朗日乘子,<·,·>表示将两个矩阵看成长向量的内积;

再分别求解优化方程:

Nk+1=Nkk (9)

在增广拉格朗日解法的框架下,λ,ρ12和Z1,Z2能够有效更新,对变量E、N、A进行迭代最小化,更新拉格朗日乘子Z1,Z2,最终得到修复矩阵A。

对于Kinect骨架而言S=21,对于CMU骨架而言,S=25;对于Kinect骨架而言H=20,对于CMU骨架而言,H=24。

本发明的特点及有益效果是:

本发明用图论与低秩矩阵恢复相结合的算法修复了毁坏的骨架运动信息,在此基础上完成了骨架的三维重建目标。它具有以下特点:

1、简单易懂,复杂度相对较低,易于实现。

2、利用图论与低秩矩阵恢复相结合的方法建模,实现时间相对较短,效果良好。

3、矩阵的秩不易定义,因此用矩阵核范数来做替代。约束性最好的L0范数具有非凸性,这使得求解变得非常困难。所以我们采用L0范数的最优凸近似L1范数进行约束,L1范数最小化是凸优化问题,可以进行线性方程的求解。

5、对于骨骼的保长特性,用能量项来进行约束,可以用高斯牛顿法进行求解。

6、用增广拉格朗日的方法来求解线性方程。

7、对于无法求解的非线性最小二乘项用高斯牛顿法进行迭代求解。

附图说明:

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解:

图1为本发明方法的方法流程图;

图2为应用本方法修复后的骨架对比图;图2(a)为CMU数据库采集的骨架原图;图2(b)为人为地毁坏骨架原图后的显示图;图2(c)为经过骨架恢复处理之后的骨架显示图;

图3为在不同的人为毁坏程度上,骨架修复后的每帧每节点的平均差错(m)。

具体实施方式

本发明利用低秩矩阵与图论相结合的方法,对采集到的毁坏骨架信息进行修复,从而实现三维运动信息的重建。

为了更好地从破损的骨架中恢复出三维物体的运动信息,同时最小化时间成本,本发明采取的技术方案是,时域上,利用凸低秩矩阵恢复模型,通过最小化L1范数和核范数的和,来纠正低秩矩阵中的错误元素,从而得到一个理想的矩阵;空域上,通过最小化保长项的能量来保证骨骼长度的时域不变性,从而保证修复的准确性。通过时域和空域的双重约束实现对复杂运动的准确、光滑的重建。具体方法包括以下步骤:

1)利用骨架运动的时间相关性,将破损的骨架信息整合到一个矩阵D中,

其中,代表骨架的第i个节点在第t帧的三维坐标位置,分别表示该节点第t帧时,在x,y,z轴的坐标。i∈{1,2,…,S},t∈{1,2,…,T}(对于Kinect骨架而言S=21,对于CMU骨架而言,S=25)。

2)将骨架修复问题建模:

D=A+E (1)

其中,D为毁坏的骨架三维坐标信息构成的矩阵,A是经过矩阵修复之后得到的修复好的骨架三维坐标构成的矩阵,E是差错矩阵。根据骨架运动信息的时间相关性,矩阵A也应该是低秩的。

min rank(A)+γ‖E‖0 s.t.D=A+E (2)

其中,rank(A)是矩阵A的秩,‖E‖0是矩阵E的L-0范数,γ是一个平衡A与E之间的比重的权重项,γ>0。由于上述方程是NP-难解问题,所以将上述方程重新描述为,

min‖A‖*+λ‖E‖1 s.t.D=A+E (3)

其中,‖A‖*是矩阵A的核范数,σi是矩阵A的奇异值。‖E‖1是矩阵E的L-1范数,λ>0,是一个权重系数。这样做的目的是,核范数可以较好地替代矩阵A的秩,相对于矩阵E的L-0范数而言,矩阵E的L-1范数是凸函数,方程求解过程更方便。

考虑到骨骼保长性,将上述公式与图论相结合:G=(v,ε)代表无向节点图,v表示骨架的节点集,ε表示骨架的骨骼集,ek∈ε,k∈{1,2,…,H},其中ek表示骨架的第k根骨头,H表示骨架的骨骼总数(对于Kinect骨架而言H=20,对于CMU骨架而言,H=24)。骨骼的保长性可以表示为使下面的能量函数最小:

其中,lij表示第i个节点和第j个节点之间的骨骼长度,表示节点和之间的距离,矩阵N是矩阵A在保长约束上的等价替代矩阵。所以整体的优化方程可以写为:

其中,γ>0,是一个权重系数。

3)利用增广拉格朗日与高斯牛顿方法相结合进行最终求解

利用增广拉格朗日方法进行最终求解具体步骤是,引入缩小变量和门限变量,结合高斯牛顿法求解非线性最小二乘问题,再分别求解凸优化方程。

方程(5)的拉格朗日方程为:

其中,对于保长项Eiso(N),由于其不能直接求解,将其转化成非线性最小二乘问题:其中,rth(·)表示的是第h根骨骼在第t帧时的能量项。应用高斯牛顿法对上式进行迭代求解。即N-problem:Nk+1=Nkk,δk代表第k次迭代的步长,其中,J是F的雅克比行列式。其中||·||F表示的是矩阵的F范数。其余项可以简单地通过拉格朗日乘子法求解得出。

其中,Sδ(x)是缩小变量,Sδ(x)=sgn(x)max(|x|-δ,0)。Mδ(x)是门限变量,Mδ(x)=USδ(Λ)V。λ,ρ1212都是正的常数,Z1,Z2是拉格朗日乘子,<·,·>表示将两个矩阵看成长向量的内积。

再分别求解优化方程:

Nk+1=Nkk (9)

在增广拉格朗日解法的框架下,λ,ρ12和Z1,Z2可以有效更新,对变量E、N、A进行迭代最小化,更新拉格朗日乘子Z1,Z2,最终得到修复矩阵A。

下面结合附图和具体实施方式进一步详细说明本发明。

本发明在时域上,利用凸低秩矩阵恢复模型,通过最小化L1范数和核范数的和,来纠正低秩矩阵中的错误元素,从而得到一个理想的矩阵;空域上,通过最小化保长项的能量来保证骨骼长度的时域不变性,从而保证修复的准确性。通过时域和空域的双重约束实现对复杂运动的准确、光滑的重建。在附图中可以看出,经过算法处理之后,原毁坏的骨架得到了很好的修复。

1)利用骨架运动的时间相关性,将破损的骨架信息整合到一个矩阵D中,

其中,代表骨架的第i个节点在第t帧的三维坐标位置,分别表示该节点第t帧时,在x,y,z轴的坐标。i∈{1,2,…,S},t∈{1,2,…,T}(对于Kinect骨架而言S=21,对于CMU骨架而言,S=25)。

2)将骨架修复问题建模:

D=A+E (1)

其中,D为毁坏的骨架三维坐标信息构成的矩阵,A是经过矩阵修复之后得到的修复好的骨架三维坐标构成的矩阵,E是差错矩阵。根据骨架运动信息的时间相关性,矩阵A也应该是低秩的。

min rank(A)+γ‖E‖0 s.t.D=A+E (2)

其中,rank(A)是矩阵A的秩,‖E‖0是矩阵E的L-0范数,γ是一个平衡A与E之间的比重的权重项,γ>0。由于上述方程是NP-难解问题,所以将上述方程重新描述为,

min‖A‖*+λ‖E‖1 s.t.D=A+E (3)

其中,‖A‖*是矩阵A的核范数,σi是矩阵A的奇异值。‖E‖1是矩阵E的L-1范数,λ>0,是一个权重系数。这样做的目的是,核范数可以较好地替代矩阵A的秩,相对于矩阵E的L-0范数而言,矩阵E的L-1范数是凸函数,方程求解过程更方便。

考虑到骨骼保长性,将上述公式与图论相结合:G=(v,ε)代表无向节点图,v表示骨架的节点集,ε表示骨架的骨骼集,ek∈ε,k∈{1,2,…,H},其中ek表示骨架的第k根骨头,H表示骨架的骨骼总数(对于Kinect骨架而言H=20,对于CMU骨架而言,H=24)。骨骼的保长性可以表示为使下面的能量函数最小:

其中,lij表示第i个节点和第j个节点之间的骨骼长度,表示节点和之间的距离,矩阵N是矩阵A在保长约束上的等价替代矩阵。所以整体的优化方程可以写为:

其中,γ>0,是一个权重系数。

3)利用增广拉格朗日与高斯牛顿方法相结合进行最终求解

利用增广拉格朗日方法进行最终求解具体步骤是,引入缩小变量和门限变量,结合高斯牛顿法求解非线性最小二乘问题,再分别求解凸优化方程。

方程(5)的拉格朗日方程为:

其中,对于保长项Eiso(N),由于其不能直接求解,将其转化成非线性最小二乘问题:其中,rth(·)表示的是第h根骨骼在第t帧时的能量项。应用高斯牛顿法对上式进行迭代求解。即N-problem:Nk+1=Nkk,δk代表第k次迭代的步长,其中,J是F的雅克比行列式。其中||·||F表示的是矩阵的F范数。其余项可以简单地通过拉格朗日乘子法求解得出。

其中,Sδ(x)是缩小变量,Sδ(x)=sgn(x)max(|x|-δ,0)。Mδ(x)是门限变量,Mδ(x)=USδ(Λ)V。λ,ρ1212都是正的常数,Z1,Z2是拉格朗日乘子,<·,·>表示将两个矩阵看成长向量的内积。

再分别求解优化方程:

Nk+1=Nkk (9)

在增广拉格朗日解法的框架下,λ,ρ12和Z1,Z2可以有效更新,对变量E、N、A进行迭代最小化,更新拉格朗日乘子Z1,Z2,最终得到修复矩阵A。

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