转载请注明作者和出处: http://blog.csdn.net/john_bh/
论文链接:Facial Landmark Detection: a Literature Survey
作者及团队:Yue Wu & Qiang Ji
会议及时间: Arxiv 201805
文章目录
Abstract
基准面部界标点在面部组件和面部轮廓周围的位置捕获由于头部运动和面部表情而导致的刚性和非刚性面部变形。因此,它们对于各种面部分析任务很重要。多年来,已经开发了许多面部标志检测算法来自动检测这些关键点,在本文中,我们对它们进行了广泛的回顾。我们将面部界标检测算法分为三大类:整体方法,约束局部模型(CLM)方法和基于回归的方法。它们在利用面部外观和形状信息的方式方面有所不同。整体方法显式构建模型以表示全局面部外观和形状信息.CLM显式利用全局形状模型但构建局部外观模型。基于回归的方法隐式捕获面部形状和外观信息。对于每个类别中的算法,我们讨论它们的基础理论及其差异。在不同的面部表情,头部姿势和遮挡下,我们还比较了它们在对照和野生基准数据集上的表现。基于评估,我们指出了它们各自的优缺点。还有一个单独的部分,回顾了最新的基于深度学习的算法。
该调查还包括基准数据库和现有软件的列表。最后,我们确定未来的研究方向,包括组合不同类别的方法以利用其各自的优势来解决“野外”地标检测。
1.Introduction
人脸在视觉传达中起着重要作用。通过观察人脸,人可以自动提取许多非语言信息,例如人的身份,意图和情感。在计算机视觉中,要自动提取这些面部信息,基准面部关键点的定位(图1)通常是关键步骤,并且许多面部分析方法都是基于对这些标志性点的准确检测而建立的。例如,面部表情识别[68]和头部姿势估计算法[66]可能严重依赖于地标位置提供的面部形状信息。眼睛周围的面部标志点可以提供瞳孔中心位置的初始猜测,以进行眼睛检测和注视跟踪[41]。对于面部识别,通常将2D图像上的界标位置与3D头部模型结合起来以“正面化”面部,并有助于减少主体内部的明显变化,从而提高识别准确性[92]。通过面部界标位置获得的面部信息可以提供重要的信息用于人机交互,娱乐,安全监视和医疗应用的信息。
面部界标检测算法旨在自动识别面部关键界标点在面部图像或视频上的位置。这些关键点或者是描述面部分量的唯一位置的主要点(例如眼角),或者是将这些主要点围绕面部分量和面部轮廓连接的内插点。形式上,给定一个表示为I的面部图像,界标检测算法会预测D个界标x = {x1,y1,x2,y2,…,xD,yD}的位置,其中x和y表示图像的面部标志坐标。
面部标志物检测具有挑战性,原因有几个。首先,在不同的面部表情和头部姿势下,受试者的面部外观发生显着变化。其次,诸如照明的环境条件会影响面部图像在面部图像上的外观。第三,由于其他物体遮挡面部或由于极端的头部姿势导致的自我遮挡会导致面部信息不完整。
在过去的几十年中,人脸界标检测算法取得了长足的发展。早期的工作重点是在没有上述人脸变化的情况下,挑战性较小的人脸图像。后来,人脸界标检测算法旨在处理某些类别中的多种变化,通常在“受控”条件下收集面部图像。例如,在“受控”条件下,面部姿势和面部表情只能属于某些类别。最近,研究集中在具有挑战性的“野外”条件下,其中面部图像可以进行任意面部表情,头部姿势,照明,面部遮挡等。总的来说,仍然缺乏可靠的方法可以处理所有这些变化。
面部界标检测算法可分为三大类:整体方法,约束局部模型(CLM)方法和基于回归的方法,具体取决于它们如何对面部外观和面部形状图案进行建模。面部外观是指面部界标周围或整个面部区域中独特的像素强度图案,而面部形状图案是指由界标位置及其空间关系定义的面部形状的图案。如表1所示,整体方法可对整体面部外观和整体面部形状模式进行显式建模。
CLM依赖于显式的局部面部外观和显式的整体面部形状图案。基于回归的方法使用整体或局部外观信息,并且它们可以隐式嵌入全局面部形状图案以进行联合界标检测。通常,基于回归的方法最近表现出更好的性能(详细信息将在后面讨论)。请注意,一些最近的方法将深度学习模型和全局3D形状模型结合在一起进行检测,它们不在三大类的范围之内,将在4.3节中详细讨论。
本文的其余部分安排如下。在第2、3和4节中,我们讨论了三个主要类别的方法:整体方法,约束局部模型方法和基于回归的方法。第4.3节专门介绍基于深度学习的最新方法。在第5节中,我们讨论三个主要类别中方法之间的关系。在第6节中,我们讨论了“野外”条件下现有算法的局限性以及一些专门设计用于应对这些挑战的高级算法。在第7节中,我们讨论了相关主题,例如面部检测,面部界标跟踪和3D面部界标检测。在第8节中,我们讨论了面部界标注释,流行的面部界标检测数据库,软件以及领先算法的评估 。最后,我们在第9节中总结了本文,指出了未来的方向。
2 Holistic methods
整体方法显式地利用整体面部外观信息以及全局面部形状图案进行面部界标检测(图2)。在下文中,我们首先介绍经典的整体方法:the Active Appearance Model(AAM)[18]。 然后,我们介绍它的几个扩展。
2.1 Active Appearance Model
2.2 Fitting algorithms
2.3 Other extensions
3. Constrained local methods
如图5所示,约束局部模型(CLM)方法[24] [84]基于全局面部形状图案以及每个地标周围的独立局部外观信息来推断地标位置
x
x
x,这更容易实现 与整体相比,捕获能力强,并且对照明和遮挡更加鲁棒
出现。
3.1 Problem formulation
通常,可以将CLM公式化为确定性或概率性方法。 在确定性观点上,CLM [24] [84]通过最小化受形状图案影响的未对准误差来找到界标:
3.2 Local appearance model
3.3 Face shape models
3.4 Landmark point detection via optimization
3.4.1 Iterative methods
3.4.2 Joint optimization methods
3.4.3 Discussion: optimization
4. Regression-based methods
基于回归的方法直接学习了从图像外观到地标位置的映射,与整体方法和约束局部模型方法不同,它们通常不显式构建任何全局人脸形状模型。 取而代之的是,人脸形状约束可以隐式嵌入。 通常,基于回归的方法可以分为直接回归方法,级联回归方法和基于深度学习的回归方法。 直接回归方法无需任何初始化即可在一次迭代中预测界标,而级联回归方法执行级联预测,并且通常需要初始界标位置。 基于深度学习的方法遵循直接回归或级联回归。 由于它们使用独特的深度学习方法,因此我们将分别讨论它们。
4.1 Direct regression methods
直接回归方法学习从图像外观到面部界标位置的直接映射,而无需对界标位置进行任何初始化,它们通常是一步完成的。它们可以进一步分为本地方法和全局方法。局部方法使用图像补丁,而全局方法使用整体面部外观。
局部方法:局部方法从面部区域采样不同的补丁,并建立结构化回归模型以预测位移矢量(目标面部形状到提取补丁的位置),可以将其添加到当前补丁位置以生成所有界标可以通过合并来自多个采样斑块的预测结果来计算最终的面部界标位置。注意,这不同于基于回归的局部外观模型,该模型独立地预测每个点(第3.2.2节),而此处的局部方法同时预测所有点的更新。例如,在[25]中,使用了条件回归森林学习从面部区域中随机采样的面片到面部形状更新的映射。另外,建立了几个与头部姿势有关的模型,并将它们组合在一起进行检测。同样,基于特权信息的条件随机森林模型[113]使用其他面部属性(例如头部姿势,性别等)来训练回归森林以预测面部形状更新。与[25]中合并了来自不同姿势相关模型的预测不同,在测试中,它先预测属性,然后执行属性相关地标位置估计。在这种情况下,界标预测精度将受到属性预测的影响。局部回归方法的一个问题是,独立的局部补丁可能无法传达足够的信息来进行整体形状估计。另外,对于具有遮挡的图像,随机采样的色块可能会导致错误的估计。
全局方法:全局方法直接学习从全局面部图像到地标位置的映射。与局部方法不同,整体面孔传达了更多的信息以进行地标检测。但是,从全局面部外观到地标位置的映射更难于学习,因为全局面部外观具有显着的变化,并且它们更容易被面部遮挡。领先的方法[91] [119]都使用深度学习方法来学习映射,我们将在第4.3节中详细讨论。注意,由于全局方法直接预测地标位置,因此它们与第2节中构造形状和外观模型并预测模型系数的整体方法不同。
4.2 Cascaded regression methods
与执行单步预测的直接回归方法相反,级联回归方法从对面部界标位置(例如,平均脸部)的初始猜测开始,并且它们逐步跨阶段更新具有针对不同学习的不同回归函数的界标位置具体而言,在训练中,在每个阶段中,都应用回归模型来学习形状索引的图像外观(例如,基于当前估计的界标位置提取的局部外观)到形状更新之间的映射。从早期学习的模型将用于更新训练数据,以用于下一阶段的训练。在测试期间,将学习的回归模型顺序应用于更新迭代中的形状。算法2总结了检测过程。
使用了不同的形状索引图像外观和回归模型。例如,在[14]中,曹等人。提出了形状索引的像素强度特征,其是像素对之间的像素强度差,其位置由它们相对于当前形状的相对位置来定义。在[76]中,Ren等人。提出通过回归森林独立学习每个地标的判别二元特征。然后,将来自所有地标的二元特征进行级联,并使用线性回归函数来学习从外观到全局形状更新的关节映射。在[52]中,将回归树的集合用作面部对齐的回归模型。通过修改目标函数,该算法可以使用带有部分标记的面部标志位置的训练图像。
在不同的级联回归方法中,[110]中的监督下降法(SDM)实现了有希望的性能。它将脸部对齐表示为非线性最小二乘问题。具体来说,假设真实地标位置
x
∗
x^*
x∗周围的局部面块的外观特征(例如SIFT)表示为
Φ
(
I
(
x
∗
)
)
\Phi(I(x^*))
Φ(I(x∗)),则地标检测的目标是从一个点开始估计位置更新
δ
x
\delta x
δx。初始形状
x
0
x_0
x0,以使特征距离最小化:
通过使用牛顿型方法应用二阶泰勒展开,可以计算形状更新:
直接解析地计算x是困难的,因为它需要针对不同的x0计算Jacobin和Hessian矩阵。因此,提出了监督下降法,以回归法学习下降方向。然后将其简化为具有线性回归功能的级联回归方法,该方法可以根据形状索引的局部外观预测地标位置更新。
回归函数对于不同的迭代是不同的,但是它们忽略一次迭代中不同的可能起始形状
x
0
x_0
x0。
级联回归方法还有其他变体。例如,在[6]中,不是以级联的方式学习回归函数(后一级别取决于前一级别),而是提出了一种并行学习方法,因此后一级别只需要前一级别的统计信息即可。基于并行学习框架,可以通过添加更多的训练样本来逐步更新每个级别的模型参数,从而实现快速训练。
级联回归方法比直接回归更有效,因为它们遵循从粗到精的策略。早期的回归函数可以专注于较大的变化,而后期的回归函数可以专注于精细搜索。
但是,对于级联回归方法,尚不清楚如何生成初始界标位置。流行的选择是使用均值脸部,这对于头部较大的图像而言可能不是最佳选择。为了解决这个问题,有些混合方法使用直接回归方法来生成级联回归方法的初始估计。例如,在[118]中,提出了一种基于自动编码器的模型。它首先对降采样的低分辨率图像执行直接回归,然后以更高分辨率的图像以级联方式完善预测。在[123]中,采用了从粗糙到精细的搜索策略,并且基于来自最后阶段的估计,不断更新初始面部形状。因此,将生成更接近解决方案的初始化,并且更容易获得精细的人脸界标检测结果。
有关级联回归方法的另一个问题是,算法应用固定数量的级联预测,并且无法判断界标预测的质量,也无法为不同的测试图像调整必要的级联阶段。在这种情况下,有可能在迭代继续进行时,预测已陷入局部最小值中。在几个阶段之后,预测可能已经接近最佳值。在现有方法[76]中,仅显示了级联回归方法可以提高不同级联阶段的性能,但不知道何时停止。
4.3 Deep learning based methods
最近,深度学习方法已成为解决计算机视觉问题的流行工具。对于面部标志检测和跟踪,存在从传统方法向基于深度学习的方法转变的趋势。在早期工作中[108],深度博茨曼机器模型是一种概率深度模型,用于捕获由于姿势和表情而引起的面部形状变化,以进行面部标志检测和跟踪。最近,卷积神经网络(CNN)模型成为用于面部界标检测的主要深度学习模型,并且大多数模型遵循全局直接回归框架或级联回归框架。这些方法可以大致分为纯学习方法和混合方法。纯学习方法直接预测面部标志位置,而混合方法则将深度学习方法与计算机视觉投影模型结合在一起进行预测。
-
Pure-learning methods:
此类方法使用功能强大的CNN模型直接从面部图像预测地标位置。 [91]是早期工作,它以级联的方式预测了五个面部关键点。在第一级中,它应用具有四个卷积层的CNN模型(图8),以给定由面部边界框确定的面部图像来预测界标位置。然后,几个浅层网络会在本地细化每个单独的点。
从那时起,在[91]上有两个方面的改进。在第一个方向上,[119] [120]和[75]利用多任务学习思想来提高性能。直觉是,多个任务可以共享相同的表示形式,并且它们的联合关系可以提高单个任务的性能。例如,在[119] [120]中,多任务学习与CNN模型相结合,共同预测面部标志,面部头部姿势,面部属性等。[75]提出了类似的多任务CNN框架,以共同执行人脸检测,地标定位,姿势估计和性别识别。与[119] [120]不同,它结合了多个卷积层的特征,以利用粗略和精细特征表示。在第二个方向上,一些工作改进了方法的级联过程[91]。例如,在[122]中,构建了相似的级联CNN模型以预测更多的点(68个地标,而不是5个地标)。它从对所有68个点的预测开始,然后逐渐将预测与局部面部成分分离。在[118]中,深度自动编码器模型用于执行相同的级联地标搜索。在[96]中,Trigeorgis等人没有以级联的方式训练多个网络。等人训练了深度卷积递归神经网络(RNN)进行端到端面部界标检测,以模仿级联行为。级联阶段嵌入到RNN的不同时间段中。
-
Hybrid deep methods:
混合深层方法将CNN与3D视觉相结合,例如投影模型和3D可变形形状模型(图9),而不是直接预测2D面部界标位置,而是预测3D形状可变形模型系数和头部姿势。然后,可以通过计算机视觉投影模型确定2D地标位置。例如,在[124]中,构造了密集的3D面部形状模型。然后,使用迭代级联回归框架和深层CNN模型更新3D人脸形状和姿势参数的系数。在每次迭代中,为了合并当前估计的3D参数,使用视觉投影模型将3D形状投影为2D,并将2D形状用作CNN模型的附加输入以进行回归预测。类似地,在[50]中,以级联的方式,在第一个级联的CNN模型中使用整个面部外观来预测3D形状参数和姿势的更新,而在后级联的CNN模型中使用局部补丁来完善3D形状参数。地标。
与纯学习方法相比,混合方法的3D形状变形模型和姿势参数是表示2D界标位置的更紧凑的方法。因此,CNN中要估计的参数较少,并且形状约束可以明确地嵌入到预测中。此外,由于引入了3D姿势参数,它们可以更好地处理姿势变化。
表2总结了主要方法的CNN结构,列出了它们的卷积层数,完全连接层数,是否使用3D模型以及是否使用了级联方法。对于级联方法,如果不同的模型结构用于不同的层,则仅在第一层列出模型。可以看出,建议用于面部界标检测的模型通常包含大约四个卷积层和一个完全连接的层。模型的复杂性与用于其他相关面部分析任务的深层模型相当,例如头部姿势估计[70],年龄和性别估计[55]和面部表情识别[58],后者通常具有相似或较小的数字卷积层。对于人脸识别问题,CNN模型通常更复杂,具有更多卷积层(例如八层)和完全连接的层[90] [85] [92]。部分原因在于,与用于面部界标检测的数据集(例如20K +图像)相比,存在更多的用于面部识别的训练数据(例如10M +,100M +图像)[75]。尚待解决的问题是增加更多数据是否会改善面部界标检测的性能。另一个有希望的方向是利用多任务学习思想,通过更深层的模型来联合预测相关任务(例如界标检测,姿势,年龄和性别)所有任务的表现[75]。
4.4 Discussion: regression-based methods
在不同的回归方法中,级联回归方法比直接回归获得更好的结果,级联回归与深度学习可以进一步提高性能。基于回归的方法的一个问题是,由于它们学习了从面部边界框区域内的面部外观到界标的映射,因此它们可能对使用的面部检测器和面部边界框的质量敏感。由于初始脸部的大小和位置是由脸部边界框决定的,因此如果在测试中使用了不同的偏置脸部检测器,则使用一个脸部检测器训练的算法可能无法很好地工作。对此问题进行了研究[78]。
即使我们提到基于回归的方法并没有显式构建面部形状模型,但通常都会隐式嵌入面部形状模式。特别是,由于基于回归的方法共同预测了所有面部标志位置,因此结构化信息也是如此因为形状约束是通过该过程隐式学习的。
5. Discussions: relationships among methods in three major categories.
在前面的三个部分中,我们在三个主要类别中讨论了人脸界标检测方法:整体方法,约束局部方法(CLM)和基于回归的方法,如图10所示。这三个方法之间存在相似性和相关性主要方法。
首先,整体方法和CLM都将使用显式构造的面部形状模型来捕获全局面部形状图案,通常在它们之间共享它们。 CLM比整体方法有所改进,因为它们使用地标周围的局部外观而不是整体面部外观。这样做的动机是,要对整体的面部外观进行建模比较困难,并且与整体外观模型相比,局部图像补丁对于光照变化和面部遮挡更加健壮。
第二,基于回归的方法,特别是对于级联回归方法[110]与整体AAM [7] [82]具有相似的直觉。例如,它们都可以通过拟合外观来估计界标,并且它们都可以公式化为非线性最小二乘问题,如公式6和16所示。但是,整体方法通过拟合整体可以预测2D形状和外观模型系数外观模型,而级联回归方法则通过拟合局部外观来直接预测地标,而无需显式的2D形状模型。整体方法的拟合问题可以通过基于学习的方法或第2.2节中讨论的分析方法来解决,而所有级联回归方法都可以通过学习进行估计。尽管基于学习的整体模型拟合方法通常以迭代方式使用同一模型进行系数更新,但级联回归方法以级联方式学习不同的回归模型。作为一种特定类型的整体方法,在2.3.2节中讨论的AAM模型[82]与作为层叠回归方法的一种特定类型的监督下降方法(SDM)[110]非常相似。两者都训练级联模型,以学习从形状索引特征到形状(系数)更新的映射。当前级联阶段的训练模型将修改训练数据以训练下一状态的回归模型。虽然前一种整体方法适合整体外观并预测模型系数,但SDM适合局部外观并预测地标位置。
第三,第3.2.2节中的CLM中使用的基于回归的局部外观模型与第4节中的基于回归的方法之间存在相似之处。它们两者均根据地标位置的初始猜测来预测位置更新。前一种方法独立预测每个界标位置,而后一种方法则联合预测它们,因此形状约束可以隐式嵌入。前一种方法通常使用相同的回归模型执行一步预测,而后一种方法可以级联方式应用不同的回归函数。
第四,与整体方法和约束局部方法相比,基于回归的方法可能更有希望。基于回归的方法绕过显式的脸部形状建模,并隐式地嵌入了脸部形状模式约束。基于回归的方法可以直接预测界标,而不是像整体方法和某些CLM中那样预测模型系数。直接预测形状通常可以获得更好的精度,因为较小的模型系数误差可能会导致较大的界标误差。
6. Facial landmark detection “in-the-wild”
前面提到的大多数算法都将重点放在“受控条件”下的面部图像上,而没有明显变化。然而,在现实世界中,面部图像将经历变化的面部表情,头部姿势,照明,面部遮挡等,这通常被称为“野外”条件。前述算法中的一些可能能够隐式处理那些变化(例如,基于深度学习的方法),而另一些可能失败。在本节中,我们重点介绍专门设计用于应对这些挑战性条件的算法。
6.1 Head Poses
严重的头部姿势(例如轮廓脸)是面部界标检测算法失败的主要原因之一(图11)。存在一些困难:首先,3D刚性头的运动会影响2D面部外观和面部形状。不同的头部姿势会导致面部表情和形状明显变化。传统的形状模型(例如AAM和ASM中使用的基于PCA的形状模型)不再能够对较大的面部形状变化建模,因为它们本质上是线性的,并且较大的面部姿势形状变化是非线性的。第二,大头姿势可能导致自我闭塞。由于缺少面部界标点,某些面部界标检测算法可能无法直接应用。第三,头部姿态较大的训练数据有限,可能需要付出额外的精力来注释头部姿态标签以训练算法。
为了处理较大的头部姿势,一个方向是训练姿势相关模型,这些方法在检测程序上有所不同[112] [17] [125] [25]。他们选择最佳模型或合并所有模型的结果。有两种选择模型的方法。第一种方法是使用现有的头部姿势估计方法来估计头部姿势。例如,在早期工作中[112],在训练中建立了多个与姿势相关的AAM模型,并在测试过程中从多视图面部检测器中选择了该模型。在[115]中,首先基于对几个面部关键点的检测来估计头部姿势。然后,应用头部姿态依赖拟合算法,以使用选定的姿态模型进一步优化界标检测结果。也可以使用不同的姿势相关模型基于置信度分数来选择头部姿势。例如,在早期工作[17]中,针对训练期间具有不同头部姿势(例如,左轮廓,额头和右轮廓)的面部建立了三种AAM模型。在检测过程中,具有最小拟合误差的结果被视为最终输出。在[125]中,针对每个离散的头部姿势建立了多个模型,并且在测试过程中将最佳拟合输出为最终结果。
如果未正确选择模型,则选择最佳头部姿势相关模型的算法将失败。因此,最好合并不同姿态相关模型的结果。例如,在[25]中,训练了概率头部姿势估计器,并且通过贝叶斯积分合并了来自不同姿势相关模型的面部界标检测结果。
最近,有一些算法可以构建一个统一的模型来处理所有头部姿势。例如,在[106]中,由大头姿势引起的自我遮挡被认为是一般的面部遮挡,并提出了一个统一的模型来处理面部遮挡,该模型可明确预测地标遮挡以及地标位置。在[111]中,界标检测遵循级联的迭代过程,并且基于最后一次迭代的估计,自动选择与姿势相关的模型。在[124]和[50]中,根据级联回归框架,将卷积神经网络(CNN)与3D变形面部形状模型结合在一起,共同估计具有大头部姿势的图像上的头部姿势和面部界标。头部姿势包括姿势相关的形状模型,统一的姿势模型和姿势不变特征。他们都有自己的优点和缺点。取决于应用程序选择要遵循的应用程序。同样,对于某些应用程序,最好结合使用不同类型的方法。
6.2 Occlusion
面部遮挡是面部界标检测算法失败的另一个原因。面部闭塞可能是由于物体或大头部姿势引起的自我闭塞。图12显示了对象被遮挡的面部图像。图11中的某些图像还包含面部遮挡。处理面部阻塞有一些困难。首先,该算法应更多地依赖于没有遮挡的面部部分,而不是有遮挡的部分。但是,很难预测遮挡了哪个面部部分或哪些面部标志。其次,由于任意脸部可能被具有任意外观和形状的物体遮挡住,因此脸部界标检测算法应具有足够的灵活性以应对不同情况(例如,口可能被口罩遮盖,或者鼻子可能被手遮挡)。遮挡区域通常是局部一致的(例如,不可能每个其他点都被遮挡),但是很难将此属性作为遮挡预测和界标检测的约束嵌入。
由于这些困难,可以处理咬合的工作有限。当前大多数算法通过假设面部的某些部分被遮挡来构建遮挡相关模型,并将这些模型合并以进行检测。例如,在[13]中,脸部被分为九个部分,并且假设仅一个部分未被遮挡。因此,来自某一特定部位的面部外观信息可用于预测所有部位的面部界标位置和面部遮挡。基于每个部位的预测面部遮挡概率,将来自所有九个部位的预测合并在一起。类似地,在[116]中假设遮挡了一些手动预先设计的区域(例如一个面部成分),并且基于非遮挡部分训练了不同的模型进行预测。
前述的依赖于遮挡的模型可能不是最优的,因为它们假定遮盖了几个预定区域,而面部遮挡可能是任意的。因此,这些算法可能无法涵盖现实世界场景中所有丰富而复杂的遮挡情况。与上述方法有关的另一个问题是,来自面部一部分(例如来自嘴部区域)的有限面部外观信息可能不足以进行预测整个面部区域的面部标志。为了减轻这个问题,一些算法在统一的框架中处理面部遮挡。例如,在[32]中,提出了一个概率模型,通过联合建模每个面部界标周围的局部面部外观,预测面部界标的可见性来预测面部界标的位置。每个地标,遮挡模式和面部组件的隐藏状态。它通过概率模型的推断共同预测地标位置和地标遮挡。在[106]中,提出了一种受约束的级联回归模型,用于基于当前预测的地标点周围的局部外观来迭代地预测面部地标位置和地标可见性概率。对于地标可见性预测,它会逐渐更新地标可见性概率,并显式添加遮挡模式作为预测中的约束。对于地标位置预测,它根据地标可见性概率为不同面部地标周围的面部外观分配权重,因此该算法更多地依赖于可见地标的局部外观,而不是遮挡地标的局部外观。与文献[32]不同,该模型可以处理由物体遮挡和较大的头部姿势引起的面部遮挡。
6.3 Facial expression
面部表情会导致不牢固的面部动作,从而影响面部界标的检测和跟踪。例如,如图13所示,六种基本面部表情(包括快乐,惊讶,悲伤,愤怒,恐惧和厌恶)将导致面部表情的变化。面部外观和形状的变化。在更自然的条件下,除了六个基本表情外,面部图像还将经历更多自发的面部表情。一般来说,最近的面部界标检测算法已经能够在某种程度上处理面部表情。
即使大多数算法都隐式处理面部表情,但仍有一些算法专门设计用于处理重要的面部表情变化。例如,在[94]中,提出了一种分层动态概率模型,该模型可以自动在由不同面部表情引起的面部成分的特定状态之间切换。由于面部表情和面部形状之间的相关性,一些算法还执行联合面部表情和面部标志检测。例如,在[56]中,提出了一种动态贝叶斯网络模型来对面部动作单元,面部表情和面部形状之间的依赖关系进行建模,以进行联合面部行为分析和面部界标跟踪。它表明,利用关节关系和交互作用可以提高面部表情识别和面部标志检测的性能。同样,在[107]中,提出了一种约束联合级联回归框架,用于同时进行面部动作单元识别和面部标志检测。它首先学习面部动作单元和面部形状之间的关节关系,然后以该关系为约束,以级联迭代的方式迭代更新动作单元激活概率和界标位置。
也有一些作品可以同时处理面部表情和头部姿势变化,以进行面部标志检测。例如,在[72] [9]中,使用3D面部模型处理面部表情和姿势变化。 [9]可以预测地标和头部姿势。在[108] [105]中,人脸形状模型被构造为处理由于面部表情变化而引起的变化。该模型将面部形状分解为与表情有关的部分和与头部姿势有关的部分。在[121]中,不仅使用随机森林模型以级联方式联合估计了脸部界标位置,而且还联合估计了表情和姿势。另外,在每个级联级别中,首先更新姿势和表情,然后将其进一步用于估计面部标志。在[109]中,提出了一种分层概率模型来自动利用面部表情,头部姿势和不同面部成分的面部形状变化之间的关系进行面部界标检测。第4.3节中讨论的一些多任务深度学习方法也可以包括在此类别中。
7. Related topics
7.1 Face detection for facial landmark detection
通常假定已经针对大多数现有的面部界标检测算法检测到了面部并给出了面部。检测到的面部将提供面部位置和面部比例的初始猜测。但是,有一些问题。首先,人脸检测仍然是一个尚未解决的问题,尤其是在图像变化较大的情况下,它可能会失败。面部检测的失败将直接导致大多数面部界标检测算法的失败。第二,面部界标检测精度可能会受到面部检测器精度的显着影响。例如,在基于回归的方法中,通过将平均形状放置在人脸边界框的中心来生成初始形状,其中比例也是从边界框估算的。在CLM中,每个独立的局部点检测器的初始感兴趣区域由面部边界框确定。第三,为确保实时面部标志检测,通常首选快速面部检测器。
最受欢迎的面部检测器是Viola-Jones面部检测器(VJ[103]。积分图像和adaboost学习的使用可确保快速计算和有效的面部检测。基于零件的方法[42] [29] [62]使用略有不同的框架。他们将人脸视为由具有空间约束的多个部分组成的对象。最近,基于区域的卷积神经网络(RCNN)方法[34] [33] [77]已用于人脸检测。它们基于识别潜在人脸区域的区域提议组件和检测组件,它们进一步细化人脸检测建议区域。通常,基于RCNN的方法更准确,特别是对于具有较大姿态,照明,遮挡变化的图像。但是,它们的计算成本(使用GPU约为5帧/秒)要比提供实时检测的传统面部检测器高得多。在[117]中可以找到对人脸检测算法的更详细的研究和调查。
有一些算法可以执行联合面部检测和界标定位。例如,在[125]中,将变形部分模型应用于共同执行面部检测,面部对准和头部姿势估计。在[87]中,面部检测和面部对准被表述为图像检索问题。同样,在[15]中,人脸检测和人脸对齐在级联回归框架中共同执行。如果基于当前面部形状的置信度小于阈值,则迭代更新面部形状,并拒绝边界框。
7.2 Facial landmark tracking
脸部界标检测算法通常设计为处理单个脸部图像,并且可以扩展为处理脸部图像序列或视频。最简单的方法是通过检测进行跟踪,其中应用了脸部界标检测。但是,此类方法忽略了次优的连续帧之间的依赖性和时间平滑性。
通过利用时间关系来执行面部地标跟踪的工作有三种类型:基于跟踪器的独立跟踪方法,联合跟踪方法和基于概率图形模型的方法。基于跟踪器的独立跟踪方法[12] [94] [108]基于通用对象跟踪器(例如,卡尔曼滤波器和Kanade-Lucas-Tomasti跟踪器(KLT))对各个点执行面部界标跟踪。在每个框架中,应用面部形状模型来限制独立跟踪的点,从而使每个框架中的面部形状都满足面部形状图案约束[12] [94] [108]。联合跟踪方法联合执行面部地标点更新,并且它们基于来自最后一帧的信息来初始化模型参数或地标位置。例如,在[3]中,在最后一帧中估计的AAM模型系数用于初始化当前帧中的模型系数。在级联回归框架[110]中,在最后一帧中跟踪的面部界标位置用于确定当前帧中级联回归的初始面部形状的位置和大小。由于检测和跟踪的初始化方式不同(检测使用面部边界框确定面部大小和位置,而检测使用跟踪的最后一帧中的地标位置),因此该方法需要训练不同的回归函数集进行检测和跟踪。基于概率图形模型的方法可建立动态模型,以共同嵌入面部标志点之间的时空关系以进行面部标志跟踪。例如,在[21]中使用Markov随机场(MRF)模型,在[56]中使用动态贝叶斯网络。动态概率模型既捕获时间相关性,又捕获地标点之间的形状依赖性。可以在此处找到有关面部界标跟踪的更多评估和评论[16]。
7.3 3D facial landmark detection
3D面部界标检测算法检测3D面部界标位置。现有作品可以分为使用2D图像的基于2D数据的方法和使用3D面部扫描数据的基于3D数据的方法。
给定有限的信息,从2D图像检测3D面部地标位置是一个不适的问题。为了解决这个问题,现有的方法可以利用3D训练数据或预先训练的3D面部形状模型,并将其与机器学习相结合。例如,在[97]中,Tulyakov和Sebe通过添加将级联回归方法从2D扩展到3D。深度信息的预测。该方法直接学习回归器,以在给定3D训练数据的情况下从2D图像预测3D面部地标位置。由于难以生成3D数据,因此某些算法会使用有限的训练数据来学习3D面部形状模型。例如,在[35]中,首先使用级联回归方法检测2D脸部界标,然后将它们与3D变形模型结合起来,确定脸部姿势和变形模型的系数,然后基于它们可以恢复位置。 3D界标点。类似地,在[46]中,级联回归方法用于预测密集的2D面部界标及其可见性。然后,使用迭代方法将2D形状拟合到预训练的密集3D模型中,以估计3D模型参数。有一些方法同时使用3D变形模型和3D训练数据。例如,在[49]中,级联回归方法用于从2D图像估计3D模型系数和姿态参数,从而确定2D和3D面部地标位置。
有几种算法可以对3D面部扫描执行3D面部界标检测。例如,在[69]中,估计了8个3D面部地标位置。该算法首先使用两个3D局部形状描述符,包括形状索引特征和旋转图像为每个地标生成地标位置候选,然后最终的地标位置为通过拟合3D面部模型进行选择。类似地,在[57]中,首先使用3D人脸的特定几何属性在3D人脸扫描中检测到17个主要地标。然后,将3D模板与测试面进行匹配,以估计20个地标的3D位置。在[69]中,从深度传感器生成的3D点云中估计出密集的3D特征。特别地,三角形表面补丁描述符被设计为选择训练补丁并将其与从测试图像随机生成的补丁匹配。然后,训练补丁的关联3D脸部形状用于对测试图像的3D形状进行投票。
与2D面部界标检测相比,3D面部界标检测仍然是新的。缺乏具有丰富3D注释的大型3D人脸数据库,与大量可用的2D图像相比,很难获得3D人脸扫描。在2D图像或3D面部扫描上标记3D面部地标通常比2D地标困难。
8. Databases and evaluations
8.1 Landmark annotations
面部地标注释是指面部图像上地面真实面部地标位置的手动注释。 面部界标通常有两种类型:面部关键点和插值界标。面部关键点是面部的主要界标,例如眼角,鼻尖,嘴角等。它们具有独特的局部外观/形状图案 。 插值的界标点描述面部轮廓或连接关键点(图14)。 在早期研究中,仅注释和检测了稀疏的关键地标点(图14(a))。 最近,在新数据库中注释了更多点(图14(b)(c))。 例如,在BioID中,标注了20个地标,而ibug和Heledominantn数据库中分别标注了68和194个地标。
现有的地标注释存在一些问题。首先,界标注释本身就存在偏差,并且在各个数据库中都不一致,因此,很难合并多个数据库进行评估。各个地标注释也存在注释不一致。例如,对于眼角的注释,一些数据库倾向于在眼睛区域内提供注释,而另一些数据库则可能对眼睛区域外部的点进行注释。为解决这一问题,在[89]中,提出了一种方法来组合数据库通过将地标注释从源数据库传输到目标数据库来生成地标注释的并集。
第二个问题是手动注释是一个耗时的过程。有一些作品可以改善注释过程。在[30]中,使用3D面部扫描和投影模型来生成合成的2D面部界标和相应的界标注释。然后,将合成图像与真实图像进行组合以训练面部界标检测器。在[80]中,提出了一种迭代的半自动地标标注方法。最初使用少量训练数据对面部界标检测器进行训练,然后将其用于拟合新的测试图像,这些图像由用户选择以重新训练检测器。同样,在[93]中,提出了一种半监督人脸标志标注方法。即使前述方法改进了面部界标注释过程,该注释仍然是耗时且昂贵的。总体而言,现有的训练图像和数据库对于某些界标检测算法(例如基于深度学习的方法)可能仍然不够。最后,为了将注释扩展到大型数据集,在线众包(例如Amazon Mechanical Turk)可能是面部地标注释的一种潜在方法。
8.2 Databases
有两种类型的数据库:在“受控”条件下收集的数据库或具有“野外”图像的数据库。 汇总请参见表3。
8.2.1 Databases under “controlled” conditions
在“受控”条件下的数据库是指具有在室内采集的具有一定限制(例如,预定义的表情,头部姿势等)的视频/图像的数据库。
- BioID [1]:数据集包含来自23个对象的1521幅灰度室内图像,分辨率为384×286。图像是在不同的照明和背景下拍摄的。受试者可能表现出中等的表达差异。它包含20点的地标注释。
- AR [60]:该集合包含126人的4,000张正面彩色图像,这些图像带有表情,照明和面部遮挡(例如太阳镜和围巾)。提供了22个地标注释[2]。
- 扩展YaleB[31]:扩展的Yale人脸数据库B包含在9个姿势和64个光照条件下的28个对象的16,128张图像。该数据库提供原始图像,裁剪的面部图像和三个带注释的地标。
- FERET[74]:面部识别技术(FERET)数据库包含14,051个灰度面部图像,涵盖了大约20个不同的偏航姿势的头部姿势。正面也有照明和面部表情变化。[106]提供了所选轮廓面上的11个地标。
- CK / CK + [51][59]:科恩·卡纳德(Cohn-Kanade)AU编码表情数据库(CK)包含来自97+位受试者的正面(包括快乐,惊讶,悲伤)6种基本表情的486张视频(CK+ 593) ,厌恶,恐惧和愤怒。视频从神经表达开始,然后到达顶点。 CK +是CK数据库的扩展版本。它包括姿势和自发表达。数据库提供AAM标志性跟踪结果。
- Multi-PIE人脸数据库[39]:Multi-PIE人脸数据库包含337个对象的超过750,000张图像。面部图像是在15个视点和19个照明条件下拍摄的。包括一些面部表情,例如中性,微笑,惊奇,斜眼,厌恶和尖叫。根据头部姿势,可标注68或39个面部标志。
- XM2VTSDB [64]:扩展M2VTS数据库包含295个带有语音和旋转头移动的主题的视频。还提供每个主题的3D头部模型。[79]提供了68个面部标志性注释。
- FRGC v2[73]:面部识别大挑战(FRGC)数据库包含来自4,003个主题课程的50,000张面部图像,这些主题具有不同的照明条件和两种面部表情(微笑和中性)。还提供了由特殊传感器(Minolta Vivid 900/910)采集的3D图像,包括范围图像和纹理图像。 [79]在所选图像上提供了68个面部界标注释。
- BU-4DFE[114]:宾厄姆顿大学4D面部表情数据库(BU-4DFE)包含用于六种原型面部表情(例如,愤怒,厌恶,幸福,恐惧,悲伤和悲伤)的2D和3D视频。来自101位受试者(58位女性和43位男性)的惊喜)。大约有60k+图像。 [97]在所选图像上提供68个2D和3D面部界标注释。
8.2.2 “In-the-wild” databases
最近,研究人员致力于开发更健壮和有效的算法,以处理现实生活中的面部标志检测。为了评估这些条件下的算法,从网络上收集了一些“荒野”数据库,例如Flicks,facebook等。它们包含各种变化,包括头部姿势,面部表情,照度,种族,遮挡,等等。它们比具有“受控”条件的图像困难得多。这些数据库列出如下:
- AFLW [53]:“野外带注释的地标(AFLW)”数据库包含约25K图像。基于可见性,注释最多包括21个地标。
- LFPW [10]:野生(LFPW)数据库中的带标签的面部部分包含1,432张面部图像。由于仅提供URL,因此某些图像不再可用。原始数据库提供了29个地标注释。 [79]提供了用于1,132个训练图像和300个测试图像的68个面部标志的重新注释。
- Helen数据库[54]:Helen数据库包含2,330个高分辨率图像,其中包含194个密集的面部地标注释。 [79]也提供了68个地标的重新注释。
- AFW [125]:“带注释的野外面孔”(AFW)数据库包含约205张图像,这些图像具有比其他“野生”数据库相对更大的姿势变化。数据库提供了6个面部地标注释,[79]提供了68个地标的重新注释。
- Ibug 300-W [79] [81]:来自Wild(300-W)数据库3中300张脸的ibug数据集是迄今为止最具挑战性的数据库,变化很大。它仅包含135张图像的114张脸,并带有68个注释地标。
- Ibug 300-VW [86]:“野生300视频”(300)数据库包含114种视频序列,适用于从易到难的三种不同情况。提供了68个面部地标注释。
- COFW [13]:Caltech的野生面部遮挡(COFW)数据库包含具有明显遮挡的图像。有1345个训练图像和507个测试图像。有29个地标位置和地标遮挡的注释。
8.3 Evaluation and discussion
8.3.1 Evaluation criteria
面部界标检测和跟踪算法输出面部图像或视频中的面部界标位置。通过将检测到的地标位置与地面真人面部地标位置进行比较来评估准确性。特别是,如果我们将地标i的检测到的和地面的地标位置表示为
d
i
=
{
d
x
,
i
,
d
y
,
i
}
和
g
i
=
{
g
x
,
i
,
g
y
,
i
}
d_i = \left\{ d_{x,i},d_{y,i} \right\} 和g_i = \left\{ g_{x,i},g_{y,i} \right\}
di={dx,i,dy,i}和gi={gx,i,gy,i},则第
i
i
i个点的检测误差为:
上述标准的一个问题是,对于尺寸不同的面孔,该错误可能会发生显着变化。要解决此问题,有几种方法可以将错误归一化。眼间距离是最流行的标准。如果将左右瞳孔中心分别表示为
g
l
e
和
g
r
e
g_{le}和g_{re}
gle和gre,则可以如下计算归一化误差:
除了眼间距离以外,一些著作[80]还可以选择外眼角之间的距离作为归一化常数。对于特定的图像,例如具有极端头部姿势(>=60度)或遮挡的图像(例如,图11和图12),眼睛可能不可见,因此,一些其他归一化常数(例如来自脸部边界的脸部大小)框[125]或外眼角和外口角(脸的同一侧)[106]之间的距离可以用作标准化常数。
为了累积一幅图像的多个界标的误差,使用平均归一化误差:
为了计算多幅图像上的性能,使用了平均误差或累积分布误差。 平均误差计算多个图像的标准化误差的平均值。 累积分布误差计算位于某些阈值下的图像的百分比(请参见图15)。
为了评估效率,使用了已处理帧的数量。 通常,在没有强大的GPU或并行计算实现等的情况下,可以在常规PC(例如笔记本电脑)上评估人脸标志检测算法。
8.3.2 Evaluation of existing algorithms
在表4中,我们列出了基准数据库上领先算法的性能,其类别和界标检测错误。在图15中,我们显示了LFPW数据库上某些算法的累积分布曲线。注意,在本文中,我们集中于现有文献的报道结果。还有其他详细参考文献[16] [78] [86],它们通过在不同数据库上运行软件和已知算法的实现来提供原始评估。
有几个观察结果。首先,一般而言,基于回归的方法要比整体方法和受约束的局部模型方法具有更好的性能,尤其是在图像变化较大的情况下(例如ibug 300-w)。其次,基于深度学习的回归方法(例如[119])是领先的技术,它们可以在多个数据库上实现最先进的性能。第三,同一算法的性能在数据库中是不同的,但是多种算法的等级通常是一致的。
表5列出了领先算法的效率。请注意,不同算法的计算速度是从其原始论文中报告的,其评估方法可能有所不同。例如,它们具有不同的实现选择(matlab与C ++),并且它们在不同的计算机上运行。一些算法可能只通过排除图像加载时间等来报告处理时间。通常,我们可以看到传统的级联回归方法[52] [76]比其他方法更快。
此处显示的结果通常与[16] [78]中的发现一致。在[16]中,Chrysos等人。表明,考虑到速度和准确性,一毫秒的面部对齐[52],监督下降方法[110]和CFSS [123]是不错的选择。
8.4 Software
在表6和7中,我们列出了一些学术软件和商业软件。 该学术软件通过纸质出版物引用现有方法的实现。 商业软件通常仅在有限的意义上可用。 对于商业软件,visage SDK涵盖了许多应用程序,包括面部标志检测,头部姿势估计和面部表情识别,这是一个不错的选择。
9. Conclusion
在本文中,我们从三个主要方面对人脸标志检测算法进行了概述:整体方法,约束局部方法和基于回归的方法。此外,我们专门讨论了几种最近的算法,这些算法试图处理由头部姿势,面部表情,面部遮挡,强光照,低分辨率等引起的不同变化下的“野生”面部界标检测。此外,我们还讨论了流行的基准数据库,领先算法的性能以及一些现有软件。
关于面部界标检测仍然存在一些悬而未决的问题。首先,当前的脸部界标检测和跟踪算法在具有挑战性的“狂野”条件下仍然存在面部图像问题,包括极端的头部姿势,面部遮挡,强光照等。现有算法着重解决一个或几个问题条件。仍然缺乏可以处理所有这些情况的面部标志检测和跟踪算法。其次,缺少一个大型的人脸图像数据库,该数据库可以用人脸标志标注来覆盖所有不同的条件,这可能会大大加快算法的开发速度,而现有的数据库仅覆盖了少数条件(例如头部姿势和表情)。第三,人脸界标检测仍然严重依赖人脸检测精度,在某些情况下仍可能失败。第四,一些界标检测和跟踪算法的计算成本仍然很高。面部界标检测和跟踪算法应满足实时处理要求。
有一些未来的研究方向。首先,由于三种主要方法在方法上都具有相似性和独特性,因此最好采用结合了这三种方法的混合方法。例如,有趣的是,整体方法和CLM中使用的外观和形状模型如何以及是否可以帮助基于回归的方法。研究用于整体方法的解析解是否可以应用于每个阶段的级联回归,也很有趣,因为它们具有与第5节中讨论的相似的对象函数。反之亦然,级联回归的思想可以应用于整体方法以级联方式预测模型系数。第二,目前,动态信息是在有限的意义上使用的。面部运动信息应与面部外观和面部形状相结合,以进行面部界标跟踪。例如,有趣的是看看动态特征如何以及是否有助于面部标志的跟踪。具有面部结构信息的地标跟踪也是一个有趣的方向。第三,由于面部标志检测与其他面部行为分析任务(包括头部姿势估计和面部表情识别)之间存在关系,因此应将它们的相互作用用于联合分析。通过利用它们的依赖性,我们可以合并计算机视觉投影模型并改善所有任务的性能。最后,为了充分利用深度学习的力量,需要一个大型的注释数据库,该数据库包含不同条件下的数百万张图像。如此大的图像的注释需要一种混合注释方法,包括人工注释,在线众包和自动注释算法。