基于OpenCv的寝室人员面孔识别毕业论文
2020-04-11 17:57:13
摘 要
随着信息技术快速进步,人们对信息安全方面有了更高的要求。人脸识别技术以其独特的优势步入人们的视野,因此经过多年发展,已经取得巨大的进步,在一定条件下已经取得了理想的识别结果。
OpenCv是一个开源的跨平台计算机视觉库,它包含了很多通用的图像处理算法,并且开放源码,很多代码都经过优化,因此可用于科研也可用于商业用途。
本文在VS2012平台上进行可视化的人脸识别系统,首先利用局部二值模式(LBP算子)对人脸图像进行特征提取,然后计算提取特征的直方图并归一化,再利用SVM算法进行分类,并将分类的结果存储。
关键词:OpenCv;人脸识别;LBP;SVM
Abstract
With the rapid progress of information technology , people have higher requirements for information security . Face recognition technology has entered people ' s field of view with its unique advantages . Therefore , after years of development , great progress has been made , and the ideal recognition result has been obtained under certain conditions .
OpenCv is an open source cross-platform computer vision library that contains many common image processing algorithms and it’s open source code is optimized so that it can be used for scientific and commercial purposes.
In this paper, a visualized face recognition system based on VS2012 platform is presented. Firstly, the local binary pattern operator is used to extract the feature of the face image, then the histogram of the feature extraction is calculated and normalized, and then the SVM algorithm is used to classify the face image. The results of the classification are stored.
Key Words: OpenCv; Face Recognition; LBP; SVM
目录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 研究任务 2
1.3 论文组织结构 3
第2章 系统原理分析 4
2.1 LBP特征 4
2.1.1 LBP背景介绍 4
2.1.2 传统LBP特征 4
2.1.3 圆形LBP特征 5
2.1.4 等价LBP特征 7
2.2 支持向量机 8
2.2.1 分类标准的起源:Logistic回归 8
2.2.2 最优解条件求解 10
第3章 系统功能设计 12
3.1 总体界面设计 12
3.2 加载训练库 13
3.3 LBP特征提取 14
3.3.1 传统LBP算子 14
3.3.2圆形 LBP 算子 15
3.3.3 等价LBP算子 15
3.3.4 计算LBP特征值 16
3.3.5 特征提取 17
3.4训练 18
3.5 本机获取图片 18
3.6 摄像头获取图片 20
第4章 系统测试与分析 22
第5章 总结与展望 24
参考文献 26
致 谢 27
第1章 绪论
1.1 研究背景及意义
当今社会是信息的社会,信息于社会就如同汽油于汽车一般,信息技术已经成为人们生活不可缺少的一部分,如微信、手机游戏、购物软件等。这些技术在为人们带来信息交流便利的现代生活的同时,所涉及到的信息安全方面的问题也逐渐成为人们所关注的核心。目前已经普及开来的信息安全方面的确认方式,如每个人的身份证、一些软件账号的密码等,很容易被黑客及别有用心的人伪造和盗取利用。就像前段时间全球肆虐的勒索病毒,盗取人们电脑上的私人信息,造成了数以千万台计算机死机,给全球带来巨大的经济损失。随着信息技术的飞速发展及人们对信息安全方面要求的标准不断提高,一种能够更加适应新要求、新时代、新发展方向的技术——人脸识别领域开始步入人们的视野,引起越来越多人的关注。
生物特征识别技术主要是运用计算机视觉、图形图像处理、模式识别等技术来提取和描述每个人的生理及其行为特征,从而进行分类与识别。世界上没有完全相同的树叶,也没有相同的人,每一个人的生理和行为特征是不一样的,或许凭肉眼无法进行测量,却能够利用相应的传感器对数据进行测量和转换,成为计算机能够识别的数据,再利用计算机能够重复无间断处理大量数据的优势,对转换的数据进行测量和统计,找出其中的规律,进而进行处理,不同的规律对应着不同的人,这为新的识别技术面世提供了可能。目前,能够被识别和应用于实践的识别技术主要包括:手机上的指纹识别和人脸解锁、进出小区的车牌识别系统已经门禁上的虹膜识别等。一般来讲,这些新出现的识别技术与传统身份认证方法相比较,具有巨大的优势,如隐蔽性更强,采集信息更加方便,识别的效率更高等。它不需要像传统的识别方法一样,需要人们自己随身携带各种证件和系统验证所需要的身份卡,更不需要其他人来证明一个人身份的正确性,因为它所需要的确认信息,就是每个人自己。每个人自身携带的信息,生来就有,与自己相伴,除非刻意隐藏,否则不存在自己明明是某个账号的拥有者却忘了密码而无法使用账号的情况。与其它的识别方式比较,人脸识别能够利用摄像头却不惊动本人的情况下,就取得一个人的人脸信息,进而进行确认,虽然它的识别率比较低,但相对于指纹识别等方式来说,人脸识别更加方便,更加隐蔽,更加安全,因此适用于许多特殊的邻域,如最近新闻上特别火的演唱会上利用人脸识别确认入场人员,抓捕了一些网上的逃犯,而逃犯自己也没有意识到是利用人脸特征确定信息的,这为社会安全邻域保障提供了巨大的帮助,是其它识别方式所不能媲美的。
根据目前社会上所应用的信息安全方面的技术来看,人脸识别技术的优势在于有:非接触性:在采集需要进行确认信息的过程中,图像采集设备可以用非常隐蔽的方式或者离目标距离非常远的情况下,直接对目标进行图像采集,不需要目标接触摄像头,因此这种方式更易于被目标接受而不反感;非强制性:采集头像信息的过程中,不需要目标的允许与配合,完全可以在目标出现在图像采集机器的范围内便出其不意获取其面部影像,并且目标不会察觉,更不会主动逃避;并发性:在实际应时,识别系统可以同时进行多个人脸的计算与识别,速度更快,效率更高;简便性:人脸识别对计算机的要求并不算高,只需有计算机外接一个图像采集机器,记录所采集的图像,更多的是软件方面的优化,操作简单、结果直观、隐蔽性好,较容易应用于实践中。
人脸识别的原理早在1960年就已经被提出,但由于图像处理所耗费的计算机资源异常庞大,被当时计算机的处理速度及其硬件性能所限制,因此只能从理论上证明是可行的。直到上个世纪的 90 年代,随着计算机硬件方面的突破,找到了更好的材料及制造方法,制造出了体积更小、运算速度更快和性能更强的处理器,才使得人脸识别技术从理论变为现实。
目前,国内外许多研究机构在生物特征特别是人脸识别领域都取得了比较优秀和有效的成果。国外研究中,Pentland带领MIT的研究小组提出了EigenFace,中文名即特征脸方法;Jain所领导MSU的研究小组则对三维人脸识别方法进行了大量的研究,也取得了较为可观的成果;还有Kriegman所领导的YALE研究小组提出了Fisher脸方法等等。
1.2 研究任务
本项目是基于Open CV开源的可以跨平台运行的计算机视觉库,利用其中许多已经定义了的图像处理和和图像存储结构等方面的通用算法,实现了一个利用C 编写的程序在电脑上进行的设计与开发工作,其基本内容包括:
1. 本文要实现的检测人脸的系统,是在电脑上进行的,因此可以获取图片的方式有两种,一是直接在电脑本机上直接获取图片,进行加载;二是利用电脑自带的摄像头采集图片,然后对采集到的图片进行分类识别,这两种方式都可以在该系统中实现。
2.对采集到的图像进行预处理。因为获取的图片信息量太大,存在许多无效臃肿的信息,因此需要进行预处理,否则需要处理的数据量过于庞大并且存在许多重复无效的信息,这将会大大拖累程序的效率并降低识别率。进行预处理的方法包括图像灰度化、高斯去噪及图片缩放等。
3.对进行了预处理的图像进行人脸图像特征提取,以获得区别于他人的人脸特征。每个人的特征是独一无二的,因此关键的一步则是提取特征以获取区别于其他人脸的特征,这样不仅能有效提高每幅图像的识别率,还能有效地减少计算机的计算量,从而提高计算机的运行效率。要知道,一副图像的数据量已经不算小了,当需要处理的图像的数量特别大时,量变引起质变,则会让计算机处理的时间异常漫长。
4. 对采集到的人脸进行训练,以便于进行搜索匹配。不进行训练时而直接进行搜索匹配,如果一幅幅图过去进行比较,这不仅会严重消耗计算机的性能,更会浪费大量时间,而图片数量十分大时,这更是让人无法接受,这让面向用户的目标变得不现实,更使编程者无法接受。因此需要进行训练并分类,将其中的无效信息去除,将有效信息进行进一步的提取,从而使代码效率更高,使程序运行得更快。
1.3 论文组织结构
本次毕业论文的组织结构如下:
第一章:绪论。本章首先介绍了论文研究的背景和意义,说明了人脸识别出现的缘由;其次,对系统所需要实现的目标及任务进行了基本的阐述;最后介绍了本文的组织结构,说明的本文的写作思路。
第二章:原理分析。本章主要是对人脸识别系统的功能性需求所采用的算法的原理进行描述,主要是对LBP特征和支持向量机进行简单的说明。其中着重说明了LBP特征算子的原理,并说明其改进方式及所实现的方法。
第三章:该章主要讲解本系统的软件方面,即系统所编写的代码部分,并对总体的设计流程进行了简单的描述。该章是以界面上每个按钮所实现的功能来分别进行讲解和描述的。其中为了进行分步操作并更好地实现每一个步骤,从而将每个按钮编写不同的代码功能,力求能够详细分割识别的流程。
第四章:系统的测试与演示。主要说明如何运行系统及点击按钮后系统实现响应的结果,以及所存储的运行数据。同时包括总的演示阶段,并对最后的结果进行分析,计算系统的识别率及影响识别效果的条件。
第五章:总结与展望。本章对系统研究内容与实践结果进行了归纳总结,并提出系统需要改进的部分与未来发展的期望,以求能够为接下来的工作与学习做好更多的准备。
第2章 系统原理分析
本章将介绍程序设计所需要运用的原理部分,对需要运用的原理进行或详细或简略的说明。同时,也对本次毕业设计的设计方案进行讲解,代码将按照所说明的原理进行编写,以适当地处理图片。
2.1 LBP特征
2.1.1 LBP背景介绍
局部二值模式即Local Binary Pattern (LBP),是一种主要用来描述图像局部特征的算子,利用该算子对图像进行处理,在一些方面具有很大的优势,特别是在提取图像的特征方面。利用该算子对图片进行处理,所计算出来的特征值,总体上看具有旋转不变性和灰度不变性等特点,因此能够用于对图像进行特征提取。由于LBP算子具有计算简略、所显示的图像细节和轮廓较好等优点,因此LBP算子在图像识别的许多领域都得到了广泛的应用。由于其独特的优势,该算子在对目标物体进行分类时,能够较好地区分不同的目标。本文是在计算机视觉开源库OpenCv的基础上对每一幅图像利用相应的算法进行处理。其中,本文程序中许多用到的特殊的类及算法都是在OpenCv库中定义的,如需要用到的在MFC上图像显示函数和处理图像用到的图像指针等。同时利用自己编写的代码对图像进行特征提取,再利用库中自带的分类方法进行分类,以完成预期的目标。
2.1.2 传统LBP特征
原始的LBP算子所进行计算依据的原理是:在图像每个像素的的邻域内,以该像素点的像素为参考值,将其所在邻域看成一个整体,将邻域边缘的8个像素点的值与中心点的像素值进行比较,如果邻域边缘像素点值大于中心点像素值,则将边缘点的值暂时设定为1,小于则暂时设定为0。这样,在邻域边缘的8个像素点,每个都会与邻域中心像素点的值进行判断,则会产生一个8位二进制的数,但这个8位二进制数的顺序并不确定。所以需要安装一定的顺序将8个二进制数进行编码,不妨将这个8个二进制数从左上角以顺时针方向进行排列,这样会得到一个8位二进制形式的数。我们知道,灰度图像像素值最大为255,屏幕上显示为白色,而得到的二进制数正好是8位的,转换为十进制则最大为255,与像素值的范围大小一样。经过这样转换,以转换后的8位二进制数值大小来代替该邻域中心点像素值的大小。可以看出,转换后的值是从中心点的邻域中提取的,与该点的相关性变小,而与区域的相关性变高,因此这个值的大小不再是单纯地反映图像在该点的信息,而是图像在这一小块邻域内的信息,这个信息便是图像的纹理信息。这个值便是该图像在该区域的LBP特征值,要想得到该特征值,所出来的图像必须是灰度图像,因为灰度图像像素值最大为255,与最大特征值相等。如果是彩色图像,需要先转换成灰度图,因为彩色图是多通道的并且数据量是灰度图的3倍,会影响程序处理的速度和效率。其原始LBP特征算子原理如图2.1所示。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: