一种基于双目视觉的姿态测量方法与流程

文档序号:12110165阅读:727来源:国知局
一种基于双目视觉的姿态测量方法与流程

本发明涉及虚拟现实技术领域,具体的说是一种基于双目视觉的、应用于虚拟现实中的人脸姿态测量以及交互操作中对交互媒介的跟踪测量方法。



背景技术:

目前在虚拟现实和增强现实领域存在着大量使用惯性传感器进行测量的人脸姿态估计系统,这些系统使用陀螺仪和加速度计进行测量,由于这样的系统对于被跟踪物体的位置估计存在着累积误差,所以不能进行长时间使用;此外使用惯性传感器测量还存在必须进行合适的初始化,否则整个系统不能正常工作。

上述缺陷,值得解决。



技术实现要素:

为了克服现有的技术的不足,本发明提供一种基于双目视觉的姿态测量方法。

本发明技术方案如下所述:

一种基于双目视觉的姿态测量方法,其特征在于,使用双目视觉系统通过计算被跟踪物体上的标记条来测量和定位,包括以下步骤:

步骤1、双目视觉系统的标定,得到相机的内部参数,以及相机之间的平移和旋转关系;

步骤2、姿态计算,利用三角测量对标记点进行三维坐标的测量;

步骤3、对测定的姿态旋转和平移数据进行卡尔曼滤波。

根据上述方案的本发明,其特征在于,所述步骤1中的标定过程包括相机内参标定和双目相机立体标定。

更进一步的,相机内参标定包括相机的焦距、光心坐标以及相机成像时的畸变参数的标定。

更进一步的,在双目相机立体标定过程中,首先计算多个相机之刚体变换关系,从而建立真实的物理世界到虚拟的相机坐标系之间的对应关系,再利用相机的内部参数就可以构造物理世界到相机坐标系之间的对应关系。

根据上述方案的本发明,其特征在于,所述步骤2中,姿态计算的具体步骤如下:

(1)首先计算当前双目相机检测到的三个标记点的质心坐标Poc,然后将三个三维点分别减去质心坐标,得到质心坐标系下的新坐标,设为Pc;三个三维坐标分别减去质心坐标计算前一次双目相机检测到的三个标记点在其质心Pop坐标系下的新坐标Pp;

(2)利用点集Pc和Pp确定的平面的法向量nc=Pc1 x Pc2和np=Pp1 x Pp2,利用两个平面的法向量将两个平面旋转至同一个平面,使用四元数的理论计算出两个法向量之间的旋转,其中Pc={Pc1,Pc2,Pc3}为双目相机当前时刻检测到的三个标记点三维坐标,Pp={Pp1,Pp2,Pp3}为双目相机上一时刻检测到的三个标记点三维坐标;

(3)经过上述步骤,当前时刻三个标记点确定的平面与上一时刻由三个标记点确定的两个平面已经处在同一个平面,这时两个坐标系的z轴重合,但是x、y坐标系依然存在旋转,通过计算两组点组成的向量之间的夹角即可算出面内旋转;

(4)两组标记条的质心之间的坐标即为平移矢量,得到运动前后标记点之间的旋转和平移关系。

更进一步的,选择三个点的坐标过程中,首先选择五个对应点进行检测,得到稳定的五个对应点之后取出其中的三个进行计算。

根据上述方案的本发明,其特征在于,所述步骤3中的滤波过程包括:

(1)进行状态转移

1)选择位置和旋转的角度组成一个状态向量x,

式中,x、y、z分别为位移三维坐标,分别为三维位移速度、分别为三维位移加速度、ψ、θ、分别为三维旋转角度、分别为三维旋转角速度、分别为三维旋转角加速度,T为矩阵转置,

2)利用下式进行状态转移

式中,Xk为当前状态、Xk-1为前一次的状态、Wk-1为噪声,使用前一次的状态可以预测下一次的状态,Δt为前一次测量和本次测量的时间间隔;

(2)测量量为位移是三维坐标和三轴旋转角度,利用下式计算得到的平移和旋转

式中,Xk是当前的状态,vk是噪声,xk、yk、zk是当前时刻(用k表示)的坐标,其余为旋转角度;

(3)得到双目视觉姿态的稳定数据,即得到的数据就是当前的位置x、y、z,和三个旋转角度。

根据上述方案的本发明,其有益效果在于,本发明采用的卡尔曼滤波技术检测速度快,无需进行精确的初始化就可以对人脸姿态进行测量;本发明积累误差小,能够进行长时间的跟踪测量。

附图说明

图1为本发明未标定的双目坐标系示意图。

图2为本发明标定之后的双目坐标系示意图。

图3为本发明计算标定坐标的原理图。

图4为本发明前后两次拍摄三个标记点的运动示意图。

具体实施方式

下面结合附图以及实施方式对本发明进行进一步的描述:

一种基于双目视觉的姿态测量方法,使用双目视觉系统通过计算被跟踪物体(人脸或者用户控制的外设)上的标记条来测量和定位。测量过程包括:

1、双目视觉系统的标定。

如图1-2所示,立体标定的主要目的是得到相机的内部参数,以及相机之间的平移和旋转关系。有了这些参数之后可以对图像进行立体校正,并且可以得到场景的深度信息,从而进行视觉测量。现实中的双目视觉系统如图1所示,相机之间会有较大的偏转,并且得到的图像也有较大的畸变。首先为了使双目视觉系统能够进行测量,必须要知道这些相对关系;其次为了便于进行视差计算,还要对图像进行立体校正,保证图像上相应行使对齐的,这样视差的计算只需要在对应行上进行查找即可。

整个标定的过程分为相机内参标定和双目相机立体标定。

相机的内参标定是只计算相机的内部参数,包括相机的焦距,光心坐标以及相机成像时的畸变参数。这些参数在相机的使用过程中是不变的,所以称之为相机的内部参数。

双目相机的立体标定,立体标定的目的是计算多个相机之刚体变换关系,从而建立真实的物理世界到虚拟的相机坐标系之间的对应关系,再利用相机的内部参数就可以构造物理世界到相机坐标系之间的对应关系,从而使我们可以计算图像上某一点的真实物理坐标。

2、姿态计算。

如图3所示,利用公式对双目系统进行标定之后就可以对标记点进行三维坐标的测量,在已经校正好的双目视觉系统中,直接利用三角测量就可以计算出标定的坐标,式中,b指的是两个相机间的距离,Z是物体点P的Z坐标值,xT是物体点P在右边相机照片上的位置,xR是物体P在右边相机照片上的位置,f是相机的焦距,d是视差(d=xR-xT)。

使用三对匹配的三维点就可以求解物体的前后两帧之间的运动参数,但是由于实际操作中对于稳定性和易用性的要求,一般采用五个对应点进行检测,得到稳定的五个对应点之后取出其中的三个进行计算即可。

如图4所示,经过上述步骤测量到标记条的三维坐标之后就可以进行姿态计算。具体的步骤如下:

(1)首先计算当前双目相机检测到的三个标记点的质心坐标Poc,然后将三个三维点分别减去质心坐标,得到质心坐标系下的新坐标,设为Pc;利用同样的方法计算前一次双目相机检测到的三个标记点在其质心Pop坐标系下的新坐标Pp。

(2)利用点集Pc和Pp确定的平面的法向量nc=Pc1 x Pc2和np=Pp1 x Pp2,利用两个平面的法向量将两个平面旋转至同一个平面,使用四元数的理论计算出两个法向量之间的旋转,其中Pc={Pc1,Pc2,Pc3}为双目相机当前时刻检测到的三个标记点三维坐标,Pp={Pp1,Pp2,Pp3}为双目相机上一时刻检测到的三个标记点三维坐标。

(3)经过上述步骤两个平面已经处在同一个平面,这时两个坐标系的z轴重合,但是xy坐标系依然存在旋转,这时计算图中两组点向量之间的夹角即可算出面内旋转。

到此就可以计算出两平面的旋转的四元数。旋转之后的平面处在同一个面内,然后在利用两个坐标向量之间的夹角关系即可得出面内旋转。

(4)两组标记条的质心之间的坐标即为平移矢量。

至此,就可以计算出每次标记体移动的姿态,就是运动前后标记点之间的旋转和平移关系

3、对姿态数据进行卡尔曼滤波。

由于测量系统本身由于各种各样的干扰,所以测的姿态数据含有噪声,从而导致姿态数据出现剧烈的抖动,所以最后还需要对测定的旋转和平移数据进行滤波处理。在这里我们选择应用比较普遍的卡尔曼滤波器。

1)状态转移

选择位置和旋转的角度组成一个状态向量,x中的变量依次为位移三维坐标,位移速度,位移加速度,旋转角度,旋转角速度,旋转角加速度。

式中,x、y、z分别为位移三维坐标,分别为三维位移速度、分别为三维位移加速度、ψ、θ、分别为三维旋转角度、分别为三维旋转角速度、分别为三维旋转角加速度,T为矩阵转置。

转移过程为

式中,Xk为当前状态、Xk-1为前一次的状态、Wk-1为噪声,使用前一次的状态可以预测下一次的状态,Δt为前一次测量和本次测量的时间间隔。

2)测量过程

测量量为位移是三维坐标和三轴旋转角度,就是每次计算得到的平移和旋转。

式中,Xk是当前的状态,Vk是噪声,xk、yk、zk是当前时刻(用k表示)的坐标,其余为旋转角度。

3)通过以上模型即可运用卡尔曼滤波进行数据过滤得到比较稳定的数据,即得到的数据就是当前的位置x、y、z,以及三个旋转角度,共6个变量。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

上面结合附图对本发明专利进行了示例性的描述,显然本发明专利的实现并不受上述方式的限制,只要采用了本发明专利的方法构思和技术方案进行的各种改进,或未经改进将本发明专利的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。

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