




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计论文论文题目:教室人数统计系统学生姓名: 学生学号: 专业班级:学院名称:指导老师:学院院长:2012年5月15日教室人数统计系统摘要教室人数统计系统能完成对教室人数的实时统计,是高校节能、提高教学质量与方便学生学习生活的关键因素之一。本文所涉及的教室人数统计系统,由于所需要识别的教室环境较为复杂,而且要能够取得精准的结果,所以应该选用较为鲁棒的算法来进行计算与统计。本系统的实现采用Qt和C++语言开发,并结合了OpenCV运算机开源视觉库,最终完成了一个完整的能够别离对图像、视频及摄像头进行人数统计的应用程序。在本文中详细介绍了haar-like特征与积分图方式的相关知识,并采用Adaboost算法为自己成立的样本库训练出了一个级联的分类器,利用该haar分类器完成此系统的人数统计功能。实验结果表明,本应用程序在给定环境下能够达到94%的识别率。误窗口数量较少,鲁棒性较好,而且能够知足实时检测的要求。TheStatisticalSystemofPeopleinTheClassroomAbstractThestatisticalsystemofpeopleintheclassroomcancompletethereal-timestatisticsofpeopleinthestatisticalsystemofpeopleintheclassroommentionedinthispaper,shouldchooseamorerobustalgorithmforthecalculationandstatistics,fortheenvironmentofclassroomiscomplexandtheresultsmustbeaccurate.ThissystemiscompletedwithQtandc++,alsowithOpenSourceComputerVisionpaperdescribesthehaar-likefeaturesandtheknowledgeoftheintegralimagemethoddetailedly,andusedtheAdaboostalgorithmtotrainacascadeofstrongclassifierbasedonmyownsamplelibrary,andusethishaarclassifiertoachievethefunctionofstatistics.Theexperimentalresultsshowthat,inagivenenvironment,thisapplicationcanachieve94%recognitionnumberofwrongwindowsissmall,andtherobustisgood,atthesametimetheapplicationcanworkforreal-time.Keywords:Facedetection;Haar-likefeature;Adaboostalgorithm目录1绪论1课题的研究背景与意义 1国内外研究现状3本文的主要工作4设计目的4需求分析4设计思路4本文结构安排5本章小结6haar-like特征与积分图方式 7构造训练样本库7正样本库7负样本库8haar-like特征的表示及计算8最初的haar-like特征8改良的haar-like特征9积分图方式100度倾斜角的积分图1145度倾斜角的积分图12本章小结12Adaboost算法及分类器的训练13Adaboost算法的来历13Adaboost算法介绍 13算法描述13弱分类器14强分类器14级联分类器16训练分类器16本章小结184人脸检测部份的实现19图片预处置19人脸检测策略19基于图像〃金字塔〃式缩放20基于检测窗口等比例放大20本文采用的检测策略21本章小结225开发环境与实验结果23开发工具的介绍、安装及配置23OpenCV简介23Qt简介23环境配置23实验结果和分析25人数统计系统的评价标准25本系统的检测效果和结果分析25本章小结286总结和展望29工作总结29展望29致谢31参考文献32附录341绪论课题的研究背景与意义中国是一个人口数量超级庞大的国家,在各个公共场合的人员数量,是一个十分重要的信息,也一直都是人们所关注的话题。教室作为其中一个十分特殊的公共场合,它的人数统计更是有着十分现实的意义:在无人或少人的教室开启了全数的风扇和电灯,造成了能源的浪费。据不完全统计,有80%的高校教学楼存在着全天开启电灯的现象,而人数统计能帮忙分析各个教室的人员情形,帮忙引导电器的开关操作,能有效地减少这种情形的发生。高校学生逃课严峻,大部份老师采用点名及签到的方式来避免学生逃课,目前还有部份学校采用了打卡上课的方式。这各种防逃课办法办法,不仅浪费了教学时刻,而且生效甚微。而采用人数统计系统,则更高效、更准确、更人性化。高校教学资源紧张,很多学校的学生都面临着“自习难”的问题。教室的人数与教室的闲置情形直接相关,人数统计系统能帮忙学校合理分派教学资源,让学生在寻觅教室时方便、快捷。讲座时参与的人数能较为客观地反映讲座的受欢迎程度,人数统计系统能够引导学校多举行受学生欢迎而且成心义的讲座,在学生获取知识的同时又能够丰硕业余生活。基于以上各个原因,教室人数统计的重要性不言而喻,它是高校节能、提高教学质量与方便学生学习生活的关键因素之一。在人的身上,能够用来表示人的特征有很多,如头肩部特征、手腕部特征、全身特征、脸部特征、眼睛特征等等。可是,在实际的人数统计的流程中,有一些特征则对人的识别完全没有帮忙。比如若一张图片并未拍到人的正脸而是拍到了背影图片,那么嘴巴、眼镜等特征就对那个人的检测毫无可用价值。在特定的环境当选择一个适当的特征对于人数的检测相当重要。考虑到本课题所处的研究环境是在教室中,研究的主要对象是学生,在那个时刻那个地址学生正在进行的活动是听课、学习等,而且是处于坐的姿态,大部份的体貌特征会被部份的遮挡,所以在这里选择了上半身中最有代表性的人脸作为特征来进行提取。从上面的介绍能够明白,要完成人数统计,第一步就是做到精准的人脸检测。判断一张图片中是不是有人脸,如有人脸则利用标记记录人脸的相关信息,这一进程就称为人脸检测[1]。人脸检测能够应用于人数统计、视频会议、智能人机交互等,它在电子商务、信息安全方面都有着十分重要的作用。早在上个世纪,就有相关团队开始涉及人脸检测领域。可是由于那时的拍照和录像设备的限制,根本不能取得令人满意的图片,对于该领域的探索也就不了了之。随着科技的进步和设备的更新,又通过了这几十年的运算机视觉领域的深切进展,人脸检测技术已经有了相当大的提升。但是,人脸检测技术仍是并未达到完美的状态。目前人脸检测面临着的难点有以下几条:每一个人人脸的细节都有着千差万异,肤色、脸型各不相同,地理环境的不同造成了世界各个地方的人种有着相差较远的人脸特征[图a]。即即是同一个人,在不同时刻表情也有转变,喜悦、愤怒、忧伤、快乐等等各个丰硕的表情造成了那个人脸部细节的转变。一个人脸检测系统可能只能检测出一个人笑的时候的脸,可是却不能检测出那个人哭的时候的脸。眼睛、头发等附带物品对人脸的检测有着较大影响,这些附带物品会遮挡掉部份人脸特征,对检测的进程造成干扰[图b]。人脸有着不同的旋转姿态,可能会有正面的人脸,也可能只有侧面的人脸。对于一个正面的人脸检测系统来讲,它只能够专门好地识别正面的人脸,当碰到侧面的人脸时检测率将会大打折扣。外部的环境因素??如光照、背景等??对检测结果也会产生必然干扰。图人脸检测的难点国内外研究现状上个世纪70年代,人脸检测技术就已经开始萌芽。在那时,研究的主要方向是模板匹配和子空间方式。通过了几十年的进展,人脸检测技术到此刻已日趋成熟,目前主要的研究方向是基于数据驱动的研究方式:通过训练数量超级多的包括人脸的样本和不包括人脸的样本,将人脸样本的统计学特征计算出来,并用特征来取得分类器,利用此分类器完成人脸检测。该基于数据驱动的方式主要能够采用以下几个方式:神经网络学习方式、支持向量机方式、基于Adaboost算法等[2]。神经网络学习方式:Rowley等人最先提出了那个基于神经网络的学习方式,并利用样本训练出多层的神经网络模型。该方式的前端神经网络模块能够进行人脸检测,决策模块能够综合前端模块的结果[3]。支持向量机方式:Osuna等人最先将该支持向量机SupportVectorMachine方式运用到了人脸检测中,并利用样本取得一系列支持向量,再通过支持向量机对待检测的目标进行二分类,判断这是不是是一个包括人脸的窗口[4]。基于Adaboost算法:该算法于2001年被PaulViola第一次实际用到了人脸检测中。这次Viola的成功在本领域有着划时期意义,因为他实现了一个实时的人脸检测,是在那时全世界范围内最为先进的检测系统[5]。随着人脸检测技术的深切进展,每一年在IEEE、ICIP等重要国际会议上,都有着大量的有关人脸检测的论文被发表出来。据统计,在运算机视觉领域的权威论文中,有三分之一都与人脸检测技术有关。各国都对此高新技术表现出相当大的研究兴趣[6]。目前在全世界范围内,有许多个国家的多个研究组在进行人脸检测的工作,其中较出名的有CMU(美国卡耐基梅隆大学)的人机接话柄验室、MIT(麻省理工学院)的AI实验室等。在国内,李子青教授曾经在微软亚洲研究院从事连年人脸检测与识别工作,后来又在中科院组建了一支科研团队,第一次提出了基于近红外的人脸识别技术并成功将该技术用于2008年北京奥运会,此项技术是国内运算机视觉领域的一项十分重要的成绩。本文的主要工作设计目的掌握图像与视频处置的方式,查阅相关文献并选择一个较好的算法来进行人脸检测,并设计和实现该智能统计系统,要求该系统拥有90%以上的检测识别率。需求分析本文的主要研究目的是编写出一款能够统计教室人数的软件。那个软件需要能够在Windows32位操作系统下运行,能从电脑硬盘中别离选择图片、视频或打开电脑自带摄像头,统计出这三种方式下的教室人数,并将统计结果绘出,利用特殊标记将检测到的人标示出来。该软件需要保证必然的准确率,能够对不同的教室环境有必然的适应性。设计思路本软件主要分为界脸部份和人脸检测部份:界脸部份利用Qt完成,拥有三个按钮别离控制图片的选择、视频的选择和摄像头的打开。人脸检测部份是整个软件的核心,利用OpenCV和C++语言完成。如图,它分为下面两个部份:分类器的训练成立一个含有大量图片的样本库,样本库中的图片分为包括人脸特征和不包括人脸特征两种。从样本库中将人脸和非人脸的haar-like特征提掏出来,作为分类器训练进程的输入,然后利用Adaboost算法训练出一个级联的强分类器。该分类器就是一个对人脸和非人脸的判断器。(二)人脸检测若待检测的是视频或摄像头的录像,则从其中提取一帧进行图片预处置;若待检测的是图片,则直接进行图片预处置阶段。加载在上一步工作中训练取得的分类器,对截取的待识别图像进行检测,若通过了分类器则表示检测出了人脸,存储该人脸的相关信息并利用一个红色圆圈将人脸标识出来,若未通过则表示没有检测到人脸。以后移动剪裁窗口并重复检测的工作,直到该测试目标的所有像素点都被扫描过,则这次人脸检测的进程结束。将最终的图片输出,在这上面所有被检测出来的人脸,都利用了红色圆圈标识了出来。图本文的人脸检测流程本文结构安排本文分为以下几章:第1章为绪论,主要论述了本文的研究背景、相关科研功效及要实现该项目的技术难点。第2章中介绍了haar-like特征的由来,及如何利用积分图方式快速地提取人脸样本库的haar-like特征。第3章主如果对Adaboost算法的研究,并介绍了该算法是如何从样本库的特征生成一个级联的强分类器,在这张最后还将笔者训练出分类器的具体操作步骤进行了演示和讲解。第4章介绍的是测试文件在进行检测前需要的前置工作和如何用分类器进行人脸检测。第5章的内容是本软件的开发环境及相关工具的简单介绍,而且还展示了此款软件的实验结果和结果分析。本章小结本章主要介绍了本文的研究背景及研究意义,人脸检测的难点,国内及国际的研究功效,还有本文的主要思路和文章结构。2haar-like特征与积分图方式构造训练样本库样本库的数量与质量,直接关系到了检测的效果。样本库中的图片数量越多,不同化越大,训练出来的分类器效果也就越好。由于已经选择好了预备提取人脸特征,于是咱们需要预备这两组样本:一组为正样本,其中所有的图片都包括了人脸的特征;一组为负样本,其中所有的图片都不包括人脸的特征。正样本库本文采取的样本库,来自于AT&T、Yale等标准人脸库。笔者从中挑选了2706张肤色、表情、光照有较大不同的图片,作为本次训练的正样本库。而且将所有图片的人眼设置在同一个水平位置,去除样本中人的头发,将更有利于训练的进行。所有正样本库的图片都有着以下要求:每张图片都要包括完整的人脸特征,我采取的是竖直方向从额头到下巴,水平方向包括左右脸颊。所有的图片都必需统一格式和大小,我采取的文件格式是bmp图像格式,大小为20X20像素的灰度图。正样本库中的部份图片如图所示。图正样本库中的部份图片负样本库图片的背景对识别率有着专门大的影响,环境越是简单,人脸的识别率越高,而环境越是复杂,人脸检测的难度也就越大。负样本库中的文件就是描述背景图片的。所有负样本库的图片都有着以下要求:不能够包括人脸的特征。数量要足够多,一般来讲要多于正样本库的数量。每张图片之间的不同性要足够大。对于图片的格式及大小,没有具体要求。这里采用了4830张20X20像素的灰度图,有利于加速训练速度。负样本库中的部份图片如图所示:图负样本库中的部份图片haar-like特征的表示及计算最初的haar-like特征Papageorgiou等人最先在人脸表示中利用haar-like特征,他们在人脸检测的研究中利用了Haar小波基函数,并提出了3种类型3种形式的特征[7]。尔后,PaulViola等人又对此进行了改良,提出2种类型4种形式的特征[图]。图最初的haar-like特征由上图可见,haar-like特征由黑白两色的矩形框所表示。计算haar特征值时,将灰度化的图像分为黑白两色区域,计算白色区域W与黑色区域B的像素值之和的差值,再乘以相应的权重系数T,即可取得相应的haar特征值[8]:(2-1)对于图a、图b及图d,特征值计算方式为:(2-2)对于图c,特征值计算方式为:(2-3)以上就是最初的haar-like特征的计算方式。当获取一幅样本图像,按照此方式就可以够计算出这幅图像的特征值并保留下来。但是最初的haar-like特征矩阵数量过少,不足以描述一幅图像的特征。改良的haar-like特征以后,Lienhart等人再次对haar-like特征进行了完善[9],而且提出了一些旋转的haar-like特征,至此,4个边缘特征、8个线性特征、2个圆心围绕特征和1个对角特征组成了新的haar-like特征[图]。图新的haar-like特征本文采用了这15种特征矩形模板,将矩形模板在样本图像中任意放置,每一种形态都称作一种特征,找出样本图像所有的特征,就是训练分类器的基础。图就是其中一种矩形特征在人脸中的表示[10]。图haar-like矩形特征在人脸中的表示积分图方式之前面能够了解到,人脸检测的第一步,就是计算出人脸的特征值。但是,这里的计算量是超级庞大的,因为每碰到一个样本或子窗口图像,都必需排列穷举出所有包括的特征,而且计算出特征值。举个例子,即即是PaulViola提出的最简单的4种矩形特征,将它放在像素为24X24的窗口中排列穷举,能够出现数十万的特征。如此的计算量显然不符合咱们的要求,它将会极大地降低咱们的工作效率。这时急需一种方式来帮忙咱们降低计算量。积分图方式就是如此一种咱们所需要的方式。它是一种能够让咱们只需遍历一次图像就可以够求出图像中所有像素和的算法。积分图方式的核心思想是把待检测图像从起点到其它各个像素点所组成矩形的像素和保留起来,当需要计算某个矩形区域的像素和时,直接从保留的数组中搜索相关元素,即可直接挪用计算结果[11]。它的具体计算进程如下:对指定图像的每一行进行扫描,递归计算每一个像素点在行方向上的累加值和积分图像的值。积分图又分为两种:一种是0度倾斜角,另一种是45度倾斜角。0度倾斜角的积分图某个像素点x,y的值就是它左上角所有像素点的和:(2-4)图中展示的竖直矩形,即为0度倾斜角的积分图。对于图中的区域B,假设它的左上、右上、左下、右下极点别离为一、二、3、4,则区域B的像素和为:(2-5)对于图中的区域D,假设它的左上、右上、左下、右下极点别离为1、11、III、W,则区域D的像素和为:(2-6)图0度倾斜角积分图的计算45度倾斜角的积分图某个像素点x,y的值是就是它左上45度和右上45度区域的像素和:(2-8)图45度倾斜角积分图的计算对于图用蓝色线条所标记出来的区域,咱们有快速的积分图计算方式:(2-9)图45度倾斜角积分图的快速计算本章小结至此,咱们能够从样本库图像中提掏出人脸的特征作为输入,开始咱们的分类器训练。本章详细介绍了haar-like特征的由来、进展和利用积分图方式对特征进行提取的进程。3Adaboost算法及分类器的训练Adaboost算法的来历Valiant在1984年就在运算机学习理论中提出了PACProbablyApproximatelyCorrect模型,他以为机械学习不需要每次都正确,只要能够在多项式个样本和多项式的时刻能够达到所需要的准确率,即可算一次成功的学习[12]。在PAC模型的基础上,Valiant又提出了Boosting算法。在那个算法中有两个核心概念,弱学习和强学习。弱学习是指一个识别率不算很高,比随机识别好一点的学习算法,它比较容易取得。强学习是指一个识别率很高的学习算法,它很难取得。Valiant和Kearns证明了只要有足够的数据,弱学习能够通过量次学习的方式组合取得一个高精度的强学习算法,使得Boosting算法有据可依。以后,又有多位机械学习领域的专家对Boosting算法提出了改良,目前已经形成了4种比较成熟的算法,别离是DiscreteAdaboost、RealAdaboost、LogitBoost、GentleAdaBoost。Adaboost算法介绍算法描述本文在训练进程中所利用的算法是GentleAdaBoost算法。它的具体描述如下[13]:对于某N个样本文件,,,设定正样本(即人脸样本),设定负样本(即非人脸样本)。初始化样本的权重。概念训练的轮数N,从第1轮到第N轮,别离做:挑选这一轮训练进程中的最优弱分类器,该弱分类器需使得误差最小;更新权重;归一化权重;取得并输出强分类器。弱分类器最开始取得的弱分类器,可能只包括一个haar-like特征。它不能够直接进行咱们的人脸检测工作,因为它的效果可能与随机检测差不多。咱们需要的是利用它取得一个最优弱分类器,才能进行下一步的工作。弱分类器的训练进程,咱们把它称为一种决策树的方式:在机械学习中,咱们用决策树来分析各个因素对结果所造成的影响,它是一种从属性到值的映射[14]。决策树中的节点代表对象,分叉路径代表属性,叶节点代表从这条路径的属性取得的值。咱们能够用下图所展示的决策树帮忙理解:图决策树的流程弱分类器的训练方式就与此图类似。它拥有一个阈值,在每一个非叶子节点,它都需要判断一次,当某张图片的计算出的特征值大于那个阈值的时候,就被判定为人脸进行下一步,反之,则被判定为非人脸。通过如此的运算,最优弱分类器就产生了。强分类器前面提到了Adaboost算法的流程,那么从弱分类器具体是如何做才能取得强分类器呢?强分类器概念如下:(3-1)代表强分类器,代表第n个弱分类器,代表强分类器的阈值。具体操作如下:设定轮数N。第一轮训练样本,取得最优弱分类器。提高被误判样本的权重,将新样本和上一轮错分了的样本统一放在一路,进行新一轮的训练。循环上一步骤,在N轮以后能够取得N个最优弱分类器。将N个最优弱分类器组合,即可取得一个强分类器。图强分类器的取得级联分类器虽然强分类器能够保证必然的准确率,可是只有一个强分类器仍是难以真正应用到人脸检测中。因为单个的强分类器有这么一个特点:它有着较小的错误同意率,可是检测率也不高。也就是说,非人脸通过检测的概率超级低,可是人脸能够通过检测的概率不会超级高。咱们想要的固然是高的检测率和低的错误同意率,比如要高到90%的人脸能通过检测,而只有1%的非人脸能通过检测[15]。但是,设置强分类器阈值的时候就决定了高的检测率与低的错误同意率是矛盾的,所以咱们需要增增强分类器的个数,以达到分类器在提高检测率的同时,能够大大降低错误同意率[16]。所以,咱们的级联分类器,就是多个强分类器的组合,在前面的级层,强分类器较为简单,节点数量较少,在后面的级层,强分类器较为复杂,节点数量更多。训练分类器前面介绍了正负样本库的构造及级联分类器的取得方式,此刻介绍一下本文从样本库取得级联分类器的进程。本次训练的环境是Windows32位操作系统,电脑内存2G,英特尔酷睿i3处置器,利用开源的运算机视觉库OpenCV进行训练。将所有正样本放在名为pos的文件夹下,将所有负样本放在名为neg的文件夹下。利用〃〃指令将正负样本库别离描述为文本文件[如图],在pos文件夹和neg文件夹下能够别离取得〃〃和〃〃[如图]。图将正样本库描述为txt文件的指令图取得正负样本库的描述文件〃〃的内容如图所示,每一行代表一个样本,bmp表示图片格式,〃1002020〃表示从坐标0,0到20,20,一张样本图片中只有一个目标??即一张人脸。图正样本库描述文件的内容利用〃〃指令和〃〃将〃〃文件转换为〃〃,这是训练的标准输入文件。这里的各项参数的含义为:〃-vec〃是输出文件;〃-infopos\〃是正样本的描述文件;〃-bgneg\〃是背景描述文件即负样本描述文件;〃-w20-h20-num2706〃表示正样本的大小为20X20像素,个数为2706个。图取得训练的标准输入文件〃〃最后利用〃〃指令和〃〃开始训练。这里各项参数的含义为:〃-dataxml'%输出的xml文件;〃-vec〃为标准的输入文件,〃-bgneg\〃为背景描述文件,〃-nstages22〃表示最后的分类器级数为22,〃-npos2706-nneg4381〃表示正负样本的数量,〃-w20-h20〃表示正样本的像素大小,〃-mem800-modeall"表示训练时分派800M的内存,并采用0度倾斜角和45度倾斜角两种特征来训练。图分类器的训练分类器的训练一共耗时大约4天5夜,训练出了一个22层的级联分类器,即一个924KB的xml文件[如图]。图训练出的xml文件本章小结本章主要介绍了Adaboost算法和级联分类器,详细的论述了决策树的原理,及如何取得弱分类器、强分类器、级联分类器。然后,又展示了笔者如何利用样本库成功训练出分类器的进程。至此,分类器的训练工作全数结束。4人脸检测部份的实现图片预处置用来测试的图片、视频及摄像头获取的实时图像,都是彩色图像,必需要对图像进行必然的处置,才能够利用分类器开始检测。对于视频或读入的摄像头实时画面,需要从中提取一帧图片。对于图片,能够直接开始处置。第一利用cvCvtColor,,CV_BGR2GRAY函数将待检测图片转换为灰度图像,再利用cvResize,,CV_INTER_LINEAR对图片进行双线性插值的缩放,最后利用cvEqualizeHist,进行直方图均衡化,就可以够开始检测了[17]。图图片预处置流程人脸检测策略咱们采用的人脸图片样本都是大小为20X20像素的,但是在实际环境中,拍到的图片中的人脸,可能是任何大小,可能在图片中的任何位置,如此的人脸应该如何检测出来呢?一般来讲,要实现这种任意大小的人脸检测,有着两种检测策略:一种是基于图像〃金字塔〃式缩放的方式,另一种是将检测窗口进行等比例放大的方式[18]。基于图像〃金字塔〃式缩放传统的检测方式,采用的是这种基于图像〃金字塔〃式缩放的方式:将检测窗口的大小固定不变,不断地缩放待检测图片的大小,每一次缩放都采用相同的比例[19]。对每一幅被等比缩放的待检测图像,都穷举出所有的窗口,并利用分类器对所有的窗口都检测[如图]。这种方式的益处在于,它没有改变检测窗口的大小,没有缩放特征矩阵,使图片在检测时的环境与训练分类器时的环境维持了一直,检测的识别率更高。但是它有一个致命的问题,就是它需要对每一个被缩放后的图片都进行特征值的计算,大大降低的整个检测的效率,增加了运算时刻。图等比例缩放待检测图片基于检测窗口等比例放大另一种检测方式,是这种将检测窗口等比例放大的方式:将待检测图片的大小固定不变,不断地放大检测窗口的大小,每一次放多数采用相同的比例,且放大后的窗口大小不能够大于图片本身的大小[20]。将每一个被放大的检测窗口,都对图片进行遍历,取得检测结果[如图]。这种方式虽然会影响必然的检测准确率,可是它不需要改变图片的大小,减少了后台计算量。图等比例放大检测窗口本文采用的检测策略上面分析了两种人脸检测策略的好坏,那么在实际应用中应该采用哪一种呢?查阅前人的工作功效,咱们能够看到:两种检测策略的识别率仍是有着必然差距,传统的基于图像〃金字塔〃式的缩放方式比检测窗口等比例放大的方式要好得多,检测率高出个百分点。但是,传统方式的耗时却是检测窗口等比例放大方式的快要9倍[21]。表两种检测策略的对比采用的策略人脸总数检测出的人脸数 误识别窗口数大小为256X377图片的检测耗时基于图像〃金字塔〃式缩放13412811基于检测窗口等比例放大13412221在处置单幅图片的检测时,利用传统的方式也不成太大问题,因为2秒之内的等待时刻对于用户来讲仍是属于能够同意的范围。但是,若是在处置视频文件时,传统方式就完全不适用了,而必需采用耗时较短的方式以达到实时监测的目的。所以在本文中的检测策略,采用的是基于等比例放大检测窗口的方式。本章小结本章主要介绍的是人脸检测部份的工作流程和工作原理,主如果进行图片的预处置,并利用等比例放大检测窗口的方式来进行人脸的检测工作。整个软件设计的核心内容也就到此结束。5开发环境与实验结果开发工具的介绍、安装及配置本文所利用的开发环境是Windows32位操作系统,拥有自带的笔记本摄像头,利用了开源运算机视觉库OpenCV、VisualStudio2008和Qt软件界面利用Qt完成,人脸检测的核心部份利用OpenCV和C++语言完成。OpenCV简介Intel公司在1999年成立了OpenSourceComputerVisionLibrary,简称OpenCV。它是一个完全开源的能够跨越Linux、Windows等多个操作系统的运算机视觉库,主要由一系列C语言函数与少量C++的类所组成。OpenCV能够应用于人机互动、运动跟踪、图像分割、人脸识别等等各个运算机图像学领域,包括了运算机视觉里的很多经典、通用算法,而且有着相当可观的运算处置速度。目前,OpenCV已发布至版本。Qt简介Qt是一个开源的C++图形用户界面库,由挪威TrollTech公司在1995年发布,以后诺基亚收购了该公司。它具有超级良好的封装机制,代码可重用性高,对于开发者来讲利用起来超级方便。而且,它拥有超级丰硕的API及大量开发文档,对于刚接触Qt的用户也能够较快上手。另外,它还能够支持OpenGL。环境配置下载OpenCV和Qt并安装,在VisualStudio2008中为工程配置环境。选择〃工具f选项…项目和解决方案一VC++目录〃,为OpenCV添加库文件、包括文件和源文件:图在VS2008中添加OpenCV库文件成立工程后,选择〃项目…属性f配置属性f链接器…输入〃为工程添加Qt和OpenCV的依赖项。图为项目添加Qt和OpenCV的附加依赖项实验结果和分析人数统计系统的评价标准此刻那个基于人脸检测的人数统计系统已经完成了,那么应该利用哪些相关指标来评价它的性能呢?此刻国际上评价人体、车牌等的检测识别主要利用以下几个参数,咱们也能够进行借鉴[22]:检测率:该系统检测出的人数与该图片中实际人数的比值。检测率越高,表示在图片中出现过的人能够被检测出来的概率也就越高,发生遗漏检测的概率也就越低。误检率:该系统误检测出的人数(即该图片中某个位置没人,可是被系统标注出了有人)与该图片所能穷举出的所有无人窗口的比值。但是穷举所有窗口的计算较为复杂且表达效果不够直观,咱们在这里利用误检测出的窗口数来代替该指标。鲁棒性:该系统对不同环境及倾斜人脸的适应性。一个好的人数统计系统,应该能够适应不同的环境。本系统虽然是在教室利用,可是它需要能够适用于诸如寝室、操场等环境,才是一个比较好的系统。检测速度:这与算法的选择与机械的配置有关。一个好的检测系统,应该有着理想的检测速度,以达到实时检测的目的。在其它条件维持一致的情形下,检测速度越好,要求的机械配置也就越高。咱们要能够在经济投入和高运行速度的取得中找到一个比较好的平衡点。本系统的检测效果和结果分析本系统能够检测图片、视频、摄像头实时录像的人数,在这三种情形下的检测效果一致,所以下面采用图片的检测效果来描述本系统的检测效果。为了保证明验效果的权威性,在进行测试实验时既采用了CMU(美国卡耐基梅隆大学)的人脸数据库"FrontalFaceImage"中的部份图片,又采用了从实际教室环境??湖南大学前进楼??搜集的图片,以验证该系统是不是对经典图片和教室环境都有效果。这些图片包括了不同环境、不同表情、不同时期、不同倾斜角度的多个人脸,是一个比较有说服力的测试集。读入图片以后,系统利用红色圆圈标记出了检测到的人脸,并将统计结果在主窗口进行了展示。在实验中,笔者一共采用了10张图片进行人数的统计,这10张图片中一共有104个人,最终检测到了98个人,而且出现了4个误检测窗口。实验的数据与最终统计结果展示如下:表实验结果统计图片编号图片中的人数检测出的人数误窗口数58573TOC\o"1-5"\h\z110760530981440870770330220合计104984在图中展示了编号别离为一、二、3、4的图片的检测效果。结合上面的统计数据和效果图,能够看到该系统对于经典图片和现实环境都具有较好的适应性,无论图片中是人多仍是人少,无论图片中的人表情是正在笑仍是面无表情,无论图片的背景是如何的环境,都能够比较好地识别出来,具有较好的鲁棒性,识别率能够高达94%,误检窗口数也只有4个。但是,该系统对于以下几种情形的检测效果仍是不佳:倾斜角度较大的人脸(将脖子歪着的时候)、侧向的人脸、头发太长并遮挡了额头和眼睛部份的人脸。分析原因,主如果因为本系统主要针对正面展示而且姿态端正的人脸,训练分类器时样本库也主要采用了脸部从额头到下巴及左右脸的特征,所以对特征遮挡严峻的人脸不能识别。图部份检测效果展示本章小结本章主要对本系统在开发进程中的利用到的工具与相关的环境搭建进行了简单的介绍,并同时选取了不同性比较大的经典图片和现实图片作为测试集,展示和分析了实验的结果。6总结和展望教室的人数统计是一项超级具有现实意义的课题。本文选取了人脸作为特征进行检测,并实现了一个基于haar-like特征的人数统计系统,该系统达到了94%的识别准确率,误检测窗口数也较少,对于姿态端正的正向人脸有着比较好的识别效果,能够成功地完成人数统计的功能。工作总结本文主要进行了以下几个方面的工作:选取了人脸来描述人的特征,详细介绍了haar-like特征的含义,及如何利用积分图方式快速地对haar-like特征进行提取。分析了Adaboost算法的工作流程和决策树的判别原理,别离介绍了弱分类器、强分类器和一个级联的分类器的获取进程。并利用自己构建的人脸样本库成功训练出了一个级联的强分类器。掌握了图片和视频的处置方式,在读入图片、视频时进行了相关的预处置,以进行检测的相关工作。分析了两种人脸检测策略方式的好坏,并在软件中采用了一种较为适用的方式??等比例放大检测窗口。完成了一个完整的软件,能够别离对图片、视频、摄像头的实时录像进行人数的统计,并展示和分析了该软件的实验结果及不足,实验结果表明该系统已经达到了94%的检测识别率,超过了预定的90%。展望本文所构建的人数统计系统,虽然能够完成人脸的检测功能,可是距离投入到实际的应用并供学校利用仍是有着必然的差距。笔者分析,对于以下几点还需要继续进行改良、扩充和完善:本文所实现的人脸检测的功能,和在OpenCV中自带的人脸检测系统相较而言,识别效果要差一些,这应该是因为样本库还不够丰硕,图片的数量还不够多。通过查阅相关资料,笔者发觉自己构建的样本库中的图片虽然十分经典,包括了不同肤色、不同表情的许多人脸,可是由于这些图片的年代较为久远、分辨率较低、画质较差,不足以跟上时期的转变。在构建样本库时还应该收集部份今世的人脸图片及非人脸图片加入到样本库当中,以提高训练出的分类器的识别率。本文介绍的系统,需要人的姿态端正的正脸能够完整地在图片中进行展示,才能够有着比较好的识别效果,本系统对于倾斜人脸及侧向人脸的识别率不尽如人意。如何研究出对倾斜及侧向脸有较好识别率的系统,是我需要继续试探的问题,也是该领域此后的一大进展方向。本系统虽然能完成人数统计功能,可是距离真正应用到帮忙学校节约用电、统计上课人数等还有必然差距。继续完善周边功能使得它能发挥更具体的作用,是未来需要做的。本文的分类器训练进程,一共耗时4天5夜。分析原因,主如果和Adaboost算法本身有着较大关系,在和研究生学长交流时得知利用SVM支持向量机的方式训练数量相近的样本库,只需要10多个小时的工作就可以够完成。另外,如何减少特征矩阵数量以达到减少训练耗时的目的,也是一个待解决的问题。本文只进行了人脸检测中Adaboost算法的分析研究,其实该算法在车辆的统计、车牌的识别等方面都有着相关的应用,如何对该算法在其它领域的应用进行借鉴,并用来改良该算法在本文中的表现,也是个需要探索的问题。致谢在毕业设计和论文完成之际,本人的四年大学生活也即将画上完美的句
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 壮族特色公司年会策划方案
- 大型促销抽奖活动方案
- 大班暑假阅读活动方案
- 大型策划活动方案
- 天籁促销活动方案
- 大型蛋糕活动方案
- 大班生活礼仪活动方案
- 场地比赛活动方案
- 大班奥运活动方案
- 大牌签到活动方案
- DZ∕T 0270-2014 地下水监测井建设规范
- 内江市社区工作者考试题库可打印
- 2023-2024学年广西壮族自治区桂林市物理八下期末考试试题及答案解析
- (高清版)JTGT 3365-02-2020 公路涵洞设计规范
- 明挖隧道专项施工方案
- 很完整半导体制造工艺流程
- 建筑结构荷载规范DBJ-T 15-101-2022
- 中华民族共同体概论课件专家版4第四讲 天下秩序与华夏共同体的演进(夏商周时期)
- 2024十八项医疗核心制度必考试题库及答案
- 通信线路工程(第二版)第8章通信线路工程施工安全
- 国家开放大学电大专科《计算机平面设计(2)》网络课形考任务1及2答案
评论
0/150
提交评论