摘要(abstract)

虽然深度学习在许多模式识别任务中都取得了良好的效果,但对于含有大量参数集、标记数据有限的深度网络,过拟合问题仍然是一个严重的问题。在这项工作中,二进制自动编码器(BAEs)和叠置二进制自动编码器提出了一种从大规模无标记人脸数据集中学习领域知识的方法。通过将知识转移到另一个基于二值化神经网络(BNNs)的带有限标记数据的监督学习任务,可以提高BNNs的性能。将无约束人脸归一化方法与LBP描述符、BAEs和BNNs的变体相结合,构建了一个真实的人脸表情识别系统。实验结果表明,整个系统在野外(SFEW)基准测试中取得了良好的静态面部表情性能,硬件要求最低,内存和计算成本较低。

1. 介绍(Introduction)

面部表情的研究是由心理学家发起的。Mehrabian等人[1]提出,同时发生的言语、声音和面部态度交流的综合效应是它们各自独立效应的加权和,系数为分别为7%、38%和55%。面部表情在人机交互(HCI)、情感计算、人类行为分析等方面发挥着重要作用。面部动作编码系统(FACS)[2]与情绪面部动作编码系统(EMFACS)[3]是由Ekman和Friensen提出的。FACS和EMFACS定义了一组行为单元(AUs),与愤怒、厌恶、恐惧、快乐、悲伤和惊讶等六种基本情绪相关。AUs和six basic emotions成为机器学习中分类/检测任务最常用的表达标签。

在早期,面部表情识别(FER)的研究是基于使用专门的记录设备在实验室环境中记录的数据集。一些数据集包含了摆态表达式[4],另一些数据集包含了自发表达式[5]。现有的识别方法可以分为三种类型,基于几何的方法[6-8],基于外观的方法[9-11]和混合方法[12]。基于几何的方法利用地标的位置、地标之间的距离、网格中三角形的角度等作为目标一维特性。基于外观的方法使用全局图像或地标周围的局部小块来提取各种二维图像特征。这些方法取得了显著的效果。本文主要研究无约束FER问题,这是目前研究的一个热点。不受约束的人脸包含头部姿态、表情强度、光照条件、背景、遮挡和其他扭曲的变化[13-15]。这些条件与现实世界中的条件非常接近。无约束的FER是一个具有挑战性的未解决问题。

研究趋势表明,基于卷积神经网络(CNNs)的FER方法越来越受欢迎。在最近的表情挑战中采用最先进的方法[16]为例。Alex-Net [17,18], VGG-Net [19-21], GoogLeNet[21,22]和各种CNNs[18,20,23]用于无约束拿来。在这些研究中,外部数据如TFD数据集[24],FER-2013年数据集[25],使用CAISA Web人脸数据集[26](18、20、21、23)。决策融合被广泛应用于提高4-7%的性能[18,20,21,23]。

CNNs的基本假设是图像的不同区域具有相同的局部统计特性。这个假设不适用于对齐的面。包含本地连接的CNNs 提出了385-395 layer[27]来缓解这一问题。然而,局部连接层有大量的参数。在小数据集上进行训练是不切实际的。此外,训练/测试时间长、内存开销大是这些基于CNNs的方法的常见缺点。本文介绍了一种新型的全连通神经网络代替神经网络。我们认为,在人脸对齐和不变特征的帮助下,全连通神经网络仍然是广泛应用于人脸的一个很好的选择。

近年来,使用二进制权值或激活的神经网络得到了越来越多的关注。从硬件的角度来看,这些二进制权值和激活可以加速网络的反向传播(BP)和正向传播。它们还可以降低记忆峰训练和测试的成本。噪声权重也作为一个强大的正则化器,以防止过拟合。一个设计良好的算法可以在性能损失可接受的情况下具有这些优点。本文研究了二值化神经网络(BNNs)[28]和二值化自编码器在FER系统中,BAEs作为分类器和特征提取器。

这项工作的主要贡献包括:

•基于新的二值化神经网络(BNNs)[28],提出了一种无监督的特征学习方法——二值化自编码器(BAE)。BAEs可以学习外部大规模无标记人脸数据集的特征,提高监督学习任务的性能。

•一种称为多尺度密集局部二进制的低层图像特性提出了一种基于模式(MDLBP)的人脸识别信息提取方法

•据我们所知,本文是第一个将二进制特征提取器、二进制无监督特征学习器和二进制神经网络结合到真实的FER系统中。该系统以最少的硬件需求(即,降低内存和计算成本)

论文的其余部分组织如下:第二部分对相关工作进行回顾。在第三节中,提出了主要方法。实验结果见第4节。第五部分给出结论。

2. 相关工作(Related work)

2.2 二值化神经网络(Binarized Neural Networks)

具有二进制权值或激活的神经网络在[28-31]等文献中得到了广泛的研究。预期反向传播(EBP)[29,30]是一种训练具有二元权值和激活的神经网络的训练算法。二进制连接[31]是另一种使用二进制权值+实权值+训练时的实激活值和测试时的二进制权值+实激活值的方法。包括但不限于上述的研究都有使用真实值的局限性。这些实值限制了神经网络的速度。灵感来自于EBP和二进制连接,二值化神经网络[28]在训练和测试中同时使用二进制权值和二进制激活。本文是基于BNNs的扩展工作。BNNs的核心思想是,权值和活度都被限制为+1或- 1。用xnorcount操作代替浮点数乘法累加操作,将给快速传播带来极大的好处。将al、Wl、bl分别表示为l层BNN的激活、权值的实版、偏置,利用递归式

其中sgn是矩阵和向量的元素符号函数。由两个sgn函数引起的噪声,通过对多个二进制分量sgn(Wl)sgn(···)求和得到平均。二值化对正向传播的精度影响不大。L层BNN的末端是最终的活化aL。在分类或二元多元回归时,在末端附加铰链损耗。损失函数定义为

其中C为aL的维数,为类数或二元多元回归的目标维数。y是二进制教学向量,其元素要么为+1,要么为-1。由于铰链损耗在yiaL i = 1时是不可微的,因此采用子梯度来实现算法。

将第i个训练对表示为(xi, yi),可以将BNNs的训练问题定义为

其中aL,i是xi输入网络时的最终激活。

在训练过程中保持二进制和真实版本的权重是很重要的。二进制版本用于正向传播和反向传播,而实际版本用于权重更新。有关向后传播和权重更新的详细信息,请参阅[28]。

2.2. Auto-encoders

自动编码器及其变体是用于无监督特征学习的神经网络。这些变化在不同的角度具有很好的特性。其中大部分(如非本地自动编码器[32],黑森正则化稀疏自动编码器等)是完全精确的算法。它们使用32位或64位浮点数进行计算。作为这些变化之一,
二值化自编码器(BAEs)引入了二值化神经网络(BNNs)的二进制传播和学习算法。他们继承了BNNs的效率。它们使用1位逻辑数字作为输入、隐藏激活和权重,并在正向传播中使用XNORcount操作而不是乘法累加操作。

2.3. 深度二进制表示(Deep binary representations)

二值化自动编码器(BAEs)用于学习大规模未标记人脸数据集中紧凑的二值化人脸表示。无监督哈希算法[34]与BAEs非常相似。它们都是从长原始数据中计算一个短二进制代码。但是,它们是为不同的任务而设计的。贝叶斯压缩的比特可以用来重建原始数据。BAEs擅长于基于神经网络的分类或回归任务特征提取。然而,设计良好的哈希代码可以保持本地数据结构。通过计算哈希码之间的汉明距离,可以测量数据的相似性。

2.4. 无约束的脸标准化(2.4. Unconstrained face normalization)

在真实的FER系统中,无约束人脸归一化通常是第一步。它通常集成了现有的几种人脸图像预处理算法,包括人脸地标检测、人脸对齐和光照归一化。一个无约束的面部图像可以包含零个或多个不同姿态和任意光照条件下的人脸。在这项工作中,使用方向梯度直方图检测紧边界框(HOG)特征与线性分类器、图像金字塔和滑动窗口检测方案[35]相结合。为简便起见,如果没有检测到框,则拒绝样本。否则,只保留最大的盒子。采用基于回归[36]的路标检测器对这些边界盒中的路标进行检测。对人脸的三维形状进行[37]估计。人脸对齐到一个预定义的三维人脸几何图形。边界盒检测器和地标检测器在iBUG 300-W人脸地标数据集[38]by上进行预训练King等人。[39]。在LFW数据集上对对齐模型进行了预处理《[40]》,哈斯纳等人著。

试验了两种光照归一化方法。基于各向同性扩散的方法(IN-IS)利用图像的各向同性平滑来估计光照函数,然后对其进行补偿。基于离散余弦变换的方法(in -DCT)将低频段的DCT系数截断为零[42]。对于无约束人脸归一化,两种方法都能获得良好的视觉效果。应该注意的是,IN是一个可选步骤,特别是在使用LBP特性时。关于如何使用IN和LBP的更多细节将在后面讨论4.3节。

2.5. 局部二值模式(Local Binary Patterns)

局部二值模式[43]及其变化在人脸图像处理中得到了广泛的应用。Chen等人提出了一种基于高维LBP[44]的人脸验证方法。迪豪等。采用局部相位量化(LPQ)[10,13],是该方法的扩展采用线性SVM分类器进行分类。赵等人提出了LBP-TOP[45]用于表情动作识别[14,45]。利等。提出了一种改进LBP码的映射方法,并将映射后的LBP码作为CNNs[21]的输入。这些研究中要么使用LBP直方图,要么使用LBP编码图。在这项工作中,使用了LBP代码映射的一个变体。该功能是一组单热模式码,它描述了在不同的位置,在不同的分辨率模式。它是一个W×H×P的稀疏二元三维张量,其中W×H为图像维数,P为模式数。

空间LBP映射称为稠密LBP (DLBP)描述符。空间LBP映射称为稠密LBP (DLBP)描述符。表示裁剪后的人脸图像的强度通道为I∈RW×H,即一热均匀旋转不变码映射为映射,定义I的DLBP描述符为

其中,在位置i处采样的p位模式码j定义为

p、r、s分别为采样邻域数、半径和步长。P是数的均匀和旋转不变的模式。

2.6. 基于gpu的并行计算

在实际应用中,应认真实现BNN、BAE和FER算法,以达到其理论性能。基于图形处理单元(GPU)的并行计算是实现高性能算法的一种流行技术。例如,Liu等人提出了一种基于GPU[46]的高效的稀疏PCA并行算法。该算法与并行实现是两个正交的研究方向。本文的主要目的是提出一种高效的FER算法。我们基于gpu的并行实现的详细信息可以在源代码[47]中找到。

3. 提出的方法(The proposed method)

本节将提出一种有效的无约束表达式识别系统。在讨论细节之前,先给出一个总体框架。系统管路如图1所示。将现有的几种人脸预处理方法集成到无约束人脸归一化系统中。一旦包含无约束人脸的图像被输入系统。成功检测到人脸的边界框和地标
(35、36)。估计脸部的姿势。脸是对齐的,没有失去它的表情[37]。采用光照归一化[41,42]。最后,合成了一种光照均匀的正面作物。

局部二值模式(LBP)描述符[43]是一种强大的图像分类工具。多尺度稠密LBP (MDLBP)包含一组稠密LBP (DLBP)描述符,用于提取不同分辨率下的模式。每个位置说明:DLBP描述符,局部模式描述为一个热代码。然后将矢量化的特征输入到堆叠的二进制自动编码器(堆叠BAE)中进行无监督的特征学习。然后将矢量化的特征输入到堆叠的二进制自动编码器(堆叠BAE)中进行无监督的特征学习。

3.1. Binarized Auto-encoders

基于BNNs的二进制自动编码器(BAEs)可以直接由自动编码器(AEs)扩展而来。它包含两个二值化的完全连接层,即编码层和解调层。表示二进制输入向量x,二进制中间表示xˆh和二进制重建,我们可以定义编码层

根据式(2),重建x的损失函数可表示为

如果x是一个稀疏向量(number of +1 elements <<number of-1 elements, e.g., the sparsity of the MDLBP feature is 1 - 1P ) or a dense vector (number of +1 elements>>number of -1 elements),式(9)中的损失函数可能无法评价实际重建性能。Eq.(9)可以通过元素重加权的方法得到改进。将x的稀疏性表示为s,可以将BAE的再加权损失函数定义为

元素加权为

例如,假设s = 0.9,如果ξ= + 1 =−1 xˆ,损失部分由这个错误的重建是以此ws (+ 1) = 5。如果ξ=−1和xˆi = + 1,损失部分由这个错误的重建是以此ws (−1) = 5 /9。另一个例子,假设s = 0.5,平衡x不需要重新加权,因此,ws(+1) = 1, ws(- 1) = 1。方程式。
(10)、(11)退化为式(9),w与s的关系如图2所示。

图1所示。流程图包括无约束面归一化、MDLBP提取、
二值化自动编码器和二值化神经网络。

对于方程(10)和(11)本质上等价于不平衡学习[48]的过采样方法的效果。此外,重权法比过采样法更快、更稳定。我们还尝试了另一种基于元素经验分布的权重调整函数(x的每个元素都有一个独立的经验稀疏性)。但是,这会使重构性能变差。示训练集中第i个样本,其中包含N个样本。根据式(3),BAEs的训练可以写成

二值化自动编码器是一种用于二进制数据的无监督学习方法。它们可以从没有标签的二进制数据中提取二进制表示。为了高效地处理和存储,这些表示形式都经过了极大的压缩。它们包含可以用来重建原始数据的主要信息。基于BAEs的大规模无监督学习可以学习到一种领域知识。通过将知识转移到另一个带有限标记数据的监督学习任务中,可以提高性能。

3.2. Stacked Binarized Auto-encoders

叠置BAES是一种包含多编码器和多解码器的深度神经网络。与BAEs相比,堆叠的BAEs提取更高阶的表示。它们可以被训练成一种贪婪的分层的无监督的方式,

一次学习一对编码器和解码器。总训练时间随层数线性增长。一些实用的建议BAEs/堆叠BAEs如下:

• 需要注意的最重要的事情是防止平凡解,例如,当层的维数相等时,Wl = I, bl = 0。有一些常见的方法,比如对表示的维数/稀疏性的约束。有一些常见的方法,比如对表示的维数/稀疏性的约束。在表示上使用dropout与维度约束具有相同的效果。但是,在BAEs中,这些方法是不必要的,因为W1包含{+1,- 1}中的二进制元素。BAEs永远不会陷入一个微不足道的解决方案。正如我们在3.1节中解释的,单个BAE使用元素加权损失函数重构稀疏数据。在堆叠的BAE中,隐藏的激活并不稀疏。隐藏激活的平均值大约为零。再加权损失函数Eqs中的稀疏性参数s。(10)和(11)当训练第二对或任何较深的编解码器时,应设置为0.5。

3.3. 叠置二值化自动编码器与二值化神经网络结合(Stacked Binarized Auto-encoders combined with Binarized Neural Networks)

为了将知识转移到具有有限标记数据的监督学习任务中,缓解过度拟合问题,提高学习效率,我们采用了两步训练方案。在第一步中,一个堆叠的BAE(或BAE)被训练在一个大规模的未标记的数据集上,作为一个特征提取器展开。在第二步中,根据第一步学习到的特征,在一个小的标记数据集上训练一个BNN进行分类。

在以前的一些工作中,建议以预培训+微调的方式使用自动编码器。将神经网络前几层的权值初始化为预先训练的堆栈式自动编码器的权值。在微调过程中,这些层的学习率通常小于其他层(例如,降低了100倍)。这些层可以是微调到更好的解决方案。

图2所示。元素明智重量与稀疏性Fig. 2. Element-wise weight versus sparsity

然而,在实践中,我们通过经验发现,预训练+微调有时会降低精度。因为我们使用大数据集进行预培训,使用小数据集进行微调。在微调步骤中,忘记了从大数据集中学到的知识。整个网络很快收敛到一个过拟合的解决方案。

在图1的流水线中,堆叠的层数BAE和BNN是重要的可调元参数。关于网络的细节将在4.6节的实验中展示。

3.4. 多尺度密集局部二元模式(Multi-scale Dense Local Binary Patterns)

设计了一组用于提取不同分辨率模式的DLBP描述符。所有的LBP映射都是扁平的,并连接成一个单一的多尺度密集的局部二进制模式(MDLBP)描述符,定义为:

其中r0、s0为第一个分辨率的采样参数,其余分辨率的采样参数逐渐减小√2倍。由于这些面是精确对齐的,我们忽略了空间结构,将特征平展并将它们连接到单个向量中。

图3比较了四种LBP编码方法:

•   均匀旋转不变LBP的一热码始终是线性可分的。它适用于分类任务。相比之下,二进制码和压缩码是非线性可分的。

•  两个二进制代码之间的汉明距离表示相似性。二进制代码适用于与相似性相关的任务。相反,两个一热码之间的距离总是相同的。两个压缩码之间的距离没有意义。

选择图3 (c)所示的均匀旋转不变LBP的一热码作为MDLBP的编码方法。

图3所示。四种LBP编码方法。(a) LBP的二进制代码使用2个邻居汉明距离表示相似性。(b)使用2个邻居的LBP压缩代码。(c)使用3个箱的均匀旋转不变LBP的一热码,始终是线性可分的。(d)使用一致旋转不变LBP的压缩码3箱

4. 实验( Experiments)

本节首先介绍了本文使用的数据集。设计了几个实验来评估该方法的各个组成部分。对图1所示的整个系统流程进行了评价,并与相关工作进行了比较。

本节介绍一些新的符号:
•bae -1表示1层BAE,
•sbae -2表示一个2层堆叠BAE,
•BNN- l为l层BNN,
•bae -BNN-L表示包含1层BAE和(L - 1)层BNN的网络,
•sbae -BNN-L表示含有2层SBAE和(L - 2)层BNN的网络(见图1)。

4.1. 数据集(Datasets)

野生(SFEW)[13]数据集中的静态面部表情是一种常用的无约束FER基准。它用于部分4.3 - -4.8。它包含1766个电影画面,上面标注着六个基本表情(愤怒、厌恶、恐惧、快乐、悲伤、惊讶)和中性类别。它提供独立于主题的训练集、验证集和测试集,称为SFEW-TRAIN、SFEWVAL和SFEW-TEST。由于我们只知道电影标签而不知道主题标签,所以我们混合了SFEW-TRAIN和SFEWVAL,然后将它们重新划分为五个独立于电影的子集,以进行交叉验证。新的数据集称为SFEW-CV。

图4所示。不同元参数下MDLBP+线性SVM的精度。

第4.4-4.6节也使用了野外标记人脸(LFW)[40]数据集进行无监督特征学习。LFW数据集是评价人脸识别算法的一个著名基准。它包含了5749名受试者的13233张不受约束的脸。LFW数据集中人脸的大多数表达式都是中性的。Radboud Faces Database (RaFD)[49]也被用于第4.8节用于在约束条件下评估所提出的方法拿来的任务。RaFD包含67个受约束的人脸。对于每一个受试者,图像都记录在不同的注视方向和相机角度。只使用前摄像头记录的图像。这些图像被分成五层。五折中的对象没有重叠。

4.2. 数据增加(Data augmentation)

深度神经网络是一种需要大量数据的技术。增加训练样本的数量是防止过度拟合和提高最终性能的重要因素。对于样本容量较小的任务,数据扩充是合成训练样本的一个有用技巧。在最近的一些研究中[21,23],在不同的位置和大小的水平翻转的人脸样本过多。由于人脸是精确对齐的,翻译图像可能是不必要的。只有水平翻转方法用于数据增强。最后的预测是分类器根据正面人脸和翻转脸推断出的两种预测的平均值。

4.3. 线性SVM实验(Experiment of linear SVM)

MDLBP描述符是一种高维稀疏二进制特征。将判别信息分解为位向量。为了评价所提出的特征并选择预处理步骤的元参数,对预处理质量进行了评价通过评价线性SVM分类器在SFEW上的判别性能,间接估计了MDLBP描述符。

使用网格搜索过程来选择元参数。从两种对齐方法(不对称/对称,见[37])、三种光照归一化方法(IN- dct /IN- is /without IN,见2.4节)中选取元参数,15种MDLBP半径(r0∈[1,15],见2.5节)。线性SVM在SFEW-TRAIN上进行训练,SFEW-VAL的验证精度如图4(a)所示。在图4(b)中,使用五倍交叉验证方案对SFEW-CV的精度进行了基准测试。

通过对图4的分析,我们可以得出如下结论:

•虽然在[23]光照归一化中,我们认为光照归一化优于其他预处理步骤,但在我们的实验中,光照归一化使得性能变差。这是因为光照归一化是不必要的MDLBP已经是光照不变的。另一方面,光照归一化是一把双刃剑。该方法将低频DCT系数截断为零。N-IS方法利用平滑后的图像作为光照函数的估计,并对其进行补偿。这两种方法都是高通滤波器。它们会在低频区抑制一些与情绪相关的辨别纹理,在高频区放大噪声。最好不要同时使用光照归一化MDLBP。

MDLBP的半径对性能有很大的影响。由于小纹理受大噪声污染,当采样半径较小时,信噪比较低。然而,一旦半径过大,最具鉴别性的高频信息就会丢失。虽然采用多尺度采样方案来缓解这一问题,但r0的选取非常重要。5-7是从168×125的面部作物中提取MDLBP的适宜范围。

•SFEW-CV的准确性一般高于SFEW-VAL。主要原因是协议的不同。SFEW-TRAIN和SFEW-VAL是独立于主语的。然而,SFEW-CV是独立于电影的。当主题标签未知时,与主题无关的交叉验证是不可行的。第二个原因是用于培训和验证的样本比例。sfew -训练和SFEW-VAL的比例分别为68.7%和31.3%。交叉验证的培训和验证数据的比例约为80%:20%。

图5所示。不同学习率训练的BAEs表现

表1
不同MDLBP步长下线性MDLBP+线性SVM的精度

•SFEW数据集的创建者提出了一种基线方法,使用线性SVM分类器,使用局部相位量化(LPQ) +方向梯度直方图金字塔(PHOG)特征[13,16]。基线法在SFEW-TRAIN上训练,SFEW-VAL上评价。其准确度为35.96%,远低于图4所示的准确度。在两篇文章中使用了相同种类的分类器。唯一的改进是预处理步骤。提出了一种新的路标检测器和定位方法。此外,所提出的MDLBP是一种单一热点的映射式特征,通常比直方图特征包含更多的鉴别信息。

不对称对齐+ mdlbp8,5,1,5是图4中最好的预处理方法。但是,最佳特性的维数是314,810,对于以后基于二值化神经网络的实验来说,这个数值过高。通过增加MDLBP的采样步长s0来压缩特征。特征压缩后的性能如表1所示。结果表明,随着采样步长s0的增大,特征尺寸迅速减小,精度损失可接受。

最后选择不对称对齐+ mdlbp8,5,3,5作为后续实验的特征。压缩后,尺寸减小了9倍,而精度则在SFEW-VAL下降1%。

4.4. BAEs的实验

为了更好地与其他工作进行比较,我们的实验遵循SFEW基准测试的严格人独立(SPI)协议。训练集、验证集和测试集中的受试者不重叠。在SFEW基准测试中允许使用外部数据集。LFW数据集用于无监督特征学习。利用大规模的跨任务外部数据集来提高小数据集的FER性能是可行的。例如,在[21]中,CASIA WebFace数据集[26]用于提高SFEW上的FER性能。所学习的特征在人脸分类任务和FER任务之间共享。[21]和这项工作之间的区别是显而易见的。与CNNs不同,BAEs是一种基于重构的无监督学习算法。不使用LFW数据集的主题标签。我们在SFEW数据集和LFW数据集上运行预处理步骤(不对称对齐+ mdlbp8,5,3,5)。在3.1节算法的基础上,通过改变元参数设计多个bae,并对预处理后的bae进行训练LFW数据集使用随机梯度下降(SGD),批量大小为128个例子。我们的BAEs旨在重建不平衡二进制位的向量。一些传统的评价指标,如L2重构误差,并不适用。相反,建议的重新加权损失(见3.1节)和f1测量值见图5-8。

•在图5中,训练了4个bae,学习率为0.003, 0.0003, 0.00003和0.000003。使用更低的学习速度和更长的培训时间(≈4天)可以达到最好的效果。

•在图6中,比较了包含500、1000和1500个隐藏激活的bae。使用更多的隐藏激活可以获得更好的性能。隐藏激活的数量主要受训练时GPU内存的限制。

•在图8中,采用严格的跨数据集验证来评估BAE的泛化能力,确保
BAE对培训数据没有过度拟合。我们最好的BAE(学习率0.000003 + 1500隐藏激活+再加权损失)是在不可见的SFEW-TRAIN数据集上验证的。BAE在不同的数据集上运行良好。

早期停止是用来对付轻微的过拟合问题。选择迭代1168的最佳快照作为预训练快照BAE-1用于后续实验。

图6所示。含有不同数量隐藏激活物的BAEs的性能。

图7所示。不同损失函数训练的BAEs的性能

图8所示。BAE-1的跨数据集验证性能。

4.5. Experiment of Stacked BAEs

在BAE-1的基础上,采用贪婪的分层方案对一个叠加BAE进行训练。与BAE-1不同,第二编码器接受平衡二进制位的向量。因此,将标准损耗用于训练第二对编码器和解码器。其他的元数与BAE-1相同。如图9所示,第二对编码器和解码器很好地重构了它们的输入向量。选取历元6500处的快照作为后续实验的预训练样本sb -2。

4.6. Experiment of BNNs, BAE-BNNs and SBAE-BNNs

最后的人脸表情分类器是基于二值化神经网络(BNNs)的。如表2所示,一些网络已经按照SFEW基准测试的严格独立于人(SPI)协议进行了培训和验证。这些网络可分为三组:

•BNNs,监督学习方法,
       •BAE-BNNs,基于BAE的大规模无监督特征学习+监督学习方法
       •SBAE-BNNs,基于SBAE的大规模无监督特征学习+监督学习方法

对每一组进行不同深度的网络训练和评估。在表2的第二列中,网络的详细信息由一系列用破折号分隔的数字描述。
这些数字表示激活的数量。这些破折号表示连接类型:

9所示。sbae-2中第二对编解码器的跨数据集验证性能。

表2
BNNs、BAE-BNNs和sba -BNNs的性能

表3
SFEW性能评价的比较。

•标记为“bb -1”/“bb -2”的破折号表示权重初始化为编码权重的连接BAE-1/SBAE-2,在培训期间固定。

•带有“RES”标记的破折号表示基于剩余学习[50]的连接。随着BNN的深入,信号被正负方向的符号函数所阻塞。剩余学习方法迫使信号绕过这些符号运算,并通过加权运算。它是设计深埋BNNs的一种轻便、有效的技术。

结果表明,半监督BNNs和SBAEBNNs的性能总体上优于监督BNNs。我们最好的网络BAE-BNN-3对SFEW-VAL的准确率为49.25%,对SFEW-CV的准确率为48.44%±2.15%。结果表明,提出的大规模无监督特征学习方法是有效的。在大规模无监督特征学习的基础上,可以学习人脸的一种知识。将知识转移到有限标记数据的监督FER任务中,可以提高识别精度。

4.7. Comparisons

近年来,基于深度学习的无约束FER方法越来越受欢迎。一些最先进的方法使用深度神经网络的集成来达到卓越的性能
(18、20、21、23)。本文着重设计了一种结合二值特征和无监督特征学习的无决策融合的轻量级神经网络。为了公平起见,只比较单一的网络。

如表3和表4所示,该方法的内存和计算成本远低于现有方法,且精度损失可接受。在基于全精度线性变换的算法(如神经网络、svm、PCAs、LDAs等)中,关键运算是算术乘累加运算。乘法累加操作被逻辑xnorcount操作替换。根据
IEEE浮点算术标准[51],一个32位浮点数有一个23位分数。32位浮点乘法运算至少有232位运算(即, 32位浮点乘法运算= 23位乘法运算= 23位累加运算= 232 XOR运算)。运算位用于评估与实现无关的位级计算成本。与MDLBP+线性SVM方法相比,该方法的参数尺寸减小了21.1%。位级计算成本降低了95.19%。

4.8. 约束面扩展实验(Extended experiment on constrained faces)

此外,我们最好的网络ba - bnn -3(见4.6节)在RaFD上进行了再培训和评估。交叉验证的结果见表5。结果表明,该方法对约束面也有较好的处理效果。

表4
内存与计算的比较。

表5
RaFD评价的性能比较。

5. 结论(Conclusion)

这项工作的重点是解决现实世界的FER任务。它是第一个将二进制特征提取器、二进制无监督特征学习器和二进制神经网络结合到实际的FER系统中的方法。首先,结合现有的几种人脸图像预处理算法,提出了一种无约束人脸归一化方法。其次,提出了一种用于提取人脸识别信息的低阶图像特征MDLBP。第三,为了提高监督学习任务的性能,提出了一种基于贝叶斯的大规模外部无标记人脸数据集特征学习方法。最后,整个系统解决了实际的FER任务,以最小的硬件需求(即,降低内存和计算成本)。

实验过程中受到当前软硬件环境的限制。可以通过降低MDLBP[44]的采样步长或增加隐藏激活的数量来探索更大的网络。此外,未来的工作应该致力于构建一个网络集成来提高性能,设计二值化卷积神经网络二维人脸,视频序列中人脸的三维时空线索建模等。

基于堆栈二值化自动编码器和二值化神经的无约束人脸表情识别算法(An efficient unconstrained FERa based on BAEs and BNN)相关推荐

  1. 一文掌握基于深度学习的人脸表情识别开发(基于PaddlePaddle)

    目录 一.概述 1.1 表情分类 1.2 表情识别方法 1.2.1 人工特征方法 1.2.2 神经网络方法 1.3 本文实现 二.环境准备 2.1 安装PaddlePaddle 2.2 安装Paddl ...

  2. 图像二值化(Image Binarization):平均值法、双峰法、大津算法(OTSU)

    图像二值化(Image Binarization):平均值法.双峰法.大津算法(OTSU) 编程实现图像的二值化,分析不同的阈值对二值化图像的影响. 问题描述 传统的机器视觉通常包括两个步骤:预处理和 ...

  3. matlab确定灰度阈值T,matlab灰度图像二值化【灰度图像二值化算法研究】

    摘要: 在很多图像处理的过程中,经常需要对灰度图像进行二值化.本文对几种常用的图像二值化算法进行了阐述,并通过仿真,进行比较研究.根据实验结果,阐明了各种算法的优缺点. Abstract: The b ...

  4. 基于卷积神经网络的人脸表情识别应用--AR川剧变脸(二)

    本项目将在Android上实现一种通过识别表情类别,从而给人脸戴上不同样式脸谱的AR软件,效果如下: 基于表情识别的脸谱换脸AR安卓APP效果演示 想要实现这样一个软件,核心就是两部分: 1)使用卷积 ...

  5. Keras实战——人脸表情识别(二)提取人脸并识别表情

    完整代码已上传 CSDN下载:https://download.csdn.net/download/pmj110119/11293264 百度云:https://pan.baidu.com/s/16Z ...

  6. 基于卷积网络的人脸表情识别及其应用

    基于卷积网络的人脸表情识别及其应用 前言 一.人脸表情识别技术现状 二.卷积神经网络技术概述 1.卷积神经网络图像理解过程 2.卷积神经网络组成结构 3.卷积神经网络的优势 三.人脸表情识别卷积网络模 ...

  7. 【人脸表情识别】基于回归模型的人脸表情识别方法

    前面几篇专栏中,我们介绍了有关基于图片/视频的人脸表情识别的相关内容,这两个领域采用解决分类问题的方法来对表情进行识别.这篇文章,我们将介绍通过回归的方式来理解表情的方式--基于连续模型的人脸表情识别 ...

  8. 《基于剪切波变换的人脸表情识别》笔记

    [时间]2018.10.16 [题目]<基于剪切波变换的人脸表情识别>笔记 [论文链接]http://www.wanfangdata.com.cn/details/detail.do?_t ...

  9. 【项目实战课】AI零基础,人人免费可学!基于Pytorch的SimpleNet人脸表情识别实战...

    欢迎大家来到我们的项目实战课,本期内容是<基于SimpleNet的人脸表情识别实战>,本次内容面向任意AI基础的读者,人人皆可免费学习. 所谓项目实战课,就是以简单的原理回顾+详细的项目实 ...

最新文章

  1. 【转】MySQL常用命令总结
  2. [Android Pro] AndroidX重构和映射
  3. 小游戏来了 游戏小程序你想知道的这有
  4. 机器学习第6天:数据可视化神器--Matplotlib
  5. 【2019牛客暑期多校训练营(第六场)- D】Move(随机化二分)
  6. 【大数据系列】hadoop单节点安装官方文档翻译
  7. flutter怎么添加ios网络权限_使用Flutter控制蓝牙通讯
  8. UVA 10555 - Dead Fraction(数论+无限循环小数)
  9. 控制台之console
  10. 温故而知新 Ajax 的新坑 dataType: 'json'
  11. .NET(C#):XmlArrayItem特性和XmlElement特性在序列化数组的差别
  12. html 页面加载事件,页面加载事件--DOMContentLoaded
  13. 多功能雨伞项目计划书_多功能雨伞项目计划书_雨伞策划书范文
  14. 安装Pillow指定版本出错
  15. java halt_Java Runtime halt()方法
  16. oc 管理工具 黑苹果 下载_灵越7590黑苹果(win10下)
  17. Python 基于OpenCV 在一张图片上叠加点
  18. Linux,shell与alias
  19. 【Power BI】通过Power BI DAX获取每月活动用户数量
  20. JavaScript 语言精粹读书笔记

热门文章

  1. 【转】发布release版的androidamp;nbs…
  2. 计算机专业助我成长作文600,科技伴随我成长作文
  3. 游戏道具平台|基于Springboot+Vue实现游戏道具平台系统
  4. 电脑的字体改变了、变模糊了怎么办
  5. 量子力学顺口溜_数学的幽默打油诗
  6. 15款最佳的MySQL管理工具和应用程序
  7. Mysql -- 管理工具
  8. keyPress事件与KeyPressEventArgs
  9. windbg错误码汇总
  10. 你知道怎么查看 IP 地址吗?