软件工程硕士论文

您当前的位置:学术堂 > 毕业论文 > 在职硕士论文 > 工程硕士论文 > 软件工程硕士论文 >

学生体质健康监管平台人脸识别系统的设计

来源:吉林大学 作者:周立
发布于:2020-08-24 共6726字
  摘 要
  
  基于深度学习人脸识别算法的研究与实现
  
  人脸作为人最明显的生物特征,相比于人的其他生物信息(虹膜、指纹等),在获取时具有更加便捷、安全、非接触、不会对人体产生任何伤害的特点,因此人脸特征被广泛用做人的身份识别。在实际的应用场景中,由于受到所处的环境、光照、姿态等因素的影响,训练出来的人脸识别的模型往往会出现比较高泛化误差。对于上述情况需要对人脸识别算法,针对特定的应用场景进行改进和优化,提高算法的鲁棒性。本文中首先对用到 3 个人脸数据集进行了预处理,然后对人脸识别算法都在网络结构和损失函数两方面做了改进,最后基于数据预处理后的人脸数据集和改进后人脸识别算法,设计和实现了人脸识别系统。


学生体质健康监管平台人脸识别系统的设计
 
  
  数据预处理:深度学习是一个饥饿学习过程,在训练模型参数的时候需要给神经网络大量的数据,如果训练数据过少,训练出来的样本往往会出现过拟合的现象,直接导致训练出来的模型不能使用,因此数据往往是深度学习中最关键的部分。为了保证数据的多样性,提高模型的泛化能力,对论文中用到的三个人脸数据集 CASIA-WebFace、LFW 以及构建的人脸数据集,使用取镜像、裁剪等方式进行了数据集扩充,在增加数据样本的数量的同时,保证了数据集的多样性。然后对人脸数据集进行了数据清洗,剔除了数据集中错误的样本,保证了人脸数据集的质量,提高了模型的精确度。
  
  人脸识别算法改进:在损失函数的改进时,考虑到 SoftmaxLoss+CenterLoss损失函数在扩大类间间隔的同时又可以有效缩小类内距离,Focal Loss 损失函数可以加强模型在训练过程中对困难样本的挖掘能力,从而可以有效提高模型的鲁棒性,从而保证了模型的精确度。因此本文基于 Softmax Loss、Focal Loss 和Center Loss 设计了一个联合损失函数,用于改进原 VGGNet 在复杂人脸识别场景下的性能。在网络结构上 FSC-VGG 在每个卷积层中加入了 BN 层以及在全连接层中加入了 DropOut 正则化方法,提高了模型在训练过程中的收敛速度和泛化能力。使用 CASIA-WebFace 数据集作为训练集,LFW 数据集作为测试集对FSC-VGG 进行训练和测试。经过测试,FSC-VGG 相比于原 VGGNet 在人脸识别的精确度上提高了 1.14%。
  
  人脸识别系统设计:本文从导师的《可信大数据驱动的学生体质健康监测与管理平台关键技术研究》实际项目出发,设计了人脸识别系统。系统软件从算法上可以分为人脸检测和人脸识别两大部分,人脸检测算法是用来从输入的图片中检测出人脸,经过人脸检测算法会得到图片中人脸的具体位置,人脸识别算法会对人脸检测算法检测出的人脸进行身份的判断。最后通过测试验证了设计的人脸识别系统具有很好的稳定性。
  
  关键词:  图像预处理,人脸识别,VGGNet,BN,DropOut。
  
  Abstract
  
  Research and Implementation of Face LearningAlgorithm Based on Deep Learning
  
  Human faceis themost obvious biological featureof human. Compared with other biological information(iris,fingerprint, etc.),humanfaceis moreconvenient,safe,non-contact, and will not cause any harm to human body. Therefore, human face Features are widely used as personal identification. In actual application scenarios, due to the influence of the environment, lighting, posture and other factors, the trained face recognition model often has a relatively high generalization error. For the above situation, the face recognition algorithm needs to be improved and optimized for specific application scenarios to improve the robustness of the algorithm. In this paper,the first three face data sets are preprocessed, then the face recognition algorithm is improved in both the network structure and the loss function, and finally based on the data preprocessed face data set and improved descendants Face recognition algorithm,designed and implemented a face recognition system.
  
  Data preprocessing: Deep learning is a hungry learning process. When training model parameters, a large amount of data needs to be given to the neural network. If the training data is too small, the trained samples often appear to be over-fitting, which directly leads to the training. Models cannot be used, so data is often the most critical part of deep learning. In order to ensure the diversity of the data and improve the generalization ability of the model, the three face datasets used in the paper CASIA-WebFace, LFW and the constructed face datasets were expanded by using mirroring and cropping methods. , While increasing the number of data samples, to ensure the diversity of the data set. Then the face data set is cleaned, and the wrong samples in the data set are removed, which ensures the quality of the face data set and improves the accuracy of the model.
  
  Face recognition algorithm improvement: In theimprovement of the loss function,considering that the Softmax Loss + Center Loss loss function can effectively reduce the intra-class distance while expanding the interval between classes, the Focal Loss loss function can strengthen the model during training. The ability of sample mining can effectively improve the robustness of the model, thereby ensuring the accuracy of= the model. Therefore, this paper designs a joint loss function based on Softmax Loss,Focal Loss and Center Loss to improve the performance of the original VGGNet in complex face recognition scenarios. In the network structure, FSC-VGG adds a BN layer to each convolutional layer and a DropOut regularization method to the fully connected layer, which improves the convergence speed and generalization ability of the model during the training process. The CASIA-WebFace dataset is used as the training set, and the LFW dataset is used as the test set to train and test the FSC-VGG.After testing, FSC-VGG has improved the accuracy of face recognition by 1.14% compared to the original VGGNet.
  
  Face Recognition System Design: Based on the instructor's "Reliable Big Data Driven Student Physical Health Monitoring and Management Platform Key Technology Research" actual project, a face recognition system was designed. Thesystem software can be divided into two parts: face detection and face recognition from the algorithm. The face detection algorithm is used to detect the face from the input picture. After the face detection algorithm will get the specific position of the face in the picture. The face recognition algorithm will judge the identity of the face detected by the face detection algorithm. Finally, the test verifies that the designed face recognition system has good stability.
  
  Keywords:    Image preprocessing,Face recognition, VGGNet ,BN,DropOut。
  
  第 1 章 绪论
 
  
  1.1、 论文研究背景及意义。

  
  近年来,随着国家对教育的高度重视以及科教兴国战略的实施,政府每年在教育方面的投入都超过了万亿的规模,根据教育部在 2019 年 7 月份发布的《2018年全国教育事业发展统计公报》显示“全国共有各级各类学校 51.88 万所,在校生 2.76 亿人”。[1]由于大部分的学生在校缺乏运动,随着越来越多人在校接受不同层次的教育,伴随而来的学生体质健康问题也暴露的越来越明显。近些年教育部和国家体育总局等部门出台了若干文件,要求“各地重视学校体育工作,把提升学生体质健康水平作为学校工作的重要目标”,在全国学校开始实施学生体质健康监测,将系统采集而来的学生体质信息作为学生体质健康的标准。
  
  面对海量的学生信息,在学生体质信息采集时,采用“刷学生校园卡+人工验证”方式,进行身份验证是目前的主流方式。然而这种方式验证成本高、效率低,并且极易出现学生体质信息代测的作弊现象。为了更快、更有效地采集到真实的学生体质健康信息,并结合当前人工智能技术发展现状,使用人脸识别技术进行身份验证成为大势所驱。
  
  人脸作为人的外部特征[2],不仅容易辨别和获取而且具有明显的唯一性,因此人脸常常作为一种安全、便捷的生物信息用于人的身份识别。近年来随着科技的发展,计算机计算性能的快速提升,使得基于大量参数运算的深度学习算法有了硬件的支持。作为计算机视觉分支的人脸识别技术,也迎来了快速的发展。
  
  现在人脸识别技术已经应用到生活中的各个领域,像:1.支付宝的人脸支付功能,不需要用户使用现金,手机扫描等操作,仅通过刷脸支付就可以完成付账的过程;2.公安系统的天网工程,可以通过人脸识别技术,快速锁定犯罪嫌疑人的位置,让犯罪无处遁形;3.公司中用到的员工签到打卡系统,使用人脸签到,很大程度上避免了代签的现象;4.火车站自动验票系统中使用的人脸识别技术不仅节省了大量的人力、物力,还提高了对人身份验证的速度,节省了乘客大量的时间;5.在家庭安防摄像头中使用人脸识别技术,可以对家里的情况进行实时监控,对家中意外闯入的陌生人进行报警提示;6.人脸识别技术也可以用来对商店内不同地点的人流量,根据年龄,装束,性别进行统计分析,进而调整商店内商品的分布对潜在客户进挖掘。虽然现在的人脸识别技术已经在某些场景下做得相当成熟,但是由于应用场景的复杂多变,人脸识别模型在某些特定应用场景下,往往表现出较高的泛化误差[3]。这就需要技术人员针对特点的应用场景,对人脸识别模型不断的进行改进,提高模型的精准度。因此人脸识别技术[4]目前仍有很大研究空间。
  
  本论文题目来源于导师实验室项目《可信大数据驱动的学生体质健康监测与管理平台关键技术研究》,使用人脸识别技术,解决学生体质信息采集过程中身份验证。本文中设计的人脸识别系统,目前已经设计完成并验证通过。
  
  1.2 、国内外研究现状。
  
  人脸识别早在 20 世纪 50 年代就开始为人们所研究,此时处于人脸识别的初级阶段。由于受到当时硬件、软件条件的限制,研究者主要是针对人脸的几何结构特征进行了大量的研究。然而由于此时人脸识别算法的识别率比较低,基本没有获得比较实际的应用。进入 20 世纪末期,人脸识别技术进入了一个快速发展时期,这一时期提出了比如、渔夫脸识别算法等。
  
  在人脸识别领域真正具有里程碑意义事件是 2002 发表的 Haar-like[5]特征提取方法,Haar-like 特征提取算法,通过移动滑动窗口,将截取的人脸进行特征提取。原始的 Haar-like 特征提取算法将特征分为 4 类。随后作者又进一步对提取的特征进行划分,将原来的特征种类由 4 类扩展为 16 类,进一步提高了 Haar 特征提取算法的精度。Harr-like 特征提取算法和同时期比较流行的 AdaBoost 分类器组合成一个人脸检测模块,在当时取得了很高的精确度,在人脸识别领域引起了不小的轰动。但是由于 AdaBoost+Haar-like 组成的面部筛选模块需要很大计算机量,当时的计算机计算速度普遍比较低,就导致了,尽管 AdaBoost+Haar-like组成的面部筛选模块人脸检测的精度比较高,人脸检测的速度却比较慢。
  
  进入 21 世纪迎来了一个计算机技术快速发展的时期[6],计算机运算能力得到了迅猛的提升,使得基于大量运算的深度学习方法得以实现。在 2012 年提出的AlexNet 深度学习算法在 ImageNet 图片分类竞赛中,以大比分的优势击败了其他传统的分类机器学习算法,获得了当时的冠军。引起了人们对深度学习领域探索的热潮,更多精度更高的深度学习算法[7]被提出。
  
  2013 年,微软亚洲研究院的研究者通过将大量人脸数据喂给机器,去训练模型参数,最终在人脸检测常用评价数据集 LFW 上取得了 95.1 的准确度。这一结果表明:相较于传统的机器学习方法,深度学习的方法基于大量的数据训练,可以获得一个比较高准确率的模型。2016 年的阿尔法狗以 4:1 的战绩战胜世界围棋冠军李世石,使得神经网络重受瞩目。大批研究人员开始了深度神经网络的研究并迅速在计算机视觉[8]、自然语言处理[9]等应用中取得了比传统机器学习方法更好的结果。
  
  人脸识别技术发展那至今,研究者们主要通过改进深度学习算法的损失函数[10-13]和改进模型结构[14-17]这两种方式,进行人脸识别算法的改进。当目前为止在人脸识别的领域一般有两种的解决方案。
  
  一种是基于深度学习直接分类的人脸识别,即使用经典的深度神经网络[16]模型,通过对损失函数和模型结构的改进,然后对深度学习模型喂给大量数据,去训练模型参数,进而取得很好的人脸识别效果。本论文中改进人脸检测和人脸识别算法就是采用的这种方式。
  
  一种是基于深度学习人脸特征提取的方法例如 Facenet[18],经过前期对人脸识别模型大量数据的喂食,获得区分度比较高的特征提取模型。然后使用特征提取模型,将输入的人脸图片提取为一个 128 维的特征向量,通过比较两张图片特征向量的距离,来判断两张人脸是否来自于同一个人,进而完成人脸识别。
  
  【由于本篇文章为硕士论文,如需全文请点击底部下载全文链接】
  
  1.3 论文的研究内容和组织结构
  1.3.1 论文的研究内容
  1.3.2 论文的组织结构
  
  第 2 章 论文涉及的基础理论知识
  
  2.1 人脸识别相关损失函数
  2.1.1 Softmax Loss
  2.1.2 Center Loss
  2.1.3 Triplet Loss
  2.1.4 L-Softmax Loss
  2.1.5 A-Softmax Loss
  2.1.6 Focal Loss
  2.2 VGGNet 和正则化方法
  2.2.1 VGGNet
  2.2.2 DropOut
  2.2.3 Batch Normalization
  2.3 MTCNN
  2.3.1 MTCNN 网络结构
  2.3.2MTCNN 的损失函数
  2.4 本章小结
  
  第 3 章 人脸数据集及数据预处理
  
  3.1FSC-VGG 实验数据集
  3.2 应用系统人脸数据集的构建
  3.3 数据预处理
  3.3.1 图像增广
  3.3.2 尺度归一化
  3.3.3 数据集的数据清洗
  3.4 本章小结
  
  第 4 章 基于 FSC-VGG 的人脸识别算法改进
  
  4.1 基于 FSC-VGG 的人脸识别
  4.1.1 FSC-VGG 网络结构
  4.1.2 FSC-VGG 的损失函数
  4.2 FSC-VGG 的实验与结果分析
  4.2.1 实验环境
  4.2.2 实验参数设置
  4.2.3 实验结果与分析
  4.3 本章小结
  
  第 5 章 学生体质健康监测与管理平台人脸识别系统的设计
  
  5.1 学生体质健康监测与管理平台系统组成
  5.1.1 学生体质健康监测与管理平台
  5.1.2 人脸识别系统功能结构与流程
  5.2 系统开发环境
  5.2.1 系统硬件平台
  5.2.2 系统软件环境配置
  5.3 人脸识别系统软件设计
  5.3.1 人脸识别系统应用界面
  5.3.2 人脸图像的录入
  5.3.3 模型训练与加载
  5.3.4 人脸识别模块设计与实现
  5.4 本章小结

  第 6 章 总结

  近年来随着科技的发展,计算机性能的提升,使得基于大量参数运算的深度学习迎来了一个发展的高潮。在基于深度学习的计算机视觉方向,人脸识别一直都是重点研究的领域。[47]本文从导师《学生体质健康与监测平台》的实际项目出发,首先对论文中用到的三个数据集进行了数据预处理,然后改进了用于人脸识别 VGGNet 算法,最后设计实现了基于深度学习的人脸识别系统。下面对本文主要的研究工作进行总结。

  1.深度学习在训练过程中,需要喂给神经网络大量的数据,用于训练模型的参数。[48]如果没有足够的数据去训练模型,往往会导致模型过拟合现象的出现,过拟合现象的出现会导致训练的模型在实际应用中不能使用,因此数据往往是深度学习中最重要的部分。[49]在论文中使用取镜像和随机剪切的方式,对数据集进行了扩充[50],使得对人脸数据集在保证其多样性的同时增加了样本的数量,使用AdBoost+Haar-like 人脸检测模块对数据集中部分人脸和错误样本进行剔除,对人脸数据集实现的数据清洗[51]。

  2.在改进人脸识别算法 FSC-VGG 的时候,受到 Softmax Loss、Focal Loss和 Center Loss 损失函数的启发,设计了一个在缩小类内距离、扩大类间距离的同时注重对困难样本挖掘的联合损失函数,作为 FSC-VGG 的损失函数,用于改善VGGNet在人脸识别场景下的性能。并在神经网络每个卷积层中加入了BN层,加快模型在训练过程中收敛速度,在全连接层中加入 DropOut 正则化,提高模型的鲁棒性。然后使用 CASIA-WebFace 数据集作为训练集,LFW 数据集作为测试集对 FSC-VGG 进行训练和测试,通过测试发现改进后 FSC-VGG 人脸识别性能要优于原 VGGNet 的人脸识别性能,证明了改进想法的有效性。

  3.基于本文第 3 章人脸数据集预处理和第 4 章人脸识别算法的改进,设计和实现了人脸识别系统,并在系统中加入人脸对齐功能,对检测的人脸中歪着的人脸进行对齐,提高了系统的识别性能和稳定性。

  参考文献

作者单位:吉林大学
原文出处:周立. 基于深度学习人脸识别算法的研究与实现[D].吉林大学,2020.
点击下载全文
相关内容推荐
相关标签:
返回:软件工程硕士论文