推荐星级:
- 1
- 2
- 3
- 4
- 5
MFC下利用OpenCV进行人脸检测的研究与实现
资料介绍
文档为MFC下利用OpenCV进行人脸检测的研究与实现总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,
部分文件列表
文件名 | 大小 |
MFC下利用OpenCV进行人脸检测的研究与实现.pdf | 920K |
部分页面预览
(完整内容请下载后查看)ꢀ第 31 卷 第 6 期ꢀꢀꢀꢀꢀ佳 木 斯 大 学 学 报 ( 自 然 科 学 版 )ꢀꢀ
ꢀ2013ꢀ年 11 月ꢀꢀꢀJournal of Jiamusi University (Natural Science Edition)ꢀ
Vol.31 No.6
Nov.ꢀ 2013
文章编号:1008 -1402(2013)06 -0895 -04
①
MFC 下利 用 OpenCV 进行 人脸 检 测 的 研 究 与 实 现
程ꢀ舰
(大连海事大学信息科学技术学院,辽宁 大连 116026)
摘ꢀ要:ꢀ为了实现对人脸检测的目的,本文采用基于 MFC 框架下使用 OpenCV 视觉库的方法.
文章重点分析了一种人脸检测中使用的特征分类算法:Adaboost 算法.文中阐述了该算法的原
理,图文并茂地展示了如何在实际中利用人脸库结合 Adaboost 算法来训练分类器,并生成 XML
文件.在 VC6.0 下,搭建了人脸检测的界面,利用 OpenCV 的函数调用训练所生成的 XML 文件,
实现了在本地选择图片并对其进行人脸检测的功能.此外,系统还支持读取本地 AVI 格式视频
和从摄像头捕捉到的视频,可手动截取一帧图片进行人脸检测.实验结果表明该设计方案具有较
高的准确性和稳定性,基本达到预期的效果.
关键词:ꢀAdaBoost;人脸检测;OpenCV;MFC
中图分类号:ꢀTP391.4ꢀꢀꢀꢀ文献标识码:ꢀA
型
[4] .它是一种将弱分类器通过某种结合方式结
合起来得到一个分类器性能大幅度提高的强分类
器的分类方法[5]
0ꢀ引ꢀ言
人脸检测的目的是在给定的一副图像上将人
.
脸部分定位出来,这种技术涉及了计算机图形学、
生物学等领域的相关技术.人脸检测的本质是对人
脸进行建模,提取样本中的人脸特征信息,比较待
检测图像与模型的匹配度,来判断待检测图像中是
否存在人脸.根据检测原理和方法的不同,人脸检
测方法分为基于特征统计模型和基于特征两种检
测方法.本文所采用的是 Adaboost 方法,其属于人
脸检测方法中的统计方法.这些算法设计到图形学
中很多繁琐的计算,如全部靠程序员手动编写,工
作量非常大.本文设计的系统采用了 C ++中的
OpenCV 计算机视觉函数库中的一些函数.并以
Visual C ++6.0 作为开发环境.
2001 年,Viola 等人提出了基于 AdaBoost 算法
的人脸检测框架[6] ,此后越来越多的学者开始研
究这个领域,通过不断的完善,目前他们构建的这
个检测框架可对图像中的人脸进行快速的检测,正
确率也很高.在 AdaBoost 算法的训练工程中,每个
Haar 特征都被当做一个弱分类器,然而,仅有一部
分 Haar 特征能够描述人脸灰度分布的一些特点.
因此 AdaBoost 算法在训练过程中必须攻克的一个
难题是:采取合适恰当的方法从众多的 Haar 特征
中筛选出最优的 Haar 特征,并利用该特征制作成
人脸检测中所使用的分类器.
2ꢀWindowsXP 下训练.xml 文件
1ꢀAdaboost 算法原理及其在人脸检
本文中人脸检测使用的方法是 haar +Ada-
Boost,前提是要训练好级联分类器.机器学习前要
训练很多人脸数据,本文采用从网上下载的 Yale
大学的人脸数据库,即将它们当做训练的正样本使
用.该人脸数据库是由 Yale 大学的计算视觉与控
制中心所创建,其中涵盖了 15 名志愿者每人 11
张,共 165 张头像照片,本文使用其中的 133 张作
为正样本,其余 22 张用来做测试,如图 1 所示:
测中的运用
ꢀꢀAdaboost 算法是通过 boosting 算法改进而来
的
[1] ,boosting 算法是一种通用的学习算法[2] ,这
一算法可以提升任意给定的学习算法的性能[3]
,
其思想源于 1984 年 Valiant 提出的“可能近似正
确” -PCA(Probably Approximately Correct )学习模
①
收稿日期:2013 -10 -18
作者简介:程舰(1991 -),男,辽宁海城人,大连海事大学计算机科学与技术系硕士研究生在读,嵌入式系统方向.
全部评论(0)