当前位置:   article > 正文

基于OpenCV的人脸识别考勤系统_基于opencv的人脸识别与检测的流程图

基于opencv的人脸识别与检测的流程图

考勤系统设计

学生上课考勤系统最初的方式是采用的人工纸质点名,目前仍旧有一部分学校依旧采用此种方法点名,这种方法也一直是被认为最有效的签到点名方式。但由于课程繁多加上学生人数众多, 代替点名现象普遍存在, 而且传统的现场点名签到方式费时费力, 直接影响到授课质量。人脸签到系统解决了这一问题,可以实时监测所到的成员数量和质量。
其整体结构图为

在这里插入图片描述

  1. 人脸数据库的建立
    系统采集成员的人脸图像,将这些人脸分类标号保存,并建立人脸库。

  2. 图像采集
    摄像头采集人脸图像,前期用于训练模型,后期用于对人脸的预测。

  3. 图像预处理
    由于摄像头设备存在采集图像方法、提取人脸角度、图像背景以及光照变化等干扰信号,使得识别正确率出现不同程度的降低。所以,需将采集到的图像以及检测出来的人脸通过图像处理算法处理。其中处理方法有尺度归一化、图像灰度化、灰度变换、图像增强、以及图像降噪等。

  4. 人脸特征提取及模型训练
    图像特征提取和特征描述是图像目标识别的关键技术,特征提取结果的好坏,直接影响模型训练结果,进而影响了目标识别的效果,在图像检索系统中,特征描述的好坏也会直接影响目标匹配和图像检索的精度。图像处理中特征点的检测与匹配是机器视觉最重要的部分。
    特征提取指的是使用计算机提取视频中的图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。特征的好坏对泛化性能有至关重要的影响。
    图像的模型训练即是通过对所提取的人脸特征,不断调整模型参数使人脸图像针对于模型之间的误差值达到最小。用于之后对人脸的预测。

  5. 人脸识别
    提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。在图像匹配过程中有一个重要特征是:每个识别匹配都具有转置信(confidence)评分,因此可在实际应用中通过对其设置阈值来进行筛选。
    人脸识别是利用提取好的特征,进行身份确认或在人脸库中比对搜索最巧似者。因此,需要选择合适的算法进行识别匹配。在OpenCV中有三种人脸识别的方法,它们分别基于三种不同的算法:Eigenfaces、FisherFaces和Local Binary Pattern Histogram(LBPH)。
    (1)Eigenfaces算法是通过PCA来处理。PCA的本质是识别某个训练集上的主成分,并计算出训练集(图像或帧中的检测到的人脸)相对于数据库的发散程度,并输出一个值。该值越小,表明人脸数据库和检测到的人脸之间的差别就越小;0值表示完全匹配。
    (2)Fisherfaces算法是从PCA中衍生发展出来的,采用更复杂的逻辑;尽管计算更加密集,但比Eigenfaces更容易得到准确效果。
    (3)LBPH算法将检测到的人脸分为小单元,并将其与模型中的对应单元比较,对每个区域匹配值产生一个直方图。
    predict()函数返回含有两个元素的数组:第一个元素是所识别个体的标签,第二个是信度评分。所有的算法都有一个置信度评分阈值,置信度评分用来衡量所识别人脸与原模型的差距,0表示完全匹配。

    可能有时不想保留所有的识别结果,则需进一步处理,因此可用自己的算法来估算识别的置信度评分;例如,如果正在试图识别视频中的人,则可能要分析后续帧的置信度评分来估计识别是否成功。在这种情况下,可通过算法来检查得到的置信度评分,然后得出自己的结论。

  6. 显示签到结果
    分析人脸的特征通过所训练的模型与数据库中进行对比,得到具体人的具体信息,进行签到记入数据库

功能实现

UI界面设计

人脸识别考勤系统共有三个界面:人脸识别考勤系统主界面、人脸数据采集及训练界面和进入考勤系统三部分。具体见下图:人脸识别考勤系统界面整体设计。
在这里插入图片描述

(1)人脸识别考勤系统主界面

人脸识别考勤系统主界面(具体见下图)包含三个按钮,分别是“人脸数据采集及训练”、“进入考勤系统”和“退出考勤”。点击“人脸数据采集及训练”即可进入“人脸数据采集及训练”界面。

在这里插入图片描述

(2)人脸数据采集及训练界面

人脸数据采集及训练界面(具体见下图)包含三个按钮分别是“开始采集”、“人脸采集训练”和“信息采集”(信息采集指text文本框中学生基本信息的输入)。在这一界面首先要输入信息采集框内的具体信息,然后点击“开始采集”按钮即可打开摄像头采集人脸信息并保存至人脸信息数据集;点击“人脸采集训练”按钮即进行人脸数据集信息模型训练;

在这里插入图片描述

(3) 进入人脸识别考勤界面

进入人脸识别考勤界面(具体见下图)包含三个按钮分别是“显示审核信息”(显示审核信息指text文本框中学生基本信息的输出)、“考勤”和“考勤表”。在课前考勤是需先打开本系统,点击“考勤”即可加载摄像头进行人脸识别,人脸识别成功后“显示审核信息”栏内会输出学生基本信息,即代表签到成功。“考勤表”是为方便老师上课时清点签到人数而设置,点击“考勤表”。即显示已签到人人数和具体人员基本信息。

在这里插入图片描述

数据库设计

数据库设计主要分为学生信息和考勤信息两部分。

(1)学生信息

学生信息总表(具体见下表)录入信息时将学号sid和姓名name录入并设置考勤总次数times为0。当进行考勤时,考勤一次将对应人的总次数times增加1。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/77614
推荐阅读
相关标签
  

闽ICP备14008679号