一种基于卷积神经网络的人脸检测方法及装置的制造方法

文档序号:9274912阅读:443来源:国知局
一种基于卷积神经网络的人脸检测方法及装置的制造方法
【技术领域】
[0001] 本发明涉及模式识别、计算机视觉技术领域,特别涉及一种基于卷积神经网络的 人脸检测方法及装置。
【背景技术】
[0002] 人脸检测是计算机视觉中一个非常重要的问题,伴随着一些人脸识别、年龄估计、 性别估计及表情识别等应用需求的增长,人脸检测作为完成这些任务的第一步,获得了越 来越多人的关注。一些传统的方法是使用滑动窗口对人脸进行检测,然后对每个得到的窗 口进行判断,最终检测到人脸的位置。然而这些方法使用了滑动窗口技术,在该环节上会花 费大量的时间,对一些实时性要求很高的应用,并不是特别的适用。

【发明内容】

[0003] 为了解决现有技术存在的问题,本发明的目的是提供一种基于深度卷积神经网络 的人脸检测方法。其利用深度卷积神经网络提取图片中各个像素点的特征信息,通过学习 一个阈值,将特征值进行判断,最后通过一个最小闭包完成人脸检测。该方法避免了滑动窗 口带来的时间消耗,有利于解决很多对实时性要求比较高的人脸应用问题。
[0004] 本发明所提出的一种基于深度卷积神经网络的人脸检测方法,包括以下步骤:
[0005] 步骤S1:将训练集中的所有图片缩放成预定大小的灰度图,并为每个所述图片中 的每个像素点赋予标签信息,所述标签信息用于表示其对应的像素点是否为人脸;
[0006] 步骤S2:建立卷积神经网络,其中,所述卷积神经网络各层依次为输入层、多个卷 积层、多个全连接层和输出层,其中,输入层和最后一层全连接层的神经元个数与所述图片 的大小相同;使用梯度下降法和反向传播算法训练所述卷积神经网络;
[0007] 步骤S3 :将待检测照片输入至训练好的所述卷积神经网络中,得到最后一层的输 出特征值;
[0008] 步骤S4 :将所述最后一层的输出特征值与预定阈值进行比较,以确定所述待测照 片中各像素点是否为人脸区域;
[0009] 步骤S5 :使用最小闭包的方法,根据确定为人脸区域的各像素点检测出人脸的位 置。
[0010] 本发明还提出了一种基于卷积神经网络的人脸检测装置,包括:
[0011] 预处理模块:将训练集中的所有图片缩放成预定大小的灰度图,并为每个所述图 片中的每个像素点赋予标签信息,所述标签信息用于表示其对应的像素点是否为人脸;
[0012] 网络建立模块:建立卷积神经网络,其中,所述卷积神经网络各层依次为输入层、 多个卷积层、多个全连接层和输出层,其中,输入层和最后一层全连接层的神经元个数与所 述图片的大小相同;使用梯度下降法和反向传播算法训练所述卷积神经网络;
[0013] 检测模块:将待检测照片输入至训练好的所述卷积神经网络中,得到最后一层的 输出特征值;
[0014] 比较模块:将所述最后一层的输出特征值与预定阈值进行比较,以确定所述待测 照片中各像素点是否为人脸区域;
[0015] 识别模块:使用最小闭包的方法,根据确定为人脸区域的各像素点检测出人脸的 位置。
[0016] 本发明的有益效果:
[0017] 本发明方法利于深度卷积神经网络回归照片中每个像素点的标签信息,避免了使 用滑动窗口等方法带来的时间方面的消耗,大大提高检测的速度,有利于实现很多对实时 性要求比较高的应用任务;该方法利用了卷积神经网络具有强大的提取特征能力,提取了 图片中各个像素点的特征,保证是人脸检测的正确率。
【附图说明】
[0018] 图1是本发明中基于深度卷积神经网络的人脸检测方法流程图。
[0019] 图2是本发明中训练网络时,输入的照片以及标签信息示意图。
[0020] 图3是本发明中构建的卷积神经网络示意图。
[0021] 图4是利用本发明进行人脸检测的实例示意图。
【具体实施方式】
[0022] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明作进一步的详细说明。
[0023] 本发明提出了一种基于卷积神经网络的人脸检测方法。该方法利用深度卷积神经 网络回归图片中各个像素点的值,避免了滑动窗口所耗费的时间,加快了检测的速度。以下 详细说明本发明设计的关键步骤。
[0024] 图1所示是本发明提出的一种基于深度卷积神经网络的人脸检测方法的流程图。 如图1所示,所述方法包括以下步骤:
[0025] 步骤S1,将训练集中的所有照片缩放成第一预定大小的灰度图,所述灰度图的每 个像素的标签信息根据图片各像素点是否属于人脸分为2类,如图2所示,所述标签信息为 已知信息。其中,所述第一预定大小在100X100~150X150之间,优选为112X112。
[0026] 步骤S2,建立带有第二预定大小的卷积层和第三预定大小的全连接层的卷积神经 网络,其中,所述卷积神经网络的第一层为输入层,之后为所述第二预定大小个卷积层,之 后是所述第三预定大小个全连接层,最后是输出层,且最后一层全连接层的神经元个数与 输入图片维度相同,即为第一预定大小;该卷积神经网络所有权重均随机初始化。其中,所 述第二预定大小在3-7之间,优选为5 ;第三预定大小优选为1-5之间,优选为3。使用梯度 下降法和反向传播算法来优化神经网络中的各个参数。
[0027] 其中,所述卷积层的激活函数优选使用ReLU函数,每个卷积层的步长、卷积子大 小、卷积子的个数均可以自由设置,网络结构如图3所示,图3的文字描述具体见下面实施 例。将所述灰度图作为输入图片,使用梯度下降法和反向传播算法来优化所述卷积神经网 络中的各个参数。每个卷积层的输入与该层权重相乘之后,会得到一个数值,ReLU函数的 原理就是,如果这个数值大于0,那么输出值就保存这个计算值,如果这个计算值小于0,那 么输出值就保存成〇。当然,ReLU函数也可以换成其他的激活函数。
[0028] 所述卷积神经网络的最后一层全连接层优选使用sigmoid激活函数,神经元个数 与图片大小相同;最后一层全连接层的输入与该层权重相乘之后的输出值如果为t,那么 最后一层全连接层的输出为s(t),s(t)如下计算:
[0029]
[0030] 当然,也可以使用其他激活函数。
[0031] 步骤S2中,输入图片作为输入经过所述卷积神经网络之后,最终得到的输出值个 数与所述输入图片的大小相同,即其输出值为所述输入图片的每个像素点的预测值。由于 每个像素点有一个标签值,那么用对应于每个像素点的卷积神经网络输出值与其相应的标 签值进行比较,就可以得到神经网络输出值与实际标签值之间的差距,那么通过调整所述 卷积神经网络中每层的权重值,使得所述差距越来越小,直到所述卷积神经网络的输出值 与标签值相同,则最终得到所需要的卷积神经网络。
[0032] 那么,本发明中使用L2范数作为损失函数来训练所述卷积神经网络,定义如下:
[0033] L,=sj\\p,-m,\\2,
[0034] 其中,1^为CNN网络的输出值与相应像素点的标签值间的L2范数值,m1是图片的 标签信息,Pi是所述卷积神经网络CNN的输出,其定义如下:
[0035]Pi=g(f(xi)),
[0036] f(x)是前一层的输出,g( ?)是激活函数。
[0037] 根据所述L2范数值调整所述卷积神经网络各层的神经元权重值,重复多次训练 所述卷积神经网络,直到所述L2范数
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1