Deep Cost-Sensitive and Order-Preserving Feature Learning for Cross-Population Age Estimation
文章信息
题目: Deep Cost-Sensitive and Order-Preserving Feature Learning for Cross-Population Age Estimation
发表: CVPR 2018
作者: Kai Li, Junliang Xing, Chi Su, Weiming Hu, Yundong Zhang, Stephen Maybank
背景
人脸年龄的识别问题(Facial age estimation)一直是CV这块比较热的研究问题之一。 简单来说: 就是训练这样一个模型,希望在任意给定的Facial image, 模型都能比较准确的预测其年龄。该问题在互联网等领域具有实际意义。
该问题的难点在于:不同的种族/肤色/区域人群的facial image的视觉模型存在差异。
以往的研究往往都是在单个人群population这一假定或者说给定域的前提下进行的,这类模型存在的问题是一旦将其模型应用到其他population,模型的性能会变得很差。并且,采集和标注数据本身成本很高。
动机
为了利用其他域的数据来帮助目标域的学习, 同时学习更加general的跨域模型进行age estimation, 作者首次提出了一种迁移学习框架来学习跨域的年龄估计模型。具体来说,假定源域有大量label data, 目标域有少量labeled data,作者提出了两阶段的学习策略:第一个阶段作者基于ranking formulation将age estimation最终建模为一个cost-sensitive multitask learning 问题用于学习可迁移的features, 第二个阶段,作者提出了所谓的order preserving loss用来进行source population -> target population的迁移从而完成源域与目标域年龄特征的对其。
方法
问题定义
假定 源域数据:
X
s
=
{
(
X
i
s
,
y
i
s
)
}
i
=
1
N
s
X^{s}=\{(X^{s}_{i}, y^{s}_{i})\}_{i=1}^{N^{s}}
Xs={(Xis,yis)}i=1Ns,
目标域数据:
X
t
=
{
(
X
t
)
i
,
y
i
t
)
}
i
=
1
N
t
X^{t}=\{(X^{t}){i}, y^{t}_{i})\}_{i=1}^{N^{t}}
Xt={(Xt)i,yit)}i=1Nt
其中
y
i
t
,
y
i
s
∈
{
1
,
2
,
.
.
.
,
K
}
y^{t}_{i}, y^{s}_{i}\in \{1,2,...,K\}
yit,yis∈{1,2,...,K},
N
t
<
N
s
N^{t}<N^{s}
Nt<Ns,K表示age范围的上限;
目的:基于少量的target domain数据,同时借助源域的数据学习一个model,使其对target domain上的facial image年龄预测准确。
简单来看,该问题可以看作是一个K个类别的分类问题,然而这样一来的话,K个age label变成了K个孤立地类别标记,这会丢失大量的信息,因为age本来是可比较的。 若将其建模为回归问题,则很容易出现过拟合的问题。 为了充分利用age间的信息,将age estimation建模为一个ranking problem。ranking问题实际上并不好直接优化,因此,ranking problem被进一步建模为一系列的binary classification问题。
假定数据集
X
X
X, 对于给定的rank/age—
k
k
k,
X
X
X可以被拆分为两部分:
利用该拆分的数据集可以训练一个二元分类器
f
k
f_{k}
fk,该分类器的功能是预测给定输入的age是否>k. 遍历
k
∈
{
1
,
2
,
.
.
.
,
K
−
1
}
k\in\{1,2,...,K-1\}
k∈{1,2,...,K−1},总共可以得到K-1个这样的二元分类器
{
f
k
}
k
=
1
K
−
1
\{f_{k}\}_{k=1}^{K-1}
{fk}k=1K−1。
这样一来,给定测试image—
X
ˉ
\bar{X}
Xˉ, 其最终的预测可以通过聚合这K-1个classifiers的结果得到,如下:
在该ranking formulation下可以将数据集
{
(
X
i
,
y
i
)
}
i
=
1
N
\{(X_{i}, y_{i})\}_{i=1}^{N}
{(Xi,yi)}i=1N改写为
{
(
X
i
,
y
i
)
}
i
=
1
N
\{(X_{i}, \textbf{y}_{i})\}_{i=1}^{N}
{(Xi,yi)}i=1N的形式, KaTeX parse error: Undefined control sequence: \nR at position 15: \textbf{y}_{i}\̲n̲R̲^{K-1}, 其中
y
i
(
k
)
y^{(k)}_{i}
yi(k)的定义如下:
所提的两阶段方法分别是: (1) Cost-sensitive feature learning; (2)Order-preserving feature alignment, 下面分别作以介绍。
阶段1:Cost-sensitive feature learning
基于上述的ranking formulation, 第一个阶段的目标是从源域中学习更加transferable的特征。
网络结构
网络结构如下图所示, 网络可以堪称两部分:前半部分为特征学习网络,由3个卷积池化层串联而成,后半部分为任务网络,由2个全连接层组成,最后有K-1个分支节点,对应K-1个binary classifier
{
f
k
}
k
=
1
K
−
1
\{f_{k}\}_{k=1}^{K-1}
{fk}k=1K−1。
cost-sensitive multitask loss
基于上述的ranking formulation, 在设计损失函数时有如下考量,
(1) 对于ground-truth为
y
y
y的样本
X
X
X, K-1个classifiers中,距离y越远(远近可以用|k-y|来衡量)的classifier
f
k
f_{k}
fk,其预测错误的后果越严重,因此应受到更大的惩罚。
(2) 参数的正则化
基于此,损失函数的形式为:
其中
c
o
s
t
k
(
y
i
)
cost_{k}(y_{i})
costk(yi)表示第
k
k
k个classifier将ground-truth为
y
i
y_{i}
yi的样本误分类的代价,其定义如下:
可以看到第一项为cost-sensitive binary cross-entropy loss, 后面4项分别为卷积层参数、输出层、两个全连接层参数的正则化项。
阶段2:Order-preserving feature alignment
第二个阶段的目的是: 将source domain和target domain的高级aging features对其到一个能够捕捉/刻画人类年龄顺序特征的人口不变空间。
动机
如下图所示, 在原始的特征空间中,源域的不同age的特征表示无法体现其对应age之间的序关系,并且源域域目标域样本的age序关系也无法体现在其相应的特征表示中。我们的目的是希望学到这样一个人口不变特征空间表示:年龄age相近的human images对应的特征表示也更加相近,反之,age距离越大的human images对应的特征表示更远。
Order-preserving feature alignment
损失的设计遵循以下原则:
(1) age相同的源域、目标域样本的特征表示应该越接近越好,age不同的源域、目标域样本的特征表示应该尽可能远;
(2) age差异越大的源域、目标域样本的特征表示应该越远。
**那么如何衡量样本特征表示的接近程度呢?**文中使用了F范数:
d
(
x
^
i
s
,
x
^
j
t
)
=
∣
∣
x
^
i
s
−
x
^
j
t
∣
∣
F
2
d(\hat{x}^{s}_{i}, \hat{x}^{t}_{j})=|| \hat{x}^{s}_{i} - \hat{x}^{t}_{j} ||^{2}_{F}
d(x^is,x^jt)=∣∣x^is−x^jt∣∣F2
**如何根据age之间的差异来控制惩罚的力度呢?**作者采用了如下基于高斯分布的计算形式,
假定源域数据:
{
(
X
i
s
,
y
i
s
)
}
i
=
1
N
s
\{(X^{s}_{i}, y^{s}_{i})\}_{i=1}^{N^{s}}
{(Xis,yis)}i=1Ns, 目标域数据:
{
(
X
t
)
i
,
y
i
t
)
}
i
=
1
N
t
\{(X^{t}){i}, y^{t}_{i})\}_{i=1}^{N^{t}}
{(Xt)i,yit)}i=1Nt, 则可以基于来自源域、目标域的成对样本定义如下损失:
Order-preserving feature alignment作用的职官表示形式如下图所示:
总结
- 虽然这篇文章是在迁移学习框架下解决cross population的问题,但是值得一提的是, 在已有的大量相关文献中age estimation是被作为一个imbalanced regression问题进行研究的, 这篇文章的ranking formulation应该能够克服imbalanced的问题, 感觉着这一块值得进一步去探索;
- 原本是一个ranking problem, 作者将其进一步简化成了多个binary classifiers, 这么多的分类器。。。。;
- order-preserving feature alignment loss是基于启发式方法设计的, 不够优雅,应该有更好的方法来解决feature alignment的问题;
References
1.Li, Kai, et al. “Deep cost-sensitive and order-preserving feature learning for cross-population age estimation.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.