APP下载

基于图像增强的人脸识别系统设计与实现

2023-08-04祖婷余兴国

电脑知识与技术 2023年18期
关键词:图像增强鲁棒性人脸识别

祖婷,余兴国

(安徽机电职业技术学院互联网与通信学院,安徽 芜湖 241002)

0 引言

数字图像处理技术在人脸识别领域的应用越来越广泛,其中图像增强技术能够显著提高人脸识别系统的性能和准确性[1]。人脸识别技术在安全监控、金融交易、身份验证等领域发挥着重要的作用,但仍面临着面部表情、光照条件、遮挡等因素的干扰,导致识别准确性和鲁棒性不够理想的问题[2]。经过广泛调研,图像增强技术可以有效地克服这些挑战,并且可以提高人脸识别系统的性能和准确性,能够更好地服务于人们的生活和工作。因此,本文提出了一种基于图像增强的人脸识别系统,旨在通过图像增强技术提高人脸图像的质量,进而提高人脸识别系统的性能和准确性。具体地说,首先对图像中值滤波器的中值函数进行优化,提出了一种效率更高的中值函数,同时通过分析函数的导数和偏导数,提出了一种新的边缘处理算法。然后,利用直方图处理进一步增强图像的质量。最后,采用深度学习技术设计了人脸识别模型,并将增强后的图像输入模型进行训练和测试,以验证基于图像增强的人脸识别系统的有效性和可行性。

1 相关工作

近年来,人脸识别技术在智能安防、高校、教育等领域中应用广泛,同时图像增强技术也在图像处理领域得到广泛应用。图像增强是一种特殊的处理方法,它根据需要突出图像的细节,忽略或清除不需要的信息,使处理结果更适合人类视觉特性或机器识别系统。图像增强技术在国内也得到了广泛的应用[3]。

在国内,人脸识别技术的研究起步较早,研究成果较为丰富。其中,深度学习是当前人脸识别领域研究的热点,其应用广泛,识别精度较高。国内的研究者们将图像增强技术应用于医学图像、遥感图像等领域。北京大学的研究人员提出了一种基于深度学习的超分辨率重建算法,它可以将低分辨率的医学图像重建为高分辨率,从而提高了医学图像的质量和可视化效果[4]。此外,还有一些研究者将图像增强技术应用于文化遗产保护、视频监控等领域,并取得了一些令人瞩目的研究成果。中国科学院计算技术研究所的研究人员提出了一种基于人脸识别技术的智能门禁系统,利用深度学习算法对人脸进行检测和识别,同时结合语音识别技术实现门禁的开启和关闭[5]。此外,一些研究者还将人脸识别技术应用于在线教育、电子政务等领域,取得了良好的效果。在国外,人脸识别技术的研究也取得了较大进展。当前,以深度学习为主的人脸识别技术在国外也被广泛应用于安防、金融、交通等领域[6]。例如,美国IBM公司研究人员提出了一种基于深度学习的人脸识别技术,能够实现对遮挡、姿态变化等情况下的人脸进行准确识别[7]。

本文通过研究基于图像增强的人脸识别系统,来提高人脸识别系统的准确率和鲁棒性。首先,提出了一种高效的图像增强方法,该方法能够提高图像的质量并突出人脸图像的细节。其次,通过采用深度学习技术设计了一种高效的人脸识别模型,并将增强后的图像输入模型进行训练和测试。最后,通过实验结果验证了本文提出的方法在人脸识别领域的有效性和可行性,证明了该方法在实际应用中的潜力。

2 基于图像增强的人脸识别的算法

2.1 相关理论

2.1.1 边缘处理的分析方法

2.1.2 直方图处理

灰度等级[0,L-1]为数字图像的直方图范围为离散函数h(rk)=nk其中rk是第k级灰度,nk是图像中灰度级为rk的像素个数。经常以图像中像素的总数(用n表示)来除以它的每个值,以得到归一化的直方图。因此,一个归一化的直方图由P(rk)=nk/n给出,其中k=0,1,...,L-1。

2.2 算法设计

中值滤波器的基本原理是将一个点的邻域中的每个点的值的中值替换为数字图像或数列中的一个点的值。设有一个一维序列f1,f2,...,fn,取窗口长度为m,对此序列进行中值滤波,就是从输入序列中相继抽出m个数,fi-v,...,fi,...,fi+v,其中i为窗口的中心位置,再将这m个点按其数值大小排列,取其序号为正中间的那作为输出。用数学公式表示为:

算法:

输入:原始数据Data

输出:新数据

2.3 实验分析

实验环境:Inter(R) Core™i5-8250U @ 1.6GHz(8 CPUs),16G,64 位Windows 操作系统,使用Matlab 实现。本实验中使用的数据集LFW,LFW是一种常用的人脸识别测试数据集,其中包含了生活场景中的人脸图像,涵盖了多种难度因素,例如多姿态、光照、表情、年龄、遮挡等,这些因素可能导致同一人的照片差别很大。此外,数据集中还包含了一些多人脸图像,本文的实验只选择其中心坐标的人脸作为目标,其他区域的视为背景干扰。

在本实验中,从LFW数据集中选取了所有人物照片大于两张的数据集,共有1 681 个数据集满足此条件。采用随机形式从这1 681个数据集中选取一对人脸,其中一张输入到人脸识别系统中,另一张用于测试匹配准确率和测试时间。实验中对于每个n,n∈{10,20,30,40,50,60,70},进行了50次实验并记录了准确率和时间。最终的实验结果是取50次实验的平均值。实验结果如图1所示。

图1 不同特征向量下人脸识别的准确率

根据实验结果,从图1 中可以发现随着n数值的增加,平均准确率基本保持下降的趋势,而在n=20时准确率最高,n=70时准确率最低。由此可以推测出现这种现象的原因是,当特征空间的维度过高时,即使存在少许偏差,也会导致测试图像的特征向量与其匹配向量产生较大的偏移,使其接近于其他图像的特征向量。随着n的增加,偏差后与其他点接近的可能性变得更大,因此测试准确率会随着n的增加而下降。

由此可以得出,当特征空间的维度过高时,特征向量之间的距离会变得更加稀疏,这会导致在匹配过程中产生更多的错误匹配。同时,由于特征空间维度的增加,需要更多的计算和存储资源,因此计算时间也会随之增加。因此,在进行人脸识别任务时,需要综合考虑特征空间的维度和计算时间,以找到最优的平衡点。

同时在MATLAB 中完成图像平滑和锐化的效率验证。首先将一个图像读入内存,在内存中存储。图像经过噪声去噪处理后。通过新函数的系数变化,观察随着系数的变化图像的处理效果,达到实现程序的目的。

由于快速排序需要调用递归函数所以花费的时间较长,通过计算也证实如此,它处理一幅椒盐噪声的图像需要7.146 000 s。

经过综合分析,快速排序是经过冒泡排序得到,通过冒泡排序最基本的排序上进行改进,由于传统的冒泡排序只需要找到中间值,所以在冒泡的过程中,当找到中间那个值就停止冒泡,处理同样一幅椒盐噪声的图像需要1.205 000 s。

3 基于图像增强的人脸识别系统设计

基于图像增强的人脸识别系统设计在总体上分为五个阶段:采集人脸图像数据、对图像进行人脸检测、对检测到的图像进行图像平滑锐化去噪处理、建立人脸识别的模型、进行人脸识别,其中后四个阶段是系统设计的重点。算法模型的建立采用Python 程序设计语言,以TensorFlow 作为数学运算框架,模型的测试和运行环境使用当前主流的Python IDE,即PyCharm。具体设计思路如图2所示。

图2 基于图像增强的人脸识别系统设计过程和原理

3.1 人脸图像采集

使用OpenCV作为计算机视觉函数库来采集人脸图像。首先,在Python 环境中导入cv2 库,通过cv2 库来管理摄像头并捕捉人脸图像。为了便于后续的数据处理,采用resize()函数将图像压缩至统一尺寸。此外,需要定义一个用于存放人脸彩色图片的文件夹和一个用于存放人脸灰度图像的文件夹。通过这些步骤,实现了轻量级且运行高效的人脸图像采集。

3.2 人脸检测

首先,进行重采样操作,得到一系列尺寸不同的待检测图像,将其输入到P-Net网络中,得到一系列矩形边框。然后,使用R-Net对这些矩形边框进行进一步筛选,筛选结果是回归框,同时以回归框的坐标更新原先矩形框的坐标。这个过程类似于迭代优化的过程,经过多次迭代可以提高人脸检测的精度。Onet的处理过程与R-Net相似。在该阶段,最终的目标是实现对人脸和人脸关键点的检测。为了获得数量充足的样本,在人脸检测过程中,针对每张人脸图片,采集多个样本,同时设置摄像头采集的时间间隔为100毫秒。同一个人的人脸图片状态在采集过程中是可以发生变化的,如面部的轻微转动以及由此而造成的光线强弱的变化等,从而保证了样本的多样性,便于系统在训练过程中提取足够的人脸特征信息,最终提高了系统的鲁棒性。

3.3 模型建立与训练

该模型包含三个卷积层、两个池化层、两个全连接层和一个输出层,采用softmax 函数传递输出结果,并使用AdamOptimizer 作为优化器,采用交叉熵函数作为损失函数进行模型训练。为了防止过拟合,对于参数更新策略,每次卷积过程中都设置了一个固定比例,以确保参数不会全部更新。卷积层用于提取图像特征,池化层用于降低图像维度,全连接层用于将卷积层和池化层提取的特征进行分类。采用交叉熵函数作为损失函数,通过梯度下降法传递误差可以逐步调整模型参数以提高模型性能。同时,在训练过程中也采取了一些措施来防止过拟合,比如设置参数更新比例和随机选择样本进行训练等。通过模型的训练和测试,可以得到一个在人脸识别领域表现良好的模型,该模型可以用于后续的人脸识别应用中。

3.4 人脸识别

基于训练好的模型,对新的人脸数据进行识别。具体地说,将经过预处理后的人脸图像输入到模型中,模型通过一系列的卷积、池化、全连接等操作提取人脸特征,最终输出对应的分类结果。在本系统中,分类结果采用独热编码方式表示,每个状态值对应一个具体的人脸。如果输出结果不在已有的状态值集合中,系统将会给出相应的提示。同时,为了验证模型的鲁棒性和抗干扰性,可以进行多次测试,并人为改变照片的拍摄光线、角度等条件,以检验模型的性能。

4 基于图像增强的人脸识别系统实现

4.1 系统结构

这是一个人脸识别系统,接受一个经过MTCNN检测和灰度处理后的图像作为输入,可能包含一张或多张人脸。该系统的核心处理结构包括三个卷积层、三个池化层和两个全连接层。具体来说,它首先进行第一次卷积,然后进行第一次池化,接着进行第二次卷积和第二次池化,再进行第三次卷积和第三次池化,最后经过两个全连接层处理。输出是一个离散变量,表示每张人脸对应的标识(姓名首字母)。

4.2 模型主要参数

人脸识别系统输入的人脸图像经过灰度处理后的大小为64x64像素。在该系统的卷积层中,每个卷积核的大小为3×3 像素,每个池化区域的大小为2×2像素。在训练过程中,该系统最大迭代次数为1 000,阈值为1,每轮训练使用的样本数为100。在预测时,该系统使用的置信度阈值为0.98,以保证识别的准确性。

4.3 运行结果

该人脸识别系统使用每个人的姓名首字母作为文件名,将处理后的人脸灰度图像保存到对应的文件夹中作为训练样本。在训练过程中,系统形成了模型参数和计算图等中间结果。在使用摄像头捕捉含有多张人脸的图片进行识别时,系统能够较好地标识出每张人脸,并将其对应的标识以不同颜色加以区分,并通过系统自动标注出人脸边界回归框。采用多任务卷积神经网络模型的人脸识别系统表现出较强的鲁棒性,即使图片中的人脸有一定的旋转角度,系统也能准确识别。

5 结束语

为了提高图像质量以适应特定应用,设计了一种高效的中值滤波器,并开发了一种新的边缘处理算法,利用差分图像特征来突出图像中的细节。此外,采用了直方图处理技术来进一步增强图像。经过实验验证,这种改进的图像增强算法能够显著提高人脸识别系统的准确性和鲁棒性。为了应用这种增强算法,使用深度学习技术设计了一个人脸识别模型,并将增强后的图像作为输入进行训练和测试。实验结果表明,与传统的人脸识别系统相比,基于图像增强的人脸识别系统在准确性和鲁棒性方面都取得了显著的提升。

猜你喜欢

图像增强鲁棒性人脸识别
人脸识别 等
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
揭开人脸识别的神秘面纱
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
虚拟内窥镜图像增强膝关节镜手术导航系统
基于图像增强的无人机侦察图像去雾方法
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析