这是一篇发表于2014年ECCV会议上的论文。论文的作者来自香港中文大学信息工程系,这篇文章主要介绍了一种新的面部标志点检测的方法--通过多个辅助任务(性别检测、眼睛穿戴检测、微笑检测、姿势检测)协助主任务(面部标志点检测)完成相应的工作。除此之外,作者还提出了一种“Multi-task Early stopping”的多任务共同优化时的策略。
文章地址:Facial Landmark Detection by Deep Multi-task Learning
一、问题的解决方案及创新点
针对问题:在面部标志点检测中,头部姿势多变和面部遮挡一直是一个难以解决的问题。
解决办法:作者认为,米昂不表示点检测并不是一个单一的工作,在进行面部标志点检测时,结合一些辅助任务可以更好的帮助定位面部关键点。因此,作者在文章中提出了一种新的网络"Task-Constrained Deep Convolutional Network (TCDCN)",将面部标志点检测与性别检测、眼镜穿戴检测、微笑检测、姿势检测四个辅助任务结合起来,使用辅助任务帮助面部标志点检测更快的收敛,达到更高的准确度。
创新点:(1)首次使用多任务学习(Multi-task Learning)结合CNN进行面部标志点检测;(2)提出了TCDCN的目标函数,使用共享特征向量策略,将主任务与辅助任务分别进行优化;(3)提出了"Task-wise Early stopping"策略。
二、TCDCN的工作原理
在这里,文章主要介绍了新设计的目标函数以及实现"Task-wise Early Stopping"的公式。
(一)目标函数
1.传统多任务学习的目标函数
传统的多任务学习(MTL)通过联合学习来提高多个相关任务的泛化性能。公式如下:
其中T代表任务数量,t代表当前任务,N代表当前任务中输入数据的数量。
从函数来看,传统的MTL中,多个任务使用相同的损失函数,并分别使用各个任务中的特征向量进行学习,而非共享特征。
2.TCDCN的目标函数
作者基于传统的多任务学习的目标函数,为TCDCN设计了新的目标函数,新的目标函数如下:
在新的目标函数中,作者将主任务(面部表示点检测)归类为一个回归任务,将辅助任务(微笑检测、眼镜穿戴检测、头部姿势检测、性别检测)归类为分类任务。
作者分别为主任务和辅助任务使用了不同的损失函数 。首先,主任务采用的是平方差损失函数,辅助任务采用的是交叉熵损失函数。并根据各个辅助任务对于主任务的重要性分配了权重.
在新的目标函数中,作者将主任务和辅助任务区分开来,并采用了不同的损失函数。重要的是,新的目标函数在主任务和辅助任务进行特征的共享表示。
(二)Task-wise Early Stopping
由于在多任务学习中,随着训练的进行,有些辅助任务在达到最佳性能后不再对主任务的训练有利,甚至在过多训练之后会出现过拟合现象,这个时候适时停止某个辅助任务就显得非常重要。
文中给出了"Task-wise Early Stopping"的公式(如下图所示)。
其中,代表时间长度,代表当前迭代,表示计算中间值的函数。 和分别表示训练集和验证集上的损失函数值。第一项代表了模型在训练集上的损失值的趋势,我的理解是就是在当前一段时间k中,如果每一个点都和中位数差的比较多且呈下降趋势,那么这个任务更值得继续训练,反之,就相对不值得继续训练;第二项是代表泛化误差与训练误差之比。
三、网络的实现与验证
(一)网络结构
文章中实现的网络结构如下图所示:
这个网络结构中,输入是的灰度图像;特征提取部分是使用的深度卷积网络,包含4个卷积层,除最后一个卷积层外,其余卷积层后都跟有一个最大池化层,在最后链接了一个全连接层;随后是使用共享特征进行多任务估计,对Landmark detection任务进行线性回归,其余related task进行逻辑回归。
(二)实验评估
文中的实验评估主要分为4个部分:
- 评估相关任务学习的有效性(Evaluating the Effectiveness of Learning with Related Task)
- 任务式的提前停止的好处(The Benefits of Task-wise Early Stopping)
- 与级联CNN的比较(Comparison with the Cascaded CNN)
- 与其他最新方法的比较(Comparison with other State-of-the-art Methods)
文中提出的方法在四组验证中都取得了不错的效果,证明了TCDCN以及"Task-wise Early Stopping"策略的有效性,具体的数据集和实验步骤可以去论文中查看。
另外还提到了TCDCN在人脸及其属性识别中的应用,TCDCN可以应用在人脸属性识别预处理阶段人脸对齐步骤中。
总结:
- TCDCN将MTL与CNN相结合进行人脸表示点检测,在具有遮挡和较大姿势变化的情况下具有更好的鲁棒性;
- 提出的TCDCN允许将相关任务的错误在深层隐藏层中反向传播,以构建相关任务的共享表示;
- 提出了一种Task-wise early stopping策略,解决了各任务有着不同收敛速度而导致优化难的问题;
- 与级联CNN相比,TCDCN结构更简单,计算速度更快;
- TCDCN可以应用在人脸属性识别预处理阶段人脸对齐步骤中。