首页> 中国专利> 神经网络训练方法、人脸检测方法及人脸检测装置

神经网络训练方法、人脸检测方法及人脸检测装置

摘要

本发明提供了一种神经网络训练方法、人脸检测方法及人脸检测装置,涉及图像处理技术领域,以缓解现有技术中存在的上下文信息的定义误差较大,影响人脸检测精度的问题,能够结合人脸检测自身特征进行自适应的定义上下文信息,减少了人为先验对上下文定义的偏差,提高了对人脸检测精度。该神经网络训练方法,包括:对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;利用神经网络对人脸初步区域进行上下文信息估计,获得人脸上下文区域;通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域;根据更新后的人脸上下文区域,对神经网络进行反传损失,更新神经网络的参数。

著录项

  • 公开/公告号CN107977628A

    专利类型发明专利

  • 公开/公告日2018-05-01

    原文格式PDF

  • 申请/专利号CN201711257555.4

  • 发明设计人 袁野;俞刚;

    申请日2017-12-01

  • 分类号

  • 代理机构北京超凡志成知识产权代理事务所(普通合伙);

  • 代理人宋南

  • 地址 100000 北京市海淀区科学院南路2号A座313

  • 入库时间 2023-06-19 05:12:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-11-03

    专利实施许可合同备案的生效 IPC(主分类):G06K 9/00 专利申请号:2017112575554 专利号:ZL2017112575554 合同备案号:X2023990000867 让与人:华智众创(北京)投资管理有限责任公司 受让人:北京佩佩网络科技有限公司 发明名称:神经网络训练方法、人脸检测方法及人脸检测装置 申请日:20171201 申请公布日:20180501 授权公告日:20200114 许可种类:普通许可 备案日期:20231016

    专利实施许可合同备案的生效、变更及注销

  • 2020-01-14

    授权

    授权

  • 2018-05-25

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20171201

    实质审查的生效

  • 2018-05-01

    公开

    公开

说明书

技术领域

本发明涉及图像处理技术领域,尤其是涉及一种神经网络训练方法、人脸检测方法及人脸检测装置。

背景技术

人脸检测对于多种人脸应用是非常基础并且至关重要的,比如人脸识别,人脸美妆,人脸AR等。其目的在于将图像或视频中人脸区域与其他区域进行区分,进而确定图像或视频中所有人脸的位置、大小、姿态。

在人脸检测的实际应用过程中,由于遮挡,模糊等场景问题,导致人脸检测准确率和检索率降低,因此上下文信息对于此类场景有着至关重要的作用。目前,传统的人脸检测方法通常采用人为指定的启发式方法来获得对应的上下文信息,但该方法具有以下缺点:1、人为先验的依赖性很强;2、不能覆盖所有场景,对于一些偏离先验的场景,处理能力及效果显著下降。上述缺陷导致传统的依赖人为先验的人脸检测方法对上下文信息的定义误差较大,从而影响人脸检测的准确性。

针对上述问题,还未提出有效的解决方案。

发明内容

有鉴于此,本发明的目的在于提供一种神经网络训练方法、人脸检测方法及人脸检测装置,以缓解现有技术中存在的上下文信息的定义误差较大,影响人脸检测精度的问题。

第一方面,本发明实施例提供了一种神经网络训练方法,所述神经网络用于人脸检测;

所述方法包括:

对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;

对所述人脸初步区域进行上下文信息估计,获得人脸上下文区域;

通过池化算子对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域;

根据更新后的所述人脸上下文区域,对所述神经网络进行反传损失,更新所述神经网络的参数。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述通过池化算子对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域,具体包括:

利用符号函数对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述利用符号函数对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域,具体包括:

所述人脸上下文区域的坐标为

通过以下算式对所述人脸上下文区域的坐标进行求导,更新所述人脸上下文区域的坐标:

其中,F为特征图,u和v分别为特征图的任意一点的横坐标和纵坐标,Froi为人脸上下文区域,u’和v’分别为人脸上下文区域的任意一点的横坐标和纵坐标,x和y分别为人脸上下文区域左上角的横坐标和纵坐标,w和h分别为人脸上下文区域的宽度和长度,w’和h’分别为池化算子的池化区的宽度和长度,κ(·)=max(0,1-|·|)。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,在对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域之前,还包括:

对人脸图像进行卷积处理及池化处理,获得人脸图像的特征图。

第二方面,本发明实施例还提供一种人脸检测方法,包括:对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;

利用神经网络对所述人脸初步区域进行上下文信息估计,获得人脸上下文区域;

通过池化算子对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述通过池化算子对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域,具体包括:

利用符号函数对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域。

结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述利用符号函数对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域,具体包括:

所述人脸上下文区域的坐标为

通过以下算式对所述人脸上下文区域的坐标进行求导,更新所述人脸上下文区域的坐标:

其中,F为特征图,u和v分别为特征图的任意一点的横坐标和纵坐标,Froi为人脸上下文区域,u’和v’分别为人脸上下文区域的任意一点的横坐标和纵坐标,x和y分别为人脸上下文区域左上角的横坐标和纵坐标,w和h分别为人脸上下文区域的宽度和长度,w’和h’分别为池化算子的池化区的宽度和长度,κ(·)=max(0,1-|·|)。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,该人脸检测方法还包括:

对更新所述人脸上下文区域进行人脸检测,获得最终人脸区域。

结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,在对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域之前,该人脸检测方法还包括:

对人脸图像进行卷积处理及池化处理,获得人脸图像的特征图。

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

处理模块,用于对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;

估计模块,用于利用神经网络对所述人脸初步区域进行上下文信息估计,获得人脸上下文区域;

更新模块,用于通过池化算子对所述人脸上下文区域求导,更新所述人脸上下文区域。

第四方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的神经网络训练方法或人脸检测方法的步骤。

第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述神经网络训练方法或人脸检测方法的步骤。

本发明实施例带来了以下有益效果:本发明实施例提供的神经网络训练方法中,上述神经网络应用于人脸检测;该神经网络训练方法首先对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;然后,利用神经网络对人脸初步区域进行上下文信息估计,获得人脸上下文区域;接下来,通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域;最后,根据更新后的人脸上下文区域,对神经网络进行反传损失。因此,本发明实施例提供的神经网络训练方法,特别适用于人脸检测,即基于神经网络通过池化算子对人脸上下文区域求导,可以无监督的进行深度学习,进而自适应地定义上下文信息。通过该方法,能够结合人脸检测自身特征进行自适应的定义上下文信息,减少了人为先验对上下文定义的偏差。进而提高人脸对于遮挡,模糊等场景下的性能,提高了对人脸检测的精度。

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

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

附图说明

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

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

图2为本发明实施例二提供的神经网络训练方法的流程图;

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

图4为本发明实施例三提供的神经网络训练方法的示意图;

图5为本发明实施例三提供的人脸检测方法的示意图;

图6为本发明实施例四提供的人脸检测装置的示意图;

图7为本发明实施例四提供的人脸检测装置的应用场景示意图。

具体实施方式

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

实施例一:

如图1所示,用于实现本发明实施例的神经网络训练方法、人脸检测方法及人脸检测装置的示例电子设备100,包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。

所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(Random Access Memory,简称RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(Read-Only Memory,简称ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

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

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

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

示例性地,用于实现根据本发明实施例提供的人脸图像的获取方法和装置的示例电子设备可以被实现为诸如智能手机、平板电脑等移动终端上。

实施例二:

本发明实施例提供了人脸图像区域检测的方法,该人脸图像区域检测的方法包括训练过程和人脸检测过程。

根据本发明实施例,提供了一种神经网络训练方法以及人脸检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2示出了本发明实施例提供的神经网络训练方法的流程图,其中,所述神经网络可用于人脸检测,上述神经网络训练方法用于训练过程;具体的,这里的神经网络可以采用RCNN神经网络(基于区域的卷积网络)、Fast-RCNN神经网络、Faster-RCNN神经网络等神经网络,也可以是其他深度神经网络。需要指出的是,该神经网络主要包括区域建议网络(RPN)和推断网络(inference network)两个组成部分。

本发明实施例以神经网络为Fast-RCNN神经网络为例对该神经网络训练方法进行说明,但不应理解为对本发明实施例的限制。

上述神经网络训练方法包括如下步骤:

步骤S101:对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域。

具体的,对采用Fast-RCNN神经网络模型的区域生成网络(region proposalnetwork,RPN,是一个全卷积网络)得到的人脸图像的特征图(feature map)进行感兴趣区域(region of interest,ROI)处理,即对人脸图像的特征图利用池化算子(ROIPOOling算子)抠出每个锚定点(anchor)对应的特征图块,以获得人脸初步区域(rois)。此处,人脸图像的特征图是通过利用神经网络对用户输入的人脸图像进行卷积处理及池化处理,获得人脸图像的特征图。

步骤S102:对人脸初步区域进行上下文信息估计,获得人脸上下文区域。

这里利用选取的Fast-RCNN神经网络通过若干全关联层(fully connect layer)估计上述获得的人脸初步区域的上下文信息,以获得人脸上下文区域(rois_context)。这里的上下文区域是指与人脸相关的预设范围内的人体部位。具体的,该上下文区域包括人脸上方的头发以及人脸下方的脖子,甚至还可以包括脖子下方的身体局部(例如肩部)或者从脖子至脚部的身体全部部位。

步骤S103:通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域。

具体的,这里的池化算子是指特殊的ROI池化(ROIPooling)算子。

本实施例中设计一种特殊的ROIPooling算子对获得人脸上下文区域的坐标(rois_context)求导,更新人脸上下文区域,实现自适应的学习上下文信息。

上述特殊的ROIPooling算子是指既能够对特征图进行求导,学习与特征图相关的参数,又能够对roi以及rois_context进行求导的算子。

roi,roi_context的坐标均表示为(x,y,w,h),其中,x和y分别为roi或者roi_context左上角的横坐标和纵坐标,w和h分别为roi或者roi_context的宽度和长度;在反向传播(Back Propagation)时,通过特殊的池化算子可以对rois_context求导,进而更新roi_context,达到自适应调整上下文的目的。需要指出的是,roi,roi_context的坐标在feature map上进行采样送入Fast-RCNN神经网络中的推断网络(inference network)。需要说明的是,由于神经网络中的前向传播(网络层中的输入层的输入节点到输出层的输出节点进行计算,最终得到的输出结果与原始输出总是有误差的,因此需要对误差进行反向传播(输出层的输出节点求偏导,一直到输入层的输入节点),更新权值,重新计算输出,以使输出结果与原始输出接近,从而实现自适应的更新。

下面对神经网络中的前向传播和反向传播的过程进行举例说明:例如,一个神经网络的网络层包括三层,第一层是输入层,包含两个神经元i1,i2,和截距项b1;第二层是隐含层,包含两个神经元h1,h2,和截距项b2,第三层是输出o1,o2,以wi表示层与层之间连接的权重(具体的,w1表示i1与h1的权重,w2表示i1与h2的权重,w3表示i2与h1的权重,w4表示i2与h2的权重,w5表示h1与o1的权重,w6表示h1与o2的权重,w7表示h2与o1的权重,w8表示h2与o2的权重),这里的激活函数为sigmoid函数。赋初值如下:

输入数据i1=0.05,i2=0.10;

输出数据o1=0.01,o2=0.99;

初始权重:w1=0.15,w2=0.20,w3=0.25,w4=0.30;

w5=0.40,w6=0.45,w7=0.50,w8=0.55

目标(target):给出输入数据i1,i2(0.05和0.10),使输出结果尽可能与原始输出(output)o1,o2(0.01和0.99)接近。

通过激活函数得到前向传播的输出值为[0.75136079,0.772928465],与实际值[0.01,0.99]存在误差,且相差还很远,因此对误差进行反向传播,更新权值,再次利用前向传播重新计算输出,以更新输出结果。不断迭代,得到优化的输出结果。

反向传播的具体过程:首先利用如下公式计算总误差E(total);

需要指出的是,该例子中有两个输出,所以分别计算o1和o2的误差,总误差为两者之和;接着利用链式法则用整体误差对每个权值求导(此处仅用于说明反向传播的思想,实际处理时,本实施例中采用的是特殊的池化算子),分别更新输出层的权值(w5-w8),然后更新隐含层的权值(w1-w4);最后把更新的权值重新计算,不停地迭代,即不断进行前向传播和反向传播的过程,最终得到一个比较好的输出结果。在该例子中第一次迭代之后,总误差E(total)由0.298371109下降至0.291027924。迭代10000次后,总误差为0.000035085,输出为[0.015912196,0.984065734]与原始输出[0.01,0.99]接近,达到更新的目的。

特殊的ROIPooling算子如下:

所述人脸上下文区域的坐标为:

通过以下算式对该人脸上下文区域的坐标进行求导,更新人脸上下文区域的坐标:

其中,F为特征图,u和v分别为特征图的任意一点的横坐标和纵坐标,Froi为人脸上下文区域,u’和v’分别为人脸上下文区域的任意一点的横坐标和纵坐标,x和y分别为人脸上下文区域左上角的横坐标和纵坐标,w和h分别为人脸上下文区域的宽度和长度,w’和h’分别为池化算子的池化区的宽度和长度,κ(·)=max(0,1-|·|)。

步骤S104:根据更新后的人脸上下文区域,对上述神经网络进行反传损失,更新神经网络的参数。

在进行训练时,在Fast-RCNN神经网络输入带人脸位置标注的图片进行卷积处理和池化处理,以得到上述人脸图像的特征图。图片上设置有带人脸位置标注的目的是为了将更新后的所述人脸上下文区域与该标注进行比对,以区分更新前的人脸图像的特征图和更新后的人脸上下文区域的差别,根据上述差别对神经网络进行反传损失,更新上述神经网络的参数,达到训练的目的。

本发明实施例提供的神经网络训练方法,增加了人脸初步区域上下文信息估计以及对人脸上下文区域求导的训练过程,可以无监督的学习感兴趣区域ROI。该神经网络训练方法的神经网络用于人脸检测时,首先对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;然后,对人脸初步区域进行上下文信息估计,获得人脸上下文区域;接下来,通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域;最后,根据更新后的人脸上下文区域,对神经网络进行反传损失,更新神经网络的参数。因此,本发明实施例提供的神经网络训练方法,特别适用于人脸检测,即基于神经网络通过池化算子对人脸上下文区域求导,可以无监督的进行深度学习,进而自适应地定义上下文信息。通过该方法,能够结合人脸检测自身特征进行自适应的定义上下文信息,减少了人为先验对上下文定义的偏差。进而提高人脸对于遮挡,模糊等场景下的性能,提高了对人脸检测的精度。

如图3所示,本发明实施例提供的人脸检测方法,可用于人脸检测过程,该人脸检测方法包括以下步骤:

步骤S201:对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域。

步骤S202:利用上述神经网络对人脸初步区域进行上下文信息估计,获得人脸上下文区域。

其中,该神经网络可以是上述经过训练的Fast-RCNN神经网络,也可以是其他经过上述训练方法进行训练的深度神经网络。

步骤S203:通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域。

本发明实施例提供的人脸检测方法,通过设计一种ROI池化层(采用ROI池化算子)进行ROI池化操作,能够对人脸上下文区域求导,达到更新人脸上下文区域,可以无监督的进行深度学习,进而自适应地定义上下文信息。因此,本实施例中提供的人脸检测方法,首先对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域;然后利用上述神经网络对所述人脸初步区域进行上下文信息估计,获得人脸上下文区域;最后通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域。通过该方法,能够结合人脸检测自身特征进行自适应的定义上下文信息,减少了人为先验对上下文定义的偏差。进而提高人脸对于遮挡,模糊等场景下的性能,提高了对人脸检测的精度。

实施例三:

根据本发明实施例,提供了一种神经网络训练方法以及人脸检测方法的更为详细的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图4为本发明实施例提供的神经网络训练方法的示意图,用于人脸图像区域检测的训练过程,该神经网络训练方法包括如下步骤:

步骤S301:对人脸图像进行卷积处理及池化处理,获得人脸图像的特征图。

具体的,在进行训练时,在Fast-RCNN神经网络输入带人脸位置标注的图片进行卷积处理和池化处理,以得到上述人脸图像的特征图。图片上设置有带人脸位置标注的目的是为了将更新后的所述人脸上下文区域与该标注进行比对,从而对神经网络进行反传损失,达到训练的目的。

步骤S302:对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域。

步骤S303:对人脸初步区域进行上下文信息估计,获得人脸上下文区域。

步骤S304:通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域。

在具体实施的时候,该步骤S304通过以下步骤执行:

1)利用符号函数对上述人脸上下文区域的坐标求导,更新人脸上下文区域。

上述人脸上下文区域的坐标如下:

通过以下算式对所述人脸上下文区域的坐标进行求导,更新人脸上下文区域:

式中,F为特征图,u和v分别为特征图的任意一点的横坐标和纵坐标,Froi为人脸上下文区域,u’和v’分别为人脸上下文区域的任意一点的横坐标和纵坐标,x和y分别为人脸上下文区域左上角的横坐标和纵坐标,w和h分别为人脸上下文区域的宽度和长度,w’和h’分别为池化算子的池化区的宽度和长度,κ(·)=max(0,1-|·|)。

步骤S305:根据更新后的人脸上下文区域,对上述神经网络进行反传损失,更新上述神经网络的参数。

如图5所示,本发明实施例提供的人脸检测方法包括以下步骤:

步骤S401:对人脸图像进行卷积处理及池化处理,获得人脸图像的特征图。

步骤S402:对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域。

步骤S403:利用上述神经网络对人脸初步区域进行上下文信息估计,获得人脸上下文区域。

步骤S404:通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域。

步骤S405:利用推断网络,对更新后的人脸上下文区域进行人脸检测,获得最终人脸区域。

其中,将更新后的人脸上下文区域(roi_context)送入经过训练后的Fast-RCNN神经网络模型的推断网络(inference network),利用推断网络,对更新后的人脸上下文区域进行人脸检测,以获得最终人脸区域。

步骤S406:根据更新后的人脸上下文区域,对上述神经网络进行反传损失。

实施例四:

本发明实施例还提供一种人脸检测装置,该人脸检测装置主要用于执行本发明实施例上述内容所提供的人脸检测方法,以下对本发明实施例提供的人脸图像的获取装置做具体介绍。

如图6所示,该人脸检测装置主要包括:处理模块510、估计模块520和更新模块530。

处理模块510用于对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域。

估计模块520用于利用神经网络对所述人脸初步区域进行上下文信息估计,获得人脸上下文区域。

更新模块530用于通过池化算子对所述人脸上下文区域求导,更新所述人脸上下文区域。本实施例中的更新模块510具体用于:

利用符号函数对所述人脸上下文区域的坐标求导,更新所述人脸上下文区域。

其中,所述人脸上下文区域的坐标为

通过以下算式对所述人脸上下文区域的坐标进行求导,更新所述人脸上下文区域的坐标:

上式中,F为特征图,u和v分别为特征图的任意一点的横坐标和纵坐标,Froi为人脸上下文区域,u’和v’分别为人脸上下文区域的任意一点的横坐标和纵坐标,x和y分别为人脸上下文区域左上角的横坐标和纵坐标,w和h分别为人脸上下文区域的宽度和长度,w’和h’分别为池化算子的池化区的宽度和长度,κ(·)=max(0,1-|·|)。

进一步的是,本发明实施例提供的人脸检测装置还包括检测模块540,用于利用推断网络,对更新所述人脸上下文区域进行人脸检测,获得最终人脸区域。

进一步的是,该人脸检测装置还包括计算模块500,用于对人脸图像进行卷积处理及池化处理,获得人脸图像的特征图。在计算模块500通过卷积处理和池化处理,获得了人脸图像的特征图之后,处理模块510可以对人脸图像的特征图进行感兴趣区域处理,获得人脸初步区域,从而方便神经网络对人脸初步区域进行上下文估计得到人脸上下文区域。

下面结合图7对本发明实施例提供的人脸检测装置的应用场景作一简要说明:

通过RPN(Region Proposal Network,区域生成网络)对人脸图像的特征图A进行感兴趣区域ROI处理,获得人脸初步位置,得到ROI图像B,且对Fast-RCNN神经网络进行反传损失,输出RPN Loss日志。

这里以一个人脸初步位置(roi)为例进行说明:

得到ROI图像B后,可以通过以下方式执行:

方式一:首先,利用经过训练的Fast-RCNN神经网络对ROI图像B进行上下文信息估计,获得人脸上下文位置,得到roi_context图像C。

然后,通过池化算子对人脸上下文区域的坐标求导,更新人脸上下文区域。

最后,利用推断网络(Inference Network),对更新后的人脸上下文区域进行人脸检测,获得最终人脸位置,得到图像D并输出。

方式二:首先,利用池化算子对ROI图像B进行求导。需要指出的是,这里的池化算子可以是与方式一的池化算子相同,即采用符号函数对ROI图像B的起始位置x和y以及长宽h和w,其中,x和y分别为ROI图像B(人脸初始位置)左上角的横坐标和纵坐标,w和h分别为ROI图像B的宽度和长度;也可以是普通的池化算子,即采用普通的ROIPooling算子(该普通的ROIPooling算子不能够对rois_context求导)对ROI图像B进行求导。

然后利用推断网络(Inference Network)对池化操作后的ROI图像B进行人脸检测,获得最终人脸位置。

本发明实施例提供的人脸检测装置,与上述实施例提供的人脸检测方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

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

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

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

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

本发明实施例所提供的进行神经网络训练方法、人脸检测方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号