一种基于Kinect的自动面部追踪方法

文档序号:7890660阅读:312来源:国知局
专利名称:一种基于Kinect的自动面部追踪方法
技术领域
本发明涉及一种自动面部追踪方法,特别涉及一种基于Kinect的自动面部追踪方法,属于人机交互领域。
背景技术
人机交互技术是指通过计算机的输入输出设备,以便于人们使用的方式实现人与计算机之间有效交流的技术。面部追踪技术是人机交互领域的一项重要技术,它在视频会议、面部表情细节获取、消费电子类产品、面部运动捕捉以及自然人机交互环境中具有广泛 的应用前景。现有的自动面部追踪方法通常是基于二维图像的,该类方法不仅涉及到一般的图像处理,而且可能设计到图像的理解和描述,如模式识别、人工智能等,相对复杂。其存在的主要问题在于对图像的分辨率有一定的要求,且该类方法对周围的光照环境敏感,光照条件不佳可能会影响追踪的准确性;人体面部的头发、饰物等遮挡物会减少人脸的部分局部特征,会对面部的追踪造成影响,甚至无法追踪,虽然可以通过人工智能进行补偿,但较为复杂且对实时性有影响;交互应用方面,该类方法只利用了二维的图像信息,无法鲁棒地处理人体部位在深度方向上的交互动作。微软公司的自然交互设备Kinect,能够实时地捕捉人体20个骨骼点的三维空间位置,这对于人体追踪很有帮助。Kinect采用主动红外线技术进行深度探测,在识别人体骨骼的同时,避免了周围光照条件和遮挡的影响。可编程旋转摄像机能够接收编程命令,按照设定的角度在水平和垂直方向上旋转,摄像机可通过编程命令来实现按需变焦。Kinect可以实现较为准确的人体骨骼点追踪,可编程旋转摄像机能够实现对于给定位置的图像或视频的捕获。因此,本发明的基于Kinect的自动面部追踪方法将二者进行结合,利用Kinect获取三维骨骼点数据,然后利用该数据驱动摄像机旋转,实现对面部的自动追踪。

发明内容
本发明的目的是结合可提取骨骼点三维信息的Kinect和可编程旋转摄像机,解决基于图像的自动面部追踪所面临的光照环境问题以及在交互应用中的不足,提供一种自动面部追踪方法,该方法在不同光照条件下和交互应用中,可以有效地利用Kinect提供的骨骼点三维信息,提高自动面部追踪的鲁棒性和准确性。为了实现上述目的,本发明所采取的技术方案是本方法通过将Kinect与可编程旋转摄像机标定到同一个坐标空间中,对Kinect获取的人体骨骼数据序列进行处理和提取,来驱动摄像机对人的面部进行自动追踪,具体包含的步骤如下(I)将追踪设备放置在稳定的位置,追踪设备由Kinect和可编程旋转摄像机组成,通过标定得到摄像机的内参数、Kinect的内参数以及摄像机的外参数、Kinect的外参数;
(2)通过Kinect获取人体骨骼数据序列,并从中提取头部骨骼点在Kinect坐标系中的坐标,提取方法为直接提取,或者是在提取过程中结合骨骼点之间的约束关系进行优化;(3)完成步骤(2)以后,利用步骤(I)中得到的摄像机的外参数和Kinect的外参数,按照在步骤(I)中追踪设备位置放置方式,计算当前摄像机的外参数和当前Kinect的外参数并利用它们得到Kinect坐标系到摄像机坐标系的变换矩阵;(4)利用步骤(3)中获取的变换矩阵将步骤(2)中得到的头部骨骼点在Kinect坐标系中的坐标变换到摄像机坐标系中,得到头部骨骼点在摄像机坐标系中的坐标并利用该坐标计算摄像机在水平和垂直方向需要旋转的角度以及需要缩放的倍数;(5)根据步骤(4)中求得的角度和倍数,驱动摄像机进行相应的旋转和缩放,使得摄像机能够追S示人的面部运动。本发明是在将Kinect与摄像机标定到同一坐标空间的基础上,于Kinect的搜索范围内,连续采集人体骨骼数据序列并从中提取头部骨骼点的三维坐标,通过变换矩阵将其变换到摄像机坐标系中,根据该坐标计算摄像机需要旋转的角度和缩放倍数,从而完成自动的面部追踪。本发明的优点在于(I)本发明利用了 Kinect主动红外线技术获取的三维信息来驱动摄像机进行自动面部追踪,而红外线技术对于光照环境不敏感,甚至于没有环境光的情况下也能获取三维信息,有效克服了现有基于图像的自动面部追踪在周围光照不满足要求的情况下无法进行面部追踪的问题。(2)本发明充分利用人体骨骼点的三维信息来实现自动面部追踪,从而有助于交互应用方面,可以鲁棒地处理人体部位在深度方向上的交互动作,克服了现有基于图像的自动面部追踪的不足。本发明的应用前景包括可应用于虚拟沉浸式系统中对于运动或静止的人体面部细节或面部表情的实时获取;可应用于动态或静态人脸建模中对于面部纹理的实时获取;可应用于自然交互式视频会议中,视频会议环境为三维虚拟场景,与会人员以人偶模型或 真实人体模型为替身在虚拟会议场景中活动,同时显示所有与会人员(包括自己)的视频影像,该视频影像通过基于Kinect的自动面部追踪方法获得,与会人员在Kinect可搜索的范围内运动时,仍然可以自动捕获与会人员的面部,并将其显示在视频影像中。


图I是本发明中自动面部追踪方法的整体示意图;图2是本发明中自动面部追踪方法的流程图;图3是本发明中头部附近骨骼点示意图;图4是本发明中Kinect坐标系转换到摄像机坐标系的示意图;图5是本发明中摄像机旋转角计算的示意图;图6是实际硬件环境;图7是站立姿势效果图;图8是蹲姿势效果图。
具体实施例方式下面结合附图和实施示例对本发明作进一步详细地描述本发明中自动面部追踪方法的典型实施环境如图I所示,Kinect和可编程旋转摄像机连接至计算机,人体位于Kinect的可搜索范围内,即可开始进行自动面部追踪。本发明基于Kinect的自动面部追踪方法的流程如图2所示,其步骤如下(I)首先将追踪设备放置在稳定的位置,追踪设备由Kinect和可编程旋转摄像机组成,Kinect和可编程旋转摄像机可以有两种位置放置方式,第一种是在Kinect上集成或固定摄像机,第二种是将Kinect和摄像机分别独立放置在不同的位置,采用任意一种方法放置后,通过标定得到摄像机的内参数、Kinect的内参数以及摄像机的外参数、Kinect的外参数;(2)从Kinect的人体骨骼数据序列中直接提取的头部骨骼点坐标可以直接使用,也可利用骨骼点之间的约束关系来进行优化。若采用优化方法,如图3所示,头部骨骼点附近的骨骼点包括肩部中心骨骼点(或说颈部骨骼点)、左肩骨骼点、右肩骨骼点和脊柱中心骨骼点,它们之间存在着一定的约束关系,肩部中间骨骼点、左肩骨骼点和右肩骨骼点可认为是共面,肩部中心骨骼点、脊柱中心骨骼点可认为共线,头部骨骼点受到这二者的约束,虽然头部可以绕轴转动,但活动范围很有限,这意味着其距离肩部中间骨骼点、左肩骨骼点和右肩骨骼点决定的平面以及肩部中心骨骼点、脊柱中心骨骼点决定的直线很近。假设的头部骨骼点、肩部中心骨骼点、左肩骨骼点、右肩骨骼点和脊柱中心骨骼点的坐标分别为(Hx,Hy, Hz, I)、(SCx,SCy,SCz, I)、(SLx,SLy, SLz, I)、(SRx,SRy, SRz, I)、(SPx,SPy, SPz, I),肩部中间骨骼点、左肩骨骼点和右肩骨骼点决定的平面方程如公式(I)所示,肩部中心骨骼点、脊柱中心骨骼点决定的直线方程如公式(2)所示。Apx+Bpy+Cpz+Dp = 0(I)其中,平面方程系数Ap、Bp、Cp、Dp可由共面的肩部中间骨骼点、左肩骨骼点和右肩骨骼点在Kinect坐标系中的坐标通过待定系数法计算得到;

权利要求
1.一种基于Kinect的自动面部追踪方法,其特征在于包含如下步骤 (1)将追踪设备放置在稳定的位置,追踪设备由Kinect和可编程旋转摄像机组成,通过标定得到摄像机的内参数、Kinect的内参数以及摄像机的外参数、Kinect的外参数; (2)通过Kinect获取人体骨骼数据序列,并从中提取头部骨骼点在Kinect坐标系中的坐标,提取方法为直接提取,或者是在提取过程中结合骨骼点之间的约束关系进行优化; (3)完成步骤(2)以后,利用步骤(I)中得到的摄像机的外参数和Kinect的外参数,按照在步骤(I)中追踪设备位置放置方式,计算当前摄像机的外参数和当前Kinect的外参数并利用它们得到Kinect坐标系到摄像机坐标系的变换矩阵; (4)利用步骤(3)中获取的变换矩阵将步骤(2)中得到的头部骨骼点在Kinect坐标系中的坐标变换到摄像机坐标系中,得到头部骨骼点在摄像机坐标系中的坐标并利用该坐标计算摄像机在水平和垂直方向需要旋转的角度以及需要缩放的倍数; (5)根据步骤(4)中求得的角度和倍数,驱动摄像机进行相应的旋转和缩放,使得摄像机能够追踪人的面部运动。
2.根据权利要求I所述的基于Kinect的自动面部追踪方法,其特征在于通过将Kinect与可编程旋转摄像机标定到同一个坐标空间中,对Kinect获取的人体骨骼数据序列进行处理和提取,来驱动摄像机对人的面部进行自动追踪。
3.根据权利要求I所述的基于Kinect的自动面部追踪方法,其特征在于所述步骤(I)的追踪设备中的Kinect和可编程旋转摄像机的位置放置方式有两种,第一种是在Kinect上集成或固定摄像机,第二种是将Kinect和摄像机分别独立放置在不同的位置。
4.根据权利要求I所述的基于Kinect的自动面部追踪方法,其特征在于所述步骤(2)中若利用骨骼点之间的约束关系进行优化提取头部骨骼点在Kinect坐标系中的坐标,其方法为头部骨骼点附近的骨骼点包括肩部中心骨骼点、左肩骨骼点、右肩骨骼点和脊柱中心骨骼点,它们之间存在着一定的约束关系,肩部中间骨骼点、左肩骨骼点和右肩骨骼点认为是共面,肩部中心骨骼点、脊柱中心骨骼点认为是共线,头部骨骼点受到这二者的约束,设头部骨骼点、肩部中心骨骼点、左肩骨骼点、右肩骨骼点和脊柱中心骨骼点在Kinect坐标系中的齐次坐标分别为(Hx,Hy, Hz,I)、(SCx,SCy,SCz,I)、(SLx,SLy,SLz,I)、(SRx,SRy, SRz, I) > (SPx, SPy, SPz,I),肩部中间骨骼点、左肩骨骼点和右肩骨骼点决定的平面方程如公式(a)所示,肩部中心骨骼点、脊柱中心骨骼点决定的直线方程如公式(b)所示Apx+Bpy+Cpz+Dp = O (a) 其中,平面方程系数Ap、Bp、Cp、Dp可由共面的肩部中间骨骼点、左肩骨骼点和右肩骨骼点在Kinect坐标系中的坐标通过待定系数法计算得到; X-SCx _ y-SCy _ Z-SCzSPx-SCx = SPy-SCy = SPz-SCz (b) 由几何知识可以得到头部骨骼点坐标(Hx,Hy, Hz, I)与前面所述平面、直线的距离分别为Dpl■為iM,阈值THplam表示头部骨骼点与肩部中间骨骼点、左肩骨骼点、右肩骨骼点决定的平面的距离最大值,阈值THline表示头部骨骼点与肩部中心骨骼点、脊柱中心骨骼点决定的直线的距离最大值,THplane, THlim可根据精度要求自行设定;若满足关系式(C),则得到了当前头部骨骼点在Kinect坐标系中的齐次坐标,否则继续利用Kinect进行骨骼点的搜索;Dplane ^lane 且 D!ine ^ THline (c)。
5.根据权利要求I所述的基于Kinect的自动面部追踪方法,其特征在于所述步骤(3)中计算当前摄像机的外参数和当前Kinect的外参数的方法为如果选择第一种位置放置方式,则直接将步骤(I)中摄像机的外参数和Kinect的外参数分别作为当前摄像机的外参数和当前Kinect的外参数,如果选择第二种位置放置方式,则需要根据Kinect相对于上一位置转动的俯仰角度对Kinect的外参数进行修正,然后再将步骤(I)中摄像机的外参数和修正后的Kinect的外参数分别作为当前摄像机的外参数和当前Kinect的外参数。
6.根据权利要求I所述的基于Kinect的自动面部追踪方法,其特征在于所述步骤(4)中利用摄像机坐标系中的头部骨骼点坐标获取摄像机在水平和垂直方向需要旋转的角度和摄像机需要缩放的倍数的方法为摄像机在齐次坐标系下的方向向量为=(O,O,I, 0),头部骨骼点在摄像机坐标系中的齐次坐标为H = (Xop, Yop,Ztjp, I),然后将H向xOy面投影得到投影点P,其坐标为(Xtjp,0,Ztjp, I),计算两个向量,OH= iXop, Yop,Zop, O),^ =(Xop, O, Zop, 0),水平方向的旋转角度Qpan和垂直方向的旋转角度Θ tilt分别由公式⑷和(e)得到
全文摘要
一种基于Kinect的自动面部追踪方法,步骤为(1)将Kinect与可编程旋转摄像机组成为追踪设备并进行标定;(2)通过Kinect获取人体骨骼数据序列,并从中提取头部骨骼点在Kinect坐标系中的坐标;(3)利用当前摄像机的外参数和当前Kinect的外参数得到Kinect坐标系到摄像机坐标系的变换矩阵;(4)利用步骤(3)中获取的变换矩阵将步骤(2)中得到的头部骨骼点坐标变换到摄像机坐标系中,而后计算摄像机在水平和垂直方向需要旋转的角度以及需要缩放的倍数;(5)根据步骤(4)中求得的角度和倍数,驱动摄像机进行相应的旋转和缩放,使得摄像机能够追踪人的面部运动。本发明利用连续获取的骨骼数据序列驱动摄像机旋转和缩放,可有效地实现自动面部追踪。
文档编号H04N5/232GK102638653SQ20121005210
公开日2012年8月15日 申请日期2012年3月1日 优先权日2012年3月1日
发明者吴威, 周忠, 李涛, 赵沁平 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1