基于级联神经网络融合肤色特征的人脸检测

2021-11-06 06:54广西警察学院刘敏
中国安全防范技术与应用 2021年4期
关键词:肤色级联人脸

■ 文/广西警察学院 刘敏

关键字:人脸识别 级联神经网络 肤色模型 人脸检测

1 引言

人脸作为识别他人身份的重要生物特征之一,在交通安检、工作考勤等诸多场合有着广泛应用。作为人脸识别的关键部分,人脸检测的效果与最终识别效果息息相关。在实际检测中,由于识别出来的图像受环境、光线、表情、姿态等因素的干扰,会出现误检、漏检、识别精度低等情况。

目前人脸检测的主要方法是基于认知的方法、基于不变特征的方法、基于模板匹配的方法和基于表象的方法等。

基于认知的方法主要是根据预先定义的人脸描述规则对图像进行检测。但该方法难以定义规则,如果规则过于严格会导致无法检测到脸部。反之,则会产生大量的错误检测;基于不变特征的方法是根据人脸的眉毛、眼睛和鼻子等不变特征对人脸进行定位。但是容易受光线、表情等因素的干扰导致准确率低;基于模板匹配的方法是先定义一些人脸标准模式描述人脸特征,然后根据输入图像与标准模式之间的相关性进行计算,最终确定输入的图像是否为人脸。但不能有效处理尺度、表情等变化,因此检测结果也不准确;基于表象的方法是通过机器学习的方法分析统计大量样本图像,得出的检测模型能较好地显示出人脸特征的多样性,是当前人脸识别研究的主流方法。

为了克服对以上几种检测结果的不利影响,本文提出一种将面部皮肤颜色特征与深度神经网络特征相结合的检测方法,根据肤色特征对图像进行滤波处理,用肤色模型删除背景,用神经网络级联确定最终的分类器,最后再对去除了背景的图像进行人脸检测。

2 总体算法流程

和传统的人脸检测方法相比,本文在人脸检测方面做了以下改进:

1)提出了肤色+CNN级联进行快速人脸检测;

2)引入了级联中基于CNN的人脸边界框校准步骤,加速CNN级联和高质量定位;

3)提出了一种多分辨率CNN架构,比只有部分结构架构、单分辨率的CNN的识别力更大。

具体算法流程参见图1。

图1 总体算法流程

首先给定一个测试图像,进行肤色处理后,利用12-net密集扫描不同尺度的图像,快速过滤出90%以上的非人脸检测窗口,剩下的检测窗口由12-calibration-net处理,逐个处理12×12图像,调整其大小和位置,以便着手处理邻近的可能性人脸。

应用非极大值抑制(NMS)用于快速消除重叠检测窗口。剩下的检测窗口被调整成适合24-net的24×24的输入图像,进一步过滤掉近90%的剩余探测窗口。与上一步骤类似,其余的检测窗口由24-calibration-net调整,使用NMS来进一步减少检测窗口数量。

最后,48-net接收通过的检测图像,并根据48×48的大小进行检测。利用NMS和检测评价函数(IOU)消除重叠的检测窗口,然后用48-calibration-net校准剩余检测窗口的边界和输出。

3 相关设计

3.1神经网络对于人脸研究的相关介绍

人脸表情是计算机视觉中一个值得研究的问题。现代的人脸检测方法比较容易检测近距离正面人脸。当前,这一领域的研究更多地集中在各种复杂条件下的人脸检测问题,例如动作的变化、变幻的表情和极强极弱的光照等,这些都会导致人脸的视觉变化,从而大大降低人脸检测的准确性。

人脸检测的困难主要来自两个方面:一是复杂环境下人脸的视觉变化;二是合理的人脸位置和尽量减少人脸的搜索范围。前者需要通过人脸检测来准确地处理人脸和非人脸问题,后者需要进一步提高人脸位置的准确性和提高人脸的检测效率。

自Viola等首次利用人脸特征进行人脸检测后,带有简单特征的算法就成为最普遍和最有效的实用人脸检测方法。这些简单的特性能快速运算、快速判断人脸与非人脸。与此同时,通过算法构造一组简单特征对人脸/非人脸进行精确分类。最初的Viola-Jones人脸检测器使用的是快速运算可以足够识别的正面人脸的Haar特征。但是,由于Haar特征的简单特性,在人脸处于无法预知的光照中的各种姿态及各种表情下的复杂环境里,这种算法相对薄弱。

过去的10年里,Viola-Jones人脸检测器在遵循带有更多先进特征的算法框架基础上有了很大改进。先进特征构造的人脸检测虽然增加了计算的复杂度,但提高了精确率。为了达到相似的准确率,级联阶段会大大减少,级联阶段减少后总体计算可能保持不变或减少。

这一改进表明,只要能够在早期快速过滤掉非人脸,就有可能在实际的人脸检测解决方案中应用更加先进的特征。在这项工作中,建议使用卷积神经网络(CNN)进行人脸检测。与之前人工选择的特征相比,CNN可以在训练阶段通过大量的数据训练自动获取相关特征,从而去捕捉复杂的视觉变化。

3.2肤色处理

肤色处理是指在彩色图像检测中的图像预处理和背景区域删除。肤色处理通常使用的颜色空间是RGB,但RGB很容易受到光线的影响,所以直接利用RGB肤色预处理的效果较差。相比之下,YIQ颜色空间更稳定,不同种族的肤色值基本上保持在一定频率的间隔中。因此,在检测彩色图像之前,可以将图像的颜色空间从RGB转换为YIQ,保留皮肤区域,去掉非皮肤区域作为背景,这样可以缩短后续测试过程的错误检测,提高检测速度和准确率。

大量实验数据证明,人体肤色的I值在0.03~0.25之间,所以,在检测彩色图像之前,应先将颜色空间从RGB转换为YIQ,然后保留I分量值在0.03和0.25之间的区域,删除剩余区域作为背景。处理公式和处理效果图分别如下所示:

图2 肤色处理效果图

3.3 CNN网络结构

3.3.1 12-net

在整个图像处理流程中,12-net是指第一个CNN,这个CNN的结构如图3所示。

图3 12-net结构图

3.3.2 12-calibration-net

12-calibration-net指的是12-net处理之后用于标定边界盒的CNN。结构如图4所示。

图4 标定边界盒的CNN结构图

该网络用于窗口校正,使用三个偏移变量:Xn:水平平移量,Yn:垂直平移量,Sn:宽高比缩放。给定一个检测窗口(x,y,w,h),左上点坐标为(x,y),宽和高为(w,h),窗口的控制坐标调整公式如下:

这里提供N=5×3×3=45个[s,x,y]偏移向量,用于修正位置和大小。三个参数包括以下值:

同时对偏移向量三个参数进行校正:

3.3.3 24-net

24-net是中间的人脸非人脸二分类CNN,进一步减少检测窗口的数量。输入为来自12-calibration-net的人脸检测窗口,在此处理过程中图像被调整成24×24图像,并由24-net判断二分类结果。CNN结构如图5所示。

除此之外,在24-net结构图中采用多分辨率结构。除了输入24×24,与12-net一样,在24-net也将12×12分辨率输入一个低层结构。12-net低层结构的全连接层被连接到128-output全连接层用以分类,如图5所示。在这种多分辨率结构下,补充12×12分辨率信息到24-net,便于检测小尺寸人脸。整个CNN变得更有识别力,12-net低层结构的高层也仅是整个运算的一小部分。

图5 24-net结构图

同时,通过对比有多分辨率设计的检测性能和没有多分辨率设计的检测性,结果发现,在相同的召回率下,多分辨率结构的设计可以在较少的错误检测窗口下达到相同的召回率。在高查全率中这种差距更明显。

3.3.4 24-calibration-net

与12-calibration-net类似,24-calibration-net是另一个带有N校准图的校准网络。结构如图6所示。

图6 24-calibration-net结构图

除了24-calibration-net输入大小是24×24以外,事先定义的图案和校准步骤与12-calibration-net相同。

3.3.5 48-net

48-net是最后一个人脸非人脸二分类CNN。在这个级联阶段,运用一个更强大但速度更慢的CNN是可行的。如图7所示,48-net相对更复杂。和24-net类似,48-net中也采用多分辨率设计,额外的输入副本24×24和低层结构与24-net相同。

图7 48-net结构图

3.3.6 48-calibration-net

48-calibration-net是级联的最后一个阶段。CNN结构如图8所示。

图8 48-calibration-net结构图

事先定义同样的N=45校准图提供给48-calibrationnet,如3.2.2部分,我们在这个CNN里仅用一个池化层来得到更多的精确校准。

3.3.7非极大值抑制(NMS)

在对图片扫描划分的时候,因生成图片较多,需要采用NMS的实施方案。用最高置信值反复选择检测窗口和高于预置临界值的IOU比率来反复消除检测窗口,最终确定检测窗口。

在12-net和24-net中,低层CNN的识别力可能难以处理具有挑战性的假阳性。因此,在12-calibrationnet和24-calibration-net处理之后,在相同尺寸检测窗口中单独应用NMS,以避免出现较低的召回率。在不同尺寸的检测窗口中普遍应用48-net后的NMS,让大多数精确的检测窗口在48个校准网中以正确的尺寸脱颖而出,从而避免多余的运算。

3.4校准CNN

校准网络在人脸检测级联中有何作用?研究表明,在无校准步骤条件下,下一个CNN在级联中只能对更多的区域进行操作,以保持较好的召回率,整个测试的运行时间明显增加。为解决这一问题,可训练一个多级分类CNN用于校准。校准回归CNN需要更多的训练数据,而多级校准CNN可在有限的训练数据中训练。结果表明,校准之后检测边界框能更好地对齐真实的人脸中心。因此,多级校准能通过更小范围粗略扫描窗口,实现更精准的人脸定位。

3.5训练步骤

在级联CNN训练中,首先收集5800个背景图,得到非人脸训练样本,运用在AFLW数据集中的人脸作为人脸训练样本。

对级联中的二元分类CNN和多级分类CNN,运用多项逻辑回归目标函数来实现训练最优化。

3.5.1校准网络

3.5.2检测网络

在级联结构下训练检测网络12-net,24-net,和48-net。把所有的训练人脸调整成12×12大小,并随机从背景图中取20万个非人脸样本训练12-net。然后运用一个在AFLW图子集中包含12-net和12-calibration的2-阶段级联,来确定在99%召回率的临界值T1。

接下来,用2-阶段级联密集扫描所有背景图。置信度大于T1的所有检测窗口变成24-net的非人脸样本。用采集的非人脸训练样本和24×24的所有训练人脸来训练24-net。之 后,对于包含12-net、12-calibration-net、24-net和24-calibration-net的4-阶段级联,采用同样的步骤。设置临界值T2来保持97%的召回率。

在所有的背景图中采用相同的程序,用4-阶段级联采集48-net的非人脸样本。在48×48中用人脸和非人脸训练样本来训练48-net。

在级联的每个阶段,训练CNN处理子问题比普遍处理人脸非人脸二分类更容易。与含有单独CNN的设计去扫描整个人脸图相比,级联有可能使含有简单的多个CNN达到相同甚至更好的精确度。

4 实验结果

使用公众人脸训练数据集上使用上述级联检测方法。在FDDB数据集中,检测器在不连续值等式中胜过达到最先进水准的方法。同时,检测器通过较小地降低性能的方式可以变成更快的版本。

4.1 AFW

AFW是一个由Zhu等人创造的205个图像数据源。在AFW上运算检测器,AFW等式中,采用Mathias等人的矫正方法去探寻检测输出的整体刚性转换,使地面真值覆盖率用共享运算工具达到最大值。但是边界不能简单的线性映射到AFW边界,在普遍转换阶段之后,错配仍然存在,所以需要使用手工运算输出检测,得到更好的结果。

4.2 FDDB

FDDB数据源在2845个图像中,包含5171个边界人脸。这是一个大规模运用标准化运算步骤的人脸检测数据集。FDDB运用椭圆人脸边界,运算定义不连续值和连续值。在不连续值运算中,计算出被检测人脸的数量相对于误报的数量。只有当含有大于0.5的IOU比率才能把检测边界框(或椭圆)认作是真人脸。在连续值运算中,可以通过把IOU比率当作检测边界框的匹配度量的方式来运算出在多大程度上定位人脸。

4.3运行时间效率

检测工作的重要优势之一是运行时间效率。CNN级联可以快速实现人脸检测。此外,简单改变临界值T1和T2,会出现一个特定的精度计算交换任务。结果表明,本文提出的CNN级联可以和AFW的Picasa相比。

通过设置过高临界值过滤掉早期阶段的大部分检测窗口,使用校准网络把边界框校正回到人脸中心,更能增加晚期阶段的召回。一般来说, 对于12-net和12-calibration-net而言,只有2.36%的检测窗口能够通过;而对于24-net和24-calibration-net而言,再输入48-net,则有14.3%的剩余检测窗口可以通过。

在有相同临界值的条件下运算检测器,检测来源于640×480VGA图像。仅扫描12-net阶段的80×80的人脸,使用校准网络,能在校准范围内检测比80×80更小或更大的人脸。在这个场景中,检测器平均77毫秒处理一个在2.0GHzCPU核心的图像。相同设置下,48-net检测花费770毫秒可以扫描整个图像,展示了级联设计的时间效率。在GPU card上,无代码优化条件下,级联检测时间进一步减少到每张图像10毫秒,这个检测速度处于先进水平。

5结语

基于肤色的级联神经网络已被成功应用于人脸识别、手写体识别等方面。文中初步探讨了肤色模型与深度学习方法的图像处理相结合在人脸检测方面的应用,提出了基于肤色的人脸检测原理,进行了实验,取得了令人满意的结果,部分检测图像如图9所示。该方法在人脸检测的应用中有着广阔的前景,接下来的工作是进一步对该方法进行改进,希望可以进一步提高其性能。

图9 部分监测图像

猜你喜欢
肤色级联人脸
有特点的人脸
一起学画人脸
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
三国漫——人脸解锁
级联LDPC码的STBC-OFDM系统
基于级联MUSIC的面阵中的二维DOA估计算法
长得象人脸的十种动物
LCL滤波器在6kV级联STATCOM中的应用