ImageVerifierCode 换一换
格式:DOC , 页数:40 ,大小:1.29MB ,
资源ID:6253206      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6253206.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人脸检索技术及其在相册管理中的应用-检测模块设计.doc)为本站会员(wo7103235)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

人脸检索技术及其在相册管理中的应用-检测模块设计.doc

1、人脸检索技术及其在相册管理中的应用检测模块设计I摘 要近年来随着数码相机的广泛使用和数码相册的出现,以人脸为对象的索引和检索引起了人们的浓厚兴趣。我们知道著名的搜索引擎 google 提供了图象搜索的功能,但是目前,google 的图象搜索功能还局限于基于关键词的搜索。考虑到实际应用的可能情况,类似地,我们把目标定位于特定人的人脸检索上,即根据特定人的若干人脸样本,在图片库中检索出含有该特定人或与之相像的人脸的图片序列。随着人脸检测和识别技术的发展,我们可以把人脸检索技术运用到相册管理器中以实现基于图像内容的搜索功能。本文阐述了人脸检测和识别技术的发展和应用,并对人脸检索技术进行了详尽的论述。

2、经过比较,我们采用了基于OpenCV的人脸检测技术和基于几何特征的人脸识别方法实现了人脸检索技术在相册管理器中的应用。并且分析比较了人脸检索技术所涉及的各种算法,为以后人脸检索技术在相册管理器的应用提供了好的方向,我相信在优化算法和更人性实用的设计基础上可以做出更好的基于图像内容搜索的相册管理系统。关键词:人脸检测;人脸识别;人脸检索人脸检索技术及其在相册管理中的应用检测模块设计IIAbstractIn recent years, with the widespread use of digital cameras and digital album appears to Face targe

3、ted indexing and retrieval of a cause for great interest. We know that the famous search engine provides a google image search function, but at present, google image search function also limited to the search based on keywords. Taking into account the possible practical applications, similar to, we

4、have targeted to specific people crawling on the face, that is based on specific people face a number of samples in the gallery crawl to contain the specific person or people with similar Face the picture sequence. With face detection and recognition technology development, we can face retrieval tec

5、hnology applied to the album manager in order to achieve the content of the image-based search function. In this paper, face detection and recognition technology development and application, and who Face retrieve technology for a detailed exposition. After comparison, we have adopted based on the Op

6、enCV face detection technology and based on geometric characteristics of the face recognition method to achieve a human face retrieval technology in the album manager of. And comparative analysis of the human face retrieval technology involved in algorithm, for future retrieval technology in the fac

7、e for the management of the album provides a good direction, I believe that in Optimization and more humane and practical design can be made on the basis of more Good image-based search album content management system.Key words: Face Detection; Face Recognition; Face Retrieval人脸检索技术及其在相册管理中的应用检测模块设计

8、III目录第一章 人脸检索技术 11.1 人脸检测的定义 11.2 人脸识别技术 11.3 人脸识别技术的广泛应用 4第二章 人脸检测的方法和发展 42.1 初始期 42.2 发展期 42.2.1 选择计算量小的特征 42.2.2 由粗到精的分层处理 52.2.3 多线程的方法 52.2.4 降低特征空间的维数 52.2.5 神经网络预处理 62.3 转折期 62.4 综合期 72.5 总结与展望 8第三章 基于 OPENCV 的人脸检测 93.1OPENCV 简介 93.2 VC+6.0 下 OPENCV 编程环境的搭建 93.2.1 OPENCV 的安装 .93.2.2 相关设置 .103

9、.3 基于 OPENCV 目标检测的人脸检测 .133.3.1 目标检测 .133.3.2 OPENCV 快速人脸检测的实现 .14第四章 总结 23人脸检索技术及其在相册管理中的应用检测模块设计IV致谢 24参考文献 25人脸检索技术及其在相册管理中的应用检测模块设计VContentsChapter 1 Face Retrieval 11.1 The Definition of Face Detection.11.2 Face Recognition Technology11.3 The Wider Use of Face Recognition Technology 4Chapter 2

10、Face Detection Methods and Development.42.1 The Initial Period42.2 Development Period.42.2.1 Select a Small amount of Calculation of the Characteristics .42.2.2 Coarse to Fine the Slicing 52.2.3 The Method of Multi-threaded.52.2.4 Reduce the Characteristics of the Space Dimension52.2.5 Neural Networ

11、k Pretreatment.62.3 Transition Period 62.4 Comprehensive View .72.5 Summary and Outlook .8Chapter 3 Based on the OpenCV Face Detection 93.1OpenCV Profile.93.2 VC + +6.0 under OpenCV Programming Environment Structures .93.2.1 OpenCV Installation.93.2.2 Related Settings103.3 Based on OpenCV Target Det

12、ection of Face Detection.133.3.1 Target Detection.133.3.2 OpenCV Rapid Realization of the Face Detection.14Chapter 4 Summary23人脸检索技术及其在相册管理中的应用检测模块设计VIAcknowledgement24References 25人脸检索技术及其在相册管理中的应用检测模块设计1第 1 章 人脸检索技术1.1 人脸检测的定义给定任意图像,人脸检测的目的是确定图像中是否有人脸,如果有人脸,则返回人脸在图像中的位置和范围。人脸检测面临的挑战可以归结为一下因素:1) 姿势

13、。人脸图像会因摄像机人脸的相对位置(正面,成 45 度角,侧面,上下颠倒)以及象独眼、鼻子部分或全部闭合等一些人脸特性而不同。2)组成部件的有和无。象胡子、眼镜等面部特征,有些人有,有些人没有,而且它们在形状、颜色、和大小方面也有很大的差别。3)面部表情。人的面貌直接受面部表情的影响。4)遮挡。人脸可能别其他物体部分遮挡。在有一群人的图像里,有些人的脸会被其他人的脸部分遮挡。5)图像的方位。人脸图像直接受视频光轴的不同旋转角度影响。6)成像条件。当图像形成的时候,光照(光谱、光源分布、光密度)、摄像头特性(感应器,镜头)等因素会影响人脸的外观。1.2 人脸识别技术人脸是自然界存在的一种特殊的、

14、复杂的视觉模式,它包含着极其丰富的信息。首先,人脸具有一定的不变性和唯一性,人脸识别是人类在进行身份确认时使用得最为普遍的一种方式其次,人脸图像还能够提供一个人的性别、年龄、种族等有关信息。从上个世纪六十年代以来,随着计算机和电子技术的迅猛发展,人们开始利用计算机视觉和模式识别等技术对人脸识别进行研究。近年来,随着相关技术的不断发展和实际需求的日益增加,人脸识别己经引起了越来越多的关注,人们也开始了在相册管理器中应用人脸识别技术以实现基于图像内容的搜索的功能。1.3 人脸识别技术的广泛应用人脸识别的研究始于二十世纪六十年代中后期,近 40 年来得到了长足的发展,尤其是近几年来,更成为一个热门的

15、研究课题,国内外各知名大学、研究所、IT 公司等都得到了大量的项目支持。人脸识别问题之所以得到重视,是人脸检索技术及其在相册管理中的应用检测模块设计2因为其有重要的研究意义,突出表现在其对学科发展的贡献和巨大的潜在应用前景两个方面:1)人脸识别具有巨大的潜在应用前景(表格一)2)人脸识别研究可以极大地促进多门相关学科的发展人脸识别的研究范围主要包括以下几个方面:1)人脸检测:在输入的图像中寻找人脸区域。2)人脸的规范化:校正人脸在尺度、光照和旋转等方面的变化。3)特征提取:从人脸图像中映射提取一组反映人脸特征的数值表示样本。4)特征匹配:将待识别人脸与数据库中的已知人脸比较,得出相关信息。人脸

16、检索技术及其在相册管理中的应用检测模块设计3应 用模 式典 型 具 体 用 特 点 说 明 应用领域护 照 、 身 份证 等 查 验海 关 、 港 口 、 机 要 部 门等 查 验 持 证 人 身 份公 共安 全准 考 证 查 验 防 止 替 考 问 题 教育机要部门物理门禁避 免 钥 匙 和 密 码 被 窃 取造 成 失 窃公共安全机要信息系统门禁避免单纯的密码被窃取造成信息被窃信息安全面向考勤系统 方便,快捷,杜绝代考勤问题企业应用金融用户身份验证避免单纯的密码被窃取造成财产损失金融安全屏幕保护程序 方便快捷的允许合法用户 人机交互出 入 境 管 理 过 滤 敏 感 人 物 ( 间 谍 、

17、恐 怖 分 子 等 )网 上 追 逃 在 PDA 等 移 动 终 端 上 进行 现 场 比 对身份识别 会 议 代 表 身份 识 别防 止 非 法 人 员 进 入 会 场带 来 危 险 因 素国 家安 全公 共安 全人脸检索技术及其在相册管理中的应用检测模块设计4智 能 Agent 自动识别用户身份,提供个性化界面表格一第 2 章 人脸检测的方法和发展2.1 初始期这一阶段内的研究更多的是以检测精度的提高和各种视角的人脸检测为主要内容,速度问题的考虑相对较少。一些代表性的学者和他们的研究有:MIT 的 Sung 等提出的基于样本学习的方法。他们采用 k-均值聚类方法在特征空间中建立6 个“人脸

18、”簇(Clusters)和包围“ 人脸”簇的6 个“非人脸”簇,以使“人脸”与“非人脸”模式的边界更为清晰。算法利用训练样本到各个簇中心的距离训练一个多层感知器进行分类,用来实现检测人脸。值得强调的是为了解决人脸检测中“非人脸”样本的选取问题,Sung 等使用了“自举”(bootstrap)方法:首先建立一个仅使用 “人脸”样本和少量 “非人脸”样本训练的初始分类器对一组图像进行检测,将所有的错误报警(不是人脸而被错检为“人脸”的结果) 加入“非人脸”样本库;然后使用得到的“人脸”和“非人脸”样本训练构造新的分类器重新进行检测。以上过程不断迭代,直到收集了足够的“非人脸”样本。2.2发展期所有

19、划分为发展期的研究都对人脸检测中的速度问题进行了较多的考虑,使系统向实际应用要求的速度逐步靠拢。这个时期中的人脸检测算法从对系统加速的不同角度方面来看,可以分为以下几类:2.2.1选择计算量小的特征由于肤色和边缘特征计算量相对较少,因此它们经常用于提高检测速度,或者直接使用或者是作为系统的预处理部分。只使用单一的肤色或者边缘特征,一般情况下误检率比较高,检测精度也有限。因此它们更多是用在一个检测系统的初始阶段,对图像中的人脸位置进行初定位,然后再用其它的特征进行判断,去除初检结果中的假脸,这样可以既提高检测的速度又保证了检测的精度。人脸检索技术及其在相册管理中的应用检测模块设计51)基于肤色特

20、征Michael J. Jones 等人基于大量的样本图像对肤色检测问题进行了统计分析,比较了用直方图模型和混合高斯模型进行肤色检测的情况;B. Martinkauppi 对Skin locus 的理论和方法在不同光照条件下的肤色分布问题作了细致的分析,他指出在特定的摄像机条件下,各种光照条件下的肤色分布可以用两个二次或者多次的多项式来完全描述,这为解决肤色检测的光照问题提供了一些依据。2)基于边缘特征利用图像的边缘特征检测人脸时,其计算量相对要小的多,可以用来提高检测速度。大多数使用边缘特征的算法都是基于人脸的边缘轮廓相似于椭圆的特性,如H.Kim 等提取边缘特征,利用建立的椭圆模板进行椭圆

21、匹配来检测人脸。Wang 等对椭圆模板进行了改进改进 ,采用一个椭圆环模型来代替椭圆,并加入了边缘的方向特征,实现了简单背景的人脸检测。但是利用椭圆特性进行计算时,椭圆的判断又增加了整个检测过程的计算量,抵消了边缘特征数量少的一些优势,阻碍了速度的提高。2.2.2由粗到精的分层处理B. Frba提出了一种由粗到精的搜索策略,其思想是利用跳像素加大步长。具体来说在每一级金字塔结构的搜索中,先采用较大的步长搜索出可能的候选区域,再在这些区域周围加大搜索的分辨率,直到单个像素为止。2.2.3多线程的方法Shpungin 使用了多线程的方法实现人脸跟踪。该系统包括两个处理模块:第一个模块使用颜色、形状

22、和一些动力学特征来决定人脸候选区域;第二个模块是一个神经网络分类器,任务是对第一个模块中得到的人脸候选区域进行确认。系统使用了多种先验信息和神经网络分类器,计算量比较大,因此影响了人脸跟踪速度。鉴于此,作者在该文中使用了多线程的方法对两个模块进行并行处理,这样系统能够及时把处理器资源分给不同的模块,从而在一定程度上解决了速度问题,使系统达到了实时。2.2.4降低特征空间的维数C. J. Liu 提出了一种基于Bayes 的特征判别人脸检测方法 (BDF) 并采用人脸检索技术及其在相册管理中的应用检测模块设计6PCA 进行降维以减小计算量。他采用一个数据库进行训练,然后在不同的数据库上进行测试,

23、结果表明该算法具有鲁棒的泛化能力。其特点在于用特征分析的方法提取出一个由输入图像、其一维的Haar 小波表述及其幅值投影相结合而形成的高维特征向量,然后采用Bayes 分类器检测一幅图像中出现的多幅人脸。但是由于所得到的向量维数很高,例如采用1616 大小的图像作为训练集,其形成的特征向量共有31616=768 维。为了减少计算量, Liu 采用PCA 将该向量的维数降到10,这样计算量减小了76.8 倍,同时也提高了检测速度。Bernd Heisele 也使用了类似的方法,将原来283 维的灰度特征通过PCA降低到100、60、30 分别进行实验,也在一定程度上提高了检测的速度。2.2.5神

24、经网络预处理神经网络用于检测平面内旋转的人脸角度,在对原图像进行反旋转后,送到正面人脸检测器中进行检测。对于正面的人脸检测器,他采用了两个多层的神经元网络来从人脸和非人脸样本中学习它们各自的模型(如灰度值,像素的空间联系)。其正面人脸检测器由两部分组成:多个神经元网络组成的前端检测器和综合前端检测器的决策模型。为了检测旋转的人脸,他又采用了一个神经元网络,它对每个输入的子窗口中可能的人脸方向进行判决,并根据判决得到的人脸旋转角度对该窗口进行反旋转,再将该窗口送入正面人脸检测器进行检测。采用这种方法与只将图像在-360o, 360o内进行分步旋转以检测是否有人脸相比,速度提高了17.6 倍。在这

25、方面还有陈泽宇等基于级联神经网络的人脸检测方法,Juell 等基于人工神经网络的方法,Kou Zani 等提出的基于人脸器官检测的多级网络方法和Anifantis 等提出的双输出人工神经网络的检测算法。2.3转折期在初始期和发展期内的文献表明,虽然经过从多学者们的共同努力,人脸检测的速度有了一定的提高,但相对于人脸检测的精度而言进步相对较慢。可以认为P. Viola 的文章“Viola P.Rapid object detection using a Boosted cascade of simple features”的发表是人脸检测速度提高的一个转折点,他本人也在人脸检测的速度提高方面做出

26、了突出贡献。他通过综Adaboost 和Cascade 算法实现了实时的人脸检测系统,使得人脸检测从真正意义上走向实用。人脸检索技术及其在相册管理中的应用检测模块设计7该文的意义在于:(1)第一次引入了“积分图”的概念。这使得检测器中特征)的计算非常快。(2)基于AdaBoost的学习算法。它能从一个很大的特征集中选择很小的一部分关键的特征,从而产生一个极其有效的分类器。最初的AdaBoost学习算法可用于提高一个简单的分类器(有时又称为弱分类器)的性能,它最终形成的强分类器的训练错误率接近于零,而且具有很好的推广性。Viola共定义了180,000种矩形特征,这个数远大于图像中像素的数目。每

27、个特征都能很快计算出来,再通过试验选出一小部分作为特征就形成一个有效的分类器。(3)在级联的检测器中不断增加更多的强分类器。这可以很快排除背景区域,从而节约出时间用于对那些更像人脸的区域进行计算。2.4综合期Rainer Lienhart 在Viola 的基础上又提出了一些新的旋转Haar-like 特征。他通过学习得到的系统能够用于旋转人脸的快速检测,同时也能使平均的误检率降低10% 。此外他还研究了一些其他的Boosting 算法,如:离散的(Discrete Adaboost),实值的 (Real Adaboost)和平缓的 (Gentle Adaboost),通过比较得出基于平缓的(G

28、entle Adaboost)效果较好。B. Froba在利用Adaboost算法的基础上提出了一种在灰度图像中进行正面和平面内旋转人脸的实时检测系统。他是在以前EOM(edge orientation matching)正面人脸检测算法的基础上进行的扩展,并且在其中引入了SNoW 算法进行校验,从而得到了一个更为鲁棒的人脸检测系统。在Athlon1000MHz的机器上,处理一幅大小为384288 图像只需要0.05。C. Liu 等人提出了一种基于Kullback-Leibler Boosting (KLB)算法构造的一个紧凑的(compact) 分类器。该算法解决了AdaBoost 算法中

29、存在的两个问题:第一,怎样根据学习得到的系数对弱分类器进行最佳的组合,其解决的策略是通过迭代调整系数以最小化人脸检测的错误率,它能保证在特征不断增多的情况下检测的错误率不会增加;第二,怎样选择最好的弱分类器或特征,其策略是寻找使人脸和非人脸之间的KL 散度的对称性最大化的KL 特征,通过最优人脸检索技术及其在相册管理中的应用检测模块设计8的特征来构造最优的分类器,一些学习得到的KL。P. Viola 本人也在接下来的工作中对Adaboost 进行了一些改进,提出了一种不对称的Adaboost 算法,可以用于快速的图像检索和人脸检测。此外还有Zhang 提出的基于Boosting 的多视角的人脸

30、检测, Sahbi 提出的综合SVM 和分级的方法进行人脸检测的系统等。2.5总结与展望人脸检测问题的内涵十分广泛,需要解决的问题很多,实现通用的方法还存在一些困难。现在的研究通常是针对特定约束条件下或某种应用背景下提出解决方法。由于速度是几乎所有应用中都必须考虑的问题,因此也越来越引起研究者的重视。总的来说,基于 Boosting 和 Cascade 算法的系统在速度方面具有很大的优越性。它是在提出的一系列 Haar-like 特征的基础上,通过 Boosting 算法学习一些弱分类器,再组合成一个强分器。但一般一个强分类器还不足以圆满完成任务,还要级联一系列这样的强分类器,但是要进一步提高

31、检测精度,就需要级联更多的强分类器,但是这样又会降低检测速度。我们认为一方面可以采用更好的、计算却更简单的图像特征表述方法;另一方面就是综合Adaboost 和一些强分类器:在 Adaboost 学习的过程中,可以提高正例学习的阈值,如可以将每级常采用的正检率阈值(一般设为 98.5%)适当增加,当然误检的非人脸会相应增加,这样学习得到的一些弱分类器组合后形成的强分类器作为分级分类器的前面几级,最后再用一个强分类器进一步过滤。由于在前几级消除了大多数的非人脸,因此通过最后一级强分类器的窗口将大大减少。这样可以获得一个既提高检测速度又提高检测精度的系统。人脸检索技术及其在相册管理中的应用检测模块

32、设计9第 3 章 基于 OpenCV 的人脸检测3.1OpenCV简介开放源代码的计算机视觉类库OpenCv ( Intel Open SourceComputerVision L ibrary)由英特尔公司位于俄罗斯的研究实验室所开发 ,它是一套可免费获得的由一些C 函数和 C +类所组成的库,用来实现一些常用的图像处理及计算机视觉算法。OpenCv与英特尔公司所开发的另一图像处理库IPL ( Intel Image Processing L ibrary)兼容 , IPL(收费)用于实现对数字图像的一些低级处理 ,而OpenCv则主要用于对图像进行一些高级处理,比如说特征检测与跟踪、运动分

33、析、目标分割与识别以及3D 重建等。由于OpenCv的源代码是完全开放的,跨平台的(同时支持Windows和Linux),而且源代码的编写简洁而又高效,特别是其中大部分的函数都已经过汇编最优化,以使之能高效而充分地利用英特尔系列处理芯片的设计体系,对于PentiumMMX, Pentium, Pentium及Pentium4 这些处理器而言,OpenCv的代码执行效率是非常高的(缺点是不能在非Intel处理器上运行),所以近年来在国外的图像处理相关领域中被广泛地使用,成为一种流行的图像处理库。OpenCV主要功能可以划分为:图像处理,结构分析,运动分析与对象跟踪,模式识别,照相机定标和三维重建

34、。3.2 VC+6.0下OpenCV编程环境的搭建3.2.1 OpenCV的安装在VC+6.0安装好之后,我们开始安装OpenCV,我们使用的是v1.0,运行 OpenCV_1.0.exe:人脸检索技术及其在相册管理中的应用检测模块设计10一路下来:注意我们应该勾选设置环境变量。人脸检索技术及其在相册管理中的应用检测模块设计113.2.2 相关设置如果安装正常的话,点开始-程序-Opencv-Sameple,执行其中的程序都可以运行,如果提示找不到dll,可能是环境变量没设置成功,可以在环境变量path后添加C:program filesOpenCV(以上是OpenCV安装路径,下同)bin.

35、现在在一个MFC工程的编译和连接阶段要分别引入OpenCV的头文件和库文件.点Tools-Options,找到Directories选项卡,拉到Include files添加如下目录:C:Program FilesOpenCVcxcoreincludeC:Program FilesOpenCVcvincludeC:Program FilesOpenCVcvauxincludeC:Program FilesOpenCVmlincludeC:Program FilesOpenCVotherlibshighguiC:Program FilesOpenCVotherlibscvcaminclude拉到

36、Library files人脸检索技术及其在相册管理中的应用检测模块设计12添加: C:Program FilesOpenCVlib菜单:Project-Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib在程序中包含相应的头文件就可以使用OpenCV库了。如可在MFC工程的stdafx.h中添加:人脸检索技术及其在相册管理中的应用检测模块设计133.3 基于OpenC

37、V目标检测的人脸检测3.3.1 目标检测目标检测方法最初由Paul Viola提出,并由Rainer Lienhart Lienhart02对这一方法进行了改善. 首先,利用样本(大约几百幅样本图片)的 harr 特征进行分类器训练,得到一个级联的boosted分类器。训练样本分为正例样本和反例样本,其中正例样本是指待检目标样本(例如人脸或汽车等),反例样本指其它任意图片,所有的样本图片都被归一化为同样的尺寸大小(例如,20x20)。 分类器训练完以后,就可以应用于输入图像中的感兴趣区域(与训练样本相同的尺寸)的检测。检测到目标区域(汽车或人脸)分类器输出为1,否则输出为0。为了检测整副图像,

38、可以在图像中移动搜索窗口,检测每一个位置来确定可能的目标。 为了搜索不同大小的目标物体,分类器被设计为可以进行尺寸改变,这样比改变待检图像的尺寸大小更为有效。所以,为了在图像中检测未知大小的目标物体,扫描程序通常需要用不同比例大小的搜索窗口对图片进行几次扫描。 分类器中的“级联”是指最终的分类器是由几个简单分类器级联组成。在图像检测中,被检窗口依次通过每一级分类器, 这样在前面几层的检测中大部人脸检索技术及其在相册管理中的应用检测模块设计14分的候选区域就被排除了,全部通过每一级分类器检测的区域即为目标区域。 目前支持这种分类器的boosting技术有四种: Discrete Adaboost

39、, Real Adaboost, Gentle Adaboost and Logitboost。“boosted“ 即指级联分类器的每一层都可以从中选取一个boosting算法(权重投票),并利用基础分类器的自我训练得到。基础分类器是至少有两个叶结点的决策树分类器。 Haar特征是基础分类器的输入,主要描述如下。目前的算法主要利用下面的Harr特征。 每个特定分类器所使用的特征用形状、感兴趣区域中的位置以及比例系数(这里的比例系数跟检测时候采用的比例系数是不一样的,尽管最后会取两个系数的乘积值)来定义。例如在第三行特征(2c)的情况下,响应计算为复盖全部特征整个矩形框(包括两个白色矩形框和一个

40、黑色矩形框)象素的和减去黑色矩形框内象素和的三倍 。每个矩形框内的象素和都可以通过积分图象(cvIntergral函数)很快的计算出来。 3.3.2 OpenCV快速人脸检测的实现/ PhotoMgrDlg.cpp : implementation file/#include “stdafx.h“#include “PhotoMgr.h“#include “PhotoMgrDlg.h“#include “InputBox.h“#ifdef _DEBUG#define new DEBUG_NEWstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg di

41、alog used for App About人脸检索技术及其在相册管理中的应用检测模块设计15int cmp(const void *a,const void *b);/ CPhotoMgrDlg dialogCPhotoMgrDlg:CPhotoMgrDlg(CWnd* pParent /*=NULL*/): CDialog(CPhotoMgrDlg:IDD, pParent)/AFX_DATA_INIT(CPhotoMgrDlg)/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in

42、Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CPhotoMgrDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CPhotoMgrDlg)DDX_Control(pDX, IDC_CHECK, m_check);DDX_Control(pDX, IDC_FILELIST, m_filelist);DDX_Control(pDX, IDC_FOLDERPATH, m_folderpath);DDX_Control(pDX

43、, IDC_FACELIST, m_facelist);/AFX_DATA_MAPvoid CPhotoMgrDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view

44、 model,/ this is automatically done for you by the framework.void CPhotoMgrDlg:OnPaint() if (IsIconic()人脸检索技术及其在相册管理中的应用检测模块设计16CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(S

45、M_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;dc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/绘制头像if(selected) BitBlt(GetDlgItem(IDC_PICT)-GetDC()-m_hDC,0,0,64,64,facedc,0,0,SRCCOPY);/ Th

46、e system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CPhotoMgrDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CPhotoMgrDlg:OnReload() / TODO: Add your control notification handler code here/先把自己 DisableGetDlgItem(IDC_RELOAD)-EnableWindow(false);/F

47、ACELIST 清空m_facelist.ResetContent();int i,total=m_facelist.GetCount();for(i=0;iOpen(_T(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:faces.mdb;Persist Security Info=False“),“,“,adConnectUnspecified);_RecordsetPtr pRs(“ADODB.Recordset“);pRs-Open(_T(“SELECT name FROM faces;“),_variant_t(pConn,true),

48、adOpenStatic,adLockOptimistic,adCmdText);while(!pRs-EndOfFile)m_facelist.AddString(_bstr_t(pRs-GetCollect(“name“);pRs-MoveNext();pRs-Close();pConn-Close();/把自己 enableGetDlgItem(IDC_RELOAD)-EnableWindow(true);void CPhotoMgrDlg:OnDelete() / TODO: Add your control notification handler code here/删除指定项_C

49、onnectionPtr pConn(“ADODB.Connection“);pConn-Open(_T(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:faces.mdb;Persist Security Info=False“),“,“,adConnectUnspecified);CString todel;m_facelist.GetText(m_facelist.GetCurSel(),todel);_variant_t l100;pConn-Execute(LPCTSTR)(_T(“DELETE FROM faces WHERE name=“)+todel+_T(“;“),l,adCmdText);m_facelist.DeleteString(m_facelist.F

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报