论文部分内容阅读
随着计算机视觉技术和人工智能技术的快速发展,人脸识别技术也得到了飞跃般的发展,对比于传统方法,基于深度学习的人脸识别方法精度高,其检测和识别速度快,得到了学术界和工业界的肯定,被广泛地使用在智能化安防、金融风控、移动“刷脸”支付和在线业务办理时的人证比对等行业场景。本文结合了深度学习技术和TensorFlow深度学习框架,对目前人脸识别的相关技术进行研究和学习,设计和实现了一个基于深度学习的人脸识别系统。该系统具有人脸检测、人脸识别、人脸关键点定位、活体检测等功能,能够准确且快速地完成人脸识别相关业务。本文主要工作内容如下:1.系统所用算法模型的训练:以TensorFlow深度学习框架作为平台,完成了对基于深度学习的SSD的人脸检测、FaceNet的人脸识别、SENet的人脸关键点定位模型的训练。主要包括对数据集的预处理、网络模型的修改、训练参数的设置,以及对训练好的模型进行测试。其中基于SSD的人脸检测模型以SSD_ResNet50_v1_fpn作为主干网络,使用了WIDER FACE数据集对模型进行训练和测试;基于FaceNet的人脸识别模型采用Inception架构的深度卷积神经网络,使用了Triplet Loss的损失函数,使用了CASIA-facev5、CASIA-Webface、Celeba数据集作为训练集和LFW数据集作为测试集,通过训练集的对比实验完成了多个人脸识别模型的训练,并通过测试选出最优的模型;基于SENet的人脸关键点定位模型以SE-ResNet作为网络结构,使用了300W-LP数据集对68个人脸关键点定位模型进行训练和测试。2.系统的总体设计和实现:使用前述的算法模型训练后得到的模型权重文件,完成了服务端的设计与实现、客户端的设计与实现,并对系统功能进行了测试。其中服务端的设计与实现,以TensorFlow深度学习框架为平台,使用Flask作为Web应用框架,对训练好的模型进行加载,完成了图片上传、人脸检测、人脸注册、人脸登录、活体检测等功能模块接口的设计和实现;客户端的设计与实现,以微信开发者工具稳定版Stable Build作为工具,使用了HTML标记语言、CSS层叠样式表、JavaScript脚本语言,完成了系统主页面、人脸检测、人脸注册、人脸登录、活体检测等页面的设计与实现;系统功能测试,通过使用微信开发者工具的真机调试功能,完成了对系统全部功能的测试。