论文标题:A Study on the Performance of Unconstrained Very Low Resolution Face Recognition: Analyzing Current Trends and New Research Directions
论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9432821
1. Introduction
本文的主要贡献有:
- 对state-of-the-art的非常低分辨率(
VLR
)的人脸识别方法的效率和有效性分析。 - 从应用的角度,深入研究现有方法对低分辨率人脸识别问题的优势和局限性。
- 对现代轻量级架构进行概述,并比较它们在非常低分辨率(
VLR
)的人脸数据集上的性能。 - 为未来的研究方向提供见解。
1.1 Datasets for VLR
监控LRFR可用的数据集较少,目前:SCface
,Point and Shoot
,IJB-S
,UCCSface
,QMUL-Surface
,和QMUL-Tinyface
都是无约束非常低分辨率人脸识别可用的基准数据集。
如上图所示,适合LR-FR
人脸识别的数据集是SCface、Point and Shoot、UCCSface和IJB-S,因为它们包含高分辨率和native低分辨率图像。另一方面,QMUL-Surface和QMUL-Tinyface数据集由于图像和identity数量较多,适合于深度学习的LR-LR
识别。
然而,在多网络架构解决方案中,子网络可以仅使用VLR的LR-LR数据集进行预训练。(?)
2. SotA methods for VLR
人脸识别问题分为两类:同类(homogeneous
) 和异类(heterogeneous
)。(其实就是LR-LR
问题与LR-HR
问题)
对于VLR下的LR probe图像,其与HR数据集间存在域偏移,因此LR-HR问题通常十分困难。
上图为对于VLR问题各类变体下的VLR方法,其将LR-HR方法分为:
- 投影方法(即嵌入空间方法)
- 超分方法
2.1 LR-HR方法
2.1.1 投影方法
目的是通过将HR和VLR图像投影到一个统一的空间,找到来自不同领域的数据的充分表示。然后计算分类和后验优化(?)的相似度。
下图为现有的部分投影方法:
对于LRFR问题,目前提出的方法大多目的是从LR和HR人脸中提取分辨率鲁棒的特征,而非建立跨分辨率人脸识别的统一空间模型;
Deep Coupled ResNet
方法则由一个用于跨不同分辨率特征提取的残差主干网络和两个最小化类内样本距离的分支网络组成,其结构如下图所示:
Deep Coupled ResNet
方法实现了在SCface
数据集的最佳识别率。(对于4.2米的相机,其有73.3%的准确率)尽管该方法比之前的方法更有效,但它通过在各个步骤中使用bicubic
插值来对分辨率因子做出假设,而这是一种有改进空间的数据增强策略——1)超分方法可以用来改进图像重建过程 2)不同的网络设计也可以来合成不同分辨率的图像- 另一种方法
GenLR-Net
则是 以VGG人脸网络为基础,还包括一个小的超分部分。该网络具有两个子网: 一个用于LR图像,另一个用于HR图像。该方法使用了两个损失函数: 在最终卷积之前的类间和类内损失函数,以及在全连接层中使用对比损失的池化层。 Transferable Coupled Network (TCN)
通过从固定的、预训练的HR网络及其优化过程中学习LR网络参数,弥补了域偏移。与其他域自适应方法相同,它使用Triplet loss
来学习HR和LR anchors,并使用来自同一人的跨分辨率图像更新网络参数。作者建议使用VGGFace
或ResNet
架构来实现HR和LR子网。在LFW
和SCface
数据集中,使用ResNet
进行特征提取的效果都优于VGGFace
,然而,使用ResNet
主干网络的计算成本要高得多。
局限性:
- 这些基于DL的方法没有针对CPU或价格合理的GPU上的实时性能进行优化。
- TCN和DCR都采用ResNet网络架构,而GenLR-Net采用VGGFace网络。在这两种架构类型中,ResNet架构产生了更好的精度性能。然而,即使在对VLR数据集进行微调时,轻量级CNN架构也优于这两种网络。因此,ResNet也是这些深度学习方法的缺点。
2.1.2 超分方法
超分方法下的VLR人脸识别基本思想:首先将VLR图像超分到HR的空间,然后进行人脸识别。
在相同的超分辨率中有一个人脸识别约束比单独的超分辨率和识别会有更好的精度,下图为当前SotA的用于VLR的超分方法:
- 在单网络超分预训练(
Single Network with SR
) 模型中,作者对无监督的超分网络进行预训练,并接着用监督识别组件(两个全连接层及一个softmax分类器)对其进行fine-tune。 - 可以产生最好的识别性能的是
Robust Partially Coupled Network
(CVPR 2016的一篇),其作者在上一个的基础上增加了一个HR到HR的重建(?),这样filter信息就可以传递到LR到HR的重构子网——这也就构成了一个部分耦合的超分网络。除此之外,作者还用Huber loss代替MSE loss,原因在于Huber loss对异常值的敏感度较低。 Deep Cascaded Bi-Network
是通过一个级联网络进行训练的,即在每个超分阶段依次增加比例因子(通常为2x)来实现的。这个深度级联双网络引入了高频先验的概念,并用于生成一个平均人脸模板,以估计训练图像的平均扭曲。
网络包括两个输入分支:一个用于处理LR图像,另一个用于处理带有高频先验的LR图像。Complement Super-Resolution and Identity (CSRI)
是一篇18年的工作,其使用了带有两个平行分支的两个子网,对于两个平行分支:一个用于处理合成的LR图像以及对用的HR ground truth图像对,另一个仅处理native LR图像。
这个架构的关键在于两个分支间的参数共享。其架构示意图如下所示:
Feature Adaptation Network (FAN)
使用一个双分支架构弥补了域间隙,解决了人脸成分特征学习问题,以及接下来对人脸图像进行decode和re-encode。
FAN的架构是基于GAN的,作者使用native的VLR图像以及合成的VLR图像对进行训练。==分别对人脸及非身份特征进行编码可以优化相关的人脸身份特征,并在loss函数上忽略其他的相关特征。==也就是说,身份特征将唯一用于分类,剩余的其他特征将被用于重建。
上图为FAN的架构示意图,这个架构包括两个输入分支(HR图像以及LR+HR图像),分别进行特征提取并生成特征描述符。接下来将进行两次重建:一个用于身份特征,另一个用于非身份特征。
- 另一篇19年的工作是
Dual Directed Capsule Network for Very Low Resolution Image Recognition
,这个方法使用natve LR图像并对其进行bilinear
插值进行升维后投入training,同样地,它也将native HR图像降维到LR。
作者利用了一种提取任意高分辨率信息作为“anchor”去指导对LR native图像的特征提取的策略。这个策略是通过引入了一个新的“High Resolution-anchor
”损失,以及在特征提取以及随后的成分阶段进行梯度传播来实现的。
anchor值是从每类的HR图像sample中学到的,并将被用于修正所提取的LR特征(即更接近anchor值)。
这个方法使用了类似嵌入空间方法的投影技术(??),这个网络最终是通过重建损失进行训练的,也就是在架构末端会放置一个重建网络结构。
如上图所示,首先利用HR-Anchor
损失,将提取的VLR图像特征投影到更接近HR图像特征质心的位置,随后将这些投影后的特征喂进胶囊网络中,再通过三个全连接层进行超分重建。 - 2020年的一项研究:
Compact Super-Resolution Network (ComSupResNet)
,它是一个单一的网络架构,只用两层来进行特征提取,第一层包含一个9x9带有边界填充的滤波器,随后,重构模块以级联训练的方式实现(2x),每个重建模块内部包含残差连接。然而,每个模块中的block数不同,因此参数数量减少。模型架构如下图所示:
用于超分任务的数据集往往是包含各类图像的一个混杂的数据集,这阻碍了人脸超分在其上性能的表现。
目前基于结构相似性指数(SSIM
)和峰值信噪比(PSNR
)的性能估计不能以人脸识别为目的衡量性能,此外,对于有监督的超分辨率训练,最常见的方法是取一个高分辨率的图像数据集,并使用billinear插值
来缩小图像以训练模型。而这样采用人工降采样的方法会导致在监控LR图像和综合降采样图像之间存在差异。
2.1.3 局限性与优点
超分方法最大的限制是training和test时间的增加。这种encode,decode,再re-encode的方法是十分昂贵的。(??)
深度学习超分方法依赖于两个或多个子网络来处理HR和VLR输入图像。对于FAN
,只有使用昂贵的gpu(如Nvidia Titan x)才能进行实时inference。一些方法包括下采样和反卷积deconvolution
,以减轻计算负荷;这样做使得中间表示的维数大大降低,故使用gpu实时inference成为可能。(!这里作者指出了用于人脸识别的efficient SR方法的潜能)
超分辨率方法的优点在于其新颖的体系结构,如CSRI
、FAN
和Dual Directed CapsNet
。这些创新以使用注意力层(CSRI, RPCN)、人脸特征向量(FAN)和重构前的特征投影策略(Dual Directed CapsNet)提取合成 VLR和native VLR知识的形式出现。这些方法中最重要的概念之一是使用HR来 anchor优化VLR特征提取器,以获得更丰富的HR特征空间。
2.2 高效LR-LR方法
深度学习方法已被证明对人脸识别任务是十分有效的,然而,它们的算法复杂性使得它们不适合在实时场景中使用。因此在嵌入式设备上实现实时性能的方法有:SqueezeNet,ShuffleNet,ShuffleNetV2 ,MobileNet,MobileNetV2, MobileNetV3,和VarGNet。这些方法是为有效解决图像识别、目标检测等一般计算机视觉任务而提出的,通常被称为轻量级卷积神经网络。
2.2.1 用于FR的轻量级卷积神经网络
一般来说,这些轻量级卷积神经网络是基于轻量级通用CNN架构的。为了在效率和精度之间取得更好的平衡,这些轻量级网络采用了以下技术:
- 使用分组卷积和变换输出通道,以减少操作的数量和在不同的输入和输出通道上共享信息,使用分组卷积的可变组来平衡信息保留和复杂性,逐点1 × 1卷积以降低深度通道和滤波时的计算复杂度
- 在完全连通层之前进行低维嵌入,使用stride代替Max池操作来降低复杂度,直接从数据中保留更多信息
- 使用倒瓶颈结构来减少参数的数量,再次压缩网络通道,以匹配输入通道。
下表显示了基于移动CNN架构的最新人脸识别网络的概述。这些特定于人脸识别的方法遵循了优化人脸识别性能的几个指导原则,例如:使用Global DepthWise
卷积而不是全局平均池化,使用additive-angular margin-based loss
,以及轻量级设计思想。这些思想旨在通过避免使用最大池来尽可能多地保留细粒度信息。这些技术已被证明对人脸识别性能有益,但可能不适用于一般的计算机视觉任务。
VarGFaceNet
是一种基于VarGNet
的轻量级方法。与VarGNet
不同,VarGFaceNet
首先将通道扩展到1024个,使用11个卷积层来保存信息。然后,利用变群卷积和逐点卷积来减少中间表示。作者成功地将CPU和GPU的运行时间降低到31帧/秒,他们在SCface数据集上测试了该方法,准确率为43.5%,排名第一。其不能达到与其他更重量级的深度学习方法相同的性能,但优于经典手工方以及更早的基于深度学习的方法。
2.2.2 知识蒸馏与量化网络
2.2.2.1 知识蒸馏
VarGFaceNet
就是使用知识蒸馏进行训练。该方法采用递归知识蒸馏和角蒸馏(Angular distillation
)损失函数。所选择的教师网络是一个ResNet
架构,用于特征向量提取。然后将这些特征向量用于VarGFaceNet
损失函数,使轻量级网络生成的特征向量更接近教师网络的特征向量。
角蒸馏(angular distillation
)方法使用相似度测量,如L2或余弦相似度来评分两个特征向量。在Low-resolution face recognition in the wild via selective knowledge distillation
中提出了一种利用知识蒸馏技术进行低分辨率人脸识别的尝试。他们的方法使用了一个基于VGGFace
的教师模型,并使用了一个设计更简单的学生网络进行推理。作者还使用手动压缩(manual resizing
?)来训练学生网络。教师网络的输出使用基于图的方法来接受和拒绝训练中没有出现的人(即基于图的挑选feature的方法)。该方法的性能优于现有的其他方法,但比不上前面嵌入空间映射部分提到的方法,甚至是经典的手工方法——主要贡献应该是在精度损失不大的基础上压缩了模型大小。
查了一下关于这篇2018年TIP上的文章:Low-resolution face recognition in the wild via selective knowledge distillation
方法,大概意思应该是在pretrain Teacher model的数据集跟student model使用的数据集不同的情况下,需要对teacher提供的知识进行筛选,也就是如下图所示,经过一个Selective Distillation
(即一个解决一个稀疏图优化问题)手工选出informative facial features
用于distill学生网络。
本文认为这种方法最显著的缺点是没有重新投影(re-projection?),且在LR空间中使用的图像是调整大小后的数据集图像。在真实图像数据集(如SCface)上进行测试时,它无法获得理想的性能。
2.2.2.1 量化
另一种降低推理复杂度的方法是量化。这些方法关注于通过限制表示位的数量来减少参数表示,其中浮点卷积层可以量化为二进制卷积层,这降低了知识表示层的复杂性。然而,这些方法在平衡k位量化表示、网络深度和信号保存方面仍待研究。最近的研究考虑包括: 使用可学习的比例因子向量,量化层块的剩余连接,使用PReLU
激活函数等以提高量化网络性能。
2.2.3 局限性与优点
轻量级卷积神经网络最重要的优点在于效率和精度的权衡。这些网络大多是先扩展信道,然后采用快速降采样策略。这些快速下采样策略阻碍了point-wise convolution
(是降低卷积运算参数量方法Separable Convolution的一种)或直接使用更接近输入层的stride步幅。除此之外,VarGFaceNet
和ShuffleFaceNet
都基于不同的策略将知识传播到不同通道,其中变量组卷积产生更好的准确性能。
这些网络具有强大且鲁棒的特征提取,因为它们的深度足够达到FLOPs阈值(1.2GFLOPs),而不降低图像表示——这是通过使用块的线性组合而不是传统的卷积和最大池操作来实现的。(??什么意思,看看论文再进行补充)
由于它们的预期应用,网络的深度和宽度成为这些网络的最大限制。此外,由于会导致数据的丢失,这些快速降采样策略在处理native LR图像时并不是最好的。在ShuffleFaceNet
的例子中,还可能会导致额外的信息丢失。因此,为了克服这些局限性,需要使用不同的上采样方法来模拟不同的低分辨率场景(??)。
3. 无约束监控人脸识别的SotA结果
这一节主要讨论的是在无约束VLR人脸识别的背景下上述方法的SotA结果。
对于SCFace
和UCCSFace
数据集的结果,它们代表了LR-HR
的VLRFR
问题的研究。而QMUL-Survface
和QMUL-Tinyface
的结果,代表naive VLR LR-LR
人脸识别问题的基准。
注:输入的人脸图像像素均为32 x 32 pixels或更低
3.1 VLR face recognition performance
- 下图为
SCface
数据集上的平均识别性能展示,d1(4.2m)表示摄像机距离物体的距离为4.2米,这也是在LR-HR人脸识别问题中最具挑战性的距离。
注:下图中标FT的网络表示,它们是在SCface数据集上进行fine-tune的,标*的网络表示是通过MS-Celeb-1M数据集进行fine-tune的
UCCS
数据集表示了真实世界监控下的setting,即图像分辨率从VLR到HR各不相同。
- 对于LR-LR问题,下图为
QMUL-TinyFace
上的人脸识别结果与QMUL-SurvFace
上的人脸验证结果
3.1.1 训练方法
尽管轻量级的CNN方法实现了最佳的平均性能,但它们的training和testing方法仍有待改进的空间。
- 为了在
SCface
上实现最佳的性能,这篇文章的作者在MS1-Celeb-1M
数据集上对网络进行了预训练,然后再利用SCface采用不同的上采样策略进行fine-tune 。 Deep Coupled ResNet
方法将图像上采样到三种不同的分辨率上,以增加学习到的表示的鲁棒性。即在没有预训练的情况下将原数据集扩大了三倍。- DMDS方法从SCface数据集里随机选择50名个体进行训练,并不对VLR图像进行上采样
因此,由于每种方法选择的放缩方法不同,即使使用相同的数据集也很难进行比较。(?还是没太明白)
这篇文章认为,深度学习的局限性在于需要大量的数据对网络进行训练,这也就是为什么上述的方法往往在LFW、MS-Celeb-1M上进行预训练。 因此,给我们的启示就是:在对一个特定数据集进行fine-tune前,可以考虑在另一个数据集上的预训练是都能产生更好的VLR人脸识别结果。
根据上文中贴出的Table 5,6,8,9可以看出,VGGFace
即使经过fine-tune,也无法在VLR图像上学习到较好的表示。反之,一些新的特征提取方法可以很好的表示这些特征。
3.1.2 泛化能力
为了将上文的方法更好的应用于现实世界,它们的泛化性能也需要我们逐一进行分析。
需要注意的是,当使用某特定网络进行预训练后,需要进行跨数据集评估,以避免模型的数据集记忆。另,对于open-set的监控VLR问题,往往要求学习到的表征足够robust。
根据上述table所展示的评估结果,我们不难看出,SCface
下的d1的结果优于其余的native数据集,这表示了在没有模拟VLR情况下的SotA方法在VLR上的局限性。 除此之外,Table 6,9的结果显示:即使平均准确率以及AUC非常高,0.1%的TAR上的评估仍然是一个challenge。
3.2 Effiency performance
下表展示的是轻量级CNN网络的inference time,小于100ms的inference time可以为至少一台监控相机提供实时的inference。
如下表所示,ShuffleFaceNet-1.5
(depth multiplier为1.5)提供了最佳的mean accuracy-effiency
权衡。
通过对网络结构的学习,不难发现,平衡性能和效率的关键在于:
- 识别过程更关注与对齐面部的中心部分
- 使用快速下采样策略(例如ShuffleFaceNet中的应用)
- 使用低维的面部描述符。
除此之外,超分LRFR算法往往在效率性能上表现的更差,原因在于其需要一个更复杂的网络将图像上采样到HR,再进行识别。
3.3 无约束的VLR人脸识别performance
3.3.1 缺乏VLR本地真实数据集
在VLR背景下进行问题分析的一大难点在于:缺乏公开可用的native real-world VLR数据集。
为了提升深度面部识别算法在VLR问题上的鲁棒性,近年来提出了不少的数据增广方法:
- 例如在
Low-resolution face recognition in the wild via selective knowledge distillation
一文中使用的bilinear
插值方法合成VLR数据集。但这种方法本身并不适用于无约束的情况。(?) Deep coupled ResNet for low-resolution face recognition
方法将图像放缩到三种不同的分辨率上,以使网络学到更多映射。Lightweight low-resolution face recognition for surveillance applications
的作者认为,需要使用不同的下采样策略去模拟现实世界的不同背景。
此外,由于合成数据和native数据间存在域间隙,超分算法很难被应用于无约束的情况下。原因在于超分算法本质上是一个监督学习算法,需要HR ground-truth图像以学习合成LR图像到HR图像上的映射,以匹配目标HR域。
为了弥补这一域间隙,Low-resolution face recognition
(2018)使用合成数据集与native数据结合的方式,作者使用合成数据集以学习超分关系,并通过学习到的超分关系生成native VLR图像对应的HR图像。(该方法通过在两个超分网络上共享权值,并单独保留分类子网的方式来实现)
3.3.2 缺乏判别性information及pose variations
在VLR情境下,往往缺乏discriminative information