欢迎来到天天文库
浏览记录
ID:52948612
大小:920.19 KB
页数:5页
时间:2020-04-02
《MFC下利用OpenCV进行人脸检测的研究与实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第31卷第6期佳木斯大学学报(自然科学版)Vol.31No.62013年11月JournalofJiamusiUniversity(NaturalScienceEdition)Nov.2013文章编号:1008-1402(2013)06-0895-04①MFC下利用OpenCV进行人脸检测的研究与实现程舰(大连海事大学信息科学技术学院,辽宁大连116026)摘要:为了实现对人脸检测的目的,本文采用基于MFC框架下使用OpenCV视觉库的方法.文章重点分析了一种人脸检测中使用的特征分类算法:Adaboost算法.文中阐述了该算法的原理,图文并茂地展示了如何在实际中
2、利用人脸库结合Adaboost算法来训练分类器,并生成XML文件.在VC6.0下,搭建了人脸检测的界面,利用OpenCV的函数调用训练所生成的XML文件,实现了在本地选择图片并对其进行人脸检测的功能.此外,系统还支持读取本地AVI格式视频和从摄像头捕捉到的视频,可手动截取一帧图片进行人脸检测.实验结果表明该设计方案具有较高的准确性和稳定性,基本达到预期的效果.关键词:AdaBoost;人脸检测;OpenCV;MFC中图分类号:TP391.4文献标识码:A[4]型.它是一种将弱分类器通过某种结合方式结0引言合起来得到一个分类器性能大幅度提高的强分类[5]人脸检测的
3、目的是在给定的一副图像上将人器的分类方法.脸部分定位出来,这种技术涉及了计算机图形学、2001年,Viola等人提出了基于AdaBoost算法[6]生物学等领域的相关技术.人脸检测的本质是对人的人脸检测框架,此后越来越多的学者开始研脸进行建模,提取样本中的人脸特征信息,比较待究这个领域,通过不断的完善,目前他们构建的这检测图像与模型的匹配度,来判断待检测图像中是个检测框架可对图像中的人脸进行快速的检测,正否存在人脸.根据检测原理和方法的不同,人脸检确率也很高.在AdaBoost算法的训练工程中,每个测方法分为基于特征统计模型和基于特征两种检Haar特征都被当做一
4、个弱分类器,然而,仅有一部测方法.本文所采用的是Adaboost方法,其属于人分Haar特征能够描述人脸灰度分布的一些特点.脸检测方法中的统计方法.这些算法设计到图形学因此AdaBoost算法在训练过程中必须攻克的一个中很多繁琐的计算,如全部靠程序员手动编写,工难题是:采取合适恰当的方法从众多的Haar特征作量非常大.本文设计的系统采用了C++中的中筛选出最优的Haar特征,并利用该特征制作成OpenCV计算机视觉函数库中的一些函数.并以人脸检测中所使用的分类器.VisualC++6.0作为开发环境.2WindowsXP下训练.xml文件1Adaboost算法原
5、理及其在人脸检本文中人脸检测使用的方法是haar+Ada-测中的运用Boost,前提是要训练好级联分类器.机器学习前要训练很多人脸数据,本文采用从网上下载的YaleAdaboost算法是通过boosting算法改进而来大学的人脸数据库,即将它们当做训练的正样本使[1][2]的,boosting算法是一种通用的学习算法,这用.该人脸数据库是由Yale大学的计算视觉与控[3]一算法可以提升任意给定的学习算法的性能,制中心所创建,其中涵盖了15名志愿者每人11其思想源于1984年Valiant提出的“可能近似正张,共165张头像照片,本文使用其中的133张作确”-PC
6、A(ProbablyApproximatelyCorrect)学习模为正样本,其余22张用来做测试,如图1所示:①收稿日期:2013-10-18作者简介:程舰(1991-),男,辽宁海城人,大连海事大学计算机科学与技术系硕士研究生在读,嵌入式系统方向.896佳木斯大学学报(自然科学版)2013年Yale大学人脸数据都是bmp格式的,80倡80少训练时间,减小图片的尺寸,我们可以利用ACD-像素大小.这个算法训练的时间非常长,图片不到see软件将80倡80的图片统一到尺寸24倡24像素1000就需要的时间都是以天为单位.所以为了减大小.最后所得的图片截图如2所示:
7、图1Yale人脸数据库部分图像截图图2尺寸归一化后部分图像的截图本文采用的负样本是weizmann团队网站上_image.txt.接下来创建vec文件时,需将pos_im-的图像分割数据库,选取其中200张的灰度图,这age.txt和neg_image.txt两个样本描述文件剪切到些图片基本都没有人脸.至此正负样本的图片都已上一目录,然后利用opencv_createsamples.exe应准备好,首先建立名为pos_image的文件夹放入正用程序在该目录下使用如下cmd命令:opencv_cre-样本,建立名为neg_image的文件夹放入负样本,atesam
8、ples.exe–vec
此文档下载收益归作者所有