基于双路卷积神经网络的人脸性别识别

2020-10-12 09:20阴紫微陈淑荣
现代计算机 2020年24期
关键词:人脸卷积神经网络

阴紫微,陈淑荣

(上海海事大学信息工程学院,上海 201306)

0 引言

人脸性别识别是通过人脸图像信息自动发掘和分析人脸属性的二分类问题。在广告定向投放、个性化智能推荐、人脸属性分析等方面得到广泛应用。在一些人脸尺度跨度大的应用场景,准确识别出人脸的性别将直接影响到后续的人脸属性分析。因此研究性别识别具有重要意义。

以卷积神经网络为代表的深度学习方法被广泛用于人脸性别识别研究。如Levi 等人[1]将一个三层卷积和两层全连接的卷积神经网络(CNN)运用于人脸年龄与性别识别,但是受限于过拟合[2]的问题,对非实验数据集的图片识别精度较低;石学超等[3]提出将卷积网络中的底层卷积层和更高层的卷积层相融合来增强人脸特征的卷积神经网络(L-MFCNN)模型,取得了较好的识别效果;蒋雨欣等[4]提出一种联合人脸高层特征学习和低层特征学习的深层网络模型,利用这种多特征结构进行最终的性别分类。

为进一步提高CNN 对于不同场景下的人脸的性别识别,本文建立了一种双路卷积神经网络模型。首先对输入图像归一化处理,双路CNN[5]分别采用不同深度的网络层提取图像特征,且在深层支路中采用Slice层和Eltwise 层,选取并输出具有最大响应值的特征图以简化网络运算量。再将两路网络提取到的特征图通过concatenate 操作[6]进行融合,增强特征图的语义信息。最后通过设置AM-Softmax 函数[7]中的角度间隔,更严格的约束分类距离,提升性别识别的准确率。

1 网络模型

1.1 双路卷积神经网络

本文网络模型主要包括提取特征的N1 和N2 网络;特征筛选模块G1;特征融合层;分类损失函数。如图 1 所示,其中 N1 和 N2 分别基于 VGG16[8]和CaffeNet[1]作为骨干网络提取特征。

图像中往往包含不同尺度的人脸,经过网络的卷积层和池化层后,特征图会变小,提取的特征更加抽象。对于远景下的小尺寸人脸经过多个卷积层提取特征后,会丢失一些可用特征。为了保证特征语义的多样、全面性,本文的两个网络采用深度不同的卷积神经网络。其中,N1 部分的 VGG16 为深层网络,C1_1、C1_2 中都包含 2 个 3×3 的卷积层;C1_3、C1_4、C1_5 中都包含 3 个 3×3 的卷积层,共 13 个卷积层,采用 3×3 的卷积核进行特征提取。N2 部分的CaffeNet 为浅层网络,由 3 个卷积层、3 个池化层组成,分别采用 7×7、5×5的卷积核进行特征提取。

图1 双路卷积神经网络结构

对采集的人脸图片,首先归一化处理成224×224大小的图片再输入双路网络,经过N1 深层网络3×3 大小的卷积层提取特征后,得到高层语义信息的特征图。考虑到深层网络带来的计算量,在N1 网络中的卷积层后都加入Slice 层和Eltwise 层,如图1 中G1 部分所示。这两层对卷积层输出的特征图进行等分划分,对比取最大值操作,能筛除低响应的特征图减少运算量。同时通过N2 浅层网络5×5、7×7 大小的卷积层提取特征得到低层特征图。在融合层通过concatenate 操作将具有不同语义信息的特征相融合,融合后的特征经过全连接层,最后由分类函数对特征进行分类。由于网络的特征图融合了不同语义强度的特征信息,使得模型在跨度较大的人脸上也能准确识别性别。本文网络模型的参数设置如表1 所示。

表1 双路卷积神经网络参数

表1 中N1 网络卷积层都采用3×3 大小的卷积核,图片通过池化层P1_5 后输出7×7 大小的特征图。N2中3 个卷积层分别采用7×7 及5×5 的卷积核。且N1网络经过Slice 层和Eltwise 层筛选特征后,能减少一半卷积层的输出通道数量,如表1 中框中数据所示。

特征融合层如图2 所示,本文网络中采用了拼接的方式来融合特征。经过不同尺度卷积核的双路网络提取的特征图均为7×7 大小,通道数为256,通过Concat 层通道数拼接融合,输出7×7×512 的特征图。最终将特征经过全连接层再通过Dropout 方法随机丢弃神经元,由分类函数输出最终的分类结果。

图2 双路CNN特征融合过程

1.2 特征图筛选处理

由于N1 支路采用VGG16 作为深层网络,经过多层网络导致提取的特征图数量较多,为了降低网络模型的运算量,本文在N1 深层网络中引入如图1 所示的G1 特征筛选模块,即Slice 层和Eltwise 层。

Slice 层的作用是将按照输入层(bottom)的设置需要分解成多个输出层。通过设置参数slice_point 来决定输出层的个数,slice_point 的个数是输出层个数减1,参数 axis 表示要进行分解的维度,若没有设置slice_point,则对axis 进行均匀分解。本文方法采用均匀分解,且slice_point 个数均设为1 即只有两个输出。将两个输出层再输入Eltwise 层进行对比,最终输出f( )

z可用式(1)表示:

其中bottom 表示每层网络的输入,SUM 是对bottom 层对应的元素进行相加,PRODUCT 是对bottom 层对应的元素进行相乘,MAX 是对bottom 层对应的元素取最大值。本文方法将经过卷积层后提取的特征映射图输入Slice 层,取N=2,即将特征映射图分成两个输出层,再输入Eltwise 层相比较并进行取最大值的操作,选取响应值高的特征映射图作为最终输出。

图3 特征筛选处理过程

图3 是特征筛选处理的实际效果图,人脸图片经过卷积层后生成的特征图,如(a)所示,有些特征映射图响应低、不利于性别特征的学习。在Slice 层将(a)均分为两个等分,得到如(b)的两部分特征图,再作为两个bottom 层输入到Eltwise 层,然后采用式(1)对比bottom 层取响应最大值,进而筛除响应低的特征映射图如(c)部分。

1.3 损失函数

Softmax 分类函数在不同类别上的分类效果较好,但在同类别之间的判断效果并不理想。本文采用的附加间隔函数AM-Softmax[7]针对这个问题引入了更简单的函数ψ(θ)=cos(θ)-m,并且进一步归一化了最后一层全连接层的输入x,AM-Softmax 损失函数的具体计算公式如式(2):

式(2)中 n 为训练样本个数,s 为缩放因子,Wi表示权重,fi表示全连接层的输出向量f 的第i 个元素,cosθ表示权重和输出向量f 的余弦距离。传统的Softmax 损失函数学习多个权重向量和偏置bC的目标是:

图4 AM-Softmax函数分类方式

图4 中以二分类为例,全连接层得到的特征fi有两个权重w1和w2,AM-Softmax 函数在分类时中间有块可移动的固定区域,能将不同类别往两边缘挤压,使得不同类之间的距离加大,而相同类之间的距离更加紧凑,有效解决了Softmax 对区分类内距离不明显的缺点。在实现过程中,m表示分类区域的大小。特征和权重归一化后的实际输入x如(4)式,yi表示第i 个输出特征Xi的标签。

此外 AM-Softmax 中前项计算公式为ψ(x)=x-m且ψ'(x)=1,即不需要考虑反向传播的梯度,极大程度减少了计算量。将间隔引入损失函数后,通过网络的学习s 不会增加而且网络收敛很慢,因此将s 定为一个足够大的值设为30[7]以加速和稳定优化。

2 实验结果与分析

2.1 人脸数据集

本文实验采用了3 个人脸数据集,Adience 数据集包含了大约26K 张2284 名受试者的图像且人脸姿态、光照条件均存在差异,能真实反映现实中人脸状态;Wiki 是一个将近46 万张的尺寸为250×300 大小的图像数据集,且每张图片都标注了年龄、性别信息;以及只有1400 幅尺寸为80×80 大小人脸图像的FERET 数据集。针对Adience 以及FERET 数据集人脸图像较少的情况,本文采用了随机裁剪以及翻转、镜像等操作对Adience 以及FERET 数据集扩充。

2.2 模型训练过程

实验在Win10 操作系统下进行,计算机配置为NVIDIA GeForce GTX 1060 显卡,采用 Caffe[9]深度学习框架,动量项系数设置为0.9,网络初始学习率lr 为0.0001。Adience、FERET 数据集的最大迭代次数设为50000 次,在Wiki 数据集上最大迭代次数设为10 万次且每1 万次保存一个模型model。

2.3 结果分析

为了验证本文方法的有效性,在Adience 数据集上分别进行3 个实验。其中实验1 在采用Softmax 损失函数的VGG16 网络上进行;实验2 在双路卷积神经网络中加入Slice 层和Eltwise 层后仍采用Softmax 损失函数进行;本文方法是在实验2 的基础上,采用AMSoftmax 损失函数进行的第3 个实验。结果如图5 和图6 所示,分别为测试准确率及训练损失对比图。图5中横坐标表示网络的迭代次数,纵坐标表示三组实验的性别识别准确率,图6 中纵坐标表示网络训练时的loss 值。由曲线走势可以得出,实验2 通过筛选、融合特征丰富特征图语义信息使得特征更有区分度,提高了识别准确率,降低了训练时的loss 值。本文方法采用AM-Softmax 损失函数要比采用Softmax 损失函数的实验2 识别准确率高出2.8%,验证了通过改进损失函数提高性别识别准确率的有效性。

图5 性别识别准确率对比图

图6 性别识别loss曲线对比图

2.4 与其他方法比较

为了进一步检验本文模型对性别识别的效果,将本文方法和其他方法如传统的AlexNet[10];文献[1]中提出的CaffeNet;文献[11]中将池化层和全连接层相融合的模型;张婷[12]等人提出的CCNN 性别分类模型在相同数据集下进行了对比。

表2 不同方法结果对比

由表2 可见,对比在Adience 数据集上的方法,本文在综合了深浅层网络提取的特征后提升了性别识别准确率。说明融合了多特征的双路CNN 比传统的CNN 识别率高。针对在FERET 数据集上提出的CCNN 模型,由于本文方法的分类函数AM-Softmax 设置了更严格的分类区域,有效提升了分类效率。针对Wiki 数据集分别使用了CaffeNet 和本文网络模型进行实验,实验结果表明在大数据集上本文方法依旧能取得良好的识别效果。

2.5 识别效果

图7 为本文方法与CaffeNet 的识别结果对比,(a)部分由于人脸尺度大小差异以及近、远景下的图片人脸信息量相差较大,CaffeNet 模型并不能很好识别。本文模型通过深浅层网络融合多特征丰富图像语义信息,有效解决了该问题,最终识别效果如(b)部分所示。

3 结语

为了增强特征的表达能力,建立了一种双路卷积神经网络模型,双路CNN 分别使用深度不同的卷积层进行特征提取再融合,丰富了特征语义信息;并在深层网络中加入Slice 层和Eltwise 层,筛除响应低的特征映射图,有效减少了模型的运算量;最后通过AM-Softmax 损失函数角度间隔约束特征分类。实验结果表明,本文方法对在近远景下的人脸均能取得较好的识别效果。

猜你喜欢
人脸卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
一种并行不对称空洞卷积模块①
玻璃窗上的人脸
三次样条和二次删除相辅助的WASD神经网络与日本人口预测