文档章节

基于AdaBoost的人脸检测

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:45
字数 705
阅读 29
收藏 1

人脸检测和人脸识别都是属于典型的机器学习的方法,但是他们使用的方法却相差很大。

对于人脸检测而言,目前最有效的方法仍然是基于Adaboost的方法。在网上可以找到很多关于Adaboost方法的资料,但基本上是千篇一律,没有任何新意。给初学者带了很多不便。建议初学者只需要认真阅读:北京大学 赵楠 的本科毕业论文 :基于 AdaBoost算法的人脸检测 这篇毕业论文就够了。作者详细分析了Adaboost算法在人脸检测中的具体执行过程,尤其是关于弱分类器的Haar特征选取过程,描述的相当清晰。

 

至于人脸检测的代码,网上基本上是关于如何用openCV去做人脸检测的代码。如果不需要对性能做更高的要求的话,直接用openCV就可以了。

根据对openCV代码的理解,我重新提取了openCV人脸检测的代码,采用纯C语言实现了人脸检测,与openCV的代码项目相比,有一下几点不同:

1. 使用内存少。

    1.1 原始openCV在检测初始化的时候分配一个很大的buffer,在人脸检测当中使用这个buffer,这个是由openCV的内存管理机制决定的。但在很多时候,图像大小一般都没有想象的那么大,这个大buffer只使用了其中的一小部分,内存空闲很大。在我的人脸检测中,根据图像大小分配2张图片大小内存,分别存放积分图和平方积分图。其它的内存是结构体占用的内存,一般比较小。

   1.2 原始openCv分类器文件是XML文本文件,而在我的人脸检测之中是二进制文件。所以分类器文件比openCV小至少5倍以上。

2.   运行效率高

      删除了Canny边缘检测的代码,针对具体的应用重新修改了算法执行中的部分参数。由于分类器是基于openCv改的,所以对人脸检测的准确率没有任何下降。

目前算法的代码虽然是纯C语言,但还没有做定点优化。目前的性能在iPod4上面,对于640x480的图片,检测单张人脸的时间是60ms左右。

如果对adaBoost算法本身感兴趣,除了可以阅读openCv中的代码之外,还有一个官方的代码,实现了各种AdaBoost算法。

 

部分人脸检测图片的结果如下:

 

 

另外一张图片:

 

测试图片来自网络,如涉及到版权问题,请告知!

本文转载自:http://www.cnblogs.com/celerychen/archive/2013/03/19/2969194.html

共有 人打赏支持
上一篇: SSE3指令集系列
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
Adaboost算法简介

Adaboost算法 Adaboost算法是一种有监督的学习方法,是基于Adaboost算法的分类器把若干个分类器组合成一个分类器的方法,若干个分类器为不同的分类器(弱分类器),因此Adaboost也是一种组合算...

我是吸血鬼
2017/11/26
0
0
一文综述人脸检测算法(附资源)

人脸检测是目前所有目标检测子方向中被研究的最充分的问题之一,它在安防监控,人证比对,人机交互,社交和娱乐等方面有很强的应用价值,也是整个人脸识别算法的第一步。 问题描述 人脸检测的...

技术小能手
05/09
0
0
py3+tensorflow+opencv基于深度学习制作人脸识别系统学习历程(持续更新)

3.15 开始项目学习历程 。 有面向对象和面向过程编程的基础开始了人工智能的学习,以后每天都会报告工作任务和好的资源分享以及学习体会 1. 关于人脸识别系统 https://www.cnblogs.com/gbin...

qq_34465787
03/15
0
0
Python+OpenCV实现猫脸检测

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 导语 利用Python+OpenCV实现猫脸检测。 使用的是OpenCV内置的Viola-Jones目标检测框架来实现猫脸检测,感觉挺有意思的。 让我们愉快地开...

W3Cschool小编
08/02
0
0
传统人脸检测识别的简述总结及现今流行框架

因为最近人脸检测与识别火热的进行着,本平台想进一步详细介绍关于人脸领域的相关知识与分析,让更多人的有进一步深入的熟知! 之后我会不断更新最新的人脸检测识别相关知识,希望有兴趣和该...

EdisonGzq
2017/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
9分钟前
0
0
《配电网自动化技术》第一章

写了配电网的组成、历程、难点、存在问题、解决方案,还是蛮好的。尤其是各地建设的系统后续又无法实用化,以及多种终端反而增加了运维工作量等,都是目前切实存在的让大家不停吐槽的内容。

max佩恩
14分钟前
0
0

中国龙-扬科
32分钟前
2
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
36分钟前
2
0
NetCore MVC Demo

地址:http://114.116.9.72:5411

whltian
43分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部