《Partially Shared Multi-Task Convolutional Neural Network with Local Constraint for Face Attribute Learning》论文解读
z

人脸属性学习(Face Attribute Learning)的主要目的在于学习图像的中等级的特征,这些特征是低级别特征和高级别标签的抽象结合。

Multi-task deep CNN (MCNN) 指的是对于每一个属性,共享网络的底层,同时,对于高度相关的属性,同样共享高层的网络。MCNN将40余中属性,根据其各自的相似性,将其分为9个属性组。在初始进行split之后,每一个组相当于是相互独立的,这样的话,高层网络中,组间的信息将没有得到充分的利用。

类似的,本文同样根据属性的位置信息,将40余中属性分为四类:

  • Upper Group: Arched Eyebrows, Bags Under Eyes, Bald, Bangs, Black Hair, Blond Hair, Brown Hair, Bushy Eyebrows, Eyeglasses, Gray Hair, Narrow Eyes, Receding Hairline, Wearing Hat.

  • Middle Group: Big Nose, High Cheekbones, Pointy Nose, Rosy Cheeks, Sideburns, Wearing Earrings.

  • Lower Group: Big Lips, Double Chin, Goatee, Mustache, Mouth Slightly Open, No Beard, Wearing Lipstick, Wearing Necklace, Wearing Necktie.

  • Whole Image Group: 5 o’Clock Shadow, Attractive, Blurry, Chubby, Heavy Makeup, Male, Oval Face, Pale Skin, Straight Hair, Smiling, Wavy Hair, Young.

论文主要研究同时考虑 身份信息(identity information)和 属性关系(attribute relationships),论文假设充分的利用属性组之间的信息和有效的利用身份标签信息能够通过建模属性的局部集合结构的方式提升性能。

Partially Shared Multi-task Convolutional Neu- ral Network (PS-MCNN)

提出,通过shared network(SNet) 来学习 任务间的关系,每一个任务通过Task Specific Network(TSNets)来学习。PS-MCNN的关键对于所有的组,共享一个网络来学习共享的特征。同时,对于每一个给定的任务,指定一个网络来学习。

1535359149121

每一层SNet在t+1时刻的输入包括SNet在t时刻的输出和其他所有TSNet在t时刻的输出。

每一层TSNet在t+1时刻的输入包括TSNet本省在t时刻的输出以及SNet在t时刻的输出。

1535367893957

对于任务身份信息的利用,由于属性特征通常是身份信息特征中的一部分,如果直接将身份信息作为人脸的一个属性的话,这样就没充分利用到身份信息。对此,作者提出来,使用局部学习限制,来最小化同一个人物身份的不同表示间的差异。由此提出Local Constraint Loss(LCLoss)。

对于同一个identity,我们将其定义为相互的地理邻居(geometric neighbor),对于一个样本,他的特征表示应该和他的地理邻居的表示差异较小,由此得到:
$$
LCLoss = \frac{1}{N(N-1)}{\sum_{i=1}^{N}\sum_{j=i+1}^{N}w_{i,j}||feature_{si}^t - feature_{sj}^{t}||_2}
$$

$$
w_{i,j} =
\begin{cases}
& 1 &\text{, if i j have the same identy} \
& 0 &\text{, otherwise}
\end{cases}
$$

总的loss为:
$$
Loss = \sum_{i=1}^4 ALoss_i + \lambda LCLoss
$$

网络的设置:

1535369699843

1535370017283