PIPNet:面向自然场景的人脸关键点检测《Pixel-in-Pixel Net: Towards Efficient Facial Landmark Detection in the Wild》

在这里插入图片描述
在这里插入图片描述

单位:MBZUAI,起源研究院(邵岭团队)
ArXiv: https://arxiv.org/abs/2003.03771
Github: https://github.com/jhb86253817/PIPNet

导读:人脸关键点的研究在人脸编辑(抖音各种效果)、人脸识别和表情识别等方面起着越来越重要的作用。本篇文章从几个角度来解决识别过程中遇到的挑战比如如何鲁棒性检测极端面部、如何兼顾速度与精度等,1、提出一个新的范式,除了传统的坐标回归与热力图回归,很大程度上解决了速度的问题;2、针对人脸关键点的特性,提出了近邻约束,增强了鲁棒性。3、提出一个自训练策略,进一步提升跨域检测性能。作者没有设计新的网络结构,但从训练策略再到面向任务的特性着手,也能提供了有价值的参考意义。


在这里插入图片描述
一个好用的gif制作与压缩网址: https://ezgif.com/

摘要

当前,热力图回归模型因其在人脸关键点识别中取得了卓越的性能而变得流行。但是,这些模型之间仍然存在三个主要的问题:

  • 这些模型的计算量很大;
  • 他们通常缺乏对全局形状的明确约束;
  • 不同领域间的间隙普遍存在。

为了解决这些问题,作者提出了PIPNet用于人脸关键点检测(facial landmark detection, FLD)。所提出的模型配备了一个基于热力图回归的新型检测头,它能够在低分辨率的特征图上同时预测得分与偏移量。通过这样做,重复上采样过程就不再需要,使得推导时间大大降低而不牺牲模型精度。此外,一个简单而有效的近邻回归模型被提出,通过融合相邻监测点的预测来强制局部约束,能够提升新检测头的鲁棒性。为了进一步提升PIPNet跨领域泛化性能,作者提出带有课程的自我训练。这种训练策略能够从跨域的未标注的数据中挖掘更多可靠的伪标签,它通过从一个简单的任务开始,逐渐增加难度以提供更精确的标签。大量实验证明了PIPNet的优越性,它能在有监督的设置下,在6个流行的数据集上取得三个新的领先结果。与基线方法比较,在两个跨域测试集上结果也是持续提升。值得注意是,作者提出PIPNet轻量级版本在CPU和GPU下分别取得了35和200FPS的速度,同时保持了一个有竞争力的精度与领先的方法比较。

一、介绍

1.1 基本定义

面部关键点定位旨在定位人脸上预定义的关键点,其结果可用于多个人脸分析任务,如人脸识别、人脸跟踪、面部编辑等。这些应用通常在不受控的环境下在线运行,需要人脸关键点检测子能够同时准确、鲁棒和计算效率高。

1.2 新的检测范式:除了热力图和坐标回归之外

在过去几年中,该领域取得了重大进展,特别被端到端的CNN推动。在最近研究中,一些方法重在改进损失函数;一些方法专注数据增强以更好泛化;还有一些方法解决语义歧义问题。但是,很少研究针对检测头的研究,尽管对于FLD检测器非常重要。特别地,检测头能够影响精度、鲁棒性和模型的效率。对于基于深度学习的FLD,通常有两种常用的检测头,即基于热力图回归和坐标回归。热力图回归方法能够取得好结果,但是它有两个缺陷:一是运算量大,二是对异常情况很敏感。相反,坐标回归的方法快而鲁棒,但不够准确。尽管坐标回归方法能够以多阶段方式产生更好的结果,它的推理速度还是比较慢。因此,作者尝试去回答下列问题:是否有检测头能够同时具有两者的优势?

1.3 跨域的泛化性能

跨域的泛化能力是FLD另一个挑战。有研究表明,在域内和跨域测试集上存在巨大性能差距。为了模型能够在不受约束的环境下稳健执行,域间间隙尽可能小。当前有一些工作解决这个问题,通过有监督训练一个模型,然后直接在跨域数据集上评估性能。作者将这种范式称为可泛化的有监督学习(Generalizable Supervised Learning, GSL)。它的缺点是它依赖人工设计模型进行跨域泛化,可扩展性不好。或许有人建议直接在多个数据库上使用监督学习去训练模型,但人工标注的成本太高而不现实。因此,作者去探索可泛化的半监督学习(Generalizable Semi-Supervised Learning, GSSL)应用于FLD,它能够使用跨域中的标注和未标注数据去获取更好泛化能力。与GSL相比,GSSL更具扩展性因为它是数据驱动的,并且无标签样本相对更容易获取。无监督领域适应性(unsupersived domain adaptation, UDA),作为GSSL的一种特殊情况,已经在图像识别、目标检测和行人重识别等任务中成功采用。但是对于FLD,UDA有效性仍未可知。
在这里插入图片描述
上图展示了几种训练与测试范式的区别。
GSL:有监督学习(Generalizable Supervised Learning, GSL);
GSSL:可泛化的半监督学习(Generalizable Semi-Supervised Learning, GSSL);
UDA:无监督领域适应性(unsupersived domain adaptation, UDA)。
可以发现,GSSL和UDA之间的区别主要在于:GSSL对于无标签数据域不是非常严格,而UDA通常要求无标签数据与测试数据通常来自同一个数据域。

二、贡献

为了获得有效的面部关键点检测器,能够在自然场景下运行,作者提出了一个新模型叫PIPNet,它有三个核心部分:

  1. PIP回归;
  2. 一个近邻回归模块;
  3. 带有课程的自训练方法。

PIP回归,也就是PIPNet的检测头,基于热力图回归,除了预测分数之外,进一步预测在每个特征图像素中的偏移量。通过这样做,模型仍然能够获得好结果,甚至网络的步长比较大(即会产生低分辨率的特征图)时候。因此,为了热力图回归的上采样层能够去掉而节省可观的运算开销,而不牺牲精度。

启发于坐标回归,近邻回归模块的设计是为了提升PIP回归的鲁棒性。对于每个面部标记点,近邻回归模型能够预测在每个特征图像素中近邻标记点的位置。在额外的边际成本下,近邻回归模型能够提升模型鲁棒性,通过引入局部约束到预测的标记点形状中。通过PIP回归和近邻回归模块,该模型继承了热力图和坐标回归的优点。实际上,热力图和坐标回归可以看成PIP回归在不同滑动步长的两个特殊例子。此外,作者还证明了PIP在偏差-方差均衡下的优越性(此处,需要弄清楚,就要看对应章节)。

为了更好利用跨域的无标签样本,作者提出带有课程的自训练方法用于可泛化的半监督学习。与标准的自监督方法不同,带有课程的自训练从一个更简单的任务开始,然后逐渐增强难度去获取更多细化的伪标签。通过这种方式,从估计的伪标签中引入更少的误差,缓解了自训练中的错误强化问题。

二、方法

2.1 PIP回归

在这里插入图片描述

如上图所示,当前面部关键点检测器能够分为两类,基于检测头的类型,即坐标回归和热力图回归。图3a所示,坐标回归方法从全链接层中输出了一个2N长度的向量,其中N表示标注点的数量。图3b所示,热力图回归方法首先逐渐上采样提取到的特征图到与输入具有相同相似的分辨率,然后输出N个通道的热力图,每个通道反应了对应标注点位置的似然估计。当比较两个检测头时,不难发现坐标回归方式计算更加高效因为热力图回归方法要么需要重复上采样特征图或在整个网络中保持高分辨率特征图。然后,热力图方法被证明始终超过坐标回归方法,在检测精度上。

作者提出一种新检测头,PIP回归是建立在热力图回归基础上。作者觉得针对特征图上的关键点定位,上采样层不是必须的。也就是说,低分辨率特征图对于定位是足够的。通过使用在低分辨率特征图上的热力图回归,作者获取针对每个关键点在热力图上最可能的点。为了获得更加准确地预测,作者同样在热力图x和y轴上预测偏移量,偏移量是相对每个格子的左上角而言。值得注意的是,PIP回归是个单阶段的方法,因为分数和偏移量预测对两者是独立的,因此能够并行计算,其输出有一张分数图( N × H M × W M N \times H_M \times W_M N×HM×WM)和一张偏移图( 2 N × H M × W M 2N \times H_M \times W_M 2N×HM×WM)。这个提出的检测图能够简单地通过一个 1 × 1 1 \times 1 1×1卷积层实现。

Figure上图反应了PIPNet如何从一个真实标签转化到热力图标签。假设图4a)是一张 256 × 256 256 \times 256 256×256的输入图片,右眼内角上的红点表示目标真实标注点,并且网络步长设置为32。那么,最后一层的特征图尺度为 8 × 8 8 \times 8 8×8。从图中可以看到,对于每个通道上的特征图有64个格子,我们假设落入真实标记点的格子是正样本格子,在得分图上设置为1,其它设置为0.由于真实标记点相对格子左上角有30%的x轴偏移,因此在x-偏移图上设置为0.3。同样,在y偏移图上设置为0.8。剩下设置为0.。对于PIP回归的训练误差可以表述为:
L = L S + α L O L = L_S + \alpha L_O L=LS+αLO
其中, L S L_S LS是分数预测的损失, L O L_O LO是偏移预测的损失, α \alpha α是平衡系数。具体来说,针对一张( N × H M × W M N \times H_M \times W_M N×HM×WM)分数图的损失,可以表达为:
在这里插入图片描述
其中, S ∗ S* S表示真实分数值, S ′ S' S表示预测的分数值,NHM是归一项,针对一张( 2 N × H M × W M 2N \times H_M \times W_M 2N×HM×WM)偏移图的损失,可以表达为:

在这里插入图片描述
其中, o ∗ o* o表示真实的偏移值, o ‘’ o‘’ o‘’表示预测的偏移值。2N是归一化项,不难发现, L O L_O LO仅仅在正样本的格子点上计算,而 L S L_S LS在得分图上所有的格子上计算。并且,它们使用了不同的损失函数,因为前者是实际上一个分类问题,后者是一个回归问题。根据研究表明,针对回归问题,L1损失能够产生更好结果,这与我们实验结果保持一致。而针对分类问题,L2损失更好。在推理阶段,一个标记点的最终预测计算为具有最高响应的网格位置和对应偏移量进行细化而来。

PIP回归的一个超参是网络的步长。给出图像尺度和网络步长,热力图的尺度能够由下得到:
H M = H I S , W M = W I S H_M = \frac{H_I}{S}, W_M = \frac{W_I}{S} HM=SHI,WM=SWI
直观来讲,PIP回归可以看成是当前两个检测头的一个泛化表达。当网络步长与输入尺度相等时,即 H M = W M = 1 H_M=W_M=1 HM=WM=1,并且去掉得分模块,PIP回归可以看成是坐标回归,其中卷积全链接可以被卷积层代替。当网络步长等于1时,移除偏移量预测,PIP回归等同于热力图回归(虽然在实现细节上仍然存在差别,如标签平滑和关键点推理)。

2.2 近邻回归模块

尽管提出的PIP回归能够处理热力图回归中计算效率的问题,但鲁棒性比较差。下图展示了使用坐标回归、热力图回归和PIP回归去预测的示意图。

在这里插入图片描述

如图5a所示,坐标回归方法输出预测具有合理的全局形状,即使在大图上(如第4、5和7张),但是在细节上不够准确,可以看到预测值与真实值之间在某些部位存在明显的偏移,如图1中眼睛和嘴巴区域。因此,坐标回归方法可能不适合用于检测细微变化如眨眼睛和开合嘴等,但这些对于反欺骗功能是非常必要的。反而,图5b展示热力图方法在刻画细节方面更好,但对于具有极端姿势的图像给出不一致的形状(如第4-7张)。同样,PIP回归缺乏极端姿态下的鲁棒性,如图5c(第4-7张)所示,尽管获取比热力图方法更好的归一化均值误差(normalized mean error, NME)。对于基于热力图的模型,不难理解鲁棒性差的原因,因为它们的预测是基于不同特征,即特征图中的不同位置,因此每一个都是独立的。反而,所有基于坐标回归的预测的关键点共享同一特征,我们觉得这一点是鲁棒性的关键。

基于以上发现,我们进一步提出近邻回归模型(neighbor regression module,NRM),帮助PIP回归预测更一致的标记点。详细来说,除了添加每个关键点自身的偏移量,每个关键点同时预测它C个近邻的偏移量。NRM进一步输出一个近邻图,大小为 2 C N × H M × W M 2CN \times H_M \times W_M 2CN×HM×WM,其中C表示需要预测近邻点的个数。简单地,我们使用欧氏距离作为近邻的度量。
在添加NRM之后,PIPNet的训练误差可以表示为:
L = L S + α L O + β L N L = L_S + \alpha L_O+ \beta L_N L=LS+αLO+βLN
其中,LN是NRM的损失,可以定义为:
在这里插入图片描述
其中,n*表示真实近邻偏移值,n’表示预测的近邻偏移值。2CN是归一化项,LN同样采用L1损失,因为也是回归问题。在推理阶段,每个关键点除了收集它自己的预测值外,还接受其他关键点预测它的位置,然后计算他们的平均值作为最终输出。

在NRM帮助下,PIP回归变得更加鲁棒性,在变得更加精确同时,如图5d所示。由于很小的误差不容易通过图像感知,作者进一步将错误转换为条形图,以便更清晰说明。
在这里插入图片描述图6a中的图像比较简单,坐标回归的预测在左右脸颊、左右眼、嘴巴区域有明显的偏移,这就是它得到最差的NME=3.73%的原因。

2.3 带有课程的自训练

Self-training with curriculum

尽管近邻回归模型缓解了PIP回归的不稳定性,对于跨域数据集仍然不够用。有研究已经指出了人脸关键点检测存在域间隙,作者在实验部分也证明了这一点。因此,作者想进一步使用跨域的未标记数据去提升模型在跨域上的泛化能力。至此,作者提出带有课程的自训练STC,建立在自训练的基础上。传统的自训练与作者的方法之间的区别是前者的任务是固定,而作者提出的自训练方法中,任务的困难逐渐增加,模仿人类如何学习。

不同于Bengin开始提出的原始课程学习,它针对特定任务逐步展示训练样本,而作者的策略是在任务级别逐渐增大难度。作者的设计是基于一个观察,就是在热力图上的格子分类难度会随着网络的步长增大而降低。这很好理解,当步长增大时,产生热力图分辨率变小,需要分类的格子数就变小。下图展示了网络步长变化时格子分类精度的变化。
在这里插入图片描述
很明显,分类精度在不断提升当网络步长变得更大。这种趋势在更难的数据集WFLW上更明显(WFLW包涵了比300W更多的自然场景下的照片)。

由于PIP回归的灵活性,基于监督学习的PIPNet能够简单地转化带有STC的模型,通过在PIP归回的顶部简单地添加更大步长的热力图回归层。

在这里插入图片描述
图8展示了带有STC策略的PIPNet,可以看到,两个额外的热力图回归层被添加到一个标准的PIPNet中。假设输入图像是256,标准PIPNet的步长为32,那么PIPNet回归层的尺度为8,两个额外添加的热力图尺度分别为4和2。在传统的自训练中,模型不断在一个固定任务上从带有伪标签的图像中学习,直到收敛(比如,task 3就是这种情况)。对比,作者提出的STC,任务序列被安排成Task1->Task 2->Task 3循环,其任务难度不断增加直到任务3。通过这样做,模型引入和学习到的伪标签误差更少,因此可以缓解自训练中的错误强化问题。

带有课程自训练的流程可以描述如下:

  1. 修改后的PIPNet以标准的方式(即Task3)使用真实标签来训练;
  2. 使用上述训练的检测器去评估未标注数据的伪标签;
  3. 将真实标注和伪标签数据组成一个新训练集;
  4. 修改后的PIPNet在新的训练集上训练,使用真实标注数据通过Task 3去训练模型,使用伪标签数据通过Task X去训练模型,其中Task X是从Task 1-2-3序列中循环选择。

经验表明,我们发现模型会在Task 3的三次迭代后收敛,这将在所有相关实验中如此使用。在推理阶段,模型以标准的PIPNet去使用,添加的热力图回归层被去掉或者忽视。

三、实验

3.1 实验数据集

3.1.1 300W

2013年提出的数据集,人脸收集于LFPW、AFW、HELEN、XM2VTS和IBUG,为每张人脸提供了68个关键点标注。按照2016Ren这篇文章的做法,3148张训练图像来自LFPW和HELEN的训练集,以及AFW的全部。689张测试照片来自LFPW和HELEN的测试集,以及IBUG的全部。并且,测试集进一步分为两部分:常用数据集共554张(来自LFPW和HELEN),有挑战的数据集共135张(来自IBUG)。

3.1.2 COFW

于2013年提出的数据集,包含1345张训练集和507张测试集,其中人脸图像具有很大的变化和遮挡。原本每张人脸包含29个标记,2014年重新标记到68个,也叫COFW-68。作者采用原始的标记用于有监督学习,68个标记的版本用于跨域学习。

3.1.3 WFLW

于2018年提出,包含7500张训练和2500张测试图像,人脸图像来自WIDER Face(2016年提出)。每张人脸有98个标记点。其中的人脸在姿态、表情和遮挡上变化很大。测试集进一步被划分为6个子集,用于更细节的评估,这包含了姿态(326张),表情(314张),光照(698张),化妆(206张),遮挡(736张)和模糊(773张)。原始的标记在有监督设置下使用。为了让WFLW适用于跨域学习,作者将原始的98个标记转换为68标记,用于测试集,并命名为WFLW-68。可参考原文附录有关转换细节。

3.1.4 AFLW

2011年提出,包含24386张人脸图像,其中20000个用于训练,剩下4386用于测试。按照2016zhu的做法,作者使用了19个标记点用于训练和测试。

3.1.5 Menpo 2D

2019年提出,包含更多极端姿态,它有两个标记点配置:半正脸(69个标记)和侧面(39个)。半正脸包含5658张训练照片和5335张测试照片。对于侧面,训练和测试各有1906和1946张。本文中作者分别在两个轨道上分别训练和测试。

3.1.6 300VW

于2015年提出,一个流行的用于视频人脸关键点检测的数据集,每张脸具有68个标记点。它包含114个视频,其中50个训练和64个测试。测试视频进一步分为三个种类,基于它们的难度级别:1 光线充足的条件(31视频);2 无约束条件(19个视频);3 完全不受约束的条件(14个视频)。作者为了验证模型的稳健性,分别在训练和测试图像上训练与测试,不考虑任何时间信息。为了避免过拟合,作者从每个视频中每隔5帧采样一次,用于没有提供人脸边界框,作者使用RetinaFace去检测人脸边界框。

3.1.7 CelebA

2015年提出,是一个大规模属性数据集,带有202599个人脸图片。本文中只用于无标签数据。

3.2 实验设置

有监督设置。

每张人脸根据提供真实标注框被裁减,然后重新扩展为256×256。为了保留更多的上下文信息,含有68个标记点(如300W,Menpo 2D和300VW)的标准框放大了10%,而具有98个点的标注框放大了20%。作者使用ResNet-18作为骨架模型,ResNet50和101也被使用可获取更好的结果,以及MobileNet也被使用因为更好的推断效率。其他设置细节参考原文。

在 300W、COFW 和 AFLW 上与最先进的方法进行比较
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧技湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值