目前因为做人脸识别的一个小项目,用到了AdaBoost的人脸识别算法,因为在网上找到的所有的AdaBoost的简介都不是很清楚,让我看看头脑发昏,所以在这里打算花费比较长的时间做一个关于AdaBoost算法的详细总结。希望能对以后用AdaBoost的同学有所帮助。而且给出了关于AdaBoost实现的一些代码。因为会导致篇幅太长,所以这里把文章分开了,还请见谅。
第二部分的地址请见:http://blog.csdn.net/weixingstudio/article/details/7631949
辛苦打字截图不容易,转载请标明出处。
提到AdaBoost的人脸识别,不得不提的几篇大牛的文章可以看看,但是大牛的文章一般都是只有主要的算法框架,没有详细的说明。
大牛论文推荐:
1. Robust Real-time Object Detection, Paul Viola, Michael Jones
2. Rapid Object Detection using a Boosted Cascade of Simple Features, 作者同上。
还有一篇北大的本科生的毕业论文也不错:基于 AdaBoost 算法的人脸检测,赵楠。
另外,关于我写的AdaBoost的人脸识别程序的下载地址:
1. C++版本:http://download.csdn.net/detail/weixingstudio/4350983
说明:需要自己配置opencv2.3.1, 自己配置分类器。在程序运行前会捕捉10帧用户图像,计算人脸平均面积,这个过程不会有显示,但是程序没有出问题,稍等一会就会出现摄像头信息。
2. C#版本:http://download.csdn.net/detail/weixingstudio/4351007
说明:使用了emgucv2.3.0的库,需要自己重新添加引用动态链接库文件。
两个版本的程序都能正确运行,没有任何问题。
特别说明:一般进行人脸检测以后,会对检测到的人脸特征进行提取,处理等操作。常用的操作就是人脸特征点定位,嘴角、眼睛、下吧等特征点的定位,这个技术比较成熟的算法是ASM(主动形状模型),关于ASM的详细介绍请见:
http://blog.csdn.net/weixingstudio/article/details/8891071
1. Adaboost方法的引入
1.1 Boosting方法的提出和发展
在了解Adaboost方法之前,先了解一下