一种稳健的非刚性运动重建方法与流程

文档序号:14058385阅读:379来源:国知局
一种稳健的非刚性运动重建方法与流程

本发明涉及计算机视觉中的三维重建领域,特别是涉及一种稳健的非刚性运动方法。



背景技术:

在计算机视觉领域中,三维重建是指从一系列二维图像测量中恢复物体或者物体运动的结构,其中包括刚性物体和非刚性物体的重建。非刚性物体运动的重建有着非常广泛的应用场景,也一直是计算机视觉领域的热点问题,在虚拟现实、人机交互等方面都有重要的应用价值。非刚性运动的重建难点主要在于:运动改变了原有刚性物体在图像上的二维投影之间秩为固定的关系,增加了重建模型的参数,并且模型参数的数目会随着时间的增加而增加,导致非刚性运动重建成为一个病态问题。人脸肌肉的变化、心脏的跳动、树叶的舞动、布块的抖动、流体的运动等都属于非刚性运动。随着其非刚性程度越高,其病态程度越甚,运动恢复的难度就越大。

本世纪初,bregler等人提出采用形状基的线性组合来近似人脸表情变化的三维结构,第一次为少数的人脸表情重建提出了基本可行的方法。在2008年akhter等提出一种基于轨迹空间的重建思想,第一次为病态程度更高的人体运动非刚性重建展示了合理的结果。他们证明了轨迹空间与形状空间的对偶性,并利用正交离散余弦基的线性组合对非刚性物体轨迹进行逼近,对非刚性物体运动的重建结果有了很大的提升。该种方法需要预先设定正交离散余弦基的个数k,k的个数将直接影响重建的结果,所以大多的实验结果需要不断调试k的值,以获得接近真值的重建结果。这使得其在真实的非刚性重建应用中难以使用。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种稳健的非刚性重建方法。提出的方法不需要预先设定或者调试正交离散余弦基的个数,却可以保证获得一个良好的重建结果,增强了该算法适用性。

本发明的技术方案是一种稳健的非刚性运动重建方法,该方法包括:

步骤1:已知图像序列的二维特征点测量矩阵w,w的大小为2f×p,其中f为图像序列的帧数,p为特征点的个数;对w进行如下的中心化:首先求取w的行平均值mi(i=1...,2f),将w的第wi行的每个元素减去行均值mi,获得中心化的w′;

步骤2:假定2f>p,将w′进行svd分解,获得w′=udv,其中u的大小为2f×p,d的大小为p×p,v的大小为p×p;取其中u:,1:3k表示u的前3k列,d1:3k,1:3k表示d的前3k行前3k列的元素所构成的矩阵,表示v的前3k行元素的转置;

步骤3:生成正交离散余弦基;将离散余弦基表示为其中是一个f维的向量,j=1,...,k,将即第一个基向下平移2k-2,第2到k个基向上平移2;形状个数初始化n=0;

步骤4:令j=1,执行下列步骤:利用非线性lm算法最优化下列目标函数:

表示的第2i-1:2i行元素,大小为2×3k,θi,j为第j个基中的第i维元素;初始化3k×3的q为全1阵,非线性优化直到目标函数收敛,即误差小于e-10,或者迭代次数大于2000,终止优化迭代,得到近似最优的qj,当目标函数返回值大于阈值δ时,令转至步骤7;

步骤5:计算相机旋转矩阵其大小为2×3,将生成的ri矩阵排列成

步骤6:根据下列步骤计算形状矩阵s:

步骤6.1计算g=ρ·θ;

步骤6.2计算sj=θ·(gt·g)-1·gt·w;

步骤6.3形状个数n=n+1;

步骤7:令j=2:k,重复步骤4,5,6,得到s2,s3,...,sk;

步骤8:计算非刚性物体的3f×p形状矩阵

本发明提出的方法提高了基于轨迹基的非刚性重建方法稳定性,使其在无需设定轨迹基个数的条件下,仍然可以得到良好的重建结果,增强了基于轨迹基的非刚性重建算法的适用性。

附图说明

图1为稳健非刚性重建方法的流程图;

图2为本发明提出的方法重建非刚性动作pickup的结果示意图;

图3为本发明提出的方法重建非刚性动作stretch的结果示意图。

具体实施方式

对于产品发明应描述产品构成、电路构成或者化学成分、各部分之间的相互关系、工作过程或操作步骤;对于方法发明应写明步骤、参数、工艺条件等,可提供多个具体实施方式。

本实施例中选择motioncapture中的pickup和stretch两个数据集进行重建验证。这两个数据集一共有人体41个点,因此k最大取13。其中pickup一共有357帧的三维动作,stretch一共有1110帧的三维动作,这些三维动作被用来作为形状真值数据sgt。首先,我们虚拟生成正交投影的相机模型rgt,围绕人体运动每次以5度角度旋转,生成264帧二维测量投影w。sgt,rgt作为真值数据衡量提出算法的稳定性。依据w,推导求解相机矩阵r和非刚性三维运动s。图1是本发明中实施稳健非刚性重建方法的流程图。在实验中,设置的优化终止条件最小误差为e-10为或者最大迭代次数为2000。图2、图3是在该上述两个数据集上重建的结果。其中蓝色的圆圈为真值数据,红色的点为提出方法的重建结果。图2中选择展示的是在pickup序列中第1帧,第119帧,第238帧,第357帧的重建结果。在pickup数据集上提出方法的形状重建的平均误差为0.183,比“基于轨迹基的方法”的形状重建平均误差0.237小了0.052。图3中选择展示的是在stretch序列中第1帧,第370帧,第740帧,第1110帧的重建结果。在stretch数据集上提出方法的形状重建的平均误差为0.109,比“基于轨迹基的方法”的形状重建平均误差0.1194小了0.01。

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