基于Tensorflow 框架的面部识别技术

2023-06-01 08:07崔海生侯晨杰
科技与创新 2023年10期
关键词:特征提取卷积神经网络

崔海生,侯晨杰

(1.重庆移通学院物理学院,重庆 401520;2.华中科技大学物理学院,湖北 武汉 430074)

作为交叉领域技术,面部表情识别的发展可以推动面部检测[1]、面部重组[2]、动画模拟[3]、人机交互[4-5]在线教育等相关技术领域的进步。近年来,对于面部表情识别的研究逐步从传统的人工设计特征方式转换到以人工智能为基础的研究,使面部表情识别技术取得了跨越式的发展。李勇等[6]通过改进LeNet-5 卷积神经网络,将从网络中提取到的低层次特征和高层次特征相结合,构建分类器,利用JAFFE 表情数据库将识别率提高到了94.37%;CHANG 等[7]运用卷积神经网络提取特征,并使用复杂性感知分类算法将数据集分为简单分类样本子空间和复杂分类样本子空间,降低了因情绪的不同表达和环境因素的变化而导致的面部表情识别的复杂性;GEORGESCU 等[8]将卷积神经网络学习的自动特征和由视觉文字包模型计算的手工特征相结合,采用局部学习框架来预测每个测试图像的类标签;CHEN 等[9]提出一种强面部特征提取方法,提取表情表达峰值与中性面部表情值之间的差值特征,保留了中性面到表情面过渡中发生变化的细微面部部分;李军等[10]提出了一种融合多尺度卷积神经网络和双向长短期记忆的模型,除了能提取到更加丰富的表情特征,还加强了特征信息的再利用;张雯婧等[11]针对实际情景中面部表情识别模拟和实验数据因来源于不同情景会导致识别性能明显下降的问题,提出了一种基于稀疏子空间迁移学习的跨域人脸表情识别的新方法;尹鹏博等[12]提出了一种基于卷积注意力的轻量级人脸表情识别方法,该方法中机器学习模型在人脸表情识别研究中对数据集需求量小、对硬件配置要求也较低。但以上方法在特定场景面部表情识别实践中,普遍存在处理速度较慢的问题。

人工智能作为一门新兴的交叉学科,研究者们希望了解所谓智能的本质,并制造出一种能与人类智能相似的方式对各类请求做出响应的智能机器[13],主要研究领域包括图像识别、语音理解和沟通、机器人技术、基于深度学习的认知和推理专家系统等。目前人工智能领域广泛使用的主要有Caffe、Keras 和Tensorflow 这3 个框架,本文对基于Tensorflow 卷积神经网络的面部识别技术及其应用进行了研究,与传统的仅基于计算机软件的系统相比,该方法可以大大提高整个系统的处理速度。

1 局部特征聚类损失函数与特征学习

Tensorflow 是一个采用数据流图用于数值计算的开源框架,其计算学习过程依赖张量,张量是现代机器学习的基础,它的核心是一个数据容器[14]。四维张量可以记录图像数据,五维张量就可以保存视频数据,维度继续增加即可以储存更复杂的数据。在实际应用场景中,往往需要处理成千上万甚至更多的数据信息,此种情境下通常需要频繁地使用四维和五维张量。

Tensorflow 实现机器学习,其原理是通过计算机编程实现,主要包含2 个步骤:构造计算图、运行计算图[15]。Tensorflow 使用图表示计算任务,图中的节点定义为op(operation),每个op 获得0 或多个tensor进行运算,同时将得到0 个或多个tensor。图描述了整个计算过程,为了执行计算,计算图在会话(Session)中启动,将图的op 分发到GPU 或CPU 设备上,同时执行op 相关方法,计算后将产生的tensor 返回。以下通过一个简单线性拟合说明其过程。

使用Python 语言进行Tensorflow 编程,生成随机数训练集对离散点进行线性拟合训练,代码如下:

通过100 次机器学习训练,计算机已经能够很好地拟合离散点,训练结果如图1 所示。

图1 训练100 次后拟合结果示意图

图中拟合损失函数(loss)曲线图用于描述模型预测值与真实值的差距大小,可以看出拟合误差随训练次数(n)的增加不断减小,到训练结束时,模型预测值已与真实值完全相等。可以将这个过程通俗地理解为人类为完成某一任务而不断试错的过程,机器学习算法使计算机不断修正试错产生的偏差,以求逐渐趋近于正确。这样的思路也可以应用于基于光显示的面部识别技术中。

2 特征提取与特征压缩

实现面部识别最重要的一点在于训练数据集的获取,想要使计算机成功识别出每一个人,训练集需要上千万人的面部数据,使用卷积神经网络算法,卷积神经网络是根据仿生学视知觉机制进行构建的,该技术对于大型图像处理有非常出色的表现,其主要包括卷积层(Convolutional layer)和池化层(Pooling layer)。

卷积层对原始输入的数据信息进行特征提取,这一过程以小区域划分依次执行,卷积计算过程如图2所示。

图2 卷积计算过程示意图

左侧为输入层,即输入的图像,经过特征提取获得一个深度为1 的特征图,不同区域进行特征提取后就会得到一个特征集合,将该集合叠在一起就得到了卷积层输出的结果。

将卷积层对特征图进一步执行卷积操作得到更高层次的特征。多次卷积过程如图3 所示。

图3 多次卷积计算示意图

可以看出,进行一次卷积计算可以提取出的只有低层次的特征,第二次卷积计算则能够提取出中层次的特征,第三次能够提取出更高层次的特征。这样不断进行提取,最终就能够得到较高层次特征,方能满足各种实际应用的需要。

池化层操作执行过程如图4 所示。池化是对特征图进行特征压缩,选取原区域的max 或mean 代替该区域,整体上相当于进行了压缩,进一步提取了必要特征,减少了学习过程中不必要的计算量。

图4 池化层操作示意图

3 系统架构

在获取到标准面部信息数据集对计算机进行训练后就能够进行面部识别应用了。整个系统架构如图5所示,主要包括特征点提取模块、归一化算法、编码模块、光学识别器及处理模块等。该系统采用液晶显示器(LCD)作为实时空间光调制器(SLMS),这也是整个特征提取模块的关键。识别时首先对CCD 摄像机捕获的实时目标输入图像使用计算机软件进行预处理和编码,然后用光学识别器与预先存储在计算机中的编码参考图进行连续匹配,最后使用卷积神经网络算法给出识别结果。由于该系统结合了光学系统的大规模并行性与计算机的可编程性的优点,与仅基于计算机软件的混合系统相比,大大提高了整个系统的处理速度。

图5 面部识别系统架构示意图

面部识别系统组成如图6 所示,其中非相干光学相关设备包括非相干扩散源S、在液晶显示器(LCD)上并排显示的输入图像和参考图像、成像透镜L1 和加装透镜L2 的CCD 摄像机。利用非相干光源的扩散特性,将输入图像沿不同方向投影到参考图像上,成像透镜L1 从各个方向采集输入图像和参考图像的叠加图像,并对收集到的所有图像进行叠加,以便在成像透镜后的输出平面上形成相关合成图像。CCD 摄像机将光学部件和电子部件连接起来,相关结果在摄像机目标上成像,数字化后(256 灰度级),相关平面上感兴趣的区域将通过帧捕获器传输至计算机,并保存在存储器中,用于特征提取过程。

图6 面部识别系统组成示意图

4 实验与结果分析

本次实验使用了3 个数据库,分别为JAFFE 表情数据库[16]、CK+数据库[17]、MMI 数据库[18]。通过改变训练数量进行实验并测试图像。实验中用于仿真的平台是在具有2.70 GHz CPU 速度、4.00 GB RAM 和Windows1064 位版本操作系统的PC。

JAFFE 表情数据库由10 位日本女性的213 张图像组成,213 张图像全部用于实验中。CK+数据库包含来自123 个对象的姿势和非姿势表情,总共使用了CK+数据库中的431 张图像。MMI 数据库包含20 多名男女受试者。该项研究共用了MMI 数据库中的256 张图像。3 个数据库合计900 张图像,图7 为来自3 个数据库的样本图像。

图7 3 个数据库的样本图像

选择每例人脸面部表情张量最大的表情图像作为样本,待检测出人脸面部表情后再归一化成大小为64×64 的表情图像,然后将其裁剪成大小为60×60 的子图像并通过镜像翻转将人脸面部表情样本数量扩大至原来的40 倍。

实验时先用全部900 张图像通过改变训练数量进行训练,直至拟合训练结束。然后从900 张图像中随机抽取1张图像进行测试,进行实验测试时利用3 折交叉测试的方法,将3 次测试平均值作为最后的结果,测试结果如表1、表2、表3 所示。

表1 使用样本图像集中的原始图像实验时间

表2 使用本征面作为图像滤波器后实验时间

表3 本文方法与其它方法的比较

光处理器与电子类控制模块之间存在数据传输问题,例如LCD 的刷新频率、帧捕获器的数据传输速率限制等,这使得光图像处理的高度并行性受到了一定削弱。实际实验过程中,在一组900 张面部图像中检索目标人物需要约16 s 的时间,这是一个比较低的速度。利用光学相关运算可以在单位时间内获得更多的特征,为了提升处理速度,必需要减少操作量,通过使用本征面作为图像滤波器而不是图像集中的原始图像,光学相关操作可减少至较低水平,如此一来系统的处理速度从16 s 减少至不到3 s,同时也保持了较高的识别精度。

5 结束语

本文主要研究了基于Tensorflow 卷积神经网络的面部识别技术。使用Python 语言进行编程,生成随机数训练集对离散点进行线性拟合训练。然后将此思路应用于基于光显示的面部识别技术中,该技术对于大型图像处理有非常出色的表现,卷积层进行特征提取,池化层对特征图进行特征压缩。在获取到标准面部信息数据集对计算机进行训练后就能够进行面部识别应用了。

猜你喜欢
特征提取卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于MED和循环域解调的多故障特征提取