人脸检测方法 【技术领域】
本发明涉及一种人脸检测方法。
背景技术
目前,人脸检测已经在新一代的人机界面、视频监控和基于内容的检索等领域得到了广泛应用。而随着嵌入式技术和智能设备的发展,人脸检测应用的领域逐渐出现了移动化和户外工作的要求。然而嵌入式平台的计算能力有限,如何在算法级别降低人脸检测的计算负荷、减少访存次数、以及减少存储空间,从而得到一个实时嵌入式人脸检测系统已成了当务之急。
因此,如何提供一种有效的运行速度快、占用内存小的人脸检测方法实已成为本领域技术人员亟待解决的课题。
【发明内容】
本发明的目的在于提供一种人脸检测方法,以实现其在运行过程中运行负荷低、速度快、且占用的储存空间小的要求。
为了达到上述目的,本发明提供的人脸检测方法,包括步骤:1)预先采用多个正样本及负样本进行样本训练,以获得根据一图像的各特征值检测所述图像中与各特征值相互对应的各子区是否不属于人脸组成部分的级联分类器,其中,各特征值能通过人脸积分图计算得到;2)将待检测人脸图像转换为各像素点采用灰度值表示的人脸灰度图,并进而将所述人脸灰度图转换为人脸积分图;3)根据样本训练所采用的样本尺寸将所述人脸积分图划分为多个子积分区域;4)根据所获得的级联分类器分别计算各子积分区域中的相应子区的特征值,并根据计算出的各特征值,采用所述级联分类器逐级检测各子积分区域是否不属于人脸组成部分,以剔除不属于人脸组成部分的子积分区域,其中,在检测过程中采用浮点定点化运算来对各子积分区域各自的特征值进行相应运算;5)根据各级级联分类器对未被剔除的子积分区域的判断结果进一步判断所述待检测人脸图像中是否包含人脸图像。
其中,所述正样本及负样本尺寸相同,所形成的级联分类器的每一级都为对正样本的正确判断率不低于99.5%的强分类器,所形成的级联分类器具有8级,所述子区为矩形区域,可按照公式featurej=Σi=1Nωi×rectsum(ri)]]>来计算各特征值,其中,featurj为第j个特征值,ωi为矩形区域内第i矩形ri的权重值,rectsum(ri)为矩形ri所围图像的灰度积分,N是矩形区域内包含的矩形个数。
综上所述,本发明的人脸检测方法通过训练多级级联分类器、浮点改为定点运算、以及将图像分为子区域可实现对人脸的快速检测,且其检测精度高、速度快、内存需求量小和相应的访存次数少,可以满足便携式设备内存空间小的要求。
【附图说明】
图1为本发明的人脸检测方法的步骤流程示意图。
图2为本发明的人脸检测方法中形成的第一级分类器包含的弱分类器示意图。
图3为本发明的人脸检测方法中一矩形的灰度积分计算示意图。
【具体实施方式】
请参阅图1,本发明的人脸检测方法主要包括以下步骤:
第一步:预先采用多个正样本及负样本进行样本训练,以获得根据一图像的各特征值检测所述图像中与各特征值相互对应的各子区是否不属于人脸组成部分的级联分类器,其中,各特征值能通过人脸积分图计算得到,在本实施方式中,预先采用3000张正样本、4000张负样本建立训练样本库,其中,所述正样本为包含人脸图像的图像样本,所述负样本为不包含人脸图像的图像样本,且采用的正样本的尺寸与负样本的尺寸相同,例如,样本训练过程可如下所述:
a)强分类器训练的过程:要求每一级强分类器命中正样本率不得低于99.5%;
b)训练过程的输入为特征的集合,使用每个特征对训练样本库进行分类。在每次迭代中,根据弱分类器的判断结果与样本的权重分布,选择一个错误率最小的弱分类器作为本次迭代产生的弱分类器h(n),之后更新每个训练样本的权值,更新的策略为增大h(n)所错分的样本的权值,这样,在下一次的迭代中,这些被错分的样本将予以更大的重视,在经过T次迭代后,共产生T个弱分类器,组合后便是一个分类能力较强的强分类器,其中,每一弱分类器即为一特征值;
c)将强分类器串联在一起形成级联分类器。串联时应遵循“先重后轻”的级联分类原则,即将由更重要特征构成的结构较简单的强分类器放在前面。
由于样本训练的过程为本领域技术人员所知悉,故在此不再详述,在本实施方式中,生成了一个8级、共包含102个弱分类器的级联分类器。
第二步:将待检测人脸图像转换为各像素点采用灰度值表示的人脸灰度图,并进而将所述人脸灰度图转换为人脸积分图,通常,由于待检测人脸图像都为彩色YUV格式,可将其转换为相应8位灰度格式而形成人脸灰度图,而由灰度图转换为人脸积分图的基本原理为:每个像素点在积分图中的值等于以图像原点与该像素点为对角线端点形成的矩形内各像素值之和,此已为本领域技术人员所知悉,故在此不再详述。
第三步:根据样本训练所采用的样本尺寸将所述人脸积分图划分为多个子积分区域,例如,所采用的样本尺寸为30*30,相应可将人脸积分图划分为多个30*30的子积分区域。
第四步:根据所获得的级联分类器分别计算各子积分区域中的相应子区的特征值,并根据计算出的各特征值,采用所述级联分类器逐级检测各子积分区域是否不属于人脸组成部分,以剔除不属于人脸组成部分的子积分区域,其中,在检测过程中采用浮点定点化运算来对各子积分区域各自的特征值进行相应运算,在本实施方式中,首先根据第一级级联分类器包含的弱分类器也就是特征值所对应的子区,分别计算各子积分区域内相应的各子区的特征值,请参见图2,假设本实施方式中所形成的第一级级联分类器包含了2个弱分类器,弱分类器1由白-黑两个矩形组成的矩形区域,且每一矩形包含4个像素点,弱分类器2由白-黑-白三个矩形形成的矩形区域,且每一矩形区域包含2个像素点,因此相应地,也计算出各子积分区域内对应位置的两个子区的特征值,其可按照公式featurej=Σi=1Nωi×rectsum(ri)]]>来计算各特征值,其中,featurej为第j个特征值(j=1或2),ωi为矩形区域内第i矩形ri的权重值(由相应弱分类器来确定其大小),N是矩形区域内包含的矩形个数,rectsum(ri)为矩形ri所围图像的灰度积分,请参见图3,弱分类器1中由像素点A、B、C及D形成的矩形ri的灰度积分值rectsum(ri)可为:rectsum(ri)=ii(C)+ii(A)-ii(B)-ii(D),计算出两个特征值之后,再采用浮点定点化运算来对每一子积分区域的两个特征值进行进一步运算以获得检测阈值,并将其与第一级分类器的阈值进行比较,以剔除不属于人脸组成部分的子积分区域,然后再根据第二级分类器包含的弱分类器所对应的子区,分别计算未被剔除的各子积分区域的相应子区的特征值,再仿照前述第一级分类器的检测过程进行同样检测,如此逐级进行检测,可将可能包含有人脸图像的各子积分区域留下,剔除不属于人脸组成部分的各子积分区域,由于将特征值经过运算获得检测阈值的运算过程与现有运算过程相似,不同仅在于现有运算采用的浮点运算,而本发明采用的是定点化运算,故在此不再详述。
第五步:根据各级级联分类器对未被剔除的子积分区域的判断结果进一步判断所述待检测人脸图像中是否包含人脸图像,此判断方法为本领域技术人员所知悉,在此不再详述。
将本发明的人脸检测方法应用在便携式的嵌入式平台,例如应用于基于数字信号处理(DSP)、ARM或者PowerPC等嵌入式处理器,在样本库创建成功、要求对正样本的总正确识别率不低于0.95的情况下,生成了一个8级、共包含102个弱分类器的级联分类器时,存储空间仅仅需要11K,是现有人脸检测矩阵库大小的1/10,而且第一级分类器可以快捷的排除掉60%的非人脸子图像。再有,通过浮点格式转换为定点,本发明可以在嵌入式处理器上获得7-10倍的速度提高。还有,当在DSP平台(例如TI的TMS320DM642)上,采用本发明的人脸检测方法,对352x288尺寸的每一帧图像可在40毫秒内完成人脸检测,而且不仅对正面人脸检测效果好,而且对小角度的俯仰、侧向旋转等多种姿态下的人脸检测效果也很好。
综上所述,本发明的人脸检测方法通过训练多级级联分类器、浮点改为定点运算、以及将图像分为子区域可对人脸进行快速的检测,其检测精度高、速度快、内存需求量小和相应的访存次数少,因而可以实现在便携式设备较小的内存空间下,快速的进行人脸检测,同时,也可以方便进一步的人脸识别。