基于SphereFace深度学习的人脸考勤系统的设计与实现

本科毕设作品——基于SphereFace深度学习的人脸考勤系统的设计与实现

  • 引言
  • 系统成果展示
    • 管理员界面
    • 注册员工信息
    • 人脸识别以及考勤功能
    • 查看所有打卡记录功能
    • 查看个人信息功能
  • 技术支持
  • 搭建Windows版本的Caffe
  • VS2013配置OpenCV
  • 人脸识别基本原理
  • 人脸检测接口
  • 网络模型

引言

第一篇博客。因为想要系统地记录学习的过程,这样才有专业感嘛。第一次尝试,可能会有些地方写得不好,请见谅啦。这个人脸考勤系统是基于MFC用C++写的,人脸数据存储在SQLServer中。

系统成果展示

管理员界面

基于SphereFace深度学习的人脸考勤系统的设计与实现_第1张图片

注册员工信息

基于SphereFace深度学习的人脸考勤系统的设计与实现_第2张图片

人脸识别以及考勤功能

(图片1那个功能按钮应该删除的,可以看出来模型训练得不是很好)
基于SphereFace深度学习的人脸考勤系统的设计与实现_第3张图片

查看所有打卡记录功能

基于SphereFace深度学习的人脸考勤系统的设计与实现_第4张图片

查看个人信息功能

(显示出的图片是注册时使用的人脸图像)
基于SphereFace深度学习的人脸考勤系统的设计与实现_第5张图片

技术支持

数据库:Microsoft SQL Server Management Studio 17
OpenCV:OpenCV-2.4.13
人脸检测库:Libfacedetection
人脸识别模型:SphereFace-20
深度学习框架:Caffe
开发工具:VS2013

搭建Windows版本的Caffe

无论是CPU还是GPU环境的,都可以参考下面链接的博主文章
https://blog.csdn.net/kaychangeek/article/details/79885494

VS2013配置OpenCV

嘿嘿,这个我也是直接参考的别人的博客。推荐一下,就不重复说啦。
https://blog.csdn.net/bryant_meng/article/details/79863921

人脸识别基本原理

广义上人脸识别包含了四个部分,分别为人脸图像采集及检测、人脸预处理、人脸特征提取以及匹配与识别。人脸识别的流程图如图所示。
基于SphereFace深度学习的人脸考勤系统的设计与实现_第6张图片
人脸检测是判断指定的人脸图像的人脸是否存在,并确定地指出人脸的具体位置、姿态、大小,然后进行分离。
人脸预处理是对检测到的人脸进行灰度变换、几何校正、标准化等图像处理,是为了能够更好地特征提取。而特征提取则主要是对人脸进行特征建模,又被称作人脸表征,它把输入的图像利用计算机数据来描述,通过一些算法得到人脸特征值,并与人脸库进行对比,若具有高相似度则身份匹配成功。

人脸检测接口

使用的是Libfacedetection人脸检测算法,它是由作者ShiqiYu发布在Github上的遵循MIT开源协议的公共库,是一个用于图像中人脸检测和人脸标识检测的二进制库。
github地址:https://github.com/ShiqiYu/libfacedetection

该算法提供了四个不同的接口函数,分别是facedetect_frontal、facedetect_frontal_surveillance、facedetect_multiview以及facedetect_multiview_reinforce。四个函数对应不同的使用场景,性能有所不同,但参数类型完全一致。其中facedetect_frontal接口函数主要用于正面的人脸检测。而facedetect_frontal_surveillance接口函数主要用于正面视频监控人脸检测,还能在光线不足的情况下检测人脸。以上两个接口函数均无法检测“侧视人脸”和“单面人脸”。facedetect_multiview函数则适用于多视图人脸检测,可以检测“侧视人脸”以及多张人脸。而本课题使用的人脸检测接口函数是facedetect_multiview_reinforce,它属于多视图增强人脸检测,比facedetect_multiview效果好,但检测时间会比其他接口函数稍微长一些。效果如图所示。
基于SphereFace深度学习的人脸考勤系统的设计与实现_第7张图片

网络模型

关于SphereFace网络模型的理论基础,可以参考下面链接上的博客
https://blog.csdn.net/qianqing13579/article/details/78288780


下一篇博客再详细介绍网络模型的训练过程以及训练数据的预处理。

你可能感兴趣的:(基于SphereFace深度学习的人脸考勤系统的设计与实现)