论文:《Low-Resolution Face Recognition in the Wild via Selective Knowledge Distillation》
目的:通过选择性知识蒸馏以极小的计算成本在非限制性场景中部署低分辨率人脸识别模型。
主要方法:1、初始化双流卷积神经网络,分布用教师流和学生流识别高分辨率和分辨率降低的人 脸,如图1所示。
2、通过解决稀疏图优化问题来避免学生流识别性能的显著下降,有选择地从教师流中提取出信息量最大的脸部特征。
3、通过从教师流提取的脸部特征来规范学生流的微调过程。
结果:学生流在识别低分辨率人脸方面仅需0.15M内存,在CPU上每秒运行418张人脸,在GPU上每秒运行9433张人脸。
1、网络框架
第一步、初始化教师和学生流,分别识别高分辨率人脸及其低分辨率版本。
第二步、通过解决稀疏图优化问题,从教师流中选择性地提取出信息量最大的面部特征。
第三步、所选特征用于规范学生流的微调过程。
A、概念定义
(1)教师流
教师流 表示一个复杂的CNN模型,本文使用的是VGGFace框架。其中F表示高分辨率人脸图像,则是在F上预训练的参数。教师人脸集上为,人脸标记集合为。
(2)学生流
学生流表示一个简单的网络模型,总体架构与教师流模型框架类似。其中表示低分辨率人脸图像,则是在上预训练的参数。学生人脸集。其中表示学生流中的高分辨率人脸图像,对于每一张高分辨率人脸图像,学生流会先将其下降N个分辨率率,生成低分辨率人脸图像,其中下降j分辨率为,N个则为。对于标签来说保持不变,仍然为中的,假设中共有C个人脸类,每个类的高分辨率人脸图像为张,则高分辨率人脸集=。
B、教师流和学生流的初始化
教师流——VGGFace框架(利用该模型来初始化教师流参数)。
学生流——与VGGFace框架类似的轻量级网络。
在学生流网络中,共有10个卷积层、3个最大池化层、3个全连接层。主要采用3*3的卷积核,其中在每个池化层后增加通道数,且使用1*1卷积进行降维。全连接前的1*1*D用于接收来自教师流的知识,其中D是教师流中学习到的高分辨率人脸表示的维度,这样我们可以把这个看作教师网络的特征近似。结果上说仅仅只有0.79M,为(138M)的0.57%。
在训练时,通过最小化上的分类损失来对其进行初始化:
。式中表式softmax函数来测量分类损失,最小化通过梯度下降来解决。
C、教师流中的选择性知识蒸馏
让和作为教师流和学生流的子网络。前者提取高分辨率人图像特征,后者通过1*1*D的模拟层提取近似特征以匹配教师流的蒸馏知识。使用这个子网络来提升学生流的最终识别能力。由于和中的人脸并不一样,教师流提取的知识对学生流来说有些是错误的,这时我们就需要选择性地蒸馏信息量最大的知识,从而拒绝错误的教师流知识,从而提高 学生流子网络和学生流总体的识别能力。
这些信息脸可以定义为类间相似度小、类内相似度大的信息脸。因此将选择性知识蒸馏问题用图G=(V,E)的形式进行描述。
(1)密接图(C个类里面的节点包含大量的边)
首先为每个人脸类添加一个质心节点,因此在V里面有两种类型的节点。
人脸节点、质心节点,因此第i个人脸节点和第c个质心节点可以用 和两个特征向量表示,这两种类型的特征向量是使用教师模型从高分辨率人脸图像中提取的,描述为:
(2)稀疏图(通过质心节点进行构造)
类内边:
PS:连接同一类的所有人脸节点。
类间边:
PS:一个类的人脸节点与除该类外的其余质心节点之间的连接。
因此稀疏图就包括个节点,条连接边。
给定稀疏图,我们可以通过解决二进制标记问题来选择信息量最大的面:
式中d表示的是余弦距离,用于测量两个特征向量之间的相似性。表示平衡两项的权重系数。第1项是选择与其他类间相似度小的特征人脸,第2项是选择与同一类中其他人脸相似度大的特征人脸。
我们可以使用图分割算法来求解,这样就选择了类内相似度高、类间相似度低的人脸信息。在这期间利用特征聚类的方法去除信息错误的异常值。
D、基于教师监督的学生流微调
通过教师流提取选定的信息人脸及其特征,学生流的微调将共同解决两个问题:
(1)通过特征回归近似教师流给出的信息人脸的特征。
(2)从低分辨率人脸中恢复缺失的人脸线索。
因此,我们可以通过解决最小化问题来微调学生流:
式中第一项为学生流的分类损失,第二项为教师流和学生流之间的蒸馏损失。
学生流可以在教师流的监督下以特征回归的形式进行微调,从而在有限的计算成本下提高低分辨率人脸识别能力。
由于篇幅有限,实验部分就不进行赘述,感兴趣的友友们可以阅读原论文。
2、结论
提出了一种知识提取方法,采用原始大模型作为教师网络,通过设计回归和分类项相结合的多任务损失函数,让教师有选择地监督学生网络的训练。我们实现了高维深度特征回归和低分辨率人脸分类的结合,实现了深度网络和特征维的统一压缩,保证了识别准确率。