一种人脸位置跟踪方法、装置和电子设备与流程

文档序号:12064777阅读:368来源:国知局
一种人脸位置跟踪方法、装置和电子设备与流程

本申请属于图像信息数据处理领域,尤其涉及一种人脸位置跟踪方法、装置和电子设备。



背景技术:

人脸跟踪通常可以指在视频或图像序列中确定某个人脸的运动轨迹及大小变化的过程。一直以来,人脸跟踪在图像分析与识别、图像监控与检索、即时视频通信等领域都具有重大意义和广泛应用。

一般的,所述的人脸跟踪的处理过程可以主要包括在视频中找到人脸的位置,在视频拍摄时期,当人脸移动时,可以根据特定的算法例如粒子偏移、Mean shift(均值偏移)等跟踪出人脸在视频的具体位置。目前现有技术中主要采用的人脸跟踪方法的处理过程包括:对每一帧图片做人脸检测,即可以认为每一帧为单独的一张图片,然后对每帧图片做人脸检测,从而计算得到每一帧图片中人脸的位置。而在实际的应用中,例如用户用手机前置摄像头进行自拍的过程中,往往由于光线或者场景的突然变化、强光或测光的干扰、人脸的快速移动等造成人脸跟踪丢失或者检测错误的问题。这样往往会导致用户视频监测、视频通话等使用过程中出现人脸跟踪画面不连续,不能达到实时流畅跟踪的效果,大大降低了用户体验,尤其是在处理性能较低的终端设备中表现的更为明显。当然,现有技术中的人脸跟踪方法也难以满足对人脸跟踪要求较高的用户的需要。

现有技术中的人脸跟踪方法,尤其是在光线变化强烈、光线干扰、人脸快速移动等复杂场景中仍然存在人脸跟踪丢失或错误的问题,导致视频画面中人脸图片模糊、人脸跟踪画面不连续等,降低了人脸检测和跟踪的效果和用户的使用体验。



技术实现要素:

本申请目的在于提供一种人脸位置跟踪方法、装置和电子设备,可以在光线变化强烈、光线干扰、人脸快速移动等复杂场景中较准确定位出帧图片中的人脸区域,提高人脸跟踪效果。同时解决了人脸跟踪丢失的问题,达到较为流程的人脸位置跟踪效率,提高用户使用体验。

本申请提供的一种人脸位置跟踪方法、装置和电子设备是这样实现的:

一种人脸位置跟踪方法,所述方法包括:

获取当前帧图片的人脸区域;

根据所述当前帧图片的人脸区域确定所述当前帧图片的下一帧图片中人脸出现的预测区域;

在所述预测区域内查找与所述人脸区域相似度达到预定要求的第一预选区域;

检测所述下一帧图片的人脸区域;基于所述第一预选区域和所述下一帧图片的人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果。

一种人脸位置跟踪装置,所述装置包括:

检测模块,用于检测帧图片的人脸区域;

预测区域计算模块,用于根据所述检测模块检测出的当前帧图片的人脸区域计算所述当前帧图片的下一帧图片中人脸出现的预测区域;

预选区域计算模块,用于在所述预测区域内查找与所述人脸区域相似度达到预定要求的第一预选区域;

跟踪结果选取模块,用于基于所述第一预选区域和所述检测模块对所述当前帧图片的下一帧图片人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果。

一种人脸位置跟踪的电子设备,所述电子设备被设置成,包括:

信息获取单元,用于获取待处理的帧图片;

处理单元,用于检测所述帧图片的人脸区域;还用于根据检测出的当前帧图片的人脸区域计算所述当前帧图片的下一帧图片中人脸出现的预测区域,并在所述预测区域内查找与所述人脸区域相似度达到预定要求的第一预选区域;还用于基于所述第一预选区域和所述检测模块对所述当前帧图片的下一帧图片人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果;

显示单元,用于显示所述处理单元得到的人脸位置跟踪结果。

本申请提供的人脸位置跟踪方法、装置和电子设备,可以根据当前帧图片中的人脸区域预测下一帧图片中人脸出现的预测区域的范围。然后可以在所述预测区域的范围内找到与前一帧图片的人脸区域相似度达到预定要求(例如相似度最高)的人脸区域的预选区域。这样,在所述当前帧的下一帧图片中可以获取根据上一帧图片根据得到的预选人脸的信息。进一步的,本申请方案中可以检测所述下一帧图片的人脸区域,如果在所述下一帧图片中检测不到 人脸区域,则可以使用根据上一帧计算得到的预选区域作为所述下一帧的人脸区域。如果可以检测到人脸区域,则所述下一帧图片的至少两个人脸区域,然后可以根据预先设置的选取规则选取符合要求的人脸区域作为所述下一帧图片最终的人脸位置跟踪的结果。因此,在本申请中,即使发生光线突变等复杂场景导致当前帧检测不到人脸区域,也可以使用基于上一帧的人脸区域预测的得到的预选区域定位跟踪人脸位置,保障了人脸检测、跟踪的连续性,提高人脸检测和跟踪效果,以及用户使用人脸跟踪的使用体验。

附图说明

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

图1是本申请所述一种人脸位置跟踪方法一种实施例的方法流程图;

图2是根据当前帧图片的人脸区域确定下一帧图片中人脸出现的预测区域的示意图;

图3是本申请在所述预测区域匹配查找到的第一预选区域的示意图;

图4是本申请提供的一种确定人脸位置跟踪结果的选取场景示意图;

图5是本申请实施例中进一步查找所述第二预选区域的示意图;

图6是本申请所述人脸位置跟踪装置一种实施例的模块结构示意图;

图7是本申请提供的所述预选区域计算模块一种实施例的模块结构示意图;

图8是本申请所述预选区域计算模块另一种实施例的模块结构示意图;

图9是本申请提供的跟踪结果选取模块一种实施例的模块结构示意图;

图10是本申请所述人脸位置跟踪的电子装置的一种实施例的结构示意图。

具体实施方式

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

下面结合附图对本申请所述的基础数据处理方法进行详细的说明。图1是本申请所述一种人脸位置跟踪方法一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的 操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

具体的本申请提供的一种人脸位置跟踪方法的一种实施例如图1所示,所述方法可以包括:

S1:获取当前帧图片中人脸区域。

一般的,人脸位置跟踪多用于利用摄像装置拍摄的视频流信息处理中,例如监控设备,或者用户使用手机摄像头视频拍摄等。本申请提供的人脸位置跟踪方法可以包括但不限于视频流的信息处理,在其他的一些跟踪图像序列中人脸位置的应用场景中连续图画或电影胶片数字信息中的人脸跟踪等仍然可以使用本申请方案。为便于清楚的描述本申请方案,本实施例中可以以用户使用手机前置摄像头进行自拍的应用场景进行说明。在本实施例中,可以先获取当前视频当前帧图片中的人脸区域。具体的可以在视频流刚开始对视频帧图片进行人脸检测。一般的,需要对每一帧图片进行人脸检测,直至检测出人脸。通常情况,在当前帧图片检测到人脸时,可以获取得到与该人脸图像相关的信息,如图像色彩参数、大小、边框距等。通常的还可以以一定的区域范围表示人脸的位置,例如常用的表示方式可以包括使用矩形框表示检测到的人脸所在的位置区域。

考虑到本申请在移动通讯终端、车载视频记录仪等相比于PC电脑数据处理能力较弱的终端产品中的应用场景,本申请可以提供一种检测人脸区域的实施方式。在一种实施例中,所述的获取当前帧图片的人脸区域可以包括:

采用降低分类级数的Adaboost方法检测并获取当前帧图片的人脸区域。

所述的Adaboost是一种迭代算法,其主要处理过程可以包括针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。所述的Adaboost算法通常可以根据每次训练集之中每个样本的分类是否正确以及上次的总体分类的准确率,来确定每个样本的权值。然后可以将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。Adaboost级联结构的分类器通常是由一系列的分类器的串联组成。对待识别的样本进行判别时,只有被前面一级的分类器判决为正的样本才被送入后面的分类器继续处理,反之则被认为是负样本直接拒绝。在级联结构中,前面几级的分类器相对来说结构比较简单,使用的特征数也较少,但检测率很高,同时能够尽可能地滤除那些与目标差异较大的负样本。后面级次的分类器则使用更多的特征和更复杂的结构,从而可以将那些与目标相似的负样本与目标物体区分开。

需要说明的是,本实施例在采用所述Adaboost方法检测所述当前帧图片的人脸区域的处理过程中,可以根据需求适当减少分类级数,从而实现减少人脸检测的计算量,实现快速人脸检测。

本申请的所述人脸位置跟踪方法的一种应用场景中,用户在利用手机前置或者后置摄像头主动拍摄的情况下,如果存在对多人进行拍摄,通常情况下是主要的被拍摄者的人脸所占屏幕或显示器的比例较大。此时往往是里摄像头最近的人脸为主要关注焦点。因此,为了更加准确的跟踪人脸位置,更加符合用户人脸位置跟踪的预期,本申请的另一种实施例中,在人脸位置跟踪处理时可以只跟踪离摄像头最近的人脸,在实施过程中可以取当前帧图片中最大的人脸框作为人脸跟踪对象。因此,本申请的另一种实施例中,所述获取当前帧图片的人脸区域可以包括:

在检测出当前帧图片中至少存在两组人脸时,选取所述当前帧中图片面积最大的人脸对应的区域作为所述当前帧图片的人脸区域。

本实施例中可以获取视频当前帧图片的人脸区域。

S2:根据所述当前帧图片的人脸区域确定所述当前帧图片的下一帧图片中人脸出现的预测区域。

在获取所述当前帧图片的人脸区域后,可以根据所述当前帧图片的人脸区域确定出下一帧图片中人脸出现的预测区域。所述的预测区域可以包括根据一定的算法或者规则计算确定的在当前帧的下一帧图片中人脸出现的区域范围。图2是一种根据当前帧图片的人脸区域确定下一帧图片中人脸出现的预测区域的示意图。如图2所示,在当前帧图片N中,矩形框A为检测获取的所述当前帧图片的人脸区域。在所述下一帧图片(N+1)中,可以以上一帧(即上述的当前帧N)图片N中的人脸区域A的矩形框区域长和宽分别扩展K个像素后形成的矩形框B作为所述下一帧图片(N+1)中人脸出现的预测区域。当然,在其他的实施例中也可以采取其他的方式确定所述预测区域,例如将所述当前帧图片的人脸区域的矩形框A长和宽分开扩大1.5倍后形成的矩形框作为所述预测区域等方式。

基于所述当前帧图片的人脸区域,按照一定的规则确定所述当前帧图片的下一帧图片中人脸出现的预测区域。

S3:在所述预测区域内查找与所述人脸区域相似度达到预定要求的第一预选区域。

确定出所述下一帧图片人脸可能出现的预测区域后,可以在所述预测区域范围内查找匹配与上一帧(即S2中的所述当前帧N)图片中获取的人脸区域相似度高的人脸区域的第一 预选区域。

在本实施例可以提供一种模板匹配的方法来计算所述下一帧图片中的第一预选区域所述人脸区域的相似性。实施过程中,可以以所述当前帧图片人脸区域为原模板,可以设置以所述人脸区域的边界范围为移动窗口的大小,每次窗口移动可以形成新的匹配模块。在本实施例所述预测区域范围内,每次移动一个步长可以获取新的移动窗口区域的数据,分别计算所述移动窗口区域与所述人脸区域的相似性。本申请中可以不限制具体的某一种计算或判断两个区域相似性的方法,其他的可实现相同或相似功能的方法仍然可以适用本申请的实施过程中。具体的,所述根据所述当前帧图片的人脸区域确定所述当前帧图片的下一帧图片中人脸出现的预测区域可以包括:

S301:按照第一移动步长遍历所述预测区域,获取所述人脸区域的比对区域。

所述的第一步长可以根据实际人脸位置跟踪的处理速度或处理精度需求进行设置。可以选的实施例中,为减少数据计算量以提高数据处理速度,同时保障人脸位置跟踪的精度要求,本实施例所述第一移动步长的取值范围额可以为大于或等于两个像素点。

S302:计算得到所述人脸区域与比对区域的相似度。

不同图像区域相似度的计算可以根据不同的应用场景或数据处理的需求选取相应的计算方式及计算参数。例如可以基于不同区域的图像的色彩、纹理、梯度等计算所述人脸区域与比对区域的相似度。本申请提供了一种计算所述相似度的实施方式,具体的,本申请的一种实施例中,可以利用下述公式计算所述人脸区域与所述比对区域的相似度dis:

min X=max(-leftori,-leftdes)

max X=max(width-leftori,width-leftdes)

min Y=max(-topori,-topdes)

max Y=max(height-topori,height-topdes)

effctiveNum=[min(width,max X)-max(1,min X)]*[min(height,max X)-max(1,min Y)]

dis=sumDis*(width*height)/effctiveNum

上述公式中,leftori、leftdes、topori、topdes可以分别表示为所述人脸区域的左边 界位置、当前比对区域的左边界位置、所述人脸区域的上边界位置、当前比对区域的上边界位置;width可以表示为所述人脸区域的宽度,height可以表示为所述人脸区域的高度,f(i,j)可以表示为所述当前帧图片(即所述下一帧K+1的上一帧K)人脸区域中坐标为(i,j)像素点的灰度值,g(i,j)可以表示为所述下一帧图片比对区域中坐标为(i,j)像素点的灰度值;x可以表示为设置的经验阈值,dis为所述人脸区域与所述比对区域的相似度。上述公式中,max(a,b)可以不表示为取a、b中值较大的项,min(a,b)可以表为取a、b中值较小的项。

S303:将所述下一帧图片中相似度达到预定要求的比对区域作为所述下一帧图片的第一预选区域。

本实施例中可以设置预定要求,可以用于筛选出所述预测区域中符合预测要求的比对区域。例如所述预定要求可以设置为所述比对区域于所述人脸区域的相似度达到90%以上。或者所述相似度排序后指定百分比内的比对区域,例如所述相似度最高的前三个比对区域。本申请可选的一种实施例中,所述相似度达到预定要求的比对区域可以设置为,包括:

所述下一帧图片的比对区域中相似度的值最大的比对区域。

图3是本申请在所述预测区域匹配查找到的第一预选区域的示意图。如图3所示,在所述下一帧图片(N+1)的预测区域B内,可以查找到与所述当前帧图片N中的人脸区域A匹配度符合要求的第一预选区域C。本实施例可以仅选取所述下一帧比对区域中与所述当前帧图片的人脸区域最相似的区域作为所述第一预选区域。这样,相比于选取出多个预先区域可以减少数据处理量,更快的筛选出预先区域,提高人脸位置处理速度。

本实施例采用的模板匹配方法在计算获取所述第一预选区域时可以仅对一定区域内做像素灰度值的加减运算,相比于现有的其他跟踪算法,无需做过多处理和存储,时间和空间复杂度低。适用范围更广,尤其是对信息数据处理能力较弱的中低端类型手机、监控设备,可以有效减少计算量的同时提高人脸跟踪精度。另一方面,在近距离视频拍摄的人脸跟踪环境下,例如在手机前置摄像头的应用场景下,使用者在自拍的时候,人脸所占屏幕的比例旺旺会较大。采用本实施例所述的模板匹配方法可以获取整个视频界面内更多比例的人脸区域的有效信息,相比于其他跟踪算法,跟踪结果更可靠。

本实施例中可以在所述预测区域内根据一定的计算方法查找获取与所述人脸区域相似度达到预定要求的第一预选区域。

S4:检测所述下一帧图片的人脸区域;基于所述第一预选区域和所述下一帧图片的人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果。

在切换到所述下一帧图片时,可以检测所述下一帧图片是否存在人脸区域。如果检测出所述下一帧图片存在人脸区域,那么所述下一帧图片会得到所述检测出的人脸区域和人脸跟踪预测得到第一预选区域的至少两个人脸区域。本申请中可以结合所述的至少两个人脸区域通过一定的协同计算分析得到所述下一帧图片最终的人脸跟踪结果。

本申请可以采用所述根据预先设置的选取规则来判断选用哪一个人脸区域作为最终的人脸位置跟踪结果。本实施例中所述的选取规则可以包括根据所述下一帧图片的人脸区域与所述第一预选区域的重合面积占到其中一个人脸区域面积的不同百分比设置的选取所述下一帧图片人脸区域还是所述第一预选区域的选取规则。在本实施例中可以将所述下一帧图片的人脸区域与所述第一预选区域的重合面积占到所述下一帧图片的人脸区域或者所述第一预选区域面积的百分比定义为重合系数Q。

图4是本申请提供的一种确定人脸位置跟踪结果的选取场景示意图。如图4中所示,矩形框D可以表示为检测出的所述下一帧图片的人脸区域,在此简称为检测结果;矩形框C可以表示通过上述步骤S1至S3以及其他实施例跟踪计算得到的所述下一帧图片的第一预选区域,在此简称为跟踪结果;阴影部分为最终确定的所述下一帧图片的人脸位置跟踪结果。在所述下一帧图片中同时存在所述检测结果和所述跟踪结果时,如果所述检测结果与所述跟踪结果不重合,即所述重合系数Q为0,可以使用跟踪结果作为所述人脸位置跟踪结果,如图4中4-1所示。如果所述检测结果和所述跟踪结果有重合区域,但重合面积较小,未达到设定的重合要求,此时可以使用跟踪结果作为所述人脸位置跟踪结果,如图4中4-2所示。另一种情况下,如果所述检测结果与所述跟踪结果大面积重合,达到设定重合要求,例如95%的面积重合,此时可以选取检测结果作为所述人脸位置跟踪结果,如图4中4-3所示。当然,如果所述下一帧图片未检测到人脸区域,则可以直接使用所述跟踪结果作为所述人脸位置跟踪结果,如图4中4-4所示。

因此,可选的实施例中,所述根据所述下一帧图片的人脸区域的检测结果和预设的选取规则确定所述下一帧图片的人脸位置跟踪结果可以包括:

所述下一帧图片的人脸区域的检测结果为未检测到人脸区域时,以所述第一预选区域作为所述下一帧图片的人脸位置跟踪结果;

检测出的所述下一帧图片的人脸区域与所述第一预选区域的重合系数为0时,以所述第一预选区域作为所述下一帧图片的人脸位置跟踪结果;

检测出的所述下一帧图片的人脸区域与所述第一预选区域的重合系数小于预定阀值时,以所述第一预选区域作为所述下一帧图片的人脸位置跟踪结果;

检测出的所述下一帧图片的人脸区域与所述第一预选区域的重合系数大于或等于预定 阀值时,以所述检测出的所述下一帧图片的人脸区域作为所述下一帧图片的人脸位置跟踪结果。

本实施例给出了一种从所述检测结果和跟踪结果中如何选取最终人脸位置跟踪结果的实施方法。利用本申请所述实施例可以实现在人脸快速移动、光线突变、强光干扰等复杂环境下准确、快速的跟踪人脸位置。实施方案中在帧图片中出现帧丢失,未检测到人脸的情况时,仍然可以实现人脸位置的跟踪确认,达到人脸位置的连续跟踪的效果,使人脸跟踪画面流畅。即使未出现帧丢失,在帧图片中也可以在检测结果和跟踪结果之间根据预定的选取规则选取更为合适的区域作为人脸位置跟踪结果,提高人脸跟踪效果,提升用户体验。

需要主要说明的是,本申请中所述的当前帧、下一帧、上一帧以及前一阵等描述在实际的应用中可以认为是对帧图片信息处理对象描述的相对概念。如可以标记视频流中某个时刻的帧图片为当前帧图片N,那么相应的下一帧可以为第N+1帧图片,上一帧可以为第N-1帧图片。在跟踪处理完所述下一帧第N+1帧图片后可以继续处理跟踪第N+2帧图片中的人脸位置,此时,所述的当前帧图片应该为第N+1帧图片,相应的,相对应所述当前帧图片(N+1)的下一帧图片可以为第N+2帧图片。

在连续帧图片处理时,在跟踪处理完当前帧图片的人脸位置跟踪后,可以以当前帧图片的处理结果作为下一帧人脸位置跟踪时的参考或者初始化信息继续跟踪下一帧图片中的人脸位置。在一些应用场景中,一般的,所述视频流中每秒需要处理的帧图片较多,可以到达十几帧甚至几十帧。在人脸位置跟踪处理时,如果出现光线强烈变、人脸快速移动等导致某一帧N中人脸跟踪丢失导致未检测出人脸时,可以将上一帧(N-1)检测或处理的结果得到的人脸区域作为该人脸跟踪丢失的帧N跟踪出的人脸区域。可扩展的实施方式中,如果所述上一帧(N-1)仍然未检测和跟踪出出人脸,则可以继续使用前一帧(N-2)的检测或者根据处理得到人脸区域结果,依次类推。当然,如果根据预先设定的判断规则,如果连续多帧未检测出人脸,可以判断当前人脸不再摄像范围内。

上述实施例在所述下一帧图片中查找人脸出现的预测区域时,可以根据需要设置所述第一移动步长的值,例如可以设置每次移动2个像素点或者每次移动5个像素点。一般的,所述的移动步长的值设置的越大,查找与上一帧人脸区域相似区域的速度越快,处理的数据量也越少。所述移动步长的值设置的越小,相应的查找的精度也就越高。在上述所述第一移动步长的取值范围为大于或等于两个像素点的实施例中,为进一步提高查找所述第一预选区域的精度,本申请提供的另一种优选的实施例中,所述方法还可以包括:

S304:在所述第一预选区域周围的第二步长范围内以查找与所述人脸区域相似度最高的 第二预选区域,所述第二步长的取值小于所述第一步长;此时,可以将通过更精细的查找获得的第二预选区域作为所述下一帧图片人脸位置区域的跟踪结果。在后续确认最终的人脸位置跟踪结果时可以在检测结果和所述第二预选区域之间进行选取,因此,

相应的,所述基于所述第一预选区域和所述下一帧图片的人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果包括:基于所述第二预选区域和所述下一帧图片的人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果。

具体的应用中,例如所述第一步长为2个像素,那么本实施例中可以将在所述第一预选区域周围一个像素点的范围内人脸区域与所述上一帧图片的人脸区域进行相似性计算,获取相似度值最高的区域。具体的,本实施例中可以使用步骤S302中所述的相似度计算方法来计算得出所述第二预选区域,当然也不排除其他的判断两个区域相似性的计算方法,在此不做赘述。图5是本申请实施例中进一步查找所述第二预选区域的示意图。如图5所示,矩形框C为在预测区域内以步长2个像素确定的人脸区域的第一预选区域,矩形框D为所述第一预选区域C右上角一个像素点的一个比对区域C_ru。当然,所述第一预选区域周围一个像素点的范围可以包括所述第一预选区域向下移动一个像素点形成的比对区域C_d、向上移动一个像素点形成的比对区域C_u、向左下角移动一个像素点形成的比对区域C_ld等。然后可以分别计算所述第一预选区域周围一个像素点的比对区域与所述人脸区域的相似度,可以从中选取所述相似度数值最高的比对区域作为所述第二预选区域。

本实施例中通过值设置较大第一步长的计算得到第一预选区域,可以有效减少图片对比查找的计算量,提高人脸位置跟踪的数据处理速度。然后本实施例可以基于所述第一预选区域的结果在周围比第一步长小的第二步长范围内进行更精细的查找,获取跟踪结果更为准确的第二预选区域。这样,可以达到快速查找处理的同时,又可以提供人脸跟踪的准确性,提高人脸跟踪效果。

基于本申请所述的人脸位置跟踪方法,本申请提供一种人脸位置跟踪装置。图6是本申请所述人脸位置跟踪装置一种实施例的模块结构示意图,如图6所示,所述装置可以包括:

检测模块101,可以用于检测帧图片的人脸区域;

预测区域计算模块102,可以用于根据所述次检测模块101检测出的当前帧图片的人脸区域计算所述当前帧图片的下一帧图片中人脸出现的预测区域;

预选区域计算模块103,可以用于在所述预测区域内查找与所述人脸区域相似度达到预定要求的第一预选区域;

跟踪结果选取模块104,可以用于基于所述第一预选区域和所述检测模块101对所述当前帧图片的下一帧图片人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果。

在本申请所述人脸位置跟踪装置的实施例中,所述检测模块101可以随着时间轴的推进连续检测摄像装置拍摄获取的帧图片中的人脸区域。例如视频流中每秒拍摄15帧视频图片,在进行人脸位置跟踪时可以检测当前帧(第N帧)图片中的人脸区域。检测、跟踪处理完当前帧(第N帧)图片的信息数据后可以继续检测下一帧(第N+1)图片中的人脸区域。

本申请装置所述检测模块101的一种实施例中可以采用降低分类级数的Adaboost方法检测并获取当前帧图片的人脸区域。这样,可以减少人脸检测的数据计算量,提高人脸位置跟踪的定位、处理速度。

本申请装置的另一种实施例中,在人脸位置跟踪处理时可以只跟踪离摄像头最近的人脸,在实施过程中可以取当前帧图片中最大的人脸框作为人脸跟踪对象。因此,本申请所述装置的另一种实施例中,所述述检测模块101检测帧图片的人脸区域包括:

在检测出当前帧图片中至少存在两组人脸时,选取所述当前帧中图片面积最大的人脸对应的区域作为所述当前帧图片的人脸区域。

本申请中不限制所述的预选区域计算模块103查找计算所述第一预选区域的方法。图7是本申请所述装置提供的所述预选区域计算模块103一种实施例的模块结构示意图。如图7所示,所述预选区域计算模块103可以包括:

比对区域模块1031,可以用于按照设定的第一步长遍历所述预测区域,获取所述人脸区域的比对区域;

相似度计算模块1032,可以用于计算得到所述人脸区域与比对区域的相似度。

本申请所述装置的一种实施例中,所述相似度计算模块1032可以利用下述公式计算所述人脸区域与所述比对区域的相似度dis:

min X=max(-leftori,-leftdes)

max X=max(width-leftori,width-leftdes)

min Y=max(-topori,-topdes)

max Y=max(height-topori,height-topdes)

effctiveNum=[min(width,max X)-max(1,min X)]*[min(height,max X)-max(1,min Y)]

dis=sumDis*(width*height)/effctiveNum

上述公式中,leftori、leftdes、topori、topdes分别表示为所述人脸区域的左边界位置、当前比对区域的左边界位置、所述人脸区域的上边界位置、当前比对区域的上边界位置;width表示为所述人脸区域的宽度,height表示为所述人脸区域的高度,f(i,j)表示为所述当前帧图片人脸区域中坐标为(i,j)像素点的灰度值,g(i,j)表示为所述下一帧图片比对区域中坐标为(i,j)像素点的灰度值;x表示为设置的经验阈值,dis为所述人脸区域与所述比对区域的相似度;

第一预选模块1033,可以用于将所述下一帧图片中相似度达到预定要求的比对区域作为所述下一帧图片的第一预选区域。

上述所述装置以及包括所述相似度计算模块1032中利用的计算公式,可以所述装置/模块具体的实施过程中可以以计算机可读的程序语言实现,例如C语言。或者结合必要的硬件结构以硬件+软件的方式实现。

可以选取实施例中,所述第一预选模块1033中设定的预选要求可以设置为与所述人脸区域相似度最高。因此,另一种实施例中,所述第一预选模块1033中所述相似度达到预定要求的比对区域可以包括:

所述下一帧图片的比对区域中相似度的值最大的比对区域。

上述实施例中,所述比对区域模块1031中设置的第一步长可以根据本申请对人脸位置跟踪装置的处理速度或精度的要求进行设置。本申请所述装置的一种实施方式中,所述第一移动步长的取值范围可以设置为大于或等于两个像素点。

本申请还可以提供所述人脸位置跟踪装置一种优选的实施例。图8本申请所述预选区域计算模块另一种实施例的模块结构示意图。如图8所示,所述预选区域计算模块103还可以包括:

第二预选模块1034,可以用于在所述第一预选区域周围的第二步长范围内查找与所述人脸区域相似度最高的第二预选区域,其中,所述第二步长的取值小于所述第一步长。

相应的,所述跟踪结果选取模块104基于所述第一预选区域和所述检测模块101对所述 当前帧图片的下一帧图片人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果,包括:所述跟踪结果选取模块104基于所述第二预选区域和所述检测模块101对所述当前帧图片的下一帧图片人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果。

在本实施例所述的人脸位置跟踪装置,可以基于所述第一预选区域的结果在周围比第一步长小的第二步长范围内进行更精细的查找,获取跟踪结果更为准确的第二预选区域。这样,可以达到快速查找处理的同时,又可以提供人脸位置跟踪的准确性,提高人脸跟踪效果。

图9是本申请提供的跟踪结果选取模块104一种实施例的模块结构示意图。如图9所示,所述跟踪结果选取模块104可以包括:

检测计算模块1041,可以用于检测所述下一帧图片的人脸区域;还可以用于在检测出所述下一帧图片的人脸区域时计算所述下一帧人脸区域与所述第一预选区域的重合系数Q。该实施例中,所述的重合系数Q可以表示为所述下一帧图片的人脸区域与所述第一预选区域的重合面积占到所述下一帧图片的人脸区域或者所述第一预选区域面积的百分比。

选取模块1042,可以用于在所述检测计算模块1041满足未检测到所述下一帧图片的人脸区域、所述检测计算模块1041计算得到的重合系数为0、所述检测计算模块1041计算得到的重合系数小于预定阀值中的至少一项时,以所述第一预选区域作为所述下一帧图片的人脸位置跟踪结果;还可以用于在所述检测计算模块1041计算得到的重合系数大于或等于预定阀值时,以检测模块101检测出的所述下一帧图片的人脸区域作为所述下一帧图片的人脸位置跟踪结果。

本实施例方案提供了一种从检测结果和跟踪结果中确定最终人脸位置跟踪结果的选取方案。利用本申请所述实施例可以实现在人脸快速移动、光线突变、强光干扰等复杂环境下准确、快速的跟踪人脸位置。本实施例在帧图片中出现帧丢失,未检测到人脸的情况时,仍然可以实现人脸位置的跟踪确认,达到人脸位置的连续跟踪效果,使人脸跟踪画面流畅。即使未出现帧丢失,在帧图片中也可以在检测结果和跟踪结果之间根据预定的选取规则选取更为合适的区域作为人脸位置跟踪结果,提高人脸跟踪效果,提升用户体验。

本申请所述的人脸位置跟踪方法或装置可以适用在多种终端设备上,实现人脸更加快速、准确、流程的人脸位置跟踪,例如基于Android或iOS系统的移动通讯终端的视频拍摄、监控设备、连续帧序列图片的人脸位置跟踪设备等。因此,本申请还提供一种人脸位置跟踪的电子设备,所述电子设备可以包括检测获取视频帧图片的摄像装置、视频播放显示的显示器和信息数据处理的处理单元等。具体的,图10是本申请所述人脸位置跟踪的电子装置的 一种实施例结构示意图,如图10所示,所述电子设备可以被设置成,包括:

信息获取单元1,可以用于获取待处理的帧图片;

处理单元2,可以用于检测所述帧图片的人脸区域;还可以用于根据检测出的当前帧图片的人脸区域计算所述当前帧图片的下一帧图片中人脸出现的预测区域,并在所述预测区域内查找与所述人脸区域相似度达到预定要求的第一预选区域;还可以用于基于所述第一预选区域和所述检测模块对所述当前帧图片的下一帧图片人脸区域的检测结果,按照预设的选取规则确定所述下一帧图片的人脸位置跟踪结果;

显示单元3,可以用于显示所述处理单元2得到的人脸位置跟踪结果。

本申请中所述的电子设备中的信息获取单元1,可以包括移动终端的前置摄像头、后置设置头,或者监控设置的摄像装置。在其他的应用场景中,也可以包括计算机处理实时或者已经摄像完成的图像信息数据的实施方式,例如通过计算机对一段视频信息进行人脸位置跟踪的处理。所述的处理单元2可以包括中央处理器(CPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等等。所述显示单元3一般的可以包括显示器、移动终端显示屏、投影设备等。

尽管本申请内容中提到人脸检测方法、模块单元之间的数据交互等的数据处理、信息展示的描述,但是,本申请并不局限于必须是完全标准或者实施例中所提及的数据处理、信息展示的情况。本申请中各个实施例所涉及的上述描述仅是本申请中的一些实施例中的应用,在某些标准、方法的基础上略加修改后的处理方法也可以实行上述本申请各实施例的方案。当然,在符合本申请上述各实施例的中所述的处理方法步骤的其他无创造性的变形,仍然可以实现相同的申请,在此不再赘述。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

上述实施例阐明的单元或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置、设备时以功能分为各种模块、单元分别描述。当然,在实施本申请时可以把多个模块的功能在同一个或多个软件和/或硬件中实现,如第一预选模块和第二预选模块。也可以将实现同一功能的模块由多个子模块或子单元的组合实现。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如C语言、或者基于Android、iOS设计平台的程序模块等。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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