使用多任务学习提升人脸特征点检测的准确率,相关的任务如人头姿态估计、人脸属性预测(性别、年龄、人脸表情)。考虑到不同任务的收敛速度不一样,有些任务可以提前停止优化。
人类特征点检测的估计受其他任务或相关因素的影响。如人笑的时候嘴是大张的,头部偏转角度大时,瞳孔距离变小,挖掘这些人脸属性相关的信息可以帮助检特征点。示例 如图1所示:
不同的任务学习的难度比较大,如分辨“戴眼镜”就比分辨是否“笑”要简单,不同的任务收敛速率不同,如果同步收敛,这些任务很可能过拟合。论文提出了TCDCNC,每个任务可在不同迭代步骤收敛。
TCDCN
多任务学习的目标一般是:
与传统多任务学习不同,论文的目的在辅助任务的帮助下,优化主要任务r,即人脸特征点检测,问题描述为:
其中λa表示任务a的重要性因子。(2)中不同的损失函数可以一起优化,且共享输入层。
TCDCN的结构
训练刚开始时,TCDCN被所有任务约束,训练过程中,辅助任务对主任务不再有益。用Eaval和Eatr表示任务a在训练和验证集上的损失函数,任务a将在任务的测量值超过阈值ϵ时停止:
公式(5)中第一项代表训练误差,如果训练误差下降很快,第一项的值较小,表示训练可以继续,否则任务可以停止;第二项表示泛化误差。训练过程中使用SGD更新任务和滤波器的权值。对于浅层的滤波器,通过BP的loss误差计算梯度。浅层的误差如下计算:
实验结果
不同任务的收敛速率
自身不同方法的比较: