一种人脸关键点跟踪方法和装置与流程

文档序号:12468330阅读:172来源:国知局
一种人脸关键点跟踪方法和装置与流程

本发明涉及通信技术领域,具体涉及一种人脸关键点跟踪方法和装置。



背景技术:

随着计算机和图像处理等技术的高速发展,人脸识别技术也得到了长足的进步;人脸识别不仅可以用在图像处理上,而且,也可以应用在身份鉴别等领域,因此,近些年来,人脸识别也一直是研究的一个热点。

人脸关键点的检测是人脸识别的基础,为了能够准确地识别出视频流中的人脸,需要对视频流中的每一个人脸进行人脸关键点跟踪。所谓人脸关键点,指的是能够反映人脸特征的信息,比如眼睛、眉毛、鼻子、嘴巴、以及脸部外轮廓等。在现有技术中,一般会采用逐帧人脸检测法来对视频流中进行人脸关键点跟踪,即对于视频流中的每一帧做人脸检测,并对检测到的每一个人脸使用人脸关键点定位算法来定位人脸关键点位置,从而达到多人脸人脸关键点跟踪的效果。

在对现有技术的研究和实践过程中,本发明的发明人发现,在现有方案中,由于所采用的人脸检测算法较为耗时,因此,不仅处理效率较低,而且,需要消耗较多的资源,在移动终端无法达到实时计算。



技术实现要素:

本发明实施例提供一种人脸关键点跟踪方法和装置,不仅可以减少检测时间,提高处理效率,而且,可以节省资源消耗,可以在移动终端进行实时计算。

本发明实施例提供一种人脸关键点跟踪方法,包括:

在视频流中获取当前需要处理的图像,得到当前帧;

获取当前帧的上一帧图像的人脸关键点坐标、以及所述上一帧图像的人脸关键点坐标的置信度;

在置信度高于预设阈值时,根据所述上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标;

根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并返回执行在视频流中获取当前需要处理的图像的步骤,直至视频流中的图像均识别完毕。

本发明实施例还提供一种人脸关键点跟踪装置,包括:

图像获取单元,用于在视频流中获取当前需要处理的图像,得到当前帧;

参数获取单元,用于获取当前帧的上一帧图像的人脸关键点坐标、以及所述上一帧图像的人脸关键点坐标的置信度;

运算单元,用于在置信度高于预设阈值时,根据所述上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标;

处理单元,用于根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并触发图像获取单元执行在视频流中获取当前需要处理的图像的操作,直至视频流中的图像均识别完毕。

本发明实施例可以通过获取上一帧图像的人脸关键点坐标和置信度,来推算当前帧的人脸关键点坐标,然后,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别、以及对当前帧相应的置信度进行计算,以供下一帧图像进行参考,如此循环,直至对视频流中的所有图像均识别完毕,从而实现实时地对视频流中的人脸关键点进行跟踪的目的;由于该方案在计算当前帧的人脸关键点坐标时,可以参考上一帧的识别结果,而无需逐帧进行检测,因此,相对于现有需要逐帧进行检测的方案而言,不仅可以大大减少检测的时间,提高处理效率,而且,也可以减少资源的消耗,有利于在移动终端实现实时计算。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的人脸关键点跟踪方法的场景示意图;

图1b是本发明实施例提供的人脸关键点跟踪方法的流程图;

图2是本发明实施例提供的人脸关键点跟踪方法的另一流程图;

图3a是本发明实施例提供的人脸关键点跟踪装置的结构示意图;

图3b是本发明实施例提供的人脸关键点跟踪装置的另一结构示意图;

图4是本发明实施例提供的移动终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种人脸关键点跟踪方法和装置。

其中,该人脸关键点跟踪装置具体集成在移动终端等设备中,例如,参见图1a,该移动终端在对视频流中的图像进行人脸关键点跟踪时,可以根据上一帧图像的人脸关键点坐标、以及上一帧图像的人脸关键点坐标的置信度,来推算当前帧的人脸关键点坐标,比如,在该置信度高于预设阈值时,根据该上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标,而若该置信度低于预设阈值,则对当前帧中的人脸位置进行检测,来得到当前帧的人脸关键点坐标,等等,然后,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并循环执行上述步骤,直至视频流中的图像均识别完毕,从而实现对视频流中人脸关键点的实时跟踪。

以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

实施例一、

本实施例将从人脸关键点跟踪装置的角度进行描述,该人脸关键点跟踪装置具体可以集成在移动终端等设备中,该移动终端可以包括手机、平板电脑、或智能穿戴设备等。

一种人脸关键点跟踪方法,包括:在视频流中获取当前需要处理的图像,得到当前帧,获取当前帧的上一帧图像的人脸关键点坐标、以及该上一帧图像的人脸关键点坐标的置信度,在置信度高于预设阈值时,根据该上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并返回执行在视频流中获取当前需要处理的图像的步骤,直至视频流中的图像均识别完毕。

如图1b所示,该人脸关键点跟踪方法的具体流程可以如下:

101、在视频流中获取当前需要处理的图像,得到当前帧。

例如,具体可以从本地或其他设备中获取视频流,然后,从视频流中确定当前需要处理的图像,得到当前帧。

102、获取当前帧的上一帧图像的人脸关键点坐标、以及该上一帧图像的人脸关键点坐标的置信度。

例如,若在该上一帧图像中,存在单个人脸,则此时,可以获取该人脸的人脸关键点坐标,以及相应的置信度,若在该上一帧图像中,存在多个人脸,则可以获取这些人脸的人脸关键点坐标,以及相应的置信度,等等。

其中,人脸关键点指的是能够反映人脸特征的信息,比如眼睛、眉毛、鼻子、嘴巴、以及脸部外轮廓等。人脸关键点坐标指的是这些人脸关键点的坐标,每个人脸关键点坐标可以用一个数组,比如用数组(x1,y1,x2,y2,…,xn,yn)来表征,其中,(xi,yi)代表其中第i个点的坐标。

103、在置信度(即上一帧图像的人脸关键点坐标的置信度)高于预设阈值时,根据该上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标,例如,具体可以如下:

(1)计算该上一帧图像的人脸关键点坐标的包络框,得到配准坐标框,具体可以如下:

A、分别计算该上一帧图像的人脸关键点坐标中所有横坐标的最小值和最大值,得到最小横坐标和最大横坐标。

B、分别计算该上一帧图像的人脸关键点坐标中所有纵坐标的最小值和最大值,得到最小纵坐标和最大纵坐标。

C、根据该最小横坐标、最大横坐标、最小纵坐标和最大纵坐标计算该人脸关键点坐标的包络框,得到配准坐标框。

例如,可以根据该最小横坐标/最大横坐标、以及最小纵坐标/最大纵坐标确定包络框的参照点坐标,计算该最大横坐标与最小横坐标的差,得到包络框的宽度,以及计算该最大纵坐标与最小纵坐标的差,得到包络框的高度,然后,根据该参照点坐标、宽度和高度绘制包络框,得到配准坐标框。

其中,参照点的选择可以根据实际应用的需求而定,比如,可以将包络框左上角、左下角、右上角、或右上角等作为参照点,根据所选择的参照点的不同,参照点坐标的确定方式也会有所区别,比如可以如下:

若将该包络框左上角作为参照点,则步骤“根据该最小横坐标/最大横坐标、以及最小纵坐标/最大纵坐标确定包络框的参照点坐标”具体可以为:将该最小横坐标和最小纵坐标作为包络框左上角的坐标;

若将该包络框左下角作为参照点,则步骤“根据该最小横坐标/最大横坐标、以及最小纵坐标/最大纵坐标确定包络框的参照点坐标”具体可以为:将该最小横坐标和最大纵坐标作为包络框左下角的坐标;

若将该包络框右上角作为参照点,则步骤“根据该最小横坐标/最大横坐标、以及最小纵坐标/最大纵坐标确定包络框的参照点坐标”具体可以为:将该最大横坐标和最小纵坐标作为包络框左下角的坐标;

若将该包络框右下角作为参照点,则步骤“根据该最小横坐标/最大横坐标、以及最小纵坐标/最大纵坐标确定包络框的参照点坐标”具体可以为:将该最大横坐标和最大纵坐标作为包络框左下角的坐标。

(2)根据该配准坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

例如,具体可以将该配准坐标框作为当前帧中人脸关键点的包络框,从而推算出该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

可选的,为了提高识别的准确性,还可以利用空闲的计算资源,如利用中央处理器(CPU,Central Processing Unit)的空闲时间或空闲的CPU异步对当前帧中的人脸进行检测,将检测结果结合上述推算结果(即配准坐标框),来对人脸进行识别,即,步骤“根据该配准坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标”之前,该人脸关键点跟踪方法还可以包括:

确定当前的空闲计算资源大于设定量时,对当前帧中的人脸位置进行检测,得到检测坐标框。

则此时,步骤“根据该配准坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标”可以包括:将该配准坐标框和检测坐标框进行合并,得到目标坐标框,根据该目标坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

例如,可以分别计算每个配准坐标框和检测坐标框的重叠率,根据该重叠率对配准坐标框和检测坐标框进行筛选,得到目标坐标框,比如,具体可以如下:

若重叠率大于设定值,则删除对应的检测坐标框,将对应的配准坐标框确定为目标坐标框;若重叠率小于等于设定值,则将对应的检测坐标框和配准坐标框均确定为目标坐标框;或者,

若重叠率大于设定值,则删除对应的配准坐标框,将对应的检测坐标框确定为目标坐标框;若重叠率小于等于设定值,则将对应的检测坐标框和配准坐标框均确定为目标坐标框。

需说明的是,若置信度(即上一帧图像的人脸关键点坐标的置信度)低于(即不高于,包括等于)预设阈值,则表明上一帧的人脸关键点坐标的参考价值较低,因此,此时可以采用检测的方式来获取当前帧中人脸关键点坐标,即,在步骤“根据当前帧的人脸关键点坐标对当前帧中的人脸进行识别”之前,该人脸关键点跟踪方法还可以包括:

在置信度低于预设阈值时,对当前帧中的人脸位置进行检测,得到检测坐标框,根据检测坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

其中,该预设阈值、设定量、以及设定值可以根据实际应用的需求进行设置,在此不再赘述。

104、根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并返回执行步骤101,即返回执行“在视频流中获取当前需要处理的图像”的步骤,直至视频流中的图像均识别完毕。

即将当前帧的人脸关键点坐标和置信度作为下一帧图像识别的一个参考,如此循环,直至视频流中的图像均识别完毕。

其中,为了减少计算时间,以及节省计算资源,人脸关键点坐标和置信度的计算可以是同步的。

需说明的是,若获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度,比如当前帧为该视频流的首帧,则可以通过检测来得到当前帧的人脸关键点坐标,即在步骤“根据当前帧的人脸关键点坐标对当前帧进行多人脸识别”之前,该人脸关键点跟踪方法还可以包括:

若获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度,则对当前帧中的人脸位置进行检测,得到检测坐标框,根据检测坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标,然后,执行步骤104。

由上可知,本实施例可以通过获取上一帧图像的人脸关键点坐标和置信度,来推算当前帧的人脸关键点坐标,然后,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别、以及对当前帧相应的置信度进行计算,以供下一帧图像进行参考,如此循环,直至对视频流中的所有图像均识别完毕,从而实现实时地对视频流中的人脸关键点进行跟踪的目的;由于该方案在计算当前帧的人脸关键点坐标时,可以参考上一帧的识别结果,而无需逐帧进行检测,因此,相对于现有需要逐帧进行检测的方案而言,不仅可以大大减少检测的时间,提高处理效率,而且,也可以减少资源的消耗,有利于在移动终端实现实时计算。

实施例二、

根据实施例一所描述的方法,以下将举例作进一步详细说明

在本实施例中,将以该人脸关键点跟踪装置具体集成在移动终端中为例进行说明。

如图2所示,一种人脸关键点跟踪方法,具体流程可以如下:

200、移动终端接收视频流。

例如,移动终端具体可以接收其他设备发送的视频流,或者,从本地存储空间获取视频流,等等。

201、移动终端在视频流中获取当前需要处理的图像,得到当前帧。

202、移动终端获取当前帧的上一帧图像的人脸关键点坐标、以及该上一帧图像的人脸关键点坐标的置信度。

例如,若在该上一帧图像中,存在单个人脸,则此时,可以获取该人脸的人脸关键点坐标,以及相应的置信度,若在该上一帧图像中,存在多个人脸,则可以获取这些人脸的人脸关键点坐标,以及相应的置信度,等等。

其中,人脸关键点指的是能够反映人脸特征的信息,比如眼睛、眉毛、鼻子、嘴巴、以及脸部外轮廓等。人脸关键点坐标指的是这些人脸关键点的坐标,每个人脸关键点坐标可以用一个数组(x1,y1,x2,y2,…,xn,yn)来表征,其中,(xi,yi)代表其中第i个点的坐标。

需说明的是,若获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度,比如当前帧为该视频流的第一帧,则可以通过检测来得到当前帧的人脸关键点坐标,即执行步骤204。

203、移动终端确定该上一帧图像的人脸关键点坐标的置信度是否高于预设阈值,若是,则表明人脸关键点跟踪成功,执行步骤205,否则,若不高于预设阈值,则表明人脸关键点跟踪失败,执行步骤204。

其中,该预设阈值可以根据实际应用的需求进行设置,在此不再赘述。

204、移动终端对当前帧中的人脸位置进行检测,得到检测坐标框,根据检测坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标,然后执行步骤208。

205、在置信度高于预设阈值时,移动终端计算该上一帧图像的人脸关键点坐标的包络框,得到配准坐标框,具体可以如下:

(1)移动终端分别计算该上一帧图像的人脸关键点坐标中所有横坐标的最小值和最大值,得到最小横坐标和最大横坐标。

比如,以上一帧图像的人脸关键点坐标为(x1,y1,x2,y2,…,xn,yn)为例,则此时,可以计算:

最小横坐标xmin=min(x1,x2,…,xn);

最大横坐标xmax=max(x1,x2,…,xn)。

(2)移动终端分别计算该上一帧图像的人脸关键点坐标中所有纵坐标的最小值和最大值,得到最小纵坐标和最大纵坐标。

比如,还是以上一帧图像的人脸关键点坐标为(x1,y1,x2,y2,…,xn,yn)为例,则此时,可以计算:

最小纵坐标ymin=min(y1,y2,…,yn);

最大纵坐标ymax=max(y1,y2,…,yn)。

(3)移动终端根据该最小横坐标、最大横坐标、最小纵坐标和最大纵坐标计算该人脸关键点坐标的包络框,得到配准坐标框。

例如,可以根据该最小横坐标/最大横坐标、以及最小纵坐标/最大纵坐标确定包络框的参照点坐标,计算该最大横坐标与最小横坐标的差,得到包络框的宽度,以及计算该最大纵坐标与最小纵坐标的差,得到包络框的高度,然后,根据该参照点坐标、宽度和高度绘制包络框,得到配准坐标框。

比如,若包络框的宽度用w表示,包络框的高度用h表示,则:

w=xmax-xmin=max(x1,x2,…,xn)-min(x1,x2,…,xn);

h=ymax-ymin=max(y1,y2,…,yn)-min(y1,y2,…,yn)。

其中,参照点的选择可以根据实际应用的需求而定,比如,可以将包络框左上角、左下角、右上角、或右上角等作为参照点,根据所选择的参照点的不同,参照点坐标的确定方式也会有所区别,比如可以如下:

若将该包络框左上角作为参照点,则具体可以将该最小横坐标和最小纵坐标作为包络框左上角的坐标,即参照点坐标为(xmin,ymin);

若将该包络框左下角作为参照点,则具体可以将该最小横坐标和最大纵坐标作为包络框左下角的坐标,即参照点坐标为(xmin,ymax);

若将该包络框右上角作为参照点,则具体可以将该最大横坐标和最小纵坐标作为包络框左下角的坐标,即参照点坐标为(xmax,ymin);

若将该包络框右下角作为参照点,则具体可以将该最大横坐标和最大纵坐标作为包络框左下角的坐标,即参照点坐标为(xmax,ymax)。

即,若将该包络框左上角作为参照点,则包络框为(xmin,ymin,w,h);

若将该包络框左下角作为参照点,则包络框为(xmin,ymax,w,h);

若将该包络框右上角作为参照点,则包络框为(xmax,ymin,w,h);

若将该包络框右下角作为参照点,则包络框为(xmax,ymax,w,h)。

206、移动终端获取当前帧的检测坐标框,将该检测坐标框与步骤205中得到的配准坐标框进行合并,得到目标坐标框,然后执行步骤207。

例如,移动终端可以分别计算每个配准坐标框和检测坐标框的重叠率,根据该重叠率对配准坐标框和检测坐标框进行筛选,得到目标坐标框。

比如,当重叠率大于设定值时,则可以认为该检测坐标框和配准坐标框所识别到的为同一个人脸,因此,可以去除重复的坐标框,保留该检测坐标框和配准坐标框中的任意一个即可,而如果重叠率小于等于该设定值,则表明该检测坐标框和配准坐标框所识别到的不是同一个人脸,因此,可以将该检测坐标框和配准坐标框均保留下来,也就是说,筛选目标坐标框的方式可以采用如下任意一种:

(1)第一种方式;

若重叠率大于设定值,则删除对应的检测坐标框,将对应的配准坐标框确定为目标坐标框;

若重叠率小于等于设定值,则将对应的检测坐标框和配准坐标框均确定为目标坐标框。

(2)第二种方式;

若重叠率大于设定值,则删除对应的配准坐标框,将对应的检测坐标框确定为目标坐标框;

若重叠率小于等于设定值,则将对应的检测坐标框和配准坐标框均确定为目标坐标框。

其中,该设定值可以根据实际应用的需求进行设置,在此不再赘述。

其中,重叠率可以采用交并比(IOU,Intersection Over Union)方式来进行计算,比如以检测坐标框为K1,配准坐标框为K2为例,则重叠率IOU可以为:

IOU=(K1∩K2)/(K1∪K2)。

需说明的是,若移动终端获取不到当前帧的检测坐标框,则可以将该配准坐标框作为目标坐标框,然后执行步骤207(即此时直接根据该配准坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标)。

其中,该当前帧的检测坐标框可以通过异步计算来得到,比如,可以利用空闲的计算资源,如利用CPU的空闲时间或空闲的CPU异步对当前帧中的人脸位置进行检测来得到,等等,具体的检测方法与步骤204相同,在此不再赘述。

207、移动终端根据该目标坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标,然后执行步骤208。

208、移动终端根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,然后执行步骤209。

其中,为了减少计算时间,以及节省计算资源,人脸关键点坐标和置信度的计算可以是同步的。

209、移动终端确定视频流中的图像是否均识别完毕,若是,则流程结束,否则,返回执行步骤201。

即,将当前帧的人脸关键点坐标和置信度作为下一帧图像人脸关键点跟踪的一个参考,如此循环,直至视频流中的图像均识别完毕。

由上可知,本实施例可以通过获取上一帧图像的人脸关键点坐标和置信度,来推算当前帧的人脸关键点坐标,然后,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别、以及对当前帧相应的置信度进行计算,以供下一帧图像进行参考,如此循环,直至对视频流中的所有图像均识别完毕,从而实现实时地对视频流中的人脸关键点进行跟踪的目的;由于该方案在计算当前帧的人脸关键点坐标时,可以参考上一帧的识别结果,而无需逐帧进行检测,因此,相对于现有需要逐帧进行检测的方案而言,不仅可以大大减少检测的时间,提高处理效率,而且,也可以减少资源的消耗;此外,由于人脸关键点坐标和置信度的计算可以是同步的,因此,可以进一步节省计算时间和资源,有利于在移动终端实现实时计算。

实施例三、

为了更好地实施以上方法,本发明实施例还提供一种人脸关键点跟踪装置,如图3a所示,该人脸关键点跟踪装置包括图像获取单元301、参数获取单元302、运算单元303和处理单元304,如下:

(1)图像获取单元301;

图像获取单元301,用于在视频流中获取当前需要处理的图像,得到当前帧;

例如,图像获取单元301,具体可以用于从本地或其他设备中获取视频流,然后,从视频流中确定当前需要处理的图像,得到当前帧。

(2)参数获取单元302;

参数获取单元302,用于获取当前帧的上一帧图像的人脸关键点坐标、以及该上一帧图像的人脸关键点坐标的置信度。

例如,若在该上一帧图像中,存在单个人脸,则此时,参数获取单元302可以获取该人脸的人脸关键点坐标,以及相应的置信度,而若在该上一帧图像中,存在多个人脸,则参数获取单元302可以获取这些人脸的人脸关键点坐标,以及相应的置信度,等等。

其中,人脸关键点指的是能够反映人脸特征的信息,比如眼睛、眉毛、鼻子、嘴巴、以及脸部外轮廓等。人脸关键点坐标指的是这些人脸关键点的坐标,每个人脸关键点坐标可以用一个数组,比如用数组(x1,y1,x2,y2,…,xn,yn)来表征,其中,(xi,yi)代表其中第i个点的坐标。

(3)运算单元303;

运算单元303,用于在置信度高于预设阈值时,根据该上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标。

例如,该运算单元303可以包括第一计算子单元和第二计算子单元,如下:

该第一计算子单元,用于在置信度高于预设阈值时,计算该上一帧图像的人脸关键点坐标的包络框,得到配准坐标框。

该第二计算子单元,用于根据该配准坐标框计算当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

比如,该第一计算单元,具体可以用于在置信度高于预设阈值时,分别计算该上一帧图像的人脸关键点坐标中所有横坐标的最小值和最大值,得到最小横坐标和最大横坐标;分别计算该上一帧图像的人脸关键点坐标中所有纵坐标的最小值和最大值,得到最小纵坐标和最大纵坐标;根据该最小横坐标、最大横坐标、最小纵坐标和最大纵坐标计算该人脸关键点坐标的包络框,得到配准坐标框。

其中,参照点的选择可以根据实际应用的需求而定,比如,可以将包络框左上角、左下角、右上角、或右上角等作为参照点,根据所选择的参照点的不同,参照点坐标的确定方式也会有所区别,具体可参见前面的方法实施例,在此不再赘述。

可选的,为了提高识别的准确性,还可以利用空闲的计算资源,异步对当前帧中的人脸进行检测,将检测结果结合配准坐标框,来对人脸进行识别,即如图3b所示,该人脸关键点跟踪装置还可以包括第一检测单元305,如下:

该第一检测单元305,可以用于确定当前的空闲计算资源大于设定量时,对当前帧中的人脸位置进行检测,得到检测坐标框。

则此时,第二计算子单元,具体可以用于将该配准坐标框和检测坐标框进行合并,得到目标坐标框,根据该目标坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

例如,第二计算子单元,具体可以用于分别计算每个配准坐标框和检测坐标框的重叠率,根据该重叠率对配准坐标框和检测坐标框进行筛选,得到目标坐标框;比如,具体可以如下:

若重叠率大于设定值,则删除对应的检测坐标框,将对应的配准坐标框确定为目标坐标框;若重叠率小于等于设定值,则将对应的检测坐标框和配准坐标框均确定为目标坐标框;或者,

若重叠率大于设定值,则删除对应的配准坐标框,将对应的检测坐标框确定为目标坐标框;若重叠率小于等于设定值,则将对应的检测坐标框和配准坐标框均确定为目标坐标框。

(4)处理单元304;

处理单元304,用于根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并触发图像获取单元执行在视频流中获取当前需要处理的图像的操作,直至视频流中的图像均识别完毕。

需说明的是,若上一帧图像的人脸关键点坐标的置信度不高于预设阈值,则表明上一帧的人脸关键点坐标的参考价值较低,因此,此时可以采用检测的方式来获取当前帧中人脸关键点坐标,即:

该运算单元303,还可以用于在置信度低于预设阈值时,对当前帧中的人脸位置进行检测,得到检测坐标框,根据检测坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

其中,该预设阈值、设定量、以及设定值可以根据实际应用的需求进行设置,在此不再赘述。

此外,需说明的是,若获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度,比如当前帧为该视频流的首帧,则可以通过检测来得到当前帧的人脸关键点坐标,即如图3b所示,该人脸关键点跟踪装置还可以包括第二检测单元306;

该第二检测单元306,可以用于在获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度时,对当前帧中的人脸位置进行检测,得到检测坐标框,根据检测坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

具体实施时,以上各个单元可以分别作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

该人脸关键点跟踪装置具体可以集成在移动终端等设备中,该移动终端可以包括手机、平板电脑或智能穿戴设备等。

由上可知,本实施例的人脸关键点跟踪装置可以通过获取上一帧图像的人脸关键点坐标和置信度,来推算当前帧的人脸关键点坐标,然后,由处理单元304根据当前帧的人脸关键点坐标对当前帧进行多人脸识别、以及对当前帧相应的置信度进行计算,以供下一帧图像进行参考,如此循环,直至对视频流中的所有图像均识别完毕,从而实现实时地对视频流中的人脸关键点进行跟踪的目的;由于该方案在计算当前帧的人脸关键点坐标时,可以参考上一帧的识别结果,而无需逐帧进行检测,因此,相对于现有需要逐帧进行检测的方案而言,不仅可以大大减少检测的时间,提高处理效率,而且,也可以减少资源的消耗,有利于在移动终端实现实时计算。

实施例四、

相应的,本发明实施例还提供一种移动终端,如图4所示,该移动终端可以包括射频(RF,Radio Frequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。

存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。

输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元404可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

移动终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在移动终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路406、扬声器,传声器可提供用户与移动终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一移动终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与移动终端的通信。

WiFi属于短距离无线传输技术,移动终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块407,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器408是移动终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行移动终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。

移动终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:

在视频流中获取当前需要处理的图像,得到当前帧,获取当前帧的上一帧图像的人脸关键点坐标、以及该上一帧图像的人脸关键点坐标的置信度,在置信度高于预设阈值时,根据该上一帧图像的人脸关键点坐标计算当前帧的人脸关键点坐标,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别,以及计算当前帧的人脸关键点坐标的置信度,并返回执行在视频流中获取当前需要处理的图像的步骤,直至视频流中的图像均识别完毕。

例如,可以在置信度高于预设阈值时,计算该上一帧图像的人脸关键点坐标的包络框,得到配准坐标框,根据该配准坐标框计算当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

可选的,为了提高识别的准确性,还可以利用空闲的计算资源,异步对当前帧中的人脸进行检测,将检测结果结合配准坐标框,来对人脸进行识别,即该存储在存储器402中的应用程序,还可以实现如下功能:

确定当前的空闲计算资源大于设定量时,对当前帧中的人脸位置进行检测,得到检测坐标框,将该配准坐标框和检测坐标框进行合并,得到目标坐标框,根据该目标坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

比如,可以分别计算每个配准坐标框和检测坐标框的重叠率,根据该重叠率对配准坐标框和检测坐标框进行筛选,得到目标坐标框,等等。

此外,若上一帧图像的人脸关键点坐标的置信度不高于预设阈值,或者,获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度时,也可以采用检测的方式来获取当前帧中人脸关键点坐标,即该存储在存储器402中的应用程序,还可以实现如下功能:

在置信度低于预设阈值时,或获取不到该当前帧的上一帧图像的人脸关键点坐标和置信度时,对当前帧中的人脸位置进行检测,得到检测坐标框,根据检测坐标框计算该当前帧中人脸关键点的位置,得到当前帧的人脸关键点坐标。

其中,该预设阈值、设定量、以及设定值可以根据实际应用的需求进行设置,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本实施例的移动终端可以通过获取上一帧图像的人脸关键点坐标和置信度,来推算当前帧的人脸关键点坐标,然后,根据当前帧的人脸关键点坐标对当前帧进行多人脸识别、以及对当前帧相应的置信度进行计算,以供下一帧图像进行参考,如此循环,直至对视频流中的所有图像均识别完毕,从而实现实时地对视频流中的人脸关键点进行跟踪的目的;由于该方案在计算当前帧的人脸关键点坐标时,可以参考上一帧的识别结果,而无需逐帧进行检测,因此,相对于现有需要逐帧进行检测的方案而言,不仅可以大大减少检测的时间,提高处理效率,而且,也可以减少资源的消耗,有利于在移动终端实现实时计算。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

以上对本发明实施例所提供的一种人脸关键点跟踪方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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