热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读

paper: Adaptive_Wing_Loss_ICCV 2019
code: https://github.com/protossw512/AdaptiveWingLoss
Authors: Oregon State University,JD Digits

前置知识

  1. 基于深度学习的人脸对齐方法
    目前基于深度学习的人脸对齐方法主要有两种主流的方式,分别是基于坐标回归基于热力图回归
    a. 基于坐标回归:神经网络的预测结果为n(关键点数量)个2D(x,y)或3D (x,y,z) 的关键点坐标,训练时的ground truth为每张人脸的所有关键点的二维或三维坐标值。模型的最后通常采用的是全连接层回归坐标的方式。
    优点:训练和前向速度很快,并且网络是端到端的全微分训练。
    缺点:全连接方式所得权重严重依赖于训练数据的分布,非常容易造成过拟合,空间泛化能力差。
    b. 基于热力图回归:在基于坐标回归的方法中,目标点其实很难准确的被某一个像素位置定义的,也就很难被准确的标注。而且目标点附近的点其实也很像目标点,如果我们直接将其标为负样本,可能给网络的训练带来干扰,但如果用高斯函数为这些点做一个”软标注(soft label)“,也就是每一点的标注是距离目标点的“激活值(程度)”,这样网络就会更好的收敛。这样也能够给网络的训练增加一个方向性的引导,距离目标点越近,激活值越大,这样网络能有方向的去快速到达目标点。
    优点:采取软标注的方式,精度更高。可让网络全卷积,不需要全连接。
    缺点:heatmap的size一般选取为输入尺寸的1/4,输入尺寸大,内存消耗大。不是端到端。heatmap的groud truth需要制作,且从预测到的heatmap到坐标点一般是通过argmax离线获得,该过程并不可导,且会带来量化误差(与heatmap的分辨率有关)。
  2. 卷积操作中的平移不变性
    平移不变性意味着系统产生完全相同的响应(输出),不管它的输入是如何平移的 。卷积操作中的平移不变性体现在不论图像中的目标出现在哪个位置,经过卷积操作后都会检测到同样的特征,输出同样的响应。比如说人脸在图像中平移到各个位置,但是经过卷积操作后都会提取到同样的特征。在卷积神经网络中,卷积操作和池化操作都提供了平移不变性,它是一个很有用的性质,尤其是当我们关心某个特征是否出现而不关心它出现的具体位置时。
  3. 灰度膨胀算法
    用结构元素(如下图3*3的1矩阵)的中心点,依次扫描灰度图的每个像素点,图片上该像素点的值取为结构元素覆盖的所有像素点中的最大值,扫描一遍后会得到一张新图,就是原图的膨胀图。下图来自 here.
    优点:可以使一个鼓励的高亮噪音扩大化,也可以是物体的一些高亮度的关键细节丢失。
    实现:python 中 scipy.ndimage.grey_dilation
    热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读

摘要(Abstract)

基于深度网络的热力图回归方法已成为定位面部关键点的主流方法之一。但是,目前对热力图回归的损失函数的研究却很少。本文对人脸对齐问题中热图回归的理想损失函数性质进行分析。然后,我们提出了一种新的损失函数,称为 Adaptive Wing Loss,它能够使其形状适应不同类型热力图像素的ground truth。这种适应性对前景像素的损失更大,而对背景像素的损失更少。为了解决前景和背景像素之间的不平衡问题,我们还提出了加权损失图(Weighted Loss Map),它在前景和困难的背景像素上分配高权重,以帮助训练过程更多地关注对地标定位至关重要的像素。为了进一步提高人脸对齐精度,我们引入了边界预测(boundary prediction)和具有边界坐标的 CoordConv。在COFW,300W和WFLW等基准测试上进行的广泛实验表明,我们的方法在各种评估指标上显著优于最先进的方法。

1. Introduction

人脸对齐, 也可被称为人脸关键点定位,目的是定位出人脸上预定义好的关键点。人脸对齐在许多人脸相关的应用中都起到了重要的作用,比如人脸识别、人脸正面化、3维人脸重建等。近年来,基于卷积神经网络(CNN)的热图回归已成为解决人脸对齐问题的主流方法之一,并在正面人脸上取得了非常好的性能。但是,大姿态、遮挡和严重模糊的人脸上的关键点仍然很难去定位。

热力图回归,即回归由关键点坐标生成的热力图,被广泛应用于人脸对齐中。热力图ground truth是在每个通道上通过以每个关键点为中心绘制出一个高斯分布来生成。模型在像素级别上对热力图进行回归,然后使用预测的热力图来推断关键点位置。前景像素(foreground pixels,值为正的像素)的预测准确率,尤其是在每个高斯分布附近的像素对精确定位关键点非常重要。即便是这些像素上一点小小的误差,也会导致预测从正确的模式(mode)上转移。相反的,背景像素(background pixels, 0值的像素)预测的准确性并没有那么重要。因为很多时候在这些像素上的小误差并不会影响关键点的预测。但是,困难背景像素(diffificult background pixels,见下图所示)预测的准确性也是重要的,原因就是它们经常被错误地回归为前景像素并可能导致不正确的预测。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
从上面讨论中,我们找到了在热力图回归中广泛使用的均方误差损失(MSE)的两个问题1)MSE对微小误差不敏感,这影响了正确定位高斯分布mode的能力; 2)在训练过程中,所有的像素具有同样的损失函数和权重,但是,在热力图中背景像素相对于前景像素是占着绝对主导地位的。 这两个问题导致由MSE训练的模型预测出结果的前景像素是模糊和膨胀的,如下图所示。这样的低质量热力图就可能会导致关键点的错误估计。Wing loss[1]对改善坐标回归的结果是非常有效的,但是根据我们的实验结果,它并不适合热力图回归的方法,因为背景像素上的小误差将会积累巨大的梯度,从而它导致训练时出现梯度发散。因此这篇文章我们提出了一个新的损失函数,名为Adaptive Wing loss,它们显著提高热力图回归结果的质量。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
由于在自下而上和自上而下的CNN结构(如 stacked Hourglass(HG)[2])中卷积操作的平移不变性,使得网络不能够捕捉坐标信息。但是我们认为坐标信息是对人脸关键点定位是有用的,因为人脸结构是相对稳定的。受Liu等提出的CoorConv层的启发[3],我们将完整的坐标信息和先前HG模块预测到的边界上的信息编码至我们的模型。被编码至网络的坐标信息进一步提高了模型的性能。为了对边界坐标进行编码,我们还添加了一个边界预测的子任务,即添加另外一个额外的通道预测边界,使用热力图作为ground-truth,与其他通道联合训练。

总的来讲,我们的贡献包含:

  • 提出了一种新颖的用于热力图回归的损失函数,名为 Adaptive Wing loss。 它能够使其曲率适应像素值的ground truth。这个适应特性可以减少在前景像素上的微小误差,从而精确地定位关键点,同时能够容忍背景像素上的微小误差以获得更好的收敛速度。通过提出的Adaptive Wing loss,它也能够在训练过程中聚焦于前景像素和困难的背景像素。

  • 使用CoordConv将坐标信息和边界坐标信息编码至人脸对齐算法当中。

我们的方法在300W, COFW, WFLW等主流的人脸对齐数据集上显著优于最先进的算法。我们还证明了Adaptive Wing loss 在人体姿态任务中的有效性。

2. Related Work

基于CNN的热力图回归模型利用CNN网络来实现热力图回归。近期一些工作使用自下而上和自上而下的联合架构,如堆叠的HG网络,实现了最先进的性能。

热力图回归的损失函数在先前的工作中很少被研究。 GoDP[4]使用一个距离感知的softmax损失对错误分类的正样本(假阳)分配较大的惩罚,同时随着与附近阳性样本距离的减小,逐渐减少对错误分类的阴性样本的惩罚。Wing loss是一个用于直接回归关键点坐标的修正对数损失。与MSE相比,它放大了小误差的影响。尽管Wing loss在坐标回归方法中能够达到最先进的性能,但是由于其对背景像素小误差的高度敏感和梯度为零时的不连续性,使得它并不适用于热力图回归。我们提出的Adaptive Wing loss是新颖的,因为它能够将他的曲率适应于不同的像素真实值,这样它就可以对前景像素上的小误差敏感,并且又能容忍背景像素上的小误差。因此,我们的损失能够应用于热力图回归而原始的Wing loss不可以。

边界信息最开始是由Wu等引入到人脸对齐中。LAB提出了一种基于堆叠HG模型的两阶段网络来生成人脸边界图,然后利用边界图直接回归人脸关键点坐标。我们认为边界信息是有利于热力图回归的,因此我们在模型中使用了一个改进的版本。

坐标编码。平移不变性是卷积操作所固有的属性。虽然CNN从参数共享机制中获益良多,但Liu等[34]发现卷积操作无法处理简单的坐标变换,并提出了一种新的CoordConv操作,即在卷积操作之前将坐标信息编码为额外的通道。CoordConv被证明可以改善如目标检测和生成建模等视觉任务。对于人脸对齐,输入的图像总是由一个在位置和尺度上方差较小的人脸检测器生成的。这些特性启发我们使用CoordConv帮助CNN来根据面部关键点之间的绝对位置来学习它们之间的关系。

3. Our Model

我们的模型是基于Bulat[6] 等的堆叠的HG架构,它是对Newell等2的改进版本。对于每个HG,输出的热力图都由ground truth heatmap监督。我们还添加了一个边界预测的子任务作为热力图的额外通道。坐标编码是在我们的网络的第一个卷积层之前和每个HG模块的第一个卷积块之前添加的。模型的总览如下图所示。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读

4. Adaptive Wing Loss for Face Alignment

4.1 Loss function rationale

在开始分析之前,我们想介绍一个来自稳健统计数据的概念。Influence[7]是一种启发式工具,用于稳健统计来研究估计器的性质。在本文的背景下,影响函数与损失函数的梯度[8]成正比。所以,如果梯度幅度在y−yˆ点(表示误差)很大,那么我们就说损失函数在y−yˆ点有很大的影响。如果梯度幅度在这一点上接近于零,那么我们说损失函数在y−yˆ点上的影响很小。理论上讲,对于热力图回归而言,训练仅在以下情况下才会收敛:
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
N是训练样本的总数,H, W, C分别是热力图的高,宽和通道。Lossn是第n个样本的损失,yi,j,k和y^i,j,k分别是像素强度的真实值和预测值。在收敛时,所有误差的影响必须相互平衡。因此,在一个梯度幅度较大(影响较大)的像素上的正误差需要通过在许多影响较小的像素上的负误差来平衡。与小梯度幅度的误差相比,大梯度幅度的误差也会更受关注。

热力图回归的本质是输出一个以每个真实关键点为中心的高斯分布。因此在高斯mode处估计像素强度的准确度对正确定位关键点具有至关重要的作用。我们在第一节中阐述的两个问题,由于在训练时缺乏对前景像素的聚焦而导致了关键点位置估计的不准确。在本节和4.2节中,我们将会讨论第一个问题的原因以及Adaptive Wing loss如何补救它。第二个问题将会在4.3节中讨论。

第一个问题是由于常用到的MSE损失函数所引起的。MSE损失的梯度是线性的,所以误差小的像素的影响很小,如图4b所示。这一特性可能会导致许多像素仍然有很小的误差的时候收敛。因此,用MSE损失训练的模型常常会预测一个模糊和膨胀的热力图。更糟糕的是,预测到的热力图在困难关键带你附近的前景像素上的强度往往很低,例如被遮挡的关键点和具有不寻常光照条件的人脸关键点等。从这些低强度的像素中准确定位关键点是比较困难的,正如图2中所示的一样。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
L1损失具有恒定的梯度,因此误差小的像素与误差大的像素具有相同的影响。可是,L1损失的梯度在零点处不是连续的,这意味着为了收敛,具有正误差的像素量必须完全等于具有负误差的像素量。这种微妙的平衡是难以实现的,这可能会导致训练过程的不稳定和振荡。

Feng[1]通过提出了一个在误差较大时具有恒定梯度、误差小时具有大梯度的的Wing loss来改进MSE,因此,具有小误差的像素将会被放大,Wing loss的定义如下. y和y ^分别表示真实热力图和预测热力图上的像素值,C = ω − ω ln(1 +ω/ǫ)用于使函数在 |y − yˆ| = ω.时连续。但是,Wing loss 仍然不能克服其在y−yˆ=0处的梯度的不连续,是因为其在这个点附近的梯度幅度很大,训练比L1损失更难收敛。这个特性就是的Wing loss不在适用于热力图回归,因为Wing loss需要在所有的背景像素上计算,而背景像素上如果出现了一点小小的误差(不再为0),就会具有与其不成比例的影响。训练一个在这些背景像素上输出0梯度或小梯度的神经网络是非常困难的。根据我们的实验,训练一个带有Wing loss的热力图回归网络是永远不能收敛的。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
上述分析使我们定义了热图回归的理想损失函数的期望性质。我们期望当误差很大时,我们的损失函数具有恒定的影响,因此它将对不准确的注释和遮挡具有鲁棒性。 随着训练过程的继续和误差的减小,将会出现以下两种情况:1)对于前景像素(y=1), 影响(以及梯度)应该开始增加,以便训练能够更专注于减少他们的错误。当误差非常接近于0时,影响应该会迅速减少,以至于这些已经“足够好”的像素不再被关注。正确估计的影响有助于网络保持收敛,而不是像L1和翼损失那样振荡。2)对于背景像素(y=0),梯度应该表现得更像MSE损失,即随着训练误差的减小,梯度会减小到0,因此当误差较小时影响也会相对较小。这一特性减少了在训练时对背景像素的关注(即降低了对背景像素微小误差的敏感程度),稳定了训练过程。

对于以上的这些所需要的特性,一个固定的损失函数不能同时实现。这个损失函数应该适应真实heatmap上的不同像素强度。对于接近mode的ground truth 像素(强度接近于1),他们小误差的影响应该增加。对于强度接近于0的ground truth 像素,他们的损失函数应该像MSE loss一样。由于ground truth heatmap的像素值的范围是(0,1),我们还期望我们的损失函数根据不同的像素值能够进行平滑的转换。

4.2 The Adaptive Wing Loss

根据上述的观点,我们提出了Adaptive Wing (AWing) loss, 定义如下:
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
y和y^分别是真实热力图和预测热力图的像素值,ω, θ, ε和α是正值,A = ω(1/(1 + (θ/ǫ)(α−y)))(α − y)((θ/ǫ)(α−y−1))(1/ǫ)和C = (θA−ω ln(1+(θ/ǫ)α−y))是为了使损失函数在|y − yˆ| = θ时保持连续和平滑的。与Wing loss使用ω作为阈值不同,我们引入了一个新的变量θ作为阈值来完成线性和非线性部分的转换。对于热力图回归,我们常常是回归一个0-1之间的值,因此我们希望我们的阈值在这个区间内。当 |y − yˆ| < θ,我们认为误差很小,需要更强的影响。更重要的是,对于我们采取了一个指数项α−y,它用于使损失函数的形状适应于y,并使损失函数在点0处平滑。注意,α必须略大于2,才能保持我们在4.1节中讨论的理想性质,这是由于y是在[0,1]范围内的标准化。对于在y上值接近于1的像素(我们想要定位的关键点),指数项α−y略大于1,这时非线性部分(|y − yˆ| < θ)将表现得像Wing loss一样,对于较小的误差就会产生较大的影响。但与Wing loss不同的是,当误差非常接近于零,影响将迅速下降到零。当y减小时,损失函数将会转变为一个类似于MSE的损失函数,这使得不再关注仍然有误差但影响很小的像素。图5展示了幂项α − y如何实现不同y值之间的平稳过渡,使小误差的影响随着y值的增加而逐渐增加。较大的ω值和较小的ε值会增加对小误差的影响,反之亦然,根据我们的实验表明,较大的ω值是有效的。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
AWloss的非线性部分与 Lorentzian loss[9]有些相似,但又与 Lorentzian loss和Geman-McClure loss[10]不同,我们不需要随着误差的减小而减小到0. 这是由于热图回归的性质。 在上述这两个损失中,网络学习了忽略误差较大的噪声异常值。在人脸对齐的背景下,所有的面部关键点都用相对较小的噪声来标注,所以我们没有具有噪声的异常值可以忽略。**一个线性的损失足以使网络收敛到与真实热力图十分相近的预测值,然后损失函数将切换到它的非线性部分,以细化预测,以增加对小误差的影响。**在实践中,我们发现与在误差很大时保持使用非线性形式相比,线性形式取得了更好的性能。

在模型中我们根据经验选取了α=2.1。在我们的实验中,我们发现 ω = 14, ε = 1, θ = 0.5时达到了最好的效果。

4.3. Weighted loss map

在本章节我们讨论了4.1节中的第二个问题:在训练过程中,所有的像素具有同样的损失函数和权重,但是,在热力图中背景像素相对于前景像素是占着绝对主导地位的。在典型的人脸关键点定位的设置中,采用6464热力图,高斯尺寸为77,前景像素仅占所有像素的1.2%。为这样一个不平衡的数据分配同等的权重,将会导致训练过程收敛很慢并且输出的效果很差。为了进一步是我们的网络聚焦于前景像素和困难的背景像素(接近前景像素的背景像素)的能力,我们引入了加权损失图(Weighted loss map)来平衡来自不同类型像素的损失。首先定义损失图掩码如下. Hd 是由真实热力图 H 通过3*3的灰色膨胀生成的。损失图掩码将前景像素和困难背景像素分配为1,其他像素为0。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
有了M,我们将加权损失图定义如下。⊗表示逐元素相乘,W是一个控制多少权重被增加的尺度超参数。权重图的生成过程见图6。在实验中,我们选取W=10。这样做的初衷是分配给热力图上的像素以不同的权重。前景像素在训练过程中被关注,因为这些像素对于定位高斯分布的mode是最有用的。困难的背景像素也应该被关注,因为这些像素相对难以回归,准确的回归可以有助于缩小前景像素的面积,提高定位精度
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读

5. Boundary Information

受[5]的启发,我们将边界预测作为子任务引入网络,但方式不同。我们没有将边界分割成不同的部分,而是只使用一个额外的通道作为边界通道,它将所有的边界线组合到我们的热图中。我们相信这将有效地捕捉人面部的全球信息。边界信息将通过前向通道的卷积运算自然地聚合到网络中,并在第6节中用于生成边界坐标图,根据我们的消融研究,这可以进一步提高定位精度。

6. Coordinate aggregation

我们将CoordConv[3]聚合到我们的模型中来改进传统CNN模型捕捉坐标信息的能力。除了CoordConv中的X, Y 和半径坐标编码外,我们还利用我们预测的边界来生成边界的X,Y坐标。更具体地说,我们将X坐标编码至Cx,预测到的边界为B,因此边界坐标的编码Bx的定义为:
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
By是通过同样的方式从Cy中得到。坐标通道在运行时生成,然后与原始输入拼接在一起,以执行常规卷积。

7. Experiments

在COFW、300W、300W专用测试集和WFLW数据集上进行了实验。评价指标为:Normalized Mean Error (NME)、Failure Rate (FR)和Cumulative Error Distribution (CED)。
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读
热力图回归Adaptive Wing Loss [ICCV2019] 论文阅读

8. Conclusion

在本文中,我们找出了热力图回归中MSE损失函数存在的两个问题。为了解决这些问题,我们提出了Adatptive Wing loss 和 Weighted Loss Map来精确定位人脸关键点。为了进一步改进定位精度,我们还在模型中引入了 边界预测 和 CoordConv。实验表明我们的方法在多个数据集中取得了最先进的性能,尤其是在 failure rate 和 AUC上。

[1]. Zhen-Hua Feng, Josef Kittler, Muhammad Awais, Patrik Huber, and Xiao-Jun Wu. Wing loss for robust facial landmark localisation with convolutional neural networks. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018.
[2]. Alejandro Newell, Kaiyu Yang, and Jia Deng. Stacked hourglass networks for human pose estimation. In European Conference on Computer Vision, pages 483–499. Springer, 2016.
[3]. Rosanne Liu, Joel Lehman, Piero Molino, Felipe Petroski Such, Eric Frank, Alex Sergeev, and Jason Yosinski. Anintriguing failing of convolutional neural networks and the coordconv solution. arXiv preprint arXiv:1807.03247, 2018
[4]. Yuhang Wu, Shishir K Shah, and Ioannis A Kakadiaris. Godp: Globally optimized dual pathway deep network architecture for facial landmark localization in-the-wild. Image and Vision Computing, 73:1–16, 2018.
[5]. Wayne Wu, Chen Qian, Shuo Yang, Quan Wang, Yici Cai, and Qiang Zhou. Look at boundary: A boundary-aware face alignment algorithm. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018.
[6]. Adrian Bulat and Georgios Tzimiropoulos. How far are we from solving the 2d & 3d face alignment problem?(and a dataset of 230,000 3d facial landmarks). In International Conference on Computer Vision, volume 1, page 4, 2017.
[7]. Frank R Hampel, Elvezio M Ronchetti, Peter J Rousseeuw, and Werner A Stahel. Robust statistics: the approach based on influence functions, volume 196. John Wiley & Sons, 2011.
[8]. Michael J Black and Anand Rangarajan. On the unification of line processes, outlier rejection, and robust statistics with applications in early vision. International Journal of Computer Vision, 19(1):57–91, 1996.
[9]. Michael J Black and Paul Anandan. The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields. Computer vision and image understanding, 63(1):75–104, 1996.
[10]. Stuart Ganan and D McClure. Bayesian image analysis: An application to single photon emission tomography. Amer. Statist. Assoc, pages 12–18, 1985.

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年6月13日
下一篇 2022年6月13日

相关推荐