首页 / 专利库 / 专利权 / 申请 / 一种人脸检测的方法和装置

一种人脸检测的方法和装置

阅读:859发布:2023-01-21

专利汇可以提供一种人脸检测的方法和装置专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种 人脸检测 的方法,包括:以第一步长为间隔,利用滑动窗口扫描目标图像,并对相应滑动窗口中的图像进行人脸粗检测,选择出候选区域;以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。应用本申请,能够提高人脸检测速度。,下面是一种人脸检测的方法和装置专利的具体信息内容。

1.一种人脸检测的方法,其特征在于,包括:
以第一步长为间隔,利用滑动窗口扫描目标图像,并对相应滑动窗口中的图像进行人脸粗检测,选择出候选区域;
以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
2.根据权利要求1所述的方法,其特征在于,对相应滑动窗口中的图像进行人脸粗检测,具体包括:
使用第一人脸检测模对相应滑动窗口中的图像进行人脸粗检测;
其中,所述第一人脸检测模块具备下述至少一种特征:
生成所述第一人脸检测模块时的样本集检测率测试阈值小于设定测试阈值;
生成所述第一人脸检测模块时训练的迭代次数小于设定迭代次数;
所述第一人脸检测模块的检测阈值为在标准检测阈值的基础上进行偏移得到的宽松阈值。
3.根据权利要求2所述的方法,其特征在于,所述宽松阈值保证第一人脸检测模块对人脸的检测率高于所述标准检测阈值对应的检测率,和/或,所述宽松阈值保证第一人脸检测模块对人脸的虚警率高于标准检测阈值对应的虚警率。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,通过下述方式得到用于进行人脸粗检测的第一人脸检测模块和/或用于进行人脸精检测的第二人脸检测模块:
根据多个弱分类器构成强分类器;
采用MIP方法,对所述强分类器进行优化。
5.根据权利要求4所述的方法,其特征在于,采用MIP方法,对所述强分类器进行优化,具体包括:
采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值。
6.根据权利要求5所述的方法,其特征在于,采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值,具体包括:
使用所述强分类器对用于训练的所有人脸样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有人脸样本对应的分数中的最小值,作为该弱分类器的人脸阈值Pos-Threshold;
使用所述强分类器对用于训练的所有背景样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有背景样本对应的分数中的最大值,作为该弱分类器的背景阈值Neg-Threshold;
对于每个弱分类器,将Pos-Threshold和Neg-Threshold以设定的权重进行混合得到该弱分类器对应的阈值。
7.一种人脸检测的方法,其特征在于,包括:
利用目标图像构造图像金字塔;
利用小脸检测器对所述图像金字塔中第一设定层以上的各个图像进行人脸检测;
利用标准脸检测器对所述图像金字塔中第二设定层以上的各个图像进行人脸检测;
其中,生成所述小脸检测器的样本图像小于生成所述标准脸检测器的样本图像;
8.根据权利要求7所述的方法,其特征在于,所述第一设定层和第二设定层均不是图像金字塔的最底层,和/或,根据所述目标图像的大小、生成所述标准脸检测器的样本图像大小、生成所述小脸检测器的样本图像大小和要检测的目标人脸尺寸构造所述图像金字塔。
9.根据权利要求7所述的方法,其特征在于,根据生成所述小脸检测器的样本图像大小和要检测的目标人脸尺寸确定所述第一设定层;和/或,
根据生成所述标准脸检测器的样本图像大小、生成所述小脸检测器的样本图像大小和要检测的目标人脸尺寸确定所述第二设定层。
10.根据权利要求7或8所述的方法,其特征在于,通过下述方式得到小脸检测器和/或标准脸检测器:
根据多个弱分类器构成强分类器;
采用MIP方法,对所述强分类器进行优化。
11.根据权利要求10所述的方法,其特征在于,采用MIP方法,对所述强分类器进行优化,具体包括:
采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值。
12.根据权利要求11所述的方法,其特征在于,采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值,具体包括:
使用所述强分类器对用于训练的所有人脸样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有人脸样本对应的分数中的最小值,作为该弱分类器的人脸阈值Pos-Threshold;
使用所述强分类器对用于训练的所有背景样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有背景样本对应的分数中的最大值,作为该弱分类器的背景阈值Neg-Threshold;
对于每个弱分类器,将Pos-Threshold和Neg-Threshold以设定的权重进行混合得到该弱分类器对应的阈值。
13.根据权利要求7至12中任一权利要求所述的方法,其特征在于,利用小脸检测器或标准脸检测器进行人脸检测的方式包括:
以第一步长为间隔,利用滑动窗口扫描目标图像,并对相应滑动窗口中的图像进行人脸粗检测,选择出候选区域;
以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
14.根据权利要求13所述的方法,其特征在于,对相应滑动窗口中的图像进行人脸粗检测,具体包括:
在所述小脸检测器或标准脸检测器中,使用第一人脸检测模块对相应滑动窗口中的图像进行人脸粗检测;
其中,所述第一人脸检测模块具备下述至少一种特征:
生成所述第一人脸检测模块时的样本集检测率测试阈值小于设定测试阈值;
生成所述第一人脸检测模块时的训练迭代次数小于设定迭代次数;
所述第一人脸检测模块的检测阈值为在标准检测阈值的基础上进行偏移得到的宽松阈值。
15.根据权利要求14所述的方法,其特征在于,所述宽松阈值保证第一人脸检测模块对人脸的检测率高于所述标准检测阈值对应的检测率,和/或,所述宽松阈值保证第一人脸检测模块对人脸的虚警率高于标准检测阈值对应的虚警率。
16.一种人脸检测的装置,其特征在于,该装置包括:第一扫描模块、第一人脸检测模块、第二扫描模块和第二人脸检测模块;
所述第一扫描模块,用于以第一步长为间隔,利用滑动窗口扫描目标图像,并将所述滑动窗口中的图像输出给所述第一人脸检测模块;
所述第一人脸检测模块,用于对所述第一扫描模块输入的滑动窗口中的图像进行人脸粗检测,选择出候选区域;
所述第二扫描模块,用于以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并将所述滑动窗口中的图像输出给所述第二人脸检测模块;
所述第二人脸检测模块,用于对所述第二扫描模块输入的滑动窗口中的图像进行人脸精检测,选择出人脸区域。
17.一种人脸检测的装置,其特征在于,该装置包括:金字塔构造模块、小脸检测模块和标准脸检测模块;
所述金字塔构造模块,用于利用目标图像构造图像金字塔;
所述小脸检测模块,用于对所述图像金字塔中第一设定层以上的各个图像进行人脸检测;
所述标准脸检测模块,用于对所述图像金字塔中第二设定层以上的各个图像进行人脸检测;
其中,生成所述小脸检测模块的样本图像小于生成所述标准脸检测模块的样本图像。

说明书全文

一种人脸检测的方法和装置

技术领域

[0001] 本申请涉及图像识别技术,特别涉及一种人脸检测的方法和装置。

背景技术

[0002] 照片通常在非受控条件下拍摄,使照片中的人脸呈现不同姿态和尺度(即大小)。因此,在进行人脸检测时,很多情况下,需要对多姿态、多尺度的人脸进行检测。
[0003] 目前人脸检测方法主要采用Adaboost算法训练检测器,即不断挑选错分最少的弱分类器及特征,学习阈值,并利用挑选出的弱分类器和特征构成强分类器,作为人脸检测器。在利用人脸检测器进行检测时,使用滑动窗口扫描图像,并将滑动窗口中的图像送入检测器进行判别,将满足检测器阈值的窗口定义为人脸。如图1所示。
[0004] 同时,为了检测多种姿态的人脸,可使用多个人脸检测器进行同样的扫描和判别,此时,每个人脸检测器负责检测不同姿态的人脸。这种情况下,虽然获得更高的检测率,但扫描窗口的数量大量增加,导致检测速度会大幅降低。
[0005] 为了实现多尺度人脸的检测,图像金字塔是普遍采用的方法。首先将图像按照一定比例缩放,得到不同大小的图像,将这些图像由小到大纵向排列,底端图像最大,顶端图像最小,构成图像金字塔,如图2所示。在图像金字塔中,得到不同尺度的图像,人脸尺度也随之发生变化,利用人脸检测器对所有尺度的图像进行人脸检测。具体地,利用滑动窗口扫描所有尺度的图像,再使用人脸检测器对输入的滑动窗口中的图像进行判别。由此检测出不同大小的人脸。这种多尺度人脸的检测方法中,与上述多姿态的人脸检测相类似地,扫描窗口的数量大量增加,导致检测速度会大幅降低。发明内容
[0006] 本申请提供一种人脸检测的方法和装置,能够提高检测速度。
[0007] 为实现上述目的,本申请采用如下技术方案:
[0008] 一种人脸检测的方法,包括:
[0009] 以第一步长为间隔,利用滑动窗口扫描目标图像,并对相应滑动窗口中的图像进行人脸粗检测,选择出候选区域;
[0010] 以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0011] 较佳地,对相应滑动窗口中的图像进行人脸粗检测,具体包括:
[0012] 使用第一人脸检测模对相应滑动窗口中的图像进行人脸粗检测;
[0013] 其中,所述第一人脸检测模块具备下述至少一种特征:
[0014] 生成所述第一人脸检测模块时的样本集检测率测试阈值小于设定测试阈值;
[0015] 生成所述第一人脸检测模块时训练的迭代次数小于设定迭代次数;
[0016] 所述第一人脸检测模块的检测阈值为在标准检测阈值的基础上进行偏移得到的宽松阈值。
[0017] 较佳地,所述宽松阈值保证第一人脸检测模块对人脸的检测率高于所述标准检测阈值对应的检测率,和/或,所述宽松阈值保证第一人脸检测模块对人脸的虚警率高于标准检测阈值对应的虚警率。
[0018] 较佳地,通过下述方式得到用于进行人脸粗检测的第一人脸检测模块和/或用于进行人脸精检测的第二人脸检测模块:
[0019] 根据多个弱分类器构成强分类器;
[0020] 采用MIP方法,对所述强分类器进行优化。
[0021] 较佳地,采用MIP方法,对所述强分类器进行优化,具体包括:
[0022] 采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值。
[0023] 较佳地,采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值,具体包括:
[0024] 使用所述强分类器对用于训练的所有人脸样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有人脸样本对应的分数中的最小值,作为该弱分类器的人脸阈值Pos-Threshold;
[0025] 使用所述强分类器对用于训练的所有背景样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有背景样本对应的分数中的最大值,作为该弱分类器的背景阈值Neg-Threshold;
[0026] 对于每个弱分类器,将Pos-Threshold和Neg-Threshold以设定的权重进行混合得到该弱分类器对应的阈值。
[0027] 一种人脸检测的方法,包括:
[0028] 利用目标图像构造图像金字塔;
[0029] 利用小脸检测器对所述图像金字塔中第一设定层以上的各个图像进行人脸检测;
[0030] 利用标准脸检测器对所述图像金字塔中第二设定层以上的各个图像进行人脸检测;
[0031] 其中,生成所述小脸检测器的样本图像小于生成所述标准脸检测器的样本图像;
[0032] 较佳地,所述第一设定层和第二设定层均不是图像金字塔的最底层,和/或,根据所述目标图像的大小、生成所述标准脸检测器的样本图像大小、生成所述小脸检测器的样本图像大小和要检测的目标人脸尺寸构造所述图像金字塔。
[0033] 较佳地,根据生成所述小脸检测器的样本图像大小和要检测的目标人脸尺寸确定所述第一设定层;和/或,
[0034] 根据生成所述标准脸检测器的样本图像大小、生成所述小脸检测器的样本图像大小和要检测的目标人脸尺寸确定所述第二设定层。
[0035] 较佳地,通过下述方式得到小脸检测器和/或标准脸检测器:
[0036] 根据多个弱分类器构成强分类器;
[0037] 采用MIP方法,对所述强分类器进行优化。
[0038] 较佳地,采用MIP方法,对所述强分类器进行优化,具体包括:
[0039] 采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值。
[0040] 较佳地,采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值,具体包括:
[0041] 使用所述强分类器对用于训练的所有人脸样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有人脸样本对应的分数中的最小值,作为该弱分类器的人脸阈值Pos-Threshold;
[0042] 使用所述强分类器对用于训练的所有背景样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有背景样本对应的分数中的最大值,作为该弱分类器的背景阈值Neg-Threshold;
[0043] 对于每个弱分类器,将Pos-Threshold和Neg-Threshold以设定的权重进行混合得到该弱分类器对应的阈值。
[0044] 较佳地,利用小脸检测器或标准脸检测器进行人脸检测的方式包括:
[0045] 以第一步长为间隔,利用滑动窗口扫描目标图像,并对相应滑动窗口中的图像进行人脸粗检测,选择出候选区域;
[0046] 以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0047] 较佳地,对相应滑动窗口中的图像进行人脸粗检测,具体包括:
[0048] 在所述小脸检测器或标准脸检测器中,使用第一人脸检测模块对相应滑动窗口中的图像进行人脸粗检测;
[0049] 其中,所述第一人脸检测模块具备下述至少一种特征:
[0050] 生成所述第一人脸检测模块时的样本集检测率测试阈值小于设定测试阈值;
[0051] 生成所述第一人脸检测模块时的训练迭代次数小于设定迭代次数;
[0052] 所述第一人脸检测模块的检测阈值为在标准检测阈值的基础上进行偏移得到的宽松阈值。
[0053] 较佳地,所述宽松阈值保证第一人脸检测模块对人脸的检测率高于所述标准检测阈值对应的检测率,和/或,所述宽松阈值保证第一人脸检测模块对人脸的虚警率高于标准检测阈值对应的虚警率。
[0054] 一种人脸检测的装置,包括:第一扫描模块、第一人脸检测模块、第二扫描模块和第二人脸检测模块;
[0055] 所述第一扫描模块,用于以第一步长为间隔,利用滑动窗口扫描目标图像,并将所述滑动窗口中的图像输出给所述第一人脸检测模块;
[0056] 所述第一人脸检测模块,用于对所述第一扫描模块输入的滑动窗口中的图像进行人脸粗检测,选择出候选区域;
[0057] 所述第二扫描模块,用于以小于所述第一步长的第二步长为间隔,利用滑动窗口扫描所述候选区域,并将所述滑动窗口中的图像输出给所述第二人脸检测模块;
[0058] 所述第二人脸检测模块,用于对所述第二扫描模块输入的滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0059] 一种人脸检测的装置,包括:金字塔构造模块、小脸检测模块和标准脸检测模块;
[0060] 所述金字塔构造模块,用于利用目标图像构造图像金字塔;
[0061] 所述小脸检测模块,用于对所述图像金字塔中第一设定层以上的各个图像进行人脸检测;
[0062] 所述标准脸检测模块,用于对所述图像金字塔中第二设定层以上的各个图像进行人脸检测;
[0063] 其中,生成所述小脸检测模块的样本图像小于生成所述标准脸检测模块的样本图像。
[0064] 由上述技术方案可见,在本申请第一种人脸检测方法中,利用较长步长的滑动窗口扫描图像,并对扫描图像进行人脸粗检测,确定出候选区域;然后,利用短步长的滑动窗口扫描候选区域,并对扫描图像进行人脸精检测。在上述粗检测与精检测结合的处理方式中,一方面在粗检测时通过增大滑动窗口的扫描步长,从而大量减少扫描窗口,另一方面在精检测时仅对候选区域进行短步长的扫描,在减少扫描窗口的同时,保证检测精度
[0065] 在另一种人脸检测方法中,对于构造的图像金字塔,利用小脸检测器对图像金字塔中第一设定层以上的各个图像进行人脸检测;利用标准脸检测器对图像金字塔中第二设定层以上的各个图像进行人脸检测。在上述处理中,可以将第一设定层和第二设定层都设置为不是图像金字塔的最底层,从而大大减少扫描窗口的数量,同时引入小脸检测器保证检测精度。附图说明
[0066] 图1为滑动窗口扫描图像的示意图;
[0067] 图2为图像金字塔的示意图;
[0068] 图3为小脸检测器和标准脸检测器的扫描尺度示意图;
[0069] 图4为标准脸检测器及小脸检测器模板示意图;
[0070] 图5为本申请实施例的方法流程示意图;
[0071] 图6为粗检测模块和精检测模块的扫描窗口示意图;
[0072] 图7为粗检测模块的检测流程示意图;
[0073] 图8为精检测模块的检测流程示意图;
[0074] 图9为MB-LBP的结构;
[0075] 图10为通过Adaboost方法训练得到的分类器;
[0076] 图11为按照本申请实施例的方法进行的人脸检测结果示意图;
[0077] 图12为按照本申请实施例的方法与其他人脸检测公开方法的性能比较结果。

具体实施方式

[0078] 为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
[0079] 在目前的人脸检测方法中,滑动窗口以固定扫描步长在图像中移动,提取窗口的内容作为人脸检测器的输入,由检测器对窗口内容进行判断,确定是否为人脸。其中,滑动窗口的扫描步长与检测精度有关,较大的步长使窗口无法准确覆盖完整人脸,人脸检测精度较低;较小的步长检测精度高,但增加了输入到检测器的窗口数量。为使人脸检测能够精确定位人脸位置及大小,通常采用较小的滑动窗口步长,因而导致了较高密度的滑动窗口需要输入到检测器,这也进一步限制人脸检测的速度。尤其是,当使用多姿态检测器、多尺度检测器时,滑动窗口的数量会大幅增长,严重影响检测速度。
[0080] 基于上述对滑动窗口扫描步长的分析可知,扫描步长的设置会影响滑动窗口的数量,进而影响检测速度。基于此,在本申请提供的第一种人脸检测方法中,从扫描步长的设置出发,采用两种步长对目标图像进行分步扫描。
[0081] 具体地,本申请提供的第一种人脸检测方法包括:
[0082] 步骤1,以第一步长为间隔,利用滑动窗口扫描目标图像,并对相应滑动窗口中的图像进行人脸粗检测,选择出候选区域;
[0083] 本步骤为粗扫描阶段,以较长步长的滑动窗口扫描图像,滑动窗口的内容输入到第一人脸检测模块,第一人脸检测模块决定窗口中的图像是否包含人脸区域,若检测结果为包含人脸区域,则将窗口中的图像作为候选区域输入到步骤2的精检测阶段。这里使用的第一人脸检测模块对人脸进行粗检测,使得候选区域包含所有人脸区域,但同时也可能包含背景区域。
[0084] 步骤2,以小于第一步长的第二步长为间隔,利用滑动窗口扫描候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0085] 本步骤为精检测阶段,使用短步长(即第二步长)的滑动窗口扫描候选区域,并将滑动窗口的内容送入第二人脸检测模块,从而精确定位人脸区域。其中,优选地,第二步长为能够保证人脸检测精度的扫描步长,人脸精检测即为能够保证目标检测精度的人脸检测处理,如现有的各种人脸检测方式,采用的第二人脸检测模块为能够保证检测精度的检测器,例如使用严格阈值。通过本步骤的精检测,剔除了候选区域中的背景,能够精确识别人脸区域。虽然本步骤采用的第二步长进行扫描,虽然进行的是精检测,但是由于仅在候选区域内进行检测,因此大大减少了扫描窗口的数量,提高了检测速度。
[0086] 至此,本申请中第一种人脸检测方法流程结束。
[0087] 在目前的多尺度人脸检测中,通常采用图像金字塔的方法,滑动窗口扫描金字塔的每一层图像,利用同一检测器对所有层的图像进行检测。在这些图像中,当经缩放后的人脸与检测器模板尺寸相匹配时,人脸可被检测出。由于检测器模板尺寸是固定的,当系统需要检测尺寸较小的人脸时,滑动窗口必须扫描金字塔靠近底端的图像(尺寸较大的图像),这样才能利用使检测器的模板尺寸与要检测的小脸尺寸相匹配,从而检测出较小的人脸。由于底层图像是图像的原始尺度或由原图放大而来,因此图像尺寸相对于检测器模板尺寸较大,因而扫描过程速度缓慢。
[0088] 由上述分析可见,在利用图像金字塔的方法进行多尺度人脸检测时,由于检测器模板尺寸的限制,导致进行较小尺寸的人脸检测时,检测速度会明显降低。基于此,在本申请提供的第二种人脸检测方法中,利用小脸检测器和标准脸检测器分别对图像金字塔中的图像进行人脸检测。
[0089] 具体地,本申请提供的第二种人脸检测方法包括:
[0090] 步骤1',利用目标图像构造图像金字塔;
[0091] 步骤2',利用小脸检测器对图像金字塔中第一设定层以上的各个图像进行人脸检测;
[0092] 步骤3',利用标准脸检测器对所述图像金字塔中第二设定层以上的各个图像进行人脸检测。
[0093] 在上述方法中,生成小脸检测器的样本图像小于生成标准脸检测器的样本图像,其中的标准脸检测器为按照目前的图像金字塔方式选取的人脸检测器。由于小脸检测器的样本图像(即模板尺寸)较小,因此,当按照现有方式构造出图像金字塔后,采用小脸检测器可以从金字塔较高尺度中检测尺寸相对较小的人脸(若采用标准脸检测器,该人脸需要由较低一层的尺度中检测到)。由此,在检测较小人脸时可避免扫描图像金字塔底部较大的图像。但是,小脸检测器无法检测到覆盖整个图像的人脸,另外,在检测较大的人脸时,检测率也较标准脸检测器低。因此,上述方法中也使用了标准脸检测器扫描图像金字塔靠近顶端的尺度,以保证对较大人脸的检测率。小脸检测器与标准脸检测器扫描的尺度如图3所示,模板尺寸大小如图4所示。
[0094] 通过上述处理,使得输入检测器的滑动窗口数量大幅减少,提高检测速度,同时,还能够保证检测精度和检测率。优选地,为实现输入检测器的滑动窗口数量的减少,可以通过如下两种方式或两种方式的组合进行控制:
[0095] 1、按照现有方式构造出图像金字塔,第一设定层和第二设定层都一定是图像金字塔中位于最底层之上的层;
[0096] 2、在构造图像金字塔时,可以根据目标图像的大小、生成小脸检测器的样本图像大小、生成标准脸检测器的样本图像大小和要检测的目标人脸尺寸来进行,例如确定图像金字塔的层数和各层的尺寸,这样,对于按照现有方式构造图像金字塔时用于进行较小尺寸人脸检测的那些层图像,可以不必再生成,也就是说,生成的图像金字塔层数将小于现有方式构造出的图像金字塔层数。
[0097] 至此,本申请中的第二种人脸检测方法流程结束。本申请提供的两种人脸检测方法可以各自独立使用,也可以结合在一起使用。下面通过一个具体实施例说明上述两种人脸检测方法的具体实现,在该实施例中,将两种人脸检测方法结合到一起使用。
[0098] 图5为本申请实施例的人脸检测方法流程图。在该检测方法中,使用小脸检测器和标准脸检测器进行人脸检测,同时,对于小脸检测器和标准脸检测器,均包括用于人脸粗检测的第一人脸检测模块和用于人脸精检测的第二人脸检测模块。如图5所示,该检测方法包括:
[0099] 步骤501,获取目标图像。
[0100] 获取用于进行人脸检测的目标图像。
[0101] 步骤502,利用目标图像构造图像金字塔。
[0102] 在进行图像金字塔构造时,可以按照现有方式构造,例如根据图像大小确定图像金字塔的层数。或者,也可以在图像大小的基础上,结合生成小脸检测器的样本图像大小a、生成标准脸检测器的样本图像大小b和要检测的目标人脸尺寸c,来构造图像金字塔,确定图像金字塔的层数,这样确定出的层数相比于按照现有方式确定出的层数更小,例如,目标图像为1024*1024,将其作为图像金字塔的最底层(即第一层),按照现有方式确定出的第二层为512*512,第三层为256*256,第四层为128*128,而根据上述a、b和c构造图像金字塔时,可能不再生成原来的第二层;或者,按照现有方式构造图像金字塔时最底层为对目标图像放大后确定出的图像,而根据上述a、b和c构造图像金字塔时,可能最底层为目标图像。
[0103] 通常,图像金字塔的最上层图像大小为人脸检测器的模板尺寸(即生成人脸检测器时的样本图像大小),本申请对此不作限定,例如最上层图像大小可以为小脸或标准脸检测器的模板尺寸。
[0104] 步骤503,以第一步长为间隔,利用滑动窗口扫描图像金字塔中第二设定尺度以上的图像,并利用标准脸检测器中的第一人脸检测模块,对滑动窗口中的图像进行人脸粗检测。
[0105] 本步骤和下步骤中,采用标准脸检测器对图像进行扫描和人脸检测,目的是进行尺寸较大的人脸的检测。
[0106] 具体地,本步骤中,滑动窗口以长步长扫描金字塔第二设定层以上的各层图像。其中,当按照现有方式构造图像金字塔时,第二设定层一定是最底层之上的层,也就是扫描金字塔靠近顶端的多个尺度,具体可以根据目标图像大小、生成标准脸检测器的样本图像大小和要检测的目标人脸尺寸(例如需要检测16*16以上的人脸)来确定第二设定层的位置。或者,当按照本申请新提供的方式构造图像金字塔时,图像金字塔层数变少,第二设定层也可能是图像金字塔的底层。
[0107] 本步骤的扫描步长较长,例如,可以采用4像素,也就是粗扫描步长。扫描窗口输入到标准脸检测器中的第一人脸检测模块(以下称为粗检测模块)。粗检测模块对每个滑动窗口中的图像进行分类,决定窗口内容是否包含人脸,若包含人脸则记录人脸区域坐标和尺寸,并将窗口中的图像作为候选区域。其中,滑动窗口示意图如图6左侧所示,扫描的尺度如图3所示,检测流程如图7所示。这里,粗检测模块是一个独立的标准脸检测器,可以实现人脸检测。
[0108] 标准脸检测器中的粗检测模块采用如下配置:
[0109] -粗检测模块可以由多种方法实现(例如经典的Viola-Jones方法,LBP方法,MB-LBP方法),这里采用MB-LBP特征和Adaboost算法训练的标准脸检测器。本实施例中,训练该标准脸检测器所用样本大小为24×24像素的矩形图像。
[0110] -为实现粗检测,粗检测模块的检测条件较为宽松,例如,对粗检测模块进行训练时,其样本训练是不完全训练,具体地,不完全训练是指粗检测模块具备以下至少一种特征:
[0111] 1、生成粗检测模块时的样本集进行训练时检测率的测试阈值偏低,小于标准设定测试阈值;
[0112] 2、生成粗检测模块时训练的迭代次数较少,低于设定迭代次数。
[0113] -利用粗检测模块进行人脸检测时的检测阈值为在标准阈值的基础上进行偏移得到的宽松阈值。其中,宽松阈值能够保证粗检测模块对人脸的检测率高于所述标准检测阈值对应的检测率,和/或,宽松阈值能够保证粗检测模块对人脸的虚警率高于标准检测阈值对应的虚警率。
[0114] 通过上述处理,可以使粗检测模块以较宽松的条件进行人脸检测,因此使得所有人脸都被选择为候选区域,候选区域也会包含少量背景区域。
[0115] 步骤504,以小于第一步长的第二步长为间隔,利用滑动窗口扫描步骤503选出的候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0116] 本步骤中,接收来自标准脸检测器中的粗检测模块输出的候选区域,并以小步长扫描每个候选区域内的图像,本实施例中精扫描步长采用2像素。扫描窗口内容输入到标准脸检测器中的第二人脸检测模块(以下称为精检测模块),由精检测模块决定窗口中的图像是否为人脸,若为人脸则记录相应区域的坐标和尺寸。精检测模块中扫描窗口示意图如图6右侧所示,扫描的尺度如图3所示,检测流程如图8所示。通常,对同一图像进行的人脸粗检测和人脸精检测,其采用的滑动窗口大小是相同的。这里,精检测模块是一个独立的标准脸检测器,可以实现人脸检测。精检测模块和粗检测模块包括在标准脸检测器中,也就是说,这里的标准脸检测器中实际包括两个独立的人脸检测器,其中第一个人脸检测器(即粗检测模块)输出的区域作为第二个人脸检测器(即精检测模块)的扫描区域。
[0117] 标准脸检测器中的精检测模块采用如下配置:
[0118] -精检测模块可以由多种方法实现(例如经典的Viola-Jones方法,LBP方法,MB-LBP方法),这里采用基于MB-LBP和Adaboost方法训练的人脸分类器。训练标准脸检测器中的精检测模块所用样本大小为24×24像素。
[0119] -标准脸检测器中的精扫描模块采用严格的检测条件,以精确定位人脸区域,剔除背景区域。其中,所谓严格的检测条件是指能够使精扫描模块实现系统要求的人脸检测精度的检测条件,或者,也可以认为是按照现有方式进行人脸检测时的检测条件,例如,严格的人脸检测阈值,训练时标准的迭代次数和标准的测试阈值。
[0120] 步骤505,以第一步长为间隔,利用滑动窗口扫描图像金字塔中第一设定尺度以上的图像,并利用小脸检测器中的第一人脸检测模块,对滑动窗口中的图像进行人脸粗检测。
[0121] 本步骤和下步骤中,采用小脸检测器对图像进行扫描和人脸检测,目的是进行尺寸较小的人脸的检测。
[0122] 具体地,本步骤中,滑动窗口以长步长扫描金字塔第一设定层以上的各层图像。其中,当按照现有方式构造图像金字塔时,第一设定层一定是最底层之上的层,也就是扫描金字塔靠近顶端的多个尺度,具体可以根据目标图像大小、生成小脸检测器的样本图像大小、生成标准脸检测器的样本图像大小和要检测的目标人脸尺寸(例如需要检测16*16以上的人脸)来确定第一设定层的位置。或者,当按照本申请新提供的方式构造图像金字塔时,图像金字塔层数变少,第一设定层也可能是图像金字塔的底层。
[0123] 本步骤的扫描步长较长,例如,可以采用4像素,也就是粗扫描步长。扫描窗口输入到小脸检测器中的第一人脸检测模块(以下称为粗检测模块)。粗检测模块的处理与前述步骤503中粗检测模块的处理基本相同,区别仅在于训练该粗检测模块的所用样本大小较小,例如为16×16像素。
[0124] 具体地,粗检测模块对每个扫描窗口进行分类,决定窗口内容是否包含人脸,若包含人脸则记录人脸区域坐标和尺寸,并将窗口中的图像作为候选区域。扫描窗口示意图如图6所示,扫描的尺度如图3所示,检测流程如图7所示。
[0125] 粗检测模块采用如下配置:
[0126] -粗检测模块可以由多种方法实现(例如经典的Viola-Jones方法,LBP方法,MB-LBP方法),这里采用MB-LBP特征和Adaboost算法训练的标准脸检测器。本实施例中,训练小脸检测器中粗检测模块所用样本大小为16×16像素。
[0127] -用于小脸检测器中的粗检测模块的检测条件较为宽松,使得所有人脸都可被选为候选区域,但候选区域包含少量背景区域。
[0128] 步骤506,以小于第一步长的第二步长为间隔,利用滑动窗口扫描步骤505选出的候选区域,并对相应滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0129] 本步骤中,接收来自小脸检测器中的粗检测模块输出的候选区域,并以小步长扫描每个候选区域内的图像,本实施例中精扫描步长采用2像素。扫描窗口内容输入到标准脸检测器中的第二人脸检测模块(以下称为精检测模块)。本步骤的处理与步骤504中的精检测处理基本相同,区别仅在于,训练小脸检测器中精检测模块的所用样本大小较小,例如,样本大小为16*16像素。
[0130] 具体地,将扫描窗口内容输入到小脸检测器中的精扫描模块,由精扫描模块决定窗口中的内容是否为人脸,若为人脸则记录相应区域的坐标和尺寸。精检测模块中扫描窗口示意图如图6所示,扫描尺度如图3所示,检测流程如图8所示。
[0131] 小脸检测器的精检测模块采用如下配置:
[0132] -精检测模块可以由多种方法实现(例如经典的Viola-Jones方法,LBP方法,MB-LBP方法),这里采用基于MB-LBP和Adaboost方法训练的人脸分类器。训练小脸检测器中的精检测模块的所用样本大小为16×16像素。
[0133] -精检测模块采用严格的检测条件,以精确定位人脸区域,剔除背景区域。
[0134] 上述两组步骤(即步骤503-504和步骤505-506)可以是并行执行,或以任意先后顺序执行。
[0135] 步骤507,对步骤504和步骤506的检测结果进行合并。
[0136] 本步骤可以根据实际需要选择执行或不执行。当执行本步骤时,接收来自于步骤504和步骤506中两个精扫描模块输出的人脸区域的坐标和尺度。并执行以下步骤:
[0137] (1)还原在原始图像中的人脸位置尺寸
[0138] 对于精检测模块输出的人脸:根据检测该人脸的尺度,计算在原图像中该人脸的位置坐标及尺寸。
[0139] (2)对重叠的人脸进行合并:按照检出顺序扫描人脸。定义x和y为两个人脸区域。对于人脸x计算该脸与其他人脸之间的交并比(即人脸交集与人脸并集的比例),若与脸y的交并比大于0.3,且检测尺度之差小于等于4,则认为两个人脸重叠;对重叠脸的位置坐标相加,长度和宽度累加;计算累加的平均值,保存于x中;删除人脸y。
[0140] (3)对步骤(2)中输出的人脸再次合并:计算任意两个人脸之间的交并比及计算两个人脸的面积,若交并比大于0.4则两个人脸重叠,删除面积小的人脸。重复执行该模块,直到所有人脸间的交并比都小于等于0.4。
[0141] 至此,本实施例中的人脸检测流程结束。
[0142] 在上述人脸检测流程中,需要利用人脸检测器进行所有的检测操作,为生成相应的人脸检测器需要进行人脸检测器的训练,下面对人脸检测器的生成和训练进行简单介绍:
[0143] 在下面的介绍中,利用Adaboost分类器训练检测器,使用MB-LBP作为特征,Multiple Branch Tree作为弱分类器,再使用MIP及其改进以训练好的检测器为基础,学习弱分类器阈值。以下分别详述。
[0144] (1)Adaboost算法训练检测器
[0145] AdaBoost是一种迭代算法,其核心思想是把弱分类器集合起来,构造一个更强的分类器。具体方法为:在所有候选弱分类器中,选择一个弱分类器,该弱分类使得分类误差函数最小。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。然后,权重更新过的样本集被用于训练下一个弱分类器,整个训练过程如此迭代地进行下去。
[0146] 误差函数可定义为:
[0147]
[0148] 其中,N为样本数量,wi为样本的权重,yi样本标签(即样本为人脸或背景的指示值),fm(xi)为弱分类器,xi为样本特征,i为样本索引。最终强分类器定义为:
[0149]
[0150] M为弱分类器的个数。当强分类器在测试样本集的检测率和准确率达到给定阈值A时,或者所有弱分类器都已被使用,则训练停止。在前述描述粗检测模块的过程中,提到粗检测模块的检测条件较宽松,可以是检测率的测试阈值较低,也就是指这里的A值设置较小;迭代次数较少,也就是指本步骤中的迭代次数设置较小。
[0151] (2)MB-LBP特征
[0152] 采用MB-LBP特征作为弱分类器的输入。MB-LBP是3x3的网格区域,它可以放置在图像的任何位置。MB-LBP的结构可由图9所示。
[0153] MB-LBP计算网格内每个区域像素的平均值,并将周围网格像素的平均值与中心网格像素平均值进行比较,比较结果使用二进制编码。则每个MB-LBP是一个0到255之间的数字:
[0154]
[0155] 其中,sign(·)为符号函数,gi为周围网格像素平均值,gc为中心网格像素平均值。
[0156] (3)弱分类器
[0157] 由于MB-LBP特征是不可度量的,使用Multi-Branch Tree作为弱分类器。Multi-Branch Tree定义为
[0158]
[0159] 其中,x是MB-LBP特征值,aj(j=0,…,255)是分类器参数。分类器参数通过如下公式学的,
[0160]
[0161] 其中, wi是样本i的权重,xi是样本i的MB-LBP特征值,yi是样本i的标签。
[0162] (4)Multiple Instance Pruning(MIP)及其改进
[0163] 通过Adaboost方法训练得到的分类器如图10所示,其中矩形框代表一个强分类器,而矩形框中的椭圆代表弱分类器。在没有MIP的情况下,图像区域必须通过所有的弱分类器,再由强分类器的阈值决定图像区域中是否包含人脸。而MIP则为每个弱分类器训练阈值,判断图像区域是否为背景可由其中某一个弱分类器决定,而不需要由强分类器决定。
[0164] MIP的训练是个反向传播过程,传统MIP训练流程如下:
[0165] (1)使用训练好的强分类器对所有人脸样本进行分类,并记录经过所有弱分类器时的分数。
[0166] (2)对于某一个人脸样本,强分类器输出重叠的多个检测框,每个检测框都对应从第一个到最后一个弱分类的分数路径。在多个重叠的检测框中,反向传播分数F(x)最大的检测框,即得到该检测框在经过每个弱分类时的分数。如,某一检测框在经过第P个弱分类器时的分数定义为
[0167] (3)对所有训练样本,及他们在某个弱分类器p的分数,寻找最小的分数作为弱分类器p的阈值。这里写为Pos-Threshold。
[0168] 在检测过程中,当图像区域经过弱分类器p时的分数FP(x)小于Pos-Threshold时,则认为该区域为背景,否则传递到下一个弱分类器。
[0169] 但是传统MIP方法仅使用人脸样本训练阈值,使得检测率有所下降。尽管MIP是反向传播过程,负样本在正向传播训练时已经作为考虑因素,但如果考虑负样本对弱分类器阈值的影响,也可使阈值得到进一步优化。本申请中,在按照上述方式确定Pos-Threshold的基础上,同时考虑背景对弱分类器阈值的影响,进行如下处理:
[0170] (1)使用强分类器对所有用于训练的背景样本进行分类,记录经过所有弱分类器时的分数;
[0171] (2)对每个弱分类器p,在所有背景样本对应的弱分类器p的分数中,选择最大的分数作为阈值,定义为Neg-Threshold;
[0172] (3)将Pos-Threshold与Neg-Threshold以一定权重混合,得到相应弱分类器p的阈值threshold=Pos-Threshold×λ1+Neg-Threshold×λ2,其中,λ1和λ2分别为设定的两个权重,依据经验选取,λ1+λ2=1。例如,可以如下设置权值,
[0173] threshold=Pos-Threshold×0.8+Neg-Threshold×0.2。
[0174] 由上述处理可见,本申请中的各类人脸检测器均可以采用下述方式生成:根据多个弱分类器构成强分类器;采用MIP方法,对强分类器进行优化。具体的优化处理可以为:采用MIP方法,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值。
[0175] 更详细地,使用人脸样本和背景样本训练组成强分类器的各弱分类器对应的阈值时,具体处理可以包括:
[0176] 使用强分类器对用于训练的所有人脸样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所述所有人脸样本对应的分数中的最小值,作为该弱分类器的人脸阈值Pos-Threshold;使用强分类器对用于训练的所有背景样本进行检测,并记录经过所有弱分类器的分数;对于每个弱分类器,选择所有背景样本对应的分数中的最大值,作为该弱分类器的背景阈值Neg-Threshold;对于每个弱分类器,将Pos-Threshold和Neg-Threshold以设定的权重进行混合得到该弱分类器对应的阈值。
[0177] 上述即为本申请中两种人脸检测方法的具体实现。
[0178] 按照上述实施例的处理对人脸检测进行了性能测试,如图11所示。从图中可见,系统可检测多种姿态和尺度的人脸。图12展示了上述测试中,按照本申请实施例的方法与其他人脸检测公开方法的性能比较结果。该图比较了采用相似性能,并在速度上具有可比性的方法,可见本申请提出的方法具有最高的性能。同时,在表1中比较了本申请实施例中的方法与其他人脸检测方法的检测速度。在相同的图像尺寸下,本系统取得最快的检测速度。此外,本申请实施例中的方法也可检测更小的人脸。
[0179]
[0180] 通过上述本申请的具体实现可见,在本申请第一种人脸检测方法中,将粗检测与精检测相结合,一方面在粗检测时通过增大滑动窗口的扫描步长,以大量减少扫描窗口,另一方面在精检测时仅对候选区域进行短步长的扫描,以保证检测精度。在另一种人脸检测方法中,对于构造的图像金字塔,利用小脸检测器对图像金字塔中第一设定层以上的各个图像进行人脸检测;利用标准脸检测器对图像金字塔中第二设定层以上的各个图像进行人脸检测。其中,可以将第一设定层和第二设定层都设置为不是图像金字塔的最底层,从而大大减少扫描窗口的数量,同时引入小脸检测器保证检测精度;还可以进一步根据目标图像的大小、生成标准脸检测器的样本图像大小、生成小脸检测器的样本图像大小和要检测的目标人脸尺寸确定图像金字塔的层数,由于引入了小脸检测器,因此确定出的图像金字塔的层数小于按照现有方式确定出的图像金字塔层数,从而能够减少扫描窗口的数量。
[0181] 本申请还提供了人脸检测装置,可以用于实施上述两种人脸检测方法。对应于第一种人脸检测方法的人脸检测装置包括:第一扫描模块、第一人脸检测模块、第二扫描模块和第二人脸检测模块。
[0182] 其中,第一扫描模块,用于以第一步长为间隔,利用滑动窗口扫描目标图像,并将所述滑动窗口中的图像输出给第一人脸检测模块。第一人脸检测模块,用于对第一扫描模块输入的滑动窗口中的图像进行人脸粗检测,选择出候选区域。第二扫描模块,用于以小于第一步长的第二步长为间隔,利用滑动窗口扫描候选区域,并将滑动窗口中的图像输出给第二人脸检测模块。第二人脸检测模块,用于对第二扫描模块输入的滑动窗口中的图像进行人脸精检测,选择出人脸区域。
[0183] 对应于第二种人脸检测方法的人脸检测装置包括:金字塔构造模块、小脸检测模块和标准脸检测模块。
[0184] 其中,金字塔构造模块,用于利用目标图像构造图像金字塔。小脸检测模块,用于对图像金字塔中第一设定层以上的各个图像进行人脸检测。标准脸检测模块,用于对图像金字塔中第二设定层以上的各个图像进行人脸检测。其中,生成小脸检测模块的样本图像小于生成标准脸检测模块的样本图像。
[0185] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈