Paper Reading Note
URL: http://www.cbsr.ia.ac.cn/users/jwan/papers/TPAMI2017_age.pdf
TL;DR
本文通过group的方法将年龄信息进行编码,使用CNN来实现年龄group的预测,然后使用所设计的解码方法对预测结果进行解码得到预测的年龄,该方法取得了当时SOTA的性能.
Dataset/Algorithm/Model/Experiment Detail
Motivation
年龄预测问题有以下特点:
- 不同年龄间尤其是相邻年龄间关系密切
- 一般由人脸到年龄的预测都可能不是精确地
因此, 给每个人脸只赋以一个年龄标签可能比较难,因为相邻年龄间的强关联.而且,结合相邻年龄信息训练模型可能比只用单个年龄标签有效.
Method
age grouping
,那么可以将年龄group为T(T=K+n)个。对于年龄 li ,会被赋予 i,i+1,...,i+n−1 共n个group。
Age Group Classification
使用一个多输出CNN来进行group 分类,该CNN的最后一层会接T个2分类器,用于判断每张图的年龄是否属于对应group。每个分类器使用cross entropy loss,最终loss如下:
其中 ρ 表示正负样本的加权,用于缓解样本不均衡对训练的影响; α 用于对不同2分类任务进行加权。
Age decoding
以上的loss函数可以等价写为以下式子
那么训练的目的就是最大化以下式子
使用 Ca 表示年龄a所属的age groups,那么上式可以改写为如下:
那么定义人脸图的年龄为a的概率为
则Global Age Decoding (GAD)就是求出能使上式概率最大的年龄。
但是以上方法的计算复杂度比较大,所以作者提出使用Local Age Decoding(LAD)方法预测年龄。即
首先找出所有二分类器中,预测为1的概率最大对应的group,然后从该group包含的几个年龄中选出能使(7)式最大的即为最终预测年龄。
Experiments
在Morph, FG-NET and CACD等真实年龄数据集以及Chalearn LAP对应的外观年龄数据集上都获得了较好的性能
Global Age Decoding和Local Age Decoding在MAE和运行速度对比,可以看出两者计算得到的结果是相同的,而且LAD方法更高效。
Thoughts
对于年龄预测,LDL方法、ranking方法和本文的group-n方法,都是对年龄的不同encoding方式,区别就在于如何更好的利用好相邻年龄的关系。