Age Estimation Using Expectation of Label Distribution Learning

Paper Reading Note

URL: http://palm.seu.edu.cn/xgeng/files/ijcai18d.pdf

TL;DR

本文设计了一种轻量级CNN,并将年龄分布学习和年龄回归统一到一个学习框架中,在年龄预测任务上获得了SOTA的性能。


Dataset/Algorithm/Model/Experiment Detail

Motivation

当前性能最优的年龄预测方法(Randking,DLDL方法)都存在一个问题:训练阶段的目标和模型性能判断标准间存在不一致性。
比如,Randking方法是学习一系列的2分类器,但是预测时是整合多个分类器结果得到最终年龄预测;DLDL方法在训练时将年龄标签转换为一个年龄分布,学习目标是拟合年龄分布,但是在衡量模型性能时却计算预测年龄和真实年龄间的误差。

本文方法是对DLDL方法的扩展,在训练loss中除了由预测分布和真实分布计算得到的loss部分,还根据预测分布得到预测的年龄,从而计算预测年龄和真实年龄间的差作为loss的另外一部分。

Network Architecture

image

loss

网络最后一层FC输出 x 通过softmax转换为年龄预测分布

image

年龄真实标签 y 转换为年龄分布如下

image

通过计算网络预测年龄分布和真实年龄分布间的KL散度,来衡量分布间的距离

image

由8式得到的 ^pk 表示预测年龄为 lk 的概率,那么将预测年龄的期望作为年龄的预测值

image

那么,计算预测年龄和真实年龄间的绝对误差可以衡量模型预测年龄的准确度

image

最后,网络训练的loss由以上两部分loss加权得到:

image

从而可以看出,本文方法将训练目标和最终衡量指标整合到一个学习框架中。

本文方法特点总结如下:

  • 对比于之前CNN-based年龄预测方法,该网络将网络最后的FC替换为一个Max-pooling和一个global-average-pooling(GAP),图中用HPooling(Hybrid-pooling)表示。
  • loss计算包含两个部分,一部分用于衡量年龄分布距离,另一项衡量年龄预测误差。

Ranking is Learning Label Distribution

另外,本文从年龄标签编码的角度分析得出:Ranking方法实际是DLDL方法的特例。

image

以上图(a)是DLDL方法对年龄标签进行编码后的年龄概率密度分布,图(b)表示图(a)中各分布的累计分布函数,图(c)表示了一减累计分布和Ranking(黑线)方法对应的编码向量,可以看出Ranking方法是对应DLDL在 σ→0 时的特例。具体数学上的推导证明可以见论文。

Experiment

  • 本文方法在3个年龄数据集上均优于其他方法。

    image
  • 模型参数量及运行时间对比。本文网络结构包含更少的参数,运行速度更快。

    image
  • 本文还有一个有意思的地方是,可视化了模型对不同年龄人脸图像的score map。可以看出模型对于不同年龄人脸使用不同的pattern进行年龄识别。

    image

Thoughts

相比于经典的DLDL方法,只是在loss中加入一项,即可以获得明显的性能改善,感觉很本质。另外,文章中对不同年龄人脸图score map的可视化分析比较有意思。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容