一种人脸追踪的方法及装置与流程

文档序号:11143254阅读:365来源:国知局
一种人脸追踪的方法及装置与制造工艺

本发明属于图像检测领域,尤其涉及一种人脸追踪的方法及装置。



背景技术:

人脸追踪技术是基于人的面部特征信息,对摄像机采集的视频中人脸位置和面部特征进行追踪的一种人脸检测技术。如图1所示,人脸在图像上的位置通常有三种类型:抬头或低头引起的面部俯仰,向左或向右扭头引起的面部偏航,和向左或向右歪头引起的面部翻滚。其中面部翻滚是指人脸以人脸所在平面的法向量为轴进行一定角度的旋转。

目前人脸追踪研究工作的对象主要是正面或接近正面的人脸图像,即通过人脸对齐(Face Alignment)算法对如图2所示的正面人脸图像进行人脸追踪和对齐。当正面人脸有较小偏转时该算法仍然能够准确的进行追踪和对齐。对于面部俯仰和面部偏航,一般人脸旋转角度较小,人脸横向和纵向的纹理变化不大,可以直接使用人脸对齐算法进行人脸追踪。但对于面部翻滚,有时人脸旋转角度较大,可以进行360度旋转,例如当人倒立时面部翻滚的角度为180度。此时,人脸横向和纵向纹理变化太大,不能直接使用人脸对齐算法进行追踪。这种情况下,需要首先检测面部翻滚的角度,然后根据面部翻滚的角度将整幅图像进行相应的旋转,使图像中的人脸成为正面人脸,最后利用人脸对齐算法对该旋转后的图像进行人脸追踪和对齐。

这种人脸追踪方法,需要对视频的每帧图像全局做人脸检测,通过人脸对齐算法实现人脸的追踪和对齐,运算量大。当面部翻滚角度较大时,需要先对整幅图像进行旋转才能使用人脸对齐算法,这样又极大的增加了对该帧图像中人脸进行追踪的运算量。而且随着视频中清晰度的提高,每帧图像的人脸追踪运算量也会相应增大。例如,目前在PC上对1920×1080的高清视频进行处理,每帧图像需要十几毫秒到一百毫秒以上。在手机和相机等手持设备上对视频人脸追踪的处理速度无法到达30FPS的实时性要求,容易造成视频播放卡顿。

综上所述,目前对视频的人脸追踪方法运算量大,占用系统资源多,处理效率低,容易造成视频播放卡顿,且处理速度受面部翻滚角度和视频清晰度的影响。



技术实现要素:

本发明实施例的目的在于提供一种人脸追踪的方法,旨在解决目前对视频的人脸追踪方法运算量大,占用系统资源多,处理效率低的问题。

本发明实施例是这样实现的,一种人脸追踪的方法,包括:

获取人脸检测框在上一图像帧中的图像位置;

在当前图像帧中,定位出相同所述图像位置的区域;

将所述当前图像帧中定位出的区域内的图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述当前图像中所述人脸的特征点位置;

根据获取到的所述特征点位置,在所述当前图像帧中确定出人脸检测框。

本发明实施例的另一目的在于提供一种人脸追踪的装置,包括:

获取单元,用于获取人脸检测框在上一图像帧中的图像位置;

定位单元,用于在当前图像帧中,定位出相同所述图像位置的区域;

对齐单元,用于将所述当前图像帧中定位出的区域内的图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述当前图像中所述人脸的特征点位置;

计算单元,用于根据获取到的所述特征点位置,在所述当前图像帧中确定出人脸检测框。

本发明实施例中,通过将视频中人脸检测框在上一图像帧中的图像位置作为当前图像帧进行人脸对齐的图像区域的位置,对该区域的图像进行人脸对齐定位出人脸的特征点位置,并根据人脸的特征点的位置确定出当前图像帧中人脸检测框。本发明实施例对视频图像进行人脸追踪时不需要对视频中每帧图像都进行全局检测,减少了对视频人脸追踪的运算量,提高了处理效率,降低了视频清晰度对处理的影响程度。

附图说明

图1是本发明实施例提供的图像中的人脸位置的示意图;

图2是本发明实施例提供的正面的人脸图像的示意图;

图3是本发明实施例提供的人脸追踪的方法的实现流程图;

图4是本发明实施例提供的人脸追踪的方法中进行人脸检测的实现流程图;

图5是本发明另一实施例提供的人脸追踪的方法中进行人脸检测的实现流程图;

图6是本发明实施例提供的人脸追踪的方法S303的具体实现流程图;

图7是本发明实施例提供的人脸追踪的装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,通过将视频中人脸检测框在上一图像帧中的图像位置作为当前图像帧进行人脸对齐的图像区域的位置,对该区域的图像进行人脸对齐定位出人脸的特征点位置,并根据人脸的特征点位置确定出当前图像帧中人脸检测框。本发明实施例对视频图像进行人脸追踪时不需要对视频中每帧图像都进行全局检测,减少了对视频人脸追踪的运算量,提高了处理效率,降低了视频清晰度对处理的影响程度。

本发明适用于包括手机、平板、笔记本、智能电视等能够进行视频播放的终端设备。人脸检测框为图像中可以将人脸的特征点全部包含在内的一个矩形区域的边框。在视频播放时,人脸检测框可以显示出来,也可以不进行显示。人脸的特征点是指在图像当中人脸面部比较容易区分的特征位置,如嘴唇轮廓,眼睛轮廓等。图像中人脸的特征点位置可以通过人脸对齐算法从图像信息中求出,特征点的数目根据所选择的算法和实际需求而定。特征点可以用于人脸在图像中的定位,例如根据图像中人脸中眼睛的特征点可以在眼睛位置添加眼镜等修饰物的控件,实现对图像中人脸的修饰。特征点还可以用于进行人脸识别来区分图像中不同的人脸。

人脸追踪即为在视频中每帧图像上找出人脸的特征点信息,确定人脸的位置。例如在视频播放过程中为人脸的眼睛位置添加眼镜修饰物的控件,当视频中该人脸的位置发生移动时,可以根据眼睛的特征点位置的变化对眼镜控件的显示位置进行调整,使控件显示位置始终与眼睛的移动保持同步,实现更好的修饰效果。人脸追踪还可以在监控视频中始终锁定一个人脸的特征点。人脸追踪和人脸特征点还有许多其他的用途,在此不一一列举。对每帧图像进行全局检测是指,通过对整帧图像的全局扫描,确定出人脸所在的区域,然后可以通过图像处理等手段来找出该区域内的人脸的特征点的位置。由于全局检测需要对整帧图像进行扫描,视频清晰度越高,处理速度越慢。

常用的对人脸的特征点进行定位的方法为通过人脸对齐算法对图像进行处理。人脸对齐算法有很多种,包括ASM算法、AAM算法、STASM算法等,都能实现对人脸面部的特征点的定位。其中,ASM算法相对简单,处理速度较快,STASM对特征点的定位相对精准,但处理速度较慢。可以根据实际需求选择合适的人脸对齐算法进行人脸的特征点定位。

图3为本发明实施例提供的人脸追踪的方法的实现流程图,详述如下:

在S301中,获取人脸检测框在上一图像帧中的图像位置。

在本实施例中,上一图像帧是相对当前图像帧来说的。对视频图像进行人脸追踪时,对图像的处理是一帧一帧进行的,当处理完一帧后再处理下一帧。所以文中所说的上一图像帧、当前图像帧和下一图像帧都是相对而言。当前图像帧为当前正在处理的一帧图像。上一图像帧指在当前图像帧之前刚完成处理的一帧图像。当前图像帧处理完成后,下一图像帧就变为了当前要处理的图像。

人脸检测框是指图像中将人脸的特征点都包含在内的一个矩形区域的边框。该区域的面积大小可以根据实际情况和所选用的人脸对齐算法进行设定。获取人脸检测框在图像中的位置可以为获取矩形框四角顶点在图像中的像素的坐标或者矩形框两个对角顶点在图像中的像素的坐标,在此不作限定。

在S302中,在当前图像帧中,定位出相同所述图像位置的区域。

即,根据获取到的人脸检测框在上一图像帧中的图像位置,在当前图像帧中查找相同的位置。具体可以根据矩形区域的矩形边框的像素坐标进行定位。由于视频播放的连续性,通常两帧相邻的图像间隔时间较短,图像比较相似,图像中人脸所在的位置也相差不多。因此可以将人脸检测框在上一图像帧中的图像位置来当作当前图像帧中的矩形区域的位置,该区域包含人脸的特征点的可能性最大。这样相当于在图像中预测出了人脸的大概位置,不需要再对整幅图像进行扫描。减少了图像处理的运算量,提高了处理效率。

在S303中,将所述当前图像帧中定位出的区域内的图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述当前图像中所述人脸的特征点位置。

在本实施例中,当前图像帧中定位出的区域为通过人脸检测框在上一图像帧中的图像位置确定的区域。由于前后两帧图像的差别不大,可以先预测人脸所在的区域并未发生较大改变。本实施例中选用的模板为人脸的正面模板,因为人脸对齐算法在图像中人脸为正面时查找人脸的特征点的精准度更高。在当前图像帧中定位出的区域内,采用人脸对齐算法,即可求出当前图像中所述人脸的特征点位置。

本实施例中考虑到处理速度方面的因素选用ASM算法。采用ASM算法,人脸的正面模板为一个基于统计学的模型,由点的集合表示。首先匹配模板和目标图像中每个局部的特征点来计算特征点的新的位置,通过迭代直至收敛来使模板的特征点位置与图像中人脸的特征点位置相吻合,最终确定图像中人脸的特征点位置。根据实际情况也可以选择其他人脸对齐的算法,在此不作限定。

在S304中,根据获取到的所述特征点位置,在所述当前图像帧中确定出人脸检测框。

其中,所述特征点位置是通过对当前图像帧中定位出的区域内的图像进行人脸对齐求出的。通过这些特征点的位置,计算求出包含这些特征点的矩形区域。该矩形区域的边框即为当前图像帧中确定出的人脸检测框。人脸检测框的大小可根据实际需求而定,但必须包含人脸的全部的特征点在内。当前图像帧处理完成后,开始对下一图像帧进行处理。当前图像帧中确定出人脸检测框作为下一图像帧进行人脸对齐的矩形区域定位的依据。

对视频中的其他帧视频图像进行处理也是依此步骤,通过将上一图像帧中人脸检测框的位置作为当前图像帧中的矩形区域位置进行人脸对齐,不必对每帧图像进行全局检测,减少了运算量。

作为本发明的一个实施例,可以首先在当前图像帧中定位出的区域内,检测是否有人脸图像。如果检测到有人脸图像,再对该区域内的图像进行人脸对齐。如图4所示,在S302之后,S303之前,所述方法还包括:

在S401中,在所述当前图像帧中定位出的区域内,检测是否有人脸图像。

在S402中,若未检测到人脸图像,对所述当前图像帧进行全局的人脸检测,以重新对所述区域进行定位。

在本实施例中,通过人脸检测可以检测一个指定区域内是否有人脸图像。人脸检测和人脸对齐的区别在于,人脸检测不对人脸的特征点位置进行定位,只检测出指定区域内有人脸图像即可。而人脸对齐是查找出人脸的特征点的位置。人脸检测的处理速度通常比人脸对齐快。对当前图像帧中定位出的区域内先进行人脸检测,可以避免该区域内没有人脸而对该区域进行人脸对齐的情况的发生。在相邻两帧图像中人脸位置相差较大时,提前检测出矩形区域内没有人脸,不进行无效的人脸对齐工作,从而减少不必要的运算量。

如果在当前图像帧中定位出的区域内没有人脸图像,则表示前后两帧图像中的人脸位置相差较大。此时可以通过对当前图像帧进行全局的人脸检测,来重新对当前图像帧中人脸所在的区域进行定位。然后再对全局检测找到的矩形区域内的图像进行人脸对齐,求出人脸的特征点位置。

作为本发明的另一个实施例,还可以在当前图像帧中定位出的区域内没有检测到人脸图像时,不对当前图像帧进行处理,转而处理下一图像帧,在下一图像帧中对区域进行定位。如图5所示,在S302之后,S303之前,所述方法还包括:

在S501中,在所述当前图像帧中定位出的区域内,检测是否有人脸图像。

在S502中,若未检测到人脸图像,则将下一图像帧作为所述当前图像帧处理。

在本实施例中,视频图像可能由于拍摄或数据传输错误等原因造成其中某些帧的图像发生错误。发生错误的图像与视频的其他帧的图像相差较大,不能相互对应,在这些图像中定位出的矩形区域内可能没有人脸图像。这种情况下,当检测到当前图像帧中定位出的区域内没有人脸图像时,可以不对当前图像帧进行人脸检测和人脸对齐的处理工作。这一帧图像有可能是错误的图像,不对这一帧图像处理,而进行下一帧的图像处理。根据人脸检测框在上一图像帧中的图像位置,在下一帧的图像中查找进行人脸对齐的矩形区域。如果在下一图像帧中查找到的矩形区域内有人脸,则表明之前的一帧图像是错误图像。这样避免了对发生错误的图像进行无效的处理,减少了不必要的运算。

优选地,若在连续预设帧数的图像帧中都未检测到人脸,则对所述当前帧图像进行全局的人脸检测,以重新对所述区域进行定位。

即,当连续几帧图像中定位出的区域内都没有人脸图像时,原因有可能不是图像的传输错误,而是矩形区域的计算错误或者之前图像中人脸的特征点位置有偏差。此时如果再用错误的矩形区域去进行人脸对齐,不可能查找到人脸的特征点的位置。因此,这种情况下可以对当前帧图像进行全局的人脸检测,来重新获取正确的矩形区域的位置,使对视频的人脸追踪过程重新开始。这样避免了因视频中某帧图像的人脸的特征点定位不准确,或人脸所在的矩形区域的位置计算错误造成的人脸追踪失败的情况的发生。

其中,所述预设帧数表示当有多少帧图像中的区域未检测到人脸图像时对图像进行全局检测。预设帧数可以根据视频播放的速度进行设置,例如视频的播放速度为每秒30帧,可以将预设帧数设为3帧。预设帧数的具体值可根据实际情况而定,在此不作限定。

作为本发明的一个实施例,在当前图像帧中定位的区域内的图像不是正面的人脸图像,而是人脸有一定的面部翻滚角度的图像时,可以先将该区域内的图像通过仿射变换变换为人脸为正面的图像,再进行人脸对齐。如图6所示,S303中,所述将所述当前图像帧中定位出的区域内的图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述当前图像中所述人脸的特征点位置,包括:

在S601中,对所述当前图像帧中定位出的区域内的图像进行仿射变换,以使该区域内的人脸图像变换为正面的人脸图像。

其中,仿射变换是指通过仿射变换矩阵将图像进行投影的一种图像处理方式。仿射变换矩阵可以通过变换前图像和变换后图像中的三对不共线的坐标点求出。当找到变换前后图像中三对以上的不共线的坐标点时,可以利用最小二乘法进行优化,求出仿射变换矩阵的最优解。

在本实施例中,将当前图像帧中定位出的区域内的图像向人脸的正面模板进行变换。通过图像处理的方式将矩形区域内较为容易求出的特征点的位置查找出来,如眼睛的两个眼角、嘴唇的两个唇角等特征点。根据这些特征点的坐标和人脸的正面模板中的对应特征点的坐标来计算两幅图像之间的仿射变换矩阵。再通过仿射变换矩阵将矩形区域内的图像变换为正面的人脸图像。

在S602中,将所述正面的人脸图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述正面的人脸图像中人脸的特征点位置。

即,当前图像帧中定位出的区域内的图像转换为正面的人脸图像后,对该正面的人脸图像进行人脸对齐,求出该正面的人脸图像中人脸的特征点位置。

在S603中,对所述正面的人脸图像进行仿射变换,变换为所述当前图像帧中定位出的区域内的图像,获取所述当前图像帧中所述人脸的特征点位置。

根据之前求出的仿射变换矩阵求出它的逆矩阵。利用该逆矩阵将变换后的正面的人脸图像变换回原来定位出的区域内的图像。求出该正面的人脸图像中人脸的特征点位置投影到该区域内的图像中的位置,即可得到当前图像帧中所述人脸的特征点位置。

通过对定位出的区域内的图像进行仿射变换转换为正面的人脸图像,在人脸的面部翻滚角度较大时也可以进行人脸对齐,且不必对整幅图像进行旋转。这样减少了在人脸的面部翻滚角度较大的情况下进行人脸对齐的运算量,提高了对视频进行人脸追踪的处理效率,且降低了视频清晰度对人脸追踪的影响程度。

作为本发明的一个实施例,如果当前图像帧为视频播放的第一帧图像,则对当前图像帧进行全局检测,以获取当前图像帧中人脸检测框的位置。

即,在处理视频的第一帧图像时,通过对图像的全局检测来获取图像中人脸检测框的位置。之后的其他帧图像则按照前面所说的方法进行处理。

本发明实施例中,通过将视频中人脸检测框在上一图像帧中的图像位置作为当前图像帧进行人脸对齐的图像区域的位置,对该区域的图像进行人脸对齐定位出人脸的特征点位置,并根据人脸的特征点的位置确定出当前图像帧中人脸检测框。本发明实施例对视频图像进行人脸追踪时不需要对视频中每帧图像都进行全局检测,减少了对视频人脸追踪的运算量,提高了处理效率,降低了视频清晰度对处理的影响程度。

应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于本发明实施例所提供的人脸追踪的方法,图7示出了本发明实施例提供的人脸追踪的装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分。

参照图7,该人脸追踪的装置包括:

获取单元71,用于获取人脸检测框在上一图像帧中的图像位置。

定位单元72,用于在当前图像帧中,定位出相同所述图像位置的区域。

对齐单元73,用于将所述当前图像帧中定位出的区域内的图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述当前图像中所述人脸的特征点位置。

计算单元74,用于根据获取到的所述特征点位置,在所述当前图像帧中确定出人脸检测框。

优选地,所述装置还包括第一检测单元,所述第一检测单元用于:

在所述当前图像帧中定位出的区域内,检测是否有人脸图像。

若未检测到人脸图像,对所述当前图像帧进行全局的人脸检测,以重新对所述区域进行定位。

优选地,所述装置还包括第二检测单元,所述第二检测单元用于:

在所述当前图像帧中定位出的区域内,检测是否有人脸图像。

若未检测到人脸图像,则将下一图像帧作为所述当前图像帧处理。

优选地,所述装置还包括第三检测单元,所述第三检测单元用于:

若在连续预设帧数的图像帧中都未检测到人脸,则对所述当前帧图像进行全局的人脸检测,以重新对所述区域进行定位。

优选地,所述对齐单元73用于:

对所述当前图像帧中定位出的区域内的图像进行仿射变换,以使该区域内的人脸图像变换为正面的人脸图像。

将所述正面的人脸图像与所述人脸检测框中人脸的正面模板进行人脸对齐,获取所述正面的人脸图像中人脸的特征点位置。

对所述正面的人脸图像进行仿射变换,变换为所述当前图像帧中定位出的区域内的图像,获取所述当前图像帧中所述人脸的特征点位置。

本发明实施例中,通过将视频中人脸检测框在上一图像帧中的图像位置作为当前图像帧进行人脸对齐的图像区域的位置,对该区域的图像进行人脸对齐定位出人脸的特征点位置,并根据人脸的特征点的位置确定出当前图像帧中人脸检测框。本发明实施例对视频图像进行人脸追踪时不需要对视频中每帧图像都进行全局检测,减少了对视频人脸追踪的运算量,提高了处理效率,降低了视频清晰度对处理的影响程度。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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