连续帧人脸关键点检测方法、装置、设备及存储介质与流程

文档序号:22879430发布日期:2020-11-10 17:36阅读:135来源:国知局
连续帧人脸关键点检测方法、装置、设备及存储介质与流程

本发明涉及图像处理技术领域,尤其涉及一种连续帧人脸关键点检测方法、装置、设备及存储介质。



背景技术:

人脸检测技术在各行各业中的应用越来越多,而人脸关键点是进行人脸姿态检测和人脸验证识别的必要步骤。

目前,人脸检测一般是先采用跟踪算法识别出图像中的人脸区域,然后在识别出的人脸区域中提取出关键点信息。

但是,这种方式需要连续进行人脸区域的跟踪,而跟踪算法很难高效地均衡跟踪速度和跟踪的准确程度,整个跟踪算法的计算量非常大,人脸关键点检测效率低下。



技术实现要素:

本发明提供一种连续帧人脸关键点检测方法、装置、设备及存储介质,可以简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

第一方面,本发明实施例提供一种连续帧人脸关键点检测方法,包括:

获取当前帧图像,并对所述当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;

在所述当前帧第一缩放图像上检测出人脸区域;

根据预设的平均人脸关键点集、所述第二缩放图像,获取所述人脸区域在当前帧图像上的关键点集。

第二方面,本发明实施例提供一种连续帧人脸关键点检测装置,包括:

图像采集器,用于获取当前帧图像,并对所述当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;

图像检测器,用于在所述当前帧第一缩放图像上检测出人脸区域;

图像处理器,用于根据预设的平均人脸关键点集、所述第二缩放图像,获取所述人脸区域在当前帧图像上的关键点集。

第三方面,本发明实施例提供一种连续帧人脸关键点检测设备,包括:

存储器,用于存储程序;

处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如第一方面中任一项所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,包括:计算机程序,当其在计算机上运行时,使得计算机执行第一方面中任一所述的方法。

本发明提供的连续帧人脸关键点检测方法、装置、设备及存储介质,通过获取当前帧图像,并对所述当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;在所述当前帧第一缩放图像上检测出人脸区域;根据预设的平均人脸关键点集、所述第二缩放图像,获取所述人脸区域在当前帧图像上的关键点集。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

附图说明

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

图1为本发明一应用场景的原理示意图;

图2为本发明实施例一提供的连续帧人脸关键点检测方法的流程图;

图3为本发明实施例二提供的连续帧人脸关键点检测方法的流程图;

图4为本发明实施例三提供的连续帧人脸关键点检测装置的结构示意图;

图5为本发明实施例四提供的连续帧人脸关键点检测装置的结构示意图;

图6为本发明实施例五提供的连续帧人脸关键点检测设备的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

人脸检测技术在各行各业中的应用越来越多,而人脸关键点是进行人脸姿态检测和人脸验证识别的必要步骤。例如,应用于自动驾驶,无人超市,机器人等人工智能行业领域。目前,人脸检测一般是先采用跟踪算法识别出图像中的人脸区域,然后在识别出的人脸区域中提取出关键点信息。但是,这种方式需要连续进行人脸区域的跟踪,而跟踪算法很难高效地均衡跟踪速度和跟踪的准确程度,整个跟踪算法的计算量非常大,人脸关键点检测效率低下。

针对上述技术问题,本发明提供一种方法,可以简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。图1为本发明一应用场景的原理示意图,如图1所示,连续帧人脸关键点检测装置,包括:图像采集器、图像检测器、图像处理器。图像采集器用于获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例。图像采集器可以对当前帧图像进行不同尺度的缩放,获得不同精度等级的缩放图像,不同精度等级的图像就构成了图像金字塔。图像检测器,采用现有的人脸区域检测技术,从当前第一帧缩放图像中检测出人脸区域。例如:可以采用hog特征+svm+多尺度扫描、ssd算法(singleshotmultiboxdetector);yolo算法(youonlylookonce)、mtcnn算法(multi-taskcascadedconvolutionalnetworks)等技术检测到人脸区域。人脸区域检测技术为现有技术,此处不再赘述。图像处理器,用于获取人脸区域的关键点在当前帧第二缩放图像上的关键点集,并将当前帧第二缩放图像上的关键点集换算为当前帧图像的关键点集。具体地,根据人脸区域和预设的平均人脸关键点集,获取当前帧第二缩放图像上的初始关键点集;在当前帧第一缩放图像上,以当前帧第二缩放图像上的初始关键点集作为初始位置,使用第一模型进行关键点检测,得到第一关键点集;获取第一关键点集中关键点的最小外切矩形框rect-a,以及rect-a在当前帧第二缩放图像上的映射框rect-b;根据rect-b和预设的平均人脸关键点集,获取当前帧第二缩放图像上的初始关键点集;以当前帧第二缩放图像上的初始关键点集作为初始位置,使用第三模型进行关键点检测,得到第二关键点集;根据当前帧第二缩放图像的缩放尺度对第二关键点集中的关键点的坐标数值进行相应倍数的放大处理,得到当前帧图像上的关键点集。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

实施例一

图2为本发明实施例一提供的连续帧人脸关键点检测方法的流程图,如图2所示,本实施例中的方法可以包括:

s101、获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像。

本实施例中,对当前帧图像进行不同尺度的缩放,获得不同精度等级的缩放图像,不同精度等级的图像就构成了图像金字塔。

具体地,可以对当前帧图像进行两次不同尺度的缩放处理,且当前帧第一缩放图像的缩放比例scale-1小于当前帧第二缩放图像的缩放比例scale-2,得到当前帧第一缩放图像和当前帧第二缩放图像。此时,图像金字塔上层图像和下层图像,分别为第一缩放图像和第二缩放图像,第一缩放图像为粗粒度图像,第二缩放图像为细粒度图像。例如,当前帧第一缩放图像的缩放比例为1/16,当前帧第二缩放图像的缩放比例为1/8,可以获得一组不同比例的缩放图像。

需要说明的是,本实施例不限定缩放图像的个数,本领域的技术人员可以根据实际情况增加或者减少缩放图像的个数。例如,可以对当前帧图像进行三次或者更多次的缩放,得到三张或者更多张缩放图像,从而构建三层或者更多层级的图像金字塔。

s102、在当前帧第一缩放图像上检测出人脸区域。

本实施例中,可以采用现有的人脸区域检测技术,从当前第一帧缩放图像中检测出人脸区域。例如:可以采用hog特征+svm+多尺度扫描、ssd算法(singleshotmultiboxdetector);yolo算法(youonlylookonce)、mtcnn算法(multi-taskcascadedconvolutionalnetworks)等技术检测到人脸区域。人脸区域检测技术为现有技术,此处不再赘述。

s103、根据预设的平均人脸关键点集、第二缩放图像,获取所述人脸区域在当前帧图像上的关键点集。

本实施例中,首先获取平均人脸关键点集,平均人脸一般是指进行平均化处理后的人脸,例如可以对500张人脸的五官位置进行平均,获取到人脸五官的关键点位置(例如:眉毛、眼镜、鼻子、嘴巴、脸部轮廓的关键点坐标)。然后将平均人脸对应的图像编辑为与第二缩放图像尺寸相同的图像,此时平均人脸的关键点集坐标也根据图像编辑的尺寸发生相应的比例变换。以缩小尺寸为例,假设平均人脸图像缩小了一半,则关键点的位置相应调整到缩小一半后在图像中的位置。基于平均人脸图像的关键点位置,初步确定第二缩放图像上人脸区域的初始关键点集。进一步地,通过构建的学习模型对初始关键点集进行检测,最终得到第二缩放图像上的目标关键点集,最后将第二缩放图像进行放大处理,此时可以根据放大倍数,对目标关键点集的坐标进行相应的转换,从而得到当前帧图像上的关键点集。

需要说明的是,本实施例中构建的学习模型是经过训练的,可以根据初始关键点位置,对人脸关键点进行检测,最终输出修正的人脸关键点集,其中,人脸关键点集是指人脸关键点坐标构成的集合。

本实施例,通过获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;在当前帧第一缩放图像上检测出人脸区域;根据预设的平均人脸关键点集、所述第二缩放图像,获取人脸区域在当前帧图像上的关键点集。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

可选地,在实施例一中,步骤s103可以根据人脸区域和预设的平均人脸关键点集,获取当前帧第二缩放图像上的初始关键点集;在当前帧第一缩放图像上,以当前帧第二缩放图像上的初始关键点集作为初始位置,使用第一模型进行关键点检测,得到第一关键点集;获取第一关键点集中关键点的最小外切矩形框rect-a,以及rect-a在当前帧第二缩放图像上的映射框rect-b;根据rect-b和预设的平均人脸关键点集,获取当前帧第二缩放图像上的初始关键点集;以当前帧第二缩放图像上的初始关键点集作为初始位置,使用第三模型进行关键点检测,得到第二关键点集;根据当前帧第二缩放图像的缩放尺度对第二关键点集中的关键点的坐标数值进行相应倍数的放大处理,得到当前帧图像上的关键点集。

具体地,在无法获取上一帧关键点检测结果时,需要对连续跟踪机制进行初始化。无法获取上一帧关键点检测结果的情况,包括当前帧为首帧或者上一帧未检测到有效的关键点,关键点有效性的判断将在后续中进行详细介绍。预设的平均人脸关键点集可以是模型训练过程中的人脸关键点数据集中关键点集归一化后的平均位置集landmark-normalized-0。使用人脸区域和预设的平均人脸关键点集得到当前帧细粒度图像上的初始关键点集landmark-a。然后,在当前帧粗粒度图像上,以landmark-a作为初始形状,使用第一模型model-a-1进行一次关键点检测得到关键点集,用于更新landmark-a。然后,计算landmark-a中所有关键点坐标的均值mea-a-1和标准差std-a-1,以及这些关键点的最小外切矩形框rect-a。landmark-a是许多关键点组成的点集合,故其最小外切矩形框的计算方法之一为:所有点的最小横坐标为left,所有点的最大横坐标为right,所有点的最小纵坐标为top,所有点的最大纵坐标为bottom,从而计算出矩形区域(left,top,right,bottom)。根据最小外切矩形框rect-a、第一缩放图像的缩放比例scale-1、第二缩放图像的缩放比例scale-2,计算rect-a在细粒度图像上的映射rect-b。再然后,使用rect-b和landmark-normalized-0得到当前帧细粒度图像上的初始关键点集landmark-b;以landmark-b作为初始形状,用第三模型model-b在当前帧的细粒度图像上得到关键点集,并用其更新landmark-b,并且计算其在粗粒度图像上的映射集landmark-b2a。最后,以1/scale-1为比列,对landmark-b中的所有点的坐标数值进行缩放,从而计算关键点在当前帧原始图片上的位置集合landmark-result,即为当前帧上所得到的关键点结果。

可选地,若当前帧图像不是首帧图像,且已获取前一帧的关键点集;则方法还包括:获取前一帧图像的第二关键点集在前一帧图像的第一缩放图像上的映射的关键点集;以前一帧图像的第二关键点集在前一帧图像的第一缩放图像上的映射的关键点集为初始位置,通过第二模型进行关键点检测,得到当前帧第一缩放图像上的关键点集;根据当前帧第一缩放图像上的关键点集中各个关键点的坐标均值和标准差,以及当前帧第一缩放图像的缩放比例、当前帧第二缩放图像的缩放比例,获取当前帧第一缩放图像上的关键点集在当前帧第二缩放图像上的关键点集landmark-b0;以landmark-b0作为初始位置,使用第三模型进行关键点检测,得到第三关键点集;根据当前帧第二缩放图像的缩放尺度对第三关键点集中的关键点的坐标数值进行相应倍数的放大处理,得到当前帧图像上的关键点集。

具体地,在初始化之后,结束连续检测之前,实施连续检测。连续检测过程中,无需进行显式的人脸区域检测,也不再使用预设的平均人脸关键点集landmark-normalized-0。读取一帧新的图像,构建图像构造2级的金字塔(相对于原始图像的缩放比例分别为scale-1,scale-2),金字塔上层的图像和下层的图像分别记为粗粒度图像和细粒度图像。将上一帧的关键点检测结果landmark-result拷贝复制的记录为landmark-result-old。然后,在当前粗粒度图像上,以上一帧的landmark-b2a作为初始位置,使用第二模型model-a-2进行一次关键点检测,从而得到新的关键点集,并且用这个结果更新landmark-a。此步骤的目的在于在降低当前预测点集和真实关键点集之间的平均位置差异和尺度差异,例如将landmark-b2a整体向左平移且放大,得到landmark-a。然后,计算在当前粗粒度图像上新关键点坐标的均值mea-a-1和标准差std-a-1,并根据mea-a-1,std-a-1,scale-1,scale-2,计算landmark-a在细粒度图像上的映射landmark-b0。再然后,以landmark-b0作为初始形状,用第三模型model-b在当前帧的细粒度图像上得到关键点集,用于更新landmark-b,并且计算其在粗粒度图像上的映射集,用于更新landmark-b2a。此步骤的目的在于降低当前预测点集和真实关键点集之间的的细节差异,例如将landmark-b0中的嘴巴张开的更大一些,眼睛闭合一些,得到landmark-b。最后,根据landmark-b和scale-1计算关键点在当前帧原始图片上的位置集合landmark-result。此步骤的目的在于给出原图尺度上的关键点位置,作为检测结果,向外输出。

可选地,第一模型、第二模型、第三模型是指预先经过训练的图像关键点检测模型,用于获取扰动图像的关键点集中各个关键点在对应的初始图像中的位置;其中,扰动图像是指对初始图像进行缩放、平移、旋转中任一或任多操作后所得到图像。

具体地,用于粗粒度关键点检测的第一模型model-a-1可以是已有任意关键点检测模型,例如ert(ensembleofregressiontress)。训练过程中,模型的初始关键点位置使用预设的平均人脸关键点集landmark-normalized-0获得,模型得到的关键点位置可以不够精确,因此模型可以很小,但是效果应当足够稳定。用于粗粒度关键点连续检测的第二模型model-a-2,可以是已有任意关键点检测模型,例如ert(ensembleofregressiontress)。训练过程中,模型初始关键点的位置,应当是当前目标关键点平移、缩放和小幅随机扰动的结果,从而保证模型能够习得自主平移和缩放的能力。模型结果可以不够精确,因此模型可以很小,但是效果应当足够稳定。用于细粒度关键点检测的第三模型model-b,可以是已有任意关键点检测模型,且类型可以不同(如aam)。训练过程中,模型初始关键点的位置,应当是当前目标关键点中所有点小幅随机扰动以及小幅平移和小幅缩放的结果。从而保证模型习得从正确关键点附近自主精确回归到正确关键点的能力。模型不需要习得大幅运动的能力,因此模型可以很小,但是效果应当足够稳定。训练模型阶段,对当前算法进行实施的时候,较优的选择是,为各个阶段专门训练相应的模型。由于每个阶段的任务简单,因此,模型体积可以较小,速度可以很快。

需要说明的是,本实施例不限定模型的具体结构以及其实现形式,可以将第一模型、第二模型、第三模型的结构保存到c/c++代码中,打包成二进制的文件。

需要说明的是,本实施例不限定金字塔的层数,技术人员可以根据实际情况,使用三或者更多层级的金字塔,进行进一步的任务拆解,或者单纯的进行多次帧内检测。或者是基于二帧或者更多的帧的检测结果进行当前帧内关键点的检测。当基于上一帧的关键点检测结果,进行当前帧关键点的检测时,可以减小单次检测的难度。使得连续检测过程中不需要进行显式的人脸区域检测。本实施例在同一帧图像中,引入多尺度空间,在粗粒度尺度上检测平均位移和尺度变化,在细粒度尺度上基于粗粒度检测结果进行关键点的精细检测,通过将任务分开减小单个模型的负担,从而允许使用小模型,提高效果,加快速度。本方法同硬件加速方法是正交的,可以叠加使用。

本实施例可以执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而更加快速的连续获取人脸的关键点。通过任务分解,简化单个模型的任务复杂度,让单个模型更专注于相对简单的任务,从而提高检测的准确度和稳定性。

实施例二

图3为本发明实施例二提供的连续帧人脸关键点检测方法的流程图,如图3所示,本实施例中的方法可以包括:

s201、获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像。

s202、在当前帧第一缩放图像上检测出人脸区域。

s203、根据预设的平均人脸关键点集、第二缩放图像,获取人脸区域在当前帧图像上的关键点集。

本实施例中,步骤s201~步骤s203的具体实现过程和技术原理请参见图2所示的方法中步骤s101~步骤s103中的相关描述,此处不再赘述。

s204、对当前帧图像的关键点集中目标关键点的位置关系进行有效性校验。

本实施例中,对当前帧图像的关键点集中目标关键点的位置关系进行第一次有效性校验;目标关键点包括:左眼关键点、右眼关键点、鼻尖关键点、嘴巴关键点;若第一次有效性校验失败,则舍弃当前帧图像的关键点集;若第一次有效性校验通过,则对当前帧图像的关键点集和前一帧图像的关键点集进行第二次有效性校验;若第二次有效性校验通过,则保存当前帧的的关键点集;若第二次有效性校验失败,则舍弃当前帧图像的关键点集。

可选地,对当前帧图像的关键点集和前一帧图像的关键点集进行第二次有效性校验,包括:分别计算当前帧图像的关键点集中各个关键点的平均位置、前一帧图像的关键点集中各个关键点的平均位置;和/或分别计算当前帧图像的关键点集的外切矩形的长度和宽度、前一帧图像的关键点集的外切矩形的长度和宽度;若当前帧图像的关键点集中各个关键点的平均位置与前一帧图像的关键点集中各个关键点的平均位置之间的坐标差值大于第一阈值,则第二次有效性校验失败;若当前帧图像的关键点集的外切矩形的长度与前一帧图像的关键点集的外切矩形的长度之差的绝对值大于第二阈值,则第二次有效性校验失败;若当前帧图像的关键点集的外切矩形的宽度与前一帧图像的关键点集的外切矩形的宽度之差的绝对值大于第三阈值,则第二次有效性校验失败。

具体地,对目标关键点的位置关系进行第一次关键点有效性校验。目标关键点包括:左眼关键点、右眼关键点、鼻尖关键点、嘴巴关键点。例如,进行左右方向校验:左眼的关键点位置应当在右眼关键点的左侧;进行上下方向校验:鼻尖的关键点位置,应当在眼睛和嘴巴关键点之间。若器官对应的关键点的位置发生错误,如,左眼上的关键点在右眼关键点右侧,则此次检验不通过,舍弃当前帧图像的关键点集。若第一次有效性校验通过,则对当前帧图像的关键点集landmark-result和前一帧图像的关键点集landmark-result-old进行第二次有效性校验。分别计算landmark-result和landmark-result-old中点的平均位置(记为mean-result和mean-result-old),外切矩形(记为rect-result和rect-result-old);计算rect-resul-oldt的高度和宽度的均值mean-w-h-old。设定阈值limit_a(例如0.1)和阈值limit_b(例如0.1),若平均位置的变化超过mean-w-h-old*limit_a或者rect-result相对rect-result-old对应的长或宽的变化比例超过mean-w-h-old*limit_b,则认为没有通过本次校验,舍弃当前帧图像的关键点集。

本实施例,通过获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;在当前帧第一缩放图像上检测出人脸区域;根据预设的平均人脸关键点集、第二缩放图像,获取人脸区域在当前帧图像上的关键点集。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

另外,本实施例还可以对当前帧图像的关键点集中目标关键点的位置关系进行有效性校验。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

实施例三

图4为本发明实施例三提供的连续帧人脸关键点检测装置的结构示意图,如图4所示,本实施例中的装置可以包括:

图像采集器31,用于获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;

图像检测器32,用于在当前帧第一缩放图像上检测出人脸区域;

图像处理器33,用于根据预设的平均人脸关键点集、第二缩放图像,获取人脸区域在当前帧图像上的关键点集。

可选地,图像处理器33,具体用于:

根据所述人脸区域和预设的平均人脸关键点集,获取所述人脸区域在当前帧第二缩放图像上的初始关键点集;

在当前帧第一缩放图像上,以所述人脸区域当前帧第二缩放图像上的初始关键点集作为初始位置,使用第一模型进行关键点检测,得到第一关键点集;

获取所述第一关键点集中关键点的最小外切矩形框rect-a,以及rect-a在当前帧第二缩放图像上的映射框rect-b;

根据rect-b和预设的平均人脸关键点集,获取所述rect-b在当前帧第二缩放图像上的初始关键点集;

以所述rect-b在当前帧第二缩放图像上的初始关键点集作为初始位置,使用第三模型进行关键点检测,得到第二关键点集;

根据当前帧第二缩放图像的缩放尺度对所述第二关键点集中的关键点的坐标数值进行相应倍数的放大处理,得到当前帧图像上的关键点集。

可选地,若当前帧图像不是首帧图像,且已获取前一帧的关键点集,则图像处理器33还可以用于:

获取前一帧图像的第二关键点集在前一帧图像的第一缩放图像上的映射的关键点集;

以前一帧图像的第二关键点集在前一帧图像的第一缩放图像上的映射的关键点集为初始位置,通过第二模型进行关键点检测,得到当前帧第一缩放图像上的关键点集;

根据当前帧第一缩放图像上的关键点集中各个关键点的坐标均值和标准差,以及当前帧第一缩放图像的缩放比例、当前帧第二缩放图像的缩放比例,获取当前帧第一缩放图像上的关键点集在当前帧第二缩放图像上的关键点集landmark-b0;

以landmark-b0作为初始位置,使用第三模型进行关键点检测,得到第三关键点集;

根据当前帧第二缩放图像的缩放尺度对第三关键点集中的关键点的坐标数值进行相应倍数的放大处理,得到当前帧图像上的关键点集。

可选地,第一模型、第二模型、第三模型是指预先经过训练的图像关键点检测模型,用于获取扰动图像的关键点集中各个关键点在对应的初始图像中的位置;其中,扰动图像是指对初始图像进行缩放、平移、旋转中任一或任多操作后所得到图像。

本实施例的连续帧人脸关键点检测装置,可以执行图2所示方法中的技术方案,其具体实现过程和技术原理参见图2所示方法中的相关描述,此处不再赘述。

本实施例,通过获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;在当前帧第一缩放图像上检测出人脸区域;根据预设的平均人脸关键点集、所述第二缩放图像,获取所述人脸区域在当前帧图像上的关键点集。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

实施例四

图5为本发明实施例四提供的连续帧人脸关键点检测装置的结构示意图,如图5所示,本实施例的连续帧人脸关键点检测装置在图4所示装置的基础上,还可以包括:

图像校验器34用于对当前帧图像的关键点集中目标关键点的位置关系进行第一次有效性校验;目标关键点包括:左眼关键点、右眼关键点、鼻尖关键点、嘴巴关键点;

若第一次有效性校验失败,则舍弃当前帧图像的关键点集;

若第一次有效性校验通过,则对当前帧图像的关键点集和前一帧图像的关键点集进行第二次有效性校验;

若第二次有效性校验通过,则保存当前帧的的关键点集;

若第二次有效性校验失败,则舍弃当前帧图像的关键点集。

可选地,对当前帧图像的关键点集和前一帧图像的关键点集进行第二次有效性校验,包括以下任一或者任多方式:

方式一:根据当前帧图像的关键点集中各个关键点的平均位置、前一帧图像的关键点集中各个关键点的平均位置之间的坐标关系,判断第二次有效性校验是否成功;

方式二:根据当前帧图像的关键点集的外切矩形的长度、前一帧图像的关键点集的外切矩形的长度之间的关系,判断第二次有效性校验是否成功;

方式三:根据当前帧图像的关键点集的外切矩形的宽度、前一帧图像的关键点集的外切矩形的宽度之间的关系,判断第二次有效性校验是否成功。

本实施例的连续帧人脸关键点检测装置,可以执行图2、图3所示方法中的技术方案,其具体实现过程和技术原理参见图2、图3所示方法中的相关描述,此处不再赘述。

本实施例,通过获取当前帧图像,并对当前帧图像进行至少两次不同尺度的缩放处理,得到当前帧第一缩放图像和当前帧第二缩放图像;其中,当前帧第一缩放图像的缩放比例小于当前帧第二缩放图像的缩放比例;在当前帧第一缩放图像上检测出人脸区域;根据预设的平均人脸关键点集、所述第二缩放图像,获取所述人脸区域在当前帧图像的关键点集。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

另外,本实施例还可以对当前帧图像的关键点集中目标关键点的位置关系进行有效性校验。本发明执行更少的人脸区域检测次数,不需要进行人脸区域的跟踪,从而简化人脸关键点的提取过程,减少计算量,提高人脸关键点检测的效率和准确率。

图6为本发明实施例五提供的连续帧人脸关键点检测设备的结构示意图,如图6所示,本实施例中的连续帧人脸关键点检测设备40可以包括:处理器41和存储器42。

存储器42,用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等;

上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器42中。并且上述的计算机程序、计算机指令、数据等可以被处理器41调用。

处理器41,用于执行存储器42存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。

具体可以参见前面方法实施例中的相关描述。

处理器41和存储器42可以是独立结构,也可以是集成在一起的集成结构。当处理器41和存储器42是独立结构时,存储器42、处理器41可以通过总线43耦合连接。

本实施例的连续帧人脸关键点检测设备可以执行图2、图3所示方法中的技术方案,其具体实现过程和技术原理参见图2、图3所示方法中的相关描述,此处不再赘述。

此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。

其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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