基于神经网络的人脸检测模型的训练、人脸检测方法及系统与流程

文档序号:12178014阅读:411来源:国知局
基于神经网络的人脸检测模型的训练、人脸检测方法及系统与流程

本发明涉及图像处理技术领域,特别是涉及一种基于神经网络的人脸检测模型的训练、人脸检测方法及系统。



背景技术:

人脸检测其主要任务是判断给定的人脸图像上是否存在人脸,如果存在人脸,则给出人脸所处的位置和大小。人脸检测的通常采用的流程主要包含以下三步:(1)从图像上选择一个矩形区域作为一个观察窗口;(2)对观察窗口提取特征,用于描述其包含的内容;(3)进行分类判别,判断这个窗口是否包含一张人脸。通过不断的重复上述三个步骤,直到遍历完人脸图像上所有的观察窗口。如果有观察窗口被判别为包含人脸,则该窗口的位置和大小即可为检测到的人脸的位置和大小;反之,如果所有窗口都不包含人脸,则认为给定的人脸图像不存在人脸。

目前普遍采用的人脸检测器都是基于Paul Viola和Michael Jones于2001年设计Viola-Jones人脸检测器;首先,使用Haar特征构建积分图从而实现特征的快速计算;其次,使用有效的特征分类器方法,例如,AdaBoost算法;最后,通过级联的方式对窗口进行由粗到细的判别。由于人脸的非刚性的属性结构,加上外部环境复杂多变,因此人脸检测技术存在误检高,人脸检出率低等问题。针对这一问题,后续大量的工作对Viola-Jones人脸检测器进行了改进,例如,选用描述能力更强的特征(LBP,HOG),改进分类器算法以及级联结构等,使得人脸检测的性能有所改善。

近年来,随着深度学习的发展,也逐渐出现了一些基于深度神经网络的人脸检测方法,例如,CascadeCNN,Faceness,Faster RCNN等,相比传统的人脸检测方法,深度神经网络提取的特征具有更强的鲁棒性和描述能力,因此具有较高的检测率和较低的误检。

虽然目前人脸检测器已经取得了长足的进展,但仍存在以下几个方面的问题:

(1)目前大部分人脸检测器都采用滑动窗口方式进行选择观察窗口,因此遍历完一张人脸图像,需要对大量的观察窗口进行计算判别,因此计算量较大;并且针对人脸图像中不同大小的人脸,需要构建图像金字塔,或者采用不同尺度的观察窗,人脸检测速度较慢。

(2)大部分的人脸检测算法都步骤较多,每个步骤都相对独立,其中任何一个步骤出现问题,都会影响最终的人脸检测结果。

(3)基于深度学习的人脸检测方法,虽然效果较好,但需要对输入人脸图像缩放到固定大小,造成图像中的人脸拉伸、扭曲、变形等,影响最终的人脸检测结果。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于神经网络的人脸检测模型的训练、人脸检测方法及系统,能够实现人脸的多尺度检测。

为实现上述目的及其他相关目的,本发明提供一种基于神经网络的人脸检测模型的训练方法,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述方法还包括:

接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练;

通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度;

根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数;

计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框;

重复迭代训练直至调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,输出人脸检测模型。

优选地,所述通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,包括:

按照以下公式计算出预测人脸框相对于对应的默认人脸框的偏置信息:

tx=(x-xa)/wa,ty=(y-ya)/ha

tw=log(w/wa),th=log(h/ha)

其中,(x,y,w,h)为预测人脸框的中心点坐标、宽和高;(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为所述预测人脸框相对于对应的默认人脸框的偏置信息;

所述计算出真实人脸框相对于对应的默认人脸框的偏置信息,包括:

根据每个默认人脸框与对应的真实人脸框,按照以下公式计算所述真实人脸框相对于对应的默认人脸框的偏置信息:

其中,(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(x*,y*,w*,h*)为真实人脸框的中心点坐标、宽和高;为所述真实人脸框相对于对应的默认人脸框的偏置信息。

优选地,所述根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数,包括:

选取所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为采样默认人脸框;其中,所述相对面积为默认人脸框与真实人脸框的相交区域的面积除以默认人脸框与真实人脸框的并集区域的面积;

根据预测人脸框相对于对应的采样默认人脸框的偏置信息,以及所述真实人脸框相对于对应的采样默认人脸框的偏置信息,按照以下公式计算预测人脸框偏置的网络层的损失函数:

其中,Nreg为采样默认人脸框的数量,T=tx,ty,tw,th为预测人脸框相对于对应的采样默认人脸框的偏置信息,为真实人脸框相对于对应的采样默认人脸框的偏置信息;

所述根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数,包括:

将所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为正样本,将所述默认人脸框相对于对应的真实人脸框的相对面积小于或等于预设的第一相对面积阈值时所对应的默认人脸框作为负样本;

按照预设的正负样本比例选取全部正样本及部分负样本;

按照以下公式计算预测人脸框置信度的网络层的损失函数:

Lcls(p,p*)=-[p*log p+(1-p*)log(1-p)]

其中,pi为选取的正样本或负样本包含人脸的置信度,为选取的正样本或负样本包含人脸的真实概率,正样本的为1,负样本的为0,Ncls为选取的正负样本的总数量。

优选地,所述计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,包括:

采用随机梯度下降法计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的梯度;

将得到的梯度值作为所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差。

本发明的另一目的在于提供一种基于神经网络的人脸检测方法,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述方法包括:

接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测;

针对所述待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度;

根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框;

在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,在所述预测人脸框中选取最高置信度所对应的预测人脸框作为最终的人脸检测结果。

优选地,所述根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框,包括:

根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,按照以下公式计算对应的预测人脸框:

x=tx*wa+xa,y=ty*ha+ya

其中,(xa,ya,wa,ha)为每个默认人脸框的中心点坐标、宽和高;(x,y,w,h)为每个默认人脸框对应的预测人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为对应的预测人脸框相对于每个默认人脸框的偏置信息。

优选地,所述针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度之后,所述方法还包括:

过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框;

根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框;

将其余的默认人脸框所对应的预测人脸框作为最终的人脸检测结果。

优选地,所述根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框之后,所述方法还包括:

计算每两个预测人脸框的相对面积;

若每两个预测人脸框的相对面积大于预设的第二相对面积阈值,则将所述两个预测人脸框作为采样预测人脸框;其中,所述相对面积为两个预测人脸框的相交区域的面积除以两个预测人脸框的并集区域的面积;

在所述采样预测人脸框中选取大于预设的置信度阈值的置信度所对应的采样预测人脸框作为最终的人脸检测结果,或者,在所述采样预测人脸框中选取最高置信度所对应的采样预测人脸框作为最终的人脸检测结果。

本发明的另一目的在于提供一种基于神经网络的人脸检测模型的训练系统,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述系统包括:输入模块、第一计算模块、第二计算模块、第三计算模块、反馈及更新模块、迭代输出模块;其中,

所述输入模块,用于接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练;

所述第一计算模块,用于通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度;

所述第二计算模块,用于根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数;

所述第三计算模块,用于计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差;

所述反馈及更新模块,用于将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框;

所述迭代输出模块,用于重复迭代训练直至调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,输出人脸检测模型。

本发明的另一目的在于提供一种基于神经网络的人脸检测系统,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述系统包括:输入模块、输出模块、计算模块、选取模块;其中,

所述输入模块,用于接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测;

所述输出模块,用于针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度;

所述计算模块,用于根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框;

所述选取模块,用于在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,在所述预测人脸框中选取最高置信度所对应的预测人脸框作为最终的人脸检测结果。

如上所述,本发明的基于神经网络的人脸检测模型的训练、人脸检测方法及系统,相对于现有技术具有以下有益效果:

(1)本发明实施例中,不需要采用滑动窗口方式进行选择观察窗口,也不需要构建图像构建金字塔或者使用多尺度的观察窗口以及对大量的观察窗口进行计算判别,而是根据神经网络中不同网络层对应原始人脸图像中不同大小的感受野选取用于人脸检测的网络层,其中,网络层数越高对应于原始人脸图像的感受野越大,网络层数越低对应于原始人脸图像的感受野越小,直接通过人脸检测的网络层进行人脸检测,相对于现有技术计算量较小,且可以选取低层网络层用于检测小尺寸的人脸,高层网络层用于检测大尺寸的人脸,实现人脸的多尺度检测及偏置回归,使预测人脸框能更好地包含人脸,相对于现有技术本发明实施例人脸检测更准确且人脸检测速度更快。

(2)本发明实施例中,模型训练直接采用端到端方式,输入训练集中的人脸图像直接输出对应的预测人脸框的位置和大小,相对现有多步骤方法更加简便快捷;并且,由于采用端到端的训练模式,根据所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差直接对神经网络的网络权重参数进行反馈调节,以使预测人脸框和真实人脸框更加接近,从而使得预测人脸框更加精确的包含人脸;因此,相对于现有技术中基于多个独立子步骤方法具有更高的检测率。

(3)本发明实施例中,不需要对输入人脸图像进行缩放,而是直接将训练集中的人脸图像输入神经网络中训练人脸检测模型,以及直接将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测,这样能够避免人脸图像拉伸、扭曲、变形等因素对人脸检测结果的影响。

附图说明

图1显示为本发明实施例中的基于神经网络的人脸检测模型的训练方法的实现流程图;

图2显示为本发明实施例中的基于神经网络的人脸检测方法的实现流程图;

图3显示为本发明实施例中的基于神经网络的人脸检测模型的训练系统的组成结构示意图;

图4显示为本发明实施例中的基于神经网络的人脸检测系统的组成结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

请参阅附图。需要说明的是,本发明实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明实施例中,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层。

其中,由于VGG-16是目前比较流行的全卷积神经网络结构,具有良好的抽象特征的表达能力,在物体分类和目标识别中,例如,ImageNet竞赛,人脸识别等领域,取得良好的效果,因此选取VGG-16作为全卷积神经网络的基本网络结构。VGG-16全卷积神经网络结构的网络参数配置信息如表1所示:

表1

其中,由于不同大小的感受野有利于检测不同尺度的人脸图像,因此可以根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取网络层作为人脸检测的网络层;这里,可以根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野,选取所述神经网络中的conv3_3,conv4_3,conv5_3这三个网络层用于多尺度人脸检测,conv3_3,conv4_3,conv5_3这三个网络层对应训练集中的人脸图像的感受野如表2所示:

表2

其中,可以在每一层人脸检测的网络层的后面额外添加一层用于预测人脸框偏置的网络层及一层用于预测人脸框置信度的网络层;即:每一层人脸检测的网络层同时连接一层用于预测人脸框偏置的网络层及一层用于预测人脸框置信度的网络层,用于预测人脸框偏置的网络层及用于预测人脸框置信度的网络层是并行的。

其中,针对于conv3_3,conv4_3,conv5_3这三个网络层的每个胞元(feature map cell)分别绑定六个默认人脸框,可以根据conv3_3,conv4_3,conv5_3这三个网络层每层的规模设置每层中的每个胞元绑定的六个默认人脸框的尺寸,每层的规模及默认人脸框的建议尺寸如表3所示:

表3

下面结合附图及具体实施例对本发明做进一步详细的说明。

本发明实施例提出了一种基于神经网络的人脸检测模型的训练方法,如图1所示,该方法包括:

步骤S100:接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练。

本步骤中,可以使用所述神经网络VGG-16在ImageNet图像库(1000个类别,共120万张训练图像)上训练的人脸检测模型,作为初始化人脸检测模型;然后使用CelebFaces图像库(202599张图像,每张图像包含一张人脸)和AFLW图像库(21080张图片,共包含24,386张人脸)这两个图像库库进行人脸检测模型的训练,也可以对训练图像数据进行扩充,例如,缩放,加模糊噪声,对比度变化等,以丰富训练样本。

步骤S101:通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度。

本步骤中,每个默认人脸框对应一个预测人脸框及一个真实人脸框,即:默认人脸框、预测人脸框及真实人脸框是一一对应关系。

本步骤中,按照如下公式计算输出预测人脸框相对于对应的默认人脸框的偏置信息(tx,ty,tw,th):

tx=(x-xa)/wa,ty=(y-ya)/ha

tw=log(w/wa),th=log(h/ha)

其中,(x,y,w,h)为预测人脸框的中心点坐标、宽和高;(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为所述预测人脸框相对于对应的默认人脸框的偏置信息;

所述计算出真实人脸框相对于对应的默认人脸框的偏置信息,包括:

按照以下公式计算所述真实人脸框相对于对应的默认人脸框的偏置信息:

其中,(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(x*,y*,w*,h*)为真实人脸框的中心点坐标、宽和高;为所述真实人脸框相对于对应的默认人脸框的偏置信息。

步骤S102:根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数。

本步骤中,可以仅选取默认人脸框相对真实人脸框的相对面积IOU大于预设的第一相对面积阈值的默认人脸框所对应的偏置信息用于回归计算,预测人脸框回归的损失函数计算如下:

首先选取所述默认人脸框相对于对应的真实人脸框的相对面积IOU大于预设的第一相对面积阈值时所对应的默认人脸框作为采样默认人脸框;其中,所述相对面积为默认人脸框与真实人脸框的相交区域的面积除以默认人脸框与真实人脸框的并集区域的面积;

根据预测人脸框相对于对应的采样默认人脸框的偏置信息,以及所述真实人脸框相对于对应的采样默认人脸框的偏置信息,按照以下公式计算预测人脸框偏置的网络层的损失函数:

其中,Nreg为采样默认人脸框的数量,T=tx,ty,tw,th为预测人脸框相对于对应的采样默认人脸框的偏置信息,为真实人脸框相对于对应的采样默认人脸框的偏置信息;

然后,将所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为正样本,将所述默认人脸框相对于对应的真实人脸框的相对面积小于或等于预设的第一相对面积阈值时所对应的默认人脸框作为负样本;

按照预设的正负样本比例选取全部正样本及部分负样本;

按照以下公式计算预测人脸框置信度的网络层的损失函数:

Lcls(p,p*)=-[p*log p+(1-p*)log(1-p)]

其中,pi为选取的正样本或负样本包含人脸的置信度,为选取的正样本或负样本包含人脸的真实概率,正样本的为1,负样本的为0,Ncls为选取的正负样本的总数量。

本发明实施例中,预设的第一相对面积阈值可以根据实际要求进行设置,这里对预设的第一相对面积阈值不作具体限定,优选地,预设的第一相对面积阈值为0.5。对于人脸分类置信度的计算,由于人脸检测中大部分默认人脸框与对应的真实人脸框的相对面积IOU小于0.5,因此存在负样本的数量会远远高于正样本的现象,因此,为了均衡正负样本,以避免正负样本不均衡造成人脸模型误解或者漏检问题,可以使用正负样本比例为1:3进行人脸分类置信度计算,其中,负样本选取置信度较高的部分用于人脸检测模型的训练。

最终,可以将上述两个损失函数进行融合得到如下总的损失函数:

Loss=Loss1+λLoss2

其中,λ用于均衡两个损失函数,默认设为1。

需要说明的是:λ可以根据实际需求进行设置。

步骤S103:计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框。

本步骤中,可以采用随机梯度下降法计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的梯度;将得到的梯度值作为所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差。

本步骤中,网络权重参数更新的公式如下:

其中,为第l层的参数经过i次迭代后的权值,为第i+1次迭代更新后的权值,使用均值为0方差为1的高斯分布初始化,α为学习率,m为动量,λ为权重衰减系数。

本步骤中,采用随机梯度下降法进行梯度反馈更新,需要预先设置学习网络权重参数时使用的参数,使用的参数包括:初始化学习率、动量、权重衰减;其中,初始化学习率设为0.001,初始化动量设为0.9,初始化权重衰减设置为0.0005。

步骤S104:判断调整后的预测人脸框与真实人脸框的误差是否在预设的误差范围之内;若调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,则输出人脸检测模型,结束本次处理;若调整后的预测人脸框与真实人脸框的误差未在预设的误差范围之内,则转入步骤S101根据调整后的预测人脸框继续执行。

本步骤中,预设的误差范围可以根据实际需求进行设置,以调整后的预测人脸框迭代收敛于真实人脸框为原则,即:更新所述神经网络的权重参数,以使预测人脸框收敛于真实人脸框,通常经过360000次迭代后即可收敛。

本发明实施例提出了一种基于神经网络的人脸检测方法,如图2所示,该方法包括:

步骤S200:接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测。

本步骤中,训练好的人脸检测模型是采用步骤S100~S104重复迭代训练直至调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内时获得的人脸检测模型。

步骤S201:针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度。

本步骤中,默认人脸框包含人脸的置信度,即:默认人脸框包含的区域属于背景或人脸的概率。

步骤S202:根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框。

具体地,根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,按照以下公式计算对应的预测人脸框:

x=tx*wa+xa,y=ty*ha+ya

其中,(xa,ya,wa,ha)为每个默认人脸框的中心点坐标、宽和高;(x,y,w,h)为每个默认人脸框对应的预测人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为对应的预测人脸框相对于每个默认人脸框的偏置信息。

步骤S203:在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,选取最高置信度对应的预测人脸框作为最终的人脸检测结果。

本步骤中,由于默认人脸框与预测人脸框是一一对应关系,因此,大于预设的置信度阈值的置信度或最高置信度所对应的预测人脸框,即为置信度大于预设的置信度阈值的默认人脸框或置信度最高的默认人脸框所对应的预测人脸框。

本步骤中,所述置信度阈值可以根据实际需求预设,这里对置信度阈值不作具体限定。

在本发明的一种优选实施方式中,所述针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度之后,为减少计算预测人脸框的计算量,还包括:

首先过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框;

然后根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框;

最终将其余的默认人脸框所对应的预测人脸框作为最终的人脸检测结果。

在本发明的一种优选实施方式中,在计算对应的预测人脸框之前,先过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框,然后根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框,这样能够减少计算预测人脸框的计算量,从而提高计算的速度,缩减计算时间。

在本发明的另一种优选实施方式中,由于一个人脸可能对应多个重叠的预测人脸框,存在大量冗余,可以使用非最大值抑制方法去除冗余重复的人脸框,具体地,去除每两个预测人脸框的相对面积IOU大于预设的第二相对面积阈值的预测人脸框,仅保留每两个预测人脸框的相对面积IOU较高的预测人脸框,因此,根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框之后,还包括:

计算每两个预测人脸框的相对面积;

若每两个预测人脸框的相对面积大于预设的第二相对面积阈值,则将所述两个预测人脸框作为采样预测人脸框;其中,所述相对面积为两个预测人脸框的相交区域的面积除以两个预测人脸框的并集区域的面积;

在所述采样预测人脸框中选取大于预设的置信度阈值的置信度所对应的采样预测人脸框作为最终的人脸检测结果,或者,在所述采样预测人脸框中选取最高置信度对应的采样预测人脸框作为最终的人脸检测结果。

在本发明的另一种优选实施方式中,针对预测人脸框计算每两个预测人脸框彼此的相对面积,如果彼此相对面积大于预设的第二相对面积阈值,则认为这两个预测人脸框包含同一张人脸,因此,若每两个预测人脸框的相对面积大于预设的第二相对面积阈值,则将所述两个预测人脸框作为采样预测人脸框,在所述采样预测人脸框中,选取大于预设的置信度阈值的置信度所对应的采样预测人脸框作为最终的人脸检测结果,或者,选取最高置信度对应的预测人脸框作为最终的人脸检测结果,以使最终的人脸检测结果更好地包含人脸。

其中,第二相对面积阈值可以根据实际需求进行预设,这里对第二相对面积阈值不作具体限定,优选地,所述第二相对面积阈值预设为0.3。

为实现上述方法,本发明实施例提供了一种基于神经网络的人脸检测模型的训练系统,由于该系统解决问题的原理与方法相似,因此,系统的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。

本发明实施例提出了一种基于神经网络的人脸检测模型的训练系统,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;如图3所示,该系统包括:输入模块300、第一计算模块301、第二计算模块302、第三计算模块303、反馈及更新模块304、迭代输出模块305;其中,

所述输入模块300,用于接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练;

所述第一计算模块301,用于通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度;

所述第二计算模块302,用于根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数;

所述第三计算模块303,用于计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差;

所述反馈及更新模块304,用于将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框;

所述迭代输出模块305,用于重复迭代训练直至调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,输出人脸检测模型。

具体实施中,所述第一计算模块301具体用于:

按照以下公式计算出预测人脸框相对于对应的默认人脸框的偏置信息:

tx=(x-xa)/wa,ty=(y-ya)/ha

tw=log(w/wa),th=log(h/ha)

其中,(x,y,w,h)为预测人脸框的中心点坐标、宽和高;(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为所述预测人脸框相对于对应的默认人脸框的偏置信息;

按照以下公式计算出所述真实人脸框相对于对应的默认人脸框的偏置信息:

其中,(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(x*,y*,w*,h*)为真实人脸框的中心点坐标、宽和高;为所述真实人脸框相对于对应的默认人脸框的偏置信息。

具体实施中,所述第二计算模块302具体用于:

选取所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为采样默认人脸框;其中,所述相对面积为默认人脸框与真实人脸框的相交区域的面积除以默认人脸框与真实人脸框的并集区域的面积;

根据预测人脸框相对于对应的采样默认人脸框的偏置信息,以及所述真实人脸框相对于对应的采样默认人脸框的偏置信息,按照以下公式计算预测人脸框偏置的网络层的损失函数:

其中,Nreg为采样默认人脸框的数量,T=tx,ty,tw,th为预测人脸框相对于对应的采样默认人脸框的偏置信息,为真实人脸框相对于对应的采样默认人脸框的偏置信息;

所述根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数,包括:

将所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为正样本,将所述默认人脸框相对于对应的真实人脸框的相对面积小于或等于预设的第一相对面积阈值时所对应的默认人脸框作为负样本;

按照预设的正负样本比例选取全部正样本及部分负样本;

按照以下公式计算预测人脸框置信度的网络层的损失函数:

Lcls(p,p*)=-[p*log p+(1-p*)log(1-p)]

其中,pi为选取的正样本或负样本包含人脸的置信度,为选取的正样本或负样本包含人脸的真实概率,正样本的为1,负样本的为0,Ncls为选取的正负样本的总数量。

具体实施中,所述第三计算模块303具体用于:

采用随机梯度下降法计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的梯度;

将得到的梯度值作为所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差。

以上功能模块的划分方式仅为本发明实施例给出的一种优选实现方式,功能模块的划分方式不构成对本发明的限制。为了描述的方便,以上所述系统的各部分以功能分为各种模块或单元分别描述。该系统可以是分布式系统或集中式系统,若为分布式系统,则上述功能模块可分别由硬件设备实现,各硬件设备之间通过通信网络交互;若是集中式系统,则上述各功能模块可集成在一个硬件设备中。

在实际应用中,当所述输入模块300、第一计算模块301、第二计算模块302、第三计算模块303、反馈及更新模块304、迭代输出模块305集成于一个硬件设备中时,所述输入模块300、第一计算模块301、第二计算模块302、第三计算模块303、反馈及更新模块304、迭代输出模块305可由位于该硬件设备中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)实现。

为实现上述方法,本发明实施例还提供了一种基于神经网络的人脸检测系统,由于该系统解决问题的原理与方法相似,因此,系统的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。

本发明实施例提出了一种基于神经网络的人脸检测系统,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;如图4所示,该系统包括:输入模块400、输出模块401、计算模块402、选取模块403;其中,

所述输入模块400,用于接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测;

所述输出模块401,用于针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息及每个默认人脸框包含人脸的置信度;

所述计算模块402,用于根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框;

所述选取模块403,用于在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,在所述预测人脸框中选取最高置信度所对应的预测人脸框作为最终的人脸检测结果。

具体实施中,所述计算模块402具体用于:

根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,按照以下公式计算对应的预测人脸框:

x=tx*wa+xa,y=ty*ha+ya

其中,(xa,ya,wa,ha)为每个默认人脸框的中心点坐标、宽和高;(x,y,w,h)为每个默认人脸框对应的预测人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为对应的预测人脸框相对于每个默认人脸框的偏置信息。

进一步地,所述系统还包括:

过滤模块404,用于过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框;

所述计算模块402,还用于根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框;

所述选取模块403,还用于将其余的默认人脸框所对应的预测人脸框作为最终的人脸检测结果。

进一步地,所述系统还包括:

判断模块405,用于计算每两个预测人脸框的相对面积,在每两个预测人脸框的相对面积大于预设的第二相对面积阈值时,将所述两个预测人脸框作为采样预测人脸框;其中,所述相对面积为两个预测人脸框的相交区域的面积除以两个预测人脸框的并集区域的面积;

所述选取模块403,还用于在所述采样预测人脸框中选取大于预设的置信度阈值的置信度所对应的采样预测人脸框作为最终的人脸检测结果,或者,在所述采样预测人脸框中选取最高置信度所对应的采样预测人脸框作为最终的人脸检测结果。

以上功能模块的划分方式仅为本发明实施例给出的一种优选实现方式,功能模块的划分方式不构成对本发明的限制。为了描述的方便,以上所述系统的各部分以功能分为各种模块或单元分别描述。该系统可以是分布式系统或集中式系统,若为分布式系统,则上述功能模块可分别由硬件设备实现,各硬件设备之间通过通信网络交互;若是集中式系统,则上述各功能模块可集成在一个硬件设备中。

在实际应用中,当所述输入模块400、输出模块401、计算模块402、选取模块403、过滤模块404、判断模块405集成于一个硬件设备中时,所述输入模块400、输出模块401、计算模块402、选取模块403、过滤模块404、判断模块405可由位于该硬件设备中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)实现。

为了更清楚地对本发明实施例进行说明,下面以具体实施例对基于神经网络的人脸检测模型的训练流程及检测流程进行详细描述。

实施例一

步骤S1:接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练。

步骤S2:通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度。

步骤S3:根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数。

步骤S4:计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框。

步骤S5:判断调整后的预测人脸框与真实人脸框的误差是否在预设的误差范围之内;若调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,则输出人脸检测模型;若调整后的预测人脸框与真实人脸框的误差未在预设的误差范围之内,则转入步骤S1根据调整后的预测人脸框继续执行。

步骤S6:接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测。

步骤S7:针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度。

步骤S8:根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框。

步骤S9:在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,在所述预测人脸框中选取最高置信度对应的预测人脸框作为最终的人脸检测结果。

实施例二

步骤S1:接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练。

步骤S2:通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度。

步骤S3:根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数。

步骤S4:计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框。

步骤S5:判断调整后的预测人脸框与真实人脸框的误差是否在预设的误差范围之内;若调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,则输出人脸检测模型;若调整后的预测人脸框与真实人脸框的误差未在预设的误差范围之内,则转入步骤S1根据调整后的预测人脸框继续执行。

步骤S6:接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测。

步骤S7:针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度。

步骤S8:过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框。

步骤S9:根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框。

步骤S10:将其余的默认人脸框所对应的预测人脸框作为最终的人脸检测结果。

实施例三

步骤S1:接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练。

步骤S2:通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度。

步骤S3:根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数。

步骤S4:计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框。

步骤S5:判断调整后的预测人脸框与真实人脸框的误差是否在预设的误差范围之内;若调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,则输出人脸检测模型;若调整后的预测人脸框与真实人脸框的误差未在预设的误差范围之内,则转入步骤S1根据调整后的预测人脸框继续执行。

步骤S6:接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测。

步骤S7:针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度。

步骤S8:根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框。

步骤S9:计算每两个预测人脸框的相对面积;若每两个预测人脸框的相对面积大于预设的第二相对面积阈值,则将所述两个预测人脸框作为采样预测人脸框。

步骤S10:在所述采样预测人脸框中选取大于预设的置信度阈值的置信度所对应的采样预测人脸框作为最终的人脸检测结果,或者,在所述采样预测人脸框中选取最高置信度对应的预测人脸框作为最终的人脸检测结果。

实施例四

步骤S1:接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练。

步骤S2:通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度。

步骤S3:根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数。

步骤S4:计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框。

步骤S5:判断调整后的预测人脸框与真实人脸框的误差是否在预设的误差范围之内;若调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,则输出人脸检测模型;若调整后的预测人脸框与真实人脸框的误差未在预设的误差范围之内,则转入步骤S1根据调整后的预测人脸框继续执行。

步骤S6:接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测。

步骤S7:针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度。

步骤S8:过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框。

步骤S9:根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框。

步骤S10:计算每两个预测人脸框的相对面积;若每两个预测人脸框的相对面积大于预设的第二相对面积阈值,则将所述两个预测人脸框作为采样预测人脸框;

步骤S11:将采样预测人脸框作为最终的人脸检测结果,或者,在所述采样预测人脸框中选取最高置信度对应的采样预测人脸框作为最终的人脸检测结果。

综上所述,本发明的基于神经网络的人脸检测模型的训练方法及系统、人脸检测方法及系统,相对于现有技术具有以下有益效果:

(1)本发明实施例中,不需要采用滑动窗口方式进行选择观察窗口,也不需要构建图像构建金字塔或者使用多尺度的观察窗口以及对大量的观察窗口进行计算判别,而是根据神经网络中不同网络层对应原始人脸图像中不同大小的感受野选取用于人脸检测的网络层,其中,网络层数越高对应于原始人脸图像的感受野越大,网络层数越低对应于原始人脸图像的感受野越小,直接通过人脸检测的网络层进行人脸检测,相对于现有技术计算量较小,且可以选取低层网络层用于检测小尺寸的人脸,高层网络层用于检测大尺寸的人脸,实现人脸的多尺度检测及偏置回归,使预测人脸框能更好地包含人脸,相对于现有技术本发明实施例人脸检测更准确且人脸检测速度更快。

(2)本发明实施例中,模型训练直接采用端到端方式,输入训练集中的人脸图像直接输出对应的预测人脸框的位置和大小,相对现有多步骤方法更加简便快捷;并且,由于采用端到端的训练模式,根据所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差直接对神经网络的网络权重参数进行反馈调节,以使预测人脸框和真实人脸框更加接近,从而使得预测人脸框更加精确的包含人脸;因此,相对于现有技术中基于多个独立子步骤方法具有更高的检测率。

(3)本发明实施例中,不需要对输入人脸图像进行缩放,而是直接将训练集中的人脸图像输入神经网络中训练人脸检测模型,以及直接将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测,这样能够避免人脸图像拉伸、扭曲、变形等因素对人脸检测结果的影响。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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