基于迁移学习的人脸识别方法研究毕业论文
2022-01-26 11:14:07
论文总字数:21603字
摘 要
大数据时代的到来使得大量数据集的获取变得更加容易,推动机器学习领域的不断发展。但多数的传统机器学习算法都要求训练数据与测试数据的分布相同。为使计算机拥有举一反三的能力,能够在训练数据与目标任务中测试数据分布不同时仍实现目标,迁移学习应运而生。训练样本与目标样本分布不同时,传统算法付出高昂代价收集数据来模拟目标域的分布,而迁移学习挖掘源领域与目标领域数据及模型间的相似性,将在源领域学习、训练获得的模型直接在目标领域进行迁移和复用,使获得的大量数据更好地发挥作用,实现更多价值。在人脸识别目标域样本极少的场景下,迁移学习便可通过对大量人脸数据库学习获得的模型迁移运用于目标人脸识别测试样本不充足的情况。
本文基于MTCNN(Multi-Task Convolutional Neural Networks)检测出人脸区域,再通过FaceNet网络模型对自己的样本进行迁移学习实现人脸识别。FaceNet把人脸图像划分成批量输入图像后置入神经网络中提取特征向量,然后将提取出的特征向量求L2范数并进行归一化处理。接着将归一化后的特征向量嵌入高斯空间并使用三元组损失对特征向量和模型进行优化更新。最后比较三元组损失获得的特征向量间的欧式距离来判断是否为同一人。当特征向量间的欧式距离小于设定阈值时判断为同一个人,反之与目标人物不是同一个人。当然欧式距离越小说明与目标人物越接近。将训练好的模型应用于新的人脸库,便可通过迁移学习实现新库的人脸识别。实验结果较为理想。
关键词:多任务卷积神经网络 迁移学习 FaceNet 三元组损失
Research on Face Recognition Method Based on Transfer Learning Algorithm
Abstract
The advent of the era of big data has made it easier to acquire large data sets and promote the continuous development of machine learning. Nevertheless, it’s indispensable for a majority of traditional machine learning algorithms to possess same scatter of training set and test set . In order to make the computer have the same ability to achieve the goal when the training data and the target task are different in the test data distribution, the transfer learning came into being. In the face of the problem that the training set has a different distribution from the target set, the traditional machine learning algorithm chooses to solve by distributing more data to simulate the distribution of the target domain, but this has to pay a high price. The resemblance between source field and object domain data and models is excavated by transfer learning. The model acquired by source domain learning and training will be transferred and reused directly in target domain, so that the large amount of data acquired can play a better role and achieve more value. In the scenes with few face recognition target domain samples, transfer learning can be applied to target people through model transfer obtained from a large number of face database learning. The face recognition test sample is not sufficient.
In this paper, based on MTCNN (Multi-Task Convolutional Neural Networks), the face region is detected, and then the FaceNet network model is used to migrate and learn to realize face recognition. FaceNet divides face images into batches and puts them into neural networks to extract feature vectors. Then, the extracted feature vectors are normalized to L2 norm. The normalized feature vector is then embedded into the Gaussian space and the feature vector and model are optimized and updated using the triple loss. Finally, compare the Euclidean distance between the feature vectors obtained by the triplet loss to determine whether it is the same person. When the Euclidean distance between the feature vectors is less than the set threshold, it is judged as the same person, and vice versa. Of course, the smaller the Euclidean distance, the closer it is to the target person. Applying the trained model to the new face database, you can realize the face recognition of the new library through transfer learning. The experimental results are ideal.
Key Words: Multi-Tasking Convolutional Neural Networks; Transfer Learning; FaceNet; Triplet loss
目录
摘要 I
Abstract III
第一章 绪论 1
1.1研究背景及意义 1
1.2 国内外研究现状 2
1.2.2基于深度学习的方法 3
1.3 本文研究工作和章节安排 5
1.3.1本论文中FaceNet实现原理 5
1.3.2 章节安排 6
第二章 基于MTCNN的人脸检测 7
2.1算法总体流程 7
2.2 MTCNN算法流程 8
2.2.1 数据 8
2.2.2 损失函数 8
2.2.3 P-Net 9
2.2.4 R-Net 9
2.2.5 O-Net 10
2.2.6 小结 11
2.3 MTCNN训练算法 11
第三章 基于FaceNet的人脸识别 14
3.1 FaceNet概述 14
3.2 FaceNet结构及原理 14
3.3深度架构(Deep architecture) 16
3.3.1. Inception-ResNet v1架构: 16
3.3.2 Inception-ResNet-A: 17
3.3.3 Reduction-A: 18
3.3.4 Reduction-B: 19
3.3.6 Inception-Resnet-C 19
3.4 L2归一化 20
3.5 嵌入 21
3.6三元组损失 21
3.6.1三元组损失概述 21
3.6.2三元组损失原理 22
3.6.3 三元组损失训练方法 24
3.6.4 三元组损失最后模型效果: 26
3.6.5三元组损失总结 26
第四章 实验结果分析 28
4.1人脸数据库 28
4.1.1 自制数据库 28
4.1.2 公开数据集 28
4.2实验结果及分析 29
4.2.1 自制数据库FaceNet模型效果 29
4.2.2 在LFW数据集上的表现 29
4.2.3在MIT数据集上的表现 30
4.2.4 实验结果汇总 31
第五章 结语 32
5.1总结 32
5.2 展望 32
参考文献 33
致谢 36
第一章 绪论
1.1研究背景及意义
传统的机器学习算法要求训练集和测试集有相同的分布,在此前提下,算法在训练集学习得到的模型在测试集上的效果也很好。在实际工作中,相同分布难以满足,训练误差与测试误差的最优估计不同使传统机器学习算法效果变差。虽然可以通过收集训练数据来描述测试数据的分布,但是这种做法的代价极高并且实施困难。
请支付后下载全文,论文总字数:21603字