摘要: 通过对基于 Adaboost 人脸检测算法的研究,利用该算法与计算机视觉类库 openCV 进行人脸检测系统的设计,实现了对出现在视频或图像中的人脸检测。 此外,在 VC++6.0 环境下实现了对一个简单的人脸检测系统软件的界面开发,该系统对人脸检测的速度较快,检测结果较为准确,可以作为其他人脸检测或人脸模式识别的系统的开发基础。
随着计算机与数字信号处理技术的高速发展,人脸检测
技术在众多领域得到广泛应用。 人脸检测技术是指在视频或
图像中检测出现人脸位置、大小的过程。 作为人脸信息处理
中的一项关键技术,人脸检测技术已经超出了其它人脸识别
模式的应用范畴,在视频处理,图像处理,身份验证,安全监
测等方面有着重要的应用价值。 随着计算机语言算法的发
展,近年来出现了大量的人脸检测的算法,其中,能够较好的
解决人脸的检测速度与检测效果的算法, 是在 2001 年由Paul
Viola 和 Michael Jones 首先提出的 Adaboost 算法。 openCV[1]是
由 Intel 提供的一系列包括 C 与 C++的提供计算机视觉和图
像处理的开源软件包,它为视频或图像处理搭建了很好的软
件平台。 本系统就是基于 openCV,利用 Adaboost 算法设计的
一个简单的人脸检测系统,该系统能够快速、准确的检测到
图像或视频中的人脸。
1 AdaBoost 人脸检测算法
对人脸检测的研究最初可以追溯到 20 世纪 70 年代 ,早
期的研究方向与现在的研究方向与方法不同。 目前在实际
中应用的人脸检测方法较为普遍的是基于 Adaboost 算法的
方法。
Viola 的人脸检测方法是一种基于积分图、级联分类检测
器和 Adaboost 算法的方法,方法框架可以分为以下 3 大步骤:
1)使用 Haar-like 特征表示人脸 ,使用 “积分图 ”实现特
征数值的快速计算;
2)使用 Adaboost 算法挑选出一些最能代表人脸的矩形
特征(弱分类器),按照加权投票的方式将弱分类器构造为一
个强分类器;
3)将得到的若干强分类器串联组成一个级联结构的层
叠分类器,训练得到的强级联结构能有效地提高分类器的检
测速度。
1.1 Haar-like 特征
haar 特征是基于灰度图 ,首先通过大量的具有比较明显
的 haar 特征 (矩形 )的物体图像用模式识别的方法训练出分
类器,分类器是个级联的,每级都以大概相同的识别率保留
进入下一级的具有物体特征的候选物体,而每一级的子分类
器则由许多 haar 特征构成 (由积分图像计算得到 ,并保存下
位置),有水平的、竖直的、倾斜的,并且每个特征带一个阈值
和两个分支值,每级子分类器带一个总的阈值。 识别物体的
时候 ,同样计算积分图像为后面计算 haar 特征做准备 ,然后
采用与训练的时候有物体的窗口同样大小的窗口遍历整幅
图像,以后逐渐放大窗口,同样做遍历搜索物体;每当窗口移
动到一个位置 ,即计算该窗口内的 haar 特征 ,加权后与分类
器中 haar 特征的阈值比较从而选择左或者右分支值 ,累加一
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !