基于卷积神经网络的人脸检测方法

文档序号:6634786阅读:1380来源:国知局
基于卷积神经网络的人脸检测方法
【专利摘要】本发明公开了基于卷积神经网络的人脸检测方法,包括训练阶段和测试阶段;在训练阶段,将训练样本输入卷积神经网络,获得卷积神经网络的连接权值和偏置值;在测试阶段,读入视频图像,当检测到有运动物体时,提取出感兴趣区域,用n*n像素大小的块每次移动1个像素,对感兴趣区域进行分块处理,得到若干图片,将分块后的图片缩放至与训练样本的大小相同,并将这些图片输入已训练完成的卷积神经网络进行分类,其中50≤n≤70。本发明构造卷积神经网络作为分类器,提高了检测的精度和速度。
【专利说明】基于卷积神经网络的人脸检测方法

【技术领域】
[0001]本发明属于人脸识别【技术领域】,特别涉及了基于卷积神经网络的人脸检测方法。

【背景技术】
[0002]人脸检测是指对于任意一幅给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回人脸的位置、大小和姿态。人脸检测是自动人脸识别系统中的一个关键环节。早期的人脸识别研宄主要针对具有较强约束条件的人脸图像(如无背景的图像),往往假设人脸位置一定或者容易获得,因此人脸检测问题并未受到重视。随着电子商务等应用的发展,人脸识别成为最有潜力的生物身份验证手段,这种应用背景要求自动人脸识别系统能够对一般图像具有一定的识别能力,由此所面临的一系列问题使得人脸检测开始作为一个独立的课题受到研宄者的重视。如今,人脸检测的应用背景已经远远超出了人脸识别系统的范畴,在基于内容的检索、数字视频处理、视频检测等方面有着重要的应用价值。
[0003]人脸检测是一个复杂且具有挑战性的模式检测问题,其主要的难点有两方面,一方面是由于人脸内在的变化所引起:人脸具有相当复杂的细节变化,如不同的外貌如脸形、肤色,不同的表情如眼、嘴的开与闭等;人脸的遮挡,如眼镜、头发和头部饰物以及其他外部物体等;另外一方面由于外在条件变化所引起:成像角度的不同造成人脸的多姿态,如平面内旋转、深度旋转以及上下旋转,其中深度旋转影响较大;光照的影响,如图像中的亮度、对比度的变化和阴影等;图像的成像条件,如摄像设备的焦距、成像距离,图像获得的途径等等。这些问题的存在,导致人脸检测这一问题的复杂度以及所要面对的挑战都很大。
[0004]国外对人脸检测问题的研宄很多,比较著名的有MIT,CMU等;国内的清华大学、中科院计算所和自动化所、南京理工大学、北京工业大学等都有人员从事人脸检测相关的研宄。而且,MPEG7标准组织已经建立了人脸识别草案小组,人脸检测算法也是一项征集的内容。随着人脸检测研宄的深入,国际上发表的有关论文数量也大幅度增长,如IEEE的FG、ICIP\CVPR等重要国际会议上每年都有大量关于人脸检测的论文,占有关人脸研宄论文的1/3之多。由此可以看到世界对人脸检测技术的重视。人脸检测技术最热门的应用领域有三个方面:
第一、身份认证与安全防护。在许多安全级别要求较高的区域,例如银行、政府部门、甚至重要设施的工地,都需要对大量的人员进行身份认证管理。手机、笔记本电脑等个人电子用品,在开机和使用中经常要用到身份认证功能;
第二、媒体与娱乐。人们的许多娱乐活动都是跟脸部有关的。在网络虚拟世界里,通过人脸的变化,可以产生大量的娱乐节目和效果。手机、数码相机等消费电子产品中,基于人脸的娱乐项目越来越丰富;
第三、QQ、MSN等即时通信工具以及虚拟化身网络游戏也是人脸合成技术的广阔市场。
[0005]人脸检测常用的基本算法大致可以分为以下四种:基于统计理论的人脸检测算法、基于知识的人脸检测算法、基于不变特征的人脸检测算法和基于模板匹配的人脸检测算法。
[0006]基于统计理论的人脸检测算法将人脸检测问题转化为模式识别的二分类问题,即利用统计分析与机器学习的方法来寻找出人脸样本与非人脸样本各自的统计特征,继而构建分类器,使用分类器完成人脸检测。该方法主要包括:子空间方法、神经网络方法、支持向量机方法、隐马尔可夫模型方法以及Boosting方法。使用人工神经网络的方法进行人脸检测的优点是可以简便的构造出神经网络系统作为分类器,使用人脸和非人脸样本对该系统进行训练。Rowley等人在1996年提出了针对正面垂直人脸检测的神经网络人脸检测方法闭,该方法将检测分为两个阶段。第一个阶段为基于神经网络的分类器,该分类器的输入是规定尺寸的检测区域,输出为I到一 I的数,由此来判断检测区域是否为人脸。第二个阶段是合并重复区域并且检测判别。由于训练样本以及分类器等因素,图像中的一定区域会产生重复检测。此阶段使用单层的神经网络对重复检测进行合并,并使用一个多层的神经网络对检测结果进行判决。支持向量机可被看作是多项式函数、神经网络、径向基函数等分类器的新发展,它最早是由Vapnki等提出的基于结构风险最小化原理的统计学习理论基础上发展而来的。支持向量机分类器是一个基于超平面的分类器.它的分离超平面能减小未知的测试数据的期望误差。通过训练得到的最佳超平面最终由训练向量中的--d,部分子集加权组成,叫支持向量。隐马尔可夫模型(HMM)前提假设是模型可被定义为一个参数化的进程。该进程的参数可通过精确的方法估计出来。首先决定隐态并形成一个HMM模型,然后通过学习来自样本集的各个状态间的转移概率来训练HMM,每个样例由一系列观测值表征。HMM训练之后,观测值的输出概率就决定了它属于哪一类。
[0007]基于知识的方法是一种基于规则的人脸检测方法,规则来源于研宄者关于人脸的先验知识。一般比较容易提出简单的规则来描述人脸特征和它们的相互关系。如在一幅图像中出现的人脸,通常具有互相对称的两只眼睛、一个鼻子和一张嘴。特征之间的相互关系可以通过它们的相对距离和位置来描述。在输入图像中首先提取面部特征,确定基于编码规则的人脸候选区域。
[0008]基于不变特征的人脸检测算法主要包括:1、基于肤色特征的方法。肤色是人脸的重要信息,不依赖于面部的细节特征,对于旋转。表情等变化情况都能适用,具有相对的稳定性并且和大多数背景物体的颜色相区别。因此肤色特征在人脸检测中是最常用的一种特征。肤色特征主要由肤色模型描述。常用的肤色模型有高斯模型、混合高斯模型和直方图模型。2、基于人脸局部特征的方法。这类方法首先用各种数字图像的处理办法对输入图像进行处理,根据处理结果提取出来的某些特征与人脸的某些共性特征进行比较,借此来判断某一区域是否为人脸。当然各种人脸局部特征的综合运用对于提高检测算法的性能会有很大帮助。这种基于特征的算法的主要问题是人脸的这些特征很有可能被明暗度,噪声,和遮挡所破坏。对于人脸来说,特征的边界可能被弱化,因为阴影能导致许多明显的边界,从而使得基于感知的分类算法毫无作用。
[0009]基于模板匹配的人脸检测算法,该方法可以分为两种方法:固定模板和变形模板。固定模板的方法是首先设计得到一个或几个参考模板,然后计算测试样本与参考模板之间的某种度量(比如距离),通过确定是否大于某一阈值来判断测试样本是否是人脸。变形模板方法在原理上与固定模板相同,但其中包含一些非固定的元素。
[0010]由于人脸检测问题本身的复杂性,不同的人脸检测算法又有其不同的针对性,不同的方法不可能进行准确的优劣之分,只能对其总体性能进行评价。人脸检测的评价标准主要有:检测率,漏检率,误检率,检测速度,鲁棒性等几个衡量指标。各个参数的具体含义如下:1)检测率:被正确检测到的人脸数与原图像内包含的人脸数的比值;2)漏检率:图像中没有被检测到的人脸数与图像中包含的人脸总数的比值。根据定义,若检测率为d,则漏检率为Ι-d ;3)误检率:又称为虚警率或误报率。被检测为人脸的非人脸窗口数目同图像中被检测的所有子窗口数目的比值;4)检测速度:单位时间内处理的图片数量或者处理一张图片所需要的时间;5)鲁棒性:在各种条件下,检测系统的适应能力。即系统对检测环境的限制条件越少鲁棒性越好。在现有技术中,基于特征不变性的方法主要的问题是在面部存在遮挡和复杂背景的情况下很难获得理想的效果;基于模板方法在面对人脸的多样性,很难设计出精确匹配的标准模板;支持向量机方法建立在结构风险最小化原理上的统计学习理论,因为其需要求解二次规划问题,虽然发展出了 SMO快速算法,但是计算量仍较大,速度仍然较慢boosting方法是最近人脸检测的研宄热点,AdaBoost方法提供了优异的检测速度,完全符合实时系统的要求,但是Boost方法需要大量时间进行训练,如何提高该方法的训练速度,是一个有待解决的问题。
[0011]在实际应用中,由于大多数都是面向实时性处理,这要求人脸检测算法便于实现,精度要高,而且具有较快的检测速度。目前的人脸检测算法还不能较好地处理任意姿态、光照和遮挡等变化条件,而且在检测精度、检测速度方面存在不足。


【发明内容】

[0012]为了解决上述【背景技术】提出的技术问题,本发明旨在提供基于卷积神经网络的人脸检测方法,构造卷积神经网络作为分类器,提高了检测的精度和速度。
[0013]为了实现上述技术目的,本发明的技术方案为:
基于卷积神经网络的人脸检测方法,包括训练阶段和测试阶段;在训练阶段,将训练样本输入卷积神经网络,获得卷积神经网络的连接权值和偏置值;在测试阶段,读入视频图像,当检测到有运动物体时,提取出感兴趣区域,用n*n像素大小的块每次移动I个像素,对感兴趣区域进行分块处理,得到若干图片,将分块后的图片缩放至与训练样本的大小相同,并将这些图片输入已训练完成的卷积神经网络进行分类,其中50 < η < 70。
[0014]其中,上述卷积神经网络的结构为8层,包括依次连接的输入层、Cl层、S2层、C3层、S4层、C5层、S6层和输出层,Cl层、C3层、C5层为卷积层,S2层、S4层、S6层为下采样层,Cl层有8个56*56像素大小的特征map,S2层有8个28*28像素大小的特征map,C3层有24个24*24像素大小的特征map,S4层有24个12*12像素大小的特征map,C5层有50个8*8像素大小的特征map,S6层有50个4*4像素大小的特征map,输出层包括I和O两个单元,分别表示人脸和非人脸。
[0015]其中,在测试阶段,采用光流法检测视频图像中是否有运动物体。
[0016]其中,上述训练样本的大小为60*60像素。
[0017]其中,上述训练样本为20万张图片,包括10万张非人脸图片、I万张人脸图片以及9万张经前述I万张人脸图片进行图像处理后的人脸图片。
[0018]采用上述技术方案带来的有益效果:
(I)本发明采用卷积神经网络作为人脸检测的分类器,由于卷积神经网络权值共享的网络结构,降低了网络结构的复杂度,减少了权值的数量,所以由它进行分类的速度快,另夕卜,使用人脸和非人脸样本对该神经网络进行训练,让神经网络自动学习两类样本复杂的类条件密度,避免了人为假设类条件密度函数所带来的问题,提高了检测精度;
(2)本发明在测试过程中将测试样本进行分块处理,加快了测试的速度,减少了测试时间;
(3)本发明采用卷积神经网络和分块处理的测试方法,提高了人脸检测的精度和速度,非常适用于交通监控系统,银行监控系统,安防设备系统等实时性要求高的系统,因此具有巨大前景。

【专利附图】

【附图说明】
[0019]图1是本发明的流程图。
[0020]图2是本发明中卷积神经网络的结构图。
[0021]图3是本发明的测试结果图。

【具体实施方式】
[0022]以下将结合附图,对本发明的技术方案进行详细说明。
[0023]如图1所示本发明的流程图,基于卷积神经网络的人脸检测方法,包括训练阶段和测试阶段。
[0024]在训练阶段,首先需要搜集训练样本,在本实施例中,一共搜集20万张训练样本,在这20万张样本中,有10万张为非人脸图片,有I万张为人脸图片,剩余9万样本为前述I万张人脸图片经加入高斯白噪声、图片旋转、颜色转换等图像处理方法得到的人脸图片。然后将这些样本输入卷积神经网络中进行训练,获得卷积神经网络的连接权值和偏置值。
[0025]在本实施例中,卷积神经网络的结构采用图2所示的结构,该卷积神经网络共有8层,包括依次连接的输入层、Cl层、S2层、C3层、S4层、C5层、S6层和输出层。输入层为训练样本,其大小为60*60像素。Cl层是一个卷积层,由8个大小为56*56像素的特征map构成,特征map中的每个神经元与输入层中5X5的邻域相连接,Cl层共有(56X 56+1)X8=25096个可训练参数(连接权值和偏置值),与输入层共有5X5X8X60X60=720000个连接。S2层是一个下采样层,有8个大小为28*28像素的特征map,特征map中的每个神经元与Cl层中相对应特征map的2X2的邻域相连接。S2层中每个特征图的大小是Cl层中特征图大小的1/4 (行和列各1/2),S2层共有(28X28+1) X 8=6280个可训练参数,与Cl层有8X56X56X5X5=627200个连接。C3层是一个卷积层,由24个24*24像素大小的特征map构成,C3层中的每个特征map是连接到S2层中所有8个或者其中几个特征map的,表示本层的特征map是上一层提取到的特征map的不同组合。S4层是一个下采样层,由24个12*12像素大小的特征map构成,特征map中的每个神经元与C3层中相应特征图的2 X 2邻域相连接,S4 层有 24 X 12 X 12+24=3480 个可训练参数,与 C3 层一共有 5 X 5 X 24 X 24 X 24=345600个连接。C5层是一个卷积层,有50个8*8像素大小的特征map,每个神经元与S4层的全部24个特征图的5X5的邻域相连接,与S4层共有5X5X50X12X12=180000个连接。S6层是一个下采样层,有50个4*4像素大小的特征map,S6层与输出层之间为全连接,即S6层中的每一个神经元与输出层的每一个单元连接,一共有4X4X50=800个连接。输出层包括I和O两个单元,分别表示人脸和非人脸。
[0026]神经网络用于模式识别的主流是有监督学习,无监督学习更多的是用于聚类分析。对于有监督的模式识别,由于任一样本的类别是已知的,样本在空间的分布不再是依据其自然分布倾向来划分,而是要根据同类样本在空间的分布及不同类样本之间的分离程度找一种适当的空间划分方法,或者找到一个分类边界,使得不同类样本分别位于不同的区域内。这就需要一个长时间且复杂的学习过程,不断调整用以划分样本空间的分类边界的位置,使尽可能少的样本被划分到非同类区域中。卷积神经网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确数学表达式,只要用已知的模式对卷积神经网络加以训练,网络就具有输入对输出之间的映射能力。在开始训练前,所有的权值都应该用一些不同的小随机数进行初始化,比如[0,1]之间分布的随机数。“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则具有对称性,导致每一层的卷积核都相同,则网络无能力学习。
[0027]卷积神经网络的训练过程主要包括4步,这4步被分为两个阶段:
第一阶段一一向前传播阶段:
a)从样本集中取一个样本输入卷积神经网络;
b)计算相应的实际输出Op。在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程;
第二阶段--向后传播阶段:
a)计算出代价函数;
b )按极小化误差的方法反向传播调整权矩阵。
[0028]在完成卷积神经网络的训练后,便进入了测试阶段,测试阶段用来测试所使用的卷积神经网络用于人脸检测的精度和速度是否可靠。其过程为:读取视频图像,用基于光流方法的运动目标检测方法进行检测,当检测到有运动物体的时候,提取出感兴趣区域,然后用n*n大小(50 < η < 70)的块每次移动一个像素,对该感兴趣区域进行分块处理,得到若干图片,对分块后的图片进行缩放,转换成60*60像素大小的图片,将这些图片输入训练好的卷积神经网络,利用卷积神经网络进行分类,分类的结果为:人脸(用I表示)、非人脸(用O表示)。
[0029]图3为测试结果图,其横坐标为卷积神经网络的训练次数,纵坐标为测试结果的错误率。由图3可知,随着训练次数的增加,检测的错误率在下降,测试精度有明显提高。
[0030]以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
【权利要求】
1.基于卷积神经网络的人脸检测方法,其特征在于:包括训练阶段和测试阶段;在训练阶段,将训练样本输入卷积神经网络,获得卷积神经网络的连接权值和偏置值;在测试阶段,读入视频图像,当检测到有运动物体时,提取出感兴趣区域,用n*n像素大小的块每次移动I个像素,对感兴趣区域进行分块处理,得到若干图片,将分块后的图片缩放至与训练样本的大小相同,并将这些图片输入已训练完成的卷积神经网络进行分类,其中50彡η彡70。
2.根据权利要求1所述基于卷积神经网络的人脸检测方法,其特征在于:所述卷积神经网络的结构为8层,包括依次连接的输入层、Cl层、S2层、C3层、S4层、C5层、S6层和输出层,Cl层、C3层、C5层为卷积层,S2层、S4层、S6层为下采样层,Cl层有8个56*56像素大小的特征map,S2层有8个28*28像素大小的特征map,C3层有24个24*24像素大小的特征map,S4层有24个12*12像素大小的特征map,C5层有50个8*8像素大小的特征map,S6层有50个4*4像素大小的特征map,输出层包括I和O两个单元,分别表示人脸和非人脸。
3.根据权利要求1所述基于卷积神经网络的人脸检测方法,其特征在于:在测试阶段,采用光流法检测视频图像中是否有运动物体。
4.根据权利要求1所述基于卷积神经网络的人脸检测方法,其特征在于:所述训练样本的大小为60*60像素。
5.根据权利要求1所述基于卷积神经网络的人脸检测方法,其特征在于:所述训练样本为20万张图片,包括10万张非人脸图片、I万张人脸图片以及9万张经前述I万张人脸图片进行图像处理后的人脸图片。
【文档编号】G06K9/00GK104504362SQ201410662476
【公开日】2015年4月8日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】韩晓东, 罗坤, 吴长春, 戴铁军, 何亮 申请人:南京艾柯勒斯网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1