0%

简介

本文介绍了一个用于人脸分类的文章,该文章发表在2018年的《TPAMI》期刊上。
文章主要做了如下几个工作:

  • 避开人脸姿态、对齐的工作,着重对多种属性的联合预估进行分析判断。
  • 充分使用人脸属性的相关性与异质性进行训练。
  • 端到端的学习训练模式。
  • 使用大量的场景进行训练。

主要思路

本文经过分析,将人脸的属性按照数据类型和语义信息这两种方式进行了划分,分别是全局与局部属性,连续与离散属性。经过排列组合,可以得到四类属性分组。
对于每一类属性,网络共享前置的基础网络特征,在基础网络后针对不同的分组,分别设置了相对独立的不同的神经网络结构。

ordinal + local nominal + local
ordinal + global nominal + global

损失函数

多任务学习

传统的多任务学习使用如下方式:

作者在此基础上引入了对共享权值和独立权值的学习率参数,以区别对待。

针对分组多任务学习,损失函数相应地调整为:

离散特征 VS 连续特征
  • 对于连续属性特征,模型使用L2距离进行回归训练;
  • 对于离散属性特征,模型采用交叉熵进行模型训练。

网络模型

本文的网络结构在AlexNet的基础上做了一些修改,包含一个5层的卷积和2层全连接,每一层卷积都跟着一个BN层和一个最大池化层。经过这7层的网络学习后得到共享的属性特征。接着对于不同组别的属性分类任务,模型分别使用一个独立的网络结构进行特征学习。

实验部分

文章在MORPH II、CelebA、LFWA、ChaLearn LAP和FotW等数据集上进行了验证。

数据预处理

实验中使用SeetaFace Engine对数据集中的图像进行人脸检测和特征点定位,随后基于5个特征点将人脸归一化到$256 \ast 256 \ast 3$的尺寸。

对于属性分组,本文将所有属性按照数据类型(离散、连续)与语义信息(全局、局部)分成了四类。

连续与离散属性预测

二元属性预测

与主流算法在CelebA和LFWA数据集上的比较都达到了比较理想的效果。

单任务与多任务对比

实验利用CelebA中常见的8中属性进行多任务训练与单任务训练的对比。实验结果表明在大部分场景下,使用多任务能够显著提升模型性能。

跨数据集测试

论文进行了跨数据集的实验以验证模型的泛化能力。

运行效率分析

算法的运行效率如图所示,相比主流方法有较为明显的优势。

文献引用

  • Han H, Jain A K, Wang F, et al. Heterogeneous face attribute estimation: A deep multi-task learning approach[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 40(11): 2597-2609.

念叨着设立一个自己的写作空间久矣,然而时至今日方才动起笔头。没有华丽的文字,没有晦涩的公式,没有引人的噱头。只求在这方寸间留下自己的所思所感,聊以自慰。待时光流逝,愿文字能长久地记录下自己的心路历程。
千里之行,始于脚下。从今天开始,记录身边的点滴。

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment