采集器的自动识别算法(传统的课堂点名方法效率低下,可一次识别多个人脸)
优采云 发布时间: 2021-12-14 17:30采集器的自动识别算法(传统的课堂点名方法效率低下,可一次识别多个人脸)
姜宏政、唐骏、黄健、向铎、杨悦、王志成
(长江大学地球科学学院, 湖北 武汉 430100)
摘要:传统的课堂点名方式效率低下,浪费大量时间。提出了一种基于人脸识别的课堂点名系统,大大提高了课堂点名效率。系统提供图像和*敏*感*词*识别点名功能,可一次识别多张人脸。同时,系统还为系统难以识别的学生提供人工签到。系统采用OpenCV人脸识别开源库作为算法部分,采用Qt和C++实现界面交互。
关键词:人脸识别;OpenCV;点名系统
0 前言
人脸识别技术是利用计算机根据人的面部特征对人脸图像进行分析,提取其中收录的有效身份特征信息来识别人身份的技术[1]。该系统结合校园需求,将人脸识别应用于课堂点名。
1系统设计背景
在高校教学和学生工作管理过程中,班级点名是一项重要的内容。但传统点名方式效率太低,教师工作量大、时间长,且传统点名方式记录的数据不易使用。随着科技的进步,人脸识别已经走进了日常生活。学校已经开始出现人脸考勤机,但考勤机点名还是单一识别,效率仍然不高。本系统利用人脸识别技术开发了课堂点名系统,可同时识别多张人脸,大大提高了点名效率。
2 系统设计关键技术
2.1 基于AdaBoost的人脸检测
AdaBoost 算法通过训练大量图像获得弱分类器。这些弱分类器按照一定的原则组合起来形成一个强分类器,然后多个强分类器级联形成一个多层分类器。的某个区域可以通过这个多层分类器,判断这个区域是人脸[2]。2001年,VIOLA和JONES MJ进一步修改AdaBoost,利用积分图减少计算量,快速计算出Haar-like特征值[3]。VIOLA P的算法在人脸检测方面取得了突破性进展,广泛应用于人脸识别。本系统采用VIOLA P算法实现人脸检测部分。
2.2 基于EigenFace的人脸识别
EigenFace方法是一种基于主成分分析(PAC)的人脸识别技术,识别率高,识别速度快。eigenface 方法将收录人脸的图像区域视为一个随机向量,并使用 KL 变换(Karhunen Loeve 展开)获得其正交基。由于较大的特征值对应的基具有与人脸相似的形状,故称为特征脸“EigenFace”[4]。该系统可以实时检测人脸并进行比较和识别。考虑到性能,选择EigenFace方法作为识别算法。EigenFace 的人脸识别由两部分组成:训练部分和识别部分。训练部分是提取人脸图像的特征并将其存储在训练样本文件中。在识别人脸时,首先对输入的待检测人脸进行特征分析,然后与样本中的人脸进行匹配。如果得到的相似度大于某个预设阈值,则认为该人脸与样本中的人脸匹配,判定该用户为“合法”用户;反之,如果得到的相似度小于阈值,则认为该人脸是“非法”用户[5]。人脸识别流程图如图1所示。合法”用户;反之,如果得到的相似度小于阈值,则认为该人脸是“非法”用户[5]。人脸识别流程图如图1所示。合法”用户;反之,如果得到的相似度小于阈值,则认为该人脸是“非法”用户[5]。人脸识别流程图如图1所示。
3 系统需求分析与设计
3.1 系统需求分析
分析点名系统的业务流程,调查课堂教师的意见,规划系统的功能需求。系统主要分为两大功能模块,一是图像处理算法模块,二是点名系统管理模块。图像处理算法模块包括人脸预处理、人脸检测、人脸识别、人脸采集模块;点名系统管理模块包括信息录入、信息查询和信息管理模块。
3.2系统设计
系统设计包括系统框架设计、主要功能模块设计和数据库设计。
3.3 系统框架设计
图像处理算法模块用于学生的人脸采集,对采集后的人脸进行预处理,对处理后的人脸进行训练得到一个样本文件,该文件记录了学生的人脸特征。系统在识别过程中加载样本文件以识别学生的面孔。点名系统管理模块主要负责人员信息和点名信息的查询和管理。系统框图如图2所示。
3.4 主要功能模块设计
3.4.1人脸采集模块
face采集模块用于人脸识别过程中的样本文件和人脸提取。检测到人脸区域后,对该区域内的人脸进行预处理,保存为图片供训练使用。本模块设计了两种采集模式:一种是图像人脸采集,从学生的照片中提取人脸;另一个是相机人脸采集,其中学生在相机前,算法提取视频帧中的人脸。采取这两种方法为face采集提供了方便。同学们可以把自己拍的照片提供给管理员做人脸采集。采集 之后的人脸将保存在以学生 ID 命名的文件夹中。脸部采集的部分如图3所示。
3.4.2 人脸识别模块
人脸识别时,程序首先加载训练好的样本文件,将人脸与训练文件进行匹配,当置信度大于一定阈值时,返回与人脸匹配的学生ID。人脸识别模块还设计了两种模式,一种是图像人脸识别,一种是相机人脸识别。这种设计的目的是为识别提供多样化。在算法上,该系统使用 OpenCV [6] 中的局部二进制模式 (LBP) 算法。
3.4.3 点名模块
在点名过程中,一般的方法是将识别过程中返回的学生ID与数据库进行匹配,得到*敏*感*词*。但该方法效率低,识别过程中需要频繁访问数据库,降低了点名速度。本系统采用哈希表,在点名时将学生的学生ID和姓名预加载到哈希表中,识别过程中只需要访问哈希表,大大提高了点名的效率和速度。
3.5 数据库设计
数据库设计的主要表包括管理员表、*敏*感*词*表、课程信息表、学生选课表、教师信息表、班级出勤表、学生出勤表、学生缺勤记录表。ER 模型图如图 4 所示。
4 系统实现
4.1 系统运行开发环境
系统采用Qt5.5作为开发平台,数据库采用MySQL5.5,人脸识别模块调用OpenCV函数库,系统开发环境为Windows 7 64位操作系统系统。
4.2系统接口
系统包括人脸检测、人脸点名、人数统计、人脸采集、信息查询等功能。系统界面如图5所示。
4.3 点名模块
人脸识别完成后,会显示已登录和未登录的学生,供老师确认。发现无法识别的同学可以点击删除按钮,从未登录过的学生会自动加入到登录列表中。确认课程班级无误后,点击提交,点名完成。点名界面图如图6所示。
5 结论
基于人脸识别的课堂点名系统采用OpenCV和Qt、C++编程技术实现。界面友好,操作简单,点名快捷,大大提高了课堂点名效率,也使得人脸识别技术得到更广泛的应用,对促进学校和新技术的发展具有积极意义。
参考
[1] 文成玉, 金鑫, 董亮, 等. 基于人脸识别的应用登录助手设计[J]. 微机及应用, 2014, 33(12):9699.
[2] 王竹君.基于人脸检测的移动点名系统研究与实现[D]. 昆明:云南大学,2014.
[3] VIOLA P, JONES M J. 鲁棒实时人脸检测[J]. 国际计算机视觉杂志,2004,57(2):137154.
[4] 齐立成.基于人脸识别的考勤系统设计与实现[D]. 西安:西安电子科技大学,2012.
[5] 何荣. 基于OpenCV的人脸识别系统设计[D]. 广州:华南理工大学,2013.
[6] 张慧娟.基于人脸识别的考勤系统设计与实现[D]. 武汉:华中科技大学,2011.