天天看点

SpectrafaceIntroductionRelated workDatasetSpectraface Algorithm

Spectraface

  • Introduction
  • Related work
  • Dataset
  • Spectraface Algorithm
    • Training phase
    • Production phase

Github: link.

Introduction

视觉人脸识别方法利用(utilize)在人类可见光谱(human-visible spectrum)中捕获的图像来识别个体,而个体本身受到光照变化、遮挡和模糊轮廓等外部因素的限制。[1,5]它只能达到一双人眼所能达到的效果。Thermal face通过捕获更高波长的辐射信息,缓解了视觉面面临的大部分问题。 开发一种识别thermal faces的解决方案扩展了要识别的面部图像的范围。 然而,thermal face recognition有其自身的挑战,例如分辨率较低、对皮肤温度的变化敏感以及无法透过眼镜看东西。

Related work

用于人脸识别的最常用算法之一是 Eigenface,它通过使用Principal Component Analysis (PCA) 实现近实时人脸识别,并将高维人脸图像映射到低维“人脸空间”。然而,它对人脸图像有很高的要求,使得seen image和probe image必须位于相似的环境中,否则就会开始严重失败。这是由于算法本身的性质,它对人脸图像中大量相关信息进行了编码。

Eigenface 启发了 Spectraface 的发展,其本质是 Eigenface 本质(essentially)上捕获和编码图像中最多样化的特征,它可用于识别任何物体以及超出人脸范围的thermal faces。

另一种广泛用于识别热人脸的方法是使用融合图像,它由多个图像组成,但在 Spectraface 中没有采用(鉴于 IRIS 数据集中提供了视觉和thermal人脸,这可能是一个很好的扩展,但是,它是生产系统不太可能提供两种类型的人脸,因此这不是这里的优先事项)

还有一个基于生成对抗网络的解决方案,可以从热面生成视觉面。然而,这种方法复杂且计算成本高。本文描述的方法不仅注重准确性,还注重简单性和速度,因此未考虑 TV-GAN 中使用的技术,而是与之进行比较。

Dataset

IRIS thermal/视觉数据库用作测试 Spectraface 的数据集。它由 30 名受试者(28 名男性和 2 名女性,种族差异很大)和他们的面部表情组成 - 惊讶、大笑和愤怒 - 以及五种照明条件 - 左灯亮,右灯亮,双灯亮,暗房间,两个灯都关了。有相同数量的热面和视觉面,分辨率均为 320x240 像素。 (嵌入椅子图像和一些示例图像)该数据集需要 Spectraface 对各种光谱、表情、照明、旋转以及有遮挡的人脸进行处理。该数据集的唯一小限制是与其图像相关的低分辨率。将更多女性作为受试者和一些 NIR 面孔会更理想。尽管 IRIS 不包括这些热图像属于哪个光谱的规范,但对数据集的观察表明它们是在中波和长波红外之间成像的。公开的thermal人脸图像数据库很少(另一个是 Terravic 面部红外数据库)。

Spectraface Algorithm

Spectraface 围绕两个阶段展开:training和production。 training阶段涉及创建一组用于与新输入人脸进行比较的代表性人脸,而production阶段负责将现有身份分配给一张人脸或创建一个新身份来表示它。

Training phase

训练阶段从一组预先选择的感兴趣的身份及其 thermal/visual 人脸图像开始(一个身份往往有多个在不同条件下拍摄的人脸图像)。第一步是使用人脸检测从图像中裁剪出人脸的片段。Spectraface 中的人脸检测是通过使用 【8】中的热人脸数据集预训练的神经网络实现的,准确率几乎达到100%。由于在检测视觉人脸的模型 【11】上热人脸检测的准确性较低(约 30%),因此不得不采用该模型【8】。请注意,图 2 和图 4 中省略了检测步骤。这些裁剪出来的人脸成为训练人脸图像。这些训练人脸图像的每个潜在特征都通过 PyTorch 中的 Inception Resnet V1(在 VGGFace2 上进行预训练)模型编码为 512 维向量。这一步有两个目的:降噪和降维,这允许稍后对这些编码进行平均处理。接下来,表示每个人脸图像的每个编码都通过均值减法进行归一化,并且假设每个身份拥有一组人脸图像(特征向量/编码)它们被平均并减少到单个特征向量/编码。现在,每个身份(经典 Eigenface 算法中正面人脸的对应物)只有一种编码,并由此创建协方差矩阵。从这个协方差矩阵中提取特征向量,也称为特征面,特征值按特征值降序排列,选择覆盖特征值95%(95%是Spectraface中使用的阈值)的前特征向量使用来表示训练集中的方差。现在每个特征脸都可以用来表示现有的和新的脸。与每个特征脸相关联的特征值表示训练集中的图像在该方向上与平均图像的差异程度。 [3,4] 建立一组“人脸”,即编码,来表示训练集中的每个身份,每个身份的编码被投影到特征人脸集合上,以在上下文中创建所谓的“代表性人脸”。

Production phase

第二阶段是生产,它不仅接受来自可见身份的人脸,也接受来自未见过身份的人脸,每当新编码的人脸和“代表性人脸”之间的差异超过一定阈值时,就会创建一个新身份。通道的工作原理如下:将新人脸图像像以前一样编码为 512 维向量,并通过均值减法对其进行归一化。为了找出这个新人脸是否属于一个可见的身份,计算新人脸编码与所有“代表性人脸”之间的欧几里德距离,从中返回距离最小的“代表性人脸”。 如果最小欧几里德距离低于预设阈值,则返回对应于“代表性人脸”的身份。 但是,如果它高于该值,则会在系统中创建一个新的身份对象。 Spectraface 使用 0.3 (30%) 作为其容忍所见面孔的阈值。 该值是根据数据集中样本之间的最小、平均和最大欧几里德距离的统计数据选择的。 一旦新身份进入系统,Training phase需要重新运行以反映的新身份。

继续阅读