论文部分内容阅读
近年来,随着时代的进步和科学技术的发展,社会对各方面的人才要求越来越高。而在我国通常采用考试的方式选拔优秀人才,考试的结果直接或者间接的影响着每位考生的命运,因此考试一直都受到广泛的关注。近十多年来,人才的竞争日趋激烈,考生的压力随之加大。在许多考试中出现了危害公众利益,影响考试真实性和有效性的替考现象,考试的公平性问题变得日益突出。如何加强考生身份验证的准确率,保证考试的公平公正已经成为全社会一个亟待解决的问题。近些年来,全国很多地方陆续采用指纹识别的方式验证考生身份,目前采用的有基于andriod系统的安软科技考务通和智慧考务系统。但是在使用中发现,指纹易造假导致有时仍无法有效杜绝考生替考现象。针对以上问题,本文设计了基于人脸识别的考生身份验证系统。该设计选择了ARM9为核心处理器,采用Linux为操作系统,以机器视觉库OpenCV为图像处理工具,采用Qt工具设计人机交互界面。程序中采用了基于Adaboost方法的人脸检测算法,运用了Eigenface方法的人脸识别方法。实现了基本的人脸检测和识别功能。在算法方面,研究了人脸检测和识别中采用到的图像预处理方法,比如图像灰度变换、图像尺度变换、图像的直方图均衡化处理以及图像的中值滤波等方法,并且实现了在Linux系统下用OpenCV来进行相应的图像处理。深入研究了基于Adaboost的人脸检测算法。采用Lienhart和Viola提出的经典特征模型来产生弱分类器,然后从弱分类器中选出最优弱分类器,采用Adaboost算法将最优弱分类器组合形成强分类器,再将强分类器级联成级联分类器。实现了采用OpenCV训练工具按步骤训练形成可用于人脸检测的分类器。研究并采用了基于PCA的Eigenface人脸识别技术,在人脸识别中运用PCA算法进行特征降维形成特征脸空间,将训练的人脸图像和待检测的人脸图像映射分别到特征脸空间形成特征脸向量,并且进行比对得出比对结果。在硬件方面,设计了前端控制板系统的原理图和PCB。首先选取了以S3C2440芯片为处理器的核心板,以此为核心设计了控制板原理图。原理图的功能模块主要包含5V和3.3V的电源电路、核心板接口电路、USB接口电路、基于UVC协议的USB摄像头图像采集模块、CS8900A通信模块电路、LCD显示电路等模块。在软件方面,设计了系统前端控制板的应用程序。首先,搭建PC端和控制板端的开发环境,包括Linux系统的配置和移植,OpenCV的编译和移植,Qt的交叉编译和移植等。其次,在Linux下采用Qtcreator工具结合OpenCV编写了应用程序,功能模块包括人机交互界面、USB摄像头视频和图像获取程序、Qt软键盘、人脸检测程序、人脸识别程序、网络通信程序等。通过对控制板电路是否存在短路和断路情况的测试,以及对人机交互界面、图像采集、人脸检测和人脸识别等功能模块的测试,验证了系统的性能。测试表明,系统的硬件和软件可以很好地契合。目前系统运行稳定,实现了人脸检测和人脸识别功能。