GroupFace 基于潜在组信息的人脸识别表示
GroupFace: 基于潜在组信息的人脸识别表示
- 摘要:
GroupFace能够学习多个潜在的组并且构建group-aware Representation以有效采用数据中潜在的组信息。论文中定义,称组为:具有一类相同的潜在变量的数据集合,如面部因素(如头发、姿势,胡子)和非面部因素(如噪声、背景、照明)等。为了学习组,论文引入了一种自分布的分组方法,该方法通过考虑组的整体分布来确定标签。之后GroupFace将group-aware representations集成到原始的基于实例的人脸识别表示中。
2. 介绍
GroupFace能够学习多个潜在的组并且构建group-aware Representation以有效采用数据中潜在的组信息。论文中定义,称组为:具有一类相同的潜在变量的数据集合,如面部因素(如头发、姿势,胡子)和非面部因素(如噪声、背景、照明)等。为了学习组,论文引入了一种自分布的分组方法,该方法通过考虑组的整体分布来确定标签。之后GroupFace将group-aware representations集成到原始的基于实例的人脸识别表示中。
近年来,利用公开的人脸识别数据集,深度学习方法克服了传统人脸识别方法的局限性。但是,一个微小的改变,比如增加一些层或增加通道的数量,通常不会带来明显的改善。然而,GroupFace提高了特征表示的质量,并通过并行添加多个层实现了显著的改进。
分组或聚类方法有很好的效果,然而这些方法不容易集成到网络中进行端到端的训练与使用。为了有效地学习组,论文提出了一种自分布分组方法。
3.方法
3.1 GroupFace
- 基于实例的表示:
论文用一个特征向量在传统人脸识别方案作为论文基于实例的表示(图2)。基于实例的表示通常是一个嵌入的特性通过softmax-based损失,用于预测一个身份: \[ p(y_i|x)=softmax_k(g(v_x)) \] yi是一个身份标签,vx是给定样本x的基于实例的表示,g是一个将512维嵌入特征投射到M维空间的函数。M是人数。
- Group-aware representation:
每个group-aware表示向量通过为每个对应的group部署全连通层来提取(图2)。多个组感知表示以一种软方式(S-GroupFace)或一种硬方式(H-GroupFace)进行计算:
S-GroupFace: \[ v_x^G=\sum_{k\in K}p(G_k|x)v_x^{G_k} \] H-GroupFace: \[ v_x^G=\underset{p(G_k|x)}{arg max}v_x^{G_k} \] GroupFace的嵌入特征(图2中的最终表示)是通过将基于实例的表示vx和group-awarerepresentation进行合并得到的。GroupFace通过最终表示来预测身份: \[ \begin{matrix} p(y_i|x)& = & softmax_k(g(\bar{v}_x)\\ &= & softmax_k(g(v_x+v_x^G) \end{matrix} \] 3.2 Self-distributed Grouping
在这项工作中,论文定义一个组为一组样本的集合,一组内的样本共享任何共同的视觉或非视觉的用于面部识别的特征。这样的组由GDN确定。论文的GDN以一种无监督方式逐渐训练。
法一:naive labeling: \[ p(G_k|x)=softmax_k(f(x)) \]
\[ G^*(x) = \underset {k} {argmax}p(G_k|x) \]
如公式6、7所示,通过softmax方法计算数据x相对于每一个类别k的归属概率p,然后选取其中概率值最大的类别作为该数据的组。
- 法二:Self-distributed labeling:
本方法记忆一个假设:当数据量较大时,每个类别的数据量所占比重大致相等。所以,我们可以将经过公式6得到的概率进行归一化。
首先,计算每一个概率p相对于E(p)的偏差,然后对偏差进行平均(数以M,M为batch size的大小)得到Δ,然后用Δ+1/K(k为组类别数)的值作为该项最终的概率(公式8)。这一部分的目的是保持每一类间,偏差相对比例不变,将平均值转移为1/K。 \[ \tilde p(G_x|x)=\frac {1}{k}\{p(G_k|x)-E_{x \sim data}[p(G_k|x)]\}+\frac{1}{k} \]
\[ \begin{matrix} E_{x \sim data}[\tilde{p}(G_k|x)]& = & \frac {1}{k}\{ E_{x \sim data}[p(G_k|x)] -E_{x \sim data}[p(G_k|x)] \}+\frac{1}{k}\\ &= &\frac{1}{k} \end{matrix} \]
\[ G^*(x)=\underset{k}{argmax} \quad \tilde{p}(G_k|X) \]
3.3 损失函数:
使用基于softmax的L1,对训练特征向量的网络进行反馈: \[ L_1 = -\frac{1}{N}\sum_{i=1}^{N}log\frac{e^{s(cos(\theta_{yi}+m))} }{e^{s(cos(\theta_{yi}+m))}+\sum_{j=1,j\neq y_i}^{n}e^{s(cos(\theta_j))} } \] N是在一次batch中的样本的数量, θ是一个特性和相应的权重的角度, s是一个比例因子,m是一个边际因素。
分组损失L2,对自分组模块的损失函数定义为: \[ L_2=-\frac{1}{N}\sum_{i=1}^{N}CrossEntropy(softmax(f(x_i)),G^*(x_i)) \] 4.实验
为了验证所提方法的有效性,论文进行了不同的实验设计。
- 组的数量:
根据组数比较识别性能(表a)。随着组数的增加,性能稳步提高。
- GDN学习:
比较了GDN的学习方法(表b):
without loss: 无GDN模块
naive labeling: GDN中使用naive labeling方法
self-distributed labeling: GDN中使用self-distributed labeling方法
- S-GroupFace和H-GroupFace:
S-GroupFace与H-GroupFace的性能对比
- 聚合与连接:
聚合:即将instance-based representation与group-aware representation求和
连接:连接上述两个向量
- Group-aware Similarity:
通过评估组感知相似性,显著提高了识别性能(表e)。
- 轻量级模型:
GroupFace对于ResNet-34这样的轻量级模型也很有效,显著超过了ResNet-34模型的基本性能(表f)。
可视化数据:
由于组分类中使用了可视化因素(头发、胡须等)以及不可视化因素进行分类,所以图Group5和group20可以很清楚的看出独特的组特点,而group1和group29的特点无法通过可视化体现。在group5中,随机抽取的100张图片,94张为男性;group20中,随机抽取的100张图片,95张为秃头男性。
- 结论
论文介绍了一种新的人脸识别专用体系结构,该体系结构由一个组感知网络结构和一个自分布分组方法组成,以有效地操作多个潜在的组感知表示。通过广泛开展消融研究和实验,证明了论文的方法的有效性。可视化还表明GroupFace从根本上增强了特征表示。论文的GroupFace在识别性能方面提供了显著的改进。