人脸检测方法、装置、设备及计算机可读介质与流程

文档序号:13910228阅读:190来源:国知局
人脸检测方法、装置、设备及计算机可读介质与流程

本发明涉及图像识别技术领域,尤其是涉及一种人脸检测方法、装置、设备及计算机可读介质。



背景技术:

人脸检测(facedetection)是对人脸图像进行分析和处理的第一步,其用于检测并定位图像中的人脸,返回高精度的人脸框坐标。传统的检测算法,是对一个画面进行扫描,并且逐个判定一个画面区域是否为人脸。

然而,由于每一秒的视频段落由许多帧的画面构成,一般摄像机的帧数分为pal制(帕尔制)与n制(彩色电视广播标准),分别为每秒25帧和每秒30帧,目前的高速摄像机可以达到每秒120帧以上。这样,使用目前的人脸检测算法,往往会伴随着大计算量、高内存(gpu上指显存)占用等问题,在一些计算能力有限的平台上应用人脸检测算法,对功耗、散热等带来巨大的挑战。当视频流中没有人脸存在时,依然对视频的每一帧都进行检测,是一种计算资源的巨大浪费。



技术实现要素:

有鉴于此,本发明的目的在于提供一种人脸检测方法、装置、设备及计算机可读介质,以缓解现有技术中存在的人脸检测的占用大量的计算资源的技术问题。

第一方面,本发明实施例提供了一种人脸检测方法,包括:

获取前k次人脸检测到的多个人脸图像的实际位置信息,k为大于或者等于2的正整数;

根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息;

根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率;

将人脸检测的检测频率调整为所述目标频率。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息,包括:

根据所述前k次检测到多个人脸图像的实际位置信息,计算所述多个人脸图像的运动矢量;

根据第k次检测到的人脸图像的实际位置信息及所述运动矢量预测在第k+1次检测时人脸图像的预测位置信息。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据所述前k次检测到多个人脸图像的实际位置信息,计算所述多个人脸图像的运动矢量;包括:

通过下式,计算所述多个人脸图像中每个人脸图像的运动矢量

其中,为第x个人脸图像在第i次检测的实际位置信息,为第x个人脸图像在第i+1次检测的实际位置信息,i为正整数。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据第k次检测到的人脸图像的实际位置信息及所述运动矢量预测在第k+1次检测时人脸图像的预测位置信息,包括:

将第k次检测到的人脸图像的实际位置信息与所述运动矢量二者之和确定为所述预测位置信息。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率,包括:

确定多张人脸图像中预测位置信息满足预设条件的人脸图像;

统计预测位置信息满足预设条件的人脸图像的数量;

确定所述人脸图像的数量对应的预设阈值范围;

根据所述预设阈值范围确定目标频率。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述目标频率与所述满足预设条件的人脸图像的数量成正比例关系。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述人脸图像的位置信息包括:由人脸框区域的最小横坐标,人脸框区域的最大横坐标,人脸框区域的最小纵坐标和人脸框区域的最大纵坐标构成的向量。

结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述确定多张人脸图像中预测位置信息满足预设条件的人脸图像,包括:

当根据所述人脸图像的预测位置信息预测的人脸图像的位置均位于所述人脸图像所在的帧图像范围内,确定所述人脸图像满足预设条件。

结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,确定多张人脸图像中预测位置信息满足预设条件的人脸图像,包括:

当根据所述人脸图像的预测位置信息预测的人脸框区域的面积大于或者等于预设面积阈值,确定所述人脸图像满足预设条件。

第二方面,本发明实施例还提供一种人脸检测装置,包括:

获取模块,用于获取前k次人脸检测到的多个人脸图像的实际位置信息,k为大于或者等于2的正整数;

预测模块,用于根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息;

确定模块,用于根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率;

调整模块,用于将人脸检测的检测频率调整为所述目标频率。

第三方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行第一方面所述的方法。

第四方面,本发明实施例还提供一种人脸检测设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行第一方面所述的方法。

本发明实施例带来了以下有益效果:本发明实施例通过首先获取前k次人脸检测到的多个人脸图像的实际位置信息,根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息,可以根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率,最后可以将人脸检测的检测频率调整为所述目标频率。

本发明实施例能够根据前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息,并根据预测位置信息确定目标频率,进而将检测频率调整到目标频率,可以根据帧图像中人脸图像的预测位置信息自动调整人脸检测的频率,节省系统的计算资源,降低视频流的人脸检测中的耗能,同时还能够保证人脸检测的可靠性。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的电子设备的示意框图;

图2为本发明实施例提供的人脸检测方法的流程图;

图3为本发明实施例提供的人脸检测到的人脸图像的示意图;

图4为本发明实施例提供的人脸检测装置的结构图。

具体实施方式

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

本发明实施例可以应用于电子设备,图1所示为本发明实施例的电子设备的一个示意性框图。图1所示的电子设备10包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108、图像传感器110以及一个或多个非图像传感器114,这些组件通过总线系统112和/或其它形式互联。应当注意,图1所示的电子设备10的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其它组件和结构。

所述处理器102可以包括cpu1021和cpu1022或者具有数据处理能力和/指令执行能力的其它形式的处理单元,例如现场可编程门阵列(field-programmablegatearray,fpga)或进阶精简指令集机器(advancedrisc(reducedinstructionsetcomputer)machine,arm)等,并且处理器102可以控制所述电子设备10中的其它组件以执行期望的功能。

所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器1041和/或非易失性存储器1042。所述易失性存储器1041例如可以包括随机存取存储器(randomaccessmemory,ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器1042例如可以包括只读存储器(read-onlymemory,rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现各种期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

所述图像传感器110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。

应当注意,图1所示的电子设备10的组件和结构只是示例性的,尽管图1示出的电子设备10包括多个不同的装置,但是根据需要,其中的一些装置可以不是必须的,其中的一些装置的数量可以更多等等,本发明对此不限定。

由于目前的人脸检测算法,往往会伴随着大计算量、高内存(gpu上指显存)占用等问题,基于此,本发明实施例提供的一种人脸检测方法及装置,可以根据前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息,并根据预测位置信息确定目标频率,进而将检测频率调整到目标频率,可以根据帧图像中人脸图像的预测位置信息自动调整人脸检测的频率,节省系统的计算资源,降低视频流的人脸检测中的耗能,同时还能够保证人脸检测的可靠性。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种人脸检测方法进行详细介绍,如图2所示,所述人脸检测方法可以包括以下步骤。

步骤s101,获取前k次人脸检测到的多个人脸图像的实际位置信息,k为大于或者等于2的正整数。

在本发明实施例中,人脸图像是指对采集到的帧图像进行人脸检测得到的人脸框区域内的图像,如图3中各个人脸框区域内的图像为人脸图像,示例性的,实际位置信息可以包括:由检测到的人脸图像对应的人脸框区域的最小横坐标,人脸框区域的最大横坐标,人脸框区域的最小纵坐标和人脸框区域的最大纵坐标构成的向量。

示例性的,在该步骤之前,可以在每一次检测到人脸图像的实际位置信息后,按照检测时间的先后顺序将人脸图像的实际位置信息进行存储。

步骤s102,根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息。

在本发明实施例中,所述预测位置信息包括:由预测的人脸框区域的最小横坐标,人脸框区域的最大横坐标,人脸框区域的最小纵坐标和人脸框区域的最大纵坐标构成的向量。

示例性的,可以认为在一个较短的时间间隔内,人脸的运动情况不发生较大改变,所以可以根据前k次检测到的实际位置信息确定人脸图像的运动速度、运动轨迹和面积大小等,进而以前k次检测到的实际位置信息为基础,预测下一次检测时人脸图像的预测位置信息。

在该步骤中,可以首先根据所述前k次检测到多个人脸图像的实际位置信息,计算所述多个人脸图像的运动矢量;示例性的,可以通过下式,计算所述多个人脸图像中每个人脸图像的运动矢量

其中,为第x个人脸图像在第i次检测的实际位置信息,为第x个人脸图像在第i+1次检测的实际位置信息,i为正整数。

再根据第k次检测到的人脸图像的实际位置信息及所述运动矢量预测在第k+1次检测时人脸图像的预测位置信息。示例性的,可以将第k次检测到的人脸图像的实际位置信息与所述运动矢量二者之和确定为所述预测位置信息。

步骤s103,根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率。

在本发明实施例中,满足预设条件可以指根据预测位置信息确定的人脸图像的大小大于预设面积阈值,即认为之后不会再检测到,预设面积阈值可以根据图像的分辨率和使用的检测算法确定;也可以指根据预测位置信息确定的人脸图像的位置位于帧图像范围内,即人脸图像未从帧图像移出等等,在实际应用中可以根据实际情况进行其它设置,本发明对此不做限定。

一种可选的实施方式为,当根据所述人脸图像的预测位置信息预测的人脸图像的位置均位于所述人脸图像所在的帧图像范围内,也就是说,若预测的人脸框区域的最小横坐标、人脸框区域的最大横坐标、人脸框区域的最小纵坐标和人脸框区域的最大纵坐标均位于所述人脸图像所在的帧图像范围内,可以确定所述人脸图像满足预设条件。

另一种可选的实施方式为,当根据所述人脸图像的预测位置信息预测的人脸框区域的面积大于或者等于预设面积阈值,也就是说,当预测的人脸框区域的面积小于或者等于预设面积阈值的人脸图像,可以确定所述人脸图像满足预设条件。

在该步骤中,可以确定多张人脸图像中预测位置信息满足预设条件的人脸图像,然后统计预测位置信息满足预设条件的人脸图像的数量,确定所述人脸图像的数量对应的预设阈值范围,根据所述预设阈值范围确定目标频率,在本发明实施例中,目标频率与所述满足预设条件的人脸图像的数量成正比例关系,也就是说,目标频率随满足预设条件的人脸图像的数量的增多而增大,目标频率随满足预设条件的人脸图像的数量的减少而减小。

在本发明实施例中,预设阈值范围可以根据实际人脸检测情况进行设置,例如:如果检测到的人脸密度较大,预设阈值范围可以相应的设置较大;反之,较小;或者,对于耗能低、精度不高的时候,可以将阈值范围设置的较小,反之,较大。

示例性的,在实际应用中,可以设置多个预设阈值范围,每个预设阈值范围对应一个目标频率,例如有0至10,11至20,21至30三个预设阈值范围,每个预设阈值范围对应一个目标频率,如果人脸图像的数量是5,那么就将频率设置为0至10对应的目标频率。

步骤s104,将人脸检测的检测频率调整为所述目标频率。

示例性的,若目标频率为w0,人脸检测的检测频率可以调整为每隔w0帧进行一次人脸检测。

本发明实施例通过首先获取前k次人脸检测到的多个人脸图像的实际位置信息,根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息,可以根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率,最后可以将人脸检测的检测频率调整为所述目标频率。

本发明实施例能够根据前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息,并根据预测位置信息确定目标频率,进而将检测频率调整到目标频率,可以根据帧图像中人脸图像的预测位置信息自动调整人脸检测的频率,节省系统的计算资源,降低视频流的人脸检测中的耗能,同时还能够保证人脸检测的可靠性。

在本发明的又一实施例中,如图4所示,还提供一种人脸检测装置,包括:获取模块11、预测模块12、确定模块13和调整模块14。

获取模块11,用于获取前k次人脸检测到的多个人脸图像的实际位置信息,k为大于或者等于2的正整数。

预测模块12,用于根据所述前k次检测到的实际位置信息预测在第k+1次检测时人脸图像的预测位置信息。

确定模块13,用于根据与预测位置信息满足预设条件的人脸图像的数量对应的预设阈值范围确定目标频率。

调整模块14,用于将人脸检测的检测频率调整为所述目标频率。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

可选地,预测模块12包括:计算单元和预测单元。

计算单元,用于根据所述前k次检测到多个人脸图像的实际位置信息,计算所述多个人脸图像的运动矢量;

预测单元,用于根据第k次检测到的人脸图像的实际位置信息及所述运动矢量预测在第k+1次检测时人脸图像的预测位置信息。

可选地,计算单元可以通过下式,计算所述多个人脸图像中每个人脸图像的运动矢量

其中,为第x个人脸图像在第i次检测的实际位置信息,为第x个人脸图像在第i+1次检测的实际位置信息,i为正整数。

可选的,预测单元还用于:将第k次检测到的人脸图像的实际位置信息与所述运动矢量二者之和确定为所述预测位置信息。

可选地,确定模块13可以包括:第一确定单元、统计单元和第二确定单元。

第一确定单元,用于确定多张人脸图像中预测位置信息满足预设条件的人脸图像;

统计单元,用于统计预测位置信息满足预设条件的人脸图像的数量;

第二确定单元,用于确定所述人脸图像的数量对应的预设阈值范围;

第三确定单元,用于根据所述预设阈值范围确定目标频率。

示例性地,所述目标频率与所述满足预设条件的人脸图像的数量成正比例关系。

示例性地,所述人脸图像的位置信息包括:由人脸框区域的最小横坐标,人脸框区域的最大横坐标,人脸框区域的最小纵坐标和人脸框区域的最大纵坐标构成的向量。

可选地,第一确定单元还用于:当根据所述人脸图像的预测位置信息预测的人脸图像的位置均位于所述人脸图像所在的帧图像范围内,确定所述人脸图像满足预设条件。

可选地,第一确定单元还用于:当根据所述人脸图像的预测位置信息预测的人脸框区域的面积大于或者等于预设面积阈值,确定所述人脸图像满足预设条件。

在本发明的又一实施例中,还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行方法实施例所述的方法。

在本发明的又一实施例中,还提供一种人脸检测设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行方法实施例所述的方法。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本发明实施例所提供的人脸检测方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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