2019-11-16 04:26:34
作者 | BBuf
编辑 | 唐里
年龄估计是计算机视觉中一个重要且具有挑战性的问题。现有的年龄估计方法通常采用分治法来解决非平稳老化引起的异构数据。然而,面部衰老过程也是一个连续过程,不同年龄之间的连续关系还没有得到有效的挖掘。在这篇文章中,作者提出了一种称为BridgeNet的模型进行年龄估计,能够有效地挖掘年龄标签之间的连续关系。
年龄估计尝试根据面部图像预测实际年龄值或年龄组,这是计算机视觉中的一项重要任务,广泛应用于各个场景如视觉监控,人机交互,社交媒体和人脸检索等。尽管已经对该问题进行了多年的广泛研究,但从单张图像中估算出人的年龄仍非常困难。
通过将年龄标签视为数值,可以将年龄估计转换为回归问题。然而,人的面部在不同的年龄以不同的方式成熟,例如,儿童时期的骨骼生长和成年时期的皮肤皱纹。这种非平稳的老化过程意味着年龄估算的数据是异构的。因此,许多非线性回归方法不可避免地会受到异构数据的影响,并且它们很容易过拟合。
为了解决这一问题,人们做出了很多努力。分治法被证明是解决异构数据的一个较好策略,它将数据空间划分成多个子空间。Huang等利用本地回归器学习均匀的数据区分。一些基于排名的方法将回归问题转化为一系列的二元分类子问题。
另一方面,面部衰老也是一个连续的过程。也就是说,人脸随着年龄的增长而逐渐变化,但这种连续的过程导致相邻年龄的面孔外观非常相似,例如一个人在31岁和32岁的时候,脸部几乎是一样的。
Figure 1
Figure1展示了更多的例子。这种由连续性引起的相似关系在相邻年龄段起着主导作用。考虑到我们按年龄划分数据,在相邻的局部回归子问题或相邻的二元分类子问题中也会发现同样的现象。然而这种关系在现有的方法中没有被利用。
由清华、华为等单位的几位研究人员发表在今年CVPR上的一篇文章提出了一个被称为BridgeNet的可感知连续性概率网络,来解决上述挑战。
BridgeNet由本地回归器和门控网络组成。本地回归器对数据空间进行划分,门控网络提供了连续感知的权重。回归结果的加权组合给出了最终的准确估计。
BridgeNet有很多优点:
首先,作为分治法的一种,本地回归器将异构数据进行显式建模。
第二,门控网络具有桥树结构,该结构是通过将桥连接引入到树中来增强相邻节点的相似性。因此,门控网络可以感知本地回归器之间的连续性。
第三,BridgeNet的门控网络使用概率性软决策而不是硬决策,因此本地回归变量可以给出精确而可靠的估计。
第四,可以联合训练本地回归器和门控网络,并将BridgeNet与任何深度神经网络轻松集成到端到端模型中。
年龄估计
现有的年龄估计方法大致可以分为基于分类,回归,排名三种方法。
基于回归的方法将年龄看成数值,使用一些如SVR,PLS等回归器来做,但这种方法难以处理异构数据。基于分类的方法通常会将不同年龄或年龄组作为独立的阶段标签。因此,任何类型的分类错误的代价都是相同的,无法利用年龄标签之间的关系。
最近,一些研究者利用排名技术来解决该问题。这些方法通常利用一系列简单的二元分类器来确定输入人脸图像的年龄等级。但是,在基于排名的方法中,二元问题之间的关系被忽略了,并且有序回归仅限于标量输出。
随机深林
随机深林是机器学习和计算机视觉领域中广泛使用的分类器。它的有效性已经在如姿态估计,图像分类等多种任务中得到证明。同时卷积神经网络展示了特征学习的卓越性能。所以有人提出了深度神经决策深林(dDNFs)来组合这两者。每个神经决策树都包含了分裂节点和叶节点。每个分裂点以概率的形式决定分裂方向,叶子节点存储类标签。dDNFs是可微的,并且可以使用两步优化策略来交替学习分裂节点和叶子节点。已经有一些方法利用dDNFs做年龄估计。
作者提出的方法的流程图如Fig2所示。
Figure 2
对于任意的输入图像,首先从图像中裁剪出人脸以去除背景,然后对齐人脸。对齐的人脸图像被送到深度卷积网络提取特征。然后特征和BridgeNet的本地回归器和门控网络分别相连。
本地回归器用于处理异构数据,将训练集拆分成k个重叠的子集。每个子集用于训练一个本地回归器。将
定义为输入数据的标签。所以第个子集的回归器可以表示为:
其中z是一个潜在变量表示{x,y}与子集的从属关系。
表示第个本地回归器在输入x时产生的结果。此外,以为均值,
为方差的高斯分布
被用来衡量回归模型的误差。
为了有效的结合这些回归结果,作者提出了具有桥树架构的门控网络,该门控网络为每个本地回归器生成门控函数。作者将控制第个回归器的门控函数定义为
。显然,是非负的并且
对任意的。然后,我们可以通过建模一个条件概率函数来解决年龄估计问题:
年龄估计的目的是找到一个映射g:
。通过计算条件概率分布的期望值来估计输入样本x的输出
。因此,通过门控函数加权的回归结果之和给出了最终的估计年龄。
后面我们将详细的介绍本地回归器和门控网络如何分别生成回归结果和可感知连续性的门控函数。
作为一种分而治之的方法,本地回归器可以有效的对异构数据进行建模。本地回归器将数据空间划分成多个子空间,并且每个本地回归器仅对一个子空间进行回归。
我们可以将本地回归器看成多位专家。每个专家都在一个很小的回归区域中拥有丰富的经验,并且不同的专家涵盖了不同的回归区域。因此,即使是异构数据,专家组也可以给出理想的结果。这里,我们将数据按年龄标签进行划分,然后为每个回归变量分配一个年龄组中的数据。为了进一步模拟年龄标签的连续性,我们让本地回归器的回归区域密集重叠。相邻的本地回归器在其负责的区域中有很高的重叠度,这使它们具有很高的相似性。因此,对于任何值,都有多个回归器负责对其进行回归,这使我们可以采用集成学习来使得结果更准确。
桥连接
本地回归器的设计遵循着分而治之的原则。在这里,门控网络被用来决定本地回归器的权重。
树结构是一种使用分治法则的被广泛使用的层次结构。例如决策树是机器学习和计算机视觉中广泛使用的分类器,其树结构具有从粗到细的决策生成过程。
另一方面,由于年龄变化过程是连续的,本地回归器之间存在连续性关系,密集重叠的本地回归器设计进一步加强了这种关系。
然而,考虑到决策树的叶子节点是类标签,而我们的方法的叶子是具有强关系的本地回归器,直接使用树结构不能很好的模拟本地回归器之间的这种关系。例如,Figure3(a)中叶子节点
和
是相邻的,但是它们的第一个最近公共祖先是根节点,所以和产生的相似性没办法度量。
Figure 3
作者在树模型中引入桥连接增强相邻节点之间的相似性。对于同一层上的两个相邻节点,左节点的最后子节点和右节点的最左子节点被合并成一个节点。
作者将这个操作称为网桥连接,因为它像桥一样连接了两个远离的节点。合并点(在此称为桥接节点)在左节点的子节点和右节点的子节点之间传递信息方面发挥作用。通过将此操作逐层应用于树模型,可以获得名为bridge-tree的连续感知结构。
Figure3(a)展示了如何将桥连接应用于4层二叉树来获得4层二叉桥树。我们在4层二叉桥树中看到,节点o2的最右边的子节点和节点o3最左边的子节点被合并到节点o5中。桥节点o5是节点o2的子节点和节点o3的子节点之间的信息通信桥。相同的操作被用到二叉树节点l2和l3,l6和l7中。因为二叉树中的节点o5和o6已经被合并到一个节点中,所以二叉树中的节点l4和l5被截断了。
此外,可以将桥连接应用于多元树以获得多元树桥。Figure3(b)给出了构建三元树桥的例子。值得注意的是,三元树桥的节点增长率与二叉树的增长率非常接近。
门控函数
我们再来描述如何使用桥树结构的门控网络来控制生成连续感知的门控函数。
桥树包含两种类型的节点,决策节点和预测节点。由
索引的节点是中间节点,由
索引的是预测节点。每一个预测节点对应一个回归结果
和一个门控函数
。回归结果由本地回归器给出,而门控函数由门控网络给出。
为了方便,
用来表示桥树中的所有索引,
表示桥树中的所有边,
表示节点n的父节点集合,
表示节点n的子节点集合,对于
。当
到达一个决策节点o,将会被划分到这个节点的一个儿子节点中。
和相关论文一样,这里使用概率性软决策作为节点分类原则。连接决策节点o及其子节点的边在节点o处形成决策概率分布。也意味着
对于任何节点
都是非负的并且
,其中
代表从节点o到节点m这条边的概率。一旦样本跑到叶子节点l,就可以累积从根节点到叶节点l路径上的所有概率值来获得叶节点l的门控函数。例如在Figure3(a)中有三条从根节点
到叶节点
的路径:
,
,
。所以的门控函数可以用下式计算:
另外,对所有的节点给出一个递归表达式:
其中
表示节点n的门控函数,
代表桥树的根节点。
作者在门控网络和桥树边上的概率值之间建立了一对一的关系,也就是说,每个门控网络都对应于位于桥树边上的概率值。然后可以用上述递归的方式使用门控网络计算叶子节点的门控函数。
我们使用全连接层实现密集重叠的本地回归器,使用Sigmoid函数作为激活函数。每一个本地回归器将激活值映射到它的回归空间中作为结果。如上面提到,我们将作为第1个回归器的结果,然后回归器的损失被表示为:
其中,
表示第个本地回归器负责的节点。
Figure 4
Figure4展示了门控网络的实现,该门控网络仍采用了全连接层。全连接层中的每个节点都对应了桥树的边。我们让B代表每个决策节点的分支数。考虑到从同一节点开始的B条边形成的概率分布,我们将softmax函数应用于全连接层的每个神经元进行归一化。叶节点的门控函数可以使用这些归一化输出,然后利用等式4,5来计算。由于门控函数没有监督标签,我们对输入样本
建立一个近似的标签。
其中,
被用作归一化。尽管标签是不准确的,但我们的门控网络可以知道本地回归器之间的连续性,因此即使在弱监督的情况下也可以实现令人满意的结果。KL散度被用作训练BridgeNet网络的损失函数:
最后,我们将本地回归器损失和门控损失联合训练:
其中
被用来平衡回归任务和门控网络任务的重要性。
下面的Table1和Table2展示了BridgeNet在MORPH II,FG-NET数据集上的准确测试数据。
可以看到 BridgeNet在这两个数据及上均取得了SOAT成果。另外,在Chalearn LAP 2015,IMDB-WIKI数据集上同样也取得了SOAT成果。作者还在实验部分给出了使用不同的Backbone和超参数如对模型性能的影响。另外作者还实验了桥树的深度,节点个数等对模型性能的影响。结果如Table4,5所示:
结 论
在本文中,作者介绍了BridgeNet,这是一种用于年龄估计的连续性概率网络。 BridgeNet使用具有桥树结构的概率网络,显式地对由本地回归器构造的不同组件之间的连续性关系进行建模。
在三个数据集上进行的实验表明,这种方法比其他最新方法更准确。此外,尽管这种方法专为年龄估算而设计,但也可以用于其他基于回归的计算机视觉任务。作者在论文中提到,在未来的工作中他们计划研究BridgeNet在人群计数,姿势估计和其他基于回归的任务中的有效性。