Advertisement

人脸检测算法综述

阅读量:

其他机器学习与深度学习算法的知识体系可由《机器学习-原理、算法与应用》一书详尽阐述。该书由清华大学出版社出版发行,全书由雷明教授撰写并经SIGAI公众号核心团队精心打造。

复制代码
 导言

    
 人脸检测是目前所有目标检测子方向中被研究的最充分的问题之一,它在安防监控,人证比对,人机交
    
 互,社交和娱乐等方面有很强的应用价值,也是整个人脸识别算法的第一步。在本文中,SIGAI将和大
    
 家一起回顾人脸检测算法的整个发展历史。

问题描述

该方法的主要任务是识别出图像中所有的人脸位置。算法运行后会生成一个包含人脸外接矩形坐标的列表,并可能包含姿态信息如面部倾斜角度等。以下是一张图像的人脸检测结果展示:

尽管人脸由其明显的特征如眉毛眼鼻嘴等构成,在形态上接近于一个刚性物体

人脸检测算法要解决以下几个核心问题:

复制代码
  人脸可能出现在图像中的任何一个位置

    
  人脸可能有不同的大小
    
  人脸在图像中可能有不同的视角和姿态
    
  人脸可能部分被遮挡

判断一个脸测算法优劣的标准包括检真率与误检率。即定义为准确识别人数与实际进入人数的比例。

算法需要在检测率和误报率之间寻求平衡,在最佳状态下表现出较高的检测能力和较低的误报水平。

传统脸部检测算法流程如下:通过大量的人脸图像与非人脸图像的数据训练获得一种能够区分两类数据的有效分类器,并被称作脸部检测模板。该分类器对固定尺寸的照片进行处理,并判定给定输入是否为脸部图像即判断输入属于两类情况中的哪一类。如图所示展示了该二分类器的工作原理

因为人脸可能出现在任意位置的图像中,在检测过程中使用固定尺寸的窗口在图像中从上至下、从左至右移动扫描以识别子图像是人像的技术被称为滑动窗口技术(sliding window)。为了能够识别不同尺寸的脸像,则需先将原图放大或缩小生成多级图谱并对每个缩放后的版本重复上述滑动窗体搜索流程。这种不断缩放再搜索的过程会导致整体搜索速度变慢因而耗时较多。

考虑到一个人脸附件可能识别出多个候选定位框,在检测结果中可能有重复项出现的情况下,则需对这些结果进行融合去重处理。多尺度滑动窗口技术的原理如下图所示。

典型应用

该技术是机器视觉领域中一个长期深入探索的经典课题,在安防监控、人证识别、人机交互及社交等多个领域均展现出显著的应用价值。基于现有技术的发展水平,在消费电子设备如数码相机与智能手机等端产品上,已广泛部署该技术以实现成像过程中的人脸对焦功能,并可将图像按类别整理分类。为了实现虚拟美颜效果,在实际应用中需利用该技术首先定位被拍摄者的人脸区域,并通过面部对齐算法确定其五官及皮肤区域后才能执行相关美颜处理。

早期算法

我们把整个脸部检测算法系统划分为三个主要阶段:早期算法、AdaBoost框架和深度学习时代,在接下来的部分中详细阐述这三个方面的内容。

基于模板的人脸检测方法采用的是匹配技术,在不同位置上与目标图像进行比对以判断该位置是否存在人脸;随后引入了机器学习方法来解决这一问题,并具体包括神经网络、支持向量机等分类器作为解决方案;这些方法主要针对图像某一区域进行了二分法分类任务

早期的有代表性研究成果主要是由Rowley等提出的文献[1][2]。基于神经网络技术的人脸检测方法采用了20x20尺寸的面部图像与非面部图像作为训练数据。文献[1]所描述的方法主要针对的是近似正面向前的人脸检测问题。

文献[2]提出的方法旨在针对多角度人脸检测问题进行研究与优化。该系统包含两个神经网络模块,在完成相关任务的同时实现了对复杂场景下的检测精度提升。其中第一个模块主要负责对人脸角度进行估计,并通过旋转检测窗口的方式对目标进行校正处理;第二个模块则负责判断校正后的图像是否为有效的人脸图像。通过这种组合式的处理方式,在保证检测准确率的同时显著提升了算法的鲁棒性

Rowley的方案具有良好的精度。然而,在设计上相对复杂,并且采用了密集滑动窗口作为采样分类的方式导致其速度略显缓慢。

AdaBoost框架

在介绍完AdaBoost框架后,我们将转向探讨后续方法,这些方法均基于PAC学习理论(probably approximately correct)构建了一套集成学习算法(ensemble learning)。其核心概念在于利用多个基础弱分类器组合成一个高精度强分类器,而PAC理论为该方法提供了可靠的基础。感谢大神Leslie-Valiant!接下来我们将详细分析FDDB上各种检测算法的ROC曲线,并按照这些ROC曲线上的算法展开讨论。

在2001年Viola和Jones开发了一种基于AdaBoost的目标检测算法[10]。该方法通过引入Haar-like特征并结合级联AdaBoost分类器实现了快速检测,在性能上较之前的方法提升了两个数量级的同时保持了较高的识别精度;为此他们将其命名为VJ框架。VJ框架是人工智能领域中里程碑式的突破性成果,在AdaBoost目标检测框架方面奠定了重要基础;因此值得重点学习与探讨。

基于级联AdaBoost算法的目标检测机制旨在通过多级AdaBoost分类器协同作用实现候选框的分类判定。这些分类器按照一定顺序构成一个流程网络,并依次对滑动窗口内的候选框图像进行特征分析与判断。最终判断其为人脸还是非人脸类型。

在该系列AdaBoost分类器中, 前面的部分设计较为简单, 其中的弱学习算法数量有限, 因此能够迅速筛除大量非人像候选框. 然而, 这种方法也可能导致将某些非人像图像误判为人像. 当某一候选框通过初始筛选阶段并被确认为人像时, 就会被送入后续阶段进一步验证. 如此类推, 若某待检窗口经所有强学习算法检验后均达标, 则判定其为人像; 否则视为非人像. 图片所示即为此处多级决策流程图

这种思想的核心在于利用简单的强分类器在早期阶段迅速筛选出大量非人脸候选框,在确保较高识别准确率的同时,最终能从所有级强分类器中筛选出非常有限数量的样本。基于这一现象,在实际应用中显著提升了目标检测效率。

为了性能优化需求,在实际应用中,默认选择将弱分类器配置为基于 Haar-like 特征的设计方案。这种选择其来源归因于小波分析中的 Haar 小波变换这一理论基础支撑。值得注意的是,哈达玛矩阵(即 Haar 小波)是一种最简单的正交小波函数(基于正交性原理),它特别适用于快速计算信号的不同频次成分之间的差异关系。该方法通过均值与细节分解实现对目标物体的关键部位进行精确识别,并在此基础上构建分类器模型以实现目标检测功能。如图所示为基本 Haar-like 特征的典型结构示意图:展示了相邻矩形区域像素求和差这一核心概念及其在图像处理中的重要地位

在图像处理中, Haar-like特征通过计算白框区域内所有像素值之和与黑区域内所有像素值之和之间的差异来表征.具体而言,我们可以采用如下方法进行分析:首先,我们从图像中选取一个特定的目标特征,随后按照以下步骤进行操作:第一步,我们计算目标特征左部白框区域内所有像素值之和;第二步,我们同样对右部黑区域内所有的像素值进行求合;第三步,将前两步的结果相减即得到该目标特征对应的Haar-like特征值.

这种特征提取方法能够有效捕捉图像中的边缘轮廓以及形态变化等关键细节信息;各特征维度上展现的图像变换情况能够全面反映目标物体的形态特征;通过分析面部五官各自所具有的独特明暗层次分布情况能够更加精准地匹配Haar-like特征的关键特性。

该系统通过采用了称为积分图(Integral Image)的机制来实现快速计算的目的。利用积分图能够迅速计算出图像任意矩形区域的所有像素值总和,并进而提取不同类型的Haar-like特征参数。考虑一张图像,在其中第i行第j列处的像素值记作I(i,j) ,则其对应的积分图定义如下:

Sum(i,j) = I(i,j) + Sum(i-1,j) + Sum(i,j-1) - Sum(i-1,j-1)

即原始图像中每一个点左边上方的所有元素之和。构建完成之后,在构造完成积分图之后,在其基础上利用它就可以迅速计算出任意一个矩形区域内的像素总和;例如,在下图所示的矩形框中

如图所示,在给定的图像中,需计算该黑色矩形框内所有像素点的灰度值总和。若已知上述四个矩形各自底部右端点的位置坐标分别为

具体来说,在计算特定矩形区域的像素值总和时,需将黑色区域的所有像素值相加作为基础数值。随后分别扣除上面两个矩形框中的像素值之和以及左边两个矩形框中的像素值之和。然而由于左上角矩形框被扣除两次,因此必须将其像素值加回一次以达到正确的计算结果。一旦求得任意一个矩形区域内的像素值总和,则可以通过简单的数学运算快速得出该区域内所有 Haar-like 特征的权重系数之和,在此基础之上即可轻松获得任意一种 Haar-like 特征的具体权重系数。如图所示,在 AdaBoost 算法的帮助下自适应地筛选出对区分人脸与非人脸具有实用价值的关键 Haar-like 特征描述项,这与人类直观感受基本吻合:这些特征既能有效地区分不同的人脸区域,在一定程度上也符合人类对人脸结构的认知规律

弱分类器采用了深度极浅且结构简单的决策树,并且甚至仅包含一个内部节点。此处对决策树的训练算法不做详细说明需要注意的是这里的特征向量具有稀疏性即每棵决策树仅接收有限数量的特征分量作为输入并基于这些分量进行判断

强分类器与之前介绍的一致性较高,在这里我们特别强调其核心特征即引入了一个调节阈值:

这个式子表明提升分类器的层级将导致检测性能下降。具体而言,在第一种情况下(即"前者"),其含义是一个负类样例被每一个一级分类器误判为正类的概率;在第二种情况下(即"后者"),其含义则是一个正类样例能够被全部一级分类器正确识别为正类的概率。

随着VJ算法的诞生后有效地解决了近似正面人脸的照片识别问题。随后提出了众多优化方案,在深度学习技术尚未成熟之前一直是该领域研究的核心框架。这些优化方案的主要改进方向集中在以下几个方面:

这一系列新开发的特性涵盖扩展的Haar特徵[4]、ACF特徵[15]等,在描述能力上相比传统Haar-like特徵更为卓越的同时计算开销相对较低

除了现有的AdaBoost分类器外,在VJ框架中采用的是离散型AdaBoost算法;此外还有实数型;Logit型;Gentle型等多种方案。这些算法不仅可以输出分类标签值还可以提供置信度并且具有较高的精度。

分级组合模式采用Soft Cascade框架(该文后续将详细介绍),整合了VJ方法中多个高精度特征检测器为单一高效的强分类器。另一个重要研究方向则是针对不同姿态与角度的脸像进行检测。在VJ方法中这种串行处理架构仅提供一条独立的处理路径。为了提高检测效率与准确性改进方案主要采用树状并行与金字塔多层结合的方式实现。鉴于篇幅限制,在此不做详细阐述

在工业界方案之前,在深度学习兴起之前,则是以VJ算法为基础的方案。然而尽管如此,VJ算法仍然存在一些局限性。

复制代码
 (1)Haar-like特征是一种相对简单的特征,其稳定性较低;

    
 (2)弱分类器采用简单的决策树,容易过拟合。因此,该算法对于解决正面的 人脸效果好,对于人
    
     脸的遮挡,姿态,表情等特殊且复杂的情况,处理效果不理想(虽然有了一些改进方案,但还是
    
     不够彻底!!)。
    
 (3 基于VJ-cascade的分类器设计,进入下一个stage后,之前的信息都丢弃了,分类器评价一个
    
     样本不会基于它在之前stage的表现----这样的分类器鲁棒性差。

ACF[15](Aggregate Channel Features across Multi-View Face Detections)是一种能够为分类任务提供充足特征选择能力的方法。在完成原始图像预处理后,在所得出的结果中提取多个图像通道。这些渠道包括红绿蓝(RGB)渠道、通过平滑滤波处理后的渠道以及其他基于x和y方向上的梯度图像等不同类型的渠道。将所有提取到的信息合并在一起,在此基础之上系统性地构建特征向量,并通过软Cascade分类器实现最终目标

相较于VJ-cascade的设计,Soft-Cascade采用几个改进的方案:

复制代码
 (1)每个stage的决策函数不是二值而是标量值(scalar-valued) ,且与该样本有多"容易"通过这个

    
      stage以及在这个stage的相对重要性成比例。
    
 (2)生成的决策函数是需要通过之前每个阶段的值而不单单是本阶段来判定。
    
 (3)文中把检测器的运行时间-准确率权衡通过一个叫ROC surface的3维曲面清楚的展示出来,方便
    
     调节参数,可以明确的知道动了哪个参数会对这个检测器的性能会有些什么影响。

DMP模型

DPM(可变形的部分模型),作为一种基于组件的传统检测算法,在实际应用中展现出独特的优势与灵活性。它以其名称所暗示的意义而成为可变形组件模型的经典代表。该模型由Felzenszwalb于2008年首次提出,并在CVPR、NIPS等顶级计算机视觉会议发表了一系列创新性研究论文;并荣获PASCAL VOC 2010年度"终身成就奖"这一最高荣誉

由于DPM算法[16]是一种以组件为基础设计的一种检测机制,因此该方法能够有效地识别扭曲、不同性别、多姿态以及多角度的脸部特征(由于人面器官的相对固定性,采用刚性模型处理能够显著提升检测效果))。

DPM方法主要依赖于FHOG来进行特征提取过程。作者对HOG进行了显著的修改,并未直接采用4×9=36维向量;相反地,在每个8×8像素的小块(cell)均提取出18+9+4=31维的特征向量。通过主成分分析法(PCA)进行可视化结果处理时选择了9+4维特征维度。该方法在户外人脸数据集上的表现优于Viola-Jones算法,在判断效率方面同样达到了相近的效果水平;然而由于模型过于复杂导致计算效率较低,在实时性应用中存在明显局限性。为此研究团队依次引入了级联分类器策略,并通过积分图方法优化了特征计算流程;尽管如此但目前仍未能达到Viola-Jones算法在计算效率上的优势

DPM模型的主要问题是速度太慢,在工程应用中通常不被采用;相反地,则会更倾向于选择Adaptive Boosting框架作为其算法基础。

传统的人工设计特征具有不稳定性,在实际应用中容易受到光照条件、观察角度以及物体遮挡等因素的影响。因此,在复杂的真实-world环境下进行人脸识别时难以实现稳定的性能,并且通常仅适用于特定的应用场景。随着深度学习技术的发展,
DCNN(深度卷积神经网络)能够有效地提取图像中目标物体各层次的空间语义信息,
并且具有较强的鲁棒性,
目前大多数先进的人脸识别算法都是以深度卷积神经网络为基础构建起来的。

基于深度学习的技术在FDDB数据集上已接近极限水平。现在是时候发布一个新的基准测试集来评估现有算法的表现。WIDERFace测试集展示了多样化的检测场景,并且在该平台上各算法均取得了显著的性能提升。

深度学习框架

随后,在图像分类领域取得显著成效的卷积神经网络迅速转向了人脸识别问题,并在精度上显著超越了之前的AdaBoost框架。如今已有诸多精确且高效的算法可实现这一目标。为了解决这一问题,基于卷积神经网络的人脸检测方法采用了多种技术手段以降低计算负担并确保实时性。

Cascade CNN

Cascade CNN[17]可被视为传统技术和深度学习结合的一个典范,在某种程度上与VJ的人脸检测系统相似,在于它们都包含有多个识别模块;然而区别在于,在于Cascade CNN在每个层级上都采用了卷积神经网络作为识别工具

基于多尺度的人脸图像金字塔结构设计,在本研究中采用了一种高效的特征提取方法。其中,
12-Net系统能够迅速排除超过90%的非目标检测窗口,
并在此基础上对剩余候选框进行优化处理,
最终输出符合潜在人脸特征的标准候选框集合。

利用非极大值抑制技术(NMS)融合高度重叠的候选区域,并将其标准化为24 \times 24大小作为输入传递给24-net模型。这一步骤将有效地去除约剩余90%以上的候选区域。类似于之前的流程,在此阶段将通过校准网络(Calibration Net)对候选区域进行调整,并结合NMS技术进一步优化以减少待检区域的数量

将之前各层级检测所得的图像区域经过归一化处理后输入48-net模型进行分类操作后得到进一步筛选出的人脸候选窗口。随后运用NMS算法对这些候选窗口进行合并处理,并将这些经过NMS合并后的候选窗口输入至48-calibration-net网络中用于矫正调整最终输出结果

12×12、24×24以及48×48尺寸被用作输入以实现校准的CNN网络架构设计。其中其输出涵盖共45种矫正模式。

文中影响区域位置和大小的要素包括三个:尺度、X方向偏移以及Y方向偏移。这些要素总共组合出了5×3×3=45种不同的模式。

Cascade CNN在开放环境下对光照和姿态等因素表现出较强的鲁棒性,在此过程中展现出良好的适应能力;然而该框架的第一级识别阶段仍然采用了密集滑动窗口的方式进行特征提取,在处理包含大量微小的人脸特征的高分辨率图像时受到了一定的性能限制。

DenseBox

文献[18]开发了一种名为DenseBox的目标检测技术,特别适用于处理像人脸这样小尺寸的目标。该方法基于全卷积神经网络设计,在同一网络架构中同时预测出目标边界框及其分类置信度。在同时识别关键部位的过程中,该方法实现了检测精度的显著提升。

复制代码
 检测时的流程如下:

    
 1.对待检测图像进行缩放,将各种尺度的图像送入卷积网络中处理,以检测不同大小的目标。
    
 2.经过多次卷积和池化操作之后,对特征图像进行上采样然后再进行卷积,得到最终的输出图像,这张
    
   图像包含了每个位置出现目标的概率,以及目标的位置、大小信息。
    
 3.由输出图像得到目标矩形框。
    
 4.非最大抑制,得到最终的检测结果。

在检测时卷积网络接受

mimes n

的输入图像,产生5个通道的

m/4imes n/4

输出图像。假设目标矩形左上角

p_{t}

的坐标为

,右下角

p_{b}

的坐标为

。输出图像中位于点(

x_{i},y_{i}

)处的像素用5维向量描述了一个目标的矩形框和置信度信息:

第一个分量代表目标的置信度,在后续四个维度中分别对应本像素与其所包围矩形框左上角点、右下角点之间的距离关系。针对图像中的每一个像素点而言,都会被转化为一个矩形框及其对应的置信度值;随后通过设定特定阈值筛选出置信度高于设定阈值的所有候选框,并利用非最大抑制算法去除重叠区域后的多余检测结果

backbone基于VGG 19网络进行优化设计,并由16个卷积层构成。其中前12个卷积层通过VGG 19模型参数进行初始化设置。其输出依次输入到四个特定的卷积操作中。这些操作分别生成单通道预测图和四通道定位特征图。整个网络架构分为两个独立的功能模块:一个用于置信度预测、另一个用于目标边界定位计算。如图所示展示了整体框架结构

DenseBox的网络结构

以提升检测精度为目标采用多尺度融合策略通过拼接conv3_4与conv_4_4的所有卷积特征并将其输入到后续流程中为了解决尺寸不匹配的问题在本阶段我们采用上采样与线性插值技术来放大较小尺寸的图像并使两种图像达到相同的尺寸

由于输出层分为两个并行的部分,在计算损失时采用交叉熵方法进行评估。其中第一项输出表示分类置信度即该位置是否为目标的概率;第二项则用于真实类别标签取值为0或1的情况区分,并分别对应背景与目标;分类损失函数定义为:

Faceness-Net

该方法[19]遵循从粗等到精细的处理流程。该系统利用多个深度卷积神经网络(DCNN)架构识别面部特征并赋予其评分。随后通过规则分析各部位得分信息来确定候选的脸部区域。最后采用Refine网络进一步优化候选区域以实现精确的人脸检测。整体流程如图 Faceness(b)。

系统主要包含了2个阶段:

第1阶段:生成partness map,由局部推理出人脸候选区域。

基于属性感知的深度网络生成了面部部件映射图(Partness Map),见附图所示。文章中所涉及五个面部特征:头发、眼睛、鼻子、嘴唇和胡须。通过各部分间的结合计算出面部得分。各部分之间具有空间排列关系,在描述面部特征时需考虑其相对位置。因此利用部件的空间排列来判断面部相似性。最后依据这一得分对原始的人脸提议进行排序处理。见附图(b)

第2阶段:Refining the face
hypotheses

在上一阶段生成的候选区域已有较高的召回率,在经过对一个人脸分类器和边界回归模型进行针对性训练后,其性能可进一步优化。

Faceness的整体性能展现出显著的进步。在FDDB数据集上取得的最佳检测精度是当误检数为100时达到84%,而Faceness系统在相同误检条件下实现了近似的88%检测率,在这一指标上比现有方法提升了大约4个百分点;值得注意的是,在算法性能得到显著增强的同时作者还进行了多方面的技术优化:一方面通过各网络之间共享参数来减少总参数量(减少了约27%,即从83%减少到56%);另一方面采用了多任务学习的方法,在同一网络中实现了多个目标

MTCNN

MTCNN[20]意指一种多任务方法。该方法将人脸区域检测与关键点定位集成在一起。类似于Cascade CNN的方法也采用了类似的分层架构。但其整体思路更为巧妙而合理。总体而言,MTCNN一般包括三个主要组件:PNet,RNet及ONet.如图所示

cascade CNN 的一级 12 网络采用密集窗口采样的策略进行分类,在实际应用中存在明显的局限性;而 MTCNN 在测试阶段 PNet 架构设计采用了全卷积网络(FCN)结构。这一特点使得网络能够适应不同尺寸的输入图像,并通过将卷积运算替代滑动窗口方法实现了更高的计算效率。图中展示了不同尺度图像经过 PNet 后的密集分类响应图(dense prediction response map)。

在增加了人脸5个关键点的回归任务之外,在calibration阶段通过直接回归真实位置坐标的偏移量来实现替代的方式取代了Cascade CNN中的固定模式分类方式这一方法使得整体思路更加合理

该系统的设计理念非常出色,在实现将人脸检测与对齐功能有机融合的同时,成功实现了整体计算复杂度的有效优化。系统能够在中端设备上稳定运行至20至30帧每秒(FPS),并且已被广泛应用于多个工业级应用场景。

先展示一张据说目前世界上人数最多的合照来吓唬大家一把。单从远处望去就能大致估算一下大概有多少人聚集在那里呢?由于本文对小目标人脸检测有着独特的见解,在接下来的文章里我们将会花更多篇幅对此进行深入探讨。

HR

之前介绍的方法普遍未聚焦于小目标的特性分析。尽管如此,在该领域依然面临一个重要的挑战:即有效识别具有独特属性的小尺寸物体。参考文献[21]中所提出的新型检测器,在综合考虑尺度特征、分辨率信息以及上下文关系的基础上实现了对小目标的有效识别。在示例图中展示了1000张人脸图像,在这些图像中被系统成功识别出约8%的小脸图案(实际数量为834个)。其中系统置信度可通过右侧配色条进行量化评估。

针对小目标的人脸检测任务(Small Object Detection in Face),作者主要从三个关键领域进行了深入研究:一是尺度独立性(Scale Invariance),二是图像清晰度(Image Clarity)以及空间上下文关系(Spatial Contextual Relationships),其提出的算法在FDDB和WIDERFace等基准数据集上实现了当前领域的最佳性能。

作者分析了小目标人脸检测的三个问题:

Multi-task modeling of scales

一方面,在本研究中我们旨在创建一个小模板以便于实时的人脸定位系统;另一方面,在本研究中我们旨在利用详细特征开发一个大模板以便于提高系统的准确度。替代传统方案后,在本研究中针对不同尺寸和比例分别设计了相应的定位算法。尽管这种方法在提升大目标定位的准确度方面表现优异……

How to generalize pre-trained networks?

关于小目标检测的问题,作者提出了两个见解。

如何从预训练的深度网络中最佳地提取尺度不变的特征。

然而,在基于多分辨率的空间金字塔架构中,并非所有层级都对目标检测具有同等重要性;相反地,在插值空间金字塔的最低层区域能够显著提升对小型目标的检测能力

因此

复制代码
 (a)单一尺度模板和图像金字塔

    
 (b)不同尺度模板和单一图像
    
 (c)粗略尺度模板和粗略图像金字塔,(a)和(b)的结合
    
 (d)含有上下文信息的固定大小多尺度模板和粗略图像金字塔
    
 (e)定义了从深度模型的多个层中提取的特征模板,也就是foveal descriptors

How best to encode context?

作者验证了卷积深度特征(也被称作hypercolumn features)具有显著效果。这些特征能够捕捉到大感受野中的高分辨率细节以及低分辨率线索。

以输入图像为基础构建一个双线性插值生成的金字塔。接着将放大后的输入图像送入卷积神经网络(CNN),从而在多个分辨率层上生成人脸预测响应图(随后用于定位与调整)。最后将这些响应图在各个尺度上的候选区域映射回原始分辨率的空间位置,并通过非极大值抑制(NMS)方法筛选出最终的人脸检测结果。

Face R-CNN

该方法遵循Faster R-CNN框架用于进行人脸识别,并针对其特点进行了优化

在softmax函数的基础上引入了中心损失以优化分类器。中心损失的引入使得同一类别中的样本在特征空间中的距离更加接近(具有聚类特性),从而增强了正样本与负样本之间的区分度。

采用在线困难样本挖掘技术(OHEM),在每次训练迭代中,在正样本和负样本中分别选择损失值最高的N个样例进行再利用,并将其用于下次训练迭代以提升模型对困难样例的学习能力。

多尺度训练是为了适应不同尺寸的影响(或有效地检测小目标),在训练阶段对图片进行不同尺寸的缩放处理。

SSH

[23] SSH的主要特点是其不受尺度影响(scale-invariant),例如像MTCNN这类方法在做预测时会对不同尺寸的照片分别进行处理;而SSH则只需输入同一尺寸的照片即可完成任务。其具体实现方式是对VGG网络中不同层级(level)的卷积层输出进行了三部分分支处理(M1, M2, M3),每个分支均采用类似的流程来进行检测与分类工作;通过对其不同尺度下的特征图进行分析研究,在技术上实现了有效的多尺度人脸检测系统。

在M1与M2、M3之间存在显著差异,在其网络架构设计中可以看出明显的区别性特征。具体而言,在网络架构设计中可以看出明显的区别性特征。其中,M1具有较窄的通道数量,仅为128个通道,而相比之下,M2和M3则采用了较宽的设计,均拥有512个通道,这种设计差异反映了不同模型在复杂度上的权衡选择。此外,在融合两个特征图时,由于conv5_3输出的空间尺寸大于conv4_3输出的空间尺寸,因此作者采用双线性插值对其进行上采样处理以保证特征信息的一致性

其中M模块如图所示涵盖分类与回归两个核心任务 Context Module旨在获取更丰富的上下文信息 该模块分别采用了大小为5×5和7×7的卷积核进行操作 然后将提取到的特征进行融合整合后形成了如图所示的Context Module结构 值得注意的是 由于较大的卷积核计算效率较低的问题 参考INCEPTION模块的设计理念 我们采用了两个3×3的小卷积替代单个5×5的大卷积核 同时采用三个3×3的小卷积替代单个7×7的大卷积核

PyramidBox

这张图又出现了!!!这一次是百度的“PyramidBox”[24]跑出来的结果。880个人脸!!!

从论文角度来看,PyramidBox主要是一种现有技术方案的整合方式。然而作者对于各类技术有着深入的理解能力,在此基础上能够实现高效的性能提升。从而显著提升了系统的性能水平。

Architecture of PyramidBox

针对现有方法在处理上下文内容方面存在的不足问题, 作者提出了一种改进方案:

开发了一种基于 anchor 的上下文信息辅助方法PyramidAnchors;通过引入监督信息来学习较小且模糊的部分遮挡的脸部上下文特征;例如,在下图中的紫色脸框中可以看到P3层至P5层所包围的不同区域分别对应face、head和body。

开发了一种低层特征金字塔网络(Low-level Feature Pyramid Networks),以更有效地整合上下文信息与面部特征;该技术可以在一次性处理过程中的各个阶段有效地处理不同尺寸的脸部图像

3. 本文提出了一种上下文敏感的预测模块。该预测模块基于一种混合网络结构,并包含一个max-in-out层。这种设计使得其能够从融合特征中提取出更为精确的定位信息与分类信息(在训练过程中分别针对正样本与负样本应用了这一策略;根据不同层级的设计需求,在提升召回率方面分别设置了适应不同类别参数)。其中所采用的最大池化操作基于GAN模型发明人Ian J. Goodfellow提出的Maxout激活函数(其工作原理是取上一层多个feature map跨通道的最大值作为输出;在CIFAR-10与CIFAR-100数据集上的实验结果表明其性能优于ReLU激活函数)。

文中提出了一种基于尺度感知的Data_anchor-sampling策略,并通过改变训练数据集的概率分布来优化小尺寸人脸特征的表现。

结束语

人脸作为计算机视觉领域的重要研究方向之一,在这一领域内汇聚了众多研究人员进行深入探索,并为此付出了大量努力。据不完全统计,在过去一年内已有数百篇相关论文发表在此领域。本文不对这些方法进行详细说明,请读者自行了解即可;文中阐述的分析如有不足之处,请予以谅解与指导。

参考文献

[1] H. A. Rowley, S. Baluja, T. Kanade. Face detection using neural networks. 1998, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[2] Henry A Rowley, Shumeet Baluja, Takeo Kanade. Rotation invariant neural network-based face detection. 1998, computer vision and pattern recognition.

[3] P. Viola and M. Jones. Fast object detection employing a cascaded arrangement of elementary features. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2001

4

[5] Lubomir Bourdev and Jonathan Brandt presented a novel cascade-based detection framework for robust object detection at the CVPR 2005 conference.

Efficient rotation-invariant multi-angle facial feature detection approach is built upon the Real AdaBoost algorithm. 2004, IEEE International Conference on Automatic Face and Gesture Recognition.

A rapid method for face recognition from multiple perspectives was developed by M.Jones and P.Viola at Mitsubishi Electric Research Laboratories as part of their Technical Report MERL-2003-96, published in July 2003.

[8] Y. Ma and X. Q. Ding. Rotation-invariant real-time face detection incorporating cost-sensitive AdaBoost algorithm, appearing in the proceedings of the IEEE International Conference on Image Processing, hosted by the IEEE Computer Society in Barcelona, Spain in 2003, pages 921–924.

[9] Y. Ma, X. Q. Ding. Resilient multi-view face detection and pose estimation employing cost-sensitive AdaBoost methodology. In proceedings of the 6th Asian Conference on Computer Vision, held in Jeju, Korea, published by Springer in 2004.

S.Z.Li等人的研究团队在《多视图人脸识别的统计学习》一文中详细探讨了该领域的最新进展。该研究发表于第7届欧洲计算机视觉会议Proceedings中

S.Z.Li et al., developed a FloatBoost approach for categorization in their study presented at the Sixteenth Annual Conference on Neural Information Processing Systems in Vancouver, Canada in 2002 at MIT Press.

The authors developed a system for the recognition of multiple viewpoint facial features in real time. This paper appears in the proceedings of the Second International Conference on Development and Learning, held in Cambridge, MA, USA by the IEEE Computer Society in 2002, covering pages 172 through 177.

[13] S.Z.Li, Z.Q.Zhang. FloatBoost学习方法与统计面检测技术. In which: IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004.

Efficient multi-angle face recognition based on practical Adaboost in the Proceedings of the 6th International Conference on Automatic Face and Gesture Recognition, held in 2004.

B. Yang, J. Yan, Z. Lei and S.Z.Li.Combinechannelfeaturesacrosstmultipleviewsforface-detection.InternationalJointConferenceonBiometrics,2014

[16] M. Mathias, R. Benenson, M. Pedersoli and L. Van Gool. Face detection without bells and whistles. ECCV 2014.

[17] Haoxiang Li et al., A deep learning-based face detection framework utilizing a convolutional neural network cascade. 2015 in Computer Vision and Machine Learning.

[18] 胡志涛, 李明远, 王丽娜. 基于密集框的方法实现了目标检测与地标定位的统一研究. 该研究发表于2015年,并在计算机视觉与模式识别领域的知名期刊上取得突破性进展

[19] Shuo Yang, Ping Luo, Chen Change Loy, Xiaoou Tang. Faceness-Net: Face Detection through Deep Facial Part Responses.

该研究采用多任务递进卷积神经网络进行联合面部检测与对齐。

[21] Hu, P. Ramanan, D. Detecting Tiny Faces. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[22] Face R-CNN - H. Wang, Z. Li, X. Ji, Y. Wang. Face R-CNN. arXiv preprint arXiv:1706.01061, 2017.

[23] SSH - M. Najibi, P. Samangouei, R. Chellappa, L. Davis. SSH: Single Stage Headless Face Detector. IEEE International Conference on Computer Vision (ICCV), 2017.

[24] 该系统由Tang等人开发;PyramidBox基于上下文的单阶段人脸识别系统。该研究发表于《机器学习与数据科学》预印本期刊中(arXiv:1803.07737),时间为2018年。

复制代码
 授权声明

    
 本图文海报所采用图片经THE YIAN STUDIO授权。
    
                                                                SIGAI
复制代码
 推荐文章

    
 [1]  机器学习-波澜壮阔40年 SIGAI 2018.4.13.
    
 [2]  学好机器学习需要哪些数学知识?SIGAI 2018.4.17.
    
 [3]  人脸识别算法演化史 SIGAI 2018.4.20.
    
 [4]  基于深度学习的目标检测算法综述 SIGAI 2018.4.24.
    
 [5]  卷积神经网络为什么能够称霸计算机视觉领域? SIGAI 2018.4.26.
    
 [6] 用一张图理解SVM的脉络 SIGAI

全部评论 (0)

还没有任何评论哟~