人脸跟踪方法、装置及终端设备
技术领域
本申请属于图像处理
技术领域
,尤其涉及一种人脸跟踪方法、装置及终端设备。背景技术
近年来,人脸跟踪技术被广泛应用于人机交互,小区门禁,地铁安检,维稳反恐以及流动人员管控上。为了实现人脸在不同视频帧中的定位跟踪,常见的人脸跟踪方法主要是利用人脸在视频帧中所具有的颜色、纹理等特征进行定位跟踪,但是这些人脸跟踪方法无法适应环境的变化,鲁棒性较差,且无法保证实时性。因此,现有的人脸跟踪方法效率较低。
发明内容
有鉴于此,本申请实施例提供了人脸跟踪方法、装置及终端设备,以解决现有技术中如何提高人脸跟踪的效率的问题。
本申请实施例的第一方面提供了一种人脸跟踪方法,包括:
对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点,其中,若所述当前帧图像为预设起始帧图像,则所述当前帧图像的人脸检测区域为对所述当前帧图像进行人脸检测得到的区域;
根据所述目标关键点定位当前帧图像的人脸区域,并确定下一帧图像的人脸检测区域。
本申请实施例的第二方面提供了一种人脸跟踪装置,包括:
人脸关键点检测单元,用于对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点,其中,若所述当前帧图像为预设起始帧图像,则所述当前帧图像的人脸检测区域为对所述当前帧图像进行人脸检测得到的区域;
定位单元,用于根据所述目标关键点定位当前帧图像的人脸区域,并确定下一帧图像的人脸检测区域。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得终端设备实现如所述人脸跟踪的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得终端设备实现如所述人脸跟踪的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如第一方面中所述的人脸跟踪方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,每帧图像只需根据提前确定的人脸检测区域,在该人脸检测区域确定目标关键点,即可根据该目标关键点定位当前帧图像的人脸区域,同时还能够根据该目标关键点确定下一帧图像的人脸检测区域,以使下一帧图像继续进行目标关键点检测及人脸区域定位,从而通过连续地人脸定位实现人脸跟踪。由于除预设起始帧图像外,其它图像都只需检测确定出目标关键点即可根据该目标关键点进一步实现人脸跟踪,而无需进行完整的人脸检测,因此能够减少检测运算的时间,提高人脸定位跟踪的实时性;并且,由于基于关键点检测来定位人脸的方法相对于现有的基于颜色、纹理等信息进行人脸检测的方法受环境的影响较小,能够更好地适应环境变化,因此能够提高人脸跟踪的鲁棒性。综上,本申请实施例的人脸跟踪方法能够提高人脸跟踪的实时性和鲁棒性,从而提高人脸跟踪的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种人脸跟踪方法的实现流程示意图;
图2是本申请实施例提供的一种目标关键点的示例图;
图3是本申请实施例提供的一种视频图像序列中人脸跟踪方法的流程示意图;
图4是本申请实施例提供的一种人脸跟踪装置的示意图;
图5是本申请实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一:
图1示出了本申请实施例提供的一种人脸跟踪方法的流程示意图,该人脸跟踪方法的执行主体为终端设备,详述如下:
本申请实施例中的人脸跟踪方法为对指定的视频图像序列中每帧图像的人脸区域进行持续定位跟踪的方法。通过依次对视频图像序列中的每帧图像进行如下的步骤S101-S102的方法,实现对当前帧图像的人脸区域的精确定位,以及对下一帧图像的人脸检测区域确定,以使后续帧能够快速地进行人脸区域定位,从而实现高效的人脸跟踪。
在S101中,对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点,其中,若所述当前帧图像为预设起始帧图像,则所述当前帧图像的人脸检测区域为对所述当前帧图像进行人脸检测得到的区域。
本申请实施例中,终端设备按序对视频图像序列中的每帧图像进行人脸跟踪处理,当前帧图像即为当前按序轮到的待终端设备进行人脸跟踪处理的一帧图像。
本申请实施例中,当前帧图像的人脸检测区域为预先确定的待进行人脸关键点检测的区域,在该人脸检测区域范围内可以进一步定位精确的人脸区域。具体地,若当前帧图像为预设起始帧图像,则该人脸检测区域为在步骤S101之前通过预设的人脸检测算法对该当前帧图像进行人脸检测得到的区域,若当前帧图像不是预设起始帧图像,则该人脸检测区域为根据上一帧图像的目标关键点确定的区域。其中,该预设的人脸检测算法通常能够完整、精确地确定人脸所在区域,然而该人脸检测算法通常计算量大,较为耗时;而基于前一帧图像确定的人脸检测区域能够快速地定位人脸所在区域,因此在预设起始帧图像准确地确定了人脸检测区域后,后续的帧图像即可依赖于前帧图像来确定人脸检测区域,而无需每帧图像都进行人脸检测,从而在保证准确性的同时提高人脸跟踪的效率。具体地,本申请实施例中的预设起始帧图像至少包括视频图像序列中的第一帧图像,即第一帧图像的人脸检测区域是通过完整、准确的人脸检测来确定的一个起始区域,使得第二帧、第三帧及后续帧图像的人脸检测区域能够依次根据前一帧图像确定。示例性地,本申请实施例中预设的人脸检测算法包括但不限于模板匹配算法或者基于神经网络的算法。
对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点,该目标关键点为预设的若干个人脸关键点,例如该关键点为人脸五官上的关键点。优选地,目标关键点的数目小于或者等于10,以降低人脸关键点检测的复杂度,降低确定目标关键点时的运算量,从而提高人脸跟踪效率。
可选地,本申请实施例中的预设起始帧图像具体包括视频图像序列中的第一帧图像以及根据预设间隔帧数确定的图像。
本申请实施例中的预设起始帧图像除了作为起始基准的第一帧图像外,还包括了与第一帧图像间隔预设间隔帧数的图像。例如包括每隔5帧、每隔10帧或者每隔20帧选定一帧图像作为预设起始帧图像。
具体地,所述根据预设间隔帧数m确定的图像为第n帧图像,其中,n对m取余的结果为0,且m、n均为大于1的正整数。
即,根据预设间隔帧数确定的图像的帧序号n满足以下公式:
n%m==0,其中“%”为取余计算符,“==”为等于号。
示例性地,m的取值为10。由于通常情况下连续的10帧图像之间不会发生巨大的变化,每间隔10帧确定预设起始帧图像足够保证人脸跟踪的准确性。
本申请实施例中,由于预设起始帧图像除了第一帧图像还包括根据预设间隔帧数确定的图像,使得在视频图像序列的人脸跟踪过程中,每隔一段时间就会进行一次完整的人脸检测来准确确定人脸检测区域,而不是一直依赖于前一帧图像的人脸区域来确定,因此能够降低人脸跟踪过程中的累积偏差,提高人脸跟踪方法的鲁棒性及准确性。
可选地,在所述步骤S101之前,还包括:
获取用户的输入指令,根据所述输入指令确定所述预设间隔帧数;
从所述视频图像序列的第一帧图像开始,每隔所述预设间隔帧数选取一帧图像作为预设起始帧图像。
本申请实施例中预设间隔帧数m可以由用户根据帧率、人流量等实际情况设定。具体地,获取用户的输入指令,根据输入指令携带的数字信息确定预设间隔帧数m。或者,用户的输入指令包括帧率、人流量等参数,获取这些参数后,根据预先根据实验拟合的公式,计算对应的预设间隔帧数m。
确定预设间隔帧数之后,从视频图像序列的第一帧图像开始,确定第一帧图像以及每隔所述预设间隔帧数m选取的一帧图像为预设起始帧图像。
本申请实施例中,由于能够获取用户的输入指令,根据实际情况确定预设间隔帧数,因此能够通过保证预设起始帧图像的数量来保证人脸跟踪的准确性。
可选地,所述步骤S101具体包括:
S10101:根据预设的关键点目标类型,对当前帧图像的人脸检测区域进行人脸关键点检测;
S10102A:若在所述人脸检测区域检测到所述关键点目标类型的人脸关键点,则将所述关键点目标类型的人脸关键点确定为当前帧图像的目标关键点;
S10102B:否则,对所述当前帧图像进行人脸检测,根据人脸检测结果重新设置所述关键点目标类型和/或重新确定所述当前帧图像的人脸检测区域,并返回执行所述步骤S10101。
本申请实施例中的目标关键点具体为预设的关键点目标类型的人脸关键点,该关键点目标类型为提前设定的某一些关键点种类。例如,该预设的关键点目标类型可以包括与五官对应的关键点类型、与五官的某些特定位置对应的关键点类型、与下巴、脸颊、额头对应的关键点类型中的任意一项或者任意多项的组合。
本申请实施例中,对于每种关键点目标类型,都对应设置了相应的人脸关键点检测算法。示例性地,设第一关键点目标类型具体为由左眼眼角、右眼眼角、鼻尖和嘴角组合而成的关键点类型,则与该第一关键点目标类型对应的人脸关键点检测算法为专门检测人脸的左眼眼角、右眼眼角鼻尖以及嘴角的算法;设第二关键点目标类型具体为由左眼眼角、左嘴角、左耳组合而成的关键点类型,则与该第二关键点目标类型对应的人脸关键点检测算法为专门检测人脸的左眼眼角、左嘴角以及左耳的算法;设第三关键点目标类型具体为由右眼眼角、右嘴角、右耳组合而成的关键点类型,则与该第三关键点目标类型对应的人脸关键点检测算法为专门检测人脸的右眼眼角、右嘴角以及右耳的算法。
在S10101中,根据预设的关键点目标类型,选择对应的人脸关键点检测算法,对当前帧图像的人脸检测区域进行人脸关键点检测。
在S10102A中,若根据该人脸关键点检测算法,在当前帧图像的人脸检测区域中检测到该关键点目标类型的人脸关键点,则将检测到的关键点目标类型的人脸关键点确定为目标关键点。例如,若该预设的关键点目标类型为上述的第一关键点目标类型,则检测成功后,在当前帧图像中确定了包含左眼眼角关键点、右眼眼角关键点、鼻尖关键点和嘴角关键点的目标关键点。
在S10102B中,若根据该人脸关键点检测算法,无法在当前帧图像的人脸检测区域中检测到该关键点目标类型的人脸关键点,则表明当前的人脸位置发生突变或者人脸姿态发生改变,需要对当前帧图像重新进行人脸检测,并根据人脸检测结果重新设置关键点目标类型和/或重新确定当前帧图像的人脸检测区域。具体地,若进行人脸检测得到的人脸检测结果为人脸姿态发生变化,则根据当前的人脸姿态重新设置关键点目标类型。例如,人脸检测结果为当前帧图像的人脸姿态由原来的正面朝向变为左侧朝向,则将关键点目标类型设置为上述的第二关键点目标类型。具体地,若进行人脸检测得到的人脸检测结果为人脸位置发生突变,则根据当前人脸检测得到的人脸位置重新确定当前帧图像的人脸检测区域。在重新设置所述关键点目标类型和/或重新确定所述当前帧图像的人脸检测区域之后,返回步骤S10101,重新进行人脸关键点检测。
可选地,本申请实施例中的目标关键点包括左眼眼角关键点、右眼眼角关键点、鼻尖关键点和嘴角关键点。
如图2所示,目标关键点由左眼的两个眼角关键点、右眼的两个眼角关键点、鼻尖关键点以及两个嘴角关键点一共7个关键点组成。由于这7个关键点的特征较为明显且容易定位,因此能够减少目标关键点确定过程的计算量和复杂度,提高人脸关键点检测的效率,进而提高人脸跟踪的效率。
可选地,所述步骤S101具体包括:
通过预训练的轻量级神经网络对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点。
本申请实施例中,具体采用预训练的轻量级神经网络对当前帧图像的人脸检测区域进行人脸关键点检测,其中,轻量级神经网络可以为MobileNet(一种专用于移动和嵌入式视觉应用的卷积神经网络)、ShuffleNet(一种高效的移动卷积神经网络)等。由于本申请实施例中的目标关键点数量较少且容易检测,因此采用参数数量较少、计算量小的轻量级神经网络便能够准确地进行人脸关键点检测,确定目标关键点;同时,由于轻量级神经网络的计算量小,因此能够进一步提高人脸跟踪的效率。示例性地,本申请实施例采用宽度缩放因子为0.25的MobileNetV2来进行人脸关键点检测,MobileNetV2结合了倒残差结构,其准确率较高且时延较低,而宽度缩放因子为0.25能够进一步地减少计算量,提高检测效率。
可选地,本申请实施例中的目标关键点具体为人脸五官上的关键点,本申请实施例中预训练的轻量级神经网络是基于预设的损失函数训练得到的。其中预设的损失函数由所有目标关键点的总损失值及各个人脸五官分别对应的单个五官关键点损失值来确定,从而使得训练得到的轻量级神经网络即可拟合所有目标关键点组成的整体人脸结构,还能够进一步细化拟合各个五官部位的结构,以提升之后轻量级神经网络进行人脸关键点检测的性能,使得确定出的目标关键点更加准确,进而提高人脸跟踪的准确性。
具体地,本申请实施例的目标关键点包括七个关键点,分别为左眼的两个眼角关键点、右眼的两个眼角关键点、鼻尖关键点和两个嘴角关键点,对应地,该预设的损失函数为:
loss=l总+α(l左眼+l右眼+l鼻子+l嘴巴)
其中,loss为轻量级神经网络的总损失函数值,l总为7个目标关键点对应的总损失值,l左眼为左眼的两个眼角关键点对应的损失值,l右眼为右眼的两个眼角关键点对应的损失值,l鼻子为鼻尖关键点对应的损失值,l嘴巴为两个嘴角关键点对应的损失值,α为预设的权重参数,α的取值范围为0到1之间(例如,α取值为0.3)。具体地:
其中,pred1~pred7分别表示轻量级神经网络输出的7个关键点的预测坐标值,gth1~gth7分别表示轻量级神经网络输入的7个关键点的真实坐标值。如以上的式子所示,l1通过求得所有目标关键点(即一共7个目标关键点)的预测坐标值和真实坐标值组成的向量的二范数求得;l左眼通过求左眼两个眼角关键点的预测坐标值pred1、pred2与真实坐标值gth1、gth2的二范数求得;l右眼通过求右眼两个眼角关键点的预测坐标值pred3、pred4与真实坐标值gth3、gth4的二范数求得;l鼻子通过求的鼻尖关键点的预测坐标值pred5与真实坐标值gth5求得的二范数求得,l嘴巴通过求得两个嘴角关键点的预测坐标值pred6、pred6与真实坐标值gth7、gth7的二范数求得。
在S102中,根据所述目标关键点定位当前帧图像的人脸区域,并确定下一帧图像的人脸检测区域。
在准确地确定了当前帧图像的目标关键点之后,根据目标关键点能够准确定位当前帧图像的人脸区域,并确定一帧图像的人脸检测区域,以便进行下一帧图像的人脸区域定位。
可选地,所述步骤S102包括:
确定所述目标关键点的最小外接四边形,以所述最小外接四边形作为当前帧图像的人脸区域;
将所述当前帧图像的人脸区域扩大到预设倍数,得到所述下一帧图像的人脸检测区域。
本申请实施例中根据目标关键点确定能够包围住所有目标关键点的最小外接四边形,将该最小外接四边形作为当前帧图像最终定位到的人脸区域。
在根据目标关键点准确定位当前帧图像的人脸区域后,将该人脸区域扩大到预设倍数(例如将人脸区域的边长乘以预设倍数),得到人脸区域扩张后的区域作为下一帧图像的人脸检测区域。由于在视频图像序列中,两帧连续的图像中人脸的位置移动不会太大,因此将人脸区域进行预设倍数的外扩得到的人脸检测区域能够保证包含下一帧图像的目标关键点,以保证下一帧图像人脸关键点检测的准确性。具体地,该预设倍数为提前根据实验数据确定的值,优选地,该预设倍数既能够保证同一人脸的所有目标关键点在下一帧图像中的人脸检测区域中能够被完全检测,又能够保证该人脸检测区域不包含另一个人脸的完整目标关键点。示例性地,该预设倍数为2.5倍。
可选地,本申请实施例中,每帧图像包含多个人脸,在预设起始帧中进行人脸检测得到初始的人脸检测区域后,为每个初始的人脸检测区域分别标上唯一标识,之后根据该人脸检测区域确定的人脸区域以及后续帧图像的人脸检测区域、人脸检测区域都携带该唯一标识,以使用户能够更好地区分各个不同人脸的跟踪情况。
为了更便于理解,本申请实施例还提供了在视频图像序列中进行人脸跟踪方法的具体流程图。如图3所示,该流程包括:
S1:获取视频图像序列的第一帧图像;
S2:对该帧图像进行人脸检测,得到初始的人脸检测区域;
S3:对人脸检测区域进行人脸关键点检测,确定目标关键点;
S4:根据目标关键点定位当前帧图像的人脸区域;
S5:根据该人脸区域确定下一帧图像的人脸检测区域;
S7:若存在下一帧图像,则获取下一帧图像,执行步骤S8,否则结束;
S8:若该下一帧图像为预设起始帧图像,则返回执行步骤S2;否则执行步骤S3。
本申请实施例中,每帧图像只需根据提前确定的人脸检测区域,在该人脸检测区域确定目标关键点,即可根据该目标关键点定位当前帧图像的人脸区域,同时还能够根据该目标关键点确定下一帧图像的人脸检测区域,以使下一帧图像继续进行目标关键点检测及人脸区域定位,从而通过连续地人脸定位实现人脸跟踪。由于除预设起始帧图像外,其它图像都只需检测确定出目标关键点即可根据该目标关键点进一步实现人脸跟踪,而无需进行完整的人脸检测,因此能够减少检测运算的时间,提高人脸定位跟踪的实时性;并且,由于基于关键点检测来定位人脸的方法相对于现有的基于颜色、纹理等信息进行人脸检测的方法受环境的影响较小,能够更好地适应环境变化,因此能够提高人脸跟踪的鲁棒性。综上,本申请实施例的人脸跟踪方法能够提高人脸跟踪的实时性和鲁棒性,从而提高人脸跟踪的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
图4示出了本申请实施例提供的一种人脸跟踪装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:
该人脸跟踪装置包括:人脸关键点检测单元41、定位单元42。其中:
人脸关键点检测单元41,用于对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点,其中,若所述当前帧图像为预设起始帧图像,则所述当前帧图像的人脸检测区域为对所述当前帧图像进行人脸检测得到的区域。
定位单元42,用于根据所述目标关键点定位当前帧图像的人脸区域,并确定下一帧图像的人脸检测区域。
可选地,所述预设起始帧图像具体包括视频图像序列中的第一帧图像以及根据预设间隔帧数确定的图像。
可选地,所述人脸跟踪装置还包括指令获取单元及预设起始帧图像确定单元:
指令获取单元,用于获取用户的输入指令,根据所述输入指令确定所述预设间隔帧数;
起始帧图像确定单元,用于从所述视频图像序列的第一帧图像开始,每隔所述预设间隔帧数选取一帧图像作为预设起始帧图像。
可选地,所述人脸关键检测单元41,具体包括预设人脸关键点检测模块、目标关键点确定模块以及重设模块:
预设人脸关键点检测模块,用于根据预设的关键点目标类型,对当前帧图像的人脸检测区域进行人脸关键点检测;
目标关键点确定模块,用于若在所述人脸检测区域检测到所述关键点目标类型的人脸关键点,则将所述关键点目标类型的人脸关键点确定为当前帧图像的目标关键点;
重设模块,用于对所述当前帧图像进行人脸检测,根据人脸检测结果重新设置所述关键点目标类型和/或重新确定所述当前帧图像的人脸检测区域,并指示所述预设人脸关键点检测模块执行所述根据预设的关键点目标类型,对当前帧图像的人脸检测区域进行人脸关键点检测的步骤。
可选地,所述目标关键点包括左眼眼角关键点、右眼眼角关键点、鼻尖关键点和嘴角关键点。
可选地,所述人脸关键点检测单元41,具体用于通过预训练的轻量级神经网络对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点。
可选地,所述定位单元42具体包括人脸区域确定模块及人脸检测区域确定模块:
人脸区域确定模块,用于确定所述目标关键点的最小外接四边形,以所述最小外接四边形作为当前帧图像的人脸区域;
人脸检测区域确定模块,用于将所述当前帧图像的人脸区域扩大到预设倍数,得到所述下一帧图像的人脸检测区域。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例三:
图5是本申请一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如人脸跟踪程序。所述处理器50执行所述计算机程序52时实现上述各个人脸跟踪方法实施例中的步骤,例如图1所示的步骤S101至S102。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示单元41至42的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。例如,所述计算机程序52可以被分割成人脸关键点检测单元、定位单元,各单元具体功能如下:
人脸关键点检测单元,用于对当前帧图像的人脸检测区域进行人脸关键点检测,确定目标关键点,其中,若所述当前帧图像为预设起始帧图像,则所述当前帧图像的人脸检测区域为对所述当前帧图像进行人脸检测得到的区域。
定位单元,用于根据所述目标关键点定位当前帧图像的人脸区域,并确定下一帧图像的人脸检测区域。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于FPGA的运动目标识别系统及方法