基于SSD深度学习算法的人脸识别系统设计
2024-12-06骆又麟
摘 要:针对传统人脸识别存在识别速度慢、准确度低等问题,本文设计了一种基于SSD深度学习算法的自动化人脸识别系统。首先,该系统采用基于深度学习算法的人脸识别方法检测人脸图像,并对关键点进行预测。其次,利用SSD模型提取特征信息后构建本地特征库,完成人脸识别。最后,比较待检测人脸图像向量与本地特征向量间的欧氏距离,判断结果并输出。试验表明,SSD模型在检测与识别上具有较好表现,系统的识别速度超过25f/s,当特征向量间的欧氏距离设定为0.5时,识别准确率高达99.3%。本文设计系统能够提高人脸识别的鲁棒性,具有较高的实时性与识别精度。
关键词:SSD模型;深度学习;人脸识别;特征向量
中图分类号:TP 39" " " 文献标志码:A
人脸识别是利用摄像机收集人脸图像,进而验证身份信息的技术。与生物识别相比,人脸识别能够通过视频设备更直观地识别人员信息,具有高效、易推广等优势[1]。目前的人脸识别研究主要集中在面部特征检测,例如王传传等将人脸图像进行归一化处理,通过训练模型取得了良好的识别效果[2];刘敏将人脸图片作为输入信息计算3次样条权函数,经试验证明系统的识别率较高[3]。综上所述,这些方法易受内、外因素干扰,算法鲁棒性较低。传统识别算法在发展中已逐步被深度学习算法代替,深度学习算法能够利用数据集进行特征训练,使模型具有较强的鲁棒性[4]。本文在利用注意力机制改进欧氏距离函数的基础上,设计了一种基于SSD深度学习算法的自动化人脸识别系统,首先,利用深度学习算法检测人脸图像,并对关键点进行预测。其次,利用SSD模型提取特征信息后构建本地特征库,完成人脸识别。最后,比较待检测人脸图像向量与本地特征向量间的欧氏距离,判断结果并输出。试验结果可知,该系统在满足识别效率的同时也具有较高的识别精度,适应性更广泛。
1 基础工作
1.1 算法原理
深度学习算法是将人脸图像映射至欧氏空间,设定最优阈值,计算不同人脸特征向量间的欧氏距离。如果欧氏距离低于设定阈值,就判定为同类;如果欧氏距离高于设定阈值,就判定为不同类。在框架中,根据既定尺寸输入待识别样本图像,将其输送至深度学习网络中,提取输入图像的特征向量。其中,特征向量具有多维属性,进行归一处理后,通过映射得到特征向量均值,待二元损失函数回归后得出最终的识别结果。
1.2 模型构建
深度学习算法是从一端到另一端的目标检测算法。与双阶段的检测模型相比,SSD模型不需要生成先验候选框,能够提升检测准确率。为强化泛化能力,SSD模型将Inception-v4作为骨干网络块进行人脸特征提取,并将连接层转变为卷积层,可在保证图像检测准确的过程中逐步改进漏检与误检问题。SSD模型构建流程如图1所示。
SSD模型采用方向梯度直方图特征,使预测的人脸部位回归现实,主要步骤如下:决策树子节点存储残差回归量,将输入与残差回顾量相加可得预测人脸形状,如公式(1)所示。
q=(k1,k2,……,kn)
q(z+1)=qz+ε(epsilon)z (1)
式中:q表示n个关键点坐标的人脸形状集合;kt表示图像k的第t个关键点坐标(t=1,2……,n);qz表示第z次预测出的人脸形状;ε(epsilon)z表示第z次测算出的残差回归量。
1.3 函数的改进
欧氏距离函数是深度学习的核心构成,应用时一般通过在数据集上构建合适的距离来解决相应问题。在初始深度学习网络中,模型通过深度学习网络提取的特征距离来判定相似度。设输入图像样本为x1、x2、y1和y2,通过欧氏距离求解距离|X|,如公式(2)所示。
(2)
从公式(2)可看出,欧氏距离表示各元素差的平方和,对奇异值来说没有鲁棒性。同时,欧氏距离不同维度尺度存在差异,进行相似人脸图像训练时可能会出现识别误差。为了解决该问题,部分学者应用马氏距离对欧氏距离进行修正,其本质是将样本点线性转换后计算距离,如公式(3)所示。
(3)
式中:ω表示正定矩阵,对输入样本点进行线性转换。
替换欧氏距离函数后,计算度量距离中所需的参数γ,参数结果通过最小化函数获得。设l(f)为损失函数,将对比损失作为损失函数,原因是深度学习网络无法执行分类任务,但能执行不同样本间的相似学习任务,如公式(4)所示。
(4)
当模型学习完不同样本间的相似性后,在深度学习网络结构中添加分类器进行分类,如公式(5)所示。
(5)
在公式(5)中,m为1时表示同类别,反之为不同类别。分类器设计好后,根据深度学习网络特有图像进行图像训练。设数据集中有a类样本,各类中有b个样本,根据传统训练模式,模型需要a×b个数据。使用深度学习网络时,可自由定义数据点,该数据点就是深度学习网络需要训练的数据数量,其中半数为同类别,其余则为不同类别。按照排序组合,可将最大样本数s表示为公式(6)。
(6)
由公式(6)可知,在完整的人脸图像数据库中,利用较少的训练样本可得一定数量的训练数据,与生成式的对抗网络生成的图像相比,深度学习网络降低了噪声干扰,进而增加了模型的鲁棒性。
2 系统设计
2.1 整体框架
系统实现框架如图2所示,包括人脸信息收集与人脸图像识别2个模块。首先,利用摄像机收集人员信息,通过信息提取与特征提取构建人脸信息特征库。其次,摄像机收集人脸图像,并根据所得图像信息提取人脸特征,从而获得待识别特征。最后,将这些待检测特征与特征库信息进行比较,并输出最终结果。
2.2 信息收集
信息收集的作用是收集待识别人脸特征,并将其添加至本地特征库中。信息收集流程如图3所示。1)收集整体图像。调用Oracle深度学习数据库中的欧氏距离函数,使用摄像机读取人员视频流,从中截取部分视频帧,构成数据集,并标记好各类信息名称。2)提取图像。使用SSD模型检测已标记的图像信息,利用回归分析法分析图像信息后将数据传输到图像库。3)提取特征。根据图像库存储信息,利用SSD模型提取特征向量,不同图像均可通过深度学习网络提取出多维特征向量。4)搭建特征库。存储提取的特征向量和对应信息,将存储格式设置为TXT,用字符串记录标签并存储特征向量。
2.3 人脸识别
人脸识别的作用是完成人脸识别,即通过摄像机获取待识别人脸信息。人脸识别流程如图4所示。1)载入图像特征库。信息收集模块与特征库相连,将上述存储的特征向量及其对应信息作为识别结果进行输出,其中特征向量通过矩阵载入,对应信息以Json载入。2)向量匹配。合理匹配提取出的特征向量和特征库向量,从而获取待检测信息,并通过测算欧氏距离判断匹配是否成功。3)输出结果。比较待检测特征向量、本地特征向量的欧氏距离|X|和已设阈值,如果已设阈值低于|X|,可知匹配失败;如果已设阈值高于|X|,可知匹配成功。最后输出与特征向量对应的信息。
3 系统试验
3.1 试验配置
为了验证系统性能,本文进行了人脸识别试验。试验数据来自常用的WiderFace数据集。该数据集包括大量不同种类、尺寸、姿态和遮挡程度的人脸图像,因此被广泛应用于人脸检测算法的训练和性能评估。本试验运行软硬件环境见表1。
3.2 模型训练
SSD模型采用梯度下降进行相应训练,设定学习率初始值为0.01,当多次验证模型准确率迭代次数不出现变化时,学习率就会降低50%。因为数据样本量较大,所以选取数据集中的一部分进行试验,其余数据用于训练模型。在训练过程中,当迭代次数为120时,模型准确率开始逐步稳定,同时相应损失率为1.3%。为验证检测准确率的上限,将最大迭代次数设置为210。当迭代次数达到150时,准确率已无较大变化,因此综合训练时长与损耗率等因素已无较多参考价值,不再进一步增加迭代次数。强化前、后SSD模型训练的准确率与损失率如图5所示。从试验结果可知,强化前的准确率为95.3%左右,强化后的准确率高达98.5%,相应的训练损失率可以忽略不计。
3.3 速度检测
基于SSD深度学习算法的自动化人脸识别系统主要利用ISV-V02M013S-N高级视频分析摄像机对识别结果进行速度检测。进行系统试验后可知,本系统的识别速度均值>25f/s,已远超所需的23f/s标准,因此本系统在人脸识别速度上符合现实工作需要。
3.4 精度检测
为进一步验证系统识别精度,从数据集中随机抽取300人(600张图像)进行检测。每个人有2幅图像,选择其中一幅作为待检测图像,另一幅放于特征库。设定特征向量间的欧氏距离和阈值,如果阈值小于欧氏距离,可知特征库中不存在图像数据,反之则需要重新判断准确率。精度检测具体情况见表2。当阈值为0.5时,识别准确率最高,为99.5%。由试验可知,本系统在识别准确率方面能够满足现实所需。
4 结语
综上所述,本文在利用注意力机制改进欧氏距离函数的基础上,设计了一种基于SSD深度学习算法的自动化人脸识别系统。在仿真测试中,SSD模型在检测与识别上具有较好表现,系统的识别速度超过25f/s。当特征向量间的欧氏距离为0.5时,识别准确率高达99.3%,人脸识别的鲁棒性有所提高。该系统具有显著的识别效果,能够应用于不同的人脸识别领域。
参考文献
[1]贺宇桐,卢泓熹.基于单目RGB活体检测技术人脸识别系统的研究与实现[J].内蒙古科技与经济,2023(24):120-124.
[2]王传传,高婕.基于改进FaceNet算法的人脸智能识别方法[J].工业控制计算机,2024,37(2):126-128.
[3]刘敏.基于样条权函数神经网络的人脸识别研究[J].现代信息科技,2024,8(4):109-112.
[4]焦阳阳,黄润才,万文桐,等.基于图像融合与深度学习的人脸表情识别[J].传感器与微系统,2024,43(3):148-151.