基于OPENCV的无人监考系统毕业论文
2021-11-25 23:20:24
论文总字数:28564字
摘 要
本文借助OPENCV程序库,调用本地摄像头,利用其中的AdaBoost算法的人脸检测和模板匹配方法的人脸识别,随后,建立活体检测与考生考试状态数学模型,给出对应的条件约束并编写程序,由程序进行判定是否存在替考、换人、中途离开、多人作答,并将数据保存,提醒远程监考官进行特别注意,为在线考试提供了一种可行方案。
关键词:OPENCV;模板匹配;人脸检测;线上监考
Abstract
This paper calls the local camera with OpenCV, uses AdaBoost algorithm's face detection and template matching method's face recognition, then establishes the mathematical model of living detection and examinee's examination state, gives the corresponding condition constraints and compiles the program, which determines whether there is substitute examination, replacement, leaving in the middle, multiple people answering, and saves the data to remind the remote Invigilators pay special attention to it, which provides a feasible scheme for online examination.
Key Words:OPENCV;Template Matching;Face detection;Online invigilator
目 录
第1章 绪论 1
第2章 人脸识别概述 2
2.1 OPENCV简介 2
2.2 人脸识别简介 3
2.3 人脸识别的历史沿革 3
2.4 人脸识别技术总结与概述 3
2.5 问题分析 5
第3章 正面人脸检测模型的建立与实现 7
3.1 问题描述及分析 7
3.2 Haar特征 7
3.3 积分图 8
3.4 Adaboost分类器 8
3.5 模型求解 10
第4章 正面人脸识别模型的建立与实现 12
4.1 问题描述与分析 12
4.2 模板匹配 12
4.3 模板匹配算法 12
第5章 活体检测与考试状态模型的建立与实现 16
5.1 问题描述及分析 16
5.2 眨眼检测算法 16
5.3 考生状态模型 17
5.4 仿真求解 18
结论 21
参考文献 22
致谢 23
附录A 24
附录B 28
第1章 绪论
随着互联网与计算机技术高速发展,现如今,各种网络应用正不断渗入并改变着人们的生活,并深刻影响了教师以及学生们的日常学习、日常工作及生活方式。而面对日益增加的考试需求,传统考试方法正面临着巨大的挑战和改革。人们开始着手寻找新型的考试手段,可以尽量使得考生和监考人员无需集合到线下的考试场所,而是通过互联网便可以完成考试;既能够减轻监考压力与老师判卷工作量,又能尽量做到客观公正监考,达到更方便快捷的考试的目的。而如何做好身份认证和画面监考是整个系统的关键,因此无人在线监考系统问题具有很重要的研究意义和较好的应用前景。
查阅大量文献后,本文发现近年来国内对于在线考试监考问题研究深远[1]。西安电子科技大学的张永恒运用框架技术[2]并结合互联网结构方法,建立出较为稳定的无纸化在线考试系统,并在实际教学中应用;苏州大学的李海燕运用Visual C 6.0平台开发出视频监控系统[3],强调视频的采集编码传输问题,保证了考试的公平性严肃性;北京交通大学的吴传文基于OPENCV和Viola-Jones算法构建出了可以在招生考试中使用的人脸识别技术[4],通过限制切换页面,IP检查等方式进一步在功能上限制了考生作弊的可能性;另外,华中农业大学的黄志威,宋鸿陟,司国东以Web RTC技术和基于Fisherfaces[5]方法的人脸识别技术为在线考试的监控提供可行的辅助手段[6]。
此外,还要介绍到计算机视觉技术在国内外的发展状况。目前我国在支付安全、卫星遥感、测控等领域为世界先进水平;而在国外,美国在计算机视觉领域的研究成果与实际应用等影响最大,较为知名的领域有无人汽车导航、智能机器人的制造、计算机视觉平台程序的编写与开发等等。而本文拟使用由美国Intel公司开发的OPENCV来开发编写在线无人监考系统,可以快速并准确的得到结果用于验证模型是否正确;另外,还可以对程序大规模后进行优化,使之所需要的性能尽可能降低,程序稳定性尽可能提高。
根据题目描述,本次毕业设计总共有四种具体需求,分别为对人脸进行检测,基于单张正脸照片(证件照)进行身份认证,简单的活体认证,考试状态判断。本文将分别建立模型对以上四种情况深入分析,将完成以下任务:
任务一:对四种情况分别进行探讨,并给出对应的数学模型和编程解决方案。
任务二:运行程序并对算法的有效性进行检验。
第2章 人脸识别概述
2.1 OPENCV简介
近年来,伴随着计算机信息技术的飞跃式发展,以及人们安全意识的提升,整个社会逐渐意识到人脸识别已经逐渐成为当下最为炙手可热的研究方向,现如今成为多数交叉学科的热点研究项目,广泛应用到各行各业中。为了满足广大学者与科研人员的需求,Intel公司开发了一套多平台计算机视觉库:OPENCV,全称为Open Source Computer Vision Library[7]。它基于BSD许可(开源)发行,可以在多种操作系统上运行,包括Windows、Linux、Mac OS和Android等平台。OPENCV实现了许多计算机视觉和图像处理方面的通用算法。OPENCV是由C 语言编写而成,对外的大部分接口也均为C 形式,不过OPENCV同样保留了一定数量的C语言接口,同时也保留了其他语言比如Python、Matlab、Java等接口,是一个通用且高效的开源程序库。并且这个程序库包含了从工业产品、医学图像、摄像头标定、用户GUI、三维成像、机器视觉、再到安防等领域超过五百多种接口函数。
对于一个合理的计算机视觉算法,需要包含以下六个步骤:1.数据获取(包括图片与视频);2.数据预处理(包括旋转缩放);3.数据特征提取;4.特征筛选;5.分类器设计与训练;6.数据分类判定。而OPENCV对于上述的六个环节分别提供了与之对应的API接口。
对于数据获取,在计算机视觉领域,绝大多数都是图片或是视频。然而图片与视频又有各自的不同的格式,图片有.tiff、.jpg、.png、.bmp等等,视频则有.avi、.mp4、.rmvb等不同的格式,并且即使是相同的.avi格式的视频其内部也有不同的压缩编码算法。因此OPENCV提供了对于图片与视频的读写的API接口,即OPENCV利用接口函数调用与获取到的数据相匹配的解码器,才能对获取到的数据进行解码解压,转换成一帧一帧的图片,供后续处理。
对于数据预处理,则有去噪声、光照归一化、图像锐化、膨胀、腐蚀、开闭、滤波等等。对于这些操作,OPENCV提供了相对应的API函数,同时也提供了直方图均衡化的API供图片光照的预处理。
对于特征提取,是整个算法中最为复杂的部分。如何定义特征,这是一个简单而又困难的问题。不过OPENCV里面提供了特征描述的函数:Haar特征可以用来检测人脸;Hog特征可以用来检测行人;另外还有LBP纹理特征,但是如果遇到OPENCV里没有的特征的话,就需要自行查阅文件利用OPENCV这个平台编写出来。
对于特征筛选,OPENCV里并没有提供特定的函数,但是OPENCV提供了多种长痛分类器算法来帮助用户进行分类,比如SVM、boost、ANN、Bayes等常用分类器。而用户所需要做的就是学习并了解各个分类器的优劣,原理与使用方法,最终可以正确运用并得到自己期望的结果。
2.2 人脸识别简介
人脸识别技术是一种从二十世纪六十年代便开始研究的课题,到如今不仅成为了一种热门的研究方向,同时也代表着人类对自身生物特征的认知的不断深入。所谓人脸识别技术,就是一种可以进行身份认证的识别技术,通过摄像头采集到的图像画面亦或是给定一定时长的视频流,通过在计算机中对图像进行运算,并自行分析出是否有人脸存在,同时检测给出人脸位置,同时还可以从中提取出有效的个人识别信息,最终达到判断出图片或者视频中人脸身份的目的。
2.3 人脸识别的历史沿革
随着学者们对图像识别与计算机视觉技术的不断探索,学者们逐渐意识到人脸识别技术的巨大前景与广阔应用,并不断投入到人脸识别的研究中来。至今人脸识别经过了以下几个阶段:
- 第一阶段
二十世纪六十年代到二十世纪七十年代,人脸识别技术处于刚刚起步阶段。这段时间内学者们主要进行了基于人脸面部几何结构特征的研究,最早的科研人员Bledsoe[8]以人脸的特征点比率,人脸特征点的间距等数据为参数,建立出了一个半自动人脸识别模型。
- 第二阶段
二十世纪九十年代中期,伴随着计算机技术的快速提升,计算机软硬件的发展和逐渐完善,使得人脸识别的研究非常热门。基于整体的识别方法成为了重点研究方向。麻省理工学院的Turk和Pentland提出了一种著名的算法:特征脸算法(Eigen face)。而到了九十年代后期,人们逐渐把研究方向转向整体识别和部件分析结合的方向发展。
- 第三阶段
二十世纪九十年代末,人脸识别开始出现在市场中,作为一种应用登上世界舞台,很快就成为了世界范围研究的热门。但由于技术不够成熟,市场需求不断变化,因此人们开始往不理想图像条件下进行技术探索,之后又发展出基于三维模型建模的识别方法,从二维图像发展到了三维模型中去。
2.4 人脸识别技术总结与概述
- 基于几何特征的人脸识别方法
目前最早的人脸识别领域的学术论文,是Bledsoe的基于几何特征的人脸识别方法,其步骤为:识别出人脸图像中的特征点,再通过计算特征点之间的欧几里的距离,可以描述每个人脸部的特征向量,比如五官的位置,眉毛的稀疏程度、弯曲程度,以及各个特征点之间的其他联系。
这个方法的优点在于其原理简单易懂容易理解,只需要储存一个人脸图片的特征矢量,因此占用电脑内存资源很低;同时这个方法对光线敏感程度低,无论在强光还是弱光条件下都可以实现;但是缺点也很明显,首先,该方法无法稳定从图片中得出需要的特征,其次该方法忽视了图片中的其他信息而只追求五官特征,对信息的利用不完整,因此识别率较低,近来也少有人去研究这种方法。
- 基于Eigen faces的人脸识别方法
Eigen faces[9]识别方法,又叫特征脸方法,是从主成分分析法中引出的一种识别技术,被认为是第一种确切有效的识别方法。该方法是一种基于统计特征的方法,将人脸属性看作随机向量,然后使用统计的的方法辨别不同人脸的特征模式。该方法从统计的角度,从人脸图像的样本集协方差矩阵中寻找人脸图像分布的特征向量,并作为近似的表证人脸图像,因此这些特征向量被称之为特征脸。
该方法有着快速,占用低等优势,但是却对训练集测试集要求很高,比较容易受到拍照角度,光线,人物表情等相关因素的影响,从而致使识别率较低。
- 基于模板匹配的人脸识别
模板匹配法[10]是给定一个标准样本,然后对待测图像全局对比搜索,根据待测图像上对模板的相似性进行对比识别。
请支付后下载全文,论文总字数:28564字
相关图片展示: