基于深度学习的人脸识别技术研究
邬秋城 宁胤尊 吴焱平 林裕钧 梁智行
广州工商学院 广东广州 510850
摘要:本研究对比了支持向量机(SVM)与ResNet18在LFW(Labeled Faces in the Wild)数据集上的人脸识别性能。结果显示,深度学习技术在自动特征提取与处理高维、不平衡数据集方面有显著的优势。
关键词:深度学习;人脸识别;ResNet18模型
一、引言:
人脸识别技术广泛应用于安全监控、身份验证及社交媒体等领域[1]。随着技术的迭代,人脸识别技术已经从传统的机器学习算法发展到基于深度学习的算法。传统机器学习算法依赖手工特征设计,而深度学习通过自动提取图像特征,实现了识别性能的显著提升。
二、数据集、实验环境和模型评价指标:
(1)数据集介绍:LFW数据集由美国马萨诸塞州立大学阿默斯特分校计算机视觉实验室整理,包含13,233张人脸图像,对应5,749个唯一标签。
(2)实验环境
a.硬件环境:
a)处理器 (CPU): 英特尔 12th Gen Core i5-12500H
b)内存: 16GB
c)显卡: NVIDIA GeForce RTX 3050 Laptop GPU
b.软件环境
a)操作系统: Windows 10 (64位)
b)IDE:PyCharm Profession Edition
c)开发环境:PyTorch 1.13、Sklearn 1.4.2
(3)模型评价指标:
a.准确率(Accuracy):预测正确的比例。
b.精确率(Precision):预测为正例的样本中真正为正例的比例。
c.召回率(Recall):实际为正例的样本中被正确预测为正例的比例。
d.F1 分数(F1 Score):精确率和召回率的调和平均数。
三、传统机器学习技术:
基于传统机器学习算法的人脸识别技术依赖于手工设计的特征,如方向梯度直方图(HOG)等,这些特征需要根据数据的特性进行精心设计和提取。为了提升训练速度并简化实验过程,本研究仅使用主成分分析(PCA)对数据进行了降维。传统的机器学习方法,如SVM和随机森林,计算资源需求较低,通常适用于小规模数据集或特定的人脸识别任务。本研究使用SVM模型对LFW数据集进行人脸识别。SVM是一种经典的机器学习算法,适合处理高维数据。然而,SVM对超参数的选择和不平衡数据集较为敏感。具体实验如下:
(1)数据预处理:本研究从LFW数据集中选择了图片数量最多的30个身份,总计2248张图像。所有图像均被调整为224x224像素,转换为灰度图像,并标准化至[0, 1]范围。
(2)特征提取与降维:由于人脸图像的高维特性,本研究使用PCA进行降维。PCA保留了99%的方差,将数据维度从原始的50176(224x224)降至1021维,大大减少了计算复杂度,同时保留了数据中的关键信息。降维后的数据集被分为训练集和测试集,分别包含1798个和450个样本。
(3)模型训练与调优:在SVM模型的训练过程中,本研究采用了随机搜索(Randomized Search)方法对超参数进行了优化。实验最终选择了线性核函数,并确定了最佳的超参数组合,C=374.55,gamma=0.095。
(4)结果分析:SVM模型在测试集上的表现与训练集相似。测试集的结果显示,该模型取得了70.89%的准确率和71.67%的精确率,但召回率较低,仅为57.21%,导致F1分数为60.21%。结果表明,SVM在处理人脸识别问题上仍有较大的提升空间,可以考虑引入其他手工特征来进一步提高模型性能。
四、深度学习技术:
深度学习的人脸识别技术经历了从简单神经网络到卷积神经网络(CNN)的逐步演变。随着计算能力的提升和大规模数据集的应用,诸如FaceNet和DeepFace等模型取得了突破性进展,显著提高了识别精度。随着ResNet等深层网络的引入以及预训练模型的发展,深度学习在人脸识别中的应用变得更加精确,能够适应更加多样化的应用场景[2]。
CNN 是一种用于处理图像数据的深度学习模型,主要由卷积层、池化层和全连接层组成[3]。ResNet 是 CNN 的一种特定变体,通过引入‘残差连接’来解决深度网络中的梯度消失问题,使得网络可以更深且更易训练。ResNet18 是 ResNet 架构中的一个具体实例,具有18层深度。它利用了 CNN 的卷积层结构,并通过残差连接来提高训练效率。本研究使用的是在 ImageNet 数据集上预训练的 ResNet18 模型。
(1)不平衡数据集上的模型训练与测试:
a.数据集与预处理:本实验使用了与SVM方法相同的不平衡数据集,从LFW数据集中选择了图像数量最多的前30个身份,总计2248张图像。所有图像均被调整为224x224像素,并进行了标准化处理。
b.模型架构与训练:实验采用了预训练的ResNet18模型,并将其最后的全连接层替换为适应30个类别的新层。模型在训练集上进行了21个epoch的训练,并在验证集上进行了评估。最终,模型在测试集上取得了98.44%的准确率、98.29%的精确率、97.27%的召回率和97.65%的F1分数。
c.结果分析:ResNet18模型在整体表现上显著优于SVM,这证明了深度学习在人脸识别任务中的优势远超传统机器学习方法。然而,由于训练数据集的不平衡(例如,George_W_Bush类别有530张图片,而Vicente_Fox类别仅有32张),模型在某些类别上可能表现出偏高的准确率,导致其他类别的识别能力下降。因此,尽管测试集的结果看似优异,模型的实际泛化能力可能受到了影响。这个问题将在下一小节中进一步探讨。
(2)平衡数据集上的模型训练与测试:
a.数据集与预处理:为了进一步验证模型在平衡数据集上的表现,实验对数据集进行了平衡处理。从每个身份中随机选择了30张图像,构成一个总计900张图像的平衡数据集。所有图像均进行了标准化处理。
b.模型架构与训练:实验使用了相同的ResNet18模型结构和训练方法。经过21个epoch的训练,最终在测试集上达到了96.67%的准确率、97.26%的精确率、96.67%的召回率和96.56%的F1分数。模型在平衡数据集上的性能与不平衡数据集上的性能基本相当。
c.结果分析:ResNet18模型在平衡和不平衡数据集上的表现基本一致,而SVM模型在平衡数据集上的表现显著下降,准确率降至50%。深度学习模型在处理不平衡数据集方面的优势显著优于传统机器学习模型。
五、总结
本研究比较了传统机器学习算法(SVM)和深度学习算法(ResNet18)在LFW人脸识别任务中的表现。结果表明,深度学习模型在处理高维、不平衡数据集方面显著优于统机器学习方法,具有更高的准确率和泛化能力。
参考文献
[1]董艳花,张树美,赵俊莉.有遮挡人脸识别方法综述[J].计算机工程与应用,2020,56(9):1-12.
[2]金卓义.基于深度学习的人脸识别系统设计与实现[D].重庆:重庆大学,2019.
[3]余璀璨,李慧斌.基于深度学习的人脸识别方法综述[J].工程数学学报,2021,38(4):451-469.